@kindgi/cli 0.0.0-bootstrap.0 → 0.1.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/LICENSE +201 -0
- package/README.md +738 -1
- package/dist/build/apt.d.ts +16 -0
- package/dist/build/apt.d.ts.map +1 -0
- package/dist/build/apt.js +50 -0
- package/dist/build/apt.js.map +1 -0
- package/dist/build/bundle.d.ts +48 -0
- package/dist/build/bundle.d.ts.map +1 -0
- package/dist/build/bundle.js +125 -0
- package/dist/build/bundle.js.map +1 -0
- package/dist/build/containerfile.d.ts +27 -0
- package/dist/build/containerfile.d.ts.map +1 -0
- package/dist/build/containerfile.js +197 -0
- package/dist/build/containerfile.js.map +1 -0
- package/dist/build/context-files.d.ts +24 -0
- package/dist/build/context-files.d.ts.map +1 -0
- package/dist/build/context-files.js +99 -0
- package/dist/build/context-files.js.map +1 -0
- package/dist/build/defaults.d.ts +66 -0
- package/dist/build/defaults.d.ts.map +1 -0
- package/dist/build/defaults.js +597 -0
- package/dist/build/defaults.js.map +1 -0
- package/dist/build/envelope.d.ts +72 -0
- package/dist/build/envelope.d.ts.map +1 -0
- package/dist/build/envelope.js +76 -0
- package/dist/build/envelope.js.map +1 -0
- package/dist/build/host-install.d.ts +100 -0
- package/dist/build/host-install.d.ts.map +1 -0
- package/dist/build/host-install.js +443 -0
- package/dist/build/host-install.js.map +1 -0
- package/dist/build/image-config.d.ts +32 -0
- package/dist/build/image-config.d.ts.map +1 -0
- package/dist/build/image-config.js +129 -0
- package/dist/build/image-config.js.map +1 -0
- package/dist/build/integrity.d.ts +51 -0
- package/dist/build/integrity.d.ts.map +1 -0
- package/dist/build/integrity.js +75 -0
- package/dist/build/integrity.js.map +1 -0
- package/dist/build/node-image.d.ts +18 -0
- package/dist/build/node-image.d.ts.map +1 -0
- package/dist/build/node-image.js +46 -0
- package/dist/build/node-image.js.map +1 -0
- package/dist/build/pack-root.d.ts +69 -0
- package/dist/build/pack-root.d.ts.map +1 -0
- package/dist/build/pack-root.js +102 -0
- package/dist/build/pack-root.js.map +1 -0
- package/dist/build/poetry-requirements.d.ts +5 -0
- package/dist/build/poetry-requirements.d.ts.map +1 -0
- package/dist/build/poetry-requirements.js +8 -0
- package/dist/build/poetry-requirements.js.map +1 -0
- package/dist/build/python-image.d.ts +40 -0
- package/dist/build/python-image.d.ts.map +1 -0
- package/dist/build/python-image.js +197 -0
- package/dist/build/python-image.js.map +1 -0
- package/dist/build/runners.d.ts +259 -0
- package/dist/build/runners.d.ts.map +1 -0
- package/dist/build/runners.js +4 -0
- package/dist/build/runners.js.map +1 -0
- package/dist/build/version-specifier.d.ts +2 -0
- package/dist/build/version-specifier.d.ts.map +1 -0
- package/dist/build/version-specifier.js +70 -0
- package/dist/build/version-specifier.js.map +1 -0
- package/dist/cli-package.d.ts +15 -0
- package/dist/cli-package.d.ts.map +1 -0
- package/dist/cli-package.js +37 -0
- package/dist/cli-package.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +26 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/adapters.d.ts +3 -0
- package/dist/commands/adapters.d.ts.map +1 -0
- package/dist/commands/adapters.js +148 -0
- package/dist/commands/adapters.js.map +1 -0
- package/dist/commands/agents.d.ts +3 -0
- package/dist/commands/agents.d.ts.map +1 -0
- package/dist/commands/agents.js +82 -0
- package/dist/commands/agents.js.map +1 -0
- package/dist/commands/approvals.d.ts +3 -0
- package/dist/commands/approvals.d.ts.map +1 -0
- package/dist/commands/approvals.js +92 -0
- package/dist/commands/approvals.js.map +1 -0
- package/dist/commands/artifacts.d.ts +3 -0
- package/dist/commands/artifacts.d.ts.map +1 -0
- package/dist/commands/artifacts.js +87 -0
- package/dist/commands/artifacts.js.map +1 -0
- package/dist/commands/auth.d.ts +25 -0
- package/dist/commands/auth.d.ts.map +1 -0
- package/dist/commands/auth.js +283 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/build.d.ts +46 -0
- package/dist/commands/build.d.ts.map +1 -0
- package/dist/commands/build.js +902 -0
- package/dist/commands/build.js.map +1 -0
- package/dist/commands/capabilities.d.ts +3 -0
- package/dist/commands/capabilities.d.ts.map +1 -0
- package/dist/commands/capabilities.js +38 -0
- package/dist/commands/capabilities.js.map +1 -0
- package/dist/commands/conversations.d.ts +3 -0
- package/dist/commands/conversations.d.ts.map +1 -0
- package/dist/commands/conversations.js +75 -0
- package/dist/commands/conversations.js.map +1 -0
- package/dist/commands/deploy.d.ts +7 -0
- package/dist/commands/deploy.d.ts.map +1 -0
- package/dist/commands/deploy.js +697 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/dev.d.ts +43 -0
- package/dist/commands/dev.d.ts.map +1 -0
- package/dist/commands/dev.js +1110 -0
- package/dist/commands/dev.js.map +1 -0
- package/dist/commands/env.d.ts +27 -0
- package/dist/commands/env.d.ts.map +1 -0
- package/dist/commands/env.js +816 -0
- package/dist/commands/env.js.map +1 -0
- package/dist/commands/feedback.d.ts +33 -0
- package/dist/commands/feedback.d.ts.map +1 -0
- package/dist/commands/feedback.js +374 -0
- package/dist/commands/feedback.js.map +1 -0
- package/dist/commands/flows.d.ts +3 -0
- package/dist/commands/flows.d.ts.map +1 -0
- package/dist/commands/flows.js +60 -0
- package/dist/commands/flows.js.map +1 -0
- package/dist/commands/guardrails.d.ts +3 -0
- package/dist/commands/guardrails.d.ts.map +1 -0
- package/dist/commands/guardrails.js +89 -0
- package/dist/commands/guardrails.js.map +1 -0
- package/dist/commands/health.d.ts +8 -0
- package/dist/commands/health.d.ts.map +1 -0
- package/dist/commands/health.js +40 -0
- package/dist/commands/health.js.map +1 -0
- package/dist/commands/helpers.d.ts +48 -0
- package/dist/commands/helpers.d.ts.map +1 -0
- package/dist/commands/helpers.js +110 -0
- package/dist/commands/helpers.js.map +1 -0
- package/dist/commands/index.d.ts +7 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +90 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/init.d.ts +46 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +454 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/key.d.ts +3 -0
- package/dist/commands/key.d.ts.map +1 -0
- package/dist/commands/key.js +322 -0
- package/dist/commands/key.js.map +1 -0
- package/dist/commands/mcp.d.ts +43 -0
- package/dist/commands/mcp.d.ts.map +1 -0
- package/dist/commands/mcp.js +433 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/memory.d.ts +3 -0
- package/dist/commands/memory.d.ts.map +1 -0
- package/dist/commands/memory.js +82 -0
- package/dist/commands/memory.js.map +1 -0
- package/dist/commands/observations.d.ts +3 -0
- package/dist/commands/observations.d.ts.map +1 -0
- package/dist/commands/observations.js +27 -0
- package/dist/commands/observations.js.map +1 -0
- package/dist/commands/proposals.d.ts +3 -0
- package/dist/commands/proposals.d.ts.map +1 -0
- package/dist/commands/proposals.js +116 -0
- package/dist/commands/proposals.js.map +1 -0
- package/dist/commands/provenance.d.ts +3 -0
- package/dist/commands/provenance.d.ts.map +1 -0
- package/dist/commands/provenance.js +53 -0
- package/dist/commands/provenance.js.map +1 -0
- package/dist/commands/providers.d.ts +3 -0
- package/dist/commands/providers.d.ts.map +1 -0
- package/dist/commands/providers.js +212 -0
- package/dist/commands/providers.js.map +1 -0
- package/dist/commands/reviewers.d.ts +3 -0
- package/dist/commands/reviewers.d.ts.map +1 -0
- package/dist/commands/reviewers.js +78 -0
- package/dist/commands/reviewers.js.map +1 -0
- package/dist/commands/runs.d.ts +3 -0
- package/dist/commands/runs.d.ts.map +1 -0
- package/dist/commands/runs.js +223 -0
- package/dist/commands/runs.js.map +1 -0
- package/dist/commands/secrets.d.ts +18 -0
- package/dist/commands/secrets.d.ts.map +1 -0
- package/dist/commands/secrets.js +702 -0
- package/dist/commands/secrets.js.map +1 -0
- package/dist/commands/skills.d.ts +64 -0
- package/dist/commands/skills.d.ts.map +1 -0
- package/dist/commands/skills.js +430 -0
- package/dist/commands/skills.js.map +1 -0
- package/dist/commands/test.d.ts +5 -0
- package/dist/commands/test.d.ts.map +1 -0
- package/dist/commands/test.js +181 -0
- package/dist/commands/test.js.map +1 -0
- package/dist/commands/tokens.d.ts +3 -0
- package/dist/commands/tokens.d.ts.map +1 -0
- package/dist/commands/tokens.js +33 -0
- package/dist/commands/tokens.js.map +1 -0
- package/dist/commands/tools.d.ts +3 -0
- package/dist/commands/tools.d.ts.map +1 -0
- package/dist/commands/tools.js +162 -0
- package/dist/commands/tools.js.map +1 -0
- package/dist/commands/types.d.ts +54 -0
- package/dist/commands/types.d.ts.map +1 -0
- package/dist/commands/types.js +4 -0
- package/dist/commands/types.js.map +1 -0
- package/dist/commands/unwired.d.ts +22 -0
- package/dist/commands/unwired.d.ts.map +1 -0
- package/dist/commands/unwired.js +52 -0
- package/dist/commands/unwired.js.map +1 -0
- package/dist/commands/version.d.ts +8 -0
- package/dist/commands/version.d.ts.map +1 -0
- package/dist/commands/version.js +41 -0
- package/dist/commands/version.js.map +1 -0
- package/dist/config.d.ts +42 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +83 -0
- package/dist/config.js.map +1 -0
- package/dist/context.d.ts +162 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +45 -0
- package/dist/context.js.map +1 -0
- package/dist/deploy/defaults.d.ts +14 -0
- package/dist/deploy/defaults.d.ts.map +1 -0
- package/dist/deploy/defaults.js +37 -0
- package/dist/deploy/defaults.js.map +1 -0
- package/dist/deploy/envelope-loader.d.ts +24 -0
- package/dist/deploy/envelope-loader.d.ts.map +1 -0
- package/dist/deploy/envelope-loader.js +141 -0
- package/dist/deploy/envelope-loader.js.map +1 -0
- package/dist/deploy/post.d.ts +48 -0
- package/dist/deploy/post.d.ts.map +1 -0
- package/dist/deploy/post.js +210 -0
- package/dist/deploy/post.js.map +1 -0
- package/dist/deploy/response.d.ts +42 -0
- package/dist/deploy/response.d.ts.map +1 -0
- package/dist/deploy/response.js +128 -0
- package/dist/deploy/response.js.map +1 -0
- package/dist/deploy/runners.d.ts +218 -0
- package/dist/deploy/runners.d.ts.map +1 -0
- package/dist/deploy/runners.js +4 -0
- package/dist/deploy/runners.js.map +1 -0
- package/dist/dev/bundler.d.ts +10 -0
- package/dist/dev/bundler.d.ts.map +1 -0
- package/dist/dev/bundler.js +235 -0
- package/dist/dev/bundler.js.map +1 -0
- package/dist/dev/defaults.d.ts +140 -0
- package/dist/dev/defaults.d.ts.map +1 -0
- package/dist/dev/defaults.js +709 -0
- package/dist/dev/defaults.js.map +1 -0
- package/dist/dev/dev-only-imports.d.ts +15 -0
- package/dist/dev/dev-only-imports.d.ts.map +1 -0
- package/dist/dev/dev-only-imports.js +57 -0
- package/dist/dev/dev-only-imports.js.map +1 -0
- package/dist/dev/docker-compose.dev.yml +68 -0
- package/dist/dev/index-child.d.ts +2 -0
- package/dist/dev/index-child.d.ts.map +1 -0
- package/dist/dev/index-child.js +53 -0
- package/dist/dev/index-child.js.map +1 -0
- package/dist/dev/pack-code.d.ts +36 -0
- package/dist/dev/pack-code.d.ts.map +1 -0
- package/dist/dev/pack-code.js +129 -0
- package/dist/dev/pack-code.js.map +1 -0
- package/dist/dev/pack-env.d.ts +13 -0
- package/dist/dev/pack-env.d.ts.map +1 -0
- package/dist/dev/pack-env.js +36 -0
- package/dist/dev/pack-env.js.map +1 -0
- package/dist/dev/pack-service.d.ts +40 -0
- package/dist/dev/pack-service.d.ts.map +1 -0
- package/dist/dev/pack-service.js +189 -0
- package/dist/dev/pack-service.js.map +1 -0
- package/dist/dev/paths.d.ts +22 -0
- package/dist/dev/paths.d.ts.map +1 -0
- package/dist/dev/paths.js +35 -0
- package/dist/dev/paths.js.map +1 -0
- package/dist/dev/postgres-container.d.ts +77 -0
- package/dist/dev/postgres-container.d.ts.map +1 -0
- package/dist/dev/postgres-container.js +346 -0
- package/dist/dev/postgres-container.js.map +1 -0
- package/dist/dev/python-builder.d.ts +16 -0
- package/dist/dev/python-builder.d.ts.map +1 -0
- package/dist/dev/python-builder.js +122 -0
- package/dist/dev/python-builder.js.map +1 -0
- package/dist/dev/register.d.ts +71 -0
- package/dist/dev/register.d.ts.map +1 -0
- package/dist/dev/register.js +54 -0
- package/dist/dev/register.js.map +1 -0
- package/dist/dev/runners.d.ts +312 -0
- package/dist/dev/runners.d.ts.map +1 -0
- package/dist/dev/runners.js +4 -0
- package/dist/dev/runners.js.map +1 -0
- package/dist/dev/runtime-container.d.ts +71 -0
- package/dist/dev/runtime-container.d.ts.map +1 -0
- package/dist/dev/runtime-container.js +173 -0
- package/dist/dev/runtime-container.js.map +1 -0
- package/dist/dev/runtime-env.d.ts +62 -0
- package/dist/dev/runtime-env.d.ts.map +1 -0
- package/dist/dev/runtime-env.js +100 -0
- package/dist/dev/runtime-env.js.map +1 -0
- package/dist/dev/runtime-image.d.ts +26 -0
- package/dist/dev/runtime-image.d.ts.map +1 -0
- package/dist/dev/runtime-image.js +44 -0
- package/dist/dev/runtime-image.js.map +1 -0
- package/dist/dev/runtime-registry.d.ts +73 -0
- package/dist/dev/runtime-registry.d.ts.map +1 -0
- package/dist/dev/runtime-registry.js +111 -0
- package/dist/dev/runtime-registry.js.map +1 -0
- package/dist/env/defaults.d.ts +3 -0
- package/dist/env/defaults.d.ts.map +1 -0
- package/dist/env/defaults.js +22 -0
- package/dist/env/defaults.js.map +1 -0
- package/dist/env/pack-env-plan.d.ts +70 -0
- package/dist/env/pack-env-plan.d.ts.map +1 -0
- package/dist/env/pack-env-plan.js +236 -0
- package/dist/env/pack-env-plan.js.map +1 -0
- package/dist/env/parser.d.ts +9 -0
- package/dist/env/parser.d.ts.map +1 -0
- package/dist/env/parser.js +11 -0
- package/dist/env/parser.js.map +1 -0
- package/dist/env/project-env.d.ts +34 -0
- package/dist/env/project-env.d.ts.map +1 -0
- package/dist/env/project-env.js +45 -0
- package/dist/env/project-env.js.map +1 -0
- package/dist/env/runners.d.ts +22 -0
- package/dist/env/runners.d.ts.map +1 -0
- package/dist/env/runners.js +4 -0
- package/dist/env/runners.js.map +1 -0
- package/dist/env/writer.d.ts +7 -0
- package/dist/env/writer.d.ts.map +1 -0
- package/dist/env/writer.js +9 -0
- package/dist/env/writer.js.map +1 -0
- package/dist/errors.d.ts +31 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +111 -0
- package/dist/errors.js.map +1 -0
- package/dist/help.d.ts +5 -0
- package/dist/help.d.ts.map +1 -0
- package/dist/help.js +61 -0
- package/dist/help.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/init/augment-scaffolder.d.ts +86 -0
- package/dist/init/augment-scaffolder.d.ts.map +1 -0
- package/dist/init/augment-scaffolder.js +538 -0
- package/dist/init/augment-scaffolder.js.map +1 -0
- package/dist/init/dependency-specs.d.ts +58 -0
- package/dist/init/dependency-specs.d.ts.map +1 -0
- package/dist/init/dependency-specs.js +153 -0
- package/dist/init/dependency-specs.js.map +1 -0
- package/dist/init/gitignore-patcher.d.ts +23 -0
- package/dist/init/gitignore-patcher.d.ts.map +1 -0
- package/dist/init/gitignore-patcher.js +103 -0
- package/dist/init/gitignore-patcher.js.map +1 -0
- package/dist/init/mode-detect.d.ts +34 -0
- package/dist/init/mode-detect.d.ts.map +1 -0
- package/dist/init/mode-detect.js +115 -0
- package/dist/init/mode-detect.js.map +1 -0
- package/dist/init/package-json-patcher.d.ts +36 -0
- package/dist/init/package-json-patcher.d.ts.map +1 -0
- package/dist/init/package-json-patcher.js +128 -0
- package/dist/init/package-json-patcher.js.map +1 -0
- package/dist/init/pnpm-workspace-patcher.d.ts +55 -0
- package/dist/init/pnpm-workspace-patcher.d.ts.map +1 -0
- package/dist/init/pnpm-workspace-patcher.js +248 -0
- package/dist/init/pnpm-workspace-patcher.js.map +1 -0
- package/dist/init/pyproject-patcher.d.ts +56 -0
- package/dist/init/pyproject-patcher.d.ts.map +1 -0
- package/dist/init/pyproject-patcher.js +324 -0
- package/dist/init/pyproject-patcher.js.map +1 -0
- package/dist/init/python-augment.d.ts +22 -0
- package/dist/init/python-augment.d.ts.map +1 -0
- package/dist/init/python-augment.js +300 -0
- package/dist/init/python-augment.js.map +1 -0
- package/dist/init/template-files.d.ts +18 -0
- package/dist/init/template-files.d.ts.map +1 -0
- package/dist/init/template-files.js +53 -0
- package/dist/init/template-files.js.map +1 -0
- package/dist/key/defaults.d.ts +3 -0
- package/dist/key/defaults.d.ts.map +1 -0
- package/dist/key/defaults.js +60 -0
- package/dist/key/defaults.js.map +1 -0
- package/dist/key/fingerprint.d.ts +6 -0
- package/dist/key/fingerprint.d.ts.map +1 -0
- package/dist/key/fingerprint.js +25 -0
- package/dist/key/fingerprint.js.map +1 -0
- package/dist/key/paths.d.ts +30 -0
- package/dist/key/paths.d.ts.map +1 -0
- package/dist/key/paths.js +51 -0
- package/dist/key/paths.js.map +1 -0
- package/dist/key/runners.d.ts +60 -0
- package/dist/key/runners.d.ts.map +1 -0
- package/dist/key/runners.js +4 -0
- package/dist/key/runners.js.map +1 -0
- package/dist/main.d.ts +113 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +199 -0
- package/dist/main.js.map +1 -0
- package/dist/mcp/launcher.d.ts +143 -0
- package/dist/mcp/launcher.d.ts.map +1 -0
- package/dist/mcp/launcher.js +393 -0
- package/dist/mcp/launcher.js.map +1 -0
- package/dist/mcp/preset-loader.d.ts +29 -0
- package/dist/mcp/preset-loader.d.ts.map +1 -0
- package/dist/mcp/preset-loader.js +217 -0
- package/dist/mcp/preset-loader.js.map +1 -0
- package/dist/mcp/preset-types.d.ts +71 -0
- package/dist/mcp/preset-types.d.ts.map +1 -0
- package/dist/mcp/preset-types.js +4 -0
- package/dist/mcp/preset-types.js.map +1 -0
- package/dist/mcp/presets/README.md +68 -0
- package/dist/mcp/presets/postgres.json +15 -0
- package/dist/output.d.ts +26 -0
- package/dist/output.d.ts.map +1 -0
- package/dist/output.js +46 -0
- package/dist/output.js.map +1 -0
- package/dist/pack-config.d.ts +37 -0
- package/dist/pack-config.d.ts.map +1 -0
- package/dist/pack-config.js +65 -0
- package/dist/pack-config.js.map +1 -0
- package/dist/package-manager.d.ts +33 -0
- package/dist/package-manager.d.ts.map +1 -0
- package/dist/package-manager.js +129 -0
- package/dist/package-manager.js.map +1 -0
- package/dist/parse.d.ts +88 -0
- package/dist/parse.d.ts.map +1 -0
- package/dist/parse.js +100 -0
- package/dist/parse.js.map +1 -0
- package/dist/providers/preset-loader.d.ts +47 -0
- package/dist/providers/preset-loader.d.ts.map +1 -0
- package/dist/providers/preset-loader.js +107 -0
- package/dist/providers/preset-loader.js.map +1 -0
- package/dist/providers/presets/anthropic.json +47 -0
- package/dist/providers/presets/gemini.json +40 -0
- package/dist/reference.d.ts +28 -0
- package/dist/reference.d.ts.map +1 -0
- package/dist/reference.js +52 -0
- package/dist/reference.js.map +1 -0
- package/dist/sdk-package.d.ts +9 -0
- package/dist/sdk-package.d.ts.map +1 -0
- package/dist/sdk-package.js +20 -0
- package/dist/sdk-package.js.map +1 -0
- package/dist/sdk-skills/kindgi-authoring-agents/SKILL.md +252 -0
- package/dist/sdk-skills/kindgi-authoring-flows/SKILL.md +302 -0
- package/dist/sdk-skills/kindgi-authoring-guardrails/SKILL.md +297 -0
- package/dist/sdk-skills/kindgi-authoring-mcp-servers/SKILL.md +289 -0
- package/dist/sdk-skills/kindgi-authoring-providers/SKILL.md +705 -0
- package/dist/sdk-skills/kindgi-authoring-tools/SKILL.md +298 -0
- package/dist/sdk-skills/kindgi-framework-feedback/SKILL.md +211 -0
- package/dist/sdk-skills/kindgi-getting-started/SKILL.md +189 -0
- package/dist/sdk-skills/kindgi-python-authoring-agents/SKILL.md +205 -0
- package/dist/sdk-skills/kindgi-python-authoring-flows/SKILL.md +325 -0
- package/dist/sdk-skills/kindgi-python-authoring-guardrails/SKILL.md +176 -0
- package/dist/sdk-skills/kindgi-python-authoring-tools/SKILL.md +305 -0
- package/dist/sdk-skills/kindgi-python-getting-started/SKILL.md +242 -0
- package/dist/stop-signal.d.ts +15 -0
- package/dist/stop-signal.d.ts.map +1 -0
- package/dist/stop-signal.js +16 -0
- package/dist/stop-signal.js.map +1 -0
- package/dist/templates/minimal/.nvmrc +1 -0
- package/dist/templates/minimal/AGENTS.md +23 -0
- package/dist/templates/minimal/README.md.tmpl +69 -0
- package/dist/templates/minimal/agents/.gitkeep +0 -0
- package/dist/templates/minimal/flows/.gitkeep +0 -0
- package/dist/templates/minimal/gitignore +8 -0
- package/dist/templates/minimal/guardrails/.gitkeep +0 -0
- package/dist/templates/minimal/kindgi.config.ts.tmpl +44 -0
- package/dist/templates/minimal/package.json.tmpl +25 -0
- package/dist/templates/minimal/pnpm-workspace.yaml +8 -0
- package/dist/templates/minimal/tools/.gitkeep +0 -0
- package/dist/templates/minimal/tsconfig.json.tmpl +27 -0
- package/dist/templates/minimal/vitest.config.ts.tmpl +14 -0
- package/dist/templates/python/AGENTS.md +30 -0
- package/dist/templates/python/README.md.tmpl +56 -0
- package/dist/templates/python/agents/echo_agent.py.tmpl +23 -0
- package/dist/templates/python/flows/echo_flow.py.tmpl +17 -0
- package/dist/templates/python/gitignore +9 -0
- package/dist/templates/python/guardrails/response_not_empty.py.tmpl +27 -0
- package/dist/templates/python/pyproject.toml.tmpl +42 -0
- package/dist/templates/python/tests/test_tools.py.tmpl +22 -0
- package/dist/templates/python/tools/echo.py.tmpl +27 -0
- package/dist/templates/python/tools/greet.py.tmpl +20 -0
- package/dist/templates/sample/.nvmrc +1 -0
- package/dist/templates/sample/AGENTS.md +23 -0
- package/dist/templates/sample/README.md.tmpl +85 -0
- package/dist/templates/sample/agents/echo-agent/index.ts.tmpl +34 -0
- package/dist/templates/sample/flows/echo-flow/index.ts.tmpl +59 -0
- package/dist/templates/sample/gitignore +8 -0
- package/dist/templates/sample/guardrails/response-not-empty/index.ts.tmpl +58 -0
- package/dist/templates/sample/kindgi.config.ts.tmpl +41 -0
- package/dist/templates/sample/package.json.tmpl +25 -0
- package/dist/templates/sample/pnpm-workspace.yaml +8 -0
- package/dist/templates/sample/tools/echo/index.test.ts.tmpl +31 -0
- package/dist/templates/sample/tools/echo/index.ts.tmpl +37 -0
- package/dist/templates/sample/tools/fetch-httpbin/index.ts.tmpl +60 -0
- package/dist/templates/sample/tools/greet/index.ts.tmpl +35 -0
- package/dist/templates/sample/tsconfig.json.tmpl +27 -0
- package/dist/templates/sample/vitest.config.ts.tmpl +14 -0
- package/dist/terminal-input.d.ts +17 -0
- package/dist/terminal-input.d.ts.map +1 -0
- package/dist/terminal-input.js +88 -0
- package/dist/terminal-input.js.map +1 -0
- package/dist/test/defaults.d.ts +3 -0
- package/dist/test/defaults.d.ts.map +1 -0
- package/dist/test/defaults.js +104 -0
- package/dist/test/defaults.js.map +1 -0
- package/dist/test/runners.d.ts +60 -0
- package/dist/test/runners.d.ts.map +1 -0
- package/dist/test/runners.js +4 -0
- package/dist/test/runners.js.map +1 -0
- package/dist/version-info.d.ts +9 -0
- package/dist/version-info.d.ts.map +1 -0
- package/dist/version-info.js +27 -0
- package/dist/version-info.js.map +1 -0
- package/dist/write-fully.d.ts +13 -0
- package/dist/write-fully.d.ts.map +1 -0
- package/dist/write-fully.js +17 -0
- package/dist/write-fully.js.map +1 -0
- package/package.json +63 -4
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
// Copyright (C) 2026 Kindgi Inc.
|
|
3
|
+
/**
|
|
4
|
+
* How `kindgi dev` keeps the pack's code and its index in step. The
|
|
5
|
+
* pack service loads an index once, when it boots, so a change is
|
|
6
|
+
* picked up in this order:
|
|
7
|
+
*
|
|
8
|
+
* 1. bundle the pack's code (esbuild; a watch rebuild hands its result in) —
|
|
9
|
+
* for a Python pack, the sources are the build;
|
|
10
|
+
* 2. index the bundles (or sources) in a child process with the pack's
|
|
11
|
+
* environment, into a staging file — the TypeScript indexer, or
|
|
12
|
+
* `python -m kindgi.pack index`;
|
|
13
|
+
* 3. boot a pack service on it — once it listens (every module
|
|
14
|
+
* imported), calls go to it and the previous one stops;
|
|
15
|
+
* 4. publish the staged index as the one the api-server reads.
|
|
16
|
+
*
|
|
17
|
+
* So the api-server never lists a tool whose code isn't running. Code
|
|
18
|
+
* that fails to bundle or to load leaves the previous pack service and
|
|
19
|
+
* index in place. A pack whose last primitives were deleted publishes an
|
|
20
|
+
* empty index, so what was deleted stops being listed.
|
|
21
|
+
*
|
|
22
|
+
* Refreshes run one at a time. A refresh asked for while one runs waits
|
|
23
|
+
* for it, and several such requests collapse into one, with the latest
|
|
24
|
+
* build — so two pack services never start at once.
|
|
25
|
+
*/
|
|
26
|
+
import { mkdir, readFile, writeFile } from 'node:fs/promises';
|
|
27
|
+
import { dirname } from 'node:path';
|
|
28
|
+
import { devIndexPath, devStagedIndexPath, devStagedPackIndexPath } from './paths.js';
|
|
29
|
+
export function createPackRefresher(deps) {
|
|
30
|
+
let tail = Promise.resolve();
|
|
31
|
+
let waiting;
|
|
32
|
+
let lastGood;
|
|
33
|
+
async function refreshOnce(given) {
|
|
34
|
+
const build = given ?? lastGood ?? (await deps.builder.build());
|
|
35
|
+
if (build.kind === 'err') {
|
|
36
|
+
return {
|
|
37
|
+
kind: 'err',
|
|
38
|
+
code: 'bundle-failed',
|
|
39
|
+
message: `The pack's code did not build:\n ${build.errors.join('\n ')}`,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
lastGood = build;
|
|
43
|
+
await deps.onBuild?.(build);
|
|
44
|
+
const staged = devStagedIndexPath(deps.packDir);
|
|
45
|
+
const indexed = await deps.dev.runIndexer(deps.packDir, staged, {
|
|
46
|
+
bundleMap: build.bundleMap,
|
|
47
|
+
env: deps.env,
|
|
48
|
+
code: deps.code,
|
|
49
|
+
});
|
|
50
|
+
if (indexed.kind !== 'ok') {
|
|
51
|
+
if (indexed.code === 'discovery-empty')
|
|
52
|
+
await publishEmpty();
|
|
53
|
+
return indexed;
|
|
54
|
+
}
|
|
55
|
+
const packIndex = devStagedPackIndexPath(deps.packDir);
|
|
56
|
+
await mkdir(dirname(packIndex), { recursive: true });
|
|
57
|
+
await writeFile(packIndex, JSON.stringify(packServiceIndex(indexed.index, build.bundleMap)), 'utf8');
|
|
58
|
+
const started = await deps.pack.start(packIndex);
|
|
59
|
+
if (started.kind === 'err') {
|
|
60
|
+
return {
|
|
61
|
+
kind: 'err',
|
|
62
|
+
code: 'pack-service-boot-failed',
|
|
63
|
+
message: `The pack's code did not load: ${started.error.problems.join('; ')}`,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
await deps.dev.publishIndex(staged, devIndexPath(deps.packDir));
|
|
67
|
+
return indexed;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* The pack has no primitives left (the last ones were deleted): publish
|
|
71
|
+
* the previous index's header with nothing in it, so the api-server
|
|
72
|
+
* stops listing them. Nothing to do before any index was published, or
|
|
73
|
+
* when the published one is already empty. The pack service keeps its
|
|
74
|
+
* old code until the next refresh with primitives; nothing calls it.
|
|
75
|
+
*/
|
|
76
|
+
async function publishEmpty() {
|
|
77
|
+
const published = devIndexPath(deps.packDir);
|
|
78
|
+
let previous;
|
|
79
|
+
try {
|
|
80
|
+
previous = JSON.parse(await readFile(published, 'utf8'));
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
const kinds = ['tools', 'guardrails', 'agents', 'flows'];
|
|
86
|
+
const listed = (kind) => {
|
|
87
|
+
const entries = previous[kind];
|
|
88
|
+
return Array.isArray(entries) && entries.length > 0;
|
|
89
|
+
};
|
|
90
|
+
if (!kinds.some(listed))
|
|
91
|
+
return;
|
|
92
|
+
const staged = devStagedIndexPath(deps.packDir);
|
|
93
|
+
await mkdir(dirname(staged), { recursive: true });
|
|
94
|
+
await writeFile(staged, JSON.stringify({
|
|
95
|
+
...previous,
|
|
96
|
+
publishedAt: new Date().toISOString(),
|
|
97
|
+
tools: [],
|
|
98
|
+
guardrails: [],
|
|
99
|
+
agents: [],
|
|
100
|
+
flows: [],
|
|
101
|
+
}), 'utf8');
|
|
102
|
+
await deps.dev.publishIndex(staged, published);
|
|
103
|
+
}
|
|
104
|
+
async function guarded(build) {
|
|
105
|
+
try {
|
|
106
|
+
return await refreshOnce(build);
|
|
107
|
+
}
|
|
108
|
+
catch (cause) {
|
|
109
|
+
return {
|
|
110
|
+
kind: 'err',
|
|
111
|
+
code: 'refresh-failed',
|
|
112
|
+
message: cause instanceof Error ? cause.message : String(cause),
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return {
|
|
117
|
+
refresh(build) {
|
|
118
|
+
if (waiting !== undefined) {
|
|
119
|
+
// Collapse into the waiting refresh; the latest build wins.
|
|
120
|
+
if (build !== undefined)
|
|
121
|
+
waiting.build = build;
|
|
122
|
+
return waiting.result;
|
|
123
|
+
}
|
|
124
|
+
const request = { build, result: Promise.resolve(undefined) };
|
|
125
|
+
request.result = tail.then(() => {
|
|
126
|
+
if (waiting === request)
|
|
127
|
+
waiting = undefined;
|
|
128
|
+
return guarded(request.build);
|
|
129
|
+
});
|
|
130
|
+
waiting = request;
|
|
131
|
+
tail = request.result;
|
|
132
|
+
return request.result;
|
|
133
|
+
},
|
|
134
|
+
async idle() {
|
|
135
|
+
await tail;
|
|
136
|
+
},
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* The index as the pack service reads it: each tool's module and each
|
|
141
|
+
* guardrail's check module point at their bundles (paths relative to
|
|
142
|
+
* the pack root, which is the pack service's module root).
|
|
143
|
+
*/
|
|
144
|
+
export function packServiceIndex(index, bundleMap) {
|
|
145
|
+
const doc = index;
|
|
146
|
+
const bundled = (path) => typeof path === 'string' ? (bundleMap[path] ?? path) : path;
|
|
147
|
+
return {
|
|
148
|
+
...doc,
|
|
149
|
+
...(doc.tools !== undefined && {
|
|
150
|
+
tools: doc.tools.map((t) => ({ ...t, modulePath: bundled(t.modulePath) })),
|
|
151
|
+
}),
|
|
152
|
+
...(doc.guardrails !== undefined && {
|
|
153
|
+
guardrails: doc.guardrails.map((g) => ({
|
|
154
|
+
...g,
|
|
155
|
+
checkModulePath: bundled(g.checkModulePath),
|
|
156
|
+
})),
|
|
157
|
+
}),
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* The dev console's view of the pack service: what pack code prints,
|
|
162
|
+
* failed calls, and crashes. Successful calls and restarts that work
|
|
163
|
+
* stay quiet.
|
|
164
|
+
*/
|
|
165
|
+
/** A pack service log line worth a line of `kindgi dev` output: a failed call, missing env. */
|
|
166
|
+
function describePackLog(event) {
|
|
167
|
+
const e = event;
|
|
168
|
+
if (e.kind === 'missing-env' && Array.isArray(e.names)) {
|
|
169
|
+
const names = e.names.map(String);
|
|
170
|
+
const one = names.length === 1;
|
|
171
|
+
return ` ⚠ the pack's env.required ${one ? 'name' : 'names'} ${names.join(', ')} ${one ? 'has' : 'have'} no value: add ${one ? 'it' : 'them'} to the pack's env files (a deployment won't be ready without ${one ? 'it' : 'them'})`;
|
|
172
|
+
}
|
|
173
|
+
return e.kind === 'call' && e.outcome !== 'ok'
|
|
174
|
+
? ` [pack] ✗ ${String(e.id)}: ${String(e.outcome)}`
|
|
175
|
+
: undefined;
|
|
176
|
+
}
|
|
177
|
+
export function describePackEvent(event) {
|
|
178
|
+
switch (event.kind) {
|
|
179
|
+
case 'exited':
|
|
180
|
+
return ` ⚠ pack service exited (${event.signal ?? event.code}) — restarting`;
|
|
181
|
+
case 'gave-up':
|
|
182
|
+
return ` ✗ pack service kept exiting (${event.attempts} restarts) — fix the code and save to retry`;
|
|
183
|
+
case 'log':
|
|
184
|
+
return describePackLog(event.event);
|
|
185
|
+
default:
|
|
186
|
+
return undefined;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
//# sourceMappingURL=pack-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pack-service.js","sourceRoot":"","sources":["../../src/dev/pack-service.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAEjC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAoCtF,MAAM,UAAU,mBAAmB,CAAC,IAAuB;IACzD,IAAI,IAAI,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAC;IAC/C,IAAI,OAA4B,CAAC;IACjC,IAAI,QAA+B,CAAC;IAEpC,KAAK,UAAU,WAAW,CAAC,KAA4B;QACrD,MAAM,KAAK,GAAG,KAAK,IAAI,QAAQ,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAChE,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACzB,OAAO;gBACL,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,yCAAyC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;aAClF,CAAC;QACJ,CAAC;QACD,QAAQ,GAAG,KAAK,CAAC;QACjB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE;YAC9D,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAC1B,IAAI,OAAO,CAAC,IAAI,KAAK,iBAAiB;gBAAE,MAAM,YAAY,EAAE,CAAC;YAC7D,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,MAAM,SAAS,GAAG,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,SAAS,CACb,SAAS,EACT,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,EAChE,MAAM,CACP,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC3B,OAAO;gBACL,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,0BAA0B;gBAChC,OAAO,EAAE,iCAAiC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;aAC9E,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAChE,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,UAAU,YAAY;QACzB,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,QAAiC,CAAC;QACtC,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAA4B,CAAC;QACtF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;QAClE,MAAM,MAAM,GAAG,CAAC,IAA4B,EAAW,EAAE;YACvD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,OAAO;QAChC,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,SAAS,CACb,MAAM,EACN,IAAI,CAAC,SAAS,CAAC;YACb,GAAG,QAAQ;YACX,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACrC,KAAK,EAAE,EAAE;YACT,UAAU,EAAE,EAAE;YACd,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,EAAE;SACV,CAAC,EACF,MAAM,CACP,CAAC;QACF,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,UAAU,OAAO,CAAC,KAA4B;QACjD,IAAI,CAAC;YACH,OAAO,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAChE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,CAAC,KAAK;YACX,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,4DAA4D;gBAC5D,IAAI,KAAK,KAAK,SAAS;oBAAE,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;gBAC/C,OAAO,OAAO,CAAC,MAAM,CAAC;YACxB,CAAC;YACD,MAAM,OAAO,GAAY,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,SAAkB,CAAC,EAAE,CAAC;YAChF,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC9B,IAAI,OAAO,KAAK,OAAO;oBAAE,OAAO,GAAG,SAAS,CAAC;gBAC7C,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;YACH,OAAO,GAAG,OAAO,CAAC;YAClB,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;YACtB,OAAO,OAAO,CAAC,MAAM,CAAC;QACxB,CAAC;QACD,KAAK,CAAC,IAAI;YACR,MAAM,IAAI,CAAC;QACb,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAc,EACd,SAA2C;IAE3C,MAAM,GAAG,GAAG,KAGX,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,IAAa,EAAW,EAAE,CACzC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,OAAO;QACL,GAAG,GAAG;QACN,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI;YAC7B,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;SAC3E,CAAC;QACF,GAAG,CAAC,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI;YAClC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrC,GAAG,CAAC;gBACJ,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;aAC5C,CAAC,CAAC;SACJ,CAAC;KACH,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,+FAA+F;AAC/F,SAAS,eAAe,CAAC,KAAc;IACrC,MAAM,CAAC,GAAG,KAA6E,CAAC;IACxF,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;QAC/B,OAAO,+BAA+B,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,iEAAiE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC;IACvO,CAAC;IACD,OAAO,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI;QAC5C,CAAC,CAAC,cAAc,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;QACpD,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAiC;IACjE,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,4BAA4B,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,gBAAgB,CAAC;QAChF,KAAK,SAAS;YACZ,OAAO,kCAAkC,KAAK,CAAC,QAAQ,6CAA6C,CAAC;QACvG,KAAK,KAAK;YACR,OAAO,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtC;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where `kindgi dev` writes the pack index and the dev api-server reads
|
|
3
|
+
* it — inside Kindgi's own `.kindgi/` (gitignored), never the pack root,
|
|
4
|
+
* which may be an existing application's root.
|
|
5
|
+
*/
|
|
6
|
+
export declare function devIndexPath(packDir: string): string;
|
|
7
|
+
/**
|
|
8
|
+
* Where a re-index writes before the pack service has loaded it. It
|
|
9
|
+
* becomes `devIndexPath` only once a pack service is serving that code,
|
|
10
|
+
* so the api-server never lists tools whose code isn't running.
|
|
11
|
+
*/
|
|
12
|
+
export declare function devStagedIndexPath(packDir: string): string;
|
|
13
|
+
/** Where `kindgi dev` bundles the pack's code. */
|
|
14
|
+
export declare function devDistDir(packDir: string): string;
|
|
15
|
+
/**
|
|
16
|
+
* The staged index as the pack service reads it: the same index, with
|
|
17
|
+
* each module path pointing at its bundle.
|
|
18
|
+
*/
|
|
19
|
+
export declare function devStagedPackIndexPath(packDir: string): string;
|
|
20
|
+
/** The source → bundle map the indexer child reads. */
|
|
21
|
+
export declare function devBundleMapPath(packDir: string): string;
|
|
22
|
+
//# sourceMappingURL=paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/dev/paths.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,kDAAkD;AAClD,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,uDAAuD;AACvD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
// Copyright (C) 2026 Kindgi Inc.
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
/**
|
|
5
|
+
* Where `kindgi dev` writes the pack index and the dev api-server reads
|
|
6
|
+
* it — inside Kindgi's own `.kindgi/` (gitignored), never the pack root,
|
|
7
|
+
* which may be an existing application's root.
|
|
8
|
+
*/
|
|
9
|
+
export function devIndexPath(packDir) {
|
|
10
|
+
return join(packDir, '.kindgi', 'dev', 'index.json');
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Where a re-index writes before the pack service has loaded it. It
|
|
14
|
+
* becomes `devIndexPath` only once a pack service is serving that code,
|
|
15
|
+
* so the api-server never lists tools whose code isn't running.
|
|
16
|
+
*/
|
|
17
|
+
export function devStagedIndexPath(packDir) {
|
|
18
|
+
return join(packDir, '.kindgi', 'dev', 'index.next.json');
|
|
19
|
+
}
|
|
20
|
+
/** Where `kindgi dev` bundles the pack's code. */
|
|
21
|
+
export function devDistDir(packDir) {
|
|
22
|
+
return join(packDir, '.kindgi', 'dev', 'dist');
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* The staged index as the pack service reads it: the same index, with
|
|
26
|
+
* each module path pointing at its bundle.
|
|
27
|
+
*/
|
|
28
|
+
export function devStagedPackIndexPath(packDir) {
|
|
29
|
+
return join(packDir, '.kindgi', 'dev', 'index.next.pack.json');
|
|
30
|
+
}
|
|
31
|
+
/** The source → bundle map the indexer child reads. */
|
|
32
|
+
export function devBundleMapPath(packDir) {
|
|
33
|
+
return join(packDir, '.kindgi', 'dev', 'bundle-map.json');
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/dev/paths.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAEjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,OAAO,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,OAAO,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;AAC5D,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,OAAO,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,OAAO,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,sBAAsB,CAAC,CAAC;AACjE,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;AAC5D,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { type DockerOutcome } from './runtime-container.js';
|
|
2
|
+
/** Runs one `docker` command (`runtime-container.ts`'s `docker`); tests hand in a fake. */
|
|
3
|
+
export type DockerRunner = (args: readonly string[]) => Promise<DockerOutcome>;
|
|
4
|
+
/** The bundled Postgres's container, as the compose file defines it. */
|
|
5
|
+
export interface PostgresContainerSpec {
|
|
6
|
+
/** The compose project (`kindgi-dev`) and service (`postgres`) it belongs to. */
|
|
7
|
+
readonly project: string;
|
|
8
|
+
readonly service: string;
|
|
9
|
+
/** `container_name`. */
|
|
10
|
+
readonly name: string;
|
|
11
|
+
readonly image: string;
|
|
12
|
+
readonly environment: Readonly<Record<string, string>>;
|
|
13
|
+
readonly command: readonly string[];
|
|
14
|
+
/** The named volume: its key in the compose file, its Docker name, and where it's mounted. */
|
|
15
|
+
readonly volume: {
|
|
16
|
+
readonly key: string;
|
|
17
|
+
readonly name: string;
|
|
18
|
+
readonly target: string;
|
|
19
|
+
};
|
|
20
|
+
/** The network: its key in the compose file (`default`) and its Docker name. */
|
|
21
|
+
readonly network: {
|
|
22
|
+
readonly key: string;
|
|
23
|
+
readonly name: string;
|
|
24
|
+
};
|
|
25
|
+
/** The container port, published to a random host port. */
|
|
26
|
+
readonly port: number;
|
|
27
|
+
/**
|
|
28
|
+
* The host address it's published on (`127.0.0.1`: loopback only, as
|
|
29
|
+
* the password is a fixed dev one); all of the host's when absent.
|
|
30
|
+
*/
|
|
31
|
+
readonly hostIp?: string;
|
|
32
|
+
readonly healthcheck: {
|
|
33
|
+
/** Run by the container's shell (`CMD-SHELL`). */
|
|
34
|
+
readonly command: string;
|
|
35
|
+
readonly interval?: string;
|
|
36
|
+
readonly timeout?: string;
|
|
37
|
+
readonly retries?: number;
|
|
38
|
+
readonly startPeriod?: string;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* The container `service` defines in a compose file, for `docker run`.
|
|
43
|
+
* Strict: a key or shape the plain-docker start can't carry over throws,
|
|
44
|
+
* so the two ways of starting it never drift apart silently.
|
|
45
|
+
*/
|
|
46
|
+
export declare function postgresSpecFromCompose(composeYaml: string, project: string, service?: string): PostgresContainerSpec;
|
|
47
|
+
/** The `docker run` arguments for the container the compose file defines. */
|
|
48
|
+
export declare function postgresRunArgs(spec: PostgresContainerSpec): string[];
|
|
49
|
+
/**
|
|
50
|
+
* The host port in `docker port` / `docker compose port` output
|
|
51
|
+
* (`0.0.0.0:51741`, or `[::]:51741`); `undefined` when there is none.
|
|
52
|
+
*/
|
|
53
|
+
export declare function hostPortOf(portOutput: string): number | undefined;
|
|
54
|
+
/** What `startPostgresContainer` found: the host port, and whether it made, started or reused the container. */
|
|
55
|
+
export type PostgresContainerStart = {
|
|
56
|
+
readonly kind: 'ok';
|
|
57
|
+
readonly port: number;
|
|
58
|
+
/** `created`: none existed; `started`: it was stopped; `running`: reused as it was. */
|
|
59
|
+
readonly container: 'created' | 'started' | 'running';
|
|
60
|
+
} | {
|
|
61
|
+
readonly kind: 'error';
|
|
62
|
+
readonly message: string;
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* Start the container `spec` defines with plain `docker`, wait until it's
|
|
66
|
+
* healthy, and read its host port back:
|
|
67
|
+
*
|
|
68
|
+
* - none exists: create the network and the volume when missing, then
|
|
69
|
+
* `docker run` it;
|
|
70
|
+
* - it exists, whichever way it was started: reuse it as it is, and
|
|
71
|
+
* start it when it's stopped. It is never recreated or removed.
|
|
72
|
+
*/
|
|
73
|
+
export declare function startPostgresContainer(spec: PostgresContainerSpec, run?: DockerRunner, wait?: {
|
|
74
|
+
readonly timeoutMs?: number;
|
|
75
|
+
readonly pollMs?: number;
|
|
76
|
+
}): Promise<PostgresContainerStart>;
|
|
77
|
+
//# sourceMappingURL=postgres-container.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postgres-container.d.ts","sourceRoot":"","sources":["../../src/dev/postgres-container.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,KAAK,aAAa,EAAU,MAAM,wBAAwB,CAAC;AAEpE,2FAA2F;AAC3F,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;AAE/E,wEAAwE;AACxE,MAAM,WAAW,qBAAqB;IACpC,iFAAiF;IACjF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,wBAAwB;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,8FAA8F;IAC9F,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1F,gFAAgF;IAChF,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAClE,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE;QACpB,kDAAkD;QAClD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC;CACH;AAqBD;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,SAAa,GACnB,qBAAqB,CAqHvB;AAsBD,6EAA6E;AAC7E,wBAAgB,eAAe,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM,EAAE,CAsBrE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIjE;AAWD,gHAAgH;AAChH,MAAM,MAAM,sBAAsB,GAC9B;IACE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,uFAAuF;IACvF,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;CACvD,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AA2FzD;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,qBAAqB,EAC3B,GAAG,GAAE,YAAqB,EAC1B,IAAI,GAAE;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GACnE,OAAO,CAAC,sBAAsB,CAAC,CAoDjC"}
|