@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,242 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Voice Tool Calling Integration
|
|
3
|
+
*
|
|
4
|
+
* Enables voice agents to call tools mid-conversation.
|
|
5
|
+
* Tools are functions that can be invoked during a call
|
|
6
|
+
* to look up data, perform actions, or control call flow.
|
|
7
|
+
*
|
|
8
|
+
* @module ai/voice/tools
|
|
9
|
+
*/
|
|
10
|
+
import type { ToolCallRecord, TranscriptEntry } from '../../types/voice-ai';
|
|
11
|
+
/**
|
|
12
|
+
* Context provided to tool handlers
|
|
13
|
+
*/
|
|
14
|
+
export interface ToolContext {
|
|
15
|
+
/** Session ID */
|
|
16
|
+
sessionId: string;
|
|
17
|
+
/** Voice agent ID */
|
|
18
|
+
agentId: string;
|
|
19
|
+
/** Customer phone number (if phone call) */
|
|
20
|
+
customerPhone?: string;
|
|
21
|
+
/** Current transcript */
|
|
22
|
+
transcript: TranscriptEntry[];
|
|
23
|
+
/** Session metadata */
|
|
24
|
+
metadata?: Record<string, unknown>;
|
|
25
|
+
/** Provider-specific context */
|
|
26
|
+
providerContext?: Record<string, unknown>;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Tool handler function
|
|
30
|
+
*
|
|
31
|
+
* @param args - Arguments passed to the tool
|
|
32
|
+
* @param context - Execution context
|
|
33
|
+
* @returns Tool result (will be sent back to the voice agent)
|
|
34
|
+
*/
|
|
35
|
+
export type ToolHandler<TArgs = Record<string, unknown>, TResult = unknown> = (args: TArgs, context: ToolContext) => Promise<TResult>;
|
|
36
|
+
/**
|
|
37
|
+
* Tool registration options
|
|
38
|
+
*/
|
|
39
|
+
export interface RegisterToolOptions {
|
|
40
|
+
/** Tool name (must match VoiceAgentTool.name) */
|
|
41
|
+
name: string;
|
|
42
|
+
/** Tool handler function */
|
|
43
|
+
handler: ToolHandler;
|
|
44
|
+
/** Timeout in milliseconds (default: 10000) */
|
|
45
|
+
timeout?: number;
|
|
46
|
+
/** Whether this tool can end the call */
|
|
47
|
+
canEndCall?: boolean;
|
|
48
|
+
/** Validation function for arguments */
|
|
49
|
+
validate?: (args: Record<string, unknown>) => boolean | string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Tool execution result
|
|
53
|
+
*/
|
|
54
|
+
export interface ToolExecutionResult {
|
|
55
|
+
/** Tool call record */
|
|
56
|
+
record: ToolCallRecord;
|
|
57
|
+
/** Whether to end the call */
|
|
58
|
+
endCall?: boolean;
|
|
59
|
+
/** Message to speak before continuing/ending */
|
|
60
|
+
message?: string;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Transfer result from a tool
|
|
64
|
+
*/
|
|
65
|
+
export interface TransferResult {
|
|
66
|
+
/** Signal transfer */
|
|
67
|
+
transfer: true;
|
|
68
|
+
/** Department or destination */
|
|
69
|
+
department?: string;
|
|
70
|
+
/** Phone number to transfer to */
|
|
71
|
+
number?: string;
|
|
72
|
+
/** Priority level */
|
|
73
|
+
priority?: 'low' | 'normal' | 'high';
|
|
74
|
+
/** Message to speak before transfer */
|
|
75
|
+
message?: string;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Voice tool registry and executor
|
|
79
|
+
*
|
|
80
|
+
* Manages tool registration and execution for voice agents.
|
|
81
|
+
* Tools are called mid-conversation when the voice agent
|
|
82
|
+
* decides to invoke them.
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* ```typescript
|
|
86
|
+
* const registry = new VoiceToolRegistry()
|
|
87
|
+
*
|
|
88
|
+
* // Register a tool
|
|
89
|
+
* registry.register({
|
|
90
|
+
* name: 'lookup_order',
|
|
91
|
+
* handler: async (args, context) => {
|
|
92
|
+
* const order = await db.orders.get(args.orderId)
|
|
93
|
+
* return { status: order.status, eta: order.eta }
|
|
94
|
+
* },
|
|
95
|
+
* })
|
|
96
|
+
*
|
|
97
|
+
* // Execute a tool call
|
|
98
|
+
* const result = await registry.execute('lookup_order', { orderId: '123' }, context)
|
|
99
|
+
* ```
|
|
100
|
+
*/
|
|
101
|
+
export declare class VoiceToolRegistry {
|
|
102
|
+
private tools;
|
|
103
|
+
private defaultTimeout;
|
|
104
|
+
/**
|
|
105
|
+
* Register a tool handler
|
|
106
|
+
*
|
|
107
|
+
* @param options - Tool registration options
|
|
108
|
+
*/
|
|
109
|
+
register(options: RegisterToolOptions): void;
|
|
110
|
+
/**
|
|
111
|
+
* Register multiple tools at once
|
|
112
|
+
*
|
|
113
|
+
* @param tools - Array of tool registration options
|
|
114
|
+
*/
|
|
115
|
+
registerAll(tools: RegisterToolOptions[]): void;
|
|
116
|
+
/**
|
|
117
|
+
* Unregister a tool
|
|
118
|
+
*
|
|
119
|
+
* @param name - Tool name
|
|
120
|
+
* @returns True if tool was unregistered
|
|
121
|
+
*/
|
|
122
|
+
unregister(name: string): boolean;
|
|
123
|
+
/**
|
|
124
|
+
* Check if a tool is registered
|
|
125
|
+
*
|
|
126
|
+
* @param name - Tool name
|
|
127
|
+
* @returns True if tool is registered
|
|
128
|
+
*/
|
|
129
|
+
has(name: string): boolean;
|
|
130
|
+
/**
|
|
131
|
+
* Get registered tool names
|
|
132
|
+
*
|
|
133
|
+
* @returns Array of tool names
|
|
134
|
+
*/
|
|
135
|
+
list(): string[];
|
|
136
|
+
/**
|
|
137
|
+
* Execute a tool call
|
|
138
|
+
*
|
|
139
|
+
* @param name - Tool name
|
|
140
|
+
* @param args - Tool arguments
|
|
141
|
+
* @param context - Execution context
|
|
142
|
+
* @returns Tool execution result
|
|
143
|
+
*/
|
|
144
|
+
execute(name: string, args: Record<string, unknown>, context: ToolContext): Promise<ToolExecutionResult>;
|
|
145
|
+
/**
|
|
146
|
+
* Set default timeout for tool execution
|
|
147
|
+
*
|
|
148
|
+
* @param timeout - Timeout in milliseconds
|
|
149
|
+
*/
|
|
150
|
+
setDefaultTimeout(timeout: number): void;
|
|
151
|
+
/**
|
|
152
|
+
* Clear all registered tools
|
|
153
|
+
*/
|
|
154
|
+
clear(): void;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Create a lookup tool that queries a data source
|
|
158
|
+
*
|
|
159
|
+
* @param name - Tool name
|
|
160
|
+
* @param description - Tool description
|
|
161
|
+
* @param lookup - Lookup function
|
|
162
|
+
* @returns Tool registration options
|
|
163
|
+
*/
|
|
164
|
+
export declare function createLookupTool<T>(name: string, description: string, lookup: (args: Record<string, unknown>, context: ToolContext) => Promise<T>): RegisterToolOptions;
|
|
165
|
+
/**
|
|
166
|
+
* Create an action tool that performs a side effect
|
|
167
|
+
*
|
|
168
|
+
* @param name - Tool name
|
|
169
|
+
* @param description - Tool description
|
|
170
|
+
* @param action - Action function
|
|
171
|
+
* @returns Tool registration options
|
|
172
|
+
*/
|
|
173
|
+
export declare function createActionTool(name: string, description: string, action: (args: Record<string, unknown>, context: ToolContext) => Promise<{
|
|
174
|
+
success: boolean;
|
|
175
|
+
message?: string;
|
|
176
|
+
}>): RegisterToolOptions;
|
|
177
|
+
/**
|
|
178
|
+
* Create a transfer tool that initiates call transfer
|
|
179
|
+
*
|
|
180
|
+
* @param name - Tool name
|
|
181
|
+
* @param getTransferConfig - Function to determine transfer destination
|
|
182
|
+
* @returns Tool registration options
|
|
183
|
+
*/
|
|
184
|
+
export declare function createTransferTool(name: string, getTransferConfig: (args: Record<string, unknown>, context: ToolContext) => Promise<Omit<TransferResult, 'transfer'>>): RegisterToolOptions;
|
|
185
|
+
/**
|
|
186
|
+
* Create an end call tool
|
|
187
|
+
*
|
|
188
|
+
* @param name - Tool name
|
|
189
|
+
* @param getMessage - Function to get closing message
|
|
190
|
+
* @returns Tool registration options
|
|
191
|
+
*/
|
|
192
|
+
export declare function createEndCallTool(name: string, getMessage: (args: Record<string, unknown>, context: ToolContext) => Promise<string>): RegisterToolOptions;
|
|
193
|
+
/**
|
|
194
|
+
* Voice tools singleton access
|
|
195
|
+
*
|
|
196
|
+
* @example
|
|
197
|
+
* ```typescript
|
|
198
|
+
* import { VoiceTools } from 'do/ai/voice'
|
|
199
|
+
*
|
|
200
|
+
* VoiceTools.register({
|
|
201
|
+
* name: 'lookup_order',
|
|
202
|
+
* handler: async (args, context) => {
|
|
203
|
+
* // ...
|
|
204
|
+
* },
|
|
205
|
+
* })
|
|
206
|
+
* ```
|
|
207
|
+
*/
|
|
208
|
+
export declare const VoiceTools: {
|
|
209
|
+
/**
|
|
210
|
+
* Register a tool
|
|
211
|
+
*/
|
|
212
|
+
register(options: RegisterToolOptions): void;
|
|
213
|
+
/**
|
|
214
|
+
* Register multiple tools
|
|
215
|
+
*/
|
|
216
|
+
registerAll(tools: RegisterToolOptions[]): void;
|
|
217
|
+
/**
|
|
218
|
+
* Unregister a tool
|
|
219
|
+
*/
|
|
220
|
+
unregister(name: string): boolean;
|
|
221
|
+
/**
|
|
222
|
+
* Check if tool is registered
|
|
223
|
+
*/
|
|
224
|
+
has(name: string): boolean;
|
|
225
|
+
/**
|
|
226
|
+
* List registered tools
|
|
227
|
+
*/
|
|
228
|
+
list(): string[];
|
|
229
|
+
/**
|
|
230
|
+
* Execute a tool
|
|
231
|
+
*/
|
|
232
|
+
execute(name: string, args: Record<string, unknown>, context: ToolContext): Promise<ToolExecutionResult>;
|
|
233
|
+
/**
|
|
234
|
+
* Clear all tools
|
|
235
|
+
*/
|
|
236
|
+
clear(): void;
|
|
237
|
+
/**
|
|
238
|
+
* Get the underlying registry
|
|
239
|
+
*/
|
|
240
|
+
getRegistry(): VoiceToolRegistry;
|
|
241
|
+
};
|
|
242
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../ai/voice/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,370 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Voice Tool Calling Integration
|
|
3
|
+
*
|
|
4
|
+
* Enables voice agents to call tools mid-conversation.
|
|
5
|
+
* Tools are functions that can be invoked during a call
|
|
6
|
+
* to look up data, perform actions, or control call flow.
|
|
7
|
+
*
|
|
8
|
+
* @module ai/voice/tools
|
|
9
|
+
*/
|
|
10
|
+
// =============================================================================
|
|
11
|
+
// Voice Tool Registry
|
|
12
|
+
// =============================================================================
|
|
13
|
+
/**
|
|
14
|
+
* Voice tool registry and executor
|
|
15
|
+
*
|
|
16
|
+
* Manages tool registration and execution for voice agents.
|
|
17
|
+
* Tools are called mid-conversation when the voice agent
|
|
18
|
+
* decides to invoke them.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* const registry = new VoiceToolRegistry()
|
|
23
|
+
*
|
|
24
|
+
* // Register a tool
|
|
25
|
+
* registry.register({
|
|
26
|
+
* name: 'lookup_order',
|
|
27
|
+
* handler: async (args, context) => {
|
|
28
|
+
* const order = await db.orders.get(args.orderId)
|
|
29
|
+
* return { status: order.status, eta: order.eta }
|
|
30
|
+
* },
|
|
31
|
+
* })
|
|
32
|
+
*
|
|
33
|
+
* // Execute a tool call
|
|
34
|
+
* const result = await registry.execute('lookup_order', { orderId: '123' }, context)
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export class VoiceToolRegistry {
|
|
38
|
+
tools = new Map();
|
|
39
|
+
defaultTimeout = 10000;
|
|
40
|
+
/**
|
|
41
|
+
* Register a tool handler
|
|
42
|
+
*
|
|
43
|
+
* @param options - Tool registration options
|
|
44
|
+
*/
|
|
45
|
+
register(options) {
|
|
46
|
+
if (this.tools.has(options.name)) {
|
|
47
|
+
throw new Error(`Tool already registered: ${options.name}`);
|
|
48
|
+
}
|
|
49
|
+
this.tools.set(options.name, options);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Register multiple tools at once
|
|
53
|
+
*
|
|
54
|
+
* @param tools - Array of tool registration options
|
|
55
|
+
*/
|
|
56
|
+
registerAll(tools) {
|
|
57
|
+
for (const tool of tools) {
|
|
58
|
+
this.register(tool);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Unregister a tool
|
|
63
|
+
*
|
|
64
|
+
* @param name - Tool name
|
|
65
|
+
* @returns True if tool was unregistered
|
|
66
|
+
*/
|
|
67
|
+
unregister(name) {
|
|
68
|
+
return this.tools.delete(name);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Check if a tool is registered
|
|
72
|
+
*
|
|
73
|
+
* @param name - Tool name
|
|
74
|
+
* @returns True if tool is registered
|
|
75
|
+
*/
|
|
76
|
+
has(name) {
|
|
77
|
+
return this.tools.has(name);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Get registered tool names
|
|
81
|
+
*
|
|
82
|
+
* @returns Array of tool names
|
|
83
|
+
*/
|
|
84
|
+
list() {
|
|
85
|
+
return Array.from(this.tools.keys());
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Execute a tool call
|
|
89
|
+
*
|
|
90
|
+
* @param name - Tool name
|
|
91
|
+
* @param args - Tool arguments
|
|
92
|
+
* @param context - Execution context
|
|
93
|
+
* @returns Tool execution result
|
|
94
|
+
*/
|
|
95
|
+
async execute(name, args, context) {
|
|
96
|
+
const tool = this.tools.get(name);
|
|
97
|
+
if (!tool) {
|
|
98
|
+
return {
|
|
99
|
+
record: createErrorRecord(name, args, `Tool not found: ${name}`),
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
// Validate arguments
|
|
103
|
+
if (tool.validate) {
|
|
104
|
+
const validationResult = tool.validate(args);
|
|
105
|
+
if (validationResult !== true) {
|
|
106
|
+
const error = typeof validationResult === 'string' ? validationResult : 'Invalid arguments';
|
|
107
|
+
return {
|
|
108
|
+
record: createErrorRecord(name, args, error),
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
const startTime = Date.now();
|
|
113
|
+
const recordId = `tc_${generateId()}`;
|
|
114
|
+
try {
|
|
115
|
+
// Execute with timeout
|
|
116
|
+
const result = await executeWithTimeout(tool.handler(args, context), tool.timeout ?? this.defaultTimeout);
|
|
117
|
+
// Check for transfer result
|
|
118
|
+
if (isTransferResult(result)) {
|
|
119
|
+
return {
|
|
120
|
+
record: {
|
|
121
|
+
id: recordId,
|
|
122
|
+
toolName: name,
|
|
123
|
+
arguments: args,
|
|
124
|
+
result,
|
|
125
|
+
startTime,
|
|
126
|
+
endTime: Date.now(),
|
|
127
|
+
success: true,
|
|
128
|
+
},
|
|
129
|
+
endCall: false,
|
|
130
|
+
message: result.message,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
// Check for end call
|
|
134
|
+
const endCall = tool.canEndCall && isEndCallResult(result);
|
|
135
|
+
return {
|
|
136
|
+
record: {
|
|
137
|
+
id: recordId,
|
|
138
|
+
toolName: name,
|
|
139
|
+
arguments: args,
|
|
140
|
+
result,
|
|
141
|
+
startTime,
|
|
142
|
+
endTime: Date.now(),
|
|
143
|
+
success: true,
|
|
144
|
+
},
|
|
145
|
+
endCall,
|
|
146
|
+
message: typeof result === 'object' && result !== null && 'message' in result
|
|
147
|
+
? result.message
|
|
148
|
+
: undefined,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
catch (error) {
|
|
152
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
153
|
+
return {
|
|
154
|
+
record: {
|
|
155
|
+
id: recordId,
|
|
156
|
+
toolName: name,
|
|
157
|
+
arguments: args,
|
|
158
|
+
startTime,
|
|
159
|
+
endTime: Date.now(),
|
|
160
|
+
success: false,
|
|
161
|
+
error: errorMessage,
|
|
162
|
+
},
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Set default timeout for tool execution
|
|
168
|
+
*
|
|
169
|
+
* @param timeout - Timeout in milliseconds
|
|
170
|
+
*/
|
|
171
|
+
setDefaultTimeout(timeout) {
|
|
172
|
+
this.defaultTimeout = timeout;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Clear all registered tools
|
|
176
|
+
*/
|
|
177
|
+
clear() {
|
|
178
|
+
this.tools.clear();
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
// =============================================================================
|
|
182
|
+
// Common Tool Factories
|
|
183
|
+
// =============================================================================
|
|
184
|
+
/**
|
|
185
|
+
* Create a lookup tool that queries a data source
|
|
186
|
+
*
|
|
187
|
+
* @param name - Tool name
|
|
188
|
+
* @param description - Tool description
|
|
189
|
+
* @param lookup - Lookup function
|
|
190
|
+
* @returns Tool registration options
|
|
191
|
+
*/
|
|
192
|
+
export function createLookupTool(name, description, lookup) {
|
|
193
|
+
return {
|
|
194
|
+
name,
|
|
195
|
+
handler: lookup,
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Create an action tool that performs a side effect
|
|
200
|
+
*
|
|
201
|
+
* @param name - Tool name
|
|
202
|
+
* @param description - Tool description
|
|
203
|
+
* @param action - Action function
|
|
204
|
+
* @returns Tool registration options
|
|
205
|
+
*/
|
|
206
|
+
export function createActionTool(name, description, action) {
|
|
207
|
+
return {
|
|
208
|
+
name,
|
|
209
|
+
handler: action,
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Create a transfer tool that initiates call transfer
|
|
214
|
+
*
|
|
215
|
+
* @param name - Tool name
|
|
216
|
+
* @param getTransferConfig - Function to determine transfer destination
|
|
217
|
+
* @returns Tool registration options
|
|
218
|
+
*/
|
|
219
|
+
export function createTransferTool(name, getTransferConfig) {
|
|
220
|
+
return {
|
|
221
|
+
name,
|
|
222
|
+
handler: async (args, context) => {
|
|
223
|
+
const config = await getTransferConfig(args, context);
|
|
224
|
+
return { transfer: true, ...config };
|
|
225
|
+
},
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Create an end call tool
|
|
230
|
+
*
|
|
231
|
+
* @param name - Tool name
|
|
232
|
+
* @param getMessage - Function to get closing message
|
|
233
|
+
* @returns Tool registration options
|
|
234
|
+
*/
|
|
235
|
+
export function createEndCallTool(name, getMessage) {
|
|
236
|
+
return {
|
|
237
|
+
name,
|
|
238
|
+
handler: async (args, context) => {
|
|
239
|
+
const message = await getMessage(args, context);
|
|
240
|
+
return { endCall: true, message };
|
|
241
|
+
},
|
|
242
|
+
canEndCall: true,
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
// =============================================================================
|
|
246
|
+
// Helper Functions
|
|
247
|
+
// =============================================================================
|
|
248
|
+
/**
|
|
249
|
+
* Generate a random ID
|
|
250
|
+
*/
|
|
251
|
+
function generateId() {
|
|
252
|
+
// TODO: Use nanoid
|
|
253
|
+
return Math.random().toString(36).substring(2, 15);
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Create an error tool call record
|
|
257
|
+
*/
|
|
258
|
+
function createErrorRecord(toolName, args, error) {
|
|
259
|
+
const now = Date.now();
|
|
260
|
+
return {
|
|
261
|
+
id: `tc_${generateId()}`,
|
|
262
|
+
toolName,
|
|
263
|
+
arguments: args,
|
|
264
|
+
startTime: now,
|
|
265
|
+
endTime: now,
|
|
266
|
+
success: false,
|
|
267
|
+
error,
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Execute a promise with timeout
|
|
272
|
+
*/
|
|
273
|
+
async function executeWithTimeout(promise, timeout) {
|
|
274
|
+
const timeoutPromise = new Promise((_, reject) => {
|
|
275
|
+
setTimeout(() => reject(new Error('Tool execution timeout')), timeout);
|
|
276
|
+
});
|
|
277
|
+
return Promise.race([promise, timeoutPromise]);
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Check if result signals transfer
|
|
281
|
+
*/
|
|
282
|
+
function isTransferResult(result) {
|
|
283
|
+
return (typeof result === 'object' &&
|
|
284
|
+
result !== null &&
|
|
285
|
+
'transfer' in result &&
|
|
286
|
+
result.transfer === true);
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Check if result signals end call
|
|
290
|
+
*/
|
|
291
|
+
function isEndCallResult(result) {
|
|
292
|
+
return (typeof result === 'object' &&
|
|
293
|
+
result !== null &&
|
|
294
|
+
'endCall' in result &&
|
|
295
|
+
result.endCall === true);
|
|
296
|
+
}
|
|
297
|
+
// =============================================================================
|
|
298
|
+
// Singleton Access
|
|
299
|
+
// =============================================================================
|
|
300
|
+
const defaultRegistry = new VoiceToolRegistry();
|
|
301
|
+
/**
|
|
302
|
+
* Voice tools singleton access
|
|
303
|
+
*
|
|
304
|
+
* @example
|
|
305
|
+
* ```typescript
|
|
306
|
+
* import { VoiceTools } from 'do/ai/voice'
|
|
307
|
+
*
|
|
308
|
+
* VoiceTools.register({
|
|
309
|
+
* name: 'lookup_order',
|
|
310
|
+
* handler: async (args, context) => {
|
|
311
|
+
* // ...
|
|
312
|
+
* },
|
|
313
|
+
* })
|
|
314
|
+
* ```
|
|
315
|
+
*/
|
|
316
|
+
export const VoiceTools = {
|
|
317
|
+
/**
|
|
318
|
+
* Register a tool
|
|
319
|
+
*/
|
|
320
|
+
register(options) {
|
|
321
|
+
defaultRegistry.register(options);
|
|
322
|
+
},
|
|
323
|
+
/**
|
|
324
|
+
* Register multiple tools
|
|
325
|
+
*/
|
|
326
|
+
registerAll(tools) {
|
|
327
|
+
defaultRegistry.registerAll(tools);
|
|
328
|
+
},
|
|
329
|
+
/**
|
|
330
|
+
* Unregister a tool
|
|
331
|
+
*/
|
|
332
|
+
unregister(name) {
|
|
333
|
+
return defaultRegistry.unregister(name);
|
|
334
|
+
},
|
|
335
|
+
/**
|
|
336
|
+
* Check if tool is registered
|
|
337
|
+
*/
|
|
338
|
+
has(name) {
|
|
339
|
+
return defaultRegistry.has(name);
|
|
340
|
+
},
|
|
341
|
+
/**
|
|
342
|
+
* List registered tools
|
|
343
|
+
*/
|
|
344
|
+
list() {
|
|
345
|
+
return defaultRegistry.list();
|
|
346
|
+
},
|
|
347
|
+
/**
|
|
348
|
+
* Execute a tool
|
|
349
|
+
*/
|
|
350
|
+
async execute(name, args, context) {
|
|
351
|
+
return defaultRegistry.execute(name, args, context);
|
|
352
|
+
},
|
|
353
|
+
/**
|
|
354
|
+
* Clear all tools
|
|
355
|
+
*/
|
|
356
|
+
clear() {
|
|
357
|
+
defaultRegistry.clear();
|
|
358
|
+
},
|
|
359
|
+
/**
|
|
360
|
+
* Get the underlying registry
|
|
361
|
+
*/
|
|
362
|
+
getRegistry() {
|
|
363
|
+
return defaultRegistry;
|
|
364
|
+
},
|
|
365
|
+
};
|
|
366
|
+
// =============================================================================
|
|
367
|
+
// Exports
|
|
368
|
+
// =============================================================================
|
|
369
|
+
// VoiceToolRegistry is already exported as a class declaration above
|
|
370
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../ai/voice/tools.ts"],"names":[],"mappings":"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"}
|