lua-cli 3.15.3 → 3.16.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/dist/api-exports.d.ts +5029 -698
- package/dist/api-exports.js +6509 -772
- package/dist/api-exports.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +41174 -82
- package/dist/index.js.map +1 -1
- package/dist/voice/test/index.d.ts +1217 -0
- package/dist/voice/test/index.js +386 -0
- package/dist/voice/test/index.js.map +1 -0
- package/dist/voice-exports.d.ts +40 -0
- package/dist/voice-exports.js +16 -0
- package/dist/voice-exports.js.map +1 -0
- package/docs/README.md +1 -1
- package/package.json +38 -21
- package/scripts/build-vendor.mjs +6 -3
- package/scripts/run-api-extractor.mjs +79 -0
- package/template/.gitignore +21 -0
- package/template/package.json +1 -1
- package/dist/api/agent.api.service.d.ts +0 -165
- package/dist/api/agent.api.service.d.ts.map +0 -1
- package/dist/api/agent.api.service.js +0 -207
- package/dist/api/agent.api.service.js.map +0 -1
- package/dist/api/agents.api.service.d.ts +0 -21
- package/dist/api/agents.api.service.d.ts.map +0 -1
- package/dist/api/agents.api.service.js +0 -51
- package/dist/api/agents.api.service.js.map +0 -1
- package/dist/api/ai.api.service.d.ts +0 -20
- package/dist/api/ai.api.service.d.ts.map +0 -1
- package/dist/api/ai.api.service.js +0 -40
- package/dist/api/ai.api.service.js.map +0 -1
- package/dist/api/auth.api.service.d.ts +0 -49
- package/dist/api/auth.api.service.d.ts.map +0 -1
- package/dist/api/auth.api.service.js +0 -55
- package/dist/api/auth.api.service.js.map +0 -1
- package/dist/api/backup.api.service.d.ts +0 -78
- package/dist/api/backup.api.service.d.ts.map +0 -1
- package/dist/api/backup.api.service.js +0 -115
- package/dist/api/backup.api.service.js.map +0 -1
- package/dist/api/basket.api.service.d.ts +0 -85
- package/dist/api/basket.api.service.d.ts.map +0 -1
- package/dist/api/basket.api.service.js +0 -160
- package/dist/api/basket.api.service.js.map +0 -1
- package/dist/api/cdn.api.service.d.ts +0 -21
- package/dist/api/cdn.api.service.d.ts.map +0 -1
- package/dist/api/cdn.api.service.js +0 -46
- package/dist/api/cdn.api.service.js.map +0 -1
- package/dist/api/chat.api.service.d.ts +0 -40
- package/dist/api/chat.api.service.d.ts.map +0 -1
- package/dist/api/chat.api.service.js +0 -121
- package/dist/api/chat.api.service.js.map +0 -1
- package/dist/api/credentials.d.ts +0 -25
- package/dist/api/credentials.d.ts.map +0 -1
- package/dist/api/credentials.js +0 -44
- package/dist/api/credentials.js.map +0 -1
- package/dist/api/custom.data.api.service.d.ts +0 -71
- package/dist/api/custom.data.api.service.d.ts.map +0 -1
- package/dist/api/custom.data.api.service.js +0 -126
- package/dist/api/custom.data.api.service.js.map +0 -1
- package/dist/api/developer.api.service.d.ts +0 -121
- package/dist/api/developer.api.service.d.ts.map +0 -1
- package/dist/api/developer.api.service.js +0 -162
- package/dist/api/developer.api.service.js.map +0 -1
- package/dist/api/device-trigger.api.service.d.ts +0 -136
- package/dist/api/device-trigger.api.service.d.ts.map +0 -1
- package/dist/api/device-trigger.api.service.js +0 -120
- package/dist/api/device-trigger.api.service.js.map +0 -1
- package/dist/api/device.api.service.d.ts +0 -61
- package/dist/api/device.api.service.d.ts.map +0 -1
- package/dist/api/device.api.service.js +0 -72
- package/dist/api/device.api.service.js.map +0 -1
- package/dist/api/http.client.d.ts +0 -90
- package/dist/api/http.client.d.ts.map +0 -1
- package/dist/api/http.client.js +0 -265
- package/dist/api/http.client.js.map +0 -1
- package/dist/api/job.api.service.d.ts +0 -154
- package/dist/api/job.api.service.d.ts.map +0 -1
- package/dist/api/job.api.service.js +0 -230
- package/dist/api/job.api.service.js.map +0 -1
- package/dist/api/lazy-instances.d.ts +0 -107
- package/dist/api/lazy-instances.d.ts.map +0 -1
- package/dist/api/lazy-instances.js +0 -220
- package/dist/api/lazy-instances.js.map +0 -1
- package/dist/api/logs.api.service.d.ts +0 -38
- package/dist/api/logs.api.service.d.ts.map +0 -1
- package/dist/api/logs.api.service.js +0 -50
- package/dist/api/logs.api.service.js.map +0 -1
- package/dist/api/marketplace.api.service.d.ts +0 -28
- package/dist/api/marketplace.api.service.d.ts.map +0 -1
- package/dist/api/marketplace.api.service.js +0 -112
- package/dist/api/marketplace.api.service.js.map +0 -1
- package/dist/api/order.api.service.d.ts +0 -53
- package/dist/api/order.api.service.d.ts.map +0 -1
- package/dist/api/order.api.service.js +0 -94
- package/dist/api/order.api.service.js.map +0 -1
- package/dist/api/persona.api.service.d.ts +0 -56
- package/dist/api/persona.api.service.d.ts.map +0 -1
- package/dist/api/persona.api.service.js +0 -90
- package/dist/api/persona.api.service.js.map +0 -1
- package/dist/api/postprocessor.api.service.d.ts +0 -151
- package/dist/api/postprocessor.api.service.d.ts.map +0 -1
- package/dist/api/postprocessor.api.service.js +0 -109
- package/dist/api/postprocessor.api.service.js.map +0 -1
- package/dist/api/preprocessor.api.service.d.ts +0 -155
- package/dist/api/preprocessor.api.service.d.ts.map +0 -1
- package/dist/api/preprocessor.api.service.js +0 -111
- package/dist/api/preprocessor.api.service.js.map +0 -1
- package/dist/api/products.api.service.d.ts +0 -80
- package/dist/api/products.api.service.d.ts.map +0 -1
- package/dist/api/products.api.service.js +0 -126
- package/dist/api/products.api.service.js.map +0 -1
- package/dist/api/resource.api.service.d.ts +0 -77
- package/dist/api/resource.api.service.d.ts.map +0 -1
- package/dist/api/resource.api.service.js +0 -74
- package/dist/api/resource.api.service.js.map +0 -1
- package/dist/api/skills.api.service.d.ts +0 -94
- package/dist/api/skills.api.service.d.ts.map +0 -1
- package/dist/api/skills.api.service.js +0 -120
- package/dist/api/skills.api.service.js.map +0 -1
- package/dist/api/tool.api.service.d.ts +0 -53
- package/dist/api/tool.api.service.d.ts.map +0 -1
- package/dist/api/tool.api.service.js +0 -74
- package/dist/api/tool.api.service.js.map +0 -1
- package/dist/api/unifiedto.api.service.d.ts +0 -133
- package/dist/api/unifiedto.api.service.d.ts.map +0 -1
- package/dist/api/unifiedto.api.service.js +0 -166
- package/dist/api/unifiedto.api.service.js.map +0 -1
- package/dist/api/user.data.api.service.d.ts +0 -69
- package/dist/api/user.data.api.service.d.ts.map +0 -1
- package/dist/api/user.data.api.service.js +0 -158
- package/dist/api/user.data.api.service.js.map +0 -1
- package/dist/api/webhook.api.service.d.ts +0 -163
- package/dist/api/webhook.api.service.d.ts.map +0 -1
- package/dist/api/webhook.api.service.js +0 -140
- package/dist/api/webhook.api.service.js.map +0 -1
- package/dist/api/whatsapp-templates.api.service.d.ts +0 -41
- package/dist/api/whatsapp-templates.api.service.d.ts.map +0 -1
- package/dist/api/whatsapp-templates.api.service.js +0 -79
- package/dist/api/whatsapp-templates.api.service.js.map +0 -1
- package/dist/api-exports.d.ts.map +0 -1
- package/dist/cli/command-definitions.d.ts +0 -29
- package/dist/cli/command-definitions.d.ts.map +0 -1
- package/dist/cli/command-definitions.js +0 -943
- package/dist/cli/command-definitions.js.map +0 -1
- package/dist/commands/admin.d.ts +0 -24
- package/dist/commands/admin.d.ts.map +0 -1
- package/dist/commands/admin.js +0 -44
- package/dist/commands/admin.js.map +0 -1
- package/dist/commands/agents.d.ts +0 -23
- package/dist/commands/agents.d.ts.map +0 -1
- package/dist/commands/agents.js +0 -83
- package/dist/commands/agents.js.map +0 -1
- package/dist/commands/apiKey.d.ts +0 -8
- package/dist/commands/apiKey.d.ts.map +0 -1
- package/dist/commands/apiKey.js +0 -43
- package/dist/commands/apiKey.js.map +0 -1
- package/dist/commands/channels.d.ts +0 -13
- package/dist/commands/channels.d.ts.map +0 -1
- package/dist/commands/channels.js +0 -747
- package/dist/commands/channels.js.map +0 -1
- package/dist/commands/chat-log-probe.d.ts +0 -59
- package/dist/commands/chat-log-probe.d.ts.map +0 -1
- package/dist/commands/chat-log-probe.js +0 -87
- package/dist/commands/chat-log-probe.js.map +0 -1
- package/dist/commands/chat.d.ts +0 -20
- package/dist/commands/chat.d.ts.map +0 -1
- package/dist/commands/chat.js +0 -618
- package/dist/commands/chat.js.map +0 -1
- package/dist/commands/chatClear.d.ts +0 -25
- package/dist/commands/chatClear.d.ts.map +0 -1
- package/dist/commands/chatClear.js +0 -71
- package/dist/commands/chatClear.js.map +0 -1
- package/dist/commands/compile.d.ts +0 -48
- package/dist/commands/compile.d.ts.map +0 -1
- package/dist/commands/compile.js +0 -216
- package/dist/commands/compile.js.map +0 -1
- package/dist/commands/completion.d.ts +0 -12
- package/dist/commands/completion.d.ts.map +0 -1
- package/dist/commands/completion.js +0 -211
- package/dist/commands/completion.js.map +0 -1
- package/dist/commands/configure.d.ts +0 -42
- package/dist/commands/configure.d.ts.map +0 -1
- package/dist/commands/configure.js +0 -76
- package/dist/commands/configure.js.map +0 -1
- package/dist/commands/deploy.d.ts +0 -14
- package/dist/commands/deploy.d.ts.map +0 -1
- package/dist/commands/deploy.js +0 -517
- package/dist/commands/deploy.js.map +0 -1
- package/dist/commands/destroy.d.ts +0 -8
- package/dist/commands/destroy.d.ts.map +0 -1
- package/dist/commands/destroy.js +0 -66
- package/dist/commands/destroy.js.map +0 -1
- package/dist/commands/devices.d.ts +0 -6
- package/dist/commands/devices.d.ts.map +0 -1
- package/dist/commands/devices.js +0 -265
- package/dist/commands/devices.js.map +0 -1
- package/dist/commands/docs.d.ts +0 -20
- package/dist/commands/docs.d.ts.map +0 -1
- package/dist/commands/docs.js +0 -33
- package/dist/commands/docs.js.map +0 -1
- package/dist/commands/env.d.ts +0 -34
- package/dist/commands/env.d.ts.map +0 -1
- package/dist/commands/env.js +0 -612
- package/dist/commands/env.js.map +0 -1
- package/dist/commands/evals.d.ts +0 -9
- package/dist/commands/evals.d.ts.map +0 -1
- package/dist/commands/evals.js +0 -27
- package/dist/commands/evals.js.map +0 -1
- package/dist/commands/features.d.ts +0 -13
- package/dist/commands/features.d.ts.map +0 -1
- package/dist/commands/features.js +0 -455
- package/dist/commands/features.js.map +0 -1
- package/dist/commands/governance.d.ts +0 -7
- package/dist/commands/governance.d.ts.map +0 -1
- package/dist/commands/governance.js +0 -258
- package/dist/commands/governance.js.map +0 -1
- package/dist/commands/index.d.ts +0 -38
- package/dist/commands/index.d.ts.map +0 -1
- package/dist/commands/index.js +0 -38
- package/dist/commands/index.js.map +0 -1
- package/dist/commands/init.d.ts +0 -53
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js +0 -992
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/integrations.d.ts +0 -18
- package/dist/commands/integrations.d.ts.map +0 -1
- package/dist/commands/integrations.js +0 -2666
- package/dist/commands/integrations.js.map +0 -1
- package/dist/commands/jobs.d.ts +0 -13
- package/dist/commands/jobs.d.ts.map +0 -1
- package/dist/commands/jobs.js +0 -736
- package/dist/commands/jobs.js.map +0 -1
- package/dist/commands/log-tip.d.ts +0 -79
- package/dist/commands/log-tip.d.ts.map +0 -1
- package/dist/commands/log-tip.js +0 -83
- package/dist/commands/log-tip.js.map +0 -1
- package/dist/commands/logs.d.ts +0 -13
- package/dist/commands/logs.d.ts.map +0 -1
- package/dist/commands/logs.js +0 -493
- package/dist/commands/logs.js.map +0 -1
- package/dist/commands/marketplace.d.ts +0 -34
- package/dist/commands/marketplace.d.ts.map +0 -1
- package/dist/commands/marketplace.js +0 -2105
- package/dist/commands/marketplace.js.map +0 -1
- package/dist/commands/mcp.d.ts +0 -32
- package/dist/commands/mcp.d.ts.map +0 -1
- package/dist/commands/mcp.js +0 -395
- package/dist/commands/mcp.js.map +0 -1
- package/dist/commands/models.d.ts +0 -18
- package/dist/commands/models.d.ts.map +0 -1
- package/dist/commands/models.js +0 -207
- package/dist/commands/models.js.map +0 -1
- package/dist/commands/persona.d.ts +0 -13
- package/dist/commands/persona.d.ts.map +0 -1
- package/dist/commands/persona.js +0 -560
- package/dist/commands/persona.js.map +0 -1
- package/dist/commands/postprocessors.d.ts +0 -13
- package/dist/commands/postprocessors.d.ts.map +0 -1
- package/dist/commands/postprocessors.js +0 -558
- package/dist/commands/postprocessors.js.map +0 -1
- package/dist/commands/preprocessors.d.ts +0 -13
- package/dist/commands/preprocessors.d.ts.map +0 -1
- package/dist/commands/preprocessors.js +0 -558
- package/dist/commands/preprocessors.js.map +0 -1
- package/dist/commands/production.d.ts +0 -13
- package/dist/commands/production.d.ts.map +0 -1
- package/dist/commands/production.js +0 -588
- package/dist/commands/production.js.map +0 -1
- package/dist/commands/push-helpers.d.ts +0 -42
- package/dist/commands/push-helpers.d.ts.map +0 -1
- package/dist/commands/push-helpers.js +0 -48
- package/dist/commands/push-helpers.js.map +0 -1
- package/dist/commands/push.d.ts +0 -31
- package/dist/commands/push.d.ts.map +0 -1
- package/dist/commands/push.js +0 -1262
- package/dist/commands/push.js.map +0 -1
- package/dist/commands/pushBackup.d.ts +0 -78
- package/dist/commands/pushBackup.d.ts.map +0 -1
- package/dist/commands/pushBackup.js +0 -274
- package/dist/commands/pushBackup.js.map +0 -1
- package/dist/commands/resources.d.ts +0 -13
- package/dist/commands/resources.d.ts.map +0 -1
- package/dist/commands/resources.js +0 -377
- package/dist/commands/resources.js.map +0 -1
- package/dist/commands/skills.d.ts +0 -13
- package/dist/commands/skills.d.ts.map +0 -1
- package/dist/commands/skills.js +0 -618
- package/dist/commands/skills.js.map +0 -1
- package/dist/commands/source.d.ts +0 -72
- package/dist/commands/source.d.ts.map +0 -1
- package/dist/commands/source.js +0 -134
- package/dist/commands/source.js.map +0 -1
- package/dist/commands/status.d.ts +0 -14
- package/dist/commands/status.d.ts.map +0 -1
- package/dist/commands/status.js +0 -731
- package/dist/commands/status.js.map +0 -1
- package/dist/commands/sync.d.ts +0 -28
- package/dist/commands/sync.d.ts.map +0 -1
- package/dist/commands/sync.js +0 -802
- package/dist/commands/sync.js.map +0 -1
- package/dist/commands/telemetry.d.ts +0 -6
- package/dist/commands/telemetry.d.ts.map +0 -1
- package/dist/commands/telemetry.js +0 -42
- package/dist/commands/telemetry.js.map +0 -1
- package/dist/commands/test-output.helpers.d.ts +0 -24
- package/dist/commands/test-output.helpers.d.ts.map +0 -1
- package/dist/commands/test-output.helpers.js +0 -62
- package/dist/commands/test-output.helpers.js.map +0 -1
- package/dist/commands/test.d.ts +0 -9
- package/dist/commands/test.d.ts.map +0 -1
- package/dist/commands/test.js +0 -787
- package/dist/commands/test.js.map +0 -1
- package/dist/commands/update.d.ts +0 -14
- package/dist/commands/update.d.ts.map +0 -1
- package/dist/commands/update.js +0 -97
- package/dist/commands/update.js.map +0 -1
- package/dist/commands/webhooks.d.ts +0 -13
- package/dist/commands/webhooks.d.ts.map +0 -1
- package/dist/commands/webhooks.js +0 -691
- package/dist/commands/webhooks.js.map +0 -1
- package/dist/compiler/agent-traverser.d.ts +0 -140
- package/dist/compiler/agent-traverser.d.ts.map +0 -1
- package/dist/compiler/agent-traverser.js +0 -420
- package/dist/compiler/agent-traverser.js.map +0 -1
- package/dist/compiler/bundler.d.ts +0 -43
- package/dist/compiler/bundler.d.ts.map +0 -1
- package/dist/compiler/bundler.js +0 -188
- package/dist/compiler/bundler.js.map +0 -1
- package/dist/compiler/compiler.d.ts +0 -208
- package/dist/compiler/compiler.d.ts.map +0 -1
- package/dist/compiler/compiler.js +0 -706
- package/dist/compiler/compiler.js.map +0 -1
- package/dist/compiler/index.d.ts +0 -38
- package/dist/compiler/index.d.ts.map +0 -1
- package/dist/compiler/index.js +0 -43
- package/dist/compiler/index.js.map +0 -1
- package/dist/compiler/plugins/agent.plugin.d.ts +0 -58
- package/dist/compiler/plugins/agent.plugin.d.ts.map +0 -1
- package/dist/compiler/plugins/agent.plugin.js +0 -161
- package/dist/compiler/plugins/agent.plugin.js.map +0 -1
- package/dist/compiler/plugins/base.d.ts +0 -334
- package/dist/compiler/plugins/base.d.ts.map +0 -1
- package/dist/compiler/plugins/base.js +0 -353
- package/dist/compiler/plugins/base.js.map +0 -1
- package/dist/compiler/plugins/device-trigger.plugin.d.ts +0 -38
- package/dist/compiler/plugins/device-trigger.plugin.d.ts.map +0 -1
- package/dist/compiler/plugins/device-trigger.plugin.js +0 -107
- package/dist/compiler/plugins/device-trigger.plugin.js.map +0 -1
- package/dist/compiler/plugins/device.plugin.d.ts +0 -39
- package/dist/compiler/plugins/device.plugin.d.ts.map +0 -1
- package/dist/compiler/plugins/device.plugin.js +0 -77
- package/dist/compiler/plugins/device.plugin.js.map +0 -1
- package/dist/compiler/plugins/job.plugin.d.ts +0 -34
- package/dist/compiler/plugins/job.plugin.d.ts.map +0 -1
- package/dist/compiler/plugins/job.plugin.js +0 -108
- package/dist/compiler/plugins/job.plugin.js.map +0 -1
- package/dist/compiler/plugins/mcp-server.plugin.d.ts +0 -38
- package/dist/compiler/plugins/mcp-server.plugin.d.ts.map +0 -1
- package/dist/compiler/plugins/mcp-server.plugin.js +0 -107
- package/dist/compiler/plugins/mcp-server.plugin.js.map +0 -1
- package/dist/compiler/plugins/postprocessor.plugin.d.ts +0 -21
- package/dist/compiler/plugins/postprocessor.plugin.d.ts.map +0 -1
- package/dist/compiler/plugins/postprocessor.plugin.js +0 -36
- package/dist/compiler/plugins/postprocessor.plugin.js.map +0 -1
- package/dist/compiler/plugins/preprocessor.plugin.d.ts +0 -21
- package/dist/compiler/plugins/preprocessor.plugin.d.ts.map +0 -1
- package/dist/compiler/plugins/preprocessor.plugin.js +0 -38
- package/dist/compiler/plugins/preprocessor.plugin.js.map +0 -1
- package/dist/compiler/plugins/processor-base.d.ts +0 -17
- package/dist/compiler/plugins/processor-base.d.ts.map +0 -1
- package/dist/compiler/plugins/processor-base.js +0 -27
- package/dist/compiler/plugins/processor-base.js.map +0 -1
- package/dist/compiler/plugins/registry.d.ts +0 -62
- package/dist/compiler/plugins/registry.d.ts.map +0 -1
- package/dist/compiler/plugins/registry.js +0 -113
- package/dist/compiler/plugins/registry.js.map +0 -1
- package/dist/compiler/plugins/skill.plugin.d.ts +0 -106
- package/dist/compiler/plugins/skill.plugin.d.ts.map +0 -1
- package/dist/compiler/plugins/skill.plugin.js +0 -316
- package/dist/compiler/plugins/skill.plugin.js.map +0 -1
- package/dist/compiler/plugins/tool.plugin.d.ts +0 -69
- package/dist/compiler/plugins/tool.plugin.d.ts.map +0 -1
- package/dist/compiler/plugins/tool.plugin.js +0 -262
- package/dist/compiler/plugins/tool.plugin.js.map +0 -1
- package/dist/compiler/plugins/webhook.plugin.d.ts +0 -38
- package/dist/compiler/plugins/webhook.plugin.d.ts.map +0 -1
- package/dist/compiler/plugins/webhook.plugin.js +0 -117
- package/dist/compiler/plugins/webhook.plugin.js.map +0 -1
- package/dist/compiler/source-writer.d.ts +0 -129
- package/dist/compiler/source-writer.d.ts.map +0 -1
- package/dist/compiler/source-writer.js +0 -329
- package/dist/compiler/source-writer.js.map +0 -1
- package/dist/compiler/types.d.ts +0 -391
- package/dist/compiler/types.d.ts.map +0 -1
- package/dist/compiler/types.js +0 -30
- package/dist/compiler/types.js.map +0 -1
- package/dist/compiler/utils/ast-helpers.d.ts +0 -106
- package/dist/compiler/utils/ast-helpers.d.ts.map +0 -1
- package/dist/compiler/utils/ast-helpers.js +0 -356
- package/dist/compiler/utils/ast-helpers.js.map +0 -1
- package/dist/compiler/utils/common.d.ts +0 -22
- package/dist/compiler/utils/common.d.ts.map +0 -1
- package/dist/compiler/utils/common.js +0 -55
- package/dist/compiler/utils/common.js.map +0 -1
- package/dist/compiler/utils/file-discovery.d.ts +0 -35
- package/dist/compiler/utils/file-discovery.d.ts.map +0 -1
- package/dist/compiler/utils/file-discovery.js +0 -60
- package/dist/compiler/utils/file-discovery.js.map +0 -1
- package/dist/compiler/utils/path-resolver.d.ts +0 -83
- package/dist/compiler/utils/path-resolver.d.ts.map +0 -1
- package/dist/compiler/utils/path-resolver.js +0 -162
- package/dist/compiler/utils/path-resolver.js.map +0 -1
- package/dist/compiler/utils/reference-resolver.d.ts +0 -196
- package/dist/compiler/utils/reference-resolver.d.ts.map +0 -1
- package/dist/compiler/utils/reference-resolver.js +0 -1026
- package/dist/compiler/utils/reference-resolver.js.map +0 -1
- package/dist/compiler/utils/schema-converter.d.ts +0 -52
- package/dist/compiler/utils/schema-converter.d.ts.map +0 -1
- package/dist/compiler/utils/schema-converter.js +0 -170
- package/dist/compiler/utils/schema-converter.js.map +0 -1
- package/dist/compiler/utils/workspace.d.ts +0 -35
- package/dist/compiler/utils/workspace.d.ts.map +0 -1
- package/dist/compiler/utils/workspace.js +0 -121
- package/dist/compiler/utils/workspace.js.map +0 -1
- package/dist/config/compile.constants.d.ts +0 -75
- package/dist/config/compile.constants.d.ts.map +0 -1
- package/dist/config/compile.constants.js +0 -95
- package/dist/config/compile.constants.js.map +0 -1
- package/dist/config/constants.d.ts +0 -49
- package/dist/config/constants.d.ts.map +0 -1
- package/dist/config/constants.js +0 -69
- package/dist/config/constants.js.map +0 -1
- package/dist/errors/auth.error.d.ts +0 -34
- package/dist/errors/auth.error.d.ts.map +0 -1
- package/dist/errors/auth.error.js +0 -29
- package/dist/errors/auth.error.js.map +0 -1
- package/dist/errors/index.d.ts +0 -5
- package/dist/errors/index.d.ts.map +0 -1
- package/dist/errors/index.js +0 -5
- package/dist/errors/index.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/instances/basket.instance.d.ts +0 -82
- package/dist/instances/basket.instance.d.ts.map +0 -1
- package/dist/instances/basket.instance.js +0 -245
- package/dist/instances/basket.instance.js.map +0 -1
- package/dist/instances/data.entry.instance.d.ts +0 -50
- package/dist/instances/data.entry.instance.d.ts.map +0 -1
- package/dist/instances/data.entry.instance.js +0 -163
- package/dist/instances/data.entry.instance.js.map +0 -1
- package/dist/instances/job.instance.d.ts +0 -133
- package/dist/instances/job.instance.d.ts.map +0 -1
- package/dist/instances/job.instance.js +0 -180
- package/dist/instances/job.instance.js.map +0 -1
- package/dist/instances/order.instance.d.ts +0 -50
- package/dist/instances/order.instance.d.ts.map +0 -1
- package/dist/instances/order.instance.js +0 -199
- package/dist/instances/order.instance.js.map +0 -1
- package/dist/instances/product.instance.d.ts +0 -43
- package/dist/instances/product.instance.d.ts.map +0 -1
- package/dist/instances/product.instance.js +0 -145
- package/dist/instances/product.instance.js.map +0 -1
- package/dist/instances/product.pagination.instance.d.ts +0 -102
- package/dist/instances/product.pagination.instance.d.ts.map +0 -1
- package/dist/instances/product.pagination.instance.js +0 -156
- package/dist/instances/product.pagination.instance.js.map +0 -1
- package/dist/instances/product.search.instance.d.ts +0 -81
- package/dist/instances/product.search.instance.d.ts.map +0 -1
- package/dist/instances/product.search.instance.js +0 -121
- package/dist/instances/product.search.instance.js.map +0 -1
- package/dist/instances/user.instance.d.ts +0 -56
- package/dist/instances/user.instance.d.ts.map +0 -1
- package/dist/instances/user.instance.js +0 -188
- package/dist/instances/user.instance.js.map +0 -1
- package/dist/interfaces/admin.d.ts +0 -64
- package/dist/interfaces/admin.d.ts.map +0 -1
- package/dist/interfaces/admin.js +0 -6
- package/dist/interfaces/admin.js.map +0 -1
- package/dist/interfaces/agent.d.ts +0 -399
- package/dist/interfaces/agent.d.ts.map +0 -1
- package/dist/interfaces/agent.js +0 -6
- package/dist/interfaces/agent.js.map +0 -1
- package/dist/interfaces/backup.d.ts +0 -17
- package/dist/interfaces/backup.d.ts.map +0 -1
- package/dist/interfaces/backup.js +0 -7
- package/dist/interfaces/backup.js.map +0 -1
- package/dist/interfaces/baskets.d.ts +0 -80
- package/dist/interfaces/baskets.d.ts.map +0 -1
- package/dist/interfaces/baskets.js +0 -20
- package/dist/interfaces/baskets.js.map +0 -1
- package/dist/interfaces/cdn.d.ts +0 -25
- package/dist/interfaces/cdn.d.ts.map +0 -1
- package/dist/interfaces/cdn.js +0 -6
- package/dist/interfaces/cdn.js.map +0 -1
- package/dist/interfaces/chat.d.ts +0 -98
- package/dist/interfaces/chat.d.ts.map +0 -1
- package/dist/interfaces/chat.js +0 -6
- package/dist/interfaces/chat.js.map +0 -1
- package/dist/interfaces/common.d.ts +0 -64
- package/dist/interfaces/common.d.ts.map +0 -1
- package/dist/interfaces/common.js +0 -9
- package/dist/interfaces/common.js.map +0 -1
- package/dist/interfaces/custom.data.d.ts +0 -83
- package/dist/interfaces/custom.data.d.ts.map +0 -1
- package/dist/interfaces/custom.data.js +0 -6
- package/dist/interfaces/custom.data.js.map +0 -1
- package/dist/interfaces/deploy.d.ts +0 -15
- package/dist/interfaces/deploy.d.ts.map +0 -1
- package/dist/interfaces/deploy.js +0 -5
- package/dist/interfaces/deploy.js.map +0 -1
- package/dist/interfaces/dev.d.ts +0 -54
- package/dist/interfaces/dev.d.ts.map +0 -1
- package/dist/interfaces/dev.js +0 -6
- package/dist/interfaces/dev.js.map +0 -1
- package/dist/interfaces/device-triggers.d.ts +0 -80
- package/dist/interfaces/device-triggers.d.ts.map +0 -1
- package/dist/interfaces/device-triggers.js +0 -6
- package/dist/interfaces/device-triggers.js.map +0 -1
- package/dist/interfaces/devices.d.ts +0 -74
- package/dist/interfaces/devices.d.ts.map +0 -1
- package/dist/interfaces/devices.js +0 -5
- package/dist/interfaces/devices.js.map +0 -1
- package/dist/interfaces/index.d.ts +0 -15
- package/dist/interfaces/index.d.ts.map +0 -1
- package/dist/interfaces/index.js +0 -8
- package/dist/interfaces/index.js.map +0 -1
- package/dist/interfaces/init.d.ts +0 -42
- package/dist/interfaces/init.d.ts.map +0 -1
- package/dist/interfaces/init.js +0 -5
- package/dist/interfaces/init.js.map +0 -1
- package/dist/interfaces/jobs.d.ts +0 -149
- package/dist/interfaces/jobs.d.ts.map +0 -1
- package/dist/interfaces/jobs.js +0 -6
- package/dist/interfaces/jobs.js.map +0 -1
- package/dist/interfaces/logs.d.ts +0 -44
- package/dist/interfaces/logs.d.ts.map +0 -1
- package/dist/interfaces/logs.js +0 -6
- package/dist/interfaces/logs.js.map +0 -1
- package/dist/interfaces/lua.d.ts +0 -37
- package/dist/interfaces/lua.d.ts.map +0 -1
- package/dist/interfaces/lua.js +0 -6
- package/dist/interfaces/lua.js.map +0 -1
- package/dist/interfaces/marketplace.d.ts +0 -171
- package/dist/interfaces/marketplace.d.ts.map +0 -1
- package/dist/interfaces/marketplace.js +0 -3
- package/dist/interfaces/marketplace.js.map +0 -1
- package/dist/interfaces/mcp.d.ts +0 -96
- package/dist/interfaces/mcp.d.ts.map +0 -1
- package/dist/interfaces/mcp.js +0 -9
- package/dist/interfaces/mcp.js.map +0 -1
- package/dist/interfaces/message.d.ts +0 -16
- package/dist/interfaces/message.d.ts.map +0 -1
- package/dist/interfaces/message.js +0 -2
- package/dist/interfaces/message.js.map +0 -1
- package/dist/interfaces/orders.d.ts +0 -68
- package/dist/interfaces/orders.d.ts.map +0 -1
- package/dist/interfaces/orders.js +0 -20
- package/dist/interfaces/orders.js.map +0 -1
- package/dist/interfaces/persona.d.ts +0 -44
- package/dist/interfaces/persona.d.ts.map +0 -1
- package/dist/interfaces/persona.js +0 -6
- package/dist/interfaces/persona.js.map +0 -1
- package/dist/interfaces/postprocessors.d.ts +0 -15
- package/dist/interfaces/postprocessors.d.ts.map +0 -1
- package/dist/interfaces/postprocessors.js +0 -5
- package/dist/interfaces/postprocessors.js.map +0 -1
- package/dist/interfaces/preprocessors.d.ts +0 -15
- package/dist/interfaces/preprocessors.d.ts.map +0 -1
- package/dist/interfaces/preprocessors.js +0 -5
- package/dist/interfaces/preprocessors.js.map +0 -1
- package/dist/interfaces/product.d.ts +0 -92
- package/dist/interfaces/product.d.ts.map +0 -1
- package/dist/interfaces/product.js +0 -6
- package/dist/interfaces/product.js.map +0 -1
- package/dist/interfaces/push.d.ts +0 -27
- package/dist/interfaces/push.d.ts.map +0 -1
- package/dist/interfaces/push.js +0 -5
- package/dist/interfaces/push.js.map +0 -1
- package/dist/interfaces/skills.d.ts +0 -137
- package/dist/interfaces/skills.d.ts.map +0 -1
- package/dist/interfaces/skills.js +0 -6
- package/dist/interfaces/skills.js.map +0 -1
- package/dist/interfaces/test.d.ts +0 -37
- package/dist/interfaces/test.d.ts.map +0 -1
- package/dist/interfaces/test.js +0 -5
- package/dist/interfaces/test.js.map +0 -1
- package/dist/interfaces/unifiedto.d.ts +0 -141
- package/dist/interfaces/unifiedto.d.ts.map +0 -1
- package/dist/interfaces/unifiedto.js +0 -6
- package/dist/interfaces/unifiedto.js.map +0 -1
- package/dist/interfaces/user.d.ts +0 -75
- package/dist/interfaces/user.d.ts.map +0 -1
- package/dist/interfaces/user.js +0 -2
- package/dist/interfaces/user.js.map +0 -1
- package/dist/interfaces/webhooks.d.ts +0 -97
- package/dist/interfaces/webhooks.d.ts.map +0 -1
- package/dist/interfaces/webhooks.js +0 -6
- package/dist/interfaces/webhooks.js.map +0 -1
- package/dist/interfaces/whatsapp-templates.d.ts +0 -105
- package/dist/interfaces/whatsapp-templates.d.ts.map +0 -1
- package/dist/interfaces/whatsapp-templates.js +0 -6
- package/dist/interfaces/whatsapp-templates.js.map +0 -1
- package/dist/primitives/agent.handler.d.ts +0 -71
- package/dist/primitives/agent.handler.d.ts.map +0 -1
- package/dist/primitives/agent.handler.js +0 -226
- package/dist/primitives/agent.handler.js.map +0 -1
- package/dist/primitives/base.handler.d.ts +0 -229
- package/dist/primitives/base.handler.d.ts.map +0 -1
- package/dist/primitives/base.handler.js +0 -620
- package/dist/primitives/base.handler.js.map +0 -1
- package/dist/primitives/device-trigger.handler.d.ts +0 -56
- package/dist/primitives/device-trigger.handler.d.ts.map +0 -1
- package/dist/primitives/device-trigger.handler.js +0 -99
- package/dist/primitives/device-trigger.handler.js.map +0 -1
- package/dist/primitives/device.handler.d.ts +0 -57
- package/dist/primitives/device.handler.d.ts.map +0 -1
- package/dist/primitives/device.handler.js +0 -103
- package/dist/primitives/device.handler.js.map +0 -1
- package/dist/primitives/index.d.ts +0 -51
- package/dist/primitives/index.d.ts.map +0 -1
- package/dist/primitives/index.js +0 -75
- package/dist/primitives/index.js.map +0 -1
- package/dist/primitives/job.handler.d.ts +0 -53
- package/dist/primitives/job.handler.d.ts.map +0 -1
- package/dist/primitives/job.handler.js +0 -110
- package/dist/primitives/job.handler.js.map +0 -1
- package/dist/primitives/mcp-server.handler.d.ts +0 -93
- package/dist/primitives/mcp-server.handler.d.ts.map +0 -1
- package/dist/primitives/mcp-server.handler.js +0 -216
- package/dist/primitives/mcp-server.handler.js.map +0 -1
- package/dist/primitives/postprocessor.handler.d.ts +0 -44
- package/dist/primitives/postprocessor.handler.d.ts.map +0 -1
- package/dist/primitives/postprocessor.handler.js +0 -71
- package/dist/primitives/postprocessor.handler.js.map +0 -1
- package/dist/primitives/preprocessor.handler.d.ts +0 -44
- package/dist/primitives/preprocessor.handler.d.ts.map +0 -1
- package/dist/primitives/preprocessor.handler.js +0 -72
- package/dist/primitives/preprocessor.handler.js.map +0 -1
- package/dist/primitives/skill.handler.d.ts +0 -47
- package/dist/primitives/skill.handler.d.ts.map +0 -1
- package/dist/primitives/skill.handler.js +0 -229
- package/dist/primitives/skill.handler.js.map +0 -1
- package/dist/primitives/types.d.ts +0 -91
- package/dist/primitives/types.d.ts.map +0 -1
- package/dist/primitives/types.js +0 -17
- package/dist/primitives/types.js.map +0 -1
- package/dist/primitives/webhook.handler.d.ts +0 -47
- package/dist/primitives/webhook.handler.d.ts.map +0 -1
- package/dist/primitives/webhook.handler.js +0 -87
- package/dist/primitives/webhook.handler.js.map +0 -1
- package/dist/services/analytics.d.ts +0 -57
- package/dist/services/analytics.d.ts.map +0 -1
- package/dist/services/analytics.js +0 -317
- package/dist/services/analytics.js.map +0 -1
- package/dist/services/auth.d.ts +0 -72
- package/dist/services/auth.d.ts.map +0 -1
- package/dist/services/auth.js +0 -173
- package/dist/services/auth.js.map +0 -1
- package/dist/services/sandbox.service.d.ts +0 -105
- package/dist/services/sandbox.service.d.ts.map +0 -1
- package/dist/services/sandbox.service.js +0 -531
- package/dist/services/sandbox.service.js.map +0 -1
- package/dist/types/api-contracts.d.ts +0 -287
- package/dist/types/api-contracts.d.ts.map +0 -1
- package/dist/types/api-contracts.js +0 -2
- package/dist/types/api-contracts.js.map +0 -1
- package/dist/types/index.d.ts +0 -28
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -30
- package/dist/types/index.js.map +0 -1
- package/dist/types/skill.d.ts +0 -1079
- package/dist/types/skill.d.ts.map +0 -1
- package/dist/types/skill.js +0 -688
- package/dist/types/skill.js.map +0 -1
- package/dist/types/tool-validation.d.ts +0 -35
- package/dist/types/tool-validation.d.ts.map +0 -1
- package/dist/types/tool-validation.js +0 -43
- package/dist/types/tool-validation.js.map +0 -1
- package/dist/types/yaml.types.d.ts +0 -91
- package/dist/types/yaml.types.d.ts.map +0 -1
- package/dist/types/yaml.types.js +0 -5
- package/dist/types/yaml.types.js.map +0 -1
- package/dist/utils/aliases.d.ts +0 -7
- package/dist/utils/aliases.d.ts.map +0 -1
- package/dist/utils/aliases.js +0 -492
- package/dist/utils/aliases.js.map +0 -1
- package/dist/utils/artifact-loader.d.ts +0 -152
- package/dist/utils/artifact-loader.d.ts.map +0 -1
- package/dist/utils/artifact-loader.js +0 -284
- package/dist/utils/artifact-loader.js.map +0 -1
- package/dist/utils/auth-flows.d.ts +0 -55
- package/dist/utils/auth-flows.d.ts.map +0 -1
- package/dist/utils/auth-flows.js +0 -246
- package/dist/utils/auth-flows.js.map +0 -1
- package/dist/utils/backup-helpers.d.ts +0 -238
- package/dist/utils/backup-helpers.d.ts.map +0 -1
- package/dist/utils/backup-helpers.js +0 -704
- package/dist/utils/backup-helpers.js.map +0 -1
- package/dist/utils/build-manifest-from-disk.d.ts +0 -8
- package/dist/utils/build-manifest-from-disk.d.ts.map +0 -1
- package/dist/utils/build-manifest-from-disk.js +0 -21
- package/dist/utils/build-manifest-from-disk.js.map +0 -1
- package/dist/utils/bundle-upload.d.ts +0 -42
- package/dist/utils/bundle-upload.d.ts.map +0 -1
- package/dist/utils/bundle-upload.js +0 -90
- package/dist/utils/bundle-upload.js.map +0 -1
- package/dist/utils/chat-attachments.d.ts +0 -15
- package/dist/utils/chat-attachments.d.ts.map +0 -1
- package/dist/utils/chat-attachments.js +0 -116
- package/dist/utils/chat-attachments.js.map +0 -1
- package/dist/utils/cli.d.ts +0 -62
- package/dist/utils/cli.d.ts.map +0 -1
- package/dist/utils/cli.js +0 -198
- package/dist/utils/cli.js.map +0 -1
- package/dist/utils/command-utils.d.ts +0 -46
- package/dist/utils/command-utils.d.ts.map +0 -1
- package/dist/utils/command-utils.js +0 -74
- package/dist/utils/command-utils.js.map +0 -1
- package/dist/utils/deploy-helpers.d.ts +0 -40
- package/dist/utils/deploy-helpers.d.ts.map +0 -1
- package/dist/utils/deploy-helpers.js +0 -76
- package/dist/utils/deploy-helpers.js.map +0 -1
- package/dist/utils/env-loader.utils.d.ts +0 -19
- package/dist/utils/env-loader.utils.d.ts.map +0 -1
- package/dist/utils/env-loader.utils.js +0 -90
- package/dist/utils/env-loader.utils.js.map +0 -1
- package/dist/utils/files.d.ts +0 -65
- package/dist/utils/files.d.ts.map +0 -1
- package/dist/utils/files.js +0 -193
- package/dist/utils/files.js.map +0 -1
- package/dist/utils/hints.d.ts +0 -81
- package/dist/utils/hints.d.ts.map +0 -1
- package/dist/utils/hints.js +0 -81
- package/dist/utils/hints.js.map +0 -1
- package/dist/utils/init-agent.d.ts +0 -86
- package/dist/utils/init-agent.d.ts.map +0 -1
- package/dist/utils/init-agent.js +0 -201
- package/dist/utils/init-agent.js.map +0 -1
- package/dist/utils/init-helpers.d.ts +0 -37
- package/dist/utils/init-helpers.d.ts.map +0 -1
- package/dist/utils/init-helpers.js +0 -78
- package/dist/utils/init-helpers.js.map +0 -1
- package/dist/utils/init-prompts.d.ts +0 -74
- package/dist/utils/init-prompts.d.ts.map +0 -1
- package/dist/utils/init-prompts.js +0 -256
- package/dist/utils/init-prompts.js.map +0 -1
- package/dist/utils/prompt-handler.d.ts +0 -17
- package/dist/utils/prompt-handler.d.ts.map +0 -1
- package/dist/utils/prompt-handler.js +0 -49
- package/dist/utils/prompt-handler.js.map +0 -1
- package/dist/utils/sandbox-storage.d.ts +0 -83
- package/dist/utils/sandbox-storage.d.ts.map +0 -1
- package/dist/utils/sandbox-storage.js +0 -211
- package/dist/utils/sandbox-storage.js.map +0 -1
- package/dist/utils/sandbox.d.ts +0 -76
- package/dist/utils/sandbox.d.ts.map +0 -1
- package/dist/utils/sandbox.js +0 -664
- package/dist/utils/sandbox.js.map +0 -1
- package/dist/utils/semver.d.ts +0 -40
- package/dist/utils/semver.d.ts.map +0 -1
- package/dist/utils/semver.js +0 -99
- package/dist/utils/semver.js.map +0 -1
- package/dist/utils/suggest.d.ts +0 -3
- package/dist/utils/suggest.d.ts.map +0 -1
- package/dist/utils/suggest.js +0 -32
- package/dist/utils/suggest.js.map +0 -1
- package/dist/utils/sync-display.d.ts +0 -28
- package/dist/utils/sync-display.d.ts.map +0 -1
- package/dist/utils/sync-display.js +0 -168
- package/dist/utils/sync-display.js.map +0 -1
- package/dist/utils/sync-fetch.d.ts +0 -108
- package/dist/utils/sync-fetch.d.ts.map +0 -1
- package/dist/utils/sync-fetch.js +0 -294
- package/dist/utils/sync-fetch.js.map +0 -1
- package/dist/utils/sync-helpers.d.ts +0 -7
- package/dist/utils/sync-helpers.d.ts.map +0 -1
- package/dist/utils/sync-helpers.js +0 -7
- package/dist/utils/sync-helpers.js.map +0 -1
- package/dist/utils/version-check.d.ts +0 -37
- package/dist/utils/version-check.d.ts.map +0 -1
- package/dist/utils/version-check.js +0 -117
- package/dist/utils/version-check.js.map +0 -1
- package/dist/utils/write-info.d.ts +0 -9
- package/dist/utils/write-info.d.ts.map +0 -1
- package/dist/utils/write-info.js +0 -11
- package/dist/utils/write-info.js.map +0 -1
- package/node_modules/@lua/shared-source-sync/dist/index.d.mts +0 -424
- package/node_modules/@lua/shared-source-sync/dist/index.d.ts +0 -424
- package/node_modules/@lua/shared-source-sync/dist/index.js +0 -536
- package/node_modules/@lua/shared-source-sync/dist/index.mjs +0 -491
- package/node_modules/@lua/shared-source-sync/package.json +0 -26
- package/node_modules/@lua/shared-source-sync/src/archive.ts +0 -98
- package/node_modules/@lua/shared-source-sync/src/filter.ts +0 -72
- package/node_modules/@lua/shared-source-sync/src/hash.ts +0 -40
- package/node_modules/@lua/shared-source-sync/src/http.ts +0 -132
- package/node_modules/@lua/shared-source-sync/src/index.ts +0 -56
- package/node_modules/@lua/shared-source-sync/src/pull.ts +0 -50
- package/node_modules/@lua/shared-source-sync/src/push.ts +0 -94
- package/node_modules/@lua/shared-source-sync/src/restore.ts +0 -83
- package/node_modules/@lua/shared-source-sync/src/skill-source.ts +0 -55
- package/node_modules/@lua/shared-source-sync/src/transfer.ts +0 -92
- package/node_modules/@lua/shared-source-sync/src/types.ts +0 -88
- package/node_modules/@lua/shared-source-sync/src/walk.ts +0 -91
- package/node_modules/@lua/shared-source-sync/tests/archive.test.ts +0 -108
- package/node_modules/@lua/shared-source-sync/tests/hash.test.ts +0 -40
- package/node_modules/@lua/shared-source-sync/tests/http.test.ts +0 -77
- package/node_modules/@lua/shared-source-sync/tests/push.test.ts +0 -162
- package/node_modules/@lua/shared-source-sync/tests/walk.test.ts +0 -84
- package/node_modules/@lua/shared-source-sync/tsconfig.json +0 -12
- package/node_modules/@lua/shared-source-sync/tsup.config.ts +0 -9
- package/node_modules/@lua/shared-source-sync/vitest.config.ts +0 -8
- package/node_modules/@lua/shared-types/dist/index.d.mts +0 -619
- package/node_modules/@lua/shared-types/dist/index.d.ts +0 -619
- package/node_modules/@lua/shared-types/dist/index.js +0 -435
- package/node_modules/@lua/shared-types/dist/index.mjs +0 -394
- package/node_modules/@lua/shared-types/package.json +0 -26
- package/node_modules/@lua/shared-types/src/agent-config.types.ts +0 -45
- package/node_modules/@lua/shared-types/src/agent-invocation.types.ts +0 -73
- package/node_modules/@lua/shared-types/src/ai-generate.types.ts +0 -74
- package/node_modules/@lua/shared-types/src/ai-generate.utils.ts +0 -16
- package/node_modules/@lua/shared-types/src/channel.type.ts +0 -23
- package/node_modules/@lua/shared-types/src/chat-history.types.ts +0 -112
- package/node_modules/@lua/shared-types/src/chat-stream.types.ts +0 -18
- package/node_modules/@lua/shared-types/src/client-tools.types.ts +0 -47
- package/node_modules/@lua/shared-types/src/device.types.ts +0 -190
- package/node_modules/@lua/shared-types/src/index.ts +0 -15
- package/node_modules/@lua/shared-types/src/model-registry.ts +0 -26
- package/node_modules/@lua/shared-types/src/persona-defaults.ts +0 -59
- package/node_modules/@lua/shared-types/src/persona-text.type.ts +0 -92
- package/node_modules/@lua/shared-types/src/sandbox-contract.ts +0 -63
- package/node_modules/@lua/shared-types/src/unstructured-types.ts +0 -58
- package/node_modules/@lua/shared-types/src/vm-execution-log.types.ts +0 -41
- package/node_modules/@lua/shared-types/tsconfig.json +0 -12
- package/node_modules/@lua/shared-types/tsup.config.ts +0 -9
- package/scripts/resolve-workspace-deps.cjs +0 -61
- /package/dist/{compiler/utils/zod-runtime.mjs → zod-runtime.mjs} +0 -0
|
@@ -0,0 +1,1217 @@
|
|
|
1
|
+
import { llm } from '@livekit/agents';
|
|
2
|
+
import { voice } from '@livekit/agents';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { ZodType } from 'zod';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Assert the run invoked a specific tool. Optional args matcher narrows
|
|
8
|
+
* to a specific call shape.
|
|
9
|
+
*/
|
|
10
|
+
export declare function expectCalledTool(result: RunResult, toolName: string, expectedArgs?: Record<string, unknown> | ((args: unknown) => boolean)): void;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Assert the run produced an agent handoff. By name (the LuaVoice's
|
|
14
|
+
* `name` field), since the test harness doesn't have access to the
|
|
15
|
+
* Agent constructor types LiveKit's `containsAgentHandoff` expects.
|
|
16
|
+
*/
|
|
17
|
+
export declare function expectContainsHandoff(result: RunResult, voiceName: string): void;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Assert the run produced an assistant message matching the predicate.
|
|
21
|
+
* Predicate can be a substring, a regex, or a custom function.
|
|
22
|
+
*/
|
|
23
|
+
export declare function expectContainsMessage(result: RunResult, matcher: string | RegExp | ((text: string) => boolean)): void;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Throwing variant for jest-style tests. Throws an Error with the
|
|
27
|
+
* judge's verdict + the original criterion when the judge says no, so
|
|
28
|
+
* the failure message in the test report is self-explanatory.
|
|
29
|
+
*/
|
|
30
|
+
export declare function expectJudge(response: string, criterion: string, options: JudgeOptions): Promise<void>;
|
|
31
|
+
|
|
32
|
+
declare type FakeLLMResponse = voice.testing.FakeLLMResponse;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Returns true when the judge LLM concludes the response satisfies the
|
|
36
|
+
* criterion. False on disagreement OR on any judge failure (network,
|
|
37
|
+
* malformed response, timeout) — fail-closed so a flaky judge doesn't
|
|
38
|
+
* mask a real assertion failure.
|
|
39
|
+
*/
|
|
40
|
+
export declare function judge(response: string, criterion: string, options: JudgeOptions): Promise<boolean>;
|
|
41
|
+
|
|
42
|
+
export declare interface JudgeOptions {
|
|
43
|
+
/** LLM instance the judge prompt runs against. */
|
|
44
|
+
llm: llm.LLM;
|
|
45
|
+
/**
|
|
46
|
+
* Optional system instruction override. The default keeps the judge
|
|
47
|
+
* strict ("answer yes or no, no explanation"). Override when you need
|
|
48
|
+
* the judge to score on a scale or return structured output — though
|
|
49
|
+
* structured output is more brittle than yes/no.
|
|
50
|
+
*/
|
|
51
|
+
systemInstruction?: string;
|
|
52
|
+
/**
|
|
53
|
+
* Optional context. When set, the judge sees additional facts
|
|
54
|
+
* before scoring the response. Useful for "did the agent answer
|
|
55
|
+
* factually given these facts": pass the facts as `context`.
|
|
56
|
+
*/
|
|
57
|
+
context?: string;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export { llm }
|
|
61
|
+
|
|
62
|
+
declare interface LuaTool<TInput extends ZodType = ZodType> {
|
|
63
|
+
/** Unique tool name (alphanumeric, hyphens, underscores only) */
|
|
64
|
+
name: string;
|
|
65
|
+
/** Description of what the tool does */
|
|
66
|
+
description: string;
|
|
67
|
+
/** Zod schema for input validation */
|
|
68
|
+
inputSchema: TInput;
|
|
69
|
+
/**
|
|
70
|
+
* Async function that executes the tool logic.
|
|
71
|
+
*
|
|
72
|
+
* `ctx` is `undefined` when the tool runs from the chat path (lua-core's
|
|
73
|
+
* vm-execution doesn't pass a second arg today). When the tool runs
|
|
74
|
+
* inside a voice session, `ctx` carries the voice runtime's delegates
|
|
75
|
+
* (`ctx.voice.say(...)` to emit a spoken acknowledgement, plus the
|
|
76
|
+
* `toolCallId` LiveKit assigned). Tools that want to bridge both modes
|
|
77
|
+
* read `ctx?.voice` and branch.
|
|
78
|
+
*/
|
|
79
|
+
execute: (input: any, ctx?: LuaToolCtx) => Promise<any>;
|
|
80
|
+
/** Optional async function that determines if the tool should be available */
|
|
81
|
+
condition?: () => Promise<boolean>;
|
|
82
|
+
/**
|
|
83
|
+
* Optional voice-only metadata. When present, the lua-livekit worker
|
|
84
|
+
* applies these flags to the wrapped LiveKit `llm.tool()` registration.
|
|
85
|
+
* Tools without this field work in chat and voice unchanged.
|
|
86
|
+
*/
|
|
87
|
+
voice?: {
|
|
88
|
+
flags?: ToolFlag[];
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Per-call context passed to a `LuaTool.execute` running inside a voice
|
|
94
|
+
* session. Imported here (rather than in `voice.ts`) to break a circular
|
|
95
|
+
* import — `LuaVoiceTool` extends `LuaTool` and would otherwise loop.
|
|
96
|
+
*
|
|
97
|
+
* The chat path (lua-core's vm-execution) doesn't pass a second arg, so
|
|
98
|
+
* `ctx` is `undefined` for chat. The voice path passes `{ toolCallId,
|
|
99
|
+
* voice: { say } }`. Tools that want to act differently inside a voice
|
|
100
|
+
* call check for `ctx?.voice` and use the typed surface.
|
|
101
|
+
*/
|
|
102
|
+
declare interface LuaToolCtx {
|
|
103
|
+
/** LiveKit's tool-call id (voice only). */
|
|
104
|
+
toolCallId?: string;
|
|
105
|
+
/** Voice-runtime delegates. Only set when the tool runs over voice. */
|
|
106
|
+
voice?: {
|
|
107
|
+
say(text: string): Promise<void>;
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Code-defined voice agent. Pushed via `lua push`, attached to channels through
|
|
113
|
+
* the owning `LuaAgent.voice` field. Auto-dispatched into LiveKit rooms when a
|
|
114
|
+
* channel bound to that agent receives a voice event.
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* ```typescript
|
|
118
|
+
* import { LuaVoice } from 'lua-cli';
|
|
119
|
+
*
|
|
120
|
+
* export default new LuaVoice({
|
|
121
|
+
* name: 'support-line',
|
|
122
|
+
* llm: 'openai/gpt-5.2-chat-latest',
|
|
123
|
+
* stt: 'deepgram/nova-3',
|
|
124
|
+
* tts: { model: 'cartesia/sonic-3', voice: '9626c31c-bec5-4cca-baa8-f8ba9e84c8bc' },
|
|
125
|
+
* vad: 'silero',
|
|
126
|
+
* turnDetection: 'multilingual',
|
|
127
|
+
* greeting: 'Hi, how can I help today?',
|
|
128
|
+
* maxToolSteps: 3,
|
|
129
|
+
* interruption: { mode: 'adaptive', falseInterruptionTimeout: 2.0 },
|
|
130
|
+
*
|
|
131
|
+
* onEnter: async (ctx) => {
|
|
132
|
+
* if (ctx.caller?.phoneNumber) {
|
|
133
|
+
* const user = await User.get({ phone: ctx.caller.phoneNumber });
|
|
134
|
+
* ctx.session.userdata = { user, returning: !!user };
|
|
135
|
+
* }
|
|
136
|
+
* },
|
|
137
|
+
*
|
|
138
|
+
* onUserTurnCompleted: async (turnCtx, message) => {
|
|
139
|
+
* const docs = await Data.search('kb', message.content, 3);
|
|
140
|
+
* for (const doc of docs) turnCtx.addMessage({ role: 'system', content: doc.text });
|
|
141
|
+
* },
|
|
142
|
+
* });
|
|
143
|
+
* ```
|
|
144
|
+
*/
|
|
145
|
+
declare class LuaVoice {
|
|
146
|
+
readonly name: string;
|
|
147
|
+
readonly description?: string;
|
|
148
|
+
readonly llm: LuaVoiceModelInput;
|
|
149
|
+
readonly stt: LuaVoiceModelInput;
|
|
150
|
+
readonly tts: LuaVoiceModelInput;
|
|
151
|
+
readonly vad: LuaVoiceConfig['vad'];
|
|
152
|
+
readonly vadOptions: LuaVoiceConfig['vadOptions'];
|
|
153
|
+
readonly turnDetection: LuaVoiceConfig['turnDetection'];
|
|
154
|
+
readonly greeting: LuaVoiceConfig['greeting'];
|
|
155
|
+
readonly maxToolSteps: LuaVoiceConfig['maxToolSteps'];
|
|
156
|
+
readonly userAwayTimeout: LuaVoiceConfig['userAwayTimeout'];
|
|
157
|
+
readonly preemptiveGeneration: LuaVoiceConfig['preemptiveGeneration'];
|
|
158
|
+
readonly interruption: LuaVoiceConfig['interruption'];
|
|
159
|
+
readonly sttLanguage: LuaVoiceConfig['sttLanguage'];
|
|
160
|
+
readonly tools: ReadonlyArray<LuaTool<any> | LuaVoiceTool<any>>;
|
|
161
|
+
readonly onEnter?: LuaVoiceConfig_2['onEnter'];
|
|
162
|
+
readonly onUserTurnCompleted?: LuaVoiceConfig_2['onUserTurnCompleted'];
|
|
163
|
+
readonly onExit?: LuaVoiceConfig_2['onExit'];
|
|
164
|
+
constructor(config: LuaVoiceConfig_2);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
declare type LuaVoiceConfig = z.infer<typeof LuaVoiceConfigSchema>;
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Full LuaVoice config — data fields (validated by zod in shared-types)
|
|
171
|
+
* plus function-bearing fields (detected by the compiler via AST).
|
|
172
|
+
*/
|
|
173
|
+
/**
|
|
174
|
+
* LuaVoice config — uses loose input types for `llm` / `stt` / `tts` so devs can
|
|
175
|
+
* pass either a string descriptor or a plugin class instance. The wire schema
|
|
176
|
+
* (validated server-side) is the discriminated union in `@lua/shared-types`;
|
|
177
|
+
* the compiler is what bridges the two.
|
|
178
|
+
*/
|
|
179
|
+
declare interface LuaVoiceConfig_2 extends Omit<LuaVoiceConfig, 'llm' | 'stt' | 'tts'> {
|
|
180
|
+
llm: LuaVoiceModelInput;
|
|
181
|
+
stt: LuaVoiceModelInput;
|
|
182
|
+
tts: LuaVoiceModelInput;
|
|
183
|
+
/** Optional human-readable description (surfaced in manifest + admin listings). */
|
|
184
|
+
description?: string;
|
|
185
|
+
/** Voice-only tools, in addition to skills attached to the owning agent. */
|
|
186
|
+
tools?: Array<LuaTool<any> | LuaVoiceTool<any>>;
|
|
187
|
+
/**
|
|
188
|
+
* Fired after the session connects to the room and before the greeting.
|
|
189
|
+
* Use to hydrate `session.userdata` from `User`/`Data`, set up state, etc.
|
|
190
|
+
*/
|
|
191
|
+
onEnter?: (ctx: LuaVoiceHookContext) => Promise<void>;
|
|
192
|
+
/**
|
|
193
|
+
* Fired after the user finishes a turn, before the LLM is invoked. Canonical
|
|
194
|
+
* RAG injection point — `turnCtx.addMessage(...)` adds context the LLM sees.
|
|
195
|
+
*/
|
|
196
|
+
onUserTurnCompleted?: (turnCtx: LuaVoiceTurnContext, message: {
|
|
197
|
+
content: string;
|
|
198
|
+
}) => Promise<void>;
|
|
199
|
+
/**
|
|
200
|
+
* Fired when the session is closing. Use for transcript persistence or
|
|
201
|
+
* outcome reporting.
|
|
202
|
+
*/
|
|
203
|
+
onExit?: (ctx: LuaVoiceHookContext) => Promise<void>;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
declare const LuaVoiceConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
207
|
+
name: z.ZodOptional<z.ZodString>;
|
|
208
|
+
llm: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
|
|
209
|
+
kind: z.ZodLiteral<"inference">;
|
|
210
|
+
/** Provider-prefixed model id (e.g. `'openai/gpt-5.2-chat-latest'`). */
|
|
211
|
+
model: z.ZodString;
|
|
212
|
+
/**
|
|
213
|
+
* TTS-only — provider voice id. Inference's TTS API takes voice
|
|
214
|
+
* separately from model; LLM and STT ignore this field.
|
|
215
|
+
*/
|
|
216
|
+
voice: z.ZodOptional<z.ZodString>;
|
|
217
|
+
/**
|
|
218
|
+
* Additional Inference extras forwarded as constructor options. Loose
|
|
219
|
+
* record by design — LiveKit's Inference surface evolves faster than
|
|
220
|
+
* we want to chase, and we don't gate dev productivity on schema
|
|
221
|
+
* updates here.
|
|
222
|
+
*/
|
|
223
|
+
options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
224
|
+
}, "strip", z.ZodTypeAny, {
|
|
225
|
+
voice?: string;
|
|
226
|
+
options?: Record<string, unknown>;
|
|
227
|
+
kind?: "inference";
|
|
228
|
+
model?: string;
|
|
229
|
+
}, {
|
|
230
|
+
voice?: string;
|
|
231
|
+
options?: Record<string, unknown>;
|
|
232
|
+
kind?: "inference";
|
|
233
|
+
model?: string;
|
|
234
|
+
}>, z.ZodObject<{
|
|
235
|
+
kind: z.ZodLiteral<"plugin">;
|
|
236
|
+
provider: z.ZodEnum<["deepgram", "elevenlabs"]>;
|
|
237
|
+
class: z.ZodEnum<["LLM", "STT", "STTv2", "TTS"]>;
|
|
238
|
+
/**
|
|
239
|
+
* Forwarded verbatim to the plugin constructor (e.g. `new deepgram.STT(options)`).
|
|
240
|
+
* Loose record because each provider's option surface is its own
|
|
241
|
+
* schema, evolving independently. The factory passes these through
|
|
242
|
+
* to the LiveKit plugin which is the source of truth for shape.
|
|
243
|
+
*/
|
|
244
|
+
options: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
245
|
+
}, "strip", z.ZodTypeAny, {
|
|
246
|
+
options?: Record<string, unknown>;
|
|
247
|
+
kind?: "plugin";
|
|
248
|
+
provider?: "deepgram" | "elevenlabs";
|
|
249
|
+
class?: "LLM" | "STT" | "STTv2" | "TTS";
|
|
250
|
+
}, {
|
|
251
|
+
options?: Record<string, unknown>;
|
|
252
|
+
kind?: "plugin";
|
|
253
|
+
provider?: "deepgram" | "elevenlabs";
|
|
254
|
+
class?: "LLM" | "STT" | "STTv2" | "TTS";
|
|
255
|
+
}>, z.ZodObject<{
|
|
256
|
+
kind: z.ZodLiteral<"realtime">;
|
|
257
|
+
provider: z.ZodEnum<["openai", "google", "xai"]>;
|
|
258
|
+
/**
|
|
259
|
+
* Forwarded verbatim to `<provider>.realtime.RealtimeModel(options)`.
|
|
260
|
+
* Each provider has its own surface (voice id, modalities, turn
|
|
261
|
+
* detection, etc.). Loose record so devs can pass any option the
|
|
262
|
+
* underlying plugin accepts without a schema chase.
|
|
263
|
+
*/
|
|
264
|
+
options: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
265
|
+
}, "strip", z.ZodTypeAny, {
|
|
266
|
+
options?: Record<string, unknown>;
|
|
267
|
+
kind?: "realtime";
|
|
268
|
+
provider?: "openai" | "google" | "xai";
|
|
269
|
+
}, {
|
|
270
|
+
options?: Record<string, unknown>;
|
|
271
|
+
kind?: "realtime";
|
|
272
|
+
provider?: "openai" | "google" | "xai";
|
|
273
|
+
}>]>;
|
|
274
|
+
stt: z.ZodOptional<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
|
|
275
|
+
kind: z.ZodLiteral<"inference">;
|
|
276
|
+
/** Provider-prefixed model id (e.g. `'openai/gpt-5.2-chat-latest'`). */
|
|
277
|
+
model: z.ZodString;
|
|
278
|
+
/**
|
|
279
|
+
* TTS-only — provider voice id. Inference's TTS API takes voice
|
|
280
|
+
* separately from model; LLM and STT ignore this field.
|
|
281
|
+
*/
|
|
282
|
+
voice: z.ZodOptional<z.ZodString>;
|
|
283
|
+
/**
|
|
284
|
+
* Additional Inference extras forwarded as constructor options. Loose
|
|
285
|
+
* record by design — LiveKit's Inference surface evolves faster than
|
|
286
|
+
* we want to chase, and we don't gate dev productivity on schema
|
|
287
|
+
* updates here.
|
|
288
|
+
*/
|
|
289
|
+
options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
290
|
+
}, "strip", z.ZodTypeAny, {
|
|
291
|
+
voice?: string;
|
|
292
|
+
options?: Record<string, unknown>;
|
|
293
|
+
kind?: "inference";
|
|
294
|
+
model?: string;
|
|
295
|
+
}, {
|
|
296
|
+
voice?: string;
|
|
297
|
+
options?: Record<string, unknown>;
|
|
298
|
+
kind?: "inference";
|
|
299
|
+
model?: string;
|
|
300
|
+
}>, z.ZodObject<{
|
|
301
|
+
kind: z.ZodLiteral<"plugin">;
|
|
302
|
+
provider: z.ZodEnum<["deepgram", "elevenlabs"]>;
|
|
303
|
+
class: z.ZodEnum<["LLM", "STT", "STTv2", "TTS"]>;
|
|
304
|
+
/**
|
|
305
|
+
* Forwarded verbatim to the plugin constructor (e.g. `new deepgram.STT(options)`).
|
|
306
|
+
* Loose record because each provider's option surface is its own
|
|
307
|
+
* schema, evolving independently. The factory passes these through
|
|
308
|
+
* to the LiveKit plugin which is the source of truth for shape.
|
|
309
|
+
*/
|
|
310
|
+
options: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
311
|
+
}, "strip", z.ZodTypeAny, {
|
|
312
|
+
options?: Record<string, unknown>;
|
|
313
|
+
kind?: "plugin";
|
|
314
|
+
provider?: "deepgram" | "elevenlabs";
|
|
315
|
+
class?: "LLM" | "STT" | "STTv2" | "TTS";
|
|
316
|
+
}, {
|
|
317
|
+
options?: Record<string, unknown>;
|
|
318
|
+
kind?: "plugin";
|
|
319
|
+
provider?: "deepgram" | "elevenlabs";
|
|
320
|
+
class?: "LLM" | "STT" | "STTv2" | "TTS";
|
|
321
|
+
}>, z.ZodObject<{
|
|
322
|
+
kind: z.ZodLiteral<"realtime">;
|
|
323
|
+
provider: z.ZodEnum<["openai", "google", "xai"]>;
|
|
324
|
+
/**
|
|
325
|
+
* Forwarded verbatim to `<provider>.realtime.RealtimeModel(options)`.
|
|
326
|
+
* Each provider has its own surface (voice id, modalities, turn
|
|
327
|
+
* detection, etc.). Loose record so devs can pass any option the
|
|
328
|
+
* underlying plugin accepts without a schema chase.
|
|
329
|
+
*/
|
|
330
|
+
options: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
331
|
+
}, "strip", z.ZodTypeAny, {
|
|
332
|
+
options?: Record<string, unknown>;
|
|
333
|
+
kind?: "realtime";
|
|
334
|
+
provider?: "openai" | "google" | "xai";
|
|
335
|
+
}, {
|
|
336
|
+
options?: Record<string, unknown>;
|
|
337
|
+
kind?: "realtime";
|
|
338
|
+
provider?: "openai" | "google" | "xai";
|
|
339
|
+
}>]>>;
|
|
340
|
+
tts: z.ZodOptional<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
|
|
341
|
+
kind: z.ZodLiteral<"inference">;
|
|
342
|
+
/** Provider-prefixed model id (e.g. `'openai/gpt-5.2-chat-latest'`). */
|
|
343
|
+
model: z.ZodString;
|
|
344
|
+
/**
|
|
345
|
+
* TTS-only — provider voice id. Inference's TTS API takes voice
|
|
346
|
+
* separately from model; LLM and STT ignore this field.
|
|
347
|
+
*/
|
|
348
|
+
voice: z.ZodOptional<z.ZodString>;
|
|
349
|
+
/**
|
|
350
|
+
* Additional Inference extras forwarded as constructor options. Loose
|
|
351
|
+
* record by design — LiveKit's Inference surface evolves faster than
|
|
352
|
+
* we want to chase, and we don't gate dev productivity on schema
|
|
353
|
+
* updates here.
|
|
354
|
+
*/
|
|
355
|
+
options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
356
|
+
}, "strip", z.ZodTypeAny, {
|
|
357
|
+
voice?: string;
|
|
358
|
+
options?: Record<string, unknown>;
|
|
359
|
+
kind?: "inference";
|
|
360
|
+
model?: string;
|
|
361
|
+
}, {
|
|
362
|
+
voice?: string;
|
|
363
|
+
options?: Record<string, unknown>;
|
|
364
|
+
kind?: "inference";
|
|
365
|
+
model?: string;
|
|
366
|
+
}>, z.ZodObject<{
|
|
367
|
+
kind: z.ZodLiteral<"plugin">;
|
|
368
|
+
provider: z.ZodEnum<["deepgram", "elevenlabs"]>;
|
|
369
|
+
class: z.ZodEnum<["LLM", "STT", "STTv2", "TTS"]>;
|
|
370
|
+
/**
|
|
371
|
+
* Forwarded verbatim to the plugin constructor (e.g. `new deepgram.STT(options)`).
|
|
372
|
+
* Loose record because each provider's option surface is its own
|
|
373
|
+
* schema, evolving independently. The factory passes these through
|
|
374
|
+
* to the LiveKit plugin which is the source of truth for shape.
|
|
375
|
+
*/
|
|
376
|
+
options: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
377
|
+
}, "strip", z.ZodTypeAny, {
|
|
378
|
+
options?: Record<string, unknown>;
|
|
379
|
+
kind?: "plugin";
|
|
380
|
+
provider?: "deepgram" | "elevenlabs";
|
|
381
|
+
class?: "LLM" | "STT" | "STTv2" | "TTS";
|
|
382
|
+
}, {
|
|
383
|
+
options?: Record<string, unknown>;
|
|
384
|
+
kind?: "plugin";
|
|
385
|
+
provider?: "deepgram" | "elevenlabs";
|
|
386
|
+
class?: "LLM" | "STT" | "STTv2" | "TTS";
|
|
387
|
+
}>, z.ZodObject<{
|
|
388
|
+
kind: z.ZodLiteral<"realtime">;
|
|
389
|
+
provider: z.ZodEnum<["openai", "google", "xai"]>;
|
|
390
|
+
/**
|
|
391
|
+
* Forwarded verbatim to `<provider>.realtime.RealtimeModel(options)`.
|
|
392
|
+
* Each provider has its own surface (voice id, modalities, turn
|
|
393
|
+
* detection, etc.). Loose record so devs can pass any option the
|
|
394
|
+
* underlying plugin accepts without a schema chase.
|
|
395
|
+
*/
|
|
396
|
+
options: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
397
|
+
}, "strip", z.ZodTypeAny, {
|
|
398
|
+
options?: Record<string, unknown>;
|
|
399
|
+
kind?: "realtime";
|
|
400
|
+
provider?: "openai" | "google" | "xai";
|
|
401
|
+
}, {
|
|
402
|
+
options?: Record<string, unknown>;
|
|
403
|
+
kind?: "realtime";
|
|
404
|
+
provider?: "openai" | "google" | "xai";
|
|
405
|
+
}>]>>;
|
|
406
|
+
vad: z.ZodOptional<z.ZodString>;
|
|
407
|
+
vadOptions: z.ZodOptional<z.ZodObject<{
|
|
408
|
+
minSpeechDuration: z.ZodOptional<z.ZodNumber>;
|
|
409
|
+
minSilenceDuration: z.ZodOptional<z.ZodNumber>;
|
|
410
|
+
prefixPaddingDuration: z.ZodOptional<z.ZodNumber>;
|
|
411
|
+
activationThreshold: z.ZodOptional<z.ZodNumber>;
|
|
412
|
+
}, "strict", z.ZodTypeAny, {
|
|
413
|
+
minSpeechDuration?: number;
|
|
414
|
+
minSilenceDuration?: number;
|
|
415
|
+
prefixPaddingDuration?: number;
|
|
416
|
+
activationThreshold?: number;
|
|
417
|
+
}, {
|
|
418
|
+
minSpeechDuration?: number;
|
|
419
|
+
minSilenceDuration?: number;
|
|
420
|
+
prefixPaddingDuration?: number;
|
|
421
|
+
activationThreshold?: number;
|
|
422
|
+
}>>;
|
|
423
|
+
turnDetection: z.ZodOptional<z.ZodEnum<["multilingual", "english", "vad", "stt", "manual"]>>;
|
|
424
|
+
greeting: z.ZodOptional<z.ZodString>;
|
|
425
|
+
maxToolSteps: z.ZodOptional<z.ZodNumber>;
|
|
426
|
+
userAwayTimeout: z.ZodOptional<z.ZodNumber>;
|
|
427
|
+
preemptiveGeneration: z.ZodOptional<z.ZodBoolean>;
|
|
428
|
+
interruption: z.ZodOptional<z.ZodEffects<z.ZodObject<{
|
|
429
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
430
|
+
mode: z.ZodOptional<z.ZodEnum<["adaptive", "vad"]>>;
|
|
431
|
+
falseInterruptionTimeout: z.ZodOptional<z.ZodNumber>;
|
|
432
|
+
resumeFalseInterruption: z.ZodOptional<z.ZodBoolean>;
|
|
433
|
+
minDelay: z.ZodOptional<z.ZodNumber>;
|
|
434
|
+
maxDelay: z.ZodOptional<z.ZodNumber>;
|
|
435
|
+
}, "strip", z.ZodTypeAny, {
|
|
436
|
+
enabled?: boolean;
|
|
437
|
+
mode?: "vad" | "adaptive";
|
|
438
|
+
falseInterruptionTimeout?: number;
|
|
439
|
+
resumeFalseInterruption?: boolean;
|
|
440
|
+
minDelay?: number;
|
|
441
|
+
maxDelay?: number;
|
|
442
|
+
}, {
|
|
443
|
+
enabled?: boolean;
|
|
444
|
+
mode?: "vad" | "adaptive";
|
|
445
|
+
falseInterruptionTimeout?: number;
|
|
446
|
+
resumeFalseInterruption?: boolean;
|
|
447
|
+
minDelay?: number;
|
|
448
|
+
maxDelay?: number;
|
|
449
|
+
}>, {
|
|
450
|
+
enabled?: boolean;
|
|
451
|
+
mode?: "vad" | "adaptive";
|
|
452
|
+
falseInterruptionTimeout?: number;
|
|
453
|
+
resumeFalseInterruption?: boolean;
|
|
454
|
+
minDelay?: number;
|
|
455
|
+
maxDelay?: number;
|
|
456
|
+
}, {
|
|
457
|
+
enabled?: boolean;
|
|
458
|
+
mode?: "vad" | "adaptive";
|
|
459
|
+
falseInterruptionTimeout?: number;
|
|
460
|
+
resumeFalseInterruption?: boolean;
|
|
461
|
+
minDelay?: number;
|
|
462
|
+
maxDelay?: number;
|
|
463
|
+
}>>;
|
|
464
|
+
sttLanguage: z.ZodOptional<z.ZodString>;
|
|
465
|
+
krispEnabled: z.ZodOptional<z.ZodBoolean>;
|
|
466
|
+
backgroundAudio: z.ZodOptional<z.ZodObject<{
|
|
467
|
+
ambient: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["office-ambience", "keyboard-typing", "keyboard-typing-2"]>, z.ZodObject<{
|
|
468
|
+
source: z.ZodEnum<["office-ambience", "keyboard-typing", "keyboard-typing-2"]>;
|
|
469
|
+
volume: z.ZodOptional<z.ZodNumber>;
|
|
470
|
+
probability: z.ZodOptional<z.ZodNumber>;
|
|
471
|
+
}, "strip", z.ZodTypeAny, {
|
|
472
|
+
source?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2";
|
|
473
|
+
volume?: number;
|
|
474
|
+
probability?: number;
|
|
475
|
+
}, {
|
|
476
|
+
source?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2";
|
|
477
|
+
volume?: number;
|
|
478
|
+
probability?: number;
|
|
479
|
+
}>, z.ZodArray<z.ZodObject<{
|
|
480
|
+
source: z.ZodEnum<["office-ambience", "keyboard-typing", "keyboard-typing-2"]>;
|
|
481
|
+
volume: z.ZodOptional<z.ZodNumber>;
|
|
482
|
+
probability: z.ZodOptional<z.ZodNumber>;
|
|
483
|
+
}, "strip", z.ZodTypeAny, {
|
|
484
|
+
source?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2";
|
|
485
|
+
volume?: number;
|
|
486
|
+
probability?: number;
|
|
487
|
+
}, {
|
|
488
|
+
source?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2";
|
|
489
|
+
volume?: number;
|
|
490
|
+
probability?: number;
|
|
491
|
+
}>, "many">]>>;
|
|
492
|
+
thinking: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["office-ambience", "keyboard-typing", "keyboard-typing-2"]>, z.ZodObject<{
|
|
493
|
+
source: z.ZodEnum<["office-ambience", "keyboard-typing", "keyboard-typing-2"]>;
|
|
494
|
+
volume: z.ZodOptional<z.ZodNumber>;
|
|
495
|
+
probability: z.ZodOptional<z.ZodNumber>;
|
|
496
|
+
}, "strip", z.ZodTypeAny, {
|
|
497
|
+
source?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2";
|
|
498
|
+
volume?: number;
|
|
499
|
+
probability?: number;
|
|
500
|
+
}, {
|
|
501
|
+
source?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2";
|
|
502
|
+
volume?: number;
|
|
503
|
+
probability?: number;
|
|
504
|
+
}>, z.ZodArray<z.ZodObject<{
|
|
505
|
+
source: z.ZodEnum<["office-ambience", "keyboard-typing", "keyboard-typing-2"]>;
|
|
506
|
+
volume: z.ZodOptional<z.ZodNumber>;
|
|
507
|
+
probability: z.ZodOptional<z.ZodNumber>;
|
|
508
|
+
}, "strip", z.ZodTypeAny, {
|
|
509
|
+
source?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2";
|
|
510
|
+
volume?: number;
|
|
511
|
+
probability?: number;
|
|
512
|
+
}, {
|
|
513
|
+
source?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2";
|
|
514
|
+
volume?: number;
|
|
515
|
+
probability?: number;
|
|
516
|
+
}>, "many">]>>;
|
|
517
|
+
}, "strip", z.ZodTypeAny, {
|
|
518
|
+
ambient?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2" | {
|
|
519
|
+
source?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2";
|
|
520
|
+
volume?: number;
|
|
521
|
+
probability?: number;
|
|
522
|
+
} | {
|
|
523
|
+
source?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2";
|
|
524
|
+
volume?: number;
|
|
525
|
+
probability?: number;
|
|
526
|
+
}[];
|
|
527
|
+
thinking?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2" | {
|
|
528
|
+
source?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2";
|
|
529
|
+
volume?: number;
|
|
530
|
+
probability?: number;
|
|
531
|
+
} | {
|
|
532
|
+
source?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2";
|
|
533
|
+
volume?: number;
|
|
534
|
+
probability?: number;
|
|
535
|
+
}[];
|
|
536
|
+
}, {
|
|
537
|
+
ambient?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2" | {
|
|
538
|
+
source?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2";
|
|
539
|
+
volume?: number;
|
|
540
|
+
probability?: number;
|
|
541
|
+
} | {
|
|
542
|
+
source?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2";
|
|
543
|
+
volume?: number;
|
|
544
|
+
probability?: number;
|
|
545
|
+
}[];
|
|
546
|
+
thinking?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2" | {
|
|
547
|
+
source?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2";
|
|
548
|
+
volume?: number;
|
|
549
|
+
probability?: number;
|
|
550
|
+
} | {
|
|
551
|
+
source?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2";
|
|
552
|
+
volume?: number;
|
|
553
|
+
probability?: number;
|
|
554
|
+
}[];
|
|
555
|
+
}>>;
|
|
556
|
+
volume: z.ZodOptional<z.ZodNumber>;
|
|
557
|
+
pronunciations: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
558
|
+
persistTranscript: z.ZodOptional<z.ZodBoolean>;
|
|
559
|
+
}, "strip", z.ZodTypeAny, {
|
|
560
|
+
vad?: string;
|
|
561
|
+
stt?: {
|
|
562
|
+
voice?: string;
|
|
563
|
+
options?: Record<string, unknown>;
|
|
564
|
+
kind?: "inference";
|
|
565
|
+
model?: string;
|
|
566
|
+
} | {
|
|
567
|
+
options?: Record<string, unknown>;
|
|
568
|
+
kind?: "plugin";
|
|
569
|
+
provider?: "deepgram" | "elevenlabs";
|
|
570
|
+
class?: "LLM" | "STT" | "STTv2" | "TTS";
|
|
571
|
+
} | {
|
|
572
|
+
options?: Record<string, unknown>;
|
|
573
|
+
kind?: "realtime";
|
|
574
|
+
provider?: "openai" | "google" | "xai";
|
|
575
|
+
};
|
|
576
|
+
volume?: number;
|
|
577
|
+
name?: string;
|
|
578
|
+
llm?: {
|
|
579
|
+
voice?: string;
|
|
580
|
+
options?: Record<string, unknown>;
|
|
581
|
+
kind?: "inference";
|
|
582
|
+
model?: string;
|
|
583
|
+
} | {
|
|
584
|
+
options?: Record<string, unknown>;
|
|
585
|
+
kind?: "plugin";
|
|
586
|
+
provider?: "deepgram" | "elevenlabs";
|
|
587
|
+
class?: "LLM" | "STT" | "STTv2" | "TTS";
|
|
588
|
+
} | {
|
|
589
|
+
options?: Record<string, unknown>;
|
|
590
|
+
kind?: "realtime";
|
|
591
|
+
provider?: "openai" | "google" | "xai";
|
|
592
|
+
};
|
|
593
|
+
tts?: {
|
|
594
|
+
voice?: string;
|
|
595
|
+
options?: Record<string, unknown>;
|
|
596
|
+
kind?: "inference";
|
|
597
|
+
model?: string;
|
|
598
|
+
} | {
|
|
599
|
+
options?: Record<string, unknown>;
|
|
600
|
+
kind?: "plugin";
|
|
601
|
+
provider?: "deepgram" | "elevenlabs";
|
|
602
|
+
class?: "LLM" | "STT" | "STTv2" | "TTS";
|
|
603
|
+
} | {
|
|
604
|
+
options?: Record<string, unknown>;
|
|
605
|
+
kind?: "realtime";
|
|
606
|
+
provider?: "openai" | "google" | "xai";
|
|
607
|
+
};
|
|
608
|
+
vadOptions?: {
|
|
609
|
+
minSpeechDuration?: number;
|
|
610
|
+
minSilenceDuration?: number;
|
|
611
|
+
prefixPaddingDuration?: number;
|
|
612
|
+
activationThreshold?: number;
|
|
613
|
+
};
|
|
614
|
+
turnDetection?: "multilingual" | "english" | "vad" | "stt" | "manual";
|
|
615
|
+
greeting?: string;
|
|
616
|
+
maxToolSteps?: number;
|
|
617
|
+
userAwayTimeout?: number;
|
|
618
|
+
preemptiveGeneration?: boolean;
|
|
619
|
+
interruption?: {
|
|
620
|
+
enabled?: boolean;
|
|
621
|
+
mode?: "vad" | "adaptive";
|
|
622
|
+
falseInterruptionTimeout?: number;
|
|
623
|
+
resumeFalseInterruption?: boolean;
|
|
624
|
+
minDelay?: number;
|
|
625
|
+
maxDelay?: number;
|
|
626
|
+
};
|
|
627
|
+
sttLanguage?: string;
|
|
628
|
+
krispEnabled?: boolean;
|
|
629
|
+
backgroundAudio?: {
|
|
630
|
+
ambient?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2" | {
|
|
631
|
+
source?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2";
|
|
632
|
+
volume?: number;
|
|
633
|
+
probability?: number;
|
|
634
|
+
} | {
|
|
635
|
+
source?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2";
|
|
636
|
+
volume?: number;
|
|
637
|
+
probability?: number;
|
|
638
|
+
}[];
|
|
639
|
+
thinking?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2" | {
|
|
640
|
+
source?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2";
|
|
641
|
+
volume?: number;
|
|
642
|
+
probability?: number;
|
|
643
|
+
} | {
|
|
644
|
+
source?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2";
|
|
645
|
+
volume?: number;
|
|
646
|
+
probability?: number;
|
|
647
|
+
}[];
|
|
648
|
+
};
|
|
649
|
+
pronunciations?: Record<string, string>;
|
|
650
|
+
persistTranscript?: boolean;
|
|
651
|
+
}, {
|
|
652
|
+
vad?: string;
|
|
653
|
+
stt?: {
|
|
654
|
+
voice?: string;
|
|
655
|
+
options?: Record<string, unknown>;
|
|
656
|
+
kind?: "inference";
|
|
657
|
+
model?: string;
|
|
658
|
+
} | {
|
|
659
|
+
options?: Record<string, unknown>;
|
|
660
|
+
kind?: "plugin";
|
|
661
|
+
provider?: "deepgram" | "elevenlabs";
|
|
662
|
+
class?: "LLM" | "STT" | "STTv2" | "TTS";
|
|
663
|
+
} | {
|
|
664
|
+
options?: Record<string, unknown>;
|
|
665
|
+
kind?: "realtime";
|
|
666
|
+
provider?: "openai" | "google" | "xai";
|
|
667
|
+
};
|
|
668
|
+
volume?: number;
|
|
669
|
+
name?: string;
|
|
670
|
+
llm?: {
|
|
671
|
+
voice?: string;
|
|
672
|
+
options?: Record<string, unknown>;
|
|
673
|
+
kind?: "inference";
|
|
674
|
+
model?: string;
|
|
675
|
+
} | {
|
|
676
|
+
options?: Record<string, unknown>;
|
|
677
|
+
kind?: "plugin";
|
|
678
|
+
provider?: "deepgram" | "elevenlabs";
|
|
679
|
+
class?: "LLM" | "STT" | "STTv2" | "TTS";
|
|
680
|
+
} | {
|
|
681
|
+
options?: Record<string, unknown>;
|
|
682
|
+
kind?: "realtime";
|
|
683
|
+
provider?: "openai" | "google" | "xai";
|
|
684
|
+
};
|
|
685
|
+
tts?: {
|
|
686
|
+
voice?: string;
|
|
687
|
+
options?: Record<string, unknown>;
|
|
688
|
+
kind?: "inference";
|
|
689
|
+
model?: string;
|
|
690
|
+
} | {
|
|
691
|
+
options?: Record<string, unknown>;
|
|
692
|
+
kind?: "plugin";
|
|
693
|
+
provider?: "deepgram" | "elevenlabs";
|
|
694
|
+
class?: "LLM" | "STT" | "STTv2" | "TTS";
|
|
695
|
+
} | {
|
|
696
|
+
options?: Record<string, unknown>;
|
|
697
|
+
kind?: "realtime";
|
|
698
|
+
provider?: "openai" | "google" | "xai";
|
|
699
|
+
};
|
|
700
|
+
vadOptions?: {
|
|
701
|
+
minSpeechDuration?: number;
|
|
702
|
+
minSilenceDuration?: number;
|
|
703
|
+
prefixPaddingDuration?: number;
|
|
704
|
+
activationThreshold?: number;
|
|
705
|
+
};
|
|
706
|
+
turnDetection?: "multilingual" | "english" | "vad" | "stt" | "manual";
|
|
707
|
+
greeting?: string;
|
|
708
|
+
maxToolSteps?: number;
|
|
709
|
+
userAwayTimeout?: number;
|
|
710
|
+
preemptiveGeneration?: boolean;
|
|
711
|
+
interruption?: {
|
|
712
|
+
enabled?: boolean;
|
|
713
|
+
mode?: "vad" | "adaptive";
|
|
714
|
+
falseInterruptionTimeout?: number;
|
|
715
|
+
resumeFalseInterruption?: boolean;
|
|
716
|
+
minDelay?: number;
|
|
717
|
+
maxDelay?: number;
|
|
718
|
+
};
|
|
719
|
+
sttLanguage?: string;
|
|
720
|
+
krispEnabled?: boolean;
|
|
721
|
+
backgroundAudio?: {
|
|
722
|
+
ambient?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2" | {
|
|
723
|
+
source?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2";
|
|
724
|
+
volume?: number;
|
|
725
|
+
probability?: number;
|
|
726
|
+
} | {
|
|
727
|
+
source?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2";
|
|
728
|
+
volume?: number;
|
|
729
|
+
probability?: number;
|
|
730
|
+
}[];
|
|
731
|
+
thinking?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2" | {
|
|
732
|
+
source?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2";
|
|
733
|
+
volume?: number;
|
|
734
|
+
probability?: number;
|
|
735
|
+
} | {
|
|
736
|
+
source?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2";
|
|
737
|
+
volume?: number;
|
|
738
|
+
probability?: number;
|
|
739
|
+
}[];
|
|
740
|
+
};
|
|
741
|
+
pronunciations?: Record<string, string>;
|
|
742
|
+
persistTranscript?: boolean;
|
|
743
|
+
}>, {
|
|
744
|
+
vad?: string;
|
|
745
|
+
stt?: {
|
|
746
|
+
voice?: string;
|
|
747
|
+
options?: Record<string, unknown>;
|
|
748
|
+
kind?: "inference";
|
|
749
|
+
model?: string;
|
|
750
|
+
} | {
|
|
751
|
+
options?: Record<string, unknown>;
|
|
752
|
+
kind?: "plugin";
|
|
753
|
+
provider?: "deepgram" | "elevenlabs";
|
|
754
|
+
class?: "LLM" | "STT" | "STTv2" | "TTS";
|
|
755
|
+
} | {
|
|
756
|
+
options?: Record<string, unknown>;
|
|
757
|
+
kind?: "realtime";
|
|
758
|
+
provider?: "openai" | "google" | "xai";
|
|
759
|
+
};
|
|
760
|
+
volume?: number;
|
|
761
|
+
name?: string;
|
|
762
|
+
llm?: {
|
|
763
|
+
voice?: string;
|
|
764
|
+
options?: Record<string, unknown>;
|
|
765
|
+
kind?: "inference";
|
|
766
|
+
model?: string;
|
|
767
|
+
} | {
|
|
768
|
+
options?: Record<string, unknown>;
|
|
769
|
+
kind?: "plugin";
|
|
770
|
+
provider?: "deepgram" | "elevenlabs";
|
|
771
|
+
class?: "LLM" | "STT" | "STTv2" | "TTS";
|
|
772
|
+
} | {
|
|
773
|
+
options?: Record<string, unknown>;
|
|
774
|
+
kind?: "realtime";
|
|
775
|
+
provider?: "openai" | "google" | "xai";
|
|
776
|
+
};
|
|
777
|
+
tts?: {
|
|
778
|
+
voice?: string;
|
|
779
|
+
options?: Record<string, unknown>;
|
|
780
|
+
kind?: "inference";
|
|
781
|
+
model?: string;
|
|
782
|
+
} | {
|
|
783
|
+
options?: Record<string, unknown>;
|
|
784
|
+
kind?: "plugin";
|
|
785
|
+
provider?: "deepgram" | "elevenlabs";
|
|
786
|
+
class?: "LLM" | "STT" | "STTv2" | "TTS";
|
|
787
|
+
} | {
|
|
788
|
+
options?: Record<string, unknown>;
|
|
789
|
+
kind?: "realtime";
|
|
790
|
+
provider?: "openai" | "google" | "xai";
|
|
791
|
+
};
|
|
792
|
+
vadOptions?: {
|
|
793
|
+
minSpeechDuration?: number;
|
|
794
|
+
minSilenceDuration?: number;
|
|
795
|
+
prefixPaddingDuration?: number;
|
|
796
|
+
activationThreshold?: number;
|
|
797
|
+
};
|
|
798
|
+
turnDetection?: "multilingual" | "english" | "vad" | "stt" | "manual";
|
|
799
|
+
greeting?: string;
|
|
800
|
+
maxToolSteps?: number;
|
|
801
|
+
userAwayTimeout?: number;
|
|
802
|
+
preemptiveGeneration?: boolean;
|
|
803
|
+
interruption?: {
|
|
804
|
+
enabled?: boolean;
|
|
805
|
+
mode?: "vad" | "adaptive";
|
|
806
|
+
falseInterruptionTimeout?: number;
|
|
807
|
+
resumeFalseInterruption?: boolean;
|
|
808
|
+
minDelay?: number;
|
|
809
|
+
maxDelay?: number;
|
|
810
|
+
};
|
|
811
|
+
sttLanguage?: string;
|
|
812
|
+
krispEnabled?: boolean;
|
|
813
|
+
backgroundAudio?: {
|
|
814
|
+
ambient?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2" | {
|
|
815
|
+
source?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2";
|
|
816
|
+
volume?: number;
|
|
817
|
+
probability?: number;
|
|
818
|
+
} | {
|
|
819
|
+
source?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2";
|
|
820
|
+
volume?: number;
|
|
821
|
+
probability?: number;
|
|
822
|
+
}[];
|
|
823
|
+
thinking?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2" | {
|
|
824
|
+
source?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2";
|
|
825
|
+
volume?: number;
|
|
826
|
+
probability?: number;
|
|
827
|
+
} | {
|
|
828
|
+
source?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2";
|
|
829
|
+
volume?: number;
|
|
830
|
+
probability?: number;
|
|
831
|
+
}[];
|
|
832
|
+
};
|
|
833
|
+
pronunciations?: Record<string, string>;
|
|
834
|
+
persistTranscript?: boolean;
|
|
835
|
+
}, {
|
|
836
|
+
vad?: string;
|
|
837
|
+
stt?: {
|
|
838
|
+
voice?: string;
|
|
839
|
+
options?: Record<string, unknown>;
|
|
840
|
+
kind?: "inference";
|
|
841
|
+
model?: string;
|
|
842
|
+
} | {
|
|
843
|
+
options?: Record<string, unknown>;
|
|
844
|
+
kind?: "plugin";
|
|
845
|
+
provider?: "deepgram" | "elevenlabs";
|
|
846
|
+
class?: "LLM" | "STT" | "STTv2" | "TTS";
|
|
847
|
+
} | {
|
|
848
|
+
options?: Record<string, unknown>;
|
|
849
|
+
kind?: "realtime";
|
|
850
|
+
provider?: "openai" | "google" | "xai";
|
|
851
|
+
};
|
|
852
|
+
volume?: number;
|
|
853
|
+
name?: string;
|
|
854
|
+
llm?: {
|
|
855
|
+
voice?: string;
|
|
856
|
+
options?: Record<string, unknown>;
|
|
857
|
+
kind?: "inference";
|
|
858
|
+
model?: string;
|
|
859
|
+
} | {
|
|
860
|
+
options?: Record<string, unknown>;
|
|
861
|
+
kind?: "plugin";
|
|
862
|
+
provider?: "deepgram" | "elevenlabs";
|
|
863
|
+
class?: "LLM" | "STT" | "STTv2" | "TTS";
|
|
864
|
+
} | {
|
|
865
|
+
options?: Record<string, unknown>;
|
|
866
|
+
kind?: "realtime";
|
|
867
|
+
provider?: "openai" | "google" | "xai";
|
|
868
|
+
};
|
|
869
|
+
tts?: {
|
|
870
|
+
voice?: string;
|
|
871
|
+
options?: Record<string, unknown>;
|
|
872
|
+
kind?: "inference";
|
|
873
|
+
model?: string;
|
|
874
|
+
} | {
|
|
875
|
+
options?: Record<string, unknown>;
|
|
876
|
+
kind?: "plugin";
|
|
877
|
+
provider?: "deepgram" | "elevenlabs";
|
|
878
|
+
class?: "LLM" | "STT" | "STTv2" | "TTS";
|
|
879
|
+
} | {
|
|
880
|
+
options?: Record<string, unknown>;
|
|
881
|
+
kind?: "realtime";
|
|
882
|
+
provider?: "openai" | "google" | "xai";
|
|
883
|
+
};
|
|
884
|
+
vadOptions?: {
|
|
885
|
+
minSpeechDuration?: number;
|
|
886
|
+
minSilenceDuration?: number;
|
|
887
|
+
prefixPaddingDuration?: number;
|
|
888
|
+
activationThreshold?: number;
|
|
889
|
+
};
|
|
890
|
+
turnDetection?: "multilingual" | "english" | "vad" | "stt" | "manual";
|
|
891
|
+
greeting?: string;
|
|
892
|
+
maxToolSteps?: number;
|
|
893
|
+
userAwayTimeout?: number;
|
|
894
|
+
preemptiveGeneration?: boolean;
|
|
895
|
+
interruption?: {
|
|
896
|
+
enabled?: boolean;
|
|
897
|
+
mode?: "vad" | "adaptive";
|
|
898
|
+
falseInterruptionTimeout?: number;
|
|
899
|
+
resumeFalseInterruption?: boolean;
|
|
900
|
+
minDelay?: number;
|
|
901
|
+
maxDelay?: number;
|
|
902
|
+
};
|
|
903
|
+
sttLanguage?: string;
|
|
904
|
+
krispEnabled?: boolean;
|
|
905
|
+
backgroundAudio?: {
|
|
906
|
+
ambient?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2" | {
|
|
907
|
+
source?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2";
|
|
908
|
+
volume?: number;
|
|
909
|
+
probability?: number;
|
|
910
|
+
} | {
|
|
911
|
+
source?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2";
|
|
912
|
+
volume?: number;
|
|
913
|
+
probability?: number;
|
|
914
|
+
}[];
|
|
915
|
+
thinking?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2" | {
|
|
916
|
+
source?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2";
|
|
917
|
+
volume?: number;
|
|
918
|
+
probability?: number;
|
|
919
|
+
} | {
|
|
920
|
+
source?: "office-ambience" | "keyboard-typing" | "keyboard-typing-2";
|
|
921
|
+
volume?: number;
|
|
922
|
+
probability?: number;
|
|
923
|
+
}[];
|
|
924
|
+
};
|
|
925
|
+
pronunciations?: Record<string, string>;
|
|
926
|
+
persistTranscript?: boolean;
|
|
927
|
+
}>;
|
|
928
|
+
|
|
929
|
+
/**
|
|
930
|
+
* Context passed to LuaVoice lifecycle hooks at runtime.
|
|
931
|
+
*/
|
|
932
|
+
declare interface LuaVoiceHookContext {
|
|
933
|
+
sessionId: string;
|
|
934
|
+
channel: {
|
|
935
|
+
kind: string;
|
|
936
|
+
alias?: string;
|
|
937
|
+
};
|
|
938
|
+
caller?: {
|
|
939
|
+
phoneNumber?: string;
|
|
940
|
+
userId?: string;
|
|
941
|
+
isAnonymous?: boolean;
|
|
942
|
+
};
|
|
943
|
+
duration?: number;
|
|
944
|
+
session: {
|
|
945
|
+
userdata: Record<string, unknown>;
|
|
946
|
+
history: unknown[];
|
|
947
|
+
say(text: string): Promise<void>;
|
|
948
|
+
generateReply(opts?: {
|
|
949
|
+
instructions?: string;
|
|
950
|
+
}): unknown;
|
|
951
|
+
};
|
|
952
|
+
}
|
|
953
|
+
|
|
954
|
+
/**
|
|
955
|
+
* User-facing input type for `llm` / `stt` / `tts` on a LuaVoice. Accepts:
|
|
956
|
+
* - a string descriptor like `'cartesia/sonic-3:9626…'` — routed through Inference.
|
|
957
|
+
* - an instance of a LiveKit Agents plugin class such as `new deepgram.STT({...})` —
|
|
958
|
+
* routed through the corresponding direct plugin.
|
|
959
|
+
* - a struct `{ model, voice }` — sugar for the Inference TTS form.
|
|
960
|
+
*
|
|
961
|
+
* The compiler ASTs the source file and normalizes whichever shape it finds
|
|
962
|
+
* to the discriminated union the wire schema expects (`@lua/shared-types`).
|
|
963
|
+
* The constructor below stores the raw input as-is — the runtime classes
|
|
964
|
+
* never execute as part of the push pipeline.
|
|
965
|
+
*/
|
|
966
|
+
declare type LuaVoiceModelInput = string | object;
|
|
967
|
+
|
|
968
|
+
declare class LuaVoiceTool<TInput extends ZodType = ZodType> implements LuaTool<TInput> {
|
|
969
|
+
readonly name: string;
|
|
970
|
+
readonly description: string;
|
|
971
|
+
readonly inputSchema: TInput;
|
|
972
|
+
readonly execute: (input: any, ctx?: LuaVoiceToolCtx) => Promise<any>;
|
|
973
|
+
readonly condition?: () => Promise<boolean>;
|
|
974
|
+
readonly voice?: {
|
|
975
|
+
flags?: ToolFlag[];
|
|
976
|
+
};
|
|
977
|
+
constructor(config: LuaVoiceToolConfig<TInput>);
|
|
978
|
+
}
|
|
979
|
+
|
|
980
|
+
/**
|
|
981
|
+
* Voice-only tool — for tools that only make sense inside a call (handoffs,
|
|
982
|
+
* hold-music toggles, transfer-to-human, etc.). Skill tools are still available
|
|
983
|
+
* to voice agents; LuaVoiceTool is for the call-only ones.
|
|
984
|
+
*/
|
|
985
|
+
declare interface LuaVoiceToolConfig<TInput extends ZodType = ZodType> {
|
|
986
|
+
name: string;
|
|
987
|
+
description: string;
|
|
988
|
+
inputSchema: TInput;
|
|
989
|
+
execute: (input: any, ctx?: LuaVoiceToolCtx) => Promise<any>;
|
|
990
|
+
condition?: () => Promise<boolean>;
|
|
991
|
+
flags?: ToolFlag[];
|
|
992
|
+
}
|
|
993
|
+
|
|
994
|
+
/**
|
|
995
|
+
* Voice tool ctx — extends the base `LuaToolCtx` (from `skill.ts`) with
|
|
996
|
+
* voice-runtime-only delegates. The base ctx is what a `LuaTool` sees as
|
|
997
|
+
* its second `execute` arg whether it runs over chat or voice; this
|
|
998
|
+
* extension just adds the Phase-5 fields (currently optional + experimental).
|
|
999
|
+
*
|
|
1000
|
+
* `say()` is wired today and delegates to the active LiveKit `voice.AgentSession`.
|
|
1001
|
+
* `disallowInterruptions()` and `handoff()` are optional placeholders for
|
|
1002
|
+
* Phase 5 (BAC-213, the LuaVoice handoffs + test framework ticket).
|
|
1003
|
+
* Marked optional both because they aren't implemented yet AND so this
|
|
1004
|
+
* type stays structurally compatible with `LuaToolCtx` — that
|
|
1005
|
+
* compatibility is what lets a `LuaVoiceTool` (which extends `LuaTool`)
|
|
1006
|
+
* present `(ctx?: LuaVoiceToolCtx)` while satisfying the parent's
|
|
1007
|
+
* `(ctx?: LuaToolCtx)` signature.
|
|
1008
|
+
*/
|
|
1009
|
+
declare interface LuaVoiceToolCtx {
|
|
1010
|
+
toolCallId?: string;
|
|
1011
|
+
voice?: {
|
|
1012
|
+
say(text: string): Promise<void>;
|
|
1013
|
+
/**
|
|
1014
|
+
* Transfer the live caller to a human at `msisdn`. Two mechanisms:
|
|
1015
|
+
*
|
|
1016
|
+
* - `'refer'` (default): SIP REFER on the caller's inbound leg.
|
|
1017
|
+
* Cheap (one billed leg) but depends on the inbound carrier
|
|
1018
|
+
* accepting REFER end-to-end — many European mobile carriers
|
|
1019
|
+
* strip it. Use when the carrier is known to support REFER.
|
|
1020
|
+
*
|
|
1021
|
+
* - `'bridge'`: dial the human as a second SIP participant into
|
|
1022
|
+
* the same room, keeping the caller attached. Two billed legs
|
|
1023
|
+
* but always works regardless of carrier REFER support. Use for
|
|
1024
|
+
* high-stakes transfers (sales, escalation) where reliability
|
|
1025
|
+
* matters more than per-minute cost.
|
|
1026
|
+
*
|
|
1027
|
+
* `announce` is spoken via `session.say(...)` before the transfer
|
|
1028
|
+
* fires (e.g. "Transferring you to our sales team — one moment").
|
|
1029
|
+
*
|
|
1030
|
+
* @example
|
|
1031
|
+
* ```typescript
|
|
1032
|
+
* await ctx.voice?.transferToHuman('+32477123456', {
|
|
1033
|
+
* mode: 'bridge',
|
|
1034
|
+
* announce: 'Transferring you to our sales team — one moment.',
|
|
1035
|
+
* });
|
|
1036
|
+
* ```
|
|
1037
|
+
*/
|
|
1038
|
+
transferToHuman?(msisdn: string, opts?: {
|
|
1039
|
+
mode?: 'bridge' | 'refer';
|
|
1040
|
+
announce?: string;
|
|
1041
|
+
}): Promise<void>;
|
|
1042
|
+
/**
|
|
1043
|
+
* @experimental Reserved for Phase 5 (BAC-213). Optional because
|
|
1044
|
+
* unimplemented — the actual "lock the assistant's current
|
|
1045
|
+
* utterance against barge-in" plumbing lands with the broader
|
|
1046
|
+
* turn-handling work.
|
|
1047
|
+
*/
|
|
1048
|
+
disallowInterruptions?(): void;
|
|
1049
|
+
/**
|
|
1050
|
+
* @experimental Reserved for Phase 5 (BAC-213). Optional because
|
|
1051
|
+
* unimplemented — handoffs require `chatCtx.copy(exclude_instructions=True)`
|
|
1052
|
+
* + `update_agent` plumbing that's part of the multi-LuaVoice flow ticket.
|
|
1053
|
+
*/
|
|
1054
|
+
handoff?(otherVoiceName: string, opts?: {
|
|
1055
|
+
context?: Record<string, unknown>;
|
|
1056
|
+
}): unknown;
|
|
1057
|
+
};
|
|
1058
|
+
}
|
|
1059
|
+
|
|
1060
|
+
/**
|
|
1061
|
+
* Per-turn context passed to onUserTurnCompleted. The canonical RAG injection
|
|
1062
|
+
* point — call `addMessage` to seed context, then the LLM is invoked.
|
|
1063
|
+
*/
|
|
1064
|
+
declare interface LuaVoiceTurnContext {
|
|
1065
|
+
items: unknown[];
|
|
1066
|
+
addMessage(message: {
|
|
1067
|
+
role: 'system' | 'user' | 'assistant';
|
|
1068
|
+
content: string;
|
|
1069
|
+
}): void;
|
|
1070
|
+
}
|
|
1071
|
+
|
|
1072
|
+
declare type RunResult = voice.testing.RunResult;
|
|
1073
|
+
|
|
1074
|
+
export declare function runVoice(luaVoice: LuaVoice, options?: RunVoiceOptions): Promise<TestSession>;
|
|
1075
|
+
|
|
1076
|
+
export declare interface RunVoiceOptions {
|
|
1077
|
+
/**
|
|
1078
|
+
* LLM mock script. Each entry is keyed by the user input text — when
|
|
1079
|
+
* the agent's chat loop hits that input, the FakeLLM returns the
|
|
1080
|
+
* paired content/toolCalls. Devs can pass a pre-built `llm.LLM`
|
|
1081
|
+
* instance instead for full control (custom matching, multi-turn
|
|
1082
|
+
* stateful responses, etc.).
|
|
1083
|
+
*/
|
|
1084
|
+
llm?: FakeLLMResponse[] | llm.LLM;
|
|
1085
|
+
/**
|
|
1086
|
+
* Mock tool executions. Substitutes the dev's tool.execute for the
|
|
1087
|
+
* named tool — return value flows into the LLM's next turn the same
|
|
1088
|
+
* way a real execute would.
|
|
1089
|
+
*/
|
|
1090
|
+
mockTools?: Record<string, (input: unknown, ctx?: unknown) => unknown>;
|
|
1091
|
+
/** Caller info passed to onEnter / onExit hook ctx. */
|
|
1092
|
+
caller?: {
|
|
1093
|
+
phoneNumber?: string;
|
|
1094
|
+
userId?: string;
|
|
1095
|
+
isAnonymous?: boolean;
|
|
1096
|
+
};
|
|
1097
|
+
channel?: 'phone' | 'meeting' | 'whatsapp' | 'webchat';
|
|
1098
|
+
/** Pre-seeded session.userdata. Same as the worker's initial state when onEnter hasn't run yet. */
|
|
1099
|
+
initialUserdata?: Record<string, unknown>;
|
|
1100
|
+
/**
|
|
1101
|
+
* Other LuaVoices the agent under test can hand off to. Pass each
|
|
1102
|
+
* target voice keyed by name so `ctx.voice.handoff('billing-line')`
|
|
1103
|
+
* resolves; assertion happens via `expectContainsHandoff(result, 'billing-line')`.
|
|
1104
|
+
*/
|
|
1105
|
+
handoffTargets?: Record<string, LuaVoice>;
|
|
1106
|
+
/**
|
|
1107
|
+
* Spy on `ctx.voice.transferToHuman(...)` calls from inside the
|
|
1108
|
+
* voice's tools. Real SIP REFER / bridge dial never fires under
|
|
1109
|
+
* the test harness — pass a jest.fn() (or any callback) to assert
|
|
1110
|
+
* the dev's tool attempted a transfer.
|
|
1111
|
+
*/
|
|
1112
|
+
onTransferToHuman?: TransferToHumanRecorder;
|
|
1113
|
+
/**
|
|
1114
|
+
* Seed `dispatchedContext` (what `Voice.call({ context })` would
|
|
1115
|
+
* inject in production). Stored on session.userdata under the same
|
|
1116
|
+
* key the worker uses, plus made available to the hook ctx.
|
|
1117
|
+
*/
|
|
1118
|
+
dispatchedContext?: Record<string, unknown>;
|
|
1119
|
+
sessionId?: string;
|
|
1120
|
+
}
|
|
1121
|
+
|
|
1122
|
+
export declare interface TestSession {
|
|
1123
|
+
/**
|
|
1124
|
+
* Drive a single user turn. Returns a `RunResult` (LiveKit's
|
|
1125
|
+
* built-in assertion type) — chain `.expect.nextEvent()` /
|
|
1126
|
+
* `.expect.containsFunctionCall()` / etc. on the result.
|
|
1127
|
+
*/
|
|
1128
|
+
run(userInput: string): Promise<voice.testing.RunResult>;
|
|
1129
|
+
/**
|
|
1130
|
+
* Drive multiple turns sequentially, returning all results in order.
|
|
1131
|
+
*/
|
|
1132
|
+
runMany(userInputs: string[]): Promise<voice.testing.RunResult[]>;
|
|
1133
|
+
/** Direct access to the underlying LiveKit AgentSession. */
|
|
1134
|
+
readonly session: voice.AgentSession;
|
|
1135
|
+
/** The chat history accumulated across all turns. */
|
|
1136
|
+
readonly history: ReadonlyArray<unknown>;
|
|
1137
|
+
/** Call the LuaVoice's onExit hook (mirror end-of-session lifecycle). */
|
|
1138
|
+
close(): Promise<void>;
|
|
1139
|
+
}
|
|
1140
|
+
|
|
1141
|
+
/**
|
|
1142
|
+
* Lua Tool interface.
|
|
1143
|
+
* Defines the structure of a tool that can be added to a LuaSkill.
|
|
1144
|
+
*
|
|
1145
|
+
* @template TInput - Zod schema type for input validation
|
|
1146
|
+
*
|
|
1147
|
+
* @example
|
|
1148
|
+
* ```typescript
|
|
1149
|
+
* import { z } from 'zod';
|
|
1150
|
+
* import { LuaTool } from 'lua-cli';
|
|
1151
|
+
*
|
|
1152
|
+
* const weatherTool: LuaTool = {
|
|
1153
|
+
* name: 'get_weather',
|
|
1154
|
+
* description: 'Gets current weather for a city',
|
|
1155
|
+
* inputSchema: z.object({
|
|
1156
|
+
* city: z.string(),
|
|
1157
|
+
* units: z.enum(['metric', 'imperial']).optional()
|
|
1158
|
+
* }),
|
|
1159
|
+
* execute: async (input) => {
|
|
1160
|
+
* // Fetch weather data...
|
|
1161
|
+
* return { temperature: 72, condition: 'sunny' };
|
|
1162
|
+
* }
|
|
1163
|
+
* };
|
|
1164
|
+
* ```
|
|
1165
|
+
*
|
|
1166
|
+
* @example
|
|
1167
|
+
* ```typescript
|
|
1168
|
+
* // Tool with condition - only available to premium users
|
|
1169
|
+
* class PremiumSearchTool implements LuaTool {
|
|
1170
|
+
* name = "premium_search";
|
|
1171
|
+
* description = "Advanced search for premium users";
|
|
1172
|
+
* inputSchema = z.object({ query: z.string() });
|
|
1173
|
+
*
|
|
1174
|
+
* // Condition runs before tool is offered to LLM
|
|
1175
|
+
* condition = async () => {
|
|
1176
|
+
* const user = await User.get();
|
|
1177
|
+
* return user.data?.isPremium === true;
|
|
1178
|
+
* };
|
|
1179
|
+
*
|
|
1180
|
+
* execute = async (input) => { ... };
|
|
1181
|
+
* }
|
|
1182
|
+
* ```
|
|
1183
|
+
*/
|
|
1184
|
+
/**
|
|
1185
|
+
* Tool-level flags mirrored from LiveKit's `ToolFlag`. Used by `LuaTool.voice.flags`
|
|
1186
|
+
* to control tool availability + interruption semantics during a voice session.
|
|
1187
|
+
* Defined here (not voice.ts) so LuaTool's voice metadata stays self-contained
|
|
1188
|
+
* with no risk of circular imports.
|
|
1189
|
+
*/
|
|
1190
|
+
declare enum ToolFlag {
|
|
1191
|
+
NONE = "none",
|
|
1192
|
+
/** Tool is hidden from the LLM during the first turn after onEnter. */
|
|
1193
|
+
IGNORE_ON_ENTER = "ignore_on_enter",
|
|
1194
|
+
/** User speech does not interrupt the agent while this tool is executing. */
|
|
1195
|
+
DISALLOW_INTERRUPTION = "disallow_interruption"
|
|
1196
|
+
}
|
|
1197
|
+
|
|
1198
|
+
/**
|
|
1199
|
+
* Wrap each LuaTool / LuaVoiceTool in a LiveKit `llm.tool({})` so the
|
|
1200
|
+
* AgentSession can dispatch tool calls. The mockTools map overrides the
|
|
1201
|
+
* dev's `execute` when provided.
|
|
1202
|
+
*/
|
|
1203
|
+
/**
|
|
1204
|
+
* Optional spy on `ctx.voice.transferToHuman(msisdn, opts)` calls
|
|
1205
|
+
* inside the test harness. Real SIP REFER / bridge dial doesn't fire
|
|
1206
|
+
* in tests — the harness has no SipClient — so this is the only way
|
|
1207
|
+
* to assert "the dev's tool tried to transfer to a human". Default is
|
|
1208
|
+
* a no-op log.
|
|
1209
|
+
*/
|
|
1210
|
+
declare type TransferToHumanRecorder = (msisdn: string, opts?: {
|
|
1211
|
+
mode?: 'bridge' | 'refer';
|
|
1212
|
+
announce?: string;
|
|
1213
|
+
}) => Promise<void> | void;
|
|
1214
|
+
|
|
1215
|
+
export { voice }
|
|
1216
|
+
|
|
1217
|
+
export { }
|