lua-cli 3.5.0-alpha.3 → 3.5.0-alpha.5
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/{common → api}/http.client.js +5 -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 +25 -23
- package/dist/commands/compile.js +101 -402
- 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 +313 -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 +20 -28
- 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 +188 -0
- package/dist/compiler/bundler.js.map +1 -0
- package/dist/compiler/compiler.d.ts +177 -0
- package/dist/compiler/compiler.js +581 -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 +284 -0
- package/dist/compiler/plugins/base.js +343 -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 +96 -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 +157 -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 +30 -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 +35 -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 +27 -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 +225 -0
- package/dist/compiler/plugins/skill.plugin.js.map +1 -0
- package/dist/compiler/plugins/tool.plugin.d.ts +68 -0
- package/dist/compiler/plugins/tool.plugin.js +258 -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 +112 -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 +294 -0
- package/dist/compiler/types.js +27 -0
- package/dist/compiler/types.js.map +1 -0
- package/dist/compiler/utils/ast-helpers.d.ts +69 -0
- package/dist/compiler/utils/ast-helpers.js +184 -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 +145 -0
- package/dist/primitives/base.handler.js +474 -0
- package/dist/primitives/base.handler.js.map +1 -0
- package/dist/primitives/index.d.ts +46 -0
- package/dist/primitives/index.js +68 -0
- package/dist/primitives/index.js.map +1 -0
- package/dist/primitives/job.handler.d.ts +47 -0
- package/dist/primitives/job.handler.js +104 -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 +100 -0
- package/dist/primitives/mcp-server.handler.js.map +1 -0
- package/dist/primitives/postprocessor.handler.d.ts +38 -0
- package/dist/primitives/postprocessor.handler.js +58 -0
- package/dist/primitives/postprocessor.handler.js.map +1 -0
- package/dist/primitives/preprocessor.handler.d.ts +43 -0
- package/dist/primitives/preprocessor.handler.js +72 -0
- package/dist/primitives/preprocessor.handler.js.map +1 -0
- package/dist/primitives/skill.handler.d.ts +46 -0
- package/dist/primitives/skill.handler.js +173 -0
- package/dist/primitives/skill.handler.js.map +1 -0
- package/dist/primitives/types.d.ts +90 -0
- package/dist/primitives/types.js +17 -0
- package/dist/primitives/types.js.map +1 -0
- package/dist/primitives/webhook.handler.d.ts +45 -0
- package/dist/primitives/webhook.handler.js +82 -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 +20 -3
- package/dist/utils/cli.js.map +1 -1
- package/dist/utils/command-utils.d.ts +44 -0
- package/dist/utils/command-utils.js +85 -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 +57 -3
- package/dist/utils/files.js +132 -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/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/package.json +1 -1
- 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 → 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
package/dist/utils/semver.d.ts
CHANGED
|
@@ -25,3 +25,15 @@ export declare function parseVersion(version: string): {
|
|
|
25
25
|
* - 0 if version1 === version2
|
|
26
26
|
*/
|
|
27
27
|
export declare function compareVersions(version1: string, version2: string): number;
|
|
28
|
+
/**
|
|
29
|
+
* Increments the patch version automatically (e.g., 1.0.0 → 1.0.1).
|
|
30
|
+
* Preserves pre-release tag if present.
|
|
31
|
+
*
|
|
32
|
+
* @param version - Current version string (or undefined/null for first version)
|
|
33
|
+
* @returns Incremented version string
|
|
34
|
+
*/
|
|
35
|
+
export declare function incrementPatchVersion(version: string | undefined | null): string;
|
|
36
|
+
/**
|
|
37
|
+
* Returns the higher of two semantic version strings.
|
|
38
|
+
*/
|
|
39
|
+
export declare function maxSemver(a: string, b: string): string;
|
package/dist/utils/semver.js
CHANGED
|
@@ -73,4 +73,27 @@ export function compareVersions(version1, version2) {
|
|
|
73
73
|
}
|
|
74
74
|
return v1.preRelease.localeCompare(v2.preRelease);
|
|
75
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Increments the patch version automatically (e.g., 1.0.0 → 1.0.1).
|
|
78
|
+
* Preserves pre-release tag if present.
|
|
79
|
+
*
|
|
80
|
+
* @param version - Current version string (or undefined/null for first version)
|
|
81
|
+
* @returns Incremented version string
|
|
82
|
+
*/
|
|
83
|
+
export function incrementPatchVersion(version) {
|
|
84
|
+
// Handle undefined/null version - return default starting version
|
|
85
|
+
if (!version) {
|
|
86
|
+
return '0.0.1';
|
|
87
|
+
}
|
|
88
|
+
const parsed = parseVersion(version);
|
|
89
|
+
const newPatch = parsed.patch + 1;
|
|
90
|
+
const preRelease = parsed.preRelease ? `-${parsed.preRelease}` : '';
|
|
91
|
+
return `${parsed.major}.${parsed.minor}.${newPatch}${preRelease}`;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Returns the higher of two semantic version strings.
|
|
95
|
+
*/
|
|
96
|
+
export function maxSemver(a, b) {
|
|
97
|
+
return compareVersions(a, b) >= 0 ? a : b;
|
|
98
|
+
}
|
|
76
99
|
//# sourceMappingURL=semver.js.map
|
package/dist/utils/semver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semver.js","sourceRoot":"","sources":["../../src/utils/semver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"semver.js","sourceRoot":"","sources":["../../src/utils/semver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sync Display — Presentation layer for drift detection.
|
|
3
|
+
* Displays colored diffs, warnings, and comparison output.
|
|
4
|
+
*/
|
|
5
|
+
import type { PersonaDrift } from './sync-fetch.js';
|
|
6
|
+
export declare function showColoredDiff(oldText: string, newText: string, oldLabel?: string, newLabel?: string): void;
|
|
7
|
+
export declare function showPersonaDiff(serverPersona: string | null, localPersona: string): void;
|
|
8
|
+
export declare function showDriftWarning(drift: PersonaDrift): void;
|
|
9
|
+
export declare function showNameDiff(serverName: string | null, localName: string): void;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sync Display — Presentation layer for drift detection.
|
|
3
|
+
* Displays colored diffs, warnings, and comparison output.
|
|
4
|
+
*/
|
|
5
|
+
import { diffLines } from 'diff';
|
|
6
|
+
const colors = {
|
|
7
|
+
red: '\x1b[31m',
|
|
8
|
+
green: '\x1b[32m',
|
|
9
|
+
gray: '\x1b[90m',
|
|
10
|
+
reset: '\x1b[0m',
|
|
11
|
+
bold: '\x1b[1m',
|
|
12
|
+
};
|
|
13
|
+
export function showColoredDiff(oldText, newText, oldLabel = 'Server', newLabel = 'Local') {
|
|
14
|
+
if (!oldText && !newText) {
|
|
15
|
+
console.log(colors.gray + '(both empty)' + colors.reset);
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
if (!oldText) {
|
|
19
|
+
console.log(colors.green + `+ (${newLabel} only - no ${oldLabel} content)` + colors.reset);
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
if (!newText) {
|
|
23
|
+
console.log(colors.red + `- (${oldLabel} only - no ${newLabel} content)` + colors.reset);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const diff = diffLines(oldText, newText);
|
|
27
|
+
diff.forEach(part => {
|
|
28
|
+
if (part.added) {
|
|
29
|
+
part.value.split('\n').filter(l => l).forEach(line => console.log(colors.green + '+ ' + line + colors.reset));
|
|
30
|
+
}
|
|
31
|
+
else if (part.removed) {
|
|
32
|
+
part.value.split('\n').filter(l => l).forEach(line => console.log(colors.red + '- ' + line + colors.reset));
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
const lines = part.value.split('\n').filter(l => l);
|
|
36
|
+
if (lines.length <= 6) {
|
|
37
|
+
lines.forEach(line => console.log(colors.gray + ' ' + line + colors.reset));
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
lines.slice(0, 3).forEach(line => console.log(colors.gray + ' ' + line + colors.reset));
|
|
41
|
+
console.log(colors.gray + ` ... (${lines.length - 6} unchanged lines) ...` + colors.reset);
|
|
42
|
+
lines.slice(-3).forEach(line => console.log(colors.gray + ' ' + line + colors.reset));
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
export function showPersonaDiff(serverPersona, localPersona) {
|
|
48
|
+
console.log('\n' + '='.repeat(60));
|
|
49
|
+
console.log(colors.bold + 'PERSONA DIFF' + colors.reset);
|
|
50
|
+
console.log(colors.red + '- Server (deployed)' + colors.reset + ' ' + colors.green + '+ Local (code)' + colors.reset);
|
|
51
|
+
console.log('='.repeat(60) + '\n');
|
|
52
|
+
showColoredDiff(serverPersona || '', localPersona, 'Server', 'Local');
|
|
53
|
+
console.log('\n' + '='.repeat(60) + '\n');
|
|
54
|
+
}
|
|
55
|
+
export function showDriftWarning(drift) {
|
|
56
|
+
console.log('\n⚠️ Persona drift detected!');
|
|
57
|
+
console.log(` Server version ${drift.serverVersion || 'unknown'} differs from local code.`);
|
|
58
|
+
}
|
|
59
|
+
export function showNameDiff(serverName, localName) {
|
|
60
|
+
console.log('\n' + '='.repeat(60));
|
|
61
|
+
console.log(colors.bold + 'NAME DIFF' + colors.reset);
|
|
62
|
+
console.log('='.repeat(60));
|
|
63
|
+
console.log(colors.red + `- Server: "${serverName || '(none)'}"` + colors.reset);
|
|
64
|
+
console.log(colors.green + `+ Local: "${localName || '(none)'}"` + colors.reset);
|
|
65
|
+
console.log('='.repeat(60) + '\n');
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=sync-display.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-display.js","sourceRoot":"","sources":["../../src/utils/sync-display.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sync Fetch — Data fetching layer for drift detection.
|
|
3
|
+
* Fetches server state (persona, name) and compares with local code.
|
|
4
|
+
*/
|
|
5
|
+
export interface PersonaDrift {
|
|
6
|
+
hasDrift: boolean;
|
|
7
|
+
serverPersona: string | null;
|
|
8
|
+
localPersona: string;
|
|
9
|
+
serverVersion?: number;
|
|
10
|
+
}
|
|
11
|
+
export interface NameDrift {
|
|
12
|
+
hasDrift: boolean;
|
|
13
|
+
serverName: string | null;
|
|
14
|
+
localName: string;
|
|
15
|
+
}
|
|
16
|
+
export declare function comparePersona(serverPersona: string | null, localPersona: string): boolean;
|
|
17
|
+
export declare function fetchServerPersona(apiKey: string, agentId: string): Promise<{
|
|
18
|
+
persona: string;
|
|
19
|
+
version: number;
|
|
20
|
+
} | null>;
|
|
21
|
+
export declare function checkPersonaDrift(apiKey: string, agentId: string): Promise<PersonaDrift | null>;
|
|
22
|
+
export declare function fetchServerName(apiKey: string, agentId: string): Promise<string | null>;
|
|
23
|
+
export declare function checkNameDrift(apiKey: string, agentId: string): Promise<NameDrift | null>;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sync Fetch — Data fetching layer for drift detection.
|
|
3
|
+
* Fetches server state (persona, name) and compares with local code.
|
|
4
|
+
*/
|
|
5
|
+
import { BASE_URLS } from '../config/constants.js';
|
|
6
|
+
import { getAgentName, getAgentPersona } from './artifact-loader.js';
|
|
7
|
+
import PersonaApi from '../api/persona.api.service.js';
|
|
8
|
+
import AgentApi from '../api/agent.api.service.js';
|
|
9
|
+
function normalizeForComparison(str) {
|
|
10
|
+
return str
|
|
11
|
+
.trim()
|
|
12
|
+
.replace(/\\'/g, "'")
|
|
13
|
+
.replace(/\\"/g, '"')
|
|
14
|
+
.replace(/\\\\/g, '\\')
|
|
15
|
+
.replace(/\r\n/g, '\n')
|
|
16
|
+
.replace(/\r/g, '\n');
|
|
17
|
+
}
|
|
18
|
+
export function comparePersona(serverPersona, localPersona) {
|
|
19
|
+
if (serverPersona === null)
|
|
20
|
+
return false;
|
|
21
|
+
return normalizeForComparison(serverPersona) !== normalizeForComparison(localPersona);
|
|
22
|
+
}
|
|
23
|
+
export async function fetchServerPersona(apiKey, agentId) {
|
|
24
|
+
try {
|
|
25
|
+
const personaApi = new PersonaApi(BASE_URLS.API, apiKey, agentId);
|
|
26
|
+
const latestPublished = await personaApi.getLatestPublishedVersion();
|
|
27
|
+
if (latestPublished?.persona) {
|
|
28
|
+
return { persona: latestPublished.persona, version: latestPublished.version };
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export async function checkPersonaDrift(apiKey, agentId) {
|
|
37
|
+
const localPersona = getAgentPersona() ?? '';
|
|
38
|
+
const serverData = await fetchServerPersona(apiKey, agentId);
|
|
39
|
+
const hasDrift = comparePersona(serverData?.persona || null, localPersona);
|
|
40
|
+
if (!hasDrift)
|
|
41
|
+
return null;
|
|
42
|
+
return { hasDrift: true, serverPersona: serverData?.persona || null, localPersona, serverVersion: serverData?.version };
|
|
43
|
+
}
|
|
44
|
+
export async function fetchServerName(apiKey, agentId) {
|
|
45
|
+
try {
|
|
46
|
+
const agentApi = new AgentApi(BASE_URLS.API, apiKey);
|
|
47
|
+
const response = await agentApi.getAgent(agentId);
|
|
48
|
+
return response.success && response.data?.name ? response.data.name : null;
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
export async function checkNameDrift(apiKey, agentId) {
|
|
55
|
+
const localName = getAgentName() ?? '';
|
|
56
|
+
const serverName = await fetchServerName(apiKey, agentId);
|
|
57
|
+
if (serverName === null)
|
|
58
|
+
return null;
|
|
59
|
+
const hasDrift = normalizeForComparison(serverName) !== normalizeForComparison(localName);
|
|
60
|
+
if (!hasDrift)
|
|
61
|
+
return null;
|
|
62
|
+
return { hasDrift: true, serverName, localName };
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=sync-fetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-fetch.js","sourceRoot":"","sources":["../../src/utils/sync-fetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,61 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Sync Helpers
|
|
3
|
-
*
|
|
2
|
+
* Sync Helpers — barrel re-export for backward compatibility.
|
|
3
|
+
* Data fetching lives in sync-fetch.ts, display logic in sync-display.ts.
|
|
4
4
|
*/
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
serverPersona: string | null;
|
|
8
|
-
localPersona: string;
|
|
9
|
-
serverVersion?: number;
|
|
10
|
-
}
|
|
11
|
-
export interface NameDrift {
|
|
12
|
-
hasDrift: boolean;
|
|
13
|
-
serverName: string | null;
|
|
14
|
-
localName: string;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Fetch the latest published persona version from the server.
|
|
18
|
-
* Returns null if no persona is published or on error.
|
|
19
|
-
*
|
|
20
|
-
* Note: This returns the most recently published version, NOT the current/active one.
|
|
21
|
-
* The current version might be an older rollback, but code should match the latest push.
|
|
22
|
-
* Drafts are excluded since they haven't been deployed yet.
|
|
23
|
-
*/
|
|
24
|
-
export declare function fetchServerPersona(apiKey: string, agentId: string): Promise<{
|
|
25
|
-
persona: string;
|
|
26
|
-
version: number;
|
|
27
|
-
} | null>;
|
|
28
|
-
/**
|
|
29
|
-
* Compare server persona with local persona.
|
|
30
|
-
* Returns true if they differ (drift detected).
|
|
31
|
-
*/
|
|
32
|
-
export declare function comparePersona(serverPersona: string | null, localPersona: string): boolean;
|
|
33
|
-
/**
|
|
34
|
-
* Check for persona drift between server and local code.
|
|
35
|
-
* Returns drift info if drift detected, null otherwise.
|
|
36
|
-
*/
|
|
37
|
-
export declare function checkPersonaDrift(apiKey: string, agentId: string): Promise<PersonaDrift | null>;
|
|
38
|
-
/**
|
|
39
|
-
* Display a colored diff between two strings.
|
|
40
|
-
*/
|
|
41
|
-
export declare function showColoredDiff(oldText: string, newText: string, oldLabel?: string, newLabel?: string): void;
|
|
42
|
-
/**
|
|
43
|
-
* Display a diff between server and local persona.
|
|
44
|
-
*/
|
|
45
|
-
export declare function showPersonaDiff(serverPersona: string | null, localPersona: string): void;
|
|
46
|
-
/**
|
|
47
|
-
* Display a compact drift warning for compile flow.
|
|
48
|
-
*/
|
|
49
|
-
export declare function showDriftWarning(drift: PersonaDrift): void;
|
|
50
|
-
/**
|
|
51
|
-
* Fetch the agent name from the server.
|
|
52
|
-
*/
|
|
53
|
-
export declare function fetchServerName(apiKey: string, agentId: string): Promise<string | null>;
|
|
54
|
-
/**
|
|
55
|
-
* Check for name drift between server and local code.
|
|
56
|
-
*/
|
|
57
|
-
export declare function checkNameDrift(apiKey: string, agentId: string): Promise<NameDrift | null>;
|
|
58
|
-
/**
|
|
59
|
-
* Display name drift info.
|
|
60
|
-
*/
|
|
61
|
-
export declare function showNameDiff(serverName: string | null, localName: string): void;
|
|
5
|
+
export { fetchServerPersona, fetchServerName, checkPersonaDrift, checkNameDrift, comparePersona, type PersonaDrift, type NameDrift, } from './sync-fetch.js';
|
|
6
|
+
export { showColoredDiff, showPersonaDiff, showNameDiff, showDriftWarning, } from './sync-display.js';
|
|
@@ -1,209 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Sync Helpers
|
|
3
|
-
*
|
|
2
|
+
* Sync Helpers — barrel re-export for backward compatibility.
|
|
3
|
+
* Data fetching lives in sync-fetch.ts, display logic in sync-display.ts.
|
|
4
4
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import { loadPersonaFromCode, loadNameFromCode } from './agent-code-utils.js';
|
|
8
|
-
import PersonaApi from '../api/persona.api.service.js';
|
|
9
|
-
import AgentApi from '../api/agent.api.service.js';
|
|
10
|
-
// ANSI color codes
|
|
11
|
-
const colors = {
|
|
12
|
-
red: '\x1b[31m',
|
|
13
|
-
green: '\x1b[32m',
|
|
14
|
-
gray: '\x1b[90m',
|
|
15
|
-
reset: '\x1b[0m',
|
|
16
|
-
bold: '\x1b[1m',
|
|
17
|
-
};
|
|
18
|
-
/**
|
|
19
|
-
* Fetch the latest published persona version from the server.
|
|
20
|
-
* Returns null if no persona is published or on error.
|
|
21
|
-
*
|
|
22
|
-
* Note: This returns the most recently published version, NOT the current/active one.
|
|
23
|
-
* The current version might be an older rollback, but code should match the latest push.
|
|
24
|
-
* Drafts are excluded since they haven't been deployed yet.
|
|
25
|
-
*/
|
|
26
|
-
export async function fetchServerPersona(apiKey, agentId) {
|
|
27
|
-
try {
|
|
28
|
-
const personaApi = new PersonaApi(BASE_URLS.API, apiKey, agentId);
|
|
29
|
-
const latestPublished = await personaApi.getLatestPublishedVersion();
|
|
30
|
-
if (latestPublished && latestPublished.persona) {
|
|
31
|
-
return {
|
|
32
|
-
persona: latestPublished.persona,
|
|
33
|
-
version: latestPublished.version,
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
return null;
|
|
37
|
-
}
|
|
38
|
-
catch (error) {
|
|
39
|
-
// Silently fail - network issues shouldn't block compilation
|
|
40
|
-
return null;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Normalize a string for comparison by handling escape sequences.
|
|
45
|
-
* This ensures that semantically identical strings compare as equal
|
|
46
|
-
* even if they have different escape representations.
|
|
47
|
-
*/
|
|
48
|
-
function normalizeForComparison(str) {
|
|
49
|
-
return str
|
|
50
|
-
.trim()
|
|
51
|
-
// Normalize escaped quotes to unescaped
|
|
52
|
-
.replace(/\\'/g, "'")
|
|
53
|
-
.replace(/\\"/g, '"')
|
|
54
|
-
// Normalize escaped backslashes
|
|
55
|
-
.replace(/\\\\/g, '\\')
|
|
56
|
-
// Normalize line endings
|
|
57
|
-
.replace(/\r\n/g, '\n')
|
|
58
|
-
.replace(/\r/g, '\n');
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Compare server persona with local persona.
|
|
62
|
-
* Returns true if they differ (drift detected).
|
|
63
|
-
*/
|
|
64
|
-
export function comparePersona(serverPersona, localPersona) {
|
|
65
|
-
if (serverPersona === null) {
|
|
66
|
-
return false; // No server state to compare against
|
|
67
|
-
}
|
|
68
|
-
// Normalize both strings for comparison (handles escape sequence differences)
|
|
69
|
-
const normalizedServer = normalizeForComparison(serverPersona);
|
|
70
|
-
const normalizedLocal = normalizeForComparison(localPersona);
|
|
71
|
-
return normalizedServer !== normalizedLocal;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Check for persona drift between server and local code.
|
|
75
|
-
* Returns drift info if drift detected, null otherwise.
|
|
76
|
-
*/
|
|
77
|
-
export async function checkPersonaDrift(apiKey, agentId) {
|
|
78
|
-
const localPersona = loadPersonaFromCode();
|
|
79
|
-
const serverData = await fetchServerPersona(apiKey, agentId);
|
|
80
|
-
const hasDrift = comparePersona(serverData?.persona || null, localPersona);
|
|
81
|
-
if (!hasDrift) {
|
|
82
|
-
return null;
|
|
83
|
-
}
|
|
84
|
-
return {
|
|
85
|
-
hasDrift: true,
|
|
86
|
-
serverPersona: serverData?.persona || null,
|
|
87
|
-
localPersona,
|
|
88
|
-
serverVersion: serverData?.version,
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Display a colored diff between two strings.
|
|
93
|
-
*/
|
|
94
|
-
export function showColoredDiff(oldText, newText, oldLabel = 'Server', newLabel = 'Local') {
|
|
95
|
-
if (!oldText && !newText) {
|
|
96
|
-
console.log(colors.gray + '(both empty)' + colors.reset);
|
|
97
|
-
return;
|
|
98
|
-
}
|
|
99
|
-
if (!oldText) {
|
|
100
|
-
console.log(colors.green + `+ (${newLabel} only - no ${oldLabel} content)` + colors.reset);
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
if (!newText) {
|
|
104
|
-
console.log(colors.red + `- (${oldLabel} only - no ${newLabel} content)` + colors.reset);
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
107
|
-
const diff = diffLines(oldText, newText);
|
|
108
|
-
diff.forEach(part => {
|
|
109
|
-
if (part.added) {
|
|
110
|
-
// Added in local (green)
|
|
111
|
-
const lines = part.value.split('\n').filter(l => l);
|
|
112
|
-
lines.forEach(line => {
|
|
113
|
-
console.log(colors.green + '+ ' + line + colors.reset);
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
else if (part.removed) {
|
|
117
|
-
// Removed from server (red)
|
|
118
|
-
const lines = part.value.split('\n').filter(l => l);
|
|
119
|
-
lines.forEach(line => {
|
|
120
|
-
console.log(colors.red + '- ' + line + colors.reset);
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
// Unchanged - show abbreviated context
|
|
125
|
-
const lines = part.value.split('\n').filter(l => l);
|
|
126
|
-
if (lines.length <= 6) {
|
|
127
|
-
lines.forEach(line => {
|
|
128
|
-
console.log(colors.gray + ' ' + line + colors.reset);
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
else {
|
|
132
|
-
// Show first 3 and last 3 lines
|
|
133
|
-
lines.slice(0, 3).forEach(line => {
|
|
134
|
-
console.log(colors.gray + ' ' + line + colors.reset);
|
|
135
|
-
});
|
|
136
|
-
console.log(colors.gray + ` ... (${lines.length - 6} unchanged lines) ...` + colors.reset);
|
|
137
|
-
lines.slice(-3).forEach(line => {
|
|
138
|
-
console.log(colors.gray + ' ' + line + colors.reset);
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Display a diff between server and local persona.
|
|
146
|
-
*/
|
|
147
|
-
export function showPersonaDiff(serverPersona, localPersona) {
|
|
148
|
-
console.log('\n' + '='.repeat(60));
|
|
149
|
-
console.log(colors.bold + 'PERSONA DIFF' + colors.reset);
|
|
150
|
-
console.log(colors.red + '- Server (deployed)' + colors.reset + ' ' + colors.green + '+ Local (code)' + colors.reset);
|
|
151
|
-
console.log('='.repeat(60) + '\n');
|
|
152
|
-
showColoredDiff(serverPersona || '', localPersona, 'Server', 'Local');
|
|
153
|
-
console.log('\n' + '='.repeat(60) + '\n');
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Display a compact drift warning for compile flow.
|
|
157
|
-
*/
|
|
158
|
-
export function showDriftWarning(drift) {
|
|
159
|
-
console.log('\n⚠️ Persona drift detected!');
|
|
160
|
-
console.log(` Server version ${drift.serverVersion || 'unknown'} differs from local code.`);
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Fetch the agent name from the server.
|
|
164
|
-
*/
|
|
165
|
-
export async function fetchServerName(apiKey, agentId) {
|
|
166
|
-
try {
|
|
167
|
-
const agentApi = new AgentApi(BASE_URLS.API, apiKey);
|
|
168
|
-
const response = await agentApi.getAgent(agentId);
|
|
169
|
-
if (response.success && response.data?.name) {
|
|
170
|
-
return response.data.name;
|
|
171
|
-
}
|
|
172
|
-
return null;
|
|
173
|
-
}
|
|
174
|
-
catch (error) {
|
|
175
|
-
return null;
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
/**
|
|
179
|
-
* Check for name drift between server and local code.
|
|
180
|
-
*/
|
|
181
|
-
export async function checkNameDrift(apiKey, agentId) {
|
|
182
|
-
const localName = loadNameFromCode();
|
|
183
|
-
const serverName = await fetchServerName(apiKey, agentId);
|
|
184
|
-
if (serverName === null) {
|
|
185
|
-
return null; // No server state to compare against
|
|
186
|
-
}
|
|
187
|
-
// Use same normalization as persona comparison
|
|
188
|
-
const hasDrift = normalizeForComparison(serverName) !== normalizeForComparison(localName);
|
|
189
|
-
if (!hasDrift) {
|
|
190
|
-
return null;
|
|
191
|
-
}
|
|
192
|
-
return {
|
|
193
|
-
hasDrift: true,
|
|
194
|
-
serverName,
|
|
195
|
-
localName,
|
|
196
|
-
};
|
|
197
|
-
}
|
|
198
|
-
/**
|
|
199
|
-
* Display name drift info.
|
|
200
|
-
*/
|
|
201
|
-
export function showNameDiff(serverName, localName) {
|
|
202
|
-
console.log('\n' + '='.repeat(60));
|
|
203
|
-
console.log(colors.bold + 'NAME DIFF' + colors.reset);
|
|
204
|
-
console.log('='.repeat(60));
|
|
205
|
-
console.log(colors.red + `- Server: "${serverName || '(none)'}"` + colors.reset);
|
|
206
|
-
console.log(colors.green + `+ Local: "${localName || '(none)'}"` + colors.reset);
|
|
207
|
-
console.log('='.repeat(60) + '\n');
|
|
208
|
-
}
|
|
5
|
+
export { fetchServerPersona, fetchServerName, checkPersonaDrift, checkNameDrift, comparePersona, } from './sync-fetch.js';
|
|
6
|
+
export { showColoredDiff, showPersonaDiff, showNameDiff, showDriftWarning, } from './sync-display.js';
|
|
209
7
|
//# sourceMappingURL=sync-helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-helpers.js","sourceRoot":"","sources":["../../src/utils/sync-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"sync-helpers.js","sourceRoot":"","sources":["../../src/utils/sync-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,cAAc,GAGf,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,eAAe,EACf,eAAe,EACf,YAAY,EACZ,gBAAgB,GACjB,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# Complete API Index
|
|
2
|
+
|
|
3
|
+
Quick reference for all lua-cli APIs and exports.
|
|
4
|
+
|
|
5
|
+
## Core Classes
|
|
6
|
+
|
|
7
|
+
| Class | Purpose | Import |
|
|
8
|
+
|-------|---------|--------|
|
|
9
|
+
| [LuaAgent](./api/LuaAgent.md) | Unified agent configuration | `import { LuaAgent } from 'lua-cli'` |
|
|
10
|
+
| [LuaSkill](./api/LuaSkill.md) | Tool collection | `import { LuaSkill } from 'lua-cli'` |
|
|
11
|
+
| [LuaTool](./api/LuaTool.md) | Individual tool interface | `import { LuaTool } from 'lua-cli/skill'` |
|
|
12
|
+
| [LuaWebhook](./api/LuaWebhook.md) | HTTP webhook handler | `import { LuaWebhook } from 'lua-cli'` |
|
|
13
|
+
| [LuaJob](./api/LuaJob.md) | Scheduled task | `import { LuaJob } from 'lua-cli'` |
|
|
14
|
+
| [PreProcessor](./api/PreProcessor.md) | Message preprocessor | `import { PreProcessor } from 'lua-cli'` |
|
|
15
|
+
| [PostProcessor](./api/PostProcessor.md) | Response postprocessor | `import { PostProcessor } from 'lua-cli'` |
|
|
16
|
+
| LuaMCPServer | MCP server integration | `import { LuaMCPServer } from 'lua-cli'` |
|
|
17
|
+
|
|
18
|
+
## Runtime APIs
|
|
19
|
+
|
|
20
|
+
| API | Purpose | Methods |
|
|
21
|
+
|-----|---------|---------|
|
|
22
|
+
| [AI](./api/AI.md) | AI text generation | `generate()` |
|
|
23
|
+
| [User](./api/User.md) | User data management | `get()`, `getChatHistory()` |
|
|
24
|
+
| [Products](./api/Products.md) | Product catalog | `get()`, `search()`, `getById()`, `create()`, `update()`, `delete()` |
|
|
25
|
+
| [Baskets](./api/Baskets.md) | Shopping carts | `get()`, `create()`, `getById()`, `addItem()`, `clear()`, `placeOrder()` |
|
|
26
|
+
| [Orders](./api/Orders.md) | Order management | `get()`, `getById()`, `create()`, `updateStatus()`, `updateData()` |
|
|
27
|
+
| [Data](./api/Data.md) | Custom data storage | `get()`, `getEntry()`, `search()`, `create()`, `update()`, `delete()` |
|
|
28
|
+
| [Jobs](./api/Jobs.md) | Dynamic job creation | `create()`, `getJob()`, `getAll()` |
|
|
29
|
+
| [Templates](./api/Templates.md) | WhatsApp templates | `Templates.whatsapp.list()`, `.get()`, `.send()` |
|
|
30
|
+
| [CDN](./api/CDN.md) | File upload/download | `upload()`, `get()` |
|
|
31
|
+
| Lua | Runtime context | `Lua.request.channel`, `Lua.request.webhook` |
|
|
32
|
+
|
|
33
|
+
## Instance Classes
|
|
34
|
+
|
|
35
|
+
| Instance | Description | Key Methods |
|
|
36
|
+
|----------|-------------|-------------|
|
|
37
|
+
| UserDataInstance | User data with proxy access | `update()`, `send()`, `clear()`, `save()`, `getChatHistory()` |
|
|
38
|
+
| ProductInstance | Product with CRUD methods | `update()`, `delete()`, `save()` |
|
|
39
|
+
| BasketInstance | Shopping cart with operations | `addItem()`, `removeItem()`, `clear()`, `placeOrder()` |
|
|
40
|
+
| OrderInstance | Order with status management | `updateStatus()`, `updateData()`, `save()` |
|
|
41
|
+
| DataEntryInstance | Custom data entry | `update()`, `delete()`, `save()` |
|
|
42
|
+
| JobInstance | Job with metadata access | `user()`, `updateMetadata()`, `delete()` |
|
|
43
|
+
|
|
44
|
+
## Enums
|
|
45
|
+
|
|
46
|
+
| Enum | Values | Usage |
|
|
47
|
+
|------|--------|-------|
|
|
48
|
+
| BasketStatus | `ACTIVE`, `CHECKED_OUT`, `ABANDONED`, `EXPIRED` | Basket state management |
|
|
49
|
+
| OrderStatus | `PENDING`, `CONFIRMED`, `FULFILLED`, `CANCELLED` | Order state tracking |
|
|
50
|
+
|
|
51
|
+
## Utilities
|
|
52
|
+
|
|
53
|
+
| Function | Purpose | Example |
|
|
54
|
+
|----------|---------|---------|
|
|
55
|
+
| [env()](./api/env.md) | Access environment variables | `env('API_KEY')` |
|
|
56
|
+
|
|
57
|
+
## Type Definitions
|
|
58
|
+
|
|
59
|
+
| Type | Description | File |
|
|
60
|
+
|------|-------------|------|
|
|
61
|
+
| ChatMessage | Message format for user communication | See [User API](./api/User.md) |
|
|
62
|
+
| JobSchedule | Job scheduling configuration | See [Jobs API](./api/Jobs.md) |
|
|
63
|
+
| Product | Product data structure | See [Products API](./api/Products.md) |
|
|
64
|
+
| Basket | Basket data structure | See [Baskets API](./api/Baskets.md) |
|
|
65
|
+
| Order | Order data structure | See [Orders API](./api/Orders.md) |
|
|
66
|
+
|
|
67
|
+
## Quick Links by Use Case
|
|
68
|
+
|
|
69
|
+
### Building an Agent
|
|
70
|
+
1. [LuaAgent](./api/LuaAgent.md) - Configure your agent
|
|
71
|
+
2. [LuaSkill](./api/LuaSkill.md) - Organize tools
|
|
72
|
+
3. [LuaTool](./api/LuaTool.md) - Create tools
|
|
73
|
+
|
|
74
|
+
### E-commerce
|
|
75
|
+
1. [Products API](./api/Products.md) - Manage catalog
|
|
76
|
+
2. [Baskets API](./api/Baskets.md) - Shopping carts
|
|
77
|
+
3. [Orders API](./api/Orders.md) - Process orders
|
|
78
|
+
4. [CDN API](./api/CDN.md) - Product images/files
|
|
79
|
+
|
|
80
|
+
### Automation
|
|
81
|
+
1. [LuaJob](./api/LuaJob.md) - Scheduled tasks (cron, intervals)
|
|
82
|
+
2. [Jobs API](./api/Jobs.md) - Dynamic job creation from tools
|
|
83
|
+
3. [LuaWebhook](./api/LuaWebhook.md) - External HTTP triggers
|
|
84
|
+
4. [PreProcessor](./api/PreProcessor.md) - Filter incoming messages
|
|
85
|
+
5. [PostProcessor](./api/PostProcessor.md) - Format responses
|
|
86
|
+
|
|
87
|
+
### Data Management
|
|
88
|
+
1. [User API](./api/User.md) - User data
|
|
89
|
+
2. [Data API](./api/Data.md) - Custom collections
|
|
90
|
+
3. [CDN API](./api/CDN.md) - File storage
|
|
91
|
+
4. env() - Environment config
|
|
92
|
+
|
|
93
|
+
### Communication
|
|
94
|
+
1. [User API](./api/User.md) - Send messages to users
|
|
95
|
+
2. [Templates API](./api/Templates.md) - WhatsApp template messages
|
|
96
|
+
3. [AI API](./api/AI.md) - Generate AI responses
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
**See [README](./README.md) for complete documentation navigation**
|