@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,595 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DigitalObject - Base class for all Digital Objects
|
|
3
|
+
*
|
|
4
|
+
* This is the foundational class that all DOs inherit from. It provides:
|
|
5
|
+
* - Core identity management ($id, $type, $context, $version)
|
|
6
|
+
* - State management via DO SQLite
|
|
7
|
+
* - Hibernation support (Agents SDK pattern)
|
|
8
|
+
* - HTTP request handling via fetch()
|
|
9
|
+
* - Child DO creation with $context linking
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import { DigitalObject } from './DigitalObject'
|
|
14
|
+
*
|
|
15
|
+
* export class MyStartup extends DigitalObject {
|
|
16
|
+
* async onInitialize() {
|
|
17
|
+
* await this.state.set('status', 'active')
|
|
18
|
+
* }
|
|
19
|
+
*
|
|
20
|
+
* async handlePath(request: Request, path: string): Promise<Response> {
|
|
21
|
+
* if (path === '/api/status') {
|
|
22
|
+
* const status = await this.state.get('status')
|
|
23
|
+
* return Response.json({ status })
|
|
24
|
+
* }
|
|
25
|
+
* return new Response('Not Found', { status: 404 })
|
|
26
|
+
* }
|
|
27
|
+
* }
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* @module do/DigitalObject
|
|
31
|
+
*/
|
|
32
|
+
import type { DurableObjectState, DurableObject } from '@cloudflare/workers-types';
|
|
33
|
+
import type { DigitalObjectIdentity, DOType, DigitalObjectRef } from '../types/identity';
|
|
34
|
+
import type { RPCRequest, RPCResponse } from '../types/rpc';
|
|
35
|
+
import { type DOState } from './state';
|
|
36
|
+
import { HibernationManager, type HibernationConfig } from './hibernation';
|
|
37
|
+
import { MethodRegistry } from '../rpc/methods';
|
|
38
|
+
/**
|
|
39
|
+
* Environment bindings for the Digital Object
|
|
40
|
+
*
|
|
41
|
+
* @interface DOEnv
|
|
42
|
+
*/
|
|
43
|
+
export interface DOEnv {
|
|
44
|
+
/** The Durable Object namespace for creating child DOs */
|
|
45
|
+
DO: DurableObjectNamespace;
|
|
46
|
+
/** Optional R2 bucket for cold storage */
|
|
47
|
+
R2?: R2Bucket;
|
|
48
|
+
/** Optional KV namespace for caching */
|
|
49
|
+
KV?: KVNamespace;
|
|
50
|
+
/** Optional AI binding */
|
|
51
|
+
AI?: Ai;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Options for creating a DigitalObject
|
|
55
|
+
*
|
|
56
|
+
* @interface DigitalObjectOptions
|
|
57
|
+
*/
|
|
58
|
+
export interface DigitalObjectOptions {
|
|
59
|
+
/** DO type (defaults to class name) */
|
|
60
|
+
type?: DOType;
|
|
61
|
+
/** Initial state values */
|
|
62
|
+
initialState?: Record<string, unknown>;
|
|
63
|
+
/** Hibernation configuration */
|
|
64
|
+
hibernation?: Partial<HibernationConfig>;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Result of handling a fetch request
|
|
68
|
+
*
|
|
69
|
+
* @interface FetchResult
|
|
70
|
+
*/
|
|
71
|
+
export interface FetchResult {
|
|
72
|
+
/** HTTP response to return */
|
|
73
|
+
response: Response;
|
|
74
|
+
/** Whether the request was handled */
|
|
75
|
+
handled: boolean;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Base class for all Digital Objects
|
|
79
|
+
*
|
|
80
|
+
* A Digital Object is a stateful, addressable entity that:
|
|
81
|
+
* - Has a unique HTTPS URL identity ($id)
|
|
82
|
+
* - Belongs to a type ($type)
|
|
83
|
+
* - May have a parent context ($context) for CDC streaming
|
|
84
|
+
* - Maintains versioned state ($version) for optimistic concurrency
|
|
85
|
+
*
|
|
86
|
+
* @class DigitalObject
|
|
87
|
+
* @implements {DurableObject}
|
|
88
|
+
*
|
|
89
|
+
* @example Creating a custom DO
|
|
90
|
+
* ```typescript
|
|
91
|
+
* export class TenantDO extends DigitalObject {
|
|
92
|
+
* async onInitialize() {
|
|
93
|
+
* // Set up initial tenant state
|
|
94
|
+
* await this.state.set('plan', 'free')
|
|
95
|
+
* await this.state.set('users', [])
|
|
96
|
+
* }
|
|
97
|
+
* }
|
|
98
|
+
* ```
|
|
99
|
+
*
|
|
100
|
+
* @example Handling requests
|
|
101
|
+
* ```typescript
|
|
102
|
+
* export class ApiDO extends DigitalObject {
|
|
103
|
+
* async handlePath(request: Request, path: string): Promise<Response> {
|
|
104
|
+
* const method = request.method
|
|
105
|
+
* const body = method === 'POST' ? await request.json() : null
|
|
106
|
+
*
|
|
107
|
+
* // Route to handlers
|
|
108
|
+
* if (path.startsWith('/api/users')) {
|
|
109
|
+
* return this.handleUsers(request, path, body)
|
|
110
|
+
* }
|
|
111
|
+
*
|
|
112
|
+
* return new Response('Not Found', { status: 404 })
|
|
113
|
+
* }
|
|
114
|
+
* }
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
117
|
+
export declare abstract class DigitalObject implements DurableObject {
|
|
118
|
+
/**
|
|
119
|
+
* The unique HTTPS URL identifier for this DO
|
|
120
|
+
* Format: https://domain or https://domain/path
|
|
121
|
+
*
|
|
122
|
+
* @example 'https://headless.ly'
|
|
123
|
+
* @example 'https://crm.headless.ly/acme'
|
|
124
|
+
*/
|
|
125
|
+
protected $id: string;
|
|
126
|
+
/**
|
|
127
|
+
* The type URL defining this DO's schema
|
|
128
|
+
* Can be a well-known type (resolves to https://do.md/{type})
|
|
129
|
+
* or a full URL
|
|
130
|
+
*
|
|
131
|
+
* @example 'Startup' (resolves to https://do.md/Startup)
|
|
132
|
+
* @example 'https://schema.org.ai/Agent'
|
|
133
|
+
*/
|
|
134
|
+
protected $type: DOType;
|
|
135
|
+
/**
|
|
136
|
+
* Optional parent DO URL for CDC event streaming
|
|
137
|
+
* Events bubble up through the $context chain
|
|
138
|
+
*
|
|
139
|
+
* @example 'https://startups.studio' (parent of https://headless.ly)
|
|
140
|
+
*/
|
|
141
|
+
protected $context?: DigitalObjectRef;
|
|
142
|
+
/**
|
|
143
|
+
* Version number for optimistic concurrency control
|
|
144
|
+
* Incremented on each state mutation
|
|
145
|
+
*/
|
|
146
|
+
protected $version: number;
|
|
147
|
+
/**
|
|
148
|
+
* State management instance for this DO
|
|
149
|
+
* Provides get/set/delete operations backed by SQLite
|
|
150
|
+
*/
|
|
151
|
+
protected state: DOState;
|
|
152
|
+
/**
|
|
153
|
+
* Hibernation manager for this DO
|
|
154
|
+
* Handles sleep/wake lifecycle and WebSocket preservation
|
|
155
|
+
*/
|
|
156
|
+
protected hibernation: HibernationManager;
|
|
157
|
+
/**
|
|
158
|
+
* Environment bindings (DO namespace, R2, KV, etc.)
|
|
159
|
+
*/
|
|
160
|
+
protected env: DOEnv;
|
|
161
|
+
/**
|
|
162
|
+
* Raw Durable Object state from Cloudflare runtime
|
|
163
|
+
*/
|
|
164
|
+
protected ctx: DurableObjectState;
|
|
165
|
+
/**
|
|
166
|
+
* Whether the DO has been initialized
|
|
167
|
+
* @internal
|
|
168
|
+
*/
|
|
169
|
+
private initialized;
|
|
170
|
+
/**
|
|
171
|
+
* RPC method registry for this DO
|
|
172
|
+
* Subclasses can register additional methods here
|
|
173
|
+
*/
|
|
174
|
+
protected rpcRegistry: MethodRegistry;
|
|
175
|
+
/**
|
|
176
|
+
* Creates a new DigitalObject instance
|
|
177
|
+
*
|
|
178
|
+
* @param ctx - Durable Object state from Cloudflare runtime
|
|
179
|
+
* @param env - Environment bindings
|
|
180
|
+
*
|
|
181
|
+
* @example
|
|
182
|
+
* ```typescript
|
|
183
|
+
* // This is called automatically by Cloudflare Workers runtime
|
|
184
|
+
* // You don't typically call this directly
|
|
185
|
+
* const do = new MyDigitalObject(state, env)
|
|
186
|
+
* ```
|
|
187
|
+
*/
|
|
188
|
+
constructor(ctx: DurableObjectState, env: DOEnv);
|
|
189
|
+
/**
|
|
190
|
+
* Initialize the Digital Object
|
|
191
|
+
*
|
|
192
|
+
* Called automatically on first request. Loads identity from storage
|
|
193
|
+
* or creates it if this is a new DO.
|
|
194
|
+
*
|
|
195
|
+
* @internal
|
|
196
|
+
*/
|
|
197
|
+
private initialize;
|
|
198
|
+
/**
|
|
199
|
+
* Get the DO's identity object
|
|
200
|
+
*
|
|
201
|
+
* @returns The complete identity with $id, $type, $context, $version
|
|
202
|
+
*
|
|
203
|
+
* @example
|
|
204
|
+
* ```typescript
|
|
205
|
+
* const identity = this.getIdentity()
|
|
206
|
+
* console.log(identity.$id) // 'https://headless.ly'
|
|
207
|
+
* ```
|
|
208
|
+
*/
|
|
209
|
+
getIdentity(): DigitalObjectIdentity;
|
|
210
|
+
/**
|
|
211
|
+
* Set the parent context for CDC streaming
|
|
212
|
+
*
|
|
213
|
+
* @param context - Parent DO URL or undefined to clear
|
|
214
|
+
*
|
|
215
|
+
* @example
|
|
216
|
+
* ```typescript
|
|
217
|
+
* // Set parent context
|
|
218
|
+
* await this.setContext('https://startups.studio')
|
|
219
|
+
*
|
|
220
|
+
* // Clear parent context
|
|
221
|
+
* await this.setContext(undefined)
|
|
222
|
+
* ```
|
|
223
|
+
*/
|
|
224
|
+
setContext(context: DigitalObjectRef | undefined): Promise<void>;
|
|
225
|
+
/**
|
|
226
|
+
* Get the parent context
|
|
227
|
+
*
|
|
228
|
+
* @returns Parent DO URL or undefined if no parent
|
|
229
|
+
*/
|
|
230
|
+
getContext(): DigitalObjectRef | undefined;
|
|
231
|
+
/**
|
|
232
|
+
* Resolve the $id for this DO
|
|
233
|
+
*
|
|
234
|
+
* Override this method to customize ID resolution.
|
|
235
|
+
* Default implementation uses the DO's name from the runtime.
|
|
236
|
+
*
|
|
237
|
+
* @returns The HTTPS URL identifier for this DO
|
|
238
|
+
*
|
|
239
|
+
* @example
|
|
240
|
+
* ```typescript
|
|
241
|
+
* protected async resolveId(): Promise<string> {
|
|
242
|
+
* // Custom ID resolution logic
|
|
243
|
+
* const name = this.ctx.id.name ?? this.ctx.id.toString()
|
|
244
|
+
* return `https://${name}`
|
|
245
|
+
* }
|
|
246
|
+
* ```
|
|
247
|
+
*/
|
|
248
|
+
protected resolveId(): Promise<string>;
|
|
249
|
+
/**
|
|
250
|
+
* Get the default type for this DO
|
|
251
|
+
*
|
|
252
|
+
* Override this method to set a custom default type.
|
|
253
|
+
* Default implementation uses the class name.
|
|
254
|
+
*
|
|
255
|
+
* @returns The default DOType for this class
|
|
256
|
+
*/
|
|
257
|
+
protected getDefaultType(): DOType;
|
|
258
|
+
/**
|
|
259
|
+
* Get hibernation configuration
|
|
260
|
+
*
|
|
261
|
+
* Override this method to customize hibernation behavior.
|
|
262
|
+
*
|
|
263
|
+
* @returns Hibernation configuration options
|
|
264
|
+
*/
|
|
265
|
+
protected getHibernationConfig(): Partial<HibernationConfig>;
|
|
266
|
+
/**
|
|
267
|
+
* Initialization hook for subclasses
|
|
268
|
+
*
|
|
269
|
+
* Override this method to perform custom initialization.
|
|
270
|
+
* Called once when the DO is first accessed.
|
|
271
|
+
*
|
|
272
|
+
* @example
|
|
273
|
+
* ```typescript
|
|
274
|
+
* async onInitialize(): Promise<void> {
|
|
275
|
+
* // Set up default state
|
|
276
|
+
* const existing = await this.state.get('config')
|
|
277
|
+
* if (!existing) {
|
|
278
|
+
* await this.state.set('config', { initialized: true })
|
|
279
|
+
* }
|
|
280
|
+
* }
|
|
281
|
+
* ```
|
|
282
|
+
*/
|
|
283
|
+
protected onInitialize(): Promise<void>;
|
|
284
|
+
/**
|
|
285
|
+
* Register state RPC methods (do.state.get, do.state.set, do.state.delete)
|
|
286
|
+
*
|
|
287
|
+
* These methods provide RPC access to the DO's state storage.
|
|
288
|
+
*
|
|
289
|
+
* @internal
|
|
290
|
+
*/
|
|
291
|
+
private registerStateMethods;
|
|
292
|
+
/**
|
|
293
|
+
* Register custom RPC methods
|
|
294
|
+
*
|
|
295
|
+
* Override this method to register additional RPC methods
|
|
296
|
+
* for your Digital Object subclass.
|
|
297
|
+
*
|
|
298
|
+
* @example
|
|
299
|
+
* ```typescript
|
|
300
|
+
* protected registerRPCMethods(): void {
|
|
301
|
+
* this.rpcRegistry.register('my.custom.method', async (params, ctx) => {
|
|
302
|
+
* return { result: 'custom method called' }
|
|
303
|
+
* })
|
|
304
|
+
* }
|
|
305
|
+
* ```
|
|
306
|
+
*/
|
|
307
|
+
protected registerRPCMethods(): void;
|
|
308
|
+
/**
|
|
309
|
+
* Handle incoming HTTP requests
|
|
310
|
+
*
|
|
311
|
+
* This is the main entry point for all HTTP traffic to the DO.
|
|
312
|
+
* It routes requests based on path and method.
|
|
313
|
+
*
|
|
314
|
+
* @param request - The incoming HTTP request
|
|
315
|
+
* @returns HTTP response
|
|
316
|
+
*
|
|
317
|
+
* @example
|
|
318
|
+
* ```typescript
|
|
319
|
+
* // GET https://do.example.com/api/status
|
|
320
|
+
* // Routes to handlePath with path = '/api/status'
|
|
321
|
+
* ```
|
|
322
|
+
*/
|
|
323
|
+
fetch(request: Request): Promise<Response>;
|
|
324
|
+
/**
|
|
325
|
+
* Handle requests to the root path (/)
|
|
326
|
+
*
|
|
327
|
+
* Default implementation returns DO identity.
|
|
328
|
+
* Override to customize.
|
|
329
|
+
*
|
|
330
|
+
* @param request - The incoming request
|
|
331
|
+
* @returns HTTP response with DO identity
|
|
332
|
+
*/
|
|
333
|
+
protected handleRoot(request: Request): Promise<Response>;
|
|
334
|
+
/**
|
|
335
|
+
* Handle JSON-RPC requests to /rpc
|
|
336
|
+
*
|
|
337
|
+
* Supports the DORPCMethods interface defined in types/rpc.ts
|
|
338
|
+
*
|
|
339
|
+
* @param request - The incoming RPC request
|
|
340
|
+
* @returns RPC response
|
|
341
|
+
*/
|
|
342
|
+
protected handleRPC(request: Request): Promise<Response>;
|
|
343
|
+
/**
|
|
344
|
+
* Process a single RPC request
|
|
345
|
+
*
|
|
346
|
+
* Dispatches the request to the appropriate handler in the RPC registry.
|
|
347
|
+
*
|
|
348
|
+
* @param request - The RPC request object
|
|
349
|
+
* @returns RPC response object
|
|
350
|
+
*/
|
|
351
|
+
protected processRPC(request: RPCRequest): Promise<RPCResponse>;
|
|
352
|
+
/**
|
|
353
|
+
* Handle WebSocket upgrade requests to /ws
|
|
354
|
+
*
|
|
355
|
+
* Supports hibernatable WebSockets for RPC streaming.
|
|
356
|
+
*
|
|
357
|
+
* @param request - The incoming WebSocket upgrade request
|
|
358
|
+
* @returns WebSocket response
|
|
359
|
+
*/
|
|
360
|
+
protected handleWebSocket(request: Request): Promise<Response>;
|
|
361
|
+
/**
|
|
362
|
+
* Handle CDC stream requests to /cdc
|
|
363
|
+
*
|
|
364
|
+
* Supports both WebSocket and SSE (Server-Sent Events) streaming.
|
|
365
|
+
* CDC events are emitted for all state mutations and propagated up the $context chain.
|
|
366
|
+
*
|
|
367
|
+
* Query parameters:
|
|
368
|
+
* - collections: comma-separated list of collections to subscribe to
|
|
369
|
+
* - operations: comma-separated list of operations (INSERT, UPDATE, DELETE)
|
|
370
|
+
* - fromSequence: starting sequence number for replay
|
|
371
|
+
* - fromTimestamp: starting timestamp for replay
|
|
372
|
+
* - includeDocuments: whether to include full before/after documents (default: true)
|
|
373
|
+
*
|
|
374
|
+
* @param request - The incoming request
|
|
375
|
+
* @returns Streaming response with CDC events (WebSocket 101 or SSE stream)
|
|
376
|
+
*
|
|
377
|
+
* @example WebSocket subscription
|
|
378
|
+
* ```typescript
|
|
379
|
+
* const ws = new WebSocket('wss://my.do/cdc?collections=users,orders')
|
|
380
|
+
* ws.onmessage = (event) => {
|
|
381
|
+
* const cdcEvent = JSON.parse(event.data)
|
|
382
|
+
* console.log(`${cdcEvent.operation} on ${cdcEvent.collection}`)
|
|
383
|
+
* }
|
|
384
|
+
* ```
|
|
385
|
+
*
|
|
386
|
+
* @example SSE subscription
|
|
387
|
+
* ```typescript
|
|
388
|
+
* const eventSource = new EventSource('https://my.do/cdc?operations=INSERT,UPDATE')
|
|
389
|
+
* eventSource.onmessage = (event) => {
|
|
390
|
+
* const cdcEvent = JSON.parse(event.data)
|
|
391
|
+
* console.log(`${cdcEvent.operation} on ${cdcEvent.collection}`)
|
|
392
|
+
* }
|
|
393
|
+
* ```
|
|
394
|
+
*/
|
|
395
|
+
protected handleCDC(request: Request): Promise<Response>;
|
|
396
|
+
/**
|
|
397
|
+
* Parse CDC options from URL search parameters
|
|
398
|
+
*
|
|
399
|
+
* @param params - URL search parameters
|
|
400
|
+
* @returns Parsed CDC options
|
|
401
|
+
* @internal
|
|
402
|
+
*/
|
|
403
|
+
private parseCDCOptions;
|
|
404
|
+
/**
|
|
405
|
+
* Handle WebSocket CDC streaming
|
|
406
|
+
*
|
|
407
|
+
* @param request - The WebSocket upgrade request
|
|
408
|
+
* @param options - CDC subscription options
|
|
409
|
+
* @returns WebSocket response
|
|
410
|
+
* @internal
|
|
411
|
+
*/
|
|
412
|
+
private handleCDCWebSocket;
|
|
413
|
+
/**
|
|
414
|
+
* Handle SSE (Server-Sent Events) CDC streaming
|
|
415
|
+
*
|
|
416
|
+
* @param request - The HTTP request
|
|
417
|
+
* @param options - CDC subscription options
|
|
418
|
+
* @returns SSE streaming response
|
|
419
|
+
* @internal
|
|
420
|
+
*/
|
|
421
|
+
private handleCDCSSE;
|
|
422
|
+
/**
|
|
423
|
+
* Check if a CDC event matches the subscription filters
|
|
424
|
+
*
|
|
425
|
+
* @param event - The CDC event to check
|
|
426
|
+
* @param options - Subscription options with filters
|
|
427
|
+
* @returns True if the event should be sent
|
|
428
|
+
* @internal
|
|
429
|
+
*/
|
|
430
|
+
private shouldSendCDCEvent;
|
|
431
|
+
/**
|
|
432
|
+
* Strip document content from CDC event
|
|
433
|
+
*
|
|
434
|
+
* @param event - The CDC event
|
|
435
|
+
* @returns Event without before/after documents
|
|
436
|
+
* @internal
|
|
437
|
+
*/
|
|
438
|
+
private stripDocuments;
|
|
439
|
+
/**
|
|
440
|
+
* Set up CDC event propagation to parent context
|
|
441
|
+
*
|
|
442
|
+
* Events bubble up through the $context chain, enabling
|
|
443
|
+
* parent DOs to observe changes in all descendants.
|
|
444
|
+
*
|
|
445
|
+
* @internal
|
|
446
|
+
*/
|
|
447
|
+
private setupContextPropagation;
|
|
448
|
+
/**
|
|
449
|
+
* Whether context streamer has been set up
|
|
450
|
+
* @internal
|
|
451
|
+
*/
|
|
452
|
+
private contextStreamerSetup;
|
|
453
|
+
/**
|
|
454
|
+
* Handle custom paths not covered by built-in routes
|
|
455
|
+
*
|
|
456
|
+
* Override this method to implement custom path handling.
|
|
457
|
+
*
|
|
458
|
+
* @param request - The incoming request
|
|
459
|
+
* @param path - The URL path
|
|
460
|
+
* @returns HTTP response
|
|
461
|
+
*
|
|
462
|
+
* @example
|
|
463
|
+
* ```typescript
|
|
464
|
+
* async handlePath(request: Request, path: string): Promise<Response> {
|
|
465
|
+
* if (path.startsWith('/api/')) {
|
|
466
|
+
* return this.handleApi(request, path.slice(5))
|
|
467
|
+
* }
|
|
468
|
+
* return new Response('Not Found', { status: 404 })
|
|
469
|
+
* }
|
|
470
|
+
* ```
|
|
471
|
+
*/
|
|
472
|
+
protected handlePath(request: Request, path: string): Promise<Response>;
|
|
473
|
+
/**
|
|
474
|
+
* Handle errors during request processing
|
|
475
|
+
*
|
|
476
|
+
* @param error - The error that occurred
|
|
477
|
+
* @returns Error response
|
|
478
|
+
*/
|
|
479
|
+
protected handleError(error: unknown): Response;
|
|
480
|
+
/**
|
|
481
|
+
* Create a child DO with this DO as the parent context
|
|
482
|
+
*
|
|
483
|
+
* The child DO will have its $context set to this DO's $id,
|
|
484
|
+
* enabling CDC event streaming up the hierarchy.
|
|
485
|
+
*
|
|
486
|
+
* @param type - The type of child DO to create
|
|
487
|
+
* @param name - The name/identifier for the child
|
|
488
|
+
* @returns Reference (URL) to the created child DO
|
|
489
|
+
*
|
|
490
|
+
* @example
|
|
491
|
+
* ```typescript
|
|
492
|
+
* // Create a tenant under this SaaS DO
|
|
493
|
+
* const tenantRef = await this.createChild('Tenant', 'acme')
|
|
494
|
+
* // tenantRef = 'https://crm.headless.ly/acme'
|
|
495
|
+
* ```
|
|
496
|
+
*/
|
|
497
|
+
createChild(type: DOType, name: string): Promise<DigitalObjectRef>;
|
|
498
|
+
/**
|
|
499
|
+
* Get a stub to a child DO
|
|
500
|
+
*
|
|
501
|
+
* @param name - The name/identifier of the child
|
|
502
|
+
* @returns Durable Object stub for the child
|
|
503
|
+
*
|
|
504
|
+
* @example
|
|
505
|
+
* ```typescript
|
|
506
|
+
* const tenantStub = this.getChild('acme')
|
|
507
|
+
* const response = await tenantStub.fetch(new Request('https://crm.headless.ly/acme/api'))
|
|
508
|
+
* ```
|
|
509
|
+
*/
|
|
510
|
+
getChild(name: string): DurableObjectStub;
|
|
511
|
+
/**
|
|
512
|
+
* List all child DOs of a specific type
|
|
513
|
+
*
|
|
514
|
+
* @param type - Optional type filter
|
|
515
|
+
* @returns Array of child DO references
|
|
516
|
+
*/
|
|
517
|
+
listChildren(type?: DOType): Promise<DigitalObjectRef[]>;
|
|
518
|
+
/**
|
|
519
|
+
* Handle alarm for hibernation wake-up
|
|
520
|
+
*
|
|
521
|
+
* Called by Cloudflare Workers runtime when an alarm fires.
|
|
522
|
+
*
|
|
523
|
+
* @internal
|
|
524
|
+
*/
|
|
525
|
+
alarm(): Promise<void>;
|
|
526
|
+
/**
|
|
527
|
+
* Alarm hook for subclasses
|
|
528
|
+
*
|
|
529
|
+
* Override this method to handle scheduled tasks.
|
|
530
|
+
*
|
|
531
|
+
* @example
|
|
532
|
+
* ```typescript
|
|
533
|
+
* async onAlarm(): Promise<void> {
|
|
534
|
+
* // Perform scheduled cleanup
|
|
535
|
+
* await this.cleanupExpiredSessions()
|
|
536
|
+
* }
|
|
537
|
+
* ```
|
|
538
|
+
*/
|
|
539
|
+
protected onAlarm(): Promise<void>;
|
|
540
|
+
/**
|
|
541
|
+
* Handle WebSocket message
|
|
542
|
+
*
|
|
543
|
+
* Called when a message is received on a hibernatable WebSocket.
|
|
544
|
+
*
|
|
545
|
+
* @param ws - The WebSocket that received the message
|
|
546
|
+
* @param message - The message data
|
|
547
|
+
*
|
|
548
|
+
* @internal
|
|
549
|
+
*/
|
|
550
|
+
webSocketMessage(ws: WebSocket, message: string | ArrayBuffer): Promise<void>;
|
|
551
|
+
/**
|
|
552
|
+
* Handle WebSocket close
|
|
553
|
+
*
|
|
554
|
+
* Called when a hibernatable WebSocket is closed.
|
|
555
|
+
* Cleans up CDC subscriptions if this was a CDC WebSocket.
|
|
556
|
+
*
|
|
557
|
+
* @param ws - The WebSocket that was closed
|
|
558
|
+
* @param code - Close code
|
|
559
|
+
* @param reason - Close reason
|
|
560
|
+
* @param wasClean - Whether the close was clean
|
|
561
|
+
*
|
|
562
|
+
* @internal
|
|
563
|
+
*/
|
|
564
|
+
webSocketClose(ws: WebSocket, code: number, reason: string, wasClean: boolean): Promise<void>;
|
|
565
|
+
/**
|
|
566
|
+
* Handle WebSocket error
|
|
567
|
+
*
|
|
568
|
+
* Called when an error occurs on a hibernatable WebSocket.
|
|
569
|
+
*
|
|
570
|
+
* @param ws - The WebSocket that errored
|
|
571
|
+
* @param error - The error
|
|
572
|
+
*
|
|
573
|
+
* @internal
|
|
574
|
+
*/
|
|
575
|
+
webSocketError(ws: WebSocket, error: unknown): Promise<void>;
|
|
576
|
+
}
|
|
577
|
+
/**
|
|
578
|
+
* Custom error class for Digital Object errors
|
|
579
|
+
*
|
|
580
|
+
* @example
|
|
581
|
+
* ```typescript
|
|
582
|
+
* throw new DOError('NOT_FOUND', 'Resource not found', 404)
|
|
583
|
+
* ```
|
|
584
|
+
*/
|
|
585
|
+
export declare class DOError extends Error {
|
|
586
|
+
code: string;
|
|
587
|
+
status: number;
|
|
588
|
+
details?: unknown | undefined;
|
|
589
|
+
constructor(code: string, message: string, status?: number, details?: unknown | undefined);
|
|
590
|
+
}
|
|
591
|
+
/**
|
|
592
|
+
* Export the DigitalObject class as default
|
|
593
|
+
*/
|
|
594
|
+
export default DigitalObject;
|
|
595
|
+
//# sourceMappingURL=DigitalObject.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DigitalObject.d.ts","sourceRoot":"","sources":["../../do/DigitalObject.ts"],"names":[],"mappings":"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"}
|