Sidecar Logo

index.ts

Created: 2025-11-26T11:41:49.000Z Modified: 2025-12-19T18:32:05.948Z

Configuration

/**
 * Sidecar Config for index.ts
 */
module.exports = {
  title: "index.ts",
  description: "Auto-generated draft",
  created: "2025-11-26T11:41:49.000Z",
  modified: "2025-12-19T18:32:05.948Z",
};

Route Flow Map

--- title: "Route Flow: ssutil /src/index.ts " --- flowchart TD subgraph USE ["USE"] hono_use__["USE *"] style hono_use__ fill:#5E377B,color:#fff,stroke:#B4976A hono_use__["USE *"] style hono_use__ fill:#5E377B,color:#fff,stroke:#B4976A hono_use__dolater_v1__["USE /dolater/v1/*"] style hono_use__dolater_v1__ fill:#5E377B,color:#fff,stroke:#B4976A hono_use__slack_v1__["USE /slack/v1/*"] style hono_use__slack_v1__ fill:#5E377B,color:#fff,stroke:#B4976A hono_use__email_v1__["USE /email/v1/*"] style hono_use__email_v1__ fill:#5E377B,color:#fff,stroke:#B4976A end subgraph GET ["GET"] hono_get__platform_webflow_js["GET /platform-webflow.js"] style hono_get__platform_webflow_js fill:#5E377B,color:#fff,stroke:#B4976A hono_get__canonclient_js["GET /canonclient.js"] style hono_get__canonclient_js fill:#5E377B,color:#fff,stroke:#B4976A hono_get__domain_to_id["GET /domain-to-id"] style hono_get__domain_to_id fill:#5E377B,color:#fff,stroke:#B4976A end subgraph ROUTE ["ROUTE"] hono_route__canon_v1["ROUTE /canon/v1"] style hono_route__canon_v1 fill:#5E377B,color:#fff,stroke:#B4976A hono_route__dolater_v1["ROUTE /dolater/v1"] style hono_route__dolater_v1 fill:#5E377B,color:#fff,stroke:#B4976A hono_route__slack_v1["ROUTE /slack/v1"] style hono_route__slack_v1 fill:#5E377B,color:#fff,stroke:#B4976A hono_route__email_v1["ROUTE /email/v1"] style hono_route__email_v1 fill:#5E377B,color:#fff,stroke:#B4976A end subgraph ALL ["ALL"] hono_all__platformscrape["ALL /platformscrape"] style hono_all__platformscrape fill:#5E377B,color:#fff,stroke:#B4976A end linkStyle default stroke:#c2a35d,stroke-width:2px,color:#fff classDef default color:#fff

AST Code Structure

--- title: "AST Structure: ssutil /src/index.ts " --- %%{init: { 'flowchart': { 'nodeSpacing': 20, 'rankSpacing': 30 }, 'themeVariables': { 'fontSize': '11px' } } }%% graph LR n0["SF"] n2["hono"] style n2 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 n3["ID: Hono"] n0 --> n3 n3 --> n2 style n3 stroke-dasharray:5,stroke:#B4976A n5["hono/cors"] style n5 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 n6["ID: cors"] n0 --> n6 n6 --> n5 style n6 stroke-dasharray:5,stroke:#B4976A n8["./middleware/guard"] style n8 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 style n8 cursor:pointer,stroke-width:2px,stroke:#B4976A n9["ID: protectAdminRoutes"] n0 --> n9 n9 --> n8 style n9 stroke-dasharray:5,stroke:#B4976A n11["./utils/crypto.js"] style n11 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 style n11 cursor:pointer,stroke-width:2px,stroke:#B4976A n12["ID: encryptToken"] n0 --> n12 n12 --> n11 style n12 stroke-dasharray:5,stroke:#B4976A n13["ID: inspectToken"] n0 --> n13 n13 --> n11 style n13 stroke-dasharray:5,stroke:#B4976A n15["./middleware/adminauth"] style n15 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 style n15 cursor:pointer,stroke-width:2px,stroke:#B4976A n16["ID: adminAuthMiddleware"] n0 --> n16 n16 --> n15 style n16 stroke-dasharray:5,stroke:#B4976A n18["./middleware/platformscrape"] style n18 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 style n18 cursor:pointer,stroke-width:2px,stroke:#B4976A n19["ID: platformscrapeMiddleware"] n0 --> n19 n19 --> n18 style n19 stroke-dasharray:5,stroke:#B4976A n21["./middleware/slackhandler"] style n21 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 style n21 cursor:pointer,stroke-width:2px,stroke:#B4976A n22["ID: slackhandler"] n0 --> n22 n22 --> n21 style n22 stroke-dasharray:5,stroke:#B4976A n24["./middleware/mailhandler"] style n24 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 style n24 cursor:pointer,stroke-width:2px,stroke:#B4976A n25["ID: mailhandler"] n0 --> n25 n25 --> n24 style n25 stroke-dasharray:5,stroke:#B4976A n27["./utils/domain-to-id-handler"] style n27 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 style n27 cursor:pointer,stroke-width:2px,stroke:#B4976A n28["ID: domainToIdHandler"] n0 --> n28 n28 --> n27 style n28 stroke-dasharray:5,stroke:#B4976A n30["./middleware/dolater"] style n30 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 style n30 cursor:pointer,stroke-width:2px,stroke:#B4976A n31["ID: dolater"] n0 --> n31 n31 --> n30 style n31 stroke-dasharray:5,stroke:#B4976A n33["./middleware/canon"] style n33 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 style n33 cursor:pointer,stroke-width:2px,stroke:#B4976A n34["ID: canonAuthMiddleware"] n0 --> n34 n34 --> n33 style n34 stroke-dasharray:5,stroke:#B4976A n35["ID: canonmiddleware"] n0 --> n35 n35 --> n33 style n35 stroke-dasharray:5,stroke:#B4976A n37["mustache"] style n37 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 n38["ID: mustache"] n0 --> n38 n38 --> n37 style n38 stroke-dasharray:5,stroke:#B4976A n40["./middleware/auth"] style n40 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 style n40 cursor:pointer,stroke-width:2px,stroke:#B4976A n41["ID: domaintopassword"] n0 --> n41 n41 --> n40 style n41 stroke-dasharray:5,stroke:#B4976A n42["ID: saltpassword"] n0 --> n42 n42 --> n40 style n42 stroke-dasharray:5,stroke:#B4976A n44["./scripts/platform-webflow.js.txt"] style n44 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 style n44 cursor:pointer,stroke-width:2px,stroke:#B4976A n45["ID: platformWebflow"] n0 --> n45 n45 --> n44 style n45 stroke-dasharray:5,stroke:#B4976A n47["./scripts/canonclient.js.txt"] style n47 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 style n47 cursor:pointer,stroke-width:2px,stroke:#B4976A n48["ID: canonclient"] n0 --> n48 n48 --> n47 style n48 stroke-dasharray:5,stroke:#B4976A n67["CE: app.use('*')"] n0 --> n67 n74["CE: app.use('*')"] n0 --> n74 n108["CE: app.get('/platform-webflow.js')"] n0 --> n108 n118["CE: c.text"] n108 --> n118 n131["CE: app.get('/canonclient.js')"] n0 --> n131 n141["CE: c.text"] n131 --> n141 n154["CE: app.route('/canon/v1')"] n0 --> n154 n160["CE: app.use('/dolater/v1/*')"] n0 --> n160 n166["CE: app.route('/dolater/v1')"] n0 --> n166 n172["CE: app.get('/domain-to-id')"] n0 --> n172 n179["CE: app.all('/platformscrape')"] n0 --> n179 n186["CE: app.use('/slack/v1/*')"] n0 --> n186 n192["CE: app.route('/slack/v1')"] n0 --> n192 n198["CE: app.use('/email/v1/*')"] n0 --> n198 n204["CE: app.route('/email/v1')"] n0 --> n204 n229["MD: fetch"] n0 --> n229 n249["CE: app.fetch(request)"] n229 --> n249 n256["MD: scheduled"] n0 --> n256 n377["CE: app.fetch(request)"] n256 --> n377 style n0 fill:#5E377B,color:#fff,stroke:#B4976A linkStyle default stroke:#c2a35d,stroke-width:1px,opacity:0.6 click n8 "middleware/guard.html" "View Documentation" click n11 "utils/crypto.html" "View Documentation" click n15 "middleware/adminauth.html" "View Documentation" click n18 "middleware/platformscrape.html" "View Documentation" click n21 "middleware/slackhandler.html" "View Documentation" click n24 "middleware/mailhandler.html" "View Documentation" click n27 "utils/domain-to-id-handler.html" "View Documentation" click n30 "middleware/dolater.html" "View Documentation" click n33 "middleware/canon.html" "View Documentation" click n40 "middleware/auth.html" "View Documentation" click n44 "scripts/platform-webflow.js.txt" "View Documentation" click n47 "scripts/canonclient.js.txt" "View Documentation"
CE CallExpressionID ImportDeclarationMD MethodDeclarationSF SourceFile