@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,286 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Voice AI Provider Abstraction
|
|
3
|
+
*
|
|
4
|
+
* Unified interface across voice AI platforms:
|
|
5
|
+
* - Vapi - Voice AI agents
|
|
6
|
+
* - LiveKit - Real-time infrastructure
|
|
7
|
+
* - Retell - Voice agents
|
|
8
|
+
* - Bland - Phone AI
|
|
9
|
+
* - Daily - WebRTC platform
|
|
10
|
+
*
|
|
11
|
+
* @module ai/voice/providers
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Provider factory for creating voice provider adapters
|
|
15
|
+
*/
|
|
16
|
+
export class VoiceProviderFactory {
|
|
17
|
+
static adapters = new Map();
|
|
18
|
+
static configs = new Map();
|
|
19
|
+
/**
|
|
20
|
+
* Register a provider adapter
|
|
21
|
+
*
|
|
22
|
+
* @param adapter - Provider adapter instance
|
|
23
|
+
*/
|
|
24
|
+
static register(adapter) {
|
|
25
|
+
this.adapters.set(adapter.provider, adapter);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Configure a provider with API credentials
|
|
29
|
+
*
|
|
30
|
+
* @param config - Provider configuration
|
|
31
|
+
*/
|
|
32
|
+
static configure(config) {
|
|
33
|
+
this.configs.set(config.provider, config);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Get a provider adapter by name
|
|
37
|
+
*
|
|
38
|
+
* @param provider - Provider name
|
|
39
|
+
* @returns Provider adapter
|
|
40
|
+
* @throws Error if provider not registered or configured
|
|
41
|
+
*/
|
|
42
|
+
static get(provider) {
|
|
43
|
+
const adapter = this.adapters.get(provider);
|
|
44
|
+
if (!adapter) {
|
|
45
|
+
throw new Error(`Voice provider not registered: ${provider}`);
|
|
46
|
+
}
|
|
47
|
+
return adapter;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Auto-select a provider based on use case
|
|
51
|
+
*
|
|
52
|
+
* @param useCase - Use case hint
|
|
53
|
+
* @returns Best provider for the use case
|
|
54
|
+
*/
|
|
55
|
+
static for(useCase) {
|
|
56
|
+
const providerMap = {
|
|
57
|
+
'outbound-campaign': 'bland',
|
|
58
|
+
'inbound-support': 'vapi',
|
|
59
|
+
'web-call': 'livekit',
|
|
60
|
+
'voice-agent': 'retell',
|
|
61
|
+
'real-time': 'livekit',
|
|
62
|
+
};
|
|
63
|
+
const provider = providerMap[useCase];
|
|
64
|
+
return this.get(provider);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Create a new provider adapter with configuration
|
|
68
|
+
*
|
|
69
|
+
* @param provider - Provider name
|
|
70
|
+
* @param config - Provider configuration
|
|
71
|
+
* @returns Configured provider adapter
|
|
72
|
+
*/
|
|
73
|
+
static create(provider, config) {
|
|
74
|
+
// TODO: Implement provider-specific adapter creation
|
|
75
|
+
throw new Error(`Not implemented: create adapter for ${provider}`);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Check if a provider is available (registered and configured)
|
|
79
|
+
*
|
|
80
|
+
* @param provider - Provider name
|
|
81
|
+
* @returns True if provider is available
|
|
82
|
+
*/
|
|
83
|
+
static isAvailable(provider) {
|
|
84
|
+
return this.adapters.has(provider) && this.configs.has(provider);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* List all available providers
|
|
88
|
+
*
|
|
89
|
+
* @returns Array of available provider names
|
|
90
|
+
*/
|
|
91
|
+
static listAvailable() {
|
|
92
|
+
return Array.from(this.adapters.keys()).filter((p) => this.configs.has(p));
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
// =============================================================================
|
|
96
|
+
// Provider Implementations (Stubs)
|
|
97
|
+
// =============================================================================
|
|
98
|
+
/**
|
|
99
|
+
* Vapi provider adapter
|
|
100
|
+
*
|
|
101
|
+
* @see https://docs.vapi.ai
|
|
102
|
+
*/
|
|
103
|
+
export class VapiAdapter {
|
|
104
|
+
config;
|
|
105
|
+
provider = 'vapi';
|
|
106
|
+
constructor(config) {
|
|
107
|
+
this.config = config;
|
|
108
|
+
if (config.provider !== 'vapi') {
|
|
109
|
+
throw new Error('Invalid provider config for VapiAdapter');
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
async createAgent(config) {
|
|
113
|
+
// TODO: Implement Vapi agent creation
|
|
114
|
+
throw new Error('Not implemented: VapiAdapter.createAgent');
|
|
115
|
+
}
|
|
116
|
+
async updateAgent(providerAgentId, config) {
|
|
117
|
+
// TODO: Implement Vapi agent update
|
|
118
|
+
throw new Error('Not implemented: VapiAdapter.updateAgent');
|
|
119
|
+
}
|
|
120
|
+
async deleteAgent(providerAgentId) {
|
|
121
|
+
// TODO: Implement Vapi agent deletion
|
|
122
|
+
throw new Error('Not implemented: VapiAdapter.deleteAgent');
|
|
123
|
+
}
|
|
124
|
+
async startCall(providerAgentId, phone, context) {
|
|
125
|
+
// TODO: Implement Vapi call start
|
|
126
|
+
throw new Error('Not implemented: VapiAdapter.startCall');
|
|
127
|
+
}
|
|
128
|
+
async endCall(providerCallId) {
|
|
129
|
+
// TODO: Implement Vapi call end
|
|
130
|
+
throw new Error('Not implemented: VapiAdapter.endCall');
|
|
131
|
+
}
|
|
132
|
+
async getCall(providerCallId) {
|
|
133
|
+
// TODO: Implement Vapi call status
|
|
134
|
+
throw new Error('Not implemented: VapiAdapter.getCall');
|
|
135
|
+
}
|
|
136
|
+
async createRoom(providerAgentId, identity) {
|
|
137
|
+
// TODO: Implement Vapi WebRTC (if supported)
|
|
138
|
+
throw new Error('Not implemented: VapiAdapter.createRoom');
|
|
139
|
+
}
|
|
140
|
+
async handleWebhook(payload, headers) {
|
|
141
|
+
// TODO: Implement Vapi webhook handling
|
|
142
|
+
throw new Error('Not implemented: VapiAdapter.handleWebhook');
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* LiveKit provider adapter
|
|
147
|
+
*
|
|
148
|
+
* @see https://docs.livekit.io
|
|
149
|
+
*/
|
|
150
|
+
export class LiveKitAdapter {
|
|
151
|
+
config;
|
|
152
|
+
provider = 'livekit';
|
|
153
|
+
constructor(config) {
|
|
154
|
+
this.config = config;
|
|
155
|
+
if (config.provider !== 'livekit') {
|
|
156
|
+
throw new Error('Invalid provider config for LiveKitAdapter');
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
async createAgent(config) {
|
|
160
|
+
// TODO: Implement LiveKit agent creation
|
|
161
|
+
throw new Error('Not implemented: LiveKitAdapter.createAgent');
|
|
162
|
+
}
|
|
163
|
+
async updateAgent(providerAgentId, config) {
|
|
164
|
+
// TODO: Implement LiveKit agent update
|
|
165
|
+
throw new Error('Not implemented: LiveKitAdapter.updateAgent');
|
|
166
|
+
}
|
|
167
|
+
async deleteAgent(providerAgentId) {
|
|
168
|
+
// TODO: Implement LiveKit agent deletion
|
|
169
|
+
throw new Error('Not implemented: LiveKitAdapter.deleteAgent');
|
|
170
|
+
}
|
|
171
|
+
async startCall(providerAgentId, phone, context) {
|
|
172
|
+
// TODO: Implement LiveKit call start (via SIP trunk)
|
|
173
|
+
throw new Error('Not implemented: LiveKitAdapter.startCall');
|
|
174
|
+
}
|
|
175
|
+
async endCall(providerCallId) {
|
|
176
|
+
// TODO: Implement LiveKit call end
|
|
177
|
+
throw new Error('Not implemented: LiveKitAdapter.endCall');
|
|
178
|
+
}
|
|
179
|
+
async getCall(providerCallId) {
|
|
180
|
+
// TODO: Implement LiveKit call status
|
|
181
|
+
throw new Error('Not implemented: LiveKitAdapter.getCall');
|
|
182
|
+
}
|
|
183
|
+
async createRoom(providerAgentId, identity) {
|
|
184
|
+
// TODO: Implement LiveKit room creation with access token
|
|
185
|
+
throw new Error('Not implemented: LiveKitAdapter.createRoom');
|
|
186
|
+
}
|
|
187
|
+
async handleWebhook(payload, headers) {
|
|
188
|
+
// TODO: Implement LiveKit webhook handling
|
|
189
|
+
throw new Error('Not implemented: LiveKitAdapter.handleWebhook');
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Retell AI provider adapter
|
|
194
|
+
*
|
|
195
|
+
* @see https://docs.retellai.com
|
|
196
|
+
*/
|
|
197
|
+
export class RetellAdapter {
|
|
198
|
+
config;
|
|
199
|
+
provider = 'retell';
|
|
200
|
+
constructor(config) {
|
|
201
|
+
this.config = config;
|
|
202
|
+
if (config.provider !== 'retell') {
|
|
203
|
+
throw new Error('Invalid provider config for RetellAdapter');
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
async createAgent(config) {
|
|
207
|
+
// TODO: Implement Retell agent creation
|
|
208
|
+
throw new Error('Not implemented: RetellAdapter.createAgent');
|
|
209
|
+
}
|
|
210
|
+
async updateAgent(providerAgentId, config) {
|
|
211
|
+
// TODO: Implement Retell agent update
|
|
212
|
+
throw new Error('Not implemented: RetellAdapter.updateAgent');
|
|
213
|
+
}
|
|
214
|
+
async deleteAgent(providerAgentId) {
|
|
215
|
+
// TODO: Implement Retell agent deletion
|
|
216
|
+
throw new Error('Not implemented: RetellAdapter.deleteAgent');
|
|
217
|
+
}
|
|
218
|
+
async startCall(providerAgentId, phone, context) {
|
|
219
|
+
// TODO: Implement Retell call start
|
|
220
|
+
throw new Error('Not implemented: RetellAdapter.startCall');
|
|
221
|
+
}
|
|
222
|
+
async endCall(providerCallId) {
|
|
223
|
+
// TODO: Implement Retell call end
|
|
224
|
+
throw new Error('Not implemented: RetellAdapter.endCall');
|
|
225
|
+
}
|
|
226
|
+
async getCall(providerCallId) {
|
|
227
|
+
// TODO: Implement Retell call status
|
|
228
|
+
throw new Error('Not implemented: RetellAdapter.getCall');
|
|
229
|
+
}
|
|
230
|
+
async createRoom(providerAgentId, identity) {
|
|
231
|
+
// TODO: Implement Retell WebRTC
|
|
232
|
+
throw new Error('Not implemented: RetellAdapter.createRoom');
|
|
233
|
+
}
|
|
234
|
+
async handleWebhook(payload, headers) {
|
|
235
|
+
// TODO: Implement Retell webhook handling
|
|
236
|
+
throw new Error('Not implemented: RetellAdapter.handleWebhook');
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Bland AI provider adapter
|
|
241
|
+
*
|
|
242
|
+
* @see https://docs.bland.ai
|
|
243
|
+
*/
|
|
244
|
+
export class BlandAdapter {
|
|
245
|
+
config;
|
|
246
|
+
provider = 'bland';
|
|
247
|
+
constructor(config) {
|
|
248
|
+
this.config = config;
|
|
249
|
+
if (config.provider !== 'bland') {
|
|
250
|
+
throw new Error('Invalid provider config for BlandAdapter');
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
async createAgent(config) {
|
|
254
|
+
// TODO: Implement Bland agent creation
|
|
255
|
+
throw new Error('Not implemented: BlandAdapter.createAgent');
|
|
256
|
+
}
|
|
257
|
+
async updateAgent(providerAgentId, config) {
|
|
258
|
+
// TODO: Implement Bland agent update
|
|
259
|
+
throw new Error('Not implemented: BlandAdapter.updateAgent');
|
|
260
|
+
}
|
|
261
|
+
async deleteAgent(providerAgentId) {
|
|
262
|
+
// TODO: Implement Bland agent deletion
|
|
263
|
+
throw new Error('Not implemented: BlandAdapter.deleteAgent');
|
|
264
|
+
}
|
|
265
|
+
async startCall(providerAgentId, phone, context) {
|
|
266
|
+
// TODO: Implement Bland call start
|
|
267
|
+
throw new Error('Not implemented: BlandAdapter.startCall');
|
|
268
|
+
}
|
|
269
|
+
async endCall(providerCallId) {
|
|
270
|
+
// TODO: Implement Bland call end
|
|
271
|
+
throw new Error('Not implemented: BlandAdapter.endCall');
|
|
272
|
+
}
|
|
273
|
+
async getCall(providerCallId) {
|
|
274
|
+
// TODO: Implement Bland call status
|
|
275
|
+
throw new Error('Not implemented: BlandAdapter.getCall');
|
|
276
|
+
}
|
|
277
|
+
async handleWebhook(payload, headers) {
|
|
278
|
+
// TODO: Implement Bland webhook handling
|
|
279
|
+
throw new Error('Not implemented: BlandAdapter.handleWebhook');
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
// =============================================================================
|
|
283
|
+
// Exports
|
|
284
|
+
// =============================================================================
|
|
285
|
+
export { VoiceProviderFactory as VoiceProvider };
|
|
286
|
+
//# sourceMappingURL=providers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../../ai/voice/providers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Voice Session Management
|
|
3
|
+
*
|
|
4
|
+
* Manages the lifecycle of voice calls including outbound calls,
|
|
5
|
+
* inbound calls, and WebRTC sessions.
|
|
6
|
+
*
|
|
7
|
+
* @module ai/voice/sessions
|
|
8
|
+
*/
|
|
9
|
+
import type { VoiceSession, VoiceSessionStatus, TranscriptEntry, ToolCallRecord, CallOutcome, CallCost, SentimentAnalysis } from '../../types/voice-ai';
|
|
10
|
+
import { VoiceAgentManager } from './agents';
|
|
11
|
+
/**
|
|
12
|
+
* Options for starting an outbound call
|
|
13
|
+
*/
|
|
14
|
+
export interface StartOutboundCallOptions {
|
|
15
|
+
/** Voice agent ID */
|
|
16
|
+
agentId: string;
|
|
17
|
+
/** Phone number to call */
|
|
18
|
+
phone: string;
|
|
19
|
+
/** Context to pass to the agent */
|
|
20
|
+
context?: Record<string, unknown>;
|
|
21
|
+
/** Metadata to attach to session */
|
|
22
|
+
metadata?: Record<string, unknown>;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Options for listing sessions
|
|
26
|
+
*/
|
|
27
|
+
export interface ListSessionsOptions {
|
|
28
|
+
/** Filter by agent ID */
|
|
29
|
+
agentId?: string;
|
|
30
|
+
/** Filter by status */
|
|
31
|
+
status?: VoiceSessionStatus;
|
|
32
|
+
/** Filter by type */
|
|
33
|
+
type?: 'inbound' | 'outbound' | 'web';
|
|
34
|
+
/** Start time range (unix ms) */
|
|
35
|
+
startTimeFrom?: number;
|
|
36
|
+
/** Start time range (unix ms) */
|
|
37
|
+
startTimeTo?: number;
|
|
38
|
+
/** Limit results */
|
|
39
|
+
limit?: number;
|
|
40
|
+
/** Offset for pagination */
|
|
41
|
+
offset?: number;
|
|
42
|
+
/** Order by field */
|
|
43
|
+
orderBy?: 'startTime' | 'duration' | 'cost';
|
|
44
|
+
/** Order direction */
|
|
45
|
+
orderDir?: 'asc' | 'desc';
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Result of listing sessions
|
|
49
|
+
*/
|
|
50
|
+
export interface ListSessionsResult {
|
|
51
|
+
/** Sessions */
|
|
52
|
+
items: VoiceSession[];
|
|
53
|
+
/** Total count */
|
|
54
|
+
total: number;
|
|
55
|
+
/** Has more results */
|
|
56
|
+
hasMore: boolean;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Session event types
|
|
60
|
+
*/
|
|
61
|
+
export type SessionEventType = 'started' | 'ringing' | 'answered' | 'transcript' | 'toolCall' | 'toolResult' | 'transferring' | 'ended' | 'error';
|
|
62
|
+
/**
|
|
63
|
+
* Session event handler
|
|
64
|
+
*/
|
|
65
|
+
export type SessionEventHandler<T = unknown> = (data: T) => void | Promise<void>;
|
|
66
|
+
/**
|
|
67
|
+
* Session update from provider webhook
|
|
68
|
+
*/
|
|
69
|
+
export interface SessionUpdate {
|
|
70
|
+
/** Update type */
|
|
71
|
+
type: SessionEventType;
|
|
72
|
+
/** Session ID */
|
|
73
|
+
sessionId: string;
|
|
74
|
+
/** Update data */
|
|
75
|
+
data: Record<string, unknown>;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Voice session manager
|
|
79
|
+
*
|
|
80
|
+
* Manages voice call sessions including lifecycle, transcripts,
|
|
81
|
+
* tool calls, and recordings.
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* ```typescript
|
|
85
|
+
* const manager = new VoiceSessionManager(storage, agentManager)
|
|
86
|
+
*
|
|
87
|
+
* // Start an outbound call
|
|
88
|
+
* const session = await manager.startOutbound({
|
|
89
|
+
* agentId: 'vagent_123',
|
|
90
|
+
* phone: '+1-555-0123',
|
|
91
|
+
* context: { customerName: 'John' },
|
|
92
|
+
* })
|
|
93
|
+
*
|
|
94
|
+
* // Get session status
|
|
95
|
+
* const status = await manager.get(session.id)
|
|
96
|
+
*
|
|
97
|
+
* // List recent sessions
|
|
98
|
+
* const sessions = await manager.list({ agentId: 'vagent_123', limit: 10 })
|
|
99
|
+
* ```
|
|
100
|
+
*/
|
|
101
|
+
export declare class VoiceSessionManager {
|
|
102
|
+
private storage;
|
|
103
|
+
private agentManager;
|
|
104
|
+
private eventHandlers;
|
|
105
|
+
/**
|
|
106
|
+
* Create a new session manager
|
|
107
|
+
*
|
|
108
|
+
* @param storage - DO storage interface
|
|
109
|
+
* @param agentManager - Voice agent manager
|
|
110
|
+
*/
|
|
111
|
+
constructor(storage: DurableObjectStorage, agentManager: VoiceAgentManager);
|
|
112
|
+
/**
|
|
113
|
+
* Start an outbound call
|
|
114
|
+
*
|
|
115
|
+
* @param options - Call options
|
|
116
|
+
* @returns Created session
|
|
117
|
+
*/
|
|
118
|
+
startOutbound(options: StartOutboundCallOptions): Promise<VoiceSession>;
|
|
119
|
+
/**
|
|
120
|
+
* Create a session for an inbound call (called from webhook)
|
|
121
|
+
*
|
|
122
|
+
* @param agentId - Voice agent ID
|
|
123
|
+
* @param providerCallId - Provider's call ID
|
|
124
|
+
* @param customerPhone - Customer's phone number
|
|
125
|
+
* @returns Created session
|
|
126
|
+
*/
|
|
127
|
+
createInbound(agentId: string, providerCallId: string, customerPhone: string): Promise<VoiceSession>;
|
|
128
|
+
/**
|
|
129
|
+
* Get a session by ID
|
|
130
|
+
*
|
|
131
|
+
* @param id - Session ID
|
|
132
|
+
* @returns Session or null if not found
|
|
133
|
+
*/
|
|
134
|
+
get(id: string): Promise<VoiceSession | null>;
|
|
135
|
+
/**
|
|
136
|
+
* Get a session by provider session ID
|
|
137
|
+
*
|
|
138
|
+
* @param providerSessionId - Provider's session ID
|
|
139
|
+
* @returns Session or null if not found
|
|
140
|
+
*/
|
|
141
|
+
getByProviderSessionId(providerSessionId: string): Promise<VoiceSession | null>;
|
|
142
|
+
/**
|
|
143
|
+
* Update session status
|
|
144
|
+
*
|
|
145
|
+
* @param id - Session ID
|
|
146
|
+
* @param status - New status
|
|
147
|
+
* @param outcome - Call outcome (if completed/failed)
|
|
148
|
+
*/
|
|
149
|
+
updateStatus(id: string, status: VoiceSessionStatus, outcome?: CallOutcome): Promise<VoiceSession>;
|
|
150
|
+
/**
|
|
151
|
+
* Append a transcript entry
|
|
152
|
+
*
|
|
153
|
+
* @param id - Session ID
|
|
154
|
+
* @param entry - Transcript entry
|
|
155
|
+
*/
|
|
156
|
+
appendTranscript(id: string, entry: TranscriptEntry): Promise<void>;
|
|
157
|
+
/**
|
|
158
|
+
* Record a tool call
|
|
159
|
+
*
|
|
160
|
+
* @param id - Session ID
|
|
161
|
+
* @param toolCall - Tool call record
|
|
162
|
+
*/
|
|
163
|
+
recordToolCall(id: string, toolCall: ToolCallRecord): Promise<void>;
|
|
164
|
+
/**
|
|
165
|
+
* Set recording URL
|
|
166
|
+
*
|
|
167
|
+
* @param id - Session ID
|
|
168
|
+
* @param recordingUrl - URL of the recording
|
|
169
|
+
*/
|
|
170
|
+
setRecordingUrl(id: string, recordingUrl: string): Promise<void>;
|
|
171
|
+
/**
|
|
172
|
+
* Set call summary
|
|
173
|
+
*
|
|
174
|
+
* @param id - Session ID
|
|
175
|
+
* @param summary - AI-generated summary
|
|
176
|
+
*/
|
|
177
|
+
setSummary(id: string, summary: string): Promise<void>;
|
|
178
|
+
/**
|
|
179
|
+
* Set sentiment analysis
|
|
180
|
+
*
|
|
181
|
+
* @param id - Session ID
|
|
182
|
+
* @param sentiment - Sentiment analysis
|
|
183
|
+
*/
|
|
184
|
+
setSentiment(id: string, sentiment: SentimentAnalysis): Promise<void>;
|
|
185
|
+
/**
|
|
186
|
+
* Set call cost
|
|
187
|
+
*
|
|
188
|
+
* @param id - Session ID
|
|
189
|
+
* @param cost - Cost breakdown
|
|
190
|
+
*/
|
|
191
|
+
setCost(id: string, cost: CallCost): Promise<void>;
|
|
192
|
+
/**
|
|
193
|
+
* End a session
|
|
194
|
+
*
|
|
195
|
+
* @param id - Session ID
|
|
196
|
+
* @returns True if ended, false if already ended or not found
|
|
197
|
+
*/
|
|
198
|
+
end(id: string): Promise<boolean>;
|
|
199
|
+
/**
|
|
200
|
+
* List sessions
|
|
201
|
+
*
|
|
202
|
+
* @param options - Filter and pagination options
|
|
203
|
+
* @returns List of sessions
|
|
204
|
+
*/
|
|
205
|
+
list(options?: ListSessionsOptions): Promise<ListSessionsResult>;
|
|
206
|
+
/**
|
|
207
|
+
* Get full transcript for a session
|
|
208
|
+
*
|
|
209
|
+
* @param id - Session ID
|
|
210
|
+
* @returns Transcript entries or null if session not found
|
|
211
|
+
*/
|
|
212
|
+
getTranscript(id: string): Promise<TranscriptEntry[] | null>;
|
|
213
|
+
/**
|
|
214
|
+
* Get recording URL for a session
|
|
215
|
+
*
|
|
216
|
+
* @param id - Session ID
|
|
217
|
+
* @returns Recording URL or null if not available
|
|
218
|
+
*/
|
|
219
|
+
getRecording(id: string): Promise<string | null>;
|
|
220
|
+
/**
|
|
221
|
+
* Subscribe to session events
|
|
222
|
+
*
|
|
223
|
+
* @param sessionId - Session ID
|
|
224
|
+
* @param event - Event type
|
|
225
|
+
* @param handler - Event handler
|
|
226
|
+
* @returns Unsubscribe function
|
|
227
|
+
*/
|
|
228
|
+
on(sessionId: string, event: SessionEventType, handler: SessionEventHandler): () => void;
|
|
229
|
+
/**
|
|
230
|
+
* Map session status to event type
|
|
231
|
+
*
|
|
232
|
+
* @param status - Session status
|
|
233
|
+
* @returns Corresponding event type
|
|
234
|
+
*/
|
|
235
|
+
private statusToEventType;
|
|
236
|
+
/**
|
|
237
|
+
* Emit a session event
|
|
238
|
+
*
|
|
239
|
+
* @param sessionId - Session ID
|
|
240
|
+
* @param event - Event type
|
|
241
|
+
* @param data - Event data
|
|
242
|
+
*/
|
|
243
|
+
private emit;
|
|
244
|
+
/**
|
|
245
|
+
* Get session statistics
|
|
246
|
+
*
|
|
247
|
+
* @param agentId - Optional agent ID to filter
|
|
248
|
+
* @param startTime - Start of time range
|
|
249
|
+
* @param endTime - End of time range
|
|
250
|
+
* @returns Session statistics
|
|
251
|
+
*/
|
|
252
|
+
getStats(agentId?: string, startTime?: number, endTime?: number): Promise<{
|
|
253
|
+
totalCalls: number;
|
|
254
|
+
completedCalls: number;
|
|
255
|
+
failedCalls: number;
|
|
256
|
+
avgDuration: number;
|
|
257
|
+
totalDuration: number;
|
|
258
|
+
totalCost: number;
|
|
259
|
+
}>;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Voice sessions singleton access
|
|
263
|
+
*/
|
|
264
|
+
export declare const VoiceSessions: {
|
|
265
|
+
/**
|
|
266
|
+
* Initialize with storage and agent manager
|
|
267
|
+
*/
|
|
268
|
+
init(storage: DurableObjectStorage, agentManager: VoiceAgentManager): void;
|
|
269
|
+
/**
|
|
270
|
+
* Start an outbound call
|
|
271
|
+
*/
|
|
272
|
+
startOutbound(options: StartOutboundCallOptions): Promise<VoiceSession>;
|
|
273
|
+
/**
|
|
274
|
+
* Get a session
|
|
275
|
+
*/
|
|
276
|
+
get(id: string): Promise<VoiceSession | null>;
|
|
277
|
+
/**
|
|
278
|
+
* List sessions
|
|
279
|
+
*/
|
|
280
|
+
list(options?: ListSessionsOptions): Promise<ListSessionsResult>;
|
|
281
|
+
/**
|
|
282
|
+
* End a session
|
|
283
|
+
*/
|
|
284
|
+
end(id: string): Promise<boolean>;
|
|
285
|
+
/**
|
|
286
|
+
* Get transcript
|
|
287
|
+
*/
|
|
288
|
+
getTranscript(id: string): Promise<TranscriptEntry[] | null>;
|
|
289
|
+
/**
|
|
290
|
+
* Get recording
|
|
291
|
+
*/
|
|
292
|
+
getRecording(id: string): Promise<string | null>;
|
|
293
|
+
};
|
|
294
|
+
//# sourceMappingURL=sessions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../../ai/voice/sessions.ts"],"names":[],"mappings":"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"}
|