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,27 +0,0 @@
|
|
|
1
|
-
# NNNN Decision Title
|
|
2
|
-
|
|
3
|
-
Date: YYYY-MM-DD
|
|
4
|
-
|
|
5
|
-
## Status
|
|
6
|
-
|
|
7
|
-
Proposed | Accepted | Superseded | Rejected
|
|
8
|
-
|
|
9
|
-
## Context
|
|
10
|
-
|
|
11
|
-
What problem, constraint, or ambiguity forced this decision?
|
|
12
|
-
|
|
13
|
-
## Decision
|
|
14
|
-
|
|
15
|
-
What did we decide?
|
|
16
|
-
|
|
17
|
-
## Alternatives Considered
|
|
18
|
-
|
|
19
|
-
1. Alternative.
|
|
20
|
-
|
|
21
|
-
## Consequences
|
|
22
|
-
|
|
23
|
-
Positive:
|
|
24
|
-
- Item.
|
|
25
|
-
|
|
26
|
-
Tradeoffs:
|
|
27
|
-
- Item.
|
package/docs/templates/story.md
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
# US-XXX Story Title
|
|
2
|
-
|
|
3
|
-
## Status
|
|
4
|
-
|
|
5
|
-
planned
|
|
6
|
-
|
|
7
|
-
## Lane
|
|
8
|
-
|
|
9
|
-
tiny | normal | high-risk
|
|
10
|
-
|
|
11
|
-
## Product Contract
|
|
12
|
-
|
|
13
|
-
Describe the behavior this story must make true.
|
|
14
|
-
|
|
15
|
-
## Affected Modules
|
|
16
|
-
|
|
17
|
-
- `src/...`
|
|
18
|
-
|
|
19
|
-
## Acceptance Criteria
|
|
20
|
-
|
|
21
|
-
- Criterion 1.
|
|
22
|
-
- Criterion 2.
|
|
23
|
-
|
|
24
|
-
## Design Notes
|
|
25
|
-
|
|
26
|
-
- Commands:
|
|
27
|
-
- State changes:
|
|
28
|
-
- API changes:
|
|
29
|
-
|
|
30
|
-
## Validation
|
|
31
|
-
|
|
32
|
-
| Layer | Command | Expected |
|
|
33
|
-
|-------|---------|----------|
|
|
34
|
-
| Typecheck | `npm run typecheck` | pass |
|
|
35
|
-
| Unit | `npm test` | 0 fail |
|
|
36
|
-
| CI | GitHub Actions | 3/3 green |
|
|
37
|
-
|
|
38
|
-
## Harness Delta
|
|
39
|
-
|
|
40
|
-
Harness updates made or proposed.
|
|
41
|
-
|
|
42
|
-
## Evidence
|
|
43
|
-
|
|
44
|
-
Add commands, results, CI links after validation.
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
# Validation Report
|
|
2
|
-
|
|
3
|
-
Date: YYYY-MM-DD
|
|
4
|
-
|
|
5
|
-
## Scope
|
|
6
|
-
|
|
7
|
-
What story or change was validated?
|
|
8
|
-
|
|
9
|
-
## Commands Run
|
|
10
|
-
|
|
11
|
-
```text
|
|
12
|
-
npm test
|
|
13
|
-
npm run typecheck
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
## Results
|
|
17
|
-
|
|
18
|
-
| Check | Result | Notes |
|
|
19
|
-
|-------|--------|-------|
|
|
20
|
-
| Typecheck | | |
|
|
21
|
-
| Unit tests | | |
|
|
22
|
-
| CI (ubuntu) | | |
|
|
23
|
-
| CI (windows) | | |
|
|
24
|
-
| CI (macos) | | |
|
|
25
|
-
|
|
26
|
-
## Evidence
|
|
27
|
-
|
|
28
|
-
Links to CI runs, screenshots, or logs.
|
|
29
|
-
|
|
30
|
-
## Gaps
|
|
31
|
-
|
|
32
|
-
Remaining risk or missing validation.
|
|
@@ -1,447 +0,0 @@
|
|
|
1
|
-
# pi-crew UI Optimization & Beautification Plan
|
|
2
|
-
|
|
3
|
-
> Based on deep analysis of oh-my-pi patterns + pi-crew current UI state.
|
|
4
|
-
> Date: 2026-06-12
|
|
5
|
-
> Status: Draft — awaiting approval
|
|
6
|
-
|
|
7
|
-
## Current State
|
|
8
|
-
|
|
9
|
-
### pi-crew UI (~7,800 lines across 45 files)
|
|
10
|
-
|
|
11
|
-
| Component | Lines | Status |
|
|
12
|
-
|---|---|---|
|
|
13
|
-
| `run-snapshot-cache.ts` | 827 | Complex, over-engineered |
|
|
14
|
-
| `settings-overlay.ts` | 723 | Functional |
|
|
15
|
-
| `crew-widget.ts` | 544 | **High complexity, hard to read** |
|
|
16
|
-
| `run-dashboard.ts` | 536 | Dense, many responsibilities |
|
|
17
|
-
| `mascot.ts` | 444 | Cute but bloated |
|
|
18
|
-
| `tool-render.ts` | 380 | **Needs pattern overhaul** |
|
|
19
|
-
| `theme-adapter.ts` | 190 | Defensive but verbose |
|
|
20
|
-
|
|
21
|
-
### Key Problems
|
|
22
|
-
|
|
23
|
-
1. **No theme color consistency** — `CrewThemeColor` has ~22 slots vs oh-my-pi's 40+
|
|
24
|
-
2. **Tool rendering reimplements logic** — pi-brief's delegate-execute pattern is cleaner
|
|
25
|
-
3. **Widget is monolithic** — 544 lines doing state management, rendering, caching, and formatting
|
|
26
|
-
4. **No structured interaction** — `respond` action is free-text only; no `ask_user`-style schema
|
|
27
|
-
5. **Raw ANSI codes in places** — mixing `theme.fg()` with `\x1b[38;5;2m`
|
|
28
|
-
6. **No brief/compact mode** — all output is verbose, no toggle for condensed display
|
|
29
|
-
7. **Checkpoint display is text-heavy** — run history shows full text vs compact stats
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
## Phase 1: Theme System Upgrade
|
|
34
|
-
|
|
35
|
-
**Priority**: HIGH — foundation for all other UI work
|
|
36
|
-
**Effort**: 2-3 days
|
|
37
|
-
**Risk**: LOW (additive changes, no breaking API)
|
|
38
|
-
|
|
39
|
-
### 1.1 Expand Theme Color Slots
|
|
40
|
-
|
|
41
|
-
**Current** (`src/ui/theme-adapter.ts`):
|
|
42
|
-
```typescript
|
|
43
|
-
export type CrewThemeColor =
|
|
44
|
-
| "accent" | "border" | "borderAccent" | "borderMuted"
|
|
45
|
-
| "success" | "error" | "warning" | "muted" | "dim" | "text"
|
|
46
|
-
| "toolDiffAdded" | "toolDiffRemoved" | "toolDiffContext"
|
|
47
|
-
| "syntaxKeyword" | "syntaxString" | "syntaxNumber"
|
|
48
|
-
| "syntaxComment" | "syntaxFunction" | "syntaxVariable"
|
|
49
|
-
| "syntaxType" | "syntaxOperator" | "syntaxPunctuation"
|
|
50
|
-
| "mdCodeBlock";
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
**Target** — add from oh-my-pi's 40+ slots:
|
|
54
|
-
```typescript
|
|
55
|
-
export type CrewThemeColor =
|
|
56
|
-
// Existing (keep)
|
|
57
|
-
| "accent" | "border" | "borderAccent" | "borderMuted"
|
|
58
|
-
| "success" | "error" | "warning" | "muted" | "dim" | "text"
|
|
59
|
-
| "toolDiffAdded" | "toolDiffRemoved" | "toolDiffContext"
|
|
60
|
-
| "syntaxKeyword" | "syntaxString" | "syntaxNumber"
|
|
61
|
-
| "syntaxComment" | "syntaxFunction" | "syntaxVariable"
|
|
62
|
-
| "syntaxType" | "syntaxOperator" | "syntaxPunctuation"
|
|
63
|
-
| "mdCodeBlock"
|
|
64
|
-
// NEW — message display
|
|
65
|
-
| "userMessageText" | "customMessageLabel"
|
|
66
|
-
// NEW — tool rendering
|
|
67
|
-
| "toolTitle" // already used in tool-render.ts but missing from type
|
|
68
|
-
| "toolOutput"
|
|
69
|
-
| "toolPending" | "toolSuccess" | "toolError"
|
|
70
|
-
// NEW — markdown
|
|
71
|
-
| "mdHeading" | "mdLink" | "mdCode" | "mdQuote" | "mdHr" | "mdListBullet"
|
|
72
|
-
// NEW — thinking gradient (6 levels)
|
|
73
|
-
| "thinkingOff" | "thinkingMinimal" | "thinkingLow"
|
|
74
|
-
| "thinkingMedium" | "thinkingHigh" | "thinkingXhigh"
|
|
75
|
-
// NEW — special
|
|
76
|
-
| "bashMode" | "thinkingText";
|
|
77
|
-
|
|
78
|
-
export type CrewThemeBg =
|
|
79
|
-
// Existing
|
|
80
|
-
| "selectedBg" | "userMessageBg" | "toolPendingBg" | "toolSuccessBg" | "toolErrorBg"
|
|
81
|
-
// NEW
|
|
82
|
-
| "customMessageBg";
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
**Files to change**: `src/ui/theme-adapter.ts`
|
|
86
|
-
|
|
87
|
-
### 1.2 Theme Color Fallback Map
|
|
88
|
-
|
|
89
|
-
Add default ANSI values for all new slots so widgets work even with minimal themes:
|
|
90
|
-
|
|
91
|
-
```typescript
|
|
92
|
-
const THEME_FALLBACKS: Record<CrewThemeColor, string> = {
|
|
93
|
-
toolTitle: "\x1b[36m", // cyan
|
|
94
|
-
toolOutput: "\x1b[38;5;245m", // gray
|
|
95
|
-
toolPending: "\x1b[38;5;240m",
|
|
96
|
-
toolSuccess: "\x1b[32m",
|
|
97
|
-
toolError: "\x1b[31m",
|
|
98
|
-
mdHeading: "\x1b[33m", // yellow
|
|
99
|
-
mdLink: "\x1b[35m", // indigo
|
|
100
|
-
mdCode: "\x1b[32m", // green
|
|
101
|
-
// ... all new slots
|
|
102
|
-
};
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
### 1.3 Remove Raw ANSI from Business Logic
|
|
106
|
-
|
|
107
|
-
Find and replace all raw `\x1b[38;5;XXXm` in non-UI files with `theme.fg("slot", text)` calls.
|
|
108
|
-
|
|
109
|
-
**Files to audit**:
|
|
110
|
-
- `src/ui/tool-render.ts` — check for raw ANSI
|
|
111
|
-
- `src/extension/registration/commands.ts` — status line rendering
|
|
112
|
-
- `src/runtime/task-display.ts` — display formatting
|
|
113
|
-
|
|
114
|
-
---
|
|
115
|
-
|
|
116
|
-
## Phase 2: Tool Rendering Overhaul
|
|
117
|
-
|
|
118
|
-
**Priority**: HIGH — visible improvement to every tool call display
|
|
119
|
-
**Effort**: 2-3 days
|
|
120
|
-
**Risk**: MEDIUM (changes how tool calls look)
|
|
121
|
-
|
|
122
|
-
### 2.1 Adopt Rendering-Only Override Pattern
|
|
123
|
-
|
|
124
|
-
**From oh-my-pi's pi-brief**: Register tool rendering that delegates execution to original.
|
|
125
|
-
|
|
126
|
-
**Current pi-crew approach** (`src/ui/tool-render.ts`):
|
|
127
|
-
- 380 lines of monolithic rendering functions
|
|
128
|
-
- Separate `renderTeamToolCall`, `renderAgentToolCall`, `renderTeamToolResult`, `renderAgentToolResult`
|
|
129
|
-
- Each function handles both collapsed and expanded mode internally
|
|
130
|
-
|
|
131
|
-
**Target**: Split into focused renderers using a registry pattern:
|
|
132
|
-
|
|
133
|
-
```typescript
|
|
134
|
-
// src/ui/tool-renderers/index.ts
|
|
135
|
-
export interface ToolRenderer {
|
|
136
|
-
renderCall(args: unknown, theme: CrewTheme, expanded: boolean): Component;
|
|
137
|
-
renderResult(result: unknown, theme: CrewTheme, expanded: boolean): Component;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
// src/ui/tool-renderers/team-renderer.ts
|
|
141
|
-
export const teamToolRenderer: ToolRenderer = {
|
|
142
|
-
renderCall(args, theme, expanded) { ... },
|
|
143
|
-
renderResult(result, theme, expanded) { ... },
|
|
144
|
-
};
|
|
145
|
-
|
|
146
|
-
// src/ui/tool-renderers/agent-renderer.ts
|
|
147
|
-
export const agentToolRenderer: ToolRenderer = { ... };
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
### 2.2 Compact Brief Mode for Tool Output
|
|
151
|
-
|
|
152
|
-
**From pi-brief**: Add a configurable "brief" toggle that shows one-line summaries.
|
|
153
|
-
|
|
154
|
-
```typescript
|
|
155
|
-
// New: src/ui/tool-renderers/brief-mode.ts
|
|
156
|
-
export function briefResult(result: ToolResult, theme: CrewTheme): string {
|
|
157
|
-
// read → "→ 142 lines"
|
|
158
|
-
// bash → "→ done" or "→ 12 lines"
|
|
159
|
-
// edit → "→ edited +3 -1"
|
|
160
|
-
// write → "→ written"
|
|
161
|
-
// team → "→ 3/3 tasks · 1.2m · 45k tok"
|
|
162
|
-
// agent → "✓ explorer · 8 tools · 23.4s"
|
|
163
|
-
}
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
Add `/crew-brief on|off` command and persist state via `pi.appendEntry()`.
|
|
167
|
-
|
|
168
|
-
### 2.3 Team Tool Result — Compact Stats Display
|
|
169
|
-
|
|
170
|
-
**From pi-rewind's checkpoint display**: Show goal + task stats in one line.
|
|
171
|
-
|
|
172
|
-
**Current**:
|
|
173
|
-
```
|
|
174
|
-
team action='run' (implementation) · status=completed · runId=team_2026... · goal="Investigate failing..."
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
**Target** (compact):
|
|
178
|
-
```
|
|
179
|
-
✓ team/implementation · 3/3 tasks · 1.2m · ↑45k ↓12k · $0.042
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
With expanded (Ctrl+O):
|
|
183
|
-
```
|
|
184
|
-
✓ team/implementation · 3/3 tasks · 1.2m · ↑45k ↓12k · $0.042
|
|
185
|
-
├─ ✓ explorer · 8 tools · 23.4s · ↑12k ↓4k
|
|
186
|
-
├─ ✓ executor · 15 tools · 41.2s · ↑22k ↓6k
|
|
187
|
-
└─ ✓ verifier · 5 tools · 12.1s · ↑11k ↓2k
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
---
|
|
191
|
-
|
|
192
|
-
## Phase 3: Widget Refactor
|
|
193
|
-
|
|
194
|
-
**Priority**: MEDIUM — internal cleanup, same visual output
|
|
195
|
-
**Effort**: 3-4 days
|
|
196
|
-
**Risk**: MEDIUM (core display component)
|
|
197
|
-
|
|
198
|
-
### 3.1 Split crew-widget.ts into Modules
|
|
199
|
-
|
|
200
|
-
**Current**: 544 lines monolith doing everything.
|
|
201
|
-
|
|
202
|
-
**Target structure**:
|
|
203
|
-
```
|
|
204
|
-
src/ui/widget/
|
|
205
|
-
├── index.ts # Public API: updateCrewWidget, stopCrewWidget
|
|
206
|
-
├── widget-component.ts # CrewWidgetComponent class (~100 lines)
|
|
207
|
-
├── widget-model.ts # Data fetching + caching (~100 lines)
|
|
208
|
-
├── widget-renderer.ts # Line building + colorizing (~150 lines)
|
|
209
|
-
├── widget-formatters.ts # formatTokens, formatDuration, agentStats (~100 lines)
|
|
210
|
-
└── widget-types.ts # Shared types
|
|
211
|
-
```
|
|
212
|
-
|
|
213
|
-
### 3.2 Adopt SessionStateMap Pattern
|
|
214
|
-
|
|
215
|
-
**From oh-my-pi**: Generic session-scoped state container instead of scattered maps.
|
|
216
|
-
|
|
217
|
-
```typescript
|
|
218
|
-
// src/state/session-state-map.ts (new)
|
|
219
|
-
export class SessionStateMap<T> {
|
|
220
|
-
private map = new Map<string, T>();
|
|
221
|
-
getOrUndefined(sessionId: string): T | undefined { ... }
|
|
222
|
-
set(sessionId: string, value: T): void { ... }
|
|
223
|
-
delete(sessionId: string): void { ... }
|
|
224
|
-
}
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
Use this in widget, dashboard, and live-agent-manager instead of separate `Map<string, ...>` instances.
|
|
228
|
-
|
|
229
|
-
### 3.3 Render Coalescing Optimization
|
|
230
|
-
|
|
231
|
-
The widget currently rebuilds signature strings on every render call. Optimize:
|
|
232
|
-
- Pre-compute signatures when data changes, not on render
|
|
233
|
-
- Use a simple counter-based invalidation instead of string concatenation
|
|
234
|
-
- Eliminate `this.cacheSignature` string comparison in hot path
|
|
235
|
-
|
|
236
|
-
---
|
|
237
|
-
|
|
238
|
-
## Phase 4: Dashboard Polish
|
|
239
|
-
|
|
240
|
-
**Priority**: MEDIUM
|
|
241
|
-
**Effort**: 3-4 days
|
|
242
|
-
**Risk**: LOW
|
|
243
|
-
|
|
244
|
-
### 4.1 Run History — Compact Checkpoint Style
|
|
245
|
-
|
|
246
|
-
**From pi-rewind**: Show runs with file-change statistics.
|
|
247
|
-
|
|
248
|
-
**Current** (status command output):
|
|
249
|
-
```
|
|
250
|
-
Run: team_20260612100313...
|
|
251
|
-
Status: completed
|
|
252
|
-
Team: implementation
|
|
253
|
-
Goal: Fix failing tests
|
|
254
|
-
Tasks: 3/3
|
|
255
|
-
Duration: 5m23s
|
|
256
|
-
Tokens: 45.2k
|
|
257
|
-
```
|
|
258
|
-
|
|
259
|
-
**Target** (compact):
|
|
260
|
-
```
|
|
261
|
-
✓ team_...3d7f implementation · Fix failing tests
|
|
262
|
-
3/3 tasks · 5m23s · ↑45k ↓12k
|
|
263
|
-
14 files +342 -87
|
|
264
|
-
```
|
|
265
|
-
|
|
266
|
-
### 4.2 Agent Progress — Thinking Level Visualization
|
|
267
|
-
|
|
268
|
-
**From oh-my-pi's thinking gradient**: Show thinking intensity with color gradient.
|
|
269
|
-
|
|
270
|
-
```typescript
|
|
271
|
-
function thinkingColor(level: number, theme: CrewTheme): CrewThemeColor {
|
|
272
|
-
// level 0-5 → off, minimal, low, medium, high, xhigh
|
|
273
|
-
return ["thinkingOff", "thinkingMinimal", "thinkingLow",
|
|
274
|
-
"thinkingMedium", "thinkingHigh", "thinkingXhigh"][level];
|
|
275
|
-
}
|
|
276
|
-
```
|
|
277
|
-
|
|
278
|
-
Apply to agent activity line when agent is "thinking..." (no tool call, just LLM processing).
|
|
279
|
-
|
|
280
|
-
### 4.3 Dashboard Pane Improvements
|
|
281
|
-
|
|
282
|
-
**Agents pane**: Add compact/expanded toggle per agent
|
|
283
|
-
**Progress pane**: Use brief mode rendering from Phase 2
|
|
284
|
-
**Mailbox pane**: Add structured response schema option
|
|
285
|
-
**Health pane**: Color-code issues by severity
|
|
286
|
-
|
|
287
|
-
---
|
|
288
|
-
|
|
289
|
-
## Phase 5: Structured Interaction
|
|
290
|
-
|
|
291
|
-
**Priority**: MEDIUM
|
|
292
|
-
**Effort**: 4-5 days
|
|
293
|
-
**Risk**: MEDIUM (new feature)
|
|
294
|
-
|
|
295
|
-
### 5.1 Structured Respond Action
|
|
296
|
-
|
|
297
|
-
**From pi-clarify**: Add schema validation to `respond` action.
|
|
298
|
-
|
|
299
|
-
```typescript
|
|
300
|
-
// In team-tool/respond.ts
|
|
301
|
-
interface RespondOptions {
|
|
302
|
-
message: string;
|
|
303
|
-
// NEW: structured answer option
|
|
304
|
-
answer?: {
|
|
305
|
-
type: "select" | "text" | "confirm";
|
|
306
|
-
value: string | boolean;
|
|
307
|
-
label?: string;
|
|
308
|
-
};
|
|
309
|
-
}
|
|
310
|
-
```
|
|
311
|
-
|
|
312
|
-
### 5.2 Secret Rejection in Tool Inputs
|
|
313
|
-
|
|
314
|
-
**From pi-clarify's SECRET_WORDS**: Add to all tool inputs that accept user text.
|
|
315
|
-
|
|
316
|
-
```typescript
|
|
317
|
-
const SECRET_PATTERNS = [
|
|
318
|
-
"api key", "apikey", "auth token", "cookie", "credential",
|
|
319
|
-
"password", "private key", "secret", "token",
|
|
320
|
-
];
|
|
321
|
-
```
|
|
322
|
-
|
|
323
|
-
Already partially done in `env-filter.ts`, but should extend to `goal`, `message`, `task` parameters.
|
|
324
|
-
|
|
325
|
-
---
|
|
326
|
-
|
|
327
|
-
## Phase 6: Code Quality from oh-my-pi
|
|
328
|
-
|
|
329
|
-
**Priority**: LOW-MEDIUM (foundation for long-term)
|
|
330
|
-
**Effort**: 2-3 days
|
|
331
|
-
**Risk**: LOW
|
|
332
|
-
|
|
333
|
-
### 6.1 Type Guard Library
|
|
334
|
-
|
|
335
|
-
**From runtime-core**: Create `src/utils/guards.ts` with systematic type guards.
|
|
336
|
-
|
|
337
|
-
```typescript
|
|
338
|
-
// src/utils/guards.ts
|
|
339
|
-
export function isRecord(value: unknown): value is Record<string, unknown> { ... }
|
|
340
|
-
export function isString(value: unknown): value is string { ... }
|
|
341
|
-
export function isNumber(value: unknown): value is number { ... }
|
|
342
|
-
export function isNonEmptyString(value: unknown): value is string { ... }
|
|
343
|
-
export function isArrayOf<T>(guard: (v: unknown) => v is T): (v: unknown) => v is readonly T[] { ... }
|
|
344
|
-
export function getStringField(value: unknown, key: string): string | undefined { ... }
|
|
345
|
-
export function getNumberField(value: unknown, key: number): number | undefined { ... }
|
|
346
|
-
export function errorMessage(err: unknown): string { ... }
|
|
347
|
-
```
|
|
348
|
-
|
|
349
|
-
Replace scattered `typeof x === "string"` checks across codebase.
|
|
350
|
-
|
|
351
|
-
### 6.2 No-Any Lint Rule
|
|
352
|
-
|
|
353
|
-
Add ESLint rule to enforce `unknown` over `any`:
|
|
354
|
-
|
|
355
|
-
```javascript
|
|
356
|
-
// .eslintrc
|
|
357
|
-
{
|
|
358
|
-
"rules": {
|
|
359
|
-
"@typescript-eslint/no-explicit-any": "error",
|
|
360
|
-
"@typescript-eslint/no-unsafe-assignment": "error",
|
|
361
|
-
"@typescript-eslint/no-unsafe-call": "error"
|
|
362
|
-
}
|
|
363
|
-
}
|
|
364
|
-
```
|
|
365
|
-
|
|
366
|
-
### 6.3 mkdir-Based Locking (Optional)
|
|
367
|
-
|
|
368
|
-
**From pi-checkpoint**: Replace JSON token-based locks with `mkdir` atomic locks.
|
|
369
|
-
|
|
370
|
-
This is a bigger change — could be Phase 7 if needed.
|
|
371
|
-
|
|
372
|
-
---
|
|
373
|
-
|
|
374
|
-
## Implementation Order & Timeline
|
|
375
|
-
|
|
376
|
-
| Phase | Duration | Depends On | Impact |
|
|
377
|
-
|---|---|---|---|
|
|
378
|
-
| **Phase 1**: Theme System | 2-3 days | Nothing | Foundation for all UI |
|
|
379
|
-
| **Phase 2**: Tool Rendering | 2-3 days | Phase 1 | Every tool call looks better |
|
|
380
|
-
| **Phase 3**: Widget Refactor | 3-4 days | Phase 1 | Internal cleanup |
|
|
381
|
-
| **Phase 4**: Dashboard Polish | 3-4 days | Phase 1, 2 | Visible improvement |
|
|
382
|
-
| **Phase 5**: Structured Interaction | 4-5 days | Phase 2 | New feature |
|
|
383
|
-
| **Phase 6**: Code Quality | 2-3 days | Nothing | Long-term maintainability |
|
|
384
|
-
|
|
385
|
-
**Total estimated**: 16-22 days (can parallelize Phase 1+6, Phase 2+3)
|
|
386
|
-
|
|
387
|
-
### Recommended Execution
|
|
388
|
-
|
|
389
|
-
```
|
|
390
|
-
Week 1: Phase 1 (Theme) + Phase 6 (Code Quality) [parallel]
|
|
391
|
-
Week 2: Phase 2 (Tool Rendering)
|
|
392
|
-
Week 3: Phase 3 (Widget) + Phase 4 (Dashboard) [sequential]
|
|
393
|
-
Week 4: Phase 5 (Structured Interaction) + polish
|
|
394
|
-
```
|
|
395
|
-
|
|
396
|
-
---
|
|
397
|
-
|
|
398
|
-
## Success Metrics
|
|
399
|
-
|
|
400
|
-
| Metric | Current | Target |
|
|
401
|
-
|---|---|---|
|
|
402
|
-
| Theme color slots | 22 | 40+ |
|
|
403
|
-
| Raw ANSI in business logic | ~15 instances | 0 |
|
|
404
|
-
| Widget lines of code | 544 | ~150 (per module) |
|
|
405
|
-
| Tool result compact display | N/A | All 7 tool types |
|
|
406
|
-
| Structured respond | Free text only | Schema-validated |
|
|
407
|
-
| `any` in production code | ~40 instances | 0 |
|
|
408
|
-
| Type guard reuse | Scattered | Centralized in guards.ts |
|
|
409
|
-
|
|
410
|
-
---
|
|
411
|
-
|
|
412
|
-
## Risks & Mitigations
|
|
413
|
-
|
|
414
|
-
| Risk | Mitigation |
|
|
415
|
-
|---|---|
|
|
416
|
-
| Theme slot additions break existing themes | All new slots have fallback ANSI values |
|
|
417
|
-
| Widget refactor breaks live updates | Keep same public API, refactor internals only |
|
|
418
|
-
| Brief mode confuses users | Default OFF, toggle via `/crew-brief on` |
|
|
419
|
-
| Structured respond breaks existing workflows | `message` field still accepts free text; `answer` is optional |
|
|
420
|
-
| No-any lint produces too many errors | Incremental: start with new files, then expand |
|
|
421
|
-
|
|
422
|
-
---
|
|
423
|
-
|
|
424
|
-
## Files to Create/Modify
|
|
425
|
-
|
|
426
|
-
### New Files
|
|
427
|
-
- `src/ui/tool-renderers/index.ts`
|
|
428
|
-
- `src/ui/tool-renderers/team-renderer.ts`
|
|
429
|
-
- `src/ui/tool-renderers/agent-renderer.ts`
|
|
430
|
-
- `src/ui/tool-renderers/brief-mode.ts`
|
|
431
|
-
- `src/ui/widget/index.ts`
|
|
432
|
-
- `src/ui/widget/widget-component.ts`
|
|
433
|
-
- `src/ui/widget/widget-model.ts`
|
|
434
|
-
- `src/ui/widget/widget-renderer.ts`
|
|
435
|
-
- `src/ui/widget/widget-formatters.ts`
|
|
436
|
-
- `src/ui/widget/widget-types.ts`
|
|
437
|
-
- `src/state/session-state-map.ts`
|
|
438
|
-
- `src/utils/guards.ts`
|
|
439
|
-
|
|
440
|
-
### Modified Files
|
|
441
|
-
- `src/ui/theme-adapter.ts` — expand color types + fallbacks
|
|
442
|
-
- `src/ui/tool-render.ts` — slim down, delegate to renderers
|
|
443
|
-
- `src/ui/crew-widget.ts` — split into widget/ modules
|
|
444
|
-
- `src/ui/run-dashboard.ts` — compact display + thinking gradient
|
|
445
|
-
- `src/ui/status-colors.ts` — add new status colors
|
|
446
|
-
- `src/extension/team-tool/respond.ts` — structured response option
|
|
447
|
-
- `src/extension/registration/commands.ts` — add `/crew-brief` command
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { ExportAdapter, ExportContent } from "./types.ts";
|
|
2
|
-
|
|
3
|
-
export const claudeAdapter: ExportAdapter = {
|
|
4
|
-
toolId: "claude",
|
|
5
|
-
toolName: "Claude Code",
|
|
6
|
-
fileExtension: ".md",
|
|
7
|
-
|
|
8
|
-
getFilePath(content: ExportContent): string {
|
|
9
|
-
return `.claude/commands/pi-crew/${content.id}.md`;
|
|
10
|
-
},
|
|
11
|
-
|
|
12
|
-
formatFile(content: ExportContent): string {
|
|
13
|
-
const tagLines = content.tags.length > 0 ? ["tags:", ...content.tags.map((tag) => ` - ${JSON.stringify(tag)}`)] : [];
|
|
14
|
-
const frontmatter = [
|
|
15
|
-
"---",
|
|
16
|
-
`description: ${JSON.stringify(content.description)}`,
|
|
17
|
-
`category: ${JSON.stringify(content.category)}`,
|
|
18
|
-
...tagLines,
|
|
19
|
-
"---",
|
|
20
|
-
].join("\n");
|
|
21
|
-
return `${frontmatter}\n\n# ${content.name}\n\n${content.body}\n`;
|
|
22
|
-
},
|
|
23
|
-
};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { ExportAdapter, ExportContent } from "./types.ts";
|
|
2
|
-
|
|
3
|
-
export const codexAdapter: ExportAdapter = {
|
|
4
|
-
toolId: "codex",
|
|
5
|
-
toolName: "Codex",
|
|
6
|
-
fileExtension: ".md",
|
|
7
|
-
|
|
8
|
-
getFilePath(_content: ExportContent): string {
|
|
9
|
-
return "AGENTS.md";
|
|
10
|
-
},
|
|
11
|
-
|
|
12
|
-
formatFile(content: ExportContent): string {
|
|
13
|
-
const tags = content.tags.length > 0 ? ` (${content.tags.join(", ")})` : "";
|
|
14
|
-
return [
|
|
15
|
-
`## ${content.name}${tags}\n`,
|
|
16
|
-
`**Source:** ${content.source.type}/${content.source.name} `,
|
|
17
|
-
`**Category:** ${content.category}\n`,
|
|
18
|
-
content.body,
|
|
19
|
-
].join("\n");
|
|
20
|
-
},
|
|
21
|
-
};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { ExportAdapter, ExportContent } from "./types.ts";
|
|
2
|
-
|
|
3
|
-
export const cursorAdapter: ExportAdapter = {
|
|
4
|
-
toolId: "cursor",
|
|
5
|
-
toolName: "Cursor",
|
|
6
|
-
fileExtension: ".md",
|
|
7
|
-
|
|
8
|
-
getFilePath(content: ExportContent): string {
|
|
9
|
-
return `.cursor/rules/pi-crew-${content.id}.md`;
|
|
10
|
-
},
|
|
11
|
-
|
|
12
|
-
formatFile(content: ExportContent): string {
|
|
13
|
-
const header = `# ${content.name}\n\n> ${content.description}`;
|
|
14
|
-
const tags = content.tags.length > 0 ? `\n\n**Tags:** ${content.tags.join(", ")}` : "";
|
|
15
|
-
return `${header}${tags}\n\n${content.body}\n`;
|
|
16
|
-
},
|
|
17
|
-
};
|