@lumenflow/core 2.19.0 → 2.20.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/dist/active-wu-detector.d.ts +2 -2
- package/dist/active-wu-detector.d.ts.map +1 -1
- package/dist/active-wu-detector.js +1 -1
- package/dist/active-wu-detector.js.map +1 -1
- package/dist/adapters/context-adapters.d.ts +10 -0
- package/dist/adapters/context-adapters.d.ts.map +1 -1
- package/dist/adapters/context-adapters.js +15 -3
- package/dist/adapters/context-adapters.js.map +1 -1
- package/dist/adapters/filesystem-metrics.adapter.d.ts.map +1 -1
- package/dist/adapters/filesystem-metrics.adapter.js +13 -7
- package/dist/adapters/filesystem-metrics.adapter.js.map +1 -1
- package/dist/adapters/mock-dashboard-renderer.adapter.d.ts +1 -1
- package/dist/adapters/mock-dashboard-renderer.adapter.js +1 -1
- package/dist/agent-patterns-registry.d.ts +2 -2
- package/dist/agent-patterns-registry.js +5 -5
- package/dist/agent-patterns-registry.js.map +1 -1
- package/dist/arg-parser.d.ts.map +1 -1
- package/dist/arg-parser.js +4 -2
- package/dist/arg-parser.js.map +1 -1
- package/dist/backlog-editor.d.ts +21 -17
- package/dist/backlog-editor.d.ts.map +1 -1
- package/dist/backlog-editor.js +6 -29
- package/dist/backlog-editor.js.map +1 -1
- package/dist/backlog-generator.d.ts +14 -8
- package/dist/backlog-generator.d.ts.map +1 -1
- package/dist/backlog-generator.js +53 -20
- package/dist/backlog-generator.js.map +1 -1
- package/dist/backlog-parser.d.ts +2 -2
- package/dist/backlog-parser.d.ts.map +1 -1
- package/dist/backlog-parser.js.map +1 -1
- package/dist/backlog-sync-validator.d.ts +19 -10
- package/dist/backlog-sync-validator.d.ts.map +1 -1
- package/dist/backlog-sync-validator.js +41 -16
- package/dist/backlog-sync-validator.js.map +1 -1
- package/dist/branch-drift.d.ts +1 -1
- package/dist/branch-drift.d.ts.map +1 -1
- package/dist/branch-drift.js.map +1 -1
- package/dist/cleanup-lock.d.ts +4 -4
- package/dist/cleanup-lock.d.ts.map +1 -1
- package/dist/cleanup-lock.js.map +1 -1
- package/dist/cloud-detect.d.ts +1 -1
- package/dist/cloud-detect.d.ts.map +1 -1
- package/dist/code-path-validator.d.ts.map +1 -1
- package/dist/code-path-validator.js +15 -4
- package/dist/code-path-validator.js.map +1 -1
- package/dist/code-paths-overlap.d.ts +6 -3
- package/dist/code-paths-overlap.d.ts.map +1 -1
- package/dist/code-paths-overlap.js +1 -1
- package/dist/code-paths-overlap.js.map +1 -1
- package/dist/color-support.d.ts +1 -1
- package/dist/color-support.js +2 -2
- package/dist/color-support.js.map +1 -1
- package/dist/commands-logger.d.ts +11 -4
- package/dist/commands-logger.d.ts.map +1 -1
- package/dist/commands-logger.js +1 -1
- package/dist/commands-logger.js.map +1 -1
- package/dist/commit-message-utils.d.ts +1 -1
- package/dist/commit-message-utils.d.ts.map +1 -1
- package/dist/commit-message-utils.js.map +1 -1
- package/dist/compliance-parser.d.ts +86 -112
- package/dist/compliance-parser.d.ts.map +1 -1
- package/dist/compliance-parser.js +10 -61
- package/dist/compliance-parser.js.map +1 -1
- package/dist/constants/backlog-patterns.d.ts +1 -1
- package/dist/constants/backlog-patterns.d.ts.map +1 -1
- package/dist/constants/backlog-patterns.js.map +1 -1
- package/dist/context/location-resolver.js +1 -1
- package/dist/context/location-resolver.js.map +1 -1
- package/dist/context/wu-state-reader.d.ts +2 -0
- package/dist/context/wu-state-reader.d.ts.map +1 -1
- package/dist/context/wu-state-reader.js +3 -0
- package/dist/context/wu-state-reader.js.map +1 -1
- package/dist/context-validation-integration.d.ts +1 -1
- package/dist/context-validation-integration.d.ts.map +1 -1
- package/dist/context-validation-integration.js +1 -1
- package/dist/context-validation-integration.js.map +1 -1
- package/dist/core/scope-checker.d.ts +4 -4
- package/dist/core/scope-checker.d.ts.map +1 -1
- package/dist/core/scope-checker.js.map +1 -1
- package/dist/core/tool.schemas.d.ts +1 -1
- package/dist/core/tool.schemas.d.ts.map +1 -1
- package/dist/core/worktree-guard.d.ts +1 -1
- package/dist/core/worktree-guard.d.ts.map +1 -1
- package/dist/core/worktree-guard.js.map +1 -1
- package/dist/coverage-gate.d.ts +14 -9
- package/dist/coverage-gate.d.ts.map +1 -1
- package/dist/coverage-gate.js +2 -2
- package/dist/coverage-gate.js.map +1 -1
- package/dist/date-utils.d.ts +3 -3
- package/dist/date-utils.d.ts.map +1 -1
- package/dist/date-utils.js.map +1 -1
- package/dist/delegation-escalation.d.ts +2 -2
- package/dist/delegation-escalation.d.ts.map +1 -1
- package/dist/delegation-escalation.js +6 -2
- package/dist/delegation-escalation.js.map +1 -1
- package/dist/delegation-monitor.d.ts +76 -22
- package/dist/delegation-monitor.d.ts.map +1 -1
- package/dist/delegation-monitor.js +3 -2
- package/dist/delegation-monitor.js.map +1 -1
- package/dist/delegation-recovery.d.ts +2 -2
- package/dist/delegation-recovery.d.ts.map +1 -1
- package/dist/delegation-recovery.js +4 -1
- package/dist/delegation-recovery.js.map +1 -1
- package/dist/delegation-registry-schema.d.ts +4 -4
- package/dist/delegation-registry-store.d.ts.map +1 -1
- package/dist/delegation-registry-store.js +8 -1
- package/dist/delegation-registry-store.js.map +1 -1
- package/dist/delegation-tree.d.ts +1 -1
- package/dist/delegation-tree.d.ts.map +1 -1
- package/dist/delegation-tree.js.map +1 -1
- package/dist/dependency-graph.d.ts +44 -24
- package/dist/dependency-graph.d.ts.map +1 -1
- package/dist/dependency-graph.js +60 -32
- package/dist/dependency-graph.js.map +1 -1
- package/dist/dependency-guard.d.ts +2 -2
- package/dist/dependency-guard.d.ts.map +1 -1
- package/dist/dependency-guard.js.map +1 -1
- package/dist/dependency-validator.d.ts +4 -4
- package/dist/dependency-validator.d.ts.map +1 -1
- package/dist/dependency-validator.js +2 -1
- package/dist/dependency-validator.js.map +1 -1
- package/dist/docs-path-validator.d.ts +1 -1
- package/dist/docs-path-validator.d.ts.map +1 -1
- package/dist/docs-path-validator.js.map +1 -1
- package/dist/domain/orchestration.constants.d.ts +2 -2
- package/dist/domain/orchestration.constants.js +2 -2
- package/dist/domain/orchestration.schemas.d.ts +2 -2
- package/dist/domain/recovery.schemas.js +2 -2
- package/dist/domain/recovery.schemas.js.map +1 -1
- package/dist/domain/validation.schemas.js +1 -1
- package/dist/domain/validation.schemas.js.map +1 -1
- package/dist/error-handler.d.ts +3 -3
- package/dist/error-handler.d.ts.map +1 -1
- package/dist/error-handler.js.map +1 -1
- package/dist/file-classifiers.d.ts +3 -3
- package/dist/file-classifiers.d.ts.map +1 -1
- package/dist/file-classifiers.js.map +1 -1
- package/dist/force-bypass-audit.d.ts.map +1 -1
- package/dist/force-bypass-audit.js.map +1 -1
- package/dist/gates-config.d.ts +1 -1
- package/dist/gates-config.js +1 -1
- package/dist/gates-config.js.map +1 -1
- package/dist/generate-traceability.d.ts +61 -51
- package/dist/generate-traceability.d.ts.map +1 -1
- package/dist/generate-traceability.js +34 -61
- package/dist/generate-traceability.js.map +1 -1
- package/dist/git-adapter.d.ts +3 -16
- package/dist/git-adapter.d.ts.map +1 -1
- package/dist/git-adapter.js +1 -1
- package/dist/git-adapter.js.map +1 -1
- package/dist/git-context-extractor.d.ts.map +1 -1
- package/dist/git-context-extractor.js +21 -10
- package/dist/git-context-extractor.js.map +1 -1
- package/dist/git-staged-validator.d.ts +1 -1
- package/dist/git-staged-validator.d.ts.map +1 -1
- package/dist/git-staged-validator.js +3 -2
- package/dist/git-staged-validator.js.map +1 -1
- package/dist/hardcoded-strings.d.ts +8 -3
- package/dist/hardcoded-strings.d.ts.map +1 -1
- package/dist/hardcoded-strings.js +4 -1
- package/dist/hardcoded-strings.js.map +1 -1
- package/dist/incremental-lint.d.ts +2 -2
- package/dist/incremental-lint.d.ts.map +1 -1
- package/dist/incremental-lint.js.map +1 -1
- package/dist/incremental-test.d.ts +1 -1
- package/dist/incremental-test.d.ts.map +1 -1
- package/dist/incremental-test.js.map +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/invariants/check-automated-tests.d.ts +11 -4
- package/dist/invariants/check-automated-tests.d.ts.map +1 -1
- package/dist/invariants/check-automated-tests.js +1 -1
- package/dist/invariants/check-automated-tests.js.map +1 -1
- package/dist/invariants-runner.d.ts +32 -7
- package/dist/invariants-runner.d.ts.map +1 -1
- package/dist/invariants-runner.js +20 -6
- package/dist/invariants-runner.js.map +1 -1
- package/dist/lane-checker.d.ts.map +1 -1
- package/dist/lane-checker.js +3 -0
- package/dist/lane-checker.js.map +1 -1
- package/dist/lane-inference.d.ts +7 -6
- package/dist/lane-inference.d.ts.map +1 -1
- package/dist/lane-inference.js +16 -9
- package/dist/lane-inference.js.map +1 -1
- package/dist/lane-suggest-prompt.d.ts +1 -1
- package/dist/lane-suggest-prompt.d.ts.map +1 -1
- package/dist/lane-validator.d.ts +5 -5
- package/dist/lane-validator.d.ts.map +1 -1
- package/dist/lane-validator.js +6 -6
- package/dist/lane-validator.js.map +1 -1
- package/dist/logs-lib.d.ts +1 -1
- package/dist/logs-lib.d.ts.map +1 -1
- package/dist/logs-lib.js +4 -1
- package/dist/logs-lib.js.map +1 -1
- package/dist/lumenflow-config-schema.d.ts +57 -57
- package/dist/lumenflow-config-schema.js +1 -1
- package/dist/lumenflow-config-schema.js.map +1 -1
- package/dist/manual-test-validator.d.ts +9 -9
- package/dist/manual-test-validator.d.ts.map +1 -1
- package/dist/manual-test-validator.js +4 -4
- package/dist/manual-test-validator.js.map +1 -1
- package/dist/merge-lock.d.ts +2 -2
- package/dist/merge-lock.d.ts.map +1 -1
- package/dist/merge-lock.js.map +1 -1
- package/dist/micro-worktree.d.ts +2 -2
- package/dist/micro-worktree.js +3 -3
- package/dist/micro-worktree.js.map +1 -1
- package/dist/orchestration-advisory-loader.d.ts +2 -2
- package/dist/orchestration-advisory-loader.d.ts.map +1 -1
- package/dist/orchestration-advisory-loader.js +1 -1
- package/dist/orchestration-advisory-loader.js.map +1 -1
- package/dist/orchestration-rules.d.ts +21 -9
- package/dist/orchestration-rules.d.ts.map +1 -1
- package/dist/orchestration-rules.js +1 -1
- package/dist/orchestration-rules.js.map +1 -1
- package/dist/orphan-detector.d.ts +11 -11
- package/dist/orphan-detector.d.ts.map +1 -1
- package/dist/orphan-detector.js.map +1 -1
- package/dist/path-classifiers.d.ts +2 -2
- package/dist/path-classifiers.d.ts.map +1 -1
- package/dist/path-classifiers.js.map +1 -1
- package/dist/piped-command-detector.d.ts +3 -3
- package/dist/piped-command-detector.d.ts.map +1 -1
- package/dist/piped-command-detector.js +1 -1
- package/dist/piped-command-detector.js.map +1 -1
- package/dist/ports/core-tools.ports.d.ts +1 -1
- package/dist/ports/core-tools.ports.js +1 -1
- package/dist/ports/dashboard-renderer.port.d.ts +2 -2
- package/dist/ports/dashboard-renderer.port.js +1 -1
- package/dist/ports/git-validator.ports.d.ts +70 -271
- package/dist/ports/git-validator.ports.d.ts.map +1 -1
- package/dist/ports/git-validator.ports.js +4 -5
- package/dist/ports/git-validator.ports.js.map +1 -1
- package/dist/ports/validation.ports.d.ts +1 -1
- package/dist/process-detector.d.ts +6 -10
- package/dist/process-detector.d.ts.map +1 -1
- package/dist/process-detector.js.map +1 -1
- package/dist/prompt-linter.d.ts +1 -1
- package/dist/prompt-linter.d.ts.map +1 -1
- package/dist/prompt-linter.js +4 -3
- package/dist/prompt-linter.js.map +1 -1
- package/dist/prompt-monitor.d.ts.map +1 -1
- package/dist/prompt-monitor.js +2 -2
- package/dist/prompt-monitor.js.map +1 -1
- package/dist/rebase-artifact-cleanup.d.ts +42 -33
- package/dist/rebase-artifact-cleanup.d.ts.map +1 -1
- package/dist/rebase-artifact-cleanup.js +8 -9
- package/dist/rebase-artifact-cleanup.js.map +1 -1
- package/dist/recovery/recovery-analyzer.d.ts +2 -2
- package/dist/recovery/recovery-analyzer.d.ts.map +1 -1
- package/dist/recovery/recovery-analyzer.js +1 -1
- package/dist/recovery/recovery-analyzer.js.map +1 -1
- package/dist/resolve-policy.d.ts +1 -1
- package/dist/resolve-policy.d.ts.map +1 -1
- package/dist/resolve-policy.js +3 -5
- package/dist/resolve-policy.js.map +1 -1
- package/dist/retry-strategy.d.ts +43 -27
- package/dist/retry-strategy.d.ts.map +1 -1
- package/dist/retry-strategy.js.map +1 -1
- package/dist/risk-detector.d.ts +1 -1
- package/dist/risk-detector.js +1 -1
- package/dist/rollback-utils.d.ts +6 -6
- package/dist/rollback-utils.d.ts.map +1 -1
- package/dist/rollback-utils.js +2 -2
- package/dist/rollback-utils.js.map +1 -1
- package/dist/sandbox-allowlist.d.ts +16 -0
- package/dist/sandbox-allowlist.d.ts.map +1 -0
- package/dist/sandbox-allowlist.js +75 -0
- package/dist/sandbox-allowlist.js.map +1 -0
- package/dist/sandbox-backend-linux.d.ts +6 -0
- package/dist/sandbox-backend-linux.d.ts.map +1 -0
- package/dist/sandbox-backend-linux.js +65 -0
- package/dist/sandbox-backend-linux.js.map +1 -0
- package/dist/sandbox-backend-macos.d.ts +6 -0
- package/dist/sandbox-backend-macos.d.ts.map +1 -0
- package/dist/sandbox-backend-macos.js +64 -0
- package/dist/sandbox-backend-macos.js.map +1 -0
- package/dist/sandbox-backend-windows.d.ts +6 -0
- package/dist/sandbox-backend-windows.d.ts.map +1 -0
- package/dist/sandbox-backend-windows.js +28 -0
- package/dist/sandbox-backend-windows.js.map +1 -0
- package/dist/sandbox-profile.d.ts +53 -0
- package/dist/sandbox-profile.d.ts.map +1 -0
- package/dist/sandbox-profile.js +62 -0
- package/dist/sandbox-profile.js.map +1 -0
- package/dist/schemas/flow-arg-validators.d.ts +18 -18
- package/dist/schemas/initiative-arg-validators.d.ts +28 -28
- package/dist/schemas/memory-arg-validators.d.ts +40 -40
- package/dist/schemas/schema-utils.js.map +1 -1
- package/dist/schemas/setup-arg-validators.d.ts +32 -32
- package/dist/schemas/setup-schemas.js +1 -1
- package/dist/schemas/setup-schemas.js.map +1 -1
- package/dist/schemas/validation-arg-validators.d.ts +4 -4
- package/dist/schemas/wu-lifecycle-arg-validators.d.ts +51 -51
- package/dist/schemas/wu-lifecycle-schemas.js +1 -1
- package/dist/schemas/wu-lifecycle-schemas.js.map +1 -1
- package/dist/section-headings.d.ts +6 -6
- package/dist/section-headings.d.ts.map +1 -1
- package/dist/section-headings.js +7 -5
- package/dist/section-headings.js.map +1 -1
- package/dist/spawn-strategy.d.ts +1 -1
- package/dist/spawn-strategy.js +1 -1
- package/dist/stamp-status-validator.d.ts +7 -4
- package/dist/stamp-status-validator.d.ts.map +1 -1
- package/dist/stamp-status-validator.js.map +1 -1
- package/dist/stamp-utils.d.ts +15 -21
- package/dist/stamp-utils.d.ts.map +1 -1
- package/dist/stamp-utils.js +21 -5
- package/dist/stamp-utils.js.map +1 -1
- package/dist/state-machine.d.ts +1 -1
- package/dist/state-machine.d.ts.map +1 -1
- package/dist/state-machine.js +4 -2
- package/dist/state-machine.js.map +1 -1
- package/dist/system-map-validator.d.ts +25 -13
- package/dist/system-map-validator.d.ts.map +1 -1
- package/dist/system-map-validator.js +43 -21
- package/dist/system-map-validator.js.map +1 -1
- package/dist/telemetry.d.ts +9 -9
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +6 -5
- package/dist/telemetry.js.map +1 -1
- package/dist/template-loader.d.ts.map +1 -1
- package/dist/template-loader.js +13 -8
- package/dist/template-loader.js.map +1 -1
- package/dist/token-counter.d.ts +19 -13
- package/dist/token-counter.d.ts.map +1 -1
- package/dist/token-counter.js +1 -1
- package/dist/token-counter.js.map +1 -1
- package/dist/usecases/get-dashboard-data.usecase.d.ts +1 -1
- package/dist/usecases/get-dashboard-data.usecase.js +1 -1
- package/dist/usecases/get-suggestions.usecase.d.ts.map +1 -1
- package/dist/usecases/get-suggestions.usecase.js +4 -2
- package/dist/usecases/get-suggestions.usecase.js.map +1 -1
- package/dist/user-normalizer.d.ts +4 -4
- package/dist/user-normalizer.d.ts.map +1 -1
- package/dist/user-normalizer.js +2 -2
- package/dist/user-normalizer.js.map +1 -1
- package/dist/validation/command-registry.d.ts +1 -1
- package/dist/validation/command-registry.js +3 -3
- package/dist/validation/command-registry.js.map +1 -1
- package/dist/validation/types.d.ts +3 -1
- package/dist/validation/types.d.ts.map +1 -1
- package/dist/worktree-ownership.d.ts +4 -4
- package/dist/worktree-ownership.d.ts.map +1 -1
- package/dist/worktree-ownership.js +1 -1
- package/dist/worktree-ownership.js.map +1 -1
- package/dist/worktree-scanner.d.ts +36 -8
- package/dist/worktree-scanner.d.ts.map +1 -1
- package/dist/worktree-scanner.js +2 -2
- package/dist/worktree-scanner.js.map +1 -1
- package/dist/worktree-symlink.d.ts +25 -29
- package/dist/worktree-symlink.d.ts.map +1 -1
- package/dist/worktree-symlink.js +12 -7
- package/dist/worktree-symlink.js.map +1 -1
- package/dist/wu-backlog-updater.d.ts +1 -1
- package/dist/wu-backlog-updater.d.ts.map +1 -1
- package/dist/wu-backlog-updater.js.map +1 -1
- package/dist/wu-checkpoint.d.ts +6 -6
- package/dist/wu-checkpoint.d.ts.map +1 -1
- package/dist/wu-checkpoint.js.map +1 -1
- package/dist/wu-claim-helpers.d.ts +2 -2
- package/dist/wu-claim-helpers.d.ts.map +1 -1
- package/dist/wu-claim-helpers.js.map +1 -1
- package/dist/wu-claim-resume.d.ts +22 -8
- package/dist/wu-claim-resume.d.ts.map +1 -1
- package/dist/wu-claim-resume.js.map +1 -1
- package/dist/wu-cli-constants.d.ts +1 -3
- package/dist/wu-cli-constants.d.ts.map +1 -1
- package/dist/wu-cli-constants.js +1 -3
- package/dist/wu-cli-constants.js.map +1 -1
- package/dist/wu-consistency-checker.d.ts +83 -8
- package/dist/wu-consistency-checker.d.ts.map +1 -1
- package/dist/wu-consistency-checker.js +15 -8
- package/dist/wu-consistency-checker.js.map +1 -1
- package/dist/wu-constants.d.ts +2 -2
- package/dist/wu-constants.d.ts.map +1 -1
- package/dist/wu-constants.js +2 -2
- package/dist/wu-constants.js.map +1 -1
- package/dist/wu-context-constants.d.ts +4 -0
- package/dist/wu-context-constants.d.ts.map +1 -1
- package/dist/wu-context-constants.js +4 -0
- package/dist/wu-context-constants.js.map +1 -1
- package/dist/wu-create-validators.d.ts +3 -3
- package/dist/wu-create-validators.d.ts.map +1 -1
- package/dist/wu-create-validators.js +1 -1
- package/dist/wu-create-validators.js.map +1 -1
- package/dist/wu-domain-constants.d.ts +3 -3
- package/dist/wu-domain-constants.d.ts.map +1 -1
- package/dist/wu-domain-constants.js +7 -11
- package/dist/wu-domain-constants.js.map +1 -1
- package/dist/wu-done-branch-only.d.ts +16 -13
- package/dist/wu-done-branch-only.d.ts.map +1 -1
- package/dist/wu-done-branch-only.js +1 -1
- package/dist/wu-done-branch-only.js.map +1 -1
- package/dist/wu-done-branch-utils.d.ts +1 -1
- package/dist/wu-done-branch-utils.d.ts.map +1 -1
- package/dist/wu-done-branch-utils.js.map +1 -1
- package/dist/wu-done-cleanup.d.ts +1 -1
- package/dist/wu-done-cleanup.d.ts.map +1 -1
- package/dist/wu-done-cleanup.js.map +1 -1
- package/dist/wu-done-concurrent-merge.d.ts +1 -1
- package/dist/wu-done-concurrent-merge.d.ts.map +1 -1
- package/dist/wu-done-concurrent-merge.js +4 -2
- package/dist/wu-done-concurrent-merge.js.map +1 -1
- package/dist/wu-done-docs-generate.d.ts +2 -2
- package/dist/wu-done-docs-generate.js +2 -2
- package/dist/wu-done-docs-only.d.ts +1 -1
- package/dist/wu-done-docs-only.d.ts.map +1 -1
- package/dist/wu-done-docs-only.js.map +1 -1
- package/dist/wu-done-errors.d.ts +3 -3
- package/dist/wu-done-errors.d.ts.map +1 -1
- package/dist/wu-done-errors.js.map +1 -1
- package/dist/wu-done-inputs.d.ts +1 -1
- package/dist/wu-done-inputs.d.ts.map +1 -1
- package/dist/wu-done-inputs.js.map +1 -1
- package/dist/wu-done-machine.d.ts +2 -2
- package/dist/wu-done-messages.d.ts +30 -30
- package/dist/wu-done-messages.d.ts.map +1 -1
- package/dist/wu-done-messages.js +16 -13
- package/dist/wu-done-messages.js.map +1 -1
- package/dist/wu-done-metadata.d.ts +46 -35
- package/dist/wu-done-metadata.d.ts.map +1 -1
- package/dist/wu-done-metadata.js +12 -10
- package/dist/wu-done-metadata.js.map +1 -1
- package/dist/wu-done-paths.d.ts +33 -19
- package/dist/wu-done-paths.d.ts.map +1 -1
- package/dist/wu-done-paths.js +15 -9
- package/dist/wu-done-paths.js.map +1 -1
- package/dist/wu-done-pr.d.ts +9 -5
- package/dist/wu-done-pr.d.ts.map +1 -1
- package/dist/wu-done-pr.js +1 -1
- package/dist/wu-done-pr.js.map +1 -1
- package/dist/wu-done-preflight.d.ts +33 -27
- package/dist/wu-done-preflight.d.ts.map +1 -1
- package/dist/wu-done-preflight.js +24 -8
- package/dist/wu-done-preflight.js.map +1 -1
- package/dist/wu-done-retry-helpers.d.ts +5 -5
- package/dist/wu-done-retry-helpers.d.ts.map +1 -1
- package/dist/wu-done-retry-helpers.js +2 -2
- package/dist/wu-done-retry-helpers.js.map +1 -1
- package/dist/wu-done-ui.d.ts +5 -5
- package/dist/wu-done-ui.d.ts.map +1 -1
- package/dist/wu-done-ui.js +4 -2
- package/dist/wu-done-ui.js.map +1 -1
- package/dist/wu-done-validation.d.ts +34 -18
- package/dist/wu-done-validation.d.ts.map +1 -1
- package/dist/wu-done-validation.js +30 -16
- package/dist/wu-done-validation.js.map +1 -1
- package/dist/wu-done-worktree-services.d.ts +1 -1
- package/dist/wu-done-worktree-services.js +2 -2
- package/dist/wu-done-worktree-services.js.map +1 -1
- package/dist/wu-done-worktree.d.ts +60 -29
- package/dist/wu-done-worktree.d.ts.map +1 -1
- package/dist/wu-done-worktree.js +62 -45
- package/dist/wu-done-worktree.js.map +1 -1
- package/dist/wu-events-cleanup.d.ts.map +1 -1
- package/dist/wu-events-cleanup.js +6 -2
- package/dist/wu-events-cleanup.js.map +1 -1
- package/dist/wu-helpers.d.ts +21 -25
- package/dist/wu-helpers.d.ts.map +1 -1
- package/dist/wu-helpers.js +6 -4
- package/dist/wu-helpers.js.map +1 -1
- package/dist/wu-id-generator.d.ts.map +1 -1
- package/dist/wu-id-generator.js +5 -1
- package/dist/wu-id-generator.js.map +1 -1
- package/dist/wu-lint.d.ts +110 -48
- package/dist/wu-lint.d.ts.map +1 -1
- package/dist/wu-lint.js +86 -143
- package/dist/wu-lint.js.map +1 -1
- package/dist/wu-paths-constants.d.ts +1 -39
- package/dist/wu-paths-constants.d.ts.map +1 -1
- package/dist/wu-paths-constants.js +1 -39
- package/dist/wu-paths-constants.js.map +1 -1
- package/dist/wu-preflight-validators.d.ts +49 -107
- package/dist/wu-preflight-validators.d.ts.map +1 -1
- package/dist/wu-preflight-validators.js +97 -134
- package/dist/wu-preflight-validators.js.map +1 -1
- package/dist/wu-recovery.d.ts +49 -36
- package/dist/wu-recovery.d.ts.map +1 -1
- package/dist/wu-recovery.js +22 -14
- package/dist/wu-recovery.js.map +1 -1
- package/dist/wu-repair-core.d.ts +62 -32
- package/dist/wu-repair-core.d.ts.map +1 -1
- package/dist/wu-repair-core.js +31 -19
- package/dist/wu-repair-core.js.map +1 -1
- package/dist/wu-rules-core.d.ts +95 -0
- package/dist/wu-rules-core.d.ts.map +1 -0
- package/dist/wu-rules-core.js +399 -0
- package/dist/wu-rules-core.js.map +1 -0
- package/dist/wu-rules-engine.d.ts +29 -0
- package/dist/wu-rules-engine.d.ts.map +1 -0
- package/dist/wu-rules-engine.js +59 -0
- package/dist/wu-rules-engine.js.map +1 -0
- package/dist/wu-rules-resolvers.d.ts +19 -0
- package/dist/wu-rules-resolvers.d.ts.map +1 -0
- package/dist/wu-rules-resolvers.js +208 -0
- package/dist/wu-rules-resolvers.js.map +1 -0
- package/dist/wu-schema-normalization.d.ts +1 -1
- package/dist/wu-schema-normalization.d.ts.map +1 -1
- package/dist/wu-schema-normalization.js +5 -2
- package/dist/wu-schema-normalization.js.map +1 -1
- package/dist/wu-schema.d.ts +155 -186
- package/dist/wu-schema.d.ts.map +1 -1
- package/dist/wu-schema.js +36 -36
- package/dist/wu-schema.js.map +1 -1
- package/dist/wu-spawn-helpers.d.ts +7 -7
- package/dist/wu-spawn-helpers.d.ts.map +1 -1
- package/dist/wu-spawn-helpers.js.map +1 -1
- package/dist/wu-spawn-skills.d.ts +6 -6
- package/dist/wu-spawn-skills.d.ts.map +1 -1
- package/dist/wu-spawn-skills.js.map +1 -1
- package/dist/wu-spawn.d.ts +29 -8
- package/dist/wu-spawn.d.ts.map +1 -1
- package/dist/wu-spawn.js +33 -20
- package/dist/wu-spawn.js.map +1 -1
- package/dist/wu-state-schema.d.ts +4 -4
- package/dist/wu-state-schema.d.ts.map +1 -1
- package/dist/wu-state-schema.js.map +1 -1
- package/dist/wu-state-store.d.ts.map +1 -1
- package/dist/wu-state-store.js +10 -2
- package/dist/wu-state-store.js.map +1 -1
- package/dist/wu-status-transition.d.ts +21 -13
- package/dist/wu-status-transition.d.ts.map +1 -1
- package/dist/wu-status-transition.js +15 -8
- package/dist/wu-status-transition.js.map +1 -1
- package/dist/wu-status-updater.d.ts +2 -2
- package/dist/wu-status-updater.d.ts.map +1 -1
- package/dist/wu-status-updater.js +7 -2
- package/dist/wu-status-updater.js.map +1 -1
- package/dist/wu-transaction-collectors.d.ts +35 -37
- package/dist/wu-transaction-collectors.d.ts.map +1 -1
- package/dist/wu-transaction-collectors.js +7 -2
- package/dist/wu-transaction-collectors.js.map +1 -1
- package/dist/wu-transaction.d.ts +3 -3
- package/dist/wu-transaction.d.ts.map +1 -1
- package/dist/wu-transaction.js +4 -9
- package/dist/wu-transaction.js.map +1 -1
- package/dist/wu-type-helpers.d.ts +1 -1
- package/dist/wu-type-helpers.js +1 -1
- package/dist/wu-validation.d.ts +26 -10
- package/dist/wu-validation.d.ts.map +1 -1
- package/dist/wu-validation.js +3 -3
- package/dist/wu-validation.js.map +1 -1
- package/dist/wu-validator.d.ts +29 -15
- package/dist/wu-validator.d.ts.map +1 -1
- package/dist/wu-validator.js +23 -15
- package/dist/wu-validator.js.map +1 -1
- package/dist/wu-yaml-fixer.d.ts +26 -35
- package/dist/wu-yaml-fixer.d.ts.map +1 -1
- package/dist/wu-yaml-fixer.js +8 -5
- package/dist/wu-yaml-fixer.js.map +1 -1
- package/dist/wu-yaml.d.ts +9 -9
- package/dist/wu-yaml.d.ts.map +1 -1
- package/dist/wu-yaml.js +2 -1
- package/dist/wu-yaml.js.map +1 -1
- package/package.json +5 -11
package/dist/retry-strategy.d.ts
CHANGED
|
@@ -47,7 +47,7 @@ export declare const DEFAULT_RETRY_CONFIG: Readonly<{
|
|
|
47
47
|
multiplier: 2;
|
|
48
48
|
jitter: 0.1;
|
|
49
49
|
shouldRetry: (_error?: unknown) => true;
|
|
50
|
-
onRetry:
|
|
50
|
+
onRetry: null;
|
|
51
51
|
}>;
|
|
52
52
|
/**
|
|
53
53
|
* Pre-configured retry presets for common scenarios
|
|
@@ -63,8 +63,8 @@ export declare const RETRY_PRESETS: Readonly<{
|
|
|
63
63
|
maxDelayMs: 60000;
|
|
64
64
|
multiplier: 2;
|
|
65
65
|
jitter: 0.15;
|
|
66
|
-
shouldRetry: (error:
|
|
67
|
-
onRetry:
|
|
66
|
+
shouldRetry: (error: UnsafeAny) => boolean;
|
|
67
|
+
onRetry: null;
|
|
68
68
|
}>;
|
|
69
69
|
/**
|
|
70
70
|
* Preset for zombie state recovery
|
|
@@ -77,7 +77,7 @@ export declare const RETRY_PRESETS: Readonly<{
|
|
|
77
77
|
multiplier: 2;
|
|
78
78
|
jitter: 0.1;
|
|
79
79
|
shouldRetry: () => true;
|
|
80
|
-
onRetry:
|
|
80
|
+
onRetry: null;
|
|
81
81
|
}>;
|
|
82
82
|
/**
|
|
83
83
|
* Preset for quick operations (file I/O, local git)
|
|
@@ -90,7 +90,7 @@ export declare const RETRY_PRESETS: Readonly<{
|
|
|
90
90
|
multiplier: 2;
|
|
91
91
|
jitter: 0.05;
|
|
92
92
|
shouldRetry: () => true;
|
|
93
|
-
onRetry:
|
|
93
|
+
onRetry: null;
|
|
94
94
|
}>;
|
|
95
95
|
}>;
|
|
96
96
|
/**
|
|
@@ -116,7 +116,39 @@ export declare const RETRY_PRESETS: Readonly<{
|
|
|
116
116
|
* // Customize preset
|
|
117
117
|
* const config = createRetryConfig('wu_done', { maxAttempts: 10 });
|
|
118
118
|
*/
|
|
119
|
-
export declare function createRetryConfig(presetOrOptions:
|
|
119
|
+
export declare function createRetryConfig(presetOrOptions: UnsafeAny, options: UnsafeAny): {
|
|
120
|
+
maxAttempts: 5;
|
|
121
|
+
baseDelayMs: 1000;
|
|
122
|
+
maxDelayMs: 30000;
|
|
123
|
+
multiplier: 2;
|
|
124
|
+
jitter: 0.1;
|
|
125
|
+
shouldRetry: (_error?: unknown) => true;
|
|
126
|
+
onRetry: null;
|
|
127
|
+
} | {
|
|
128
|
+
maxAttempts: 6;
|
|
129
|
+
baseDelayMs: 2000;
|
|
130
|
+
maxDelayMs: 60000;
|
|
131
|
+
multiplier: 2;
|
|
132
|
+
jitter: 0.15;
|
|
133
|
+
shouldRetry: (error: UnsafeAny) => boolean;
|
|
134
|
+
onRetry: null;
|
|
135
|
+
} | {
|
|
136
|
+
maxAttempts: 4;
|
|
137
|
+
baseDelayMs: 500;
|
|
138
|
+
maxDelayMs: 10000;
|
|
139
|
+
multiplier: 2;
|
|
140
|
+
jitter: 0.1;
|
|
141
|
+
shouldRetry: () => true;
|
|
142
|
+
onRetry: null;
|
|
143
|
+
} | {
|
|
144
|
+
maxAttempts: 3;
|
|
145
|
+
baseDelayMs: 100;
|
|
146
|
+
maxDelayMs: 2000;
|
|
147
|
+
multiplier: 2;
|
|
148
|
+
jitter: 0.05;
|
|
149
|
+
shouldRetry: () => true;
|
|
150
|
+
onRetry: null;
|
|
151
|
+
};
|
|
120
152
|
/**
|
|
121
153
|
* Calculate the backoff delay for a given attempt number
|
|
122
154
|
*
|
|
@@ -127,7 +159,7 @@ export declare function createRetryConfig(presetOrOptions: any, options: any): a
|
|
|
127
159
|
* @param {RetryConfig} config - Retry configuration
|
|
128
160
|
* @returns {number} Delay in milliseconds
|
|
129
161
|
*/
|
|
130
|
-
export declare function calculateBackoffDelay(attempt:
|
|
162
|
+
export declare function calculateBackoffDelay(attempt: UnsafeAny, config: UnsafeAny): number;
|
|
131
163
|
/**
|
|
132
164
|
* Execute a function with retry logic and exponential backoff
|
|
133
165
|
*
|
|
@@ -143,15 +175,7 @@ export declare function calculateBackoffDelay(attempt: any, config: any): number
|
|
|
143
175
|
* createRetryConfig('wu_done')
|
|
144
176
|
* );
|
|
145
177
|
*/
|
|
146
|
-
export declare function withRetry(fn:
|
|
147
|
-
maxAttempts: 5;
|
|
148
|
-
baseDelayMs: 1000;
|
|
149
|
-
maxDelayMs: 30000;
|
|
150
|
-
multiplier: 2;
|
|
151
|
-
jitter: 0.1;
|
|
152
|
-
shouldRetry: (_error?: unknown) => true;
|
|
153
|
-
onRetry: any;
|
|
154
|
-
}>): Promise<any>;
|
|
178
|
+
export declare function withRetry(fn: UnsafeAny, config?: UnsafeAny): Promise<any>;
|
|
155
179
|
/**
|
|
156
180
|
* Higher-order function to wrap a function with retry logic
|
|
157
181
|
*
|
|
@@ -164,27 +188,19 @@ export declare function withRetry(fn: any, config?: Readonly<{
|
|
|
164
188
|
* const retryableMerge = withRetryWrapper(mergeBranch, createRetryConfig('wu_done'));
|
|
165
189
|
* await retryableMerge(branch);
|
|
166
190
|
*/
|
|
167
|
-
export declare function withRetryWrapper(fn:
|
|
168
|
-
maxAttempts: 5;
|
|
169
|
-
baseDelayMs: 1000;
|
|
170
|
-
maxDelayMs: 30000;
|
|
171
|
-
multiplier: 2;
|
|
172
|
-
jitter: 0.1;
|
|
173
|
-
shouldRetry: (_error?: unknown) => true;
|
|
174
|
-
onRetry: any;
|
|
175
|
-
}>): (...args: any[]) => Promise<any>;
|
|
191
|
+
export declare function withRetryWrapper(fn: UnsafeAny, config?: UnsafeAny): (...args: unknown[]) => Promise<any>;
|
|
176
192
|
/**
|
|
177
193
|
* Determine if an error is a git conflict error (non-retryable)
|
|
178
194
|
*
|
|
179
195
|
* @param {Error} error - Error to check
|
|
180
196
|
* @returns {boolean} True if conflict error
|
|
181
197
|
*/
|
|
182
|
-
export declare function isConflictError(error:
|
|
198
|
+
export declare function isConflictError(error: UnsafeAny): any;
|
|
183
199
|
/**
|
|
184
200
|
* Determine if an error is a network/transient error (retryable)
|
|
185
201
|
*
|
|
186
202
|
* @param {Error} error - Error to check
|
|
187
203
|
* @returns {boolean} True if likely transient
|
|
188
204
|
*/
|
|
189
|
-
export declare function isTransientError(error:
|
|
205
|
+
export declare function isTransientError(error: UnsafeAny): any;
|
|
190
206
|
//# sourceMappingURL=retry-strategy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry-strategy.d.ts","sourceRoot":"","sources":["../src/retry-strategy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH;;;GAGG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;EAQnC,CAAC;AAEH;;;;;;;;;GASG;AAEH;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;;2BAMR,OAAO;;EAE9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa;IACxB;;;OAGG
|
|
1
|
+
{"version":3,"file":"retry-strategy.d.ts","sourceRoot":"","sources":["../src/retry-strategy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH;;;GAGG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;EAQnC,CAAC;AAEH;;;;;;;;;GASG;AAEH;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;;2BAMR,OAAO;;EAE9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa;IACxB;;;OAGG;;;;;;;6BAOoB,SAAS;;;IAQhC;;;OAGG;;;;;;;;;;IAWH;;;OAGG;;;;;;;;;;EAUH,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS;;;;;;2BA9EvD,OAAO;;;;;;;;yBAkBP,SAAS;;;;;;;;;;;;;;;;;;EAyFjC;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,UAkB1E;AAYD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,GAAE,SAAgC,gBAsDtF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,GAAE,SAAgC,IACxE,GAAG,MAAM,OAAO,EAAE,kBAGjC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,OAQ/C;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,OAUhD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry-strategy.js","sourceRoot":"","sources":["../src/retry-strategy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC;IACpD,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,eAAe,EAAE,iBAAiB;IAClC,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;CACzB,CAAC,CAAC;AAEH;;;;;;;;;GASG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC;IAChD,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,KAAK;IACjB,UAAU,EAAE,CAAC;IACb,MAAM,EAAE,GAAG;IACX,WAAW,EAAE,CAAC,MAAgB,EAAE,EAAE,CAAC,IAAI;IACvC,OAAO,EAAE,IAAI;CACd,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;IACzC;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;QACrB,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,CAAC;QACb,MAAM,EAAE,IAAI,EAAE,0CAA0C;QACxD,WAAW,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"retry-strategy.js","sourceRoot":"","sources":["../src/retry-strategy.ts"],"names":[],"mappings":"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"}
|
package/dist/risk-detector.d.ts
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
*
|
|
12
12
|
* Safety-critical tests (red-flag, PHI, escalation) always run regardless of tier.
|
|
13
13
|
*
|
|
14
|
-
* Note: This is project-specific risk detection logic for
|
|
14
|
+
* Note: This is project-specific risk detection logic for ExampleApp's
|
|
15
15
|
* healthcare domain (PHI, RLS, auth). No standard library exists for this
|
|
16
16
|
* domain-specific classification.
|
|
17
17
|
*
|
package/dist/risk-detector.js
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
*
|
|
12
12
|
* Safety-critical tests (red-flag, PHI, escalation) always run regardless of tier.
|
|
13
13
|
*
|
|
14
|
-
* Note: This is project-specific risk detection logic for
|
|
14
|
+
* Note: This is project-specific risk detection logic for ExampleApp's
|
|
15
15
|
* healthcare domain (PHI, RLS, auth). No standard library exists for this
|
|
16
16
|
* domain-specific classification.
|
|
17
17
|
*
|
package/dist/rollback-utils.d.ts
CHANGED
|
@@ -39,14 +39,14 @@ export declare class RollbackResult {
|
|
|
39
39
|
* Record a successful file restoration.
|
|
40
40
|
* @param {string} name - File identifier (e.g., 'backlog.md')
|
|
41
41
|
*/
|
|
42
|
-
addSuccess(name:
|
|
42
|
+
addSuccess(name: UnsafeAny): void;
|
|
43
43
|
/**
|
|
44
44
|
* Record a failed file restoration.
|
|
45
45
|
* @param {string} name - File identifier
|
|
46
46
|
* @param {string} path - Full file path
|
|
47
47
|
* @param {string} error - Error message
|
|
48
48
|
*/
|
|
49
|
-
addError(name:
|
|
49
|
+
addError(name: UnsafeAny, path: UnsafeAny, error: UnsafeAny): void;
|
|
50
50
|
/**
|
|
51
51
|
* Check if all files were restored successfully.
|
|
52
52
|
* @returns {boolean} True if no errors occurred
|
|
@@ -61,7 +61,7 @@ export declare class RollbackResult {
|
|
|
61
61
|
* failure scenarios.
|
|
62
62
|
*
|
|
63
63
|
* @param {Array<{name: string, path: string, content: string}>} filesToRestore - Files to restore
|
|
64
|
-
* @returns {RollbackResult} Result with restored files and
|
|
64
|
+
* @returns {RollbackResult} Result with restored files and UnsafeAny errors
|
|
65
65
|
*
|
|
66
66
|
* @example
|
|
67
67
|
* const result = rollbackFiles([
|
|
@@ -73,14 +73,14 @@ export declare class RollbackResult {
|
|
|
73
73
|
* console.error('Rollback had errors:', result.errors);
|
|
74
74
|
* }
|
|
75
75
|
*/
|
|
76
|
-
export declare function rollbackFiles(filesToRestore:
|
|
76
|
+
export declare function rollbackFiles(filesToRestore: UnsafeAny): RollbackResult;
|
|
77
77
|
/**
|
|
78
78
|
* Delete multiple files with per-file error tracking.
|
|
79
79
|
*
|
|
80
80
|
* @param {Array<{name: string, path: string}>} filesToDelete - Files to delete
|
|
81
|
-
* @returns {RollbackResult} Result with deleted files and
|
|
81
|
+
* @returns {RollbackResult} Result with deleted files and UnsafeAny errors
|
|
82
82
|
*/
|
|
83
|
-
export declare function deleteFiles(filesToDelete:
|
|
83
|
+
export declare function deleteFiles(filesToDelete: UnsafeAny): RollbackResult;
|
|
84
84
|
/**
|
|
85
85
|
* Input for the centralized pipeline-state-aware rollback.
|
|
86
86
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rollback-utils.d.ts","sourceRoot":"","sources":["../src/rollback-utils.ts"],"names":[],"mappings":";AACA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;GAEG;AACH,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;GAOG;AACH,qBAAa,cAAc;IACzB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,+BAA+B;IAC/B,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,qFAAqF;IACrF,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;;IAQ5B;;;OAGG;IACH,UAAU,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"rollback-utils.d.ts","sourceRoot":"","sources":["../src/rollback-utils.ts"],"names":[],"mappings":";AACA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;GAEG;AACH,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;GAOG;AACH,qBAAa,cAAc;IACzB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,+BAA+B;IAC/B,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,qFAAqF;IACrF,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;;IAQ5B;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,SAAS;IAI1B;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS;IAI3D;;;OAGG;IACH,IAAI,OAAO,YAEV;CACF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,aAAa,CAAC,cAAc,EAAE,SAAS,kBActD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,aAAa,EAAE,SAAS,kBAcnD;AAMD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,gFAAgF;IAChF,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,sFAAsF;IACtF,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5C,6DAA6D;IAC7D,cAAc,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,qBAAqB,GAAG,cAAc,CA2CtF;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,aAAa,CAkC3E"}
|
package/dist/rollback-utils.js
CHANGED
|
@@ -63,7 +63,7 @@ export class RollbackResult {
|
|
|
63
63
|
* failure scenarios.
|
|
64
64
|
*
|
|
65
65
|
* @param {Array<{name: string, path: string, content: string}>} filesToRestore - Files to restore
|
|
66
|
-
* @returns {RollbackResult} Result with restored files and
|
|
66
|
+
* @returns {RollbackResult} Result with restored files and UnsafeAny errors
|
|
67
67
|
*
|
|
68
68
|
* @example
|
|
69
69
|
* const result = rollbackFiles([
|
|
@@ -93,7 +93,7 @@ export function rollbackFiles(filesToRestore) {
|
|
|
93
93
|
* Delete multiple files with per-file error tracking.
|
|
94
94
|
*
|
|
95
95
|
* @param {Array<{name: string, path: string}>} filesToDelete - Files to delete
|
|
96
|
-
* @returns {RollbackResult} Result with deleted files and
|
|
96
|
+
* @returns {RollbackResult} Result with deleted files and UnsafeAny errors
|
|
97
97
|
*/
|
|
98
98
|
export function deleteFiles(filesToDelete) {
|
|
99
99
|
const result = new RollbackResult();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rollback-utils.js","sourceRoot":"","sources":["../src/rollback-utils.ts"],"names":[],"mappings":";AACA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAYpD;;;;;;;GAOG;AACH,MAAM,OAAO,cAAc;IACzB,2CAA2C;IAC3C,QAAQ,CAAW;IACnB,+BAA+B;IAC/B,MAAM,CAAkB;IACxB,qFAAqF;IACrF,KAAK,CAAuB;IAE5B;QACE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"rollback-utils.js","sourceRoot":"","sources":["../src/rollback-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface SandboxAllowlistEntry {
|
|
2
|
+
originalPath: string;
|
|
3
|
+
normalizedPath: string;
|
|
4
|
+
canonicalPath: string;
|
|
5
|
+
}
|
|
6
|
+
export interface SandboxAllowlist {
|
|
7
|
+
projectRoot: string;
|
|
8
|
+
writableRoots: SandboxAllowlistEntry[];
|
|
9
|
+
}
|
|
10
|
+
export interface BuildSandboxAllowlistInput {
|
|
11
|
+
projectRoot: string;
|
|
12
|
+
writableRoots: string[];
|
|
13
|
+
}
|
|
14
|
+
export declare function buildSandboxAllowlist(input: BuildSandboxAllowlistInput): SandboxAllowlist;
|
|
15
|
+
export declare function isWritePathAllowed(allowlist: SandboxAllowlist, targetPath: string): boolean;
|
|
16
|
+
//# sourceMappingURL=sandbox-allowlist.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-allowlist.d.ts","sourceRoot":"","sources":["../src/sandbox-allowlist.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,qBAAqB,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,0BAA0B;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAkED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,GAAG,gBAAgB,CAgBzF;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAa3F"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
function normalizeAbsolutePath(targetPath) {
|
|
4
|
+
const normalized = path.resolve(targetPath);
|
|
5
|
+
if (normalized.length > 1 && normalized.endsWith(path.sep)) {
|
|
6
|
+
return normalized.slice(0, -1);
|
|
7
|
+
}
|
|
8
|
+
return normalized;
|
|
9
|
+
}
|
|
10
|
+
function toComparisonKey(targetPath) {
|
|
11
|
+
return process.platform === 'win32' ? targetPath.toLowerCase() : targetPath;
|
|
12
|
+
}
|
|
13
|
+
function findNearestExistingAncestor(targetPath) {
|
|
14
|
+
let cursor = normalizeAbsolutePath(targetPath);
|
|
15
|
+
const suffixParts = [];
|
|
16
|
+
while (!fs.existsSync(cursor)) {
|
|
17
|
+
const parent = path.dirname(cursor);
|
|
18
|
+
if (parent === cursor) {
|
|
19
|
+
break;
|
|
20
|
+
}
|
|
21
|
+
suffixParts.unshift(path.basename(cursor));
|
|
22
|
+
cursor = parent;
|
|
23
|
+
}
|
|
24
|
+
return { ancestor: cursor, suffixParts };
|
|
25
|
+
}
|
|
26
|
+
function resolveCanonicalPathForWrite(targetPath) {
|
|
27
|
+
const normalized = normalizeAbsolutePath(targetPath);
|
|
28
|
+
if (fs.existsSync(normalized)) {
|
|
29
|
+
return normalizeAbsolutePath(fs.realpathSync.native(normalized));
|
|
30
|
+
}
|
|
31
|
+
const { ancestor, suffixParts } = findNearestExistingAncestor(normalized);
|
|
32
|
+
const canonicalAncestor = fs.existsSync(ancestor)
|
|
33
|
+
? normalizeAbsolutePath(fs.realpathSync.native(ancestor))
|
|
34
|
+
: normalizeAbsolutePath(ancestor);
|
|
35
|
+
return normalizeAbsolutePath(path.join(canonicalAncestor, ...suffixParts));
|
|
36
|
+
}
|
|
37
|
+
function resolveRoot(projectRoot, writableRoot) {
|
|
38
|
+
if (path.isAbsolute(writableRoot)) {
|
|
39
|
+
return normalizeAbsolutePath(writableRoot);
|
|
40
|
+
}
|
|
41
|
+
return normalizeAbsolutePath(path.resolve(projectRoot, writableRoot));
|
|
42
|
+
}
|
|
43
|
+
function isWithinRoot(candidatePath, rootPath) {
|
|
44
|
+
const candidateKey = toComparisonKey(candidatePath);
|
|
45
|
+
const rootKey = toComparisonKey(rootPath);
|
|
46
|
+
return candidateKey === rootKey || candidateKey.startsWith(`${rootKey}${path.sep}`);
|
|
47
|
+
}
|
|
48
|
+
export function buildSandboxAllowlist(input) {
|
|
49
|
+
const projectRoot = normalizeAbsolutePath(input.projectRoot);
|
|
50
|
+
const writableRoots = input.writableRoots.map((writableRoot) => {
|
|
51
|
+
const normalizedPath = resolveRoot(projectRoot, writableRoot);
|
|
52
|
+
return {
|
|
53
|
+
originalPath: writableRoot,
|
|
54
|
+
normalizedPath,
|
|
55
|
+
canonicalPath: resolveCanonicalPathForWrite(normalizedPath),
|
|
56
|
+
};
|
|
57
|
+
});
|
|
58
|
+
return {
|
|
59
|
+
projectRoot,
|
|
60
|
+
writableRoots,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
export function isWritePathAllowed(allowlist, targetPath) {
|
|
64
|
+
const normalizedTargetPath = normalizeAbsolutePath(targetPath);
|
|
65
|
+
const canonicalTargetPath = resolveCanonicalPathForWrite(normalizedTargetPath);
|
|
66
|
+
return allowlist.writableRoots.some((entry) => {
|
|
67
|
+
const normalizedMatch = isWithinRoot(normalizedTargetPath, entry.normalizedPath);
|
|
68
|
+
const canonicalMatch = isWithinRoot(canonicalTargetPath, entry.canonicalPath);
|
|
69
|
+
// Require both checks:
|
|
70
|
+
// - normalized path guards lexical traversal tricks (../)
|
|
71
|
+
// - canonical path guards symlink escapes to outside the allowed root
|
|
72
|
+
return normalizedMatch && canonicalMatch;
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=sandbox-allowlist.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-allowlist.js","sourceRoot":"","sources":["../src/sandbox-allowlist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAkB7B,SAAS,qBAAqB,CAAC,UAAkB;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAE5C,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3D,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,eAAe,CAAC,UAAkB;IACzC,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;AAC9E,CAAC;AAED,SAAS,2BAA2B,CAAC,UAAkB;IAIrD,IAAI,MAAM,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,MAAM;QACR,CAAC;QAED,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3C,MAAM,GAAG,MAAM,CAAC;IAClB,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,4BAA4B,CAAC,UAAkB;IACtD,MAAM,UAAU,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAErD,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,OAAO,qBAAqB,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAAC;IAC1E,MAAM,iBAAiB,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC/C,CAAC,CAAC,qBAAqB,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzD,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAEpC,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,WAAW,CAAC,WAAmB,EAAE,YAAoB;IAC5D,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAClC,OAAO,qBAAqB,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,YAAY,CAAC,aAAqB,EAAE,QAAgB;IAC3D,MAAM,YAAY,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAE1C,OAAO,YAAY,KAAK,OAAO,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAiC;IACrE,MAAM,WAAW,GAAG,qBAAqB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC7D,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;QAC7D,MAAM,cAAc,GAAG,WAAW,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAE9D,OAAO;YACL,YAAY,EAAE,YAAY;YAC1B,cAAc;YACd,aAAa,EAAE,4BAA4B,CAAC,cAAc,CAAC;SAC5D,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,WAAW;QACX,aAAa;KACd,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,SAA2B,EAAE,UAAkB;IAChF,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC/D,MAAM,mBAAmB,GAAG,4BAA4B,CAAC,oBAAoB,CAAC,CAAC;IAE/E,OAAO,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QAC5C,MAAM,eAAe,GAAG,YAAY,CAAC,oBAAoB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;QACjF,MAAM,cAAc,GAAG,YAAY,CAAC,mBAAmB,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QAE9E,uBAAuB;QACvB,0DAA0D;QAC1D,sEAAsE;QACtE,OAAO,eAAe,IAAI,cAAc,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type SandboxBackend } from './sandbox-profile.js';
|
|
2
|
+
export interface LinuxSandboxBackendOptions {
|
|
3
|
+
commandExists?: (binary: string) => boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare function createLinuxSandboxBackend(options?: LinuxSandboxBackendOptions): SandboxBackend;
|
|
6
|
+
//# sourceMappingURL=sandbox-backend-linux.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-backend-linux.d.ts","sourceRoot":"","sources":["../src/sandbox-backend-linux.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,cAAc,EAGpB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,0BAA0B;IACzC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;CAC7C;AAsDD,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,0BAA+B,GACvC,cAAc,CAkBhB"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { spawnSync } from 'node:child_process';
|
|
2
|
+
import { SANDBOX_BACKEND_IDS, } from './sandbox-profile.js';
|
|
3
|
+
const LINUX_SANDBOX_BINARY = 'bwrap';
|
|
4
|
+
function defaultCommandExists(binary) {
|
|
5
|
+
const probe = spawnSync(binary, ['--help'], { stdio: 'ignore' });
|
|
6
|
+
return !probe.error;
|
|
7
|
+
}
|
|
8
|
+
function buildUnavailablePlan(request) {
|
|
9
|
+
if (request.allowUnsandboxedFallback) {
|
|
10
|
+
return {
|
|
11
|
+
backendId: SANDBOX_BACKEND_IDS.LINUX,
|
|
12
|
+
enforced: false,
|
|
13
|
+
failClosed: false,
|
|
14
|
+
warning: 'Running unsandboxed because bwrap is unavailable and fallback was explicitly enabled.',
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
return {
|
|
18
|
+
backendId: SANDBOX_BACKEND_IDS.LINUX,
|
|
19
|
+
enforced: false,
|
|
20
|
+
failClosed: true,
|
|
21
|
+
reason: 'Linux sandbox backend unavailable: required binary "bwrap" was not found.',
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function buildInvocation(request) {
|
|
25
|
+
const writableBinds = request.profile.allowlist.writableRoots.flatMap((entry) => [
|
|
26
|
+
'--bind',
|
|
27
|
+
entry.normalizedPath,
|
|
28
|
+
entry.normalizedPath,
|
|
29
|
+
]);
|
|
30
|
+
return {
|
|
31
|
+
command: LINUX_SANDBOX_BINARY,
|
|
32
|
+
args: [
|
|
33
|
+
'--die-with-parent',
|
|
34
|
+
'--new-session',
|
|
35
|
+
'--ro-bind',
|
|
36
|
+
'/',
|
|
37
|
+
'/',
|
|
38
|
+
...writableBinds,
|
|
39
|
+
'--proc',
|
|
40
|
+
'/proc',
|
|
41
|
+
'--dev',
|
|
42
|
+
'/dev',
|
|
43
|
+
'--',
|
|
44
|
+
...request.command,
|
|
45
|
+
],
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
export function createLinuxSandboxBackend(options = {}) {
|
|
49
|
+
const commandExists = options.commandExists || defaultCommandExists;
|
|
50
|
+
return {
|
|
51
|
+
id: SANDBOX_BACKEND_IDS.LINUX,
|
|
52
|
+
resolveExecution(request) {
|
|
53
|
+
if (!commandExists(LINUX_SANDBOX_BINARY)) {
|
|
54
|
+
return buildUnavailablePlan(request);
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
backendId: SANDBOX_BACKEND_IDS.LINUX,
|
|
58
|
+
enforced: true,
|
|
59
|
+
failClosed: false,
|
|
60
|
+
invocation: buildInvocation(request),
|
|
61
|
+
};
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=sandbox-backend-linux.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-backend-linux.js","sourceRoot":"","sources":["../src/sandbox-backend-linux.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EACL,mBAAmB,GAIpB,MAAM,sBAAsB,CAAC;AAM9B,MAAM,oBAAoB,GAAG,OAAO,CAAC;AAErC,SAAS,oBAAoB,CAAC,MAAc;IAC1C,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACjE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;AACtB,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAgC;IAC5D,IAAI,OAAO,CAAC,wBAAwB,EAAE,CAAC;QACrC,OAAO;YACL,SAAS,EAAE,mBAAmB,CAAC,KAAK;YACpC,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;YACjB,OAAO,EACL,uFAAuF;SAC1F,CAAC;IACJ,CAAC;IAED,OAAO;QACL,SAAS,EAAE,mBAAmB,CAAC,KAAK;QACpC,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,2EAA2E;KACpF,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,OAAgC;IACvD,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QAC/E,QAAQ;QACR,KAAK,CAAC,cAAc;QACpB,KAAK,CAAC,cAAc;KACrB,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE,oBAAoB;QAC7B,IAAI,EAAE;YACJ,mBAAmB;YACnB,eAAe;YACf,WAAW;YACX,GAAG;YACH,GAAG;YACH,GAAG,aAAa;YAChB,QAAQ;YACR,OAAO;YACP,OAAO;YACP,MAAM;YACN,IAAI;YACJ,GAAG,OAAO,CAAC,OAAO;SACnB;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,UAAsC,EAAE;IAExC,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,oBAAoB,CAAC;IAEpE,OAAO;QACL,EAAE,EAAE,mBAAmB,CAAC,KAAK;QAC7B,gBAAgB,CAAC,OAAgC;YAC/C,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBACzC,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;YACvC,CAAC;YAED,OAAO;gBACL,SAAS,EAAE,mBAAmB,CAAC,KAAK;gBACpC,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,KAAK;gBACjB,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC;aACrC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type SandboxBackend } from './sandbox-profile.js';
|
|
2
|
+
export interface MacosSandboxBackendOptions {
|
|
3
|
+
commandExists?: (binary: string) => boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare function createMacosSandboxBackend(options?: MacosSandboxBackendOptions): SandboxBackend;
|
|
6
|
+
//# sourceMappingURL=sandbox-backend-macos.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-backend-macos.d.ts","sourceRoot":"","sources":["../src/sandbox-backend-macos.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,cAAc,EAGpB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,0BAA0B;IACzC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;CAC7C;AAyDD,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,0BAA+B,GACvC,cAAc,CAkBhB"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { spawnSync } from 'node:child_process';
|
|
2
|
+
import { SANDBOX_BACKEND_IDS, } from './sandbox-profile.js';
|
|
3
|
+
const MACOS_SANDBOX_BINARY = 'sandbox-exec';
|
|
4
|
+
function defaultCommandExists(binary) {
|
|
5
|
+
const probe = spawnSync(binary, ['-h'], { stdio: 'ignore' });
|
|
6
|
+
return !probe.error;
|
|
7
|
+
}
|
|
8
|
+
function escapePolicyPath(targetPath) {
|
|
9
|
+
return targetPath.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
|
|
10
|
+
}
|
|
11
|
+
function buildPolicy(profile) {
|
|
12
|
+
const writableRules = profile.allowlist.writableRoots.map((entry) => `(allow file-write* (subpath "${escapePolicyPath(entry.normalizedPath)}"))`);
|
|
13
|
+
return [
|
|
14
|
+
'(version 1)',
|
|
15
|
+
'(deny default)',
|
|
16
|
+
'(allow process*)',
|
|
17
|
+
'(allow file-read*)',
|
|
18
|
+
'(allow sysctl-read)',
|
|
19
|
+
'(allow mach-lookup)',
|
|
20
|
+
'(allow network*)',
|
|
21
|
+
'(allow signal)',
|
|
22
|
+
...writableRules,
|
|
23
|
+
].join(' ');
|
|
24
|
+
}
|
|
25
|
+
function buildUnavailablePlan(request) {
|
|
26
|
+
if (request.allowUnsandboxedFallback) {
|
|
27
|
+
return {
|
|
28
|
+
backendId: SANDBOX_BACKEND_IDS.MACOS,
|
|
29
|
+
enforced: false,
|
|
30
|
+
failClosed: false,
|
|
31
|
+
warning: 'Running unsandboxed because sandbox-exec is unavailable and fallback was explicitly enabled.',
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
backendId: SANDBOX_BACKEND_IDS.MACOS,
|
|
36
|
+
enforced: false,
|
|
37
|
+
failClosed: true,
|
|
38
|
+
reason: 'macOS sandbox backend unavailable: required binary "sandbox-exec" was not found.',
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function buildInvocation(request) {
|
|
42
|
+
return {
|
|
43
|
+
command: MACOS_SANDBOX_BINARY,
|
|
44
|
+
args: ['-p', buildPolicy(request.profile), ...request.command],
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
export function createMacosSandboxBackend(options = {}) {
|
|
48
|
+
const commandExists = options.commandExists || defaultCommandExists;
|
|
49
|
+
return {
|
|
50
|
+
id: SANDBOX_BACKEND_IDS.MACOS,
|
|
51
|
+
resolveExecution(request) {
|
|
52
|
+
if (!commandExists(MACOS_SANDBOX_BINARY)) {
|
|
53
|
+
return buildUnavailablePlan(request);
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
backendId: SANDBOX_BACKEND_IDS.MACOS,
|
|
57
|
+
enforced: true,
|
|
58
|
+
failClosed: false,
|
|
59
|
+
invocation: buildInvocation(request),
|
|
60
|
+
};
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=sandbox-backend-macos.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-backend-macos.js","sourceRoot":"","sources":["../src/sandbox-backend-macos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EACL,mBAAmB,GAIpB,MAAM,sBAAsB,CAAC;AAM9B,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAE5C,SAAS,oBAAoB,CAAC,MAAc;IAC1C,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7D,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;AACtB,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAkB;IAC1C,OAAO,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,WAAW,CAAC,OAA2C;IAC9D,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CACvD,CAAC,KAAK,EAAE,EAAE,CAAC,gCAAgC,gBAAgB,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CACvF,CAAC;IAEF,OAAO;QACL,aAAa;QACb,gBAAgB;QAChB,kBAAkB;QAClB,oBAAoB;QACpB,qBAAqB;QACrB,qBAAqB;QACrB,kBAAkB;QAClB,gBAAgB;QAChB,GAAG,aAAa;KACjB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAgC;IAC5D,IAAI,OAAO,CAAC,wBAAwB,EAAE,CAAC;QACrC,OAAO;YACL,SAAS,EAAE,mBAAmB,CAAC,KAAK;YACpC,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;YACjB,OAAO,EACL,8FAA8F;SACjG,CAAC;IACJ,CAAC;IAED,OAAO;QACL,SAAS,EAAE,mBAAmB,CAAC,KAAK;QACpC,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,kFAAkF;KAC3F,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,OAAgC;IACvD,OAAO;QACL,OAAO,EAAE,oBAAoB;QAC7B,IAAI,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;KAC/D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,UAAsC,EAAE;IAExC,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,oBAAoB,CAAC;IAEpE,OAAO;QACL,EAAE,EAAE,mBAAmB,CAAC,KAAK;QAC7B,gBAAgB,CAAC,OAAgC;YAC/C,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBACzC,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;YACvC,CAAC;YAED,OAAO;gBACL,SAAS,EAAE,mBAAmB,CAAC,KAAK;gBACpC,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,KAAK;gBACjB,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC;aACrC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type SandboxBackend } from './sandbox-profile.js';
|
|
2
|
+
export interface WindowsSandboxBackendOptions {
|
|
3
|
+
commandExists?: (binary: string) => boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare function createWindowsSandboxBackend(_options?: WindowsSandboxBackendOptions): SandboxBackend;
|
|
6
|
+
//# sourceMappingURL=sandbox-backend-windows.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-backend-windows.d.ts","sourceRoot":"","sources":["../src/sandbox-backend-windows.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EAGpB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,4BAA4B;IAC3C,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;CAC7C;AAyBD,wBAAgB,2BAA2B,CACzC,QAAQ,GAAE,4BAAiC,GAC1C,cAAc,CAOhB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { SANDBOX_BACKEND_IDS, } from './sandbox-profile.js';
|
|
2
|
+
const WINDOWS_ENFORCEMENT_UNAVAILABLE_REASON = 'Windows sandbox backend unavailable: write enforcement is not yet available on Windows.';
|
|
3
|
+
const WINDOWS_ENFORCEMENT_UNAVAILABLE_WARNING = 'Running unsandboxed because write enforcement is not yet available on Windows and fallback was explicitly enabled.';
|
|
4
|
+
function buildNotImplementedPlan(request) {
|
|
5
|
+
if (request.allowUnsandboxedFallback) {
|
|
6
|
+
return {
|
|
7
|
+
backendId: SANDBOX_BACKEND_IDS.WINDOWS,
|
|
8
|
+
enforced: false,
|
|
9
|
+
failClosed: false,
|
|
10
|
+
warning: WINDOWS_ENFORCEMENT_UNAVAILABLE_WARNING,
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
return {
|
|
14
|
+
backendId: SANDBOX_BACKEND_IDS.WINDOWS,
|
|
15
|
+
enforced: false,
|
|
16
|
+
failClosed: true,
|
|
17
|
+
reason: WINDOWS_ENFORCEMENT_UNAVAILABLE_REASON,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export function createWindowsSandboxBackend(_options = {}) {
|
|
21
|
+
return {
|
|
22
|
+
id: SANDBOX_BACKEND_IDS.WINDOWS,
|
|
23
|
+
resolveExecution(request) {
|
|
24
|
+
return buildNotImplementedPlan(request);
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=sandbox-backend-windows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-backend-windows.js","sourceRoot":"","sources":["../src/sandbox-backend-windows.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,GAIpB,MAAM,sBAAsB,CAAC;AAM9B,MAAM,sCAAsC,GAC1C,yFAAyF,CAAC;AAC5F,MAAM,uCAAuC,GAC3C,oHAAoH,CAAC;AAEvH,SAAS,uBAAuB,CAAC,OAAgC;IAC/D,IAAI,OAAO,CAAC,wBAAwB,EAAE,CAAC;QACrC,OAAO;YACL,SAAS,EAAE,mBAAmB,CAAC,OAAO;YACtC,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,uCAAuC;SACjD,CAAC;IACJ,CAAC;IAED,OAAO;QACL,SAAS,EAAE,mBAAmB,CAAC,OAAO;QACtC,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,sCAAsC;KAC/C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,WAAyC,EAAE;IAE3C,OAAO;QACL,EAAE,EAAE,mBAAmB,CAAC,OAAO;QAC/B,gBAAgB,CAAC,OAAgC;YAC/C,OAAO,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;KACF,CAAC;AACJ,CAAC"}
|