@autonav/core 1.10.0 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,7 +14,8 @@ import * as readline from "node:readline";
14
14
  import { NavigatorAdapter } from "../adapter/index.js";
15
15
  import { loadNavigator } from "../query-engine/index.js";
16
16
  import chalk from "chalk";
17
- import { ensureGitRepo, createBranch, getCurrentBranch, getRecentGitLog, getRecentDiff, getLastCommitDiffStats, hasUncommittedChanges, stageAllChanges, commitChanges, pushBranch, createPullRequest, isGhAvailable, } from "./git-operations.js";
17
+ import { ensureGitRepo, getCurrentBranch, getRecentGitLog, getRecentDiff, getLastCommitDiffStats, hasUncommittedChanges, getUncommittedFiles, stageAllChanges, commitChanges, pushBranch, createPullRequest, isGhAvailable, getDefaultBranch, createWorktree, removeWorktree, slugifyBranchName, } from "./git-operations.js";
18
+ import { resolveConfigDir } from "../standup/config.js";
18
19
  import { createNavProtocolTools } from "./nav-protocol.js";
19
20
  import { buildNavPlanPrompt, buildNavSystemPrompt, buildReviewPrompt, buildFixPrompt, buildFixSystemPrompt, } from "./prompts.js";
20
21
  import { MatrixAnimation } from "./matrix-animation.js";
@@ -203,6 +204,28 @@ function pickMood(phase, toolName, input, state) {
203
204
  return randomFrom(IMPL_READING);
204
205
  return randomFrom(IMPL_READING);
205
206
  }
207
+ // ── Verbose tool formatting ──────────────────────────────────────────────────
208
+ /**
209
+ * Format a tool_use event for verbose logging.
210
+ *
211
+ * Shows contextual details: Bash commands, file paths, search patterns.
212
+ */
213
+ function formatToolEvent(prefix, toolName, input) {
214
+ switch (toolName) {
215
+ case "Bash":
216
+ return `[${prefix}] Bash: ${input.command || ""}`;
217
+ case "Read":
218
+ case "Write":
219
+ case "Edit":
220
+ return `[${prefix}] ${toolName}: ${input.file_path || ""}`;
221
+ case "Glob":
222
+ return `[${prefix}] Glob: ${input.pattern || ""}`;
223
+ case "Grep":
224
+ return `[${prefix}] Grep: ${input.pattern || ""}`;
225
+ default:
226
+ return `[${prefix}] Tool: ${toolName}`;
227
+ }
228
+ }
206
229
  // ── Rate limit retry wrapper ────────────────────────────────────────────────
207
230
  /**
208
231
  * Check if an error message indicates a rate limit
@@ -483,6 +506,7 @@ ${truncatedDiff}
483
506
  async function reviewImplementation(codeDirectory, navDirectory, options, animation, verbose, harness) {
484
507
  const MAX_REVIEW_ROUNDS = options.maxReviewRounds ?? 10;
485
508
  let fixApplied = false;
509
+ const reviewHistory = [];
486
510
  for (let round = 1; round <= MAX_REVIEW_ROUNDS; round++) {
487
511
  // Stage and get diff
488
512
  stageAllChanges({ cwd: codeDirectory });
@@ -499,6 +523,7 @@ async function reviewImplementation(codeDirectory, navDirectory, options, animat
499
523
  console.log(`\n[Review] Round ${round}/${MAX_REVIEW_ROUNDS}`);
500
524
  }
501
525
  // Ask opus to review the diff (single-turn, no tools)
526
+ // Pass review history for anti-oscillation on round 2+
502
527
  let reviewResult = "";
503
528
  try {
504
529
  const reviewSession = harness.run({
@@ -507,7 +532,7 @@ async function reviewImplementation(codeDirectory, navDirectory, options, animat
507
532
  systemPrompt: "You are a code reviewer. Be concise and actionable. Never use tools — respond directly.",
508
533
  cwd: navDirectory,
509
534
  permissionMode: "bypassPermissions",
510
- }, buildReviewPrompt(diff));
535
+ }, buildReviewPrompt(diff, reviewHistory.length > 0 ? reviewHistory : undefined));
511
536
  for await (const event of reviewSession) {
512
537
  if (event.type === "text") {
513
538
  reviewResult += event.text;
@@ -528,6 +553,13 @@ async function reviewImplementation(codeDirectory, navDirectory, options, animat
528
553
  }
529
554
  return { lgtm: true, fixApplied };
530
555
  }
556
+ // Record this round's issues in history (fixApplied will be set after fix)
557
+ const historyEntry = {
558
+ round,
559
+ issues: reviewResult.trim(),
560
+ fixApplied: "",
561
+ };
562
+ reviewHistory.push(historyEntry);
531
563
  // Show issues found
532
564
  const bulletLines = reviewResult
533
565
  .trim()
@@ -555,6 +587,8 @@ async function reviewImplementation(codeDirectory, navDirectory, options, animat
555
587
  animation.start();
556
588
  }
557
589
  // Ask haiku to fix the issues
590
+ // Pass review history so fixer knows what was already addressed
591
+ let fixerText = "";
558
592
  try {
559
593
  const fixSession = harness.run({
560
594
  model: options.model || "claude-haiku-4-5",
@@ -562,17 +596,23 @@ async function reviewImplementation(codeDirectory, navDirectory, options, animat
562
596
  systemPrompt: buildFixSystemPrompt(codeDirectory),
563
597
  cwd: codeDirectory,
564
598
  permissionMode: "bypassPermissions",
565
- }, buildFixPrompt(codeDirectory, reviewResult));
599
+ }, buildFixPrompt(codeDirectory, reviewResult, reviewHistory.length > 1 ? reviewHistory.slice(0, -1) : undefined));
566
600
  for await (const event of fixSession) {
567
601
  if (event.type === "tool_use") {
568
602
  if (verbose) {
569
- console.log(`[Fix] Tool: ${event.name}`);
603
+ console.log(formatToolEvent("Fix", event.name, event.input));
570
604
  }
571
605
  animation.setLastTool(event.name);
572
606
  animation.incrementTurns();
573
607
  }
608
+ else if (event.type === "text") {
609
+ fixerText += event.text;
610
+ }
574
611
  }
575
612
  fixApplied = true;
613
+ // Capture fixer summary for history (first ~200 chars of final text)
614
+ const fixSummary = fixerText.trim().substring(0, 200) || "fixes applied";
615
+ historyEntry.fixApplied = fixSummary;
576
616
  }
577
617
  catch (err) {
578
618
  if (verbose) {
@@ -605,6 +645,22 @@ async function handleUncommittedChanges(codeDirectory, navDirectory, navSystemPr
605
645
  console.log(chalk.yellow("\nUncommitted changes detected.\n"));
606
646
  console.log(chalk.dim("The memento loop uses git history as context for the navigator."));
607
647
  console.log(chalk.dim("Uncommitted changes won't be visible.\n"));
648
+ // Show affected files with status indicators
649
+ const uncommittedFiles = getUncommittedFiles({ cwd: codeDirectory });
650
+ if (uncommittedFiles.length > 0) {
651
+ console.log(chalk.dim(" Affected files:"));
652
+ for (const file of uncommittedFiles) {
653
+ const status = file.substring(0, 2);
654
+ const filePath = file.substring(3);
655
+ const statusColor = status.includes("M") ? chalk.yellow :
656
+ status.includes("A") ? chalk.green :
657
+ status.includes("D") ? chalk.red :
658
+ status.includes("?") ? chalk.blue :
659
+ chalk.dim;
660
+ console.log(` ${statusColor(status)} ${filePath}`);
661
+ }
662
+ console.log("");
663
+ }
608
664
  // Show brief diff summary
609
665
  const diff = getRecentDiff({ cwd: codeDirectory });
610
666
  if (diff) {
@@ -614,11 +670,26 @@ async function handleUncommittedChanges(codeDirectory, navDirectory, navSystemPr
614
670
  console.log(chalk.dim(` ${lineCount} lines changed (${chalk.green(`+${addedCount}`)} ${chalk.red(`-${removedCount}`)})`));
615
671
  console.log("");
616
672
  }
617
- console.log(" [c] Commit (auto-generate message)");
618
- console.log(` [r] Ask ${navName} to review, fix issues, then commit`);
619
- console.log(" [d] Discard changes");
620
- console.log(" [q] Quit\n");
621
- const answer = await promptUser("Choice [c/r/d/q]: ");
673
+ // Prompt loop — [v] returns to the menu after showing diff
674
+ let answer = "";
675
+ while (true) {
676
+ console.log(" [c] Commit (auto-generate message)");
677
+ console.log(` [r] Ask ${navName} to review, fix issues, then commit`);
678
+ console.log(" [v] View diff");
679
+ console.log(" [d] Discard changes");
680
+ console.log(" [q] Quit\n");
681
+ answer = await promptUser("Choice [c/r/v/d/q]: ");
682
+ if (answer === "v" || answer === "view") {
683
+ if (diff) {
684
+ console.log("\n" + diff + "\n");
685
+ }
686
+ else {
687
+ console.log(chalk.dim("\n (no diff available)\n"));
688
+ }
689
+ continue;
690
+ }
691
+ break;
692
+ }
622
693
  switch (answer) {
623
694
  case "c":
624
695
  case "commit": {
@@ -716,7 +787,7 @@ async function queryNavForPlanWithStats(codeDirectory, navDirectory, task, itera
716
787
  }
717
788
  mood.lastError = false;
718
789
  if (verbose) {
719
- console.log(`[Nav] Tool: ${toolName}`);
790
+ console.log(formatToolEvent("Nav", toolName, event.input));
720
791
  }
721
792
  animation.setMessage(pickMood("nav", toolName, event.input, mood));
722
793
  animation.setLastTool(toolName);
@@ -819,7 +890,7 @@ async function runImplementerAgentWithStats(context, plan, options, animation, h
819
890
  }
820
891
  mood.lastError = false;
821
892
  if (verbose) {
822
- console.log(`[Implementer] Tool: ${toolName}`);
893
+ console.log(formatToolEvent("Implementer", toolName, event.input));
823
894
  }
824
895
  animation.setMessage(pickMood("impl", toolName, event.input, mood));
825
896
  animation.setLastTool(toolName);
@@ -1002,10 +1073,15 @@ export async function runMementoLoop(codeDirectory, navDirectory, task, options,
1002
1073
  ensureGitRepo({ cwd: codeDirectory, verbose });
1003
1074
  // Check for uncommitted changes - navigator can't see them!
1004
1075
  await handleUncommittedChanges(codeDirectory, navDirectory, navSystemPrompt, navIdentity, options, harness);
1005
- // Create or switch to branch if specified
1006
- if (options.branch) {
1007
- createBranch(options.branch, { cwd: codeDirectory, verbose });
1008
- }
1076
+ // Detect default branch once and compute worktree base path
1077
+ const defaultBranch = getDefaultBranch({ cwd: codeDirectory });
1078
+ const worktreesBase = path.join(resolveConfigDir(), "worktrees");
1079
+ // Track the effective branch and worktree for this run
1080
+ let activeBranch = options.branch;
1081
+ let worktreePath = null;
1082
+ // The working directory for the implementer — starts as codeDirectory,
1083
+ // switches to worktree once created after the first plan
1084
+ let workDir = codeDirectory;
1009
1085
  const errors = [];
1010
1086
  try {
1011
1087
  // Main loop - only max-iterations stops the loop (0 = unlimited = run forever)
@@ -1019,8 +1095,8 @@ export async function runMementoLoop(codeDirectory, navDirectory, task, options,
1019
1095
  else {
1020
1096
  console.log(`\nIteration ${state.iteration}...`);
1021
1097
  }
1022
- // Get git log to show the navigator what the implementer has accomplished
1023
- const gitLog = getRecentGitLog({ cwd: codeDirectory, count: 20 });
1098
+ // Get git log from the working directory (worktree after iteration 1)
1099
+ const gitLog = getRecentGitLog({ cwd: workDir, count: 20 });
1024
1100
  // Create animation with cumulative stats
1025
1101
  const animation = new MatrixAnimation({
1026
1102
  message: `Consulting ${navIdentity?.name || "navigator"}...`,
@@ -1049,11 +1125,12 @@ export async function runMementoLoop(codeDirectory, navDirectory, task, options,
1049
1125
  let implementerSummary = "";
1050
1126
  try {
1051
1127
  // Query navigator for plan (with rate limit retry)
1128
+ // Navigator always reads from workDir (worktree once created)
1052
1129
  let navResult = null;
1053
1130
  let navRateLimitAttempt = 0;
1054
1131
  while (navResult === null) {
1055
1132
  try {
1056
- navResult = await queryNavForPlanWithStats(codeDirectory, navDirectory, task, state.iteration, maxIterations, navSystemPrompt, navIdentity, gitLog, options, animation, verbose, harness);
1133
+ navResult = await queryNavForPlanWithStats(workDir, navDirectory, task, state.iteration, maxIterations, navSystemPrompt, navIdentity, gitLog, options, animation, verbose, harness);
1057
1134
  }
1058
1135
  catch (navError) {
1059
1136
  const rateLimitInfo = isRateLimitError(navError);
@@ -1078,6 +1155,25 @@ export async function runMementoLoop(codeDirectory, navDirectory, task, options,
1078
1155
  }
1079
1156
  // Record plan in memory (for PR body)
1080
1157
  state.planHistory.push({ iteration: state.iteration, summary: plan.summary });
1158
+ // Create worktree after first plan returns
1159
+ if (state.iteration === 1 && !worktreePath) {
1160
+ const branchName = activeBranch || slugifyBranchName(plan.summary);
1161
+ activeBranch = branchName;
1162
+ worktreePath = path.join(worktreesBase, branchName);
1163
+ // Ensure worktrees base directory exists
1164
+ fs.mkdirSync(worktreesBase, { recursive: true });
1165
+ if (verbose) {
1166
+ console.log(`[Memento] Creating worktree: ${worktreePath}`);
1167
+ console.log(`[Memento] Branch: ${branchName} (from ${defaultBranch})`);
1168
+ }
1169
+ createWorktree(codeDirectory, worktreePath, branchName, defaultBranch);
1170
+ workDir = worktreePath;
1171
+ if (!verbose) {
1172
+ animation.stop();
1173
+ console.log(chalk.dim(` └─ Branch: ${branchName}`));
1174
+ animation.start();
1175
+ }
1176
+ }
1081
1177
  // Show what the implementer will be working on (truncate to ~60 chars)
1082
1178
  const shortSummary = plan.summary.length > 60
1083
1179
  ? plan.summary.substring(0, 57) + "..."
@@ -1100,9 +1196,9 @@ export async function runMementoLoop(codeDirectory, navDirectory, task, options,
1100
1196
  animation.setMessage("Implementer implementing...");
1101
1197
  animation.setTokens(0);
1102
1198
  animation.resetTurns();
1103
- // Run implementer to implement the plan
1199
+ // Run implementer to implement the plan (in worktree)
1104
1200
  // Rate limit retries are handled internally by runImplementerAgentWithStats
1105
- const implementerResult = await runImplementerAgentWithStats({ codeDirectory, task }, plan, {
1201
+ const implementerResult = await runImplementerAgentWithStats({ codeDirectory: workDir, task }, plan, {
1106
1202
  verbose,
1107
1203
  model: options.model,
1108
1204
  maxTurns: options.maxTurns,
@@ -1125,22 +1221,22 @@ export async function runMementoLoop(codeDirectory, navDirectory, task, options,
1125
1221
  errors.push(`Iteration ${state.iteration}: Implementer failed - ${truncated}`);
1126
1222
  // Continue to next iteration - navigator can see the state and adjust
1127
1223
  }
1128
- // Phase 3: Review
1224
+ // Phase 3: Review (in worktree)
1129
1225
  // Animation is still running — reviewImplementation manages stop/start internally
1130
- await reviewImplementation(codeDirectory, navDirectory, options, animation, verbose, harness);
1226
+ await reviewImplementation(workDir, navDirectory, options, animation, verbose, harness);
1131
1227
  }
1132
1228
  finally {
1133
1229
  if (!verbose) {
1134
1230
  animation.stop();
1135
1231
  }
1136
1232
  }
1137
- // Phase 4: Commit with LLM-generated message
1138
- stageAllChanges({ cwd: codeDirectory });
1139
- const commitMessage = await generateCommitMessage(codeDirectory, harness);
1140
- const commitHash = commitChanges(commitMessage, { cwd: codeDirectory, verbose });
1233
+ // Phase 4: Commit with LLM-generated message (in worktree)
1234
+ stageAllChanges({ cwd: workDir });
1235
+ const commitMessage = await generateCommitMessage(workDir, harness);
1236
+ const commitHash = commitChanges(commitMessage, { cwd: workDir, verbose });
1141
1237
  // Get diff stats from the commit
1142
1238
  if (commitHash) {
1143
- const diffStats = getLastCommitDiffStats({ cwd: codeDirectory });
1239
+ const diffStats = getLastCommitDiffStats({ cwd: workDir });
1144
1240
  state.stats.linesAdded += diffStats.linesAdded;
1145
1241
  state.stats.linesRemoved += diffStats.linesRemoved;
1146
1242
  }
@@ -1164,15 +1260,15 @@ export async function runMementoLoop(codeDirectory, navDirectory, task, options,
1164
1260
  console.log(`\nMax iterations (${maxIterations}) reached.`);
1165
1261
  // Handle PR creation if requested
1166
1262
  let prUrl;
1167
- if (pr && options.branch) {
1263
+ if (pr && activeBranch) {
1168
1264
  if (!isGhAvailable()) {
1169
1265
  console.warn("\nWarning: gh CLI not available. Cannot create PR. Install and authenticate gh CLI.");
1170
1266
  }
1171
1267
  else {
1172
1268
  console.log("\nCreating pull request...");
1173
- // Push branch
1174
- pushBranch(options.branch, {
1175
- cwd: codeDirectory,
1269
+ // Push branch (from worktree where commits live)
1270
+ pushBranch(activeBranch, {
1271
+ cwd: workDir,
1176
1272
  verbose,
1177
1273
  setUpstream: true,
1178
1274
  });
@@ -1188,7 +1284,7 @@ ${state.planHistory.map((h) => `- **${h.iteration}**: ${h.summary}`).join("\n")}
1188
1284
  ---
1189
1285
  *Created by autonav memento loop*`;
1190
1286
  prUrl = createPullRequest({
1191
- cwd: codeDirectory,
1287
+ cwd: workDir,
1192
1288
  verbose,
1193
1289
  title: task.length > 70 ? `${task.substring(0, 67)}...` : task,
1194
1290
  body: prBody,
@@ -1202,7 +1298,7 @@ ${state.planHistory.map((h) => `- **${h.iteration}**: ${h.summary}`).join("\n")}
1202
1298
  iterations: state.iteration,
1203
1299
  completionMessage: state.completionMessage,
1204
1300
  prUrl,
1205
- branch: options.branch || getCurrentBranch({ cwd: codeDirectory }),
1301
+ branch: activeBranch || getCurrentBranch({ cwd: workDir }),
1206
1302
  durationMs,
1207
1303
  errors: errors.length > 0 ? errors : undefined,
1208
1304
  };
@@ -1214,10 +1310,26 @@ ${state.planHistory.map((h) => `- **${h.iteration}**: ${h.summary}`).join("\n")}
1214
1310
  return {
1215
1311
  success: false,
1216
1312
  iterations: state.iteration,
1217
- branch: options.branch || getCurrentBranch({ cwd: codeDirectory }),
1313
+ branch: activeBranch || getCurrentBranch({ cwd: workDir }),
1218
1314
  durationMs,
1219
1315
  errors,
1220
1316
  };
1221
1317
  }
1318
+ finally {
1319
+ // Clean up worktree on exit
1320
+ if (worktreePath) {
1321
+ if (verbose) {
1322
+ console.log(`[Memento] Cleaning up worktree: ${worktreePath}`);
1323
+ }
1324
+ try {
1325
+ removeWorktree(codeDirectory, worktreePath);
1326
+ }
1327
+ catch (err) {
1328
+ if (verbose) {
1329
+ console.log(chalk.yellow(`[Memento] Worktree cleanup failed: ${err instanceof Error ? err.message : err}`));
1330
+ }
1331
+ }
1332
+ }
1333
+ }
1222
1334
  }
1223
1335
  //# sourceMappingURL=loop.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/memento/loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/memento/loop.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,14 @@
11
11
  import { type NavigatorIdentity } from "@autonav/communication-layer";
12
12
  import type { ImplementationPlan } from "./types.js";
13
13
  export type { NavigatorIdentity };
14
+ /**
15
+ * A single round of review history for anti-oscillation context.
16
+ */
17
+ export interface ReviewRound {
18
+ round: number;
19
+ issues: string;
20
+ fixApplied: string;
21
+ }
14
22
  /**
15
23
  * Minimal context passed to nav prompt (no persisted state)
16
24
  */
@@ -44,12 +52,18 @@ export declare function buildImplementerSystemPrompt(codeDirectory: string): str
44
52
  /**
45
53
  * Build the prompt for the reviewer (navigator/opus) to review a diff.
46
54
  * Single-turn, no tools — just read the diff and respond.
55
+ *
56
+ * When reviewHistory is provided, previous rounds are included to prevent
57
+ * oscillation (reviewer contradicting its own earlier feedback).
47
58
  */
48
- export declare function buildReviewPrompt(diff: string): string;
59
+ export declare function buildReviewPrompt(diff: string, reviewHistory?: ReviewRound[]): string;
49
60
  /**
50
61
  * Build the prompt for the fixer (implementer/haiku) to fix review issues.
62
+ *
63
+ * When reviewHistory is provided, previous rounds are included so the fixer
64
+ * knows what was already addressed and avoids reverting earlier fixes.
51
65
  */
52
- export declare function buildFixPrompt(codeDirectory: string, reviewResult: string): string;
66
+ export declare function buildFixPrompt(codeDirectory: string, reviewResult: string, reviewHistory?: ReviewRound[]): string;
53
67
  /**
54
68
  * Build the system prompt for the fixer agent
55
69
  */
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/memento/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGrD,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAElC;;GAEG;AACH,UAAU,gBAAgB;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,EACd,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,IAAI,GAC3C,MAAM,CAoDR;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAqBpE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,kBAAkB,GACvB,MAAM,CA4BR;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAsB1E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAmBtD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,GACnB,MAAM,CAeR;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAgBlE"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/memento/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGrD,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAElC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,UAAU,gBAAgB;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,EACd,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,IAAI,GAC3C,MAAM,CAoDR;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAqBpE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,kBAAkB,GACvB,MAAM,CA4BR;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAsB1E;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,WAAW,EAAE,GAAG,MAAM,CAuCrF;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,WAAW,EAAE,GAC5B,MAAM,CAiCR;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAgBlE"}