pi-crew 0.9.50 → 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 +150 -0
- package/README.md +216 -20
- package/dist/build-meta.json +2222 -1761
- package/dist/index.mjs +18636 -17603
- 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/skills/distill-software/SKILL.md +24 -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/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 -301
- package/src/ui/loaders.ts +0 -176
- package/src/ui/mascot.ts +0 -436
- 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 -224
- package/src/ui/run-action-dispatcher.ts +0 -182
- package/src/ui/run-dashboard.ts +0 -913
- 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/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 -357
- 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
|
@@ -8,24 +8,37 @@ The `team` tool is the primary tool that pi-crew registers with Pi. All operatio
|
|
|
8
8
|
|--------|---------|-------------|
|
|
9
9
|
| `recommend` | Suggest a suitable team/workflow | Starting point when unsure what to pick |
|
|
10
10
|
| `run` | Create a run and execute a workflow | Main operation |
|
|
11
|
+
| `parallel` | Fan out independent tasks as concurrent runs | When you need N truly concurrent agents |
|
|
11
12
|
| `plan` | Preview a workflow without running tasks | Dry-run planning |
|
|
12
13
|
| `orchestrate` | Execute from a plan document | Automate a plan |
|
|
13
14
|
| `schedule` | Schedule recurring runs | Periodic automation |
|
|
14
15
|
| `scheduled` | List scheduled jobs | View schedules |
|
|
16
|
+
| `anchor` | Cross-run session anchoring | Persist context across runs |
|
|
17
|
+
| `auto-summarize` | Control auto-summarization of long runs | Manage context summarization |
|
|
18
|
+
| `auto_boomerang` | Toggle auto-summarize (shorthand) | Quick on/off |
|
|
15
19
|
| `status` | Read run status | Track progress |
|
|
16
20
|
| `summary` | Read/write run summary artifact | Summarize |
|
|
17
21
|
| `cancel` | Cancel queued/running work | Stop a run |
|
|
18
22
|
| `resume` | Re-queue failed/cancelled tasks | Resume a run |
|
|
23
|
+
| `retry` | Retry specific failed/cancelled task(s) | Retry a task without full resume |
|
|
24
|
+
| `wait` | Block until a run finishes (with timeout) | Synchronous wait |
|
|
25
|
+
| `steer` | Queue an interrupting message to an active task | Redirect in-flight work |
|
|
26
|
+
| `respond` | Reply to a waiting task and re-queue it | Interactive task Q&A |
|
|
19
27
|
| `list` | List teams, agents, workflows, runs | Explore resources |
|
|
20
28
|
| `get` | Inspect agent/team/workflow | View details |
|
|
29
|
+
| `onboard` | Show team onboarding guide | Learn a team's roles/flow |
|
|
21
30
|
| `search` | BM25-ranked agent/team discovery | Smart search |
|
|
22
31
|
| `events` | Read the event log | Debug/audit |
|
|
23
32
|
| `artifacts` | List run artifacts | View outputs |
|
|
24
33
|
| `worktrees` | List run worktree metadata | Inspect worktrees |
|
|
25
34
|
| `graph` | Load/save/list run graphs | Visualization |
|
|
35
|
+
| `explain` | Explain a run or task structure | Understand a run |
|
|
36
|
+
| `cache` | Run/skill cache stats or cached-run lookup | Inspect caches |
|
|
37
|
+
| `checkpoint` | Read a task's saved checkpoint | Inspect task progress |
|
|
26
38
|
| `cleanup` | Delete run worktrees | Cleanup |
|
|
27
39
|
| `forget` | Delete run state/artifacts | Remove entirely (requires `confirm`) |
|
|
28
40
|
| `prune` | Delete multiple old finished runs | Bulk cleanup |
|
|
41
|
+
| `invalidate` | Drop a run's snapshot cache | Force fresh reads |
|
|
29
42
|
| `export` | Export a portable run bundle | Share/backup |
|
|
30
43
|
| `import` | Import a run bundle | Receive a run from elsewhere |
|
|
31
44
|
| `imports` | List imported bundles | View imports |
|
|
@@ -34,7 +47,9 @@ The `team` tool is the primary tool that pi-crew registers with Pi. All operatio
|
|
|
34
47
|
| `delete` | Delete an agent/team/workflow | Remove resources (requires `confirm`) |
|
|
35
48
|
| `validate` | Validate resources | Health check |
|
|
36
49
|
| `doctor` | Check readiness | Diagnose environment |
|
|
37
|
-
| `
|
|
50
|
+
| `health` | Watchdog health monitor across all runs | Diagnose stuck/zombie runs |
|
|
51
|
+
| `config` | Show/update config (raw JSON) | Configuration |
|
|
52
|
+
| `settings` | View/set config via dotted-path keys | Human-readable settings |
|
|
38
53
|
| `init` | Initialize project layout | Initial setup |
|
|
39
54
|
| `autonomy` | Manage delegation settings | Adjust automation |
|
|
40
55
|
| `api` | Safe interop for state operations | Advanced integration |
|
|
@@ -686,3 +701,418 @@ Copy builtins:
|
|
|
686
701
|
```
|
|
687
702
|
|
|
688
703
|
Profiles: `manual`, `suggested`, `assisted`, `aggressive`.
|
|
704
|
+
|
|
705
|
+
---
|
|
706
|
+
|
|
707
|
+
## Additional Actions (Run domain)
|
|
708
|
+
|
|
709
|
+
### `parallel` — Fan out independent tasks
|
|
710
|
+
|
|
711
|
+
Spawns an array of independent tasks as concurrent background agents. Use this when you need N truly concurrent workers in a single call (e.g. parallel research or review). Max concurrency is 8.
|
|
712
|
+
|
|
713
|
+
```json
|
|
714
|
+
{
|
|
715
|
+
"action": "parallel",
|
|
716
|
+
"config": {
|
|
717
|
+
"tasks": [
|
|
718
|
+
{ "goal": "Audit auth module for CVEs", "agent": "explorer" },
|
|
719
|
+
{ "goal": "Audit payment module for CVEs", "agent": "explorer" }
|
|
720
|
+
],
|
|
721
|
+
"concurrency": 4,
|
|
722
|
+
"team": "fast-fix"
|
|
723
|
+
}
|
|
724
|
+
}
|
|
725
|
+
```
|
|
726
|
+
|
|
727
|
+
Params:
|
|
728
|
+
|
|
729
|
+
| Param | Type | Default | Notes |
|
|
730
|
+
|-------|------|---------|-------|
|
|
731
|
+
| `config.tasks` | `Array<{ goal, agent? }>` | — | **Required.** Each entry becomes a concurrent run. |
|
|
732
|
+
| `config.concurrency` | `number` | `4` | Clamped to `1..8`. |
|
|
733
|
+
| `config.team` | `string` | `fast-fix` | Team whose workflow is used for each task. |
|
|
734
|
+
|
|
735
|
+
Each task launches its own run; the host agent does not need to emit one
|
|
736
|
+
`Agent()` call per turn.
|
|
737
|
+
|
|
738
|
+
---
|
|
739
|
+
|
|
740
|
+
### `retry` — Retry specific failed task(s)
|
|
741
|
+
|
|
742
|
+
Re-queues `failed` / `cancelled` tasks so the scheduler picks them up again.
|
|
743
|
+
Unlike `resume` (which re-queues *all* non-terminal tasks), `retry` can target a
|
|
744
|
+
single task via `taskId`. Runs the `before_retry` hook before mutating state.
|
|
745
|
+
|
|
746
|
+
```json
|
|
747
|
+
{
|
|
748
|
+
"action": "retry",
|
|
749
|
+
"runId": "team_..."
|
|
750
|
+
}
|
|
751
|
+
```
|
|
752
|
+
|
|
753
|
+
Retry a single task:
|
|
754
|
+
|
|
755
|
+
```json
|
|
756
|
+
{
|
|
757
|
+
"action": "retry",
|
|
758
|
+
"runId": "team_...",
|
|
759
|
+
"taskId": "03_execute"
|
|
760
|
+
}
|
|
761
|
+
```
|
|
762
|
+
|
|
763
|
+
Params:
|
|
764
|
+
|
|
765
|
+
| Param | Type | Default | Notes |
|
|
766
|
+
|-------|------|---------|-------|
|
|
767
|
+
| `runId` | `string` | — | **Required.** |
|
|
768
|
+
| `taskId` | `string` | — | Retry only this task; omit to retry all failed/cancelled. |
|
|
769
|
+
| `force` | `boolean` | `false` | Override cross-session ownership check. |
|
|
770
|
+
|
|
771
|
+
---
|
|
772
|
+
|
|
773
|
+
### `wait` — Block until a run finishes
|
|
774
|
+
|
|
775
|
+
Synchronously waits (polling) until the run reaches a terminal status, then
|
|
776
|
+
returns the result. Useful when a foreground caller must block on an async run.
|
|
777
|
+
|
|
778
|
+
```json
|
|
779
|
+
{
|
|
780
|
+
"action": "wait",
|
|
781
|
+
"runId": "team_...",
|
|
782
|
+
"config": { "timeoutMs": 300000, "pollIntervalMs": 2000 }
|
|
783
|
+
}
|
|
784
|
+
```
|
|
785
|
+
|
|
786
|
+
Params:
|
|
787
|
+
|
|
788
|
+
| Param | Type | Default | Notes |
|
|
789
|
+
|-------|------|---------|-------|
|
|
790
|
+
| `runId` | `string` | — | **Required.** |
|
|
791
|
+
| `config.timeoutMs` | `number` | `300000` | Clamped to `1000..3_600_000` (1 s – 1 h). |
|
|
792
|
+
| `config.pollIntervalMs` | `number` | `2000` | Clamped to `500..60_000`. |
|
|
793
|
+
|
|
794
|
+
Returns `status: "error"` when the run finished as `failed`.
|
|
795
|
+
|
|
796
|
+
---
|
|
797
|
+
|
|
798
|
+
### `steer` — Interrupt an active task
|
|
799
|
+
|
|
800
|
+
> ⚠️ **Internal / experimental.** Queues a steering message that is delivered to
|
|
801
|
+
> a task's worker session on its next turn. The message is appended to
|
|
802
|
+
> `pendingSteers` and also written to a live steering file for immediate delivery.
|
|
803
|
+
|
|
804
|
+
```json
|
|
805
|
+
{
|
|
806
|
+
"action": "steer",
|
|
807
|
+
"runId": "team_...",
|
|
808
|
+
"taskId": "01_explore",
|
|
809
|
+
"message": "Focus only on src/ — ignore docs/"
|
|
810
|
+
}
|
|
811
|
+
```
|
|
812
|
+
|
|
813
|
+
Params:
|
|
814
|
+
|
|
815
|
+
| Param | Type | Default | Notes |
|
|
816
|
+
|-------|------|---------|-------|
|
|
817
|
+
| `runId` | `string` | — | **Required.** |
|
|
818
|
+
| `taskId` | `string` | — | **Required.** Must be a non-terminal task. |
|
|
819
|
+
| `message` | `string` | — | **Required.** The steering instruction. |
|
|
820
|
+
|
|
821
|
+
The pending-steers queue is capped at 100 entries (oldest dropped with an
|
|
822
|
+
audit event). Terminal tasks cannot be steered.
|
|
823
|
+
|
|
824
|
+
---
|
|
825
|
+
|
|
826
|
+
## Additional Actions (Control domain)
|
|
827
|
+
|
|
828
|
+
### `respond` — Reply to a waiting task
|
|
829
|
+
|
|
830
|
+
Sends a message to a task in `waiting` status and re-queues it for the durable
|
|
831
|
+
scheduler. Used for interactive task Q&A (e.g. a worker that paused to ask a
|
|
832
|
+
clarifying question).
|
|
833
|
+
|
|
834
|
+
```json
|
|
835
|
+
{
|
|
836
|
+
"action": "respond",
|
|
837
|
+
"runId": "team_...",
|
|
838
|
+
"taskId": "05_verify",
|
|
839
|
+
"message": "Yes, use the Postgres dialect."
|
|
840
|
+
}
|
|
841
|
+
```
|
|
842
|
+
|
|
843
|
+
Params:
|
|
844
|
+
|
|
845
|
+
| Param | Type | Default | Notes |
|
|
846
|
+
|-------|------|---------|-------|
|
|
847
|
+
| `runId` | `string` | — | **Required.** |
|
|
848
|
+
| `taskId` | `string` | — | Target a specific waiting task; omit to respond to all waiting. |
|
|
849
|
+
| `message` | `string` | — | The reply body. |
|
|
850
|
+
| `force` | `boolean` | `false` | Override cross-session ownership check. |
|
|
851
|
+
|
|
852
|
+
If no tasks are `waiting`, the response hints at `api operation=follow-up-agent`
|
|
853
|
+
(continuation) or `api operation=steer-agent` (interrupt).
|
|
854
|
+
|
|
855
|
+
---
|
|
856
|
+
|
|
857
|
+
### `invalidate` — Drop a run's snapshot cache
|
|
858
|
+
|
|
859
|
+
> ⚠️ **Internal / experimental.** Discards the cached run snapshot for a run so
|
|
860
|
+
> subsequent reads rebuild it from disk. Use after external state mutations that
|
|
861
|
+
> bypass the normal write path.
|
|
862
|
+
|
|
863
|
+
```json
|
|
864
|
+
{
|
|
865
|
+
"action": "invalidate",
|
|
866
|
+
"runId": "team_..."
|
|
867
|
+
}
|
|
868
|
+
```
|
|
869
|
+
|
|
870
|
+
Params:
|
|
871
|
+
|
|
872
|
+
| Param | Type | Default | Notes |
|
|
873
|
+
|-------|------|---------|-------|
|
|
874
|
+
| `runId` | `string` | — | **Required.** |
|
|
875
|
+
|
|
876
|
+
Requires the in-process snapshot cache (only available within a live Pi
|
|
877
|
+
session that has the cache wired up).
|
|
878
|
+
|
|
879
|
+
---
|
|
880
|
+
|
|
881
|
+
## Additional Actions (Status domain)
|
|
882
|
+
|
|
883
|
+
### `onboard` — Team onboarding guide
|
|
884
|
+
|
|
885
|
+
Prints a human-readable guide describing a team's roles, workflow, and expected
|
|
886
|
+
flow — helpful when adopting a new team.
|
|
887
|
+
|
|
888
|
+
```json
|
|
889
|
+
{ "action": "onboard", "team": "implementation" }
|
|
890
|
+
```
|
|
891
|
+
|
|
892
|
+
Params:
|
|
893
|
+
|
|
894
|
+
| Param | Type | Default | Notes |
|
|
895
|
+
|-------|------|---------|-------|
|
|
896
|
+
| `team` | `string` | `default` | The team to onboard. |
|
|
897
|
+
|
|
898
|
+
---
|
|
899
|
+
|
|
900
|
+
### `explain` — Explain a run or task
|
|
901
|
+
|
|
902
|
+
Produces a structured explanation of a run (status, duration, task table) or,
|
|
903
|
+
when `taskId` is given, a single-task breakdown (role, layer, why it exists,
|
|
904
|
+
files touched, connected tasks, complexity).
|
|
905
|
+
|
|
906
|
+
```json
|
|
907
|
+
{ "action": "explain", "runId": "team_..." }
|
|
908
|
+
```
|
|
909
|
+
|
|
910
|
+
Explain one task:
|
|
911
|
+
|
|
912
|
+
```json
|
|
913
|
+
{ "action": "explain", "runId": "team_...", "taskId": "02_plan" }
|
|
914
|
+
```
|
|
915
|
+
|
|
916
|
+
Params:
|
|
917
|
+
|
|
918
|
+
| Param | Type | Default | Notes |
|
|
919
|
+
|-------|------|---------|-------|
|
|
920
|
+
| `runId` | `string` | — | **Required.** |
|
|
921
|
+
| `taskId` | `string` | — | Omit to explain the whole run. |
|
|
922
|
+
|
|
923
|
+
---
|
|
924
|
+
|
|
925
|
+
### `cache` — Cache stats or cached-run lookup
|
|
926
|
+
|
|
927
|
+
> ⚠️ **Internal / experimental.** With a `goal`, looks up a previously cached run
|
|
928
|
+
> by goal/team/workflow hash. Without a `goal`, reports run-cache and skill-cache
|
|
929
|
+
> statistics (entries, size, hit rate, evictions).
|
|
930
|
+
|
|
931
|
+
```json
|
|
932
|
+
{ "action": "cache" }
|
|
933
|
+
```
|
|
934
|
+
|
|
935
|
+
Lookup a cached run:
|
|
936
|
+
|
|
937
|
+
```json
|
|
938
|
+
{
|
|
939
|
+
"action": "cache",
|
|
940
|
+
"goal": "Investigate failing tests",
|
|
941
|
+
"team": "default",
|
|
942
|
+
"workflow": "default"
|
|
943
|
+
}
|
|
944
|
+
```
|
|
945
|
+
|
|
946
|
+
Params:
|
|
947
|
+
|
|
948
|
+
| Param | Type | Default | Notes |
|
|
949
|
+
|-------|------|---------|-------|
|
|
950
|
+
| `goal` | `string` | — | Omit to show cache stats; provide to look up a cached run. |
|
|
951
|
+
| `team` | `string` | `default` | Used in the cache key when `goal` is set. |
|
|
952
|
+
| `workflow` | `string` | `default` | Used in the cache key when `goal` is set. |
|
|
953
|
+
|
|
954
|
+
---
|
|
955
|
+
|
|
956
|
+
### `checkpoint` — Read a task's saved checkpoint
|
|
957
|
+
|
|
958
|
+
Loads a previously saved checkpoint for a task (step, progress, saved-at
|
|
959
|
+
timestamp). Checkpoints are written during long-running tasks for resume
|
|
960
|
+
support.
|
|
961
|
+
|
|
962
|
+
```json
|
|
963
|
+
{
|
|
964
|
+
"action": "checkpoint",
|
|
965
|
+
"runId": "team_...",
|
|
966
|
+
"taskId": "07_build"
|
|
967
|
+
}
|
|
968
|
+
```
|
|
969
|
+
|
|
970
|
+
Params:
|
|
971
|
+
|
|
972
|
+
| Param | Type | Default | Notes |
|
|
973
|
+
|-------|------|---------|-------|
|
|
974
|
+
| `runId` | `string` | — | **Required.** |
|
|
975
|
+
| `taskId` | `string` | — | **Required.** |
|
|
976
|
+
|
|
977
|
+
---
|
|
978
|
+
|
|
979
|
+
### `health` — Watchdog health monitor
|
|
980
|
+
|
|
981
|
+
> ⚠️ **Internal / experimental.** Scans all known runs and classifies them by
|
|
982
|
+
> status, surfacing stuck tasks (heartbeat stale > 5 min), zombie workspaces,
|
|
983
|
+
> ghost processes, orphaned temp dirs, and corrupted state. Returns a counts
|
|
984
|
+
> summary (`total`, `running`, `completed`, `failed`, `blocked`, `queued`,
|
|
985
|
+
> `planning`, `waiting`, `stuck`, `zombie`, `ghost`, `orphaned`, `corrupted`).
|
|
986
|
+
|
|
987
|
+
```json
|
|
988
|
+
{ "action": "health" }
|
|
989
|
+
```
|
|
990
|
+
|
|
991
|
+
No parameters. This is an auto-monitored watchdog diagnostic — prefer `doctor`
|
|
992
|
+
for environment readiness checks.
|
|
993
|
+
|
|
994
|
+
---
|
|
995
|
+
|
|
996
|
+
## Additional Actions (Manage domain)
|
|
997
|
+
|
|
998
|
+
### `settings` — View/set config via dotted-path keys
|
|
999
|
+
|
|
1000
|
+
A richer, human-readable interface to configuration. Unlike `config` (which
|
|
1001
|
+
returns the raw merged JSON), `settings` supports dotted-path `get`/`set`/`unset`,
|
|
1002
|
+
a flattened effective-settings listing, a schema reference, config-path
|
|
1003
|
+
display, and live Pi-UI theme switching.
|
|
1004
|
+
|
|
1005
|
+
```json
|
|
1006
|
+
{ "action": "settings", "config": { "args": "list" } }
|
|
1007
|
+
```
|
|
1008
|
+
|
|
1009
|
+
Set a value:
|
|
1010
|
+
|
|
1011
|
+
```json
|
|
1012
|
+
{
|
|
1013
|
+
"action": "settings",
|
|
1014
|
+
"config": { "args": "set runtime.mode scaffold", "scope": "project" }
|
|
1015
|
+
}
|
|
1016
|
+
```
|
|
1017
|
+
|
|
1018
|
+
Commands (passed via `config.args`):
|
|
1019
|
+
|
|
1020
|
+
| Command | Description |
|
|
1021
|
+
|---------|-------------|
|
|
1022
|
+
| `list` | Show all effective config values (default). |
|
|
1023
|
+
| `json` | Dump full effective config as JSON. |
|
|
1024
|
+
| `schema` | List all known config keys (✓ = currently set). |
|
|
1025
|
+
| `paths` | Show user + project config file paths. |
|
|
1026
|
+
| `get <key>` | Get a specific dotted-path value. |
|
|
1027
|
+
| `set <key> <value>` | Set a value (JSON-parsed; scope via `config.scope`). |
|
|
1028
|
+
| `unset <key>` | Remove a value. |
|
|
1029
|
+
| `scope [user\|project]` | Show/change the write scope for `set`/`unset`. |
|
|
1030
|
+
| `themes` | Browse the Pi UI theme gallery. |
|
|
1031
|
+
| `theme <name>` | Switch the Pi UI theme (applied live). |
|
|
1032
|
+
|
|
1033
|
+
> **`settings` vs `config`:** `config` returns/updates the merged JSON object
|
|
1034
|
+
> directly. `settings` is the dotted-path UI with schema hints, theme
|
|
1035
|
+
> management, and fuzzy key suggestions — use it for interactive exploration.
|
|
1036
|
+
|
|
1037
|
+
---
|
|
1038
|
+
|
|
1039
|
+
## Additional Actions (Automate domain)
|
|
1040
|
+
|
|
1041
|
+
### `anchor` — Cross-run session anchoring
|
|
1042
|
+
|
|
1043
|
+
Persists a named context anchor for the current session so it survives across
|
|
1044
|
+
runs and compactions. Sub-actions are selected via `config.subAction`.
|
|
1045
|
+
|
|
1046
|
+
```json
|
|
1047
|
+
{ "action": "anchor", "config": { "subAction": "status" } }
|
|
1048
|
+
```
|
|
1049
|
+
|
|
1050
|
+
Set an anchor:
|
|
1051
|
+
|
|
1052
|
+
```json
|
|
1053
|
+
{
|
|
1054
|
+
"action": "anchor",
|
|
1055
|
+
"config": { "subAction": "set", "context": { "refactor": "auth-split" } }
|
|
1056
|
+
}
|
|
1057
|
+
```
|
|
1058
|
+
|
|
1059
|
+
Sub-actions:
|
|
1060
|
+
|
|
1061
|
+
| `subAction` | Description |
|
|
1062
|
+
|-------------|-------------|
|
|
1063
|
+
| `status` (default) | Show current anchors for the session. |
|
|
1064
|
+
| `set` | Create an anchor (accepts `config.context` object or `config.key`). |
|
|
1065
|
+
| `clear` | Remove an anchor (by `config.anchorId`, or all if omitted). |
|
|
1066
|
+
| `accumulate` | Append to an existing anchor's context. |
|
|
1067
|
+
|
|
1068
|
+
---
|
|
1069
|
+
|
|
1070
|
+
### `auto-summarize` — Auto-summarization control
|
|
1071
|
+
|
|
1072
|
+
Controls automatic context summarization for long-running sessions. When
|
|
1073
|
+
enabled, the worker's context is summarized once the token count or tool-use
|
|
1074
|
+
count crosses a threshold. Sub-actions via `config.subAction`.
|
|
1075
|
+
|
|
1076
|
+
```json
|
|
1077
|
+
{ "action": "auto-summarize", "config": { "subAction": "status" } }
|
|
1078
|
+
```
|
|
1079
|
+
|
|
1080
|
+
Enable and configure:
|
|
1081
|
+
|
|
1082
|
+
```json
|
|
1083
|
+
{
|
|
1084
|
+
"action": "auto-summarize",
|
|
1085
|
+
"config": {
|
|
1086
|
+
"subAction": "on",
|
|
1087
|
+
"threshold": 8000,
|
|
1088
|
+
"minToolsUsed": 10,
|
|
1089
|
+
"collapseContext": true
|
|
1090
|
+
}
|
|
1091
|
+
}
|
|
1092
|
+
```
|
|
1093
|
+
|
|
1094
|
+
Sub-actions:
|
|
1095
|
+
|
|
1096
|
+
| `subAction` | Description |
|
|
1097
|
+
|-------------|-------------|
|
|
1098
|
+
| `status` (default) | Show current config + trigger thresholds. |
|
|
1099
|
+
| `on` | Enable summarization. |
|
|
1100
|
+
| `off` | Disable summarization. |
|
|
1101
|
+
| `config` | Update thresholds (`threshold`, `minToolsUsed`, `collapseContext`). |
|
|
1102
|
+
| `toggle` | Flip enabled state. |
|
|
1103
|
+
|
|
1104
|
+
Defaults: `threshold` 5000 tokens, `minToolsUsed` 5, `collapseContext` true.
|
|
1105
|
+
|
|
1106
|
+
---
|
|
1107
|
+
|
|
1108
|
+
### `auto_boomerang` — Toggle auto-summarize (shorthand)
|
|
1109
|
+
|
|
1110
|
+
Shares the same handler as `auto-summarize`; defaults `subAction` to `toggle`
|
|
1111
|
+
when omitted, providing a quick on/off switch.
|
|
1112
|
+
|
|
1113
|
+
```json
|
|
1114
|
+
{ "action": "auto_boomerang" }
|
|
1115
|
+
```
|
|
1116
|
+
|
|
1117
|
+
Accepts the same `config.subAction` values as `auto-summarize`
|
|
1118
|
+
(`on`, `off`, `config`, `toggle`, `status`).
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-crew",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.52",
|
|
4
4
|
"description": "Pi extension for coordinated AI teams, workflows, worktrees, and async task orchestration",
|
|
5
5
|
"author": "baphuongna",
|
|
6
6
|
"license": "MIT",
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
"files": [
|
|
32
32
|
"*.ts",
|
|
33
33
|
"*.mjs",
|
|
34
|
-
"
|
|
35
|
-
"dist/",
|
|
34
|
+
"dist/index.mjs",
|
|
35
|
+
"dist/build-meta.json",
|
|
36
36
|
"agents/",
|
|
37
37
|
"teams/",
|
|
38
38
|
"workflows/",
|
|
@@ -45,7 +45,16 @@
|
|
|
45
45
|
"scripts/pty_probe.py",
|
|
46
46
|
"README.md",
|
|
47
47
|
"AGENTS.md",
|
|
48
|
-
"docs/",
|
|
48
|
+
"docs/actions-reference.md",
|
|
49
|
+
"docs/commands-reference.md",
|
|
50
|
+
"docs/troubleshooting.md",
|
|
51
|
+
"docs/usage.md",
|
|
52
|
+
"docs/architecture.md",
|
|
53
|
+
"docs/dynamic-workflows.md",
|
|
54
|
+
"docs/runtime-flow.md",
|
|
55
|
+
"docs/resource-formats.md",
|
|
56
|
+
"docs/publishing.md",
|
|
57
|
+
"docs/migration-v0.4-v0.5.md",
|
|
49
58
|
"tsconfig.json",
|
|
50
59
|
"schema.json",
|
|
51
60
|
"types/",
|
|
@@ -55,9 +64,10 @@
|
|
|
55
64
|
],
|
|
56
65
|
"scripts": {
|
|
57
66
|
"check": "npm run ci",
|
|
58
|
-
"ci": "npm run typecheck && npm run lint && npm run format:check && npm run check:conflict-markers && npm run check:lazy-imports && npm run check:bundle-staleness && npm run build:bundle && npm run test:bundle && npm test && npm pack --dry-run",
|
|
67
|
+
"ci": "npm run typecheck && npm run lint && npm run format:check && npm run check:conflict-markers && npm run check:lazy-imports && npm run check:bundle-staleness && npm run build:bundle && npm run check:bundle-size && npm run test:bundle && npm test && npm pack --dry-run",
|
|
59
68
|
"check:lazy-imports": "node scripts/check-lazy-imports.mjs",
|
|
60
69
|
"check:bundle-staleness": "node scripts/check-bundle-staleness.mjs",
|
|
70
|
+
"check:bundle-size": "node scripts/check-bundle-size.mjs",
|
|
61
71
|
"check:conflict-markers": "node scripts/check-conflict-markers.mjs",
|
|
62
72
|
"typecheck": "tsc --noEmit && node --experimental-strip-types -e \"await import('./index.ts'); console.log('strip-types import ok')\"",
|
|
63
73
|
"lint": "biome check --linter-enabled=true --formatter-enabled=false --max-diagnostics=50 --diagnostic-level=error .",
|
|
@@ -116,10 +126,10 @@
|
|
|
116
126
|
},
|
|
117
127
|
"devDependencies": {
|
|
118
128
|
"@biomejs/biome": "^2.5.3",
|
|
119
|
-
"@earendil-works/pi-agent-core": "^0.
|
|
120
|
-
"@earendil-works/pi-ai": "^0.
|
|
121
|
-
"@earendil-works/pi-coding-agent": "^0.
|
|
122
|
-
"@earendil-works/pi-tui": "^0.
|
|
129
|
+
"@earendil-works/pi-agent-core": "^0.82.0",
|
|
130
|
+
"@earendil-works/pi-ai": "^0.82.0",
|
|
131
|
+
"@earendil-works/pi-coding-agent": "^0.82.0",
|
|
132
|
+
"@earendil-works/pi-tui": "^0.82.0",
|
|
123
133
|
"@types/node": "^25.9.5",
|
|
124
134
|
"esbuild": "^0.28.1",
|
|
125
135
|
"tsx": "^4.23.0",
|
package/schema.json
CHANGED
|
@@ -22,6 +22,12 @@
|
|
|
22
22
|
"type": "boolean",
|
|
23
23
|
"description": "Require a clean leader git repository before provisioning worktrees."
|
|
24
24
|
},
|
|
25
|
+
"ignoreMethod": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"enum": ["gitignore", "exclude"],
|
|
28
|
+
"default": "gitignore",
|
|
29
|
+
"description": "Method for ignoring pi-crew generated directories from VCS: 'gitignore' appends to .gitignore, 'exclude' writes to .git/info/exclude."
|
|
30
|
+
},
|
|
25
31
|
"autonomous": {
|
|
26
32
|
"type": "object",
|
|
27
33
|
"additionalProperties": false,
|
|
@@ -94,6 +100,30 @@
|
|
|
94
100
|
"linkNodeModules": { "type": "boolean" }
|
|
95
101
|
}
|
|
96
102
|
},
|
|
103
|
+
"goalWrap": {
|
|
104
|
+
"type": "object",
|
|
105
|
+
"description": "Per-workflow goal-wrap configuration. Maps workflow name to goal-wrap settings (worker -> judge -> feedback -> redo until achieved / maxTurns / budget). Only applies to builtin workflows with a clear done condition.",
|
|
106
|
+
"additionalProperties": {
|
|
107
|
+
"type": "object",
|
|
108
|
+
"additionalProperties": false,
|
|
109
|
+
"properties": {
|
|
110
|
+
"enabled": { "type": "boolean" },
|
|
111
|
+
"maxTurns": { "type": "integer", "minimum": 1, "maximum": 50 },
|
|
112
|
+
"evaluatorModel": { "type": "string", "minLength": 1 },
|
|
113
|
+
"verification": {
|
|
114
|
+
"type": "object",
|
|
115
|
+
"additionalProperties": false,
|
|
116
|
+
"properties": {
|
|
117
|
+
"commands": { "type": "array", "items": { "type": "string", "minLength": 1 } },
|
|
118
|
+
"mode": { "type": "string", "enum": ["text-only"] }
|
|
119
|
+
},
|
|
120
|
+
"required": ["commands"]
|
|
121
|
+
},
|
|
122
|
+
"budgetTotal": { "type": "integer", "minimum": 1000 },
|
|
123
|
+
"budgetUnlimited": { "type": "boolean" }
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
},
|
|
97
127
|
"agents": {
|
|
98
128
|
"type": "object",
|
|
99
129
|
"additionalProperties": false,
|
|
@@ -217,6 +247,17 @@
|
|
|
217
247
|
"headers": { "type": "object", "additionalProperties": { "type": "string" } },
|
|
218
248
|
"intervalMs": { "type": "integer", "minimum": 5000, "default": 60000 }
|
|
219
249
|
}
|
|
250
|
+
},
|
|
251
|
+
"broker": {
|
|
252
|
+
"type": "object",
|
|
253
|
+
"additionalProperties": false,
|
|
254
|
+
"description": "Phase 0 inter-pi broker config for cross-process communication.",
|
|
255
|
+
"properties": {
|
|
256
|
+
"enabled": { "type": "boolean" },
|
|
257
|
+
"pathHashLen": { "type": "integer", "minimum": 4, "maximum": 32 },
|
|
258
|
+
"maxFrameBytes": { "type": "integer", "minimum": 1024, "maximum": 1048576 },
|
|
259
|
+
"outboundQueueCap": { "type": "integer", "minimum": 32, "maximum": 4096 }
|
|
260
|
+
}
|
|
220
261
|
}
|
|
221
262
|
}
|
|
222
263
|
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* CI gate: enforce a max size budget on dist/index.mjs.
|
|
4
|
+
*
|
|
5
|
+
* The bundle is the cold-start entrypoint (preferred over strip-types
|
|
6
|
+
* loading since v0.9.17). A growing bundle directly increases parse
|
|
7
|
+
* time and npm install cost. This guard FAILS the build if the bundle
|
|
8
|
+
* exceeds the budget, surfacing regressions early.
|
|
9
|
+
*
|
|
10
|
+
* Budget: 3.5 MB (see ROADMAP-2026-07-27 Sprint 6 CI-4).
|
|
11
|
+
*
|
|
12
|
+
* Exits:
|
|
13
|
+
* 0 — bundle is within budget (or absent, deferring to build:bundle)
|
|
14
|
+
* 1 — bundle exceeds budget
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { existsSync, statSync } from "node:fs";
|
|
18
|
+
|
|
19
|
+
const BUDGET_BYTES = 3.5 * 1024 * 1024; // 3.5 MB
|
|
20
|
+
const distPath = "dist/index.mjs";
|
|
21
|
+
|
|
22
|
+
if (!existsSync(distPath)) {
|
|
23
|
+
console.log("[check-bundle-size] dist/index.mjs absent — nothing to check. OK.");
|
|
24
|
+
process.exit(0);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const sizeBytes = statSync(distPath).size;
|
|
28
|
+
|
|
29
|
+
if (sizeBytes > BUDGET_BYTES) {
|
|
30
|
+
console.error(
|
|
31
|
+
`[check-bundle-size] FAIL: dist/index.mjs (${(sizeBytes / 1024 / 1024).toFixed(2)} MB) exceeds budget (${(BUDGET_BYTES / 1024 / 1024).toFixed(1)} MB).`,
|
|
32
|
+
);
|
|
33
|
+
process.exit(1);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
console.log(
|
|
37
|
+
`[check-bundle-size] OK: dist/index.mjs is ${(sizeBytes / 1024 / 1024).toFixed(2)} MB (budget ${(BUDGET_BYTES / 1024 / 1024).toFixed(1)} MB).`,
|
|
38
|
+
);
|
package/scripts/test-runner.mjs
CHANGED
|
@@ -52,7 +52,17 @@ const result = spawnSync(
|
|
|
52
52
|
["--import", "tsx/esm", "--test", ...finalArgs],
|
|
53
53
|
{
|
|
54
54
|
stdio: "inherit",
|
|
55
|
-
env: {
|
|
55
|
+
env: {
|
|
56
|
+
...process.env,
|
|
57
|
+
NODE_ENV: "test",
|
|
58
|
+
PI_CREW_SKIP_HOME_CHECK: "1",
|
|
59
|
+
// F-01: trust project-sourced .dwf.ts fixtures under test. The test
|
|
60
|
+
// runner is a trusted context (our own fixtures, never hostile), so
|
|
61
|
+
// opt into the project-dwf trust gate globally. Individual unit
|
|
62
|
+
// tests (dynamic-workflow-runner-trust.test.ts) override this env
|
|
63
|
+
// locally to exercise the deny path.
|
|
64
|
+
PI_CREW_TRUST_PROJECT_DWF: "1",
|
|
65
|
+
},
|
|
56
66
|
// 2026-07-01: bumped from 600s → 900s after atomic-write.ts added
|
|
57
67
|
// fs.fsyncSync for the mailbox-replay flake fix. fsync adds ~5-10ms
|
|
58
68
|
// per atomic-write, which compounded across 5800 tests pushed
|