@jterrats/open-orchestra 0.4.1 → 0.4.2-beta.2

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 (100) hide show
  1. package/AGENTS.md +5 -3
  2. package/dist/advisory-artifacts.d.ts +14 -0
  3. package/dist/advisory-artifacts.js +100 -0
  4. package/dist/advisory-artifacts.js.map +1 -0
  5. package/dist/assets/web-console.js +230 -1
  6. package/dist/autonomous-phase-lifecycle.d.ts +3 -2
  7. package/dist/autonomous-phase-lifecycle.js +28 -8
  8. package/dist/autonomous-phase-lifecycle.js.map +1 -1
  9. package/dist/autonomous-run-state.d.ts +6 -4
  10. package/dist/autonomous-run-state.js +82 -11
  11. package/dist/autonomous-run-state.js.map +1 -1
  12. package/dist/autonomous-run-store.d.ts +5 -0
  13. package/dist/autonomous-run-store.js +27 -2
  14. package/dist/autonomous-run-store.js.map +1 -1
  15. package/dist/autonomous-workflow-constants.d.ts +1 -0
  16. package/dist/autonomous-workflow-constants.js.map +1 -1
  17. package/dist/autonomous-workflow.d.ts +2 -2
  18. package/dist/autonomous-workflow.js +2 -2
  19. package/dist/autonomous-workflow.js.map +1 -1
  20. package/dist/benchmark.js +16 -0
  21. package/dist/benchmark.js.map +1 -1
  22. package/dist/clarification.d.ts +2 -0
  23. package/dist/clarification.js +23 -5
  24. package/dist/clarification.js.map +1 -1
  25. package/dist/cli.js +97 -18
  26. package/dist/cli.js.map +1 -1
  27. package/dist/command-manifest.d.ts +3 -0
  28. package/dist/command-manifest.js +17 -1
  29. package/dist/command-manifest.js.map +1 -1
  30. package/dist/commands.d.ts +10 -2
  31. package/dist/commands.js +484 -49
  32. package/dist/commands.js.map +1 -1
  33. package/dist/constants.js +13 -0
  34. package/dist/constants.js.map +1 -1
  35. package/dist/context-budget.d.ts +4 -0
  36. package/dist/context-budget.js +119 -0
  37. package/dist/context-budget.js.map +1 -0
  38. package/dist/mcp-oauth-proxy.d.ts +79 -0
  39. package/dist/mcp-oauth-proxy.js +396 -0
  40. package/dist/mcp-oauth-proxy.js.map +1 -1
  41. package/dist/memory.d.ts +11 -0
  42. package/dist/memory.js +224 -0
  43. package/dist/memory.js.map +1 -0
  44. package/dist/metrics-commands.js +9 -0
  45. package/dist/metrics-commands.js.map +1 -1
  46. package/dist/model-commands.js +18 -1
  47. package/dist/model-commands.js.map +1 -1
  48. package/dist/notifications.d.ts +25 -0
  49. package/dist/notifications.js +187 -11
  50. package/dist/notifications.js.map +1 -1
  51. package/dist/package-update-check.d.ts +19 -0
  52. package/dist/package-update-check.js +123 -0
  53. package/dist/package-update-check.js.map +1 -0
  54. package/dist/runtime-bootstrap.js +4 -2
  55. package/dist/runtime-bootstrap.js.map +1 -1
  56. package/dist/runtime-commands.js +10 -0
  57. package/dist/runtime-commands.js.map +1 -1
  58. package/dist/runtime-execution-renderer.js +5 -0
  59. package/dist/runtime-execution-renderer.js.map +1 -1
  60. package/dist/runtime-execution.d.ts +4 -2
  61. package/dist/runtime-execution.js +17 -4
  62. package/dist/runtime-execution.js.map +1 -1
  63. package/dist/setup-agents-import.d.ts +42 -0
  64. package/dist/setup-agents-import.js +337 -0
  65. package/dist/setup-agents-import.js.map +1 -0
  66. package/dist/skills-commands.d.ts +1 -0
  67. package/dist/skills-commands.js +9 -1
  68. package/dist/skills-commands.js.map +1 -1
  69. package/dist/skills.d.ts +7 -1
  70. package/dist/skills.js +120 -11
  71. package/dist/skills.js.map +1 -1
  72. package/dist/subagent-protocol.js +6 -0
  73. package/dist/subagent-protocol.js.map +1 -1
  74. package/dist/tool-commands.d.ts +2 -0
  75. package/dist/tool-commands.js +113 -13
  76. package/dist/tool-commands.js.map +1 -1
  77. package/dist/types.d.ts +163 -4
  78. package/dist/types.js.map +1 -1
  79. package/dist/web-api.js +216 -1
  80. package/dist/web-api.js.map +1 -1
  81. package/dist/web-chart-contracts.d.ts +3 -1
  82. package/dist/web-chart-contracts.js +6 -0
  83. package/dist/web-chart-contracts.js.map +1 -1
  84. package/dist/web-console.js +2 -2
  85. package/dist/workflow-services.d.ts +24 -4
  86. package/dist/workflow-services.js +478 -12
  87. package/dist/workflow-services.js.map +1 -1
  88. package/dist/workflow-templates.d.ts +1 -0
  89. package/dist/workflow-templates.js +1 -0
  90. package/dist/workflow-templates.js.map +1 -1
  91. package/dist/workspace.js +6 -0
  92. package/dist/workspace.js.map +1 -1
  93. package/docs/command-contracts.md +22 -0
  94. package/docs/mcp-oauth-proxy-evaluation.md +14 -0
  95. package/docs/runtime-adapters.md +4 -0
  96. package/docs/setup-agents-bridge.md +61 -0
  97. package/docs/traceability-flow.md +89 -0
  98. package/package.json +8 -6
  99. package/skills/proactive-orchestra/SKILL.md +27 -0
  100. package/skills/proactive-orchestra/manifest.json +41 -0
package/dist/memory.js ADDED
@@ -0,0 +1,224 @@
1
+ import { readdir, readFile } from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { FILES } from "./constants.js";
4
+ import { exists, readJson, resolveWorkflowPath } from "./fs-utils.js";
5
+ import { PROMPT_REGISTRY_DIR } from "./prompt-registry.js";
6
+ import { appendEvent } from "./workspace.js";
7
+ const DEFAULT_TOKEN_BUDGET = 900;
8
+ const MAX_LESSONS = 5;
9
+ const MAX_PROMPTS = 5;
10
+ const REDACTION_PATTERNS = [
11
+ "openai-key",
12
+ "github-token",
13
+ "slack-webhook",
14
+ "generic-secret",
15
+ ];
16
+ export async function queryMemory({ taskId, hook = "before_implementation", query, tokenBudget = DEFAULT_TOKEN_BUDGET, root = process.cwd(), }) {
17
+ const task = taskId ? await readTask(root, taskId) : undefined;
18
+ const queryTerms = uniqueTerms([
19
+ hook.replace(/_/g, " "),
20
+ query,
21
+ task?.id,
22
+ task?.title,
23
+ task?.goal,
24
+ task?.scope,
25
+ task?.testStrategy,
26
+ ...(task?.paths ?? []),
27
+ ...(task?.acceptanceCriteria ?? []),
28
+ ...(task?.risks ?? []),
29
+ ]);
30
+ const lessons = (await readLessons(root))
31
+ .map((lesson) => scoreLesson(lesson, queryTerms, taskId))
32
+ .filter((item) => Boolean(item))
33
+ .sort(byScoreThenRecent)
34
+ .slice(0, MAX_LESSONS);
35
+ const prompts = (await readPromptEntries(root))
36
+ .map((prompt) => scorePrompt(prompt, queryTerms))
37
+ .filter((item) => Boolean(item))
38
+ .sort((left, right) => right.score - left.score)
39
+ .slice(0, MAX_PROMPTS);
40
+ return trimPacket({
41
+ ...(taskId ? { taskId } : {}),
42
+ hook,
43
+ queryTerms,
44
+ tokenBudget,
45
+ estimatedTokens: 0,
46
+ lessons,
47
+ prompts,
48
+ redaction: {
49
+ applied: false,
50
+ patterns: REDACTION_PATTERNS,
51
+ },
52
+ });
53
+ }
54
+ export async function recordMemoryEvent(root, packet, type) {
55
+ if (!(await exists(resolveWorkflowPath(root, FILES.config)))) {
56
+ return undefined;
57
+ }
58
+ return appendEvent(root, {
59
+ type,
60
+ ...(packet.taskId ? { taskId: packet.taskId } : {}),
61
+ actor: "parent",
62
+ summary: `${packet.hook} memory packet (${packet.estimatedTokens}/${packet.tokenBudget} tokens)`,
63
+ metadata: {
64
+ hook: packet.hook,
65
+ tokenBudget: packet.tokenBudget,
66
+ estimatedTokens: packet.estimatedTokens,
67
+ lessonCount: packet.lessons.length,
68
+ promptCount: packet.prompts.length,
69
+ queryTerms: packet.queryTerms.slice(0, 12),
70
+ redacted: packet.redaction.applied,
71
+ },
72
+ });
73
+ }
74
+ export function renderMemoryPacket(packet) {
75
+ return [
76
+ "## Compact Memory",
77
+ `- Hook: ${packet.hook}`,
78
+ `- Estimated tokens: ${packet.estimatedTokens}/${packet.tokenBudget}`,
79
+ "",
80
+ "### Relevant Lessons",
81
+ ...(packet.lessons.length === 0
82
+ ? ["- none"]
83
+ : packet.lessons.map((lesson) => `- ${lesson.operation}: ${lesson.errorSignature}; fix=${lesson.fix}; prevent=${lesson.prevention}`)),
84
+ "",
85
+ "### Prompt Registry",
86
+ ...(packet.prompts.length === 0
87
+ ? ["- none"]
88
+ : packet.prompts.map((prompt) => `- ${prompt.file}#${prompt.artifact}: ${prompt.summary}`)),
89
+ ].join("\n");
90
+ }
91
+ async function readTask(root, taskId) {
92
+ const tasks = await readJson(resolveWorkflowPath(root, FILES.tasks), []).catch(() => []);
93
+ return tasks.find((task) => task.id === taskId);
94
+ }
95
+ async function readLessons(root) {
96
+ const file = resolveWorkflowPath(root, FILES.agentLessons);
97
+ if (!(await exists(file)))
98
+ return [];
99
+ const content = await readFile(file, "utf8");
100
+ return content
101
+ .split("\n")
102
+ .filter((line) => line.trim() !== "")
103
+ .map((line) => JSON.parse(line));
104
+ }
105
+ async function readPromptEntries(root) {
106
+ const registryRoot = path.join(root, PROMPT_REGISTRY_DIR);
107
+ if (!(await exists(registryRoot)))
108
+ return [];
109
+ const files = (await readdir(registryRoot)).filter((file) => file.endsWith(".md"));
110
+ const entries = [];
111
+ for (const file of files) {
112
+ const content = await readFile(path.join(registryRoot, file), "utf8");
113
+ const maintained = content.split("<!-- Entries below this line are maintained by agents -->")[1];
114
+ if (!maintained)
115
+ continue;
116
+ const matches = maintained
117
+ .split(/\n(?=##\s+)/)
118
+ .map((section) => /^##\s+(.+)\n([\s\S]*)$/.exec(section));
119
+ for (const match of matches) {
120
+ if (!match)
121
+ continue;
122
+ const artifact = match[1]?.trim();
123
+ const body = match[2]?.trim();
124
+ if (artifact && body) {
125
+ entries.push({ file, artifact, body });
126
+ }
127
+ }
128
+ }
129
+ return entries;
130
+ }
131
+ function scoreLesson(lesson, terms, taskId) {
132
+ const text = JSON.stringify(lesson).toLowerCase();
133
+ const score = matchScore(text, terms) +
134
+ (taskId && lesson.taskId === taskId ? 8 : 0) +
135
+ lesson.appliesTo.filter((item) => terms.some((term) => item.toLowerCase().includes(term))).length;
136
+ if (score <= 0)
137
+ return null;
138
+ return {
139
+ type: "lesson",
140
+ score,
141
+ operation: redact(lesson.operation),
142
+ errorSignature: redact(lesson.errorSignature),
143
+ fix: redact(lesson.fix),
144
+ prevention: redact(lesson.prevention),
145
+ appliesTo: lesson.appliesTo.map(redact),
146
+ ...(lesson.taskId ? { taskId: lesson.taskId } : {}),
147
+ timestamp: lesson.timestamp,
148
+ };
149
+ }
150
+ function scorePrompt(prompt, terms) {
151
+ const text = `${prompt.file} ${prompt.artifact} ${prompt.body}`.toLowerCase();
152
+ const score = matchScore(text, terms);
153
+ if (score <= 0)
154
+ return null;
155
+ return {
156
+ type: "prompt",
157
+ score,
158
+ file: prompt.file,
159
+ artifact: redact(prompt.artifact),
160
+ summary: summarize(redact(prompt.body)),
161
+ };
162
+ }
163
+ function trimPacket(packet) {
164
+ const redacted = JSON.stringify(packet).includes("[REDACTED]");
165
+ const lessons = [...packet.lessons];
166
+ const prompts = [...packet.prompts];
167
+ let estimatedTokens = estimateTokens({ ...packet, lessons, prompts });
168
+ while (estimatedTokens > packet.tokenBudget &&
169
+ (prompts.length || lessons.length)) {
170
+ if (prompts.length >= lessons.length) {
171
+ prompts.pop();
172
+ }
173
+ else {
174
+ lessons.pop();
175
+ }
176
+ estimatedTokens = estimateTokens({ ...packet, lessons, prompts });
177
+ }
178
+ return {
179
+ ...packet,
180
+ lessons,
181
+ prompts,
182
+ estimatedTokens,
183
+ redaction: { ...packet.redaction, applied: redacted },
184
+ };
185
+ }
186
+ function estimateTokens(value) {
187
+ return Math.ceil(JSON.stringify(value).length / 4);
188
+ }
189
+ function uniqueTerms(values) {
190
+ const stop = new Set([
191
+ "the",
192
+ "and",
193
+ "for",
194
+ "with",
195
+ "task",
196
+ "before",
197
+ "after",
198
+ "none",
199
+ ]);
200
+ return Array.from(new Set(values
201
+ .join(" ")
202
+ .toLowerCase()
203
+ .split(/[^a-z0-9_-]+/)
204
+ .filter((term) => term.length >= 3 && !stop.has(term)))).slice(0, 30);
205
+ }
206
+ function matchScore(text, terms) {
207
+ return terms.reduce((score, term) => score + (text.includes(term) ? 1 : 0), 0);
208
+ }
209
+ function summarize(value) {
210
+ const compact = value.replace(/\s+/g, " ").trim();
211
+ return compact.length > 240 ? `${compact.slice(0, 237)}...` : compact;
212
+ }
213
+ function redact(value) {
214
+ return value
215
+ .replace(/sk-[A-Za-z0-9_-]{8,}/g, "[REDACTED]")
216
+ .replace(/gh[pousr]_[A-Za-z0-9_]{8,}/g, "[REDACTED]")
217
+ .replace(/xox[baprs]-[A-Za-z0-9-]{8,}/g, "[REDACTED]")
218
+ .replace(/https:\/\/hooks\.slack\.com\/services\/\S+/g, "[REDACTED]")
219
+ .replace(/(?:secret|token|password)=\S+/gi, "$1=[REDACTED]");
220
+ }
221
+ function byScoreThenRecent(left, right) {
222
+ return (right.score - left.score || right.timestamp.localeCompare(left.timestamp));
223
+ }
224
+ //# sourceMappingURL=memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"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"}
@@ -91,6 +91,15 @@ export async function benchmarkCommand(options, io) {
91
91
  io.log(` vs AI: ${result.vsAiUnguidedPct !== null ? `${result.vsAiUnguidedPct > 0 ? "+" : ""}${result.vsAiUnguidedPct}%` : "—"}`);
92
92
  }
93
93
  io.log(` QA loops: ${result.qaIterations}`);
94
+ if (result.phaseDurations.length > 0) {
95
+ io.log(` Phase durations:`);
96
+ for (const phase of result.phaseDurations) {
97
+ const duration = phase.durationMs !== null
98
+ ? `${Math.round(phase.durationMs / 1000)}s`
99
+ : "pending";
100
+ io.log(` - ${phase.phase}: ${duration}`);
101
+ }
102
+ }
94
103
  io.log(` Reviews: ${result.quality.reviewCount} (${result.quality.blockingReviews} blocking)`);
95
104
  io.log(` Evidence: ${result.quality.evidenceCount} artifacts`);
96
105
  io.log(` Gate blocks: ${result.quality.gateBlockCount}`);
@@ -1 +1 @@
1
- {"version":3,"file":"metrics-commands.js","sourceRoot":"","sources":["../src/metrics-commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics-commands.js","sourceRoot":"","sources":["../src/metrics-commands.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { requireArg } from "./args.js";
2
2
  import { parseCsv, removeUndefined, stringOption, } from "./command-utils.js";
3
- import { approveApproval, checkUsageBudget, completeWithProviderFallback, getUsageReport, getWorkflowConfig, listApprovals, listConfiguredModelProviders, listModelProvenance, recordModelProvenance, rejectApproval, setRoleModelProvider, showApproval, } from "./workflow-services.js";
3
+ import { approveApproval, checkBudgetEstimatePreflight, checkUsageBudget, completeWithProviderFallback, getUsageReport, getWorkflowConfig, listApprovals, listConfiguredModelProviders, listModelProvenance, recordModelProvenance, rejectApproval, setRoleModelProvider, showApproval, } from "./workflow-services.js";
4
4
  export async function usageCommand(options, io) {
5
5
  const report = await getUsageReport(stringOption(options.task));
6
6
  if (options.json) {
@@ -10,6 +10,23 @@ export async function usageCommand(options, io) {
10
10
  io.log(renderUsageReport(report));
11
11
  }
12
12
  export async function budgetCheckCommand(options, io) {
13
+ const estimatedCostUsd = stringOption(options["estimate-cost"]);
14
+ if (estimatedCostUsd) {
15
+ const result = await checkBudgetEstimatePreflight(requireArg(options, "task"), numberOption(estimatedCostUsd, 0));
16
+ if (options.json) {
17
+ io.log(JSON.stringify(result, null, 2));
18
+ }
19
+ else {
20
+ io.log(renderBudgetCheck(result.budget));
21
+ for (const warning of result.warnings) {
22
+ io.log(`WARNING: ${warning.scope} estimatedCostUsd is ${warning.actual}/${warning.limit} (${warning.thresholdPercent}% threshold)`);
23
+ }
24
+ }
25
+ if (!result.passed) {
26
+ throw new Error("budget check failed");
27
+ }
28
+ return;
29
+ }
13
30
  const result = await checkUsageBudget(stringOption(options.task));
14
31
  if (options.json) {
15
32
  io.log(JSON.stringify(result, null, 2));
@@ -1 +1 @@
1
- {"version":3,"file":"model-commands.js","sourceRoot":"","sources":["../src/model-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EACL,QAAQ,EACR,eAAe,EACf,YAAY,GAEb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,4BAA4B,EAC5B,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,4BAA4B,EAC5B,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,oBAAoB,EACpB,YAAY,GACb,MAAM,wBAAwB,CAAC;AAUhC,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAmB,EACnB,EAAS;IAET,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IACD,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;AACpC,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAmB,EACnB,EAAS;IAET,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAClE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAmB,EACnB,EAAS;IAET,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAClE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3C,OAAO;IACT,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACvB,OAAO;IACT,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,EAAE,CAAC,GAAG,CACJ,GAAG,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,IAAI,SAAS,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAC3F,CAAC;IACJ,CAAC;AACH,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAmB,EACnB,EAAS;IAET,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAC/D,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IACD,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAAmB,EACnB,EAAS;IAET,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IACvE,EAAE,CAAC,GAAG,CAAC,YAAY,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAmB,EACnB,EAAS;IAET,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IACtE,EAAE,CAAC,GAAG,CAAC,YAAY,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAmB,EACnB,EAAS;IAET,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC;IACzC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IACD,EAAE,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3D,EAAE,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAmB,EACnB,EAAS;IAET,MAAM,SAAS,GAAG,MAAM,4BAA4B,EAAE,CAAC;IACvD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3C,OAAO;IACT,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,EAAE,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,EAAE,CAAC,GAAG,CACJ,GAAG,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,SAAS,KAAK,CACtF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAmB,EACnB,EAAS;IAET,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1C,EAAE,CAAC,GAAG,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,OAAmB,EACnB,EAAS;IAET,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC;QACzC,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC;QACjC,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC;QACjC,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC;QACzC,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC;QACnC,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC;QAC1C,UAAU,EAAE,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC;QAC9C,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACrD,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QACvD,gBAAgB,EAAE,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAChE,YAAY,EAAE,UAAU,CAAC,OAAO,EAAE,eAAe,CAItC;KACZ,CAAC,CAAC;IACH,EAAE,CAAC,GAAG,CAAC,6BAA6B,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAAmB,EACnB,EAAS;IAET,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO;IACT,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAC9B,OAAO;IACT,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,EAAE,CAAC,GAAG,CACJ,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,UAAU,EAAE,CACxF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAAmB,EACnB,EAAS;IAET,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAC/C;QACE,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC;QACzC,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC;QACnC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;QACtC,SAAS,EAAE,CAAC;QACZ,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,CAAC;QACV,oBAAoB,EAAE,EAAE;KACzB,EACD,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,EAC7B,eAAe,CAAC;QACd,gBAAgB,EAAE,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACpD,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC;QAClC,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,QAAQ;KAC7C,CAAC,CACH,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IACD,EAAE,CAAC,GAAG,CACJ,wBAAwB,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,aAAa,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAClG,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAmB;IAC/C,OAAO;QACL,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC;QACzC,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC;QACnC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;QACtC,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACjD,UAAU,EAAE,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACpD,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC;QACrD,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,oBAAoB,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC;KACrD,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAmB;IAChD,OAAO;QACL,EAAE,EAAE,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC;QAC7B,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC;QACzC,SAAS,EAAE,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAkB,EAAE,QAAgB;IACxD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAmB;IAC5C,OAAO;QACL,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;QACtD,eAAe,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;QACvC,mBAAmB,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;QAC9C,oBAAoB,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE;QAChD,mBAAmB,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;QAC9C,yBAAyB,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE;QACzD,EAAE;QACF,UAAU;QACV,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC;QAC5B,EAAE;QACF,cAAc;QACd,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC;KACjC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAyB;IAClD,OAAO;QACL,eAAe,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KACzD,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAC7B,EAAE;QACF,sBACE,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;YAC9B,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;YAClC,CAAC,CAAC,MACN,EAAE;QACF,eAAe,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE;QAC7C,mBAAmB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE;QACpD,yBAAyB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE;QAC/D,EAAE;QACF,aAAa;QACb,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;YAChC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACZ,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CACnB,CAAC,SAAS,EAAE,EAAE,CACZ,KAAK,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,MAAM,SAAS,CAAC,KAAK,EAAE,CACvF,CAAC;KACP,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,KAA4B;IAC9C,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;QACvB,CAAC,CAAC,CAAC,QAAQ,CAAC;QACZ,CAAC,CAAC,KAAK,CAAC,GAAG,CACP,CAAC,IAAI,EAAE,EAAE,CACP,KAAK,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,QAAQ,cAAc,IAAI,CAAC,WAAW,aAAa,IAAI,CAAC,gBAAgB,EAAE,CACpG,CAAC;AACR,CAAC"}
1
+ {"version":3,"file":"model-commands.js","sourceRoot":"","sources":["../src/model-commands.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,18 @@ export interface GatePauseNotificationInput {
5
5
  transitionKey: string;
6
6
  reviewArtifact: string;
7
7
  }
8
+ export type WorkflowNotificationKind = "done" | "failed" | "qa_retry" | "critical_blocking_review";
9
+ export interface WorkflowLifecycleNotificationInput {
10
+ root: string;
11
+ taskId: string;
12
+ kind: WorkflowNotificationKind;
13
+ runId?: string;
14
+ phase?: string;
15
+ actor?: string;
16
+ detail: string;
17
+ artifact?: string;
18
+ idempotencyKey?: string;
19
+ }
8
20
  export interface NotificationTransports {
9
21
  postSlack?: (webhookUrl: string, body: SlackPayload) => Promise<void>;
10
22
  commentOnIssue?: (issue: string, body: string) => Promise<void>;
@@ -16,6 +28,17 @@ interface GatePauseMessage {
16
28
  reviewArtifact: string;
17
29
  resumeCommand: string;
18
30
  }
31
+ interface WorkflowLifecycleMessage {
32
+ taskId: string;
33
+ taskTitle: string;
34
+ kind: WorkflowNotificationKind;
35
+ headline: string;
36
+ detail: string;
37
+ runId?: string;
38
+ phase?: string;
39
+ actor?: string;
40
+ artifact?: string;
41
+ }
19
42
  interface SlackPayload {
20
43
  text: string;
21
44
  blocks: Array<{
@@ -27,5 +50,7 @@ interface SlackPayload {
27
50
  }>;
28
51
  }
29
52
  export declare function notifyGatePaused(input: GatePauseNotificationInput, transports?: NotificationTransports): Promise<NotificationChannelResult[]>;
53
+ export declare function notifyWorkflowLifecycle(input: WorkflowLifecycleNotificationInput, transports?: NotificationTransports): Promise<NotificationChannelResult[]>;
30
54
  export declare function buildGatePauseMessage(input: GatePauseNotificationInput): Promise<GatePauseMessage>;
55
+ export declare function buildWorkflowLifecycleMessage(input: WorkflowLifecycleNotificationInput): Promise<WorkflowLifecycleMessage>;
31
56
  export {};