@fitlab-ai/agent-infra 0.9.13 → 0.9.15
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 +10 -0
- package/README.zh-CN.md +10 -0
- package/bin/cli.ts +26 -9
- package/bin/internal-cli.sh +45 -0
- package/dist/bin/cli.js +173 -157
- package/dist/bin/internal-cli.js +126 -42
- package/dist/lib/agent-client.js +5 -0
- package/dist/lib/agent-clients/adapters/codex-lifecycle/capability-store.js +165 -27
- package/dist/lib/agent-clients/adapters/codex-lifecycle/sandbox-controller.js +3 -2
- package/dist/lib/defaults.json +103 -103
- package/dist/lib/fs/durable-write.js +37 -0
- package/dist/lib/fs/file-lock.js +111 -0
- package/dist/lib/host-control/audit.js +19 -0
- package/dist/lib/host-control/client.js +142 -0
- package/dist/lib/host-control/command.js +49 -0
- package/dist/lib/host-control/path.js +160 -0
- package/dist/lib/host-control/secure-fs.js +140 -0
- package/dist/lib/host-control/server.js +159 -0
- package/dist/lib/host-control/service.js +112 -0
- package/dist/lib/init.js +11 -2
- package/dist/lib/internal/agent-client.js +5 -2
- package/dist/lib/internal/cli-route-inventory.js +154 -0
- package/dist/lib/internal/codex-lifecycle.js +15 -12
- package/dist/lib/internal/codex-sandbox-controller.js +8 -2
- package/dist/lib/internal/demo-promotion.js +322 -0
- package/dist/lib/internal/demo-transcript.js +454 -0
- package/dist/lib/internal/git-workflow.js +10 -6
- package/dist/lib/internal/host-control.js +28 -0
- package/dist/lib/internal/manual-validation.js +322 -0
- package/dist/lib/internal/platform-checks.js +16 -4
- package/dist/lib/internal/platform-comment.js +16 -4
- package/dist/lib/internal/platform-context.js +4 -1
- package/dist/lib/internal/platform-issue.js +12 -4
- package/dist/lib/internal/platform-metadata.js +88 -0
- package/dist/lib/internal/platform-pr-review.js +16 -3
- package/dist/lib/internal/platform-pr.js +42 -14
- package/dist/lib/internal/platform-release-notes.js +6 -3
- package/dist/lib/internal/platform-security.js +93 -0
- package/dist/lib/internal/pr-review-grade.js +14 -3
- package/dist/lib/internal/release-workflow.js +82 -89
- package/dist/lib/internal/sandbox-control.js +171 -7
- package/dist/lib/internal/task-activity.js +13 -4
- package/dist/lib/internal/task-artifact.js +19 -107
- package/dist/lib/internal/task-context.js +4 -1
- package/dist/lib/internal/task-create.js +48 -14
- package/dist/lib/internal/task-delivery.js +4 -1
- package/dist/lib/internal/task-event.js +38 -35
- package/dist/lib/internal/task-finalization.js +4 -1
- package/dist/lib/internal/task-invalidation.js +4 -1
- package/dist/lib/internal/task-ledger.js +12 -1
- package/dist/lib/internal/task-lifecycle.js +4 -1
- package/dist/lib/internal/task-operation-registry.js +519 -0
- package/dist/lib/internal/task-orchestration.js +12 -0
- package/dist/lib/internal/task-override.js +10 -3
- package/dist/lib/internal/task-qualification.js +90 -0
- package/dist/lib/internal/task-review.js +10 -52
- package/dist/lib/internal/task-short-id.js +11 -1
- package/dist/lib/internal/task-snapshot.js +4 -1
- package/dist/lib/internal/task-validate.js +37 -12
- package/dist/lib/internal/task-verify.js +5 -1
- package/dist/lib/internal/task-warning.js +8 -1
- package/dist/lib/owned-path.js +33 -0
- package/dist/lib/platform/check-status.js +11 -0
- package/dist/lib/platform/comment-safety.js +229 -0
- package/dist/lib/platform/completion-backfill.js +1 -1
- package/dist/lib/platform/github-data.js +241 -0
- package/dist/lib/platform/github-provider.js +248 -26
- package/dist/lib/platform/issue-comments.js +146 -34
- package/dist/lib/platform/issues.js +1 -179
- package/dist/lib/platform/pr-change-report.js +6 -12
- package/dist/lib/platform/pr-checks.js +12 -65
- package/dist/lib/platform/pr-summary.js +83 -10
- package/dist/lib/platform/provider-contract.d.ts +67 -1
- package/dist/lib/platform/provider-contract.js +6 -2
- package/dist/lib/platform/provider-validation.js +76 -3
- package/dist/lib/platform/pull-requests.js +117 -275
- package/dist/lib/platform/repository-metadata.js +377 -0
- package/dist/lib/platform/security-alerts.js +155 -0
- package/dist/lib/platform/snapshots.js +2 -0
- package/dist/lib/platform/verification-sync.js +154 -162
- package/dist/lib/process-data/index.js +7 -0
- package/dist/lib/release/workflow.js +1 -1
- package/dist/lib/run/index.js +5 -0
- package/dist/lib/sandbox/commands/control-status.js +22 -0
- package/dist/lib/sandbox/commands/create.js +39 -8
- package/dist/lib/sandbox/commands/ls.js +5 -0
- package/dist/lib/sandbox/commands/rm.js +3 -807
- package/dist/lib/sandbox/commands/show.js +16 -0
- package/dist/lib/sandbox/control/audit.js +203 -0
- package/dist/lib/sandbox/control/client.js +125 -12
- package/dist/lib/sandbox/control/completed-reentry.js +85 -0
- package/dist/lib/sandbox/control/container-identity.js +28 -31
- package/dist/lib/sandbox/control/executor.js +233 -34
- package/dist/lib/sandbox/control/finalization-response.js +27 -0
- package/dist/lib/sandbox/control/identity-sentinel.js +107 -0
- package/dist/lib/sandbox/control/lifecycle.js +656 -128
- package/dist/lib/sandbox/control/native-file-lock.js +85 -0
- package/dist/lib/sandbox/control/protocol.js +55 -4
- package/dist/lib/sandbox/control/server.js +720 -79
- package/dist/lib/sandbox/control/state.js +63 -3
- package/dist/lib/sandbox/control/task-view.js +183 -0
- package/dist/lib/sandbox/control/task-workflow.js +74 -0
- package/dist/lib/sandbox/control/workflow-executor.js +99 -0
- package/dist/lib/sandbox/engines/authority.js +289 -0
- package/dist/lib/sandbox/engines/docker-exact-discovery.js +97 -0
- package/dist/lib/sandbox/index.js +7 -2
- package/dist/lib/sandbox/recovery.js +49 -5
- package/dist/lib/sandbox/removal.js +1717 -0
- package/dist/lib/sandbox/task-cleanup.js +217 -0
- package/dist/lib/sandbox/workspace-view.js +15 -15
- package/dist/lib/sandbox/worktree-safety.js +4 -1
- package/dist/lib/server/index.js +8 -0
- package/dist/lib/task/activity-intent.js +2 -1
- package/dist/lib/task/activity-log.js +30 -24
- package/dist/lib/task/artifact-command.js +101 -0
- package/dist/lib/task/artifact-lifecycle.js +71 -40
- package/dist/lib/task/artifact-name.js +36 -0
- package/dist/lib/task/artifact-operations.js +474 -0
- package/dist/lib/task/artifact-receipts.js +3 -15
- package/dist/lib/task/artifact-repair-intent.js +130 -0
- package/dist/lib/task/artifact-schema.js +127 -0
- package/dist/lib/task/capabilities.js +83 -19
- package/dist/lib/task/codex-orchestration.js +71 -25
- package/dist/lib/task/commit-identity.js +28 -0
- package/dist/lib/task/commit-operation.js +2 -16
- package/dist/lib/task/control-authority.js +375 -5
- package/dist/lib/task/control-recovery.js +128 -0
- package/dist/lib/task/create-service.js +103 -4
- package/dist/lib/task/create.js +80 -2
- package/dist/lib/task/decision-details.js +2 -46
- package/dist/lib/task/events.js +306 -76
- package/dist/lib/task/finalization-state.js +9 -0
- package/dist/lib/task/human-override.js +3 -6
- package/dist/lib/task/implementation-inputs.js +3 -3
- package/dist/lib/task/index.js +11 -3
- package/dist/lib/task/intermediate-cleanup.js +383 -0
- package/dist/lib/task/invalidation.js +18 -65
- package/dist/lib/task/ledger-intents.js +7 -22
- package/dist/lib/task/ledger.js +1 -3
- package/dist/lib/task/lifecycle.js +19 -1
- package/dist/lib/task/local-artifact-finalization.js +190 -290
- package/dist/lib/task/manual-validation-completion.js +26 -0
- package/dist/lib/task/manual-validation-evidence.js +130 -0
- package/dist/lib/task/manual-validation-receipt.js +101 -0
- package/dist/lib/task/manual-validation-shared.js +40 -0
- package/dist/lib/task/manual-validation-transaction.js +243 -0
- package/dist/lib/task/markdown.js +47 -0
- package/dist/lib/task/orchestration.js +206 -69
- package/dist/lib/task/qualification-audit.js +476 -0
- package/dist/lib/task/qualification-confirmation.js +109 -0
- package/dist/lib/task/qualification-intents.js +148 -0
- package/dist/lib/task/review-artifacts.js +23 -40
- package/dist/lib/task/review-command.js +25 -0
- package/dist/lib/task/review-finalization.js +146 -97
- package/dist/lib/task/review-fingerprint.js +2 -2
- package/dist/lib/task/sections.js +34 -54
- package/dist/lib/task/verification-config.js +11 -0
- package/dist/lib/task/verification-engine.js +170 -327
- package/dist/lib/task/verification.js +1 -1
- package/dist/lib/task/workflow-command.js +17 -0
- package/dist/lib/task/workflow-warning-intents.js +0 -16
- package/dist/lib/task/workflow-warnings.js +28 -2
- package/dist/lib/update.js +2 -0
- package/dist/lifecycle-build-manifest.json +3 -3
- package/lib/agent-client.ts +9 -0
- package/lib/agent-clients/adapters/codex-lifecycle/capability-store.ts +223 -33
- package/lib/agent-clients/adapters/codex-lifecycle/sandbox-controller.ts +3 -2
- package/lib/fs/durable-write.ts +29 -0
- package/lib/fs/file-lock.ts +113 -0
- package/lib/host-control/audit.ts +22 -0
- package/lib/host-control/client.ts +172 -0
- package/lib/host-control/command.ts +60 -0
- package/lib/host-control/path.ts +167 -0
- package/lib/host-control/secure-fs.ts +135 -0
- package/lib/host-control/server.ts +180 -0
- package/lib/host-control/service.ts +133 -0
- package/lib/init.ts +15 -2
- package/lib/internal/agent-client.ts +4 -2
- package/lib/internal/cli-route-inventory.ts +142 -0
- package/lib/internal/codex-lifecycle.ts +14 -12
- package/lib/internal/codex-sandbox-controller.ts +7 -2
- package/lib/internal/demo-promotion.ts +354 -0
- package/lib/internal/demo-transcript.ts +419 -0
- package/lib/internal/git-workflow.ts +9 -6
- package/lib/internal/host-control.ts +28 -0
- package/lib/internal/manual-validation.ts +306 -0
- package/lib/internal/platform-checks.ts +12 -4
- package/lib/internal/platform-comment.ts +12 -4
- package/lib/internal/platform-context.ts +3 -1
- package/lib/internal/platform-issue.ts +11 -4
- package/lib/internal/platform-metadata.ts +70 -0
- package/lib/internal/platform-pr-review.ts +14 -3
- package/lib/internal/platform-pr.ts +38 -14
- package/lib/internal/platform-release-notes.ts +5 -3
- package/lib/internal/platform-security.ts +83 -0
- package/lib/internal/pr-review-grade.ts +10 -3
- package/lib/internal/release-workflow.ts +91 -87
- package/lib/internal/sandbox-control.ts +181 -6
- package/lib/internal/task-activity.ts +12 -4
- package/lib/internal/task-artifact.ts +15 -79
- package/lib/internal/task-context.ts +3 -1
- package/lib/internal/task-create.ts +76 -15
- package/lib/internal/task-delivery.ts +3 -1
- package/lib/internal/task-event.ts +21 -10
- package/lib/internal/task-finalization.ts +3 -1
- package/lib/internal/task-invalidation.ts +3 -1
- package/lib/internal/task-ledger.ts +11 -1
- package/lib/internal/task-lifecycle.ts +3 -1
- package/lib/internal/task-operation-registry.ts +590 -0
- package/lib/internal/task-orchestration.ts +12 -0
- package/lib/internal/task-override.ts +9 -3
- package/lib/internal/task-qualification.ts +61 -0
- package/lib/internal/task-review.ts +7 -50
- package/lib/internal/task-short-id.ts +10 -1
- package/lib/internal/task-snapshot.ts +3 -1
- package/lib/internal/task-validate.ts +32 -12
- package/lib/internal/task-verify.ts +4 -1
- package/lib/internal/task-warning.ts +7 -1
- package/lib/owned-path.ts +26 -0
- package/lib/platform/check-status.ts +9 -0
- package/lib/platform/comment-safety.ts +255 -0
- package/lib/platform/completion-backfill.ts +1 -1
- package/lib/platform/github-data.ts +322 -0
- package/lib/platform/github-provider.ts +244 -27
- package/lib/platform/issue-comments.ts +159 -35
- package/lib/platform/issues.ts +4 -245
- package/lib/platform/pr-change-report.ts +6 -12
- package/lib/platform/pr-checks.ts +13 -77
- package/lib/platform/pr-summary.ts +88 -11
- package/lib/platform/provider-contract.ts +78 -3
- package/lib/platform/provider-validation.ts +85 -3
- package/lib/platform/pull-requests.ts +129 -348
- package/lib/platform/repository-metadata.ts +453 -0
- package/lib/platform/security-alerts.ts +191 -0
- package/lib/platform/snapshots.ts +53 -0
- package/lib/platform/verification-sync.ts +171 -177
- package/lib/process-data/index.ts +7 -0
- package/lib/release/workflow.ts +3 -3
- package/lib/run/index.ts +5 -0
- package/lib/sandbox/commands/control-status.ts +26 -0
- package/lib/sandbox/commands/create.ts +53 -12
- package/lib/sandbox/commands/ls.ts +7 -0
- package/lib/sandbox/commands/rm.ts +3 -996
- package/lib/sandbox/commands/show.ts +16 -0
- package/lib/sandbox/control/audit.ts +253 -0
- package/lib/sandbox/control/client.ts +150 -13
- package/lib/sandbox/control/completed-reentry.ts +98 -0
- package/lib/sandbox/control/container-identity.ts +27 -43
- package/lib/sandbox/control/executor.ts +262 -37
- package/lib/sandbox/control/finalization-response.ts +29 -0
- package/lib/sandbox/control/identity-sentinel.ts +137 -0
- package/lib/sandbox/control/lifecycle.ts +672 -18
- package/lib/sandbox/control/native-file-lock.ts +108 -0
- package/lib/sandbox/control/protocol.ts +80 -8
- package/lib/sandbox/control/server.ts +779 -82
- package/lib/sandbox/control/state.ts +84 -3
- package/lib/sandbox/control/task-view.ts +240 -0
- package/lib/sandbox/control/task-workflow.ts +95 -0
- package/lib/sandbox/control/workflow-executor.ts +102 -0
- package/lib/sandbox/engines/authority.ts +365 -0
- package/lib/sandbox/engines/docker-exact-discovery.ts +132 -0
- package/lib/sandbox/index.ts +9 -2
- package/lib/sandbox/recovery.ts +49 -6
- package/lib/sandbox/removal.ts +2144 -0
- package/lib/sandbox/task-cleanup.ts +209 -0
- package/lib/sandbox/workspace-view.ts +26 -18
- package/lib/sandbox/worktree-safety.ts +4 -1
- package/lib/server/index.ts +10 -0
- package/lib/task/activity-intent.ts +2 -2
- package/lib/task/activity-log.ts +27 -19
- package/lib/task/artifact-command.ts +104 -0
- package/lib/task/artifact-lifecycle.ts +66 -39
- package/lib/task/artifact-name.ts +55 -0
- package/lib/task/artifact-operations.ts +580 -0
- package/lib/task/artifact-receipts.ts +3 -14
- package/lib/task/artifact-repair-intent.ts +152 -0
- package/lib/task/artifact-schema.ts +163 -0
- package/lib/task/capabilities.ts +82 -22
- package/lib/task/codex-orchestration.ts +85 -24
- package/lib/task/commit-identity.ts +31 -0
- package/lib/task/commit-operation.ts +2 -16
- package/lib/task/control-authority.ts +513 -6
- package/lib/task/control-recovery.ts +174 -0
- package/lib/task/create-service.ts +131 -6
- package/lib/task/create.ts +83 -1
- package/lib/task/decision-details.ts +3 -71
- package/lib/task/events.ts +292 -75
- package/lib/task/finalization-state.ts +11 -0
- package/lib/task/human-override.ts +3 -8
- package/lib/task/implementation-inputs.ts +3 -3
- package/lib/task/index.ts +16 -3
- package/lib/task/intermediate-cleanup.ts +455 -0
- package/lib/task/invalidation.ts +18 -62
- package/lib/task/ledger-intents.ts +7 -24
- package/lib/task/ledger.ts +1 -3
- package/lib/task/lifecycle.ts +17 -1
- package/lib/task/local-artifact-finalization.ts +223 -388
- package/lib/task/manual-validation-completion.ts +40 -0
- package/lib/task/manual-validation-evidence.ts +209 -0
- package/lib/task/manual-validation-receipt.ts +152 -0
- package/lib/task/manual-validation-shared.ts +50 -0
- package/lib/task/manual-validation-transaction.ts +304 -0
- package/lib/task/markdown.ts +70 -0
- package/lib/task/orchestration.ts +191 -68
- package/lib/task/qualification-audit.ts +588 -0
- package/lib/task/qualification-confirmation.ts +117 -0
- package/lib/task/qualification-intents.ts +150 -0
- package/lib/task/review-artifacts.ts +21 -41
- package/lib/task/review-command.ts +23 -0
- package/lib/task/review-finalization.ts +154 -153
- package/lib/task/review-fingerprint.ts +2 -2
- package/lib/task/sections.ts +33 -52
- package/lib/task/verification-config.ts +12 -0
- package/lib/task/verification-engine.ts +165 -370
- package/lib/task/verification-types.ts +17 -0
- package/lib/task/verification.ts +1 -1
- package/lib/task/workflow-command.ts +18 -0
- package/lib/task/workflow-warning-intents.ts +0 -13
- package/lib/task/workflow-warnings.ts +21 -2
- package/lib/update.ts +6 -0
- package/package.json +7 -2
- package/templates/.agents/hooks/lifecycle-delegation.js +6 -6
- package/templates/.agents/rules/README.en.md +2 -0
- package/templates/.agents/rules/README.zh-CN.md +2 -0
- package/templates/.agents/rules/decision-qualification.en.md +22 -0
- package/templates/.agents/rules/decision-qualification.zh-CN.md +22 -0
- package/templates/.agents/rules/evidence-reporting.en.md +28 -0
- package/templates/.agents/rules/evidence-reporting.zh-CN.md +28 -0
- package/templates/.agents/rules/label-milestone-setup.en.md +7 -7
- package/templates/.agents/rules/label-milestone-setup.zh-CN.md +7 -7
- package/templates/.agents/rules/local-artifact-repair.en.md +5 -1
- package/templates/.agents/rules/local-artifact-repair.zh-CN.md +5 -1
- package/templates/.agents/rules/security-alerts.en.md +8 -8
- package/templates/.agents/rules/security-alerts.zh-CN.md +8 -8
- package/templates/.agents/rules/testing-discipline.en.md +2 -0
- package/templates/.agents/rules/testing-discipline.zh-CN.md +2 -0
- package/templates/.agents/scripts/package.json +3 -0
- package/templates/.agents/skills/analyze-task/SKILL.en.md +15 -2
- package/templates/.agents/skills/analyze-task/SKILL.zh-CN.md +19 -2
- package/templates/.agents/skills/analyze-task/config/verify.en.json +1 -12
- package/templates/.agents/skills/analyze-task/config/verify.zh-CN.json +1 -12
- package/templates/.agents/skills/close-codescan/SKILL.en.md +2 -2
- package/templates/.agents/skills/close-codescan/SKILL.zh-CN.md +2 -2
- package/templates/.agents/skills/close-dependabot/SKILL.en.md +2 -2
- package/templates/.agents/skills/close-dependabot/SKILL.zh-CN.md +2 -2
- package/templates/.agents/skills/code-task/SKILL.en.md +14 -1
- package/templates/.agents/skills/code-task/SKILL.zh-CN.md +14 -1
- package/templates/.agents/skills/code-task/config/verify.en.json +5 -14
- package/templates/.agents/skills/code-task/config/verify.zh-CN.json +5 -14
- package/templates/.agents/skills/code-task/reference/code-rules.en.md +5 -4
- package/templates/.agents/skills/code-task/reference/code-rules.zh-CN.md +5 -4
- package/templates/.agents/skills/code-task/reference/dual-mode.en.md +1 -1
- package/templates/.agents/skills/code-task/reference/dual-mode.zh-CN.md +1 -1
- package/templates/.agents/skills/code-task/reference/fix-mode.en.md +3 -1
- package/templates/.agents/skills/code-task/reference/fix-mode.zh-CN.md +3 -1
- package/templates/.agents/skills/code-task/reference/report-template.en.md +42 -15
- package/templates/.agents/skills/code-task/reference/report-template.zh-CN.md +39 -12
- package/templates/.agents/skills/complete-manual-validation/SKILL.en.md +37 -21
- package/templates/.agents/skills/complete-manual-validation/SKILL.zh-CN.md +37 -21
- package/templates/.agents/skills/complete-manual-validation/config/verify.en.json +1 -1
- package/templates/.agents/skills/complete-manual-validation/config/verify.zh-CN.json +1 -1
- package/templates/.agents/skills/complete-manual-validation/reference/report-template.en.md +4 -0
- package/templates/.agents/skills/complete-manual-validation/reference/report-template.zh-CN.md +4 -0
- package/templates/.agents/skills/complete-manual-validation/reference/summary-update.en.md +16 -7
- package/templates/.agents/skills/complete-manual-validation/reference/summary-update.zh-CN.md +16 -7
- package/templates/.agents/skills/complete-task/SKILL.en.md +10 -23
- package/templates/.agents/skills/complete-task/SKILL.zh-CN.md +10 -23
- package/templates/.agents/skills/create-task/SKILL.en.md +8 -0
- package/templates/.agents/skills/create-task/SKILL.zh-CN.md +7 -0
- package/templates/.agents/skills/import-codescan/SKILL.en.md +1 -1
- package/templates/.agents/skills/import-codescan/SKILL.zh-CN.md +1 -1
- package/templates/.agents/skills/import-dependabot/SKILL.en.md +1 -1
- package/templates/.agents/skills/import-dependabot/SKILL.zh-CN.md +1 -1
- package/templates/.agents/skills/init-labels/SKILL.en.md +8 -8
- package/templates/.agents/skills/init-labels/SKILL.zh-CN.md +8 -8
- package/templates/.agents/skills/init-milestones/SKILL.en.md +9 -11
- package/templates/.agents/skills/init-milestones/SKILL.zh-CN.md +9 -11
- package/templates/.agents/skills/plan-task/SKILL.en.md +14 -1
- package/templates/.agents/skills/plan-task/SKILL.zh-CN.md +16 -1
- package/templates/.agents/skills/plan-task/config/verify.en.json +4 -14
- package/templates/.agents/skills/plan-task/config/verify.zh-CN.json +4 -14
- package/templates/.agents/skills/release/SKILL.en.md +7 -3
- package/templates/.agents/skills/release/SKILL.zh-CN.md +7 -3
- package/templates/.agents/skills/review-analysis/SKILL.en.md +14 -1
- package/templates/.agents/skills/review-analysis/SKILL.zh-CN.md +14 -1
- package/templates/.agents/skills/review-analysis/config/verify.en.json +1 -18
- package/templates/.agents/skills/review-analysis/config/verify.zh-CN.json +1 -18
- package/templates/.agents/skills/review-analysis/reference/report-template.en.md +50 -23
- package/templates/.agents/skills/review-analysis/reference/report-template.zh-CN.md +45 -18
- package/templates/.agents/skills/review-code/SKILL.en.md +14 -1
- package/templates/.agents/skills/review-code/SKILL.zh-CN.md +14 -1
- package/templates/.agents/skills/review-code/config/verify.en.json +1 -23
- package/templates/.agents/skills/review-code/config/verify.zh-CN.json +1 -23
- package/templates/.agents/skills/review-code/reference/report-template.en.md +49 -22
- package/templates/.agents/skills/review-code/reference/report-template.zh-CN.md +45 -18
- package/templates/.agents/skills/review-plan/SKILL.en.md +14 -1
- package/templates/.agents/skills/review-plan/SKILL.zh-CN.md +14 -1
- package/templates/.agents/skills/review-plan/config/verify.en.json +1 -18
- package/templates/.agents/skills/review-plan/config/verify.zh-CN.json +1 -18
- package/templates/.agents/skills/review-plan/reference/report-template.en.md +49 -22
- package/templates/.agents/skills/review-plan/reference/report-template.zh-CN.md +45 -18
- package/templates/.agents/skills/review-pr/SKILL.en.md +5 -1
- package/templates/.agents/skills/review-pr/SKILL.zh-CN.md +5 -1
- package/templates/.agents/skills/review-pr/reference/report-template.en.md +4 -3
- package/templates/.agents/skills/review-pr/reference/report-template.zh-CN.md +4 -3
- package/templates/.agents/skills/run-manual-validation/SKILL.en.md +25 -4
- package/templates/.agents/skills/run-manual-validation/SKILL.zh-CN.md +25 -4
- package/templates/.agents/skills/run-manual-validation/reference/discovery-and-execution.en.md +4 -1
- package/templates/.agents/skills/run-manual-validation/reference/discovery-and-execution.zh-CN.md +4 -1
- package/templates/.agents/skills/run-manual-validation/reference/report-template.en.md +5 -1
- package/templates/.agents/skills/run-manual-validation/reference/report-template.zh-CN.md +5 -1
- package/templates/.agents/skills/run-task/SKILL.en.md +1 -1
- package/templates/.agents/skills/run-task/SKILL.zh-CN.md +1 -1
- package/templates/.agents/skills/test/SKILL.en.md +29 -7
- package/templates/.agents/skills/test/SKILL.zh-CN.md +29 -7
- package/templates/.agents/skills/update-agent-infra/scripts/sync-templates.js +14 -0
- package/templates/.agents/templates/task.en.md +6 -0
- package/templates/.agents/templates/task.zh-CN.md +6 -0
- package/templates/.claude/commands/run-manual-validation.en.md +1 -1
- package/templates/.claude/commands/run-manual-validation.zh-CN.md +1 -1
- package/dist/lib/platform/adapters.js +0 -56
- package/lib/platform/adapters.ts +0 -197
- package/templates/.agents/scripts/security-alerts.github.sh +0 -151
- package/templates/.agents/scripts/security-alerts.sh +0 -31
- package/templates/.agents/skills/init-labels/scripts/init-labels.github.sh +0 -146
- package/templates/.agents/skills/init-labels/scripts/init-labels.sh +0 -32
- package/templates/.agents/skills/init-milestones/scripts/init-milestones.github.sh +0 -294
- package/templates/.agents/skills/init-milestones/scripts/init-milestones.sh +0 -6
package/README.md
CHANGED
|
@@ -93,6 +93,16 @@ Every command above works the same way in Claude Code, Codex, Antigravity CLI, a
|
|
|
93
93
|
- **AI-assisted updates**: template changes can be merged while preserving project-specific customization
|
|
94
94
|
- **Auditable process-data archive**: preserve local tasks and GitHub evidence in append-only, verifiable snapshots
|
|
95
95
|
|
|
96
|
+
### Sandbox control boundary
|
|
97
|
+
|
|
98
|
+
Task-bound sandboxes use a host-only control service for lifecycle and workflow writes. On Linux its fixed endpoint is `/run/user/<uid>/agent-infra/host-control.sock`; on macOS it is `/Users/<login>/Library/Application Support/agent-infra/run/host-control.sock`, resolved from the account identity rather than `HOME` or `TMPDIR`. The service directory is private (`0700`) and the socket is private (`0600`). If the endpoint or sandbox identity is unavailable, task-control commands fail closed.
|
|
99
|
+
|
|
100
|
+
The shell installer creates and starts the user-scoped service through systemd user units on Linux or launchd user agents on macOS. After a manual npm install, run `agent-infra-internal host-control install`, then enable the generated user service; `agent-infra-internal host-control status` reports endpoint health. No root or setuid service is required.
|
|
101
|
+
|
|
102
|
+
On macOS, the installer retries service registration during reload. If registration or startup still fails, it exits with an error and a recovery command.
|
|
103
|
+
|
|
104
|
+
The task directory exposed inside a task-bound sandbox is a writable projection. Artifact commands accept only typed workflow operations and canonical artifact basenames. The host opens candidates with `O_NOFOLLOW`, reads and hashes them through one file descriptor, checks observable metadata changes, and atomically lands validated bytes into the authoritative task directory. Changes to the projection's protected topology fail closed and never turn the projection into task state.
|
|
105
|
+
|
|
96
106
|
## Quick Start
|
|
97
107
|
|
|
98
108
|
### 1. Install agent-infra
|
package/README.zh-CN.md
CHANGED
|
@@ -92,6 +92,16 @@ agent-infra 的目标就是把这层共享基础设施标准化。它为所有
|
|
|
92
92
|
- **AI 辅助升级**:模板升级时可合并变更,同时尽量保留项目侧定制
|
|
93
93
|
- **可审计的过程数据归档**:把本地任务与 GitHub 证据保存为只追加、可校验的快照
|
|
94
94
|
|
|
95
|
+
### 沙箱控制边界
|
|
96
|
+
|
|
97
|
+
任务沙箱的生命周期和工作流写操作由宿主专用控制服务执行。Linux 固定端点为 `/run/user/<uid>/agent-infra/host-control.sock`;macOS 固定端点为 `/Users/<login>/Library/Application Support/agent-infra/run/host-control.sock`,路径根据账户身份解析,不读取 `HOME` 或 `TMPDIR`。服务目录权限为 `0700`,socket 权限为 `0600`。端点或沙箱身份不可用时,task-control 命令会失败关闭。
|
|
98
|
+
|
|
99
|
+
Shell 安装脚本会在 Linux 通过 systemd 用户单元、在 macOS 通过 launchd 用户代理创建并启动该服务。手动 npm 安装后,可运行 `agent-infra-internal host-control install` 创建服务配置,再启用对应的用户服务;`agent-infra-internal host-control status` 可检查端点健康状态。整个服务不需要 root 或 setuid。
|
|
100
|
+
|
|
101
|
+
macOS 重载期间,安装脚本会重试服务注册;若最终仍无法注册或启动,则以错误退出并提供恢复命令。
|
|
102
|
+
|
|
103
|
+
任务沙箱内的 task 目录是可写投影。产物命令只接受类型化 workflow 操作和规范的产物 basename。宿主使用 `O_NOFOLLOW` 打开候选文件,通过同一个文件描述符读取并计算摘要,检查可观察的元数据变化,再把已校验字节原子落入权威 task 目录。投影的受保护拓扑发生变化时会失败关闭,投影修改不会变成任务状态。
|
|
104
|
+
|
|
95
105
|
## 快速开始
|
|
96
106
|
|
|
97
107
|
### 1. 安装 agent-infra
|
package/bin/cli.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { VERSION } from '../lib/version.ts';
|
|
3
|
+
import {
|
|
4
|
+
formatTaskViewDiagnostic,
|
|
5
|
+
guardTaskOperation,
|
|
6
|
+
TaskViewOperationError
|
|
7
|
+
} from '../lib/internal/task-operation-registry.ts';
|
|
8
|
+
import { PUBLIC_CLI_COMMAND_ALIASES } from '../lib/internal/cli-route-inventory.ts';
|
|
3
9
|
|
|
4
10
|
// Node.js version check
|
|
5
11
|
const [major = 0, minor = 0] = process.versions.node.split('.').map((part) => parseInt(part, 10));
|
|
@@ -15,7 +21,7 @@ const USAGE = `agent-infra ${VERSION} - bootstrap AI collaboration infrastructur
|
|
|
15
21
|
Usage: ai <command> [options]
|
|
16
22
|
|
|
17
23
|
Commands:
|
|
18
|
-
agent-client List,
|
|
24
|
+
agent-client List, status, enable, disable, or configure Agent Clients
|
|
19
25
|
cp <ssh-alias> Copy local clipboard image to a remote macOS clipboard or Linux sandbox over SSH
|
|
20
26
|
data Capture, verify, audit, repair, and export process data
|
|
21
27
|
decide Record a ruling; code-stage decisions require explicit implementation intent
|
|
@@ -43,16 +49,27 @@ Examples:
|
|
|
43
49
|
npx @fitlab-ai/agent-infra init
|
|
44
50
|
`;
|
|
45
51
|
|
|
46
|
-
const COMMAND_ALIASES: Record<string, string> = {
|
|
47
|
-
s: 'sandbox',
|
|
48
|
-
t: 'task'
|
|
49
|
-
};
|
|
50
|
-
|
|
51
52
|
const rawCommand = process.argv[2] || '';
|
|
52
|
-
const command = Object.hasOwn(
|
|
53
|
-
?
|
|
53
|
+
const command = Object.hasOwn(PUBLIC_CLI_COMMAND_ALIASES, rawCommand)
|
|
54
|
+
? PUBLIC_CLI_COMMAND_ALIASES[rawCommand as keyof typeof PUBLIC_CLI_COMMAND_ALIASES]
|
|
54
55
|
: rawCommand;
|
|
55
56
|
|
|
57
|
+
let taskViewGuardFailed = false;
|
|
58
|
+
try {
|
|
59
|
+
const guard = guardTaskOperation('public', command ?? '', process.argv.slice(3));
|
|
60
|
+
if (guard.taskView && guard.descriptor.effect === 'diagnostic') {
|
|
61
|
+
process.stderr.write(formatTaskViewDiagnostic(guard.taskView));
|
|
62
|
+
}
|
|
63
|
+
} catch (error) {
|
|
64
|
+
taskViewGuardFailed = true;
|
|
65
|
+
if (error instanceof TaskViewOperationError) {
|
|
66
|
+
process.stderr.write(`${error.message}\n`);
|
|
67
|
+
process.exitCode = error.exitCode;
|
|
68
|
+
} else {
|
|
69
|
+
throw error;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
56
73
|
function errorMessage(error: unknown): string {
|
|
57
74
|
return error instanceof Error ? error.message : String(error);
|
|
58
75
|
}
|
|
@@ -73,7 +90,7 @@ async function importCommand(importPath: string) {
|
|
|
73
90
|
}
|
|
74
91
|
}
|
|
75
92
|
|
|
76
|
-
switch (command) {
|
|
93
|
+
if (!taskViewGuardFailed) switch (command) {
|
|
77
94
|
case 'agent-client': {
|
|
78
95
|
const imported = await importCommand('../lib/agent-client.ts');
|
|
79
96
|
if (!imported) break;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
set -eu
|
|
3
|
+
|
|
4
|
+
script_path=$0
|
|
5
|
+
case "$script_path" in
|
|
6
|
+
[A-Za-z]:*)
|
|
7
|
+
drive=${script_path%"${script_path#?}"}
|
|
8
|
+
drive=$(printf '%s' "$drive" | tr '[:upper:]' '[:lower:]')
|
|
9
|
+
script_path="/${drive}${script_path#?:}"
|
|
10
|
+
script_path=$(printf '%s' "$script_path" | tr '\\' '/')
|
|
11
|
+
;;
|
|
12
|
+
/*) ;;
|
|
13
|
+
*) script_path=$PWD/$script_path ;;
|
|
14
|
+
esac
|
|
15
|
+
while [ -L "$script_path" ]; do
|
|
16
|
+
link_target=$(readlink "$script_path")
|
|
17
|
+
case "$link_target" in
|
|
18
|
+
/*) script_path=$link_target ;;
|
|
19
|
+
*) script_path=$(dirname -- "$script_path")/$link_target ;;
|
|
20
|
+
esac
|
|
21
|
+
done
|
|
22
|
+
script_dir=$(CDPATH= cd -- "$(dirname -- "$script_path")" && pwd -P)
|
|
23
|
+
if [ -f "$script_dir/internal-cli.js" ]; then
|
|
24
|
+
internal_cli="$script_dir/internal-cli.js"
|
|
25
|
+
else
|
|
26
|
+
internal_cli="$script_dir/../dist/bin/internal-cli.js"
|
|
27
|
+
fi
|
|
28
|
+
|
|
29
|
+
command=${1-}
|
|
30
|
+
task_control_command=false
|
|
31
|
+
case "$command" in
|
|
32
|
+
task-lifecycle|task-orchestration|task-finalization) task_control_command=true ;;
|
|
33
|
+
esac
|
|
34
|
+
|
|
35
|
+
status_mount_present=false
|
|
36
|
+
if [ -d /run/agent-infra/control-status ]; then status_mount_present=true; fi
|
|
37
|
+
launch_config=${AGENT_INFRA_TASK_ID-}${AGENT_INFRA_CONTROL_TOKEN-}${AGENT_INFRA_CONTROL_GENERATION-}${AGENT_INFRA_CONTROL_DIR-}${AGENT_INFRA_CONTROL_STATUS_DIR-}${AGENT_INFRA_RUNTIME_DIR-}${AGENT_INFRA_EXECUTOR_MANIFEST-}
|
|
38
|
+
if [ "$task_control_command" = true ] && [ "$status_mount_present" = true ] && [ -z "$launch_config" ] && [ -z "${AGENT_INFRA_TEST_HOST_CONTROL_ENDPOINT-}" ]; then
|
|
39
|
+
printf '%s\n' '{"status":"failed","changed":false,"error":{"code":"SANDBOX_CONTROL_IDENTITY_MISSING","message":"sandbox control identity is present but its launch configuration is missing"}}'
|
|
40
|
+
exit 1
|
|
41
|
+
fi
|
|
42
|
+
# The outer launcher owns the Node startup boundary. A task-bound process must
|
|
43
|
+
# not pass preload, import, or loader injection into the control router.
|
|
44
|
+
unset NODE_OPTIONS NODE_PATH
|
|
45
|
+
exec node "$internal_cli" "$@"
|
package/dist/bin/cli.js
CHANGED
|
@@ -8,6 +8,8 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
|
|
|
8
8
|
return path;
|
|
9
9
|
};
|
|
10
10
|
import { VERSION } from '../lib/version.js';
|
|
11
|
+
import { formatTaskViewDiagnostic, guardTaskOperation, TaskViewOperationError } from '../lib/internal/task-operation-registry.js';
|
|
12
|
+
import { PUBLIC_CLI_COMMAND_ALIASES } from '../lib/internal/cli-route-inventory.js';
|
|
11
13
|
// Node.js version check
|
|
12
14
|
const [major = 0, minor = 0] = process.versions.node.split('.').map((part) => parseInt(part, 10));
|
|
13
15
|
if (major < 22 || (major === 22 && minor < 9)) {
|
|
@@ -19,7 +21,7 @@ const USAGE = `agent-infra ${VERSION} - bootstrap AI collaboration infrastructur
|
|
|
19
21
|
Usage: ai <command> [options]
|
|
20
22
|
|
|
21
23
|
Commands:
|
|
22
|
-
agent-client List,
|
|
24
|
+
agent-client List, status, enable, disable, or configure Agent Clients
|
|
23
25
|
cp <ssh-alias> Copy local clipboard image to a remote macOS clipboard or Linux sandbox over SSH
|
|
24
26
|
data Capture, verify, audit, repair, and export process data
|
|
25
27
|
decide Record a ruling; code-stage decisions require explicit implementation intent
|
|
@@ -46,14 +48,27 @@ Examples:
|
|
|
46
48
|
cd my-project && ai init
|
|
47
49
|
npx @fitlab-ai/agent-infra init
|
|
48
50
|
`;
|
|
49
|
-
const COMMAND_ALIASES = {
|
|
50
|
-
s: 'sandbox',
|
|
51
|
-
t: 'task'
|
|
52
|
-
};
|
|
53
51
|
const rawCommand = process.argv[2] || '';
|
|
54
|
-
const command = Object.hasOwn(
|
|
55
|
-
?
|
|
52
|
+
const command = Object.hasOwn(PUBLIC_CLI_COMMAND_ALIASES, rawCommand)
|
|
53
|
+
? PUBLIC_CLI_COMMAND_ALIASES[rawCommand]
|
|
56
54
|
: rawCommand;
|
|
55
|
+
let taskViewGuardFailed = false;
|
|
56
|
+
try {
|
|
57
|
+
const guard = guardTaskOperation('public', command ?? '', process.argv.slice(3));
|
|
58
|
+
if (guard.taskView && guard.descriptor.effect === 'diagnostic') {
|
|
59
|
+
process.stderr.write(formatTaskViewDiagnostic(guard.taskView));
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
taskViewGuardFailed = true;
|
|
64
|
+
if (error instanceof TaskViewOperationError) {
|
|
65
|
+
process.stderr.write(`${error.message}\n`);
|
|
66
|
+
process.exitCode = error.exitCode;
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
throw error;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
57
72
|
function errorMessage(error) {
|
|
58
73
|
return error instanceof Error ? error.message : String(error);
|
|
59
74
|
}
|
|
@@ -71,164 +86,165 @@ async function importCommand(importPath) {
|
|
|
71
86
|
throw error;
|
|
72
87
|
}
|
|
73
88
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
process.
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
88
|
-
case 'cp': {
|
|
89
|
-
const imported = await importCommand('../lib/cp.ts');
|
|
90
|
-
if (!imported)
|
|
91
|
-
break;
|
|
92
|
-
const { cmdCp } = imported;
|
|
93
|
-
const code = await cmdCp(process.argv.slice(3)).catch((e) => {
|
|
94
|
-
process.stderr.write(`Error: ${errorMessage(e)}\n`);
|
|
95
|
-
return 1;
|
|
96
|
-
});
|
|
97
|
-
if (code)
|
|
98
|
-
process.exitCode = code;
|
|
99
|
-
break;
|
|
100
|
-
}
|
|
101
|
-
case 'data': {
|
|
102
|
-
const imported = await importCommand('../lib/process-data/index.ts');
|
|
103
|
-
if (!imported)
|
|
104
|
-
break;
|
|
105
|
-
const { cmdData } = imported;
|
|
106
|
-
const code = await cmdData(process.argv.slice(3)).catch((e) => {
|
|
107
|
-
process.stderr.write(`Error: ${errorMessage(e)}\n`);
|
|
108
|
-
return 1;
|
|
109
|
-
});
|
|
110
|
-
if (code)
|
|
111
|
-
process.exitCode = code;
|
|
112
|
-
break;
|
|
113
|
-
}
|
|
114
|
-
case 'decide': {
|
|
115
|
-
const imported = await importCommand('../lib/decide.ts');
|
|
116
|
-
if (!imported)
|
|
89
|
+
if (!taskViewGuardFailed)
|
|
90
|
+
switch (command) {
|
|
91
|
+
case 'agent-client': {
|
|
92
|
+
const imported = await importCommand('../lib/agent-client.ts');
|
|
93
|
+
if (!imported)
|
|
94
|
+
break;
|
|
95
|
+
const { cmdAgentClient } = imported;
|
|
96
|
+
const code = await cmdAgentClient(process.argv.slice(3)).catch((e) => {
|
|
97
|
+
process.stderr.write(`Error: ${errorMessage(e)}\n`);
|
|
98
|
+
return 1;
|
|
99
|
+
});
|
|
100
|
+
if (code)
|
|
101
|
+
process.exitCode = code;
|
|
117
102
|
break;
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
103
|
+
}
|
|
104
|
+
case 'cp': {
|
|
105
|
+
const imported = await importCommand('../lib/cp.ts');
|
|
106
|
+
if (!imported)
|
|
107
|
+
break;
|
|
108
|
+
const { cmdCp } = imported;
|
|
109
|
+
const code = await cmdCp(process.argv.slice(3)).catch((e) => {
|
|
110
|
+
process.stderr.write(`Error: ${errorMessage(e)}\n`);
|
|
111
|
+
return 1;
|
|
112
|
+
});
|
|
113
|
+
if (code)
|
|
114
|
+
process.exitCode = code;
|
|
125
115
|
break;
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
process.
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
116
|
+
}
|
|
117
|
+
case 'data': {
|
|
118
|
+
const imported = await importCommand('../lib/process-data/index.ts');
|
|
119
|
+
if (!imported)
|
|
120
|
+
break;
|
|
121
|
+
const { cmdData } = imported;
|
|
122
|
+
const code = await cmdData(process.argv.slice(3)).catch((e) => {
|
|
123
|
+
process.stderr.write(`Error: ${errorMessage(e)}\n`);
|
|
124
|
+
return 1;
|
|
125
|
+
});
|
|
126
|
+
if (code)
|
|
127
|
+
process.exitCode = code;
|
|
136
128
|
break;
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
case 'run': {
|
|
145
|
-
const imported = await importCommand('../lib/run/index.ts');
|
|
146
|
-
if (!imported)
|
|
129
|
+
}
|
|
130
|
+
case 'decide': {
|
|
131
|
+
const imported = await importCommand('../lib/decide.ts');
|
|
132
|
+
if (!imported)
|
|
133
|
+
break;
|
|
134
|
+
const { cmdDecide } = imported;
|
|
135
|
+
await cmdDecide(process.argv.slice(3));
|
|
147
136
|
break;
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
process.stderr.write(`Error: ${errorMessage(e)}\n`);
|
|
159
|
-
process.exit(1);
|
|
160
|
-
});
|
|
161
|
-
break;
|
|
162
|
-
}
|
|
163
|
-
case 'server': {
|
|
164
|
-
const imported = await importCommand('../lib/server/index.ts');
|
|
165
|
-
if (!imported)
|
|
166
|
-
break;
|
|
167
|
-
const { runServer } = imported;
|
|
168
|
-
await runServer(process.argv.slice(3)).catch((e) => {
|
|
169
|
-
process.stderr.write(`Error: ${errorMessage(e)}\n`);
|
|
170
|
-
process.exit(1);
|
|
171
|
-
});
|
|
172
|
-
break;
|
|
173
|
-
}
|
|
174
|
-
case 'task': {
|
|
175
|
-
const imported = await importCommand('../lib/task/index.ts');
|
|
176
|
-
if (!imported)
|
|
177
|
-
break;
|
|
178
|
-
const { runTask } = imported;
|
|
179
|
-
await runTask(process.argv.slice(3)).catch((e) => {
|
|
180
|
-
process.stderr.write(`Error: ${errorMessage(e)}\n`);
|
|
181
|
-
process.exit(1);
|
|
182
|
-
});
|
|
183
|
-
break;
|
|
184
|
-
}
|
|
185
|
-
case 'update': {
|
|
186
|
-
const imported = await importCommand('../lib/self-update.ts');
|
|
187
|
-
if (!imported)
|
|
137
|
+
}
|
|
138
|
+
case 'init': {
|
|
139
|
+
const imported = await importCommand('../lib/init.ts');
|
|
140
|
+
if (!imported)
|
|
141
|
+
break;
|
|
142
|
+
const { cmdInit } = imported;
|
|
143
|
+
await cmdInit().catch((e) => {
|
|
144
|
+
process.stderr.write(`Error: ${errorMessage(e)}\n`);
|
|
145
|
+
process.exitCode = 1;
|
|
146
|
+
});
|
|
188
147
|
break;
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
148
|
+
}
|
|
149
|
+
case 'merge': {
|
|
150
|
+
const imported = await importCommand('../lib/merge.ts');
|
|
151
|
+
if (!imported)
|
|
152
|
+
break;
|
|
153
|
+
const { cmdMerge } = imported;
|
|
154
|
+
await cmdMerge(process.argv.slice(3)).catch((e) => {
|
|
155
|
+
process.stderr.write(`Error: ${errorMessage(e)}\n`);
|
|
156
|
+
process.exitCode = 1;
|
|
157
|
+
});
|
|
158
|
+
break;
|
|
159
|
+
}
|
|
160
|
+
case 'run': {
|
|
161
|
+
const imported = await importCommand('../lib/run/index.ts');
|
|
162
|
+
if (!imported)
|
|
163
|
+
break;
|
|
164
|
+
const { cmdRun } = imported;
|
|
165
|
+
await cmdRun(process.argv.slice(3));
|
|
166
|
+
break;
|
|
167
|
+
}
|
|
168
|
+
case 'sandbox': {
|
|
169
|
+
const imported = await importCommand('../lib/sandbox/index.ts');
|
|
170
|
+
if (!imported)
|
|
171
|
+
break;
|
|
172
|
+
const { runSandbox } = imported;
|
|
173
|
+
await runSandbox(process.argv.slice(3)).catch((e) => {
|
|
174
|
+
process.stderr.write(`Error: ${errorMessage(e)}\n`);
|
|
175
|
+
process.exit(1);
|
|
176
|
+
});
|
|
177
|
+
break;
|
|
178
|
+
}
|
|
179
|
+
case 'server': {
|
|
180
|
+
const imported = await importCommand('../lib/server/index.ts');
|
|
181
|
+
if (!imported)
|
|
182
|
+
break;
|
|
183
|
+
const { runServer } = imported;
|
|
184
|
+
await runServer(process.argv.slice(3)).catch((e) => {
|
|
185
|
+
process.stderr.write(`Error: ${errorMessage(e)}\n`);
|
|
186
|
+
process.exit(1);
|
|
187
|
+
});
|
|
202
188
|
break;
|
|
203
|
-
const { cmdSync } = imported;
|
|
204
|
-
await cmdSync().catch((e) => {
|
|
205
|
-
process.stderr.write(`Error: ${errorMessage(e)}\n`);
|
|
206
|
-
process.exitCode = 1;
|
|
207
|
-
});
|
|
208
|
-
break;
|
|
209
|
-
}
|
|
210
|
-
case 'version': {
|
|
211
|
-
if (process.argv[3] === '--raw') {
|
|
212
|
-
console.log(VERSION);
|
|
213
189
|
}
|
|
214
|
-
|
|
190
|
+
case 'task': {
|
|
191
|
+
const imported = await importCommand('../lib/task/index.ts');
|
|
192
|
+
if (!imported)
|
|
193
|
+
break;
|
|
194
|
+
const { runTask } = imported;
|
|
195
|
+
await runTask(process.argv.slice(3)).catch((e) => {
|
|
196
|
+
process.stderr.write(`Error: ${errorMessage(e)}\n`);
|
|
197
|
+
process.exit(1);
|
|
198
|
+
});
|
|
199
|
+
break;
|
|
200
|
+
}
|
|
201
|
+
case 'update': {
|
|
202
|
+
const imported = await importCommand('../lib/self-update.ts');
|
|
203
|
+
if (!imported)
|
|
204
|
+
break;
|
|
205
|
+
const { cmdUpdate } = imported;
|
|
206
|
+
const code = await cmdUpdate().catch((e) => {
|
|
207
|
+
process.stderr.write(`Error: ${errorMessage(e)}\n`);
|
|
208
|
+
process.exitCode = 1;
|
|
209
|
+
return 1;
|
|
210
|
+
});
|
|
211
|
+
if (code !== 0)
|
|
212
|
+
process.exitCode = code;
|
|
213
|
+
break;
|
|
214
|
+
}
|
|
215
|
+
case 'sync': {
|
|
216
|
+
const imported = await importCommand('../lib/update.ts');
|
|
217
|
+
if (!imported)
|
|
218
|
+
break;
|
|
219
|
+
const { cmdSync } = imported;
|
|
220
|
+
await cmdSync().catch((e) => {
|
|
221
|
+
process.stderr.write(`Error: ${errorMessage(e)}\n`);
|
|
222
|
+
process.exitCode = 1;
|
|
223
|
+
});
|
|
224
|
+
break;
|
|
225
|
+
}
|
|
226
|
+
case 'version': {
|
|
227
|
+
if (process.argv[3] === '--raw') {
|
|
228
|
+
console.log(VERSION);
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
console.log(`agent-infra ${VERSION}`);
|
|
232
|
+
}
|
|
233
|
+
break;
|
|
234
|
+
}
|
|
235
|
+
case '--version':
|
|
236
|
+
case '-v': {
|
|
215
237
|
console.log(`agent-infra ${VERSION}`);
|
|
238
|
+
break;
|
|
216
239
|
}
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
240
|
+
case 'help':
|
|
241
|
+
case '':
|
|
242
|
+
process.stdout.write(USAGE);
|
|
243
|
+
break;
|
|
244
|
+
default:
|
|
245
|
+
process.stderr.write(`Unknown command: ${command}\n\n`);
|
|
246
|
+
process.stdout.write(USAGE);
|
|
247
|
+
process.exitCode = 1;
|
|
248
|
+
break;
|
|
223
249
|
}
|
|
224
|
-
case 'help':
|
|
225
|
-
case '':
|
|
226
|
-
process.stdout.write(USAGE);
|
|
227
|
-
break;
|
|
228
|
-
default:
|
|
229
|
-
process.stderr.write(`Unknown command: ${command}\n\n`);
|
|
230
|
-
process.stdout.write(USAGE);
|
|
231
|
-
process.exitCode = 1;
|
|
232
|
-
break;
|
|
233
|
-
}
|
|
234
250
|
//# sourceMappingURL=cli.js.map
|