@autonav/core 1.6.0 → 1.8.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 (247) 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/{claude-adapter.d.ts → navigator-adapter.d.ts} +18 -11
  7. package/dist/adapter/navigator-adapter.d.ts.map +1 -0
  8. package/dist/adapter/{claude-adapter.js → navigator-adapter.js} +165 -127
  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 +35 -4
  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 +11 -2
  55. package/dist/conversation/App.d.ts.map +1 -1
  56. package/dist/conversation/App.js +305 -112
  57. package/dist/conversation/App.js.map +1 -1
  58. package/dist/conversation/index.d.ts +7 -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/conversation/prompts.d.ts +1 -1
  63. package/dist/conversation/prompts.d.ts.map +1 -1
  64. package/dist/conversation/prompts.js +42 -1
  65. package/dist/conversation/prompts.js.map +1 -1
  66. package/dist/harness/chibi-harness.d.ts +36 -0
  67. package/dist/harness/chibi-harness.d.ts.map +1 -0
  68. package/dist/harness/chibi-harness.js +383 -0
  69. package/dist/harness/chibi-harness.js.map +1 -0
  70. package/dist/harness/chibi-plugins/get_plugin_config +64 -0
  71. package/dist/harness/chibi-plugins/query_navigator +114 -0
  72. package/dist/harness/chibi-plugins/submit_answer +38 -0
  73. package/dist/harness/chibi-plugins/update_plugin_config +91 -0
  74. package/dist/harness/claude-code-harness.d.ts +24 -0
  75. package/dist/harness/claude-code-harness.d.ts.map +1 -0
  76. package/dist/harness/claude-code-harness.js +242 -0
  77. package/dist/harness/claude-code-harness.js.map +1 -0
  78. package/dist/harness/ephemeral-home.d.ts +34 -0
  79. package/dist/harness/ephemeral-home.d.ts.map +1 -0
  80. package/dist/harness/ephemeral-home.js +56 -0
  81. package/dist/harness/ephemeral-home.js.map +1 -0
  82. package/dist/harness/factory.d.ts +47 -0
  83. package/dist/harness/factory.d.ts.map +1 -0
  84. package/dist/harness/factory.js +84 -0
  85. package/dist/harness/factory.js.map +1 -0
  86. package/dist/harness/helpers.d.ts +58 -0
  87. package/dist/harness/helpers.d.ts.map +1 -0
  88. package/dist/harness/helpers.js +78 -0
  89. package/dist/harness/helpers.js.map +1 -0
  90. package/dist/harness/index.d.ts +14 -0
  91. package/dist/harness/index.d.ts.map +1 -0
  92. package/dist/harness/index.js +13 -0
  93. package/dist/harness/index.js.map +1 -0
  94. package/dist/harness/opencode-harness.d.ts +79 -0
  95. package/dist/harness/opencode-harness.d.ts.map +1 -0
  96. package/dist/harness/opencode-harness.js +537 -0
  97. package/dist/harness/opencode-harness.js.map +1 -0
  98. package/dist/harness/opencode-tools/get_plugin_config.ts +72 -0
  99. package/dist/harness/opencode-tools/query_navigator.ts +126 -0
  100. package/dist/harness/opencode-tools/submit_answer.ts +40 -0
  101. package/dist/harness/opencode-tools/update_plugin_config.ts +105 -0
  102. package/dist/harness/sandbox.d.ts +59 -0
  103. package/dist/harness/sandbox.d.ts.map +1 -0
  104. package/dist/harness/sandbox.js +152 -0
  105. package/dist/harness/sandbox.js.map +1 -0
  106. package/dist/harness/tool-server.d.ts +50 -0
  107. package/dist/harness/tool-server.d.ts.map +1 -0
  108. package/dist/harness/tool-server.js +27 -0
  109. package/dist/harness/tool-server.js.map +1 -0
  110. package/dist/harness/types.d.ts +168 -0
  111. package/dist/harness/types.d.ts.map +1 -0
  112. package/dist/harness/types.js +12 -0
  113. package/dist/harness/types.js.map +1 -0
  114. package/dist/index.d.ts +3 -2
  115. package/dist/index.d.ts.map +1 -1
  116. package/dist/index.js +4 -2
  117. package/dist/index.js.map +1 -1
  118. package/dist/interview/App.d.ts +4 -2
  119. package/dist/interview/App.d.ts.map +1 -1
  120. package/dist/interview/App.js +36 -56
  121. package/dist/interview/App.js.map +1 -1
  122. package/dist/interview/index.d.ts +3 -0
  123. package/dist/interview/index.d.ts.map +1 -1
  124. package/dist/interview/index.js +1 -0
  125. package/dist/interview/index.js.map +1 -1
  126. package/dist/interview/prompts.d.ts +3 -1
  127. package/dist/interview/prompts.d.ts.map +1 -1
  128. package/dist/interview/prompts.js +14 -1
  129. package/dist/interview/prompts.js.map +1 -1
  130. package/dist/interview/ui/ChatBanner.d.ts +17 -0
  131. package/dist/interview/ui/ChatBanner.d.ts.map +1 -0
  132. package/dist/interview/ui/ChatBanner.js +30 -0
  133. package/dist/interview/ui/ChatBanner.js.map +1 -0
  134. package/dist/interview/ui/ChatInput.d.ts +36 -0
  135. package/dist/interview/ui/ChatInput.d.ts.map +1 -0
  136. package/dist/interview/ui/ChatInput.js +304 -0
  137. package/dist/interview/ui/ChatInput.js.map +1 -0
  138. package/dist/interview/ui/MarkdownText.d.ts +13 -0
  139. package/dist/interview/ui/MarkdownText.d.ts.map +1 -0
  140. package/dist/interview/ui/MarkdownText.js +107 -0
  141. package/dist/interview/ui/MarkdownText.js.map +1 -0
  142. package/dist/interview/ui/index.d.ts +3 -0
  143. package/dist/interview/ui/index.d.ts.map +1 -1
  144. package/dist/interview/ui/index.js +3 -0
  145. package/dist/interview/ui/index.js.map +1 -1
  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 +6 -5
  151. package/dist/memento/index.d.ts.map +1 -1
  152. package/dist/memento/index.js +7 -5
  153. package/dist/memento/index.js.map +1 -1
  154. package/dist/memento/loop.d.ts +6 -5
  155. package/dist/memento/loop.d.ts.map +1 -1
  156. package/dist/memento/loop.js +872 -180
  157. package/dist/memento/loop.js.map +1 -1
  158. package/dist/memento/matrix-animation.d.ts +26 -0
  159. package/dist/memento/matrix-animation.d.ts.map +1 -1
  160. package/dist/memento/matrix-animation.js +93 -18
  161. package/dist/memento/matrix-animation.js.map +1 -1
  162. package/dist/memento/nav-protocol.d.ts +2 -2
  163. package/dist/memento/nav-protocol.d.ts.map +1 -1
  164. package/dist/memento/nav-protocol.js +39 -43
  165. package/dist/memento/nav-protocol.js.map +1 -1
  166. package/dist/memento/prompts.d.ts +21 -8
  167. package/dist/memento/prompts.d.ts.map +1 -1
  168. package/dist/memento/prompts.js +79 -39
  169. package/dist/memento/prompts.js.map +1 -1
  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 +6 -6
  175. package/dist/memento/types.d.ts.map +1 -1
  176. package/dist/memento/types.js +3 -3
  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/standup/config.d.ts +19 -0
  186. package/dist/standup/config.d.ts.map +1 -0
  187. package/dist/standup/config.js +42 -0
  188. package/dist/standup/config.js.map +1 -0
  189. package/dist/standup/index.d.ts +24 -0
  190. package/dist/standup/index.d.ts.map +1 -0
  191. package/dist/standup/index.js +29 -0
  192. package/dist/standup/index.js.map +1 -0
  193. package/dist/standup/loop.d.ts +36 -0
  194. package/dist/standup/loop.d.ts.map +1 -0
  195. package/dist/standup/loop.js +508 -0
  196. package/dist/standup/loop.js.map +1 -0
  197. package/dist/standup/prompts.d.ts +62 -0
  198. package/dist/standup/prompts.d.ts.map +1 -0
  199. package/dist/standup/prompts.js +211 -0
  200. package/dist/standup/prompts.js.map +1 -0
  201. package/dist/standup/standup-protocol.d.ts +33 -0
  202. package/dist/standup/standup-protocol.d.ts.map +1 -0
  203. package/dist/standup/standup-protocol.js +189 -0
  204. package/dist/standup/standup-protocol.js.map +1 -0
  205. package/dist/standup/types.d.ts +185 -0
  206. package/dist/standup/types.d.ts.map +1 -0
  207. package/dist/standup/types.js +67 -0
  208. package/dist/standup/types.js.map +1 -0
  209. package/dist/tools/cross-nav.d.ts +21 -0
  210. package/dist/tools/cross-nav.d.ts.map +1 -0
  211. package/dist/tools/cross-nav.js +93 -0
  212. package/dist/tools/cross-nav.js.map +1 -0
  213. package/dist/tools/index.d.ts +1 -0
  214. package/dist/tools/index.d.ts.map +1 -1
  215. package/dist/tools/index.js +1 -0
  216. package/dist/tools/index.js.map +1 -1
  217. package/dist/tools/related-navs-config.d.ts +15 -0
  218. package/dist/tools/related-navs-config.d.ts.map +1 -0
  219. package/dist/tools/related-navs-config.js +132 -0
  220. package/dist/tools/related-navs-config.js.map +1 -0
  221. package/dist/tools/related-navs.d.ts +23 -0
  222. package/dist/tools/related-navs.d.ts.map +1 -0
  223. package/dist/tools/related-navs.js +107 -0
  224. package/dist/tools/related-navs.js.map +1 -0
  225. package/dist/tools/response.d.ts +3 -2
  226. package/dist/tools/response.d.ts.map +1 -1
  227. package/dist/tools/response.js +7 -11
  228. package/dist/tools/response.js.map +1 -1
  229. package/dist/tools/self-config.d.ts +2 -1
  230. package/dist/tools/self-config.d.ts.map +1 -1
  231. package/dist/tools/self-config.js +5 -9
  232. package/dist/tools/self-config.js.map +1 -1
  233. package/package.json +7 -4
  234. package/dist/adapter/claude-adapter.d.ts.map +0 -1
  235. package/dist/adapter/claude-adapter.js.map +0 -1
  236. package/dist/memento/state.d.ts +0 -56
  237. package/dist/memento/state.d.ts.map +0 -1
  238. package/dist/memento/state.js +0 -156
  239. package/dist/memento/state.js.map +0 -1
  240. package/dist/memento/worker-agent.d.ts +0 -30
  241. package/dist/memento/worker-agent.d.ts.map +0 -1
  242. package/dist/memento/worker-agent.js +0 -109
  243. package/dist/memento/worker-agent.js.map +0 -1
  244. package/dist/migrations/versions/v1.4.0-rfc2119-skills.d.ts +0 -18
  245. package/dist/migrations/versions/v1.4.0-rfc2119-skills.d.ts.map +0 -1
  246. package/dist/migrations/versions/v1.4.0-rfc2119-skills.js +0 -207
  247. package/dist/migrations/versions/v1.4.0-rfc2119-skills.js.map +0 -1
@@ -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":"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"}
@@ -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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Standup Loop Core Logic
3
+ *
4
+ * Orchestrates multi-navigator standups in two phases:
5
+ * 1. Parallel report: All navs simultaneously scan their knowledge and report status
6
+ * 2. Sequential sync: Each nav reviews all reports and resolves blockers
7
+ */
8
+ import type { StandupOptions, StandupResult } from "./types.js";
9
+ import type { Harness } from "../harness/index.js";
10
+ import { type NavigatorIdentity } from "./prompts.js";
11
+ /**
12
+ * Loaded navigator info
13
+ */
14
+ interface LoadedNav {
15
+ directory: string;
16
+ name: string;
17
+ description: string;
18
+ systemPrompt: string;
19
+ knowledgeBasePath: string;
20
+ identity: NavigatorIdentity;
21
+ workingDirectories: string[];
22
+ /** Per-operation sandbox profile from config.json */
23
+ sandboxEnabled: boolean;
24
+ /** Navigator-level allowed tools from config.json */
25
+ navAllowedTools?: string[];
26
+ }
27
+ /**
28
+ * Load a navigator for standup participation
29
+ */
30
+ export declare function loadNavForStandup(dir: string): LoadedNav;
31
+ /**
32
+ * Run a full multi-navigator standup
33
+ */
34
+ export declare function runStandup(navDirs: string[], options: StandupOptions | undefined, harness: Harness): Promise<StandupResult>;
35
+ export {};
36
+ //# sourceMappingURL=loop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/standup/loop.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EAGd,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,OAAO,EAAc,MAAM,qBAAqB,CAAC;AAM/D,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,cAAc,CAAC;AAUtB;;GAEG;AACH,UAAU,SAAS;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,qDAAqD;IACrD,cAAc,EAAE,OAAO,CAAC;IACxB,qDAAqD;IACrD,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAYD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CA4DxD;AAiRD;;GAEG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,cAAc,YAAK,EAC5B,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,aAAa,CAAC,CAmIxB"}