lua-cli 3.5.0-alpha.3 → 3.5.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +137 -689
- package/dist/api/agent.api.service.d.ts +1 -8
- package/dist/api/agent.api.service.js +1 -11
- package/dist/api/agent.api.service.js.map +1 -1
- package/dist/api/auth.api.service.d.ts +1 -1
- package/dist/api/auth.api.service.js +1 -1
- package/dist/api/auth.api.service.js.map +1 -1
- package/dist/api/backup.api.service.d.ts +80 -0
- package/dist/api/backup.api.service.js +101 -0
- package/dist/api/backup.api.service.js.map +1 -0
- package/dist/api/basket.api.service.d.ts +4 -5
- package/dist/api/basket.api.service.js +13 -18
- package/dist/api/basket.api.service.js.map +1 -1
- package/dist/api/cdn.api.service.d.ts +2 -0
- package/dist/api/cdn.api.service.js +2 -0
- package/dist/api/cdn.api.service.js.map +1 -1
- package/dist/api/chat.api.service.d.ts +10 -2
- package/dist/api/chat.api.service.js +21 -2
- package/dist/api/chat.api.service.js.map +1 -1
- package/dist/api/credentials.js +5 -8
- package/dist/api/credentials.js.map +1 -1
- package/dist/api/custom.data.api.service.d.ts +3 -3
- package/dist/api/custom.data.api.service.js +9 -10
- package/dist/api/custom.data.api.service.js.map +1 -1
- package/dist/api/developer.api.service.d.ts +1 -1
- package/dist/api/developer.api.service.js +1 -1
- package/dist/api/developer.api.service.js.map +1 -1
- package/dist/api/http.client.js.map +1 -0
- package/dist/api/job.api.service.d.ts +2 -2
- package/dist/api/job.api.service.js +2 -2
- package/dist/api/job.api.service.js.map +1 -1
- package/dist/api/logs.api.service.d.ts +1 -1
- package/dist/api/logs.api.service.js +1 -1
- package/dist/api/logs.api.service.js.map +1 -1
- package/dist/api/marketplace.api.service.d.ts +6 -6
- package/dist/api/marketplace.api.service.js.map +1 -1
- package/dist/api/order.api.service.d.ts +3 -4
- package/dist/api/order.api.service.js +8 -10
- package/dist/api/order.api.service.js.map +1 -1
- package/dist/api/persona.api.service.d.ts +1 -1
- package/dist/api/persona.api.service.js +1 -1
- package/dist/api/persona.api.service.js.map +1 -1
- package/dist/api/postprocessor.api.service.d.ts +1 -1
- package/dist/api/postprocessor.api.service.js +1 -1
- package/dist/api/postprocessor.api.service.js.map +1 -1
- package/dist/api/preprocessor.api.service.d.ts +1 -1
- package/dist/api/preprocessor.api.service.js +1 -1
- package/dist/api/preprocessor.api.service.js.map +1 -1
- package/dist/api/products.api.service.d.ts +4 -4
- package/dist/api/products.api.service.js +6 -6
- package/dist/api/products.api.service.js.map +1 -1
- package/dist/api/resource.api.service.d.ts +76 -0
- package/dist/api/resource.api.service.js +74 -0
- package/dist/api/resource.api.service.js.map +1 -0
- package/dist/api/skills.api.service.d.ts +7 -15
- package/dist/api/skills.api.service.js +1 -1
- package/dist/api/skills.api.service.js.map +1 -1
- package/dist/api/tool.api.service.d.ts +1 -1
- package/dist/api/tool.api.service.js +1 -1
- package/dist/api/tool.api.service.js.map +1 -1
- package/dist/api/unifiedto.api.service.d.ts +1 -1
- package/dist/api/unifiedto.api.service.js +1 -1
- package/dist/api/unifiedto.api.service.js.map +1 -1
- package/dist/api/user.data.api.service.d.ts +7 -8
- package/dist/api/user.data.api.service.js +2 -3
- package/dist/api/user.data.api.service.js.map +1 -1
- package/dist/api/webhook.api.service.d.ts +1 -1
- package/dist/api/webhook.api.service.js +1 -1
- package/dist/api/webhook.api.service.js.map +1 -1
- package/dist/api/whatsapp-templates.api.service.d.ts +1 -1
- package/dist/api/whatsapp-templates.api.service.js +1 -1
- package/dist/api/whatsapp-templates.api.service.js.map +1 -1
- package/dist/api-exports.d.ts +14 -12
- package/dist/api-exports.js +8 -8
- package/dist/api-exports.js.map +1 -1
- package/dist/cli/command-definitions.js +32 -17
- package/dist/cli/command-definitions.js.map +1 -1
- package/dist/commands/admin.js +3 -24
- package/dist/commands/admin.js.map +1 -1
- package/dist/commands/agents.d.ts +8 -7
- package/dist/commands/agents.js +63 -21
- package/dist/commands/agents.js.map +1 -1
- package/dist/commands/channels.js +11 -23
- package/dist/commands/channels.js.map +1 -1
- package/dist/commands/chat.js +33 -47
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/chatClear.js +11 -41
- package/dist/commands/chatClear.js.map +1 -1
- package/dist/commands/compile.d.ts +26 -23
- package/dist/commands/compile.js +98 -403
- package/dist/commands/compile.js.map +1 -1
- package/dist/commands/completion.js +1 -1
- package/dist/commands/completion.js.map +1 -1
- package/dist/commands/deploy.js +55 -25
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/dev.js +29 -45
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/env.js +12 -25
- package/dist/commands/env.js.map +1 -1
- package/dist/commands/evals.js +3 -20
- package/dist/commands/evals.js.map +1 -1
- package/dist/commands/features.js +10 -23
- package/dist/commands/features.js.map +1 -1
- package/dist/commands/index.d.ts +1 -0
- package/dist/commands/index.js +1 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/init.d.ts +1 -0
- package/dist/commands/init.js +135 -19
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/integrations.js +26 -37
- package/dist/commands/integrations.js.map +1 -1
- package/dist/commands/jobs.js +32 -56
- package/dist/commands/jobs.js.map +1 -1
- package/dist/commands/logs.js +9 -20
- package/dist/commands/logs.js.map +1 -1
- package/dist/commands/marketplace.js +34 -52
- package/dist/commands/marketplace.js.map +1 -1
- package/dist/commands/mcp.js +10 -23
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/persona.js +43 -74
- package/dist/commands/persona.js.map +1 -1
- package/dist/commands/postprocessors.js +15 -28
- package/dist/commands/postprocessors.js.map +1 -1
- package/dist/commands/preprocessors.js +15 -28
- package/dist/commands/preprocessors.js.map +1 -1
- package/dist/commands/production.js +30 -63
- package/dist/commands/production.js.map +1 -1
- package/dist/commands/push.js +294 -1241
- package/dist/commands/push.js.map +1 -1
- package/dist/commands/pushBackup.d.ts +22 -0
- package/dist/commands/pushBackup.js +133 -0
- package/dist/commands/pushBackup.js.map +1 -0
- package/dist/commands/resources.js +29 -72
- package/dist/commands/resources.js.map +1 -1
- package/dist/commands/skills.d.ts +1 -1
- package/dist/commands/skills.js +58 -70
- package/dist/commands/skills.js.map +1 -1
- package/dist/commands/sync.d.ts +1 -3
- package/dist/commands/sync.js +12 -24
- package/dist/commands/sync.js.map +1 -1
- package/dist/commands/test.js +135 -104
- package/dist/commands/test.js.map +1 -1
- package/dist/commands/webhooks.js +15 -28
- package/dist/commands/webhooks.js.map +1 -1
- package/dist/compiler/agent-traverser.d.ts +104 -0
- package/dist/compiler/agent-traverser.js +311 -0
- package/dist/compiler/agent-traverser.js.map +1 -0
- package/dist/compiler/bundler.d.ts +42 -0
- package/dist/compiler/bundler.js +187 -0
- package/dist/compiler/bundler.js.map +1 -0
- package/dist/compiler/compiler.d.ts +177 -0
- package/dist/compiler/compiler.js +580 -0
- package/dist/compiler/compiler.js.map +1 -0
- package/dist/compiler/index.d.ts +36 -0
- package/dist/compiler/index.js +42 -0
- package/dist/compiler/index.js.map +1 -0
- package/dist/compiler/plugins/base.d.ts +264 -0
- package/dist/compiler/plugins/base.js +307 -0
- package/dist/compiler/plugins/base.js.map +1 -0
- package/dist/compiler/plugins/job.plugin.d.ts +33 -0
- package/dist/compiler/plugins/job.plugin.js +143 -0
- package/dist/compiler/plugins/job.plugin.js.map +1 -0
- package/dist/compiler/plugins/mcp-server.plugin.d.ts +50 -0
- package/dist/compiler/plugins/mcp-server.plugin.js +186 -0
- package/dist/compiler/plugins/mcp-server.plugin.js.map +1 -0
- package/dist/compiler/plugins/postprocessor.plugin.d.ts +20 -0
- package/dist/compiler/plugins/postprocessor.plugin.js +39 -0
- package/dist/compiler/plugins/postprocessor.plugin.js.map +1 -0
- package/dist/compiler/plugins/preprocessor.plugin.d.ts +20 -0
- package/dist/compiler/plugins/preprocessor.plugin.js +48 -0
- package/dist/compiler/plugins/preprocessor.plugin.js.map +1 -0
- package/dist/compiler/plugins/processor-base.d.ts +16 -0
- package/dist/compiler/plugins/processor-base.js +34 -0
- package/dist/compiler/plugins/processor-base.js.map +1 -0
- package/dist/compiler/plugins/registry.d.ts +61 -0
- package/dist/compiler/plugins/registry.js +107 -0
- package/dist/compiler/plugins/registry.js.map +1 -0
- package/dist/compiler/plugins/skill.plugin.d.ts +71 -0
- package/dist/compiler/plugins/skill.plugin.js +243 -0
- package/dist/compiler/plugins/skill.plugin.js.map +1 -0
- package/dist/compiler/plugins/tool.plugin.d.ts +67 -0
- package/dist/compiler/plugins/tool.plugin.js +279 -0
- package/dist/compiler/plugins/tool.plugin.js.map +1 -0
- package/dist/compiler/plugins/webhook.plugin.d.ts +37 -0
- package/dist/compiler/plugins/webhook.plugin.js +127 -0
- package/dist/compiler/plugins/webhook.plugin.js.map +1 -0
- package/dist/compiler/source-writer.d.ts +98 -0
- package/dist/compiler/source-writer.js +223 -0
- package/dist/compiler/source-writer.js.map +1 -0
- package/dist/compiler/types.d.ts +289 -0
- package/dist/compiler/types.js +20 -0
- package/dist/compiler/types.js.map +1 -0
- package/dist/compiler/utils/ast-helpers.d.ts +57 -0
- package/dist/compiler/utils/ast-helpers.js +164 -0
- package/dist/compiler/utils/ast-helpers.js.map +1 -0
- package/dist/compiler/utils/common.d.ts +23 -0
- package/dist/compiler/utils/common.js +66 -0
- package/dist/compiler/utils/common.js.map +1 -0
- package/dist/compiler/utils/file-discovery.d.ts +34 -0
- package/dist/compiler/utils/file-discovery.js +68 -0
- package/dist/compiler/utils/file-discovery.js.map +1 -0
- package/dist/compiler/utils/path-resolver.d.ts +25 -0
- package/dist/compiler/utils/path-resolver.js +66 -0
- package/dist/compiler/utils/path-resolver.js.map +1 -0
- package/dist/compiler/utils/schema-converter.d.ts +26 -0
- package/dist/compiler/utils/schema-converter.js +94 -0
- package/dist/compiler/utils/schema-converter.js.map +1 -0
- package/dist/config/compile.constants.d.ts +2 -22
- package/dist/config/compile.constants.js +2 -49
- package/dist/config/compile.constants.js.map +1 -1
- package/dist/config/constants.d.ts +18 -2
- package/dist/config/constants.js +28 -8
- package/dist/config/constants.js.map +1 -1
- package/dist/config/dev.constants.d.ts +0 -10
- package/dist/config/dev.constants.js +0 -10
- package/dist/config/dev.constants.js.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/instances/basket.instance.js.map +1 -0
- package/dist/instances/data.entry.instance.js.map +1 -0
- package/dist/instances/job.instance.js.map +1 -0
- package/dist/instances/order.instance.js.map +1 -0
- package/dist/instances/product.instance.js.map +1 -0
- package/dist/instances/product.pagination.instance.js.map +1 -0
- package/dist/instances/product.search.instance.js.map +1 -0
- package/dist/instances/user.instance.js.map +1 -0
- package/dist/interfaces/admin.d.ts +0 -38
- package/dist/interfaces/backup.d.ts +125 -0
- package/dist/interfaces/backup.js +8 -0
- package/dist/interfaces/backup.js.map +1 -0
- package/dist/interfaces/baskets.d.ts +0 -56
- package/dist/interfaces/common.d.ts +1 -0
- package/dist/interfaces/deploy.d.ts +0 -15
- package/dist/interfaces/index.d.ts +1 -1
- package/dist/interfaces/marketplace.d.ts +51 -0
- package/dist/interfaces/marketplace.js +1 -1
- package/dist/interfaces/marketplace.js.map +1 -1
- package/dist/interfaces/message.d.ts +0 -3
- package/dist/interfaces/orders.d.ts +0 -24
- package/dist/interfaces/postprocessors.d.ts +0 -18
- package/dist/interfaces/preprocessors.d.ts +0 -18
- package/dist/interfaces/skills.d.ts +61 -0
- package/dist/interfaces/user.d.ts +25 -0
- package/dist/interfaces/webhooks.d.ts +0 -9
- package/dist/primitives/base.handler.d.ts +106 -0
- package/dist/primitives/base.handler.js +370 -0
- package/dist/primitives/base.handler.js.map +1 -0
- package/dist/primitives/index.d.ts +47 -0
- package/dist/primitives/index.js +78 -0
- package/dist/primitives/index.js.map +1 -0
- package/dist/primitives/job.handler.d.ts +52 -0
- package/dist/primitives/job.handler.js +118 -0
- package/dist/primitives/job.handler.js.map +1 -0
- package/dist/primitives/mcp-server.handler.d.ts +54 -0
- package/dist/primitives/mcp-server.handler.js +91 -0
- package/dist/primitives/mcp-server.handler.js.map +1 -0
- package/dist/primitives/postprocessor.handler.d.ts +49 -0
- package/dist/primitives/postprocessor.handler.js +81 -0
- package/dist/primitives/postprocessor.handler.js.map +1 -0
- package/dist/primitives/preprocessor.handler.d.ts +54 -0
- package/dist/primitives/preprocessor.handler.js +95 -0
- package/dist/primitives/preprocessor.handler.js.map +1 -0
- package/dist/primitives/skill.handler.d.ts +44 -0
- package/dist/primitives/skill.handler.js +192 -0
- package/dist/primitives/skill.handler.js.map +1 -0
- package/dist/primitives/types.d.ts +72 -0
- package/dist/primitives/types.js +17 -0
- package/dist/primitives/types.js.map +1 -0
- package/dist/primitives/webhook.handler.d.ts +50 -0
- package/dist/primitives/webhook.handler.js +96 -0
- package/dist/primitives/webhook.handler.js.map +1 -0
- package/dist/services/auth.js +1 -2
- package/dist/services/auth.js.map +1 -1
- package/dist/services/sandbox.service.d.ts +103 -0
- package/dist/services/sandbox.service.js +479 -0
- package/dist/services/sandbox.service.js.map +1 -0
- package/dist/types/api-contracts.d.ts +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/skill.d.ts +8 -2
- package/dist/types/skill.js +8 -0
- package/dist/types/skill.js.map +1 -1
- package/dist/types/yaml.types.d.ts +69 -0
- package/dist/types/yaml.types.js +6 -0
- package/dist/types/yaml.types.js.map +1 -0
- package/dist/utils/artifact-loader.d.ts +108 -0
- package/dist/utils/artifact-loader.js +188 -0
- package/dist/utils/artifact-loader.js.map +1 -0
- package/dist/utils/backup-helpers.d.ts +122 -0
- package/dist/utils/backup-helpers.js +274 -0
- package/dist/utils/backup-helpers.js.map +1 -0
- package/dist/utils/cli.d.ts +8 -0
- package/dist/utils/cli.js +19 -2
- package/dist/utils/cli.js.map +1 -1
- package/dist/utils/command-utils.d.ts +42 -0
- package/dist/utils/command-utils.js +83 -0
- package/dist/utils/command-utils.js.map +1 -0
- package/dist/utils/deploy-helpers.d.ts +0 -29
- package/dist/utils/deploy-helpers.js +0 -70
- package/dist/utils/deploy-helpers.js.map +1 -1
- package/dist/utils/dev-api.d.ts +3 -99
- package/dist/utils/dev-api.js +3 -430
- package/dist/utils/dev-api.js.map +1 -1
- package/dist/utils/dev-server.d.ts +3 -1
- package/dist/utils/dev-server.js +69 -145
- package/dist/utils/dev-server.js.map +1 -1
- package/dist/utils/dev-watcher.d.ts +0 -1
- package/dist/utils/dev-watcher.js +23 -8
- package/dist/utils/dev-watcher.js.map +1 -1
- package/dist/utils/env-loader.utils.d.ts +10 -1
- package/dist/utils/env-loader.utils.js +39 -31
- package/dist/utils/env-loader.utils.js.map +1 -1
- package/dist/utils/files.d.ts +47 -3
- package/dist/utils/files.js +98 -40
- package/dist/utils/files.js.map +1 -1
- package/dist/utils/init-agent.js +1 -2
- package/dist/utils/init-agent.js.map +1 -1
- package/dist/utils/init-helpers.d.ts +2 -10
- package/dist/utils/init-helpers.js +9 -17
- package/dist/utils/init-helpers.js.map +1 -1
- package/dist/utils/init-prompts.d.ts +0 -8
- package/dist/utils/init-prompts.js +0 -22
- package/dist/utils/init-prompts.js.map +1 -1
- package/dist/utils/prompt-handler.d.ts +3 -0
- package/dist/utils/prompt-handler.js +13 -0
- package/dist/utils/prompt-handler.js.map +1 -1
- package/dist/utils/sandbox-storage.d.ts +6 -5
- package/dist/utils/sandbox-storage.js +12 -12
- package/dist/utils/sandbox-storage.js.map +1 -1
- package/dist/utils/sandbox.d.ts +7 -30
- package/dist/utils/sandbox.js +247 -223
- package/dist/utils/sandbox.js.map +1 -1
- package/dist/utils/semver.d.ts +12 -0
- package/dist/utils/semver.js +23 -0
- package/dist/utils/semver.js.map +1 -1
- package/dist/utils/sync-display.d.ts +9 -0
- package/dist/utils/sync-display.js +67 -0
- package/dist/utils/sync-display.js.map +1 -0
- package/dist/utils/sync-fetch.d.ts +23 -0
- package/dist/utils/sync-fetch.js +64 -0
- package/dist/utils/sync-fetch.js.map +1 -0
- package/dist/utils/sync-helpers.d.ts +4 -59
- package/dist/utils/sync-helpers.js +4 -206
- package/dist/utils/sync-helpers.js.map +1 -1
- package/dist/web/app.css +912 -186
- package/dist/web/app.js +46 -46
- package/docs/API_INDEX.md +100 -0
- package/docs/API_REFERENCE.md +773 -0
- package/docs/CLI_REFERENCE.md +924 -0
- package/docs/GETTING_STARTED.md +862 -0
- package/docs/README.md +270 -0
- package/docs/api/AI.md +882 -0
- package/docs/api/Baskets.md +511 -0
- package/docs/api/CDN.md +524 -0
- package/docs/api/Data.md +446 -0
- package/docs/api/Jobs.md +524 -0
- package/docs/api/LuaAgent.md +454 -0
- package/docs/api/LuaJob.md +604 -0
- package/docs/api/LuaSkill.md +396 -0
- package/docs/api/LuaTool.md +521 -0
- package/docs/api/LuaWebhook.md +601 -0
- package/docs/api/Orders.md +514 -0
- package/docs/api/PostProcessor.md +565 -0
- package/docs/api/PreProcessor.md +630 -0
- package/docs/api/Products.md +507 -0
- package/docs/api/Templates.md +662 -0
- package/docs/api/User.md +567 -0
- package/docs/archive/DEVELOPMENT_GUIDE_V1.md +1294 -0
- package/docs/compiler-v2/ASSESSMENT.md +205 -0
- package/docs/compiler-v2/TEST_PLAN.md +306 -0
- package/package.json +3 -7
- package/template/tsconfig.json +1 -1
- package/dist/common/basket.instance.js.map +0 -1
- package/dist/common/data.entry.instance.js.map +0 -1
- package/dist/common/http.client.js.map +0 -1
- package/dist/common/job.instance.js.map +0 -1
- package/dist/common/order.instance.js.map +0 -1
- package/dist/common/product.instance.js.map +0 -1
- package/dist/common/product.pagination.instance.js.map +0 -1
- package/dist/common/product.search.instance.js.map +0 -1
- package/dist/common/user.instance.js.map +0 -1
- package/dist/config/auth.constants.d.ts +0 -11
- package/dist/config/auth.constants.js +0 -12
- package/dist/config/auth.constants.js.map +0 -1
- package/dist/config/init.constants.d.ts +0 -15
- package/dist/config/init.constants.js +0 -20
- package/dist/config/init.constants.js.map +0 -1
- package/dist/interfaces/compile.d.ts +0 -12
- package/dist/interfaces/compile.js +0 -5
- package/dist/interfaces/compile.js.map +0 -1
- package/dist/types/compile.types.d.ts +0 -131
- package/dist/types/compile.types.js +0 -6
- package/dist/types/compile.types.js.map +0 -1
- package/dist/utils/agent-code-utils.d.ts +0 -25
- package/dist/utils/agent-code-utils.js +0 -107
- package/dist/utils/agent-code-utils.js.map +0 -1
- package/dist/utils/bundling.d.ts +0 -89
- package/dist/utils/bundling.js +0 -1068
- package/dist/utils/bundling.js.map +0 -1
- package/dist/utils/compile.d.ts +0 -116
- package/dist/utils/compile.js +0 -1062
- package/dist/utils/compile.js.map +0 -1
- package/dist/utils/deploy-api.d.ts +0 -26
- package/dist/utils/deploy-api.js +0 -54
- package/dist/utils/deploy-api.js.map +0 -1
- package/dist/utils/deployment.d.ts +0 -26
- package/dist/utils/deployment.js +0 -218
- package/dist/utils/deployment.js.map +0 -1
- package/dist/utils/dev-helpers.d.ts +0 -47
- package/dist/utils/dev-helpers.js +0 -82
- package/dist/utils/dev-helpers.js.map +0 -1
- package/dist/utils/job-management.d.ts +0 -27
- package/dist/utils/job-management.js +0 -248
- package/dist/utils/job-management.js.map +0 -1
- package/dist/utils/mcp-server-management.d.ts +0 -26
- package/dist/utils/mcp-server-management.js +0 -197
- package/dist/utils/mcp-server-management.js.map +0 -1
- package/dist/utils/postprocessor-management.d.ts +0 -9
- package/dist/utils/postprocessor-management.js +0 -117
- package/dist/utils/postprocessor-management.js.map +0 -1
- package/dist/utils/pre-bundle-jobs.d.ts +0 -27
- package/dist/utils/pre-bundle-jobs.js +0 -189
- package/dist/utils/pre-bundle-jobs.js.map +0 -1
- package/dist/utils/preprocessor-management.d.ts +0 -9
- package/dist/utils/preprocessor-management.js +0 -117
- package/dist/utils/preprocessor-management.js.map +0 -1
- package/dist/utils/push-api.d.ts +0 -15
- package/dist/utils/push-api.js +0 -49
- package/dist/utils/push-api.js.map +0 -1
- package/dist/utils/push-helpers.d.ts +0 -82
- package/dist/utils/push-helpers.js +0 -246
- package/dist/utils/push-helpers.js.map +0 -1
- package/dist/utils/skill-management.d.ts +0 -39
- package/dist/utils/skill-management.js +0 -299
- package/dist/utils/skill-management.js.map +0 -1
- package/dist/utils/test-helpers.d.ts +0 -33
- package/dist/utils/test-helpers.js +0 -84
- package/dist/utils/test-helpers.js.map +0 -1
- package/dist/utils/test-prompts.d.ts +0 -23
- package/dist/utils/test-prompts.js +0 -187
- package/dist/utils/test-prompts.js.map +0 -1
- package/dist/utils/tool-detection.d.ts +0 -19
- package/dist/utils/tool-detection.js +0 -125
- package/dist/utils/tool-detection.js.map +0 -1
- package/dist/utils/webhook-management.d.ts +0 -27
- package/dist/utils/webhook-management.js +0 -241
- package/dist/utils/webhook-management.js.map +0 -1
- /package/dist/{common → api}/http.client.d.ts +0 -0
- /package/dist/{common → api}/http.client.js +0 -0
- /package/dist/{common → instances}/basket.instance.d.ts +0 -0
- /package/dist/{common → instances}/basket.instance.js +0 -0
- /package/dist/{common → instances}/data.entry.instance.d.ts +0 -0
- /package/dist/{common → instances}/data.entry.instance.js +0 -0
- /package/dist/{common → instances}/job.instance.d.ts +0 -0
- /package/dist/{common → instances}/job.instance.js +0 -0
- /package/dist/{common → instances}/order.instance.d.ts +0 -0
- /package/dist/{common → instances}/order.instance.js +0 -0
- /package/dist/{common → instances}/product.instance.d.ts +0 -0
- /package/dist/{common → instances}/product.instance.js +0 -0
- /package/dist/{common → instances}/product.pagination.instance.d.ts +0 -0
- /package/dist/{common → instances}/product.pagination.instance.js +0 -0
- /package/dist/{common → instances}/product.search.instance.d.ts +0 -0
- /package/dist/{common → instances}/product.search.instance.js +0 -0
- /package/dist/{common → instances}/user.instance.d.ts +0 -0
- /package/dist/{common → instances}/user.instance.js +0 -0
|
@@ -0,0 +1,580 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Main Lua Compiler
|
|
3
|
+
*
|
|
4
|
+
* This is the entry point for compilation. It orchestrates:
|
|
5
|
+
* 1. Scanning source files for primitives
|
|
6
|
+
* 2. Validating all primitives
|
|
7
|
+
* 3. Bundling each primitive with esbuild
|
|
8
|
+
* 4. Writing artifacts to disk
|
|
9
|
+
*/
|
|
10
|
+
import fs from 'fs/promises';
|
|
11
|
+
import path from 'path';
|
|
12
|
+
import { Project } from 'ts-morph';
|
|
13
|
+
import { pluginRegistry } from './plugins/registry.js';
|
|
14
|
+
import { Bundler } from './bundler.js';
|
|
15
|
+
import { AgentTraverser } from './agent-traverser.js';
|
|
16
|
+
import { shouldSkipFile, shouldSkipDirectory, hashContent, formatSize } from './utils/common.js';
|
|
17
|
+
// Re-export types for consumers
|
|
18
|
+
export * from './types.js';
|
|
19
|
+
// =============================================================================
|
|
20
|
+
// COMPILER
|
|
21
|
+
// =============================================================================
|
|
22
|
+
export class Compiler {
|
|
23
|
+
constructor(options) {
|
|
24
|
+
/** Cached agent info from traversal (avoids re-traversing for manifest) */
|
|
25
|
+
this.cachedAgentInfo = null;
|
|
26
|
+
this.options = {
|
|
27
|
+
sourceMaps: true,
|
|
28
|
+
minify: true,
|
|
29
|
+
debug: false,
|
|
30
|
+
verbose: false,
|
|
31
|
+
quietWarnings: false,
|
|
32
|
+
runtimeValidation: true,
|
|
33
|
+
...options,
|
|
34
|
+
};
|
|
35
|
+
this.project = new Project({
|
|
36
|
+
tsConfigFilePath: path.join(options.rootDir, 'tsconfig.json'),
|
|
37
|
+
});
|
|
38
|
+
this.bundler = new Bundler({ outDir: this.options.outDir, minify: this.options.minify, sourceMaps: this.options.sourceMaps, debug: this.options.debug }, this.project, (msg) => this.verbose(msg));
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Run the compilation.
|
|
42
|
+
*/
|
|
43
|
+
async compile() {
|
|
44
|
+
const startTime = Date.now();
|
|
45
|
+
const errors = [];
|
|
46
|
+
const warnings = [];
|
|
47
|
+
const compiledPrimitives = [];
|
|
48
|
+
try {
|
|
49
|
+
// Step 1: Scan for primitives
|
|
50
|
+
this.verbose('📁 Scanning source files...');
|
|
51
|
+
const allMetadata = await this.scanForPrimitives();
|
|
52
|
+
if (allMetadata.length === 0) {
|
|
53
|
+
warnings.push({
|
|
54
|
+
file: this.options.rootDir,
|
|
55
|
+
message: 'No primitives found. Make sure you export primitives using define functions.',
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
// Step 2: Validate
|
|
59
|
+
this.verbose('✅ Validating primitives...');
|
|
60
|
+
for (const metadata of allMetadata) {
|
|
61
|
+
const plugin = pluginRegistry.get(metadata.kind);
|
|
62
|
+
if (!plugin) {
|
|
63
|
+
errors.push({
|
|
64
|
+
primitive: metadata.name,
|
|
65
|
+
kind: metadata.kind,
|
|
66
|
+
file: metadata.sourcePath,
|
|
67
|
+
line: metadata.line,
|
|
68
|
+
message: `Unknown primitive kind: ${metadata.kind}`,
|
|
69
|
+
});
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
const result = plugin.validate(metadata);
|
|
73
|
+
errors.push(...result.errors.map((e) => ({
|
|
74
|
+
primitive: metadata.name,
|
|
75
|
+
kind: metadata.kind,
|
|
76
|
+
file: metadata.sourcePath,
|
|
77
|
+
line: e.line || metadata.line,
|
|
78
|
+
column: e.column,
|
|
79
|
+
message: e.message,
|
|
80
|
+
suggestion: e.suggestion,
|
|
81
|
+
})));
|
|
82
|
+
if (!this.options.quietWarnings) {
|
|
83
|
+
warnings.push(...result.warnings.map((w) => ({
|
|
84
|
+
primitive: metadata.name,
|
|
85
|
+
kind: metadata.kind,
|
|
86
|
+
file: metadata.sourcePath,
|
|
87
|
+
line: w.line || metadata.line,
|
|
88
|
+
message: w.message,
|
|
89
|
+
})));
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
// Stop if validation errors
|
|
93
|
+
if (errors.length > 0) {
|
|
94
|
+
return await this.createResult(false, [], errors, warnings, startTime);
|
|
95
|
+
}
|
|
96
|
+
// Step 3: Compile each primitive (parallel with concurrency limit)
|
|
97
|
+
this.verbose('📦 Bundling primitives...');
|
|
98
|
+
// Ensure output directory exists
|
|
99
|
+
await fs.mkdir(this.options.outDir, { recursive: true });
|
|
100
|
+
await fs.mkdir(path.join(this.options.outDir, '.temp'), { recursive: true });
|
|
101
|
+
// Compile in parallel with concurrency limit
|
|
102
|
+
const CONCURRENCY = 4;
|
|
103
|
+
const compileResults = await this.compileInParallel(allMetadata, CONCURRENCY);
|
|
104
|
+
for (const result of compileResults) {
|
|
105
|
+
if ('error' in result) {
|
|
106
|
+
errors.push({
|
|
107
|
+
primitive: result.metadata.name,
|
|
108
|
+
kind: result.metadata.kind,
|
|
109
|
+
file: result.metadata.sourcePath,
|
|
110
|
+
message: `Compilation failed: ${result.error.message}`,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
else if (result.compiled) {
|
|
114
|
+
compiledPrimitives.push(result.compiled);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
// Step 4: Write artifacts
|
|
118
|
+
this.verbose('💾 Writing artifacts...');
|
|
119
|
+
await this.writeArtifacts(compiledPrimitives);
|
|
120
|
+
// Step 5: Clean up temp files (unless debug mode)
|
|
121
|
+
if (!this.options.debug) {
|
|
122
|
+
await fs.rm(path.join(this.options.outDir, '.temp'), { recursive: true, force: true });
|
|
123
|
+
}
|
|
124
|
+
return await this.createResult(true, compiledPrimitives, errors, warnings, startTime);
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
errors.push({
|
|
128
|
+
file: 'compiler',
|
|
129
|
+
message: `Unexpected error: ${error.message}`,
|
|
130
|
+
});
|
|
131
|
+
return await this.createResult(false, [], errors, warnings, startTime);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Scan for primitives using agent traversal (preferred) or fallback to full scan.
|
|
136
|
+
*
|
|
137
|
+
* Agent traversal only compiles primitives that are actually registered with
|
|
138
|
+
* a LuaAgent, matching the old compiler's behavior.
|
|
139
|
+
*
|
|
140
|
+
* Also caches the agent info for manifest creation (avoids re-traversing).
|
|
141
|
+
*/
|
|
142
|
+
async scanForPrimitives() {
|
|
143
|
+
// Try agent traversal first
|
|
144
|
+
const traverser = new AgentTraverser(this.options.rootDir, this.options.debug);
|
|
145
|
+
const agentInfo = await traverser.traverse();
|
|
146
|
+
if (agentInfo && agentInfo.primitives.length > 0) {
|
|
147
|
+
this.verbose(`🤖 Agent detected: ${agentInfo.name}`);
|
|
148
|
+
// Cache for manifest creation
|
|
149
|
+
this.cachedAgentInfo = agentInfo;
|
|
150
|
+
return agentInfo.primitives;
|
|
151
|
+
}
|
|
152
|
+
// Fallback: scan all files (for projects without LuaAgent)
|
|
153
|
+
this.verbose(`⚠️ No LuaAgent found, scanning all source files...`);
|
|
154
|
+
return this.scanAllFiles();
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Fallback discovery: scan all source files for primitives when no LuaAgent is found.
|
|
158
|
+
*
|
|
159
|
+
* Unlike agent traversal (which only compiles registered primitives), this method
|
|
160
|
+
* runs every plugin on every source file to discover ALL primitive-like code:
|
|
161
|
+
* - ToolPlugin: defineTool() OR classes extending/implementing LuaTool
|
|
162
|
+
* - JobPlugin: defineJob() OR new LuaJob({...})
|
|
163
|
+
* - WebhookPlugin: defineWebhook() OR new LuaWebhook({...})
|
|
164
|
+
* - PreProcessorPlugin: definePreProcessor() OR new PreProcessor({...})
|
|
165
|
+
* - PostProcessorPlugin: definePostProcessor() OR new PostProcessor({...})
|
|
166
|
+
* - McpServerPlugin: defineMCPServer() OR new LuaMCPServer({...})
|
|
167
|
+
*
|
|
168
|
+
* This is less precise and may include unused primitives, but necessary for
|
|
169
|
+
* projects that don't use the LuaAgent pattern.
|
|
170
|
+
*
|
|
171
|
+
* @returns All detected primitive metadata from the entire codebase
|
|
172
|
+
*/
|
|
173
|
+
scanAllFiles() {
|
|
174
|
+
const allMetadata = [];
|
|
175
|
+
const sourceFiles = this.project.getSourceFiles();
|
|
176
|
+
for (const sourceFile of sourceFiles) {
|
|
177
|
+
const filePath = sourceFile.getFilePath();
|
|
178
|
+
// Skip files we don't want to scan
|
|
179
|
+
if (shouldSkipFile(filePath))
|
|
180
|
+
continue;
|
|
181
|
+
// Run all plugins on this file
|
|
182
|
+
for (const plugin of pluginRegistry.getAll()) {
|
|
183
|
+
try {
|
|
184
|
+
const metadata = plugin.detect(sourceFile);
|
|
185
|
+
allMetadata.push(...metadata);
|
|
186
|
+
}
|
|
187
|
+
catch (error) {
|
|
188
|
+
if (this.options.debug) {
|
|
189
|
+
console.warn(`Warning: Plugin ${plugin.kind} failed on ${filePath}:`, error);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
return allMetadata;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Compile primitives in parallel with a concurrency limit.
|
|
198
|
+
* Returns results in the same order as input, with either compiled primitive or error.
|
|
199
|
+
*/
|
|
200
|
+
async compileInParallel(allMetadata, concurrency) {
|
|
201
|
+
const results = [];
|
|
202
|
+
// Process in batches of `concurrency`
|
|
203
|
+
for (let i = 0; i < allMetadata.length; i += concurrency) {
|
|
204
|
+
const batch = allMetadata.slice(i, i + concurrency);
|
|
205
|
+
const batchResults = await Promise.all(batch.map(async (metadata) => {
|
|
206
|
+
const plugin = pluginRegistry.get(metadata.kind);
|
|
207
|
+
if (plugin) {
|
|
208
|
+
this.verbose(` 📦 ${plugin.displayName}: ${metadata.name}`);
|
|
209
|
+
}
|
|
210
|
+
try {
|
|
211
|
+
const compiled = await this.compilePrimitive(metadata);
|
|
212
|
+
return { compiled, metadata };
|
|
213
|
+
}
|
|
214
|
+
catch (error) {
|
|
215
|
+
return { error, metadata };
|
|
216
|
+
}
|
|
217
|
+
}));
|
|
218
|
+
results.push(...batchResults);
|
|
219
|
+
}
|
|
220
|
+
return results;
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Compile a single primitive through the full pipeline.
|
|
224
|
+
*
|
|
225
|
+
* The compilation pipeline for each primitive:
|
|
226
|
+
* 1. Generate entry point code via the plugin
|
|
227
|
+
* 2. Bundle with esbuild using stdin (no temp entry file) + virtual module plugin
|
|
228
|
+
* 3. Run plugin's post-processing hook (if any)
|
|
229
|
+
* 4. Extract schemas via plugin (e.g., Zod → JSON Schema for tools)
|
|
230
|
+
*
|
|
231
|
+
* Uses esbuild's stdin option for the entry point and a virtual module plugin
|
|
232
|
+
* that appends `export { X as __lua_target__ }` to the source file. This
|
|
233
|
+
* eliminates all temp files while handling non-exported primitives correctly.
|
|
234
|
+
*
|
|
235
|
+
* @param metadata - Primitive metadata from detection phase
|
|
236
|
+
* @returns Compiled primitive with bundled code, schemas, and metadata, or null if plugin not found
|
|
237
|
+
*/
|
|
238
|
+
async compilePrimitive(metadata) {
|
|
239
|
+
const plugin = pluginRegistry.get(metadata.kind);
|
|
240
|
+
if (!plugin)
|
|
241
|
+
return null;
|
|
242
|
+
// Generate entry point code (imports from source, creates wrapper)
|
|
243
|
+
const entryPointCode = plugin.generateEntryPoint(metadata);
|
|
244
|
+
// Bundle with esbuild using stdin + virtual source plugin (no temp files)
|
|
245
|
+
const artifact = await this.bundler.bundle(metadata, entryPointCode);
|
|
246
|
+
// Post-process if plugin supports it and runtime validation is enabled
|
|
247
|
+
const finalArtifact = (plugin.postProcess && this.options.runtimeValidation)
|
|
248
|
+
? plugin.postProcess(artifact, metadata)
|
|
249
|
+
: artifact;
|
|
250
|
+
// Extract schemas if plugin supports it
|
|
251
|
+
const schemas = plugin.extractSchemas
|
|
252
|
+
? await plugin.extractSchemas(metadata, this.project)
|
|
253
|
+
: undefined;
|
|
254
|
+
return {
|
|
255
|
+
kind: metadata.kind,
|
|
256
|
+
name: metadata.name,
|
|
257
|
+
description: metadata.description,
|
|
258
|
+
sourcePath: metadata.sourcePath,
|
|
259
|
+
artifact: finalArtifact,
|
|
260
|
+
schemas,
|
|
261
|
+
metadata: metadata.metadata,
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Write all compilation artifacts to disk with full project preservation.
|
|
266
|
+
*
|
|
267
|
+
* Output structure:
|
|
268
|
+
* ```
|
|
269
|
+
* dist-v2/
|
|
270
|
+
* ├── artifacts/
|
|
271
|
+
* │ ├── tool/
|
|
272
|
+
* │ │ ├── {name}.js # Bundled code
|
|
273
|
+
* │ │ ├── {name}.js.map # Source map
|
|
274
|
+
* │ │ └── {name}.json # Metadata (schemas, description, etc.)
|
|
275
|
+
* │ ├── job/
|
|
276
|
+
* │ ├── webhook/
|
|
277
|
+
* │ └── ...
|
|
278
|
+
* ├── sources/
|
|
279
|
+
* │ └── {hash}.ts # Deduplicated source files (by content hash)
|
|
280
|
+
* └── manifest.json # Full compilation manifest
|
|
281
|
+
* ```
|
|
282
|
+
*
|
|
283
|
+
* @param primitives - All compiled primitives to write
|
|
284
|
+
*/
|
|
285
|
+
async writeArtifacts(primitives) {
|
|
286
|
+
const artifactsDir = path.join(this.options.outDir, 'artifacts');
|
|
287
|
+
const sourcesDir = path.join(this.options.outDir, 'sources');
|
|
288
|
+
await fs.mkdir(sourcesDir, { recursive: true });
|
|
289
|
+
// Track written sources by hash to avoid duplicates
|
|
290
|
+
const writtenSources = new Map(); // hash -> relativePath
|
|
291
|
+
// Step 1: Write primitive artifacts (bundles, source maps, metadata)
|
|
292
|
+
await this.writePrimitiveArtifacts(primitives, artifactsDir, sourcesDir, writtenSources);
|
|
293
|
+
// Step 2: Collect and store all project files for full reconstruction
|
|
294
|
+
this.verbose(' 📂 Collecting project files...');
|
|
295
|
+
const projectFiles = await this.storeProjectFiles(sourcesDir, writtenSources);
|
|
296
|
+
// Step 3: Create and write manifest
|
|
297
|
+
const manifest = await this.createManifest(primitives, projectFiles);
|
|
298
|
+
await fs.writeFile(path.join(this.options.outDir, 'manifest.json'), JSON.stringify(manifest, null, 2));
|
|
299
|
+
this.verbose(` 📦 Total files stored: ${writtenSources.size} (deduplicated)`);
|
|
300
|
+
this.verbose(` 📁 Project files: ${projectFiles.length}`);
|
|
301
|
+
if (this.options.verbose || this.options.debug) {
|
|
302
|
+
this.logTree(primitives);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Write primitive artifacts: bundles, source maps, and metadata JSON files.
|
|
307
|
+
*/
|
|
308
|
+
async writePrimitiveArtifacts(primitives, artifactsDir, sourcesDir, writtenSources) {
|
|
309
|
+
for (const primitive of primitives) {
|
|
310
|
+
const primitiveDir = path.join(artifactsDir, primitive.kind);
|
|
311
|
+
await fs.mkdir(primitiveDir, { recursive: true });
|
|
312
|
+
const baseName = primitive.name;
|
|
313
|
+
// Write bundle
|
|
314
|
+
await fs.writeFile(path.join(primitiveDir, `${baseName}.js`), primitive.artifact.code);
|
|
315
|
+
// Write source map
|
|
316
|
+
if (primitive.artifact.sourceMap) {
|
|
317
|
+
await fs.writeFile(path.join(primitiveDir, `${baseName}.js.map`), primitive.artifact.sourceMap);
|
|
318
|
+
}
|
|
319
|
+
// Deduplicate and store original source
|
|
320
|
+
const sourceHash = hashContent(primitive.artifact.originalSource);
|
|
321
|
+
if (!writtenSources.has(sourceHash)) {
|
|
322
|
+
const ext = primitive.sourcePath.endsWith('.tsx') ? '.tsx' : '.ts';
|
|
323
|
+
await fs.writeFile(path.join(sourcesDir, `${sourceHash}${ext}`), primitive.artifact.originalSource);
|
|
324
|
+
const relativePath = path.relative(this.options.rootDir, primitive.sourcePath);
|
|
325
|
+
writtenSources.set(sourceHash, relativePath);
|
|
326
|
+
}
|
|
327
|
+
// Write metadata JSON
|
|
328
|
+
await fs.writeFile(path.join(primitiveDir, `${baseName}.json`), JSON.stringify({
|
|
329
|
+
kind: primitive.kind,
|
|
330
|
+
name: primitive.name,
|
|
331
|
+
description: primitive.description,
|
|
332
|
+
sourcePath: primitive.sourcePath,
|
|
333
|
+
sourceHash,
|
|
334
|
+
schemas: primitive.schemas,
|
|
335
|
+
metadata: primitive.metadata,
|
|
336
|
+
size: primitive.artifact.size,
|
|
337
|
+
hash: primitive.artifact.hash,
|
|
338
|
+
}, null, 2));
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Store all project files for full reconstruction (enables `lua init --from-server`).
|
|
343
|
+
* Returns the list of project files with their hashes.
|
|
344
|
+
*/
|
|
345
|
+
async storeProjectFiles(sourcesDir, writtenSources) {
|
|
346
|
+
const projectFiles = [];
|
|
347
|
+
const allFiles = await this.collectProjectFiles();
|
|
348
|
+
for (const file of allFiles) {
|
|
349
|
+
const content = await fs.readFile(path.join(this.options.rootDir, file.relativePath), 'utf-8');
|
|
350
|
+
const hash = hashContent(content);
|
|
351
|
+
// Store if not already stored (deduplication)
|
|
352
|
+
if (!writtenSources.has(hash)) {
|
|
353
|
+
const ext = path.extname(file.relativePath) || '.txt';
|
|
354
|
+
await fs.writeFile(path.join(sourcesDir, `${hash}${ext}`), content);
|
|
355
|
+
writtenSources.set(hash, file.relativePath);
|
|
356
|
+
}
|
|
357
|
+
projectFiles.push({
|
|
358
|
+
relativePath: file.relativePath,
|
|
359
|
+
hash,
|
|
360
|
+
size: content.length,
|
|
361
|
+
type: file.type,
|
|
362
|
+
});
|
|
363
|
+
}
|
|
364
|
+
return projectFiles;
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* Create the compilation manifest with all metadata.
|
|
368
|
+
*
|
|
369
|
+
* Uses cached agent info from scanForPrimitives() to avoid re-traversing.
|
|
370
|
+
* Delegates to each plugin's toManifestEntry() for type-specific fields.
|
|
371
|
+
*/
|
|
372
|
+
async createManifest(primitives, projectFiles) {
|
|
373
|
+
const agentInfo = this.cachedAgentInfo;
|
|
374
|
+
// Extract config file hashes
|
|
375
|
+
const config = {};
|
|
376
|
+
const packageJsonFile = projectFiles.find(f => f.relativePath === 'package.json');
|
|
377
|
+
if (packageJsonFile)
|
|
378
|
+
config.packageJson = packageJsonFile.hash;
|
|
379
|
+
const tsconfigFile = projectFiles.find(f => f.relativePath === 'tsconfig.json');
|
|
380
|
+
if (tsconfigFile)
|
|
381
|
+
config.tsconfigJson = tsconfigFile.hash;
|
|
382
|
+
const yamlFile = projectFiles.find(f => f.relativePath === 'lua.skill.yaml');
|
|
383
|
+
if (yamlFile)
|
|
384
|
+
config.luaSkillYaml = yamlFile.hash;
|
|
385
|
+
return {
|
|
386
|
+
version: '2.0.0',
|
|
387
|
+
compiledAt: new Date().toISOString(),
|
|
388
|
+
agent: agentInfo ? { name: agentInfo.name, persona: agentInfo.persona } : undefined,
|
|
389
|
+
primitives: await this.mapPrimitivesToManifest(primitives),
|
|
390
|
+
projectFiles,
|
|
391
|
+
config,
|
|
392
|
+
};
|
|
393
|
+
}
|
|
394
|
+
/**
|
|
395
|
+
* Map compiled primitives to manifest entries using plugins.
|
|
396
|
+
* Single source of truth for primitive → manifest conversion.
|
|
397
|
+
*/
|
|
398
|
+
async mapPrimitivesToManifest(primitives) {
|
|
399
|
+
const context = {
|
|
400
|
+
agentPrimitives: this.cachedAgentInfo?.primitives,
|
|
401
|
+
outDir: this.options.outDir,
|
|
402
|
+
};
|
|
403
|
+
return Promise.all(primitives.map(async (p) => {
|
|
404
|
+
const plugin = pluginRegistry.get(p.kind);
|
|
405
|
+
if (plugin) {
|
|
406
|
+
return plugin.toManifestEntry(p, context);
|
|
407
|
+
}
|
|
408
|
+
// Fallback for unknown kinds (should not happen)
|
|
409
|
+
return {
|
|
410
|
+
kind: p.kind,
|
|
411
|
+
name: p.name,
|
|
412
|
+
description: p.description,
|
|
413
|
+
path: `artifacts/${p.kind}/${p.name}.js`,
|
|
414
|
+
sourcePath: p.sourcePath,
|
|
415
|
+
hash: p.artifact.hash,
|
|
416
|
+
};
|
|
417
|
+
}));
|
|
418
|
+
}
|
|
419
|
+
/**
|
|
420
|
+
* Recursively collect all project files for full reconstruction.
|
|
421
|
+
*
|
|
422
|
+
* This enables `lua init --from-server` to recreate the exact project structure.
|
|
423
|
+
*
|
|
424
|
+
* File categorization:
|
|
425
|
+
* - 'source': .ts, .tsx, .js files
|
|
426
|
+
* - 'config': package.json, tsconfig.json, lua.skill.yaml, *.yaml, *.yml, *.json
|
|
427
|
+
* - 'other': README.md, .env.example, etc.
|
|
428
|
+
*
|
|
429
|
+
* Excludes (via shouldSkipDirectory/shouldSkipFile):
|
|
430
|
+
* - node_modules, dist, .git, coverage, etc.
|
|
431
|
+
* - test files, declaration files, lock files
|
|
432
|
+
*
|
|
433
|
+
* @returns Array of file info with relative paths and categorized types
|
|
434
|
+
*/
|
|
435
|
+
async collectProjectFiles() {
|
|
436
|
+
const files = [];
|
|
437
|
+
const scanDir = async (dir, relativeBase = '') => {
|
|
438
|
+
const entries = await fs.readdir(dir, { withFileTypes: true });
|
|
439
|
+
for (const entry of entries) {
|
|
440
|
+
const relativePath = relativeBase ? `${relativeBase}/${entry.name}` : entry.name;
|
|
441
|
+
const fullPath = path.join(dir, entry.name);
|
|
442
|
+
// Skip directories we don't want
|
|
443
|
+
if (entry.isDirectory()) {
|
|
444
|
+
if (shouldSkipDirectory(entry.name))
|
|
445
|
+
continue;
|
|
446
|
+
await scanDir(fullPath, relativePath);
|
|
447
|
+
continue;
|
|
448
|
+
}
|
|
449
|
+
// Skip files we don't want
|
|
450
|
+
if (shouldSkipFile(entry.name))
|
|
451
|
+
continue;
|
|
452
|
+
// Determine file type
|
|
453
|
+
let type = 'other';
|
|
454
|
+
if (entry.name.endsWith('.ts') || entry.name.endsWith('.tsx') || entry.name.endsWith('.js')) {
|
|
455
|
+
type = 'source';
|
|
456
|
+
}
|
|
457
|
+
else if (entry.name === 'package.json' ||
|
|
458
|
+
entry.name === 'tsconfig.json' ||
|
|
459
|
+
entry.name === 'lua.skill.yaml' ||
|
|
460
|
+
entry.name.endsWith('.yaml') ||
|
|
461
|
+
entry.name.endsWith('.yml') ||
|
|
462
|
+
entry.name.endsWith('.json')) {
|
|
463
|
+
type = 'config';
|
|
464
|
+
}
|
|
465
|
+
files.push({ relativePath, type });
|
|
466
|
+
}
|
|
467
|
+
};
|
|
468
|
+
await scanDir(this.options.rootDir);
|
|
469
|
+
return files;
|
|
470
|
+
}
|
|
471
|
+
/**
|
|
472
|
+
* Log the output directory tree.
|
|
473
|
+
*/
|
|
474
|
+
logTree(primitives) {
|
|
475
|
+
this.log(` ${this.options.outDir}/`);
|
|
476
|
+
this.log(` ├── artifacts/`);
|
|
477
|
+
const byKind = new Map();
|
|
478
|
+
for (const p of primitives) {
|
|
479
|
+
const list = byKind.get(p.kind) || [];
|
|
480
|
+
list.push(p);
|
|
481
|
+
byKind.set(p.kind, list);
|
|
482
|
+
}
|
|
483
|
+
const kinds = Array.from(byKind.keys());
|
|
484
|
+
kinds.forEach((kind, i) => {
|
|
485
|
+
const isLast = i === kinds.length - 1;
|
|
486
|
+
const primitiveList = byKind.get(kind);
|
|
487
|
+
this.log(` │ ${isLast ? '└' : '├'}── ${kind}/`);
|
|
488
|
+
primitiveList.forEach((p, j) => {
|
|
489
|
+
const isLastPrimitive = j === primitiveList.length - 1;
|
|
490
|
+
const prefix = isLast ? ' ' : '│ ';
|
|
491
|
+
this.log(` ${prefix} ${isLastPrimitive ? '└' : '├'}── ${p.name}.js (${formatSize(p.artifact.size)})`);
|
|
492
|
+
});
|
|
493
|
+
});
|
|
494
|
+
this.log(` └── manifest.json`);
|
|
495
|
+
}
|
|
496
|
+
/**
|
|
497
|
+
* Create the compilation result with stats.
|
|
498
|
+
* Note: The full manifest (with projectFiles) is written by writeArtifacts.
|
|
499
|
+
* This returns a minimal manifest for the result object.
|
|
500
|
+
*/
|
|
501
|
+
async createResult(success, primitives, errors, warnings, startTime) {
|
|
502
|
+
const stats = this.calculateStats(primitives, startTime);
|
|
503
|
+
return {
|
|
504
|
+
success,
|
|
505
|
+
manifest: await this.createMinimalManifest(primitives),
|
|
506
|
+
errors,
|
|
507
|
+
warnings,
|
|
508
|
+
stats,
|
|
509
|
+
};
|
|
510
|
+
}
|
|
511
|
+
/**
|
|
512
|
+
* Calculate compilation statistics.
|
|
513
|
+
*/
|
|
514
|
+
calculateStats(primitives, startTime) {
|
|
515
|
+
const byKind = {};
|
|
516
|
+
let totalSize = 0;
|
|
517
|
+
for (const p of primitives) {
|
|
518
|
+
byKind[p.kind] = (byKind[p.kind] || 0) + 1;
|
|
519
|
+
totalSize += p.artifact.size;
|
|
520
|
+
}
|
|
521
|
+
return {
|
|
522
|
+
totalPrimitives: primitives.length,
|
|
523
|
+
byKind,
|
|
524
|
+
totalSize,
|
|
525
|
+
duration: Date.now() - startTime,
|
|
526
|
+
};
|
|
527
|
+
}
|
|
528
|
+
/**
|
|
529
|
+
* Create a minimal manifest for the result object.
|
|
530
|
+
* The full manifest (with projectFiles) is written to disk by writeArtifacts.
|
|
531
|
+
*/
|
|
532
|
+
async createMinimalManifest(primitives) {
|
|
533
|
+
return {
|
|
534
|
+
version: '2.0.0',
|
|
535
|
+
compiledAt: new Date().toISOString(),
|
|
536
|
+
primitives: await this.mapPrimitivesToManifest(primitives),
|
|
537
|
+
projectFiles: [], // Full list written to disk
|
|
538
|
+
config: {}, // Full config written to disk
|
|
539
|
+
};
|
|
540
|
+
}
|
|
541
|
+
/**
|
|
542
|
+
* Log a message (always shown).
|
|
543
|
+
*/
|
|
544
|
+
log(message) {
|
|
545
|
+
console.log(message);
|
|
546
|
+
}
|
|
547
|
+
/**
|
|
548
|
+
* Log a verbose message (only shown in verbose or debug mode).
|
|
549
|
+
*/
|
|
550
|
+
verbose(message) {
|
|
551
|
+
if (this.options.verbose || this.options.debug) {
|
|
552
|
+
console.log(message);
|
|
553
|
+
}
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
// =============================================================================
|
|
557
|
+
// CONVENIENCE FUNCTION
|
|
558
|
+
// =============================================================================
|
|
559
|
+
/**
|
|
560
|
+
* Compile a Lua project.
|
|
561
|
+
*
|
|
562
|
+
* @example
|
|
563
|
+
* ```typescript
|
|
564
|
+
* const result = await compile({
|
|
565
|
+
* rootDir: process.cwd(),
|
|
566
|
+
* outDir: 'dist',
|
|
567
|
+
* });
|
|
568
|
+
*
|
|
569
|
+
* if (!result.success) {
|
|
570
|
+
* console.error('Compilation failed:');
|
|
571
|
+
* result.errors.forEach(e => console.error(` ${e.message}`));
|
|
572
|
+
* process.exit(1);
|
|
573
|
+
* }
|
|
574
|
+
* ```
|
|
575
|
+
*/
|
|
576
|
+
export async function compile(options) {
|
|
577
|
+
const compiler = new Compiler(options);
|
|
578
|
+
return compiler.compile();
|
|
579
|
+
}
|
|
580
|
+
//# sourceMappingURL=compiler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../src/compiler/compiler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @lua/compiler - Compiler for Lua AI agent primitives
|
|
3
|
+
*
|
|
4
|
+
* This package provides the compilation infrastructure for Lua agents.
|
|
5
|
+
* It transforms TypeScript source code into optimized, sandboxed artifacts.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import { compile } from '@lua/compiler';
|
|
10
|
+
*
|
|
11
|
+
* const result = await compile({
|
|
12
|
+
* rootDir: process.cwd(),
|
|
13
|
+
* outDir: 'dist',
|
|
14
|
+
* });
|
|
15
|
+
*
|
|
16
|
+
* if (result.success) {
|
|
17
|
+
* console.log(`Compiled ${result.stats.totalPrimitives} primitives`);
|
|
18
|
+
* }
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export { Compiler, compile } from './compiler.js';
|
|
22
|
+
export type { CompilerOptions, CompilationResult, CompilationManifest, CompilationError, CompilationWarning, CompilationStats, CompiledPrimitive, ProjectFile, ManifestPrimitive, ManifestTool, ManifestSkill, ManifestJob, ManifestWebhook, ManifestPreProcessor, ManifestPostProcessor, ManifestMCPServer, ManifestContext, BaseMetadataFields, PrimitiveMetadata, ToolMetadataFields, SkillMetadataFields, JobMetadataFields, WebhookMetadataFields, PreProcessorMetadataFields, PostProcessorMetadataFields, MCPServerMetadataFields, ToolMetadata, SkillMetadata, JobMetadata, WebhookMetadata, PreProcessorMetadata, PostProcessorMetadata, MCPServerMetadata, ValidationResult, ValidationMessage, SchemaSet, JSONSchema, BundledArtifact, } from './types.js';
|
|
23
|
+
export type { CompilationPlugin } from './plugins/base.js';
|
|
24
|
+
export { pluginRegistry, PluginRegistry, getAllDefineFunctions, getPluginByDefineFunction, } from './plugins/registry.js';
|
|
25
|
+
export { validResult, validationError, validationWarning, } from './plugins/base.js';
|
|
26
|
+
export { ToolPlugin } from './plugins/tool.plugin.js';
|
|
27
|
+
export { JobPlugin } from './plugins/job.plugin.js';
|
|
28
|
+
export { WebhookPlugin } from './plugins/webhook.plugin.js';
|
|
29
|
+
export { PreProcessorPlugin } from './plugins/preprocessor.plugin.js';
|
|
30
|
+
export { PostProcessorPlugin } from './plugins/postprocessor.plugin.js';
|
|
31
|
+
export { MCPServerPlugin } from './plugins/mcp-server.plugin.js';
|
|
32
|
+
export { SkillPlugin } from './plugins/skill.plugin.js';
|
|
33
|
+
export { extractStringProperty, extractBooleanProperty, extractNumberProperty, extractObjectProperty, extractSchemaProperty, hasProperty, getPropertyNames, isFunction, getFunctionBody, findImportSource, } from './utils/ast-helpers.js';
|
|
34
|
+
export { zodToJsonSchema, zodStringToJsonSchema, } from './utils/schema-converter.js';
|
|
35
|
+
export { updateAgentConfig, setAgentName, setAgentPersona, type SourceWriteOptions, } from './source-writer.js';
|
|
36
|
+
export { findEntryPoint, findIndexFile, getEntryPointPriority, } from './utils/file-discovery.js';
|