@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
package/dist/sdk/rpc.js
ADDED
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DO RPC Client - Wraps rpc.do for Digital Object operations
|
|
3
|
+
*
|
|
4
|
+
* Provides a type-safe client for interacting with Digital Objects via RPC.
|
|
5
|
+
* Uses rpc.do as the underlying transport with DO-specific API definitions.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import { createDOApiClient } from '@do/sdk/rpc'
|
|
10
|
+
*
|
|
11
|
+
* const client = createDOApiClient({ baseURL: 'https://my-do.workers.dev' })
|
|
12
|
+
* const things = await client.things.list()
|
|
13
|
+
*
|
|
14
|
+
* // With authentication
|
|
15
|
+
* const authClient = createDOApiClient({
|
|
16
|
+
* baseURL: 'https://my-do.workers.dev',
|
|
17
|
+
* token: 'my-api-token'
|
|
18
|
+
* })
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* @module @do/sdk/rpc
|
|
22
|
+
*/
|
|
23
|
+
import { RPC, http, ws, capnweb, composite, binding } from 'rpc.do';
|
|
24
|
+
// =============================================================================
|
|
25
|
+
// Re-exports from rpc.do
|
|
26
|
+
// =============================================================================
|
|
27
|
+
export { RPC, http, ws, capnweb, composite, binding };
|
|
28
|
+
let globalEnv = null;
|
|
29
|
+
/** Environment variable keys checked for API key (in order) */
|
|
30
|
+
const API_KEY_ENV_VARS = ['DO_API_KEY', 'DO_TOKEN', 'ORG_AI_API_KEY', 'ORG_AI_TOKEN'];
|
|
31
|
+
/**
|
|
32
|
+
* Set the global environment for all DO SDKs
|
|
33
|
+
* Call this once at your app's entry point
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```typescript
|
|
37
|
+
* // Workers
|
|
38
|
+
* import { env } from 'cloudflare:workers'
|
|
39
|
+
* import { setEnv } from '@do/sdk/rpc'
|
|
40
|
+
* setEnv(env)
|
|
41
|
+
*
|
|
42
|
+
* // Node.js
|
|
43
|
+
* import { setEnv } from '@do/sdk/rpc'
|
|
44
|
+
* setEnv(process.env)
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export function setEnv(env) {
|
|
48
|
+
globalEnv = env;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Get the global environment
|
|
52
|
+
* Returns null if not set
|
|
53
|
+
*/
|
|
54
|
+
export function getEnv() {
|
|
55
|
+
return globalEnv;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Get a specific environment variable
|
|
59
|
+
*/
|
|
60
|
+
export function getEnvVar(key) {
|
|
61
|
+
return globalEnv?.[key];
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Check if environment is configured
|
|
65
|
+
*/
|
|
66
|
+
export function isEnvConfigured() {
|
|
67
|
+
return globalEnv !== null;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Get the effective environment (explicit > global > Node.js process.env)
|
|
71
|
+
*/
|
|
72
|
+
function getEffectiveEnv(envOverride) {
|
|
73
|
+
if (envOverride)
|
|
74
|
+
return envOverride;
|
|
75
|
+
if (globalEnv)
|
|
76
|
+
return globalEnv;
|
|
77
|
+
// Auto-detect Node.js
|
|
78
|
+
if (typeof globalThis !== 'undefined') {
|
|
79
|
+
const global = globalThis;
|
|
80
|
+
if (global.process?.env)
|
|
81
|
+
return global.process.env;
|
|
82
|
+
}
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Get default API key from environment (async version)
|
|
87
|
+
* Checks: DO_API_KEY, DO_TOKEN, ORG_AI_API_KEY, ORG_AI_TOKEN
|
|
88
|
+
*/
|
|
89
|
+
export async function getDefaultApiKey(envOverride) {
|
|
90
|
+
const env = getEffectiveEnv(envOverride);
|
|
91
|
+
if (env) {
|
|
92
|
+
for (const key of API_KEY_ENV_VARS) {
|
|
93
|
+
const value = env[key];
|
|
94
|
+
if (typeof value === 'string' && value) {
|
|
95
|
+
return value;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
return undefined;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Get default API key from environment (sync version)
|
|
103
|
+
*/
|
|
104
|
+
export function getDefaultApiKeySync(envOverride) {
|
|
105
|
+
const env = getEffectiveEnv(envOverride);
|
|
106
|
+
if (env) {
|
|
107
|
+
for (const key of API_KEY_ENV_VARS) {
|
|
108
|
+
const value = env[key];
|
|
109
|
+
if (typeof value === 'string' && value) {
|
|
110
|
+
return value;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return undefined;
|
|
115
|
+
}
|
|
116
|
+
// =============================================================================
|
|
117
|
+
// Client Factory
|
|
118
|
+
// =============================================================================
|
|
119
|
+
/**
|
|
120
|
+
* Create a typed DO RPC client.
|
|
121
|
+
*
|
|
122
|
+
* The client provides type-safe access to all DO collections via RPC.
|
|
123
|
+
* It automatically handles authentication and transport selection.
|
|
124
|
+
*
|
|
125
|
+
* @param options - Client configuration
|
|
126
|
+
* @returns Typed DO API client
|
|
127
|
+
*
|
|
128
|
+
* @example
|
|
129
|
+
* ```typescript
|
|
130
|
+
* // Basic usage
|
|
131
|
+
* const client = createDOApiClient({ baseURL: 'https://my-do.workers.dev' })
|
|
132
|
+
*
|
|
133
|
+
* // List all things
|
|
134
|
+
* const { items } = await client.things.list({ limit: 10 })
|
|
135
|
+
*
|
|
136
|
+
* // Create a new thing
|
|
137
|
+
* const thing = await client.things.create({
|
|
138
|
+
* $type: 'Customer',
|
|
139
|
+
* name: 'Acme Corp',
|
|
140
|
+
* email: 'contact@acme.com'
|
|
141
|
+
* })
|
|
142
|
+
*
|
|
143
|
+
* // Traverse relationships
|
|
144
|
+
* const result = await client.relationships.traverse({
|
|
145
|
+
* from: 'customer-123',
|
|
146
|
+
* type: 'purchased',
|
|
147
|
+
* depth: 2
|
|
148
|
+
* })
|
|
149
|
+
*
|
|
150
|
+
* // Close when done
|
|
151
|
+
* await client.close?.()
|
|
152
|
+
* ```
|
|
153
|
+
*/
|
|
154
|
+
export function createDOApiClient(options = {}) {
|
|
155
|
+
const { baseURL = 'https://do.md', doId, token, authProvider, transport: transportType = 'http', env, debug } = options;
|
|
156
|
+
// Resolve auth from options or environment
|
|
157
|
+
const auth = token ?? authProvider ?? getDefaultApiKeySync(env);
|
|
158
|
+
// Build endpoint URL
|
|
159
|
+
const endpoint = doId ? `${baseURL}/do/${doId}` : baseURL;
|
|
160
|
+
// Create transport based on type
|
|
161
|
+
let transport;
|
|
162
|
+
switch (transportType) {
|
|
163
|
+
case 'ws':
|
|
164
|
+
transport = ws(endpoint, auth);
|
|
165
|
+
break;
|
|
166
|
+
case 'capnweb':
|
|
167
|
+
transport = capnweb(endpoint, { websocket: true, auth });
|
|
168
|
+
break;
|
|
169
|
+
case 'auto':
|
|
170
|
+
// Try WebSocket first, fallback to HTTP
|
|
171
|
+
transport = composite(ws(endpoint, auth), http(endpoint, auth));
|
|
172
|
+
break;
|
|
173
|
+
case 'http':
|
|
174
|
+
default:
|
|
175
|
+
transport = http(endpoint, auth);
|
|
176
|
+
}
|
|
177
|
+
if (debug) {
|
|
178
|
+
console.debug(`[DO RPC] Creating client for ${endpoint} with transport: ${transportType}`);
|
|
179
|
+
}
|
|
180
|
+
return RPC(transport);
|
|
181
|
+
}
|
|
182
|
+
// =============================================================================
|
|
183
|
+
// Convenience Exports
|
|
184
|
+
// =============================================================================
|
|
185
|
+
/**
|
|
186
|
+
* Create a client for a specific DO instance
|
|
187
|
+
*
|
|
188
|
+
* @param doId - DO instance identifier
|
|
189
|
+
* @param options - Additional client options
|
|
190
|
+
* @returns Typed DO API client
|
|
191
|
+
*/
|
|
192
|
+
export function connectDO(doId, options = {}) {
|
|
193
|
+
return createDOApiClient({ ...options, doId });
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Default DO client instance.
|
|
197
|
+
*
|
|
198
|
+
* Uses environment variables for configuration:
|
|
199
|
+
* - DO_API_KEY or DO_TOKEN for authentication
|
|
200
|
+
* - DO_BASE_URL for base URL (default: https://do.md)
|
|
201
|
+
*
|
|
202
|
+
* @example
|
|
203
|
+
* ```typescript
|
|
204
|
+
* import { doClient } from '@do/sdk/rpc'
|
|
205
|
+
*
|
|
206
|
+
* const things = await doClient.things.list()
|
|
207
|
+
* ```
|
|
208
|
+
*/
|
|
209
|
+
export const doClient = createDOApiClient();
|
|
210
|
+
// =============================================================================
|
|
211
|
+
// Service Binding Support
|
|
212
|
+
// =============================================================================
|
|
213
|
+
/**
|
|
214
|
+
* Create a client from a Cloudflare Workers service binding
|
|
215
|
+
*
|
|
216
|
+
* @param serviceBinding - The service binding from env
|
|
217
|
+
* @returns Typed DO API client
|
|
218
|
+
*
|
|
219
|
+
* @example
|
|
220
|
+
* ```typescript
|
|
221
|
+
* export default {
|
|
222
|
+
* async fetch(request, env) {
|
|
223
|
+
* const client = createDOClientFromBinding(env.DO_SERVICE)
|
|
224
|
+
* const things = await client.things.list()
|
|
225
|
+
* return Response.json(things)
|
|
226
|
+
* }
|
|
227
|
+
* }
|
|
228
|
+
* ```
|
|
229
|
+
*/
|
|
230
|
+
export function createDOClientFromBinding(serviceBinding) {
|
|
231
|
+
return RPC(binding(serviceBinding));
|
|
232
|
+
}
|
|
233
|
+
// =============================================================================
|
|
234
|
+
// RPC Error Class
|
|
235
|
+
// =============================================================================
|
|
236
|
+
/**
|
|
237
|
+
* Error class for RPC failures
|
|
238
|
+
*/
|
|
239
|
+
export class RPCError extends Error {
|
|
240
|
+
code;
|
|
241
|
+
data;
|
|
242
|
+
constructor(code, message, data) {
|
|
243
|
+
super(message);
|
|
244
|
+
this.code = code;
|
|
245
|
+
this.data = data;
|
|
246
|
+
this.name = 'RPCError';
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
//# sourceMappingURL=rpc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../sdk/rpc.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Transport layer implementations for DO SDK
|
|
3
|
+
*
|
|
4
|
+
* This module provides transport implementations:
|
|
5
|
+
* - WebSocketTransport: Primary transport using CapnWeb protocol
|
|
6
|
+
* - HTTPTransport: Fallback transport using HTTP POST
|
|
7
|
+
* - AutoTransport: Automatic selection with fallback
|
|
8
|
+
*
|
|
9
|
+
* @module @do/sdk/transport
|
|
10
|
+
*/
|
|
11
|
+
import type { Transport, TransportMessage, TransportResponse, TransportEventType, TransportEventHandler, ConnectionState, ReconnectConfig } from './types';
|
|
12
|
+
/**
|
|
13
|
+
* Abstract base class for transport implementations.
|
|
14
|
+
* Provides common functionality for event handling and state management.
|
|
15
|
+
*/
|
|
16
|
+
declare abstract class BaseTransport implements Transport {
|
|
17
|
+
protected _state: ConnectionState;
|
|
18
|
+
protected readonly eventHandlers: Map<TransportEventType, Set<Function>>;
|
|
19
|
+
/** @inheritdoc */
|
|
20
|
+
get state(): ConnectionState;
|
|
21
|
+
/** @inheritdoc */
|
|
22
|
+
abstract connect(): Promise<void>;
|
|
23
|
+
/** @inheritdoc */
|
|
24
|
+
abstract disconnect(): Promise<void>;
|
|
25
|
+
/** @inheritdoc */
|
|
26
|
+
abstract send(message: TransportMessage): Promise<TransportResponse>;
|
|
27
|
+
/** @inheritdoc */
|
|
28
|
+
on<E extends TransportEventType>(event: E, handler: TransportEventHandler<E>): void;
|
|
29
|
+
/** @inheritdoc */
|
|
30
|
+
off<E extends TransportEventType>(event: E, handler: TransportEventHandler<E>): void;
|
|
31
|
+
/**
|
|
32
|
+
* Emit an event to all registered handlers
|
|
33
|
+
*
|
|
34
|
+
* @param event - Event type to emit
|
|
35
|
+
* @param args - Arguments to pass to handlers
|
|
36
|
+
*/
|
|
37
|
+
protected emit<E extends TransportEventType>(event: E, ...args: Parameters<TransportEventHandler<E>>): void;
|
|
38
|
+
/**
|
|
39
|
+
* Update connection state and emit events
|
|
40
|
+
*
|
|
41
|
+
* @param newState - New connection state
|
|
42
|
+
* @param reason - Optional reason for state change
|
|
43
|
+
*/
|
|
44
|
+
protected setState(newState: ConnectionState, reason?: string): void;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Configuration options for WebSocket transport
|
|
48
|
+
*/
|
|
49
|
+
export interface WebSocketTransportConfig {
|
|
50
|
+
/** WebSocket URL (wss:// or ws://) */
|
|
51
|
+
url: string;
|
|
52
|
+
/** DO instance ID */
|
|
53
|
+
id: string;
|
|
54
|
+
/** Authentication token */
|
|
55
|
+
token?: string;
|
|
56
|
+
/** Reconnection configuration */
|
|
57
|
+
reconnect?: ReconnectConfig;
|
|
58
|
+
/** Request timeout in milliseconds */
|
|
59
|
+
timeout?: number;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* WebSocket transport using CapnWeb protocol.
|
|
63
|
+
*
|
|
64
|
+
* Features:
|
|
65
|
+
* - Binary message format for efficiency
|
|
66
|
+
* - Automatic reconnection with exponential backoff
|
|
67
|
+
* - Ping/pong health checks
|
|
68
|
+
* - Request/response correlation
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* ```typescript
|
|
72
|
+
* const transport = new WebSocketTransport({
|
|
73
|
+
* url: 'wss://my-do.workers.dev',
|
|
74
|
+
* id: 'instance-123',
|
|
75
|
+
* token: 'my-auth-token',
|
|
76
|
+
* })
|
|
77
|
+
*
|
|
78
|
+
* await transport.connect()
|
|
79
|
+
* const response = await transport.send({
|
|
80
|
+
* id: 'req-1',
|
|
81
|
+
* type: MessageType.Request,
|
|
82
|
+
* method: 'increment',
|
|
83
|
+
* payload: { amount: 5 },
|
|
84
|
+
* timestamp: Date.now(),
|
|
85
|
+
* })
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
export declare class WebSocketTransport extends BaseTransport {
|
|
89
|
+
private readonly config;
|
|
90
|
+
private readonly reconnectConfig;
|
|
91
|
+
private readonly timeout;
|
|
92
|
+
private readonly pendingRequests;
|
|
93
|
+
private ws;
|
|
94
|
+
private pingTimer;
|
|
95
|
+
private reconnectAttempts;
|
|
96
|
+
private reconnectTimer;
|
|
97
|
+
private manualDisconnect;
|
|
98
|
+
/**
|
|
99
|
+
* Create a new WebSocket transport
|
|
100
|
+
*
|
|
101
|
+
* @param config - Transport configuration
|
|
102
|
+
*/
|
|
103
|
+
constructor(config: WebSocketTransportConfig);
|
|
104
|
+
/** @inheritdoc */
|
|
105
|
+
connect(): Promise<void>;
|
|
106
|
+
/** @inheritdoc */
|
|
107
|
+
disconnect(): Promise<void>;
|
|
108
|
+
/** @inheritdoc */
|
|
109
|
+
send(message: TransportMessage): Promise<TransportResponse>;
|
|
110
|
+
/**
|
|
111
|
+
* Build the WebSocket URL with authentication
|
|
112
|
+
*/
|
|
113
|
+
private buildWebSocketUrl;
|
|
114
|
+
/**
|
|
115
|
+
* Encode a message for transmission using CapnWeb binary format
|
|
116
|
+
*
|
|
117
|
+
* @param message - Message to encode
|
|
118
|
+
* @returns Encoded message as ArrayBuffer
|
|
119
|
+
*/
|
|
120
|
+
private encodeMessage;
|
|
121
|
+
/**
|
|
122
|
+
* Decode a received message from CapnWeb binary format
|
|
123
|
+
*
|
|
124
|
+
* @param data - Received data
|
|
125
|
+
* @returns Decoded message
|
|
126
|
+
*/
|
|
127
|
+
private decodeMessage;
|
|
128
|
+
/**
|
|
129
|
+
* Handle incoming WebSocket message
|
|
130
|
+
*
|
|
131
|
+
* @param data - Received data
|
|
132
|
+
*/
|
|
133
|
+
private handleMessage;
|
|
134
|
+
/**
|
|
135
|
+
* Handle WebSocket close event
|
|
136
|
+
*
|
|
137
|
+
* @param reason - Close reason
|
|
138
|
+
*/
|
|
139
|
+
private handleClose;
|
|
140
|
+
/**
|
|
141
|
+
* Schedule a reconnection attempt
|
|
142
|
+
*/
|
|
143
|
+
private scheduleReconnect;
|
|
144
|
+
/**
|
|
145
|
+
* Clear the reconnect timer
|
|
146
|
+
*/
|
|
147
|
+
private clearReconnectTimer;
|
|
148
|
+
/**
|
|
149
|
+
* Start the ping interval for connection health
|
|
150
|
+
*/
|
|
151
|
+
private startPingInterval;
|
|
152
|
+
/**
|
|
153
|
+
* Stop the ping interval
|
|
154
|
+
*/
|
|
155
|
+
private stopPingInterval;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Configuration options for HTTP transport
|
|
159
|
+
*/
|
|
160
|
+
export interface HTTPTransportConfig {
|
|
161
|
+
/** Base HTTP URL */
|
|
162
|
+
url: string;
|
|
163
|
+
/** DO instance ID */
|
|
164
|
+
id: string;
|
|
165
|
+
/** Authentication token */
|
|
166
|
+
token?: string;
|
|
167
|
+
/** Custom headers */
|
|
168
|
+
headers?: Record<string, string>;
|
|
169
|
+
/** Request timeout in milliseconds */
|
|
170
|
+
timeout?: number;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* HTTP POST transport for DO RPC.
|
|
174
|
+
*
|
|
175
|
+
* Used as a fallback when WebSocket is unavailable.
|
|
176
|
+
* Each RPC call is a separate HTTP request.
|
|
177
|
+
*
|
|
178
|
+
* @example
|
|
179
|
+
* ```typescript
|
|
180
|
+
* const transport = new HTTPTransport({
|
|
181
|
+
* url: 'https://my-do.workers.dev',
|
|
182
|
+
* id: 'instance-123',
|
|
183
|
+
* token: 'my-auth-token',
|
|
184
|
+
* })
|
|
185
|
+
*
|
|
186
|
+
* await transport.connect() // No-op for HTTP
|
|
187
|
+
* const response = await transport.send({
|
|
188
|
+
* id: 'req-1',
|
|
189
|
+
* type: MessageType.Request,
|
|
190
|
+
* method: 'increment',
|
|
191
|
+
* payload: { amount: 5 },
|
|
192
|
+
* timestamp: Date.now(),
|
|
193
|
+
* })
|
|
194
|
+
* ```
|
|
195
|
+
*/
|
|
196
|
+
export declare class HTTPTransport extends BaseTransport {
|
|
197
|
+
private readonly config;
|
|
198
|
+
private readonly timeout;
|
|
199
|
+
/**
|
|
200
|
+
* Create a new HTTP transport
|
|
201
|
+
*
|
|
202
|
+
* @param config - Transport configuration
|
|
203
|
+
*/
|
|
204
|
+
constructor(config: HTTPTransportConfig);
|
|
205
|
+
/** @inheritdoc */
|
|
206
|
+
connect(): Promise<void>;
|
|
207
|
+
/** @inheritdoc */
|
|
208
|
+
disconnect(): Promise<void>;
|
|
209
|
+
/** @inheritdoc */
|
|
210
|
+
send(message: TransportMessage): Promise<TransportResponse>;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Configuration options for auto transport
|
|
214
|
+
*/
|
|
215
|
+
export interface AutoTransportConfig {
|
|
216
|
+
/** Base URL */
|
|
217
|
+
url: string;
|
|
218
|
+
/** DO instance ID */
|
|
219
|
+
id: string;
|
|
220
|
+
/** Authentication token */
|
|
221
|
+
token?: string;
|
|
222
|
+
/** Custom headers (HTTP only) */
|
|
223
|
+
headers?: Record<string, string>;
|
|
224
|
+
/** Reconnection configuration (WebSocket only) */
|
|
225
|
+
reconnect?: ReconnectConfig;
|
|
226
|
+
/** Request timeout in milliseconds */
|
|
227
|
+
timeout?: number;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Auto-selecting transport that prefers WebSocket with HTTP fallback.
|
|
231
|
+
*
|
|
232
|
+
* Attempts WebSocket connection first. If it fails or WebSocket is
|
|
233
|
+
* unavailable in the environment, falls back to HTTP transport.
|
|
234
|
+
*
|
|
235
|
+
* @example
|
|
236
|
+
* ```typescript
|
|
237
|
+
* const transport = new AutoTransport({
|
|
238
|
+
* url: 'https://my-do.workers.dev',
|
|
239
|
+
* id: 'instance-123',
|
|
240
|
+
* })
|
|
241
|
+
*
|
|
242
|
+
* await transport.connect() // Tries WebSocket, falls back to HTTP
|
|
243
|
+
* ```
|
|
244
|
+
*/
|
|
245
|
+
export declare class AutoTransport extends BaseTransport {
|
|
246
|
+
private readonly config;
|
|
247
|
+
private activeTransport;
|
|
248
|
+
private transportType;
|
|
249
|
+
/**
|
|
250
|
+
* Create a new auto transport
|
|
251
|
+
*
|
|
252
|
+
* @param config - Transport configuration
|
|
253
|
+
*/
|
|
254
|
+
constructor(config: AutoTransportConfig);
|
|
255
|
+
/** @inheritdoc */
|
|
256
|
+
get state(): ConnectionState;
|
|
257
|
+
/**
|
|
258
|
+
* Get the currently active transport type
|
|
259
|
+
*/
|
|
260
|
+
get activeTransportType(): 'websocket' | 'http' | null;
|
|
261
|
+
/** @inheritdoc */
|
|
262
|
+
connect(): Promise<void>;
|
|
263
|
+
/** @inheritdoc */
|
|
264
|
+
disconnect(): Promise<void>;
|
|
265
|
+
/** @inheritdoc */
|
|
266
|
+
send(message: TransportMessage): Promise<TransportResponse>;
|
|
267
|
+
/**
|
|
268
|
+
* Forward events from the active transport to this transport's handlers
|
|
269
|
+
*
|
|
270
|
+
* @param transport - Transport to forward events from
|
|
271
|
+
*/
|
|
272
|
+
private forwardEvents;
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Create a transport instance based on configuration
|
|
276
|
+
*
|
|
277
|
+
* @param type - Transport type to create
|
|
278
|
+
* @param config - Transport configuration
|
|
279
|
+
* @returns Transport instance
|
|
280
|
+
*/
|
|
281
|
+
export declare function createTransport(type: 'websocket' | 'http' | 'auto', config: AutoTransportConfig): Transport;
|
|
282
|
+
export {};
|
|
283
|
+
//# sourceMappingURL=transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../sdk/transport.ts"],"names":[],"mappings":"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"}
|