pi-crew 0.9.51 → 0.9.52
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/CHANGELOG.md +35 -0
- package/README.md +216 -20
- package/dist/build-meta.json +2090 -1638
- package/dist/index.mjs +18057 -17119
- package/docs/actions-reference.md +431 -1
- package/package.json +19 -9
- package/schema.json +41 -0
- package/scripts/check-bundle-size.mjs +38 -0
- package/scripts/test-runner.mjs +11 -1
- package/dist/index.mjs.map +0 -7
- package/docs/FEATURE_INTAKE.md +0 -126
- package/docs/HARNESS.md +0 -87
- package/docs/HARNESS_BACKLOG.md +0 -89
- package/docs/PROJECT_REVIEW.md +0 -270
- package/docs/PROJECT_REVIEW_FIXES.md +0 -342
- package/docs/PROJECT_REVIEW_ROUND4.md +0 -156
- package/docs/PROJECT_REVIEW_ROUND5.md +0 -86
- package/docs/REVIEW-FINDINGS-2026-06 +0 -357
- package/docs/REVIEW-FINDINGS-2026-07-CORE.md +0 -139
- package/docs/REVIEW-FINDINGS-2026-07.md +0 -125
- package/docs/TEST_MATRIX.md +0 -51
- package/docs/archive/README.md +0 -91
- package/docs/archive/followup-review-round3-2026-05-12.md +0 -342
- package/docs/archive/followup-review-round4-2026-05-13.md +0 -107
- package/docs/archive/pi-crew-bugs.md +0 -961
- package/docs/archive/pi-crew-test-final.md +0 -120
- package/docs/archive/pi-crew-test-results.md +0 -260
- package/docs/archive/pi-crew-test-round2.md +0 -136
- package/docs/archive/pi-crew-test-round4.md +0 -100
- package/docs/archive/pi-crew-test-round5.md +0 -70
- package/docs/archive/pi-crew-test-round6.md +0 -110
- package/docs/archive/pi-crew-v0.5.10-audit-fix-plan.md +0 -60
- package/docs/archive/pi-crew-v0.5.11-audit-fix-plan.md +0 -92
- package/docs/archive/pi-crew-v0.5.12-audit-fix-plan.md +0 -76
- package/docs/archive/pi-crew-v0.5.13-audit-fix-plan.md +0 -75
- package/docs/archive/pi-crew-v0.5.14-audit-fix-plan.md +0 -75
- package/docs/archive/pi-crew-v0.5.16-audit-fix-plan.md +0 -35
- package/docs/archive/pi-crew-v0.5.17-audit-fix-plan.md +0 -80
- package/docs/archive/pi-crew-v0.5.5-audit-fix-plan.md +0 -133
- package/docs/archive/pi-crew-v0.5.9-audit-fix-plan.md +0 -88
- package/docs/archive/pi-mono-opportunities.md +0 -969
- package/docs/archive/pi-mono-review.md +0 -291
- package/docs/archive/pi-subagent4-comparison.md +0 -261
- package/docs/archive/pi-subagents3-deep-analysis.md +0 -508
- package/docs/bugs/bug-021-notification-badge-counter-misleading.md +0 -293
- package/docs/bugs/bug-023-chain-windows-path-resolution.md +0 -106
- package/docs/bugs/bug-quota-display-truncation.md +0 -223
- package/docs/bugs/cross-session-notification-leakage.md +0 -82
- package/docs/code-review-2026-05-11.md +0 -592
- package/docs/coding-agent-optimization.md +0 -268
- package/docs/comparison-pi-subagents-vs-pi-crew.md +0 -303
- package/docs/decisions/0001-durable-state.md +0 -41
- package/docs/decisions/0002-child-process-for-async.md +0 -42
- package/docs/decisions/0003-depth-guard.md +0 -36
- package/docs/decisions/0004-execfile-over-exec.md +0 -34
- package/docs/decisions/0005-no-parameter-properties.md +0 -49
- package/docs/decisions/0006-publish-bundled-esm.md +0 -63
- package/docs/decisions/0007-active-run-binary-index.md +0 -54
- package/docs/decisions/0008-child-pi-warm-pool.md +0 -61
- package/docs/decisions/2026-07-21-broker-phase4-default-on.md +0 -77
- package/docs/decisions/2026-07-21-broker-windows-perms.md +0 -91
- package/docs/decisions/2026-07-22-broker-phase4-gated-on.md +0 -99
- package/docs/decisions/2026-07-24-oidc-trusted-publishing.md +0 -112
- package/docs/decisions/2026-07-26-c6-mascot-visibility-not-wired.md +0 -84
- package/docs/decisions/README.md +0 -26
- package/docs/deep-review-report.md +0 -384
- package/docs/distillation/cybersecurity-patterns.md +0 -294
- package/docs/feature-analysis-subagent4.md +0 -305
- package/docs/fix-plan-disabletools-exit-null.md +0 -219
- package/docs/fixes/BATCH_A_H1_H2.md +0 -86
- package/docs/fixes/bug-006-foreground-cancel-concurrent.md +0 -78
- package/docs/fixes/bug-007-async-notifier-stale-ctx.md +0 -112
- package/docs/fixes/bug-008-child-process-silent-timeout.md +0 -100
- package/docs/fixes/bug-009-executor-yield-limit-needs-attention.md +0 -75
- package/docs/fixes/bug-010-child-process-api-key-filtered.md +0 -109
- package/docs/fixes/bug-011-spawn-pi-enoent.md +0 -92
- package/docs/fixes/bug-012-essential-env-stripped.md +0 -89
- package/docs/fixes/bug-013-background-runner-death.md +0 -84
- package/docs/fixes/bug-014-infinite-retry-loop-needs-attention.md +0 -82
- package/docs/fixes/bug-015-background-runner-sigterm.md +0 -65
- package/docs/fixes/bug-017-background-runner-session-shutdown.md +0 -66
- package/docs/fixes/bug-017-background-runner-sigkill-double-fork.md +0 -28
- package/docs/fixes/bug-018-child-pi-worker-stdin-hang.md +0 -61
- package/docs/fixes/bug-019-phantom-runs-temp-workspace.md +0 -52
- package/docs/fixes/bug-020-infinite-retry-loop-needs-attention.md +0 -47
- package/docs/fixes/v0.9.10/locks-fix-verify.md +0 -3
- package/docs/fixes/v0.9.10/smoke-test.md +0 -12
- package/docs/followup-plan-2026-05-12.md +0 -463
- package/docs/followup-review-2026-05-12.md +0 -297
- package/docs/goals.md +0 -59
- package/docs/implementation-plan-top3.md +0 -333
- package/docs/issue-29-analysis.md +0 -189
- package/docs/live-mailbox-runtime.md +0 -36
- package/docs/migration/atomic-write-v2-migration.md +0 -299
- package/docs/next-upgrade-roadmap.md +0 -808
- package/docs/oh-my-pi-research.md +0 -509
- package/docs/optimization-plan-2026-07.md +0 -366
- package/docs/optimization-plan.md +0 -644
- package/docs/patterns/command-agent-skill.md +0 -71
- package/docs/perf/baseline-2026-05.md +0 -113
- package/docs/perf/final-report-2026-05.md +0 -206
- package/docs/perf/optimization-plan-2026-07-verified.md +0 -396
- package/docs/perf/performance-audit-report-2026-07.md +0 -948
- package/docs/perf/performance-review-2026-07.md +0 -287
- package/docs/perf/sprint-1-report.md +0 -71
- package/docs/perf/sprint-2-report.md +0 -81
- package/docs/perf/sprint-2.5-report.md +0 -53
- package/docs/perf/sprint-3-report.md +0 -36
- package/docs/perf/sprint-4-report.md +0 -47
- package/docs/perf/sprint-5-report.md +0 -51
- package/docs/perf/sprint-6-report.md +0 -94
- package/docs/perf/sprint-7-report.md +0 -74
- package/docs/perf/upgrade-plan-2026-05.md +0 -147
- package/docs/performance-optimization-execution-plan.md +0 -520
- package/docs/phase4-triage.md +0 -58
- package/docs/pi-crew-investigation-report.md +0 -411
- package/docs/product/README.md +0 -31
- package/docs/product/platform.md +0 -27
- package/docs/product/runtime-safety.md +0 -37
- package/docs/product/team-run.md +0 -39
- package/docs/product/team-tool.md +0 -37
- package/docs/runtime-analysis-child-vs-live.md +0 -171
- package/docs/runtime-migration-in-process-analysis.md +0 -250
- package/docs/skills/REFERENCE.md +0 -138
- package/docs/stories/README.md +0 -32
- package/docs/stories/US-DEPS-major-upgrade.md +0 -62
- package/docs/stories/backlog.md +0 -36
- package/docs/superpowers/plans/2026-06-09-fallow-patterns-adoption.md +0 -1270
- package/docs/templates/decision.md +0 -27
- package/docs/templates/story.md +0 -44
- package/docs/templates/validation-report.md +0 -32
- package/docs/ui-optimization-plan.md +0 -447
- package/src/adapters/claude-adapter.ts +0 -23
- package/src/adapters/codex-adapter.ts +0 -21
- package/src/adapters/cursor-adapter.ts +0 -17
- package/src/adapters/export-util.ts +0 -143
- package/src/adapters/index.ts +0 -15
- package/src/adapters/registry.ts +0 -18
- package/src/adapters/types.ts +0 -23
- package/src/agents/agent-config.ts +0 -194
- package/src/agents/agent-search.ts +0 -98
- package/src/agents/agent-serializer.ts +0 -38
- package/src/agents/discover-agents.ts +0 -623
- package/src/benchmark/benchmark-runner.ts +0 -313
- package/src/benchmark/feedback-loop.ts +0 -73
- package/src/config/config.ts +0 -1269
- package/src/config/defaults.ts +0 -193
- package/src/config/drift-detector.ts +0 -290
- package/src/config/markers.ts +0 -330
- package/src/config/resilient-parser.ts +0 -117
- package/src/config/role-tools.ts +0 -118
- package/src/config/suggestions.ts +0 -75
- package/src/config/types.ts +0 -278
- package/src/errors.ts +0 -194
- package/src/extension/action-suggestions.ts +0 -117
- package/src/extension/async-notifier.ts +0 -179
- package/src/extension/autonomous-policy.ts +0 -209
- package/src/extension/command-completions.ts +0 -120
- package/src/extension/context-status-injection.ts +0 -185
- package/src/extension/crew-autocomplete.ts +0 -131
- package/src/extension/crew-cleanup.ts +0 -168
- package/src/extension/crew-input-router.ts +0 -93
- package/src/extension/crew-shortcuts.ts +0 -87
- package/src/extension/crew-vibes/cat-frames.ts +0 -18
- package/src/extension/crew-vibes/config.ts +0 -195
- package/src/extension/crew-vibes/figures.ts +0 -101
- package/src/extension/crew-vibes/font-detect.ts +0 -71
- package/src/extension/crew-vibes/footer.ts +0 -292
- package/src/extension/crew-vibes/index.ts +0 -432
- package/src/extension/crew-vibes/provider-usage.ts +0 -396
- package/src/extension/crew-vibes/render.ts +0 -206
- package/src/extension/crew-vibes/speed.ts +0 -286
- package/src/extension/cross-extension-rpc.ts +0 -350
- package/src/extension/help.ts +0 -62
- package/src/extension/import-index.ts +0 -74
- package/src/extension/knowledge-injection.ts +0 -402
- package/src/extension/management.ts +0 -571
- package/src/extension/message-renderers.ts +0 -108
- package/src/extension/notification-router.ts +0 -152
- package/src/extension/notification-sink.ts +0 -54
- package/src/extension/pi-api.ts +0 -56
- package/src/extension/plan-orchestrate.ts +0 -302
- package/src/extension/project-init.ts +0 -170
- package/src/extension/register.ts +0 -113
- package/src/extension/registration/artifact-cleanup.ts +0 -20
- package/src/extension/registration/command-registration.ts +0 -58
- package/src/extension/registration/command-utils.ts +0 -58
- package/src/extension/registration/commands.ts +0 -1228
- package/src/extension/registration/compaction-guard.ts +0 -333
- package/src/extension/registration/context-builder.ts +0 -135
- package/src/extension/registration/crash-recovery-cache.ts +0 -54
- package/src/extension/registration/foreground-run-controller.ts +0 -238
- package/src/extension/registration/hook-registration.ts +0 -119
- package/src/extension/registration/lazy-configurers.ts +0 -124
- package/src/extension/registration/lifecycle-handlers.ts +0 -923
- package/src/extension/registration/lifecycle.ts +0 -259
- package/src/extension/registration/observability.ts +0 -322
- package/src/extension/registration/registration-types.ts +0 -158
- package/src/extension/registration/runtime-cleanup.ts +0 -230
- package/src/extension/registration/subagent-helpers.ts +0 -125
- package/src/extension/registration/subagent-manager-setup.ts +0 -330
- package/src/extension/registration/subagent-tools.ts +0 -456
- package/src/extension/registration/team-tool.ts +0 -220
- package/src/extension/registration/tool-registration.ts +0 -50
- package/src/extension/registration/ui.ts +0 -172
- package/src/extension/registration/viewers.ts +0 -121
- package/src/extension/registration/wire-cross-extension.ts +0 -37
- package/src/extension/result-watcher.ts +0 -139
- package/src/extension/rpc-hmac.ts +0 -256
- package/src/extension/run-bundle-schema.ts +0 -104
- package/src/extension/run-export.ts +0 -97
- package/src/extension/run-import.ts +0 -168
- package/src/extension/run-index.ts +0 -131
- package/src/extension/run-maintenance.ts +0 -190
- package/src/extension/session-summary.ts +0 -18
- package/src/extension/team-manager-command.ts +0 -153
- package/src/extension/team-onboard.ts +0 -177
- package/src/extension/team-recommendation.ts +0 -288
- package/src/extension/team-tool/anchor.ts +0 -172
- package/src/extension/team-tool/api.ts +0 -1244
- package/src/extension/team-tool/auto-summarize.ts +0 -142
- package/src/extension/team-tool/cache-control.ts +0 -19
- package/src/extension/team-tool/cancel.ts +0 -337
- package/src/extension/team-tool/chain-dispatch.ts +0 -95
- package/src/extension/team-tool/chain-executor.ts +0 -379
- package/src/extension/team-tool/config-patch.ts +0 -50
- package/src/extension/team-tool/context.ts +0 -149
- package/src/extension/team-tool/destructive-gate.ts +0 -52
- package/src/extension/team-tool/doctor.ts +0 -431
- package/src/extension/team-tool/explain.ts +0 -282
- package/src/extension/team-tool/failure-patterns.ts +0 -118
- package/src/extension/team-tool/goal-wrap.ts +0 -330
- package/src/extension/team-tool/goal.ts +0 -556
- package/src/extension/team-tool/handle-schedule.ts +0 -332
- package/src/extension/team-tool/handle-settings.ts +0 -520
- package/src/extension/team-tool/health-monitor.ts +0 -481
- package/src/extension/team-tool/inspect.ts +0 -88
- package/src/extension/team-tool/intent-policy.ts +0 -45
- package/src/extension/team-tool/lifecycle-actions.ts +0 -615
- package/src/extension/team-tool/orchestrate.ts +0 -98
- package/src/extension/team-tool/parallel-dispatch.ts +0 -183
- package/src/extension/team-tool/plan.ts +0 -50
- package/src/extension/team-tool/respond.ts +0 -150
- package/src/extension/team-tool/run-not-found.ts +0 -49
- package/src/extension/team-tool/run.ts +0 -1035
- package/src/extension/team-tool/status.ts +0 -260
- package/src/extension/team-tool/workflow-manage.ts +0 -261
- package/src/extension/team-tool-types.ts +0 -26
- package/src/extension/team-tool.ts +0 -1116
- package/src/extension/tool-result.ts +0 -16
- package/src/extension/validate-resources.ts +0 -108
- package/src/hooks/registry.ts +0 -200
- package/src/hooks/types.ts +0 -69
- package/src/i18n.ts +0 -212
- package/src/observability/correlation.ts +0 -50
- package/src/observability/event-bus.ts +0 -86
- package/src/observability/event-to-metric.ts +0 -170
- package/src/observability/exporters/adapter.ts +0 -27
- package/src/observability/exporters/otlp-exporter.ts +0 -356
- package/src/observability/exporters/prometheus-exporter.ts +0 -54
- package/src/observability/metric-registry.ts +0 -100
- package/src/observability/metric-retention.ts +0 -64
- package/src/observability/metric-sink.ts +0 -99
- package/src/observability/metrics-primitives.ts +0 -219
- package/src/plugins/plugin-define.ts +0 -6
- package/src/plugins/plugin-registry.ts +0 -32
- package/src/plugins/plugins/index.ts +0 -3
- package/src/plugins/plugins/nextjs.ts +0 -19
- package/src/plugins/plugins/vite.ts +0 -10
- package/src/plugins/plugins/vitest.ts +0 -9
- package/src/prompt/prompt-runtime.ts +0 -380
- package/src/runtime/adaptive-plan.ts +0 -563
- package/src/runtime/agent-control.ts +0 -215
- package/src/runtime/agent-memory.ts +0 -81
- package/src/runtime/agent-observability.ts +0 -122
- package/src/runtime/anchor-manager.ts +0 -475
- package/src/runtime/async-marker.ts +0 -32
- package/src/runtime/async-runner.ts +0 -381
- package/src/runtime/attention-events.ts +0 -28
- package/src/runtime/auto-summarize.ts +0 -344
- package/src/runtime/background-runner.ts +0 -837
- package/src/runtime/batch-barrier.ts +0 -147
- package/src/runtime/broker-issuer.ts +0 -37
- package/src/runtime/cancellation-token.ts +0 -99
- package/src/runtime/cancellation.ts +0 -99
- package/src/runtime/capability-inventory.ts +0 -137
- package/src/runtime/chain-parser.ts +0 -237
- package/src/runtime/chain-runner.ts +0 -606
- package/src/runtime/checkpoint.ts +0 -291
- package/src/runtime/child-pi-constants.ts +0 -42
- package/src/runtime/child-pi-kill.ts +0 -180
- package/src/runtime/child-pi-pool.ts +0 -68
- package/src/runtime/child-pi-spawn.ts +0 -287
- package/src/runtime/child-pi-steering.ts +0 -128
- package/src/runtime/child-pi-streams.ts +0 -296
- package/src/runtime/child-pi-transcript.ts +0 -169
- package/src/runtime/child-pi.ts +0 -1105
- package/src/runtime/coalesce-tasks.ts +0 -268
- package/src/runtime/code-summary.ts +0 -292
- package/src/runtime/command-trace.ts +0 -105
- package/src/runtime/compact-pipeline.ts +0 -56
- package/src/runtime/compact-stages/ansi-strip-stage.ts +0 -25
- package/src/runtime/compact-stages/blank-collapse-stage.ts +0 -31
- package/src/runtime/compact-stages/deduplicate-stage.ts +0 -34
- package/src/runtime/compact-stages/head-snap-stage.ts +0 -57
- package/src/runtime/compact-stages/index.ts +0 -23
- package/src/runtime/compact-stages/tail-capture-stage.ts +0 -77
- package/src/runtime/compact-stages/truncation-stage.ts +0 -74
- package/src/runtime/compaction-summary.ts +0 -278
- package/src/runtime/completion-guard.ts +0 -207
- package/src/runtime/concurrency.ts +0 -58
- package/src/runtime/crash-classification.ts +0 -229
- package/src/runtime/crash-recovery.ts +0 -577
- package/src/runtime/crew-agent-records.ts +0 -593
- package/src/runtime/crew-agent-runtime.ts +0 -62
- package/src/runtime/crew-broker-child.ts +0 -88
- package/src/runtime/crew-broker-client.ts +0 -673
- package/src/runtime/crew-broker-tokens.ts +0 -84
- package/src/runtime/crew-broker.ts +0 -1276
- package/src/runtime/crew-hooks.ts +0 -227
- package/src/runtime/cross-extension-rpc.ts +0 -143
- package/src/runtime/custom-tools/irc-tool.ts +0 -282
- package/src/runtime/custom-tools/submit-result-tool.ts +0 -102
- package/src/runtime/deadletter.ts +0 -47
- package/src/runtime/delivery-coordinator.ts +0 -211
- package/src/runtime/delta-conflict.ts +0 -348
- package/src/runtime/deterministic-ast.ts +0 -161
- package/src/runtime/diagnostic-export.ts +0 -171
- package/src/runtime/direct-run.ts +0 -45
- package/src/runtime/dwf-state-store.ts +0 -102
- package/src/runtime/dynamic-workflow-context.ts +0 -1016
- package/src/runtime/dynamic-workflow-runner.ts +0 -310
- package/src/runtime/effectiveness.ts +0 -90
- package/src/runtime/errors/crew-errors.ts +0 -162
- package/src/runtime/event-stream-bridge.ts +0 -98
- package/src/runtime/foreground-control.ts +0 -193
- package/src/runtime/foreground-watchdog.ts +0 -132
- package/src/runtime/global-worker-cap.ts +0 -96
- package/src/runtime/goal-achievement.ts +0 -148
- package/src/runtime/goal-evaluator.ts +0 -361
- package/src/runtime/goal-loop-runner.ts +0 -828
- package/src/runtime/goal-state-store.ts +0 -219
- package/src/runtime/green-contract.ts +0 -55
- package/src/runtime/group-join.ts +0 -267
- package/src/runtime/handoff-manager.ts +0 -598
- package/src/runtime/heartbeat-gradient.ts +0 -36
- package/src/runtime/heartbeat-watcher.ts +0 -239
- package/src/runtime/hidden-handoff.ts +0 -407
- package/src/runtime/important-line-classifier.ts +0 -140
- package/src/runtime/intercom-bridge.ts +0 -187
- package/src/runtime/iteration-hooks.ts +0 -305
- package/src/runtime/live-agent-control.ts +0 -136
- package/src/runtime/live-agent-manager.ts +0 -704
- package/src/runtime/live-control-realtime.ts +0 -56
- package/src/runtime/live-extension-bridge.ts +0 -148
- package/src/runtime/live-irc.ts +0 -97
- package/src/runtime/live-session-health.ts +0 -108
- package/src/runtime/live-session-runtime.ts +0 -1139
- package/src/runtime/loop-gates.ts +0 -128
- package/src/runtime/manifest-cache.ts +0 -375
- package/src/runtime/mcp-proxy.ts +0 -105
- package/src/runtime/metric-parser.ts +0 -36
- package/src/runtime/model-fallback.ts +0 -409
- package/src/runtime/model-resolver.ts +0 -126
- package/src/runtime/model-scope.ts +0 -158
- package/src/runtime/orphan-worker-registry.ts +0 -465
- package/src/runtime/output-validator.ts +0 -202
- package/src/runtime/overflow-recovery.ts +0 -206
- package/src/runtime/parallel-research.ts +0 -68
- package/src/runtime/parallel-utils.ts +0 -160
- package/src/runtime/parent-guard.ts +0 -134
- package/src/runtime/path-overlap.ts +0 -150
- package/src/runtime/peer-dep.ts +0 -292
- package/src/runtime/per-write-validator.ts +0 -181
- package/src/runtime/phase-progress.ts +0 -217
- package/src/runtime/phase-tracker.ts +0 -385
- package/src/runtime/pi-args.ts +0 -655
- package/src/runtime/pi-json-output.ts +0 -170
- package/src/runtime/pi-spawn.ts +0 -273
- package/src/runtime/pipeline-runner.ts +0 -523
- package/src/runtime/plan-templates.ts +0 -201
- package/src/runtime/policy-engine.ts +0 -115
- package/src/runtime/post-checks.ts +0 -142
- package/src/runtime/post-exit-stdio-guard.ts +0 -104
- package/src/runtime/process-lifecycle.ts +0 -491
- package/src/runtime/process-status.ts +0 -154
- package/src/runtime/progress-event-coalescer.ts +0 -44
- package/src/runtime/progress-tracker.ts +0 -124
- package/src/runtime/prose-compressor.ts +0 -162
- package/src/runtime/recovery-recipes.ts +0 -203
- package/src/runtime/replace.ts +0 -570
- package/src/runtime/resilient-edit.ts +0 -153
- package/src/runtime/result-extractor.ts +0 -213
- package/src/runtime/retry-executor.ts +0 -100
- package/src/runtime/retry-runner.ts +0 -336
- package/src/runtime/role-permission.ts +0 -59
- package/src/runtime/run-coalesced-task-group.ts +0 -308
- package/src/runtime/run-drift.ts +0 -219
- package/src/runtime/run-tracker.ts +0 -116
- package/src/runtime/runtime-policy.ts +0 -29
- package/src/runtime/runtime-resolver.ts +0 -172
- package/src/runtime/runtime-warmup.ts +0 -160
- package/src/runtime/scheduler.ts +0 -353
- package/src/runtime/semaphore.ts +0 -141
- package/src/runtime/sensitive-paths.ts +0 -93
- package/src/runtime/session-resources.ts +0 -25
- package/src/runtime/session-snapshot.ts +0 -59
- package/src/runtime/session-usage.ts +0 -79
- package/src/runtime/settings-store.ts +0 -155
- package/src/runtime/sidechain-output.ts +0 -35
- package/src/runtime/single-agent-compose.ts +0 -84
- package/src/runtime/skill-effectiveness.ts +0 -524
- package/src/runtime/skill-instructions.ts +0 -391
- package/src/runtime/stale-reconciler.ts +0 -680
- package/src/runtime/stream-preview.ts +0 -184
- package/src/runtime/streaming-output.ts +0 -50
- package/src/runtime/subagent-manager.ts +0 -561
- package/src/runtime/subprocess-tool-registry.ts +0 -70
- package/src/runtime/supervisor-contact.ts +0 -64
- package/src/runtime/task-display.ts +0 -52
- package/src/runtime/task-graph-scheduler.ts +0 -227
- package/src/runtime/task-graph.ts +0 -290
- package/src/runtime/task-health.ts +0 -83
- package/src/runtime/task-id.ts +0 -161
- package/src/runtime/task-output-context.ts +0 -602
- package/src/runtime/task-packet.ts +0 -268
- package/src/runtime/task-quality.ts +0 -199
- package/src/runtime/task-runner/capabilities.ts +0 -78
- package/src/runtime/task-runner/context-retrieval.ts +0 -163
- package/src/runtime/task-runner/live-executor.ts +0 -227
- package/src/runtime/task-runner/output-splitter.ts +0 -152
- package/src/runtime/task-runner/progress.ts +0 -157
- package/src/runtime/task-runner/prompt-builder.ts +0 -278
- package/src/runtime/task-runner/prompt-pipeline.ts +0 -88
- package/src/runtime/task-runner/result-utils.ts +0 -16
- package/src/runtime/task-runner/retrieval-orchestrator.ts +0 -310
- package/src/runtime/task-runner/run-projection.ts +0 -125
- package/src/runtime/task-runner/state-helpers.ts +0 -176
- package/src/runtime/task-runner/tail-read.ts +0 -34
- package/src/runtime/task-runner.ts +0 -1420
- package/src/runtime/team-runner-artifacts.ts +0 -13
- package/src/runtime/team-runner.ts +0 -1993
- package/src/runtime/tool-output-pruner.ts +0 -333
- package/src/runtime/tool-progress.ts +0 -278
- package/src/runtime/usage-tracker.ts +0 -73
- package/src/runtime/verification-gates.ts +0 -571
- package/src/runtime/verification-integrity.ts +0 -105
- package/src/runtime/verification-worktree.ts +0 -186
- package/src/runtime/worker-heartbeat.ts +0 -25
- package/src/runtime/worker-startup.ts +0 -83
- package/src/runtime/workflow-state.ts +0 -195
- package/src/runtime/workspace-lock.ts +0 -443
- package/src/runtime/workspace-tree.ts +0 -312
- package/src/runtime/yield-handler.ts +0 -224
- package/src/runtime/zombie-scanner.ts +0 -298
- package/src/schema/config-schema.ts +0 -327
- package/src/schema/team-tool-schema.ts +0 -415
- package/src/schema/validation-types.ts +0 -159
- package/src/skills/discover-skills.ts +0 -197
- package/src/skills/skill-templates.ts +0 -456
- package/src/skills/validate.ts +0 -285
- package/src/state/active-run-registry.ts +0 -439
- package/src/state/artifact-store.ts +0 -176
- package/src/state/atomic-write.ts +0 -903
- package/src/state/blob-store.ts +0 -308
- package/src/state/contracts.ts +0 -158
- package/src/state/crew-init.ts +0 -269
- package/src/state/decision-ledger.ts +0 -345
- package/src/state/event-log-rotation.ts +0 -342
- package/src/state/event-log.ts +0 -1311
- package/src/state/event-reconstructor.ts +0 -229
- package/src/state/gitignore-manager.ts +0 -46
- package/src/state/health-store.ts +0 -79
- package/src/state/hook-instinct-bridge.ts +0 -94
- package/src/state/hook-integrations.ts +0 -51
- package/src/state/instinct-store.ts +0 -275
- package/src/state/jsonl-writer.ts +0 -107
- package/src/state/locks.ts +0 -562
- package/src/state/mailbox.ts +0 -916
- package/src/state/observation-store.ts +0 -176
- package/src/state/run-cache.ts +0 -193
- package/src/state/run-graph.ts +0 -183
- package/src/state/run-metrics.ts +0 -165
- package/src/state/schedule.ts +0 -166
- package/src/state/session-state-map.ts +0 -51
- package/src/state/state-store.ts +0 -958
- package/src/state/task-claims.ts +0 -61
- package/src/state/tiered-eval.ts +0 -480
- package/src/state/types-eval.ts +0 -58
- package/src/state/types.ts +0 -440
- package/src/state/usage.ts +0 -138
- package/src/state/worker-atomic-writer.ts +0 -194
- package/src/subagents/async-entry.ts +0 -1
- package/src/subagents/index.ts +0 -3
- package/src/subagents/live/control.ts +0 -1
- package/src/subagents/live/manager.ts +0 -1
- package/src/subagents/live/realtime.ts +0 -1
- package/src/subagents/live/session-runtime.ts +0 -1
- package/src/subagents/manager.ts +0 -1
- package/src/subagents/spawn.ts +0 -1
- package/src/teams/discover-teams.ts +0 -187
- package/src/teams/team-config.ts +0 -27
- package/src/teams/team-serializer.ts +0 -38
- package/src/tools/safe-bash-extension.ts +0 -54
- package/src/tools/safe-bash.ts +0 -505
- package/src/types/diff.d.ts +0 -18
- package/src/types/new-api-types.ts +0 -35
- package/src/ui/agent-management-overlay.ts +0 -160
- package/src/ui/card-colors.ts +0 -139
- package/src/ui/crew-footer.ts +0 -102
- package/src/ui/crew-select-list.ts +0 -111
- package/src/ui/dashboard-panes/agents-pane.ts +0 -164
- package/src/ui/dashboard-panes/cancellation-pane.ts +0 -66
- package/src/ui/dashboard-panes/capability-pane.ts +0 -77
- package/src/ui/dashboard-panes/health-pane.ts +0 -31
- package/src/ui/dashboard-panes/mailbox-pane.ts +0 -35
- package/src/ui/dashboard-panes/metrics-pane.ts +0 -37
- package/src/ui/dashboard-panes/progress-pane.ts +0 -38
- package/src/ui/dashboard-panes/transcript-pane.ts +0 -10
- package/src/ui/deploy-bundled-themes.ts +0 -71
- package/src/ui/dwf-phase-display.ts +0 -151
- package/src/ui/dynamic-border.ts +0 -35
- package/src/ui/heartbeat-aggregator.ts +0 -74
- package/src/ui/key-utils.ts +0 -42
- package/src/ui/keybinding-map.ts +0 -248
- package/src/ui/layout-primitives.ts +0 -106
- package/src/ui/live-conversation-overlay.ts +0 -183
- package/src/ui/live-duration.ts +0 -55
- package/src/ui/live-run-sidebar.ts +0 -293
- package/src/ui/loaders.ts +0 -6
- package/src/ui/mascot.ts +0 -449
- package/src/ui/overlays/agent-picker-overlay.ts +0 -65
- package/src/ui/overlays/confirm-overlay.ts +0 -60
- package/src/ui/overlays/help-overlay.ts +0 -177
- package/src/ui/overlays/mailbox-compose-overlay.ts +0 -181
- package/src/ui/overlays/mailbox-compose-preview.ts +0 -78
- package/src/ui/overlays/mailbox-detail-overlay.ts +0 -154
- package/src/ui/pi-ui-compat.ts +0 -68
- package/src/ui/powerbar-publisher.ts +0 -459
- package/src/ui/render-coalescer.ts +0 -101
- package/src/ui/render-diff.ts +0 -160
- package/src/ui/render-scheduler.ts +0 -278
- package/src/ui/run-action-dispatcher.ts +0 -182
- package/src/ui/run-dashboard.ts +0 -904
- package/src/ui/run-event-bus.ts +0 -381
- package/src/ui/run-snapshot-cache.ts +0 -1057
- package/src/ui/settings-overlay.ts +0 -1067
- package/src/ui/shared-overlay-scheduler.ts +0 -96
- package/src/ui/snapshot-types.ts +0 -90
- package/src/ui/spinner.ts +0 -17
- package/src/ui/status-colors.ts +0 -143
- package/src/ui/syntax-highlight.ts +0 -136
- package/src/ui/terminal-status.ts +0 -269
- package/src/ui/theme-adapter.ts +0 -271
- package/src/ui/theme-discovery.ts +0 -199
- package/src/ui/tool-progress-formatter.ts +0 -93
- package/src/ui/tool-render.ts +0 -453
- package/src/ui/tool-renderers/brief-mode.ts +0 -225
- package/src/ui/tool-renderers/index.ts +0 -726
- package/src/ui/transcript-cache.ts +0 -128
- package/src/ui/transcript-entries.ts +0 -256
- package/src/ui/transcript-viewer.ts +0 -424
- package/src/ui/widget/index.ts +0 -391
- package/src/ui/widget/widget-formatters.ts +0 -182
- package/src/ui/widget/widget-model.ts +0 -110
- package/src/ui/widget/widget-renderer.ts +0 -182
- package/src/ui/widget/widget-types.ts +0 -36
- package/src/utils/bm25-search.ts +0 -235
- package/src/utils/completion-dedupe.ts +0 -63
- package/src/utils/conflict-detect.ts +0 -668
- package/src/utils/env-allowlist.ts +0 -30
- package/src/utils/env-filter.ts +0 -155
- package/src/utils/file-coalescer.ts +0 -98
- package/src/utils/fingerprint.ts +0 -180
- package/src/utils/frontmatter.ts +0 -70
- package/src/utils/fs-watch.ts +0 -37
- package/src/utils/gh-protocol.ts +0 -556
- package/src/utils/git.ts +0 -260
- package/src/utils/guards.ts +0 -107
- package/src/utils/ids.ts +0 -24
- package/src/utils/incremental-reader.ts +0 -220
- package/src/utils/internal-error.ts +0 -10
- package/src/utils/names.ts +0 -36
- package/src/utils/ndjson.ts +0 -115
- package/src/utils/paths.ts +0 -227
- package/src/utils/project-detector.ts +0 -160
- package/src/utils/redaction.ts +0 -347
- package/src/utils/resolve-shell.ts +0 -36
- package/src/utils/run-watcher-registry.ts +0 -152
- package/src/utils/safe-paths.ts +0 -383
- package/src/utils/scan-cache.ts +0 -144
- package/src/utils/session-utils.ts +0 -110
- package/src/utils/sleep.ts +0 -54
- package/src/utils/socket-path.ts +0 -127
- package/src/utils/sse-parser.ts +0 -129
- package/src/utils/task-name-generator.ts +0 -337
- package/src/utils/timings.ts +0 -33
- package/src/utils/token-counter.ts +0 -200
- package/src/utils/visual.ts +0 -207
- package/src/workflows/cost-estimator.ts +0 -34
- package/src/workflows/discover-workflows.ts +0 -290
- package/src/workflows/intermediate-store.ts +0 -166
- package/src/workflows/preflight-validator.ts +0 -168
- package/src/workflows/topology-analyzer.ts +0 -203
- package/src/workflows/validate-workflow.ts +0 -50
- package/src/workflows/workflow-config.ts +0 -70
- package/src/workflows/workflow-serializer.ts +0 -32
- package/src/worktree/branch-freshness.ts +0 -112
- package/src/worktree/cleanup.ts +0 -341
- package/src/worktree/worktree-manager.ts +0 -1200
|
@@ -1,415 +0,0 @@
|
|
|
1
|
-
import { Type } from "@sinclair/typebox";
|
|
2
|
-
|
|
3
|
-
const SkillOverride = Type.Unsafe({
|
|
4
|
-
description:
|
|
5
|
-
"Skill name(s) to add to role/default skills, an array of skill names, or false to disable all injected skills for this run.",
|
|
6
|
-
anyOf: [
|
|
7
|
-
{ type: "string", maxLength: 2048 },
|
|
8
|
-
{
|
|
9
|
-
type: "array",
|
|
10
|
-
maxItems: 32,
|
|
11
|
-
items: { type: "string", maxLength: 80 },
|
|
12
|
-
},
|
|
13
|
-
{ type: "boolean" },
|
|
14
|
-
],
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
const FreeformConfig = Type.Unsafe({
|
|
18
|
-
description: "Resource config for management actions.",
|
|
19
|
-
type: "object",
|
|
20
|
-
additionalProperties: true,
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
export const TeamToolParams = Type.Object({
|
|
24
|
-
action: Type.Optional(
|
|
25
|
-
Type.Union(
|
|
26
|
-
[
|
|
27
|
-
Type.Literal("run"),
|
|
28
|
-
Type.Literal("parallel"),
|
|
29
|
-
Type.Literal("plan"),
|
|
30
|
-
Type.Literal("status"),
|
|
31
|
-
Type.Literal("wait"),
|
|
32
|
-
Type.Literal("list"),
|
|
33
|
-
Type.Literal("get"),
|
|
34
|
-
Type.Literal("cancel"),
|
|
35
|
-
Type.Literal("retry"),
|
|
36
|
-
Type.Literal("resume"),
|
|
37
|
-
Type.Literal("respond"),
|
|
38
|
-
Type.Literal("create"),
|
|
39
|
-
Type.Literal("update"),
|
|
40
|
-
Type.Literal("delete"),
|
|
41
|
-
Type.Literal("doctor"),
|
|
42
|
-
Type.Literal("cleanup"),
|
|
43
|
-
Type.Literal("events"),
|
|
44
|
-
Type.Literal("artifacts"),
|
|
45
|
-
Type.Literal("worktrees"),
|
|
46
|
-
Type.Literal("forget"),
|
|
47
|
-
Type.Literal("summary"),
|
|
48
|
-
Type.Literal("prune"),
|
|
49
|
-
Type.Literal("export"),
|
|
50
|
-
Type.Literal("import"),
|
|
51
|
-
Type.Literal("imports"),
|
|
52
|
-
Type.Literal("help"),
|
|
53
|
-
Type.Literal("validate"),
|
|
54
|
-
Type.Literal("config"),
|
|
55
|
-
Type.Literal("init"),
|
|
56
|
-
Type.Literal("recommend"),
|
|
57
|
-
Type.Literal("autonomy"),
|
|
58
|
-
Type.Literal("api"),
|
|
59
|
-
Type.Literal("settings"),
|
|
60
|
-
Type.Literal("steer"),
|
|
61
|
-
Type.Literal("invalidate"),
|
|
62
|
-
Type.Literal("health"),
|
|
63
|
-
Type.Literal("graph"),
|
|
64
|
-
Type.Literal("onboard"),
|
|
65
|
-
Type.Literal("explain"),
|
|
66
|
-
Type.Literal("cache"),
|
|
67
|
-
Type.Literal("checkpoint"),
|
|
68
|
-
Type.Literal("search"),
|
|
69
|
-
Type.Literal("orchestrate"),
|
|
70
|
-
Type.Literal("schedule"),
|
|
71
|
-
Type.Literal("scheduled"),
|
|
72
|
-
Type.Literal("anchor"),
|
|
73
|
-
Type.Literal("auto-summarize"),
|
|
74
|
-
Type.Literal("auto_boomerang"),
|
|
75
|
-
Type.Literal("goal"),
|
|
76
|
-
Type.Literal("workflow-create"),
|
|
77
|
-
Type.Literal("workflow-get"),
|
|
78
|
-
Type.Literal("workflow-list"),
|
|
79
|
-
Type.Literal("workflow-save"),
|
|
80
|
-
Type.Literal("workflow-delete"),
|
|
81
|
-
],
|
|
82
|
-
{ description: "Team action. Defaults to 'list' when omitted." },
|
|
83
|
-
),
|
|
84
|
-
),
|
|
85
|
-
resource: Type.Optional(
|
|
86
|
-
Type.Union([Type.Literal("agent"), Type.Literal("team"), Type.Literal("workflow")], {
|
|
87
|
-
description: "Resource kind for get/create/update/delete/list. Defaults to all for list.",
|
|
88
|
-
}),
|
|
89
|
-
),
|
|
90
|
-
team: Type.Optional(
|
|
91
|
-
Type.String({
|
|
92
|
-
description: "Team name, e.g. default or implementation.",
|
|
93
|
-
}),
|
|
94
|
-
),
|
|
95
|
-
workflow: Type.Optional(Type.String({ description: "Workflow name, e.g. default or review." })),
|
|
96
|
-
role: Type.Optional(
|
|
97
|
-
Type.String({
|
|
98
|
-
description: "Role name to run directly within a team.",
|
|
99
|
-
}),
|
|
100
|
-
),
|
|
101
|
-
agent: Type.Optional(Type.String({ description: "Agent name to inspect or run directly." })),
|
|
102
|
-
goal: Type.Optional(Type.String({ description: "High-level objective for a team run." })),
|
|
103
|
-
chain: Type.Optional(
|
|
104
|
-
Type.String({
|
|
105
|
-
description:
|
|
106
|
-
'Chain expression: "step1 -> step2 -> step3". Runs each step as a sequential team run, passing handoff context forward via the goal text. Supports inline goals ("...") and @team references. e.g. chain=\'"Research X" -> "Analyze" -> "Write report"\'.',
|
|
107
|
-
}),
|
|
108
|
-
),
|
|
109
|
-
task: Type.Optional(
|
|
110
|
-
Type.String({
|
|
111
|
-
description: "Concrete task text for direct role/agent execution.",
|
|
112
|
-
}),
|
|
113
|
-
),
|
|
114
|
-
singleAgent: Type.Optional(
|
|
115
|
-
Type.Boolean({
|
|
116
|
-
description:
|
|
117
|
-
"When true (with action=plan), compose a single-agent sequential prompt for the workflow instead of a multi-agent plan. Cliff-resilient mode.",
|
|
118
|
-
}),
|
|
119
|
-
),
|
|
120
|
-
runId: Type.Optional(
|
|
121
|
-
Type.String({
|
|
122
|
-
description: "Run ID for status, cancel, or resume.",
|
|
123
|
-
pattern: "^[A-Za-z0-9_-]+$",
|
|
124
|
-
}),
|
|
125
|
-
),
|
|
126
|
-
taskId: Type.Optional(Type.String({ description: "Task ID for respond action." })),
|
|
127
|
-
message: Type.Optional(Type.String({ description: "Message for respond action." })),
|
|
128
|
-
async: Type.Optional(
|
|
129
|
-
Type.Boolean({
|
|
130
|
-
description: "Run in background when execution support is enabled.",
|
|
131
|
-
}),
|
|
132
|
-
),
|
|
133
|
-
details: Type.Optional(
|
|
134
|
-
Type.Boolean({
|
|
135
|
-
default: true,
|
|
136
|
-
description:
|
|
137
|
-
"(status) Output detail level. true (default) = full status (task graph, agents, effectiveness, events). false = compact summary (status, goal, task counts, and only failed/attention task errors) for quick checks.",
|
|
138
|
-
}),
|
|
139
|
-
),
|
|
140
|
-
workspaceMode: Type.Optional(
|
|
141
|
-
Type.Union([Type.Literal("single"), Type.Literal("worktree")], {
|
|
142
|
-
description: "Workspace isolation mode. Worktree mode is planned after MVP.",
|
|
143
|
-
}),
|
|
144
|
-
),
|
|
145
|
-
context: Type.Optional(
|
|
146
|
-
Type.Union([Type.Literal("fresh"), Type.Literal("fork")], {
|
|
147
|
-
description: "Child context mode for workers.",
|
|
148
|
-
}),
|
|
149
|
-
),
|
|
150
|
-
cwd: Type.Optional(Type.String({ description: "Working directory override." })),
|
|
151
|
-
model: Type.Optional(Type.String({ description: "Model override for direct runs." })),
|
|
152
|
-
skill: Type.Optional(SkillOverride),
|
|
153
|
-
scope: Type.Optional(
|
|
154
|
-
Type.Union([Type.Literal("user"), Type.Literal("project"), Type.Literal("both")], {
|
|
155
|
-
description: "Resource scope for discovery or management.",
|
|
156
|
-
}),
|
|
157
|
-
),
|
|
158
|
-
config: Type.Optional(FreeformConfig),
|
|
159
|
-
dryRun: Type.Optional(
|
|
160
|
-
Type.Boolean({
|
|
161
|
-
description: "Preview a management mutation without writing files.",
|
|
162
|
-
}),
|
|
163
|
-
),
|
|
164
|
-
confirm: Type.Optional(
|
|
165
|
-
Type.Boolean({
|
|
166
|
-
description: "Required for destructive management actions.",
|
|
167
|
-
}),
|
|
168
|
-
),
|
|
169
|
-
force: Type.Optional(
|
|
170
|
-
Type.Boolean({
|
|
171
|
-
description: "Override reference checks for destructive management actions.",
|
|
172
|
-
}),
|
|
173
|
-
),
|
|
174
|
-
keep: Type.Optional(
|
|
175
|
-
Type.Integer({
|
|
176
|
-
minimum: 0,
|
|
177
|
-
description: "Number of finished runs to keep for prune.",
|
|
178
|
-
}),
|
|
179
|
-
),
|
|
180
|
-
updateReferences: Type.Optional(
|
|
181
|
-
Type.Boolean({
|
|
182
|
-
description: "When renaming agents or workflows, update team references in the same project/user scope.",
|
|
183
|
-
}),
|
|
184
|
-
),
|
|
185
|
-
replyTo: Type.Optional(
|
|
186
|
-
Type.String({
|
|
187
|
-
description: "ID of the original mailbox message this is a reply to.",
|
|
188
|
-
}),
|
|
189
|
-
),
|
|
190
|
-
replyFrom: Type.Optional(Type.String({ description: "Task ID sending the reply." })),
|
|
191
|
-
replyDeadline: Type.Optional(Type.Integer({ description: "Ms epoch deadline for a reply." })),
|
|
192
|
-
planPath: Type.Optional(
|
|
193
|
-
Type.String({
|
|
194
|
-
description: "Path to a markdown plan document for orchestration.",
|
|
195
|
-
}),
|
|
196
|
-
),
|
|
197
|
-
subAction: Type.Optional(Type.String({ description: "Sub-action for schedule management (remove, disable, enable, update)." })),
|
|
198
|
-
jobId: Type.Optional(Type.String({ description: "Job ID for schedule management actions." })),
|
|
199
|
-
cron: Type.Optional(
|
|
200
|
-
Type.String({
|
|
201
|
-
description: "Cron expression for recurring scheduled runs (e.g., '0 9 * * MON').",
|
|
202
|
-
}),
|
|
203
|
-
),
|
|
204
|
-
interval: Type.Optional(
|
|
205
|
-
Type.Number({
|
|
206
|
-
description: "Interval in milliseconds between recurring scheduled runs.",
|
|
207
|
-
}),
|
|
208
|
-
),
|
|
209
|
-
once: Type.Optional(
|
|
210
|
-
Type.Union([Type.String(), Type.Number()], {
|
|
211
|
-
description: "ISO timestamp or epoch ms for a one-time scheduled run.",
|
|
212
|
-
}),
|
|
213
|
-
),
|
|
214
|
-
excludeContextBash: Type.Optional(
|
|
215
|
-
Type.Boolean({
|
|
216
|
-
description: "Mark certain bash commands as excludeFromContext to reduce context tokens (default: false).",
|
|
217
|
-
}),
|
|
218
|
-
),
|
|
219
|
-
// Budget tracking options
|
|
220
|
-
budgetTotal: Type.Optional(
|
|
221
|
-
Type.Number({
|
|
222
|
-
description:
|
|
223
|
-
"Total token budget for the run. When set, enables budget tracking with default 80% warning and 95% abort thresholds. Minimum 1000 — this is a MISCONFIGURATION GUARD (catches typos / silent-abort configs like budgetTotal:1, which would abort on turn 1), NOT a usefulness guarantee; a productive multi-turn goal needs far more than 1000 tokens.",
|
|
224
|
-
minimum: 1000,
|
|
225
|
-
}),
|
|
226
|
-
),
|
|
227
|
-
budgetUnlimited: Type.Optional(
|
|
228
|
-
Type.Boolean({
|
|
229
|
-
description:
|
|
230
|
-
"When true, skip budget enforcement entirely (explicit opt-out). Goal-start validation requires budgetTotal>=1000 OR budgetUnlimited:true; audit-logged when set. The validation itself is enforced in a later integration task.",
|
|
231
|
-
}),
|
|
232
|
-
),
|
|
233
|
-
budgetWarning: Type.Optional(
|
|
234
|
-
Type.Number({
|
|
235
|
-
description:
|
|
236
|
-
"Budget warning threshold as a fraction (0-1). Default: 0.8 (80%). Emits warning event when this threshold is crossed.",
|
|
237
|
-
minimum: 0,
|
|
238
|
-
maximum: 1,
|
|
239
|
-
}),
|
|
240
|
-
),
|
|
241
|
-
budgetAbort: Type.Optional(
|
|
242
|
-
Type.Number({
|
|
243
|
-
description:
|
|
244
|
-
"Budget abort threshold as a fraction (0-1). Default: 0.95 (95%). Aborts further execution when this threshold is crossed.",
|
|
245
|
-
minimum: 0,
|
|
246
|
-
maximum: 1,
|
|
247
|
-
}),
|
|
248
|
-
),
|
|
249
|
-
runKind: Type.Optional(
|
|
250
|
-
Type.Union([Type.Literal("team-run"), Type.Literal("goal-loop"), Type.Literal("dynamic-workflow")], {
|
|
251
|
-
description:
|
|
252
|
-
'Background dispatch discriminator. Default "team-run" runs the normal executeTeamRun workflow; "goal-loop" (P0/P1) and "dynamic-workflow" (P2/P3) dispatch to their respective background runners. Absent = "team-run" for backward compatibility.',
|
|
253
|
-
}),
|
|
254
|
-
),
|
|
255
|
-
tokenBudget: Type.Optional(
|
|
256
|
-
Type.Number({
|
|
257
|
-
description:
|
|
258
|
-
"Per-workflow token budget for dynamic-workflow runs. When set, ctx.agent() auto-rejects with ok:false once exhausted. Accumulated from each agent run's reported usage. Overrides workflow.maxTokenBudget.",
|
|
259
|
-
minimum: 0,
|
|
260
|
-
}),
|
|
261
|
-
),
|
|
262
|
-
args: Type.Optional(
|
|
263
|
-
// round-14 P1-5: typed workflow arguments. Type.Any() generates an empty {} schema
|
|
264
|
-
// (matches any JSON value) which is strict-provider friendly — no array type union.
|
|
265
|
-
// Description lives in the JSDoc / TeamToolParamsValue below to avoid the
|
|
266
|
-
// "description-only schema" strict-provider check.
|
|
267
|
-
Type.Any(),
|
|
268
|
-
),
|
|
269
|
-
analysis: Type.Optional(
|
|
270
|
-
Type.String({
|
|
271
|
-
maxLength: 100_000,
|
|
272
|
-
description:
|
|
273
|
-
"Inline analysis/context notes from the calling session. Persisted to artifacts/{runId}/shared/analysis.md (audit trail) and auto-injected into any workflow step declaring reads: analysis.md (e.g. builtin 'plan-execute'). Mutually exclusive with analysisPath. Ignored by goal-wrapped runs and chain dispatch in v1.",
|
|
274
|
-
}),
|
|
275
|
-
),
|
|
276
|
-
analysisPath: Type.Optional(
|
|
277
|
-
Type.String({
|
|
278
|
-
description:
|
|
279
|
-
"Path to an existing markdown analysis file (resolved within cwd). Copied into shared/analysis.md. Mutually exclusive with analysis.",
|
|
280
|
-
}),
|
|
281
|
-
),
|
|
282
|
-
focus: Type.Optional(
|
|
283
|
-
Type.String({
|
|
284
|
-
description:
|
|
285
|
-
"Sub-focus for the doctor action. 'zombies' runs a READ-ONLY scan for orphaned pi-crew sub-agent processes (identified by PI_CREW_KIND=subagent); it never kills and never matches the user's interactive main session.",
|
|
286
|
-
}),
|
|
287
|
-
),
|
|
288
|
-
});
|
|
289
|
-
|
|
290
|
-
export interface TeamToolParamsValue {
|
|
291
|
-
action?:
|
|
292
|
-
| "run"
|
|
293
|
-
| "parallel"
|
|
294
|
-
| "plan"
|
|
295
|
-
| "status"
|
|
296
|
-
| "wait"
|
|
297
|
-
| "list"
|
|
298
|
-
| "get"
|
|
299
|
-
| "cancel"
|
|
300
|
-
| "retry"
|
|
301
|
-
| "resume"
|
|
302
|
-
| "respond"
|
|
303
|
-
| "create"
|
|
304
|
-
| "update"
|
|
305
|
-
| "delete"
|
|
306
|
-
| "doctor"
|
|
307
|
-
| "cleanup"
|
|
308
|
-
| "events"
|
|
309
|
-
| "artifacts"
|
|
310
|
-
| "worktrees"
|
|
311
|
-
| "forget"
|
|
312
|
-
| "summary"
|
|
313
|
-
| "prune"
|
|
314
|
-
| "export"
|
|
315
|
-
| "import"
|
|
316
|
-
| "imports"
|
|
317
|
-
| "help"
|
|
318
|
-
| "validate"
|
|
319
|
-
| "config"
|
|
320
|
-
| "init"
|
|
321
|
-
| "recommend"
|
|
322
|
-
| "autonomy"
|
|
323
|
-
| "api"
|
|
324
|
-
| "settings"
|
|
325
|
-
| "steer"
|
|
326
|
-
| "invalidate"
|
|
327
|
-
| "health"
|
|
328
|
-
| "graph"
|
|
329
|
-
| "onboard"
|
|
330
|
-
| "explain"
|
|
331
|
-
| "cache"
|
|
332
|
-
| "checkpoint"
|
|
333
|
-
| "search"
|
|
334
|
-
| "orchestrate"
|
|
335
|
-
| "schedule"
|
|
336
|
-
| "scheduled"
|
|
337
|
-
| "goal"
|
|
338
|
-
| "workflow-create"
|
|
339
|
-
| "workflow-get"
|
|
340
|
-
| "workflow-list"
|
|
341
|
-
| "workflow-save"
|
|
342
|
-
| "workflow-delete";
|
|
343
|
-
resource?: "agent" | "team" | "workflow";
|
|
344
|
-
team?: string;
|
|
345
|
-
workflow?: string;
|
|
346
|
-
role?: string;
|
|
347
|
-
agent?: string;
|
|
348
|
-
goal?: string;
|
|
349
|
-
/** Chain expression: "step1 -> step2 -> step3". Runs each step as a sequential
|
|
350
|
-
* team run with handoff context passed forward via the goal. */
|
|
351
|
-
chain?: string;
|
|
352
|
-
task?: string;
|
|
353
|
-
singleAgent?: boolean;
|
|
354
|
-
runId?: string;
|
|
355
|
-
taskId?: string;
|
|
356
|
-
message?: string;
|
|
357
|
-
async?: boolean;
|
|
358
|
-
/** (status) Output detail level. false = compact summary. Default: true (full). */
|
|
359
|
-
details?: boolean;
|
|
360
|
-
workspaceMode?: "single" | "worktree";
|
|
361
|
-
context?: "fresh" | "fork";
|
|
362
|
-
cwd?: string;
|
|
363
|
-
model?: string;
|
|
364
|
-
skill?: string | string[] | boolean;
|
|
365
|
-
scope?: "user" | "project" | "both";
|
|
366
|
-
config?: Record<string, unknown>;
|
|
367
|
-
/** Sub-focus for the `doctor` action. `"zombies"` runs a READ-ONLY scan for
|
|
368
|
-
* orphaned pi-crew sub-agent processes (identified by PI_CREW_KIND=subagent);
|
|
369
|
-
* it never kills and never matches the user's interactive main session. */
|
|
370
|
-
focus?: string;
|
|
371
|
-
dryRun?: boolean;
|
|
372
|
-
confirm?: boolean;
|
|
373
|
-
force?: boolean;
|
|
374
|
-
keep?: number;
|
|
375
|
-
updateReferences?: boolean;
|
|
376
|
-
/** ID of the original mailbox message this is a reply to. */
|
|
377
|
-
replyTo?: string;
|
|
378
|
-
/** Task ID sending the reply. */
|
|
379
|
-
replyFrom?: string;
|
|
380
|
-
/** Ms epoch deadline for a reply. */
|
|
381
|
-
replyDeadline?: number;
|
|
382
|
-
/** Path to a markdown plan document for orchestration. */
|
|
383
|
-
planPath?: string;
|
|
384
|
-
cron?: string;
|
|
385
|
-
interval?: number;
|
|
386
|
-
once?: string | number;
|
|
387
|
-
|
|
388
|
-
// schedule sub-actions (removal/toggle/update of an existing job)
|
|
389
|
-
subAction?: string;
|
|
390
|
-
jobId?: string;
|
|
391
|
-
/** Mark certain bash commands as excludeFromContext to reduce context tokens (default: false). */
|
|
392
|
-
excludeContextBash?: boolean;
|
|
393
|
-
/** Total token budget for the run. When set, enables budget tracking (minimum 1000). */
|
|
394
|
-
budgetTotal?: number;
|
|
395
|
-
/** When true, skip budget enforcement entirely (explicit opt-out). */
|
|
396
|
-
budgetUnlimited?: boolean;
|
|
397
|
-
/** Budget warning threshold as a fraction (0-1). Default: 0.8. */
|
|
398
|
-
budgetWarning?: number;
|
|
399
|
-
/** Budget abort threshold as a fraction (0-1). Default: 0.95. */
|
|
400
|
-
budgetAbort?: number;
|
|
401
|
-
/** Background dispatch discriminator. Default "team-run". "goal-loop"/"dynamic-workflow" dispatch to their runners (P0/P2). */
|
|
402
|
-
runKind?: "team-run" | "goal-loop" | "dynamic-workflow";
|
|
403
|
-
/** Per-workflow token budget for dynamic-workflow runs (round-14 P1-2). */
|
|
404
|
-
tokenBudget?: number;
|
|
405
|
-
/** Typed workflow arguments for .dwf.ts scripts, accessible via ctx.args<T>() (round-14 P1-5). */
|
|
406
|
-
args?: unknown;
|
|
407
|
-
/** Inline analysis/context notes from the calling session. Persisted to
|
|
408
|
-
* artifacts/{runId}/shared/analysis.md (audit trail) and auto-injected into
|
|
409
|
-
* any workflow step declaring reads: analysis.md (e.g. builtin 'plan-execute').
|
|
410
|
-
* Mutually exclusive with `analysisPath`. */
|
|
411
|
-
analysis?: string;
|
|
412
|
-
/** Path to an existing analysis file resolved within `cwd`. Copied into
|
|
413
|
-
* shared/analysis.md. Mutually exclusive with `analysis`. */
|
|
414
|
-
analysisPath?: string;
|
|
415
|
-
}
|
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Validation severity levels for pi-crew config.
|
|
3
|
-
*
|
|
4
|
-
* - Required fields invalid → always ERROR
|
|
5
|
-
* - Optional fields invalid → ERROR (strict) / WARNING (lenient)
|
|
6
|
-
* - Missing recommended optional fields → INFO
|
|
7
|
-
* - Values outside recommended ranges → WARNING
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import { Value } from "@sinclair/typebox/value";
|
|
11
|
-
import { PiTeamsConfigSchema } from "./config-schema.ts";
|
|
12
|
-
|
|
13
|
-
// ---------------------------------------------------------------------------
|
|
14
|
-
// Types
|
|
15
|
-
// ---------------------------------------------------------------------------
|
|
16
|
-
|
|
17
|
-
export type ValidationSeverity = "ERROR" | "WARNING" | "INFO";
|
|
18
|
-
|
|
19
|
-
export type ValidationMode = "strict" | "lenient";
|
|
20
|
-
|
|
21
|
-
export interface ValidationFinding {
|
|
22
|
-
severity: ValidationSeverity;
|
|
23
|
-
message: string;
|
|
24
|
-
field?: string;
|
|
25
|
-
suggestion?: string;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export interface ValidationOutcome {
|
|
29
|
-
findings: ValidationFinding[];
|
|
30
|
-
mode: ValidationMode;
|
|
31
|
-
hasErrors: boolean;
|
|
32
|
-
hasWarnings: boolean;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
// ---------------------------------------------------------------------------
|
|
36
|
-
// Constants
|
|
37
|
-
// ---------------------------------------------------------------------------
|
|
38
|
-
|
|
39
|
-
const DEFAULT_MODE: ValidationMode = "strict";
|
|
40
|
-
|
|
41
|
-
/** Recommended range constraints (not enforced by schema, but advisory). */
|
|
42
|
-
const RECOMMENDED_RANGES: Record<string, { max: number; label: string }> = {
|
|
43
|
-
"limits.maxConcurrentWorkers": {
|
|
44
|
-
max: 8,
|
|
45
|
-
label: "maxConcurrentWorkers > 8 may degrade performance",
|
|
46
|
-
},
|
|
47
|
-
"limits.maxTaskDepth": {
|
|
48
|
-
max: 4,
|
|
49
|
-
label: "maxTaskDepth > 4 may cause excessive nesting",
|
|
50
|
-
},
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
/** Recommended optional top-level keys that should be explicitly set. */
|
|
54
|
-
const RECOMMENDED_OPTIONAL_KEYS: readonly string[] = ["limits", "runtime"];
|
|
55
|
-
|
|
56
|
-
// ---------------------------------------------------------------------------
|
|
57
|
-
// Helpers
|
|
58
|
-
// ---------------------------------------------------------------------------
|
|
59
|
-
|
|
60
|
-
function isObject(value: unknown): value is Record<string, unknown> {
|
|
61
|
-
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
function getNestedValue(obj: Record<string, unknown>, dottedPath: string): unknown {
|
|
65
|
-
const parts = dottedPath.split(".");
|
|
66
|
-
let current: unknown = obj;
|
|
67
|
-
for (const part of parts) {
|
|
68
|
-
if (!isObject(current)) return undefined;
|
|
69
|
-
current = current[part];
|
|
70
|
-
}
|
|
71
|
-
return current;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
// ---------------------------------------------------------------------------
|
|
75
|
-
// Implementation
|
|
76
|
-
// ---------------------------------------------------------------------------
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Validate a raw config value with severity-tagged findings.
|
|
80
|
-
*
|
|
81
|
-
* @param raw The raw config value to validate.
|
|
82
|
-
* @param mode Validation mode — 'strict' (default) or 'lenient'.
|
|
83
|
-
* @returns A `ValidationOutcome` with findings grouped by severity.
|
|
84
|
-
*/
|
|
85
|
-
export function validateWithSeverity(raw: unknown, mode: ValidationMode = DEFAULT_MODE): ValidationOutcome {
|
|
86
|
-
const findings: ValidationFinding[] = [];
|
|
87
|
-
|
|
88
|
-
if (!isObject(raw)) {
|
|
89
|
-
findings.push({
|
|
90
|
-
severity: "ERROR",
|
|
91
|
-
message: "config must be an object",
|
|
92
|
-
field: "config",
|
|
93
|
-
});
|
|
94
|
-
return { findings, mode, hasErrors: true, hasWarnings: false };
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
// --- Schema-based validation ---
|
|
98
|
-
const isValid = Value.Check(PiTeamsConfigSchema, raw);
|
|
99
|
-
if (!isValid) {
|
|
100
|
-
for (const error of Value.Errors(PiTeamsConfigSchema, raw)) {
|
|
101
|
-
const errRecord = error as unknown as Record<string, unknown>;
|
|
102
|
-
const rawPath =
|
|
103
|
-
typeof errRecord.path === "string"
|
|
104
|
-
? errRecord.path
|
|
105
|
-
: typeof errRecord.instancePath === "string"
|
|
106
|
-
? errRecord.instancePath
|
|
107
|
-
: "config";
|
|
108
|
-
|
|
109
|
-
const message = typeof errRecord.message === "string" ? errRecord.message : "invalid value";
|
|
110
|
-
|
|
111
|
-
const field = rawPath.replace(/^\//, "").replace(/\//g, ".") || undefined;
|
|
112
|
-
|
|
113
|
-
// Additional properties / unknown keys are less severe in lenient mode.
|
|
114
|
-
// @sinclair/typebox uses keyword=undefined with message="Unexpected property" for these.
|
|
115
|
-
const isUnknownProperty =
|
|
116
|
-
errRecord.keyword === "additionalProperties" ||
|
|
117
|
-
message === "Unexpected property" ||
|
|
118
|
-
message.startsWith("Unexpected property");
|
|
119
|
-
if (isUnknownProperty) {
|
|
120
|
-
findings.push({
|
|
121
|
-
severity: mode === "lenient" ? "WARNING" : "ERROR",
|
|
122
|
-
message: `unknown property${field ? ` '${field}'` : ""}: ${message}`,
|
|
123
|
-
field,
|
|
124
|
-
});
|
|
125
|
-
} else {
|
|
126
|
-
findings.push({ severity: "ERROR", message, field });
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
// --- Missing recommended optional keys → INFO ---
|
|
132
|
-
for (const key of RECOMMENDED_OPTIONAL_KEYS) {
|
|
133
|
-
if (!(key in raw)) {
|
|
134
|
-
findings.push({
|
|
135
|
-
severity: "INFO",
|
|
136
|
-
message: `recommended config section '${key}' is not set`,
|
|
137
|
-
field: key,
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
// --- Values outside recommended ranges → WARNING ---
|
|
143
|
-
for (const [dottedPath, constraint] of Object.entries(RECOMMENDED_RANGES)) {
|
|
144
|
-
const value = getNestedValue(raw, dottedPath);
|
|
145
|
-
if (typeof value === "number" && value > constraint.max) {
|
|
146
|
-
findings.push({
|
|
147
|
-
severity: "WARNING",
|
|
148
|
-
message: constraint.label,
|
|
149
|
-
field: dottedPath,
|
|
150
|
-
suggestion: `consider using a value ≤ ${constraint.max}`,
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
const hasErrors = findings.some((f) => f.severity === "ERROR");
|
|
156
|
-
const hasWarnings = findings.some((f) => f.severity === "WARNING");
|
|
157
|
-
|
|
158
|
-
return { findings, mode, hasErrors, hasWarnings };
|
|
159
|
-
}
|