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
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Wire types for the agent project backup feature.
|
|
3
|
-
*
|
|
4
|
-
* These mirror `packages/lua-cli/src/interfaces/backup.ts` byte-for-byte so the
|
|
5
|
-
* CLI and any server-side caller speak the same protocol against the existing
|
|
6
|
-
* `/developer/agents/:agentId/backup/*` endpoints on lua-api.
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* A single file entry in the backup manifest. Carries no content — content is
|
|
11
|
-
* stored as a blob in S3 under `backups/blobs/<hash>` and dereferenced at
|
|
12
|
-
* restore time.
|
|
13
|
-
*/
|
|
14
|
-
export interface BackupFileRef {
|
|
15
|
-
/**
|
|
16
|
-
* Path used both as identifier and as on-disk restore location.
|
|
17
|
-
* - In-project: relative to the agent's project root (e.g. `src/index.ts`).
|
|
18
|
-
* - External (monorepo cross-root): relative to the workspace root; restored
|
|
19
|
-
* under `.lua/external/<relativePath>` (see BAC-69).
|
|
20
|
-
*/
|
|
21
|
-
relativePath: string;
|
|
22
|
-
/** Truncated SHA-256 (16 hex chars) of the file's raw bytes. Used as the S3 key. */
|
|
23
|
-
hash: string;
|
|
24
|
-
/** Original (uncompressed) byte size. */
|
|
25
|
-
size: number;
|
|
26
|
-
/** Coarse classification for telemetry and UI grouping. */
|
|
27
|
-
type: 'source' | 'config' | 'other';
|
|
28
|
-
/** Defaults to in-project when absent. Cross-root files set this `true`. */
|
|
29
|
-
external?: boolean;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/** Body of `POST /developer/agents/:agentId/backup/check-blobs`. */
|
|
33
|
-
export interface CheckBlobsRequest {
|
|
34
|
-
hashes: string[];
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
/** Response shape from `check-blobs`. */
|
|
38
|
-
export interface CheckBlobsResponse {
|
|
39
|
-
missing: string[];
|
|
40
|
-
existing: string[];
|
|
41
|
-
results: Record<string, boolean>;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/** Body of `POST /developer/agents/:agentId/backup/blob-upload-urls` and `.../blob-urls`. */
|
|
45
|
-
export interface GetBlobUrlsRequest {
|
|
46
|
-
hashes: string[];
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/** Response shape: `{ urls: { <hash>: <presignedUrl> }, expiresIn: <seconds> }`. */
|
|
50
|
-
export interface GetBlobUrlsResponse {
|
|
51
|
-
urls: Record<string, string>;
|
|
52
|
-
expiresIn: number;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/** Body of `POST /developer/agents/:agentId/backup/manifest`. */
|
|
56
|
-
export interface SaveManifestRequest {
|
|
57
|
-
projectHash: string;
|
|
58
|
-
files: BackupFileRef[];
|
|
59
|
-
version?: string;
|
|
60
|
-
createdBy?: string;
|
|
61
|
-
orgId?: string;
|
|
62
|
-
triggeredBy?: string;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/** Metadata returned by `GET /developer/agents/:agentId/backup`. */
|
|
66
|
-
export interface BackupMetadata {
|
|
67
|
-
agentId: string;
|
|
68
|
-
orgId: string;
|
|
69
|
-
projectHash: string;
|
|
70
|
-
fileCount: number;
|
|
71
|
-
totalSize: number;
|
|
72
|
-
version?: string;
|
|
73
|
-
createdBy: string;
|
|
74
|
-
createdAt: string;
|
|
75
|
-
/** Monotonic manifest version assigned by the V2 server path. */
|
|
76
|
-
activeVersion?: number;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/** Full response from `GET /developer/agents/:agentId/backup/manifest`. */
|
|
80
|
-
export interface BackupManifest extends BackupMetadata {
|
|
81
|
-
files: BackupFileRef[];
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
/** Response from `GET /developer/agents/:agentId/backup/check/:hash`. */
|
|
85
|
-
export interface BackupExistsResponse {
|
|
86
|
-
exists: boolean;
|
|
87
|
-
currentHash?: string;
|
|
88
|
-
}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Walk an agent workspace from disk and produce a fresh manifest. Used by
|
|
3
|
-
* both the CLI (via `buildManifestFromDisk`) and server-side callers
|
|
4
|
-
* (`SourceSyncService`).
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import { readdirSync, readFileSync, statSync, type Dirent } from 'fs';
|
|
8
|
-
import { join, sep } from 'path';
|
|
9
|
-
import { hashContentTruncated, combineFileHashes } from './hash';
|
|
10
|
-
import { classifyFile, shouldSkipDirectory, shouldSkipFile, DEFAULT_MAX_FILE_BYTES } from './filter';
|
|
11
|
-
import type { BackupFileRef } from './types';
|
|
12
|
-
|
|
13
|
-
export interface WalkOptions {
|
|
14
|
-
/** Per-file size cap. Files larger than this are skipped (default 256KB). */
|
|
15
|
-
maxFileBytes?: number;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export interface WalkResult {
|
|
19
|
-
/** Sorted file references suitable for a backup manifest. */
|
|
20
|
-
files: BackupFileRef[];
|
|
21
|
-
/** Deterministic combined hash over the file set. */
|
|
22
|
-
projectHash: string;
|
|
23
|
-
/** Sum of original file sizes. */
|
|
24
|
-
totalSize: number;
|
|
25
|
-
/**
|
|
26
|
-
* Raw file content keyed by truncated hash. Caller uses this for the upload
|
|
27
|
-
* step instead of re-reading from disk. First-write-wins on collision so
|
|
28
|
-
* dedup is honored.
|
|
29
|
-
*/
|
|
30
|
-
contentByHash: Map<string, Buffer>;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Walk `rootDir` and return a stable workspace snapshot. 16-char truncated
|
|
35
|
-
* SHA-256 hashes; path separators normalized to `/` for OS-independent
|
|
36
|
-
* manifest round-trip.
|
|
37
|
-
*/
|
|
38
|
-
export function walkWorkspace(rootDir: string, opts: WalkOptions = {}): WalkResult {
|
|
39
|
-
const maxBytes = opts.maxFileBytes ?? DEFAULT_MAX_FILE_BYTES;
|
|
40
|
-
const refs: BackupFileRef[] = [];
|
|
41
|
-
const contentByHash = new Map<string, Buffer>();
|
|
42
|
-
let totalSize = 0;
|
|
43
|
-
|
|
44
|
-
const visit = (relPrefix: string): void => {
|
|
45
|
-
const absDir = relPrefix ? join(rootDir, relPrefix) : rootDir;
|
|
46
|
-
let entries: Dirent[];
|
|
47
|
-
try {
|
|
48
|
-
entries = readdirSync(absDir, { withFileTypes: true });
|
|
49
|
-
} catch {
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
for (const entry of entries) {
|
|
53
|
-
if (entry.isDirectory()) {
|
|
54
|
-
// Curated skip list + file-skip rules — catches dotted dirs, __tests__, etc.
|
|
55
|
-
if (shouldSkipDirectory(entry.name)) continue;
|
|
56
|
-
if (shouldSkipFile(entry.name)) continue;
|
|
57
|
-
visit(relPrefix ? `${relPrefix}${sep}${entry.name}` : entry.name);
|
|
58
|
-
continue;
|
|
59
|
-
}
|
|
60
|
-
if (!entry.isFile()) continue;
|
|
61
|
-
if (shouldSkipFile(entry.name)) continue;
|
|
62
|
-
|
|
63
|
-
const rel = (relPrefix ? `${relPrefix}${sep}${entry.name}` : entry.name).split(sep).join('/');
|
|
64
|
-
const abs = join(rootDir, rel);
|
|
65
|
-
let stats;
|
|
66
|
-
try {
|
|
67
|
-
stats = statSync(abs);
|
|
68
|
-
} catch {
|
|
69
|
-
continue;
|
|
70
|
-
}
|
|
71
|
-
if (stats.size > maxBytes) continue;
|
|
72
|
-
let content: Buffer;
|
|
73
|
-
try {
|
|
74
|
-
content = readFileSync(abs);
|
|
75
|
-
} catch {
|
|
76
|
-
continue;
|
|
77
|
-
}
|
|
78
|
-
// Hash the UTF-8 string form — must match the compiler's `hashContent`
|
|
79
|
-
// byte-for-byte so the CLI and server walks produce identical hashes.
|
|
80
|
-
const hash = hashContentTruncated(content.toString('utf-8'));
|
|
81
|
-
refs.push({ relativePath: rel, hash, size: stats.size, type: classifyFile(rel) });
|
|
82
|
-
if (!contentByHash.has(hash)) contentByHash.set(hash, content);
|
|
83
|
-
totalSize += stats.size;
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
visit('');
|
|
88
|
-
refs.sort((a, b) => a.relativePath.localeCompare(b.relativePath));
|
|
89
|
-
const projectHash = combineFileHashes(refs);
|
|
90
|
-
return { files: refs, projectHash, totalSize, contentByHash };
|
|
91
|
-
}
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import { afterEach, beforeEach, describe, expect, it } from 'vitest';
|
|
2
|
-
import { existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from 'fs';
|
|
3
|
-
import { gzipSync } from 'zlib';
|
|
4
|
-
import { join } from 'path';
|
|
5
|
-
import { tmpdir } from 'os';
|
|
6
|
-
import {
|
|
7
|
-
ARCHIVE_SCHEMA_VERSION,
|
|
8
|
-
decodeWorkspaceArchive,
|
|
9
|
-
encodeWorkspaceArchive,
|
|
10
|
-
writeArchiveToWorkspace,
|
|
11
|
-
} from '../src/archive';
|
|
12
|
-
|
|
13
|
-
describe('canonical-source archive (shared-source-sync)', () => {
|
|
14
|
-
let workspace: string;
|
|
15
|
-
|
|
16
|
-
beforeEach(() => {
|
|
17
|
-
workspace = mkdtempSync(join(tmpdir(), 'shared-archive-'));
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
afterEach(() => {
|
|
21
|
-
if (existsSync(workspace)) rmSync(workspace, { recursive: true, force: true });
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
it('exports a stable schema version of 1', () => {
|
|
25
|
-
expect(ARCHIVE_SCHEMA_VERSION).toBe(1);
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
it('returns null for a non-existent or empty workspace', () => {
|
|
29
|
-
expect(encodeWorkspaceArchive(join(workspace, 'no-such'))).toBeNull();
|
|
30
|
-
expect(encodeWorkspaceArchive(workspace)).toBeNull();
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
it('round-trips a small TS workspace', () => {
|
|
34
|
-
mkdirSync(join(workspace, 'src'));
|
|
35
|
-
writeFileSync(join(workspace, 'lua.skill.yaml'), 'agent:\n agentId: a\n');
|
|
36
|
-
writeFileSync(join(workspace, 'src/tool.ts'), 'export const tool = 1;\n');
|
|
37
|
-
|
|
38
|
-
const archive = encodeWorkspaceArchive(workspace);
|
|
39
|
-
expect(archive).toBeTruthy();
|
|
40
|
-
const decoded = decodeWorkspaceArchive(archive!);
|
|
41
|
-
expect(Object.keys(decoded).sort()).toEqual(['lua.skill.yaml', 'src/tool.ts']);
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
it('excludes node_modules, .git, dist, .env, lockfiles', () => {
|
|
45
|
-
mkdirSync(join(workspace, 'src'));
|
|
46
|
-
mkdirSync(join(workspace, 'node_modules'));
|
|
47
|
-
mkdirSync(join(workspace, '.git'));
|
|
48
|
-
mkdirSync(join(workspace, 'dist'));
|
|
49
|
-
writeFileSync(join(workspace, 'src/keep.ts'), 'x');
|
|
50
|
-
writeFileSync(join(workspace, 'node_modules/drop.js'), 'x');
|
|
51
|
-
writeFileSync(join(workspace, '.git/HEAD'), 'x');
|
|
52
|
-
writeFileSync(join(workspace, 'dist/bundle.js'), 'x');
|
|
53
|
-
writeFileSync(join(workspace, '.env'), 'SECRET=1');
|
|
54
|
-
writeFileSync(join(workspace, 'pnpm-lock.yaml'), '');
|
|
55
|
-
|
|
56
|
-
const decoded = decodeWorkspaceArchive(encodeWorkspaceArchive(workspace)!);
|
|
57
|
-
expect(Object.keys(decoded)).toEqual(['src/keep.ts']);
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
// Regression for Cursor Bugbot PR #402: when the admin-tool-builder
|
|
61
|
-
// archive's `EXCLUDE_DIRS` was consolidated into shared `SKIP_DIRECTORIES`,
|
|
62
|
-
// `build` was initially dropped from the list. Per-skill archives then
|
|
63
|
-
// started sweeping in `build/` (Vite, Next.js, custom) outputs that don't
|
|
64
|
-
// belong in the canonical source store. Pins the restored exclusion.
|
|
65
|
-
it('excludes build/, .turbo/, .next/, coverage/, dist-v2/ (build-output dirs)', () => {
|
|
66
|
-
mkdirSync(join(workspace, 'src'));
|
|
67
|
-
writeFileSync(join(workspace, 'src/keep.ts'), 'x');
|
|
68
|
-
for (const dir of ['build', '.turbo', '.next', 'coverage', 'dist-v2']) {
|
|
69
|
-
mkdirSync(join(workspace, dir));
|
|
70
|
-
writeFileSync(join(workspace, `${dir}/artifact.js`), 'compiled');
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
const decoded = decodeWorkspaceArchive(encodeWorkspaceArchive(workspace)!);
|
|
74
|
-
expect(Object.keys(decoded)).toEqual(['src/keep.ts']);
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
it('skips files over 256KB', () => {
|
|
78
|
-
writeFileSync(join(workspace, 'big.ts'), 'x'.repeat(257 * 1024));
|
|
79
|
-
writeFileSync(join(workspace, 'small.ts'), 'x');
|
|
80
|
-
const decoded = decodeWorkspaceArchive(encodeWorkspaceArchive(workspace)!);
|
|
81
|
-
expect(Object.keys(decoded)).toEqual(['small.ts']);
|
|
82
|
-
});
|
|
83
|
-
|
|
84
|
-
it('writeArchiveToWorkspace rejects path-traversal entries', () => {
|
|
85
|
-
expect(() => writeArchiveToWorkspace(workspace, { '../escape.ts': 'evil' })).toThrow(/Refusing to write/);
|
|
86
|
-
expect(() => writeArchiveToWorkspace(workspace, { 'src/../../escape.ts': 'evil' })).toThrow(/Refusing to write/);
|
|
87
|
-
});
|
|
88
|
-
|
|
89
|
-
it('decodeWorkspaceArchive throws on non-object payloads', () => {
|
|
90
|
-
const bogus = gzipSync(Buffer.from('[1,2,3]', 'utf8')).toString('base64');
|
|
91
|
-
expect(() => decodeWorkspaceArchive(bogus)).toThrow(/JSON object map/);
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
it('preserves unicode content byte-for-byte through the round-trip', () => {
|
|
95
|
-
mkdirSync(join(workspace, 'src'));
|
|
96
|
-
const tricky = "// 漢字 🎯\nexport const s = '\\n';\n";
|
|
97
|
-
writeFileSync(join(workspace, 'src/tricky.ts'), tricky, 'utf8');
|
|
98
|
-
const decoded = decodeWorkspaceArchive(encodeWorkspaceArchive(workspace)!);
|
|
99
|
-
|
|
100
|
-
const restore = mkdtempSync(join(tmpdir(), 'shared-archive-restore-'));
|
|
101
|
-
try {
|
|
102
|
-
writeArchiveToWorkspace(restore, decoded);
|
|
103
|
-
expect(readFileSync(join(restore, 'src/tricky.ts'), 'utf8')).toBe(tricky);
|
|
104
|
-
} finally {
|
|
105
|
-
rmSync(restore, { recursive: true, force: true });
|
|
106
|
-
}
|
|
107
|
-
});
|
|
108
|
-
});
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { createHash } from 'crypto';
|
|
3
|
-
import { FILE_HASH_LENGTH, combineFileHashes, hashContentTruncated, sha256Hex } from '../src/hash';
|
|
4
|
-
|
|
5
|
-
describe('hashContentTruncated', () => {
|
|
6
|
-
it('produces 16-char hex truncated SHA-256 (wire compatibility)', () => {
|
|
7
|
-
const content = 'hello world';
|
|
8
|
-
const expected = createHash('sha256').update(content).digest('hex').slice(0, FILE_HASH_LENGTH);
|
|
9
|
-
expect(hashContentTruncated(content)).toBe(expected);
|
|
10
|
-
expect(hashContentTruncated(content)).toHaveLength(16);
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
it('matches across string and equivalent Buffer input', () => {
|
|
14
|
-
const content = 'export const x = 1;';
|
|
15
|
-
expect(hashContentTruncated(content)).toBe(hashContentTruncated(Buffer.from(content, 'utf-8')));
|
|
16
|
-
});
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
describe('combineFileHashes', () => {
|
|
20
|
-
it('is order-independent (sorts by relativePath before combining)', () => {
|
|
21
|
-
const a = [
|
|
22
|
-
{ relativePath: 'src/a.ts', hash: '0000000000000001' },
|
|
23
|
-
{ relativePath: 'src/b.ts', hash: '0000000000000002' },
|
|
24
|
-
];
|
|
25
|
-
const b = [
|
|
26
|
-
{ relativePath: 'src/b.ts', hash: '0000000000000002' },
|
|
27
|
-
{ relativePath: 'src/a.ts', hash: '0000000000000001' },
|
|
28
|
-
];
|
|
29
|
-
expect(combineFileHashes(a)).toBe(combineFileHashes(b));
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
it('produces deterministic full-length SHA-256 over the pipe-joined sorted hashes', () => {
|
|
33
|
-
const files = [
|
|
34
|
-
{ relativePath: 'src/index.ts', hash: 'abc' },
|
|
35
|
-
{ relativePath: 'src/util.ts', hash: 'def' },
|
|
36
|
-
];
|
|
37
|
-
const expected = sha256Hex('abc|def');
|
|
38
|
-
expect(combineFileHashes(files)).toBe(expected);
|
|
39
|
-
});
|
|
40
|
-
});
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, vi } from 'vitest';
|
|
2
|
-
import { BackupHttpClient, BackupHttpError } from '../src/http';
|
|
3
|
-
|
|
4
|
-
function makeFetchStub(response: { status: number; body?: unknown; statusText?: string }) {
|
|
5
|
-
return vi.fn(async (_url: any, init?: any) => {
|
|
6
|
-
return {
|
|
7
|
-
ok: response.status >= 200 && response.status < 300,
|
|
8
|
-
status: response.status,
|
|
9
|
-
statusText: response.statusText ?? 'OK',
|
|
10
|
-
text: async () => (response.body === undefined ? '' : JSON.stringify(response.body)),
|
|
11
|
-
} as any;
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
describe('BackupHttpClient', () => {
|
|
16
|
-
it('builds the developer agent backup URL with the agent id encoded', async () => {
|
|
17
|
-
const fetchStub = makeFetchStub({ status: 200, body: { missing: [], existing: [], results: {} } });
|
|
18
|
-
const client = new BackupHttpClient({
|
|
19
|
-
baseUrl: 'https://api.example.com/',
|
|
20
|
-
authHeader: 'Bearer abc',
|
|
21
|
-
agentId: 'agent 1',
|
|
22
|
-
fetch: fetchStub as any,
|
|
23
|
-
});
|
|
24
|
-
await client.checkBlobsExist(['h1']);
|
|
25
|
-
expect(fetchStub).toHaveBeenCalledTimes(1);
|
|
26
|
-
const [url, init] = fetchStub.mock.calls[0];
|
|
27
|
-
expect(url).toBe('https://api.example.com/developer/agents/agent%201/backup/check-blobs');
|
|
28
|
-
expect(init?.method).toBe('POST');
|
|
29
|
-
expect(init?.headers).toMatchObject({
|
|
30
|
-
Authorization: 'Bearer abc',
|
|
31
|
-
'Content-Type': 'application/json',
|
|
32
|
-
});
|
|
33
|
-
expect(init?.body).toBe(JSON.stringify({ hashes: ['h1'] }));
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
it('throws BackupHttpError on non-2xx with status preserved', async () => {
|
|
37
|
-
const fetchStub = makeFetchStub({ status: 403, statusText: 'Forbidden', body: { message: 'nope' } });
|
|
38
|
-
const client = new BackupHttpClient({
|
|
39
|
-
baseUrl: 'https://api.example.com',
|
|
40
|
-
authHeader: 'Bearer x',
|
|
41
|
-
agentId: 'a',
|
|
42
|
-
fetch: fetchStub as any,
|
|
43
|
-
});
|
|
44
|
-
await expect(client.getManifest()).rejects.toBeInstanceOf(BackupHttpError);
|
|
45
|
-
try {
|
|
46
|
-
await client.getManifest();
|
|
47
|
-
throw new Error('unreachable');
|
|
48
|
-
} catch (err) {
|
|
49
|
-
expect(err).toBeInstanceOf(BackupHttpError);
|
|
50
|
-
expect((err as BackupHttpError).status).toBe(403);
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
it('returns parsed JSON for saveManifest', async () => {
|
|
55
|
-
const fetchStub = makeFetchStub({
|
|
56
|
-
status: 200,
|
|
57
|
-
body: {
|
|
58
|
-
agentId: 'a',
|
|
59
|
-
orgId: 'o',
|
|
60
|
-
projectHash: 'p',
|
|
61
|
-
fileCount: 1,
|
|
62
|
-
totalSize: 10,
|
|
63
|
-
createdBy: 'cli',
|
|
64
|
-
createdAt: '2026-05-12T00:00:00Z',
|
|
65
|
-
activeVersion: 7,
|
|
66
|
-
},
|
|
67
|
-
});
|
|
68
|
-
const client = new BackupHttpClient({
|
|
69
|
-
baseUrl: 'https://api.example.com',
|
|
70
|
-
authHeader: 'Bearer x',
|
|
71
|
-
agentId: 'a',
|
|
72
|
-
fetch: fetchStub as any,
|
|
73
|
-
});
|
|
74
|
-
const meta = await client.saveManifest({ projectHash: 'p', files: [] });
|
|
75
|
-
expect(meta.activeVersion).toBe(7);
|
|
76
|
-
});
|
|
77
|
-
});
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
|
|
2
|
-
import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from 'fs';
|
|
3
|
-
import { join } from 'path';
|
|
4
|
-
import { tmpdir } from 'os';
|
|
5
|
-
import { gunzipSync } from 'zlib';
|
|
6
|
-
import { pushAgentBackup } from '../src/push';
|
|
7
|
-
|
|
8
|
-
type Fetch = ReturnType<typeof vi.fn>;
|
|
9
|
-
|
|
10
|
-
function makeFakeServerAndS3() {
|
|
11
|
-
// Track S3 PUT bodies keyed by URL (we use the URL as the "blob hash" surrogate).
|
|
12
|
-
const s3 = new Map<string, Buffer>();
|
|
13
|
-
let savedManifest: any = null;
|
|
14
|
-
|
|
15
|
-
const fetchStub: Fetch = vi.fn(async (url: string, init?: any) => {
|
|
16
|
-
if (url.includes('/backup/check-blobs')) {
|
|
17
|
-
const { hashes } = JSON.parse(init.body);
|
|
18
|
-
return {
|
|
19
|
-
ok: true,
|
|
20
|
-
status: 200,
|
|
21
|
-
statusText: 'OK',
|
|
22
|
-
text: async () =>
|
|
23
|
-
JSON.stringify({
|
|
24
|
-
missing: hashes, // pretend nothing exists yet
|
|
25
|
-
existing: [],
|
|
26
|
-
results: Object.fromEntries(hashes.map((h: string) => [h, false])),
|
|
27
|
-
}),
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
if (url.includes('/backup/blob-upload-urls')) {
|
|
31
|
-
const { hashes } = JSON.parse(init.body);
|
|
32
|
-
const urls: Record<string, string> = {};
|
|
33
|
-
for (const h of hashes) urls[h] = `https://s3.example/${h}`;
|
|
34
|
-
return {
|
|
35
|
-
ok: true,
|
|
36
|
-
status: 200,
|
|
37
|
-
statusText: 'OK',
|
|
38
|
-
text: async () => JSON.stringify({ urls, expiresIn: 3600 }),
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
if (url.startsWith('https://s3.example/')) {
|
|
42
|
-
// S3 PUT
|
|
43
|
-
const hash = url.replace('https://s3.example/', '');
|
|
44
|
-
s3.set(hash, Buffer.from(init.body));
|
|
45
|
-
return { ok: true, status: 200, statusText: 'OK', text: async () => '' };
|
|
46
|
-
}
|
|
47
|
-
if (url.includes('/backup/manifest')) {
|
|
48
|
-
savedManifest = JSON.parse(init.body);
|
|
49
|
-
return {
|
|
50
|
-
ok: true,
|
|
51
|
-
status: 200,
|
|
52
|
-
statusText: 'OK',
|
|
53
|
-
text: async () =>
|
|
54
|
-
JSON.stringify({
|
|
55
|
-
agentId: 'a',
|
|
56
|
-
orgId: 'o',
|
|
57
|
-
projectHash: savedManifest.projectHash,
|
|
58
|
-
fileCount: savedManifest.files.length,
|
|
59
|
-
totalSize: 0,
|
|
60
|
-
createdBy: savedManifest.createdBy,
|
|
61
|
-
createdAt: '2026-05-12T00:00:00Z',
|
|
62
|
-
activeVersion: 1,
|
|
63
|
-
}),
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
throw new Error(`unexpected URL: ${url}`);
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
return { fetchStub, s3, getSavedManifest: () => savedManifest };
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
describe('pushAgentBackup', () => {
|
|
73
|
-
let dir: string;
|
|
74
|
-
|
|
75
|
-
beforeEach(() => {
|
|
76
|
-
dir = mkdtempSync(join(tmpdir(), 'shared-source-sync-push-'));
|
|
77
|
-
});
|
|
78
|
-
afterEach(() => rmSync(dir, { recursive: true, force: true }));
|
|
79
|
-
|
|
80
|
-
it('walks workspace, uploads gzipped blobs, saves manifest', async () => {
|
|
81
|
-
mkdirSync(join(dir, 'src'), { recursive: true });
|
|
82
|
-
writeFileSync(join(dir, 'src/index.ts'), 'export const x = 1;');
|
|
83
|
-
writeFileSync(join(dir, 'lua.skill.yaml'), 'agent: {agentId: a}');
|
|
84
|
-
|
|
85
|
-
const { fetchStub, s3, getSavedManifest } = makeFakeServerAndS3();
|
|
86
|
-
const result = await pushAgentBackup({
|
|
87
|
-
http: {
|
|
88
|
-
baseUrl: 'https://api.example.com',
|
|
89
|
-
authHeader: 'Bearer test',
|
|
90
|
-
agentId: 'a',
|
|
91
|
-
fetch: fetchStub as any,
|
|
92
|
-
},
|
|
93
|
-
workspaceDir: dir,
|
|
94
|
-
orgId: 'o',
|
|
95
|
-
triggeredBy: 'unit-test',
|
|
96
|
-
});
|
|
97
|
-
|
|
98
|
-
expect(result.fileCount).toBe(2);
|
|
99
|
-
expect(result.filesUploaded).toBe(2);
|
|
100
|
-
expect(result.activeVersion).toBe(1);
|
|
101
|
-
|
|
102
|
-
// Manifest was saved with both files
|
|
103
|
-
const manifest = getSavedManifest();
|
|
104
|
-
const paths = manifest.files.map((f: any) => f.relativePath).sort();
|
|
105
|
-
expect(paths).toEqual(['lua.skill.yaml', 'src/index.ts']);
|
|
106
|
-
expect(manifest.orgId).toBe('o');
|
|
107
|
-
expect(manifest.triggeredBy).toBe('unit-test');
|
|
108
|
-
expect(manifest.createdBy).toBe('cli');
|
|
109
|
-
|
|
110
|
-
// S3 received gzipped content
|
|
111
|
-
expect(s3.size).toBe(2);
|
|
112
|
-
for (const buf of s3.values()) {
|
|
113
|
-
// Magic bytes for gzip
|
|
114
|
-
expect(buf[0]).toBe(0x1f);
|
|
115
|
-
expect(buf[1]).toBe(0x8b);
|
|
116
|
-
// Decompress to verify it's the original
|
|
117
|
-
const decoded = gunzipSync(buf).toString('utf-8');
|
|
118
|
-
expect(['export const x = 1;', 'agent: {agentId: a}']).toContain(decoded);
|
|
119
|
-
}
|
|
120
|
-
});
|
|
121
|
-
|
|
122
|
-
it('skips upload when server reports all blobs already exist', async () => {
|
|
123
|
-
writeFileSync(join(dir, 'a.ts'), 'x');
|
|
124
|
-
const fetchStub: Fetch = vi.fn(async (url: string, init?: any) => {
|
|
125
|
-
if (url.includes('/check-blobs')) {
|
|
126
|
-
return {
|
|
127
|
-
ok: true,
|
|
128
|
-
status: 200,
|
|
129
|
-
statusText: 'OK',
|
|
130
|
-
text: async () => JSON.stringify({ missing: [], existing: ['h'], results: {} }),
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
|
-
if (url.includes('/manifest')) {
|
|
134
|
-
return {
|
|
135
|
-
ok: true,
|
|
136
|
-
status: 200,
|
|
137
|
-
statusText: 'OK',
|
|
138
|
-
text: async () =>
|
|
139
|
-
JSON.stringify({
|
|
140
|
-
agentId: 'a',
|
|
141
|
-
orgId: 'o',
|
|
142
|
-
projectHash: 'p',
|
|
143
|
-
fileCount: 1,
|
|
144
|
-
totalSize: 1,
|
|
145
|
-
createdBy: 'cli',
|
|
146
|
-
createdAt: 'now',
|
|
147
|
-
activeVersion: 2,
|
|
148
|
-
}),
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
throw new Error(`unexpected URL ${url}`);
|
|
152
|
-
});
|
|
153
|
-
|
|
154
|
-
const result = await pushAgentBackup({
|
|
155
|
-
http: { baseUrl: 'https://api.example.com', authHeader: 'Bearer x', agentId: 'a', fetch: fetchStub as any },
|
|
156
|
-
workspaceDir: dir,
|
|
157
|
-
orgId: 'o',
|
|
158
|
-
});
|
|
159
|
-
expect(result.filesUploaded).toBe(0);
|
|
160
|
-
expect(result.activeVersion).toBe(2);
|
|
161
|
-
});
|
|
162
|
-
});
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { afterEach, beforeEach, describe, expect, it } from 'vitest';
|
|
2
|
-
import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from 'fs';
|
|
3
|
-
import { join } from 'path';
|
|
4
|
-
import { tmpdir } from 'os';
|
|
5
|
-
import { walkWorkspace } from '../src/walk';
|
|
6
|
-
|
|
7
|
-
describe('walkWorkspace', () => {
|
|
8
|
-
let dir: string;
|
|
9
|
-
|
|
10
|
-
beforeEach(() => {
|
|
11
|
-
dir = mkdtempSync(join(tmpdir(), 'shared-source-sync-walk-'));
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
afterEach(() => {
|
|
15
|
-
rmSync(dir, { recursive: true, force: true });
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
it('includes source files and excludes node_modules / dist / dotfiles / tests', () => {
|
|
19
|
-
mkdirSync(join(dir, 'src'), { recursive: true });
|
|
20
|
-
mkdirSync(join(dir, 'node_modules'), { recursive: true });
|
|
21
|
-
mkdirSync(join(dir, 'dist-v2'), { recursive: true });
|
|
22
|
-
mkdirSync(join(dir, '__tests__'), { recursive: true });
|
|
23
|
-
writeFileSync(join(dir, 'src/index.ts'), 'export const a = 1;');
|
|
24
|
-
writeFileSync(join(dir, 'src/util.ts'), 'export const b = 2;');
|
|
25
|
-
writeFileSync(join(dir, 'lua.skill.yaml'), 'agent:\n agentId: foo');
|
|
26
|
-
writeFileSync(join(dir, 'node_modules/x.ts'), 'dropme');
|
|
27
|
-
writeFileSync(join(dir, 'dist-v2/out.js'), 'dropme');
|
|
28
|
-
writeFileSync(join(dir, '__tests__/x.test.ts'), 'dropme');
|
|
29
|
-
writeFileSync(join(dir, '.eslintrc'), 'dropme');
|
|
30
|
-
writeFileSync(join(dir, 'package-lock.json'), 'dropme');
|
|
31
|
-
|
|
32
|
-
const result = walkWorkspace(dir);
|
|
33
|
-
const paths = result.files.map((f) => f.relativePath).sort();
|
|
34
|
-
expect(paths).toEqual(['lua.skill.yaml', 'src/index.ts', 'src/util.ts']);
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
it('dedupes identical content by hash (contentByHash has one entry per unique hash)', () => {
|
|
38
|
-
writeFileSync(join(dir, 'a.ts'), 'same content');
|
|
39
|
-
writeFileSync(join(dir, 'b.ts'), 'same content');
|
|
40
|
-
const result = walkWorkspace(dir);
|
|
41
|
-
expect(result.files).toHaveLength(2);
|
|
42
|
-
expect(result.contentByHash.size).toBe(1);
|
|
43
|
-
expect(result.files[0].hash).toBe(result.files[1].hash);
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
it('normalizes path separators to forward slashes', () => {
|
|
47
|
-
mkdirSync(join(dir, 'src', 'sub'), { recursive: true });
|
|
48
|
-
writeFileSync(join(dir, 'src/sub/x.ts'), 'x');
|
|
49
|
-
const result = walkWorkspace(dir);
|
|
50
|
-
expect(result.files[0].relativePath).toBe('src/sub/x.ts');
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
it('produces stable projectHash for identical input', () => {
|
|
54
|
-
writeFileSync(join(dir, 'a.ts'), 'a');
|
|
55
|
-
writeFileSync(join(dir, 'b.ts'), 'b');
|
|
56
|
-
const r1 = walkWorkspace(dir);
|
|
57
|
-
const r2 = walkWorkspace(dir);
|
|
58
|
-
expect(r1.projectHash).toBe(r2.projectHash);
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
it('respects maxFileBytes', () => {
|
|
62
|
-
writeFileSync(join(dir, 'big.ts'), 'x'.repeat(2048));
|
|
63
|
-
writeFileSync(join(dir, 'small.ts'), 'x');
|
|
64
|
-
const result = walkWorkspace(dir, { maxFileBytes: 1024 });
|
|
65
|
-
expect(result.files.map((f) => f.relativePath)).toEqual(['small.ts']);
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
// Regression pin: PR #402 round-3 Bugbot review caught that adding `build`
|
|
69
|
-
// to the shared SKIP_DIRECTORIES set silently broke the CLI compiler's
|
|
70
|
-
// primitive scan and the per-agent backup walker. The archive encoder
|
|
71
|
-
// owns its own ARCHIVE_ONLY_SKIP_DIRECTORIES set for that purpose;
|
|
72
|
-
// `walkWorkspace` (consumed by `buildManifestFromDisk` for `lua push
|
|
73
|
-
// backup --fresh` AND re-exported as `shouldSkipDirectory` to the CLI
|
|
74
|
-
// compiler) MUST keep `build/` source visible. Developers with custom
|
|
75
|
-
// Vite/Next/etc. layouts depend on it.
|
|
76
|
-
it('does NOT skip `build/` — only the archive encoder excludes it, not the walker', () => {
|
|
77
|
-
mkdirSync(join(dir, 'build'), { recursive: true });
|
|
78
|
-
writeFileSync(join(dir, 'build/keep.ts'), 'export const x = 1;');
|
|
79
|
-
writeFileSync(join(dir, 'src.ts'), 'export const y = 2;');
|
|
80
|
-
const result = walkWorkspace(dir);
|
|
81
|
-
const paths = result.files.map((f) => f.relativePath).sort();
|
|
82
|
-
expect(paths).toEqual(['build/keep.ts', 'src.ts']);
|
|
83
|
-
});
|
|
84
|
-
});
|