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,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AST helper functions for extracting values from ts-morph nodes.
|
|
3
|
+
*
|
|
4
|
+
* These utilities make it easy to extract typed values from
|
|
5
|
+
* object literal expressions in TypeScript source code.
|
|
6
|
+
*/
|
|
7
|
+
import { Node, SyntaxKind } from 'ts-morph';
|
|
8
|
+
/**
|
|
9
|
+
* Extract a string value from an object property.
|
|
10
|
+
* Handles string literals and template literals.
|
|
11
|
+
*/
|
|
12
|
+
export function extractStringProperty(obj, propertyName) {
|
|
13
|
+
const prop = obj.getProperty(propertyName);
|
|
14
|
+
if (!prop || !Node.isPropertyAssignment(prop))
|
|
15
|
+
return undefined;
|
|
16
|
+
const value = prop.getInitializer();
|
|
17
|
+
if (!value)
|
|
18
|
+
return undefined;
|
|
19
|
+
// String literal: "value" or 'value'
|
|
20
|
+
if (Node.isStringLiteral(value)) {
|
|
21
|
+
return value.getLiteralValue();
|
|
22
|
+
}
|
|
23
|
+
// Template literal without expressions: `value`
|
|
24
|
+
if (Node.isNoSubstitutionTemplateLiteral(value)) {
|
|
25
|
+
return value.getLiteralValue();
|
|
26
|
+
}
|
|
27
|
+
// Template literal with expressions: `${x}` - return the full text
|
|
28
|
+
if (Node.isTemplateExpression(value)) {
|
|
29
|
+
// For complex templates, return the raw text minus backticks
|
|
30
|
+
const text = value.getText();
|
|
31
|
+
return text.slice(1, -1);
|
|
32
|
+
}
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Extract a boolean value from an object property.
|
|
37
|
+
*/
|
|
38
|
+
export function extractBooleanProperty(obj, propertyName) {
|
|
39
|
+
const prop = obj.getProperty(propertyName);
|
|
40
|
+
if (!prop || !Node.isPropertyAssignment(prop))
|
|
41
|
+
return undefined;
|
|
42
|
+
const value = prop.getInitializer();
|
|
43
|
+
if (!value)
|
|
44
|
+
return undefined;
|
|
45
|
+
const kind = value.getKind();
|
|
46
|
+
// TrueKeyword = 110, FalseKeyword = 95 in ts-morph
|
|
47
|
+
if (kind === SyntaxKind.TrueKeyword)
|
|
48
|
+
return true;
|
|
49
|
+
if (kind === SyntaxKind.FalseKeyword)
|
|
50
|
+
return false;
|
|
51
|
+
// Handle string "true" or "false"
|
|
52
|
+
if (Node.isStringLiteral(value)) {
|
|
53
|
+
const text = value.getLiteralValue();
|
|
54
|
+
if (text === 'true')
|
|
55
|
+
return true;
|
|
56
|
+
if (text === 'false')
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
return undefined;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Extract a number value from an object property.
|
|
63
|
+
*/
|
|
64
|
+
export function extractNumberProperty(obj, propertyName) {
|
|
65
|
+
const prop = obj.getProperty(propertyName);
|
|
66
|
+
if (!prop || !Node.isPropertyAssignment(prop))
|
|
67
|
+
return undefined;
|
|
68
|
+
const value = prop.getInitializer();
|
|
69
|
+
if (!value)
|
|
70
|
+
return undefined;
|
|
71
|
+
if (Node.isNumericLiteral(value)) {
|
|
72
|
+
return value.getLiteralValue();
|
|
73
|
+
}
|
|
74
|
+
return undefined;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Extract an object literal from an object property.
|
|
78
|
+
*/
|
|
79
|
+
export function extractObjectProperty(obj, propertyName) {
|
|
80
|
+
const prop = obj.getProperty(propertyName);
|
|
81
|
+
if (!prop || !Node.isPropertyAssignment(prop))
|
|
82
|
+
return undefined;
|
|
83
|
+
const value = prop.getInitializer();
|
|
84
|
+
if (!value)
|
|
85
|
+
return undefined;
|
|
86
|
+
if (Node.isObjectLiteralExpression(value)) {
|
|
87
|
+
return value;
|
|
88
|
+
}
|
|
89
|
+
return undefined;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Extract a schema node from an object property.
|
|
93
|
+
* Returns the initializer node which can be evaluated as a Zod schema.
|
|
94
|
+
*/
|
|
95
|
+
export function extractSchemaProperty(obj, propertyName) {
|
|
96
|
+
const prop = obj.getProperty(propertyName);
|
|
97
|
+
if (!prop || !Node.isPropertyAssignment(prop))
|
|
98
|
+
return undefined;
|
|
99
|
+
return prop.getInitializer();
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Check if a property exists on an object literal.
|
|
103
|
+
*/
|
|
104
|
+
export function hasProperty(obj, propertyName) {
|
|
105
|
+
return obj.getProperty(propertyName) !== undefined;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Extract all property names from an object literal.
|
|
109
|
+
*/
|
|
110
|
+
export function getPropertyNames(obj) {
|
|
111
|
+
return obj.getProperties()
|
|
112
|
+
.filter(prop => Node.isPropertyAssignment(prop))
|
|
113
|
+
.map(prop => prop.getName());
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Check if a node is a function (arrow or regular).
|
|
117
|
+
*/
|
|
118
|
+
export function isFunction(node) {
|
|
119
|
+
if (!node)
|
|
120
|
+
return false;
|
|
121
|
+
return Node.isArrowFunction(node) || Node.isFunctionExpression(node);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Get the text of a function body.
|
|
125
|
+
*/
|
|
126
|
+
export function getFunctionBody(node) {
|
|
127
|
+
if (!node)
|
|
128
|
+
return undefined;
|
|
129
|
+
if (Node.isArrowFunction(node)) {
|
|
130
|
+
const body = node.getBody();
|
|
131
|
+
return body.getText();
|
|
132
|
+
}
|
|
133
|
+
if (Node.isFunctionExpression(node)) {
|
|
134
|
+
const body = node.getBody();
|
|
135
|
+
return body?.getText();
|
|
136
|
+
}
|
|
137
|
+
return undefined;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Find the source file path for an imported identifier.
|
|
141
|
+
*
|
|
142
|
+
* Checks both default and named imports for the given identifier name.
|
|
143
|
+
* Falls back to the current source file if not found in imports (for local definitions).
|
|
144
|
+
*
|
|
145
|
+
* @param identifier - The identifier name to find (e.g., 'MyTool', 'searchTool')
|
|
146
|
+
* @param sourceFile - The source file containing the imports
|
|
147
|
+
* @param resolveImportPath - Function to resolve module specifier to absolute path
|
|
148
|
+
* @returns Absolute path to the source file, or sourceFile path for local definitions
|
|
149
|
+
*/
|
|
150
|
+
export function findImportSource(identifier, sourceFile, resolveImportPath) {
|
|
151
|
+
for (const importDecl of sourceFile.getImportDeclarations()) {
|
|
152
|
+
const defaultImport = importDecl.getDefaultImport();
|
|
153
|
+
const namedImports = importDecl.getNamedImports();
|
|
154
|
+
// Check if identifier matches default import or any named import
|
|
155
|
+
const isMatch = (defaultImport && defaultImport.getText() === identifier) ||
|
|
156
|
+
namedImports.some(named => named.getName() === identifier);
|
|
157
|
+
if (isMatch) {
|
|
158
|
+
return resolveImportPath(importDecl.getModuleSpecifierValue(), sourceFile.getFilePath());
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
// Not found in imports - assume local definition in same file
|
|
162
|
+
return sourceFile.getFilePath();
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=ast-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ast-helpers.js","sourceRoot":"","sources":["../../../src/compiler/utils/ast-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Common utility functions for the compiler.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Hash content using SHA256, returning first 16 hex characters.
|
|
6
|
+
* Used for content deduplication and cache keys.
|
|
7
|
+
*/
|
|
8
|
+
export declare function hashContent(content: string): string;
|
|
9
|
+
/**
|
|
10
|
+
* Check if a file should be skipped during scanning.
|
|
11
|
+
* Used by both primitive detection and project file collection.
|
|
12
|
+
*
|
|
13
|
+
* @param filePathOrName - Can be a full path or just a filename
|
|
14
|
+
*/
|
|
15
|
+
export declare function shouldSkipFile(filePathOrName: string): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Check if a directory should be skipped during scanning.
|
|
18
|
+
*/
|
|
19
|
+
export declare function shouldSkipDirectory(name: string): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Format file size in human-readable format.
|
|
22
|
+
*/
|
|
23
|
+
export declare function formatSize(bytes: number): string;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Common utility functions for the compiler.
|
|
3
|
+
*/
|
|
4
|
+
import crypto from 'crypto';
|
|
5
|
+
// =============================================================================
|
|
6
|
+
// HASHING
|
|
7
|
+
// =============================================================================
|
|
8
|
+
/**
|
|
9
|
+
* Hash content using SHA256, returning first 16 hex characters.
|
|
10
|
+
* Used for content deduplication and cache keys.
|
|
11
|
+
*/
|
|
12
|
+
export function hashContent(content) {
|
|
13
|
+
return crypto.createHash('sha256').update(content).digest('hex').slice(0, 16);
|
|
14
|
+
}
|
|
15
|
+
// =============================================================================
|
|
16
|
+
// FILE FILTERING
|
|
17
|
+
// =============================================================================
|
|
18
|
+
/**
|
|
19
|
+
* Check if a file should be skipped during scanning.
|
|
20
|
+
* Used by both primitive detection and project file collection.
|
|
21
|
+
*
|
|
22
|
+
* @param filePathOrName - Can be a full path or just a filename
|
|
23
|
+
*/
|
|
24
|
+
export function shouldSkipFile(filePathOrName) {
|
|
25
|
+
return (filePathOrName.includes('node_modules') ||
|
|
26
|
+
filePathOrName.includes('.test.') ||
|
|
27
|
+
filePathOrName.includes('.spec.') ||
|
|
28
|
+
filePathOrName.includes('__tests__') ||
|
|
29
|
+
filePathOrName.endsWith('.d.ts') ||
|
|
30
|
+
filePathOrName.endsWith('.map') ||
|
|
31
|
+
filePathOrName.startsWith('.') ||
|
|
32
|
+
filePathOrName === 'package-lock.json' ||
|
|
33
|
+
filePathOrName === 'yarn.lock' ||
|
|
34
|
+
filePathOrName === 'pnpm-lock.yaml');
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Check if a directory should be skipped during scanning.
|
|
38
|
+
*/
|
|
39
|
+
export function shouldSkipDirectory(name) {
|
|
40
|
+
const skipDirs = [
|
|
41
|
+
'node_modules',
|
|
42
|
+
'dist',
|
|
43
|
+
'dist-v2',
|
|
44
|
+
'.git',
|
|
45
|
+
'.lua',
|
|
46
|
+
'.temp',
|
|
47
|
+
'coverage',
|
|
48
|
+
'.next',
|
|
49
|
+
'.turbo',
|
|
50
|
+
];
|
|
51
|
+
return skipDirs.includes(name);
|
|
52
|
+
}
|
|
53
|
+
// =============================================================================
|
|
54
|
+
// FORMATTING
|
|
55
|
+
// =============================================================================
|
|
56
|
+
/**
|
|
57
|
+
* Format file size in human-readable format.
|
|
58
|
+
*/
|
|
59
|
+
export function formatSize(bytes) {
|
|
60
|
+
if (bytes < 1024)
|
|
61
|
+
return `${bytes}B`;
|
|
62
|
+
if (bytes < 1024 * 1024)
|
|
63
|
+
return `${(bytes / 1024).toFixed(1)}KB`;
|
|
64
|
+
return `${(bytes / 1024 / 1024).toFixed(1)}MB`;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/compiler/utils/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAChF,CAAC;AAED,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,cAAsB;IACnD,OAAO,CACL,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC;QACvC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACjC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACjC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC;QACpC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC;QAChC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC/B,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC;QAC9B,cAAc,KAAK,mBAAmB;QACtC,cAAc,KAAK,WAAW;QAC9B,cAAc,KAAK,gBAAgB,CACpC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,MAAM,QAAQ,GAAG;QACf,cAAc;QACd,MAAM;QACN,SAAS;QACT,MAAM;QACN,MAAM;QACN,OAAO;QACP,UAAU;QACV,OAAO;QACP,QAAQ;KACT,CAAC;IACF,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,gFAAgF;AAChF,aAAa;AACb,gFAAgF;AAEhF;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,IAAI,KAAK,GAAG,IAAI;QAAE,OAAO,GAAG,KAAK,GAAG,CAAC;IACrC,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACjE,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* File Discovery Utilities
|
|
3
|
+
*
|
|
4
|
+
* Centralized logic for finding entry points and index files in Lua agent projects.
|
|
5
|
+
* Used by source-writer and agent-traverser.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Find the entry point file for a Lua agent project.
|
|
9
|
+
*
|
|
10
|
+
* Searches in priority order:
|
|
11
|
+
* 1. index.ts (root)
|
|
12
|
+
* 2. src/index.ts
|
|
13
|
+
* 3. agent.ts (root)
|
|
14
|
+
* 4. src/agent.ts
|
|
15
|
+
* 5. main.ts (root)
|
|
16
|
+
* 6. src/main.ts
|
|
17
|
+
*
|
|
18
|
+
* @param projectDir - Project directory to search (defaults to cwd)
|
|
19
|
+
* @returns Absolute path to entry point, or null if not found
|
|
20
|
+
*/
|
|
21
|
+
export declare function findEntryPoint(projectDir?: string): string | null;
|
|
22
|
+
/**
|
|
23
|
+
* Find the index file for a Lua agent project.
|
|
24
|
+
* Same as findEntryPoint but throws if not found.
|
|
25
|
+
*
|
|
26
|
+
* @param projectDir - Project directory to search (defaults to cwd)
|
|
27
|
+
* @returns Absolute path to entry point
|
|
28
|
+
* @throws Error if no entry point found
|
|
29
|
+
*/
|
|
30
|
+
export declare function findIndexFile(projectDir?: string): string;
|
|
31
|
+
/**
|
|
32
|
+
* Get the list of priority entry point paths (for documentation/debugging).
|
|
33
|
+
*/
|
|
34
|
+
export declare function getEntryPointPriority(): readonly string[];
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* File Discovery Utilities
|
|
3
|
+
*
|
|
4
|
+
* Centralized logic for finding entry points and index files in Lua agent projects.
|
|
5
|
+
* Used by source-writer and agent-traverser.
|
|
6
|
+
*/
|
|
7
|
+
import path from 'path';
|
|
8
|
+
import fs from 'fs';
|
|
9
|
+
/**
|
|
10
|
+
* Priority order for finding entry point files.
|
|
11
|
+
* Common conventions for where agents define their LuaAgent.
|
|
12
|
+
*/
|
|
13
|
+
const ENTRY_POINT_PRIORITY = [
|
|
14
|
+
'index.ts',
|
|
15
|
+
'src/index.ts',
|
|
16
|
+
'agent.ts',
|
|
17
|
+
'src/agent.ts',
|
|
18
|
+
'main.ts',
|
|
19
|
+
'src/main.ts',
|
|
20
|
+
];
|
|
21
|
+
/**
|
|
22
|
+
* Find the entry point file for a Lua agent project.
|
|
23
|
+
*
|
|
24
|
+
* Searches in priority order:
|
|
25
|
+
* 1. index.ts (root)
|
|
26
|
+
* 2. src/index.ts
|
|
27
|
+
* 3. agent.ts (root)
|
|
28
|
+
* 4. src/agent.ts
|
|
29
|
+
* 5. main.ts (root)
|
|
30
|
+
* 6. src/main.ts
|
|
31
|
+
*
|
|
32
|
+
* @param projectDir - Project directory to search (defaults to cwd)
|
|
33
|
+
* @returns Absolute path to entry point, or null if not found
|
|
34
|
+
*/
|
|
35
|
+
export function findEntryPoint(projectDir) {
|
|
36
|
+
const baseDir = projectDir || process.cwd();
|
|
37
|
+
for (const relativePath of ENTRY_POINT_PRIORITY) {
|
|
38
|
+
const fullPath = path.join(baseDir, relativePath);
|
|
39
|
+
if (fs.existsSync(fullPath)) {
|
|
40
|
+
return fullPath;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Find the index file for a Lua agent project.
|
|
47
|
+
* Same as findEntryPoint but throws if not found.
|
|
48
|
+
*
|
|
49
|
+
* @param projectDir - Project directory to search (defaults to cwd)
|
|
50
|
+
* @returns Absolute path to entry point
|
|
51
|
+
* @throws Error if no entry point found
|
|
52
|
+
*/
|
|
53
|
+
export function findIndexFile(projectDir) {
|
|
54
|
+
const entryPoint = findEntryPoint(projectDir);
|
|
55
|
+
if (!entryPoint) {
|
|
56
|
+
const baseDir = projectDir || process.cwd();
|
|
57
|
+
throw new Error(`No entry point found in ${baseDir}. ` +
|
|
58
|
+
`Expected one of: ${ENTRY_POINT_PRIORITY.join(', ')}`);
|
|
59
|
+
}
|
|
60
|
+
return entryPoint;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Get the list of priority entry point paths (for documentation/debugging).
|
|
64
|
+
*/
|
|
65
|
+
export function getEntryPointPriority() {
|
|
66
|
+
return ENTRY_POINT_PRIORITY;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=file-discovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-discovery.js","sourceRoot":"","sources":["../../../src/compiler/utils/file-discovery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB;;;GAGG;AACH,MAAM,oBAAoB,GAAG;IAC3B,UAAU;IACV,cAAc;IACd,UAAU;IACV,cAAc;IACd,SAAS;IACT,aAAa;CACd,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAAC,UAAmB;IAChD,MAAM,OAAO,GAAG,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAE5C,KAAK,MAAM,YAAY,IAAI,oBAAoB,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAClD,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,UAAmB;IAC/C,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IAE9C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CACb,2BAA2B,OAAO,IAAI;YACtC,oBAAoB,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtD,CAAC;IACJ,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,oBAAoB,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Path Resolver Utilities
|
|
3
|
+
*
|
|
4
|
+
* Resolves TypeScript path aliases (e.g., @/, ~/) from tsconfig.json.
|
|
5
|
+
* Enables the compiler to follow imports that use path aliases.
|
|
6
|
+
*/
|
|
7
|
+
interface PathMappings {
|
|
8
|
+
baseUrl: string;
|
|
9
|
+
paths: Record<string, string[]>;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Reads TypeScript path alias mappings from tsconfig.json.
|
|
13
|
+
* Results are cached for the process lifetime.
|
|
14
|
+
*
|
|
15
|
+
* @returns Path mappings or null if no paths configured
|
|
16
|
+
*/
|
|
17
|
+
export declare function getTsConfigPathMappings(): PathMappings | null;
|
|
18
|
+
/**
|
|
19
|
+
* Resolves a path alias to an absolute path using tsconfig.json mappings.
|
|
20
|
+
*
|
|
21
|
+
* @param specifier - The import specifier (e.g., '@/tools/MyTool')
|
|
22
|
+
* @returns Resolved absolute path or null if no alias matched
|
|
23
|
+
*/
|
|
24
|
+
export declare function resolvePathAlias(specifier: string): string | null;
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Path Resolver Utilities
|
|
3
|
+
*
|
|
4
|
+
* Resolves TypeScript path aliases (e.g., @/, ~/) from tsconfig.json.
|
|
5
|
+
* Enables the compiler to follow imports that use path aliases.
|
|
6
|
+
*/
|
|
7
|
+
import * as fs from 'fs';
|
|
8
|
+
import * as path from 'path';
|
|
9
|
+
let cachedMappings;
|
|
10
|
+
/**
|
|
11
|
+
* Reads TypeScript path alias mappings from tsconfig.json.
|
|
12
|
+
* Results are cached for the process lifetime.
|
|
13
|
+
*
|
|
14
|
+
* @returns Path mappings or null if no paths configured
|
|
15
|
+
*/
|
|
16
|
+
export function getTsConfigPathMappings() {
|
|
17
|
+
if (cachedMappings !== undefined)
|
|
18
|
+
return cachedMappings;
|
|
19
|
+
const tsconfigPath = path.join(process.cwd(), 'tsconfig.json');
|
|
20
|
+
if (!fs.existsSync(tsconfigPath)) {
|
|
21
|
+
cachedMappings = null;
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
try {
|
|
25
|
+
const tsconfigContent = fs.readFileSync(tsconfigPath, 'utf-8');
|
|
26
|
+
const tsconfig = JSON.parse(tsconfigContent);
|
|
27
|
+
const compilerOptions = tsconfig.compilerOptions || {};
|
|
28
|
+
if (compilerOptions.paths) {
|
|
29
|
+
cachedMappings = {
|
|
30
|
+
baseUrl: compilerOptions.baseUrl || '.',
|
|
31
|
+
paths: compilerOptions.paths,
|
|
32
|
+
};
|
|
33
|
+
return cachedMappings;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
// Ignore parsing errors
|
|
38
|
+
}
|
|
39
|
+
cachedMappings = null;
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Resolves a path alias to an absolute path using tsconfig.json mappings.
|
|
44
|
+
*
|
|
45
|
+
* @param specifier - The import specifier (e.g., '@/tools/MyTool')
|
|
46
|
+
* @returns Resolved absolute path or null if no alias matched
|
|
47
|
+
*/
|
|
48
|
+
export function resolvePathAlias(specifier) {
|
|
49
|
+
const mappings = getTsConfigPathMappings();
|
|
50
|
+
if (!mappings)
|
|
51
|
+
return null;
|
|
52
|
+
// Sort patterns by specificity (longest first) to match TypeScript's behavior
|
|
53
|
+
const sortedPatterns = Object.entries(mappings.paths).sort(([a], [b]) => b.length - a.length);
|
|
54
|
+
for (const [pattern, targets] of sortedPatterns) {
|
|
55
|
+
// Convert TypeScript path pattern to regex (e.g., "@/*" -> /^@\/(.*)$/)
|
|
56
|
+
const patternRegex = new RegExp('^' + pattern.replace(/\*/g, '(.*)').replace(/\//g, '\\/') + '$');
|
|
57
|
+
const match = specifier.match(patternRegex);
|
|
58
|
+
if (match) {
|
|
59
|
+
const captured = match[1] || '';
|
|
60
|
+
const targetPath = targets[0].replace('*', captured);
|
|
61
|
+
return path.join(process.cwd(), mappings.baseUrl, targetPath);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=path-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-resolver.js","sourceRoot":"","sources":["../../../src/compiler/utils/path-resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAO7B,IAAI,cAA+C,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB;IACrC,IAAI,cAAc,KAAK,SAAS;QAAE,OAAO,cAAc,CAAC;IAExD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC,CAAC;IAE/D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,cAAc,GAAG,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC7C,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAC;QAEvD,IAAI,eAAe,CAAC,KAAK,EAAE,CAAC;YAC1B,cAAc,GAAG;gBACf,OAAO,EAAE,eAAe,CAAC,OAAO,IAAI,GAAG;gBACvC,KAAK,EAAE,eAAe,CAAC,KAAK;aAC7B,CAAC;YACF,OAAO,cAAc,CAAC;QACxB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,wBAAwB;IAC1B,CAAC;IAED,cAAc,GAAG,IAAI,CAAC;IACtB,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,MAAM,QAAQ,GAAG,uBAAuB,EAAE,CAAC;IAC3C,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,8EAA8E;IAC9E,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CACxD,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAClC,CAAC;IAEF,KAAK,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,cAAc,EAAE,CAAC;QAChD,wEAAwE;QACxE,MAAM,YAAY,GAAG,IAAI,MAAM,CAC7B,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,GAAG,CACjE,CAAC;QAEF,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5C,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zod schema to JSON Schema converter.
|
|
3
|
+
*
|
|
4
|
+
* Uses ts-evaluator to evaluate Zod schema AST nodes at compile time,
|
|
5
|
+
* automatically resolving imports, variables, and expressions.
|
|
6
|
+
*/
|
|
7
|
+
import { Node } from 'ts-morph';
|
|
8
|
+
import type { JSONSchema } from '../types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Convert a Zod schema AST node to JSON Schema.
|
|
11
|
+
*
|
|
12
|
+
* Uses ts-evaluator for proper AST evaluation — resolves all variable
|
|
13
|
+
* references, imports, and expressions automatically.
|
|
14
|
+
*
|
|
15
|
+
* @param schemaNode - The ts-morph node containing the Zod schema
|
|
16
|
+
* @returns JSON Schema object
|
|
17
|
+
*/
|
|
18
|
+
export declare function zodToJsonSchema(schemaNode: Node): Promise<JSONSchema>;
|
|
19
|
+
/**
|
|
20
|
+
* Convert a Zod schema string to JSON Schema.
|
|
21
|
+
* Fallback for when only a string representation is available (no AST node).
|
|
22
|
+
*
|
|
23
|
+
* @param zodSchemaCode - String representation of Zod schema
|
|
24
|
+
* @returns JSON Schema object
|
|
25
|
+
*/
|
|
26
|
+
export declare function zodStringToJsonSchema(zodSchemaCode: string): Promise<JSONSchema>;
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zod schema to JSON Schema converter.
|
|
3
|
+
*
|
|
4
|
+
* Uses ts-evaluator to evaluate Zod schema AST nodes at compile time,
|
|
5
|
+
* automatically resolving imports, variables, and expressions.
|
|
6
|
+
*/
|
|
7
|
+
import ts from 'typescript';
|
|
8
|
+
import { evaluate } from 'ts-evaluator';
|
|
9
|
+
/**
|
|
10
|
+
* Convert a Zod schema AST node to JSON Schema.
|
|
11
|
+
*
|
|
12
|
+
* Uses ts-evaluator for proper AST evaluation — resolves all variable
|
|
13
|
+
* references, imports, and expressions automatically.
|
|
14
|
+
*
|
|
15
|
+
* @param schemaNode - The ts-morph node containing the Zod schema
|
|
16
|
+
* @returns JSON Schema object
|
|
17
|
+
*/
|
|
18
|
+
export async function zodToJsonSchema(schemaNode) {
|
|
19
|
+
const { z } = await import('zod');
|
|
20
|
+
const { zodToJsonSchema: convertSchema } = await import('zod-to-json-schema');
|
|
21
|
+
try {
|
|
22
|
+
const sourceFile = schemaNode.getSourceFile();
|
|
23
|
+
const project = sourceFile.getProject();
|
|
24
|
+
const tsNode = schemaNode.compilerNode;
|
|
25
|
+
const typeChecker = project.getTypeChecker().compilerObject;
|
|
26
|
+
const result = evaluate({
|
|
27
|
+
node: tsNode,
|
|
28
|
+
typeChecker,
|
|
29
|
+
typescript: ts,
|
|
30
|
+
environment: {
|
|
31
|
+
preset: 'NODE',
|
|
32
|
+
extra: { z },
|
|
33
|
+
},
|
|
34
|
+
policy: {
|
|
35
|
+
deterministic: false,
|
|
36
|
+
network: false,
|
|
37
|
+
console: false,
|
|
38
|
+
io: { read: true, write: false },
|
|
39
|
+
process: { exit: false, spawnChild: false },
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
if (!result.success) {
|
|
43
|
+
throw new Error(result.reason?.message || 'Failed to evaluate schema');
|
|
44
|
+
}
|
|
45
|
+
const zodSchema = result.value;
|
|
46
|
+
if (!zodSchema || typeof zodSchema !== 'object') {
|
|
47
|
+
return { type: 'object' };
|
|
48
|
+
}
|
|
49
|
+
// zod-to-json-schema returns its own JsonSchema7 type, cast for compatibility
|
|
50
|
+
const jsonSchema = convertSchema(zodSchema, { target: 'jsonSchema7' });
|
|
51
|
+
return cleanJsonSchema(jsonSchema);
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
console.warn(`Warning: Could not convert Zod schema:`, error?.message || error);
|
|
55
|
+
return { type: 'object' };
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Clean up JSON Schema by removing unnecessary properties.
|
|
60
|
+
*/
|
|
61
|
+
function cleanJsonSchema(schema) {
|
|
62
|
+
// Remove top-level metadata we don't need
|
|
63
|
+
const { $schema, title, definitions, $ref, ...cleanSchema } = schema;
|
|
64
|
+
// If there's a $ref to definitions, inline it
|
|
65
|
+
if ($ref && definitions) {
|
|
66
|
+
const refName = $ref.replace('#/definitions/', '');
|
|
67
|
+
if (definitions[refName]) {
|
|
68
|
+
return cleanJsonSchema(definitions[refName]);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return cleanSchema;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Convert a Zod schema string to JSON Schema.
|
|
75
|
+
* Fallback for when only a string representation is available (no AST node).
|
|
76
|
+
*
|
|
77
|
+
* @param zodSchemaCode - String representation of Zod schema
|
|
78
|
+
* @returns JSON Schema object
|
|
79
|
+
*/
|
|
80
|
+
export async function zodStringToJsonSchema(zodSchemaCode) {
|
|
81
|
+
try {
|
|
82
|
+
const { z } = await import('zod');
|
|
83
|
+
const { zodToJsonSchema: convertSchema } = await import('zod-to-json-schema');
|
|
84
|
+
const evalFunction = new Function('z', `return ${zodSchemaCode}`);
|
|
85
|
+
const zodSchema = evalFunction(z);
|
|
86
|
+
const jsonSchema = convertSchema(zodSchema, { target: 'jsonSchema7' });
|
|
87
|
+
return cleanJsonSchema(jsonSchema);
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
console.warn(`Warning: Could not evaluate Zod schema string:`, error?.message || error);
|
|
91
|
+
return { type: 'object' };
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=schema-converter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-converter.js","sourceRoot":"","sources":["../../../src/compiler/utils/schema-converter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Constants for the compile command
|
|
3
3
|
*/
|
|
4
|
-
import { BuildOptions } from "esbuild";
|
|
5
4
|
/**
|
|
6
5
|
* Directory names used during compilation
|
|
7
6
|
*/
|
|
8
7
|
export declare const COMPILE_DIRS: {
|
|
9
8
|
readonly DIST: "dist";
|
|
9
|
+
readonly DIST_V2: "dist-v2";
|
|
10
10
|
readonly LUA: ".lua";
|
|
11
11
|
readonly TOOLS: "tools";
|
|
12
12
|
};
|
|
@@ -16,6 +16,7 @@ export declare const COMPILE_DIRS: {
|
|
|
16
16
|
export declare const COMPILE_FILES: {
|
|
17
17
|
readonly DEPLOYMENT_JSON: "deployment.json";
|
|
18
18
|
readonly DEPLOY_JSON: "deploy.json";
|
|
19
|
+
readonly MANIFEST_JSON: "manifest.json";
|
|
19
20
|
readonly INDEX_TS: "index.ts";
|
|
20
21
|
readonly INDEX_JS: "index.js";
|
|
21
22
|
readonly PACKAGE_JSON: "package.json";
|
|
@@ -31,27 +32,6 @@ export declare const SKILL_DEFAULTS: {
|
|
|
31
32
|
readonly DESCRIPTION: "";
|
|
32
33
|
readonly CONTEXT: "";
|
|
33
34
|
};
|
|
34
|
-
/**
|
|
35
|
-
* External packages that should not be bundled with tools
|
|
36
|
-
* These are native modules, or modules that should be provided by the runtime environment
|
|
37
|
-
* Note: lua-cli is NOT in this list because it's handled by the sandboxGlobalsPlugin
|
|
38
|
-
* which transforms imports to use sandbox globals instead
|
|
39
|
-
*/
|
|
40
|
-
export declare const EXTERNAL_PACKAGES: readonly ["zod", "keytar", "esbuild", "commander", "inquirer", "node-fetch", "ws", "socket.io-client", "ts-morph"];
|
|
41
|
-
/**
|
|
42
|
-
* Common esbuild configuration for tool bundling
|
|
43
|
-
*/
|
|
44
|
-
export declare const ESBUILD_TOOL_CONFIG: Partial<BuildOptions>;
|
|
45
|
-
/**
|
|
46
|
-
* Common esbuild configuration for main index bundling
|
|
47
|
-
*/
|
|
48
|
-
export declare const ESBUILD_INDEX_CONFIG: Partial<BuildOptions>;
|
|
49
|
-
/**
|
|
50
|
-
* Default input schema for tools without explicit schema
|
|
51
|
-
*/
|
|
52
|
-
export declare const DEFAULT_INPUT_SCHEMA: {
|
|
53
|
-
readonly type: "object";
|
|
54
|
-
};
|
|
55
35
|
/**
|
|
56
36
|
* JSON formatting options
|
|
57
37
|
*/
|