@dotdo/do 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +400 -0
- package/dist/ai/embeddings.d.ts +129 -0
- package/dist/ai/embeddings.d.ts.map +1 -0
- package/dist/ai/embeddings.js +217 -0
- package/dist/ai/embeddings.js.map +1 -0
- package/dist/ai/gateway.d.ts +139 -0
- package/dist/ai/gateway.d.ts.map +1 -0
- package/dist/ai/gateway.js +179 -0
- package/dist/ai/gateway.js.map +1 -0
- package/dist/ai/image.d.ts +140 -0
- package/dist/ai/image.d.ts.map +1 -0
- package/dist/ai/image.js +199 -0
- package/dist/ai/image.js.map +1 -0
- package/dist/ai/index.d.ts +98 -0
- package/dist/ai/index.d.ts.map +1 -0
- package/dist/ai/index.js +223 -0
- package/dist/ai/index.js.map +1 -0
- package/dist/ai/models.d.ts +81 -0
- package/dist/ai/models.d.ts.map +1 -0
- package/dist/ai/models.js +537 -0
- package/dist/ai/models.js.map +1 -0
- package/dist/ai/text.d.ts +176 -0
- package/dist/ai/text.d.ts.map +1 -0
- package/dist/ai/text.js +253 -0
- package/dist/ai/text.js.map +1 -0
- package/dist/ai/voice/agents.d.ts +224 -0
- package/dist/ai/voice/agents.d.ts.map +1 -0
- package/dist/ai/voice/agents.js +375 -0
- package/dist/ai/voice/agents.js.map +1 -0
- package/dist/ai/voice/campaigns.d.ts +307 -0
- package/dist/ai/voice/campaigns.d.ts.map +1 -0
- package/dist/ai/voice/campaigns.js +739 -0
- package/dist/ai/voice/campaigns.js.map +1 -0
- package/dist/ai/voice/index.d.ts +21 -0
- package/dist/ai/voice/index.d.ts.map +1 -0
- package/dist/ai/voice/index.js +42 -0
- package/dist/ai/voice/index.js.map +1 -0
- package/dist/ai/voice/providers.d.ts +283 -0
- package/dist/ai/voice/providers.d.ts.map +1 -0
- package/dist/ai/voice/providers.js +286 -0
- package/dist/ai/voice/providers.js.map +1 -0
- package/dist/ai/voice/sessions.d.ts +294 -0
- package/dist/ai/voice/sessions.d.ts.map +1 -0
- package/dist/ai/voice/sessions.js +531 -0
- package/dist/ai/voice/sessions.js.map +1 -0
- package/dist/ai/voice/tools.d.ts +242 -0
- package/dist/ai/voice/tools.d.ts.map +1 -0
- package/dist/ai/voice/tools.js +370 -0
- package/dist/ai/voice/tools.js.map +1 -0
- package/dist/ai/voice/tts.d.ts +173 -0
- package/dist/ai/voice/tts.d.ts.map +1 -0
- package/dist/ai/voice/tts.js +252 -0
- package/dist/ai/voice/tts.js.map +1 -0
- package/dist/ai/voice/webrtc.d.ts +228 -0
- package/dist/ai/voice/webrtc.d.ts.map +1 -0
- package/dist/ai/voice/webrtc.js +372 -0
- package/dist/ai/voice/webrtc.js.map +1 -0
- package/dist/api/index.d.ts +103 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +191 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/mcp/handlers.d.ts +25 -0
- package/dist/api/mcp/handlers.d.ts.map +1 -0
- package/dist/api/mcp/handlers.js +422 -0
- package/dist/api/mcp/handlers.js.map +1 -0
- package/dist/api/mcp/index.d.ts +113 -0
- package/dist/api/mcp/index.d.ts.map +1 -0
- package/dist/api/mcp/index.js +141 -0
- package/dist/api/mcp/index.js.map +1 -0
- package/dist/api/middleware/auth.d.ts +65 -0
- package/dist/api/middleware/auth.d.ts.map +1 -0
- package/dist/api/middleware/auth.js +271 -0
- package/dist/api/middleware/auth.js.map +1 -0
- package/dist/api/middleware/cors.d.ts +62 -0
- package/dist/api/middleware/cors.d.ts.map +1 -0
- package/dist/api/middleware/cors.js +225 -0
- package/dist/api/middleware/cors.js.map +1 -0
- package/dist/api/middleware/index.d.ts +60 -0
- package/dist/api/middleware/index.d.ts.map +1 -0
- package/dist/api/middleware/index.js +175 -0
- package/dist/api/middleware/index.js.map +1 -0
- package/dist/api/middleware/rateLimit.d.ts +84 -0
- package/dist/api/middleware/rateLimit.d.ts.map +1 -0
- package/dist/api/middleware/rateLimit.js +321 -0
- package/dist/api/middleware/rateLimit.js.map +1 -0
- package/dist/api/routes/ai.d.ts +17 -0
- package/dist/api/routes/ai.d.ts.map +1 -0
- package/dist/api/routes/ai.js +430 -0
- package/dist/api/routes/ai.js.map +1 -0
- package/dist/api/routes/do.d.ts +17 -0
- package/dist/api/routes/do.d.ts.map +1 -0
- package/dist/api/routes/do.js +458 -0
- package/dist/api/routes/do.js.map +1 -0
- package/dist/api/routes/functions.d.ts +111 -0
- package/dist/api/routes/functions.d.ts.map +1 -0
- package/dist/api/routes/functions.js +548 -0
- package/dist/api/routes/functions.js.map +1 -0
- package/dist/api/routes/health.d.ts +16 -0
- package/dist/api/routes/health.d.ts.map +1 -0
- package/dist/api/routes/health.js +163 -0
- package/dist/api/routes/health.js.map +1 -0
- package/dist/api/routes/index.d.ts +41 -0
- package/dist/api/routes/index.d.ts.map +1 -0
- package/dist/api/routes/index.js +275 -0
- package/dist/api/routes/index.js.map +1 -0
- package/dist/api/routes/nouns.d.ts +26 -0
- package/dist/api/routes/nouns.d.ts.map +1 -0
- package/dist/api/routes/nouns.js +456 -0
- package/dist/api/routes/nouns.js.map +1 -0
- package/dist/api/routes/orgs.d.ts +17 -0
- package/dist/api/routes/orgs.d.ts.map +1 -0
- package/dist/api/routes/orgs.js +560 -0
- package/dist/api/routes/orgs.js.map +1 -0
- package/dist/api/routes/relationships.d.ts +30 -0
- package/dist/api/routes/relationships.d.ts.map +1 -0
- package/dist/api/routes/relationships.js +360 -0
- package/dist/api/routes/relationships.js.map +1 -0
- package/dist/api/routes/roles.d.ts +17 -0
- package/dist/api/routes/roles.d.ts.map +1 -0
- package/dist/api/routes/roles.js +721 -0
- package/dist/api/routes/roles.js.map +1 -0
- package/dist/api/routes/things.d.ts +27 -0
- package/dist/api/routes/things.d.ts.map +1 -0
- package/dist/api/routes/things.js +568 -0
- package/dist/api/routes/things.js.map +1 -0
- package/dist/api/routes/users.d.ts +17 -0
- package/dist/api/routes/users.d.ts.map +1 -0
- package/dist/api/routes/users.js +401 -0
- package/dist/api/routes/users.js.map +1 -0
- package/dist/api/routes/verbs.d.ts +31 -0
- package/dist/api/routes/verbs.d.ts.map +1 -0
- package/dist/api/routes/verbs.js +505 -0
- package/dist/api/routes/verbs.js.map +1 -0
- package/dist/api/routes/workflows.d.ts +44 -0
- package/dist/api/routes/workflows.d.ts.map +1 -0
- package/dist/api/routes/workflows.js +521 -0
- package/dist/api/routes/workflows.js.map +1 -0
- package/dist/api/types.d.ts +370 -0
- package/dist/api/types.d.ts.map +1 -0
- package/dist/api/types.js +11 -0
- package/dist/api/types.js.map +1 -0
- package/dist/db/cdc/events.d.ts +201 -0
- package/dist/db/cdc/events.d.ts.map +1 -0
- package/dist/db/cdc/events.js +271 -0
- package/dist/db/cdc/events.js.map +1 -0
- package/dist/db/cdc/index.d.ts +13 -0
- package/dist/db/cdc/index.d.ts.map +1 -0
- package/dist/db/cdc/index.js +16 -0
- package/dist/db/cdc/index.js.map +1 -0
- package/dist/db/cdc/replay.d.ts +388 -0
- package/dist/db/cdc/replay.d.ts.map +1 -0
- package/dist/db/cdc/replay.js +469 -0
- package/dist/db/cdc/replay.js.map +1 -0
- package/dist/db/cdc/storage.d.ts +567 -0
- package/dist/db/cdc/storage.d.ts.map +1 -0
- package/dist/db/cdc/storage.js +856 -0
- package/dist/db/cdc/storage.js.map +1 -0
- package/dist/db/cdc/streaming.d.ts +459 -0
- package/dist/db/cdc/streaming.d.ts.map +1 -0
- package/dist/db/cdc/streaming.js +636 -0
- package/dist/db/cdc/streaming.js.map +1 -0
- package/dist/db/collections/actions.d.ts +440 -0
- package/dist/db/collections/actions.d.ts.map +1 -0
- package/dist/db/collections/actions.js +631 -0
- package/dist/db/collections/actions.js.map +1 -0
- package/dist/db/collections/base.d.ts +342 -0
- package/dist/db/collections/base.d.ts.map +1 -0
- package/dist/db/collections/base.js +510 -0
- package/dist/db/collections/base.js.map +1 -0
- package/dist/db/collections/index.d.ts +50 -0
- package/dist/db/collections/index.d.ts.map +1 -0
- package/dist/db/collections/index.js +48 -0
- package/dist/db/collections/index.js.map +1 -0
- package/dist/db/collections/nouns.d.ts +260 -0
- package/dist/db/collections/nouns.d.ts.map +1 -0
- package/dist/db/collections/nouns.js +273 -0
- package/dist/db/collections/nouns.js.map +1 -0
- package/dist/db/collections/relationships.d.ts +484 -0
- package/dist/db/collections/relationships.d.ts.map +1 -0
- package/dist/db/collections/relationships.js +815 -0
- package/dist/db/collections/relationships.js.map +1 -0
- package/dist/db/collections/things.d.ts +439 -0
- package/dist/db/collections/things.d.ts.map +1 -0
- package/dist/db/collections/things.js +603 -0
- package/dist/db/collections/things.js.map +1 -0
- package/dist/db/collections/verbs.d.ts +308 -0
- package/dist/db/collections/verbs.d.ts.map +1 -0
- package/dist/db/collections/verbs.js +480 -0
- package/dist/db/collections/verbs.js.map +1 -0
- package/dist/db/index.d.ts +14 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +23 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/storage/cold.d.ts +313 -0
- package/dist/db/storage/cold.d.ts.map +1 -0
- package/dist/db/storage/cold.js +319 -0
- package/dist/db/storage/cold.js.map +1 -0
- package/dist/db/storage/hot.d.ts +340 -0
- package/dist/db/storage/hot.d.ts.map +1 -0
- package/dist/db/storage/hot.js +333 -0
- package/dist/db/storage/hot.js.map +1 -0
- package/dist/db/storage/index.d.ts +242 -0
- package/dist/db/storage/index.d.ts.map +1 -0
- package/dist/db/storage/index.js +109 -0
- package/dist/db/storage/index.js.map +1 -0
- package/dist/db/storage/snapshots.d.ts +342 -0
- package/dist/db/storage/snapshots.d.ts.map +1 -0
- package/dist/db/storage/snapshots.js +298 -0
- package/dist/db/storage/snapshots.js.map +1 -0
- package/dist/db/storage/vortex.d.ts +324 -0
- package/dist/db/storage/vortex.d.ts.map +1 -0
- package/dist/db/storage/vortex.js +365 -0
- package/dist/db/storage/vortex.js.map +1 -0
- package/dist/db/storage/warm.d.ts +306 -0
- package/dist/db/storage/warm.d.ts.map +1 -0
- package/dist/db/storage/warm.js +339 -0
- package/dist/db/storage/warm.js.map +1 -0
- package/dist/do/DigitalObject.d.ts +595 -0
- package/dist/do/DigitalObject.d.ts.map +1 -0
- package/dist/do/DigitalObject.js +971 -0
- package/dist/do/DigitalObject.js.map +1 -0
- package/dist/do/business/financial/accounting.d.ts +436 -0
- package/dist/do/business/financial/accounting.d.ts.map +1 -0
- package/dist/do/business/financial/accounting.js +476 -0
- package/dist/do/business/financial/accounting.js.map +1 -0
- package/dist/do/business/financial/index.d.ts +15 -0
- package/dist/do/business/financial/index.d.ts.map +1 -0
- package/dist/do/business/financial/index.js +20 -0
- package/dist/do/business/financial/index.js.map +1 -0
- package/dist/do/business/financial/metrics.d.ts +370 -0
- package/dist/do/business/financial/metrics.d.ts.map +1 -0
- package/dist/do/business/financial/metrics.js +376 -0
- package/dist/do/business/financial/metrics.js.map +1 -0
- package/dist/do/business/financial/payments.d.ts +397 -0
- package/dist/do/business/financial/payments.d.ts.map +1 -0
- package/dist/do/business/financial/payments.js +395 -0
- package/dist/do/business/financial/payments.js.map +1 -0
- package/dist/do/business/financial/reports.d.ts +284 -0
- package/dist/do/business/financial/reports.d.ts.map +1 -0
- package/dist/do/business/financial/reports.js +347 -0
- package/dist/do/business/financial/reports.js.map +1 -0
- package/dist/do/business/financial/stripe.d.ts +254 -0
- package/dist/do/business/financial/stripe.d.ts.map +1 -0
- package/dist/do/business/financial/stripe.js +261 -0
- package/dist/do/business/financial/stripe.js.map +1 -0
- package/dist/do/business/financial/subscriptions.d.ts +402 -0
- package/dist/do/business/financial/subscriptions.d.ts.map +1 -0
- package/dist/do/business/financial/subscriptions.js +349 -0
- package/dist/do/business/financial/subscriptions.js.map +1 -0
- package/dist/do/business/index.d.ts +9 -0
- package/dist/do/business/index.d.ts.map +1 -0
- package/dist/do/business/index.js +10 -0
- package/dist/do/business/index.js.map +1 -0
- package/dist/do/colo/followers.d.ts +194 -0
- package/dist/do/colo/followers.d.ts.map +1 -0
- package/dist/do/colo/followers.js +224 -0
- package/dist/do/colo/followers.js.map +1 -0
- package/dist/do/colo/fork.d.ts +103 -0
- package/dist/do/colo/fork.d.ts.map +1 -0
- package/dist/do/colo/fork.js +143 -0
- package/dist/do/colo/fork.js.map +1 -0
- package/dist/do/colo/index.d.ts +181 -0
- package/dist/do/colo/index.d.ts.map +1 -0
- package/dist/do/colo/index.js +145 -0
- package/dist/do/colo/index.js.map +1 -0
- package/dist/do/colo/info.d.ts +106 -0
- package/dist/do/colo/info.d.ts.map +1 -0
- package/dist/do/colo/info.js +196 -0
- package/dist/do/colo/info.js.map +1 -0
- package/dist/do/colo/migrate.d.ts +161 -0
- package/dist/do/colo/migrate.d.ts.map +1 -0
- package/dist/do/colo/migrate.js +190 -0
- package/dist/do/colo/migrate.js.map +1 -0
- package/dist/do/colo/routing.d.ts +182 -0
- package/dist/do/colo/routing.d.ts.map +1 -0
- package/dist/do/colo/routing.js +254 -0
- package/dist/do/colo/routing.js.map +1 -0
- package/dist/do/domains/dns.d.ts +269 -0
- package/dist/do/domains/dns.d.ts.map +1 -0
- package/dist/do/domains/dns.js +215 -0
- package/dist/do/domains/dns.js.map +1 -0
- package/dist/do/domains/index.d.ts +40 -0
- package/dist/do/domains/index.d.ts.map +1 -0
- package/dist/do/domains/index.js +61 -0
- package/dist/do/domains/index.js.map +1 -0
- package/dist/do/domains/routing.d.ts +263 -0
- package/dist/do/domains/routing.d.ts.map +1 -0
- package/dist/do/domains/routing.js +362 -0
- package/dist/do/domains/routing.js.map +1 -0
- package/dist/do/domains/ssl.d.ts +217 -0
- package/dist/do/domains/ssl.d.ts.map +1 -0
- package/dist/do/domains/ssl.js +231 -0
- package/dist/do/domains/ssl.js.map +1 -0
- package/dist/do/domains/subdomains.d.ts +207 -0
- package/dist/do/domains/subdomains.d.ts.map +1 -0
- package/dist/do/domains/subdomains.js +223 -0
- package/dist/do/domains/subdomains.js.map +1 -0
- package/dist/do/domains/tlds.d.ts +175 -0
- package/dist/do/domains/tlds.d.ts.map +1 -0
- package/dist/do/domains/tlds.js +188 -0
- package/dist/do/domains/tlds.js.map +1 -0
- package/dist/do/domains/validation.d.ts +164 -0
- package/dist/do/domains/validation.d.ts.map +1 -0
- package/dist/do/domains/validation.js +290 -0
- package/dist/do/domains/validation.js.map +1 -0
- package/dist/do/hibernation.d.ts +385 -0
- package/dist/do/hibernation.d.ts.map +1 -0
- package/dist/do/hibernation.js +518 -0
- package/dist/do/hibernation.js.map +1 -0
- package/dist/do/index.d.ts +19 -0
- package/dist/do/index.d.ts.map +1 -0
- package/dist/do/index.js +23 -0
- package/dist/do/index.js.map +1 -0
- package/dist/do/state.d.ts +336 -0
- package/dist/do/state.d.ts.map +1 -0
- package/dist/do/state.js +290 -0
- package/dist/do/state.js.map +1 -0
- package/dist/index.d.ts +44 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +89 -0
- package/dist/index.js.map +1 -0
- package/dist/rpc/client.d.ts +426 -0
- package/dist/rpc/client.d.ts.map +1 -0
- package/dist/rpc/client.js +826 -0
- package/dist/rpc/client.js.map +1 -0
- package/dist/rpc/index.d.ts +19 -0
- package/dist/rpc/index.d.ts.map +1 -0
- package/dist/rpc/index.js +23 -0
- package/dist/rpc/index.js.map +1 -0
- package/dist/rpc/methods.d.ts +364 -0
- package/dist/rpc/methods.d.ts.map +1 -0
- package/dist/rpc/methods.js +557 -0
- package/dist/rpc/methods.js.map +1 -0
- package/dist/rpc/protocol.d.ts +310 -0
- package/dist/rpc/protocol.d.ts.map +1 -0
- package/dist/rpc/protocol.js +672 -0
- package/dist/rpc/protocol.js.map +1 -0
- package/dist/rpc/routes.d.ts +332 -0
- package/dist/rpc/routes.d.ts.map +1 -0
- package/dist/rpc/routes.js +633 -0
- package/dist/rpc/routes.js.map +1 -0
- package/dist/rpc/server.d.ts +380 -0
- package/dist/rpc/server.d.ts.map +1 -0
- package/dist/rpc/server.js +850 -0
- package/dist/rpc/server.js.map +1 -0
- package/dist/sdk/auth.d.ts +201 -0
- package/dist/sdk/auth.d.ts.map +1 -0
- package/dist/sdk/auth.js +343 -0
- package/dist/sdk/auth.js.map +1 -0
- package/dist/sdk/client.d.ts +123 -0
- package/dist/sdk/client.d.ts.map +1 -0
- package/dist/sdk/client.js +403 -0
- package/dist/sdk/client.js.map +1 -0
- package/dist/sdk/index.d.ts +123 -0
- package/dist/sdk/index.d.ts.map +1 -0
- package/dist/sdk/index.js +230 -0
- package/dist/sdk/index.js.map +1 -0
- package/dist/sdk/rpc.d.ts +275 -0
- package/dist/sdk/rpc.d.ts.map +1 -0
- package/dist/sdk/rpc.js +249 -0
- package/dist/sdk/rpc.js.map +1 -0
- package/dist/sdk/transport.d.ts +283 -0
- package/dist/sdk/transport.d.ts.map +1 -0
- package/dist/sdk/transport.js +661 -0
- package/dist/sdk/transport.js.map +1 -0
- package/dist/sdk/types.d.ts +265 -0
- package/dist/sdk/types.d.ts.map +1 -0
- package/dist/sdk/types.js +27 -0
- package/dist/sdk/types.js.map +1 -0
- package/dist/types/ai.d.ts +533 -0
- package/dist/types/ai.d.ts.map +1 -0
- package/dist/types/ai.js +18 -0
- package/dist/types/ai.js.map +1 -0
- package/dist/types/app.d.ts +371 -0
- package/dist/types/app.d.ts.map +1 -0
- package/dist/types/app.js +151 -0
- package/dist/types/app.js.map +1 -0
- package/dist/types/business.d.ts +482 -0
- package/dist/types/business.d.ts.map +1 -0
- package/dist/types/business.js +60 -0
- package/dist/types/business.js.map +1 -0
- package/dist/types/cascade.d.ts +323 -0
- package/dist/types/cascade.d.ts.map +1 -0
- package/dist/types/cascade.js +82 -0
- package/dist/types/cascade.js.map +1 -0
- package/dist/types/collections.d.ts +704 -0
- package/dist/types/collections.d.ts.map +1 -0
- package/dist/types/collections.js +23 -0
- package/dist/types/collections.js.map +1 -0
- package/dist/types/colo.d.ts +171 -0
- package/dist/types/colo.d.ts.map +1 -0
- package/dist/types/colo.js +63 -0
- package/dist/types/colo.js.map +1 -0
- package/dist/types/communication.d.ts +595 -0
- package/dist/types/communication.d.ts.map +1 -0
- package/dist/types/communication.js +16 -0
- package/dist/types/communication.js.map +1 -0
- package/dist/types/content.d.ts +286 -0
- package/dist/types/content.d.ts.map +1 -0
- package/dist/types/content.js +8 -0
- package/dist/types/content.js.map +1 -0
- package/dist/types/context.d.ts +407 -0
- package/dist/types/context.d.ts.map +1 -0
- package/dist/types/context.js +36 -0
- package/dist/types/context.js.map +1 -0
- package/dist/types/databases.d.ts +377 -0
- package/dist/types/databases.d.ts.map +1 -0
- package/dist/types/databases.js +14 -0
- package/dist/types/databases.js.map +1 -0
- package/dist/types/domains.d.ts +132 -0
- package/dist/types/domains.d.ts.map +1 -0
- package/dist/types/domains.js +107 -0
- package/dist/types/domains.js.map +1 -0
- package/dist/types/execution.d.ts +381 -0
- package/dist/types/execution.d.ts.map +1 -0
- package/dist/types/execution.js +40 -0
- package/dist/types/execution.js.map +1 -0
- package/dist/types/financial.d.ts +608 -0
- package/dist/types/financial.d.ts.map +1 -0
- package/dist/types/financial.js +12 -0
- package/dist/types/financial.js.map +1 -0
- package/dist/types/functions.d.ts +215 -0
- package/dist/types/functions.d.ts.map +1 -0
- package/dist/types/functions.js +15 -0
- package/dist/types/functions.js.map +1 -0
- package/dist/types/git.d.ts +299 -0
- package/dist/types/git.d.ts.map +1 -0
- package/dist/types/git.js +17 -0
- package/dist/types/git.js.map +1 -0
- package/dist/types/identity.d.ts +141 -0
- package/dist/types/identity.d.ts.map +1 -0
- package/dist/types/identity.js +54 -0
- package/dist/types/identity.js.map +1 -0
- package/dist/types/index.d.ts +40 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +65 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/integrations.d.ts +356 -0
- package/dist/types/integrations.d.ts.map +1 -0
- package/dist/types/integrations.js +19 -0
- package/dist/types/integrations.js.map +1 -0
- package/dist/types/mdxui.d.ts +1955 -0
- package/dist/types/mdxui.d.ts.map +1 -0
- package/dist/types/mdxui.js +751 -0
- package/dist/types/mdxui.js.map +1 -0
- package/dist/types/observability.d.ts +315 -0
- package/dist/types/observability.d.ts.map +1 -0
- package/dist/types/observability.js +13 -0
- package/dist/types/observability.js.map +1 -0
- package/dist/types/rpc.d.ts +339 -0
- package/dist/types/rpc.d.ts.map +1 -0
- package/dist/types/rpc.js +24 -0
- package/dist/types/rpc.js.map +1 -0
- package/dist/types/saas.d.ts +678 -0
- package/dist/types/saas.d.ts.map +1 -0
- package/dist/types/saas.js +59 -0
- package/dist/types/saas.js.map +1 -0
- package/dist/types/service.d.ts +676 -0
- package/dist/types/service.d.ts.map +1 -0
- package/dist/types/service.js +69 -0
- package/dist/types/service.js.map +1 -0
- package/dist/types/site.d.ts +317 -0
- package/dist/types/site.d.ts.map +1 -0
- package/dist/types/site.js +203 -0
- package/dist/types/site.js.map +1 -0
- package/dist/types/startup.d.ts +576 -0
- package/dist/types/startup.d.ts.map +1 -0
- package/dist/types/startup.js +59 -0
- package/dist/types/startup.js.map +1 -0
- package/dist/types/storage.d.ts +276 -0
- package/dist/types/storage.d.ts.map +1 -0
- package/dist/types/storage.js +35 -0
- package/dist/types/storage.js.map +1 -0
- package/dist/types/telephony.d.ts +458 -0
- package/dist/types/telephony.d.ts.map +1 -0
- package/dist/types/telephony.js +19 -0
- package/dist/types/telephony.js.map +1 -0
- package/dist/types/tenant.d.ts +708 -0
- package/dist/types/tenant.d.ts.map +1 -0
- package/dist/types/tenant.js +103 -0
- package/dist/types/tenant.js.map +1 -0
- package/dist/types/voice-ai.d.ts +459 -0
- package/dist/types/voice-ai.d.ts.map +1 -0
- package/dist/types/voice-ai.js +32 -0
- package/dist/types/voice-ai.js.map +1 -0
- package/package.json +143 -0
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Request Routing Configuration
|
|
3
|
+
*
|
|
4
|
+
* Manages routing rules for subdomains to Workers, Durable Objects,
|
|
5
|
+
* Pages deployments, or external URLs.
|
|
6
|
+
*
|
|
7
|
+
* @module domains/routing
|
|
8
|
+
*/
|
|
9
|
+
import type { PlatformTLD } from '../../types/domains';
|
|
10
|
+
/**
|
|
11
|
+
* Route target types
|
|
12
|
+
*/
|
|
13
|
+
export type RouteTargetType = 'worker' | 'do' | 'pages' | 'external';
|
|
14
|
+
/**
|
|
15
|
+
* Worker route target
|
|
16
|
+
*/
|
|
17
|
+
export interface WorkerTarget {
|
|
18
|
+
type: 'worker';
|
|
19
|
+
/** Worker script name */
|
|
20
|
+
script: string;
|
|
21
|
+
/** Optional environment (production, staging, etc.) */
|
|
22
|
+
environment?: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Durable Object route target
|
|
26
|
+
*/
|
|
27
|
+
export interface DOTarget {
|
|
28
|
+
type: 'do';
|
|
29
|
+
/** DO namespace binding name */
|
|
30
|
+
namespace: string;
|
|
31
|
+
/** Optional specific DO instance ID */
|
|
32
|
+
id?: string;
|
|
33
|
+
/** Method to determine DO ID from request (default: subdomain) */
|
|
34
|
+
idFromRequest?: 'subdomain' | 'path' | 'header';
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Cloudflare Pages route target
|
|
38
|
+
*/
|
|
39
|
+
export interface PagesTarget {
|
|
40
|
+
type: 'pages';
|
|
41
|
+
/** Pages project name */
|
|
42
|
+
project: string;
|
|
43
|
+
/** Optional branch (default: production) */
|
|
44
|
+
branch?: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* External URL route target
|
|
48
|
+
*/
|
|
49
|
+
export interface ExternalTarget {
|
|
50
|
+
type: 'external';
|
|
51
|
+
/** Target URL (requests will be proxied) */
|
|
52
|
+
url: string;
|
|
53
|
+
/** Whether to preserve the original host header */
|
|
54
|
+
preserveHost?: boolean;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Any route target
|
|
58
|
+
*/
|
|
59
|
+
export type RouteTarget = WorkerTarget | DOTarget | PagesTarget | ExternalTarget;
|
|
60
|
+
/**
|
|
61
|
+
* Route configuration
|
|
62
|
+
*/
|
|
63
|
+
export interface RouteConfig {
|
|
64
|
+
/** The subdomain this route applies to */
|
|
65
|
+
subdomain: string;
|
|
66
|
+
/** The platform TLD */
|
|
67
|
+
tld: PlatformTLD;
|
|
68
|
+
/** Where to route requests */
|
|
69
|
+
target: RouteTarget;
|
|
70
|
+
/** Path patterns this route matches (default: all paths) */
|
|
71
|
+
paths?: string[];
|
|
72
|
+
/** Priority for overlapping routes (higher wins) */
|
|
73
|
+
priority?: number;
|
|
74
|
+
/** Whether the route is enabled */
|
|
75
|
+
enabled: boolean;
|
|
76
|
+
/** Created timestamp */
|
|
77
|
+
createdAt: number;
|
|
78
|
+
/** Updated timestamp */
|
|
79
|
+
updatedAt: number;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Options for setting a route
|
|
83
|
+
*/
|
|
84
|
+
export interface SetRouteOptions {
|
|
85
|
+
/** The subdomain */
|
|
86
|
+
subdomain: string;
|
|
87
|
+
/** The platform TLD */
|
|
88
|
+
tld: PlatformTLD;
|
|
89
|
+
/** Route target */
|
|
90
|
+
target: RouteTarget;
|
|
91
|
+
/** Path patterns (optional) */
|
|
92
|
+
paths?: string[];
|
|
93
|
+
/** Priority (optional) */
|
|
94
|
+
priority?: number;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Options for listing routes
|
|
98
|
+
*/
|
|
99
|
+
export interface ListRoutesOptions {
|
|
100
|
+
/** Filter by TLD */
|
|
101
|
+
tld?: PlatformTLD;
|
|
102
|
+
/** Filter by target type */
|
|
103
|
+
targetType?: RouteTargetType;
|
|
104
|
+
/** Filter by enabled status */
|
|
105
|
+
enabled?: boolean;
|
|
106
|
+
/** Maximum results */
|
|
107
|
+
limit?: number;
|
|
108
|
+
/** Pagination cursor */
|
|
109
|
+
cursor?: string;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Result of listing routes
|
|
113
|
+
*/
|
|
114
|
+
export interface ListRoutesResult {
|
|
115
|
+
/** The route configurations */
|
|
116
|
+
routes: RouteConfig[];
|
|
117
|
+
/** Cursor for next page */
|
|
118
|
+
cursor?: string;
|
|
119
|
+
/** Whether more results exist */
|
|
120
|
+
hasMore: boolean;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Error from routing operations
|
|
124
|
+
*/
|
|
125
|
+
export declare class RoutingError extends Error {
|
|
126
|
+
code: 'NOT_FOUND' | 'CONFLICT' | 'INVALID_TARGET' | 'INVALID_PATH';
|
|
127
|
+
details?: Record<string, unknown> | undefined;
|
|
128
|
+
constructor(code: 'NOT_FOUND' | 'CONFLICT' | 'INVALID_TARGET' | 'INVALID_PATH', message: string, details?: Record<string, unknown> | undefined);
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Set a route for a subdomain
|
|
132
|
+
*
|
|
133
|
+
* @param options - Route options
|
|
134
|
+
* @returns The created/updated route config
|
|
135
|
+
*
|
|
136
|
+
* @example
|
|
137
|
+
* ```typescript
|
|
138
|
+
* // Route to a Durable Object
|
|
139
|
+
* const route = await setRoute({
|
|
140
|
+
* subdomain: 'acme',
|
|
141
|
+
* tld: 'saas.group',
|
|
142
|
+
* target: {
|
|
143
|
+
* type: 'do',
|
|
144
|
+
* namespace: 'DigitalObject',
|
|
145
|
+
* id: 'acme-startup'
|
|
146
|
+
* }
|
|
147
|
+
* })
|
|
148
|
+
*
|
|
149
|
+
* // Route specific paths to a Worker
|
|
150
|
+
* await setRoute({
|
|
151
|
+
* subdomain: 'api',
|
|
152
|
+
* tld: 'acme.saas.group',
|
|
153
|
+
* target: { type: 'worker', script: 'acme-api' },
|
|
154
|
+
* paths: ['/v1/*', '/v2/*']
|
|
155
|
+
* })
|
|
156
|
+
* ```
|
|
157
|
+
*/
|
|
158
|
+
export declare function setRoute(options: SetRouteOptions): Promise<RouteConfig>;
|
|
159
|
+
/**
|
|
160
|
+
* Get the route configuration for a subdomain
|
|
161
|
+
*
|
|
162
|
+
* @param subdomain - The subdomain
|
|
163
|
+
* @param tld - The platform TLD
|
|
164
|
+
* @returns The route config or null if not found
|
|
165
|
+
*
|
|
166
|
+
* @example
|
|
167
|
+
* ```typescript
|
|
168
|
+
* const route = await getRoute('acme', 'saas.group')
|
|
169
|
+
* if (route) {
|
|
170
|
+
* console.log('Routes to:', route.target.type)
|
|
171
|
+
* }
|
|
172
|
+
* ```
|
|
173
|
+
*/
|
|
174
|
+
export declare function getRoute(subdomain: string, tld: PlatformTLD): Promise<RouteConfig | null>;
|
|
175
|
+
/**
|
|
176
|
+
* Delete a route
|
|
177
|
+
*
|
|
178
|
+
* @param subdomain - The subdomain
|
|
179
|
+
* @param tld - The platform TLD
|
|
180
|
+
* @returns True if deleted successfully
|
|
181
|
+
*
|
|
182
|
+
* @example
|
|
183
|
+
* ```typescript
|
|
184
|
+
* await deleteRoute('acme', 'saas.group')
|
|
185
|
+
* ```
|
|
186
|
+
*/
|
|
187
|
+
export declare function deleteRoute(subdomain: string, tld: PlatformTLD): Promise<boolean>;
|
|
188
|
+
/**
|
|
189
|
+
* List routes
|
|
190
|
+
*
|
|
191
|
+
* @param options - List options
|
|
192
|
+
* @returns Paginated list of routes
|
|
193
|
+
*
|
|
194
|
+
* @example
|
|
195
|
+
* ```typescript
|
|
196
|
+
* const result = await listRoutes({
|
|
197
|
+
* tld: 'saas.group',
|
|
198
|
+
* targetType: 'do'
|
|
199
|
+
* })
|
|
200
|
+
* ```
|
|
201
|
+
*/
|
|
202
|
+
export declare function listRoutes(options?: ListRoutesOptions): Promise<ListRoutesResult>;
|
|
203
|
+
/**
|
|
204
|
+
* Enable a route
|
|
205
|
+
*
|
|
206
|
+
* @param subdomain - The subdomain
|
|
207
|
+
* @param tld - The platform TLD
|
|
208
|
+
* @returns The updated route config
|
|
209
|
+
*/
|
|
210
|
+
export declare function enableRoute(subdomain: string, tld: PlatformTLD): Promise<RouteConfig>;
|
|
211
|
+
/**
|
|
212
|
+
* Disable a route (stops routing without deleting config)
|
|
213
|
+
*
|
|
214
|
+
* @param subdomain - The subdomain
|
|
215
|
+
* @param tld - The platform TLD
|
|
216
|
+
* @returns The updated route config
|
|
217
|
+
*/
|
|
218
|
+
export declare function disableRoute(subdomain: string, tld: PlatformTLD): Promise<RouteConfig>;
|
|
219
|
+
/**
|
|
220
|
+
* Resolve the route target for an incoming request
|
|
221
|
+
*
|
|
222
|
+
* @param request - The incoming request
|
|
223
|
+
* @returns The matched route or null
|
|
224
|
+
*
|
|
225
|
+
* @example
|
|
226
|
+
* ```typescript
|
|
227
|
+
* const route = await resolveRoute(request)
|
|
228
|
+
* if (route) {
|
|
229
|
+
* switch (route.target.type) {
|
|
230
|
+
* case 'do':
|
|
231
|
+
* return forwardToDO(route.target, request)
|
|
232
|
+
* case 'worker':
|
|
233
|
+
* return forwardToWorker(route.target, request)
|
|
234
|
+
* // ...
|
|
235
|
+
* }
|
|
236
|
+
* }
|
|
237
|
+
* ```
|
|
238
|
+
*/
|
|
239
|
+
export declare function resolveRoute(request: Request): Promise<RouteConfig | null>;
|
|
240
|
+
/**
|
|
241
|
+
* Forward a request to its route target
|
|
242
|
+
*
|
|
243
|
+
* @param route - The route configuration
|
|
244
|
+
* @param request - The incoming request
|
|
245
|
+
* @param env - Environment bindings
|
|
246
|
+
* @returns The response from the target
|
|
247
|
+
*/
|
|
248
|
+
export declare function forwardToTarget(route: RouteConfig, request: Request, env: Record<string, unknown>): Promise<Response>;
|
|
249
|
+
/**
|
|
250
|
+
* Validate a route target
|
|
251
|
+
*/
|
|
252
|
+
export declare function validateTarget(target: RouteTarget): {
|
|
253
|
+
valid: boolean;
|
|
254
|
+
error?: string;
|
|
255
|
+
};
|
|
256
|
+
/**
|
|
257
|
+
* Validate a path pattern
|
|
258
|
+
*/
|
|
259
|
+
export declare function validatePathPattern(pattern: string): {
|
|
260
|
+
valid: boolean;
|
|
261
|
+
error?: string;
|
|
262
|
+
};
|
|
263
|
+
//# sourceMappingURL=routing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../../do/domains/routing.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,362 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Request Routing Configuration
|
|
3
|
+
*
|
|
4
|
+
* Manages routing rules for subdomains to Workers, Durable Objects,
|
|
5
|
+
* Pages deployments, or external URLs.
|
|
6
|
+
*
|
|
7
|
+
* @module domains/routing
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Error from routing operations
|
|
11
|
+
*/
|
|
12
|
+
export class RoutingError extends Error {
|
|
13
|
+
code;
|
|
14
|
+
details;
|
|
15
|
+
constructor(code, message, details) {
|
|
16
|
+
super(message);
|
|
17
|
+
this.code = code;
|
|
18
|
+
this.details = details;
|
|
19
|
+
this.name = 'RoutingError';
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
// =============================================================================
|
|
23
|
+
// Public API
|
|
24
|
+
// =============================================================================
|
|
25
|
+
/**
|
|
26
|
+
* Set a route for a subdomain
|
|
27
|
+
*
|
|
28
|
+
* @param options - Route options
|
|
29
|
+
* @returns The created/updated route config
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```typescript
|
|
33
|
+
* // Route to a Durable Object
|
|
34
|
+
* const route = await setRoute({
|
|
35
|
+
* subdomain: 'acme',
|
|
36
|
+
* tld: 'saas.group',
|
|
37
|
+
* target: {
|
|
38
|
+
* type: 'do',
|
|
39
|
+
* namespace: 'DigitalObject',
|
|
40
|
+
* id: 'acme-startup'
|
|
41
|
+
* }
|
|
42
|
+
* })
|
|
43
|
+
*
|
|
44
|
+
* // Route specific paths to a Worker
|
|
45
|
+
* await setRoute({
|
|
46
|
+
* subdomain: 'api',
|
|
47
|
+
* tld: 'acme.saas.group',
|
|
48
|
+
* target: { type: 'worker', script: 'acme-api' },
|
|
49
|
+
* paths: ['/v1/*', '/v2/*']
|
|
50
|
+
* })
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export async function setRoute(options) {
|
|
54
|
+
// Validate target
|
|
55
|
+
const validation = validateTarget(options.target);
|
|
56
|
+
if (!validation.valid) {
|
|
57
|
+
throw new RoutingError('INVALID_TARGET', validation.error);
|
|
58
|
+
}
|
|
59
|
+
// Validate paths if provided
|
|
60
|
+
if (options.paths) {
|
|
61
|
+
for (const path of options.paths) {
|
|
62
|
+
const pathValidation = validatePathPattern(path);
|
|
63
|
+
if (!pathValidation.valid) {
|
|
64
|
+
throw new RoutingError('INVALID_PATH', pathValidation.error, { path });
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
// TODO: Store route in Builder.Domains DO
|
|
69
|
+
throw new Error('Not implemented');
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Get the route configuration for a subdomain
|
|
73
|
+
*
|
|
74
|
+
* @param subdomain - The subdomain
|
|
75
|
+
* @param tld - The platform TLD
|
|
76
|
+
* @returns The route config or null if not found
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```typescript
|
|
80
|
+
* const route = await getRoute('acme', 'saas.group')
|
|
81
|
+
* if (route) {
|
|
82
|
+
* console.log('Routes to:', route.target.type)
|
|
83
|
+
* }
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
export async function getRoute(subdomain, tld) {
|
|
87
|
+
// TODO: Fetch from Builder.Domains DO
|
|
88
|
+
throw new Error('Not implemented');
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Delete a route
|
|
92
|
+
*
|
|
93
|
+
* @param subdomain - The subdomain
|
|
94
|
+
* @param tld - The platform TLD
|
|
95
|
+
* @returns True if deleted successfully
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* ```typescript
|
|
99
|
+
* await deleteRoute('acme', 'saas.group')
|
|
100
|
+
* ```
|
|
101
|
+
*/
|
|
102
|
+
export async function deleteRoute(subdomain, tld) {
|
|
103
|
+
// TODO: Delete from Builder.Domains DO
|
|
104
|
+
throw new Error('Not implemented');
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* List routes
|
|
108
|
+
*
|
|
109
|
+
* @param options - List options
|
|
110
|
+
* @returns Paginated list of routes
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* ```typescript
|
|
114
|
+
* const result = await listRoutes({
|
|
115
|
+
* tld: 'saas.group',
|
|
116
|
+
* targetType: 'do'
|
|
117
|
+
* })
|
|
118
|
+
* ```
|
|
119
|
+
*/
|
|
120
|
+
export async function listRoutes(options) {
|
|
121
|
+
// TODO: Fetch from Builder.Domains DO
|
|
122
|
+
throw new Error('Not implemented');
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Enable a route
|
|
126
|
+
*
|
|
127
|
+
* @param subdomain - The subdomain
|
|
128
|
+
* @param tld - The platform TLD
|
|
129
|
+
* @returns The updated route config
|
|
130
|
+
*/
|
|
131
|
+
export async function enableRoute(subdomain, tld) {
|
|
132
|
+
// TODO: Update route in Builder.Domains DO
|
|
133
|
+
throw new Error('Not implemented');
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Disable a route (stops routing without deleting config)
|
|
137
|
+
*
|
|
138
|
+
* @param subdomain - The subdomain
|
|
139
|
+
* @param tld - The platform TLD
|
|
140
|
+
* @returns The updated route config
|
|
141
|
+
*/
|
|
142
|
+
export async function disableRoute(subdomain, tld) {
|
|
143
|
+
// TODO: Update route in Builder.Domains DO
|
|
144
|
+
throw new Error('Not implemented');
|
|
145
|
+
}
|
|
146
|
+
// =============================================================================
|
|
147
|
+
// Route Resolution
|
|
148
|
+
// =============================================================================
|
|
149
|
+
/**
|
|
150
|
+
* Resolve the route target for an incoming request
|
|
151
|
+
*
|
|
152
|
+
* @param request - The incoming request
|
|
153
|
+
* @returns The matched route or null
|
|
154
|
+
*
|
|
155
|
+
* @example
|
|
156
|
+
* ```typescript
|
|
157
|
+
* const route = await resolveRoute(request)
|
|
158
|
+
* if (route) {
|
|
159
|
+
* switch (route.target.type) {
|
|
160
|
+
* case 'do':
|
|
161
|
+
* return forwardToDO(route.target, request)
|
|
162
|
+
* case 'worker':
|
|
163
|
+
* return forwardToWorker(route.target, request)
|
|
164
|
+
* // ...
|
|
165
|
+
* }
|
|
166
|
+
* }
|
|
167
|
+
* ```
|
|
168
|
+
*/
|
|
169
|
+
export async function resolveRoute(request) {
|
|
170
|
+
const url = new URL(request.url);
|
|
171
|
+
const hostname = url.hostname;
|
|
172
|
+
// Extract subdomain and TLD from hostname
|
|
173
|
+
const parsed = parseHostname(hostname);
|
|
174
|
+
if (!parsed) {
|
|
175
|
+
return null;
|
|
176
|
+
}
|
|
177
|
+
// Get route config
|
|
178
|
+
const route = await getRoute(parsed.subdomain, parsed.tld);
|
|
179
|
+
if (!route || !route.enabled) {
|
|
180
|
+
return null;
|
|
181
|
+
}
|
|
182
|
+
// Check path matching
|
|
183
|
+
if (route.paths && route.paths.length > 0) {
|
|
184
|
+
const matched = route.paths.some((pattern) => matchPath(url.pathname, pattern));
|
|
185
|
+
if (!matched) {
|
|
186
|
+
return null;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
return route;
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Forward a request to its route target
|
|
193
|
+
*
|
|
194
|
+
* @param route - The route configuration
|
|
195
|
+
* @param request - The incoming request
|
|
196
|
+
* @param env - Environment bindings
|
|
197
|
+
* @returns The response from the target
|
|
198
|
+
*/
|
|
199
|
+
export async function forwardToTarget(route, request, env) {
|
|
200
|
+
switch (route.target.type) {
|
|
201
|
+
case 'do':
|
|
202
|
+
return forwardToDO(route.target, request, env);
|
|
203
|
+
case 'worker':
|
|
204
|
+
return forwardToWorker(route.target, request);
|
|
205
|
+
case 'pages':
|
|
206
|
+
return forwardToPages(route.target, request);
|
|
207
|
+
case 'external':
|
|
208
|
+
return forwardToExternal(route.target, request);
|
|
209
|
+
default:
|
|
210
|
+
return new Response('Unknown route target', { status: 500 });
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
// =============================================================================
|
|
214
|
+
// Target-Specific Forwarding
|
|
215
|
+
// =============================================================================
|
|
216
|
+
/**
|
|
217
|
+
* Forward request to a Durable Object
|
|
218
|
+
*/
|
|
219
|
+
async function forwardToDO(target, request, env) {
|
|
220
|
+
const namespace = env[target.namespace];
|
|
221
|
+
if (!namespace) {
|
|
222
|
+
return new Response(`DO namespace not found: ${target.namespace}`, { status: 500 });
|
|
223
|
+
}
|
|
224
|
+
// Determine DO ID
|
|
225
|
+
let doId;
|
|
226
|
+
if (target.id) {
|
|
227
|
+
doId = namespace.idFromName(target.id);
|
|
228
|
+
}
|
|
229
|
+
else {
|
|
230
|
+
// Derive ID from request based on idFromRequest setting
|
|
231
|
+
const url = new URL(request.url);
|
|
232
|
+
const idSource = target.idFromRequest ?? 'subdomain';
|
|
233
|
+
switch (idSource) {
|
|
234
|
+
case 'subdomain':
|
|
235
|
+
const parsed = parseHostname(url.hostname);
|
|
236
|
+
doId = namespace.idFromName(parsed?.subdomain ?? 'default');
|
|
237
|
+
break;
|
|
238
|
+
case 'path':
|
|
239
|
+
const pathSegment = url.pathname.split('/')[1] ?? 'default';
|
|
240
|
+
doId = namespace.idFromName(pathSegment);
|
|
241
|
+
break;
|
|
242
|
+
case 'header':
|
|
243
|
+
const headerId = request.headers.get('X-DO-ID') ?? 'default';
|
|
244
|
+
doId = namespace.idFromName(headerId);
|
|
245
|
+
break;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
const stub = namespace.get(doId);
|
|
249
|
+
return stub.fetch(request);
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Forward request to a Worker
|
|
253
|
+
*/
|
|
254
|
+
async function forwardToWorker(target, request) {
|
|
255
|
+
// TODO: Implement Worker service binding forwarding
|
|
256
|
+
throw new Error('Not implemented');
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Forward request to Cloudflare Pages
|
|
260
|
+
*/
|
|
261
|
+
async function forwardToPages(target, request) {
|
|
262
|
+
// Rewrite to pages.dev URL
|
|
263
|
+
const pagesUrl = `https://${target.project}.pages.dev`;
|
|
264
|
+
const url = new URL(request.url);
|
|
265
|
+
const newUrl = new URL(url.pathname + url.search, pagesUrl);
|
|
266
|
+
return fetch(new Request(newUrl.toString(), request));
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Forward request to external URL
|
|
270
|
+
*/
|
|
271
|
+
async function forwardToExternal(target, request) {
|
|
272
|
+
const url = new URL(request.url);
|
|
273
|
+
const targetUrl = new URL(url.pathname + url.search, target.url);
|
|
274
|
+
const newRequest = new Request(targetUrl.toString(), {
|
|
275
|
+
method: request.method,
|
|
276
|
+
headers: request.headers,
|
|
277
|
+
body: request.body,
|
|
278
|
+
});
|
|
279
|
+
if (!target.preserveHost) {
|
|
280
|
+
newRequest.headers.set('Host', targetUrl.host);
|
|
281
|
+
}
|
|
282
|
+
return fetch(newRequest);
|
|
283
|
+
}
|
|
284
|
+
// =============================================================================
|
|
285
|
+
// Validation
|
|
286
|
+
// =============================================================================
|
|
287
|
+
/**
|
|
288
|
+
* Validate a route target
|
|
289
|
+
*/
|
|
290
|
+
export function validateTarget(target) {
|
|
291
|
+
switch (target.type) {
|
|
292
|
+
case 'worker':
|
|
293
|
+
if (!target.script) {
|
|
294
|
+
return { valid: false, error: 'Worker target requires script name' };
|
|
295
|
+
}
|
|
296
|
+
break;
|
|
297
|
+
case 'do':
|
|
298
|
+
if (!target.namespace) {
|
|
299
|
+
return { valid: false, error: 'DO target requires namespace' };
|
|
300
|
+
}
|
|
301
|
+
break;
|
|
302
|
+
case 'pages':
|
|
303
|
+
if (!target.project) {
|
|
304
|
+
return { valid: false, error: 'Pages target requires project name' };
|
|
305
|
+
}
|
|
306
|
+
break;
|
|
307
|
+
case 'external':
|
|
308
|
+
if (!target.url) {
|
|
309
|
+
return { valid: false, error: 'External target requires URL' };
|
|
310
|
+
}
|
|
311
|
+
try {
|
|
312
|
+
new URL(target.url);
|
|
313
|
+
}
|
|
314
|
+
catch {
|
|
315
|
+
return { valid: false, error: 'External target URL is invalid' };
|
|
316
|
+
}
|
|
317
|
+
break;
|
|
318
|
+
}
|
|
319
|
+
return { valid: true };
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* Validate a path pattern
|
|
323
|
+
*/
|
|
324
|
+
export function validatePathPattern(pattern) {
|
|
325
|
+
if (!pattern.startsWith('/')) {
|
|
326
|
+
return { valid: false, error: 'Path pattern must start with /' };
|
|
327
|
+
}
|
|
328
|
+
return { valid: true };
|
|
329
|
+
}
|
|
330
|
+
// =============================================================================
|
|
331
|
+
// Helper Functions
|
|
332
|
+
// =============================================================================
|
|
333
|
+
/**
|
|
334
|
+
* Parse hostname into subdomain and TLD
|
|
335
|
+
*/
|
|
336
|
+
function parseHostname(hostname) {
|
|
337
|
+
const parts = hostname.split('.');
|
|
338
|
+
if (parts.length < 3) {
|
|
339
|
+
return null;
|
|
340
|
+
}
|
|
341
|
+
// Assumes TLD is last 2 parts
|
|
342
|
+
return {
|
|
343
|
+
subdomain: parts.slice(0, -2).join('.'),
|
|
344
|
+
tld: parts.slice(-2).join('.'),
|
|
345
|
+
};
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* Match a path against a pattern
|
|
349
|
+
*/
|
|
350
|
+
function matchPath(path, pattern) {
|
|
351
|
+
// Simple glob matching
|
|
352
|
+
if (pattern.endsWith('/*')) {
|
|
353
|
+
const prefix = pattern.slice(0, -2);
|
|
354
|
+
return path.startsWith(prefix);
|
|
355
|
+
}
|
|
356
|
+
if (pattern.endsWith('*')) {
|
|
357
|
+
const prefix = pattern.slice(0, -1);
|
|
358
|
+
return path.startsWith(prefix);
|
|
359
|
+
}
|
|
360
|
+
return path === pattern;
|
|
361
|
+
}
|
|
362
|
+
//# sourceMappingURL=routing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routing.js","sourceRoot":"","sources":["../../../do/domains/routing.ts"],"names":[],"mappings":"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"}
|