oh-my-codex 0.15.2 → 0.16.0
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/Cargo.lock +10 -7
- package/Cargo.toml +1 -1
- package/README.md +3 -0
- package/crates/omx-explore/Cargo.toml +3 -0
- package/crates/omx-explore/src/main.rs +517 -16
- package/dist/agents/__tests__/native-config.test.js +33 -0
- package/dist/agents/__tests__/native-config.test.js.map +1 -1
- package/dist/autoresearch/goal.d.ts +90 -0
- package/dist/autoresearch/goal.d.ts.map +1 -0
- package/dist/autoresearch/goal.js +237 -0
- package/dist/autoresearch/goal.js.map +1 -0
- package/dist/autoresearch/skill-validation.d.ts +1 -0
- package/dist/autoresearch/skill-validation.d.ts.map +1 -1
- package/dist/autoresearch/skill-validation.js +10 -3
- package/dist/autoresearch/skill-validation.js.map +1 -1
- package/dist/catalog/__tests__/generator.test.js +9 -4
- package/dist/catalog/__tests__/generator.test.js.map +1 -1
- package/dist/catalog/__tests__/plugin-bundle-ssot.test.js +29 -2
- package/dist/catalog/__tests__/plugin-bundle-ssot.test.js.map +1 -1
- package/dist/catalog/__tests__/schema.test.js +14 -3
- package/dist/catalog/__tests__/schema.test.js.map +1 -1
- package/dist/catalog/schema.js +1 -1
- package/dist/catalog/schema.js.map +1 -1
- package/dist/cli/__tests__/autoresearch-goal.test.d.ts +2 -0
- package/dist/cli/__tests__/autoresearch-goal.test.d.ts.map +1 -0
- package/dist/cli/__tests__/autoresearch-goal.test.js +194 -0
- package/dist/cli/__tests__/autoresearch-goal.test.js.map +1 -0
- package/dist/cli/__tests__/cleanup.test.js +82 -1
- package/dist/cli/__tests__/cleanup.test.js.map +1 -1
- package/dist/cli/__tests__/codex-plugin-layout.test.js +7 -4
- package/dist/cli/__tests__/codex-plugin-layout.test.js.map +1 -1
- package/dist/cli/__tests__/doctor-context-window-warning.test.d.ts +2 -0
- package/dist/cli/__tests__/doctor-context-window-warning.test.d.ts.map +1 -0
- package/dist/cli/__tests__/doctor-context-window-warning.test.js +122 -0
- package/dist/cli/__tests__/doctor-context-window-warning.test.js.map +1 -0
- package/dist/cli/__tests__/doctor-warning-copy.test.js +25 -2
- package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
- package/dist/cli/__tests__/exec.test.js +1 -0
- package/dist/cli/__tests__/exec.test.js.map +1 -1
- package/dist/cli/__tests__/explore.test.js +48 -18
- package/dist/cli/__tests__/explore.test.js.map +1 -1
- package/dist/cli/__tests__/index.test.js +222 -10
- package/dist/cli/__tests__/index.test.js.map +1 -1
- package/dist/cli/__tests__/launch-fallback.test.js +58 -0
- package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
- package/dist/cli/__tests__/mcp-serve.test.js +27 -1
- package/dist/cli/__tests__/mcp-serve.test.js.map +1 -1
- package/dist/cli/__tests__/native-assets.test.js +26 -1
- package/dist/cli/__tests__/native-assets.test.js.map +1 -1
- package/dist/cli/__tests__/package-bin-contract.test.js +2 -2
- package/dist/cli/__tests__/package-bin-contract.test.js.map +1 -1
- package/dist/cli/__tests__/performance-goal.test.d.ts +2 -0
- package/dist/cli/__tests__/performance-goal.test.d.ts.map +1 -0
- package/dist/cli/__tests__/performance-goal.test.js +144 -0
- package/dist/cli/__tests__/performance-goal.test.js.map +1 -0
- package/dist/cli/__tests__/question.test.js +8 -0
- package/dist/cli/__tests__/question.test.js.map +1 -1
- package/dist/cli/__tests__/ralph-goal-mode-contract.test.d.ts +2 -0
- package/dist/cli/__tests__/ralph-goal-mode-contract.test.d.ts.map +1 -0
- package/dist/cli/__tests__/ralph-goal-mode-contract.test.js +31 -0
- package/dist/cli/__tests__/ralph-goal-mode-contract.test.js.map +1 -0
- package/dist/cli/__tests__/ralph-prd-deep-interview.test.js +5 -4
- package/dist/cli/__tests__/ralph-prd-deep-interview.test.js.map +1 -1
- package/dist/cli/__tests__/ralph-prd-smoke.test.js +7 -0
- package/dist/cli/__tests__/ralph-prd-smoke.test.js.map +1 -1
- package/dist/cli/__tests__/ralph.test.js +59 -1
- package/dist/cli/__tests__/ralph.test.js.map +1 -1
- package/dist/cli/__tests__/setup-install-mode.test.js +57 -21
- package/dist/cli/__tests__/setup-install-mode.test.js.map +1 -1
- package/dist/cli/__tests__/setup-refresh.test.js +27 -8
- package/dist/cli/__tests__/setup-refresh.test.js.map +1 -1
- package/dist/cli/__tests__/setup-scope.test.js +20 -10
- package/dist/cli/__tests__/setup-scope.test.js.map +1 -1
- package/dist/cli/__tests__/setup-skill-validation.test.js +11 -11
- package/dist/cli/__tests__/setup-skill-validation.test.js.map +1 -1
- package/dist/cli/__tests__/setup-skills-overwrite.test.js +12 -12
- package/dist/cli/__tests__/setup-skills-overwrite.test.js.map +1 -1
- package/dist/cli/__tests__/team.test.js +242 -10
- package/dist/cli/__tests__/team.test.js.map +1 -1
- package/dist/cli/__tests__/ultragoal.test.d.ts +2 -0
- package/dist/cli/__tests__/ultragoal.test.d.ts.map +1 -0
- package/dist/cli/__tests__/ultragoal.test.js +106 -0
- package/dist/cli/__tests__/ultragoal.test.js.map +1 -0
- package/dist/cli/__tests__/uninstall.test.js +11 -0
- package/dist/cli/__tests__/uninstall.test.js.map +1 -1
- package/dist/cli/autoresearch-goal.d.ts +3 -0
- package/dist/cli/autoresearch-goal.d.ts.map +1 -0
- package/dist/cli/autoresearch-goal.js +175 -0
- package/dist/cli/autoresearch-goal.js.map +1 -0
- package/dist/cli/cleanup.d.ts +3 -1
- package/dist/cli/cleanup.d.ts.map +1 -1
- package/dist/cli/cleanup.js +42 -2
- package/dist/cli/cleanup.js.map +1 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +95 -3
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/explore.d.ts.map +1 -1
- package/dist/cli/explore.js +10 -2
- package/dist/cli/explore.js.map +1 -1
- package/dist/cli/index.d.ts +21 -2
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +268 -30
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/mcp-serve.d.ts +1 -0
- package/dist/cli/mcp-serve.d.ts.map +1 -1
- package/dist/cli/mcp-serve.js +8 -0
- package/dist/cli/mcp-serve.js.map +1 -1
- package/dist/cli/native-assets.js +1 -1
- package/dist/cli/native-assets.js.map +1 -1
- package/dist/cli/performance-goal.d.ts +3 -0
- package/dist/cli/performance-goal.d.ts.map +1 -0
- package/dist/cli/performance-goal.js +186 -0
- package/dist/cli/performance-goal.js.map +1 -0
- package/dist/cli/ralph.d.ts +2 -0
- package/dist/cli/ralph.d.ts.map +1 -1
- package/dist/cli/ralph.js +25 -1
- package/dist/cli/ralph.js.map +1 -1
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +13 -6
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/team.d.ts +6 -0
- package/dist/cli/team.d.ts.map +1 -1
- package/dist/cli/team.js +113 -33
- package/dist/cli/team.js.map +1 -1
- package/dist/cli/tmux-hook.d.ts.map +1 -1
- package/dist/cli/tmux-hook.js +2 -1
- package/dist/cli/tmux-hook.js.map +1 -1
- package/dist/cli/ultragoal.d.ts +3 -0
- package/dist/cli/ultragoal.d.ts.map +1 -0
- package/dist/cli/ultragoal.js +191 -0
- package/dist/cli/ultragoal.js.map +1 -0
- package/dist/cli/uninstall.d.ts.map +1 -1
- package/dist/cli/uninstall.js +4 -2
- package/dist/cli/uninstall.js.map +1 -1
- package/dist/config/__tests__/generator-idempotent.test.js +39 -6
- package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
- package/dist/config/__tests__/generator-notify.test.js +5 -0
- package/dist/config/__tests__/generator-notify.test.js.map +1 -1
- package/dist/config/commit-lore-guard.d.ts +3 -0
- package/dist/config/commit-lore-guard.d.ts.map +1 -0
- package/dist/config/commit-lore-guard.js +9 -0
- package/dist/config/commit-lore-guard.js.map +1 -0
- package/dist/config/generator.d.ts +14 -4
- package/dist/config/generator.d.ts.map +1 -1
- package/dist/config/generator.js +166 -66
- package/dist/config/generator.js.map +1 -1
- package/dist/config/omx-first-party-mcp.d.ts +1 -0
- package/dist/config/omx-first-party-mcp.d.ts.map +1 -1
- package/dist/config/omx-first-party-mcp.js +4 -1
- package/dist/config/omx-first-party-mcp.js.map +1 -1
- package/dist/goal-workflows/__tests__/artifacts.test.d.ts +2 -0
- package/dist/goal-workflows/__tests__/artifacts.test.d.ts.map +1 -0
- package/dist/goal-workflows/__tests__/artifacts.test.js +96 -0
- package/dist/goal-workflows/__tests__/artifacts.test.js.map +1 -0
- package/dist/goal-workflows/__tests__/codex-goal-snapshot.test.d.ts +2 -0
- package/dist/goal-workflows/__tests__/codex-goal-snapshot.test.d.ts.map +1 -0
- package/dist/goal-workflows/__tests__/codex-goal-snapshot.test.js +54 -0
- package/dist/goal-workflows/__tests__/codex-goal-snapshot.test.js.map +1 -0
- package/dist/goal-workflows/artifacts.d.ts +62 -0
- package/dist/goal-workflows/artifacts.d.ts.map +1 -0
- package/dist/goal-workflows/artifacts.js +132 -0
- package/dist/goal-workflows/artifacts.js.map +1 -0
- package/dist/goal-workflows/codex-goal-snapshot.d.ts +28 -0
- package/dist/goal-workflows/codex-goal-snapshot.d.ts.map +1 -0
- package/dist/goal-workflows/codex-goal-snapshot.js +110 -0
- package/dist/goal-workflows/codex-goal-snapshot.js.map +1 -0
- package/dist/goal-workflows/handoff.d.ts +10 -0
- package/dist/goal-workflows/handoff.d.ts.map +1 -0
- package/dist/goal-workflows/handoff.js +31 -0
- package/dist/goal-workflows/handoff.js.map +1 -0
- package/dist/goal-workflows/validation.d.ts +13 -0
- package/dist/goal-workflows/validation.d.ts.map +1 -0
- package/dist/goal-workflows/validation.js +36 -0
- package/dist/goal-workflows/validation.js.map +1 -0
- package/dist/hooks/__tests__/agents-overlay.test.js +59 -0
- package/dist/hooks/__tests__/agents-overlay.test.js.map +1 -1
- package/dist/hooks/__tests__/anti-slop-workflow.test.js +109 -18
- package/dist/hooks/__tests__/anti-slop-workflow.test.js.map +1 -1
- package/dist/hooks/__tests__/keyword-detector.test.js +45 -32
- package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-fallback-watcher.test.js +3 -3
- package/dist/hooks/__tests__/notify-fallback-watcher.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js +2 -1
- package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js +17 -24
- package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js.map +1 -1
- package/dist/hooks/__tests__/prompt-guidance-wave-two.test.js +3 -3
- package/dist/hooks/__tests__/prompt-guidance-wave-two.test.js.map +1 -1
- package/dist/hooks/__tests__/task-size-detector.test.js +1 -1
- package/dist/hooks/__tests__/task-size-detector.test.js.map +1 -1
- package/dist/hooks/__tests__/visual-ralph-skill.test.js +3 -3
- package/dist/hooks/__tests__/visual-ralph-skill.test.js.map +1 -1
- package/dist/hooks/__tests__/visual-verdict-loop.test.js +7 -11
- package/dist/hooks/__tests__/visual-verdict-loop.test.js.map +1 -1
- package/dist/hooks/agents-overlay.d.ts.map +1 -1
- package/dist/hooks/agents-overlay.js +23 -2
- package/dist/hooks/agents-overlay.js.map +1 -1
- package/dist/hooks/keyword-detector.d.ts.map +1 -1
- package/dist/hooks/keyword-detector.js +12 -13
- package/dist/hooks/keyword-detector.js.map +1 -1
- package/dist/hooks/keyword-registry.d.ts.map +1 -1
- package/dist/hooks/keyword-registry.js +2 -10
- package/dist/hooks/keyword-registry.js.map +1 -1
- package/dist/hooks/prompt-guidance-contract.d.ts.map +1 -1
- package/dist/hooks/prompt-guidance-contract.js +0 -4
- package/dist/hooks/prompt-guidance-contract.js.map +1 -1
- package/dist/hooks/session.js +2 -2
- package/dist/hooks/session.js.map +1 -1
- package/dist/hooks/task-size-detector.d.ts.map +1 -1
- package/dist/hooks/task-size-detector.js +1 -0
- package/dist/hooks/task-size-detector.js.map +1 -1
- package/dist/hud/__tests__/index.test.js +30 -14
- package/dist/hud/__tests__/index.test.js.map +1 -1
- package/dist/hud/__tests__/reconcile.test.js +29 -7
- package/dist/hud/__tests__/reconcile.test.js.map +1 -1
- package/dist/hud/reconcile.d.ts +2 -1
- package/dist/hud/reconcile.d.ts.map +1 -1
- package/dist/hud/reconcile.js +12 -0
- package/dist/hud/reconcile.js.map +1 -1
- package/dist/mcp/__tests__/bootstrap.test.js +15 -2
- package/dist/mcp/__tests__/bootstrap.test.js.map +1 -1
- package/dist/mcp/__tests__/state-paths.test.js +54 -0
- package/dist/mcp/__tests__/state-paths.test.js.map +1 -1
- package/dist/mcp/__tests__/state-server.test.js +36 -0
- package/dist/mcp/__tests__/state-server.test.js.map +1 -1
- package/dist/mcp/bootstrap.d.ts +1 -1
- package/dist/mcp/bootstrap.d.ts.map +1 -1
- package/dist/mcp/bootstrap.js +9 -7
- package/dist/mcp/bootstrap.js.map +1 -1
- package/dist/mcp/state-paths.d.ts +17 -0
- package/dist/mcp/state-paths.d.ts.map +1 -1
- package/dist/mcp/state-paths.js +36 -2
- package/dist/mcp/state-paths.js.map +1 -1
- package/dist/modes/__tests__/base-session-scope.test.js +26 -0
- package/dist/modes/__tests__/base-session-scope.test.js.map +1 -1
- package/dist/modes/base.d.ts +1 -0
- package/dist/modes/base.d.ts.map +1 -1
- package/dist/modes/base.js +35 -5
- package/dist/modes/base.js.map +1 -1
- package/dist/notifications/__tests__/http-client.test.d.ts +2 -0
- package/dist/notifications/__tests__/http-client.test.d.ts.map +1 -0
- package/dist/notifications/__tests__/http-client.test.js +90 -0
- package/dist/notifications/__tests__/http-client.test.js.map +1 -0
- package/dist/notifications/__tests__/notifier.test.js +22 -60
- package/dist/notifications/__tests__/notifier.test.js.map +1 -1
- package/dist/notifications/dispatcher.d.ts.map +1 -1
- package/dist/notifications/dispatcher.js +35 -60
- package/dist/notifications/dispatcher.js.map +1 -1
- package/dist/notifications/http-client.d.ts +22 -0
- package/dist/notifications/http-client.d.ts.map +1 -0
- package/dist/notifications/http-client.js +298 -0
- package/dist/notifications/http-client.js.map +1 -0
- package/dist/notifications/notifier.d.ts +3 -2
- package/dist/notifications/notifier.d.ts.map +1 -1
- package/dist/notifications/notifier.js +17 -22
- package/dist/notifications/notifier.js.map +1 -1
- package/dist/openclaw/__tests__/dispatcher.test.js +63 -2
- package/dist/openclaw/__tests__/dispatcher.test.js.map +1 -1
- package/dist/openclaw/dispatcher.d.ts.map +1 -1
- package/dist/openclaw/dispatcher.js +3 -2
- package/dist/openclaw/dispatcher.js.map +1 -1
- package/dist/performance-goal/artifacts.d.ts +76 -0
- package/dist/performance-goal/artifacts.d.ts.map +1 -0
- package/dist/performance-goal/artifacts.js +221 -0
- package/dist/performance-goal/artifacts.js.map +1 -0
- package/dist/pipeline/__tests__/stages.test.js +423 -14
- package/dist/pipeline/__tests__/stages.test.js.map +1 -1
- package/dist/pipeline/stages/team-exec.d.ts +8 -4
- package/dist/pipeline/stages/team-exec.d.ts.map +1 -1
- package/dist/pipeline/stages/team-exec.js +181 -13
- package/dist/pipeline/stages/team-exec.js.map +1 -1
- package/dist/planning/__tests__/artifacts.test.js +261 -1
- package/dist/planning/__tests__/artifacts.test.js.map +1 -1
- package/dist/planning/artifact-names.d.ts +13 -0
- package/dist/planning/artifact-names.d.ts.map +1 -0
- package/dist/planning/artifact-names.js +108 -0
- package/dist/planning/artifact-names.js.map +1 -0
- package/dist/planning/artifacts.d.ts +23 -1
- package/dist/planning/artifacts.d.ts.map +1 -1
- package/dist/planning/artifacts.js +171 -59
- package/dist/planning/artifacts.js.map +1 -1
- package/dist/ralph/__tests__/persistence.test.js +21 -1
- package/dist/ralph/__tests__/persistence.test.js.map +1 -1
- package/dist/ralph/persistence.d.ts.map +1 -1
- package/dist/ralph/persistence.js +6 -4
- package/dist/ralph/persistence.js.map +1 -1
- package/dist/ralplan/__tests__/runtime.test.js +2 -0
- package/dist/ralplan/__tests__/runtime.test.js.map +1 -1
- package/dist/ralplan/runtime.d.ts.map +1 -1
- package/dist/ralplan/runtime.js +6 -0
- package/dist/ralplan/runtime.js.map +1 -1
- package/dist/scripts/__tests__/codex-native-hook.test.js +1749 -88
- package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
- package/dist/scripts/__tests__/hook-derived-watcher.test.js +33 -1
- package/dist/scripts/__tests__/hook-derived-watcher.test.js.map +1 -1
- package/dist/scripts/__tests__/run-test-files.test.js +36 -0
- package/dist/scripts/__tests__/run-test-files.test.js.map +1 -1
- package/dist/scripts/codex-native-hook.d.ts.map +1 -1
- package/dist/scripts/codex-native-hook.js +570 -45
- package/dist/scripts/codex-native-hook.js.map +1 -1
- package/dist/scripts/codex-native-pre-post.d.ts +7 -0
- package/dist/scripts/codex-native-pre-post.d.ts.map +1 -1
- package/dist/scripts/codex-native-pre-post.js +341 -15
- package/dist/scripts/codex-native-pre-post.js.map +1 -1
- package/dist/scripts/hook-derived-watcher.js +2 -1
- package/dist/scripts/hook-derived-watcher.js.map +1 -1
- package/dist/scripts/notify-fallback-watcher.js +2 -1
- package/dist/scripts/notify-fallback-watcher.js.map +1 -1
- package/dist/scripts/notify-hook/orchestration-intent.d.ts +1 -2
- package/dist/scripts/notify-hook/orchestration-intent.d.ts.map +1 -1
- package/dist/scripts/notify-hook/orchestration-intent.js +2 -3
- package/dist/scripts/notify-hook/orchestration-intent.js.map +1 -1
- package/dist/scripts/notify-hook/team-leader-nudge.d.ts +0 -2
- package/dist/scripts/notify-hook/team-leader-nudge.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-leader-nudge.js +8 -60
- package/dist/scripts/notify-hook/team-leader-nudge.js.map +1 -1
- package/dist/scripts/notify-hook/team-worker-posttooluse.js +1 -1
- package/dist/scripts/notify-hook/team-worker-posttooluse.js.map +1 -1
- package/dist/scripts/notify-hook/team-worker-stop.d.ts +15 -0
- package/dist/scripts/notify-hook/team-worker-stop.d.ts.map +1 -0
- package/dist/scripts/notify-hook/team-worker-stop.js +224 -0
- package/dist/scripts/notify-hook/team-worker-stop.js.map +1 -0
- package/dist/scripts/notify-hook/team-worker.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-worker.js +26 -18
- package/dist/scripts/notify-hook/team-worker.js.map +1 -1
- package/dist/scripts/notify-hook.js +1 -1
- package/dist/scripts/notify-hook.js.map +1 -1
- package/dist/scripts/run-test-files.js +17 -1
- package/dist/scripts/run-test-files.js.map +1 -1
- package/dist/scripts/sync-plugin-mirror.d.ts +1 -0
- package/dist/scripts/sync-plugin-mirror.d.ts.map +1 -1
- package/dist/scripts/sync-plugin-mirror.js +10 -4
- package/dist/scripts/sync-plugin-mirror.js.map +1 -1
- package/dist/state/__tests__/operations.test.js +26 -0
- package/dist/state/__tests__/operations.test.js.map +1 -1
- package/dist/state/__tests__/skill-active.test.js +76 -0
- package/dist/state/__tests__/skill-active.test.js.map +1 -1
- package/dist/state/operations.d.ts +3 -1
- package/dist/state/operations.d.ts.map +1 -1
- package/dist/state/operations.js +8 -4
- package/dist/state/operations.js.map +1 -1
- package/dist/state/skill-active.d.ts +1 -0
- package/dist/state/skill-active.d.ts.map +1 -1
- package/dist/state/skill-active.js +54 -13
- package/dist/state/skill-active.js.map +1 -1
- package/dist/team/__tests__/api-interop.test.js +279 -0
- package/dist/team/__tests__/api-interop.test.js.map +1 -1
- package/dist/team/__tests__/approved-execution.test.d.ts +2 -0
- package/dist/team/__tests__/approved-execution.test.d.ts.map +1 -0
- package/dist/team/__tests__/approved-execution.test.js +124 -0
- package/dist/team/__tests__/approved-execution.test.js.map +1 -0
- package/dist/team/__tests__/delivery-e2e-smoke.test.js +2 -4
- package/dist/team/__tests__/delivery-e2e-smoke.test.js.map +1 -1
- package/dist/team/__tests__/delivery-log.test.d.ts +2 -0
- package/dist/team/__tests__/delivery-log.test.d.ts.map +1 -0
- package/dist/team/__tests__/delivery-log.test.js +44 -0
- package/dist/team/__tests__/delivery-log.test.js.map +1 -0
- package/dist/team/__tests__/model-contract.test.js +40 -9
- package/dist/team/__tests__/model-contract.test.js.map +1 -1
- package/dist/team/__tests__/repo-aware-decomposition.test.js +41 -0
- package/dist/team/__tests__/repo-aware-decomposition.test.js.map +1 -1
- package/dist/team/__tests__/role-router.test.js +4 -4
- package/dist/team/__tests__/role-router.test.js.map +1 -1
- package/dist/team/__tests__/runtime-boxed-state.test.d.ts +2 -0
- package/dist/team/__tests__/runtime-boxed-state.test.d.ts.map +1 -0
- package/dist/team/__tests__/runtime-boxed-state.test.js +39 -0
- package/dist/team/__tests__/runtime-boxed-state.test.js.map +1 -0
- package/dist/team/__tests__/runtime-cli.test.js +24 -0
- package/dist/team/__tests__/runtime-cli.test.js.map +1 -1
- package/dist/team/__tests__/runtime.test.js +563 -72
- package/dist/team/__tests__/runtime.test.js.map +1 -1
- package/dist/team/__tests__/state-root.test.js +13 -0
- package/dist/team/__tests__/state-root.test.js.map +1 -1
- package/dist/team/__tests__/state.test.js +13 -0
- package/dist/team/__tests__/state.test.js.map +1 -1
- package/dist/team/__tests__/team-identity.test.d.ts +2 -0
- package/dist/team/__tests__/team-identity.test.d.ts.map +1 -0
- package/dist/team/__tests__/team-identity.test.js +166 -0
- package/dist/team/__tests__/team-identity.test.js.map +1 -0
- package/dist/team/__tests__/tmux-session.test.js +58 -1
- package/dist/team/__tests__/tmux-session.test.js.map +1 -1
- package/dist/team/__tests__/worker-bootstrap.test.js +62 -0
- package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
- package/dist/team/api-interop.d.ts +1 -0
- package/dist/team/api-interop.d.ts.map +1 -1
- package/dist/team/api-interop.js +163 -132
- package/dist/team/api-interop.js.map +1 -1
- package/dist/team/approved-execution.d.ts +37 -0
- package/dist/team/approved-execution.d.ts.map +1 -0
- package/dist/team/approved-execution.js +136 -0
- package/dist/team/approved-execution.js.map +1 -0
- package/dist/team/delivery-log.d.ts +1 -1
- package/dist/team/delivery-log.d.ts.map +1 -1
- package/dist/team/delivery-log.js +2 -1
- package/dist/team/delivery-log.js.map +1 -1
- package/dist/team/followup-planner.js +2 -2
- package/dist/team/followup-planner.js.map +1 -1
- package/dist/team/goal-workflow.d.ts +20 -0
- package/dist/team/goal-workflow.d.ts.map +1 -0
- package/dist/team/goal-workflow.js +57 -0
- package/dist/team/goal-workflow.js.map +1 -0
- package/dist/team/orchestrator.js +2 -2
- package/dist/team/orchestrator.js.map +1 -1
- package/dist/team/repo-aware-decomposition.d.ts +3 -0
- package/dist/team/repo-aware-decomposition.d.ts.map +1 -1
- package/dist/team/repo-aware-decomposition.js +2 -0
- package/dist/team/repo-aware-decomposition.js.map +1 -1
- package/dist/team/role-router.js +5 -5
- package/dist/team/role-router.js.map +1 -1
- package/dist/team/runtime-cli.d.ts +32 -2
- package/dist/team/runtime-cli.d.ts.map +1 -1
- package/dist/team/runtime-cli.js +78 -26
- package/dist/team/runtime-cli.js.map +1 -1
- package/dist/team/runtime.d.ts +7 -1
- package/dist/team/runtime.d.ts.map +1 -1
- package/dist/team/runtime.js +383 -40
- package/dist/team/runtime.js.map +1 -1
- package/dist/team/scaling.d.ts.map +1 -1
- package/dist/team/scaling.js +2 -0
- package/dist/team/scaling.js.map +1 -1
- package/dist/team/state.d.ts +9 -0
- package/dist/team/state.d.ts.map +1 -1
- package/dist/team/state.js +21 -0
- package/dist/team/state.js.map +1 -1
- package/dist/team/team-identity.d.ts +26 -0
- package/dist/team/team-identity.d.ts.map +1 -0
- package/dist/team/team-identity.js +169 -0
- package/dist/team/team-identity.js.map +1 -0
- package/dist/team/tmux-session.d.ts +18 -0
- package/dist/team/tmux-session.d.ts.map +1 -1
- package/dist/team/tmux-session.js +65 -3
- package/dist/team/tmux-session.js.map +1 -1
- package/dist/team/worker-bootstrap.d.ts +4 -0
- package/dist/team/worker-bootstrap.d.ts.map +1 -1
- package/dist/team/worker-bootstrap.js +28 -2
- package/dist/team/worker-bootstrap.js.map +1 -1
- package/dist/ultragoal/__tests__/artifacts.test.d.ts +2 -0
- package/dist/ultragoal/__tests__/artifacts.test.d.ts.map +1 -0
- package/dist/ultragoal/__tests__/artifacts.test.js +93 -0
- package/dist/ultragoal/__tests__/artifacts.test.js.map +1 -0
- package/dist/ultragoal/artifacts.d.ts +89 -0
- package/dist/ultragoal/artifacts.d.ts.map +1 -0
- package/dist/ultragoal/artifacts.js +233 -0
- package/dist/ultragoal/artifacts.js.map +1 -0
- package/dist/utils/__tests__/agents-model-table.test.js +3 -1
- package/dist/utils/__tests__/agents-model-table.test.js.map +1 -1
- package/dist/utils/__tests__/paths.test.js +31 -1
- package/dist/utils/__tests__/paths.test.js.map +1 -1
- package/dist/utils/agents-model-table.d.ts.map +1 -1
- package/dist/utils/agents-model-table.js +12 -1
- package/dist/utils/agents-model-table.js.map +1 -1
- package/dist/utils/paths.d.ts +2 -0
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +23 -7
- package/dist/utils/paths.js.map +1 -1
- package/dist/verification/__tests__/ci-rust-gates.test.js +30 -19
- package/dist/verification/__tests__/ci-rust-gates.test.js.map +1 -1
- package/package.json +5 -5
- package/plugins/oh-my-codex/.codex-plugin/plugin.json +1 -1
- package/plugins/oh-my-codex/skills/ai-slop-cleaner/SKILL.md +30 -5
- package/plugins/oh-my-codex/skills/ask/SKILL.md +58 -0
- package/plugins/oh-my-codex/skills/autoresearch-goal/SKILL.md +36 -0
- package/plugins/oh-my-codex/skills/omx-setup/SKILL.md +2 -2
- package/plugins/oh-my-codex/skills/performance-goal/SKILL.md +65 -0
- package/plugins/oh-my-codex/skills/plan/SKILL.md +1 -1
- package/plugins/oh-my-codex/skills/ralph/SKILL.md +22 -3
- package/plugins/oh-my-codex/skills/team/SKILL.md +6 -2
- package/plugins/oh-my-codex/skills/ultragoal/SKILL.md +49 -0
- package/plugins/oh-my-codex/skills/visual-ralph/SKILL.md +9 -9
- package/prompts/api-reviewer.md +1 -1
- package/prompts/code-reviewer.md +2 -0
- package/prompts/performance-reviewer.md +1 -1
- package/prompts/quality-reviewer.md +1 -1
- package/prompts/quality-strategist.md +2 -2
- package/prompts/style-reviewer.md +1 -1
- package/prompts/test-engineer.md +1 -1
- package/skills/ai-slop-cleaner/SKILL.md +30 -5
- package/skills/ask/SKILL.md +58 -0
- package/skills/ask-claude/SKILL.md +3 -54
- package/skills/ask-gemini/SKILL.md +3 -54
- package/skills/autoresearch-goal/SKILL.md +36 -0
- package/skills/build-fix/SKILL.md +4 -139
- package/skills/deepsearch/SKILL.md +4 -32
- package/skills/ecomode/SKILL.md +4 -108
- package/skills/help/SKILL.md +4 -196
- package/skills/note/SKILL.md +4 -56
- package/skills/omx-setup/SKILL.md +2 -2
- package/skills/performance-goal/SKILL.md +65 -0
- package/skills/plan/SKILL.md +1 -1
- package/skills/ralph/SKILL.md +22 -3
- package/skills/ralph-init/SKILL.md +4 -40
- package/skills/review/SKILL.md +4 -32
- package/skills/security-review/SKILL.md +4 -294
- package/skills/swarm/SKILL.md +4 -19
- package/skills/tdd/SKILL.md +4 -100
- package/skills/team/SKILL.md +6 -2
- package/skills/trace/SKILL.md +4 -27
- package/skills/ultragoal/SKILL.md +49 -0
- package/skills/visual-ralph/SKILL.md +9 -9
- package/skills/visual-verdict/SKILL.md +4 -70
- package/skills/web-clone/SKILL.md +4 -18
- package/src/scripts/__tests__/codex-native-hook.test.ts +2923 -1030
- package/src/scripts/__tests__/hook-derived-watcher.test.ts +45 -1
- package/src/scripts/__tests__/run-test-files.test.ts +46 -0
- package/src/scripts/codex-native-hook.ts +696 -46
- package/src/scripts/codex-native-pre-post.ts +369 -16
- package/src/scripts/hook-derived-watcher.ts +2 -1
- package/src/scripts/notify-fallback-watcher.ts +2 -1
- package/src/scripts/notify-hook/orchestration-intent.ts +1 -3
- package/src/scripts/notify-hook/team-leader-nudge.ts +7 -63
- package/src/scripts/notify-hook/team-worker-posttooluse.ts +1 -1
- package/src/scripts/notify-hook/team-worker-stop.ts +246 -0
- package/src/scripts/notify-hook/team-worker.ts +23 -14
- package/src/scripts/notify-hook.ts +1 -1
- package/src/scripts/run-test-files.ts +20 -1
- package/src/scripts/sync-plugin-mirror.ts +13 -4
- package/templates/catalog-manifest.json +45 -27
- package/plugins/oh-my-codex/skills/ask-claude/SKILL.md +0 -61
- package/plugins/oh-my-codex/skills/ask-gemini/SKILL.md +0 -61
- package/plugins/oh-my-codex/skills/help/SKILL.md +0 -202
- package/plugins/oh-my-codex/skills/note/SKILL.md +0 -62
- package/plugins/oh-my-codex/skills/security-review/SKILL.md +0 -300
- package/plugins/oh-my-codex/skills/trace/SKILL.md +0 -33
- package/plugins/oh-my-codex/skills/visual-verdict/SKILL.md +0 -76
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.test.js","sourceRoot":"","sources":["../../../src/planning/__tests__/artifacts.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"artifacts.test.js","sourceRoot":"","sources":["../../../src/planning/__tests__/artifacts.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type PlanningArtifactKind = 'prd' | 'test-spec' | 'deep-interview' | 'deep-interview-autoresearch';
|
|
2
|
+
export interface PlanningArtifactNameInfo {
|
|
3
|
+
kind: PlanningArtifactKind;
|
|
4
|
+
slug: string;
|
|
5
|
+
timestamp?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function planningArtifactTimestamp(date?: Date): string;
|
|
8
|
+
export declare function parsePlanningArtifactFileName(fileNameOrPath: string): PlanningArtifactNameInfo | null;
|
|
9
|
+
export declare function planningArtifactSlug(fileNameOrPath: string, kind: PlanningArtifactKind): string | null;
|
|
10
|
+
export declare function comparePlanningArtifactPaths(left: string, right: string): number;
|
|
11
|
+
export declare function selectMatchingTestSpecsForPrd(prdPath: string | null, testSpecPaths: readonly string[]): string[];
|
|
12
|
+
export declare function selectLatestPlanningArtifactPath(paths: readonly string[]): string | null;
|
|
13
|
+
//# sourceMappingURL=artifact-names.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-names.d.ts","sourceRoot":"","sources":["../../src/planning/artifact-names.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,WAAW,GAAG,gBAAgB,GAAG,6BAA6B,CAAC;AAE1G,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,yBAAyB,CAAC,IAAI,GAAE,IAAiB,GAAG,MAAM,CAEzE;AA4BD,wBAAgB,6BAA6B,CAAC,cAAc,EAAE,MAAM,GAAG,wBAAwB,GAAG,IAAI,CA2CrG;AAED,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,GAAG,MAAM,GAAG,IAAI,CAGtG;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAahF;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,aAAa,EAAE,SAAS,MAAM,EAAE,GAC/B,MAAM,EAAE,CAeV;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAExF"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { basename } from 'node:path';
|
|
2
|
+
const PLANNING_ARTIFACT_TIMESTAMP_PATTERN = /^\d{8}T\d{6}Z$/;
|
|
3
|
+
export function planningArtifactTimestamp(date = new Date()) {
|
|
4
|
+
return date.toISOString().replace(/[-:]/g, '').replace(/\.\d{3}Z$/, 'Z');
|
|
5
|
+
}
|
|
6
|
+
function legacyTestSpecSlug(fileNameOrPath) {
|
|
7
|
+
const match = basename(fileNameOrPath).match(/^test-?spec-(?<slug>.+)\.md$/i);
|
|
8
|
+
return match?.groups?.slug ?? null;
|
|
9
|
+
}
|
|
10
|
+
function requiredTimestampedTestSpecFileName(prdArtifact) {
|
|
11
|
+
return prdArtifact.kind === 'prd' && prdArtifact.timestamp
|
|
12
|
+
? `test-spec-${prdArtifact.timestamp}-${prdArtifact.slug}.md`
|
|
13
|
+
: null;
|
|
14
|
+
}
|
|
15
|
+
function splitTimestampPrefix(rawSlug) {
|
|
16
|
+
const separatorIndex = rawSlug.indexOf('-');
|
|
17
|
+
if (separatorIndex === -1) {
|
|
18
|
+
return { slug: rawSlug };
|
|
19
|
+
}
|
|
20
|
+
const prefix = rawSlug.slice(0, separatorIndex);
|
|
21
|
+
if (!PLANNING_ARTIFACT_TIMESTAMP_PATTERN.test(prefix)) {
|
|
22
|
+
return { slug: rawSlug };
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
timestamp: prefix,
|
|
26
|
+
slug: rawSlug.slice(separatorIndex + 1),
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export function parsePlanningArtifactFileName(fileNameOrPath) {
|
|
30
|
+
const fileName = basename(fileNameOrPath);
|
|
31
|
+
const autoresearchDeepInterviewMatch = fileName.match(/^deep-interview-autoresearch-(?<slug>.+)\.md$/i);
|
|
32
|
+
if (autoresearchDeepInterviewMatch?.groups?.slug) {
|
|
33
|
+
const parsedSlug = splitTimestampPrefix(autoresearchDeepInterviewMatch.groups.slug);
|
|
34
|
+
if (!parsedSlug.slug)
|
|
35
|
+
return null;
|
|
36
|
+
return {
|
|
37
|
+
kind: 'deep-interview-autoresearch',
|
|
38
|
+
...parsedSlug,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
const deepInterviewMatch = fileName.match(/^deep-interview-(?<slug>.+)\.md$/i);
|
|
42
|
+
if (deepInterviewMatch?.groups?.slug) {
|
|
43
|
+
const parsedSlug = splitTimestampPrefix(deepInterviewMatch.groups.slug);
|
|
44
|
+
if (!parsedSlug.slug)
|
|
45
|
+
return null;
|
|
46
|
+
return {
|
|
47
|
+
kind: 'deep-interview',
|
|
48
|
+
...parsedSlug,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
const prdMatch = fileName.match(/^prd-(?<slug>.+)\.md$/i);
|
|
52
|
+
if (prdMatch?.groups?.slug) {
|
|
53
|
+
const parsedSlug = splitTimestampPrefix(prdMatch.groups.slug);
|
|
54
|
+
if (!parsedSlug.slug)
|
|
55
|
+
return null;
|
|
56
|
+
return {
|
|
57
|
+
kind: 'prd',
|
|
58
|
+
...parsedSlug,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
const testSpecMatch = fileName.match(/^test-?spec-(?<slug>.+)\.md$/i);
|
|
62
|
+
if (testSpecMatch?.groups?.slug) {
|
|
63
|
+
const parsedSlug = splitTimestampPrefix(testSpecMatch.groups.slug);
|
|
64
|
+
if (!parsedSlug.slug)
|
|
65
|
+
return null;
|
|
66
|
+
return {
|
|
67
|
+
kind: 'test-spec',
|
|
68
|
+
...parsedSlug,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
export function planningArtifactSlug(fileNameOrPath, kind) {
|
|
74
|
+
const parsed = parsePlanningArtifactFileName(fileNameOrPath);
|
|
75
|
+
return parsed?.kind === kind ? parsed.slug : null;
|
|
76
|
+
}
|
|
77
|
+
export function comparePlanningArtifactPaths(left, right) {
|
|
78
|
+
const leftParsed = parsePlanningArtifactFileName(left);
|
|
79
|
+
const rightParsed = parsePlanningArtifactFileName(right);
|
|
80
|
+
if (leftParsed?.timestamp && rightParsed?.timestamp && leftParsed.timestamp !== rightParsed.timestamp) {
|
|
81
|
+
return leftParsed.timestamp.localeCompare(rightParsed.timestamp);
|
|
82
|
+
}
|
|
83
|
+
if (leftParsed?.timestamp && !rightParsed?.timestamp) {
|
|
84
|
+
return 1;
|
|
85
|
+
}
|
|
86
|
+
if (!leftParsed?.timestamp && rightParsed?.timestamp) {
|
|
87
|
+
return -1;
|
|
88
|
+
}
|
|
89
|
+
return left.localeCompare(right);
|
|
90
|
+
}
|
|
91
|
+
export function selectMatchingTestSpecsForPrd(prdPath, testSpecPaths) {
|
|
92
|
+
if (!prdPath) {
|
|
93
|
+
return [];
|
|
94
|
+
}
|
|
95
|
+
const prdArtifact = parsePlanningArtifactFileName(prdPath);
|
|
96
|
+
if (prdArtifact?.kind !== 'prd') {
|
|
97
|
+
return [];
|
|
98
|
+
}
|
|
99
|
+
const requiredTimestampedFileName = requiredTimestampedTestSpecFileName(prdArtifact);
|
|
100
|
+
return (requiredTimestampedFileName
|
|
101
|
+
? testSpecPaths.filter((path) => basename(path) === requiredTimestampedFileName)
|
|
102
|
+
: testSpecPaths.filter((path) => legacyTestSpecSlug(path) === prdArtifact.slug))
|
|
103
|
+
.sort(comparePlanningArtifactPaths);
|
|
104
|
+
}
|
|
105
|
+
export function selectLatestPlanningArtifactPath(paths) {
|
|
106
|
+
return [...paths].sort(comparePlanningArtifactPaths).at(-1) ?? null;
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=artifact-names.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-names.js","sourceRoot":"","sources":["../../src/planning/artifact-names.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,mCAAmC,GAAG,gBAAgB,CAAC;AAU7D,MAAM,UAAU,yBAAyB,CAAC,OAAa,IAAI,IAAI,EAAE;IAC/D,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,kBAAkB,CAAC,cAAsB;IAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC9E,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC;AACrC,CAAC;AAED,SAAS,mCAAmC,CAAC,WAAqC;IAChF,OAAO,WAAW,CAAC,IAAI,KAAK,KAAK,IAAI,WAAW,CAAC,SAAS;QACxD,CAAC,CAAC,aAAa,WAAW,CAAC,SAAS,IAAI,WAAW,CAAC,IAAI,KAAK;QAC7D,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAe;IAC3C,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;IAChD,IAAI,CAAC,mCAAmC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,OAAO;QACL,SAAS,EAAE,MAAM;QACjB,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,cAAsB;IAClE,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC1C,MAAM,8BAA8B,GAAG,QAAQ,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACxG,IAAI,8BAA8B,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,oBAAoB,CAAC,8BAA8B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpF,IAAI,CAAC,UAAU,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAClC,OAAO;YACL,IAAI,EAAE,6BAA6B;YACnC,GAAG,UAAU;SACd,CAAC;IACJ,CAAC;IAED,MAAM,kBAAkB,GAAG,QAAQ,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAC/E,IAAI,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxE,IAAI,CAAC,UAAU,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAClC,OAAO;YACL,IAAI,EAAE,gBAAgB;YACtB,GAAG,UAAU;SACd,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC1D,IAAI,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAClC,OAAO;YACL,IAAI,EAAE,KAAK;YACX,GAAG,UAAU;SACd,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACtE,IAAI,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,oBAAoB,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAClC,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,GAAG,UAAU;SACd,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,cAAsB,EAAE,IAA0B;IACrF,MAAM,MAAM,GAAG,6BAA6B,CAAC,cAAc,CAAC,CAAC;IAC7D,OAAO,MAAM,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAAY,EAAE,KAAa;IACtE,MAAM,UAAU,GAAG,6BAA6B,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;IACzD,IAAI,UAAU,EAAE,SAAS,IAAI,WAAW,EAAE,SAAS,IAAI,UAAU,CAAC,SAAS,KAAK,WAAW,CAAC,SAAS,EAAE,CAAC;QACtG,OAAO,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,UAAU,EAAE,SAAS,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC;QACrD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC,UAAU,EAAE,SAAS,IAAI,WAAW,EAAE,SAAS,EAAE,CAAC;QACrD,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,OAAsB,EACtB,aAAgC;IAEhC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,WAAW,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC;IAC3D,IAAI,WAAW,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;QAChC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,2BAA2B,GAAG,mCAAmC,CAAC,WAAW,CAAC,CAAC;IACrF,OAAO,CAAC,2BAA2B;QACjC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,2BAA2B,CAAC;QAChF,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC;SAC/E,IAAI,CAAC,4BAA4B,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,KAAwB;IACvE,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AACtE,CAAC"}
|
|
@@ -5,10 +5,16 @@ export interface PlanningArtifacts {
|
|
|
5
5
|
testSpecPaths: string[];
|
|
6
6
|
deepInterviewSpecPaths: string[];
|
|
7
7
|
}
|
|
8
|
+
export interface ApprovedRepositoryContextSummary {
|
|
9
|
+
sourcePath: string;
|
|
10
|
+
content: string;
|
|
11
|
+
truncated: boolean;
|
|
12
|
+
}
|
|
8
13
|
export interface ApprovedPlanContext {
|
|
9
14
|
sourcePath: string;
|
|
10
15
|
testSpecPaths: string[];
|
|
11
16
|
deepInterviewSpecPaths: string[];
|
|
17
|
+
repositoryContextSummary?: ApprovedRepositoryContextSummary;
|
|
12
18
|
}
|
|
13
19
|
export interface ApprovedExecutionLaunchHint extends ApprovedPlanContext {
|
|
14
20
|
mode: 'team' | 'ralph';
|
|
@@ -23,6 +29,19 @@ export interface LatestPlanningArtifactSelection {
|
|
|
23
29
|
testSpecPaths: string[];
|
|
24
30
|
deepInterviewSpecPaths: string[];
|
|
25
31
|
}
|
|
32
|
+
interface ApprovedExecutionLaunchHintReadOptions {
|
|
33
|
+
prdPath?: string;
|
|
34
|
+
task?: string;
|
|
35
|
+
command?: string;
|
|
36
|
+
}
|
|
37
|
+
export type ApprovedExecutionLaunchHintOutcome = {
|
|
38
|
+
status: 'absent';
|
|
39
|
+
} | {
|
|
40
|
+
status: 'ambiguous';
|
|
41
|
+
} | {
|
|
42
|
+
status: 'resolved';
|
|
43
|
+
hint: ApprovedExecutionLaunchHint;
|
|
44
|
+
};
|
|
26
45
|
export interface TeamDagArtifactResolution {
|
|
27
46
|
source: 'json-sidecar' | 'markdown-handoff' | 'none';
|
|
28
47
|
prdPath: string | null;
|
|
@@ -33,8 +52,11 @@ export interface TeamDagArtifactResolution {
|
|
|
33
52
|
}
|
|
34
53
|
export declare function readPlanningArtifacts(cwd: string): PlanningArtifacts;
|
|
35
54
|
export declare function isPlanningComplete(artifacts: PlanningArtifacts): boolean;
|
|
55
|
+
export declare function decodeApprovedExecutionQuotedValue(raw: string): string | null;
|
|
36
56
|
export declare function selectLatestPlanningArtifacts(artifacts: PlanningArtifacts): LatestPlanningArtifactSelection;
|
|
37
57
|
export declare function readLatestPlanningArtifacts(cwd: string): LatestPlanningArtifactSelection;
|
|
38
58
|
export declare function readTeamDagArtifactResolution(cwd: string): TeamDagArtifactResolution;
|
|
39
|
-
export declare function
|
|
59
|
+
export declare function readApprovedExecutionLaunchHintOutcome(cwd: string, mode: 'team' | 'ralph', options?: ApprovedExecutionLaunchHintReadOptions): ApprovedExecutionLaunchHintOutcome;
|
|
60
|
+
export declare function readApprovedExecutionLaunchHint(cwd: string, mode: 'team' | 'ralph', options?: ApprovedExecutionLaunchHintReadOptions): ApprovedExecutionLaunchHint | null;
|
|
61
|
+
export {};
|
|
40
62
|
//# sourceMappingURL=artifacts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../../src/planning/artifacts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../../src/planning/artifacts.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,sBAAsB,EAAE,MAAM,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,gCAAgC;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,wBAAwB,CAAC,EAAE,gCAAgC,CAAC;CAC7D;AAED,MAAM,WAAW,2BAA4B,SAAQ,mBAAmB;IACtE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,+BAA+B;IAC9C,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,sBAAsB,EAAE,MAAM,EAAE,CAAC;CAClC;AAED,UAAU,sCAAsC;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,kCAAkC,GAC1C;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,GACpB;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,GACvB;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,2BAA2B,CAAA;CAAE,CAAC;AAE9D,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,cAAc,GAAG,kBAAkB,GAAG,MAAM,CAAC;IACrD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAiBD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAYpE;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAGxE;AAED,wBAAgB,kCAAkC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAU7E;AAoHD,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,iBAAiB,GAC3B,+BAA+B,CAEjC;AAED,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,+BAA+B,CAExF;AAkBD,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,MAAM,GAAG,yBAAyB,CA6CpF;AA0DD,wBAAgB,sCAAsC,CACpD,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,GAAG,OAAO,EACtB,OAAO,GAAE,sCAA2C,GACnD,kCAAkC,CAwCpC;AAED,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,GAAG,OAAO,EACtB,OAAO,GAAE,sCAA2C,GACnD,2BAA2B,GAAG,IAAI,CAGpC"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { existsSync, readFileSync, readdirSync } from 'node:fs';
|
|
2
2
|
import { basename, join } from 'node:path';
|
|
3
|
+
import { comparePlanningArtifactPaths, parsePlanningArtifactFileName, planningArtifactSlug, selectLatestPlanningArtifactPath, selectMatchingTestSpecsForPrd, } from './artifact-names.js';
|
|
3
4
|
import { omxPlansDir } from '../utils/paths.js';
|
|
4
5
|
const PRD_PATTERN = /^prd-.*\.md$/i;
|
|
5
6
|
const TEST_SPEC_PATTERN = /^test-?spec-.*\.md$/i;
|
|
6
7
|
const DEEP_INTERVIEW_SPEC_PATTERN = /^deep-interview-.*\.md$/i;
|
|
8
|
+
const APPROVED_REPOSITORY_CONTEXT_MAX_CHARS = 4_000;
|
|
9
|
+
const APPROVED_REPOSITORY_CONTEXT_MAX_LINES = 80;
|
|
7
10
|
function readMatchingPaths(dir, pattern) {
|
|
8
11
|
if (!existsSync(dir)) {
|
|
9
12
|
return [];
|
|
@@ -11,7 +14,7 @@ function readMatchingPaths(dir, pattern) {
|
|
|
11
14
|
try {
|
|
12
15
|
return readdirSync(dir)
|
|
13
16
|
.filter((file) => pattern.test(file))
|
|
14
|
-
.sort(
|
|
17
|
+
.sort(comparePlanningArtifactPaths)
|
|
15
18
|
.map((file) => join(dir, file));
|
|
16
19
|
}
|
|
17
20
|
catch {
|
|
@@ -26,52 +29,121 @@ export function readPlanningArtifacts(cwd) {
|
|
|
26
29
|
specsDir,
|
|
27
30
|
prdPaths: readMatchingPaths(plansDir, PRD_PATTERN),
|
|
28
31
|
testSpecPaths: readMatchingPaths(plansDir, TEST_SPEC_PATTERN),
|
|
29
|
-
deepInterviewSpecPaths: readMatchingPaths(specsDir, DEEP_INTERVIEW_SPEC_PATTERN)
|
|
32
|
+
deepInterviewSpecPaths: readMatchingPaths(specsDir, DEEP_INTERVIEW_SPEC_PATTERN)
|
|
33
|
+
.filter((path) => parsePlanningArtifactFileName(path)?.kind === 'deep-interview'),
|
|
30
34
|
};
|
|
31
35
|
}
|
|
32
36
|
export function isPlanningComplete(artifacts) {
|
|
33
|
-
|
|
37
|
+
const selection = selectLatestPlanningArtifacts(artifacts);
|
|
38
|
+
return Boolean(selection.prdPath) && selection.testSpecPaths.length > 0;
|
|
34
39
|
}
|
|
35
|
-
function
|
|
40
|
+
export function decodeApprovedExecutionQuotedValue(raw) {
|
|
36
41
|
const normalized = raw.trim();
|
|
37
42
|
if (!normalized)
|
|
38
43
|
return null;
|
|
39
|
-
|
|
40
|
-
return
|
|
44
|
+
if (normalized.startsWith('"') && normalized.endsWith('"')) {
|
|
45
|
+
return normalized.slice(1, -1).replace(/\\"/g, '"');
|
|
41
46
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|| (normalized.startsWith("'") && normalized.endsWith("'"))) {
|
|
45
|
-
return normalized.slice(1, -1);
|
|
46
|
-
}
|
|
47
|
-
return null;
|
|
47
|
+
if (normalized.startsWith("'") && normalized.endsWith("'")) {
|
|
48
|
+
return normalized.slice(1, -1).replace(/\\'/g, "'");
|
|
48
49
|
}
|
|
50
|
+
return null;
|
|
49
51
|
}
|
|
50
|
-
function
|
|
52
|
+
function artifactPathSuffix(path, prefixPattern) {
|
|
51
53
|
const file = basename(path);
|
|
52
54
|
const match = file.match(prefixPattern);
|
|
53
55
|
return match?.groups?.slug ?? null;
|
|
54
56
|
}
|
|
55
|
-
function
|
|
57
|
+
function selectDeepInterviewSpecPathsForSlug(paths, slug) {
|
|
56
58
|
if (!slug)
|
|
57
59
|
return [];
|
|
58
|
-
return paths
|
|
60
|
+
return paths
|
|
61
|
+
.filter((path) => planningArtifactSlug(path, 'deep-interview') === slug)
|
|
62
|
+
.sort(comparePlanningArtifactPaths);
|
|
63
|
+
}
|
|
64
|
+
function selectPlanningArtifacts(artifacts, prdPath) {
|
|
65
|
+
const selectedPrdPath = prdPath == null
|
|
66
|
+
? selectLatestPlanningArtifactPath(artifacts.prdPaths)
|
|
67
|
+
: artifacts.prdPaths.includes(prdPath)
|
|
68
|
+
? prdPath
|
|
69
|
+
: null;
|
|
70
|
+
const slug = selectedPrdPath
|
|
71
|
+
? planningArtifactSlug(selectedPrdPath, 'prd')
|
|
72
|
+
: null;
|
|
73
|
+
return {
|
|
74
|
+
prdPath: selectedPrdPath,
|
|
75
|
+
testSpecPaths: selectMatchingTestSpecsForPrd(selectedPrdPath, artifacts.testSpecPaths),
|
|
76
|
+
deepInterviewSpecPaths: selectDeepInterviewSpecPathsForSlug(artifacts.deepInterviewSpecPaths, slug),
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
function boundedRepositoryContextSummary(sourcePath, content) {
|
|
80
|
+
const normalizedLines = content
|
|
81
|
+
.replace(/\r\n/g, '\n')
|
|
82
|
+
.split('\n')
|
|
83
|
+
.map((line) => line.trimEnd());
|
|
84
|
+
const trimmed = normalizedLines.join('\n').trim();
|
|
85
|
+
if (!trimmed)
|
|
86
|
+
return null;
|
|
87
|
+
const limitedLines = normalizedLines.slice(0, APPROVED_REPOSITORY_CONTEXT_MAX_LINES);
|
|
88
|
+
const lineTruncated = normalizedLines.length > limitedLines.length;
|
|
89
|
+
let limited = limitedLines.join('\n').trim();
|
|
90
|
+
let charTruncated = false;
|
|
91
|
+
if (limited.length > APPROVED_REPOSITORY_CONTEXT_MAX_CHARS) {
|
|
92
|
+
limited = limited.slice(0, APPROVED_REPOSITORY_CONTEXT_MAX_CHARS).trimEnd();
|
|
93
|
+
charTruncated = true;
|
|
94
|
+
}
|
|
95
|
+
return { sourcePath, content: limited, truncated: lineTruncated || charTruncated };
|
|
96
|
+
}
|
|
97
|
+
function extractApprovedRepositoryContextSection(sourcePath, content) {
|
|
98
|
+
const lines = content.replace(/\r\n/g, '\n').split('\n');
|
|
99
|
+
const headingIndex = lines.findIndex((line) => /^#{1,6}\s+Approved Repository Context Summary\s*$/i.test(line.trim()));
|
|
100
|
+
if (headingIndex < 0)
|
|
101
|
+
return null;
|
|
102
|
+
const headingLevel = lines[headingIndex].match(/^(#+)/)?.[1].length ?? 1;
|
|
103
|
+
const body = [];
|
|
104
|
+
for (let index = headingIndex + 1; index < lines.length; index += 1) {
|
|
105
|
+
const heading = lines[index].match(/^(#{1,6})\s+/);
|
|
106
|
+
if (heading && heading[1].length <= headingLevel)
|
|
107
|
+
break;
|
|
108
|
+
body.push(lines[index]);
|
|
109
|
+
}
|
|
110
|
+
return boundedRepositoryContextSummary(sourcePath, body.join('\n'));
|
|
111
|
+
}
|
|
112
|
+
function readApprovedRepositoryContextSummary(artifacts, prdPath, planSlug, prdContent) {
|
|
113
|
+
if (!planSlug)
|
|
114
|
+
return extractApprovedRepositoryContextSection(prdPath, prdContent);
|
|
115
|
+
const sidecarPath = join(artifacts.plansDir, `repo-context-${planSlug}.md`);
|
|
116
|
+
if (existsSync(sidecarPath)) {
|
|
117
|
+
try {
|
|
118
|
+
const sidecar = boundedRepositoryContextSummary(sidecarPath, readFileSync(sidecarPath, 'utf-8'));
|
|
119
|
+
if (sidecar)
|
|
120
|
+
return sidecar;
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
// Fall through to an inline approved PRD section when the inspectable sidecar is unreadable.
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return extractApprovedRepositoryContextSection(prdPath, prdContent);
|
|
59
127
|
}
|
|
60
|
-
function readApprovedPlanText(cwd) {
|
|
128
|
+
function readApprovedPlanText(cwd, options = {}) {
|
|
61
129
|
const artifacts = readPlanningArtifacts(cwd);
|
|
62
130
|
if (!isPlanningComplete(artifacts))
|
|
63
131
|
return null;
|
|
64
|
-
const selection =
|
|
132
|
+
const selection = selectPlanningArtifacts(artifacts, options.prdPath);
|
|
65
133
|
const latestPrdPath = selection.prdPath;
|
|
66
134
|
if (!latestPrdPath || selection.testSpecPaths.length === 0 || !existsSync(latestPrdPath))
|
|
67
135
|
return null;
|
|
68
136
|
try {
|
|
137
|
+
const content = readFileSync(latestPrdPath, 'utf-8');
|
|
138
|
+
const planSlug = artifactPathSuffix(latestPrdPath, /^prd-(?<slug>.*)\.md$/i);
|
|
139
|
+
const repositoryContextSummary = readApprovedRepositoryContextSummary(artifacts, latestPrdPath, planSlug, content);
|
|
69
140
|
return {
|
|
70
|
-
content
|
|
141
|
+
content,
|
|
71
142
|
context: {
|
|
72
143
|
sourcePath: latestPrdPath,
|
|
73
144
|
testSpecPaths: selection.testSpecPaths,
|
|
74
145
|
deepInterviewSpecPaths: selection.deepInterviewSpecPaths,
|
|
146
|
+
...(repositoryContextSummary ? { repositoryContextSummary } : {}),
|
|
75
147
|
},
|
|
76
148
|
};
|
|
77
149
|
}
|
|
@@ -80,15 +152,7 @@ function readApprovedPlanText(cwd) {
|
|
|
80
152
|
}
|
|
81
153
|
}
|
|
82
154
|
export function selectLatestPlanningArtifacts(artifacts) {
|
|
83
|
-
|
|
84
|
-
const slug = latestPrdPath
|
|
85
|
-
? artifactSlug(latestPrdPath, /^prd-(?<slug>.*)\.md$/i)
|
|
86
|
-
: null;
|
|
87
|
-
return {
|
|
88
|
-
prdPath: latestPrdPath,
|
|
89
|
-
testSpecPaths: filterArtifactsForSlug(artifacts.testSpecPaths, /^test-?spec-(?<slug>.*)\.md$/i, slug),
|
|
90
|
-
deepInterviewSpecPaths: filterArtifactsForSlug(artifacts.deepInterviewSpecPaths, /^deep-interview-(?<slug>.*)\.md$/i, slug),
|
|
91
|
-
};
|
|
155
|
+
return selectPlanningArtifacts(artifacts);
|
|
92
156
|
}
|
|
93
157
|
export function readLatestPlanningArtifacts(cwd) {
|
|
94
158
|
return selectLatestPlanningArtifacts(readPlanningArtifacts(cwd));
|
|
@@ -111,12 +175,12 @@ function extractTeamDagMarkdownHandoff(content) {
|
|
|
111
175
|
}
|
|
112
176
|
export function readTeamDagArtifactResolution(cwd) {
|
|
113
177
|
const artifacts = readPlanningArtifacts(cwd);
|
|
114
|
-
if (
|
|
178
|
+
if (artifacts.prdPaths.length === 0 || artifacts.testSpecPaths.length === 0) {
|
|
115
179
|
return { source: 'none', prdPath: null, planSlug: null, warnings: ['planning_incomplete'] };
|
|
116
180
|
}
|
|
117
181
|
const selection = selectLatestPlanningArtifacts(artifacts);
|
|
118
182
|
const prdPath = selection.prdPath;
|
|
119
|
-
const planSlug = prdPath ?
|
|
183
|
+
const planSlug = prdPath ? artifactPathSuffix(prdPath, /^prd-(?<slug>.*)\.md$/i) : null;
|
|
120
184
|
if (!prdPath || !planSlug) {
|
|
121
185
|
return { source: 'none', prdPath, planSlug, warnings: ['missing_prd_slug'] };
|
|
122
186
|
}
|
|
@@ -152,42 +216,90 @@ export function readTeamDagArtifactResolution(cwd) {
|
|
|
152
216
|
}
|
|
153
217
|
return { source: 'none', prdPath, planSlug, warnings: [] };
|
|
154
218
|
}
|
|
155
|
-
|
|
156
|
-
|
|
219
|
+
function launchHintPattern(mode) {
|
|
220
|
+
return mode === 'team'
|
|
221
|
+
? /(?<command>(?:omx\s+team|\$team)\s+(?<ralph>ralph\s+)?(?<count>\d+)(?::(?<role>[a-z][a-z0-9-]*))?\s+(?<task>"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'))/gi
|
|
222
|
+
: /(?<command>(?:omx\s+ralph|\$ralph)\s+(?<task>"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'))/gi;
|
|
223
|
+
}
|
|
224
|
+
function collectLaunchHintMatches(content, mode) {
|
|
225
|
+
return [...content.matchAll(launchHintPattern(mode))];
|
|
226
|
+
}
|
|
227
|
+
function selectLaunchHintMatch(matches, normalizedTask, normalizedCommand) {
|
|
228
|
+
if (normalizedCommand) {
|
|
229
|
+
const exactMatches = matches.flatMap((match) => {
|
|
230
|
+
const command = match.groups?.command?.trim();
|
|
231
|
+
if (!command || command !== normalizedCommand) {
|
|
232
|
+
return [];
|
|
233
|
+
}
|
|
234
|
+
const task = match.groups?.task ? decodeApprovedExecutionQuotedValue(match.groups.task) : null;
|
|
235
|
+
return task ? [{ match, task }] : [];
|
|
236
|
+
});
|
|
237
|
+
if (exactMatches.length === 0)
|
|
238
|
+
return { status: 'no-match' };
|
|
239
|
+
if (exactMatches.length > 1)
|
|
240
|
+
return { status: 'ambiguous' };
|
|
241
|
+
return { status: 'unique', ...exactMatches[0] };
|
|
242
|
+
}
|
|
243
|
+
if (!normalizedTask) {
|
|
244
|
+
const decodedMatches = matches.flatMap((match) => {
|
|
245
|
+
const task = match.groups?.task ? decodeApprovedExecutionQuotedValue(match.groups.task) : null;
|
|
246
|
+
return task ? [{ match, task }] : [];
|
|
247
|
+
});
|
|
248
|
+
if (decodedMatches.length === 0)
|
|
249
|
+
return { status: 'no-match' };
|
|
250
|
+
if (decodedMatches.length > 1)
|
|
251
|
+
return { status: 'ambiguous' };
|
|
252
|
+
return { status: 'unique', ...decodedMatches[0] };
|
|
253
|
+
}
|
|
254
|
+
const exactMatches = matches.flatMap((match) => {
|
|
255
|
+
const task = match.groups?.task ? decodeApprovedExecutionQuotedValue(match.groups.task) : null;
|
|
256
|
+
return task && task.trim() === normalizedTask ? [{ match, task }] : [];
|
|
257
|
+
});
|
|
258
|
+
if (exactMatches.length === 0)
|
|
259
|
+
return { status: 'no-match' };
|
|
260
|
+
if (exactMatches.length > 1)
|
|
261
|
+
return { status: 'ambiguous' };
|
|
262
|
+
return { status: 'unique', ...exactMatches[0] };
|
|
263
|
+
}
|
|
264
|
+
export function readApprovedExecutionLaunchHintOutcome(cwd, mode, options = {}) {
|
|
265
|
+
const approvedPlan = readApprovedPlanText(cwd, options);
|
|
157
266
|
if (!approvedPlan)
|
|
158
|
-
return
|
|
267
|
+
return { status: 'absent' };
|
|
268
|
+
const selected = selectLaunchHintMatch(collectLaunchHintMatches(approvedPlan.content, mode), options.task?.trim(), options.command?.trim());
|
|
269
|
+
if (selected.status === 'ambiguous')
|
|
270
|
+
return { status: 'ambiguous' };
|
|
271
|
+
if (selected.status !== 'unique' || !selected.match.groups)
|
|
272
|
+
return { status: 'absent' };
|
|
159
273
|
if (mode === 'team') {
|
|
160
|
-
const
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
return null;
|
|
165
|
-
const task = decodeQuotedValue(last.groups.task);
|
|
166
|
-
if (!task)
|
|
167
|
-
return null;
|
|
274
|
+
const workerCount = Number.parseInt(selected.match.groups.count, 10);
|
|
275
|
+
if (!Number.isFinite(workerCount)) {
|
|
276
|
+
return { status: 'absent' };
|
|
277
|
+
}
|
|
168
278
|
return {
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
279
|
+
status: 'resolved',
|
|
280
|
+
hint: {
|
|
281
|
+
mode,
|
|
282
|
+
command: selected.match.groups.command,
|
|
283
|
+
task: selected.task,
|
|
284
|
+
workerCount,
|
|
285
|
+
agentType: selected.match.groups.role || undefined,
|
|
286
|
+
linkedRalph: Boolean(selected.match.groups.ralph?.trim()),
|
|
287
|
+
...approvedPlan.context,
|
|
288
|
+
},
|
|
176
289
|
};
|
|
177
290
|
}
|
|
178
|
-
const ralphPattern = /(?<command>(?:omx\s+ralph|\$ralph)\s+(?<task>"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'))/gi;
|
|
179
|
-
const matches = [...approvedPlan.content.matchAll(ralphPattern)];
|
|
180
|
-
const last = matches.at(-1);
|
|
181
|
-
if (!last?.groups)
|
|
182
|
-
return null;
|
|
183
|
-
const task = decodeQuotedValue(last.groups.task);
|
|
184
|
-
if (!task)
|
|
185
|
-
return null;
|
|
186
291
|
return {
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
292
|
+
status: 'resolved',
|
|
293
|
+
hint: {
|
|
294
|
+
mode,
|
|
295
|
+
command: selected.match.groups.command,
|
|
296
|
+
task: selected.task,
|
|
297
|
+
...approvedPlan.context,
|
|
298
|
+
},
|
|
191
299
|
};
|
|
192
300
|
}
|
|
301
|
+
export function readApprovedExecutionLaunchHint(cwd, mode, options = {}) {
|
|
302
|
+
const outcome = readApprovedExecutionLaunchHintOutcome(cwd, mode, options);
|
|
303
|
+
return outcome.status === 'resolved' ? outcome.hint : null;
|
|
304
|
+
}
|
|
193
305
|
//# sourceMappingURL=artifacts.js.map
|