@kitsi/cli 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +33 -0
- package/dist/bin/args/parser.d.ts +6 -0
- package/dist/bin/args/parser.d.ts.map +1 -0
- package/dist/bin/args/parser.js +23 -0
- package/dist/bin/args/parser.js.map +1 -0
- package/dist/bin/args/values.d.ts +5 -0
- package/dist/bin/args/values.d.ts.map +1 -0
- package/dist/bin/args/values.js +66 -0
- package/dist/bin/args/values.js.map +1 -0
- package/dist/bin/cli.d.ts +3 -0
- package/dist/bin/cli.d.ts.map +1 -0
- package/dist/bin/cli.js +169 -0
- package/dist/bin/cli.js.map +1 -0
- package/dist/bin/commands/base.d.ts +42 -0
- package/dist/bin/commands/base.d.ts.map +1 -0
- package/dist/bin/commands/base.js +86 -0
- package/dist/bin/commands/base.js.map +1 -0
- package/dist/bin/commands/cache/clear.d.ts +19 -0
- package/dist/bin/commands/cache/clear.d.ts.map +1 -0
- package/dist/bin/commands/cache/clear.js +45 -0
- package/dist/bin/commands/cache/clear.js.map +1 -0
- package/dist/bin/commands/cache/inspect.d.ts +20 -0
- package/dist/bin/commands/cache/inspect.d.ts.map +1 -0
- package/dist/bin/commands/cache/inspect.js +66 -0
- package/dist/bin/commands/cache/inspect.js.map +1 -0
- package/dist/bin/commands/cache/stats.d.ts +17 -0
- package/dist/bin/commands/cache/stats.d.ts.map +1 -0
- package/dist/bin/commands/cache/stats.js +54 -0
- package/dist/bin/commands/cache/stats.js.map +1 -0
- package/dist/bin/commands/flags.d.ts +41 -0
- package/dist/bin/commands/flags.d.ts.map +1 -0
- package/dist/bin/commands/flags.js +67 -0
- package/dist/bin/commands/flags.js.map +1 -0
- package/dist/bin/commands/github/init.d.ts +19 -0
- package/dist/bin/commands/github/init.d.ts.map +1 -0
- package/dist/bin/commands/github/init.js +93 -0
- package/dist/bin/commands/github/init.js.map +1 -0
- package/dist/bin/commands/github/secrets.d.ts +18 -0
- package/dist/bin/commands/github/secrets.d.ts.map +1 -0
- package/dist/bin/commands/github/secrets.js +61 -0
- package/dist/bin/commands/github/secrets.js.map +1 -0
- package/dist/bin/commands/graph.d.ts +21 -0
- package/dist/bin/commands/graph.d.ts.map +1 -0
- package/dist/bin/commands/graph.js +74 -0
- package/dist/bin/commands/graph.js.map +1 -0
- package/dist/bin/commands/init.d.ts +25 -0
- package/dist/bin/commands/init.d.ts.map +1 -0
- package/dist/bin/commands/init.js +129 -0
- package/dist/bin/commands/init.js.map +1 -0
- package/dist/bin/commands/list.d.ts +20 -0
- package/dist/bin/commands/list.d.ts.map +1 -0
- package/dist/bin/commands/list.js +126 -0
- package/dist/bin/commands/list.js.map +1 -0
- package/dist/bin/commands/migrate.d.ts +18 -0
- package/dist/bin/commands/migrate.d.ts.map +1 -0
- package/dist/bin/commands/migrate.js +78 -0
- package/dist/bin/commands/migrate.js.map +1 -0
- package/dist/bin/commands/profile/delete.d.ts +20 -0
- package/dist/bin/commands/profile/delete.d.ts.map +1 -0
- package/dist/bin/commands/profile/delete.js +31 -0
- package/dist/bin/commands/profile/delete.js.map +1 -0
- package/dist/bin/commands/profile/export.d.ts +22 -0
- package/dist/bin/commands/profile/export.d.ts.map +1 -0
- package/dist/bin/commands/profile/export.js +61 -0
- package/dist/bin/commands/profile/export.js.map +1 -0
- package/dist/bin/commands/profile/import.d.ts +21 -0
- package/dist/bin/commands/profile/import.d.ts.map +1 -0
- package/dist/bin/commands/profile/import.js +37 -0
- package/dist/bin/commands/profile/import.js.map +1 -0
- package/dist/bin/commands/profile/list.d.ts +17 -0
- package/dist/bin/commands/profile/list.d.ts.map +1 -0
- package/dist/bin/commands/profile/list.js +27 -0
- package/dist/bin/commands/profile/list.js.map +1 -0
- package/dist/bin/commands/profile/show.d.ts +20 -0
- package/dist/bin/commands/profile/show.d.ts.map +1 -0
- package/dist/bin/commands/profile/show.js +42 -0
- package/dist/bin/commands/profile/show.js.map +1 -0
- package/dist/bin/commands/profile/utils.d.ts +4 -0
- package/dist/bin/commands/profile/utils.d.ts.map +1 -0
- package/dist/bin/commands/profile/utils.js +15 -0
- package/dist/bin/commands/profile/utils.js.map +1 -0
- package/dist/bin/commands/run.d.ts +36 -0
- package/dist/bin/commands/run.d.ts.map +1 -0
- package/dist/bin/commands/run.js +42 -0
- package/dist/bin/commands/run.js.map +1 -0
- package/dist/bin/commands/show.d.ts +22 -0
- package/dist/bin/commands/show.d.ts.map +1 -0
- package/dist/bin/commands/show.js +131 -0
- package/dist/bin/commands/show.js.map +1 -0
- package/dist/bin/commands/types.d.ts +20 -0
- package/dist/bin/commands/types.d.ts.map +1 -0
- package/dist/bin/commands/types.js +88 -0
- package/dist/bin/commands/types.js.map +1 -0
- package/dist/bin/commands/validate.d.ts +18 -0
- package/dist/bin/commands/validate.d.ts.map +1 -0
- package/dist/bin/commands/validate.js +145 -0
- package/dist/bin/commands/validate.js.map +1 -0
- package/dist/bin/commands/watch.d.ts +38 -0
- package/dist/bin/commands/watch.d.ts.map +1 -0
- package/dist/bin/commands/watch.js +77 -0
- package/dist/bin/commands/watch.js.map +1 -0
- package/dist/bin/config/loader.d.ts +59 -0
- package/dist/bin/config/loader.d.ts.map +1 -0
- package/dist/bin/config/loader.js +114 -0
- package/dist/bin/config/loader.js.map +1 -0
- package/dist/bin/config/schema.d.ts +3 -0
- package/dist/bin/config/schema.d.ts.map +1 -0
- package/dist/bin/config/schema.js +102 -0
- package/dist/bin/config/schema.js.map +1 -0
- package/dist/bin/context.d.ts +31 -0
- package/dist/bin/context.d.ts.map +1 -0
- package/dist/bin/context.js +2 -0
- package/dist/bin/context.js.map +1 -0
- package/dist/bin/env.d.ts +3 -0
- package/dist/bin/env.d.ts.map +1 -0
- package/dist/bin/env.js +17 -0
- package/dist/bin/env.js.map +1 -0
- package/dist/bin/errors/handler.d.ts +8 -0
- package/dist/bin/errors/handler.d.ts.map +1 -0
- package/dist/bin/errors/handler.js +83 -0
- package/dist/bin/errors/handler.js.map +1 -0
- package/dist/bin/errors/index.d.ts +60 -0
- package/dist/bin/errors/index.d.ts.map +1 -0
- package/dist/bin/errors/index.js +66 -0
- package/dist/bin/errors/index.js.map +1 -0
- package/dist/bin/infrastructure/environment/reader.d.ts +13 -0
- package/dist/bin/infrastructure/environment/reader.d.ts.map +1 -0
- package/dist/bin/infrastructure/environment/reader.js +38 -0
- package/dist/bin/infrastructure/environment/reader.js.map +1 -0
- package/dist/bin/infrastructure/fs/default.d.ts +3 -0
- package/dist/bin/infrastructure/fs/default.d.ts.map +1 -0
- package/dist/bin/infrastructure/fs/default.js +12 -0
- package/dist/bin/infrastructure/fs/default.js.map +1 -0
- package/dist/bin/infrastructure/output/presenter.d.ts +21 -0
- package/dist/bin/infrastructure/output/presenter.d.ts.map +1 -0
- package/dist/bin/infrastructure/output/presenter.js +39 -0
- package/dist/bin/infrastructure/output/presenter.js.map +1 -0
- package/dist/bin/infrastructure/profiles/repository.d.ts +12 -0
- package/dist/bin/infrastructure/profiles/repository.d.ts.map +1 -0
- package/dist/bin/infrastructure/profiles/repository.js +26 -0
- package/dist/bin/infrastructure/profiles/repository.js.map +1 -0
- package/dist/bin/output/colors.d.ts +11 -0
- package/dist/bin/output/colors.d.ts.map +1 -0
- package/dist/bin/output/colors.js +11 -0
- package/dist/bin/output/colors.js.map +1 -0
- package/dist/bin/output/formatters/json.d.ts +7 -0
- package/dist/bin/output/formatters/json.d.ts.map +1 -0
- package/dist/bin/output/formatters/json.js +13 -0
- package/dist/bin/output/formatters/json.js.map +1 -0
- package/dist/bin/output/formatters/registry.d.ts +11 -0
- package/dist/bin/output/formatters/registry.d.ts.map +1 -0
- package/dist/bin/output/formatters/registry.js +31 -0
- package/dist/bin/output/formatters/registry.js.map +1 -0
- package/dist/bin/output/formatters/text.d.ts +6 -0
- package/dist/bin/output/formatters/text.d.ts.map +1 -0
- package/dist/bin/output/formatters/text.js +9 -0
- package/dist/bin/output/formatters/text.js.map +1 -0
- package/dist/bin/output/formatters/toon.d.ts +7 -0
- package/dist/bin/output/formatters/toon.d.ts.map +1 -0
- package/dist/bin/output/formatters/toon.js +103 -0
- package/dist/bin/output/formatters/toon.js.map +1 -0
- package/dist/bin/output/formatters/types.d.ts +11 -0
- package/dist/bin/output/formatters/types.d.ts.map +1 -0
- package/dist/bin/output/formatters/types.js +2 -0
- package/dist/bin/output/formatters/types.js.map +1 -0
- package/dist/bin/output/formatters/value.d.ts +2 -0
- package/dist/bin/output/formatters/value.d.ts.map +1 -0
- package/dist/bin/output/formatters/value.js +12 -0
- package/dist/bin/output/formatters/value.js.map +1 -0
- package/dist/bin/output/formatters/yaml.d.ts +6 -0
- package/dist/bin/output/formatters/yaml.d.ts.map +1 -0
- package/dist/bin/output/formatters/yaml.js +9 -0
- package/dist/bin/output/formatters/yaml.js.map +1 -0
- package/dist/bin/output/index.d.ts +34 -0
- package/dist/bin/output/index.d.ts.map +1 -0
- package/dist/bin/output/index.js +40 -0
- package/dist/bin/output/index.js.map +1 -0
- package/dist/bin/output/interactive.d.ts +29 -0
- package/dist/bin/output/interactive.d.ts.map +1 -0
- package/dist/bin/output/interactive.js +86 -0
- package/dist/bin/output/interactive.js.map +1 -0
- package/dist/bin/output/llm.d.ts +33 -0
- package/dist/bin/output/llm.d.ts.map +1 -0
- package/dist/bin/output/llm.js +115 -0
- package/dist/bin/output/llm.js.map +1 -0
- package/dist/bin/output/run-formatters/index.d.ts +4 -0
- package/dist/bin/output/run-formatters/index.d.ts.map +1 -0
- package/dist/bin/output/run-formatters/index.js +3 -0
- package/dist/bin/output/run-formatters/index.js.map +1 -0
- package/dist/bin/output/run-formatters/interactive.d.ts +54 -0
- package/dist/bin/output/run-formatters/interactive.d.ts.map +1 -0
- package/dist/bin/output/run-formatters/interactive.js +302 -0
- package/dist/bin/output/run-formatters/interactive.js.map +1 -0
- package/dist/bin/output/run-formatters/llm-collector.d.ts +9 -0
- package/dist/bin/output/run-formatters/llm-collector.d.ts.map +1 -0
- package/dist/bin/output/run-formatters/llm-collector.js +36 -0
- package/dist/bin/output/run-formatters/llm-collector.js.map +1 -0
- package/dist/bin/output/run-formatters/types.d.ts +10 -0
- package/dist/bin/output/run-formatters/types.d.ts.map +1 -0
- package/dist/bin/output/run-formatters/types.js +2 -0
- package/dist/bin/output/run-formatters/types.js.map +1 -0
- package/dist/bin/output/runner.d.ts +25 -0
- package/dist/bin/output/runner.d.ts.map +1 -0
- package/dist/bin/output/runner.js +67 -0
- package/dist/bin/output/runner.js.map +1 -0
- package/dist/bin/pipeline-authoring.d.ts +64 -0
- package/dist/bin/pipeline-authoring.d.ts.map +1 -0
- package/dist/bin/pipeline-authoring.js +151 -0
- package/dist/bin/pipeline-authoring.js.map +1 -0
- package/dist/bin/pipeline-discovery.d.ts +3 -0
- package/dist/bin/pipeline-discovery.d.ts.map +1 -0
- package/dist/bin/pipeline-discovery.js +50 -0
- package/dist/bin/pipeline-discovery.js.map +1 -0
- package/dist/bin/pipeline.d.ts +3 -0
- package/dist/bin/pipeline.d.ts.map +1 -0
- package/dist/bin/pipeline.js +67 -0
- package/dist/bin/pipeline.js.map +1 -0
- package/dist/bin/profiles/secrets/encrypted.d.ts +4 -0
- package/dist/bin/profiles/secrets/encrypted.d.ts.map +1 -0
- package/dist/bin/profiles/secrets/encrypted.js +50 -0
- package/dist/bin/profiles/secrets/encrypted.js.map +1 -0
- package/dist/bin/profiles/secrets/env.d.ts +3 -0
- package/dist/bin/profiles/secrets/env.d.ts.map +1 -0
- package/dist/bin/profiles/secrets/env.js +12 -0
- package/dist/bin/profiles/secrets/env.js.map +1 -0
- package/dist/bin/profiles/secrets/index.d.ts +12 -0
- package/dist/bin/profiles/secrets/index.d.ts.map +1 -0
- package/dist/bin/profiles/secrets/index.js +34 -0
- package/dist/bin/profiles/secrets/index.js.map +1 -0
- package/dist/bin/profiles/secrets/keychain.d.ts +4 -0
- package/dist/bin/profiles/secrets/keychain.d.ts.map +1 -0
- package/dist/bin/profiles/secrets/keychain.js +29 -0
- package/dist/bin/profiles/secrets/keychain.js.map +1 -0
- package/dist/bin/profiles/storage.d.ts +42 -0
- package/dist/bin/profiles/storage.d.ts.map +1 -0
- package/dist/bin/profiles/storage.js +94 -0
- package/dist/bin/profiles/storage.js.map +1 -0
- package/dist/bin/prompts/index.d.ts +18 -0
- package/dist/bin/prompts/index.d.ts.map +1 -0
- package/dist/bin/prompts/index.js +39 -0
- package/dist/bin/prompts/index.js.map +1 -0
- package/dist/bin/prompts/parameters.d.ts +10 -0
- package/dist/bin/prompts/parameters.d.ts.map +1 -0
- package/dist/bin/prompts/parameters.js +139 -0
- package/dist/bin/prompts/parameters.js.map +1 -0
- package/dist/bin/runtime.d.ts +47 -0
- package/dist/bin/runtime.d.ts.map +1 -0
- package/dist/bin/runtime.js +155 -0
- package/dist/bin/runtime.js.map +1 -0
- package/dist/bin/services/execution-runner.d.ts +23 -0
- package/dist/bin/services/execution-runner.d.ts.map +1 -0
- package/dist/bin/services/execution-runner.js +206 -0
- package/dist/bin/services/execution-runner.js.map +1 -0
- package/dist/bin/services/input-collector.d.ts +14 -0
- package/dist/bin/services/input-collector.d.ts.map +1 -0
- package/dist/bin/services/input-collector.js +61 -0
- package/dist/bin/services/input-collector.js.map +1 -0
- package/dist/bin/services/plan-loader.d.ts +16 -0
- package/dist/bin/services/plan-loader.d.ts.map +1 -0
- package/dist/bin/services/plan-loader.js +48 -0
- package/dist/bin/services/plan-loader.js.map +1 -0
- package/dist/bin/services/run-orchestrator.d.ts +33 -0
- package/dist/bin/services/run-orchestrator.d.ts.map +1 -0
- package/dist/bin/services/run-orchestrator.js +303 -0
- package/dist/bin/services/run-orchestrator.js.map +1 -0
- package/dist/bin/templates/pipeline-templates.d.ts +2 -0
- package/dist/bin/templates/pipeline-templates.d.ts.map +1 -0
- package/dist/bin/templates/pipeline-templates.js +71 -0
- package/dist/bin/templates/pipeline-templates.js.map +1 -0
- package/dist/dsl/analysis.d.ts +20 -0
- package/dist/dsl/analysis.d.ts.map +1 -0
- package/dist/dsl/analysis.js +209 -0
- package/dist/dsl/analysis.js.map +1 -0
- package/dist/dsl/image.d.ts +14 -0
- package/dist/dsl/image.d.ts.map +1 -0
- package/dist/dsl/image.js +14 -0
- package/dist/dsl/image.js.map +1 -0
- package/dist/dsl/index.d.ts +21 -0
- package/dist/dsl/index.d.ts.map +1 -0
- package/dist/dsl/index.js +12 -0
- package/dist/dsl/index.js.map +1 -0
- package/dist/dsl/kit.d.ts +20 -0
- package/dist/dsl/kit.d.ts.map +1 -0
- package/dist/dsl/kit.js +33 -0
- package/dist/dsl/kit.js.map +1 -0
- package/dist/dsl/module.d.ts +4 -0
- package/dist/dsl/module.d.ts.map +1 -0
- package/dist/dsl/module.js +4 -0
- package/dist/dsl/module.js.map +1 -0
- package/dist/dsl/plan-repository.d.ts +10 -0
- package/dist/dsl/plan-repository.d.ts.map +1 -0
- package/dist/dsl/plan-repository.js +24 -0
- package/dist/dsl/plan-repository.js.map +1 -0
- package/dist/dsl/plan.d.ts +46 -0
- package/dist/dsl/plan.d.ts.map +1 -0
- package/dist/dsl/plan.js +95 -0
- package/dist/dsl/plan.js.map +1 -0
- package/dist/dsl/registry.d.ts +6 -0
- package/dist/dsl/registry.d.ts.map +1 -0
- package/dist/dsl/registry.js +4 -0
- package/dist/dsl/registry.js.map +1 -0
- package/dist/dsl/service.d.ts +24 -0
- package/dist/dsl/service.d.ts.map +1 -0
- package/dist/dsl/service.js +20 -0
- package/dist/dsl/service.js.map +1 -0
- package/dist/dsl/step.d.ts +10 -0
- package/dist/dsl/step.d.ts.map +1 -0
- package/dist/dsl/step.js +17 -0
- package/dist/dsl/step.js.map +1 -0
- package/dist/dsl/task.d.ts +37 -0
- package/dist/dsl/task.d.ts.map +1 -0
- package/dist/dsl/task.js +66 -0
- package/dist/dsl/task.js.map +1 -0
- package/dist/dsl/types.d.ts +13 -0
- package/dist/dsl/types.d.ts.map +1 -0
- package/dist/dsl/types.js +2 -0
- package/dist/dsl/types.js.map +1 -0
- package/dist/dsl/utils.d.ts +2 -0
- package/dist/dsl/utils.d.ts.map +1 -0
- package/dist/dsl/utils.js +7 -0
- package/dist/dsl/utils.js.map +1 -0
- package/dist/engine/cache/analyze.d.ts +12 -0
- package/dist/engine/cache/analyze.d.ts.map +1 -0
- package/dist/engine/cache/analyze.js +225 -0
- package/dist/engine/cache/analyze.js.map +1 -0
- package/dist/engine/cache/coordinator.d.ts +99 -0
- package/dist/engine/cache/coordinator.d.ts.map +1 -0
- package/dist/engine/cache/coordinator.js +800 -0
- package/dist/engine/cache/coordinator.js.map +1 -0
- package/dist/engine/cache/hasher.d.ts +9 -0
- package/dist/engine/cache/hasher.d.ts.map +1 -0
- package/dist/engine/cache/hasher.js +50 -0
- package/dist/engine/cache/hasher.js.map +1 -0
- package/dist/engine/cache/inference.d.ts +3 -0
- package/dist/engine/cache/inference.d.ts.map +1 -0
- package/dist/engine/cache/inference.js +43 -0
- package/dist/engine/cache/inference.js.map +1 -0
- package/dist/engine/cache/serialize.d.ts +2 -0
- package/dist/engine/cache/serialize.d.ts.map +1 -0
- package/dist/engine/cache/serialize.js +21 -0
- package/dist/engine/cache/serialize.js.map +1 -0
- package/dist/engine/cache/store.d.ts +75 -0
- package/dist/engine/cache/store.d.ts.map +1 -0
- package/dist/engine/cache/store.js +208 -0
- package/dist/engine/cache/store.js.map +1 -0
- package/dist/engine/executor/command-runner.d.ts +26 -0
- package/dist/engine/executor/command-runner.d.ts.map +1 -0
- package/dist/engine/executor/command-runner.js +151 -0
- package/dist/engine/executor/command-runner.js.map +1 -0
- package/dist/engine/executor/executor.d.ts +6 -0
- package/dist/engine/executor/executor.d.ts.map +1 -0
- package/dist/engine/executor/executor.js +29 -0
- package/dist/engine/executor/executor.js.map +1 -0
- package/dist/engine/executor/file-system.d.ts +5 -0
- package/dist/engine/executor/file-system.d.ts.map +1 -0
- package/dist/engine/executor/file-system.js +50 -0
- package/dist/engine/executor/file-system.js.map +1 -0
- package/dist/engine/executor/index.d.ts +3 -0
- package/dist/engine/executor/index.d.ts.map +1 -0
- package/dist/engine/executor/index.js +2 -0
- package/dist/engine/executor/index.js.map +1 -0
- package/dist/engine/executor/plan-runner.d.ts +35 -0
- package/dist/engine/executor/plan-runner.d.ts.map +1 -0
- package/dist/engine/executor/plan-runner.js +405 -0
- package/dist/engine/executor/plan-runner.js.map +1 -0
- package/dist/engine/executor/types.d.ts +73 -0
- package/dist/engine/executor/types.d.ts.map +1 -0
- package/dist/engine/executor/types.js +2 -0
- package/dist/engine/executor/types.js.map +1 -0
- package/dist/engine/executor/value-resolver.d.ts +14 -0
- package/dist/engine/executor/value-resolver.d.ts.map +1 -0
- package/dist/engine/executor/value-resolver.js +63 -0
- package/dist/engine/executor/value-resolver.js.map +1 -0
- package/dist/engine/handlers/annotate-handler.d.ts +8 -0
- package/dist/engine/handlers/annotate-handler.d.ts.map +1 -0
- package/dist/engine/handlers/annotate-handler.js +8 -0
- package/dist/engine/handlers/annotate-handler.js.map +1 -0
- package/dist/engine/handlers/artifact-download-handler.d.ts +8 -0
- package/dist/engine/handlers/artifact-download-handler.d.ts.map +1 -0
- package/dist/engine/handlers/artifact-download-handler.js +38 -0
- package/dist/engine/handlers/artifact-download-handler.js.map +1 -0
- package/dist/engine/handlers/artifact-upload-handler.d.ts +8 -0
- package/dist/engine/handlers/artifact-upload-handler.d.ts.map +1 -0
- package/dist/engine/handlers/artifact-upload-handler.js +26 -0
- package/dist/engine/handlers/artifact-upload-handler.js.map +1 -0
- package/dist/engine/handlers/bind-service-handler.d.ts +8 -0
- package/dist/engine/handlers/bind-service-handler.d.ts.map +1 -0
- package/dist/engine/handlers/bind-service-handler.js +8 -0
- package/dist/engine/handlers/bind-service-handler.js.map +1 -0
- package/dist/engine/handlers/cache-mount-handler.d.ts +8 -0
- package/dist/engine/handlers/cache-mount-handler.d.ts.map +1 -0
- package/dist/engine/handlers/cache-mount-handler.js +16 -0
- package/dist/engine/handlers/cache-mount-handler.js.map +1 -0
- package/dist/engine/handlers/command-handler.d.ts +10 -0
- package/dist/engine/handlers/command-handler.d.ts.map +1 -0
- package/dist/engine/handlers/command-handler.js +11 -0
- package/dist/engine/handlers/command-handler.js.map +1 -0
- package/dist/engine/handlers/emit-handler.d.ts +8 -0
- package/dist/engine/handlers/emit-handler.d.ts.map +1 -0
- package/dist/engine/handlers/emit-handler.js +8 -0
- package/dist/engine/handlers/emit-handler.js.map +1 -0
- package/dist/engine/handlers/env-handler.d.ts +8 -0
- package/dist/engine/handlers/env-handler.d.ts.map +1 -0
- package/dist/engine/handlers/env-handler.js +9 -0
- package/dist/engine/handlers/env-handler.js.map +1 -0
- package/dist/engine/handlers/handler.d.ts +18 -0
- package/dist/engine/handlers/handler.d.ts.map +1 -0
- package/dist/engine/handlers/handler.js +2 -0
- package/dist/engine/handlers/handler.js.map +1 -0
- package/dist/engine/handlers/pack-handler.d.ts +8 -0
- package/dist/engine/handlers/pack-handler.d.ts.map +1 -0
- package/dist/engine/handlers/pack-handler.js +16 -0
- package/dist/engine/handlers/pack-handler.js.map +1 -0
- package/dist/engine/handlers/registry.d.ts +9 -0
- package/dist/engine/handlers/registry.d.ts.map +1 -0
- package/dist/engine/handlers/registry.js +14 -0
- package/dist/engine/handlers/registry.js.map +1 -0
- package/dist/engine/handlers/report-handler.d.ts +8 -0
- package/dist/engine/handlers/report-handler.d.ts.map +1 -0
- package/dist/engine/handlers/report-handler.js +13 -0
- package/dist/engine/handlers/report-handler.js.map +1 -0
- package/dist/engine/handlers/summary-handler.d.ts +8 -0
- package/dist/engine/handlers/summary-handler.d.ts.map +1 -0
- package/dist/engine/handlers/summary-handler.js +8 -0
- package/dist/engine/handlers/summary-handler.js.map +1 -0
- package/dist/engine/handlers/unpack-handler.d.ts +12 -0
- package/dist/engine/handlers/unpack-handler.d.ts.map +1 -0
- package/dist/engine/handlers/unpack-handler.js +31 -0
- package/dist/engine/handlers/unpack-handler.js.map +1 -0
- package/dist/engine/handlers/use-handler.d.ts +12 -0
- package/dist/engine/handlers/use-handler.d.ts.map +1 -0
- package/dist/engine/handlers/use-handler.js +29 -0
- package/dist/engine/handlers/use-handler.js.map +1 -0
- package/dist/engine/index.d.ts +5 -0
- package/dist/engine/index.d.ts.map +1 -0
- package/dist/engine/index.js +3 -0
- package/dist/engine/index.js.map +1 -0
- package/dist/engine/providers/artifact.d.ts +5 -0
- package/dist/engine/providers/artifact.d.ts.map +1 -0
- package/dist/engine/providers/artifact.js +2 -0
- package/dist/engine/providers/artifact.js.map +1 -0
- package/dist/engine/providers/cache.d.ts +6 -0
- package/dist/engine/providers/cache.d.ts.map +1 -0
- package/dist/engine/providers/cache.js +2 -0
- package/dist/engine/providers/cache.js.map +1 -0
- package/dist/engine/providers/index.d.ts +5 -0
- package/dist/engine/providers/index.d.ts.map +1 -0
- package/dist/engine/providers/index.js +2 -0
- package/dist/engine/providers/index.js.map +1 -0
- package/dist/engine/providers/local.d.ts +16 -0
- package/dist/engine/providers/local.d.ts.map +1 -0
- package/dist/engine/providers/local.js +81 -0
- package/dist/engine/providers/local.js.map +1 -0
- package/dist/engine/providers/types.d.ts +20 -0
- package/dist/engine/providers/types.d.ts.map +1 -0
- package/dist/engine/providers/types.js +2 -0
- package/dist/engine/providers/types.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/ops/annotate.d.ts +17 -0
- package/dist/ops/annotate.d.ts.map +1 -0
- package/dist/ops/annotate.js +12 -0
- package/dist/ops/annotate.js.map +1 -0
- package/dist/ops/artifact.d.ts +30 -0
- package/dist/ops/artifact.d.ts.map +1 -0
- package/dist/ops/artifact.js +33 -0
- package/dist/ops/artifact.js.map +1 -0
- package/dist/ops/base.d.ts +21 -0
- package/dist/ops/base.d.ts.map +1 -0
- package/dist/ops/base.js +2 -0
- package/dist/ops/base.js.map +1 -0
- package/dist/ops/bind.d.ts +8 -0
- package/dist/ops/bind.d.ts.map +1 -0
- package/dist/ops/bind.js +7 -0
- package/dist/ops/bind.js.map +1 -0
- package/dist/ops/bundle.d.ts +20 -0
- package/dist/ops/bundle.d.ts.map +1 -0
- package/dist/ops/bundle.js +24 -0
- package/dist/ops/bundle.js.map +1 -0
- package/dist/ops/cache.d.ts +46 -0
- package/dist/ops/cache.d.ts.map +1 -0
- package/dist/ops/cache.js +33 -0
- package/dist/ops/cache.js.map +1 -0
- package/dist/ops/env.d.ts +8 -0
- package/dist/ops/env.d.ts.map +1 -0
- package/dist/ops/env.js +6 -0
- package/dist/ops/env.js.map +1 -0
- package/dist/ops/errors.d.ts +35 -0
- package/dist/ops/errors.d.ts.map +1 -0
- package/dist/ops/errors.js +40 -0
- package/dist/ops/errors.js.map +1 -0
- package/dist/ops/index.d.ts +30 -0
- package/dist/ops/index.d.ts.map +1 -0
- package/dist/ops/index.js +15 -0
- package/dist/ops/index.js.map +1 -0
- package/dist/ops/output.d.ts +24 -0
- package/dist/ops/output.d.ts.map +1 -0
- package/dist/ops/output.js +17 -0
- package/dist/ops/output.js.map +1 -0
- package/dist/ops/param.d.ts +4 -0
- package/dist/ops/param.d.ts.map +1 -0
- package/dist/ops/param.js +3 -0
- package/dist/ops/param.js.map +1 -0
- package/dist/ops/ref.d.ts +21 -0
- package/dist/ops/ref.d.ts.map +1 -0
- package/dist/ops/ref.js +23 -0
- package/dist/ops/ref.js.map +1 -0
- package/dist/ops/report.d.ts +10 -0
- package/dist/ops/report.d.ts.map +1 -0
- package/dist/ops/report.js +13 -0
- package/dist/ops/report.js.map +1 -0
- package/dist/ops/secret.d.ts +4 -0
- package/dist/ops/secret.d.ts.map +1 -0
- package/dist/ops/secret.js +2 -0
- package/dist/ops/secret.js.map +1 -0
- package/dist/ops/shell.d.ts +48 -0
- package/dist/ops/shell.d.ts.map +1 -0
- package/dist/ops/shell.js +55 -0
- package/dist/ops/shell.js.map +1 -0
- package/dist/ops/summary.d.ts +9 -0
- package/dist/ops/summary.d.ts.map +1 -0
- package/dist/ops/summary.js +8 -0
- package/dist/ops/summary.js.map +1 -0
- package/dist/ops/types.d.ts +23 -0
- package/dist/ops/types.d.ts.map +1 -0
- package/dist/ops/types.js +5 -0
- package/dist/ops/types.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +2 -0
- package/dist/version.js.map +1 -0
- package/package.json +86 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { readFile, readdir } from 'node:fs/promises';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import { Args } from '@oclif/core';
|
|
5
|
+
import { CacheStore } from '../../../engine/cache/store.js';
|
|
6
|
+
import { OutputPresenter } from '../../infrastructure/output/presenter.js';
|
|
7
|
+
import { BaseCommand, globalFlags } from '../base.js';
|
|
8
|
+
export default class CacheInspectCommand extends BaseCommand {
|
|
9
|
+
static summary = 'Inspect a cache entry';
|
|
10
|
+
static args = {
|
|
11
|
+
key: Args.string({
|
|
12
|
+
description: 'Cache key to inspect',
|
|
13
|
+
required: true,
|
|
14
|
+
}),
|
|
15
|
+
};
|
|
16
|
+
static flags = {
|
|
17
|
+
...globalFlags,
|
|
18
|
+
};
|
|
19
|
+
async run() {
|
|
20
|
+
const { args, flags, raw } = await this.parse(CacheInspectCommand);
|
|
21
|
+
const rawArgs = this.rawArgsFromParse(raw);
|
|
22
|
+
const globals = await this.resolveGlobals(flags, rawArgs);
|
|
23
|
+
const cacheDir = globals.config.cache?.directory ?? join(globals.cwd, '.kitsi', 'cache');
|
|
24
|
+
const store = new CacheStore(cacheDir);
|
|
25
|
+
const key = String(args.key);
|
|
26
|
+
const opPath = store.opPath(key);
|
|
27
|
+
const opMetaPath = join(opPath, 'meta.json');
|
|
28
|
+
if (existsSync(opMetaPath)) {
|
|
29
|
+
const meta = JSON.parse(await readFile(opMetaPath, 'utf8'));
|
|
30
|
+
const presenter = new OutputPresenter(globals.output, globals.format);
|
|
31
|
+
presenter.present({
|
|
32
|
+
toText: () => ['Cache Entry', 'Type: op', `Key: ${key}`, JSON.stringify(meta, null, 2)],
|
|
33
|
+
toData: () => ({ type: 'op', key, meta }),
|
|
34
|
+
});
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const tasksDir = join(cacheDir, 'tasks');
|
|
38
|
+
if (existsSync(tasksDir)) {
|
|
39
|
+
const tasks = await readdir(tasksDir);
|
|
40
|
+
for (const task of tasks) {
|
|
41
|
+
const taskMetaPath = join(tasksDir, task, key, 'meta.json');
|
|
42
|
+
if (!existsSync(taskMetaPath))
|
|
43
|
+
continue;
|
|
44
|
+
const meta = JSON.parse(await readFile(taskMetaPath, 'utf8'));
|
|
45
|
+
const presenter = new OutputPresenter(globals.output, globals.format);
|
|
46
|
+
presenter.present({
|
|
47
|
+
toText: () => [
|
|
48
|
+
'Cache Entry',
|
|
49
|
+
'Type: task',
|
|
50
|
+
`Task: ${task}`,
|
|
51
|
+
`Key: ${key}`,
|
|
52
|
+
JSON.stringify(meta, null, 2),
|
|
53
|
+
],
|
|
54
|
+
toData: () => ({ type: 'task', task, key, meta }),
|
|
55
|
+
});
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
const presenter = new OutputPresenter(globals.output, globals.format);
|
|
60
|
+
presenter.present({
|
|
61
|
+
toText: () => [`Cache entry "${key}" not found`],
|
|
62
|
+
toData: () => ({ found: false, key }),
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=inspect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../../../src/bin/commands/cache/inspect.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { BaseCommand } from '../base.js';
|
|
2
|
+
export default class CacheStatsCommand extends BaseCommand {
|
|
3
|
+
static summary: string;
|
|
4
|
+
static flags: {
|
|
5
|
+
file: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
6
|
+
config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
|
+
format: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
9
|
+
quiet: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
runner: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
llm: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
12
|
+
'llm-tail': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
color: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
};
|
|
15
|
+
run(): Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=stats.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../../src/bin/commands/cache/stats.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAe,MAAM,YAAY,CAAC;AActD,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,WAAW;IACxD,OAAgB,OAAO,SAA2B;IAElD,OAAgB,KAAK;;;;;;;;;;MAEnB;IAEa,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA+BpC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { join } from 'node:path';
|
|
2
|
+
import { CacheStore } from '../../../engine/cache/store.js';
|
|
3
|
+
import { OutputPresenter } from '../../infrastructure/output/presenter.js';
|
|
4
|
+
import { BaseCommand, globalFlags } from '../base.js';
|
|
5
|
+
const formatBytes = (value) => {
|
|
6
|
+
if (value < 1024)
|
|
7
|
+
return `${value} B`;
|
|
8
|
+
const units = ['KB', 'MB', 'GB', 'TB'];
|
|
9
|
+
let size = value;
|
|
10
|
+
let unitIndex = -1;
|
|
11
|
+
while (size >= 1024 && unitIndex < units.length - 1) {
|
|
12
|
+
size /= 1024;
|
|
13
|
+
unitIndex += 1;
|
|
14
|
+
}
|
|
15
|
+
return `${size.toFixed(1)} ${units[unitIndex]}`;
|
|
16
|
+
};
|
|
17
|
+
export default class CacheStatsCommand extends BaseCommand {
|
|
18
|
+
static summary = 'Show cache statistics';
|
|
19
|
+
static flags = {
|
|
20
|
+
...globalFlags,
|
|
21
|
+
};
|
|
22
|
+
async run() {
|
|
23
|
+
const { flags, raw } = await this.parse(CacheStatsCommand);
|
|
24
|
+
const rawArgs = this.rawArgsFromParse(raw);
|
|
25
|
+
const globals = await this.resolveGlobals(flags, rawArgs);
|
|
26
|
+
const cacheDir = globals.config.cache?.directory ?? join(globals.cwd, '.kitsi', 'cache');
|
|
27
|
+
const store = new CacheStore(cacheDir);
|
|
28
|
+
const stats = await store.stats();
|
|
29
|
+
const presenter = new OutputPresenter(globals.output, globals.format);
|
|
30
|
+
const taskLines = Object.entries(stats.byTask)
|
|
31
|
+
.sort(([a], [b]) => a.localeCompare(b))
|
|
32
|
+
.map(([task, entry]) => ` ${task} ${entry.entries} entries ${formatBytes(entry.sizeBytes)}`);
|
|
33
|
+
presenter.present({
|
|
34
|
+
toText: () => [
|
|
35
|
+
'Cache Statistics',
|
|
36
|
+
`Location: ${cacheDir}`,
|
|
37
|
+
`Entries: ${stats.entries}`,
|
|
38
|
+
`Size: ${formatBytes(stats.sizeBytes)}`,
|
|
39
|
+
...(taskLines.length > 0 ? ['By task:', ...taskLines] : []),
|
|
40
|
+
...(stats.ops.entries > 0
|
|
41
|
+
? [`Ops: ${stats.ops.entries} entries ${formatBytes(stats.ops.sizeBytes)}`]
|
|
42
|
+
: []),
|
|
43
|
+
],
|
|
44
|
+
toData: () => ({
|
|
45
|
+
location: cacheDir,
|
|
46
|
+
entries: stats.entries,
|
|
47
|
+
sizeBytes: stats.sizeBytes,
|
|
48
|
+
byTask: stats.byTask,
|
|
49
|
+
ops: stats.ops,
|
|
50
|
+
}),
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=stats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../../src/bin/commands/cache/stats.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export declare const matrixFlags: {
|
|
2
|
+
readonly matrix: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
3
|
+
readonly task: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
4
|
+
};
|
|
5
|
+
export declare const executionFlags: {
|
|
6
|
+
readonly workspace: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
|
+
readonly 'no-cache': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
8
|
+
readonly 'cache-debug': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
9
|
+
readonly 'cache-only': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
readonly 'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
readonly 'fail-fast': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
12
|
+
readonly 'continue-on-error': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
13
|
+
readonly timeout: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
};
|
|
15
|
+
export declare const inputFlags: {
|
|
16
|
+
readonly env: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
readonly secret: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
+
};
|
|
19
|
+
export declare const profileFlags: {
|
|
20
|
+
readonly profile: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
21
|
+
readonly 'save-profile': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
22
|
+
readonly interactive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
23
|
+
};
|
|
24
|
+
export declare const runFlags: {
|
|
25
|
+
readonly profile: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
26
|
+
readonly 'save-profile': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
27
|
+
readonly interactive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
28
|
+
readonly env: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
29
|
+
readonly secret: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
30
|
+
readonly workspace: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
31
|
+
readonly 'no-cache': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
32
|
+
readonly 'cache-debug': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
33
|
+
readonly 'cache-only': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
34
|
+
readonly 'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
35
|
+
readonly 'fail-fast': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
36
|
+
readonly 'continue-on-error': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
37
|
+
readonly timeout: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
38
|
+
readonly matrix: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
39
|
+
readonly task: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=flags.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../../../src/bin/commands/flags.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;;;CASd,CAAC;AAEX,eAAO,MAAM,cAAc;;;;;;;;;CA0BjB,CAAC;AAEX,eAAO,MAAM,UAAU;;;CASb,CAAC;AAEX,eAAO,MAAM,YAAY;;;;CAWf,CAAC;AAEX,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;CAKX,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { Flags } from '@oclif/core';
|
|
2
|
+
export const matrixFlags = {
|
|
3
|
+
matrix: Flags.string({
|
|
4
|
+
description: 'Override or filter matrix values',
|
|
5
|
+
multiple: true,
|
|
6
|
+
}),
|
|
7
|
+
task: Flags.string({
|
|
8
|
+
description: 'Run only specified tasks (repeatable, with dependencies)',
|
|
9
|
+
multiple: true,
|
|
10
|
+
}),
|
|
11
|
+
};
|
|
12
|
+
export const executionFlags = {
|
|
13
|
+
workspace: Flags.string({
|
|
14
|
+
char: 'w',
|
|
15
|
+
description: 'Working directory',
|
|
16
|
+
}),
|
|
17
|
+
'no-cache': Flags.boolean({
|
|
18
|
+
description: 'Disable cache reads and writes',
|
|
19
|
+
}),
|
|
20
|
+
'cache-debug': Flags.boolean({
|
|
21
|
+
description: 'Print cache keys and invalidation details',
|
|
22
|
+
}),
|
|
23
|
+
'cache-only': Flags.boolean({
|
|
24
|
+
description: 'Fail when a cache miss occurs',
|
|
25
|
+
}),
|
|
26
|
+
'dry-run': Flags.boolean({
|
|
27
|
+
description: 'Show what would run without executing',
|
|
28
|
+
}),
|
|
29
|
+
'fail-fast': Flags.boolean({
|
|
30
|
+
description: 'Stop on first task failure',
|
|
31
|
+
}),
|
|
32
|
+
'continue-on-error': Flags.boolean({
|
|
33
|
+
description: 'Run all tasks even if some fail',
|
|
34
|
+
}),
|
|
35
|
+
timeout: Flags.string({
|
|
36
|
+
description: 'Maximum execution time (ms, s, m, h, d)',
|
|
37
|
+
}),
|
|
38
|
+
};
|
|
39
|
+
export const inputFlags = {
|
|
40
|
+
env: Flags.string({
|
|
41
|
+
description: 'Set environment variable (key=value)',
|
|
42
|
+
multiple: true,
|
|
43
|
+
}),
|
|
44
|
+
secret: Flags.string({
|
|
45
|
+
description: 'Provide secret value (key=value)',
|
|
46
|
+
multiple: true,
|
|
47
|
+
}),
|
|
48
|
+
};
|
|
49
|
+
export const profileFlags = {
|
|
50
|
+
profile: Flags.string({
|
|
51
|
+
description: 'Load parameters from saved profile',
|
|
52
|
+
}),
|
|
53
|
+
'save-profile': Flags.string({
|
|
54
|
+
description: 'Save entered parameters as profile',
|
|
55
|
+
}),
|
|
56
|
+
interactive: Flags.boolean({
|
|
57
|
+
char: 'i',
|
|
58
|
+
description: 'Interactive mode for parameter input',
|
|
59
|
+
}),
|
|
60
|
+
};
|
|
61
|
+
export const runFlags = {
|
|
62
|
+
...matrixFlags,
|
|
63
|
+
...executionFlags,
|
|
64
|
+
...inputFlags,
|
|
65
|
+
...profileFlags,
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=flags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flags.js","sourceRoot":"","sources":["../../../src/bin/commands/flags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;QACnB,WAAW,EAAE,kCAAkC;QAC/C,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;QACjB,WAAW,EAAE,0DAA0D;QACvE,QAAQ,EAAE,IAAI;KACf,CAAC;CACM,CAAC;AAEX,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC;QACtB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,mBAAmB;KACjC,CAAC;IACF,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC;QACxB,WAAW,EAAE,gCAAgC;KAC9C,CAAC;IACF,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC;QAC3B,WAAW,EAAE,2CAA2C;KACzD,CAAC;IACF,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC;QAC1B,WAAW,EAAE,+BAA+B;KAC7C,CAAC;IACF,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;QACvB,WAAW,EAAE,uCAAuC;KACrD,CAAC;IACF,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC;QACzB,WAAW,EAAE,4BAA4B;KAC1C,CAAC;IACF,mBAAmB,EAAE,KAAK,CAAC,OAAO,CAAC;QACjC,WAAW,EAAE,iCAAiC;KAC/C,CAAC;IACF,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,yCAAyC;KACvD,CAAC;CACM,CAAC;AAEX,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC;QAChB,WAAW,EAAE,sCAAsC;QACnD,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;QACnB,WAAW,EAAE,kCAAkC;QAC/C,QAAQ,EAAE,IAAI;KACf,CAAC;CACM,CAAC;AAEX,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,oCAAoC;KAClD,CAAC;IACF,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC;QAC3B,WAAW,EAAE,oCAAoC;KAClD,CAAC;IACF,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC;QACzB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,sCAAsC;KACpD,CAAC;CACM,CAAC;AAEX,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,GAAG,WAAW;IACd,GAAG,cAAc;IACjB,GAAG,UAAU;IACb,GAAG,YAAY;CACP,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BaseCommand } from '../base.js';
|
|
2
|
+
export default class GitHubInitCommand extends BaseCommand {
|
|
3
|
+
static summary: string;
|
|
4
|
+
static flags: {
|
|
5
|
+
force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
6
|
+
plan: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
|
+
file: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
format: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
quiet: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
12
|
+
runner: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
13
|
+
llm: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
'llm-tail': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
color: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
16
|
+
};
|
|
17
|
+
run(): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=init.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../src/bin/commands/github/init.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAe,MAAM,YAAY,CAAC;AA0CtD,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,WAAW;IACxD,OAAgB,OAAO,SAAgD;IAEvE,OAAgB,KAAK;;;;;;;;;;;;MAQnB;IAEa,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAsDpC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { dirname, join } from 'node:path';
|
|
2
|
+
import { Flags } from '@oclif/core';
|
|
3
|
+
import { ExecutionError } from '../../errors/index.js';
|
|
4
|
+
import { loadRegistry } from '../../pipeline.js';
|
|
5
|
+
import { BaseCommand, globalFlags } from '../base.js';
|
|
6
|
+
function collectSecrets(_registry) {
|
|
7
|
+
// In a real implementation, this would analyze the pipeline DSL
|
|
8
|
+
// to extract secret references. For now, return an empty set.
|
|
9
|
+
// The actual implementation would traverse tasks and steps to find
|
|
10
|
+
// secret() calls.
|
|
11
|
+
return [];
|
|
12
|
+
}
|
|
13
|
+
function generateWorkflow(planName, _secrets, hasPr, hasMain) {
|
|
14
|
+
const planExpression = hasPr && hasMain
|
|
15
|
+
? "${{ github.event_name == 'pull_request' && 'pr' || 'main' }}"
|
|
16
|
+
: (planName ?? 'pr');
|
|
17
|
+
const yaml = `# Generated by: kitsi github init
|
|
18
|
+
name: CI
|
|
19
|
+
|
|
20
|
+
on:
|
|
21
|
+
push:
|
|
22
|
+
branches: [main]
|
|
23
|
+
pull_request:
|
|
24
|
+
|
|
25
|
+
jobs:
|
|
26
|
+
ci:
|
|
27
|
+
runs-on: ubuntu-latest
|
|
28
|
+
steps:
|
|
29
|
+
- uses: actions/checkout@v4
|
|
30
|
+
- uses: kitsi/action@v1
|
|
31
|
+
with:
|
|
32
|
+
plan: ${planExpression}
|
|
33
|
+
`;
|
|
34
|
+
return yaml;
|
|
35
|
+
}
|
|
36
|
+
export default class GitHubInitCommand extends BaseCommand {
|
|
37
|
+
static summary = 'Generate GitHub Actions workflow for Kitsi';
|
|
38
|
+
static flags = {
|
|
39
|
+
...globalFlags,
|
|
40
|
+
force: Flags.boolean({
|
|
41
|
+
description: 'Overwrite existing workflow file',
|
|
42
|
+
}),
|
|
43
|
+
plan: Flags.string({
|
|
44
|
+
description: 'Plan name to use in workflow',
|
|
45
|
+
}),
|
|
46
|
+
};
|
|
47
|
+
async run() {
|
|
48
|
+
const { flags, raw } = await this.parse(GitHubInitCommand);
|
|
49
|
+
const rawArgs = this.rawArgsFromParse(raw);
|
|
50
|
+
const globals = await this.resolveGlobals(flags, rawArgs);
|
|
51
|
+
const workflowDir = join(globals.cwd, '.github', 'workflows');
|
|
52
|
+
const workflowPath = join(workflowDir, 'kitsi.yml');
|
|
53
|
+
// Check if workflow already exists
|
|
54
|
+
if (globals.fs.existsSync(workflowPath) && !flags.force) {
|
|
55
|
+
throw new ExecutionError(`Workflow file ${workflowPath} already exists. Use --force to overwrite.`);
|
|
56
|
+
}
|
|
57
|
+
// Load registry to detect plans and secrets
|
|
58
|
+
let registry;
|
|
59
|
+
try {
|
|
60
|
+
registry = await loadRegistry(globals.cwd, globals.filePath);
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
// If pipeline can't be loaded, use defaults
|
|
64
|
+
registry = { plans: [] };
|
|
65
|
+
}
|
|
66
|
+
const planNames = registry.plans.map((p) => p.config.name);
|
|
67
|
+
const hasPr = planNames.includes('pr');
|
|
68
|
+
const hasMain = planNames.includes('main');
|
|
69
|
+
const secrets = collectSecrets(registry);
|
|
70
|
+
// Generate workflow
|
|
71
|
+
const workflow = generateWorkflow(flags.plan, secrets, hasPr, hasMain);
|
|
72
|
+
// Write workflow file
|
|
73
|
+
await globals.fs.mkdir(dirname(workflowPath), { recursive: true });
|
|
74
|
+
await globals.fs.writeFile(workflowPath, workflow);
|
|
75
|
+
if (globals.format === 'text') {
|
|
76
|
+
globals.output.line(`Created ${workflowPath}`);
|
|
77
|
+
if (secrets.length > 0) {
|
|
78
|
+
globals.output.line('');
|
|
79
|
+
globals.output.line('You may need to add secrets to your repository:');
|
|
80
|
+
for (const secret of secrets) {
|
|
81
|
+
globals.output.line(` - ${secret}`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
globals.output.write({
|
|
87
|
+
created: true,
|
|
88
|
+
path: workflowPath,
|
|
89
|
+
secrets,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../src/bin/commands/github/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { BaseCommand } from '../base.js';
|
|
2
|
+
export default class GitHubSecretsCommand extends BaseCommand {
|
|
3
|
+
static summary: string;
|
|
4
|
+
static flags: {
|
|
5
|
+
plan: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
6
|
+
file: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
|
+
config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
format: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
quiet: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
runner: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
12
|
+
llm: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
13
|
+
'llm-tail': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
color: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
15
|
+
};
|
|
16
|
+
run(): Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=secrets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../../../src/bin/commands/github/secrets.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAe,MAAM,YAAY,CAAC;AAiBtD,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,WAAW;IAC3D,OAAgB,OAAO,SAAsC;IAE7D,OAAgB,KAAK;;;;;;;;;;;MAMnB;IAEa,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAiDpC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Flags } from '@oclif/core';
|
|
2
|
+
import { InvalidArgumentsError } from '../../errors/index.js';
|
|
3
|
+
import { loadRegistry } from '../../pipeline.js';
|
|
4
|
+
import { BaseCommand, globalFlags } from '../base.js';
|
|
5
|
+
function collectSecretsFromRegistry(_registry, _planName) {
|
|
6
|
+
// In a real implementation, this would traverse the plan's tasks and steps
|
|
7
|
+
// to find secret() references. For now, return a placeholder.
|
|
8
|
+
// This requires AST analysis or runtime introspection of the DSL.
|
|
9
|
+
return [];
|
|
10
|
+
}
|
|
11
|
+
export default class GitHubSecretsCommand extends BaseCommand {
|
|
12
|
+
static summary = 'List secrets required for a plan';
|
|
13
|
+
static flags = {
|
|
14
|
+
...globalFlags,
|
|
15
|
+
plan: Flags.string({
|
|
16
|
+
description: 'Plan name to analyze',
|
|
17
|
+
required: true,
|
|
18
|
+
}),
|
|
19
|
+
};
|
|
20
|
+
async run() {
|
|
21
|
+
const { flags, raw } = await this.parse(GitHubSecretsCommand);
|
|
22
|
+
const rawArgs = this.rawArgsFromParse(raw);
|
|
23
|
+
const globals = await this.resolveGlobals(flags, rawArgs);
|
|
24
|
+
// Load registry
|
|
25
|
+
const registry = await loadRegistry(globals.cwd, globals.filePath);
|
|
26
|
+
// Validate plan exists
|
|
27
|
+
const plan = registry.plans.find((p) => p.config.name === flags.plan);
|
|
28
|
+
if (!plan) {
|
|
29
|
+
const available = registry.plans.map((p) => p.config.name).join(', ');
|
|
30
|
+
throw new InvalidArgumentsError(`Plan "${flags.plan}" not found. Available plans: ${available || 'none'}`);
|
|
31
|
+
}
|
|
32
|
+
// Collect secrets
|
|
33
|
+
const secrets = collectSecretsFromRegistry(registry, flags.plan);
|
|
34
|
+
if (globals.format === 'text') {
|
|
35
|
+
if (secrets.length === 0) {
|
|
36
|
+
globals.output.line(`No secrets required for plan "${flags.plan}"`);
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
globals.output.line(`Secrets required for plan "${flags.plan}":`);
|
|
40
|
+
for (const secret of secrets) {
|
|
41
|
+
const usedIn = secret.usedIn.join(', ');
|
|
42
|
+
globals.output.line(` ${secret.name.padEnd(24)} Used in: ${usedIn}`);
|
|
43
|
+
}
|
|
44
|
+
globals.output.line('');
|
|
45
|
+
globals.output.line('Add to your workflow:');
|
|
46
|
+
globals.output.line(' env:');
|
|
47
|
+
for (const secret of secrets) {
|
|
48
|
+
globals.output.line(` ${secret.name}: \${{ secrets.${secret.name} }}`);
|
|
49
|
+
}
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
globals.output.write({
|
|
53
|
+
plan: flags.plan,
|
|
54
|
+
secrets: secrets.map((s) => ({
|
|
55
|
+
name: s.name,
|
|
56
|
+
usedIn: s.usedIn,
|
|
57
|
+
})),
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=secrets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../../../src/bin/commands/github/secrets.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BaseCommand } from './base.js';
|
|
2
|
+
export default class GraphCommand extends BaseCommand {
|
|
3
|
+
static summary: string;
|
|
4
|
+
static args: {
|
|
5
|
+
plan: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
|
+
};
|
|
7
|
+
static flags: {
|
|
8
|
+
format: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
output: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
file: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
13
|
+
quiet: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
runner: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
15
|
+
llm: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
16
|
+
'llm-tail': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
color: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
18
|
+
};
|
|
19
|
+
run(): Promise<void>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=graph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../src/bin/commands/graph.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAuB,MAAM,WAAW,CAAC;AAiC7D,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAW;IACnD,OAAgB,OAAO,SAA+B;IAEtD,OAAgB,IAAI;;MAKlB;IAEF,OAAgB,KAAK;;;;;;;;;;;MASnB;IAEa,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA4BpC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { writeFile } from 'node:fs/promises';
|
|
2
|
+
import { Args, Flags } from '@oclif/core';
|
|
3
|
+
import { collectTaskDependencies } from '../../dsl/analysis.js';
|
|
4
|
+
import { PlanRepository } from '../../dsl/plan-repository.js';
|
|
5
|
+
import { InvalidArgumentsError } from '../errors/index.js';
|
|
6
|
+
import { OutputPresenter } from '../infrastructure/output/presenter.js';
|
|
7
|
+
import { loadRegistry } from '../pipeline.js';
|
|
8
|
+
import { BaseCommand, globalFlagsNoFormat } from './base.js';
|
|
9
|
+
const resolveGraphFormat = (value) => {
|
|
10
|
+
const format = value ?? 'dot';
|
|
11
|
+
if (format === 'dot' || format === 'json')
|
|
12
|
+
return format;
|
|
13
|
+
throw new InvalidArgumentsError(`Unsupported graph format "${format}"`);
|
|
14
|
+
};
|
|
15
|
+
const buildDotGraph = (plan, tasks, deps) => {
|
|
16
|
+
const lines = [`digraph "${plan.config.name}" {`];
|
|
17
|
+
for (const task of tasks) {
|
|
18
|
+
lines.push(` "${task.config.name}";`);
|
|
19
|
+
}
|
|
20
|
+
for (const dep of deps) {
|
|
21
|
+
lines.push(` "${dep.from}" -> "${dep.to}";`);
|
|
22
|
+
}
|
|
23
|
+
lines.push('}');
|
|
24
|
+
return `${lines.join('\n')}\n`;
|
|
25
|
+
};
|
|
26
|
+
const buildJsonGraph = (plan, tasks, deps) => JSON.stringify({
|
|
27
|
+
plan: plan.config.name,
|
|
28
|
+
nodes: tasks.map((task) => ({ id: task.config.name, type: 'task' })),
|
|
29
|
+
edges: deps.map((dep) => ({ from: dep.from, to: dep.to, type: dep.type })),
|
|
30
|
+
}, null, 2);
|
|
31
|
+
export default class GraphCommand extends BaseCommand {
|
|
32
|
+
static summary = 'Generate dependency graph';
|
|
33
|
+
static args = {
|
|
34
|
+
plan: Args.string({
|
|
35
|
+
description: 'Plan name',
|
|
36
|
+
required: true,
|
|
37
|
+
}),
|
|
38
|
+
};
|
|
39
|
+
static flags = {
|
|
40
|
+
...globalFlagsNoFormat,
|
|
41
|
+
format: Flags.string({
|
|
42
|
+
description: 'Graph format (dot|json)',
|
|
43
|
+
options: ['dot', 'json'],
|
|
44
|
+
}),
|
|
45
|
+
output: Flags.string({
|
|
46
|
+
description: 'Write to file',
|
|
47
|
+
}),
|
|
48
|
+
};
|
|
49
|
+
async run() {
|
|
50
|
+
const { args, flags, raw } = await this.parse(GraphCommand);
|
|
51
|
+
const rawArgs = this.rawArgsFromParse(raw);
|
|
52
|
+
const globals = await this.resolveGlobals({ ...flags, format: undefined }, rawArgs);
|
|
53
|
+
const registry = await loadRegistry(globals.cwd, globals.filePath);
|
|
54
|
+
const repo = new PlanRepository(registry.plans);
|
|
55
|
+
const plan = repo.getByName(args.plan);
|
|
56
|
+
const tasks = plan.expand();
|
|
57
|
+
const deps = collectTaskDependencies(tasks);
|
|
58
|
+
const format = resolveGraphFormat(flags.format);
|
|
59
|
+
const output = format === 'dot' ? buildDotGraph(plan, tasks, deps) : buildJsonGraph(plan, tasks, deps);
|
|
60
|
+
if (flags.output) {
|
|
61
|
+
await writeFile(flags.output, output);
|
|
62
|
+
if (globals.format === 'text') {
|
|
63
|
+
globals.output.line(`Wrote graph to ${flags.output}`);
|
|
64
|
+
}
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const presenter = new OutputPresenter(globals.output, globals.format);
|
|
68
|
+
presenter.present({
|
|
69
|
+
toText: () => output.trimEnd(),
|
|
70
|
+
toData: () => format === 'json' ? JSON.parse(output) : { format, graph: output.trimEnd() },
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=graph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../src/bin/commands/graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { BaseCommand } from './base.js';
|
|
2
|
+
export default class InitCommand extends BaseCommand {
|
|
3
|
+
static summary: string;
|
|
4
|
+
static flags: {
|
|
5
|
+
template: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
6
|
+
'no-types': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
7
|
+
minimal: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
8
|
+
force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
9
|
+
file: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
format: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
13
|
+
quiet: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
runner: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
15
|
+
llm: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
16
|
+
'llm-tail': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
color: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
18
|
+
};
|
|
19
|
+
run(): Promise<void>;
|
|
20
|
+
private buildInitContext;
|
|
21
|
+
private writePipelineFile;
|
|
22
|
+
private resolveSupportPaths;
|
|
23
|
+
private writeSupportFiles;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=init.d.ts.map
|