@autonav/core 1.5.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 (238) 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 -5
  11. package/dist/cli/autonav.d.ts.map +1 -1
  12. package/dist/cli/autonav.js +35 -49
  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 +21 -0
  27. package/dist/cli/nav-memento.d.ts.map +1 -0
  28. package/dist/cli/nav-memento.js +185 -0
  29. package/dist/cli/nav-memento.js.map +1 -0
  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/git-operations.d.ts +95 -0
  143. package/dist/memento/git-operations.d.ts.map +1 -0
  144. package/dist/memento/git-operations.js +256 -0
  145. package/dist/memento/git-operations.js.map +1 -0
  146. package/dist/memento/implementer-agent.d.ts +31 -0
  147. package/dist/memento/implementer-agent.d.ts.map +1 -0
  148. package/dist/memento/implementer-agent.js +95 -0
  149. package/dist/memento/implementer-agent.js.map +1 -0
  150. package/dist/memento/index.d.ts +32 -0
  151. package/dist/memento/index.d.ts.map +1 -0
  152. package/dist/memento/index.js +40 -0
  153. package/dist/memento/index.js.map +1 -0
  154. package/dist/memento/loop.d.ts +34 -0
  155. package/dist/memento/loop.d.ts.map +1 -0
  156. package/dist/memento/loop.js +1227 -0
  157. package/dist/memento/loop.js.map +1 -0
  158. package/dist/memento/matrix-animation.d.ts +103 -0
  159. package/dist/memento/matrix-animation.d.ts.map +1 -0
  160. package/dist/memento/matrix-animation.js +303 -0
  161. package/dist/memento/matrix-animation.js.map +1 -0
  162. package/dist/memento/nav-protocol.d.ts +30 -0
  163. package/dist/memento/nav-protocol.d.ts.map +1 -0
  164. package/dist/memento/nav-protocol.js +75 -0
  165. package/dist/memento/nav-protocol.js.map +1 -0
  166. package/dist/memento/prompts.d.ts +57 -0
  167. package/dist/memento/prompts.d.ts.map +1 -0
  168. package/dist/memento/prompts.js +208 -0
  169. package/dist/memento/prompts.js.map +1 -0
  170. package/dist/memento/rate-limit.d.ts +85 -0
  171. package/dist/memento/rate-limit.d.ts.map +1 -0
  172. package/dist/memento/rate-limit.js +221 -0
  173. package/dist/memento/rate-limit.js.map +1 -0
  174. package/dist/memento/types.d.ts +123 -0
  175. package/dist/memento/types.d.ts.map +1 -0
  176. package/dist/memento/types.js +30 -0
  177. package/dist/memento/types.js.map +1 -0
  178. package/dist/memento/worker-agent.d.ts +33 -0
  179. package/dist/memento/worker-agent.d.ts.map +1 -0
  180. package/dist/memento/worker-agent.js +93 -0
  181. package/dist/memento/worker-agent.js.map +1 -0
  182. package/dist/registry.d.ts +35 -0
  183. package/dist/registry.d.ts.map +1 -0
  184. package/dist/registry.js +87 -0
  185. package/dist/registry.js.map +1 -0
  186. package/dist/repo-analyzer/index.d.ts +2 -1
  187. package/dist/repo-analyzer/index.d.ts.map +1 -1
  188. package/dist/repo-analyzer/index.js +6 -17
  189. package/dist/repo-analyzer/index.js.map +1 -1
  190. package/dist/standup/config.d.ts +19 -0
  191. package/dist/standup/config.d.ts.map +1 -0
  192. package/dist/standup/config.js +42 -0
  193. package/dist/standup/config.js.map +1 -0
  194. package/dist/standup/index.d.ts +24 -0
  195. package/dist/standup/index.d.ts.map +1 -0
  196. package/dist/standup/index.js +29 -0
  197. package/dist/standup/index.js.map +1 -0
  198. package/dist/standup/loop.d.ts +36 -0
  199. package/dist/standup/loop.d.ts.map +1 -0
  200. package/dist/standup/loop.js +508 -0
  201. package/dist/standup/loop.js.map +1 -0
  202. package/dist/standup/prompts.d.ts +62 -0
  203. package/dist/standup/prompts.d.ts.map +1 -0
  204. package/dist/standup/prompts.js +211 -0
  205. package/dist/standup/prompts.js.map +1 -0
  206. package/dist/standup/standup-protocol.d.ts +33 -0
  207. package/dist/standup/standup-protocol.d.ts.map +1 -0
  208. package/dist/standup/standup-protocol.js +189 -0
  209. package/dist/standup/standup-protocol.js.map +1 -0
  210. package/dist/standup/types.d.ts +185 -0
  211. package/dist/standup/types.d.ts.map +1 -0
  212. package/dist/standup/types.js +67 -0
  213. package/dist/standup/types.js.map +1 -0
  214. package/dist/tools/cross-nav.d.ts +21 -0
  215. package/dist/tools/cross-nav.d.ts.map +1 -0
  216. package/dist/tools/cross-nav.js +93 -0
  217. package/dist/tools/cross-nav.js.map +1 -0
  218. package/dist/tools/index.d.ts +1 -0
  219. package/dist/tools/index.d.ts.map +1 -1
  220. package/dist/tools/index.js +1 -0
  221. package/dist/tools/index.js.map +1 -1
  222. package/dist/tools/related-navs-config.d.ts +15 -0
  223. package/dist/tools/related-navs-config.d.ts.map +1 -0
  224. package/dist/tools/related-navs-config.js +132 -0
  225. package/dist/tools/related-navs-config.js.map +1 -0
  226. package/dist/tools/related-navs.d.ts +23 -0
  227. package/dist/tools/related-navs.d.ts.map +1 -0
  228. package/dist/tools/related-navs.js +107 -0
  229. package/dist/tools/related-navs.js.map +1 -0
  230. package/dist/tools/response.d.ts +3 -2
  231. package/dist/tools/response.d.ts.map +1 -1
  232. package/dist/tools/response.js +7 -11
  233. package/dist/tools/response.js.map +1 -1
  234. package/dist/tools/self-config.d.ts +2 -1
  235. package/dist/tools/self-config.d.ts.map +1 -1
  236. package/dist/tools/self-config.js +5 -9
  237. package/dist/tools/self-config.js.map +1 -1
  238. package/package.json +4 -1
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Memento Loop Types
3
+ *
4
+ * Core type definitions for the context-clearing iterative development loop
5
+ * that coordinates navigator (planning) and implementer (implementation) agents.
6
+ *
7
+ * Design principle: The IMPLEMENTER forgets between iterations (memento pattern).
8
+ * The NAVIGATOR maintains its own memory. Git commits track implementer progress.
9
+ * All types here are for in-memory use during loop execution.
10
+ */
11
+ import { z } from "zod";
12
+ /**
13
+ * Schema for implementation plan steps
14
+ */
15
+ export declare const ImplementationStepSchema: z.ZodObject<{
16
+ description: z.ZodString;
17
+ files: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
18
+ commands: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
19
+ }, "strip", z.ZodTypeAny, {
20
+ description: string;
21
+ files?: string[] | undefined;
22
+ commands?: string[] | undefined;
23
+ }, {
24
+ description: string;
25
+ files?: string[] | undefined;
26
+ commands?: string[] | undefined;
27
+ }>;
28
+ /**
29
+ * Schema for implementation plan returned by navigator
30
+ */
31
+ export declare const ImplementationPlanSchema: z.ZodObject<{
32
+ summary: z.ZodString;
33
+ steps: z.ZodArray<z.ZodObject<{
34
+ description: z.ZodString;
35
+ files: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
36
+ commands: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
37
+ }, "strip", z.ZodTypeAny, {
38
+ description: string;
39
+ files?: string[] | undefined;
40
+ commands?: string[] | undefined;
41
+ }, {
42
+ description: string;
43
+ files?: string[] | undefined;
44
+ commands?: string[] | undefined;
45
+ }>, "many">;
46
+ validationCriteria: z.ZodArray<z.ZodString, "many">;
47
+ isComplete: z.ZodBoolean;
48
+ completionMessage: z.ZodOptional<z.ZodString>;
49
+ }, "strip", z.ZodTypeAny, {
50
+ summary: string;
51
+ steps: {
52
+ description: string;
53
+ files?: string[] | undefined;
54
+ commands?: string[] | undefined;
55
+ }[];
56
+ validationCriteria: string[];
57
+ isComplete: boolean;
58
+ completionMessage?: string | undefined;
59
+ }, {
60
+ summary: string;
61
+ steps: {
62
+ description: string;
63
+ files?: string[] | undefined;
64
+ commands?: string[] | undefined;
65
+ }[];
66
+ validationCriteria: string[];
67
+ isComplete: boolean;
68
+ completionMessage?: string | undefined;
69
+ }>;
70
+ export type ImplementationStep = z.infer<typeof ImplementationStepSchema>;
71
+ export type ImplementationPlan = z.infer<typeof ImplementationPlanSchema>;
72
+ /**
73
+ * Result from implementer agent execution
74
+ */
75
+ export interface ImplementerResult {
76
+ /** Whether the implementer completed successfully */
77
+ success: boolean;
78
+ /** Summary of what was done */
79
+ summary: string;
80
+ /** Files that were modified */
81
+ filesModified: string[];
82
+ /** Any errors encountered */
83
+ errors?: string[];
84
+ /** Duration in milliseconds */
85
+ durationMs: number;
86
+ }
87
+ /**
88
+ * Command line options for memento command
89
+ */
90
+ export interface MementoOptions {
91
+ /** Create and push to a new PR when complete */
92
+ pr?: boolean;
93
+ /** Maximum iterations (0 = unlimited) */
94
+ maxIterations: number;
95
+ /** Completion signal text */
96
+ promise: string;
97
+ /** Git branch name for work */
98
+ branch?: string;
99
+ /** Task description (overrides TASK.md) */
100
+ task?: string;
101
+ /** Show detailed logging */
102
+ verbose?: boolean;
103
+ }
104
+ /**
105
+ * Final result of memento loop execution
106
+ */
107
+ export interface MementoResult {
108
+ /** Whether the task completed successfully */
109
+ success: boolean;
110
+ /** Number of iterations performed */
111
+ iterations: number;
112
+ /** Completion message from nav */
113
+ completionMessage?: string;
114
+ /** PR URL if --pr was used */
115
+ prUrl?: string;
116
+ /** Git branch name */
117
+ branch?: string;
118
+ /** Total duration in milliseconds */
119
+ durationMs: number;
120
+ /** Any errors that occurred */
121
+ errors?: string[];
122
+ }
123
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +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;CACnB;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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Memento Loop Types
3
+ *
4
+ * Core type definitions for the context-clearing iterative development loop
5
+ * that coordinates navigator (planning) and implementer (implementation) agents.
6
+ *
7
+ * Design principle: The IMPLEMENTER forgets between iterations (memento pattern).
8
+ * The NAVIGATOR maintains its own memory. Git commits track implementer progress.
9
+ * All types here are for in-memory use during loop execution.
10
+ */
11
+ import { z } from "zod";
12
+ /**
13
+ * Schema for implementation plan steps
14
+ */
15
+ export const ImplementationStepSchema = z.object({
16
+ description: z.string().describe("What this step accomplishes"),
17
+ files: z.array(z.string()).optional().describe("Files to create or modify"),
18
+ commands: z.array(z.string()).optional().describe("Commands to run"),
19
+ });
20
+ /**
21
+ * Schema for implementation plan returned by navigator
22
+ */
23
+ export const ImplementationPlanSchema = z.object({
24
+ summary: z.string().describe("Brief summary of what this plan will accomplish"),
25
+ steps: z.array(ImplementationStepSchema).describe("Ordered implementation steps"),
26
+ validationCriteria: z.array(z.string()).describe("How to verify the implementation worked"),
27
+ isComplete: z.boolean().describe("True if the overall task is complete and no more iterations needed"),
28
+ completionMessage: z.string().optional().describe("Message to display when isComplete is true"),
29
+ });
30
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/memento/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC/D,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IAC3E,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;CACrE,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;IAC/E,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACjF,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IAC3F,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,oEAAoE,CAAC;IACtG,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;CAChG,CAAC,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Worker Agent for Memento Loop
3
+ *
4
+ * Executes implementation plans via the harness adapter.
5
+ */
6
+ import type { ImplementationPlan, WorkerResult } from "./types.js";
7
+ import { type Harness } from "../harness/index.js";
8
+ /**
9
+ * Minimal context for worker (no persisted state)
10
+ */
11
+ interface WorkerContext {
12
+ codeDirectory: string;
13
+ task: string;
14
+ }
15
+ /**
16
+ * Options for worker agent execution
17
+ */
18
+ export interface WorkerAgentOptions {
19
+ /** Show detailed logging */
20
+ verbose?: boolean;
21
+ /** Model to use (defaults to claude-sonnet-4-5) */
22
+ model?: string;
23
+ /** Maximum turns for worker agent */
24
+ maxTurns?: number;
25
+ /** Harness to use (defaults to ClaudeCodeHarness) */
26
+ harness?: Harness;
27
+ }
28
+ /**
29
+ * Run the worker agent to implement a plan
30
+ */
31
+ export declare function runWorkerAgent(context: WorkerContext, plan: ImplementationPlan, options?: WorkerAgentOptions): Promise<WorkerResult>;
32
+ export {};
33
+ //# sourceMappingURL=worker-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-agent.d.ts","sourceRoot":"","sources":["../../src/memento/worker-agent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEnE,OAAO,EAAE,KAAK,OAAO,EAAqB,MAAM,qBAAqB,CAAC;AAEtE;;GAEG;AACH,UAAU,aAAa;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,4BAA4B;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,kBAAkB,EACxB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,YAAY,CAAC,CAoGvB"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Worker Agent for Memento Loop
3
+ *
4
+ * Executes implementation plans via the harness adapter.
5
+ */
6
+ import { buildWorkerPrompt, buildWorkerSystemPrompt } from "./prompts.js";
7
+ import { ClaudeCodeHarness } from "../harness/index.js";
8
+ /**
9
+ * Run the worker agent to implement a plan
10
+ */
11
+ export async function runWorkerAgent(context, plan, options = {}) {
12
+ const startTime = Date.now();
13
+ const { verbose = false, model = "claude-sonnet-4-5", maxTurns = 50, harness = new ClaudeCodeHarness(), } = options;
14
+ const prompt = buildWorkerPrompt(context.codeDirectory, plan);
15
+ const systemPrompt = buildWorkerSystemPrompt(context.codeDirectory);
16
+ if (verbose) {
17
+ console.log("\n[Worker] Starting implementation...");
18
+ console.log(`[Worker] Plan: ${plan.summary}`);
19
+ console.log(`[Worker] Steps: ${plan.steps.length}`);
20
+ }
21
+ const filesModified = [];
22
+ let lastAssistantText = "";
23
+ try {
24
+ const session = harness.run({
25
+ model,
26
+ maxTurns,
27
+ systemPrompt,
28
+ cwd: context.codeDirectory,
29
+ permissionMode: "bypassPermissions",
30
+ }, prompt);
31
+ let success = false;
32
+ let resultText = "";
33
+ let errorText = "";
34
+ for await (const event of session) {
35
+ if (event.type === "tool_use") {
36
+ if (verbose) {
37
+ console.log(`[Worker] Tool: ${event.name}`);
38
+ }
39
+ // Extract file paths from common tools
40
+ if (event.name === "Write" ||
41
+ event.name === "Edit" ||
42
+ event.name === "str_replace_based_edit_tool") {
43
+ const filePath = event.input.file_path || event.input.path;
44
+ if (typeof filePath === "string" && !filesModified.includes(filePath)) {
45
+ filesModified.push(filePath);
46
+ }
47
+ }
48
+ }
49
+ else if (event.type === "text") {
50
+ lastAssistantText = event.text;
51
+ }
52
+ else if (event.type === "result") {
53
+ success = event.success;
54
+ resultText = event.text || "";
55
+ if (!event.success) {
56
+ errorText = event.text || "Unknown error";
57
+ }
58
+ }
59
+ }
60
+ const durationMs = Date.now() - startTime;
61
+ if (!success) {
62
+ return {
63
+ success: false,
64
+ summary: errorText || "Worker failed",
65
+ filesModified,
66
+ errors: [errorText || "Unknown error"],
67
+ durationMs,
68
+ };
69
+ }
70
+ if (verbose) {
71
+ console.log(`[Worker] Completed in ${durationMs}ms`);
72
+ console.log(`[Worker] Files modified: ${filesModified.length}`);
73
+ }
74
+ return {
75
+ success: true,
76
+ summary: resultText || lastAssistantText || "Implementation completed",
77
+ filesModified,
78
+ durationMs,
79
+ };
80
+ }
81
+ catch (error) {
82
+ const durationMs = Date.now() - startTime;
83
+ const errorMessage = error instanceof Error ? error.message : String(error);
84
+ return {
85
+ success: false,
86
+ summary: `Worker error: ${errorMessage}`,
87
+ filesModified,
88
+ errors: [errorMessage],
89
+ durationMs,
90
+ };
91
+ }
92
+ }
93
+ //# sourceMappingURL=worker-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-agent.js","sourceRoot":"","sources":["../../src/memento/worker-agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Global Navigator Registry
3
+ *
4
+ * Maps navigator names to filesystem paths. Stored at
5
+ * ~/.config/autonav/navigators.json (or AUTONAV_CONFIG_DIR).
6
+ *
7
+ * Resolution priority for a navigator name:
8
+ * 1. AUTONAV_NAV_PATH_<NAME> env var (uppercased, hyphens → underscores)
9
+ * 2. Global registry file
10
+ */
11
+ type Registry = Record<string, string>;
12
+ /**
13
+ * Register a navigator in the global registry.
14
+ */
15
+ export declare function registerNavigator(name: string, navPath: string, configDir?: string): void;
16
+ /**
17
+ * Remove a navigator from the global registry.
18
+ */
19
+ export declare function unregisterNavigator(name: string, configDir?: string): void;
20
+ /**
21
+ * Resolve a navigator name to a filesystem path.
22
+ *
23
+ * Priority:
24
+ * 1. AUTONAV_NAV_PATH_<NAME> env var
25
+ * 2. Global registry
26
+ *
27
+ * @returns The resolved path, or null if not found
28
+ */
29
+ export declare function resolveNavigatorPath(name: string, configDir?: string): string | null;
30
+ /**
31
+ * List all registered navigators.
32
+ */
33
+ export declare function listNavigators(configDir?: string): Registry;
34
+ export {};
35
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AA+BvC;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAIzF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAI1E;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgBpF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,CAE3D"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Global Navigator Registry
3
+ *
4
+ * Maps navigator names to filesystem paths. Stored at
5
+ * ~/.config/autonav/navigators.json (or AUTONAV_CONFIG_DIR).
6
+ *
7
+ * Resolution priority for a navigator name:
8
+ * 1. AUTONAV_NAV_PATH_<NAME> env var (uppercased, hyphens → underscores)
9
+ * 2. Global registry file
10
+ */
11
+ import * as fs from "node:fs";
12
+ import * as path from "node:path";
13
+ import { resolveConfigDir } from "./standup/config.js";
14
+ const REGISTRY_FILE = "navigators.json";
15
+ /**
16
+ * Read the global navigator registry.
17
+ */
18
+ function readRegistry(configDir) {
19
+ const dir = resolveConfigDir(configDir);
20
+ const filePath = path.join(dir, REGISTRY_FILE);
21
+ if (!fs.existsSync(filePath)) {
22
+ return {};
23
+ }
24
+ try {
25
+ const content = fs.readFileSync(filePath, "utf-8");
26
+ return JSON.parse(content);
27
+ }
28
+ catch {
29
+ return {};
30
+ }
31
+ }
32
+ /**
33
+ * Write the global navigator registry.
34
+ */
35
+ function writeRegistry(registry, configDir) {
36
+ const dir = resolveConfigDir(configDir);
37
+ fs.mkdirSync(dir, { recursive: true });
38
+ const filePath = path.join(dir, REGISTRY_FILE);
39
+ fs.writeFileSync(filePath, JSON.stringify(registry, null, 2) + "\n");
40
+ }
41
+ /**
42
+ * Register a navigator in the global registry.
43
+ */
44
+ export function registerNavigator(name, navPath, configDir) {
45
+ const registry = readRegistry(configDir);
46
+ registry[name] = path.resolve(navPath);
47
+ writeRegistry(registry, configDir);
48
+ }
49
+ /**
50
+ * Remove a navigator from the global registry.
51
+ */
52
+ export function unregisterNavigator(name, configDir) {
53
+ const registry = readRegistry(configDir);
54
+ delete registry[name];
55
+ writeRegistry(registry, configDir);
56
+ }
57
+ /**
58
+ * Resolve a navigator name to a filesystem path.
59
+ *
60
+ * Priority:
61
+ * 1. AUTONAV_NAV_PATH_<NAME> env var
62
+ * 2. Global registry
63
+ *
64
+ * @returns The resolved path, or null if not found
65
+ */
66
+ export function resolveNavigatorPath(name, configDir) {
67
+ // 1. Check env var (e.g. AUTONAV_NAV_PATH_THUFIR for "thufir")
68
+ const envKey = `AUTONAV_NAV_PATH_${name.toUpperCase().replace(/-/g, "_")}`;
69
+ const envPath = process.env[envKey];
70
+ if (envPath) {
71
+ return path.resolve(envPath);
72
+ }
73
+ // 2. Check global registry
74
+ const registry = readRegistry(configDir);
75
+ const registryPath = registry[name];
76
+ if (registryPath) {
77
+ return registryPath;
78
+ }
79
+ return null;
80
+ }
81
+ /**
82
+ * List all registered navigators.
83
+ */
84
+ export function listNavigators(configDir) {
85
+ return readRegistry(configDir);
86
+ }
87
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,aAAa,GAAG,iBAAiB,CAAC;AAIxC;;GAEG;AACH,SAAS,YAAY,CAAC,SAAkB;IACtC,MAAM,GAAG,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAE/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAa,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,QAAkB,EAAE,SAAkB;IAC3D,MAAM,GAAG,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACxC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAC/C,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,OAAe,EAAE,SAAkB;IACjF,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,SAAkB;IAClE,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACzC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtB,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,SAAkB;IACnE,+DAA+D;IAC/D,MAAM,MAAM,GAAG,oBAAoB,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;IAC3E,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,2BAA2B;IAC3B,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,SAAkB;IAC/C,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { ScanResult } from "../repo-scanner/index.js";
2
+ import { type Harness } from "../harness/index.js";
2
3
  export interface AnalysisResult {
3
4
  purpose: string;
4
5
  scope: string;
@@ -14,5 +15,5 @@ export declare function validateAnalysisResult(result: AnalysisResult, fallbackN
14
15
  /**
15
16
  * Analyze a scanned repository using Claude
16
17
  */
17
- export declare function analyzeRepository(scanResult: ScanResult): Promise<AnalysisResult>;
18
+ export declare function analyzeRepository(scanResult: ScanResult, harness: Harness): Promise<AnalysisResult>;
18
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/repo-analyzer/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAW3D,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;CACpB;AAkGD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,MAAM,GACnB,cAAc,CAuBhB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,cAAc,CAAC,CAgEzB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/repo-analyzer/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,KAAK,OAAO,EAAe,MAAM,qBAAqB,CAAC;AAWhE,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;CACpB;AAkGD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,MAAM,GACnB,cAAc,CAuBhB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,cAAc,CAAC,CAsDzB"}
@@ -1,4 +1,4 @@
1
- import { query } from "@anthropic-ai/claude-agent-sdk";
1
+ import { collectText } from "../harness/index.js";
2
2
  /**
3
3
  * Repository Analyzer
4
4
  *
@@ -118,24 +118,13 @@ export function validateAnalysisResult(result, fallbackName) {
118
118
  /**
119
119
  * Analyze a scanned repository using Claude
120
120
  */
121
- export async function analyzeRepository(scanResult) {
121
+ export async function analyzeRepository(scanResult, harness) {
122
122
  const prompt = buildAnalysisPrompt(scanResult);
123
123
  try {
124
- const queryInstance = query({
125
- prompt,
126
- options: {
127
- model: ANALYSIS_MODEL,
128
- permissionMode: "bypassPermissions",
129
- },
130
- });
131
- let responseText = "";
132
- for await (const message of queryInstance) {
133
- if (message.type === "assistant") {
134
- const content = message.message.content;
135
- const textBlocks = content.filter((b) => b.type === "text");
136
- responseText = textBlocks.map((b) => b.text).join("\n");
137
- }
138
- }
124
+ const responseText = await collectText(harness.run({
125
+ model: ANALYSIS_MODEL,
126
+ permissionMode: "bypassPermissions",
127
+ }, prompt));
139
128
  const result = parseAnalysisResponse(responseText);
140
129
  const fallbackName = scanResult.projectMetadata.name || "project";
141
130
  if (!result) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/repo-analyzer/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/repo-analyzer/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEhE;;;;GAIG;AAEH,4BAA4B;AAC5B,MAAM,cAAc,GAAG,mBAAmB,CAAC;AAU3C;;GAEG;AACH,SAAS,mBAAmB,CAAC,UAAsB;IACjD,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC;IAEzE,6BAA6B;IAC7B,MAAM,YAAY,GAAG,KAAK;SACvB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;SACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,YAAY,aAAa,CAAC,CAAC,OAAO,UAAU,CAAC;SACjE,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,OAAO;;;;;EAKP,kBAAkB;;;;;EAKlB,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;EACjE,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,sBAAsB,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;EACtF,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE;EAC7E,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,mBAAmB,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;EAChG,eAAe,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,uBAAuB,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE;;;;iBAIlK,KAAK,CAAC,UAAU;mBACd,KAAK,CAAC,YAAY;mBAClB,KAAK,CAAC,QAAQ;;;;EAI/B,YAAY;;;;;;;;;;;;;;;;;;;;;;;iDAuBmC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,QAAgB;IAC7C,6BAA6B;IAC7B,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;IAE3C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAE1C,2BAA2B;QAC3B,IACE,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;YAClC,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;YAChC,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;YACnC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC;YAC9C,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,EACrC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,uBAAuB,EAAE,MAAM,CAAC,uBAAuB;YACvD,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;SACxD,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAsB,EACtB,YAAoB;IAEpB,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,QAAgB,EAAU,EAAE;QAC3D,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;QAC9B,OAAO,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC5D,CAAC,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,2BAA2B,YAAY,EAAE,CAAC;QAC5E,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,0CAA0C,CAAC;QACzE,QAAQ,EAAE,QAAQ,CAChB,MAAM,CAAC,QAAQ,EACf,uCAAuC,CACxC;QACD,uBAAuB,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC;YACpE,CAAC,CAAC,MAAM,CAAC,uBAAuB,CAAC,MAAM,CACnC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAC7C;YACH,CAAC,CAAC,EAAE;QACN,UAAU,EACR,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC;YAChE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YAC7C,CAAC,CAAC,GAAG;KACV,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,UAAsB,EACtB,OAAgB;IAEhB,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAE/C,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,WAAW,CACpC,OAAO,CAAC,GAAG,CACT;YACE,KAAK,EAAE,cAAc;YACrB,cAAc,EAAE,mBAAmB;SACpC,EACD,MAAM,CACP,CACF,CAAC;QAEF,MAAM,MAAM,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAC;QAEnD,MAAM,YAAY,GAAG,UAAU,CAAC,eAAe,CAAC,IAAI,IAAI,SAAS,CAAC;QAElE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,yDAAyD;YACzD,MAAM,QAAQ,GAAG;gBACf,OAAO,EAAE,UAAU,CAAC,eAAe,CAAC,WAAW,IAAI,oBAAoB;gBACvE,KAAK,EAAE,0CAA0C;gBACjD,QAAQ,EAAE,uCAAuC;gBACjD,uBAAuB,EAAE,UAAU,CAAC,KAAK;qBACtC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;qBACvD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;qBAC1B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;gBACd,UAAU,EAAE,GAAG;aAChB,CAAC;YACF,OAAO,sBAAsB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACxD,CAAC;QAED,OAAO,sBAAsB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,6BAA6B;QAC7B,MAAM,QAAQ,GAAG;YACf,OAAO,EACL,UAAU,CAAC,eAAe,CAAC,WAAW;gBACtC,UAAU,CAAC,eAAe,CAAC,IAAI;gBAC/B,oBAAoB;YACtB,KAAK,EAAE,0CAA0C;YACjD,QAAQ,EAAE,uCAAuC;YACjD,uBAAuB,EAAE,UAAU,CAAC,KAAK;iBACtC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;iBACvD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;iBAC1B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YACd,UAAU,EAAE,GAAG;SAChB,CAAC;QACF,OAAO,sBAAsB,CAC3B,QAAQ,EACR,UAAU,CAAC,eAAe,CAAC,IAAI,IAAI,SAAS,CAC7C,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Standup Config Utilities
3
+ *
4
+ * Global config directory resolution and standup directory creation.
5
+ * Establishes a global autonav config pattern reusable by future commands.
6
+ */
7
+ /**
8
+ * Resolve the global autonav config directory.
9
+ *
10
+ * Priority: explicit override > AUTONAV_CONFIG_DIR env var > ~/.config/autonav/
11
+ */
12
+ export declare function resolveConfigDir(override?: string): string;
13
+ /**
14
+ * Create a timestamped standup directory with reports/ and sync/ subdirs.
15
+ *
16
+ * @returns The path to the created standup directory
17
+ */
18
+ export declare function createStandupDir(configDir: string): string;
19
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/standup/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAW1D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAe1D"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Standup Config Utilities
3
+ *
4
+ * Global config directory resolution and standup directory creation.
5
+ * Establishes a global autonav config pattern reusable by future commands.
6
+ */
7
+ import * as fs from "node:fs";
8
+ import * as path from "node:path";
9
+ import * as os from "node:os";
10
+ /**
11
+ * Resolve the global autonav config directory.
12
+ *
13
+ * Priority: explicit override > AUTONAV_CONFIG_DIR env var > ~/.config/autonav/
14
+ */
15
+ export function resolveConfigDir(override) {
16
+ if (override) {
17
+ return path.resolve(override);
18
+ }
19
+ const envDir = process.env.AUTONAV_CONFIG_DIR;
20
+ if (envDir) {
21
+ return path.resolve(envDir);
22
+ }
23
+ return path.join(os.homedir(), ".config", "autonav");
24
+ }
25
+ /**
26
+ * Create a timestamped standup directory with reports/ and sync/ subdirs.
27
+ *
28
+ * @returns The path to the created standup directory
29
+ */
30
+ export function createStandupDir(configDir) {
31
+ const standupsDir = path.join(configDir, "standups");
32
+ // ISO timestamp with colons replaced by hyphens for filesystem safety
33
+ const timestamp = new Date()
34
+ .toISOString()
35
+ .replace(/:/g, "-")
36
+ .replace(/\.\d{3}Z$/, "");
37
+ const standupDir = path.join(standupsDir, timestamp);
38
+ fs.mkdirSync(path.join(standupDir, "reports"), { recursive: true });
39
+ fs.mkdirSync(path.join(standupDir, "sync"), { recursive: true });
40
+ return standupDir;
41
+ }
42
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/standup/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAiB;IAChD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC9C,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAErD,sEAAsE;IACtE,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE;SACzB,WAAW,EAAE;SACb,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;SAClB,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAE5B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAErD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEjE,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Standup Module
3
+ *
4
+ * Multi-navigator stand-up mode that orchestrates parallel status reports
5
+ * and sequential blocker sync across multiple navigators.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { runStandup } from './standup';
10
+ *
11
+ * const result = await runStandup(
12
+ * ['./nav-a', './nav-b', './nav-c'],
13
+ * { verbose: true, model: 'claude-sonnet-4-5' }
14
+ * );
15
+ *
16
+ * console.log(`Standup output: ${result.standupDir}`);
17
+ * ```
18
+ */
19
+ export { type Blocker, type StatusReport, type BlockerResolution, type SyncResponse, type StandupOptions, type StandupResult, BlockerSchema, StatusReportSchema, BlockerResolutionSchema, SyncResponseSchema, } from "./types.js";
20
+ export { resolveConfigDir, createStandupDir } from "./config.js";
21
+ export { createReportProtocolTools, createSyncProtocolTools, SUBMIT_STATUS_REPORT_TOOL, SUBMIT_SYNC_RESPONSE_TOOL, } from "./standup-protocol.js";
22
+ export { buildReportSystemPrompt, buildReportPrompt, buildSyncSystemPrompt, buildSyncPrompt, type NavigatorIdentity, } from "./prompts.js";
23
+ export { runStandup, loadNavForStandup } from "./loop.js";
24
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/standup/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,aAAa,EACb,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGjE,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,KAAK,iBAAiB,GACvB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Standup Module
3
+ *
4
+ * Multi-navigator stand-up mode that orchestrates parallel status reports
5
+ * and sequential blocker sync across multiple navigators.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { runStandup } from './standup';
10
+ *
11
+ * const result = await runStandup(
12
+ * ['./nav-a', './nav-b', './nav-c'],
13
+ * { verbose: true, model: 'claude-sonnet-4-5' }
14
+ * );
15
+ *
16
+ * console.log(`Standup output: ${result.standupDir}`);
17
+ * ```
18
+ */
19
+ // Types
20
+ export { BlockerSchema, StatusReportSchema, BlockerResolutionSchema, SyncResponseSchema, } from "./types.js";
21
+ // Config
22
+ export { resolveConfigDir, createStandupDir } from "./config.js";
23
+ // Protocol
24
+ export { createReportProtocolTools, createSyncProtocolTools, SUBMIT_STATUS_REPORT_TOOL, SUBMIT_SYNC_RESPONSE_TOOL, } from "./standup-protocol.js";
25
+ // Prompts
26
+ export { buildReportSystemPrompt, buildReportPrompt, buildSyncSystemPrompt, buildSyncPrompt, } from "./prompts.js";
27
+ // Main loop
28
+ export { runStandup, loadNavForStandup } from "./loop.js";
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/standup/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,QAAQ;AACR,OAAO,EAOL,aAAa,EACb,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,SAAS;AACT,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEjE,WAAW;AACX,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAE/B,UAAU;AACV,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,GAEhB,MAAM,cAAc,CAAC;AAEtB,YAAY;AACZ,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC"}