maestro-flow 0.3.2 → 0.3.4
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/.claude/CLAUDE.md +2 -2
- package/.claude/agents/cli-explore-agent.md +1 -1
- package/.claude/agents/team-worker.md +237 -237
- package/.claude/commands/maestro-coordinate.md +65 -65
- package/.claude/commands/maestro-link-coordinate.md +71 -71
- package/.claude/commands/manage-issue-execute.md +73 -73
- package/.claude/commands/quality-business-test.md +110 -0
- package/.claude/skills/team-coordinate/SKILL.md +266 -266
- package/.claude/skills/team-lifecycle-v4/SKILL.md +209 -209
- package/.claude/skills/team-lifecycle-v4/roles/analyst/role.md +94 -94
- package/.claude/skills/team-lifecycle-v4/roles/executor/commands/implement.md +62 -62
- package/.claude/skills/team-lifecycle-v4/roles/planner/role.md +85 -85
- package/.claude/skills/team-lifecycle-v4/roles/writer/role.md +95 -95
- package/.claude/skills/team-quality-assurance/SKILL.md +147 -147
- package/.claude/skills/team-quality-assurance/roles/scout/role.md +75 -75
- package/.claude/skills/team-review/SKILL.md +147 -147
- package/.claude/skills/team-review/roles/reviewer/role.md +68 -68
- package/.claude/skills/team-review/roles/scanner/role.md +79 -79
- package/.claude/skills/team-tech-debt/SKILL.md +128 -128
- package/.claude/skills/team-tech-debt/roles/executor/role.md +76 -76
- package/.claude/skills/team-tech-debt/roles/scanner/role.md +90 -90
- package/.claude/skills/team-tech-debt/roles/validator/role.md +78 -78
- package/.claude/skills/team-testing/SKILL.md +143 -143
- package/.claude/skills/team-testing/roles/executor/role.md +99 -99
- package/.claude/skills/team-testing/roles/generator/role.md +98 -98
- package/.codex/skills/maestro-coordinate/SKILL.md +1 -1
- package/.codex/skills/manage-issue-analyze/SKILL.md +3 -3
- package/.codex/skills/manage-issue-execute/SKILL.md +4 -4
- package/.codex/skills/manage-issue-plan/SKILL.md +2 -2
- package/.codex/skills/quality-business-test/SKILL.md +223 -0
- package/.codex/skills/team-coordinate/SKILL.md +7 -7
- package/.codex/skills/team-coordinate/roles/coordinator/role.md +1 -1
- package/.codex/skills/team-lifecycle-v4/SKILL.md +2 -2
- package/.codex/skills/team-lifecycle-v4/instructions/agent-instruction.md +2 -2
- package/.codex/skills/team-lifecycle-v4/roles/analyst/role.md +2 -2
- package/.codex/skills/team-lifecycle-v4/roles/coordinator/role.md +2 -2
- package/.codex/skills/team-lifecycle-v4/roles/executor/commands/implement.md +1 -1
- package/.codex/skills/team-lifecycle-v4/roles/planner/role.md +2 -2
- package/.codex/skills/team-lifecycle-v4/roles/writer/role.md +1 -1
- package/.codex/skills/team-quality-assurance/SKILL.md +2 -2
- package/.codex/skills/team-quality-assurance/roles/coordinator/role.md +2 -2
- package/.codex/skills/team-quality-assurance/roles/scout/role.md +2 -2
- package/.codex/skills/team-review/SKILL.md +2 -2
- package/.codex/skills/team-review/roles/coordinator/role.md +2 -2
- package/.codex/skills/team-review/roles/reviewer/role.md +1 -1
- package/.codex/skills/team-review/roles/scanner/role.md +1 -1
- package/.codex/skills/team-tech-debt/SKILL.md +2 -2
- package/.codex/skills/team-tech-debt/roles/coordinator/role.md +1 -1
- package/.codex/skills/team-tech-debt/roles/executor/role.md +1 -1
- package/.codex/skills/team-tech-debt/roles/scanner/role.md +1 -1
- package/.codex/skills/team-tech-debt/roles/validator/role.md +1 -1
- package/.codex/skills/team-testing/SKILL.md +2 -2
- package/.codex/skills/team-testing/roles/coordinator/role.md +2 -2
- package/.codex/skills/team-testing/roles/executor/role.md +1 -1
- package/.codex/skills/team-testing/roles/generator/role.md +1 -1
- package/README.md +31 -2
- package/README.zh-CN.md +23 -1
- package/chains/_intent-map.json +6 -0
- package/chains/_router.json +14 -0
- package/chains/full-lifecycle.json +15 -0
- package/chains/quality-loop.json +16 -1
- package/chains/singles/business-test.json +26 -0
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js +16 -2
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.js +25 -9
- package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.js.map +1 -1
- package/dashboard/dist-server/src/agents/cli-agent-runner.d.ts +3 -0
- package/dashboard/dist-server/src/agents/cli-agent-runner.js +78 -61
- package/dashboard/dist-server/src/agents/cli-agent-runner.js.map +1 -1
- package/dashboard/dist-server/src/agents/cli-history-store.d.ts +14 -1
- package/dashboard/dist-server/src/agents/cli-history-store.js +24 -2
- package/dashboard/dist-server/src/agents/cli-history-store.js.map +1 -1
- package/dashboard/dist-server/src/commands/delegate.js +142 -6
- package/dashboard/dist-server/src/commands/delegate.js.map +1 -1
- package/dist/src/agents/cli-agent-runner.d.ts +3 -0
- package/dist/src/agents/cli-agent-runner.d.ts.map +1 -1
- package/dist/src/agents/cli-agent-runner.js +78 -61
- package/dist/src/agents/cli-agent-runner.js.map +1 -1
- package/dist/src/agents/cli-history-store.d.ts +14 -1
- package/dist/src/agents/cli-history-store.d.ts.map +1 -1
- package/dist/src/agents/cli-history-store.js +24 -2
- package/dist/src/agents/cli-history-store.js.map +1 -1
- package/dist/src/commands/delegate.d.ts.map +1 -1
- package/dist/src/commands/delegate.js +142 -6
- package/dist/src/commands/delegate.js.map +1 -1
- package/dist/src/commands/hooks.d.ts +15 -0
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +29 -2
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/install-backend.d.ts +15 -0
- package/dist/src/commands/install-backend.d.ts.map +1 -1
- package/dist/src/commands/install-backend.js +67 -0
- package/dist/src/commands/install-backend.js.map +1 -1
- package/dist/src/commands/install-ui/BackupConfig.d.ts +6 -4
- package/dist/src/commands/install-ui/BackupConfig.d.ts.map +1 -1
- package/dist/src/commands/install-ui/BackupConfig.js +39 -12
- package/dist/src/commands/install-ui/BackupConfig.js.map +1 -1
- package/dist/src/commands/install-ui/ConfigPanel.d.ts.map +1 -1
- package/dist/src/commands/install-ui/ConfigPanel.js +1 -1
- package/dist/src/commands/install-ui/ConfigPanel.js.map +1 -1
- package/dist/src/commands/install-ui/InstallConfirm.d.ts +3 -0
- package/dist/src/commands/install-ui/InstallConfirm.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallConfirm.js +5 -1
- package/dist/src/commands/install-ui/InstallConfirm.js.map +1 -1
- package/dist/src/commands/install-ui/InstallExecution.d.ts +2 -0
- package/dist/src/commands/install-ui/InstallExecution.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallExecution.js +30 -5
- package/dist/src/commands/install-ui/InstallExecution.js.map +1 -1
- package/dist/src/commands/install-ui/InstallFlow.d.ts +1 -1
- package/dist/src/commands/install-ui/InstallFlow.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallFlow.js +31 -6
- package/dist/src/commands/install-ui/InstallFlow.js.map +1 -1
- package/dist/src/commands/install-ui/InstallHub.d.ts +5 -0
- package/dist/src/commands/install-ui/InstallHub.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallHub.js +24 -0
- package/dist/src/commands/install-ui/InstallHub.js.map +1 -1
- package/dist/src/commands/install-ui/InstallResult.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallResult.js +1 -1
- package/dist/src/commands/install-ui/InstallResult.js.map +1 -1
- package/dist/src/commands/install-ui/StatuslineConfig.d.ts +9 -0
- package/dist/src/commands/install-ui/StatuslineConfig.d.ts.map +1 -0
- package/dist/src/commands/install-ui/StatuslineConfig.js +13 -0
- package/dist/src/commands/install-ui/StatuslineConfig.js.map +1 -0
- package/dist/src/commands/install-ui/index.d.ts +1 -1
- package/dist/src/commands/install-ui/index.d.ts.map +1 -1
- package/dist/src/commands/install-ui/types.d.ts +6 -0
- package/dist/src/commands/install-ui/types.d.ts.map +1 -1
- package/dist/src/commands/install-ui/types.js +3 -0
- package/dist/src/commands/install-ui/types.js.map +1 -1
- package/dist/src/commands/install.d.ts.map +1 -1
- package/dist/src/commands/install.js +6 -1
- package/dist/src/commands/install.js.map +1 -1
- package/dist/src/commands/overlay.d.ts.map +1 -1
- package/dist/src/commands/overlay.js +45 -1
- package/dist/src/commands/overlay.js.map +1 -1
- package/dist/src/commands/team.d.ts +10 -0
- package/dist/src/commands/team.d.ts.map +1 -1
- package/dist/src/commands/team.js +436 -42
- package/dist/src/commands/team.js.map +1 -1
- package/dist/src/core/manifest.d.ts.map +1 -1
- package/dist/src/core/manifest.js +58 -0
- package/dist/src/core/manifest.js.map +1 -1
- package/dist/src/core/overlay/applier.d.ts +4 -0
- package/dist/src/core/overlay/applier.d.ts.map +1 -1
- package/dist/src/core/overlay/applier.js.map +1 -1
- package/dist/src/hooks/delegate-monitor.js +1 -1
- package/dist/src/hooks/delegate-monitor.js.map +1 -1
- package/dist/src/hooks/plugins/spec-injection-plugin.d.ts.map +1 -1
- package/dist/src/hooks/plugins/spec-injection-plugin.js +17 -1
- package/dist/src/hooks/plugins/spec-injection-plugin.js.map +1 -1
- package/dist/src/hooks/spec-injector.d.ts +2 -1
- package/dist/src/hooks/spec-injector.d.ts.map +1 -1
- package/dist/src/hooks/spec-injector.js +19 -2
- package/dist/src/hooks/spec-injector.js.map +1 -1
- package/dist/src/hooks/team-monitor.d.ts.map +1 -1
- package/dist/src/hooks/team-monitor.js +17 -0
- package/dist/src/hooks/team-monitor.js.map +1 -1
- package/dist/src/i18n/locales/en.d.ts.map +1 -1
- package/dist/src/i18n/locales/en.js +25 -1
- package/dist/src/i18n/locales/en.js.map +1 -1
- package/dist/src/i18n/locales/zh.d.ts.map +1 -1
- package/dist/src/i18n/locales/zh.js +25 -1
- package/dist/src/i18n/locales/zh.js.map +1 -1
- package/dist/src/i18n/types.d.ts +22 -0
- package/dist/src/i18n/types.d.ts.map +1 -1
- package/dist/src/mcp/delegate-channel-relay.d.ts.map +1 -1
- package/dist/src/mcp/delegate-channel-relay.js +9 -9
- package/dist/src/mcp/delegate-channel-relay.js.map +1 -1
- package/dist/src/tools/index.d.ts.map +1 -1
- package/dist/src/tools/index.js +11 -2
- package/dist/src/tools/index.js.map +1 -1
- package/dist/src/tools/namespace-guard.d.ts +37 -0
- package/dist/src/tools/namespace-guard.d.ts.map +1 -0
- package/dist/src/tools/namespace-guard.js +126 -0
- package/dist/src/tools/namespace-guard.js.map +1 -0
- package/dist/src/tools/spec-loader.d.ts +17 -1
- package/dist/src/tools/spec-loader.d.ts.map +1 -1
- package/dist/src/tools/spec-loader.js +71 -13
- package/dist/src/tools/spec-loader.js.map +1 -1
- package/dist/src/tools/team-members.d.ts +16 -0
- package/dist/src/tools/team-members.d.ts.map +1 -1
- package/dist/src/tools/team-members.js +31 -0
- package/dist/src/tools/team-members.js.map +1 -1
- package/package.json +2 -2
- package/templates/business-test-report.json +68 -0
- package/workflows/delegate-usage.md +330 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlay.js","sourceRoot":"","sources":["../../../src/commands/overlay.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"overlay.js","sourceRoot":"","sources":["../../../src/commands/overlay.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,+CAA+C;AAC/C,EAAE;AACF,eAAe;AACf,qEAAqE;AACrE,gFAAgF;AAChF,2EAA2E;AAC3E,oEAAoE;AACpE,oEAAoE;AACpE,0EAA0E;AAC1E,wEAAwE;AACxE,2EAA2E;AAC3E,8EAA8E;AAG9E,OAAO,EACL,UAAU,EACV,SAAS,EACT,YAAY,EACZ,aAAa,EACb,UAAU,EACV,WAAW,GACZ,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,YAAY,GAGb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAWvD,+EAA+E;AAC/E,SAAS,cAAc;IACrB,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;IACpC,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QACnE,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,UAAU,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,6EAA6E;IAC7E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAC1D,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AACtC,CAAC;AAED,8EAA8E;AAC9E,mCAAmC;AACnC,8EAA8E;AAE9E,KAAK,UAAU,OAAO,CAAC,WAAoB;IACzC,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACnE,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;AACtC,CAAC;AAED,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,SAAS,QAAQ;IACf,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAEtB,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACvE,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,aAAa,CAAC;YAC3B,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,OAAO,CAAC,KAAK,CACX,YAAY,MAAM,CAAC,cAAc,YAAY,MAAM,CAAC,eAAe,GAAG;YACpE,WAAW,MAAM,CAAC,YAAY,cAAc,MAAM,CAAC,cAAc,EAAE,CACtE,CAAC;QACF,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC/B,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AAED,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,SAAS,MAAM,CAAC,IAAY;IAC1B,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC1C,OAAO,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1C,IAAI,MAAM,CAAC,WAAW;YAAE,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC/D,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,gBAAgB,EAAE,CAAC;YACpC,OAAO,CAAC,KAAK,CAAC,oBAAoB,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YAClD,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM;gBAAE,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,QAAQ,EAAE,CAAC;AACb,CAAC;AAED,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E,SAAS,SAAS,CAAC,IAAY,EAAE,IAAsB;IACrD,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;IACnE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACrD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC1C,OAAO,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E,SAAS,SAAS,CAAC,IAAY;IAC7B,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IAEzB,gCAAgC;IAChC,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,wBAAwB,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;QAClE,YAAY,IAAI,GAAG,CAAC,YAAY,CAAC;IACnC,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,yBAAyB,YAAY,WAAW,CAAC,CAAC;IAEhE,2CAA2C;IAC3C,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACpB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,SAAS;YACvC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;gBAChC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBAC/B,UAAU,CAAC,EAAE,CAAC,CAAC;oBACf,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,yBAAyB;YAC3B,CAAC;QACH,CAAC;QACD,IAAI,OAAO,GAAG,CAAC;YAAE,OAAO,CAAC,KAAK,CAAC,WAAW,OAAO,mBAAmB,CAAC,CAAC;IACxE,CAAC;IAED,2DAA2D;IAC3D,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,qBAAqB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E,SAAS,SAAS,CAAC,IAAwC;IACzD,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,sBAAsB,CAAC,CAAC;IAC3E,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACxD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACxC,OAAO,CAAC,KAAK,CAAC,eAAe,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,eAAe,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,KAAK,CAAC,eAAe,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAE9E,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACvC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACzC,OAAO,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,WAAW,mBAAmB,CAAC,CAAC;QAClE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC;YACzD,OAAO,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,QAAQ,EAAE,CAAC;AACb,CAAC;AAED,8EAA8E;AAC9E,4DAA4D;AAC5D,8EAA8E;AAE9E,SAAS,cAAc,CAAC,IAA0B;IAChD,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC;IAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAEtB,6EAA6E;IAC7E,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACpF,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC;QAAE,SAAS,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEtF,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;IAEpE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAEzD,qDAAqD;QACrD,MAAM,MAAM,GAAkB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1E,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC;QAC/B,MAAM,CAAC,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAElE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACxC,OAAO,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACzC,OAAO,CAAC,KAAK,CAAC,eAAe,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,eAAe,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,KAAK,CAAC,eAAe,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,MAAM,OAAO,GAAG,OAAO;SACpB,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,qEAAqE,CAAC,CAAC;IAEtF,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,sEAAsE,CAAC;SACnF,MAAM,CAAC,kBAAkB,EAAE,yCAAyC,CAAC;SACrE,MAAM,CAAC,CAAC,IAA+B,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC;IAEpF,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,0DAA0D,CAAC;SACvE,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE5B,OAAO;SACJ,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,2CAA2C,CAAC;SACxD,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAE1C,OAAO;SACJ,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,8CAA8C,CAAC;SAC3D,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAE1C,OAAO;SACJ,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,qDAAqD,CAAC;SAClE,MAAM,CAAC,kBAAkB,EAAE,mDAAmD,CAAC;SAC/E,MAAM,CAAC,CAAC,IAAY,EAAE,IAAsB,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAE3E,OAAO;SACJ,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,mDAAmD,CAAC;SAChE,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAE7C,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,oEAAoE,CAAC;SACjF,MAAM,CAAC,kBAAkB,EAAE,+CAA+C,CAAC;SAC3E,MAAM,CAAC,wBAAwB,EAAE,uCAAuC,CAAC;SACzE,MAAM,CAAC,CAAC,IAAwC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAEzE,OAAO;SACJ,OAAO,CAAC,sBAAsB,CAAC;SAC/B,WAAW,CAAC,+DAA+D,CAAC;SAC5E,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IAEnD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,gEAAgE,CAAC;SAC7E,MAAM,CAAC,wBAAwB,EAAE,qCAAqC,CAAC;SACvE,MAAM,CAAC,CAAC,IAA0B,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;AAClE,CAAC"}
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
import type { Command } from 'commander';
|
|
2
2
|
import { type MemberRecord } from '../tools/team-members.js';
|
|
3
3
|
import { type ActivityEvent } from '../tools/team-activity.js';
|
|
4
|
+
/**
|
|
5
|
+
* Scan `.workflow/collab/overlays/` for bundle files from other team members,
|
|
6
|
+
* import bundles that are newer than previously imported, and update manifest.
|
|
7
|
+
*
|
|
8
|
+
* Returns counts of imported and skipped bundles.
|
|
9
|
+
*/
|
|
10
|
+
export declare function syncOverlays(projectRoot: string, selfUid: string): {
|
|
11
|
+
imported: number;
|
|
12
|
+
skipped: number;
|
|
13
|
+
};
|
|
4
14
|
export interface PreflightResult {
|
|
5
15
|
exitCode: 0 | 1 | 2;
|
|
6
16
|
warnings: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"team.d.ts","sourceRoot":"","sources":["../../../src/commands/team.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"team.d.ts","sourceRoot":"","sources":["../../../src/commands/team.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,2BAA2B,CAAC;AA6KnC;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAgFvC;AA2XD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,EACzB,IAAI,CAAC,EAAE;IACL,OAAO,CAAC,EAAE,MAAM,YAAY,GAAG,IAAI,CAAC;IACpC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,aAAa,EAAE,CAAC;IAChD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB,GACA,eAAe,CAwDjB;AA+CD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsE1D"}
|
|
@@ -13,8 +13,15 @@
|
|
|
13
13
|
// `.workflow/.team/` (that belongs to the agent pipeline, see team-msg.ts).
|
|
14
14
|
// ---------------------------------------------------------------------------
|
|
15
15
|
import { execSync } from 'node:child_process';
|
|
16
|
-
import {
|
|
16
|
+
import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from 'node:fs';
|
|
17
|
+
import { join } from 'node:path';
|
|
18
|
+
import { joinTeam, resolveSelf, requireTeamMode, } from '../tools/team-members.js';
|
|
17
19
|
import { reportActivity, readRecentActivity, rotateIfNeeded, } from '../tools/team-activity.js';
|
|
20
|
+
import { importBundle, } from '../core/overlay/applier.js';
|
|
21
|
+
import { paths } from '../config/paths.js';
|
|
22
|
+
import { getProjectRoot } from '../utils/path-validator.js';
|
|
23
|
+
import { CATEGORY_MAP, TEAM_SPECS_DIR } from '../tools/spec-loader.js';
|
|
24
|
+
import { getNamespaceBoundaries } from '../tools/namespace-guard.js';
|
|
18
25
|
// ---------------------------------------------------------------------------
|
|
19
26
|
// join
|
|
20
27
|
// ---------------------------------------------------------------------------
|
|
@@ -152,6 +159,195 @@ function pad(s, width) {
|
|
|
152
159
|
return s.slice(0, width);
|
|
153
160
|
return s + ' '.repeat(width - s.length);
|
|
154
161
|
}
|
|
162
|
+
/**
|
|
163
|
+
* Scan `.workflow/collab/overlays/` for bundle files from other team members,
|
|
164
|
+
* import bundles that are newer than previously imported, and update manifest.
|
|
165
|
+
*
|
|
166
|
+
* Returns counts of imported and skipped bundles.
|
|
167
|
+
*/
|
|
168
|
+
export function syncOverlays(projectRoot, selfUid) {
|
|
169
|
+
const collabOverlaysDir = join(projectRoot, '.workflow', 'collab', 'overlays');
|
|
170
|
+
if (!existsSync(collabOverlaysDir)) {
|
|
171
|
+
return { imported: 0, skipped: 0 };
|
|
172
|
+
}
|
|
173
|
+
// Load sync manifest
|
|
174
|
+
const manifestPath = join(collabOverlaysDir, 'manifest.json');
|
|
175
|
+
let manifest = { imported: {} };
|
|
176
|
+
if (existsSync(manifestPath)) {
|
|
177
|
+
try {
|
|
178
|
+
manifest = JSON.parse(readFileSync(manifestPath, 'utf-8'));
|
|
179
|
+
}
|
|
180
|
+
catch {
|
|
181
|
+
// Corrupted manifest — start fresh
|
|
182
|
+
manifest = { imported: {} };
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
const overlayDir = join(paths.home, 'overlays');
|
|
186
|
+
let imported = 0;
|
|
187
|
+
let skipped = 0;
|
|
188
|
+
// Scan for bundle files
|
|
189
|
+
let entries;
|
|
190
|
+
try {
|
|
191
|
+
entries = readdirSync(collabOverlaysDir);
|
|
192
|
+
}
|
|
193
|
+
catch {
|
|
194
|
+
return { imported: 0, skipped: 0 };
|
|
195
|
+
}
|
|
196
|
+
for (const entry of entries) {
|
|
197
|
+
if (!entry.endsWith('-bundle.json'))
|
|
198
|
+
continue;
|
|
199
|
+
const bundlePath = join(collabOverlaysDir, entry);
|
|
200
|
+
let bundle;
|
|
201
|
+
try {
|
|
202
|
+
bundle = JSON.parse(readFileSync(bundlePath, 'utf-8'));
|
|
203
|
+
}
|
|
204
|
+
catch {
|
|
205
|
+
skipped++;
|
|
206
|
+
continue;
|
|
207
|
+
}
|
|
208
|
+
// Skip own bundles
|
|
209
|
+
if (bundle.sourceMember === selfUid) {
|
|
210
|
+
skipped++;
|
|
211
|
+
continue;
|
|
212
|
+
}
|
|
213
|
+
// Skip bundles without team metadata
|
|
214
|
+
if (!bundle.sourceMember || !bundle.ts) {
|
|
215
|
+
skipped++;
|
|
216
|
+
continue;
|
|
217
|
+
}
|
|
218
|
+
// Check if we already imported this version
|
|
219
|
+
const lastImported = manifest.imported[bundle.sourceMember];
|
|
220
|
+
if (lastImported && lastImported >= bundle.ts) {
|
|
221
|
+
skipped++;
|
|
222
|
+
continue;
|
|
223
|
+
}
|
|
224
|
+
// Import the bundle
|
|
225
|
+
try {
|
|
226
|
+
importBundle(bundlePath, overlayDir);
|
|
227
|
+
manifest.imported[bundle.sourceMember] = bundle.ts;
|
|
228
|
+
imported++;
|
|
229
|
+
}
|
|
230
|
+
catch (err) {
|
|
231
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
232
|
+
console.error(` Warning: failed to import bundle from ${bundle.sourceMember}: ${msg}`);
|
|
233
|
+
skipped++;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
// Save updated manifest
|
|
237
|
+
if (imported > 0) {
|
|
238
|
+
if (!existsSync(collabOverlaysDir))
|
|
239
|
+
mkdirSync(collabOverlaysDir, { recursive: true });
|
|
240
|
+
writeFileSync(manifestPath, JSON.stringify(manifest, null, 2), 'utf-8');
|
|
241
|
+
}
|
|
242
|
+
return { imported, skipped };
|
|
243
|
+
}
|
|
244
|
+
// ---------------------------------------------------------------------------
|
|
245
|
+
// sync -- fast-path detection
|
|
246
|
+
// ---------------------------------------------------------------------------
|
|
247
|
+
/**
|
|
248
|
+
* Attempt SHA-based fast-path detection. Runs git fetch origin, then
|
|
249
|
+
* compares local HEAD with upstream tracking ref to decide if the full
|
|
250
|
+
* stash/pull/push cycle can be shortened.
|
|
251
|
+
*
|
|
252
|
+
* Returns:
|
|
253
|
+
* 'skip' -- local and remote are identical; nothing to do.
|
|
254
|
+
* 'push-only' -- remote is ancestor of local; only push needed.
|
|
255
|
+
* 'pull-only' -- local is ancestor of remote; skip push step.
|
|
256
|
+
* null -- cannot determine; fall through to full sync.
|
|
257
|
+
*
|
|
258
|
+
* Any error falls through to full sync (returns null) so this never
|
|
259
|
+
* introduces new failure modes.
|
|
260
|
+
*/
|
|
261
|
+
function tryFastPath(dry, say, self, dirty) {
|
|
262
|
+
try {
|
|
263
|
+
say('Fetching from origin...');
|
|
264
|
+
if (!dry) {
|
|
265
|
+
execSync('git fetch origin', { stdio: 'inherit' });
|
|
266
|
+
}
|
|
267
|
+
// Read local and upstream SHAs.
|
|
268
|
+
const localSha = execSync('git rev-parse HEAD', {
|
|
269
|
+
encoding: 'utf-8',
|
|
270
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
271
|
+
}).trim();
|
|
272
|
+
let remoteSha;
|
|
273
|
+
try {
|
|
274
|
+
remoteSha = execSync('git rev-parse @{u}', {
|
|
275
|
+
encoding: 'utf-8',
|
|
276
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
277
|
+
}).trim();
|
|
278
|
+
}
|
|
279
|
+
catch {
|
|
280
|
+
// No upstream tracking ref configured -- cannot fast-path.
|
|
281
|
+
say('No upstream tracking ref; falling through to full sync.');
|
|
282
|
+
return null;
|
|
283
|
+
}
|
|
284
|
+
// SKIP: identical SHAs.
|
|
285
|
+
if (localSha === remoteSha) {
|
|
286
|
+
if (dirty) {
|
|
287
|
+
say('Already up to date (working tree has uncommitted changes, nothing to sync).');
|
|
288
|
+
}
|
|
289
|
+
else {
|
|
290
|
+
say('Already up to date.');
|
|
291
|
+
}
|
|
292
|
+
reportActivity({
|
|
293
|
+
user: self.uid,
|
|
294
|
+
host: self.host,
|
|
295
|
+
action: 'sync-skip',
|
|
296
|
+
});
|
|
297
|
+
return 'skip';
|
|
298
|
+
}
|
|
299
|
+
if (dry) {
|
|
300
|
+
// In dry-run we cannot reliably run merge-base checks after a
|
|
301
|
+
// skipped fetch, but we can still show the SHA mismatch.
|
|
302
|
+
say(`Local HEAD ${localSha.slice(0, 8)} differs from upstream ${remoteSha.slice(0, 8)}.`);
|
|
303
|
+
// Fall through so the full dry-run plan is printed.
|
|
304
|
+
return null;
|
|
305
|
+
}
|
|
306
|
+
// PULL-ONLY: local is ancestor of remote (remote has new commits, local doesn't).
|
|
307
|
+
try {
|
|
308
|
+
execSync('git merge-base --is-ancestor HEAD @{u}', {
|
|
309
|
+
stdio: ['ignore', 'ignore', 'ignore'],
|
|
310
|
+
});
|
|
311
|
+
// Local is ancestor of remote -- only need to pull.
|
|
312
|
+
say('Local is behind upstream; skipping push.');
|
|
313
|
+
reportActivity({
|
|
314
|
+
user: self.uid,
|
|
315
|
+
host: self.host,
|
|
316
|
+
action: 'sync-pull-only',
|
|
317
|
+
});
|
|
318
|
+
return 'pull-only';
|
|
319
|
+
}
|
|
320
|
+
catch {
|
|
321
|
+
// Not an ancestor -- check the other direction.
|
|
322
|
+
}
|
|
323
|
+
// PUSH-ONLY: remote is ancestor of local (local has new commits, remote doesn't).
|
|
324
|
+
try {
|
|
325
|
+
execSync('git merge-base --is-ancestor @{u} HEAD', {
|
|
326
|
+
stdio: ['ignore', 'ignore', 'ignore'],
|
|
327
|
+
});
|
|
328
|
+
// Remote is ancestor of local -- only need to push.
|
|
329
|
+
say('Upstream is behind local; skipping pull.');
|
|
330
|
+
reportActivity({
|
|
331
|
+
user: self.uid,
|
|
332
|
+
host: self.host,
|
|
333
|
+
action: 'sync-push-only',
|
|
334
|
+
});
|
|
335
|
+
return 'push-only';
|
|
336
|
+
}
|
|
337
|
+
catch {
|
|
338
|
+
// Diverged -- need full sync.
|
|
339
|
+
}
|
|
340
|
+
// Diverged history -- full sync needed.
|
|
341
|
+
say('Local and upstream have diverged; running full sync.');
|
|
342
|
+
return null;
|
|
343
|
+
}
|
|
344
|
+
catch (err) {
|
|
345
|
+
// Any unexpected error: log and fall through to full sync.
|
|
346
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
347
|
+
console.error(`Warning: fast-path detection failed (${msg}); running full sync.`);
|
|
348
|
+
return null;
|
|
349
|
+
}
|
|
350
|
+
}
|
|
155
351
|
// ---------------------------------------------------------------------------
|
|
156
352
|
// sync
|
|
157
353
|
// ---------------------------------------------------------------------------
|
|
@@ -168,9 +364,13 @@ function pad(s, width) {
|
|
|
168
364
|
* 5 — detached HEAD
|
|
169
365
|
*/
|
|
170
366
|
function runSync(opts) {
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
367
|
+
let self;
|
|
368
|
+
try {
|
|
369
|
+
self = requireTeamMode();
|
|
370
|
+
}
|
|
371
|
+
catch (err) {
|
|
372
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
373
|
+
console.error(`Error: ${msg}`);
|
|
174
374
|
process.exit(1);
|
|
175
375
|
return;
|
|
176
376
|
}
|
|
@@ -202,6 +402,51 @@ function runSync(opts) {
|
|
|
202
402
|
process.exit(2);
|
|
203
403
|
return;
|
|
204
404
|
}
|
|
405
|
+
// Fast path: fetch + SHA comparison to skip unnecessary steps.
|
|
406
|
+
const fastPath = tryFastPath(dry, say, self, dirty);
|
|
407
|
+
if (fastPath === 'skip') {
|
|
408
|
+
return;
|
|
409
|
+
}
|
|
410
|
+
if (fastPath === 'push-only') {
|
|
411
|
+
// Skip stash/pull, jump straight to push.
|
|
412
|
+
say('Pushing...');
|
|
413
|
+
if (!dry) {
|
|
414
|
+
const tryPush = () => {
|
|
415
|
+
try {
|
|
416
|
+
execSync('git push', { stdio: 'inherit' });
|
|
417
|
+
return true;
|
|
418
|
+
}
|
|
419
|
+
catch {
|
|
420
|
+
return false;
|
|
421
|
+
}
|
|
422
|
+
};
|
|
423
|
+
if (!tryPush()) {
|
|
424
|
+
console.error('Push rejected. Falling through to full sync...');
|
|
425
|
+
// Fall through below to full sync cycle.
|
|
426
|
+
}
|
|
427
|
+
else {
|
|
428
|
+
// Rotation check.
|
|
429
|
+
const archivePath = rotateIfNeeded(10 * 1024 * 1024);
|
|
430
|
+
if (archivePath) {
|
|
431
|
+
console.log(`Rotated activity.jsonl -> ${archivePath}`);
|
|
432
|
+
}
|
|
433
|
+
console.log('Sync complete (push-only fast path).');
|
|
434
|
+
return;
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
else {
|
|
438
|
+
say('Would check activity.jsonl rotation (10 MB threshold).');
|
|
439
|
+
console.log('[dry-run] Sync plan complete (push-only fast path).');
|
|
440
|
+
return;
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
if (fastPath === 'pull-only') {
|
|
444
|
+
// No local-only commits; skip push after pull.
|
|
445
|
+
// Still need stash/pull/pop, but can skip push.
|
|
446
|
+
// Fall through to full sync but mark that push can be skipped.
|
|
447
|
+
}
|
|
448
|
+
// Track whether push should be skipped (pull-only fast path).
|
|
449
|
+
const skipPush = fastPath === 'pull-only';
|
|
205
450
|
let stashed = false;
|
|
206
451
|
// Step 1: stash if dirty.
|
|
207
452
|
if (dirty) {
|
|
@@ -245,47 +490,53 @@ function runSync(opts) {
|
|
|
245
490
|
}
|
|
246
491
|
}
|
|
247
492
|
// Step 3: push (with one retry on non-fast-forward).
|
|
248
|
-
|
|
249
|
-
if (
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
if (!tryPush()) {
|
|
260
|
-
console.error('Push rejected. Retrying pull --rebase + push once...');
|
|
261
|
-
try {
|
|
262
|
-
execSync('git pull --rebase origin HEAD', { stdio: 'inherit' });
|
|
263
|
-
}
|
|
264
|
-
catch {
|
|
265
|
-
console.error('Error: retry rebase failed.');
|
|
266
|
-
if (stashed) {
|
|
267
|
-
try {
|
|
268
|
-
execSync('git stash pop', { stdio: 'inherit' });
|
|
269
|
-
}
|
|
270
|
-
catch {
|
|
271
|
-
// Best-effort.
|
|
272
|
-
}
|
|
493
|
+
// Skipped when pull-only fast path detected (local has no unique commits).
|
|
494
|
+
if (skipPush) {
|
|
495
|
+
say('Push skipped (pull-only fast path -- no local-only commits).');
|
|
496
|
+
}
|
|
497
|
+
else {
|
|
498
|
+
say('Pushing...');
|
|
499
|
+
if (!dry) {
|
|
500
|
+
const tryPush = () => {
|
|
501
|
+
try {
|
|
502
|
+
execSync('git push', { stdio: 'inherit' });
|
|
503
|
+
return true;
|
|
273
504
|
}
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
505
|
+
catch {
|
|
506
|
+
return false;
|
|
507
|
+
}
|
|
508
|
+
};
|
|
277
509
|
if (!tryPush()) {
|
|
278
|
-
console.error('
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
510
|
+
console.error('Push rejected. Retrying pull --rebase + push once...');
|
|
511
|
+
try {
|
|
512
|
+
execSync('git pull --rebase origin HEAD', { stdio: 'inherit' });
|
|
513
|
+
}
|
|
514
|
+
catch {
|
|
515
|
+
console.error('Error: retry rebase failed.');
|
|
516
|
+
if (stashed) {
|
|
517
|
+
try {
|
|
518
|
+
execSync('git stash pop', { stdio: 'inherit' });
|
|
519
|
+
}
|
|
520
|
+
catch {
|
|
521
|
+
// Best-effort.
|
|
522
|
+
}
|
|
282
523
|
}
|
|
283
|
-
|
|
284
|
-
|
|
524
|
+
process.exit(3);
|
|
525
|
+
return;
|
|
526
|
+
}
|
|
527
|
+
if (!tryPush()) {
|
|
528
|
+
console.error('Error: push still rejected after retry.');
|
|
529
|
+
if (stashed) {
|
|
530
|
+
try {
|
|
531
|
+
execSync('git stash pop', { stdio: 'inherit' });
|
|
532
|
+
}
|
|
533
|
+
catch {
|
|
534
|
+
// Best-effort.
|
|
535
|
+
}
|
|
285
536
|
}
|
|
537
|
+
process.exit(3);
|
|
538
|
+
return;
|
|
286
539
|
}
|
|
287
|
-
process.exit(3);
|
|
288
|
-
return;
|
|
289
540
|
}
|
|
290
541
|
}
|
|
291
542
|
}
|
|
@@ -310,13 +561,33 @@ function runSync(opts) {
|
|
|
310
561
|
if (!dry) {
|
|
311
562
|
const archivePath = rotateIfNeeded(10 * 1024 * 1024);
|
|
312
563
|
if (archivePath) {
|
|
313
|
-
console.log(`Rotated activity.jsonl
|
|
564
|
+
console.log(`Rotated activity.jsonl -> ${archivePath}`);
|
|
314
565
|
}
|
|
315
566
|
}
|
|
316
567
|
else {
|
|
317
568
|
say('Would check activity.jsonl rotation (10 MB threshold).');
|
|
318
569
|
}
|
|
319
|
-
|
|
570
|
+
// Step 6: post-sync overlay import (when --with-overlays is set).
|
|
571
|
+
if (opts.withOverlays) {
|
|
572
|
+
say('Importing team overlay bundles...');
|
|
573
|
+
if (!dry) {
|
|
574
|
+
const result = syncOverlays(getProjectRoot(), self.uid);
|
|
575
|
+
if (result.imported > 0) {
|
|
576
|
+
console.log(`Imported ${result.imported} overlay bundle(s) from teammates.`);
|
|
577
|
+
}
|
|
578
|
+
if (result.skipped > 0) {
|
|
579
|
+
console.log(`Skipped ${result.skipped} overlay bundle(s) (own/unchanged/invalid).`);
|
|
580
|
+
}
|
|
581
|
+
if (result.imported === 0 && result.skipped === 0) {
|
|
582
|
+
console.log('No team overlay bundles found.');
|
|
583
|
+
}
|
|
584
|
+
}
|
|
585
|
+
else {
|
|
586
|
+
say('Would scan .workflow/collab/overlays/ for team bundles.');
|
|
587
|
+
}
|
|
588
|
+
}
|
|
589
|
+
const suffix = skipPush ? ' (pull-only fast path)' : '';
|
|
590
|
+
console.log(dry ? `[dry-run] Sync plan complete${suffix}.` : `Sync complete${suffix}.`);
|
|
320
591
|
}
|
|
321
592
|
// ---------------------------------------------------------------------------
|
|
322
593
|
// preflight
|
|
@@ -459,6 +730,7 @@ export function registerTeamCommand(program) {
|
|
|
459
730
|
.command('sync')
|
|
460
731
|
.description('Sync with remote: git stash/pull --rebase/pop/push + log rotation')
|
|
461
732
|
.option('--dry-run', 'Print the plan without executing any git command')
|
|
733
|
+
.option('--with-overlays', 'Import team overlay bundles after sync')
|
|
462
734
|
.action((opts) => runSync(opts));
|
|
463
735
|
team
|
|
464
736
|
.command('preflight')
|
|
@@ -467,5 +739,127 @@ export function registerTeamCommand(program) {
|
|
|
467
739
|
.option('--force', 'Print warnings but exit 0')
|
|
468
740
|
.option('--json', 'Output conflicts as JSON')
|
|
469
741
|
.action((opts) => runPreflightCli(opts));
|
|
742
|
+
team
|
|
743
|
+
.command('guard')
|
|
744
|
+
.description('Show namespace boundaries for the current team member')
|
|
745
|
+
.action(() => runGuard());
|
|
746
|
+
// spec subcommand group
|
|
747
|
+
const spec = team
|
|
748
|
+
.command('spec')
|
|
749
|
+
.description('Manage personal spec overrides');
|
|
750
|
+
spec
|
|
751
|
+
.command('list')
|
|
752
|
+
.description('List personal spec files')
|
|
753
|
+
.action(() => runSpecList());
|
|
754
|
+
spec
|
|
755
|
+
.command('edit')
|
|
756
|
+
.description('Create or edit a personal spec file')
|
|
757
|
+
.argument('<filename>', 'Spec filename (e.g. coding-conventions or coding-conventions.md)')
|
|
758
|
+
.action((filename) => runSpecEdit(filename));
|
|
759
|
+
}
|
|
760
|
+
// ---------------------------------------------------------------------------
|
|
761
|
+
// guard
|
|
762
|
+
// ---------------------------------------------------------------------------
|
|
763
|
+
function runGuard() {
|
|
764
|
+
const self = resolveSelf();
|
|
765
|
+
if (!self) {
|
|
766
|
+
console.error("Team mode not enabled. Run 'maestro team join' first.");
|
|
767
|
+
process.exit(1);
|
|
768
|
+
return;
|
|
769
|
+
}
|
|
770
|
+
const root = getProjectRoot();
|
|
771
|
+
const boundaries = getNamespaceBoundaries(self.uid, root);
|
|
772
|
+
console.log(`Namespace boundaries for ${self.uid}:`);
|
|
773
|
+
console.log('');
|
|
774
|
+
console.log('Writable paths (own namespace):');
|
|
775
|
+
for (const b of boundaries.filter((p) => !p.includes('activity.jsonl') && !p.endsWith('manifest.json'))) {
|
|
776
|
+
console.log(` ${b}`);
|
|
777
|
+
}
|
|
778
|
+
console.log('');
|
|
779
|
+
console.log('Shared writable paths:');
|
|
780
|
+
for (const b of boundaries.filter((p) => p.includes('activity.jsonl') || p.endsWith('manifest.json'))) {
|
|
781
|
+
console.log(` ${b}`);
|
|
782
|
+
}
|
|
783
|
+
console.log('');
|
|
784
|
+
console.log('Mode: advisory (warnings only, non-blocking)');
|
|
785
|
+
}
|
|
786
|
+
// ---------------------------------------------------------------------------
|
|
787
|
+
// spec list / spec edit
|
|
788
|
+
// ---------------------------------------------------------------------------
|
|
789
|
+
function runSpecList() {
|
|
790
|
+
const self = resolveSelf();
|
|
791
|
+
if (!self) {
|
|
792
|
+
console.error("Team mode not enabled. Run 'maestro team join' first.");
|
|
793
|
+
process.exit(1);
|
|
794
|
+
return;
|
|
795
|
+
}
|
|
796
|
+
const root = getProjectRoot();
|
|
797
|
+
const personalDir = join(root, TEAM_SPECS_DIR, self.uid);
|
|
798
|
+
if (!existsSync(personalDir)) {
|
|
799
|
+
console.log(`No personal specs found for ${self.uid}.`);
|
|
800
|
+
console.log(`Directory: ${personalDir}`);
|
|
801
|
+
console.log(`Run 'maestro team spec edit <filename>' to create one.`);
|
|
802
|
+
return;
|
|
803
|
+
}
|
|
804
|
+
let files;
|
|
805
|
+
try {
|
|
806
|
+
files = readdirSync(personalDir).filter(f => f.endsWith('.md'));
|
|
807
|
+
}
|
|
808
|
+
catch {
|
|
809
|
+
console.error(`Error: could not read ${personalDir}`);
|
|
810
|
+
process.exit(1);
|
|
811
|
+
return;
|
|
812
|
+
}
|
|
813
|
+
if (files.length === 0) {
|
|
814
|
+
console.log(`No personal spec files in ${personalDir}`);
|
|
815
|
+
return;
|
|
816
|
+
}
|
|
817
|
+
console.log(`Personal specs for ${self.uid} (${files.length} files):`);
|
|
818
|
+
console.log('');
|
|
819
|
+
for (const file of files.sort()) {
|
|
820
|
+
const cats = CATEGORY_MAP[file];
|
|
821
|
+
const catLabel = cats ? cats.join(', ') : 'general';
|
|
822
|
+
console.log(` ${file} (${catLabel})`);
|
|
823
|
+
}
|
|
824
|
+
}
|
|
825
|
+
function runSpecEdit(filename) {
|
|
826
|
+
const self = resolveSelf();
|
|
827
|
+
if (!self) {
|
|
828
|
+
console.error("Team mode not enabled. Run 'maestro team join' first.");
|
|
829
|
+
process.exit(1);
|
|
830
|
+
return;
|
|
831
|
+
}
|
|
832
|
+
// Ensure .md extension
|
|
833
|
+
const specFile = filename.endsWith('.md') ? filename : `${filename}.md`;
|
|
834
|
+
const root = getProjectRoot();
|
|
835
|
+
const personalDir = join(root, TEAM_SPECS_DIR, self.uid);
|
|
836
|
+
const filePath = join(personalDir, specFile);
|
|
837
|
+
// Create directory if needed
|
|
838
|
+
if (!existsSync(personalDir)) {
|
|
839
|
+
mkdirSync(personalDir, { recursive: true });
|
|
840
|
+
}
|
|
841
|
+
// Create file with template if it does not exist
|
|
842
|
+
if (!existsSync(filePath)) {
|
|
843
|
+
const cats = CATEGORY_MAP[specFile];
|
|
844
|
+
const catComment = cats ? cats.join(', ') : 'general';
|
|
845
|
+
writeFileSync(filePath, `# ${specFile.replace('.md', '')}\n\n<!-- categories: ${catComment} -->\n\n`, 'utf-8');
|
|
846
|
+
console.log(`Created: ${filePath}`);
|
|
847
|
+
}
|
|
848
|
+
else {
|
|
849
|
+
console.log(`Exists: ${filePath}`);
|
|
850
|
+
}
|
|
851
|
+
// Try to open with $EDITOR
|
|
852
|
+
const editor = process.env.EDITOR || process.env.VISUAL;
|
|
853
|
+
if (editor) {
|
|
854
|
+
try {
|
|
855
|
+
execSync(`${editor} "${filePath}"`, { stdio: 'inherit' });
|
|
856
|
+
}
|
|
857
|
+
catch {
|
|
858
|
+
console.log(`Open with your editor: ${filePath}`);
|
|
859
|
+
}
|
|
860
|
+
}
|
|
861
|
+
else {
|
|
862
|
+
console.log(`No $EDITOR set. Edit manually: ${filePath}`);
|
|
863
|
+
}
|
|
470
864
|
}
|
|
471
865
|
//# sourceMappingURL=team.js.map
|