sequant 1.1.0 → 1.1.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 (51) hide show
  1. package/dist/bin/cli.js +12 -0
  2. package/dist/bin/cli.js.map +1 -1
  3. package/dist/src/commands/doctor.d.ts.map +1 -1
  4. package/dist/src/commands/doctor.js +1 -25
  5. package/dist/src/commands/doctor.js.map +1 -1
  6. package/dist/src/commands/doctor.test.js +28 -97
  7. package/dist/src/commands/doctor.test.js.map +1 -1
  8. package/dist/src/commands/init.d.ts.map +1 -1
  9. package/dist/src/commands/init.js +3 -27
  10. package/dist/src/commands/init.js.map +1 -1
  11. package/dist/src/commands/init.test.js +32 -75
  12. package/dist/src/commands/init.test.js.map +1 -1
  13. package/dist/src/commands/logs.d.ts +18 -0
  14. package/dist/src/commands/logs.d.ts.map +1 -0
  15. package/dist/src/commands/logs.js +188 -0
  16. package/dist/src/commands/logs.js.map +1 -0
  17. package/dist/src/commands/run.d.ts +2 -0
  18. package/dist/src/commands/run.d.ts.map +1 -1
  19. package/dist/src/commands/run.js +114 -29
  20. package/dist/src/commands/run.js.map +1 -1
  21. package/dist/src/lib/system.d.ts +16 -0
  22. package/dist/src/lib/system.d.ts.map +1 -0
  23. package/dist/src/lib/system.js +52 -0
  24. package/dist/src/lib/system.js.map +1 -0
  25. package/dist/src/lib/system.test.d.ts +2 -0
  26. package/dist/src/lib/system.test.d.ts.map +1 -0
  27. package/dist/src/lib/system.test.js +80 -0
  28. package/dist/src/lib/system.test.js.map +1 -0
  29. package/dist/src/lib/workflow/log-writer.d.ts +83 -0
  30. package/dist/src/lib/workflow/log-writer.d.ts.map +1 -0
  31. package/dist/src/lib/workflow/log-writer.js +193 -0
  32. package/dist/src/lib/workflow/log-writer.js.map +1 -0
  33. package/dist/src/lib/workflow/run-log-schema.d.ts +261 -0
  34. package/dist/src/lib/workflow/run-log-schema.d.ts.map +1 -0
  35. package/dist/src/lib/workflow/run-log-schema.js +234 -0
  36. package/dist/src/lib/workflow/run-log-schema.js.map +1 -0
  37. package/package.json +3 -2
  38. package/templates/skills/assess/SKILL.md +15 -0
  39. package/templates/skills/clean/SKILL.md +15 -0
  40. package/templates/skills/docs/SKILL.md +16 -0
  41. package/templates/skills/exec/SKILL.md +14 -0
  42. package/templates/skills/fullsolve/SKILL.md +16 -0
  43. package/templates/skills/loop/SKILL.md +14 -0
  44. package/templates/skills/qa/SKILL.md +67 -0
  45. package/templates/skills/reflect/SKILL.md +14 -0
  46. package/templates/skills/security-review/SKILL.md +15 -0
  47. package/templates/skills/solve/SKILL.md +44 -0
  48. package/templates/skills/spec/SKILL.md +59 -0
  49. package/templates/skills/test/SKILL.md +14 -0
  50. package/templates/skills/testgen/SKILL.md +15 -0
  51. package/templates/skills/verify/SKILL.md +15 -0
@@ -6,6 +6,7 @@
6
6
  import chalk from "chalk";
7
7
  import { spawn, spawnSync } from "child_process";
8
8
  import { getManifest } from "../lib/manifest.js";
9
+ import { LogWriter, createPhaseLogFromTiming, } from "../lib/workflow/log-writer.js";
9
10
  /**
10
11
  * Check if claude CLI is available
11
12
  */
@@ -101,36 +102,32 @@ async function executePhase(issueNumber, phase, config) {
101
102
  });
102
103
  }
103
104
  /**
104
- * Execute all phases for a single issue
105
+ * Fetch issue info from GitHub
105
106
  */
106
- async function runIssue(issueNumber, config) {
107
- const startTime = Date.now();
108
- const phaseResults = [];
109
- console.log(chalk.blue(`\n Issue #${issueNumber}`));
110
- for (const phase of config.phases) {
111
- console.log(chalk.gray(` ⏳ ${phase}...`));
112
- const result = await executePhase(issueNumber, phase, config);
113
- phaseResults.push(result);
114
- if (result.success) {
115
- const duration = result.durationSeconds
116
- ? ` (${formatDuration(result.durationSeconds)})`
117
- : "";
118
- console.log(chalk.green(` ✓ ${phase}${duration}`));
119
- }
120
- else {
121
- console.log(chalk.red(` ${phase}: ${result.error}`));
122
- // Stop on first failure
123
- break;
107
+ async function getIssueInfo(issueNumber) {
108
+ try {
109
+ const result = spawnSync("gh", [
110
+ "issue",
111
+ "view",
112
+ String(issueNumber),
113
+ "--json",
114
+ "title,labels",
115
+ "--jq",
116
+ '"\(.title)|\(.labels | map(.name) | join(","))"',
117
+ ], { stdio: "pipe", shell: true });
118
+ if (result.status === 0) {
119
+ const output = result.stdout.toString().trim().replace(/^"|"$/g, "");
120
+ const [title, labelsStr] = output.split("|");
121
+ return {
122
+ title: title || `Issue #${issueNumber}`,
123
+ labels: labelsStr ? labelsStr.split(",").filter(Boolean) : [],
124
+ };
124
125
  }
125
126
  }
126
- const durationSeconds = (Date.now() - startTime) / 1000;
127
- const success = phaseResults.every((r) => r.success);
128
- return {
129
- issueNumber,
130
- success,
131
- phaseResults,
132
- durationSeconds,
133
- };
127
+ catch {
128
+ // Ignore errors, use defaults
129
+ }
130
+ return { title: `Issue #${issueNumber}`, labels: [] };
134
131
  }
135
132
  /**
136
133
  * Main run command
@@ -170,6 +167,21 @@ export async function runCommand(issues, options) {
170
167
  verbose: options.verbose ?? false,
171
168
  phaseTimeout: options.timeout ?? DEFAULT_CONFIG.phaseTimeout,
172
169
  };
170
+ // Initialize log writer if JSON logging enabled
171
+ let logWriter = null;
172
+ if (options.logJson && !config.dryRun) {
173
+ const runConfig = {
174
+ phases: config.phases,
175
+ sequential: config.sequential,
176
+ qualityLoop: config.qualityLoop,
177
+ maxIterations: config.maxIterations,
178
+ };
179
+ logWriter = new LogWriter({
180
+ logPath: options.logPath,
181
+ verbose: config.verbose,
182
+ });
183
+ await logWriter.initialize(runConfig);
184
+ }
173
185
  // Display configuration
174
186
  console.log(chalk.gray(` Stack: ${manifest.stack}`));
175
187
  console.log(chalk.gray(` Phases: ${config.phases.join(" → ")}`));
@@ -177,14 +189,26 @@ export async function runCommand(issues, options) {
177
189
  if (config.dryRun) {
178
190
  console.log(chalk.yellow(` ⚠️ DRY RUN - no actual execution`));
179
191
  }
192
+ if (logWriter) {
193
+ console.log(chalk.gray(` Logging: JSON (run ${logWriter.getRunId()?.slice(0, 8)}...)`));
194
+ }
180
195
  console.log(chalk.gray(` Issues: ${issueNumbers.map((n) => `#${n}`).join(", ")}`));
181
196
  // Execute
182
197
  const results = [];
183
198
  if (config.sequential) {
184
199
  // Sequential execution
185
200
  for (const issueNumber of issueNumbers) {
186
- const result = await runIssue(issueNumber, config);
201
+ // Start issue logging
202
+ if (logWriter) {
203
+ const issueInfo = await getIssueInfo(issueNumber);
204
+ logWriter.startIssue(issueNumber, issueInfo.title, issueInfo.labels);
205
+ }
206
+ const result = await runIssueWithLogging(issueNumber, config, logWriter);
187
207
  results.push(result);
208
+ // Complete issue logging
209
+ if (logWriter) {
210
+ logWriter.completeIssue();
211
+ }
188
212
  if (!result.success) {
189
213
  console.log(chalk.yellow(`\n ⚠️ Issue #${issueNumber} failed, stopping sequential execution`));
190
214
  break;
@@ -195,10 +219,24 @@ export async function runCommand(issues, options) {
195
219
  // Parallel execution (for now, just run sequentially but don't stop on failure)
196
220
  // TODO: Add proper parallel execution with listr2
197
221
  for (const issueNumber of issueNumbers) {
198
- const result = await runIssue(issueNumber, config);
222
+ // Start issue logging
223
+ if (logWriter) {
224
+ const issueInfo = await getIssueInfo(issueNumber);
225
+ logWriter.startIssue(issueNumber, issueInfo.title, issueInfo.labels);
226
+ }
227
+ const result = await runIssueWithLogging(issueNumber, config, logWriter);
199
228
  results.push(result);
229
+ // Complete issue logging
230
+ if (logWriter) {
231
+ logWriter.completeIssue();
232
+ }
200
233
  }
201
234
  }
235
+ // Finalize log
236
+ let logPath = null;
237
+ if (logWriter) {
238
+ logPath = await logWriter.finalize();
239
+ }
202
240
  // Summary
203
241
  console.log(chalk.blue("\n" + "━".repeat(50)));
204
242
  console.log(chalk.blue(" Summary"));
@@ -217,6 +255,10 @@ export async function runCommand(issues, options) {
217
255
  console.log(` ${status} #${result.issueNumber}: ${phases}${duration}`);
218
256
  }
219
257
  console.log("");
258
+ if (logPath) {
259
+ console.log(chalk.gray(` 📝 Log: ${logPath}`));
260
+ console.log("");
261
+ }
220
262
  if (config.dryRun) {
221
263
  console.log(chalk.yellow(" ℹ️ This was a dry run. Use without --dry-run to execute."));
222
264
  console.log("");
@@ -226,4 +268,47 @@ export async function runCommand(issues, options) {
226
268
  process.exit(1);
227
269
  }
228
270
  }
271
+ /**
272
+ * Execute all phases for a single issue with logging
273
+ */
274
+ async function runIssueWithLogging(issueNumber, config, logWriter) {
275
+ const startTime = Date.now();
276
+ const phaseResults = [];
277
+ console.log(chalk.blue(`\n Issue #${issueNumber}`));
278
+ for (const phase of config.phases) {
279
+ console.log(chalk.gray(` ⏳ ${phase}...`));
280
+ const phaseStartTime = new Date();
281
+ const result = await executePhase(issueNumber, phase, config);
282
+ const phaseEndTime = new Date();
283
+ phaseResults.push(result);
284
+ // Log phase result
285
+ if (logWriter) {
286
+ const phaseLog = createPhaseLogFromTiming(phase, issueNumber, phaseStartTime, phaseEndTime, result.success
287
+ ? "success"
288
+ : result.error?.includes("Timeout")
289
+ ? "timeout"
290
+ : "failure", { error: result.error });
291
+ logWriter.logPhase(phaseLog);
292
+ }
293
+ if (result.success) {
294
+ const duration = result.durationSeconds
295
+ ? ` (${formatDuration(result.durationSeconds)})`
296
+ : "";
297
+ console.log(chalk.green(` ✓ ${phase}${duration}`));
298
+ }
299
+ else {
300
+ console.log(chalk.red(` ✗ ${phase}: ${result.error}`));
301
+ // Stop on first failure
302
+ break;
303
+ }
304
+ }
305
+ const durationSeconds = (Date.now() - startTime) / 1000;
306
+ const success = phaseResults.every((r) => r.success);
307
+ return {
308
+ issueNumber,
309
+ success,
310
+ phaseResults,
311
+ durationSeconds,
312
+ };
313
+ }
229
314
  //# sourceMappingURL=run.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/commands/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/commands/run.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EACL,SAAS,EACT,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AAGvC;;GAEG;AACH,SAAS,cAAc;IACrB,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE;QAChD,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,IAAI;KACZ,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;AAC7B,CAAC;AACD,OAAO,EAEL,cAAc,EACd,cAAc,GAIf,MAAM,0BAA0B,CAAC;AAYlC;;GAEG;AACH,SAAS,cAAc,CAAC,OAAe;IACrC,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;QACjB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAClC,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,OAAO,GAAG,EAAE,CAAC;IAC1B,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,YAAY,CACzB,WAAmB,EACnB,KAAY,EACZ,MAAuB;IAEvB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,0BAA0B;QAC1B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,KAAK,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC;QACzE,CAAC;QACD,OAAO;YACL,KAAK;YACL,OAAO,EAAE,IAAI;YACb,eAAe,EAAE,CAAC;SACnB,CAAC;IACJ,CAAC;IAED,oCAAoC;IACpC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,OAAO,GAAG,IAAI,KAAK,IAAI,WAAW,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;QAE3C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,OAAO,EAAE,CAAC,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAChB,QAAQ,EACR,CAAC,SAAS,EAAE,gCAAgC,EAAE,IAAI,EAAE,OAAO,CAAC,EAC5D;YACE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;YAC1C,KAAK,EAAE,IAAI;YACX,OAAO;SACR,CACF,CAAC;QAEF,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,MAAM,GAAG,IAAI,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,CAAC,EAAE,OAAO,CAAC,CAAC;QAEZ,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,eAAe,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC;YAExD,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC;oBACN,KAAK;oBACL,OAAO,EAAE,KAAK;oBACd,eAAe;oBACf,KAAK,EAAE,iBAAiB,MAAM,CAAC,YAAY,GAAG;iBAC/C,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO,CAAC;oBACN,KAAK;oBACL,OAAO,EAAE,IAAI;oBACb,eAAe;iBAChB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC;oBACN,KAAK;oBACL,OAAO,EAAE,KAAK;oBACd,eAAe;oBACf,KAAK,EAAE,aAAa,IAAI,EAAE;iBAC3B,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACvB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,eAAe,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC;YACxD,OAAO,CAAC;gBACN,KAAK;gBACL,OAAO,EAAE,KAAK;gBACd,eAAe;gBACf,KAAK,EAAE,GAAG,CAAC,OAAO;aACnB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,YAAY,CACzB,WAAmB;IAEnB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,CACtB,IAAI,EACJ;YACE,OAAO;YACP,MAAM;YACN,MAAM,CAAC,WAAW,CAAC;YACnB,QAAQ;YACR,cAAc;YACd,MAAM;YACN,iDAAiD;SAClD,EACD,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAC/B,CAAC;QAEF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACrE,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7C,OAAO;gBACL,KAAK,EAAE,KAAK,IAAI,UAAU,WAAW,EAAE;gBACvC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;aAC9D,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,8BAA8B;IAChC,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,UAAU,WAAW,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAgB,EAChB,OAAmB;IAEnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;IAE7D,uBAAuB;IACvB,MAAM,QAAQ,GAAG,MAAM,WAAW,EAAE,CAAC;IACrC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,yDAAyD,CAAC,CACrE,CAAC;QACF,OAAO;IACT,CAAC;IAED,sDAAsD;IACtD,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,gEAAgE,CACjE,CACF,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC,CAAC;QAC5E,OAAO;IACT,CAAC;IAED,sBAAsB;IACtB,MAAM,YAAY,GAAG,MAAM;SACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5B,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IAED,eAAe;IACf,MAAM,MAAM,GAAoB;QAC9B,GAAG,cAAc;QACjB,MAAM,EAAE,OAAO,CAAC,MAAM;YACpB,CAAC,CAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAa;YAC7D,CAAC,CAAC,cAAc;QAClB,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,KAAK;QACvC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;QAC/B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK;QACjC,YAAY,EAAE,OAAO,CAAC,OAAO,IAAI,cAAc,CAAC,YAAY;KAC7D,CAAC;IAEF,gDAAgD;IAChD,IAAI,SAAS,GAAqB,IAAI,CAAC;IACvC,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,SAAS,GAAc;YAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,aAAa,EAAE,MAAM,CAAC,aAAa;SACpC,CAAC;QAEF,SAAS,GAAG,IAAI,SAAS,CAAC;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAC;QACH,MAAM,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAED,wBAAwB;IACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CACvE,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,wBAAwB,SAAS,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAChE,CACF,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,aAAa,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CACvE,CAAC;IAEF,UAAU;IACV,MAAM,OAAO,GAAkB,EAAE,CAAC;IAElC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,uBAAuB;QACvB,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACvC,sBAAsB;YACtB,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;gBAClD,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;YACvE,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;YACzE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAErB,yBAAyB;YACzB,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,CAAC,aAAa,EAAE,CAAC;YAC5B,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,kBAAkB,WAAW,wCAAwC,CACtE,CACF,CAAC;gBACF,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,gFAAgF;QAChF,kDAAkD;QAClD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACvC,sBAAsB;YACtB,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;gBAClD,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;YACvE,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;YACzE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAErB,yBAAyB;YACzB,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,CAAC,aAAa,EAAE,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED,eAAe;IACf,IAAI,OAAO,GAAkB,IAAI,CAAC;IAClC,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC;IACvC,CAAC;IAED,UAAU;IACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAExC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IACvD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAExD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,gBAAgB,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,SAAS,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,SAAS,CAAC,EAAE,CACpF,CACF,CAAC;IAEF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe;YACrC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,cAAc,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC;YAC5D,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY;aAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aACnE,IAAI,CAAC,KAAK,CAAC,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,KAAK,MAAM,CAAC,WAAW,KAAK,MAAM,GAAG,QAAQ,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,6DAA6D,CAC9D,CACF,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAED,gCAAgC;IAChC,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,mBAAmB,CAChC,WAAmB,EACnB,MAAuB,EACvB,SAA2B;IAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,YAAY,GAAkB,EAAE,CAAC;IAEvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,WAAW,EAAE,CAAC,CAAC,CAAC;IAErD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC;QAE7C,MAAM,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC9D,MAAM,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;QAChC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE1B,mBAAmB;QACnB,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,QAAQ,GAAG,wBAAwB,CACvC,KAAK,EACL,WAAW,EACX,cAAc,EACd,YAAY,EACZ,MAAM,CAAC,OAAO;gBACZ,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC;oBACjC,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,SAAS,EACf,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CACxB,CAAC;YACF,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe;gBACrC,CAAC,CAAC,KAAK,cAAc,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG;gBAChD,CAAC,CAAC,EAAE,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,KAAK,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,KAAK,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC1D,wBAAwB;YACxB,MAAM;QACR,CAAC;IACH,CAAC;IAED,MAAM,eAAe,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC;IACxD,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAErD,OAAO;QACL,WAAW;QACX,OAAO;QACP,YAAY;QACZ,eAAe;KAChB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * System utility functions for checking prerequisites
3
+ */
4
+ /**
5
+ * Check if a command exists on the system
6
+ */
7
+ export declare function commandExists(cmd: string): boolean;
8
+ /**
9
+ * Check if gh CLI is authenticated
10
+ */
11
+ export declare function isGhAuthenticated(): boolean;
12
+ /**
13
+ * Get platform-specific install hint for a package
14
+ */
15
+ export declare function getInstallHint(pkg: string): string;
16
+ //# sourceMappingURL=system.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../src/lib/system.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOlD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAO3C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAsBlD"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * System utility functions for checking prerequisites
3
+ */
4
+ import { execSync } from "child_process";
5
+ /**
6
+ * Check if a command exists on the system
7
+ */
8
+ export function commandExists(cmd) {
9
+ try {
10
+ execSync(`command -v ${cmd}`, { stdio: "ignore" });
11
+ return true;
12
+ }
13
+ catch {
14
+ return false;
15
+ }
16
+ }
17
+ /**
18
+ * Check if gh CLI is authenticated
19
+ */
20
+ export function isGhAuthenticated() {
21
+ try {
22
+ execSync("gh auth status", { stdio: "ignore" });
23
+ return true;
24
+ }
25
+ catch {
26
+ return false;
27
+ }
28
+ }
29
+ /**
30
+ * Get platform-specific install hint for a package
31
+ */
32
+ export function getInstallHint(pkg) {
33
+ const platform = process.platform;
34
+ const hints = {
35
+ jq: {
36
+ darwin: "brew install jq",
37
+ linux: "apt install jq # or: yum install jq",
38
+ win32: "choco install jq # or: scoop install jq",
39
+ },
40
+ gh: {
41
+ darwin: "brew install gh",
42
+ linux: "apt install gh # see: https://cli.github.com",
43
+ win32: "choco install gh # or: winget install GitHub.cli",
44
+ },
45
+ };
46
+ const pkgHints = hints[pkg];
47
+ if (!pkgHints) {
48
+ return `Install ${pkg}`;
49
+ }
50
+ return pkgHints[platform] || pkgHints["linux"] || `Install ${pkg}`;
51
+ }
52
+ //# sourceMappingURL=system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.js","sourceRoot":"","sources":["../../../src/lib/system.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,IAAI,CAAC;QACH,QAAQ,CAAC,cAAc,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC;QACH,QAAQ,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAElC,MAAM,KAAK,GAA2C;QACpD,EAAE,EAAE;YACF,MAAM,EAAE,iBAAiB;YACzB,KAAK,EAAE,sCAAsC;YAC7C,KAAK,EAAE,0CAA0C;SAClD;QACD,EAAE,EAAE;YACF,MAAM,EAAE,iBAAiB;YACzB,KAAK,EAAE,+CAA+C;YACtD,KAAK,EAAE,mDAAmD;SAC3D;KACF,CAAC;IAEF,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,WAAW,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,WAAW,GAAG,EAAE,CAAC;AACrE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=system.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.test.d.ts","sourceRoot":"","sources":["../../../src/lib/system.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,80 @@
1
+ import { describe, it, expect, vi, beforeEach } from "vitest";
2
+ import { execSync } from "child_process";
3
+ // Mock child_process
4
+ vi.mock("child_process", () => ({
5
+ execSync: vi.fn(),
6
+ }));
7
+ import { commandExists, isGhAuthenticated, getInstallHint } from "./system.js";
8
+ const mockExecSync = vi.mocked(execSync);
9
+ describe("system utilities", () => {
10
+ beforeEach(() => {
11
+ vi.resetAllMocks();
12
+ });
13
+ describe("commandExists", () => {
14
+ it("returns true when command exists", () => {
15
+ mockExecSync.mockReturnValue(Buffer.from("/usr/local/bin/gh"));
16
+ expect(commandExists("gh")).toBe(true);
17
+ expect(mockExecSync).toHaveBeenCalledWith("command -v gh", {
18
+ stdio: "ignore",
19
+ });
20
+ });
21
+ it("returns false when command does not exist", () => {
22
+ mockExecSync.mockImplementation(() => {
23
+ throw new Error("command not found");
24
+ });
25
+ expect(commandExists("nonexistent")).toBe(false);
26
+ });
27
+ it("checks different commands correctly", () => {
28
+ mockExecSync.mockReturnValue(Buffer.from("/usr/local/bin/jq"));
29
+ expect(commandExists("jq")).toBe(true);
30
+ expect(mockExecSync).toHaveBeenCalledWith("command -v jq", {
31
+ stdio: "ignore",
32
+ });
33
+ });
34
+ });
35
+ describe("isGhAuthenticated", () => {
36
+ it("returns true when gh is authenticated", () => {
37
+ mockExecSync.mockReturnValue(Buffer.from(""));
38
+ expect(isGhAuthenticated()).toBe(true);
39
+ expect(mockExecSync).toHaveBeenCalledWith("gh auth status", {
40
+ stdio: "ignore",
41
+ });
42
+ });
43
+ it("returns false when gh is not authenticated", () => {
44
+ mockExecSync.mockImplementation(() => {
45
+ throw new Error("not authenticated");
46
+ });
47
+ expect(isGhAuthenticated()).toBe(false);
48
+ });
49
+ });
50
+ describe("getInstallHint", () => {
51
+ const originalPlatform = process.platform;
52
+ beforeEach(() => {
53
+ // Reset platform after each test
54
+ Object.defineProperty(process, "platform", {
55
+ value: originalPlatform,
56
+ writable: true,
57
+ });
58
+ });
59
+ it("returns macOS hint for gh on darwin", () => {
60
+ Object.defineProperty(process, "platform", { value: "darwin" });
61
+ expect(getInstallHint("gh")).toBe("brew install gh");
62
+ });
63
+ it("returns macOS hint for jq on darwin", () => {
64
+ Object.defineProperty(process, "platform", { value: "darwin" });
65
+ expect(getInstallHint("jq")).toBe("brew install jq");
66
+ });
67
+ it("returns Linux hint for gh on linux", () => {
68
+ Object.defineProperty(process, "platform", { value: "linux" });
69
+ expect(getInstallHint("gh")).toContain("apt install gh");
70
+ });
71
+ it("returns Windows hint for gh on win32", () => {
72
+ Object.defineProperty(process, "platform", { value: "win32" });
73
+ expect(getInstallHint("gh")).toContain("choco install gh");
74
+ });
75
+ it("returns generic hint for unknown package", () => {
76
+ expect(getInstallHint("unknown-package")).toBe("Install unknown-package");
77
+ });
78
+ });
79
+ });
80
+ //# sourceMappingURL=system.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.test.js","sourceRoot":"","sources":["../../../src/lib/system.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Log writer for structured workflow run logs
3
+ *
4
+ * Writes JSON logs to disk for analysis and debugging.
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * import { LogWriter } from './log-writer';
9
+ *
10
+ * const writer = new LogWriter({ projectPath: '.sequant/logs' });
11
+ * await writer.initialize(config);
12
+ * await writer.logPhase(phaseLog);
13
+ * await writer.finalize();
14
+ * ```
15
+ */
16
+ import { type RunLog, type RunConfig, type PhaseLog, type Phase } from "./run-log-schema.js";
17
+ export interface LogWriterOptions {
18
+ /** Path to log directory (default: .sequant/logs in current directory) */
19
+ logPath?: string;
20
+ /** Whether to also write to user-level logs */
21
+ writeToUserLogs?: boolean;
22
+ /** Enable verbose logging */
23
+ verbose?: boolean;
24
+ }
25
+ /**
26
+ * Manages writing structured run logs to disk
27
+ */
28
+ export declare class LogWriter {
29
+ private runLog;
30
+ private currentIssue;
31
+ private logPath;
32
+ private writeToUserLogs;
33
+ private verbose;
34
+ constructor(options?: LogWriterOptions);
35
+ /**
36
+ * Initialize a new run log
37
+ *
38
+ * @param config - Run configuration
39
+ */
40
+ initialize(config: RunConfig): Promise<void>;
41
+ /**
42
+ * Start logging a new issue
43
+ *
44
+ * @param issueNumber - GitHub issue number
45
+ * @param title - Issue title
46
+ * @param labels - Issue labels
47
+ */
48
+ startIssue(issueNumber: number, title: string, labels: string[]): void;
49
+ /**
50
+ * Log a completed phase
51
+ *
52
+ * @param phaseLog - Complete phase log entry
53
+ */
54
+ logPhase(phaseLog: PhaseLog): void;
55
+ /**
56
+ * Complete the current issue and add it to the run log
57
+ */
58
+ completeIssue(): void;
59
+ /**
60
+ * Finalize the run log and write to disk
61
+ *
62
+ * @returns Path to the written log file
63
+ */
64
+ finalize(): Promise<string>;
65
+ /**
66
+ * Get the current run log (for inspection)
67
+ */
68
+ getRunLog(): Omit<RunLog, "endTime"> | null;
69
+ /**
70
+ * Get the run ID
71
+ */
72
+ getRunId(): string | null;
73
+ private resolvePath;
74
+ private ensureLogDirectory;
75
+ private writeLogFile;
76
+ }
77
+ /**
78
+ * Create a simple phase log from timing data
79
+ *
80
+ * Utility function for creating phase logs when you have start/end times.
81
+ */
82
+ export declare function createPhaseLogFromTiming(phase: Phase, issueNumber: number, startTime: Date, endTime: Date, status: PhaseLog["status"], options?: Partial<Pick<PhaseLog, "error" | "iterations" | "filesModified" | "testsRun" | "testsPassed">>): PhaseLog;
83
+ //# sourceMappingURL=log-writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-writer.d.ts","sourceRoot":"","sources":["../../../../src/lib/workflow/log-writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,EACL,KAAK,MAAM,EACX,KAAK,SAAS,EAEd,KAAK,QAAQ,EACb,KAAK,KAAK,EAMX,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,gBAAgB;IAC/B,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,6BAA6B;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,OAAO,CAAU;gBAEb,OAAO,GAAE,gBAAqB;IAM1C;;;;OAIG;IACG,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBlD;;;;;;OAMG;IACH,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAmBtE;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAwBlC;;OAEG;IACH,aAAa,IAAI,IAAI;IA+BrB;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IAiCjC;;OAEG;IACH,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAI;IAI3C;;OAEG;IACH,QAAQ,IAAI,MAAM,GAAG,IAAI;IAIzB,OAAO,CAAC,WAAW;YAIL,kBAAkB;YAOlB,YAAY;CAO3B;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,IAAI,EACf,OAAO,EAAE,IAAI,EACb,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAC1B,OAAO,CAAC,EAAE,OAAO,CACf,IAAI,CACF,QAAQ,EACR,OAAO,GAAG,YAAY,GAAG,eAAe,GAAG,UAAU,GAAG,aAAa,CACtE,CACF,GACA,QAAQ,CAYV"}