@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,531 @@
|
|
|
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 { VoiceProviderFactory } from './providers';
|
|
10
|
+
// =============================================================================
|
|
11
|
+
// Voice Session Manager
|
|
12
|
+
// =============================================================================
|
|
13
|
+
/**
|
|
14
|
+
* Voice session manager
|
|
15
|
+
*
|
|
16
|
+
* Manages voice call sessions including lifecycle, transcripts,
|
|
17
|
+
* tool calls, and recordings.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* const manager = new VoiceSessionManager(storage, agentManager)
|
|
22
|
+
*
|
|
23
|
+
* // Start an outbound call
|
|
24
|
+
* const session = await manager.startOutbound({
|
|
25
|
+
* agentId: 'vagent_123',
|
|
26
|
+
* phone: '+1-555-0123',
|
|
27
|
+
* context: { customerName: 'John' },
|
|
28
|
+
* })
|
|
29
|
+
*
|
|
30
|
+
* // Get session status
|
|
31
|
+
* const status = await manager.get(session.id)
|
|
32
|
+
*
|
|
33
|
+
* // List recent sessions
|
|
34
|
+
* const sessions = await manager.list({ agentId: 'vagent_123', limit: 10 })
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export class VoiceSessionManager {
|
|
38
|
+
storage;
|
|
39
|
+
agentManager;
|
|
40
|
+
eventHandlers = new Map();
|
|
41
|
+
/**
|
|
42
|
+
* Create a new session manager
|
|
43
|
+
*
|
|
44
|
+
* @param storage - DO storage interface
|
|
45
|
+
* @param agentManager - Voice agent manager
|
|
46
|
+
*/
|
|
47
|
+
constructor(storage, agentManager) {
|
|
48
|
+
this.storage = storage;
|
|
49
|
+
this.agentManager = agentManager;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Start an outbound call
|
|
53
|
+
*
|
|
54
|
+
* @param options - Call options
|
|
55
|
+
* @returns Created session
|
|
56
|
+
*/
|
|
57
|
+
async startOutbound(options) {
|
|
58
|
+
const { agentId, phone, context, metadata } = options;
|
|
59
|
+
// Get agent
|
|
60
|
+
const agent = await this.agentManager.get(agentId);
|
|
61
|
+
if (!agent) {
|
|
62
|
+
throw new Error(`Voice agent not found: ${agentId}`);
|
|
63
|
+
}
|
|
64
|
+
// Validate phone number
|
|
65
|
+
if (!isValidPhoneNumber(phone)) {
|
|
66
|
+
throw new Error(`Invalid phone number: ${phone}`);
|
|
67
|
+
}
|
|
68
|
+
// Start call via provider
|
|
69
|
+
const adapter = VoiceProviderFactory.get(agent.provider);
|
|
70
|
+
const agentData = await this.storage.get(`voice_agent:${agentId}`);
|
|
71
|
+
if (!agentData?.providerAgentId) {
|
|
72
|
+
throw new Error(`Provider agent ID not found for: ${agentId}`);
|
|
73
|
+
}
|
|
74
|
+
const providerCallId = await adapter.startCall(agentData.providerAgentId, phone, context);
|
|
75
|
+
// Create session record
|
|
76
|
+
const sessionId = `vsess_${generateId()}`;
|
|
77
|
+
const now = Date.now();
|
|
78
|
+
const session = {
|
|
79
|
+
id: sessionId,
|
|
80
|
+
agentId,
|
|
81
|
+
providerSessionId: providerCallId,
|
|
82
|
+
type: 'Outbound',
|
|
83
|
+
customerPhone: phone,
|
|
84
|
+
status: 'Initializing',
|
|
85
|
+
startTime: now,
|
|
86
|
+
transcript: [],
|
|
87
|
+
toolCalls: [],
|
|
88
|
+
metadata,
|
|
89
|
+
};
|
|
90
|
+
await this.storage.put(`voice_session:${sessionId}`, session);
|
|
91
|
+
// Index by provider session ID
|
|
92
|
+
await this.storage.put(`voice_session_provider:${providerCallId}`, sessionId);
|
|
93
|
+
return session;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Create a session for an inbound call (called from webhook)
|
|
97
|
+
*
|
|
98
|
+
* @param agentId - Voice agent ID
|
|
99
|
+
* @param providerCallId - Provider's call ID
|
|
100
|
+
* @param customerPhone - Customer's phone number
|
|
101
|
+
* @returns Created session
|
|
102
|
+
*/
|
|
103
|
+
async createInbound(agentId, providerCallId, customerPhone) {
|
|
104
|
+
const sessionId = `vsess_${generateId()}`;
|
|
105
|
+
const now = Date.now();
|
|
106
|
+
const session = {
|
|
107
|
+
id: sessionId,
|
|
108
|
+
agentId,
|
|
109
|
+
providerSessionId: providerCallId,
|
|
110
|
+
type: 'Inbound',
|
|
111
|
+
customerPhone,
|
|
112
|
+
status: 'Ringing',
|
|
113
|
+
startTime: now,
|
|
114
|
+
transcript: [],
|
|
115
|
+
toolCalls: [],
|
|
116
|
+
};
|
|
117
|
+
await this.storage.put(`voice_session:${sessionId}`, session);
|
|
118
|
+
await this.storage.put(`voice_session_provider:${providerCallId}`, sessionId);
|
|
119
|
+
return session;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Get a session by ID
|
|
123
|
+
*
|
|
124
|
+
* @param id - Session ID
|
|
125
|
+
* @returns Session or null if not found
|
|
126
|
+
*/
|
|
127
|
+
async get(id) {
|
|
128
|
+
const session = await this.storage.get(`voice_session:${id}`);
|
|
129
|
+
return session ?? null;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Get a session by provider session ID
|
|
133
|
+
*
|
|
134
|
+
* @param providerSessionId - Provider's session ID
|
|
135
|
+
* @returns Session or null if not found
|
|
136
|
+
*/
|
|
137
|
+
async getByProviderSessionId(providerSessionId) {
|
|
138
|
+
const id = await this.storage.get(`voice_session_provider:${providerSessionId}`);
|
|
139
|
+
if (!id)
|
|
140
|
+
return null;
|
|
141
|
+
return this.get(id);
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Update session status
|
|
145
|
+
*
|
|
146
|
+
* @param id - Session ID
|
|
147
|
+
* @param status - New status
|
|
148
|
+
* @param outcome - Call outcome (if completed/failed)
|
|
149
|
+
*/
|
|
150
|
+
async updateStatus(id, status, outcome) {
|
|
151
|
+
const session = await this.get(id);
|
|
152
|
+
if (!session) {
|
|
153
|
+
throw new Error(`Session not found: ${id}`);
|
|
154
|
+
}
|
|
155
|
+
const updates = { status };
|
|
156
|
+
if (status === 'Completed' || status === 'Failed') {
|
|
157
|
+
updates.endTime = Date.now();
|
|
158
|
+
updates.duration = Math.floor((updates.endTime - session.startTime) / 1000);
|
|
159
|
+
if (outcome) {
|
|
160
|
+
updates.outcome = outcome;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
const updated = { ...session, ...updates };
|
|
164
|
+
await this.storage.put(`voice_session:${id}`, updated);
|
|
165
|
+
// Emit event - map session status to valid event type
|
|
166
|
+
const eventType = this.statusToEventType(status);
|
|
167
|
+
await this.emit(id, eventType, {
|
|
168
|
+
status,
|
|
169
|
+
outcome,
|
|
170
|
+
});
|
|
171
|
+
return updated;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Append a transcript entry
|
|
175
|
+
*
|
|
176
|
+
* @param id - Session ID
|
|
177
|
+
* @param entry - Transcript entry
|
|
178
|
+
*/
|
|
179
|
+
async appendTranscript(id, entry) {
|
|
180
|
+
const session = await this.get(id);
|
|
181
|
+
if (!session) {
|
|
182
|
+
throw new Error(`Session not found: ${id}`);
|
|
183
|
+
}
|
|
184
|
+
const transcript = [...(session.transcript || []), entry];
|
|
185
|
+
await this.storage.put(`voice_session:${id}`, { ...session, transcript });
|
|
186
|
+
// Emit event
|
|
187
|
+
await this.emit(id, 'transcript', entry);
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Record a tool call
|
|
191
|
+
*
|
|
192
|
+
* @param id - Session ID
|
|
193
|
+
* @param toolCall - Tool call record
|
|
194
|
+
*/
|
|
195
|
+
async recordToolCall(id, toolCall) {
|
|
196
|
+
const session = await this.get(id);
|
|
197
|
+
if (!session) {
|
|
198
|
+
throw new Error(`Session not found: ${id}`);
|
|
199
|
+
}
|
|
200
|
+
const toolCalls = [...(session.toolCalls || []), toolCall];
|
|
201
|
+
await this.storage.put(`voice_session:${id}`, { ...session, toolCalls });
|
|
202
|
+
// Emit event
|
|
203
|
+
await this.emit(id, toolCall.endTime ? 'toolResult' : 'toolCall', toolCall);
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Set recording URL
|
|
207
|
+
*
|
|
208
|
+
* @param id - Session ID
|
|
209
|
+
* @param recordingUrl - URL of the recording
|
|
210
|
+
*/
|
|
211
|
+
async setRecordingUrl(id, recordingUrl) {
|
|
212
|
+
const session = await this.get(id);
|
|
213
|
+
if (!session) {
|
|
214
|
+
throw new Error(`Session not found: ${id}`);
|
|
215
|
+
}
|
|
216
|
+
await this.storage.put(`voice_session:${id}`, { ...session, recordingUrl });
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Set call summary
|
|
220
|
+
*
|
|
221
|
+
* @param id - Session ID
|
|
222
|
+
* @param summary - AI-generated summary
|
|
223
|
+
*/
|
|
224
|
+
async setSummary(id, summary) {
|
|
225
|
+
const session = await this.get(id);
|
|
226
|
+
if (!session) {
|
|
227
|
+
throw new Error(`Session not found: ${id}`);
|
|
228
|
+
}
|
|
229
|
+
await this.storage.put(`voice_session:${id}`, { ...session, summary });
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Set sentiment analysis
|
|
233
|
+
*
|
|
234
|
+
* @param id - Session ID
|
|
235
|
+
* @param sentiment - Sentiment analysis
|
|
236
|
+
*/
|
|
237
|
+
async setSentiment(id, sentiment) {
|
|
238
|
+
const session = await this.get(id);
|
|
239
|
+
if (!session) {
|
|
240
|
+
throw new Error(`Session not found: ${id}`);
|
|
241
|
+
}
|
|
242
|
+
await this.storage.put(`voice_session:${id}`, { ...session, sentiment });
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Set call cost
|
|
246
|
+
*
|
|
247
|
+
* @param id - Session ID
|
|
248
|
+
* @param cost - Cost breakdown
|
|
249
|
+
*/
|
|
250
|
+
async setCost(id, cost) {
|
|
251
|
+
const session = await this.get(id);
|
|
252
|
+
if (!session) {
|
|
253
|
+
throw new Error(`Session not found: ${id}`);
|
|
254
|
+
}
|
|
255
|
+
await this.storage.put(`voice_session:${id}`, { ...session, cost });
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* End a session
|
|
259
|
+
*
|
|
260
|
+
* @param id - Session ID
|
|
261
|
+
* @returns True if ended, false if already ended or not found
|
|
262
|
+
*/
|
|
263
|
+
async end(id) {
|
|
264
|
+
const session = await this.get(id);
|
|
265
|
+
if (!session) {
|
|
266
|
+
return false;
|
|
267
|
+
}
|
|
268
|
+
if (session.status === 'Completed' || session.status === 'Failed') {
|
|
269
|
+
return false;
|
|
270
|
+
}
|
|
271
|
+
// End call via provider
|
|
272
|
+
const agent = await this.agentManager.get(session.agentId);
|
|
273
|
+
if (agent) {
|
|
274
|
+
const adapter = VoiceProviderFactory.get(agent.provider);
|
|
275
|
+
await adapter.endCall(session.providerSessionId);
|
|
276
|
+
}
|
|
277
|
+
await this.updateStatus(id, 'Completed', {
|
|
278
|
+
type: 'Completed',
|
|
279
|
+
reason: 'ended_by_system',
|
|
280
|
+
});
|
|
281
|
+
return true;
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* List sessions
|
|
285
|
+
*
|
|
286
|
+
* @param options - Filter and pagination options
|
|
287
|
+
* @returns List of sessions
|
|
288
|
+
*/
|
|
289
|
+
async list(options = {}) {
|
|
290
|
+
const { agentId, status, type, startTimeFrom, startTimeTo, limit = 50, offset = 0, orderBy = 'startTime', orderDir = 'desc', } = options;
|
|
291
|
+
// Get all sessions (in production, use SQL with proper filtering)
|
|
292
|
+
const allSessions = await this.storage.list({ prefix: 'voice_session:' });
|
|
293
|
+
let items = [];
|
|
294
|
+
for (const [key, session] of allSessions) {
|
|
295
|
+
// Skip provider index entries
|
|
296
|
+
if (key.startsWith('voice_session_provider:'))
|
|
297
|
+
continue;
|
|
298
|
+
// Apply filters
|
|
299
|
+
if (agentId && session.agentId !== agentId)
|
|
300
|
+
continue;
|
|
301
|
+
if (status && session.status !== status)
|
|
302
|
+
continue;
|
|
303
|
+
const typeMatch = type ? (type === 'inbound' ? 'Inbound' : type === 'outbound' ? 'Outbound' : 'Web') : null;
|
|
304
|
+
if (typeMatch && session.type !== typeMatch)
|
|
305
|
+
continue;
|
|
306
|
+
if (startTimeFrom && session.startTime < startTimeFrom)
|
|
307
|
+
continue;
|
|
308
|
+
if (startTimeTo && session.startTime > startTimeTo)
|
|
309
|
+
continue;
|
|
310
|
+
items.push(session);
|
|
311
|
+
}
|
|
312
|
+
// Sort
|
|
313
|
+
items.sort((a, b) => {
|
|
314
|
+
let aVal;
|
|
315
|
+
let bVal;
|
|
316
|
+
if (orderBy === 'cost') {
|
|
317
|
+
aVal = a.cost?.total ?? 0;
|
|
318
|
+
bVal = b.cost?.total ?? 0;
|
|
319
|
+
}
|
|
320
|
+
else {
|
|
321
|
+
aVal = a[orderBy] ?? 0;
|
|
322
|
+
bVal = b[orderBy] ?? 0;
|
|
323
|
+
}
|
|
324
|
+
return orderDir === 'desc' ? bVal - aVal : aVal - bVal;
|
|
325
|
+
});
|
|
326
|
+
const total = items.length;
|
|
327
|
+
items = items.slice(offset, offset + limit);
|
|
328
|
+
return {
|
|
329
|
+
items,
|
|
330
|
+
total,
|
|
331
|
+
hasMore: offset + items.length < total,
|
|
332
|
+
};
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* Get full transcript for a session
|
|
336
|
+
*
|
|
337
|
+
* @param id - Session ID
|
|
338
|
+
* @returns Transcript entries or null if session not found
|
|
339
|
+
*/
|
|
340
|
+
async getTranscript(id) {
|
|
341
|
+
const session = await this.get(id);
|
|
342
|
+
return session?.transcript ?? null;
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* Get recording URL for a session
|
|
346
|
+
*
|
|
347
|
+
* @param id - Session ID
|
|
348
|
+
* @returns Recording URL or null if not available
|
|
349
|
+
*/
|
|
350
|
+
async getRecording(id) {
|
|
351
|
+
const session = await this.get(id);
|
|
352
|
+
return session?.recordingUrl ?? null;
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Subscribe to session events
|
|
356
|
+
*
|
|
357
|
+
* @param sessionId - Session ID
|
|
358
|
+
* @param event - Event type
|
|
359
|
+
* @param handler - Event handler
|
|
360
|
+
* @returns Unsubscribe function
|
|
361
|
+
*/
|
|
362
|
+
on(sessionId, event, handler) {
|
|
363
|
+
const key = `${sessionId}:${event}`;
|
|
364
|
+
if (!this.eventHandlers.has(key)) {
|
|
365
|
+
this.eventHandlers.set(key, new Set());
|
|
366
|
+
}
|
|
367
|
+
this.eventHandlers.get(key).add(handler);
|
|
368
|
+
return () => {
|
|
369
|
+
this.eventHandlers.get(key)?.delete(handler);
|
|
370
|
+
};
|
|
371
|
+
}
|
|
372
|
+
/**
|
|
373
|
+
* Map session status to event type
|
|
374
|
+
*
|
|
375
|
+
* @param status - Session status
|
|
376
|
+
* @returns Corresponding event type
|
|
377
|
+
*/
|
|
378
|
+
statusToEventType(status) {
|
|
379
|
+
switch (status) {
|
|
380
|
+
case 'Initializing':
|
|
381
|
+
return 'started';
|
|
382
|
+
case 'Ringing':
|
|
383
|
+
return 'ringing';
|
|
384
|
+
case 'InProgress':
|
|
385
|
+
return 'answered';
|
|
386
|
+
case 'Transferring':
|
|
387
|
+
return 'transferring';
|
|
388
|
+
case 'Completed':
|
|
389
|
+
case 'Failed':
|
|
390
|
+
case 'NoAnswer':
|
|
391
|
+
return 'ended';
|
|
392
|
+
default:
|
|
393
|
+
return 'ended';
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
/**
|
|
397
|
+
* Emit a session event
|
|
398
|
+
*
|
|
399
|
+
* @param sessionId - Session ID
|
|
400
|
+
* @param event - Event type
|
|
401
|
+
* @param data - Event data
|
|
402
|
+
*/
|
|
403
|
+
async emit(sessionId, event, data) {
|
|
404
|
+
const key = `${sessionId}:${event}`;
|
|
405
|
+
const handlers = this.eventHandlers.get(key);
|
|
406
|
+
if (handlers) {
|
|
407
|
+
for (const handler of handlers) {
|
|
408
|
+
await handler(data);
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
/**
|
|
413
|
+
* Get session statistics
|
|
414
|
+
*
|
|
415
|
+
* @param agentId - Optional agent ID to filter
|
|
416
|
+
* @param startTime - Start of time range
|
|
417
|
+
* @param endTime - End of time range
|
|
418
|
+
* @returns Session statistics
|
|
419
|
+
*/
|
|
420
|
+
async getStats(agentId, startTime, endTime) {
|
|
421
|
+
const sessions = await this.list({
|
|
422
|
+
agentId,
|
|
423
|
+
startTimeFrom: startTime,
|
|
424
|
+
startTimeTo: endTime,
|
|
425
|
+
limit: 10000,
|
|
426
|
+
});
|
|
427
|
+
let totalDuration = 0;
|
|
428
|
+
let totalCost = 0;
|
|
429
|
+
let completedCalls = 0;
|
|
430
|
+
let failedCalls = 0;
|
|
431
|
+
for (const session of sessions.items) {
|
|
432
|
+
if (session.duration)
|
|
433
|
+
totalDuration += session.duration;
|
|
434
|
+
if (session.cost)
|
|
435
|
+
totalCost += session.cost.total;
|
|
436
|
+
if (session.status === 'Completed')
|
|
437
|
+
completedCalls++;
|
|
438
|
+
if (session.status === 'Failed')
|
|
439
|
+
failedCalls++;
|
|
440
|
+
}
|
|
441
|
+
return {
|
|
442
|
+
totalCalls: sessions.total,
|
|
443
|
+
completedCalls,
|
|
444
|
+
failedCalls,
|
|
445
|
+
avgDuration: sessions.total > 0 ? totalDuration / sessions.total : 0,
|
|
446
|
+
totalDuration,
|
|
447
|
+
totalCost,
|
|
448
|
+
};
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
// =============================================================================
|
|
452
|
+
// Helper Functions
|
|
453
|
+
// =============================================================================
|
|
454
|
+
/**
|
|
455
|
+
* Generate a random ID
|
|
456
|
+
*/
|
|
457
|
+
function generateId() {
|
|
458
|
+
// TODO: Use nanoid
|
|
459
|
+
return Math.random().toString(36).substring(2, 15);
|
|
460
|
+
}
|
|
461
|
+
/**
|
|
462
|
+
* Validate phone number format
|
|
463
|
+
*/
|
|
464
|
+
function isValidPhoneNumber(phone) {
|
|
465
|
+
// Basic validation - E.164 format
|
|
466
|
+
return /^\+?[1-9]\d{1,14}$/.test(phone.replace(/[\s\-\(\)]/g, ''));
|
|
467
|
+
}
|
|
468
|
+
// =============================================================================
|
|
469
|
+
// Singleton Access
|
|
470
|
+
// =============================================================================
|
|
471
|
+
let defaultManager = null;
|
|
472
|
+
/**
|
|
473
|
+
* Voice sessions singleton access
|
|
474
|
+
*/
|
|
475
|
+
export const VoiceSessions = {
|
|
476
|
+
/**
|
|
477
|
+
* Initialize with storage and agent manager
|
|
478
|
+
*/
|
|
479
|
+
init(storage, agentManager) {
|
|
480
|
+
defaultManager = new VoiceSessionManager(storage, agentManager);
|
|
481
|
+
},
|
|
482
|
+
/**
|
|
483
|
+
* Start an outbound call
|
|
484
|
+
*/
|
|
485
|
+
async startOutbound(options) {
|
|
486
|
+
if (!defaultManager)
|
|
487
|
+
throw new Error('VoiceSessions not initialized');
|
|
488
|
+
return defaultManager.startOutbound(options);
|
|
489
|
+
},
|
|
490
|
+
/**
|
|
491
|
+
* Get a session
|
|
492
|
+
*/
|
|
493
|
+
async get(id) {
|
|
494
|
+
if (!defaultManager)
|
|
495
|
+
throw new Error('VoiceSessions not initialized');
|
|
496
|
+
return defaultManager.get(id);
|
|
497
|
+
},
|
|
498
|
+
/**
|
|
499
|
+
* List sessions
|
|
500
|
+
*/
|
|
501
|
+
async list(options) {
|
|
502
|
+
if (!defaultManager)
|
|
503
|
+
throw new Error('VoiceSessions not initialized');
|
|
504
|
+
return defaultManager.list(options);
|
|
505
|
+
},
|
|
506
|
+
/**
|
|
507
|
+
* End a session
|
|
508
|
+
*/
|
|
509
|
+
async end(id) {
|
|
510
|
+
if (!defaultManager)
|
|
511
|
+
throw new Error('VoiceSessions not initialized');
|
|
512
|
+
return defaultManager.end(id);
|
|
513
|
+
},
|
|
514
|
+
/**
|
|
515
|
+
* Get transcript
|
|
516
|
+
*/
|
|
517
|
+
async getTranscript(id) {
|
|
518
|
+
if (!defaultManager)
|
|
519
|
+
throw new Error('VoiceSessions not initialized');
|
|
520
|
+
return defaultManager.getTranscript(id);
|
|
521
|
+
},
|
|
522
|
+
/**
|
|
523
|
+
* Get recording
|
|
524
|
+
*/
|
|
525
|
+
async getRecording(id) {
|
|
526
|
+
if (!defaultManager)
|
|
527
|
+
throw new Error('VoiceSessions not initialized');
|
|
528
|
+
return defaultManager.getRecording(id);
|
|
529
|
+
},
|
|
530
|
+
};
|
|
531
|
+
//# sourceMappingURL=sessions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../ai/voice/sessions.ts"],"names":[],"mappings":"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"}
|