maestro-flow 0.3.31 → 0.3.32

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.
Files changed (68) hide show
  1. package/.claude/agents/cli-explore-agent.md +1 -1
  2. package/.claude/agents/workflow-verifier.md +1 -1
  3. package/.claude/commands/maestro-ralph-execute.md +75 -46
  4. package/.claude/commands/maestro-ralph.md +32 -15
  5. package/.claude/commands/maestro.md +10 -11
  6. package/.claude/skills/team-quality-assurance/roles/executor/role.md +1 -1
  7. package/.codex/skills/maestro/SKILL.md +15 -5
  8. package/.codex/skills/maestro-analyze/SKILL.md +4 -0
  9. package/.codex/skills/maestro-execute/SKILL.md +5 -1
  10. package/.codex/skills/maestro-init/SKILL.md +7 -1
  11. package/.codex/skills/maestro-plan/SKILL.md +5 -0
  12. package/.codex/skills/maestro-ralph/SKILL.md +27 -15
  13. package/.codex/skills/maestro-ralph-execute/SKILL.md +6 -4
  14. package/.codex/skills/maestro-roadmap/SKILL.md +0 -1
  15. package/.codex/skills/maestro-verify/SKILL.md +1 -1
  16. package/.codex/skills/manage-codebase-rebuild/SKILL.md +2 -2
  17. package/.codex/skills/spec-add/SKILL.md +2 -0
  18. package/.codex/skills/spec-setup/SKILL.md +2 -0
  19. package/.codex/skills/team-quality-assurance/roles/executor/role.md +1 -1
  20. package/dashboard/dist-server/src/hooks/constants.d.ts +0 -6
  21. package/dashboard/dist-server/src/hooks/constants.js +0 -7
  22. package/dashboard/dist-server/src/hooks/constants.js.map +1 -1
  23. package/dist/src/commands/hooks.d.ts +1 -1
  24. package/dist/src/commands/hooks.d.ts.map +1 -1
  25. package/dist/src/commands/hooks.js +10 -21
  26. package/dist/src/commands/hooks.js.map +1 -1
  27. package/dist/src/commands/install-ui/InstallFlow.d.ts.map +1 -1
  28. package/dist/src/commands/install-ui/InstallFlow.js +17 -4
  29. package/dist/src/commands/install-ui/InstallFlow.js.map +1 -1
  30. package/dist/src/commands/spec.d.ts.map +1 -1
  31. package/dist/src/commands/spec.js +96 -0
  32. package/dist/src/commands/spec.js.map +1 -1
  33. package/dist/src/hooks/constants.d.ts +0 -6
  34. package/dist/src/hooks/constants.d.ts.map +1 -1
  35. package/dist/src/hooks/constants.js +0 -7
  36. package/dist/src/hooks/constants.js.map +1 -1
  37. package/dist/src/hooks/coordinator-tracker.d.ts +14 -2
  38. package/dist/src/hooks/coordinator-tracker.d.ts.map +1 -1
  39. package/dist/src/hooks/coordinator-tracker.js +25 -6
  40. package/dist/src/hooks/coordinator-tracker.js.map +1 -1
  41. package/dist/src/hooks/index.d.ts +1 -2
  42. package/dist/src/hooks/index.d.ts.map +1 -1
  43. package/dist/src/hooks/index.js +1 -2
  44. package/dist/src/hooks/index.js.map +1 -1
  45. package/dist/src/hooks/skill-context.js +2 -2
  46. package/dist/src/hooks/skill-context.js.map +1 -1
  47. package/dist/src/hooks/statusline.d.ts.map +1 -1
  48. package/dist/src/hooks/statusline.js +29 -6
  49. package/dist/src/hooks/statusline.js.map +1 -1
  50. package/dist/src/i18n/locales/en.js +1 -1
  51. package/dist/src/i18n/locales/en.js.map +1 -1
  52. package/dist/src/i18n/locales/zh.js +1 -1
  53. package/dist/src/i18n/locales/zh.js.map +1 -1
  54. package/dist/src/tools/spec-writer.d.ts +24 -0
  55. package/dist/src/tools/spec-writer.d.ts.map +1 -0
  56. package/dist/src/tools/spec-writer.js +60 -0
  57. package/dist/src/tools/spec-writer.js.map +1 -0
  58. package/package.json +1 -1
  59. package/workflows/codebase-rebuild.md +6 -6
  60. package/workflows/init.md +10 -12
  61. package/workflows/maestro-chain-execute.md +6 -2
  62. package/workflows/maestro.md +27 -19
  63. package/workflows/plan.md +1 -1
  64. package/workflows/verify.md +1 -1
  65. package/dist/src/hooks/context-monitor.d.ts +0 -33
  66. package/dist/src/hooks/context-monitor.d.ts.map +0 -1
  67. package/dist/src/hooks/context-monitor.js +0 -128
  68. package/dist/src/hooks/context-monitor.js.map +0 -1
@@ -1,128 +0,0 @@
1
- /**
2
- * Maestro Context Monitor — PostToolUse Hook
3
- *
4
- * Reads bridge file written by statusline hook, injects warnings
5
- * into agent context when usage is high.
6
- *
7
- * Bridge file: /tmp/maestro-ctx-{session_id}.json
8
- *
9
- * Thresholds:
10
- * WARNING (remaining <= 35%) — wrap up current task
11
- * CRITICAL (remaining <= 25%) — stop and inform user
12
- *
13
- * Debounce: 5 tool calls between warnings; severity escalation bypasses it.
14
- */
15
- import { readFileSync, existsSync, writeFileSync } from 'node:fs';
16
- import { join } from 'node:path';
17
- import { tmpdir } from 'node:os';
18
- import { WARNING_THRESHOLD, CRITICAL_THRESHOLD, STALE_SECONDS, DEBOUNCE_CALLS, BRIDGE_PREFIX, } from './constants.js';
19
- import { resolveWorkspace } from './workspace.js';
20
- import { isAutoMode } from './auto-mode.js';
21
- /** Build the warning message based on severity, workflow presence, and auto mode */
22
- function buildMessage(usedPct, remaining, isCritical, hasWorkflow, autoMode) {
23
- // Auto mode (-y): never instruct the model to stop — let the chain finish
24
- if (autoMode) {
25
- return isCritical
26
- ? `CONTEXT CRITICAL: Usage at ${usedPct}%. Remaining: ${remaining}%. ` +
27
- 'Finish current chain step. Progress tracked in status.json. ' +
28
- 'Chain can resume with /maestro -c in a new session.'
29
- : `CONTEXT WARNING: Usage at ${usedPct}%. Remaining: ${remaining}%. ` +
30
- 'Finish current chain step, then stop chain. Resume with /maestro -c.';
31
- }
32
- if (isCritical) {
33
- return hasWorkflow
34
- ? `CONTEXT CRITICAL: Usage at ${usedPct}%. Remaining: ${remaining}%. ` +
35
- 'Context is nearly exhausted. Do NOT start new complex work. ' +
36
- 'State is tracked in .workflow/state.json. Inform the user so they can ' +
37
- 'decide how to proceed (e.g. /maestro -c or pause).'
38
- : `CONTEXT CRITICAL: Usage at ${usedPct}%. Remaining: ${remaining}%. ` +
39
- 'Context is nearly exhausted. Inform the user that context is low and ask how they ' +
40
- 'want to proceed. Do NOT autonomously save state or write handoff files unless asked.';
41
- }
42
- return hasWorkflow
43
- ? `CONTEXT WARNING: Usage at ${usedPct}%. Remaining: ${remaining}%. ` +
44
- 'Context is getting limited. Avoid starting new complex work. ' +
45
- 'If between plan steps, inform the user so they can prepare to pause.'
46
- : `CONTEXT WARNING: Usage at ${usedPct}%. Remaining: ${remaining}%. ` +
47
- 'Be aware that context is getting limited. Avoid unnecessary exploration or ' +
48
- 'starting new complex work.';
49
- }
50
- /**
51
- * Evaluate context metrics and return a warning if thresholds are crossed.
52
- * Returns null if no warning needed.
53
- */
54
- export function evaluateContext(data) {
55
- const sessionId = data.session_id;
56
- if (!sessionId)
57
- return null;
58
- const tmp = tmpdir();
59
- const metricsPath = join(tmp, `${BRIDGE_PREFIX}${sessionId}.json`);
60
- if (!existsSync(metricsPath))
61
- return null;
62
- const metrics = JSON.parse(readFileSync(metricsPath, 'utf8'));
63
- const now = Math.floor(Date.now() / 1000);
64
- // Stale check
65
- if (metrics.timestamp && (now - metrics.timestamp) > STALE_SECONDS)
66
- return null;
67
- const { remaining_percentage: remaining, used_pct: usedPct } = metrics;
68
- // Below threshold — no warning
69
- if (remaining > WARNING_THRESHOLD)
70
- return null;
71
- // --- Debounce ---
72
- const warnPath = join(tmp, `${BRIDGE_PREFIX}${sessionId}-warned.json`);
73
- let warnData = { callsSinceWarn: 0, lastLevel: null };
74
- let firstWarn = true;
75
- if (existsSync(warnPath)) {
76
- try {
77
- warnData = JSON.parse(readFileSync(warnPath, 'utf8'));
78
- firstWarn = false;
79
- }
80
- catch {
81
- // Corrupted — reset
82
- }
83
- }
84
- warnData.callsSinceWarn = (warnData.callsSinceWarn || 0) + 1;
85
- const isCritical = remaining <= CRITICAL_THRESHOLD;
86
- const currentLevel = isCritical ? 'critical' : 'warning';
87
- const severityEscalated = currentLevel === 'critical' && warnData.lastLevel === 'warning';
88
- if (!firstWarn && warnData.callsSinceWarn < DEBOUNCE_CALLS && !severityEscalated) {
89
- writeFileSync(warnPath, JSON.stringify(warnData));
90
- return null;
91
- }
92
- // Reset debounce
93
- warnData.callsSinceWarn = 0;
94
- warnData.lastLevel = currentLevel;
95
- writeFileSync(warnPath, JSON.stringify(warnData));
96
- // Detect maestro workflow state via workspace resolver
97
- const hasWorkflow = resolveWorkspace(data) !== null;
98
- const autoMode = hasWorkflow && isAutoMode(data);
99
- const message = buildMessage(usedPct, remaining, isCritical, hasWorkflow, autoMode);
100
- return {
101
- hookSpecificOutput: {
102
- hookEventName: 'PostToolUse',
103
- additionalContext: message,
104
- },
105
- };
106
- }
107
- /** Entry point — reads stdin JSON, writes hook output to stdout */
108
- export function runContextMonitor() {
109
- let input = '';
110
- const timeout = setTimeout(() => process.exit(0), 3000);
111
- process.stdin.setEncoding('utf8');
112
- process.stdin.on('data', (chunk) => (input += chunk));
113
- process.stdin.on('end', () => {
114
- clearTimeout(timeout);
115
- try {
116
- const data = JSON.parse(input);
117
- const result = evaluateContext(data);
118
- if (result) {
119
- process.stdout.write(JSON.stringify(result));
120
- }
121
- }
122
- catch {
123
- // Silent fail — never block tool execution
124
- process.exit(0);
125
- }
126
- });
127
- }
128
- //# sourceMappingURL=context-monitor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context-monitor.js","sourceRoot":"","sources":["../../../src/hooks/context-monitor.ts"],"names":[],"mappings":"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"}