@autonav/core 1.9.0 → 1.11.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.
- package/dist/cli/nav-memento.d.ts.map +1 -1
- package/dist/cli/nav-memento.js +5 -0
- package/dist/cli/nav-memento.js.map +1 -1
- package/dist/memento/git-operations.d.ts +30 -0
- package/dist/memento/git-operations.d.ts.map +1 -1
- package/dist/memento/git-operations.js +100 -0
- package/dist/memento/git-operations.js.map +1 -1
- package/dist/memento/index.d.ts +2 -2
- package/dist/memento/index.d.ts.map +1 -1
- package/dist/memento/index.js +2 -2
- package/dist/memento/index.js.map +1 -1
- package/dist/memento/loop.d.ts.map +1 -1
- package/dist/memento/loop.js +148 -36
- package/dist/memento/loop.js.map +1 -1
- package/dist/memento/prompts.d.ts +16 -2
- package/dist/memento/prompts.d.ts.map +1 -1
- package/dist/memento/prompts.js +38 -4
- package/dist/memento/prompts.js.map +1 -1
- package/dist/memento/types.d.ts +2 -0
- package/dist/memento/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nav-memento.d.ts","sourceRoot":"","sources":["../../src/cli/nav-memento.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;GAgBG;
|
|
1
|
+
{"version":3,"file":"nav-memento.d.ts","sourceRoot":"","sources":["../../src/cli/nav-memento.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;GAgBG;AAwOH,kEAAkE;AAClE,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvD"}
|
package/dist/cli/nav-memento.js
CHANGED
|
@@ -20,6 +20,7 @@ import { Command } from "commander";
|
|
|
20
20
|
import chalk from "chalk";
|
|
21
21
|
import * as fs from "node:fs";
|
|
22
22
|
import * as path from "node:path";
|
|
23
|
+
import * as os from "node:os";
|
|
23
24
|
import { runMementoLoop } from "../memento/index.js";
|
|
24
25
|
import { resolveAndCreateHarness } from "../harness/index.js";
|
|
25
26
|
/**
|
|
@@ -47,6 +48,7 @@ program
|
|
|
47
48
|
.option("--promise <text>", "Completion signal text", "IMPLEMENTATION COMPLETE")
|
|
48
49
|
.option("--branch <name>", "Git branch name for work")
|
|
49
50
|
.option("--task <text>", "Task description (reads TASK.md if not provided)")
|
|
51
|
+
.option("--max-review-rounds <n>", "Maximum review-fix rounds per iteration (default: 10)", "10")
|
|
50
52
|
.option("--verbose", "Show detailed logging")
|
|
51
53
|
.option("--model <model>", "Model for implementer agent", "claude-haiku-4-5")
|
|
52
54
|
.option("--nav-model <model>", "Model for navigator agent", "claude-opus-4-5")
|
|
@@ -108,6 +110,8 @@ async function executeMemento(codeDirectory, navDirectory, options) {
|
|
|
108
110
|
console.log(`${chalk.blue("Code:")} ${resolvedCodeDir}`);
|
|
109
111
|
console.log(`${chalk.blue("Navigator:")} ${resolvedNavDir}`);
|
|
110
112
|
console.log(`${chalk.blue("Task:")} ${task.substring(0, 80)}${task.length > 80 ? "..." : ""}`);
|
|
113
|
+
const claudeConfigDir = process.env.CLAUDE_CONFIG_DIR || path.join(os.homedir(), ".claude");
|
|
114
|
+
console.log(`${chalk.blue("Claude config:")} ${claudeConfigDir}`);
|
|
111
115
|
if (options.branch) {
|
|
112
116
|
console.log(`${chalk.blue("Branch:")} ${options.branch}`);
|
|
113
117
|
}
|
|
@@ -130,6 +134,7 @@ async function executeMemento(codeDirectory, navDirectory, options) {
|
|
|
130
134
|
verbose,
|
|
131
135
|
model: options.model,
|
|
132
136
|
navModel: options.navModel,
|
|
137
|
+
maxReviewRounds: parseInt(options.maxReviewRounds || "10", 10),
|
|
133
138
|
}, harness);
|
|
134
139
|
// Display results
|
|
135
140
|
console.log(chalk.dim("\n" + "─".repeat(40)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nav-memento.js","sourceRoot":"","sources":["../../src/cli/nav-memento.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"nav-memento.js","sourceRoot":"","sources":["../../src/cli/nav-memento.ts"],"names":[],"mappings":"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"}
|
|
@@ -91,5 +91,35 @@ export declare function isGhAvailable(): boolean;
|
|
|
91
91
|
* Get the remote origin URL
|
|
92
92
|
*/
|
|
93
93
|
export declare function getRemoteUrl(options: GitOptions): string | null;
|
|
94
|
+
/**
|
|
95
|
+
* Detect the default branch (main or master).
|
|
96
|
+
*
|
|
97
|
+
* Tries `git symbolic-ref refs/remotes/origin/HEAD` first, then falls back
|
|
98
|
+
* to checking if `main` or `master` exist locally.
|
|
99
|
+
*/
|
|
100
|
+
export declare function getDefaultBranch(options: GitOptions): string;
|
|
101
|
+
/**
|
|
102
|
+
* Create a git worktree checked out on a new branch forked from baseBranch.
|
|
103
|
+
*
|
|
104
|
+
* Runs: `git worktree add -b <branch> <worktreePath> <baseBranch>` from repoDir.
|
|
105
|
+
*/
|
|
106
|
+
export declare function createWorktree(repoDir: string, worktreePath: string, branch: string, baseBranch?: string): void;
|
|
107
|
+
/**
|
|
108
|
+
* Remove a git worktree and clean up.
|
|
109
|
+
*/
|
|
110
|
+
export declare function removeWorktree(repoDir: string, worktreePath: string): void;
|
|
111
|
+
/**
|
|
112
|
+
* Convert a plan summary into a git branch name.
|
|
113
|
+
*
|
|
114
|
+
* "feat: Add user authentication" → "feat/add-user-authentication"
|
|
115
|
+
* Lowercase, replace spaces/special chars with hyphens, truncate to ~50 chars.
|
|
116
|
+
*/
|
|
117
|
+
export declare function slugifyBranchName(summary: string): string;
|
|
118
|
+
/**
|
|
119
|
+
* Get list of uncommitted files with their status indicators.
|
|
120
|
+
*
|
|
121
|
+
* Returns lines like: "M src/foo.ts", "?? new-file.ts", "A added.ts"
|
|
122
|
+
*/
|
|
123
|
+
export declare function getUncommittedFiles(options: GitOptions): string[];
|
|
94
124
|
export {};
|
|
95
125
|
//# sourceMappingURL=git-operations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-operations.d.ts","sourceRoot":"","sources":["../../src/memento/git-operations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,UAAU,UAAU;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAuBD;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAW9C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAOvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAM5D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CAgBpE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,UAAU,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACvC,MAAM,CAeR;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAQzD;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAqB3D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAoBrE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAOlE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,UAAU,GAClB,MAAM,GAAG,IAAI,CAuBf;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,UAAU,GAAG;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAC9C,IAAI,CAON;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,UAAU,GAAG;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GACA,MAAM,CAsBR;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAUvC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAM/D"}
|
|
1
|
+
{"version":3,"file":"git-operations.d.ts","sourceRoot":"","sources":["../../src/memento/git-operations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,UAAU,UAAU;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAuBD;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAW9C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAOvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAM5D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CAgBpE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,UAAU,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACvC,MAAM,CAeR;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAQzD;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAqB3D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAoBrE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAOlE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,UAAU,GAClB,MAAM,GAAG,IAAI,CAuBf;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,UAAU,GAAG;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAC9C,IAAI,CAON;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,UAAU,GAAG;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GACA,MAAM,CAsBR;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAUvC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAM/D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CA6B5D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM,GAClB,IAAI,CAMN;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAgB1E;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAUzD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,EAAE,CAQjE"}
|
|
@@ -253,4 +253,104 @@ export function getRemoteUrl(options) {
|
|
|
253
253
|
return null;
|
|
254
254
|
}
|
|
255
255
|
}
|
|
256
|
+
/**
|
|
257
|
+
* Detect the default branch (main or master).
|
|
258
|
+
*
|
|
259
|
+
* Tries `git symbolic-ref refs/remotes/origin/HEAD` first, then falls back
|
|
260
|
+
* to checking if `main` or `master` exist locally.
|
|
261
|
+
*/
|
|
262
|
+
export function getDefaultBranch(options) {
|
|
263
|
+
// Try remote HEAD symbolic ref
|
|
264
|
+
try {
|
|
265
|
+
const ref = execGit("git symbolic-ref refs/remotes/origin/HEAD", { ...options, verbose: false });
|
|
266
|
+
// ref looks like "refs/remotes/origin/main"
|
|
267
|
+
const branch = ref.split("/").pop();
|
|
268
|
+
if (branch)
|
|
269
|
+
return branch;
|
|
270
|
+
}
|
|
271
|
+
catch {
|
|
272
|
+
// No remote HEAD — fall through to local check
|
|
273
|
+
}
|
|
274
|
+
// Check if main exists locally
|
|
275
|
+
try {
|
|
276
|
+
execGit("git rev-parse --verify main", { ...options, verbose: false });
|
|
277
|
+
return "main";
|
|
278
|
+
}
|
|
279
|
+
catch {
|
|
280
|
+
// fall through
|
|
281
|
+
}
|
|
282
|
+
// Check if master exists locally
|
|
283
|
+
try {
|
|
284
|
+
execGit("git rev-parse --verify master", { ...options, verbose: false });
|
|
285
|
+
return "master";
|
|
286
|
+
}
|
|
287
|
+
catch {
|
|
288
|
+
// fall through
|
|
289
|
+
}
|
|
290
|
+
// Default to main
|
|
291
|
+
return "main";
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* Create a git worktree checked out on a new branch forked from baseBranch.
|
|
295
|
+
*
|
|
296
|
+
* Runs: `git worktree add -b <branch> <worktreePath> <baseBranch>` from repoDir.
|
|
297
|
+
*/
|
|
298
|
+
export function createWorktree(repoDir, worktreePath, branch, baseBranch) {
|
|
299
|
+
const base = baseBranch || getDefaultBranch({ cwd: repoDir });
|
|
300
|
+
execGit(`git worktree add -b ${branch} "${worktreePath}" ${base}`, { cwd: repoDir });
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Remove a git worktree and clean up.
|
|
304
|
+
*/
|
|
305
|
+
export function removeWorktree(repoDir, worktreePath) {
|
|
306
|
+
try {
|
|
307
|
+
execGit(`git worktree remove "${worktreePath}" --force`, { cwd: repoDir });
|
|
308
|
+
}
|
|
309
|
+
catch {
|
|
310
|
+
// If git worktree remove fails, try manual cleanup
|
|
311
|
+
}
|
|
312
|
+
// Clean up directory if it lingers
|
|
313
|
+
try {
|
|
314
|
+
const fs = require("node:fs");
|
|
315
|
+
if (fs.existsSync(worktreePath)) {
|
|
316
|
+
fs.rmSync(worktreePath, { recursive: true, force: true });
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
catch {
|
|
320
|
+
// Best effort cleanup
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* Convert a plan summary into a git branch name.
|
|
325
|
+
*
|
|
326
|
+
* "feat: Add user authentication" → "feat/add-user-authentication"
|
|
327
|
+
* Lowercase, replace spaces/special chars with hyphens, truncate to ~50 chars.
|
|
328
|
+
*/
|
|
329
|
+
export function slugifyBranchName(summary) {
|
|
330
|
+
return summary
|
|
331
|
+
.toLowerCase()
|
|
332
|
+
.replace(/:\s*/g, "/") // "feat: ..." → "feat/..."
|
|
333
|
+
.replace(/[^a-z0-9/]+/g, "-") // non-alphanumeric → hyphens
|
|
334
|
+
.replace(/-+/g, "-") // collapse multiple hyphens
|
|
335
|
+
.replace(/^-|-$/g, "") // trim leading/trailing hyphens
|
|
336
|
+
.replace(/\/-|-\//g, "/") // clean hyphens around slashes
|
|
337
|
+
.substring(0, 50)
|
|
338
|
+
.replace(/-$/, ""); // trim trailing hyphen after truncation
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Get list of uncommitted files with their status indicators.
|
|
342
|
+
*
|
|
343
|
+
* Returns lines like: "M src/foo.ts", "?? new-file.ts", "A added.ts"
|
|
344
|
+
*/
|
|
345
|
+
export function getUncommittedFiles(options) {
|
|
346
|
+
try {
|
|
347
|
+
const output = execGit("git status --porcelain", { ...options, verbose: false });
|
|
348
|
+
if (!output)
|
|
349
|
+
return [];
|
|
350
|
+
return output.split("\n").filter(Boolean);
|
|
351
|
+
}
|
|
352
|
+
catch {
|
|
353
|
+
return [];
|
|
354
|
+
}
|
|
355
|
+
}
|
|
256
356
|
//# sourceMappingURL=git-operations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-operations.js","sourceRoot":"","sources":["../../src/memento/git-operations.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"git-operations.js","sourceRoot":"","sources":["../../src/memento/git-operations.ts"],"names":[],"mappings":"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"}
|
package/dist/memento/index.d.ts
CHANGED
|
@@ -22,9 +22,9 @@
|
|
|
22
22
|
* ```
|
|
23
23
|
*/
|
|
24
24
|
export { type ImplementationStep, type ImplementationPlan, type ImplementerResult, type MementoOptions, type MementoResult, ImplementationStepSchema, ImplementationPlanSchema, } from "./types.js";
|
|
25
|
-
export { isGitRepo, ensureGitRepo, getCurrentBranch, createBranch, getRecentGitLog, getRecentDiff, getDiffStats, getLastCommitDiffStats, hasUncommittedChanges, stageAllChanges, commitChanges, pushBranch, createPullRequest, isGhAvailable, getRemoteUrl, type DiffStats, } from "./git-operations.js";
|
|
25
|
+
export { isGitRepo, ensureGitRepo, getCurrentBranch, createBranch, getRecentGitLog, getRecentDiff, getDiffStats, getLastCommitDiffStats, hasUncommittedChanges, getUncommittedFiles, stageAllChanges, commitChanges, pushBranch, createPullRequest, isGhAvailable, getRemoteUrl, getDefaultBranch, createWorktree, removeWorktree, slugifyBranchName, type DiffStats, } from "./git-operations.js";
|
|
26
26
|
export { createNavProtocolTools, SUBMIT_PLAN_TOOL, type PlanSubmissionResult, } from "./nav-protocol.js";
|
|
27
|
-
export { buildNavPlanPrompt, buildNavSystemPrompt, buildImplementerPrompt, buildImplementerSystemPrompt, type NavigatorIdentity, } from "./prompts.js";
|
|
27
|
+
export { buildNavPlanPrompt, buildNavSystemPrompt, buildImplementerPrompt, buildImplementerSystemPrompt, buildReviewPrompt, buildFixPrompt, buildFixSystemPrompt, type NavigatorIdentity, type ReviewRound, } from "./prompts.js";
|
|
28
28
|
export { runImplementerAgent, type ImplementerAgentOptions, } from "./implementer-agent.js";
|
|
29
29
|
export { runMementoLoop, type MementoLoopOptions, } from "./loop.js";
|
|
30
30
|
export { parseRateLimitError, isTransientConnectionError, formatDuration, getBackoffDelay, getConnectionRetryDelay, waitWithCountdown, type RateLimitInfo, type RateLimitRetryConfig, } from "./rate-limit.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/memento/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,YAAY,EACZ,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,KAAK,SAAS,GACf,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,KAAK,oBAAoB,GAC1B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,4BAA4B,EAC5B,KAAK,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/memento/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,YAAY,EACZ,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,KAAK,SAAS,GACf,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,KAAK,oBAAoB,GAC1B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,4BAA4B,EAC5B,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,KAAK,iBAAiB,EACtB,KAAK,WAAW,GACjB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,mBAAmB,EACnB,KAAK,uBAAuB,GAC7B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,cAAc,EACd,KAAK,kBAAkB,GACxB,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,cAAc,EACd,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,KAAK,aAAa,EAClB,KAAK,oBAAoB,GAC1B,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,KAAK,cAAc,GACpB,MAAM,uBAAuB,CAAC"}
|
package/dist/memento/index.js
CHANGED
|
@@ -24,11 +24,11 @@
|
|
|
24
24
|
// Types
|
|
25
25
|
export { ImplementationStepSchema, ImplementationPlanSchema, } from "./types.js";
|
|
26
26
|
// Git operations
|
|
27
|
-
export { isGitRepo, ensureGitRepo, getCurrentBranch, createBranch, getRecentGitLog, getRecentDiff, getDiffStats, getLastCommitDiffStats, hasUncommittedChanges, stageAllChanges, commitChanges, pushBranch, createPullRequest, isGhAvailable, getRemoteUrl, } from "./git-operations.js";
|
|
27
|
+
export { isGitRepo, ensureGitRepo, getCurrentBranch, createBranch, getRecentGitLog, getRecentDiff, getDiffStats, getLastCommitDiffStats, hasUncommittedChanges, getUncommittedFiles, stageAllChanges, commitChanges, pushBranch, createPullRequest, isGhAvailable, getRemoteUrl, getDefaultBranch, createWorktree, removeWorktree, slugifyBranchName, } from "./git-operations.js";
|
|
28
28
|
// Nav protocol
|
|
29
29
|
export { createNavProtocolTools, SUBMIT_PLAN_TOOL, } from "./nav-protocol.js";
|
|
30
30
|
// Prompts
|
|
31
|
-
export { buildNavPlanPrompt, buildNavSystemPrompt, buildImplementerPrompt, buildImplementerSystemPrompt, } from "./prompts.js";
|
|
31
|
+
export { buildNavPlanPrompt, buildNavSystemPrompt, buildImplementerPrompt, buildImplementerSystemPrompt, buildReviewPrompt, buildFixPrompt, buildFixSystemPrompt, } from "./prompts.js";
|
|
32
32
|
// Implementer agent
|
|
33
33
|
export { runImplementerAgent, } from "./implementer-agent.js";
|
|
34
34
|
// Main loop
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/memento/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,QAAQ;AACR,OAAO,EAML,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,YAAY,CAAC;AAEpB,iBAAiB;AACjB,OAAO,EACL,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,YAAY,EACZ,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,YAAY,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/memento/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,QAAQ;AACR,OAAO,EAML,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,YAAY,CAAC;AAEpB,iBAAiB;AACjB,OAAO,EACL,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,YAAY,EACZ,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,GAElB,MAAM,qBAAqB,CAAC;AAE7B,eAAe;AACf,OAAO,EACL,sBAAsB,EACtB,gBAAgB,GAEjB,MAAM,mBAAmB,CAAC;AAE3B,UAAU;AACV,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,4BAA4B,EAC5B,iBAAiB,EACjB,cAAc,EACd,oBAAoB,GAGrB,MAAM,cAAc,CAAC;AAEtB,oBAAoB;AACpB,OAAO,EACL,mBAAmB,GAEpB,MAAM,wBAAwB,CAAC;AAEhC,YAAY;AACZ,OAAO,EACL,cAAc,GAEf,MAAM,WAAW,CAAC;AAEnB,sBAAsB;AACtB,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,cAAc,EACd,eAAe,EACf,uBAAuB,EACvB,iBAAiB,GAGlB,MAAM,iBAAiB,CAAC;AAEzB,YAAY;AACZ,OAAO,EACL,eAAe,EACf,mBAAmB,GAEpB,MAAM,uBAAuB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/memento/loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAsB,MAAM,YAAY,CAAC;AACpF,OAAO,KAAK,EAAE,OAAO,EAAc,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/memento/loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAsB,MAAM,YAAY,CAAC;AACpF,OAAO,KAAK,EAAE,OAAO,EAAc,MAAM,qBAAqB,CAAC;AAwV/D;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAEnB;AAy/BD;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,aAAa,CAAC,CAwWxB"}
|
package/dist/memento/loop.js
CHANGED
|
@@ -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,
|
|
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
|
|
@@ -472,7 +495,7 @@ ${truncatedDiff}
|
|
|
472
495
|
/**
|
|
473
496
|
* Review implementation changes (Phase 3 of the 4-phase iteration loop).
|
|
474
497
|
*
|
|
475
|
-
* Runs up to
|
|
498
|
+
* Runs up to maxReviewRounds (default 10) review-fix cycles:
|
|
476
499
|
* 1. Stage changes and get diff
|
|
477
500
|
* 2. Ask opus to review (single-turn, no tools)
|
|
478
501
|
* 3. If LGTM → done
|
|
@@ -481,8 +504,9 @@ ${truncatedDiff}
|
|
|
481
504
|
* Returns whether the review passed and whether fixes were applied.
|
|
482
505
|
*/
|
|
483
506
|
async function reviewImplementation(codeDirectory, navDirectory, options, animation, verbose, harness) {
|
|
484
|
-
const MAX_REVIEW_ROUNDS =
|
|
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(
|
|
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
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
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(
|
|
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(
|
|
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
|
-
//
|
|
1006
|
-
|
|
1007
|
-
|
|
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
|
|
1023
|
-
const gitLog = getRecentGitLog({ cwd:
|
|
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(
|
|
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(
|
|
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:
|
|
1139
|
-
const commitMessage = await generateCommitMessage(
|
|
1140
|
-
const commitHash = commitChanges(commitMessage, { cwd:
|
|
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:
|
|
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 &&
|
|
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(
|
|
1175
|
-
cwd:
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
package/dist/memento/loop.js.map
CHANGED
|
@@ -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
|
|
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"}
|
package/dist/memento/prompts.js
CHANGED
|
@@ -147,10 +147,28 @@ All file paths are relative to: ${codeDirectory}
|
|
|
147
147
|
/**
|
|
148
148
|
* Build the prompt for the reviewer (navigator/opus) to review a diff.
|
|
149
149
|
* Single-turn, no tools — just read the diff and respond.
|
|
150
|
+
*
|
|
151
|
+
* When reviewHistory is provided, previous rounds are included to prevent
|
|
152
|
+
* oscillation (reviewer contradicting its own earlier feedback).
|
|
150
153
|
*/
|
|
151
|
-
export function buildReviewPrompt(diff) {
|
|
154
|
+
export function buildReviewPrompt(diff, reviewHistory) {
|
|
152
155
|
const truncatedDiff = diff.length > 8000 ? diff.substring(0, 8000) + "\n... (truncated)" : diff;
|
|
153
|
-
|
|
156
|
+
let historySection = "";
|
|
157
|
+
if (reviewHistory && reviewHistory.length > 0) {
|
|
158
|
+
const rounds = reviewHistory
|
|
159
|
+
.map((r) => `### Round ${r.round}\nIssues flagged:\n${r.issues}\n${r.fixApplied ? `Fix applied: ${r.fixApplied}` : "(fix pending)"}`)
|
|
160
|
+
.join("\n\n");
|
|
161
|
+
historySection = `## Previous Review Rounds
|
|
162
|
+
|
|
163
|
+
The following reviews have already been conducted on this code. You MUST maintain consistency with your previous feedback. Do NOT contradict or reverse guidance from earlier rounds. Only flag NEW issues or issues that were not properly fixed.
|
|
164
|
+
|
|
165
|
+
${rounds}
|
|
166
|
+
|
|
167
|
+
## Current Diff
|
|
168
|
+
|
|
169
|
+
`;
|
|
170
|
+
}
|
|
171
|
+
return `${historySection}Review the following diff for bugs, correctness issues, or missing error handling. Do NOT use any tools — just read the diff and respond.
|
|
154
172
|
|
|
155
173
|
Respond in EXACTLY one of these formats:
|
|
156
174
|
|
|
@@ -168,11 +186,27 @@ ${truncatedDiff}
|
|
|
168
186
|
}
|
|
169
187
|
/**
|
|
170
188
|
* Build the prompt for the fixer (implementer/haiku) to fix review issues.
|
|
189
|
+
*
|
|
190
|
+
* When reviewHistory is provided, previous rounds are included so the fixer
|
|
191
|
+
* knows what was already addressed and avoids reverting earlier fixes.
|
|
171
192
|
*/
|
|
172
|
-
export function buildFixPrompt(codeDirectory, reviewResult) {
|
|
193
|
+
export function buildFixPrompt(codeDirectory, reviewResult, reviewHistory) {
|
|
194
|
+
let historySection = "";
|
|
195
|
+
if (reviewHistory && reviewHistory.length > 0) {
|
|
196
|
+
const rounds = reviewHistory
|
|
197
|
+
.map((r) => `### Round ${r.round}\nIssues flagged:\n${r.issues}\n${r.fixApplied ? `Fix applied: ${r.fixApplied}` : "(fix pending)"}`)
|
|
198
|
+
.join("\n\n");
|
|
199
|
+
historySection = `## Previous Review History
|
|
200
|
+
|
|
201
|
+
These issues were flagged and fixed in earlier rounds. Do NOT undo or revert these fixes:
|
|
202
|
+
|
|
203
|
+
${rounds}
|
|
204
|
+
|
|
205
|
+
`;
|
|
206
|
+
}
|
|
173
207
|
return `# Fix Review Issues
|
|
174
208
|
|
|
175
|
-
Fix the following issues found during code review:
|
|
209
|
+
${historySection}Fix the following issues found during code review:
|
|
176
210
|
|
|
177
211
|
${reviewResult}
|
|
178
212
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/memento/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,0BAA0B,GAE3B,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/memento/prompts.ts"],"names":[],"mappings":"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"}
|
package/dist/memento/types.d.ts
CHANGED
|
@@ -100,6 +100,8 @@ export interface MementoOptions {
|
|
|
100
100
|
task?: string;
|
|
101
101
|
/** Show detailed logging */
|
|
102
102
|
verbose?: boolean;
|
|
103
|
+
/** Maximum review-fix rounds per iteration (default: 10) */
|
|
104
|
+
maxReviewRounds?: number;
|
|
103
105
|
}
|
|
104
106
|
/**
|
|
105
107
|
* Final result of memento loop execution
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/memento/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;EAInC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAC;IAEjB,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAEhB,+BAA+B;IAC/B,aAAa,EAAE,MAAM,EAAE,CAAC;IAExB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,EAAE,CAAC,EAAE,OAAO,CAAC;IAEb,yCAAyC;IACzC,aAAa,EAAE,MAAM,CAAC;IAEtB,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAEhB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,4BAA4B;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/memento/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;EAInC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAC;IAEjB,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAEhB,+BAA+B;IAC/B,aAAa,EAAE,MAAM,EAAE,CAAC;IAExB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,EAAE,CAAC,EAAE,OAAO,CAAC;IAEb,yCAAyC;IACzC,aAAa,EAAE,MAAM,CAAC;IAEtB,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAEhB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,4BAA4B;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,4DAA4D;IAC5D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAC;IAEjB,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IAEnB,kCAAkC;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IAEnB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB"}
|