forge-cc 0.1.41 → 1.0.1

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 (203) hide show
  1. package/README.md +454 -338
  2. package/dist/cli.js +194 -935
  3. package/dist/cli.js.map +1 -1
  4. package/dist/config/loader.d.ts +1 -1
  5. package/dist/config/loader.js +49 -56
  6. package/dist/config/loader.js.map +1 -1
  7. package/dist/config/schema.d.ts +37 -125
  8. package/dist/config/schema.js +13 -28
  9. package/dist/config/schema.js.map +1 -1
  10. package/dist/doctor.d.ts +10 -0
  11. package/dist/doctor.js +148 -0
  12. package/dist/doctor.js.map +1 -0
  13. package/dist/gates/index.d.ts +14 -12
  14. package/dist/gates/index.js +53 -105
  15. package/dist/gates/index.js.map +1 -1
  16. package/dist/gates/lint-gate.d.ts +2 -2
  17. package/dist/gates/lint-gate.js +60 -66
  18. package/dist/gates/lint-gate.js.map +1 -1
  19. package/dist/gates/tests-gate.d.ts +2 -4
  20. package/dist/gates/tests-gate.js +75 -203
  21. package/dist/gates/tests-gate.js.map +1 -1
  22. package/dist/gates/types-gate.d.ts +2 -2
  23. package/dist/gates/types-gate.js +53 -59
  24. package/dist/gates/types-gate.js.map +1 -1
  25. package/dist/linear/client.d.ts +31 -108
  26. package/dist/linear/client.js +88 -388
  27. package/dist/linear/client.js.map +1 -1
  28. package/dist/linear/sync.d.ts +15 -0
  29. package/dist/linear/sync.js +102 -0
  30. package/dist/linear/sync.js.map +1 -0
  31. package/dist/runner/loop.d.ts +4 -0
  32. package/dist/runner/loop.js +168 -0
  33. package/dist/runner/loop.js.map +1 -0
  34. package/dist/runner/prompt.d.ts +14 -0
  35. package/dist/runner/prompt.js +59 -0
  36. package/dist/runner/prompt.js.map +1 -0
  37. package/dist/runner/update.d.ts +1 -0
  38. package/dist/runner/update.js +72 -0
  39. package/dist/runner/update.js.map +1 -0
  40. package/dist/server.d.ts +6 -2
  41. package/dist/server.js +43 -101
  42. package/dist/server.js.map +1 -1
  43. package/dist/setup.d.ts +5 -0
  44. package/dist/setup.js +208 -0
  45. package/dist/setup.js.map +1 -0
  46. package/dist/state/cache.d.ts +3 -0
  47. package/dist/state/cache.js +23 -0
  48. package/dist/state/cache.js.map +1 -0
  49. package/dist/state/status.d.ts +66 -0
  50. package/dist/state/status.js +96 -0
  51. package/dist/state/status.js.map +1 -0
  52. package/dist/types.d.ts +46 -114
  53. package/dist/worktree/manager.d.ts +6 -103
  54. package/dist/worktree/manager.js +25 -296
  55. package/dist/worktree/manager.js.map +1 -1
  56. package/hooks/pre-commit-verify.js +109 -109
  57. package/package.json +5 -3
  58. package/skills/forge-go.md +20 -13
  59. package/skills/forge-setup.md +149 -388
  60. package/skills/forge-spec.md +367 -342
  61. package/skills/forge-triage.md +179 -133
  62. package/skills/forge-update.md +87 -93
  63. package/dist/gates/codex-gate.d.ts +0 -51
  64. package/dist/gates/codex-gate.js +0 -121
  65. package/dist/gates/codex-gate.js.map +0 -1
  66. package/dist/gates/prd-gate.d.ts +0 -7
  67. package/dist/gates/prd-gate.js +0 -193
  68. package/dist/gates/prd-gate.js.map +0 -1
  69. package/dist/gates/remediation.d.ts +0 -46
  70. package/dist/gates/remediation.js +0 -423
  71. package/dist/gates/remediation.js.map +0 -1
  72. package/dist/gates/review-gate.d.ts +0 -16
  73. package/dist/gates/review-gate.js +0 -479
  74. package/dist/gates/review-gate.js.map +0 -1
  75. package/dist/gates/runtime-gate.d.ts +0 -5
  76. package/dist/gates/runtime-gate.js +0 -99
  77. package/dist/gates/runtime-gate.js.map +0 -1
  78. package/dist/gates/test-analysis.d.ts +0 -21
  79. package/dist/gates/test-analysis.js +0 -394
  80. package/dist/gates/test-analysis.js.map +0 -1
  81. package/dist/gates/visual-capture.d.ts +0 -24
  82. package/dist/gates/visual-capture.js +0 -144
  83. package/dist/gates/visual-capture.js.map +0 -1
  84. package/dist/gates/visual-gate.d.ts +0 -18
  85. package/dist/gates/visual-gate.js +0 -234
  86. package/dist/gates/visual-gate.js.map +0 -1
  87. package/dist/gates/visual-reviewer.d.ts +0 -11
  88. package/dist/gates/visual-reviewer.js +0 -211
  89. package/dist/gates/visual-reviewer.js.map +0 -1
  90. package/dist/go/auto-chain.d.ts +0 -136
  91. package/dist/go/auto-chain.js +0 -389
  92. package/dist/go/auto-chain.js.map +0 -1
  93. package/dist/go/executor.d.ts +0 -137
  94. package/dist/go/executor.js +0 -447
  95. package/dist/go/executor.js.map +0 -1
  96. package/dist/go/finalize.d.ts +0 -108
  97. package/dist/go/finalize.js +0 -331
  98. package/dist/go/finalize.js.map +0 -1
  99. package/dist/go/linear-sync-cli.d.ts +0 -55
  100. package/dist/go/linear-sync-cli.js +0 -192
  101. package/dist/go/linear-sync-cli.js.map +0 -1
  102. package/dist/go/linear-sync.d.ts +0 -112
  103. package/dist/go/linear-sync.js +0 -375
  104. package/dist/go/linear-sync.js.map +0 -1
  105. package/dist/go/prd-queue.d.ts +0 -43
  106. package/dist/go/prd-queue.js +0 -67
  107. package/dist/go/prd-queue.js.map +0 -1
  108. package/dist/go/prd-selector.d.ts +0 -57
  109. package/dist/go/prd-selector.js +0 -101
  110. package/dist/go/prd-selector.js.map +0 -1
  111. package/dist/go/verify-loop.d.ts +0 -64
  112. package/dist/go/verify-loop.js +0 -327
  113. package/dist/go/verify-loop.js.map +0 -1
  114. package/dist/hooks/pre-commit.d.ts +0 -5
  115. package/dist/hooks/pre-commit.js +0 -75
  116. package/dist/hooks/pre-commit.js.map +0 -1
  117. package/dist/linear/issues.d.ts +0 -22
  118. package/dist/linear/issues.js +0 -51
  119. package/dist/linear/issues.js.map +0 -1
  120. package/dist/linear/milestones.d.ts +0 -11
  121. package/dist/linear/milestones.js +0 -32
  122. package/dist/linear/milestones.js.map +0 -1
  123. package/dist/linear/projects.d.ts +0 -16
  124. package/dist/linear/projects.js +0 -51
  125. package/dist/linear/projects.js.map +0 -1
  126. package/dist/reporter/human.d.ts +0 -7
  127. package/dist/reporter/human.js +0 -93
  128. package/dist/reporter/human.js.map +0 -1
  129. package/dist/reporter/json.d.ts +0 -2
  130. package/dist/reporter/json.js +0 -4
  131. package/dist/reporter/json.js.map +0 -1
  132. package/dist/setup/structural-templates.d.ts +0 -12
  133. package/dist/setup/structural-templates.js +0 -288
  134. package/dist/setup/structural-templates.js.map +0 -1
  135. package/dist/setup/templates.d.ts +0 -17
  136. package/dist/setup/templates.js +0 -109
  137. package/dist/setup/templates.js.map +0 -1
  138. package/dist/setup/test-planner.d.ts +0 -38
  139. package/dist/setup/test-planner.js +0 -91
  140. package/dist/setup/test-planner.js.map +0 -1
  141. package/dist/setup/test-scaffold.d.ts +0 -31
  142. package/dist/setup/test-scaffold.js +0 -209
  143. package/dist/setup/test-scaffold.js.map +0 -1
  144. package/dist/setup/test-templates.d.ts +0 -37
  145. package/dist/setup/test-templates.js +0 -313
  146. package/dist/setup/test-templates.js.map +0 -1
  147. package/dist/spec/generator.d.ts +0 -34
  148. package/dist/spec/generator.js +0 -227
  149. package/dist/spec/generator.js.map +0 -1
  150. package/dist/spec/interview.d.ts +0 -142
  151. package/dist/spec/interview.js +0 -287
  152. package/dist/spec/interview.js.map +0 -1
  153. package/dist/spec/linear-sync.d.ts +0 -48
  154. package/dist/spec/linear-sync.js +0 -125
  155. package/dist/spec/linear-sync.js.map +0 -1
  156. package/dist/spec/scanner.d.ts +0 -79
  157. package/dist/spec/scanner.js +0 -566
  158. package/dist/spec/scanner.js.map +0 -1
  159. package/dist/spec/templates.d.ts +0 -375
  160. package/dist/spec/templates.js +0 -95
  161. package/dist/spec/templates.js.map +0 -1
  162. package/dist/state/prd-status.d.ts +0 -62
  163. package/dist/state/prd-status.js +0 -122
  164. package/dist/state/prd-status.js.map +0 -1
  165. package/dist/state/reader.d.ts +0 -7
  166. package/dist/state/reader.js +0 -43
  167. package/dist/state/reader.js.map +0 -1
  168. package/dist/state/writer.d.ts +0 -21
  169. package/dist/state/writer.js +0 -106
  170. package/dist/state/writer.js.map +0 -1
  171. package/dist/team/consensus.d.ts +0 -28
  172. package/dist/team/consensus.js +0 -130
  173. package/dist/team/consensus.js.map +0 -1
  174. package/dist/team/index.d.ts +0 -4
  175. package/dist/team/index.js +0 -5
  176. package/dist/team/index.js.map +0 -1
  177. package/dist/team/lifecycle.d.ts +0 -37
  178. package/dist/team/lifecycle.js +0 -92
  179. package/dist/team/lifecycle.js.map +0 -1
  180. package/dist/team/reviewer.d.ts +0 -10
  181. package/dist/team/reviewer.js +0 -345
  182. package/dist/team/reviewer.js.map +0 -1
  183. package/dist/team/types.d.ts +0 -269
  184. package/dist/team/types.js +0 -70
  185. package/dist/team/types.js.map +0 -1
  186. package/dist/utils/browser.d.ts +0 -10
  187. package/dist/utils/browser.js +0 -96
  188. package/dist/utils/browser.js.map +0 -1
  189. package/dist/utils/platform.d.ts +0 -29
  190. package/dist/utils/platform.js +0 -90
  191. package/dist/utils/platform.js.map +0 -1
  192. package/dist/worktree/identity.d.ts +0 -9
  193. package/dist/worktree/identity.js +0 -32
  194. package/dist/worktree/identity.js.map +0 -1
  195. package/dist/worktree/parallel.d.ts +0 -87
  196. package/dist/worktree/parallel.js +0 -328
  197. package/dist/worktree/parallel.js.map +0 -1
  198. package/dist/worktree/session.d.ts +0 -67
  199. package/dist/worktree/session.js +0 -194
  200. package/dist/worktree/session.js.map +0 -1
  201. package/dist/worktree/state-merge.d.ts +0 -43
  202. package/dist/worktree/state-merge.js +0 -162
  203. package/dist/worktree/state-merge.js.map +0 -1
@@ -1,345 +0,0 @@
1
- import { execSync } from "node:child_process";
2
- import { readFileSync, existsSync } from "node:fs";
3
- import { join } from "node:path";
4
- // ---------------------------------------------------------------------------
5
- // Diff Parsing (local copy — review-gate.ts does not export these)
6
- // ---------------------------------------------------------------------------
7
- const DIFF_FILE_RE = /^diff --git a\/(.+?) b\/(.+?)$/;
8
- const HUNK_HEADER_RE = /^@@ -\d+(?:,\d+)? \+(\d+)(?:,\d+)? @@/;
9
- function parseDiffHunks(diffContent) {
10
- const lines = diffContent.split("\n");
11
- const hunks = [];
12
- let currentFile = "";
13
- let currentHunk = null;
14
- let currentLine = 0;
15
- for (const line of lines) {
16
- // New file header
17
- const fileMatch = line.match(DIFF_FILE_RE);
18
- if (fileMatch) {
19
- if (currentHunk)
20
- hunks.push(currentHunk);
21
- currentFile = fileMatch[2];
22
- currentHunk = null;
23
- continue;
24
- }
25
- // New hunk header
26
- const hunkMatch = line.match(HUNK_HEADER_RE);
27
- if (hunkMatch) {
28
- if (currentHunk)
29
- hunks.push(currentHunk);
30
- currentLine = parseInt(hunkMatch[1], 10);
31
- currentHunk = {
32
- file: currentFile,
33
- startLine: currentLine,
34
- content: "",
35
- addedLines: [],
36
- removedLines: [],
37
- };
38
- continue;
39
- }
40
- if (!currentHunk)
41
- continue;
42
- currentHunk.content += line + "\n";
43
- if (line.startsWith("+") && !line.startsWith("+++")) {
44
- currentHunk.addedLines.push({ line: currentLine, text: line.slice(1) });
45
- currentLine++;
46
- }
47
- else if (line.startsWith("-") && !line.startsWith("---")) {
48
- currentHunk.removedLines.push({
49
- line: currentLine,
50
- text: line.slice(1),
51
- });
52
- // Removed lines don't advance the new-file line counter
53
- }
54
- else {
55
- // Context line
56
- currentLine++;
57
- }
58
- }
59
- if (currentHunk)
60
- hunks.push(currentHunk);
61
- return hunks;
62
- }
63
- // ---------------------------------------------------------------------------
64
- // Diff Retrieval
65
- // ---------------------------------------------------------------------------
66
- function getDiffContent(projectDir, baseBranch) {
67
- const execOpts = { cwd: projectDir, encoding: "utf-8", timeout: 30_000 };
68
- // Try diff against base branch first if provided
69
- if (baseBranch) {
70
- try {
71
- const diff = execSync(`git diff ${baseBranch}...HEAD`, execOpts);
72
- if (diff.trim())
73
- return diff;
74
- }
75
- catch {
76
- // Fall through to other strategies
77
- }
78
- }
79
- // Try HEAD~1 (last commit's diff)
80
- try {
81
- const diff = execSync("git diff HEAD~1", execOpts);
82
- if (diff.trim())
83
- return diff;
84
- }
85
- catch {
86
- // Fall through
87
- }
88
- // Try staged changes
89
- try {
90
- const diff = execSync("git diff --cached", execOpts);
91
- if (diff.trim())
92
- return diff;
93
- }
94
- catch {
95
- // Fall through
96
- }
97
- // Try unstaged changes
98
- try {
99
- const diff = execSync("git diff", execOpts);
100
- if (diff.trim())
101
- return diff;
102
- }
103
- catch {
104
- // Nothing available
105
- }
106
- return null;
107
- }
108
- // ---------------------------------------------------------------------------
109
- // PRD Checklist Extraction
110
- // ---------------------------------------------------------------------------
111
- function extractPrdChecklist(prdPath, projectDir) {
112
- const checklist = [];
113
- if (!prdPath)
114
- return checklist;
115
- const resolvedPath = prdPath.startsWith("/") || prdPath.includes(":")
116
- ? prdPath
117
- : join(projectDir, prdPath);
118
- if (!existsSync(resolvedPath))
119
- return checklist;
120
- try {
121
- const content = readFileSync(resolvedPath, "utf-8");
122
- const lines = content.split("\n");
123
- let currentSection = "General";
124
- for (const line of lines) {
125
- const trimmed = line.trim();
126
- // Track section headings (## or ###)
127
- const headingMatch = trimmed.match(/^#{2,3}\s+(.+)/);
128
- if (headingMatch) {
129
- currentSection = headingMatch[1].trim();
130
- continue;
131
- }
132
- // Unchecked checkbox lines: - [ ] ...
133
- const checkboxMatch = trimmed.match(/^-\s+\[ \]\s+(.+)/);
134
- if (checkboxMatch) {
135
- checklist.push({
136
- text: checkboxMatch[1].trim(),
137
- section: currentSection,
138
- });
139
- }
140
- }
141
- }
142
- catch {
143
- // PRD unreadable -- skip
144
- }
145
- return checklist;
146
- }
147
- // ---------------------------------------------------------------------------
148
- // Finding ID Generator
149
- // ---------------------------------------------------------------------------
150
- function generateFindingId() {
151
- return "f-" + Math.random().toString(36).slice(2, 8);
152
- }
153
- // ---------------------------------------------------------------------------
154
- // Keyword Extraction (for PRD criterion matching)
155
- // ---------------------------------------------------------------------------
156
- const STOP_WORDS = new Set([
157
- "the",
158
- "and",
159
- "for",
160
- "are",
161
- "but",
162
- "not",
163
- "you",
164
- "all",
165
- "can",
166
- "has",
167
- "her",
168
- "was",
169
- "one",
170
- "our",
171
- "out",
172
- "its",
173
- "his",
174
- "how",
175
- "may",
176
- "who",
177
- "did",
178
- "get",
179
- "let",
180
- "say",
181
- "she",
182
- "too",
183
- "use",
184
- "way",
185
- "each",
186
- "which",
187
- "their",
188
- "will",
189
- "other",
190
- "about",
191
- "many",
192
- "then",
193
- "them",
194
- "been",
195
- "have",
196
- "from",
197
- "with",
198
- "they",
199
- "this",
200
- "that",
201
- "what",
202
- "when",
203
- "make",
204
- "like",
205
- "just",
206
- "over",
207
- "such",
208
- "take",
209
- "into",
210
- "than",
211
- "most",
212
- "also",
213
- "should",
214
- "would",
215
- "could",
216
- "must",
217
- "shall",
218
- "might",
219
- "does",
220
- "display",
221
- "show",
222
- "page",
223
- "user",
224
- "view",
225
- "click",
226
- "able",
227
- "ensure",
228
- "given",
229
- ]);
230
- function extractKeywords(text) {
231
- return text
232
- .toLowerCase()
233
- .replace(/[^a-z0-9\s-]/g, " ")
234
- .split(/\s+/)
235
- .filter((w) => w.length >= 3 && !STOP_WORDS.has(w));
236
- }
237
- // ---------------------------------------------------------------------------
238
- // Main: reviewWaveDiff
239
- // ---------------------------------------------------------------------------
240
- function reviewWaveDiff(options) {
241
- const { projectDir, prdPath, baseBranch } = options;
242
- const findings = [];
243
- // 1. Get diff content
244
- const diffContent = getDiffContent(projectDir, baseBranch);
245
- if (!diffContent)
246
- return findings;
247
- // 2. Parse into hunks
248
- const hunks = parseDiffHunks(diffContent);
249
- if (hunks.length === 0)
250
- return findings;
251
- // 3. Extract PRD checklist
252
- const prdChecklist = extractPrdChecklist(prdPath, projectDir);
253
- // 4. For each PRD criterion, check if any hunk addresses it
254
- for (const criterion of prdChecklist) {
255
- const keywords = extractKeywords(criterion.text);
256
- if (keywords.length === 0)
257
- continue;
258
- let matched = false;
259
- for (const hunk of hunks) {
260
- const hunkText = hunk.content.toLowerCase();
261
- const fileText = hunk.file.toLowerCase();
262
- const keywordHits = keywords.filter((kw) => hunkText.includes(kw) || fileText.includes(kw));
263
- // Require at least 40% of keywords to match
264
- if (keywordHits.length >= Math.ceil(keywords.length * 0.4)) {
265
- matched = true;
266
- break;
267
- }
268
- }
269
- if (!matched) {
270
- findings.push({
271
- id: generateFindingId(),
272
- severity: "error",
273
- message: `PRD criterion may not be addressed: "${criterion.text}"`,
274
- remediation: `Review PRD section "${criterion.section}" and ensure this criterion is covered by the current changes.`,
275
- source: `PRD: ${criterion.section}`,
276
- });
277
- }
278
- }
279
- // 5. Check added lines for common issues
280
- for (const hunk of hunks) {
281
- // Only check TypeScript/JavaScript files for code-level issues
282
- if (!/\.[tj]sx?$/.test(hunk.file))
283
- continue;
284
- for (const addedLine of hunk.addedLines) {
285
- const text = addedLine.text;
286
- // console.log( -> warning
287
- if (/console\.log\(/.test(text)) {
288
- findings.push({
289
- id: generateFindingId(),
290
- severity: "warning",
291
- file: hunk.file,
292
- line: addedLine.line,
293
- message: "console.log() left in code -- consider removing debug output.",
294
- remediation: "Remove console.log statements before committing, or use a proper logger.",
295
- source: "Style: debug output",
296
- });
297
- }
298
- // : any type usage -> warning
299
- if (/:\s*any\b/.test(text) &&
300
- !text.includes("// eslint-disable") &&
301
- !text.includes("@ts-")) {
302
- findings.push({
303
- id: generateFindingId(),
304
- severity: "warning",
305
- file: hunk.file,
306
- line: addedLine.line,
307
- message: "Explicit 'any' type used -- consider using a more specific type.",
308
- remediation: "Replace 'any' with a specific type or 'unknown' for type safety.",
309
- source: "Style: TypeScript strict mode",
310
- });
311
- }
312
- // TODO|FIXME|HACK -> warning
313
- if (/\b(TODO|FIXME|HACK)\b/.test(text)) {
314
- findings.push({
315
- id: generateFindingId(),
316
- severity: "warning",
317
- file: hunk.file,
318
- line: addedLine.line,
319
- message: "TODO/FIXME/HACK marker found in new code.",
320
- remediation: "Resolve the TODO or track it as a separate issue before merging.",
321
- source: "Style: code cleanliness",
322
- });
323
- }
324
- // Missing .js in relative imports -> error
325
- // Match from "./..." or from '../...' without .js extension
326
- if (/from\s+["'][.][^"']*(?<!\.js)["']/.test(text)) {
327
- findings.push({
328
- id: generateFindingId(),
329
- severity: "error",
330
- file: hunk.file,
331
- line: addedLine.line,
332
- message: "Relative import missing .js extension (ES module requirement).",
333
- remediation: "Add .js extension to all relative imports per ES module convention.",
334
- source: "Style: ES module imports",
335
- });
336
- }
337
- }
338
- }
339
- return findings;
340
- }
341
- // ---------------------------------------------------------------------------
342
- // Exports
343
- // ---------------------------------------------------------------------------
344
- export { reviewWaveDiff };
345
- //# sourceMappingURL=reviewer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reviewer.js","sourceRoot":"","sources":["../../src/team/reviewer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAsBjC,8EAA8E;AAC9E,mEAAmE;AACnE,8EAA8E;AAE9E,MAAM,YAAY,GAAG,gCAAgC,CAAC;AACtD,MAAM,cAAc,GAAG,uCAAuC,CAAC;AAE/D,SAAS,cAAc,CAAC,WAAmB;IACzC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,KAAK,GAAe,EAAE,CAAC;IAE7B,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,WAAW,GAAoB,IAAI,CAAC;IACxC,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,kBAAkB;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,WAAW;gBAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACzC,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC3B,WAAW,GAAG,IAAI,CAAC;YACnB,SAAS;QACX,CAAC;QAED,kBAAkB;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC7C,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,WAAW;gBAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACzC,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACzC,WAAW,GAAG;gBACZ,IAAI,EAAE,WAAW;gBACjB,SAAS,EAAE,WAAW;gBACtB,OAAO,EAAE,EAAE;gBACX,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,EAAE;aACjB,CAAC;YACF,SAAS;QACX,CAAC;QAED,IAAI,CAAC,WAAW;YAAE,SAAS;QAE3B,WAAW,CAAC,OAAO,IAAI,IAAI,GAAG,IAAI,CAAC;QAEnC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACpD,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACxE,WAAW,EAAE,CAAC;QAChB,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3D,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC;gBAC5B,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aACpB,CAAC,CAAC;YACH,wDAAwD;QAC1D,CAAC;aAAM,CAAC;YACN,eAAe;YACf,WAAW,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED,IAAI,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,SAAS,cAAc,CACrB,UAAkB,EAClB,UAAmB;IAEnB,MAAM,QAAQ,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAElF,iDAAiD;IACjD,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,UAAU,SAAS,EAAE,QAAQ,CAAC,CAAC;YACjE,IAAI,IAAI,CAAC,IAAI,EAAE;gBAAE,OAAO,IAAI,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;QACrC,CAAC;IACH,CAAC;IAED,kCAAkC;IAClC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;IAED,qBAAqB;IACrB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;IAED,uBAAuB;IACvB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,oBAAoB;IACtB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E,SAAS,mBAAmB,CAC1B,OAA2B,EAC3B,UAAkB;IAElB,MAAM,SAAS,GAA6C,EAAE,CAAC;IAE/D,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAE/B,MAAM,YAAY,GAChB,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC9C,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAEhC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,SAAS,CAAC;IAEhD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,cAAc,GAAG,SAAS,CAAC;QAE/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAE5B,qCAAqC;YACrC,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACrD,IAAI,YAAY,EAAE,CAAC;gBACjB,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACxC,SAAS;YACX,CAAC;YAED,sCAAsC;YACtC,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACzD,IAAI,aAAa,EAAE,CAAC;gBAClB,SAAS,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC7B,OAAO,EAAE,cAAc;iBACxB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,yBAAyB;IAC3B,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E,SAAS,iBAAiB;IACxB,OAAO,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,8EAA8E;AAC9E,kDAAkD;AAClD,8EAA8E;AAE9E,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;IACzB,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,OAAO;IACP,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,SAAS;IACT,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;CACR,CAAC,CAAC;AAEH,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO,IAAI;SACR,WAAW,EAAE;SACb,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC;SAC7B,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E,SAAS,cAAc,CAAC,OAA8B;IACpD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IACpD,MAAM,QAAQ,GAAc,EAAE,CAAC;IAE/B,sBAAsB;IACtB,MAAM,WAAW,GAAG,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC3D,IAAI,CAAC,WAAW;QAAE,OAAO,QAAQ,CAAC;IAElC,sBAAsB;IACtB,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAC1C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAExC,2BAA2B;IAC3B,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAE9D,4DAA4D;IAC5D,KAAK,MAAM,SAAS,IAAI,YAAY,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAEpC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAEzC,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CACjC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CACvD,CAAC;YAEF,4CAA4C;YAC5C,IAAI,WAAW,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC;gBAC3D,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC;gBACZ,EAAE,EAAE,iBAAiB,EAAE;gBACvB,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,wCAAwC,SAAS,CAAC,IAAI,GAAG;gBAClE,WAAW,EAAE,uBAAuB,SAAS,CAAC,OAAO,gEAAgE;gBACrH,MAAM,EAAE,QAAQ,SAAS,CAAC,OAAO,EAAE;aACpC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,+DAA+D;QAC/D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QAE5C,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;YAE5B,0BAA0B;YAC1B,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,QAAQ,CAAC,IAAI,CAAC;oBACZ,EAAE,EAAE,iBAAiB,EAAE;oBACvB,QAAQ,EAAE,SAAS;oBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,OAAO,EAAE,+DAA+D;oBACxE,WAAW,EACT,0EAA0E;oBAC5E,MAAM,EAAE,qBAAqB;iBAC9B,CAAC,CAAC;YACL,CAAC;YAED,8BAA8B;YAC9B,IACE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;gBACtB,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBACnC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EACtB,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC;oBACZ,EAAE,EAAE,iBAAiB,EAAE;oBACvB,QAAQ,EAAE,SAAS;oBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,OAAO,EACL,kEAAkE;oBACpE,WAAW,EACT,kEAAkE;oBACpE,MAAM,EAAE,+BAA+B;iBACxC,CAAC,CAAC;YACL,CAAC;YAED,6BAA6B;YAC7B,IAAI,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,QAAQ,CAAC,IAAI,CAAC;oBACZ,EAAE,EAAE,iBAAiB,EAAE;oBACvB,QAAQ,EAAE,SAAS;oBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,OAAO,EAAE,2CAA2C;oBACpD,WAAW,EACT,kEAAkE;oBACpE,MAAM,EAAE,yBAAyB;iBAClC,CAAC,CAAC;YACL,CAAC;YAED,2CAA2C;YAC3C,4DAA4D;YAC5D,IAAI,mCAAmC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnD,QAAQ,CAAC,IAAI,CAAC;oBACZ,EAAE,EAAE,iBAAiB,EAAE;oBACvB,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,OAAO,EACL,gEAAgE;oBAClE,WAAW,EACT,qEAAqE;oBACvE,MAAM,EAAE,0BAA0B;iBACnC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -1,269 +0,0 @@
1
- import { z } from "zod";
2
- export declare const AgentRoleSchema: z.ZodEnum<["executive", "builder", "reviewer", "notetaker"]>;
3
- export type AgentRole = z.infer<typeof AgentRoleSchema>;
4
- export declare const TeamConfigSchema: z.ZodObject<{
5
- teamName: z.ZodString;
6
- prdSlug: z.ZodString;
7
- milestoneNumber: z.ZodNumber;
8
- roles: z.ZodRecord<z.ZodString, z.ZodEnum<["executive", "builder", "reviewer", "notetaker"]>>;
9
- }, "strip", z.ZodTypeAny, {
10
- teamName: string;
11
- prdSlug: string;
12
- milestoneNumber: number;
13
- roles: Record<string, "executive" | "builder" | "reviewer" | "notetaker">;
14
- }, {
15
- teamName: string;
16
- prdSlug: string;
17
- milestoneNumber: number;
18
- roles: Record<string, "executive" | "builder" | "reviewer" | "notetaker">;
19
- }>;
20
- export type TeamConfig = z.infer<typeof TeamConfigSchema>;
21
- export declare const FindingSchema: z.ZodObject<{
22
- id: z.ZodString;
23
- severity: z.ZodEnum<["error", "warning"]>;
24
- file: z.ZodOptional<z.ZodString>;
25
- line: z.ZodOptional<z.ZodNumber>;
26
- message: z.ZodString;
27
- remediation: z.ZodString;
28
- source: z.ZodString;
29
- }, "strip", z.ZodTypeAny, {
30
- message: string;
31
- id: string;
32
- severity: "error" | "warning";
33
- remediation: string;
34
- source: string;
35
- file?: string | undefined;
36
- line?: number | undefined;
37
- }, {
38
- message: string;
39
- id: string;
40
- severity: "error" | "warning";
41
- remediation: string;
42
- source: string;
43
- file?: string | undefined;
44
- line?: number | undefined;
45
- }>;
46
- export type Finding = z.infer<typeof FindingSchema>;
47
- export declare const ConsensusRoundSchema: z.ZodObject<{
48
- findingId: z.ZodString;
49
- round: z.ZodNumber;
50
- builderName: z.ZodString;
51
- response: z.ZodEnum<["agree", "disagree", "alternative"]>;
52
- reason: z.ZodOptional<z.ZodString>;
53
- alternativeProposal: z.ZodOptional<z.ZodString>;
54
- }, "strip", z.ZodTypeAny, {
55
- findingId: string;
56
- round: number;
57
- builderName: string;
58
- response: "agree" | "disagree" | "alternative";
59
- reason?: string | undefined;
60
- alternativeProposal?: string | undefined;
61
- }, {
62
- findingId: string;
63
- round: number;
64
- builderName: string;
65
- response: "agree" | "disagree" | "alternative";
66
- reason?: string | undefined;
67
- alternativeProposal?: string | undefined;
68
- }>;
69
- export type ConsensusRound = z.infer<typeof ConsensusRoundSchema>;
70
- export declare const ConsensusResultSchema: z.ZodObject<{
71
- findingId: z.ZodString;
72
- resolution: z.ZodEnum<["accepted", "rejected", "escalated"]>;
73
- rounds: z.ZodArray<z.ZodObject<{
74
- findingId: z.ZodString;
75
- round: z.ZodNumber;
76
- builderName: z.ZodString;
77
- response: z.ZodEnum<["agree", "disagree", "alternative"]>;
78
- reason: z.ZodOptional<z.ZodString>;
79
- alternativeProposal: z.ZodOptional<z.ZodString>;
80
- }, "strip", z.ZodTypeAny, {
81
- findingId: string;
82
- round: number;
83
- builderName: string;
84
- response: "agree" | "disagree" | "alternative";
85
- reason?: string | undefined;
86
- alternativeProposal?: string | undefined;
87
- }, {
88
- findingId: string;
89
- round: number;
90
- builderName: string;
91
- response: "agree" | "disagree" | "alternative";
92
- reason?: string | undefined;
93
- alternativeProposal?: string | undefined;
94
- }>, "many">;
95
- finalDecision: z.ZodOptional<z.ZodString>;
96
- }, "strip", z.ZodTypeAny, {
97
- findingId: string;
98
- resolution: "accepted" | "rejected" | "escalated";
99
- rounds: {
100
- findingId: string;
101
- round: number;
102
- builderName: string;
103
- response: "agree" | "disagree" | "alternative";
104
- reason?: string | undefined;
105
- alternativeProposal?: string | undefined;
106
- }[];
107
- finalDecision?: string | undefined;
108
- }, {
109
- findingId: string;
110
- resolution: "accepted" | "rejected" | "escalated";
111
- rounds: {
112
- findingId: string;
113
- round: number;
114
- builderName: string;
115
- response: "agree" | "disagree" | "alternative";
116
- reason?: string | undefined;
117
- alternativeProposal?: string | undefined;
118
- }[];
119
- finalDecision?: string | undefined;
120
- }>;
121
- export type ConsensusResult = z.infer<typeof ConsensusResultSchema>;
122
- export declare const TeamReviewResultSchema: z.ZodObject<{
123
- findings: z.ZodArray<z.ZodObject<{
124
- id: z.ZodString;
125
- severity: z.ZodEnum<["error", "warning"]>;
126
- file: z.ZodOptional<z.ZodString>;
127
- line: z.ZodOptional<z.ZodNumber>;
128
- message: z.ZodString;
129
- remediation: z.ZodString;
130
- source: z.ZodString;
131
- }, "strip", z.ZodTypeAny, {
132
- message: string;
133
- id: string;
134
- severity: "error" | "warning";
135
- remediation: string;
136
- source: string;
137
- file?: string | undefined;
138
- line?: number | undefined;
139
- }, {
140
- message: string;
141
- id: string;
142
- severity: "error" | "warning";
143
- remediation: string;
144
- source: string;
145
- file?: string | undefined;
146
- line?: number | undefined;
147
- }>, "many">;
148
- consensusResults: z.ZodArray<z.ZodObject<{
149
- findingId: z.ZodString;
150
- resolution: z.ZodEnum<["accepted", "rejected", "escalated"]>;
151
- rounds: z.ZodArray<z.ZodObject<{
152
- findingId: z.ZodString;
153
- round: z.ZodNumber;
154
- builderName: z.ZodString;
155
- response: z.ZodEnum<["agree", "disagree", "alternative"]>;
156
- reason: z.ZodOptional<z.ZodString>;
157
- alternativeProposal: z.ZodOptional<z.ZodString>;
158
- }, "strip", z.ZodTypeAny, {
159
- findingId: string;
160
- round: number;
161
- builderName: string;
162
- response: "agree" | "disagree" | "alternative";
163
- reason?: string | undefined;
164
- alternativeProposal?: string | undefined;
165
- }, {
166
- findingId: string;
167
- round: number;
168
- builderName: string;
169
- response: "agree" | "disagree" | "alternative";
170
- reason?: string | undefined;
171
- alternativeProposal?: string | undefined;
172
- }>, "many">;
173
- finalDecision: z.ZodOptional<z.ZodString>;
174
- }, "strip", z.ZodTypeAny, {
175
- findingId: string;
176
- resolution: "accepted" | "rejected" | "escalated";
177
- rounds: {
178
- findingId: string;
179
- round: number;
180
- builderName: string;
181
- response: "agree" | "disagree" | "alternative";
182
- reason?: string | undefined;
183
- alternativeProposal?: string | undefined;
184
- }[];
185
- finalDecision?: string | undefined;
186
- }, {
187
- findingId: string;
188
- resolution: "accepted" | "rejected" | "escalated";
189
- rounds: {
190
- findingId: string;
191
- round: number;
192
- builderName: string;
193
- response: "agree" | "disagree" | "alternative";
194
- reason?: string | undefined;
195
- alternativeProposal?: string | undefined;
196
- }[];
197
- finalDecision?: string | undefined;
198
- }>, "many">;
199
- duration_ms: z.ZodNumber;
200
- }, "strip", z.ZodTypeAny, {
201
- findings: {
202
- message: string;
203
- id: string;
204
- severity: "error" | "warning";
205
- remediation: string;
206
- source: string;
207
- file?: string | undefined;
208
- line?: number | undefined;
209
- }[];
210
- consensusResults: {
211
- findingId: string;
212
- resolution: "accepted" | "rejected" | "escalated";
213
- rounds: {
214
- findingId: string;
215
- round: number;
216
- builderName: string;
217
- response: "agree" | "disagree" | "alternative";
218
- reason?: string | undefined;
219
- alternativeProposal?: string | undefined;
220
- }[];
221
- finalDecision?: string | undefined;
222
- }[];
223
- duration_ms: number;
224
- }, {
225
- findings: {
226
- message: string;
227
- id: string;
228
- severity: "error" | "warning";
229
- remediation: string;
230
- source: string;
231
- file?: string | undefined;
232
- line?: number | undefined;
233
- }[];
234
- consensusResults: {
235
- findingId: string;
236
- resolution: "accepted" | "rejected" | "escalated";
237
- rounds: {
238
- findingId: string;
239
- round: number;
240
- builderName: string;
241
- response: "agree" | "disagree" | "alternative";
242
- reason?: string | undefined;
243
- alternativeProposal?: string | undefined;
244
- }[];
245
- finalDecision?: string | undefined;
246
- }[];
247
- duration_ms: number;
248
- }>;
249
- export type TeamReviewResult = z.infer<typeof TeamReviewResultSchema>;
250
- export declare const CodexCommentSchema: z.ZodObject<{
251
- id: z.ZodNumber;
252
- body: z.ZodString;
253
- path: z.ZodString;
254
- line: z.ZodOptional<z.ZodNumber>;
255
- resolved: z.ZodBoolean;
256
- }, "strip", z.ZodTypeAny, {
257
- path: string;
258
- id: number;
259
- body: string;
260
- resolved: boolean;
261
- line?: number | undefined;
262
- }, {
263
- path: string;
264
- id: number;
265
- body: string;
266
- resolved: boolean;
267
- line?: number | undefined;
268
- }>;
269
- export type CodexComment = z.infer<typeof CodexCommentSchema>;