@autonav/core 1.6.0 → 1.7.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.
Files changed (257) hide show
  1. package/README.md +2 -2
  2. package/dist/adapter/index.d.ts +3 -3
  3. package/dist/adapter/index.d.ts.map +1 -1
  4. package/dist/adapter/index.js +3 -3
  5. package/dist/adapter/index.js.map +1 -1
  6. package/dist/adapter/navigator-adapter.d.ts +196 -0
  7. package/dist/adapter/navigator-adapter.d.ts.map +1 -0
  8. package/dist/adapter/navigator-adapter.js +579 -0
  9. package/dist/adapter/navigator-adapter.js.map +1 -0
  10. package/dist/cli/autonav.d.ts +2 -6
  11. package/dist/cli/autonav.d.ts.map +1 -1
  12. package/dist/cli/autonav.js +32 -53
  13. package/dist/cli/autonav.js.map +1 -1
  14. package/dist/cli/nav-chat.d.ts +2 -1
  15. package/dist/cli/nav-chat.d.ts.map +1 -1
  16. package/dist/cli/nav-chat.js +32 -3
  17. package/dist/cli/nav-chat.js.map +1 -1
  18. package/dist/cli/nav-init.d.ts +2 -1
  19. package/dist/cli/nav-init.d.ts.map +1 -1
  20. package/dist/cli/nav-init.js +12 -4
  21. package/dist/cli/nav-init.js.map +1 -1
  22. package/dist/cli/nav-install.d.ts +2 -1
  23. package/dist/cli/nav-install.d.ts.map +1 -1
  24. package/dist/cli/nav-install.js +4 -2
  25. package/dist/cli/nav-install.js.map +1 -1
  26. package/dist/cli/nav-memento.d.ts +3 -2
  27. package/dist/cli/nav-memento.d.ts.map +1 -1
  28. package/dist/cli/nav-memento.js +12 -6
  29. package/dist/cli/nav-memento.js.map +1 -1
  30. package/dist/cli/nav-mend.d.ts +2 -1
  31. package/dist/cli/nav-mend.d.ts.map +1 -1
  32. package/dist/cli/nav-mend.js +4 -1
  33. package/dist/cli/nav-mend.js.map +1 -1
  34. package/dist/cli/nav-migrate.d.ts +2 -1
  35. package/dist/cli/nav-migrate.d.ts.map +1 -1
  36. package/dist/cli/nav-migrate.js +2 -6
  37. package/dist/cli/nav-migrate.js.map +1 -1
  38. package/dist/cli/nav-query.d.ts +2 -1
  39. package/dist/cli/nav-query.d.ts.map +1 -1
  40. package/dist/cli/nav-query.js +12 -6
  41. package/dist/cli/nav-query.js.map +1 -1
  42. package/dist/cli/nav-standup.d.ts +18 -0
  43. package/dist/cli/nav-standup.d.ts.map +1 -0
  44. package/dist/cli/nav-standup.js +151 -0
  45. package/dist/cli/nav-standup.js.map +1 -0
  46. package/dist/cli/nav-uninstall.d.ts +2 -1
  47. package/dist/cli/nav-uninstall.d.ts.map +1 -1
  48. package/dist/cli/nav-uninstall.js +4 -2
  49. package/dist/cli/nav-uninstall.js.map +1 -1
  50. package/dist/cli/nav-update.d.ts +2 -1
  51. package/dist/cli/nav-update.d.ts.map +1 -1
  52. package/dist/cli/nav-update.js +11 -6
  53. package/dist/cli/nav-update.js.map +1 -1
  54. package/dist/conversation/App.d.ts +9 -2
  55. package/dist/conversation/App.d.ts.map +1 -1
  56. package/dist/conversation/App.js +304 -111
  57. package/dist/conversation/App.js.map +1 -1
  58. package/dist/conversation/index.d.ts +5 -0
  59. package/dist/conversation/index.d.ts.map +1 -1
  60. package/dist/conversation/index.js +17 -2
  61. package/dist/conversation/index.js.map +1 -1
  62. package/dist/harness/chibi-harness.d.ts +36 -0
  63. package/dist/harness/chibi-harness.d.ts.map +1 -0
  64. package/dist/harness/chibi-harness.js +383 -0
  65. package/dist/harness/chibi-harness.js.map +1 -0
  66. package/dist/harness/chibi-plugins/get_plugin_config +64 -0
  67. package/dist/harness/chibi-plugins/query_navigator +114 -0
  68. package/dist/harness/chibi-plugins/submit_answer +38 -0
  69. package/dist/harness/chibi-plugins/update_plugin_config +91 -0
  70. package/dist/harness/claude-code-harness.d.ts +24 -0
  71. package/dist/harness/claude-code-harness.d.ts.map +1 -0
  72. package/dist/harness/claude-code-harness.js +242 -0
  73. package/dist/harness/claude-code-harness.js.map +1 -0
  74. package/dist/harness/ephemeral-home.d.ts +34 -0
  75. package/dist/harness/ephemeral-home.d.ts.map +1 -0
  76. package/dist/harness/ephemeral-home.js +56 -0
  77. package/dist/harness/ephemeral-home.js.map +1 -0
  78. package/dist/harness/factory.d.ts +47 -0
  79. package/dist/harness/factory.d.ts.map +1 -0
  80. package/dist/harness/factory.js +84 -0
  81. package/dist/harness/factory.js.map +1 -0
  82. package/dist/harness/helpers.d.ts +58 -0
  83. package/dist/harness/helpers.d.ts.map +1 -0
  84. package/dist/harness/helpers.js +78 -0
  85. package/dist/harness/helpers.js.map +1 -0
  86. package/dist/harness/index.d.ts +14 -0
  87. package/dist/harness/index.d.ts.map +1 -0
  88. package/dist/harness/index.js +13 -0
  89. package/dist/harness/index.js.map +1 -0
  90. package/dist/harness/opencode-harness.d.ts +79 -0
  91. package/dist/harness/opencode-harness.d.ts.map +1 -0
  92. package/dist/harness/opencode-harness.js +537 -0
  93. package/dist/harness/opencode-harness.js.map +1 -0
  94. package/dist/harness/opencode-tools/get_plugin_config.ts +72 -0
  95. package/dist/harness/opencode-tools/query_navigator.ts +126 -0
  96. package/dist/harness/opencode-tools/submit_answer.ts +40 -0
  97. package/dist/harness/opencode-tools/update_plugin_config.ts +105 -0
  98. package/dist/harness/sandbox.d.ts +59 -0
  99. package/dist/harness/sandbox.d.ts.map +1 -0
  100. package/dist/harness/sandbox.js +152 -0
  101. package/dist/harness/sandbox.js.map +1 -0
  102. package/dist/harness/tool-server.d.ts +50 -0
  103. package/dist/harness/tool-server.d.ts.map +1 -0
  104. package/dist/harness/tool-server.js +27 -0
  105. package/dist/harness/tool-server.js.map +1 -0
  106. package/dist/harness/types.d.ts +168 -0
  107. package/dist/harness/types.d.ts.map +1 -0
  108. package/dist/harness/types.js +12 -0
  109. package/dist/harness/types.js.map +1 -0
  110. package/dist/index.d.ts +3 -2
  111. package/dist/index.d.ts.map +1 -1
  112. package/dist/index.js +4 -2
  113. package/dist/index.js.map +1 -1
  114. package/dist/interview/App.d.ts +4 -2
  115. package/dist/interview/App.d.ts.map +1 -1
  116. package/dist/interview/App.js +36 -56
  117. package/dist/interview/App.js.map +1 -1
  118. package/dist/interview/index.d.ts +3 -0
  119. package/dist/interview/index.d.ts.map +1 -1
  120. package/dist/interview/index.js +1 -0
  121. package/dist/interview/index.js.map +1 -1
  122. package/dist/interview/prompts.d.ts +3 -1
  123. package/dist/interview/prompts.d.ts.map +1 -1
  124. package/dist/interview/prompts.js +5 -1
  125. package/dist/interview/prompts.js.map +1 -1
  126. package/dist/interview/ui/ChatBanner.d.ts +17 -0
  127. package/dist/interview/ui/ChatBanner.d.ts.map +1 -0
  128. package/dist/interview/ui/ChatBanner.js +30 -0
  129. package/dist/interview/ui/ChatBanner.js.map +1 -0
  130. package/dist/interview/ui/ChatInput.d.ts +36 -0
  131. package/dist/interview/ui/ChatInput.d.ts.map +1 -0
  132. package/dist/interview/ui/ChatInput.js +304 -0
  133. package/dist/interview/ui/ChatInput.js.map +1 -0
  134. package/dist/interview/ui/MarkdownText.d.ts +13 -0
  135. package/dist/interview/ui/MarkdownText.d.ts.map +1 -0
  136. package/dist/interview/ui/MarkdownText.js +107 -0
  137. package/dist/interview/ui/MarkdownText.js.map +1 -0
  138. package/dist/interview/ui/index.d.ts +3 -0
  139. package/dist/interview/ui/index.d.ts.map +1 -1
  140. package/dist/interview/ui/index.js +3 -0
  141. package/dist/interview/ui/index.js.map +1 -1
  142. package/dist/memento/implementer-agent.d.ts +31 -0
  143. package/dist/memento/implementer-agent.d.ts.map +1 -0
  144. package/dist/memento/implementer-agent.js +95 -0
  145. package/dist/memento/implementer-agent.js.map +1 -0
  146. package/dist/memento/index.d.ts +6 -5
  147. package/dist/memento/index.d.ts.map +1 -1
  148. package/dist/memento/index.js +7 -5
  149. package/dist/memento/index.js.map +1 -1
  150. package/dist/memento/loop.d.ts +6 -5
  151. package/dist/memento/loop.d.ts.map +1 -1
  152. package/dist/memento/loop.js +872 -180
  153. package/dist/memento/loop.js.map +1 -1
  154. package/dist/memento/matrix-animation.d.ts +26 -0
  155. package/dist/memento/matrix-animation.d.ts.map +1 -1
  156. package/dist/memento/matrix-animation.js +93 -18
  157. package/dist/memento/matrix-animation.js.map +1 -1
  158. package/dist/memento/nav-protocol.d.ts +2 -2
  159. package/dist/memento/nav-protocol.d.ts.map +1 -1
  160. package/dist/memento/nav-protocol.js +39 -43
  161. package/dist/memento/nav-protocol.js.map +1 -1
  162. package/dist/memento/prompts.d.ts +21 -8
  163. package/dist/memento/prompts.d.ts.map +1 -1
  164. package/dist/memento/prompts.js +79 -39
  165. package/dist/memento/prompts.js.map +1 -1
  166. package/dist/memento/rate-limit.d.ts +85 -0
  167. package/dist/memento/rate-limit.d.ts.map +1 -0
  168. package/dist/memento/rate-limit.js +221 -0
  169. package/dist/memento/rate-limit.js.map +1 -0
  170. package/dist/memento/types.d.ts +6 -6
  171. package/dist/memento/types.d.ts.map +1 -1
  172. package/dist/memento/types.js +3 -3
  173. package/dist/memento/worker-agent.d.ts +4 -1
  174. package/dist/memento/worker-agent.d.ts.map +1 -1
  175. package/dist/memento/worker-agent.js +38 -54
  176. package/dist/memento/worker-agent.js.map +1 -1
  177. package/dist/registry.d.ts +35 -0
  178. package/dist/registry.d.ts.map +1 -0
  179. package/dist/registry.js +87 -0
  180. package/dist/registry.js.map +1 -0
  181. package/dist/repo-analyzer/index.d.ts +2 -1
  182. package/dist/repo-analyzer/index.d.ts.map +1 -1
  183. package/dist/repo-analyzer/index.js +6 -17
  184. package/dist/repo-analyzer/index.js.map +1 -1
  185. package/dist/skill-generator/index.d.ts +142 -0
  186. package/dist/skill-generator/index.d.ts.map +1 -0
  187. package/dist/skill-generator/index.js +510 -0
  188. package/dist/skill-generator/index.js.map +1 -0
  189. package/dist/standup/config.d.ts +19 -0
  190. package/dist/standup/config.d.ts.map +1 -0
  191. package/dist/standup/config.js +42 -0
  192. package/dist/standup/config.js.map +1 -0
  193. package/dist/standup/index.d.ts +24 -0
  194. package/dist/standup/index.d.ts.map +1 -0
  195. package/dist/standup/index.js +29 -0
  196. package/dist/standup/index.js.map +1 -0
  197. package/dist/standup/loop.d.ts +36 -0
  198. package/dist/standup/loop.d.ts.map +1 -0
  199. package/dist/standup/loop.js +508 -0
  200. package/dist/standup/loop.js.map +1 -0
  201. package/dist/standup/prompts.d.ts +62 -0
  202. package/dist/standup/prompts.d.ts.map +1 -0
  203. package/dist/standup/prompts.js +211 -0
  204. package/dist/standup/prompts.js.map +1 -0
  205. package/dist/standup/standup-protocol.d.ts +33 -0
  206. package/dist/standup/standup-protocol.d.ts.map +1 -0
  207. package/dist/standup/standup-protocol.js +189 -0
  208. package/dist/standup/standup-protocol.js.map +1 -0
  209. package/dist/standup/types.d.ts +185 -0
  210. package/dist/standup/types.d.ts.map +1 -0
  211. package/dist/standup/types.js +67 -0
  212. package/dist/standup/types.js.map +1 -0
  213. package/dist/templates/.gitignore.template +26 -0
  214. package/dist/templates/CLAUDE-pack.md.template +114 -0
  215. package/dist/templates/CLAUDE.md.template +153 -0
  216. package/dist/templates/README.md.template +174 -0
  217. package/dist/templates/config-pack.json.template +16 -0
  218. package/dist/templates/config.json.template +11 -0
  219. package/dist/templates/index.d.ts +22 -0
  220. package/dist/templates/index.d.ts.map +1 -0
  221. package/dist/templates/index.js +32 -0
  222. package/dist/templates/index.js.map +1 -0
  223. package/dist/templates/plugins.json.template +33 -0
  224. package/dist/templates/system-configuration.md.template +70 -0
  225. package/dist/tools/cross-nav.d.ts +21 -0
  226. package/dist/tools/cross-nav.d.ts.map +1 -0
  227. package/dist/tools/cross-nav.js +93 -0
  228. package/dist/tools/cross-nav.js.map +1 -0
  229. package/dist/tools/index.d.ts +1 -0
  230. package/dist/tools/index.d.ts.map +1 -1
  231. package/dist/tools/index.js +1 -0
  232. package/dist/tools/index.js.map +1 -1
  233. package/dist/tools/related-navs-config.d.ts +15 -0
  234. package/dist/tools/related-navs-config.d.ts.map +1 -0
  235. package/dist/tools/related-navs-config.js +132 -0
  236. package/dist/tools/related-navs-config.js.map +1 -0
  237. package/dist/tools/related-navs.d.ts +23 -0
  238. package/dist/tools/related-navs.d.ts.map +1 -0
  239. package/dist/tools/related-navs.js +107 -0
  240. package/dist/tools/related-navs.js.map +1 -0
  241. package/dist/tools/response.d.ts +3 -2
  242. package/dist/tools/response.d.ts.map +1 -1
  243. package/dist/tools/response.js +7 -11
  244. package/dist/tools/response.js.map +1 -1
  245. package/dist/tools/self-config.d.ts +2 -1
  246. package/dist/tools/self-config.d.ts.map +1 -1
  247. package/dist/tools/self-config.js +5 -9
  248. package/dist/tools/self-config.js.map +1 -1
  249. package/package.json +4 -1
  250. package/dist/memento/state.d.ts +0 -56
  251. package/dist/memento/state.d.ts.map +0 -1
  252. package/dist/memento/state.js +0 -156
  253. package/dist/memento/state.js.map +0 -1
  254. package/dist/migrations/versions/v1.4.0-rfc2119-skills.d.ts +0 -18
  255. package/dist/migrations/versions/v1.4.0-rfc2119-skills.d.ts.map +0 -1
  256. package/dist/migrations/versions/v1.4.0-rfc2119-skills.js +0 -207
  257. package/dist/migrations/versions/v1.4.0-rfc2119-skills.js.map +0 -1
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Implementer Agent for Memento Loop
3
+ *
4
+ * Executes implementation plans using the harness interface.
5
+ */
6
+ import type { Harness } from "../harness/index.js";
7
+ import type { ImplementationPlan, ImplementerResult } from "./types.js";
8
+ /**
9
+ * Minimal context for implementer (no persisted state)
10
+ */
11
+ interface ImplementerContext {
12
+ codeDirectory: string;
13
+ task: string;
14
+ }
15
+ /**
16
+ * Options for implementer agent execution
17
+ */
18
+ export interface ImplementerAgentOptions {
19
+ /** Show detailed logging */
20
+ verbose?: boolean;
21
+ /** Model to use (defaults to claude-sonnet-4-5) */
22
+ model?: string;
23
+ /** Maximum turns for implementer agent */
24
+ maxTurns?: number;
25
+ }
26
+ /**
27
+ * Run the implementer agent to implement a plan
28
+ */
29
+ export declare function runImplementerAgent(context: ImplementerContext, plan: ImplementationPlan, harness: Harness, options?: ImplementerAgentOptions): Promise<ImplementerResult>;
30
+ export {};
31
+ //# sourceMappingURL=implementer-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"implementer-agent.d.ts","sourceRoot":"","sources":["../../src/memento/implementer-agent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAc,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGxE;;GAEG;AACH,UAAU,kBAAkB;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,4BAA4B;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,kBAAkB,EAC3B,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,iBAAiB,CAAC,CAsG5B"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Implementer Agent for Memento Loop
3
+ *
4
+ * Executes implementation plans using the harness interface.
5
+ */
6
+ import { buildImplementerPrompt, buildImplementerSystemPrompt } from "./prompts.js";
7
+ /**
8
+ * Run the implementer agent to implement a plan
9
+ */
10
+ export async function runImplementerAgent(context, plan, harness, options = {}) {
11
+ const startTime = Date.now();
12
+ const { verbose = false, model = "claude-sonnet-4-5", maxTurns = 50, } = options;
13
+ const prompt = buildImplementerPrompt(context.codeDirectory, plan);
14
+ const systemPrompt = buildImplementerSystemPrompt(context.codeDirectory);
15
+ if (verbose) {
16
+ console.log("\n[Implementer] Starting implementation...");
17
+ console.log(`[Implementer] Plan: ${plan.summary}`);
18
+ console.log(`[Implementer] Steps: ${plan.steps.length}`);
19
+ }
20
+ const filesModified = [];
21
+ let lastAssistantText = "";
22
+ let resultEvent;
23
+ try {
24
+ const session = harness.run({
25
+ model,
26
+ maxTurns,
27
+ systemPrompt,
28
+ cwd: context.codeDirectory,
29
+ permissionMode: "bypassPermissions",
30
+ }, prompt);
31
+ for await (const event of session) {
32
+ if (event.type === "tool_use") {
33
+ if (verbose) {
34
+ console.log(`[Implementer] Tool: ${event.name}`);
35
+ }
36
+ // Extract file paths from common tools
37
+ if (event.name === "Write" ||
38
+ event.name === "Edit" ||
39
+ event.name === "str_replace_based_edit_tool") {
40
+ const filePath = event.input.file_path || event.input.path;
41
+ if (typeof filePath === "string" && !filesModified.includes(filePath)) {
42
+ filesModified.push(filePath);
43
+ }
44
+ }
45
+ }
46
+ else if (event.type === "text") {
47
+ lastAssistantText = event.text;
48
+ }
49
+ else if (event.type === "result") {
50
+ resultEvent = event;
51
+ }
52
+ }
53
+ const durationMs = Date.now() - startTime;
54
+ if (!resultEvent) {
55
+ return {
56
+ success: false,
57
+ summary: "No result message received from implementer agent",
58
+ filesModified,
59
+ errors: ["No result message received"],
60
+ durationMs,
61
+ };
62
+ }
63
+ if (!resultEvent.success) {
64
+ return {
65
+ success: false,
66
+ summary: `Implementer failed`,
67
+ filesModified,
68
+ errors: [resultEvent.text || "Unknown error"],
69
+ durationMs,
70
+ };
71
+ }
72
+ if (verbose) {
73
+ console.log(`[Implementer] Completed in ${durationMs}ms`);
74
+ console.log(`[Implementer] Files modified: ${filesModified.length}`);
75
+ }
76
+ return {
77
+ success: true,
78
+ summary: resultEvent.text || lastAssistantText || "Implementation completed",
79
+ filesModified,
80
+ durationMs,
81
+ };
82
+ }
83
+ catch (error) {
84
+ const durationMs = Date.now() - startTime;
85
+ const errorMessage = error instanceof Error ? error.message : String(error);
86
+ return {
87
+ success: false,
88
+ summary: `Implementer error: ${errorMessage}`,
89
+ filesModified,
90
+ errors: [errorMessage],
91
+ durationMs,
92
+ };
93
+ }
94
+ }
95
+ //# sourceMappingURL=implementer-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"implementer-agent.js","sourceRoot":"","sources":["../../src/memento/implementer-agent.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * Memento Loop Module
3
3
  *
4
4
  * Context-clearing iterative development loop that coordinates
5
- * navigator (planning) and worker (implementation) agents.
5
+ * navigator (planning) and implementer (implementation) agents.
6
6
  *
7
7
  * Design principle: Git is the only persistent memory. All other
8
8
  * state lives in-memory during loop execution.
@@ -21,11 +21,12 @@
21
21
  * console.log(`Completed in ${result.iterations} iterations`);
22
22
  * ```
23
23
  */
24
- export { type ImplementationStep, type ImplementationPlan, type WorkerResult, type MementoOptions, type MementoResult, ImplementationStepSchema, ImplementationPlanSchema, } from "./types.js";
24
+ export { type ImplementationStep, type ImplementationPlan, type ImplementerResult, type MementoOptions, type MementoResult, ImplementationStepSchema, ImplementationPlanSchema, } from "./types.js";
25
25
  export { isGitRepo, ensureGitRepo, getCurrentBranch, createBranch, getRecentGitLog, getRecentDiff, getDiffStats, getLastCommitDiffStats, hasUncommittedChanges, stageAllChanges, commitChanges, pushBranch, createPullRequest, isGhAvailable, getRemoteUrl, type DiffStats, } from "./git-operations.js";
26
- export { createNavProtocolMcpServer, SUBMIT_PLAN_TOOL, type PlanSubmissionResult, } from "./nav-protocol.js";
27
- export { buildNavPlanPrompt, buildNavSystemPrompt, buildWorkerPrompt, buildWorkerSystemPrompt, type NavigatorIdentity, } from "./prompts.js";
28
- export { runWorkerAgent, type WorkerAgentOptions, } from "./worker-agent.js";
26
+ export { createNavProtocolTools, SUBMIT_PLAN_TOOL, type PlanSubmissionResult, } from "./nav-protocol.js";
27
+ export { buildNavPlanPrompt, buildNavSystemPrompt, buildImplementerPrompt, buildImplementerSystemPrompt, type NavigatorIdentity, } from "./prompts.js";
28
+ export { runImplementerAgent, type ImplementerAgentOptions, } from "./implementer-agent.js";
29
29
  export { runMementoLoop, type MementoLoopOptions, } from "./loop.js";
30
+ export { parseRateLimitError, isTransientConnectionError, formatDuration, getBackoffDelay, getConnectionRetryDelay, waitWithCountdown, type RateLimitInfo, type RateLimitRetryConfig, } from "./rate-limit.js";
30
31
  export { MatrixAnimation, withMatrixAnimation, type AnimationStats, } from "./matrix-animation.js";
31
32
  //# sourceMappingURL=index.d.ts.map
@@ -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,YAAY,EACjB,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,0BAA0B,EAC1B,gBAAgB,EAChB,KAAK,oBAAoB,GAC1B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,KAAK,iBAAiB,GACvB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,cAAc,EACd,KAAK,kBAAkB,GACxB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,cAAc,EACd,KAAK,kBAAkB,GACxB,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,KAAK,cAAc,GACpB,MAAM,uBAAuB,CAAC"}
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,GACvB,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"}
@@ -2,7 +2,7 @@
2
2
  * Memento Loop Module
3
3
  *
4
4
  * Context-clearing iterative development loop that coordinates
5
- * navigator (planning) and worker (implementation) agents.
5
+ * navigator (planning) and implementer (implementation) agents.
6
6
  *
7
7
  * Design principle: Git is the only persistent memory. All other
8
8
  * state lives in-memory during loop execution.
@@ -26,13 +26,15 @@ export { ImplementationStepSchema, ImplementationPlanSchema, } from "./types.js"
26
26
  // Git operations
27
27
  export { isGitRepo, ensureGitRepo, getCurrentBranch, createBranch, getRecentGitLog, getRecentDiff, getDiffStats, getLastCommitDiffStats, hasUncommittedChanges, stageAllChanges, commitChanges, pushBranch, createPullRequest, isGhAvailable, getRemoteUrl, } from "./git-operations.js";
28
28
  // Nav protocol
29
- export { createNavProtocolMcpServer, SUBMIT_PLAN_TOOL, } from "./nav-protocol.js";
29
+ export { createNavProtocolTools, SUBMIT_PLAN_TOOL, } from "./nav-protocol.js";
30
30
  // Prompts
31
- export { buildNavPlanPrompt, buildNavSystemPrompt, buildWorkerPrompt, buildWorkerSystemPrompt, } from "./prompts.js";
32
- // Worker agent
33
- export { runWorkerAgent, } from "./worker-agent.js";
31
+ export { buildNavPlanPrompt, buildNavSystemPrompt, buildImplementerPrompt, buildImplementerSystemPrompt, } from "./prompts.js";
32
+ // Implementer agent
33
+ export { runImplementerAgent, } from "./implementer-agent.js";
34
34
  // Main loop
35
35
  export { runMementoLoop, } from "./loop.js";
36
+ // Rate limit handling
37
+ export { parseRateLimitError, isTransientConnectionError, formatDuration, getBackoffDelay, getConnectionRetryDelay, waitWithCountdown, } from "./rate-limit.js";
36
38
  // Animation
37
39
  export { MatrixAnimation, withMatrixAnimation, } from "./matrix-animation.js";
38
40
  //# sourceMappingURL=index.js.map
@@ -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,GAEb,MAAM,qBAAqB,CAAC;AAE7B,eAAe;AACf,OAAO,EACL,0BAA0B,EAC1B,gBAAgB,GAEjB,MAAM,mBAAmB,CAAC;AAE3B,UAAU;AACV,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,GAExB,MAAM,cAAc,CAAC;AAEtB,eAAe;AACf,OAAO,EACL,cAAc,GAEf,MAAM,mBAAmB,CAAC;AAE3B,YAAY;AACZ,OAAO,EACL,cAAc,GAEf,MAAM,WAAW,CAAC;AAEnB,YAAY;AACZ,OAAO,EACL,eAAe,EACf,mBAAmB,GAEpB,MAAM,uBAAuB,CAAC"}
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,GAEb,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,GAE7B,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,19 +1,20 @@
1
1
  /**
2
2
  * Memento Loop Core Logic
3
3
  *
4
- * The main loop that coordinates navigator planning and worker implementation
4
+ * The main loop that coordinates navigator planning and implementer implementation
5
5
  * in a context-clearing iterative development pattern.
6
6
  *
7
- * Design principle: The WORKER forgets between iterations (memento pattern).
7
+ * Design principle: The IMPLEMENTER forgets between iterations (memento pattern).
8
8
  * The NAVIGATOR maintains its own memory and knowledge base. We provide git
9
- * history as context about what the worker has accomplished so far.
9
+ * history as context about what the implementer has accomplished so far.
10
10
  */
11
11
  import type { MementoOptions, MementoResult } from "./types.js";
12
+ import type { Harness } from "../harness/index.js";
12
13
  /**
13
14
  * Options for the memento loop
14
15
  */
15
16
  export interface MementoLoopOptions extends MementoOptions {
16
- /** Model to use for worker agent (default: claude-haiku-4-5) */
17
+ /** Model to use for implementer agent (default: claude-haiku-4-5) */
17
18
  model?: string;
18
19
  /** Model to use for navigator agent (default: claude-opus-4-5) */
19
20
  navModel?: string;
@@ -29,5 +30,5 @@ export interface MementoLoopOptions extends MementoOptions {
29
30
  * All state is in-memory. Git history is the only persistent context
30
31
  * visible to the agents.
31
32
  */
32
- export declare function runMementoLoop(codeDirectory: string, navDirectory: string, task: string, options: MementoLoopOptions): Promise<MementoResult>;
33
+ export declare function runMementoLoop(codeDirectory: string, navDirectory: string, task: string, options: MementoLoopOptions, harness: Harness): Promise<MementoResult>;
33
34
  //# sourceMappingURL=loop.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/memento/loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAsB,MAAM,YAAY,CAAC;AAoBpF;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA0bD;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,aAAa,CAAC,CA4PxB"}
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;AAsT/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;AA08BD;;;;;;;;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,CAsTxB"}