@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,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Main SDK client for DO RPC
|
|
3
|
+
*
|
|
4
|
+
* This module provides the primary client interface for interacting with
|
|
5
|
+
* Durable Objects via RPC. It handles:
|
|
6
|
+
* - Type-safe method calls with full inference
|
|
7
|
+
* - State subscriptions
|
|
8
|
+
* - Request batching
|
|
9
|
+
* - Connection lifecycle management
|
|
10
|
+
*
|
|
11
|
+
* @module @do/sdk/client
|
|
12
|
+
*/
|
|
13
|
+
import type { DOSchema, DOClient, ClientConfig } from './types';
|
|
14
|
+
/**
|
|
15
|
+
* Base error class for DO SDK errors
|
|
16
|
+
*/
|
|
17
|
+
export declare class DOError extends Error {
|
|
18
|
+
/** Error code for programmatic handling */
|
|
19
|
+
readonly code: string;
|
|
20
|
+
/** Additional error details */
|
|
21
|
+
readonly details?: unknown;
|
|
22
|
+
constructor(code: string, message: string, details?: unknown);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Error thrown when a request times out
|
|
26
|
+
*/
|
|
27
|
+
export declare class TimeoutError extends DOError {
|
|
28
|
+
constructor(message?: string);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Error thrown when transport fails
|
|
32
|
+
*/
|
|
33
|
+
export declare class TransportError extends DOError {
|
|
34
|
+
constructor(message: string, details?: unknown);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Create a new DO client instance.
|
|
38
|
+
*
|
|
39
|
+
* The client provides type-safe RPC calls to a Durable Object instance.
|
|
40
|
+
* It automatically handles transport selection, connection management,
|
|
41
|
+
* and reconnection.
|
|
42
|
+
*
|
|
43
|
+
* @typeParam T - DO schema type for type inference
|
|
44
|
+
* @param config - Client configuration options
|
|
45
|
+
* @returns A configured DO client instance
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```typescript
|
|
49
|
+
* interface MyDO extends DOSchema {
|
|
50
|
+
* methods: {
|
|
51
|
+
* increment: { input: { amount: number }; output: { value: number } }
|
|
52
|
+
* getValue: { input: void; output: { value: number } }
|
|
53
|
+
* }
|
|
54
|
+
* state: {
|
|
55
|
+
* counter: number
|
|
56
|
+
* }
|
|
57
|
+
* }
|
|
58
|
+
*
|
|
59
|
+
* const client = createClient<MyDO>({
|
|
60
|
+
* url: 'https://my-do.workers.dev',
|
|
61
|
+
* id: 'counter-123',
|
|
62
|
+
* token: 'my-auth-token',
|
|
63
|
+
* })
|
|
64
|
+
*
|
|
65
|
+
* // Connect to the DO
|
|
66
|
+
* await client.connect()
|
|
67
|
+
*
|
|
68
|
+
* // Call methods with type safety
|
|
69
|
+
* const result = await client.call('increment', { amount: 5 })
|
|
70
|
+
* console.log(result.value) // Typed as number
|
|
71
|
+
*
|
|
72
|
+
* // Subscribe to state changes
|
|
73
|
+
* const unsubscribe = client.subscribe('counter', (value) => {
|
|
74
|
+
* console.log('Counter is now:', value)
|
|
75
|
+
* })
|
|
76
|
+
*
|
|
77
|
+
* // Clean up
|
|
78
|
+
* unsubscribe()
|
|
79
|
+
* await client.close()
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
export declare function createClient<T extends DOSchema>(config: ClientConfig): DOClient<T> & {
|
|
83
|
+
connect(): Promise<void>;
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* Create multiple DO clients from a configuration map.
|
|
87
|
+
*
|
|
88
|
+
* Useful for applications that need to communicate with multiple
|
|
89
|
+
* DO instances simultaneously.
|
|
90
|
+
*
|
|
91
|
+
* @typeParam T - Map of DO names to their schema types
|
|
92
|
+
* @param baseConfig - Base configuration shared by all clients
|
|
93
|
+
* @param instances - Map of instance names to their IDs
|
|
94
|
+
* @returns Map of client instances
|
|
95
|
+
*
|
|
96
|
+
* @example
|
|
97
|
+
* ```typescript
|
|
98
|
+
* interface Schemas {
|
|
99
|
+
* counter: CounterDO
|
|
100
|
+
* chat: ChatDO
|
|
101
|
+
* }
|
|
102
|
+
*
|
|
103
|
+
* const clients = createClients<Schemas>(
|
|
104
|
+
* { url: 'https://my-do.workers.dev' },
|
|
105
|
+
* {
|
|
106
|
+
* counter: 'counter-123',
|
|
107
|
+
* chat: 'chat-456',
|
|
108
|
+
* }
|
|
109
|
+
* )
|
|
110
|
+
*
|
|
111
|
+
* await clients.counter.call('increment', { amount: 1 })
|
|
112
|
+
* await clients.chat.call('sendMessage', { text: 'Hello!' })
|
|
113
|
+
* ```
|
|
114
|
+
*/
|
|
115
|
+
export declare function createClients<T extends Record<string, DOSchema>>(baseConfig: Omit<ClientConfig, 'id'>, instances: {
|
|
116
|
+
[K in keyof T]: string;
|
|
117
|
+
}): {
|
|
118
|
+
[K in keyof T]: DOClient<T[K]> & {
|
|
119
|
+
connect(): Promise<void>;
|
|
120
|
+
};
|
|
121
|
+
};
|
|
122
|
+
export type { DOClient, ClientConfig, DOSchema };
|
|
123
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../sdk/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,QAAQ,EACR,QAAQ,EACR,YAAY,EAab,MAAM,SAAS,CAAA;AAOhB;;GAEG;AACH,qBAAa,OAAQ,SAAQ,KAAK;IAChC,2CAA2C;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,+BAA+B;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;gBAEd,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAM7D;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,OAAO;gBAC3B,OAAO,SAAsB;CAI1C;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,OAAO;gBAC7B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAI/C;AAwUD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,QAAQ,EAC7C,MAAM,EAAE,YAAY,GACnB,QAAQ,CAAC,CAAC,CAAC,GAAG;IAAE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAE5C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC9D,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,EACpC,SAAS,EAAE;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM;CAAE,GACpC;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QAAE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE;CAAE,CAWnE;AAOD,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAA"}
|
|
@@ -0,0 +1,403 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Main SDK client for DO RPC
|
|
3
|
+
*
|
|
4
|
+
* This module provides the primary client interface for interacting with
|
|
5
|
+
* Durable Objects via RPC. It handles:
|
|
6
|
+
* - Type-safe method calls with full inference
|
|
7
|
+
* - State subscriptions
|
|
8
|
+
* - Request batching
|
|
9
|
+
* - Connection lifecycle management
|
|
10
|
+
*
|
|
11
|
+
* @module @do/sdk/client
|
|
12
|
+
*/
|
|
13
|
+
import { createTransport } from './transport';
|
|
14
|
+
// =============================================================================
|
|
15
|
+
// Error Classes
|
|
16
|
+
// =============================================================================
|
|
17
|
+
/**
|
|
18
|
+
* Base error class for DO SDK errors
|
|
19
|
+
*/
|
|
20
|
+
export class DOError extends Error {
|
|
21
|
+
/** Error code for programmatic handling */
|
|
22
|
+
code;
|
|
23
|
+
/** Additional error details */
|
|
24
|
+
details;
|
|
25
|
+
constructor(code, message, details) {
|
|
26
|
+
super(message);
|
|
27
|
+
this.name = 'DOError';
|
|
28
|
+
this.code = code;
|
|
29
|
+
this.details = details;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Error thrown when a request times out
|
|
34
|
+
*/
|
|
35
|
+
export class TimeoutError extends DOError {
|
|
36
|
+
constructor(message = 'Request timed out') {
|
|
37
|
+
super('TIMEOUT', message);
|
|
38
|
+
this.name = 'TimeoutError';
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Error thrown when transport fails
|
|
43
|
+
*/
|
|
44
|
+
export class TransportError extends DOError {
|
|
45
|
+
constructor(message, details) {
|
|
46
|
+
super('TRANSPORT_ERROR', message, details);
|
|
47
|
+
this.name = 'TransportError';
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
// =============================================================================
|
|
51
|
+
// Client Implementation
|
|
52
|
+
// =============================================================================
|
|
53
|
+
/**
|
|
54
|
+
* Internal client implementation class
|
|
55
|
+
*/
|
|
56
|
+
class DOClientImpl {
|
|
57
|
+
config;
|
|
58
|
+
transport;
|
|
59
|
+
eventHandlers = new Map();
|
|
60
|
+
subscriptions = new Map();
|
|
61
|
+
requestCounter = 0;
|
|
62
|
+
closed = false;
|
|
63
|
+
/**
|
|
64
|
+
* Create a new DO client
|
|
65
|
+
*
|
|
66
|
+
* @param config - Client configuration
|
|
67
|
+
*/
|
|
68
|
+
constructor(config) {
|
|
69
|
+
this.config = {
|
|
70
|
+
transport: 'auto',
|
|
71
|
+
timeout: 30000,
|
|
72
|
+
debug: false,
|
|
73
|
+
...config,
|
|
74
|
+
};
|
|
75
|
+
const transportConfig = {
|
|
76
|
+
url: this.config.url,
|
|
77
|
+
id: this.config.id,
|
|
78
|
+
token: this.config.token,
|
|
79
|
+
headers: this.config.headers,
|
|
80
|
+
reconnect: this.config.reconnect,
|
|
81
|
+
timeout: this.config.timeout,
|
|
82
|
+
};
|
|
83
|
+
this.transport = createTransport(this.config.transport, transportConfig);
|
|
84
|
+
this.setupTransportEvents();
|
|
85
|
+
}
|
|
86
|
+
/** @inheritdoc */
|
|
87
|
+
get state() {
|
|
88
|
+
return this.transport.state;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Initialize the client connection
|
|
92
|
+
*
|
|
93
|
+
* @returns Promise that resolves when connected
|
|
94
|
+
*/
|
|
95
|
+
async connect() {
|
|
96
|
+
if (this.closed) {
|
|
97
|
+
throw new DOError('CLIENT_CLOSED', 'Client has been closed');
|
|
98
|
+
}
|
|
99
|
+
await this.transport.connect();
|
|
100
|
+
}
|
|
101
|
+
/** @inheritdoc */
|
|
102
|
+
async call(method, ...args) {
|
|
103
|
+
if (this.closed) {
|
|
104
|
+
throw new DOError('CLIENT_CLOSED', 'Client has been closed');
|
|
105
|
+
}
|
|
106
|
+
if (this.transport.state !== 'connected') {
|
|
107
|
+
throw new DOError('NOT_CONNECTED', 'Client is not connected');
|
|
108
|
+
}
|
|
109
|
+
const input = args[0];
|
|
110
|
+
const requestId = this.generateRequestId();
|
|
111
|
+
const message = {
|
|
112
|
+
id: requestId,
|
|
113
|
+
type: 0x01, // MessageType.Request
|
|
114
|
+
method: method,
|
|
115
|
+
payload: input,
|
|
116
|
+
timestamp: Date.now(),
|
|
117
|
+
};
|
|
118
|
+
this.debug(`Calling method '${method}' with id '${requestId}'`, input);
|
|
119
|
+
const response = await this.transport.send(message);
|
|
120
|
+
if (!response.success) {
|
|
121
|
+
const error = response.error;
|
|
122
|
+
throw new DOError(error.code, error.message, error.details);
|
|
123
|
+
}
|
|
124
|
+
this.debug(`Method '${method}' returned`, response.data);
|
|
125
|
+
return response.data;
|
|
126
|
+
}
|
|
127
|
+
/** @inheritdoc */
|
|
128
|
+
subscribe(key, callback) {
|
|
129
|
+
if (this.closed) {
|
|
130
|
+
throw new DOError('CLIENT_CLOSED', 'Client has been closed');
|
|
131
|
+
}
|
|
132
|
+
const keyStr = key;
|
|
133
|
+
if (!this.subscriptions.has(keyStr)) {
|
|
134
|
+
this.subscriptions.set(keyStr, new Set());
|
|
135
|
+
// Send subscribe message to server
|
|
136
|
+
if (this.transport.state === 'connected') {
|
|
137
|
+
const message = {
|
|
138
|
+
id: this.generateRequestId(),
|
|
139
|
+
type: 0x04, // MessageType.Subscribe
|
|
140
|
+
payload: { key: keyStr },
|
|
141
|
+
timestamp: Date.now(),
|
|
142
|
+
};
|
|
143
|
+
this.transport.send(message).catch((error) => {
|
|
144
|
+
this.debug(`Failed to subscribe to '${keyStr}':`, error);
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
this.subscriptions.get(keyStr).add(callback);
|
|
149
|
+
this.debug(`Subscribed to state key '${keyStr}'`);
|
|
150
|
+
// Return unsubscribe function
|
|
151
|
+
return () => {
|
|
152
|
+
const callbacks = this.subscriptions.get(keyStr);
|
|
153
|
+
if (callbacks) {
|
|
154
|
+
callbacks.delete(callback);
|
|
155
|
+
if (callbacks.size === 0) {
|
|
156
|
+
this.subscriptions.delete(keyStr);
|
|
157
|
+
// Send unsubscribe message to server
|
|
158
|
+
if (this.transport.state === 'connected') {
|
|
159
|
+
const message = {
|
|
160
|
+
id: this.generateRequestId(),
|
|
161
|
+
type: 0x05, // MessageType.Unsubscribe
|
|
162
|
+
payload: { key: keyStr },
|
|
163
|
+
timestamp: Date.now(),
|
|
164
|
+
};
|
|
165
|
+
this.transport.send(message).catch((error) => {
|
|
166
|
+
this.debug(`Failed to unsubscribe from '${keyStr}':`, error);
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
this.debug(`Unsubscribed from state key '${keyStr}'`);
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
/** @inheritdoc */
|
|
175
|
+
async batch(calls) {
|
|
176
|
+
if (this.closed) {
|
|
177
|
+
throw new DOError('CLIENT_CLOSED', 'Client has been closed');
|
|
178
|
+
}
|
|
179
|
+
if (this.transport.state !== 'connected') {
|
|
180
|
+
throw new DOError('NOT_CONNECTED', 'Client is not connected');
|
|
181
|
+
}
|
|
182
|
+
const requestId = this.generateRequestId();
|
|
183
|
+
const message = {
|
|
184
|
+
id: requestId,
|
|
185
|
+
type: 0x01, // MessageType.Request
|
|
186
|
+
method: '__batch__',
|
|
187
|
+
payload: calls.map((call) => ({
|
|
188
|
+
method: call.method,
|
|
189
|
+
input: call.input,
|
|
190
|
+
})),
|
|
191
|
+
timestamp: Date.now(),
|
|
192
|
+
};
|
|
193
|
+
this.debug(`Batch call with ${calls.length} methods`, calls);
|
|
194
|
+
const response = await this.transport.send(message);
|
|
195
|
+
if (!response.success) {
|
|
196
|
+
const error = response.error;
|
|
197
|
+
throw new DOError(error.code, error.message, error.details);
|
|
198
|
+
}
|
|
199
|
+
this.debug('Batch call returned', response.data);
|
|
200
|
+
return response.data;
|
|
201
|
+
}
|
|
202
|
+
/** @inheritdoc */
|
|
203
|
+
on(event, handler) {
|
|
204
|
+
if (!this.eventHandlers.has(event)) {
|
|
205
|
+
this.eventHandlers.set(event, new Set());
|
|
206
|
+
}
|
|
207
|
+
this.eventHandlers.get(event).add(handler);
|
|
208
|
+
}
|
|
209
|
+
/** @inheritdoc */
|
|
210
|
+
off(event, handler) {
|
|
211
|
+
this.eventHandlers.get(event)?.delete(handler);
|
|
212
|
+
}
|
|
213
|
+
/** @inheritdoc */
|
|
214
|
+
async close() {
|
|
215
|
+
if (this.closed) {
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
218
|
+
this.closed = true;
|
|
219
|
+
this.subscriptions.clear();
|
|
220
|
+
this.eventHandlers.clear();
|
|
221
|
+
await this.transport.disconnect();
|
|
222
|
+
this.debug('Client closed');
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Set up event forwarding from transport to client
|
|
226
|
+
*/
|
|
227
|
+
setupTransportEvents() {
|
|
228
|
+
this.transport.on('connected', () => {
|
|
229
|
+
this.emit('connected');
|
|
230
|
+
// Re-subscribe to all state keys
|
|
231
|
+
for (const key of this.subscriptions.keys()) {
|
|
232
|
+
const message = {
|
|
233
|
+
id: this.generateRequestId(),
|
|
234
|
+
type: 0x04, // MessageType.Subscribe
|
|
235
|
+
payload: { key },
|
|
236
|
+
timestamp: Date.now(),
|
|
237
|
+
};
|
|
238
|
+
this.transport.send(message).catch((error) => {
|
|
239
|
+
this.debug(`Failed to re-subscribe to '${key}':`, error);
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
});
|
|
243
|
+
this.transport.on('disconnected', (reason) => {
|
|
244
|
+
this.emit('disconnected', reason);
|
|
245
|
+
});
|
|
246
|
+
this.transport.on('reconnecting', (attempt) => {
|
|
247
|
+
this.emit('reconnecting', attempt);
|
|
248
|
+
});
|
|
249
|
+
this.transport.on('error', (error) => {
|
|
250
|
+
this.emit('error', error);
|
|
251
|
+
});
|
|
252
|
+
this.transport.on('message', (message) => {
|
|
253
|
+
// Handle state change events
|
|
254
|
+
if (message.type === 0x06) { // MessageType.Event
|
|
255
|
+
const payload = message.payload;
|
|
256
|
+
const callbacks = this.subscriptions.get(payload.key);
|
|
257
|
+
if (callbacks) {
|
|
258
|
+
for (const callback of callbacks) {
|
|
259
|
+
try {
|
|
260
|
+
callback(payload.value);
|
|
261
|
+
}
|
|
262
|
+
catch (error) {
|
|
263
|
+
this.debug(`Error in subscription callback for '${payload.key}':`, error);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
this.emit('stateChange', payload.key, payload.value);
|
|
268
|
+
}
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Emit an event to all registered handlers
|
|
273
|
+
*
|
|
274
|
+
* @param event - Event type to emit
|
|
275
|
+
* @param args - Arguments to pass to handlers
|
|
276
|
+
*/
|
|
277
|
+
emit(event, ...args) {
|
|
278
|
+
const handlers = this.eventHandlers.get(event);
|
|
279
|
+
if (handlers) {
|
|
280
|
+
for (const handler of handlers) {
|
|
281
|
+
try {
|
|
282
|
+
;
|
|
283
|
+
handler(...args);
|
|
284
|
+
}
|
|
285
|
+
catch (error) {
|
|
286
|
+
this.debug(`Error in ${event} handler:`, error);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Generate a unique request ID
|
|
293
|
+
*
|
|
294
|
+
* @returns Unique request ID
|
|
295
|
+
*/
|
|
296
|
+
generateRequestId() {
|
|
297
|
+
return `${Date.now()}-${++this.requestCounter}`;
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* Log debug message if debug mode is enabled
|
|
301
|
+
*
|
|
302
|
+
* @param message - Debug message
|
|
303
|
+
* @param args - Additional arguments to log
|
|
304
|
+
*/
|
|
305
|
+
debug(message, ...args) {
|
|
306
|
+
if (this.config.debug) {
|
|
307
|
+
console.debug(`[DO SDK] ${message}`, ...args);
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
// =============================================================================
|
|
312
|
+
// Factory Functions
|
|
313
|
+
// =============================================================================
|
|
314
|
+
/**
|
|
315
|
+
* Create a new DO client instance.
|
|
316
|
+
*
|
|
317
|
+
* The client provides type-safe RPC calls to a Durable Object instance.
|
|
318
|
+
* It automatically handles transport selection, connection management,
|
|
319
|
+
* and reconnection.
|
|
320
|
+
*
|
|
321
|
+
* @typeParam T - DO schema type for type inference
|
|
322
|
+
* @param config - Client configuration options
|
|
323
|
+
* @returns A configured DO client instance
|
|
324
|
+
*
|
|
325
|
+
* @example
|
|
326
|
+
* ```typescript
|
|
327
|
+
* interface MyDO extends DOSchema {
|
|
328
|
+
* methods: {
|
|
329
|
+
* increment: { input: { amount: number }; output: { value: number } }
|
|
330
|
+
* getValue: { input: void; output: { value: number } }
|
|
331
|
+
* }
|
|
332
|
+
* state: {
|
|
333
|
+
* counter: number
|
|
334
|
+
* }
|
|
335
|
+
* }
|
|
336
|
+
*
|
|
337
|
+
* const client = createClient<MyDO>({
|
|
338
|
+
* url: 'https://my-do.workers.dev',
|
|
339
|
+
* id: 'counter-123',
|
|
340
|
+
* token: 'my-auth-token',
|
|
341
|
+
* })
|
|
342
|
+
*
|
|
343
|
+
* // Connect to the DO
|
|
344
|
+
* await client.connect()
|
|
345
|
+
*
|
|
346
|
+
* // Call methods with type safety
|
|
347
|
+
* const result = await client.call('increment', { amount: 5 })
|
|
348
|
+
* console.log(result.value) // Typed as number
|
|
349
|
+
*
|
|
350
|
+
* // Subscribe to state changes
|
|
351
|
+
* const unsubscribe = client.subscribe('counter', (value) => {
|
|
352
|
+
* console.log('Counter is now:', value)
|
|
353
|
+
* })
|
|
354
|
+
*
|
|
355
|
+
* // Clean up
|
|
356
|
+
* unsubscribe()
|
|
357
|
+
* await client.close()
|
|
358
|
+
* ```
|
|
359
|
+
*/
|
|
360
|
+
export function createClient(config) {
|
|
361
|
+
return new DOClientImpl(config);
|
|
362
|
+
}
|
|
363
|
+
/**
|
|
364
|
+
* Create multiple DO clients from a configuration map.
|
|
365
|
+
*
|
|
366
|
+
* Useful for applications that need to communicate with multiple
|
|
367
|
+
* DO instances simultaneously.
|
|
368
|
+
*
|
|
369
|
+
* @typeParam T - Map of DO names to their schema types
|
|
370
|
+
* @param baseConfig - Base configuration shared by all clients
|
|
371
|
+
* @param instances - Map of instance names to their IDs
|
|
372
|
+
* @returns Map of client instances
|
|
373
|
+
*
|
|
374
|
+
* @example
|
|
375
|
+
* ```typescript
|
|
376
|
+
* interface Schemas {
|
|
377
|
+
* counter: CounterDO
|
|
378
|
+
* chat: ChatDO
|
|
379
|
+
* }
|
|
380
|
+
*
|
|
381
|
+
* const clients = createClients<Schemas>(
|
|
382
|
+
* { url: 'https://my-do.workers.dev' },
|
|
383
|
+
* {
|
|
384
|
+
* counter: 'counter-123',
|
|
385
|
+
* chat: 'chat-456',
|
|
386
|
+
* }
|
|
387
|
+
* )
|
|
388
|
+
*
|
|
389
|
+
* await clients.counter.call('increment', { amount: 1 })
|
|
390
|
+
* await clients.chat.call('sendMessage', { text: 'Hello!' })
|
|
391
|
+
* ```
|
|
392
|
+
*/
|
|
393
|
+
export function createClients(baseConfig, instances) {
|
|
394
|
+
const clients = {};
|
|
395
|
+
for (const [name, id] of Object.entries(instances)) {
|
|
396
|
+
clients[name] = createClient({
|
|
397
|
+
...baseConfig,
|
|
398
|
+
id,
|
|
399
|
+
});
|
|
400
|
+
}
|
|
401
|
+
return clients;
|
|
402
|
+
}
|
|
403
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../sdk/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client SDK Module
|
|
3
|
+
*
|
|
4
|
+
* SDK for consuming Digital Objects from external applications:
|
|
5
|
+
* - Type-safe DO client
|
|
6
|
+
* - Real-time subscriptions
|
|
7
|
+
* - Offline support
|
|
8
|
+
* - React/Vue/Svelte bindings
|
|
9
|
+
*/
|
|
10
|
+
import type { DigitalObjectIdentity, DigitalObjectRef, Thing, Action, RPCClient, CDCEvent } from '../types';
|
|
11
|
+
/**
|
|
12
|
+
* DO Client options
|
|
13
|
+
*/
|
|
14
|
+
export interface DOClientOptions {
|
|
15
|
+
/** Base URL for the DO platform */
|
|
16
|
+
baseUrl?: string;
|
|
17
|
+
/** Authentication token */
|
|
18
|
+
auth?: string;
|
|
19
|
+
/** Custom headers */
|
|
20
|
+
headers?: Record<string, string>;
|
|
21
|
+
/** Enable offline support */
|
|
22
|
+
offline?: boolean;
|
|
23
|
+
/** Cache TTL in ms */
|
|
24
|
+
cacheTTL?: number;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* DO Client - main entry point for SDK consumers
|
|
28
|
+
*/
|
|
29
|
+
declare class DOClientLegacy {
|
|
30
|
+
private options;
|
|
31
|
+
private rpcClients;
|
|
32
|
+
private cache;
|
|
33
|
+
constructor(options?: DOClientOptions);
|
|
34
|
+
/**
|
|
35
|
+
* Connect to a Digital Object
|
|
36
|
+
*/
|
|
37
|
+
connect(doRef: DigitalObjectRef): Promise<DOConnection>;
|
|
38
|
+
/**
|
|
39
|
+
* Disconnect from a Digital Object
|
|
40
|
+
*/
|
|
41
|
+
disconnect(doRef: DigitalObjectRef): Promise<void>;
|
|
42
|
+
/**
|
|
43
|
+
* Disconnect from all Digital Objects
|
|
44
|
+
*/
|
|
45
|
+
disconnectAll(): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Set authentication token
|
|
48
|
+
*/
|
|
49
|
+
setAuth(token: string): void;
|
|
50
|
+
/**
|
|
51
|
+
* Clear the cache
|
|
52
|
+
*/
|
|
53
|
+
clearCache(): void;
|
|
54
|
+
private resolveUrl;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Connection to a specific Digital Object
|
|
58
|
+
*/
|
|
59
|
+
export declare class DOConnection {
|
|
60
|
+
private doRef;
|
|
61
|
+
private rpcClient;
|
|
62
|
+
private options;
|
|
63
|
+
private subscriptions;
|
|
64
|
+
constructor(doRef: DigitalObjectRef, rpcClient: RPCClient, options: Required<DOClientOptions>);
|
|
65
|
+
/**
|
|
66
|
+
* Get the DO identity
|
|
67
|
+
*/
|
|
68
|
+
getIdentity(): Promise<DigitalObjectIdentity>;
|
|
69
|
+
/**
|
|
70
|
+
* List things of a specific type
|
|
71
|
+
*/
|
|
72
|
+
listThings<T = unknown>(type?: string): Promise<Thing<T>[]>;
|
|
73
|
+
/**
|
|
74
|
+
* Get a thing by ID
|
|
75
|
+
*/
|
|
76
|
+
getThing<T = unknown>(id: string): Promise<Thing<T> | null>;
|
|
77
|
+
/**
|
|
78
|
+
* Create a thing
|
|
79
|
+
*/
|
|
80
|
+
createThing<T = unknown>(data: Omit<Thing<T>, 'id'>): Promise<Thing<T>>;
|
|
81
|
+
/**
|
|
82
|
+
* Update a thing
|
|
83
|
+
*/
|
|
84
|
+
updateThing<T = unknown>(id: string, data: Partial<Thing<T>>): Promise<Thing<T>>;
|
|
85
|
+
/**
|
|
86
|
+
* Delete a thing
|
|
87
|
+
*/
|
|
88
|
+
deleteThing(id: string): Promise<void>;
|
|
89
|
+
/**
|
|
90
|
+
* Execute an action
|
|
91
|
+
*/
|
|
92
|
+
executeAction<TInput = unknown, TOutput = unknown>(verb: string, input: TInput): Promise<Action<TInput, TOutput>>;
|
|
93
|
+
/**
|
|
94
|
+
* Subscribe to CDC events
|
|
95
|
+
*/
|
|
96
|
+
subscribe(handler: (event: CDCEvent) => void, options?: {
|
|
97
|
+
eventTypes?: string[];
|
|
98
|
+
collections?: string[];
|
|
99
|
+
}): () => void;
|
|
100
|
+
/**
|
|
101
|
+
* Unsubscribe from all events
|
|
102
|
+
*/
|
|
103
|
+
unsubscribeAll(): void;
|
|
104
|
+
/**
|
|
105
|
+
* Get the underlying RPC client
|
|
106
|
+
*/
|
|
107
|
+
get rpc(): RPCClient;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Create a DO client (legacy)
|
|
111
|
+
*/
|
|
112
|
+
export declare function createDOClient(options?: DOClientOptions): DOClientLegacy;
|
|
113
|
+
export { DOClientLegacy };
|
|
114
|
+
export { createClient, createClients, DOError, TimeoutError, TransportError, } from './client';
|
|
115
|
+
export type { DOClient, ClientConfig, DOSchema } from './client';
|
|
116
|
+
export { WebSocketTransport, HTTPTransport, AutoTransport, createTransport, } from './transport';
|
|
117
|
+
export type { WebSocketTransportConfig, HTTPTransportConfig, AutoTransportConfig, } from './transport';
|
|
118
|
+
export type { MethodNames, MethodInput, MethodOutput, StateKeys, StateValue, TransportType, ConnectionState, ReconnectConfig, TransportMessage, MessageType, Transport, TransportResponse, TransportError as TransportErrorType, ClientEventType, ClientEventHandler, BatchCall, BatchResult, } from './types';
|
|
119
|
+
export { createDOApiClient, connectDO, createDOClientFromBinding, doClient, setEnv, getEnv, getEnvVar, isEnvConfigured, getDefaultApiKey, getDefaultApiKeySync, RPC, http, ws, capnweb, composite, binding, RPCError, } from './rpc';
|
|
120
|
+
export type { DOApi, DOApiClient, DOClientConfig, CollectionAPI, ExtendedCollectionAPI, RelationshipAPI, TraverseOptions, TraverseResult, CollectionItem, CollectionName, CollectionItemType, Transport as RPCTransport, RPCProxy, AuthProvider, } from './rpc';
|
|
121
|
+
export { ensureDOAuth, getDOToken, isDOAuthenticated, forceReauthDO, logoutDO, configureDOAuth, startDODeviceFlow, completeDODeviceFlow, createSecureStorage, } from './auth';
|
|
122
|
+
export type { DOAuthOptions, DOAuthResult, DOStorageConfig, DeviceAuthResponse, TokenStorage, StoredTokenData, } from './auth';
|
|
123
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../sdk/index.ts"],"names":[],"mappings":"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"}
|