lua-cli 3.15.2 → 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 -19
- 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 -86
- package/dist/api/skills.api.service.d.ts.map +0 -1
- package/dist/api/skills.api.service.js +0 -112
- 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 -935
- 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 -486
- 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 -19
- package/dist/commands/push.d.ts.map +0 -1
- package/dist/commands/push.js +0 -1145
- 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 -38
- package/dist/compiler/utils/common.d.ts.map +0 -1
- package/dist/compiler/utils/common.js +0 -94
- 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 -143
- package/dist/interfaces/backup.d.ts.map +0 -1
- package/dist/interfaces/backup.js +0 -8
- 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 -290
- package/dist/utils/backup-helpers.d.ts.map +0 -1
- package/dist/utils/backup-helpers.js +0 -827
- package/dist/utils/backup-helpers.js.map +0 -1
- package/dist/utils/build-manifest-from-disk.d.ts +0 -17
- package/dist/utils/build-manifest-from-disk.d.ts.map +0 -1
- package/dist/utils/build-manifest-from-disk.js +0 -111
- 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-types/dist/index.d.mts +0 -606
- package/node_modules/@lua/shared-types/dist/index.d.ts +0 -606
- 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 -11
- 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 -20
- 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
package/dist/commands/jobs.js
DELETED
|
@@ -1,736 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Jobs Command
|
|
3
|
-
* Manages agent scheduled jobs for sandbox and production environments
|
|
4
|
-
*/
|
|
5
|
-
import { withErrorHandling, writeProgress, writeSuccess, writeInfo, writeNextStep, writeHintBlock, } from '../utils/cli.js';
|
|
6
|
-
import { buildLogsCommand } from './log-tip.js';
|
|
7
|
-
import { BASE_URLS } from '../config/constants.js';
|
|
8
|
-
import { safePrompt } from '../utils/prompt-handler.js';
|
|
9
|
-
import { initializeCommand } from '../utils/command-utils.js';
|
|
10
|
-
import JobApi from '../api/job.api.service.js';
|
|
11
|
-
import { jobHandler } from '../primitives/job.handler.js';
|
|
12
|
-
import { trackEvent } from '../services/analytics.js';
|
|
13
|
-
import { validateOrSuggest } from '../utils/aliases.js';
|
|
14
|
-
// ─────────────────────────────────────────────────────────────────────────────
|
|
15
|
-
// Main Command Entry
|
|
16
|
-
// ─────────────────────────────────────────────────────────────────────────────
|
|
17
|
-
/**
|
|
18
|
-
* Main jobs command - manages agent jobs.
|
|
19
|
-
*
|
|
20
|
-
* Supports both interactive and non-interactive modes:
|
|
21
|
-
* - Interactive: prompts for action and job selection
|
|
22
|
-
* - Non-interactive: use action argument with -i and -v flags
|
|
23
|
-
*/
|
|
24
|
-
export async function jobsCommand(action, cmdObj) {
|
|
25
|
-
return withErrorHandling(async () => {
|
|
26
|
-
const options = {
|
|
27
|
-
jobName: cmdObj?.jobName || null,
|
|
28
|
-
jobVersion: cmdObj?.jobVersion || null,
|
|
29
|
-
};
|
|
30
|
-
// Initialize command (validates config + auth)
|
|
31
|
-
const { config, agentId, apiKey } = await initializeCommand();
|
|
32
|
-
const context = {
|
|
33
|
-
environment: 'production',
|
|
34
|
-
agentId,
|
|
35
|
-
apiKey,
|
|
36
|
-
};
|
|
37
|
-
// Determine if non-interactive mode
|
|
38
|
-
if (action) {
|
|
39
|
-
await executeNonInteractive(context, config, action, options);
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
await manageProductionJobs(context, config);
|
|
43
|
-
}
|
|
44
|
-
trackEvent('cli_jobs_action', {
|
|
45
|
-
action: action || 'interactive',
|
|
46
|
-
job_name: options.jobName || null,
|
|
47
|
-
non_interactive: !!action,
|
|
48
|
-
});
|
|
49
|
-
}, 'jobs');
|
|
50
|
-
}
|
|
51
|
-
// ─────────────────────────────────────────────────────────────────────────────
|
|
52
|
-
// Shared Core Functions (used by both interactive and non-interactive modes)
|
|
53
|
-
// ─────────────────────────────────────────────────────────────────────────────
|
|
54
|
-
/**
|
|
55
|
-
* Fetches and displays all jobs with their current status.
|
|
56
|
-
*/
|
|
57
|
-
async function displayJobsCore(context, jobs) {
|
|
58
|
-
console.log('\n' + '='.repeat(60));
|
|
59
|
-
console.log('⚙️ Production Jobs');
|
|
60
|
-
console.log('='.repeat(60) + '\n');
|
|
61
|
-
const jobApi = new JobApi(BASE_URLS.API, context.apiKey, context.agentId);
|
|
62
|
-
for (const job of jobs) {
|
|
63
|
-
try {
|
|
64
|
-
const jobInstance = await jobApi.getJob(job.jobId);
|
|
65
|
-
const jobData = jobInstance.data;
|
|
66
|
-
console.log(`⏰ ${job.name}`);
|
|
67
|
-
console.log(` Job ID: ${job.jobId}`);
|
|
68
|
-
console.log(` Status: ${jobData.status || 'active'}`);
|
|
69
|
-
if (jobData.schedule) {
|
|
70
|
-
console.log(` Schedule: ${formatSchedule(jobData.schedule)}`);
|
|
71
|
-
}
|
|
72
|
-
if (jobData.lastRunAt) {
|
|
73
|
-
console.log(` Last Run: ${new Date(jobData.lastRunAt).toLocaleString()}`);
|
|
74
|
-
}
|
|
75
|
-
if (jobData.nextRunAt) {
|
|
76
|
-
console.log(` Next Run: ${new Date(jobData.nextRunAt).toLocaleString()}`);
|
|
77
|
-
}
|
|
78
|
-
console.log();
|
|
79
|
-
}
|
|
80
|
-
catch (error) {
|
|
81
|
-
displayJobError(job, 'Error loading info');
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
console.log('='.repeat(60));
|
|
85
|
-
}
|
|
86
|
-
function displayJobError(job, status) {
|
|
87
|
-
console.log(`⏰ ${job.name}`);
|
|
88
|
-
console.log(` Job ID: ${job.jobId}`);
|
|
89
|
-
console.log(` Status: ${status}`);
|
|
90
|
-
console.log();
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Fetches and returns sorted job versions.
|
|
94
|
-
*/
|
|
95
|
-
async function fetchVersionsCore(context, job) {
|
|
96
|
-
const jobApi = new JobApi(BASE_URLS.API, context.apiKey, context.agentId);
|
|
97
|
-
const [versionsResponse, jobResponse] = await Promise.all([
|
|
98
|
-
jobApi.getJobVersions(job.jobId),
|
|
99
|
-
jobApi.getJob(job.jobId),
|
|
100
|
-
]);
|
|
101
|
-
if (!versionsResponse.success || !versionsResponse.data) {
|
|
102
|
-
console.error(`❌ Failed to fetch versions: ${versionsResponse.error?.message || 'Unknown error'}`);
|
|
103
|
-
return null;
|
|
104
|
-
}
|
|
105
|
-
const versions = versionsResponse.data.sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime());
|
|
106
|
-
const activeVersionId = jobResponse.data?.activeVersionId;
|
|
107
|
-
return { versions, activeVersionId };
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Displays versions for a job.
|
|
111
|
-
*/
|
|
112
|
-
function displayVersionsCore(job, versions, activeVersionId) {
|
|
113
|
-
console.log('\n' + '='.repeat(60));
|
|
114
|
-
console.log(`📜 Versions for ${job.name}`);
|
|
115
|
-
console.log('='.repeat(60) + '\n');
|
|
116
|
-
versions.forEach((version) => {
|
|
117
|
-
const isActive = version.id === activeVersionId;
|
|
118
|
-
console.log(`${isActive ? '⭐' : ' '} Version ${version.version}`);
|
|
119
|
-
console.log(` Created: ${new Date(version.createdAt).toLocaleString()}`);
|
|
120
|
-
if (version.schedule) {
|
|
121
|
-
console.log(` Schedule: ${formatSchedule(version.schedule)}`);
|
|
122
|
-
}
|
|
123
|
-
console.log();
|
|
124
|
-
});
|
|
125
|
-
console.log('='.repeat(60));
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Deploys a specific version of a job.
|
|
129
|
-
*/
|
|
130
|
-
async function deployVersionCore(context, job, version) {
|
|
131
|
-
writeProgress(`🔄 Deploying version ${version} of "${job.name}"...`);
|
|
132
|
-
const jobApi = new JobApi(BASE_URLS.API, context.apiKey, context.agentId);
|
|
133
|
-
const deployResponse = await jobApi.publishJobVersion(job.jobId, version);
|
|
134
|
-
if (!deployResponse.success) {
|
|
135
|
-
console.error(`❌ Deploy Error: ${deployResponse.error?.message || 'Unknown error'}`);
|
|
136
|
-
return false;
|
|
137
|
-
}
|
|
138
|
-
writeSuccess(`✅ Version ${version} of "${job.name}" deployed successfully`);
|
|
139
|
-
writeInfo('💡 The new version is now active and will run on schedule.');
|
|
140
|
-
writeHintBlock({
|
|
141
|
-
headline: 'Job is live. Trigger it, then inspect:',
|
|
142
|
-
lines: [
|
|
143
|
-
{ label: 'Trigger now:', command: `lua jobs trigger --job-name ${job.name}` },
|
|
144
|
-
{ label: 'Inspect:', command: buildLogsCommand({ primitiveType: 'job', name: job.name, limit: 5 }) },
|
|
145
|
-
],
|
|
146
|
-
when: 'success',
|
|
147
|
-
});
|
|
148
|
-
return true;
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Activates a job.
|
|
152
|
-
*/
|
|
153
|
-
async function activateJobCore(context, job) {
|
|
154
|
-
writeProgress(`🔄 Activating job "${job.name}"...`);
|
|
155
|
-
const jobApi = new JobApi(BASE_URLS.API, context.apiKey, context.agentId);
|
|
156
|
-
const response = await jobApi.activateJob(job.jobId);
|
|
157
|
-
if (response.success) {
|
|
158
|
-
writeSuccess(`✅ Job "${job.name}" activated successfully`);
|
|
159
|
-
writeInfo('💡 The job is now enabled and will run on schedule.');
|
|
160
|
-
return true;
|
|
161
|
-
}
|
|
162
|
-
else {
|
|
163
|
-
console.error(`❌ Failed to activate job: ${response.error?.message || 'Unknown error'}`);
|
|
164
|
-
return false;
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Deactivates a job.
|
|
169
|
-
*/
|
|
170
|
-
async function deactivateJobCore(context, job) {
|
|
171
|
-
writeProgress(`🔄 Deactivating job "${job.name}"...`);
|
|
172
|
-
const jobApi = new JobApi(BASE_URLS.API, context.apiKey, context.agentId);
|
|
173
|
-
const response = await jobApi.deactivateJob(job.jobId);
|
|
174
|
-
if (response.success) {
|
|
175
|
-
writeSuccess(`✅ Job "${job.name}" deactivated successfully`);
|
|
176
|
-
writeInfo('💡 The job is now disabled and will not run.');
|
|
177
|
-
return true;
|
|
178
|
-
}
|
|
179
|
-
else {
|
|
180
|
-
console.error(`❌ Failed to deactivate job: ${response.error?.message || 'Unknown error'}`);
|
|
181
|
-
return false;
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
/**
|
|
185
|
-
* Deletes a job from the server.
|
|
186
|
-
* If the job has versions, it will be deactivated instead of deleted.
|
|
187
|
-
*/
|
|
188
|
-
async function deleteJobCore(context, job) {
|
|
189
|
-
writeProgress(`🗑️ Deleting job "${job.name}"...`);
|
|
190
|
-
const jobApi = new JobApi(BASE_URLS.API, context.apiKey, context.agentId);
|
|
191
|
-
const response = await jobApi.deleteJob(job.jobId);
|
|
192
|
-
if (!response.success || !response.data) {
|
|
193
|
-
console.error(`❌ Delete Error: ${response.error?.message || 'Unknown error'}`);
|
|
194
|
-
return false;
|
|
195
|
-
}
|
|
196
|
-
if (response.data.deleted) {
|
|
197
|
-
writeSuccess(`✅ Job "${job.name}" deleted successfully`);
|
|
198
|
-
writeInfo('💡 Remove this job from your lua.skill.yaml to keep it in sync.');
|
|
199
|
-
}
|
|
200
|
-
else if (response.data.deactivated) {
|
|
201
|
-
writeSuccess(`⚠️ Job "${job.name}" has versions and was deactivated instead of deleted`);
|
|
202
|
-
writeInfo("💡 The job is now inactive and won't run on schedule.");
|
|
203
|
-
}
|
|
204
|
-
return true;
|
|
205
|
-
}
|
|
206
|
-
/**
|
|
207
|
-
* Triggers a job execution.
|
|
208
|
-
*/
|
|
209
|
-
async function triggerJobCore(context, job) {
|
|
210
|
-
writeProgress(`⚡ Triggering job "${job.name}"...`);
|
|
211
|
-
const jobApi = new JobApi(BASE_URLS.API, context.apiKey, context.agentId);
|
|
212
|
-
const response = await jobApi.triggerJob(job.jobId);
|
|
213
|
-
if (response.success && response.data) {
|
|
214
|
-
writeSuccess(`✅ Job "${job.name}" triggered successfully`);
|
|
215
|
-
writeInfo(`📋 Execution ID: ${response.data.id || 'N/A'}`);
|
|
216
|
-
writeNextStep({
|
|
217
|
-
command: buildLogsCommand({ primitiveType: 'job', name: job.name, limit: 5 }),
|
|
218
|
-
rationale: 'to see execution output',
|
|
219
|
-
when: 'success',
|
|
220
|
-
});
|
|
221
|
-
return true;
|
|
222
|
-
}
|
|
223
|
-
else {
|
|
224
|
-
console.error(`❌ Failed to trigger job: ${response.error?.message || 'Unknown error'}`);
|
|
225
|
-
return false;
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
/**
|
|
229
|
-
* Fetches and displays execution history for a job.
|
|
230
|
-
*/
|
|
231
|
-
async function fetchAndDisplayHistoryCore(context, job) {
|
|
232
|
-
const jobApi = new JobApi(BASE_URLS.API, context.apiKey, context.agentId);
|
|
233
|
-
const response = await jobApi.getJobExecutions(job.jobId, 20);
|
|
234
|
-
if (!response.success || !response.data) {
|
|
235
|
-
console.error(`❌ Failed to fetch history: ${response.error?.message || 'Unknown error'}`);
|
|
236
|
-
return false;
|
|
237
|
-
}
|
|
238
|
-
const executions = response.data.executions || [];
|
|
239
|
-
if (executions.length === 0) {
|
|
240
|
-
console.log(`ℹ️ No execution history found for ${job.name}.`);
|
|
241
|
-
return true;
|
|
242
|
-
}
|
|
243
|
-
console.log('\n' + '='.repeat(60));
|
|
244
|
-
console.log(`📊 Execution History for ${job.name}`);
|
|
245
|
-
console.log('='.repeat(60) + '\n');
|
|
246
|
-
executions.forEach((execution, index) => {
|
|
247
|
-
const startedAt = new Date(execution.startedAt);
|
|
248
|
-
const status = execution.status;
|
|
249
|
-
const statusEmoji = status === 'completed' ? '✅' : status === 'failed' ? '❌' : status === 'running' ? '🔄' : '⏳';
|
|
250
|
-
console.log(`${index + 1}. ${statusEmoji} ${status.toUpperCase()}`);
|
|
251
|
-
console.log(` Execution ID: ${execution.executionId}`);
|
|
252
|
-
console.log(` Started: ${startedAt.toLocaleString()}`);
|
|
253
|
-
if (execution.completedAt) {
|
|
254
|
-
const completedAt = new Date(execution.completedAt);
|
|
255
|
-
const duration = completedAt.getTime() - startedAt.getTime();
|
|
256
|
-
console.log(` Completed: ${completedAt.toLocaleString()}`);
|
|
257
|
-
console.log(` Duration: ${Math.round(duration / 1000)}s`);
|
|
258
|
-
}
|
|
259
|
-
if (execution.result) {
|
|
260
|
-
console.log(` Result: ${JSON.stringify(execution.result).substring(0, 100)}...`);
|
|
261
|
-
}
|
|
262
|
-
if (execution.error) {
|
|
263
|
-
console.log(` Error: ${execution.error}`);
|
|
264
|
-
}
|
|
265
|
-
console.log();
|
|
266
|
-
});
|
|
267
|
-
console.log('='.repeat(60));
|
|
268
|
-
console.log(`Showing last ${executions.length} executions`);
|
|
269
|
-
return true;
|
|
270
|
-
}
|
|
271
|
-
/**
|
|
272
|
-
* Resolves a version string to an actual version, supporting "latest".
|
|
273
|
-
*/
|
|
274
|
-
function resolveVersion(versions, versionArg) {
|
|
275
|
-
if (versionArg.toLowerCase() === 'latest') {
|
|
276
|
-
return versions[0].version;
|
|
277
|
-
}
|
|
278
|
-
const exists = versions.some((v) => v.version === versionArg);
|
|
279
|
-
if (!exists) {
|
|
280
|
-
console.error(`❌ Version "${versionArg}" not found`);
|
|
281
|
-
console.log('\nAvailable versions:');
|
|
282
|
-
versions.slice(0, 5).forEach((v) => console.log(` - ${v.version}`));
|
|
283
|
-
return null;
|
|
284
|
-
}
|
|
285
|
-
return versionArg;
|
|
286
|
-
}
|
|
287
|
-
/**
|
|
288
|
-
* Fetches live status for each config job from the server and merges it in.
|
|
289
|
-
* Falls back to the original config job if the server request fails or the job is not found.
|
|
290
|
-
*/
|
|
291
|
-
async function enrichJobsWithServerStatus(context, configJobs) {
|
|
292
|
-
const jobApi = new JobApi(BASE_URLS.API, context.apiKey, context.agentId);
|
|
293
|
-
const serverResponse = await jobApi.getJobs();
|
|
294
|
-
if (!serverResponse.success || !serverResponse.data?.jobs)
|
|
295
|
-
return configJobs;
|
|
296
|
-
const serverMap = new Map(serverResponse.data.jobs.map((j) => [j.id, j]));
|
|
297
|
-
return configJobs.map((job) => {
|
|
298
|
-
const serverJob = serverMap.get(job.jobId);
|
|
299
|
-
return serverJob ? { ...job, status: serverJob.status, active: serverJob.active } : job;
|
|
300
|
-
});
|
|
301
|
-
}
|
|
302
|
-
/**
|
|
303
|
-
* Prompts user to select a job from a list.
|
|
304
|
-
*/
|
|
305
|
-
async function promptJobSelection(jobs, message, options) {
|
|
306
|
-
const jobAnswer = await safePrompt([
|
|
307
|
-
{
|
|
308
|
-
type: 'list',
|
|
309
|
-
name: 'selectedJob',
|
|
310
|
-
message,
|
|
311
|
-
choices: jobs.map((job) => {
|
|
312
|
-
const statusBadge = options?.showStatus && job.status ? ` [${job.status}]` : '';
|
|
313
|
-
return {
|
|
314
|
-
name: `${job.name} (${job.jobId})${statusBadge}`,
|
|
315
|
-
value: job,
|
|
316
|
-
};
|
|
317
|
-
}),
|
|
318
|
-
},
|
|
319
|
-
]);
|
|
320
|
-
return jobAnswer?.selectedJob || null;
|
|
321
|
-
}
|
|
322
|
-
/**
|
|
323
|
-
* Prompts user to select a version from a list.
|
|
324
|
-
*/
|
|
325
|
-
async function promptVersionSelection(versions, activeVersionId) {
|
|
326
|
-
const versionAnswer = await safePrompt([
|
|
327
|
-
{
|
|
328
|
-
type: 'list',
|
|
329
|
-
name: 'selectedVersion',
|
|
330
|
-
message: 'Select a version to deploy:',
|
|
331
|
-
choices: versions.map((version) => {
|
|
332
|
-
const isActive = version.id === activeVersionId;
|
|
333
|
-
return {
|
|
334
|
-
name: `Version ${version.version} (${new Date(version.createdAt).toLocaleDateString()})${isActive ? ' ⭐ CURRENT' : ''}`,
|
|
335
|
-
value: version,
|
|
336
|
-
};
|
|
337
|
-
}),
|
|
338
|
-
},
|
|
339
|
-
]);
|
|
340
|
-
return versionAnswer?.selectedVersion || null;
|
|
341
|
-
}
|
|
342
|
-
// ─────────────────────────────────────────────────────────────────────────────
|
|
343
|
-
// Non-Interactive Mode
|
|
344
|
-
// ─────────────────────────────────────────────────────────────────────────────
|
|
345
|
-
async function executeNonInteractive(context, config, action, options) {
|
|
346
|
-
const normalizedAction = validateOrSuggest('jobs.action', action);
|
|
347
|
-
const jobs = config.jobs || [];
|
|
348
|
-
// View action doesn't require job selection
|
|
349
|
-
if (normalizedAction === 'view') {
|
|
350
|
-
if (jobs.length === 0) {
|
|
351
|
-
console.log('ℹ️ No jobs found in configuration.');
|
|
352
|
-
return;
|
|
353
|
-
}
|
|
354
|
-
await displayJobsCore(context, jobs);
|
|
355
|
-
return;
|
|
356
|
-
}
|
|
357
|
-
// All other actions require job selection
|
|
358
|
-
if (!options.jobName) {
|
|
359
|
-
console.error(`❌ --job-name is required for action "${normalizedAction}"`);
|
|
360
|
-
console.log(`\nUsage: lua jobs ${normalizedAction} --job-name <name>`);
|
|
361
|
-
throw new Error(`--job-name is required for action "${normalizedAction}"`);
|
|
362
|
-
}
|
|
363
|
-
let selectedJob = jobs.find((j) => j.jobId === options.jobName || j.name === options.jobName);
|
|
364
|
-
// For delete and trigger actions, also check server jobs (for orphaned jobs not in local YAML)
|
|
365
|
-
if (!selectedJob && (normalizedAction === 'delete' || normalizedAction === 'trigger')) {
|
|
366
|
-
const jobApi = new JobApi(BASE_URLS.API, context.apiKey, context.agentId);
|
|
367
|
-
const serverResponse = await jobApi.getJobs();
|
|
368
|
-
if (serverResponse.success && serverResponse.data?.jobs) {
|
|
369
|
-
const serverJob = serverResponse.data.jobs.find((j) => j.id === options.jobName || j.name === options.jobName);
|
|
370
|
-
if (serverJob) {
|
|
371
|
-
const activeVersion = serverJob.activeVersion ?? serverJob.versions.find((v) => v.active) ?? serverJob.versions[0];
|
|
372
|
-
selectedJob = {
|
|
373
|
-
name: serverJob.name,
|
|
374
|
-
jobId: serverJob.id,
|
|
375
|
-
version: activeVersion?.version ?? '',
|
|
376
|
-
};
|
|
377
|
-
}
|
|
378
|
-
}
|
|
379
|
-
}
|
|
380
|
-
if (!selectedJob) {
|
|
381
|
-
console.error(`❌ Job "${options.jobName}" not found`);
|
|
382
|
-
console.log('\nAvailable jobs in local config:');
|
|
383
|
-
jobs.forEach((j) => console.log(` - ${j.name} (${j.jobId})`));
|
|
384
|
-
if (normalizedAction === 'delete' || normalizedAction === 'trigger') {
|
|
385
|
-
console.log('\n💡 Tip: The job may have already been deleted from the server.');
|
|
386
|
-
}
|
|
387
|
-
throw new Error(`Job "${options.jobName}" not found`);
|
|
388
|
-
}
|
|
389
|
-
switch (normalizedAction) {
|
|
390
|
-
case 'versions': {
|
|
391
|
-
const vData = await fetchVersionsCore(context, selectedJob);
|
|
392
|
-
if (!vData)
|
|
393
|
-
throw new Error('Failed to fetch job versions');
|
|
394
|
-
if (vData.versions.length === 0) {
|
|
395
|
-
console.log(`ℹ️ No versions found for ${selectedJob.name}.`);
|
|
396
|
-
console.log("💡 Push a version first using 'lua push job'.");
|
|
397
|
-
return;
|
|
398
|
-
}
|
|
399
|
-
displayVersionsCore(selectedJob, vData.versions, vData.activeVersionId);
|
|
400
|
-
break;
|
|
401
|
-
}
|
|
402
|
-
case 'deploy': {
|
|
403
|
-
if (!options.jobVersion) {
|
|
404
|
-
console.error('❌ --job-version is required for deploy action');
|
|
405
|
-
console.log('\nUsage: lua jobs deploy --job-name myJob --job-version 1.0.3');
|
|
406
|
-
console.log(' lua jobs deploy -i myJob -v latest');
|
|
407
|
-
throw new Error('--job-version is required for deploy action');
|
|
408
|
-
}
|
|
409
|
-
const dData = await fetchVersionsCore(context, selectedJob);
|
|
410
|
-
if (!dData)
|
|
411
|
-
throw new Error('Failed to fetch job versions');
|
|
412
|
-
if (dData.versions.length === 0) {
|
|
413
|
-
console.error(`❌ No versions found for ${selectedJob.name}.`);
|
|
414
|
-
console.log("💡 Push a version first using 'lua push job'.");
|
|
415
|
-
throw new Error(`No versions found for ${selectedJob.name}`);
|
|
416
|
-
}
|
|
417
|
-
const resolvedVersion = resolveVersion(dData.versions, options.jobVersion);
|
|
418
|
-
if (!resolvedVersion)
|
|
419
|
-
throw new Error('Failed to resolve job version');
|
|
420
|
-
const success = await deployVersionCore(context, selectedJob, resolvedVersion);
|
|
421
|
-
if (!success)
|
|
422
|
-
throw new Error('Failed to deploy job version');
|
|
423
|
-
break;
|
|
424
|
-
}
|
|
425
|
-
case 'activate': {
|
|
426
|
-
const success = await activateJobCore(context, selectedJob);
|
|
427
|
-
if (!success)
|
|
428
|
-
throw new Error('Failed to activate job');
|
|
429
|
-
break;
|
|
430
|
-
}
|
|
431
|
-
case 'deactivate': {
|
|
432
|
-
const success = await deactivateJobCore(context, selectedJob);
|
|
433
|
-
if (!success)
|
|
434
|
-
throw new Error('Failed to deactivate job');
|
|
435
|
-
break;
|
|
436
|
-
}
|
|
437
|
-
case 'trigger': {
|
|
438
|
-
const success = await triggerJobCore(context, selectedJob);
|
|
439
|
-
if (!success)
|
|
440
|
-
throw new Error('Failed to trigger job');
|
|
441
|
-
break;
|
|
442
|
-
}
|
|
443
|
-
case 'history': {
|
|
444
|
-
const success = await fetchAndDisplayHistoryCore(context, selectedJob);
|
|
445
|
-
if (!success)
|
|
446
|
-
throw new Error('Failed to fetch job history');
|
|
447
|
-
break;
|
|
448
|
-
}
|
|
449
|
-
case 'delete': {
|
|
450
|
-
const success = await deleteJobCore(context, selectedJob);
|
|
451
|
-
if (!success)
|
|
452
|
-
throw new Error('Failed to delete job');
|
|
453
|
-
break;
|
|
454
|
-
}
|
|
455
|
-
}
|
|
456
|
-
}
|
|
457
|
-
// ─────────────────────────────────────────────────────────────────────────────
|
|
458
|
-
// Interactive Mode
|
|
459
|
-
// ─────────────────────────────────────────────────────────────────────────────
|
|
460
|
-
async function manageProductionJobs(context, config) {
|
|
461
|
-
let continueManaging = true;
|
|
462
|
-
while (continueManaging) {
|
|
463
|
-
console.log('\n' + '='.repeat(60));
|
|
464
|
-
console.log('🚀 Production Jobs');
|
|
465
|
-
console.log('='.repeat(60) + '\n');
|
|
466
|
-
const actionAnswer = await safePrompt([
|
|
467
|
-
{
|
|
468
|
-
type: 'list',
|
|
469
|
-
name: 'action',
|
|
470
|
-
message: 'What would you like to do?',
|
|
471
|
-
choices: [
|
|
472
|
-
{ name: '👁️ View deployed jobs', value: 'view' },
|
|
473
|
-
{ name: '📜 View job versions', value: 'versions' },
|
|
474
|
-
{ name: '🚀 Deploy a version', value: 'deploy' },
|
|
475
|
-
{ name: '✅ Activate a job', value: 'activate' },
|
|
476
|
-
{ name: '🚫 Deactivate a job', value: 'deactivate' },
|
|
477
|
-
{ name: '⚡ Trigger job now', value: 'trigger' },
|
|
478
|
-
{ name: '📊 View execution history', value: 'history' },
|
|
479
|
-
{ name: '🗑️ Delete a job', value: 'delete' },
|
|
480
|
-
{ name: '❌ Exit', value: 'exit' },
|
|
481
|
-
],
|
|
482
|
-
},
|
|
483
|
-
]);
|
|
484
|
-
if (!actionAnswer)
|
|
485
|
-
return;
|
|
486
|
-
const { action } = actionAnswer;
|
|
487
|
-
switch (action) {
|
|
488
|
-
case 'view':
|
|
489
|
-
await viewDeployedJobsInteractive(context, config);
|
|
490
|
-
break;
|
|
491
|
-
case 'versions':
|
|
492
|
-
await viewJobVersionsInteractive(context, config);
|
|
493
|
-
break;
|
|
494
|
-
case 'deploy':
|
|
495
|
-
await deployJobVersionInteractive(context, config);
|
|
496
|
-
break;
|
|
497
|
-
case 'activate':
|
|
498
|
-
await activateJobInteractive(context, config);
|
|
499
|
-
break;
|
|
500
|
-
case 'deactivate':
|
|
501
|
-
await deactivateJobInteractive(context, config);
|
|
502
|
-
break;
|
|
503
|
-
case 'trigger':
|
|
504
|
-
await triggerJobInteractive(context, config);
|
|
505
|
-
break;
|
|
506
|
-
case 'history':
|
|
507
|
-
await viewExecutionHistoryInteractive(context, config);
|
|
508
|
-
break;
|
|
509
|
-
case 'delete':
|
|
510
|
-
await deleteJobInteractive(context, config);
|
|
511
|
-
break;
|
|
512
|
-
case 'exit':
|
|
513
|
-
continueManaging = false;
|
|
514
|
-
console.log('\n👋 Goodbye!\n');
|
|
515
|
-
break;
|
|
516
|
-
}
|
|
517
|
-
}
|
|
518
|
-
}
|
|
519
|
-
async function viewDeployedJobsInteractive(context, config) {
|
|
520
|
-
writeProgress('🔄 Loading job information...');
|
|
521
|
-
const jobs = config.jobs || [];
|
|
522
|
-
if (jobs.length === 0) {
|
|
523
|
-
console.log('\nℹ️ No jobs found in configuration.\n');
|
|
524
|
-
}
|
|
525
|
-
else {
|
|
526
|
-
await displayJobsCore(context, jobs);
|
|
527
|
-
console.log();
|
|
528
|
-
}
|
|
529
|
-
await safePrompt([{ type: 'input', name: 'continue', message: 'Press Enter to continue...' }]);
|
|
530
|
-
}
|
|
531
|
-
async function viewJobVersionsInteractive(context, config) {
|
|
532
|
-
const jobs = config.jobs || [];
|
|
533
|
-
if (jobs.length === 0) {
|
|
534
|
-
console.log('\nℹ️ No jobs found in configuration.\n');
|
|
535
|
-
await safePrompt([{ type: 'input', name: 'continue', message: 'Press Enter to continue...' }]);
|
|
536
|
-
return;
|
|
537
|
-
}
|
|
538
|
-
const selectedJob = await promptJobSelection(jobs, 'Select a job to view versions:');
|
|
539
|
-
if (!selectedJob)
|
|
540
|
-
return;
|
|
541
|
-
writeProgress(`🔄 Loading versions for ${selectedJob.name}...`);
|
|
542
|
-
const viewData = await fetchVersionsCore(context, selectedJob);
|
|
543
|
-
if (!viewData) {
|
|
544
|
-
await safePrompt([{ type: 'input', name: 'continue', message: 'Press Enter to continue...' }]);
|
|
545
|
-
return;
|
|
546
|
-
}
|
|
547
|
-
if (viewData.versions.length === 0) {
|
|
548
|
-
console.log(`\nℹ️ No versions found for ${selectedJob.name}.\n`);
|
|
549
|
-
console.log("💡 Push a version first using 'lua push job'.\n");
|
|
550
|
-
}
|
|
551
|
-
else {
|
|
552
|
-
displayVersionsCore(selectedJob, viewData.versions, viewData.activeVersionId);
|
|
553
|
-
console.log();
|
|
554
|
-
}
|
|
555
|
-
await safePrompt([{ type: 'input', name: 'continue', message: 'Press Enter to continue...' }]);
|
|
556
|
-
}
|
|
557
|
-
async function deployJobVersionInteractive(context, config) {
|
|
558
|
-
const jobs = config.jobs || [];
|
|
559
|
-
if (jobs.length === 0) {
|
|
560
|
-
console.log('\nℹ️ No jobs found in configuration.\n');
|
|
561
|
-
await safePrompt([{ type: 'input', name: 'continue', message: 'Press Enter to continue...' }]);
|
|
562
|
-
return;
|
|
563
|
-
}
|
|
564
|
-
const selectedJob = await promptJobSelection(jobs, 'Select a job to deploy:');
|
|
565
|
-
if (!selectedJob)
|
|
566
|
-
return;
|
|
567
|
-
writeProgress(`🔄 Loading versions for ${selectedJob.name}...`);
|
|
568
|
-
const deployData = await fetchVersionsCore(context, selectedJob);
|
|
569
|
-
if (!deployData) {
|
|
570
|
-
await safePrompt([{ type: 'input', name: 'continue', message: 'Press Enter to continue...' }]);
|
|
571
|
-
return;
|
|
572
|
-
}
|
|
573
|
-
if (deployData.versions.length === 0) {
|
|
574
|
-
console.log(`\nℹ️ No versions found for ${selectedJob.name}.\n`);
|
|
575
|
-
console.log("💡 Push a version first using 'lua push job'.\n");
|
|
576
|
-
await safePrompt([{ type: 'input', name: 'continue', message: 'Press Enter to continue...' }]);
|
|
577
|
-
return;
|
|
578
|
-
}
|
|
579
|
-
const selectedVersion = await promptVersionSelection(deployData.versions, deployData.activeVersionId);
|
|
580
|
-
if (!selectedVersion)
|
|
581
|
-
return;
|
|
582
|
-
// Show warning and confirm
|
|
583
|
-
console.log('\n⚠️ WARNING: You are about to deploy to PRODUCTION!');
|
|
584
|
-
console.log('⚠️ This will affect ALL users immediately.\n');
|
|
585
|
-
console.log(`Job: ${selectedJob.name}`);
|
|
586
|
-
console.log(`Version: ${selectedVersion.version}`);
|
|
587
|
-
console.log(`Schedule: ${formatSchedule(selectedJob.schedule)}\n`);
|
|
588
|
-
const confirmAnswer = await safePrompt([
|
|
589
|
-
{
|
|
590
|
-
type: 'confirm',
|
|
591
|
-
name: 'confirm',
|
|
592
|
-
message: 'Are you absolutely sure you want to deploy this version?',
|
|
593
|
-
default: false,
|
|
594
|
-
},
|
|
595
|
-
]);
|
|
596
|
-
if (!confirmAnswer || !confirmAnswer.confirm) {
|
|
597
|
-
console.log('\n❌ Deployment cancelled.\n');
|
|
598
|
-
return;
|
|
599
|
-
}
|
|
600
|
-
await deployVersionCore(context, selectedJob, selectedVersion.version);
|
|
601
|
-
await safePrompt([{ type: 'input', name: 'continue', message: 'Press Enter to continue...' }]);
|
|
602
|
-
}
|
|
603
|
-
async function activateJobInteractive(context, config) {
|
|
604
|
-
let jobs = config.jobs || [];
|
|
605
|
-
if (jobs.length === 0) {
|
|
606
|
-
console.log('\nℹ️ No jobs found.\n');
|
|
607
|
-
return;
|
|
608
|
-
}
|
|
609
|
-
jobs = await enrichJobsWithServerStatus(context, jobs);
|
|
610
|
-
const selectedJob = await promptJobSelection(jobs, 'Select a job to activate:', { showStatus: true });
|
|
611
|
-
if (!selectedJob)
|
|
612
|
-
return;
|
|
613
|
-
await activateJobCore(context, selectedJob);
|
|
614
|
-
}
|
|
615
|
-
async function deactivateJobInteractive(context, config) {
|
|
616
|
-
let jobs = config.jobs || [];
|
|
617
|
-
if (jobs.length === 0) {
|
|
618
|
-
console.log('\nℹ️ No jobs found.\n');
|
|
619
|
-
return;
|
|
620
|
-
}
|
|
621
|
-
jobs = await enrichJobsWithServerStatus(context, jobs);
|
|
622
|
-
const selectedJob = await promptJobSelection(jobs, 'Select a job to deactivate:', { showStatus: true });
|
|
623
|
-
if (!selectedJob)
|
|
624
|
-
return;
|
|
625
|
-
const confirmAnswer = await safePrompt([
|
|
626
|
-
{
|
|
627
|
-
type: 'confirm',
|
|
628
|
-
name: 'confirm',
|
|
629
|
-
message: `Are you sure you want to deactivate "${selectedJob.name}"? It will stop running on schedule.`,
|
|
630
|
-
default: false,
|
|
631
|
-
},
|
|
632
|
-
]);
|
|
633
|
-
if (!confirmAnswer || !confirmAnswer.confirm) {
|
|
634
|
-
console.log('\n❌ Deactivation cancelled.\n');
|
|
635
|
-
return;
|
|
636
|
-
}
|
|
637
|
-
await deactivateJobCore(context, selectedJob);
|
|
638
|
-
}
|
|
639
|
-
async function triggerJobInteractive(context, config) {
|
|
640
|
-
const { merged, orphanIds, serverFailed } = await jobHandler.fetchMergedForInteraction(context.apiKey, context.agentId, config);
|
|
641
|
-
if (serverFailed) {
|
|
642
|
-
console.log('\n⚠️ Could not reach server. Showing local items only.\n');
|
|
643
|
-
}
|
|
644
|
-
if (merged.length === 0) {
|
|
645
|
-
console.log('\nℹ️ No jobs found.\n');
|
|
646
|
-
return;
|
|
647
|
-
}
|
|
648
|
-
const answer = await safePrompt([
|
|
649
|
-
{
|
|
650
|
-
type: 'list',
|
|
651
|
-
name: 'selected',
|
|
652
|
-
message: 'Select a job to trigger:',
|
|
653
|
-
choices: merged.map((item) => ({
|
|
654
|
-
name: orphanIds.has(item.jobId) ? `${item.name} (${item.jobId}) [server only]` : `${item.name} (${item.jobId})`,
|
|
655
|
-
value: item,
|
|
656
|
-
})),
|
|
657
|
-
},
|
|
658
|
-
]);
|
|
659
|
-
const selectedJob = answer?.selected ?? null;
|
|
660
|
-
if (!selectedJob)
|
|
661
|
-
return;
|
|
662
|
-
await triggerJobCore(context, selectedJob);
|
|
663
|
-
}
|
|
664
|
-
async function viewExecutionHistoryInteractive(context, config) {
|
|
665
|
-
const jobs = config.jobs || [];
|
|
666
|
-
if (jobs.length === 0) {
|
|
667
|
-
console.log('\nℹ️ No jobs found in configuration.\n');
|
|
668
|
-
await safePrompt([{ type: 'input', name: 'continue', message: 'Press Enter to continue...' }]);
|
|
669
|
-
return;
|
|
670
|
-
}
|
|
671
|
-
const selectedJob = await promptJobSelection(jobs, 'Select a job to view execution history:');
|
|
672
|
-
if (!selectedJob)
|
|
673
|
-
return;
|
|
674
|
-
writeProgress(`🔄 Loading execution history for ${selectedJob.name}...`);
|
|
675
|
-
await fetchAndDisplayHistoryCore(context, selectedJob);
|
|
676
|
-
await safePrompt([{ type: 'input', name: 'continue', message: 'Press Enter to continue...' }]);
|
|
677
|
-
}
|
|
678
|
-
async function deleteJobInteractive(context, config) {
|
|
679
|
-
const { merged, orphanIds, serverFailed } = await jobHandler.fetchMergedForInteraction(context.apiKey, context.agentId, config);
|
|
680
|
-
if (serverFailed) {
|
|
681
|
-
console.log('\n⚠️ Could not reach server. Showing local items only.\n');
|
|
682
|
-
}
|
|
683
|
-
if (merged.length === 0) {
|
|
684
|
-
console.log('\nℹ️ No jobs found in configuration.\n');
|
|
685
|
-
await safePrompt([{ type: 'input', name: 'continue', message: 'Press Enter to continue...' }]);
|
|
686
|
-
return;
|
|
687
|
-
}
|
|
688
|
-
const answer = await safePrompt([
|
|
689
|
-
{
|
|
690
|
-
type: 'list',
|
|
691
|
-
name: 'selected',
|
|
692
|
-
message: 'Select a job to delete:',
|
|
693
|
-
choices: merged.map((item) => ({
|
|
694
|
-
name: orphanIds.has(item.jobId) ? `${item.name} (${item.jobId}) [server only]` : `${item.name} (${item.jobId})`,
|
|
695
|
-
value: item,
|
|
696
|
-
})),
|
|
697
|
-
},
|
|
698
|
-
]);
|
|
699
|
-
const selectedJob = answer?.selected ?? null;
|
|
700
|
-
if (!selectedJob)
|
|
701
|
-
return;
|
|
702
|
-
console.log('\n⚠️ WARNING: You are about to delete a job!');
|
|
703
|
-
console.log('⚠️ If the job has versions, it will be deactivated instead.\n');
|
|
704
|
-
const confirmAnswer = await safePrompt([
|
|
705
|
-
{
|
|
706
|
-
type: 'confirm',
|
|
707
|
-
name: 'confirm',
|
|
708
|
-
message: `Are you sure you want to delete "${selectedJob.name}"?`,
|
|
709
|
-
default: false,
|
|
710
|
-
},
|
|
711
|
-
]);
|
|
712
|
-
if (!confirmAnswer || !confirmAnswer.confirm) {
|
|
713
|
-
console.log('\n❌ Deletion cancelled.\n');
|
|
714
|
-
return;
|
|
715
|
-
}
|
|
716
|
-
await deleteJobCore(context, selectedJob);
|
|
717
|
-
await safePrompt([{ type: 'input', name: 'continue', message: 'Press Enter to continue...' }]);
|
|
718
|
-
}
|
|
719
|
-
// ─────────────────────────────────────────────────────────────────────────────
|
|
720
|
-
// Utility Functions
|
|
721
|
-
// ─────────────────────────────────────────────────────────────────────────────
|
|
722
|
-
function formatSchedule(schedule) {
|
|
723
|
-
if (!schedule)
|
|
724
|
-
return 'Not configured';
|
|
725
|
-
switch (schedule.type) {
|
|
726
|
-
case 'cron':
|
|
727
|
-
return `Cron: ${schedule.expression}${schedule.timezone ? ` (${schedule.timezone})` : ''}`;
|
|
728
|
-
case 'once':
|
|
729
|
-
return `Once at: ${new Date(schedule.executeAt).toLocaleString()}`;
|
|
730
|
-
case 'interval':
|
|
731
|
-
return `Every ${schedule.seconds} seconds`;
|
|
732
|
-
default:
|
|
733
|
-
return 'Unknown schedule type';
|
|
734
|
-
}
|
|
735
|
-
}
|
|
736
|
-
//# sourceMappingURL=jobs.js.map
|