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,223 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Source Writer
|
|
3
|
+
*
|
|
4
|
+
* Utilities for modifying Lua agent source code via AST manipulation.
|
|
5
|
+
* All ts-morph write operations are centralized here.
|
|
6
|
+
*
|
|
7
|
+
* ## Current Implementation
|
|
8
|
+
*
|
|
9
|
+
* Currently only supports updating `LuaAgent` config properties (name, persona)
|
|
10
|
+
* in the entry point file. This covers the main use cases:
|
|
11
|
+
* - `lua init` - setting initial agent config
|
|
12
|
+
* - `lua sync` - syncing agent name/persona from server
|
|
13
|
+
* - `lua persona` - updating persona
|
|
14
|
+
*
|
|
15
|
+
* ## Future Extensibility
|
|
16
|
+
*
|
|
17
|
+
* To support modifying other primitives (skills, jobs, webhooks, etc.),
|
|
18
|
+
* this module could be extended with a generic API like:
|
|
19
|
+
*
|
|
20
|
+
* ```typescript
|
|
21
|
+
* // Generic primitive update
|
|
22
|
+
* updatePrimitiveConfig({
|
|
23
|
+
* kind: 'LuaSkill', // Target class: LuaSkill, LuaJob, LuaWebhook, etc.
|
|
24
|
+
* name: 'my-skill', // Find by name property
|
|
25
|
+
* file: 'src/skills/my.ts', // Or specify file directly
|
|
26
|
+
* updates: {
|
|
27
|
+
* description: 'New desc',
|
|
28
|
+
* context: 'New context',
|
|
29
|
+
* }
|
|
30
|
+
* });
|
|
31
|
+
*
|
|
32
|
+
* // Or batch updates across files
|
|
33
|
+
* updatePrimitivesFromManifest(manifest, serverData);
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* Key considerations for generic implementation:
|
|
37
|
+
* - Support different primitive classes (LuaSkill, LuaJob, LuaWebhook, LuaMCPServer)
|
|
38
|
+
* - Find primitives across multiple files (not just entry point)
|
|
39
|
+
* - Handle different value types (strings, numbers, objects, arrays)
|
|
40
|
+
* - Support adding/removing properties, not just updating
|
|
41
|
+
* - Preserve code formatting and comments where possible
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```typescript
|
|
45
|
+
* // Current API - agent config only
|
|
46
|
+
* updateAgentConfig({ name: 'New Name', persona: 'New persona...' });
|
|
47
|
+
* setAgentName('New Name');
|
|
48
|
+
* setAgentPersona('New persona...');
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
import { Project, Node } from 'ts-morph';
|
|
52
|
+
import fs from 'fs';
|
|
53
|
+
import path from 'path';
|
|
54
|
+
import { findEntryPoint } from './utils/file-discovery.js';
|
|
55
|
+
/**
|
|
56
|
+
* Update string properties in the LuaAgent configuration in source code.
|
|
57
|
+
*
|
|
58
|
+
* This is a generic writer that can update any string properties in
|
|
59
|
+
* the LuaAgent constructor's config object.
|
|
60
|
+
*
|
|
61
|
+
* @param updates - Object with property names and their new values (undefined values are skipped)
|
|
62
|
+
* @param options - Optional configuration
|
|
63
|
+
* @returns true if update succeeded, false otherwise
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```typescript
|
|
67
|
+
* // Update name only
|
|
68
|
+
* updateAgentConfig({ name: 'New Agent Name' });
|
|
69
|
+
*
|
|
70
|
+
* // Update multiple properties
|
|
71
|
+
* updateAgentConfig({
|
|
72
|
+
* name: 'My Agent',
|
|
73
|
+
* persona: 'You are a helpful assistant...'
|
|
74
|
+
* });
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
export function updateAgentConfig(updates, options) {
|
|
78
|
+
// Filter out undefined values
|
|
79
|
+
const filteredUpdates = {};
|
|
80
|
+
for (const [key, value] of Object.entries(updates)) {
|
|
81
|
+
if (value !== undefined) {
|
|
82
|
+
filteredUpdates[key] = value;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
if (Object.keys(filteredUpdates).length === 0) {
|
|
86
|
+
return true; // Nothing to update
|
|
87
|
+
}
|
|
88
|
+
let indexPath;
|
|
89
|
+
try {
|
|
90
|
+
if (options?.indexFile) {
|
|
91
|
+
indexPath = options.indexFile;
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
// Try to find the entry point
|
|
95
|
+
const entryPoint = findEntryPoint(options?.projectDir);
|
|
96
|
+
if (entryPoint) {
|
|
97
|
+
indexPath = entryPoint;
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
// Fallback to src/index.ts
|
|
101
|
+
const baseDir = options?.projectDir || process.cwd();
|
|
102
|
+
indexPath = path.join(baseDir, 'src', 'index.ts');
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
// Fallback to src/index.ts if discovery fails
|
|
108
|
+
const baseDir = options?.projectDir || process.cwd();
|
|
109
|
+
indexPath = path.join(baseDir, 'src', 'index.ts');
|
|
110
|
+
}
|
|
111
|
+
if (!fs.existsSync(indexPath)) {
|
|
112
|
+
console.warn(`Warning: Entry file not found at ${indexPath}`);
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
try {
|
|
116
|
+
const project = new Project({ skipAddingFilesFromTsConfig: true });
|
|
117
|
+
const sourceFile = project.addSourceFileAtPath(indexPath);
|
|
118
|
+
let updated = false;
|
|
119
|
+
sourceFile.forEachDescendant((node) => {
|
|
120
|
+
if (Node.isNewExpression(node) && node.getExpression().getText() === 'LuaAgent') {
|
|
121
|
+
const args = node.getArguments();
|
|
122
|
+
if (args.length > 0 && Node.isObjectLiteralExpression(args[0])) {
|
|
123
|
+
const configObj = args[0];
|
|
124
|
+
configObj.getProperties().forEach((prop) => {
|
|
125
|
+
if (Node.isPropertyAssignment(prop)) {
|
|
126
|
+
const propName = prop.getName();
|
|
127
|
+
if (Object.prototype.hasOwnProperty.call(filteredUpdates, propName)) {
|
|
128
|
+
const newValue = filteredUpdates[propName];
|
|
129
|
+
const init = prop.getInitializer();
|
|
130
|
+
if (init) {
|
|
131
|
+
const formattedValue = formatValueForProperty(propName, newValue);
|
|
132
|
+
init.replaceWithText(formattedValue);
|
|
133
|
+
updated = true;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
if (updated) {
|
|
142
|
+
sourceFile.saveSync();
|
|
143
|
+
}
|
|
144
|
+
return true;
|
|
145
|
+
}
|
|
146
|
+
catch (error) {
|
|
147
|
+
console.warn('Warning: Could not update agent config in source:', error);
|
|
148
|
+
return false;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Set the agent name in source code.
|
|
153
|
+
*
|
|
154
|
+
* @param name - New agent name
|
|
155
|
+
* @param options - Optional configuration
|
|
156
|
+
* @returns true if update succeeded, false otherwise
|
|
157
|
+
*/
|
|
158
|
+
export function setAgentName(name, options) {
|
|
159
|
+
return updateAgentConfig({ name }, options);
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Set the agent persona in source code.
|
|
163
|
+
*
|
|
164
|
+
* @param persona - New agent persona
|
|
165
|
+
* @param options - Optional configuration
|
|
166
|
+
* @returns true if update succeeded, false otherwise
|
|
167
|
+
*/
|
|
168
|
+
export function setAgentPersona(persona, options) {
|
|
169
|
+
return updateAgentConfig({ persona }, options);
|
|
170
|
+
}
|
|
171
|
+
// =============================================================================
|
|
172
|
+
// FUTURE: GENERIC PRIMITIVE UPDATE TYPES
|
|
173
|
+
// =============================================================================
|
|
174
|
+
//
|
|
175
|
+
// When extending to support other primitives, consider these types:
|
|
176
|
+
//
|
|
177
|
+
// type PrimitiveClassName = 'LuaAgent' | 'LuaSkill' | 'LuaJob' | 'LuaWebhook' | 'LuaMCPServer' | 'PreProcessor' | 'PostProcessor';
|
|
178
|
+
//
|
|
179
|
+
// interface UpdatePrimitiveOptions {
|
|
180
|
+
// /** Target class name to find */
|
|
181
|
+
// kind: PrimitiveClassName;
|
|
182
|
+
// /** Find primitive by name (searches for name property match) */
|
|
183
|
+
// name?: string;
|
|
184
|
+
// /** Or specify exact file path */
|
|
185
|
+
// file?: string;
|
|
186
|
+
// /** Properties to update */
|
|
187
|
+
// updates: Record<string, unknown>;
|
|
188
|
+
// /** Project directory */
|
|
189
|
+
// projectDir?: string;
|
|
190
|
+
// }
|
|
191
|
+
//
|
|
192
|
+
// Key implementation notes:
|
|
193
|
+
// - Use compiler's existing file discovery to find primitive source files
|
|
194
|
+
// - Leverage manifest to map primitive names to source paths
|
|
195
|
+
// - Handle class-based and object-based patterns (new LuaSkill({...}) vs const skill: LuaSkill = {...})
|
|
196
|
+
// - Consider using ts-morph's manipulation API for safer edits
|
|
197
|
+
// =============================================================================
|
|
198
|
+
// =============================================================================
|
|
199
|
+
// INTERNAL HELPERS
|
|
200
|
+
// =============================================================================
|
|
201
|
+
/**
|
|
202
|
+
* Format a value for insertion into source code.
|
|
203
|
+
* Uses appropriate quoting based on property type.
|
|
204
|
+
*
|
|
205
|
+
* TODO: For generic primitive support, extend to handle:
|
|
206
|
+
* - Numbers (no quotes)
|
|
207
|
+
* - Objects (JSON.stringify with formatting)
|
|
208
|
+
* - Arrays (preserve or format)
|
|
209
|
+
* - References (variable names, imports)
|
|
210
|
+
*/
|
|
211
|
+
function formatValueForProperty(propertyName, value) {
|
|
212
|
+
// Properties that typically use template literals (multiline strings)
|
|
213
|
+
const templateLiteralProperties = ['persona', 'description', 'context', 'systemPrompt'];
|
|
214
|
+
if (templateLiteralProperties.includes(propertyName)) {
|
|
215
|
+
// Use template literal for multiline strings
|
|
216
|
+
const escaped = value.replace(/`/g, '\\`').replace(/\$\{/g, '\\${');
|
|
217
|
+
return `\`${escaped}\``;
|
|
218
|
+
}
|
|
219
|
+
// Use single quotes for simple strings
|
|
220
|
+
const escaped = value.replace(/'/g, "\\'");
|
|
221
|
+
return `'${escaped}'`;
|
|
222
|
+
}
|
|
223
|
+
//# sourceMappingURL=source-writer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-writer.js","sourceRoot":"","sources":["../../src/compiler/source-writer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compilation Types
|
|
3
|
+
*
|
|
4
|
+
* All types related to the compilation process, plugins, and output manifest.
|
|
5
|
+
* Uses discriminated unions for type-safe primitive handling.
|
|
6
|
+
*/
|
|
7
|
+
export interface CompilerOptions {
|
|
8
|
+
/** Root directory of the project */
|
|
9
|
+
rootDir: string;
|
|
10
|
+
/** Output directory for artifacts */
|
|
11
|
+
outDir: string;
|
|
12
|
+
/** Enable source maps */
|
|
13
|
+
sourceMaps?: boolean;
|
|
14
|
+
/** Minify output */
|
|
15
|
+
minify?: boolean;
|
|
16
|
+
/** Enable debug mode (extra verbose logging, preserve temps) */
|
|
17
|
+
debug?: boolean;
|
|
18
|
+
/** Enable verbose output (show each primitive as it compiles) */
|
|
19
|
+
verbose?: boolean;
|
|
20
|
+
/** Skip validation warnings (still show errors) */
|
|
21
|
+
quietWarnings?: boolean;
|
|
22
|
+
/** Add runtime validation wrapper to artifacts (default: true) */
|
|
23
|
+
runtimeValidation?: boolean;
|
|
24
|
+
}
|
|
25
|
+
export interface CompilationResult {
|
|
26
|
+
success: boolean;
|
|
27
|
+
manifest: CompilationManifest;
|
|
28
|
+
errors: CompilationError[];
|
|
29
|
+
warnings: CompilationWarning[];
|
|
30
|
+
stats: CompilationStats;
|
|
31
|
+
}
|
|
32
|
+
/** Base for compilation messages (errors and warnings) */
|
|
33
|
+
interface CompilationMessageBase {
|
|
34
|
+
primitive?: string;
|
|
35
|
+
kind?: string;
|
|
36
|
+
file: string;
|
|
37
|
+
line?: number;
|
|
38
|
+
message: string;
|
|
39
|
+
}
|
|
40
|
+
export interface CompilationError extends CompilationMessageBase {
|
|
41
|
+
column?: number;
|
|
42
|
+
suggestion?: string;
|
|
43
|
+
}
|
|
44
|
+
export interface CompilationWarning extends CompilationMessageBase {
|
|
45
|
+
}
|
|
46
|
+
export interface CompilationStats {
|
|
47
|
+
totalPrimitives: number;
|
|
48
|
+
byKind: Record<string, number>;
|
|
49
|
+
totalSize: number;
|
|
50
|
+
duration: number;
|
|
51
|
+
}
|
|
52
|
+
/** Core identity fields shared by all primitive representations */
|
|
53
|
+
interface PrimitiveIdentity {
|
|
54
|
+
/** Primitive type (tool, job, webhook, etc.) */
|
|
55
|
+
kind: string;
|
|
56
|
+
/** Name from the definition */
|
|
57
|
+
name: string;
|
|
58
|
+
/** Description from the definition */
|
|
59
|
+
description: string;
|
|
60
|
+
/** Path to the source file */
|
|
61
|
+
sourcePath: string;
|
|
62
|
+
}
|
|
63
|
+
/** Pattern for class-based or function-based definitions */
|
|
64
|
+
export type DefinitionPattern = 'class' | 'function';
|
|
65
|
+
/** Base metadata fields that all primitives share */
|
|
66
|
+
export interface BaseMetadataFields {
|
|
67
|
+
pattern?: string;
|
|
68
|
+
}
|
|
69
|
+
/** Common fields extracted by extractCommonFields() helper (excludes 'kind' which plugins add) */
|
|
70
|
+
export interface CommonExtractedFields extends Omit<PrimitiveIdentity, 'kind'> {
|
|
71
|
+
exportName: string;
|
|
72
|
+
isDefaultExport: boolean;
|
|
73
|
+
line: number;
|
|
74
|
+
column: number;
|
|
75
|
+
}
|
|
76
|
+
/** Metadata extracted from source code during scanning */
|
|
77
|
+
export interface PrimitiveMetadata<T extends BaseMetadataFields = BaseMetadataFields> extends PrimitiveIdentity {
|
|
78
|
+
/** The export name in the source file (or 'default' for default exports) */
|
|
79
|
+
exportName: string;
|
|
80
|
+
/** Whether this primitive uses `export default` syntax */
|
|
81
|
+
isDefaultExport: boolean;
|
|
82
|
+
/** Line number in source (for error messages) */
|
|
83
|
+
line?: number;
|
|
84
|
+
/** Column number in source */
|
|
85
|
+
column?: number;
|
|
86
|
+
/** Type-specific metadata (typed per plugin) */
|
|
87
|
+
metadata: T;
|
|
88
|
+
}
|
|
89
|
+
export interface ToolMetadataFields extends BaseMetadataFields {
|
|
90
|
+
pattern: DefinitionPattern;
|
|
91
|
+
className?: string;
|
|
92
|
+
hasInputSchema: boolean;
|
|
93
|
+
hasCondition?: boolean;
|
|
94
|
+
hasExecute?: boolean;
|
|
95
|
+
}
|
|
96
|
+
export interface SkillMetadataFields extends BaseMetadataFields {
|
|
97
|
+
pattern: DefinitionPattern;
|
|
98
|
+
toolRefs: string[];
|
|
99
|
+
context?: string;
|
|
100
|
+
}
|
|
101
|
+
export interface JobMetadataFields extends BaseMetadataFields {
|
|
102
|
+
pattern: DefinitionPattern;
|
|
103
|
+
scheduleType?: string;
|
|
104
|
+
scheduleExpression?: string;
|
|
105
|
+
hasExecute?: boolean;
|
|
106
|
+
hasTimeout?: boolean;
|
|
107
|
+
hasRetry?: boolean;
|
|
108
|
+
timeoutValue?: number;
|
|
109
|
+
retryConfig?: {
|
|
110
|
+
maxAttempts?: number;
|
|
111
|
+
backoffSeconds?: number;
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
export interface WebhookMetadataFields extends BaseMetadataFields {
|
|
115
|
+
pattern: DefinitionPattern;
|
|
116
|
+
hasExecute?: boolean;
|
|
117
|
+
hasQuerySchema?: boolean;
|
|
118
|
+
hasHeaderSchema?: boolean;
|
|
119
|
+
hasBodySchema?: boolean;
|
|
120
|
+
}
|
|
121
|
+
/** Shared metadata for pre/post processors */
|
|
122
|
+
export interface ProcessorMetadataFields extends BaseMetadataFields {
|
|
123
|
+
pattern: DefinitionPattern;
|
|
124
|
+
hasExecute?: boolean;
|
|
125
|
+
isAsync?: boolean;
|
|
126
|
+
}
|
|
127
|
+
export type PreProcessorMetadataFields = ProcessorMetadataFields;
|
|
128
|
+
export type PostProcessorMetadataFields = ProcessorMetadataFields;
|
|
129
|
+
export interface MCPServerMetadataFields extends BaseMetadataFields {
|
|
130
|
+
transport: 'stdio' | 'sse' | 'streamable-http';
|
|
131
|
+
url?: string;
|
|
132
|
+
hasUrlResolver?: boolean;
|
|
133
|
+
hasHeadersResolver?: boolean;
|
|
134
|
+
urlResolverSource?: string;
|
|
135
|
+
headersResolverSource?: string;
|
|
136
|
+
command?: string;
|
|
137
|
+
args?: string[];
|
|
138
|
+
env?: Record<string, string>;
|
|
139
|
+
config?: Record<string, unknown>;
|
|
140
|
+
}
|
|
141
|
+
export type ToolMetadata = PrimitiveMetadata<ToolMetadataFields>;
|
|
142
|
+
export type SkillMetadata = PrimitiveMetadata<SkillMetadataFields>;
|
|
143
|
+
export type JobMetadata = PrimitiveMetadata<JobMetadataFields>;
|
|
144
|
+
export type WebhookMetadata = PrimitiveMetadata<WebhookMetadataFields>;
|
|
145
|
+
export type PreProcessorMetadata = PrimitiveMetadata<PreProcessorMetadataFields>;
|
|
146
|
+
export type PostProcessorMetadata = PrimitiveMetadata<PostProcessorMetadataFields>;
|
|
147
|
+
export type MCPServerMetadata = PrimitiveMetadata<MCPServerMetadataFields>;
|
|
148
|
+
export interface ValidationResult {
|
|
149
|
+
valid: boolean;
|
|
150
|
+
errors: ValidationMessage[];
|
|
151
|
+
warnings: ValidationMessage[];
|
|
152
|
+
}
|
|
153
|
+
export interface ValidationMessage {
|
|
154
|
+
message: string;
|
|
155
|
+
line?: number;
|
|
156
|
+
column?: number;
|
|
157
|
+
suggestion?: string;
|
|
158
|
+
docsUrl?: string;
|
|
159
|
+
}
|
|
160
|
+
export interface JSONSchema {
|
|
161
|
+
type?: string | string[];
|
|
162
|
+
properties?: Record<string, JSONSchema>;
|
|
163
|
+
required?: string[];
|
|
164
|
+
items?: JSONSchema;
|
|
165
|
+
enum?: unknown[];
|
|
166
|
+
const?: unknown;
|
|
167
|
+
description?: string;
|
|
168
|
+
default?: unknown;
|
|
169
|
+
minimum?: number;
|
|
170
|
+
maximum?: number;
|
|
171
|
+
minLength?: number;
|
|
172
|
+
maxLength?: number;
|
|
173
|
+
pattern?: string;
|
|
174
|
+
format?: string;
|
|
175
|
+
additionalProperties?: boolean | JSONSchema;
|
|
176
|
+
oneOf?: JSONSchema[];
|
|
177
|
+
anyOf?: JSONSchema[];
|
|
178
|
+
allOf?: JSONSchema[];
|
|
179
|
+
$ref?: string;
|
|
180
|
+
}
|
|
181
|
+
export interface SchemaSet {
|
|
182
|
+
input?: JSONSchema;
|
|
183
|
+
output?: JSONSchema;
|
|
184
|
+
query?: JSONSchema;
|
|
185
|
+
headers?: JSONSchema;
|
|
186
|
+
body?: JSONSchema;
|
|
187
|
+
[key: string]: JSONSchema | undefined;
|
|
188
|
+
}
|
|
189
|
+
export interface BundledArtifact {
|
|
190
|
+
code: string;
|
|
191
|
+
sourceMap: string;
|
|
192
|
+
originalSource: string;
|
|
193
|
+
size: number;
|
|
194
|
+
hash: string;
|
|
195
|
+
}
|
|
196
|
+
export interface CompiledPrimitive extends PrimitiveIdentity {
|
|
197
|
+
artifact: BundledArtifact;
|
|
198
|
+
schemas?: SchemaSet;
|
|
199
|
+
metadata: BaseMetadataFields;
|
|
200
|
+
}
|
|
201
|
+
export interface ProjectFile {
|
|
202
|
+
relativePath: string;
|
|
203
|
+
hash: string;
|
|
204
|
+
size: number;
|
|
205
|
+
type: 'source' | 'config' | 'other';
|
|
206
|
+
}
|
|
207
|
+
export declare enum PrimitiveKind {
|
|
208
|
+
TOOL = "tool",
|
|
209
|
+
SKILL = "skill",
|
|
210
|
+
JOB = "job",
|
|
211
|
+
WEBHOOK = "webhook",
|
|
212
|
+
PREPROCESSOR = "preprocessor",
|
|
213
|
+
POSTPROCESSOR = "postprocessor",
|
|
214
|
+
MCP_SERVER = "mcp-server"
|
|
215
|
+
}
|
|
216
|
+
interface ManifestPrimitiveBase extends PrimitiveIdentity {
|
|
217
|
+
/** Path to the compiled artifact */
|
|
218
|
+
path: string;
|
|
219
|
+
/** Content hash for cache invalidation */
|
|
220
|
+
hash: string;
|
|
221
|
+
}
|
|
222
|
+
export interface ManifestTool extends ManifestPrimitiveBase {
|
|
223
|
+
kind: PrimitiveKind.TOOL;
|
|
224
|
+
schemas?: {
|
|
225
|
+
input?: JSONSchema;
|
|
226
|
+
output?: JSONSchema;
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
export interface ManifestSkill extends ManifestPrimitiveBase {
|
|
230
|
+
kind: PrimitiveKind.SKILL;
|
|
231
|
+
context?: string;
|
|
232
|
+
tools: string[];
|
|
233
|
+
}
|
|
234
|
+
export interface ManifestJob extends ManifestPrimitiveBase {
|
|
235
|
+
kind: PrimitiveKind.JOB;
|
|
236
|
+
schedule?: {
|
|
237
|
+
type: string;
|
|
238
|
+
expression?: string;
|
|
239
|
+
interval?: string;
|
|
240
|
+
};
|
|
241
|
+
timeout?: number;
|
|
242
|
+
retry?: {
|
|
243
|
+
maxAttempts?: number;
|
|
244
|
+
backoffSeconds?: number;
|
|
245
|
+
};
|
|
246
|
+
metadata?: Record<string, unknown>;
|
|
247
|
+
}
|
|
248
|
+
export interface ManifestWebhook extends ManifestPrimitiveBase {
|
|
249
|
+
kind: PrimitiveKind.WEBHOOK;
|
|
250
|
+
schemas?: {
|
|
251
|
+
query?: JSONSchema;
|
|
252
|
+
headers?: JSONSchema;
|
|
253
|
+
body?: JSONSchema;
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
export interface ManifestPreProcessor extends ManifestPrimitiveBase {
|
|
257
|
+
kind: PrimitiveKind.PREPROCESSOR;
|
|
258
|
+
isAsync?: boolean;
|
|
259
|
+
}
|
|
260
|
+
export interface ManifestPostProcessor extends ManifestPrimitiveBase {
|
|
261
|
+
kind: PrimitiveKind.POSTPROCESSOR;
|
|
262
|
+
}
|
|
263
|
+
export interface ManifestMCPServer extends ManifestPrimitiveBase {
|
|
264
|
+
kind: PrimitiveKind.MCP_SERVER;
|
|
265
|
+
config?: Record<string, unknown>;
|
|
266
|
+
urlResolver?: string;
|
|
267
|
+
headersResolver?: string;
|
|
268
|
+
}
|
|
269
|
+
export type ManifestPrimitive = ManifestTool | ManifestSkill | ManifestJob | ManifestWebhook | ManifestPreProcessor | ManifestPostProcessor | ManifestMCPServer;
|
|
270
|
+
export interface CompilationManifest {
|
|
271
|
+
version: string;
|
|
272
|
+
compiledAt: string;
|
|
273
|
+
agent?: {
|
|
274
|
+
name: string;
|
|
275
|
+
persona: string;
|
|
276
|
+
};
|
|
277
|
+
primitives: ManifestPrimitive[];
|
|
278
|
+
projectFiles: ProjectFile[];
|
|
279
|
+
config: {
|
|
280
|
+
packageJson?: string;
|
|
281
|
+
tsconfigJson?: string;
|
|
282
|
+
luaSkillYaml?: string;
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
export interface ManifestContext {
|
|
286
|
+
agentPrimitives?: PrimitiveMetadata[];
|
|
287
|
+
outDir?: string;
|
|
288
|
+
}
|
|
289
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compilation Types
|
|
3
|
+
*
|
|
4
|
+
* All types related to the compilation process, plugins, and output manifest.
|
|
5
|
+
* Uses discriminated unions for type-safe primitive handling.
|
|
6
|
+
*/
|
|
7
|
+
// =============================================================================
|
|
8
|
+
// MANIFEST PRIMITIVES
|
|
9
|
+
// =============================================================================
|
|
10
|
+
export var PrimitiveKind;
|
|
11
|
+
(function (PrimitiveKind) {
|
|
12
|
+
PrimitiveKind["TOOL"] = "tool";
|
|
13
|
+
PrimitiveKind["SKILL"] = "skill";
|
|
14
|
+
PrimitiveKind["JOB"] = "job";
|
|
15
|
+
PrimitiveKind["WEBHOOK"] = "webhook";
|
|
16
|
+
PrimitiveKind["PREPROCESSOR"] = "preprocessor";
|
|
17
|
+
PrimitiveKind["POSTPROCESSOR"] = "postprocessor";
|
|
18
|
+
PrimitiveKind["MCP_SERVER"] = "mcp-server";
|
|
19
|
+
})(PrimitiveKind || (PrimitiveKind = {}));
|
|
20
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/compiler/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgRH,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF,MAAM,CAAN,IAAY,aAQX;AARD,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,gCAAe,CAAA;IACf,4BAAW,CAAA;IACX,oCAAmB,CAAA;IACnB,8CAA6B,CAAA;IAC7B,gDAA+B,CAAA;IAC/B,0CAAyB,CAAA;AAC3B,CAAC,EARW,aAAa,KAAb,aAAa,QAQxB"}
|
|
@@ -0,0 +1,57 @@
|
|
|
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, ObjectLiteralExpression, SourceFile } from 'ts-morph';
|
|
8
|
+
/**
|
|
9
|
+
* Extract a string value from an object property.
|
|
10
|
+
* Handles string literals and template literals.
|
|
11
|
+
*/
|
|
12
|
+
export declare function extractStringProperty(obj: ObjectLiteralExpression, propertyName: string): string | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* Extract a boolean value from an object property.
|
|
15
|
+
*/
|
|
16
|
+
export declare function extractBooleanProperty(obj: ObjectLiteralExpression, propertyName: string): boolean | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* Extract a number value from an object property.
|
|
19
|
+
*/
|
|
20
|
+
export declare function extractNumberProperty(obj: ObjectLiteralExpression, propertyName: string): number | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Extract an object literal from an object property.
|
|
23
|
+
*/
|
|
24
|
+
export declare function extractObjectProperty(obj: ObjectLiteralExpression, propertyName: string): ObjectLiteralExpression | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* Extract a schema node from an object property.
|
|
27
|
+
* Returns the initializer node which can be evaluated as a Zod schema.
|
|
28
|
+
*/
|
|
29
|
+
export declare function extractSchemaProperty(obj: ObjectLiteralExpression, propertyName: string): Node | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* Check if a property exists on an object literal.
|
|
32
|
+
*/
|
|
33
|
+
export declare function hasProperty(obj: ObjectLiteralExpression, propertyName: string): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Extract all property names from an object literal.
|
|
36
|
+
*/
|
|
37
|
+
export declare function getPropertyNames(obj: ObjectLiteralExpression): string[];
|
|
38
|
+
/**
|
|
39
|
+
* Check if a node is a function (arrow or regular).
|
|
40
|
+
*/
|
|
41
|
+
export declare function isFunction(node: Node | undefined): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Get the text of a function body.
|
|
44
|
+
*/
|
|
45
|
+
export declare function getFunctionBody(node: Node | undefined): string | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* Find the source file path for an imported identifier.
|
|
48
|
+
*
|
|
49
|
+
* Checks both default and named imports for the given identifier name.
|
|
50
|
+
* Falls back to the current source file if not found in imports (for local definitions).
|
|
51
|
+
*
|
|
52
|
+
* @param identifier - The identifier name to find (e.g., 'MyTool', 'searchTool')
|
|
53
|
+
* @param sourceFile - The source file containing the imports
|
|
54
|
+
* @param resolveImportPath - Function to resolve module specifier to absolute path
|
|
55
|
+
* @returns Absolute path to the source file, or sourceFile path for local definitions
|
|
56
|
+
*/
|
|
57
|
+
export declare function findImportSource(identifier: string, sourceFile: SourceFile, resolveImportPath: (specifier: string, fromFile: string) => string | null): string | null;
|