attocode 0.1.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 (488) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/LICENSE +21 -0
  3. package/README.md +164 -0
  4. package/dist/src/adapters.d.ts +83 -0
  5. package/dist/src/adapters.d.ts.map +1 -0
  6. package/dist/src/adapters.js +221 -0
  7. package/dist/src/adapters.js.map +1 -0
  8. package/dist/src/agent-tools/index.d.ts +7 -0
  9. package/dist/src/agent-tools/index.d.ts.map +1 -0
  10. package/dist/src/agent-tools/index.js +8 -0
  11. package/dist/src/agent-tools/index.js.map +1 -0
  12. package/dist/src/agent-tools/lsp-file-tools.d.ts +33 -0
  13. package/dist/src/agent-tools/lsp-file-tools.d.ts.map +1 -0
  14. package/dist/src/agent-tools/lsp-file-tools.js +200 -0
  15. package/dist/src/agent-tools/lsp-file-tools.js.map +1 -0
  16. package/dist/src/agent.d.ts +667 -0
  17. package/dist/src/agent.d.ts.map +1 -0
  18. package/dist/src/agent.js +2824 -0
  19. package/dist/src/agent.js.map +1 -0
  20. package/dist/src/cli.d.ts +36 -0
  21. package/dist/src/cli.d.ts.map +1 -0
  22. package/dist/src/cli.js +176 -0
  23. package/dist/src/cli.js.map +1 -0
  24. package/dist/src/commands/handler.d.ts +22 -0
  25. package/dist/src/commands/handler.d.ts.map +1 -0
  26. package/dist/src/commands/handler.js +1320 -0
  27. package/dist/src/commands/handler.js.map +1 -0
  28. package/dist/src/commands/init.d.ts +7 -0
  29. package/dist/src/commands/init.d.ts.map +1 -0
  30. package/dist/src/commands/init.js +153 -0
  31. package/dist/src/commands/init.js.map +1 -0
  32. package/dist/src/commands/types.d.ts +70 -0
  33. package/dist/src/commands/types.d.ts.map +1 -0
  34. package/dist/src/commands/types.js +8 -0
  35. package/dist/src/commands/types.js.map +1 -0
  36. package/dist/src/config.d.ts +22 -0
  37. package/dist/src/config.d.ts.map +1 -0
  38. package/dist/src/config.js +25 -0
  39. package/dist/src/config.js.map +1 -0
  40. package/dist/src/core/index.d.ts +32 -0
  41. package/dist/src/core/index.d.ts.map +1 -0
  42. package/dist/src/core/index.js +35 -0
  43. package/dist/src/core/index.js.map +1 -0
  44. package/dist/src/core/process-handlers.d.ts +43 -0
  45. package/dist/src/core/process-handlers.d.ts.map +1 -0
  46. package/dist/src/core/process-handlers.js +117 -0
  47. package/dist/src/core/process-handlers.js.map +1 -0
  48. package/dist/src/core/protocol/bridge.d.ts +117 -0
  49. package/dist/src/core/protocol/bridge.d.ts.map +1 -0
  50. package/dist/src/core/protocol/bridge.js +149 -0
  51. package/dist/src/core/protocol/bridge.js.map +1 -0
  52. package/dist/src/core/protocol/index.d.ts +8 -0
  53. package/dist/src/core/protocol/index.d.ts.map +1 -0
  54. package/dist/src/core/protocol/index.js +8 -0
  55. package/dist/src/core/protocol/index.js.map +1 -0
  56. package/dist/src/core/protocol/types.d.ts +539 -0
  57. package/dist/src/core/protocol/types.d.ts.map +1 -0
  58. package/dist/src/core/protocol/types.js +149 -0
  59. package/dist/src/core/protocol/types.js.map +1 -0
  60. package/dist/src/core/queues/atomic-counter.d.ts +36 -0
  61. package/dist/src/core/queues/atomic-counter.d.ts.map +1 -0
  62. package/dist/src/core/queues/atomic-counter.js +46 -0
  63. package/dist/src/core/queues/atomic-counter.js.map +1 -0
  64. package/dist/src/core/queues/event-queue.d.ts +126 -0
  65. package/dist/src/core/queues/event-queue.d.ts.map +1 -0
  66. package/dist/src/core/queues/event-queue.js +208 -0
  67. package/dist/src/core/queues/event-queue.js.map +1 -0
  68. package/dist/src/core/queues/index.d.ts +12 -0
  69. package/dist/src/core/queues/index.d.ts.map +1 -0
  70. package/dist/src/core/queues/index.js +15 -0
  71. package/dist/src/core/queues/index.js.map +1 -0
  72. package/dist/src/core/queues/submission-queue.d.ts +116 -0
  73. package/dist/src/core/queues/submission-queue.d.ts.map +1 -0
  74. package/dist/src/core/queues/submission-queue.js +236 -0
  75. package/dist/src/core/queues/submission-queue.js.map +1 -0
  76. package/dist/src/costs/index.d.ts +22 -0
  77. package/dist/src/costs/index.d.ts.map +1 -0
  78. package/dist/src/costs/index.js +22 -0
  79. package/dist/src/costs/index.js.map +1 -0
  80. package/dist/src/costs/model-registry.d.ts +80 -0
  81. package/dist/src/costs/model-registry.d.ts.map +1 -0
  82. package/dist/src/costs/model-registry.js +237 -0
  83. package/dist/src/costs/model-registry.js.map +1 -0
  84. package/dist/src/costs/types.d.ts +50 -0
  85. package/dist/src/costs/types.d.ts.map +1 -0
  86. package/dist/src/costs/types.js +2 -0
  87. package/dist/src/costs/types.js.map +1 -0
  88. package/dist/src/defaults.d.ts +114 -0
  89. package/dist/src/defaults.d.ts.map +1 -0
  90. package/dist/src/defaults.js +457 -0
  91. package/dist/src/defaults.js.map +1 -0
  92. package/dist/src/first-run.d.ts +35 -0
  93. package/dist/src/first-run.d.ts.map +1 -0
  94. package/dist/src/first-run.js +94 -0
  95. package/dist/src/first-run.js.map +1 -0
  96. package/dist/src/hello.d.ts +2 -0
  97. package/dist/src/hello.d.ts.map +1 -0
  98. package/dist/src/hello.js +4 -0
  99. package/dist/src/hello.js.map +1 -0
  100. package/dist/src/integrations/agent-registry.d.ts +160 -0
  101. package/dist/src/integrations/agent-registry.d.ts.map +1 -0
  102. package/dist/src/integrations/agent-registry.js +446 -0
  103. package/dist/src/integrations/agent-registry.js.map +1 -0
  104. package/dist/src/integrations/auto-compaction.d.ts +177 -0
  105. package/dist/src/integrations/auto-compaction.d.ts.map +1 -0
  106. package/dist/src/integrations/auto-compaction.js +428 -0
  107. package/dist/src/integrations/auto-compaction.js.map +1 -0
  108. package/dist/src/integrations/cancellation.d.ts +162 -0
  109. package/dist/src/integrations/cancellation.d.ts.map +1 -0
  110. package/dist/src/integrations/cancellation.js +339 -0
  111. package/dist/src/integrations/cancellation.js.map +1 -0
  112. package/dist/src/integrations/codebase-context.d.ts +319 -0
  113. package/dist/src/integrations/codebase-context.d.ts.map +1 -0
  114. package/dist/src/integrations/codebase-context.js +816 -0
  115. package/dist/src/integrations/codebase-context.js.map +1 -0
  116. package/dist/src/integrations/compaction.d.ts +192 -0
  117. package/dist/src/integrations/compaction.d.ts.map +1 -0
  118. package/dist/src/integrations/compaction.js +376 -0
  119. package/dist/src/integrations/compaction.js.map +1 -0
  120. package/dist/src/integrations/context-engineering.d.ts +246 -0
  121. package/dist/src/integrations/context-engineering.d.ts.map +1 -0
  122. package/dist/src/integrations/context-engineering.js +394 -0
  123. package/dist/src/integrations/context-engineering.js.map +1 -0
  124. package/dist/src/integrations/diff-utils.d.ts +105 -0
  125. package/dist/src/integrations/diff-utils.d.ts.map +1 -0
  126. package/dist/src/integrations/diff-utils.js +497 -0
  127. package/dist/src/integrations/diff-utils.js.map +1 -0
  128. package/dist/src/integrations/economics.d.ts +192 -0
  129. package/dist/src/integrations/economics.d.ts.map +1 -0
  130. package/dist/src/integrations/economics.js +431 -0
  131. package/dist/src/integrations/economics.js.map +1 -0
  132. package/dist/src/integrations/execution-policy.d.ts +189 -0
  133. package/dist/src/integrations/execution-policy.d.ts.map +1 -0
  134. package/dist/src/integrations/execution-policy.js +352 -0
  135. package/dist/src/integrations/execution-policy.js.map +1 -0
  136. package/dist/src/integrations/file-change-tracker.d.ts +161 -0
  137. package/dist/src/integrations/file-change-tracker.d.ts.map +1 -0
  138. package/dist/src/integrations/file-change-tracker.js +520 -0
  139. package/dist/src/integrations/file-change-tracker.js.map +1 -0
  140. package/dist/src/integrations/hierarchical-config.d.ts +212 -0
  141. package/dist/src/integrations/hierarchical-config.d.ts.map +1 -0
  142. package/dist/src/integrations/hierarchical-config.js +484 -0
  143. package/dist/src/integrations/hierarchical-config.js.map +1 -0
  144. package/dist/src/integrations/hooks.d.ts +114 -0
  145. package/dist/src/integrations/hooks.d.ts.map +1 -0
  146. package/dist/src/integrations/hooks.js +326 -0
  147. package/dist/src/integrations/hooks.js.map +1 -0
  148. package/dist/src/integrations/ignore.d.ts +143 -0
  149. package/dist/src/integrations/ignore.d.ts.map +1 -0
  150. package/dist/src/integrations/ignore.js +417 -0
  151. package/dist/src/integrations/ignore.js.map +1 -0
  152. package/dist/src/integrations/image-renderer.d.ts +119 -0
  153. package/dist/src/integrations/image-renderer.d.ts.map +1 -0
  154. package/dist/src/integrations/image-renderer.js +306 -0
  155. package/dist/src/integrations/image-renderer.js.map +1 -0
  156. package/dist/src/integrations/index.d.ts +42 -0
  157. package/dist/src/integrations/index.d.ts.map +1 -0
  158. package/dist/src/integrations/index.js +73 -0
  159. package/dist/src/integrations/index.js.map +1 -0
  160. package/dist/src/integrations/lsp.d.ts +196 -0
  161. package/dist/src/integrations/lsp.d.ts.map +1 -0
  162. package/dist/src/integrations/lsp.js +582 -0
  163. package/dist/src/integrations/lsp.js.map +1 -0
  164. package/dist/src/integrations/mcp-client.d.ts +270 -0
  165. package/dist/src/integrations/mcp-client.d.ts.map +1 -0
  166. package/dist/src/integrations/mcp-client.js +698 -0
  167. package/dist/src/integrations/mcp-client.js.map +1 -0
  168. package/dist/src/integrations/mcp-tool-search.d.ts +77 -0
  169. package/dist/src/integrations/mcp-tool-search.d.ts.map +1 -0
  170. package/dist/src/integrations/mcp-tool-search.js +220 -0
  171. package/dist/src/integrations/mcp-tool-search.js.map +1 -0
  172. package/dist/src/integrations/memory.d.ts +108 -0
  173. package/dist/src/integrations/memory.d.ts.map +1 -0
  174. package/dist/src/integrations/memory.js +288 -0
  175. package/dist/src/integrations/memory.js.map +1 -0
  176. package/dist/src/integrations/multi-agent.d.ts +150 -0
  177. package/dist/src/integrations/multi-agent.d.ts.map +1 -0
  178. package/dist/src/integrations/multi-agent.js +306 -0
  179. package/dist/src/integrations/multi-agent.js.map +1 -0
  180. package/dist/src/integrations/observability.d.ts +162 -0
  181. package/dist/src/integrations/observability.d.ts.map +1 -0
  182. package/dist/src/integrations/observability.js +406 -0
  183. package/dist/src/integrations/observability.js.map +1 -0
  184. package/dist/src/integrations/openrouter-pricing.d.ts +42 -0
  185. package/dist/src/integrations/openrouter-pricing.d.ts.map +1 -0
  186. package/dist/src/integrations/openrouter-pricing.js +124 -0
  187. package/dist/src/integrations/openrouter-pricing.js.map +1 -0
  188. package/dist/src/integrations/pending-plan.d.ts +171 -0
  189. package/dist/src/integrations/pending-plan.d.ts.map +1 -0
  190. package/dist/src/integrations/pending-plan.js +244 -0
  191. package/dist/src/integrations/pending-plan.js.map +1 -0
  192. package/dist/src/integrations/persistence.d.ts +48 -0
  193. package/dist/src/integrations/persistence.d.ts.map +1 -0
  194. package/dist/src/integrations/persistence.js +196 -0
  195. package/dist/src/integrations/persistence.js.map +1 -0
  196. package/dist/src/integrations/planning.d.ts +96 -0
  197. package/dist/src/integrations/planning.d.ts.map +1 -0
  198. package/dist/src/integrations/planning.js +338 -0
  199. package/dist/src/integrations/planning.js.map +1 -0
  200. package/dist/src/integrations/pty-shell.d.ts +169 -0
  201. package/dist/src/integrations/pty-shell.d.ts.map +1 -0
  202. package/dist/src/integrations/pty-shell.js +367 -0
  203. package/dist/src/integrations/pty-shell.js.map +1 -0
  204. package/dist/src/integrations/react.d.ts +139 -0
  205. package/dist/src/integrations/react.d.ts.map +1 -0
  206. package/dist/src/integrations/react.js +273 -0
  207. package/dist/src/integrations/react.js.map +1 -0
  208. package/dist/src/integrations/resources.d.ts +177 -0
  209. package/dist/src/integrations/resources.d.ts.map +1 -0
  210. package/dist/src/integrations/resources.js +311 -0
  211. package/dist/src/integrations/resources.js.map +1 -0
  212. package/dist/src/integrations/result-synthesizer.d.ts +389 -0
  213. package/dist/src/integrations/result-synthesizer.d.ts.map +1 -0
  214. package/dist/src/integrations/result-synthesizer.js +951 -0
  215. package/dist/src/integrations/result-synthesizer.js.map +1 -0
  216. package/dist/src/integrations/routing.d.ts +117 -0
  217. package/dist/src/integrations/routing.d.ts.map +1 -0
  218. package/dist/src/integrations/routing.js +347 -0
  219. package/dist/src/integrations/routing.js.map +1 -0
  220. package/dist/src/integrations/rules.d.ts +131 -0
  221. package/dist/src/integrations/rules.d.ts.map +1 -0
  222. package/dist/src/integrations/rules.js +284 -0
  223. package/dist/src/integrations/rules.js.map +1 -0
  224. package/dist/src/integrations/safety.d.ts +142 -0
  225. package/dist/src/integrations/safety.d.ts.map +1 -0
  226. package/dist/src/integrations/safety.js +342 -0
  227. package/dist/src/integrations/safety.js.map +1 -0
  228. package/dist/src/integrations/sandbox/basic.d.ts +74 -0
  229. package/dist/src/integrations/sandbox/basic.d.ts.map +1 -0
  230. package/dist/src/integrations/sandbox/basic.js +310 -0
  231. package/dist/src/integrations/sandbox/basic.js.map +1 -0
  232. package/dist/src/integrations/sandbox/docker.d.ts +94 -0
  233. package/dist/src/integrations/sandbox/docker.d.ts.map +1 -0
  234. package/dist/src/integrations/sandbox/docker.js +293 -0
  235. package/dist/src/integrations/sandbox/docker.js.map +1 -0
  236. package/dist/src/integrations/sandbox/index.d.ts +182 -0
  237. package/dist/src/integrations/sandbox/index.d.ts.map +1 -0
  238. package/dist/src/integrations/sandbox/index.js +382 -0
  239. package/dist/src/integrations/sandbox/index.js.map +1 -0
  240. package/dist/src/integrations/sandbox/landlock.d.ts +59 -0
  241. package/dist/src/integrations/sandbox/landlock.d.ts.map +1 -0
  242. package/dist/src/integrations/sandbox/landlock.js +326 -0
  243. package/dist/src/integrations/sandbox/landlock.js.map +1 -0
  244. package/dist/src/integrations/sandbox/seatbelt.d.ts +68 -0
  245. package/dist/src/integrations/sandbox/seatbelt.d.ts.map +1 -0
  246. package/dist/src/integrations/sandbox/seatbelt.js +298 -0
  247. package/dist/src/integrations/sandbox/seatbelt.js.map +1 -0
  248. package/dist/src/integrations/semantic-cache.d.ts +178 -0
  249. package/dist/src/integrations/semantic-cache.d.ts.map +1 -0
  250. package/dist/src/integrations/semantic-cache.js +372 -0
  251. package/dist/src/integrations/semantic-cache.js.map +1 -0
  252. package/dist/src/integrations/session-store.d.ts +183 -0
  253. package/dist/src/integrations/session-store.d.ts.map +1 -0
  254. package/dist/src/integrations/session-store.js +345 -0
  255. package/dist/src/integrations/session-store.js.map +1 -0
  256. package/dist/src/integrations/shared-blackboard.d.ts +403 -0
  257. package/dist/src/integrations/shared-blackboard.d.ts.map +1 -0
  258. package/dist/src/integrations/shared-blackboard.js +710 -0
  259. package/dist/src/integrations/shared-blackboard.js.map +1 -0
  260. package/dist/src/integrations/skills.d.ts +171 -0
  261. package/dist/src/integrations/skills.d.ts.map +1 -0
  262. package/dist/src/integrations/skills.js +403 -0
  263. package/dist/src/integrations/skills.js.map +1 -0
  264. package/dist/src/integrations/smart-decomposer.d.ts +322 -0
  265. package/dist/src/integrations/smart-decomposer.d.ts.map +1 -0
  266. package/dist/src/integrations/smart-decomposer.js +856 -0
  267. package/dist/src/integrations/smart-decomposer.js.map +1 -0
  268. package/dist/src/integrations/sourcegraph.d.ts +169 -0
  269. package/dist/src/integrations/sourcegraph.d.ts.map +1 -0
  270. package/dist/src/integrations/sourcegraph.js +379 -0
  271. package/dist/src/integrations/sourcegraph.js.map +1 -0
  272. package/dist/src/integrations/sqlite-store.d.ts +518 -0
  273. package/dist/src/integrations/sqlite-store.d.ts.map +1 -0
  274. package/dist/src/integrations/sqlite-store.js +1423 -0
  275. package/dist/src/integrations/sqlite-store.js.map +1 -0
  276. package/dist/src/integrations/streaming.d.ts +102 -0
  277. package/dist/src/integrations/streaming.d.ts.map +1 -0
  278. package/dist/src/integrations/streaming.js +362 -0
  279. package/dist/src/integrations/streaming.js.map +1 -0
  280. package/dist/src/integrations/thread-manager.d.ts +199 -0
  281. package/dist/src/integrations/thread-manager.d.ts.map +1 -0
  282. package/dist/src/integrations/thread-manager.js +357 -0
  283. package/dist/src/integrations/thread-manager.js.map +1 -0
  284. package/dist/src/main.d.ts +26 -0
  285. package/dist/src/main.d.ts.map +1 -0
  286. package/dist/src/main.js +170 -0
  287. package/dist/src/main.js.map +1 -0
  288. package/dist/src/modes/index.d.ts +10 -0
  289. package/dist/src/modes/index.d.ts.map +1 -0
  290. package/dist/src/modes/index.js +10 -0
  291. package/dist/src/modes/index.js.map +1 -0
  292. package/dist/src/modes/repl.d.ts +19 -0
  293. package/dist/src/modes/repl.d.ts.map +1 -0
  294. package/dist/src/modes/repl.js +393 -0
  295. package/dist/src/modes/repl.js.map +1 -0
  296. package/dist/src/modes/tui.d.ts +29 -0
  297. package/dist/src/modes/tui.d.ts.map +1 -0
  298. package/dist/src/modes/tui.js +272 -0
  299. package/dist/src/modes/tui.js.map +1 -0
  300. package/dist/src/modes.d.ts +179 -0
  301. package/dist/src/modes.d.ts.map +1 -0
  302. package/dist/src/modes.js +385 -0
  303. package/dist/src/modes.js.map +1 -0
  304. package/dist/src/observability/tracer.d.ts +111 -0
  305. package/dist/src/observability/tracer.d.ts.map +1 -0
  306. package/dist/src/observability/tracer.js +300 -0
  307. package/dist/src/observability/tracer.js.map +1 -0
  308. package/dist/src/observability/types.d.ts +271 -0
  309. package/dist/src/observability/types.d.ts.map +1 -0
  310. package/dist/src/observability/types.js +24 -0
  311. package/dist/src/observability/types.js.map +1 -0
  312. package/dist/src/paths.d.ts +101 -0
  313. package/dist/src/paths.d.ts.map +1 -0
  314. package/dist/src/paths.js +148 -0
  315. package/dist/src/paths.js.map +1 -0
  316. package/dist/src/persistence/index.d.ts +38 -0
  317. package/dist/src/persistence/index.d.ts.map +1 -0
  318. package/dist/src/persistence/index.js +48 -0
  319. package/dist/src/persistence/index.js.map +1 -0
  320. package/dist/src/persistence/migrator.d.ts +135 -0
  321. package/dist/src/persistence/migrator.d.ts.map +1 -0
  322. package/dist/src/persistence/migrator.js +303 -0
  323. package/dist/src/persistence/migrator.js.map +1 -0
  324. package/dist/src/persistence/schema.d.ts +101 -0
  325. package/dist/src/persistence/schema.d.ts.map +1 -0
  326. package/dist/src/persistence/schema.js +395 -0
  327. package/dist/src/persistence/schema.js.map +1 -0
  328. package/dist/src/providers/adapters/anthropic.d.ts +20 -0
  329. package/dist/src/providers/adapters/anthropic.d.ts.map +1 -0
  330. package/dist/src/providers/adapters/anthropic.js +124 -0
  331. package/dist/src/providers/adapters/anthropic.js.map +1 -0
  332. package/dist/src/providers/adapters/mock.d.ts +25 -0
  333. package/dist/src/providers/adapters/mock.d.ts.map +1 -0
  334. package/dist/src/providers/adapters/mock.js +133 -0
  335. package/dist/src/providers/adapters/mock.js.map +1 -0
  336. package/dist/src/providers/adapters/openai.d.ts +21 -0
  337. package/dist/src/providers/adapters/openai.d.ts.map +1 -0
  338. package/dist/src/providers/adapters/openai.js +126 -0
  339. package/dist/src/providers/adapters/openai.js.map +1 -0
  340. package/dist/src/providers/adapters/openrouter.d.ts +49 -0
  341. package/dist/src/providers/adapters/openrouter.d.ts.map +1 -0
  342. package/dist/src/providers/adapters/openrouter.js +363 -0
  343. package/dist/src/providers/adapters/openrouter.js.map +1 -0
  344. package/dist/src/providers/provider.d.ts +54 -0
  345. package/dist/src/providers/provider.d.ts.map +1 -0
  346. package/dist/src/providers/provider.js +111 -0
  347. package/dist/src/providers/provider.js.map +1 -0
  348. package/dist/src/providers/resilient-fetch.d.ts +99 -0
  349. package/dist/src/providers/resilient-fetch.d.ts.map +1 -0
  350. package/dist/src/providers/resilient-fetch.js +208 -0
  351. package/dist/src/providers/resilient-fetch.js.map +1 -0
  352. package/dist/src/providers/types.d.ts +227 -0
  353. package/dist/src/providers/types.d.ts.map +1 -0
  354. package/dist/src/providers/types.js +24 -0
  355. package/dist/src/providers/types.js.map +1 -0
  356. package/dist/src/session-picker.d.ts +28 -0
  357. package/dist/src/session-picker.d.ts.map +1 -0
  358. package/dist/src/session-picker.js +256 -0
  359. package/dist/src/session-picker.js.map +1 -0
  360. package/dist/src/test-sqlite.d.ts +2 -0
  361. package/dist/src/test-sqlite.d.ts.map +1 -0
  362. package/dist/src/test-sqlite.js +114 -0
  363. package/dist/src/test-sqlite.js.map +1 -0
  364. package/dist/src/tools/agent.d.ts +44 -0
  365. package/dist/src/tools/agent.d.ts.map +1 -0
  366. package/dist/src/tools/agent.js +110 -0
  367. package/dist/src/tools/agent.js.map +1 -0
  368. package/dist/src/tools/bash.d.ts +52 -0
  369. package/dist/src/tools/bash.d.ts.map +1 -0
  370. package/dist/src/tools/bash.js +141 -0
  371. package/dist/src/tools/bash.js.map +1 -0
  372. package/dist/src/tools/file.d.ts +47 -0
  373. package/dist/src/tools/file.d.ts.map +1 -0
  374. package/dist/src/tools/file.js +263 -0
  375. package/dist/src/tools/file.js.map +1 -0
  376. package/dist/src/tools/permission.d.ts +43 -0
  377. package/dist/src/tools/permission.d.ts.map +1 -0
  378. package/dist/src/tools/permission.js +216 -0
  379. package/dist/src/tools/permission.js.map +1 -0
  380. package/dist/src/tools/registry.d.ts +63 -0
  381. package/dist/src/tools/registry.d.ts.map +1 -0
  382. package/dist/src/tools/registry.js +250 -0
  383. package/dist/src/tools/registry.js.map +1 -0
  384. package/dist/src/tools/standard.d.ts +57 -0
  385. package/dist/src/tools/standard.d.ts.map +1 -0
  386. package/dist/src/tools/standard.js +113 -0
  387. package/dist/src/tools/standard.js.map +1 -0
  388. package/dist/src/tools/types.d.ts +146 -0
  389. package/dist/src/tools/types.d.ts.map +1 -0
  390. package/dist/src/tools/types.js +28 -0
  391. package/dist/src/tools/types.js.map +1 -0
  392. package/dist/src/tools/undo.d.ts +71 -0
  393. package/dist/src/tools/undo.d.ts.map +1 -0
  394. package/dist/src/tools/undo.js +123 -0
  395. package/dist/src/tools/undo.js.map +1 -0
  396. package/dist/src/tracing/cache-boundary-tracker.d.ts +189 -0
  397. package/dist/src/tracing/cache-boundary-tracker.d.ts.map +1 -0
  398. package/dist/src/tracing/cache-boundary-tracker.js +411 -0
  399. package/dist/src/tracing/cache-boundary-tracker.js.map +1 -0
  400. package/dist/src/tracing/trace-collector.d.ts +274 -0
  401. package/dist/src/tracing/trace-collector.d.ts.map +1 -0
  402. package/dist/src/tracing/trace-collector.js +727 -0
  403. package/dist/src/tracing/trace-collector.js.map +1 -0
  404. package/dist/src/tracing/types.d.ts +657 -0
  405. package/dist/src/tracing/types.d.ts.map +1 -0
  406. package/dist/src/tracing/types.js +39 -0
  407. package/dist/src/tracing/types.js.map +1 -0
  408. package/dist/src/tricks/failure-evidence.d.ts +268 -0
  409. package/dist/src/tricks/failure-evidence.d.ts.map +1 -0
  410. package/dist/src/tricks/failure-evidence.js +544 -0
  411. package/dist/src/tricks/failure-evidence.js.map +1 -0
  412. package/dist/src/tricks/json-utils.d.ts +77 -0
  413. package/dist/src/tricks/json-utils.d.ts.map +1 -0
  414. package/dist/src/tricks/json-utils.js +247 -0
  415. package/dist/src/tricks/json-utils.js.map +1 -0
  416. package/dist/src/tricks/kv-cache-context.d.ts +227 -0
  417. package/dist/src/tricks/kv-cache-context.d.ts.map +1 -0
  418. package/dist/src/tricks/kv-cache-context.js +377 -0
  419. package/dist/src/tricks/kv-cache-context.js.map +1 -0
  420. package/dist/src/tricks/recitation.d.ts +208 -0
  421. package/dist/src/tricks/recitation.d.ts.map +1 -0
  422. package/dist/src/tricks/recitation.js +374 -0
  423. package/dist/src/tricks/recitation.js.map +1 -0
  424. package/dist/src/tricks/reversible-compaction.d.ts +251 -0
  425. package/dist/src/tricks/reversible-compaction.d.ts.map +1 -0
  426. package/dist/src/tricks/reversible-compaction.js +555 -0
  427. package/dist/src/tricks/reversible-compaction.js.map +1 -0
  428. package/dist/src/tricks/serialization-diversity.d.ts +197 -0
  429. package/dist/src/tricks/serialization-diversity.d.ts.map +1 -0
  430. package/dist/src/tricks/serialization-diversity.js +460 -0
  431. package/dist/src/tricks/serialization-diversity.js.map +1 -0
  432. package/dist/src/tui/app.d.ts +42 -0
  433. package/dist/src/tui/app.d.ts.map +1 -0
  434. package/dist/src/tui/app.js +1076 -0
  435. package/dist/src/tui/app.js.map +1 -0
  436. package/dist/src/tui/components/ApprovalDialog.d.ts +28 -0
  437. package/dist/src/tui/components/ApprovalDialog.d.ts.map +1 -0
  438. package/dist/src/tui/components/ApprovalDialog.js +59 -0
  439. package/dist/src/tui/components/ApprovalDialog.js.map +1 -0
  440. package/dist/src/tui/components/InputArea.d.ts +35 -0
  441. package/dist/src/tui/components/InputArea.d.ts.map +1 -0
  442. package/dist/src/tui/components/InputArea.js +144 -0
  443. package/dist/src/tui/components/InputArea.js.map +1 -0
  444. package/dist/src/tui/components/MessageItem.d.ts +28 -0
  445. package/dist/src/tui/components/MessageItem.d.ts.map +1 -0
  446. package/dist/src/tui/components/MessageItem.js +27 -0
  447. package/dist/src/tui/components/MessageItem.js.map +1 -0
  448. package/dist/src/tui/components/ScrollableBox.d.ts +41 -0
  449. package/dist/src/tui/components/ScrollableBox.d.ts.map +1 -0
  450. package/dist/src/tui/components/ScrollableBox.js +101 -0
  451. package/dist/src/tui/components/ScrollableBox.js.map +1 -0
  452. package/dist/src/tui/components/ToolCallItem.d.ts +33 -0
  453. package/dist/src/tui/components/ToolCallItem.d.ts.map +1 -0
  454. package/dist/src/tui/components/ToolCallItem.js +91 -0
  455. package/dist/src/tui/components/ToolCallItem.js.map +1 -0
  456. package/dist/src/tui/components/index.d.ts +13 -0
  457. package/dist/src/tui/components/index.d.ts.map +1 -0
  458. package/dist/src/tui/components/index.js +15 -0
  459. package/dist/src/tui/components/index.js.map +1 -0
  460. package/dist/src/tui/event-display.d.ts +19 -0
  461. package/dist/src/tui/event-display.d.ts.map +1 -0
  462. package/dist/src/tui/event-display.js +178 -0
  463. package/dist/src/tui/event-display.js.map +1 -0
  464. package/dist/src/tui/index.d.ts +105 -0
  465. package/dist/src/tui/index.d.ts.map +1 -0
  466. package/dist/src/tui/index.js +214 -0
  467. package/dist/src/tui/index.js.map +1 -0
  468. package/dist/src/tui/input/CommandPalette.d.ts +55 -0
  469. package/dist/src/tui/input/CommandPalette.d.ts.map +1 -0
  470. package/dist/src/tui/input/CommandPalette.js +135 -0
  471. package/dist/src/tui/input/CommandPalette.js.map +1 -0
  472. package/dist/src/tui/input/index.d.ts +7 -0
  473. package/dist/src/tui/input/index.d.ts.map +1 -0
  474. package/dist/src/tui/input/index.js +7 -0
  475. package/dist/src/tui/input/index.js.map +1 -0
  476. package/dist/src/tui/theme/index.d.ts +45 -0
  477. package/dist/src/tui/theme/index.d.ts.map +1 -0
  478. package/dist/src/tui/theme/index.js +215 -0
  479. package/dist/src/tui/theme/index.js.map +1 -0
  480. package/dist/src/tui/types.d.ts +214 -0
  481. package/dist/src/tui/types.d.ts.map +1 -0
  482. package/dist/src/tui/types.js +27 -0
  483. package/dist/src/tui/types.js.map +1 -0
  484. package/dist/src/types.d.ts +905 -0
  485. package/dist/src/types.d.ts.map +1 -0
  486. package/dist/src/types.js +9 -0
  487. package/dist/src/types.js.map +1 -0
  488. package/package.json +89 -0
@@ -0,0 +1,339 @@
1
+ /**
2
+ * Cancellation Token Integration
3
+ *
4
+ * Provides graceful cancellation support for long-running agent operations.
5
+ * Based on the .NET CancellationToken pattern, adapted from tricks/cancellation.ts.
6
+ *
7
+ * Usage:
8
+ * const cts = createCancellationTokenSource();
9
+ * agent.run(task, { cancellationToken: cts.token });
10
+ * // Later: cts.cancel('User requested cancellation');
11
+ */
12
+ // =============================================================================
13
+ // IMPLEMENTATION
14
+ // =============================================================================
15
+ class CancellationTokenImpl {
16
+ _cancelled = false;
17
+ _reason;
18
+ _callbacks = new Set();
19
+ _promise;
20
+ _resolve;
21
+ constructor() {
22
+ this._promise = new Promise((r) => {
23
+ this._resolve = r;
24
+ });
25
+ }
26
+ get isCancellationRequested() {
27
+ return this._cancelled;
28
+ }
29
+ get cancellationReason() {
30
+ return this._reason;
31
+ }
32
+ get onCancellationRequested() {
33
+ return this._promise;
34
+ }
35
+ register(callback) {
36
+ if (this._cancelled) {
37
+ // Already cancelled, invoke immediately
38
+ try {
39
+ callback(this._reason);
40
+ }
41
+ catch {
42
+ // Ignore callback errors
43
+ }
44
+ return { dispose: () => { } };
45
+ }
46
+ this._callbacks.add(callback);
47
+ return { dispose: () => this._callbacks.delete(callback) };
48
+ }
49
+ throwIfCancellationRequested() {
50
+ if (this._cancelled) {
51
+ throw new CancellationError(this._reason);
52
+ }
53
+ }
54
+ /** @internal */
55
+ _cancel(reason) {
56
+ if (this._cancelled)
57
+ return;
58
+ this._cancelled = true;
59
+ this._reason = reason;
60
+ this._resolve(reason);
61
+ for (const cb of this._callbacks) {
62
+ try {
63
+ cb(reason);
64
+ }
65
+ catch {
66
+ // Ignore callback errors to ensure all callbacks run
67
+ }
68
+ }
69
+ this._callbacks.clear();
70
+ }
71
+ }
72
+ class CancellationTokenSourceImpl {
73
+ _token = new CancellationTokenImpl();
74
+ _timeoutId;
75
+ _disposed = false;
76
+ get token() {
77
+ return this._token;
78
+ }
79
+ get isCancellationRequested() {
80
+ return this._token.isCancellationRequested;
81
+ }
82
+ cancel(reason) {
83
+ if (this._disposed)
84
+ return;
85
+ this._token._cancel(reason);
86
+ }
87
+ cancelAfter(ms) {
88
+ if (this._disposed || this._token.isCancellationRequested)
89
+ return this;
90
+ this._timeoutId = setTimeout(() => this.cancel('Operation timed out'), ms);
91
+ return this;
92
+ }
93
+ dispose() {
94
+ if (this._disposed)
95
+ return;
96
+ this._disposed = true;
97
+ if (this._timeoutId) {
98
+ clearTimeout(this._timeoutId);
99
+ this._timeoutId = undefined;
100
+ }
101
+ // Don't cancel on dispose - the operation completed successfully
102
+ }
103
+ }
104
+ // =============================================================================
105
+ // ERROR
106
+ // =============================================================================
107
+ /**
108
+ * Error thrown when an operation is cancelled.
109
+ */
110
+ export class CancellationError extends Error {
111
+ isCancellation = true;
112
+ reason;
113
+ constructor(reason) {
114
+ super(reason || 'Operation cancelled');
115
+ this.name = 'CancellationError';
116
+ this.reason = reason;
117
+ }
118
+ }
119
+ /**
120
+ * Check if an error is a cancellation error.
121
+ */
122
+ export function isCancellationError(error) {
123
+ return (error instanceof CancellationError ||
124
+ (error instanceof Error && 'isCancellation' in error && error.isCancellation === true));
125
+ }
126
+ // =============================================================================
127
+ // FACTORY FUNCTIONS
128
+ // =============================================================================
129
+ /**
130
+ * Create a new cancellation token source.
131
+ */
132
+ export function createCancellationTokenSource() {
133
+ return new CancellationTokenSourceImpl();
134
+ }
135
+ /**
136
+ * Create a token source that auto-cancels after timeout.
137
+ */
138
+ export function createTimeoutToken(ms) {
139
+ return createCancellationTokenSource().cancelAfter(ms);
140
+ }
141
+ /**
142
+ * Create a linked token that cancels when any source cancels.
143
+ */
144
+ export function createLinkedToken(...sources) {
145
+ const linked = createCancellationTokenSource();
146
+ for (const source of sources) {
147
+ if (source.isCancellationRequested) {
148
+ linked.cancel(source.token.cancellationReason);
149
+ break;
150
+ }
151
+ source.token.register((reason) => linked.cancel(reason));
152
+ }
153
+ return linked;
154
+ }
155
+ /**
156
+ * Create a "none" token that is never cancelled.
157
+ * Useful as a default when no cancellation is needed.
158
+ */
159
+ export const CancellationToken = {
160
+ None: {
161
+ isCancellationRequested: false,
162
+ cancellationReason: undefined,
163
+ onCancellationRequested: new Promise(() => { }),
164
+ register: () => ({ dispose: () => { } }),
165
+ throwIfCancellationRequested: () => { },
166
+ },
167
+ };
168
+ // =============================================================================
169
+ // UTILITIES
170
+ // =============================================================================
171
+ /**
172
+ * Run a function with cancellation support.
173
+ */
174
+ export async function withCancellation(fn, options = {}) {
175
+ const { token, timeout } = options;
176
+ let timeoutSource;
177
+ let effectiveToken;
178
+ if (timeout && !token) {
179
+ timeoutSource = createTimeoutToken(timeout);
180
+ effectiveToken = timeoutSource.token;
181
+ }
182
+ else if (timeout && token) {
183
+ // Link user token with timeout
184
+ timeoutSource = createTimeoutToken(timeout);
185
+ const linkedSource = createLinkedToken({ token, isCancellationRequested: token.isCancellationRequested, cancel: () => { }, cancelAfter: () => ({ token, isCancellationRequested: false, cancel: () => { }, cancelAfter: () => ({}), dispose: () => { } }), dispose: () => { } }, timeoutSource);
186
+ effectiveToken = linkedSource.token;
187
+ }
188
+ else {
189
+ effectiveToken = token || CancellationToken.None;
190
+ }
191
+ try {
192
+ effectiveToken.throwIfCancellationRequested();
193
+ return await fn(effectiveToken);
194
+ }
195
+ finally {
196
+ timeoutSource?.dispose();
197
+ }
198
+ }
199
+ /**
200
+ * Sleep with cancellation support.
201
+ */
202
+ export function sleep(ms, token) {
203
+ return new Promise((resolve, reject) => {
204
+ if (token?.isCancellationRequested) {
205
+ reject(new CancellationError(token.cancellationReason));
206
+ return;
207
+ }
208
+ const id = setTimeout(resolve, ms);
209
+ const registration = token?.register((reason) => {
210
+ clearTimeout(id);
211
+ reject(new CancellationError(reason));
212
+ });
213
+ // Cleanup registration after timeout completes
214
+ if (registration) {
215
+ setTimeout(() => registration.dispose(), ms + 1);
216
+ }
217
+ });
218
+ }
219
+ /**
220
+ * Race a promise against cancellation.
221
+ */
222
+ export function race(promise, token) {
223
+ if (token.isCancellationRequested) {
224
+ return Promise.reject(new CancellationError(token.cancellationReason));
225
+ }
226
+ return Promise.race([
227
+ promise,
228
+ token.onCancellationRequested.then((reason) => {
229
+ throw new CancellationError(reason);
230
+ }),
231
+ ]);
232
+ }
233
+ /**
234
+ * Create an AbortSignal from a CancellationToken.
235
+ * Useful for integrating with fetch and other AbortSignal-based APIs.
236
+ */
237
+ export function toAbortSignal(token) {
238
+ const controller = new AbortController();
239
+ if (token.isCancellationRequested) {
240
+ controller.abort(token.cancellationReason);
241
+ }
242
+ else {
243
+ token.register((reason) => controller.abort(reason));
244
+ }
245
+ return controller.signal;
246
+ }
247
+ // =============================================================================
248
+ // CANCELLATION MANAGER (for agent integration)
249
+ // =============================================================================
250
+ /**
251
+ * Manager that handles cancellation for agent operations.
252
+ * Provides a clean interface for the ProductionAgent to use.
253
+ */
254
+ export class CancellationManager {
255
+ currentSource = null;
256
+ eventListeners = new Set();
257
+ /**
258
+ * Create a new cancellation context for an operation.
259
+ * Disposes the previous context if one exists.
260
+ */
261
+ createContext(timeout) {
262
+ // Dispose previous context
263
+ this.disposeContext();
264
+ // Create new source
265
+ this.currentSource = timeout ? createTimeoutToken(timeout) : createCancellationTokenSource();
266
+ return this.currentSource.token;
267
+ }
268
+ /**
269
+ * Get the current cancellation token.
270
+ */
271
+ get token() {
272
+ return this.currentSource?.token || CancellationToken.None;
273
+ }
274
+ /**
275
+ * Check if cancellation has been requested.
276
+ */
277
+ get isCancelled() {
278
+ return this.currentSource?.isCancellationRequested ?? false;
279
+ }
280
+ /**
281
+ * Request cancellation of the current operation.
282
+ */
283
+ cancel(reason) {
284
+ if (!this.currentSource)
285
+ return;
286
+ const effectiveReason = reason || 'User requested cancellation';
287
+ this.emit({ type: 'cancellation.requested', reason: effectiveReason, timestamp: new Date() });
288
+ this.currentSource.cancel(effectiveReason);
289
+ }
290
+ /**
291
+ * Dispose the current cancellation context.
292
+ */
293
+ disposeContext() {
294
+ if (this.currentSource) {
295
+ this.currentSource.dispose();
296
+ this.currentSource = null;
297
+ }
298
+ }
299
+ /**
300
+ * Check if there's an active cancellation context.
301
+ */
302
+ hasActiveContext() {
303
+ return this.currentSource !== null;
304
+ }
305
+ /**
306
+ * Subscribe to cancellation events.
307
+ */
308
+ subscribe(listener) {
309
+ this.eventListeners.add(listener);
310
+ return () => this.eventListeners.delete(listener);
311
+ }
312
+ /**
313
+ * Emit a cancellation event.
314
+ */
315
+ emit(event) {
316
+ for (const listener of this.eventListeners) {
317
+ try {
318
+ listener(event);
319
+ }
320
+ catch {
321
+ // Ignore listener errors
322
+ }
323
+ }
324
+ }
325
+ /**
326
+ * Cleanup all resources.
327
+ */
328
+ cleanup() {
329
+ this.disposeContext();
330
+ this.eventListeners.clear();
331
+ }
332
+ }
333
+ /**
334
+ * Create a cancellation manager.
335
+ */
336
+ export function createCancellationManager() {
337
+ return new CancellationManager();
338
+ }
339
+ //# sourceMappingURL=cancellation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cancellation.js","sourceRoot":"","sources":["../../../src/integrations/cancellation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,319 @@
1
+ /**
2
+ * Codebase Context Integration
3
+ *
4
+ * Provides intelligent code selection for context management.
5
+ * Analyzes repository structure and selects relevant code based on:
6
+ * - Task relevance (semantic matching)
7
+ * - Architectural importance (entry points, core modules)
8
+ * - Token budget constraints
9
+ *
10
+ * Key features:
11
+ * - Budget-aware context building (select code that fits)
12
+ * - Importance scoring (imports, exports, modification frequency)
13
+ * - Incremental expansion (start minimal, expand as needed)
14
+ * - Semantic relevance matching (keyword + structure analysis)
15
+ */
16
+ /**
17
+ * A chunk of code with metadata for context selection.
18
+ */
19
+ export interface CodeChunk {
20
+ /** Unique identifier */
21
+ id: string;
22
+ /** Relative file path from repo root */
23
+ filePath: string;
24
+ /** The actual code content */
25
+ content: string;
26
+ /** Estimated token count */
27
+ tokenCount: number;
28
+ /** Importance score (0-1) */
29
+ importance: number;
30
+ /** Type of code chunk */
31
+ type: CodeChunkType;
32
+ /** Symbols defined in this chunk */
33
+ symbols: string[];
34
+ /** Symbols imported/used by this chunk */
35
+ dependencies: string[];
36
+ /** Last modified timestamp */
37
+ lastModified?: Date;
38
+ }
39
+ export type CodeChunkType = 'entry_point' | 'core_module' | 'utility' | 'types' | 'config' | 'test' | 'documentation' | 'other';
40
+ /**
41
+ * Repository structure map.
42
+ */
43
+ export interface RepoMap {
44
+ /** Root directory of the repo */
45
+ root: string;
46
+ /** All discovered code chunks */
47
+ chunks: Map<string, CodeChunk>;
48
+ /** Entry point files */
49
+ entryPoints: string[];
50
+ /** Core module directories */
51
+ coreModules: string[];
52
+ /** Dependency graph (file -> imported files) */
53
+ dependencyGraph: Map<string, Set<string>>;
54
+ /** Reverse dependency graph (file -> files that import it) */
55
+ reverseDependencyGraph: Map<string, Set<string>>;
56
+ /** Total estimated tokens */
57
+ totalTokens: number;
58
+ /** Analysis timestamp */
59
+ analyzedAt: Date;
60
+ }
61
+ /**
62
+ * Configuration for codebase context.
63
+ */
64
+ export interface CodebaseContextConfig {
65
+ /** Root directory to analyze */
66
+ root?: string;
67
+ /** File patterns to include (glob) */
68
+ includePatterns?: string[];
69
+ /** File patterns to exclude (glob) */
70
+ excludePatterns?: string[];
71
+ /** Maximum file size in bytes */
72
+ maxFileSize?: number;
73
+ /** Estimate tokens per character ratio */
74
+ tokensPerChar?: number;
75
+ /** Entry point file patterns */
76
+ entryPointPatterns?: string[];
77
+ /** Core module directory patterns */
78
+ coreModulePatterns?: string[];
79
+ /** Enable dependency graph analysis */
80
+ analyzeDependencies?: boolean;
81
+ /** Cache analysis results */
82
+ cacheResults?: boolean;
83
+ /** Cache TTL in milliseconds */
84
+ cacheTTL?: number;
85
+ }
86
+ /**
87
+ * Options for selecting relevant code.
88
+ */
89
+ export interface SelectionOptions {
90
+ /** Maximum token budget */
91
+ maxTokens: number;
92
+ /** Task description for relevance scoring */
93
+ task?: string;
94
+ /** Specific files to prioritize */
95
+ priorityFiles?: string[];
96
+ /** Minimum importance threshold */
97
+ minImportance?: number;
98
+ /** Include types/interfaces */
99
+ includeTypes?: boolean;
100
+ /** Include tests */
101
+ includeTests?: boolean;
102
+ /** Strategy for selection */
103
+ strategy?: SelectionStrategy;
104
+ }
105
+ export type SelectionStrategy = 'importance_first' | 'relevance_first' | 'breadth_first' | 'depth_first';
106
+ /**
107
+ * Result of code selection.
108
+ */
109
+ export interface SelectionResult {
110
+ /** Selected code chunks */
111
+ chunks: CodeChunk[];
112
+ /** Total tokens used */
113
+ totalTokens: number;
114
+ /** Budget remaining */
115
+ budgetRemaining: number;
116
+ /** Files that were excluded due to budget */
117
+ excluded: string[];
118
+ /** Selection statistics */
119
+ stats: {
120
+ filesConsidered: number;
121
+ filesSelected: number;
122
+ coveragePercent: number;
123
+ averageImportance: number;
124
+ };
125
+ }
126
+ /**
127
+ * Events emitted by the codebase context manager.
128
+ */
129
+ export type CodebaseContextEvent = {
130
+ type: 'analysis.started';
131
+ root: string;
132
+ } | {
133
+ type: 'analysis.completed';
134
+ totalFiles: number;
135
+ totalTokens: number;
136
+ } | {
137
+ type: 'analysis.error';
138
+ error: Error;
139
+ } | {
140
+ type: 'selection.completed';
141
+ selected: number;
142
+ budget: number;
143
+ } | {
144
+ type: 'cache.hit';
145
+ root: string;
146
+ } | {
147
+ type: 'cache.miss';
148
+ root: string;
149
+ };
150
+ export type CodebaseContextEventListener = (event: CodebaseContextEvent) => void;
151
+ /**
152
+ * Manages intelligent code selection for context building.
153
+ *
154
+ * @example
155
+ * ```typescript
156
+ * const codebase = createCodebaseContext({ root: './my-project' });
157
+ *
158
+ * // Analyze the repository
159
+ * const repoMap = await codebase.analyze();
160
+ *
161
+ * // Select relevant code for a task within budget
162
+ * const selection = await codebase.selectRelevantCode({
163
+ * task: 'implement user authentication',
164
+ * maxTokens: 8000,
165
+ * strategy: 'relevance_first',
166
+ * });
167
+ *
168
+ * // Use selected code in context
169
+ * const context = selection.chunks.map(c => c.content).join('\n\n');
170
+ * ```
171
+ */
172
+ export declare class CodebaseContextManager {
173
+ private config;
174
+ private repoMap;
175
+ private cache;
176
+ private listeners;
177
+ constructor(config?: CodebaseContextConfig);
178
+ /**
179
+ * Analyze a repository and build its structure map.
180
+ */
181
+ analyze(root?: string): Promise<RepoMap>;
182
+ /**
183
+ * Discover files matching include patterns.
184
+ */
185
+ private discoverFiles;
186
+ /**
187
+ * Process a single file into a code chunk.
188
+ */
189
+ private processFile;
190
+ /**
191
+ * Determine the type of a code chunk.
192
+ */
193
+ private determineChunkType;
194
+ /**
195
+ * Calculate base importance for a chunk type.
196
+ */
197
+ private calculateBaseImportance;
198
+ /**
199
+ * Extract exported symbols from code.
200
+ */
201
+ private extractSymbols;
202
+ /**
203
+ * Extract dependency file paths from imports.
204
+ */
205
+ private extractDependencies;
206
+ /**
207
+ * Extract dependency names (for symbol matching).
208
+ */
209
+ private extractDependencyNames;
210
+ /**
211
+ * Adjust importance based on how many files depend on each chunk.
212
+ */
213
+ private adjustImportanceByConnectivity;
214
+ /**
215
+ * Check if a path matches any of the given patterns.
216
+ */
217
+ private matchesPatterns;
218
+ /**
219
+ * Simple glob matching (supports * and **).
220
+ */
221
+ private matchesGlob;
222
+ /**
223
+ * Select relevant code chunks for a task within a token budget.
224
+ */
225
+ selectRelevantCode(options: SelectionOptions): Promise<SelectionResult>;
226
+ /**
227
+ * Calculate task relevance for a chunk.
228
+ */
229
+ private calculateRelevance;
230
+ /**
231
+ * Sort candidates by selection strategy.
232
+ */
233
+ private sortByStrategy;
234
+ /**
235
+ * Expand context by adding related files to current selection.
236
+ */
237
+ expandContext(currentChunks: CodeChunk[], options: {
238
+ maxTokensToAdd: number;
239
+ direction: 'dependencies' | 'dependents' | 'both';
240
+ query?: string;
241
+ }): Promise<CodeChunk[]>;
242
+ /**
243
+ * Get a chunk by file path.
244
+ */
245
+ getChunk(filePath: string): CodeChunk | undefined;
246
+ /**
247
+ * Get all chunks.
248
+ */
249
+ getAllChunks(): CodeChunk[];
250
+ /**
251
+ * Get entry points.
252
+ */
253
+ getEntryPoints(): CodeChunk[];
254
+ /**
255
+ * Estimate tokens for a string.
256
+ */
257
+ estimateTokens(content: string): number;
258
+ /**
259
+ * Get the current repo map.
260
+ */
261
+ getRepoMap(): RepoMap | null;
262
+ /**
263
+ * Clear cached data.
264
+ */
265
+ clearCache(): void;
266
+ /**
267
+ * Subscribe to events.
268
+ */
269
+ on(listener: CodebaseContextEventListener): () => void;
270
+ private emit;
271
+ }
272
+ /**
273
+ * Create a codebase context manager.
274
+ *
275
+ * @example
276
+ * ```typescript
277
+ * const codebase = createCodebaseContext({
278
+ * root: './my-project',
279
+ * includePatterns: ['src/**\/*.ts'],
280
+ * excludePatterns: ['node_modules/**'],
281
+ * });
282
+ *
283
+ * // Analyze repo
284
+ * await codebase.analyze();
285
+ *
286
+ * // Select code for task
287
+ * const selection = await codebase.selectRelevantCode({
288
+ * task: 'fix authentication bug',
289
+ * maxTokens: 10000,
290
+ * strategy: 'relevance_first',
291
+ * });
292
+ *
293
+ * console.log(`Selected ${selection.chunks.length} files`);
294
+ * console.log(`Using ${selection.totalTokens} tokens`);
295
+ * ```
296
+ */
297
+ export declare function createCodebaseContext(config?: CodebaseContextConfig): CodebaseContextManager;
298
+ /**
299
+ * Minimal chunk interface for building context.
300
+ * Only requires the properties actually used by buildContextFromChunks.
301
+ */
302
+ export interface MinimalCodeChunk {
303
+ filePath: string;
304
+ content: string;
305
+ tokenCount: number;
306
+ }
307
+ /**
308
+ * Build context string from selected chunks.
309
+ */
310
+ export declare function buildContextFromChunks(chunks: MinimalCodeChunk[], options?: {
311
+ includeFilePaths?: boolean;
312
+ includeSeparators?: boolean;
313
+ maxTotalTokens?: number;
314
+ }): string;
315
+ /**
316
+ * Create a summary of the repo structure.
317
+ */
318
+ export declare function summarizeRepoStructure(repoMap: RepoMap): string;
319
+ //# sourceMappingURL=codebase-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codebase-context.d.ts","sourceRoot":"","sources":["../../../src/integrations/codebase-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,IAAI,EAAE,aAAa,CAAC;IACpB,oCAAoC;IACpC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,0CAA0C;IAC1C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,8BAA8B;IAC9B,YAAY,CAAC,EAAE,IAAI,CAAC;CACrB;AAED,MAAM,MAAM,aAAa,GACrB,aAAa,GACb,aAAa,GACb,SAAS,GACT,OAAO,GACP,QAAQ,GACR,MAAM,GACN,eAAe,GACf,OAAO,CAAC;AAEZ;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/B,wBAAwB;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,8BAA8B;IAC9B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,gDAAgD;IAChD,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,8DAA8D;IAC9D,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,UAAU,EAAE,IAAI,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,sCAAsC;IACtC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gCAAgC;IAChC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,qCAAqC;IACrC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,uCAAuC;IACvC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,6BAA6B;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+BAA+B;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oBAAoB;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAED,MAAM,MAAM,iBAAiB,GACzB,kBAAkB,GAClB,iBAAiB,GACjB,eAAe,GACf,aAAa,CAAC;AAElB;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,2BAA2B;IAC3B,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,uBAAuB;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,2BAA2B;IAC3B,KAAK,EAAE;QACL,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAC5B;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACvE;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzC,MAAM,MAAM,4BAA4B,GAAG,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;AAyCjF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,KAAK,CAA6D;IAC1E,OAAO,CAAC,SAAS,CAAsC;gBAE3C,MAAM,GAAE,qBAA0B;IAQ9C;;OAEG;IACG,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA0G9C;;OAEG;YACW,aAAa;IA6B3B;;OAEG;YACW,WAAW;IAoCzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA0D1B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA0B/B;;OAEG;IACH,OAAO,CAAC,cAAc;IAyCtB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA6B3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAwB9B;;OAEG;IACH,OAAO,CAAC,8BAA8B;IAkBtC;;OAEG;IACH,OAAO,CAAC,eAAe;IASvB;;OAEG;IACH,OAAO,CAAC,WAAW;IAgBnB;;OAEG;IACG,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IAsF7E;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAmC1B;;OAEG;IACH,OAAO,CAAC,cAAc;IAkEtB;;OAEG;IACG,aAAa,CACjB,aAAa,EAAE,SAAS,EAAE,EAC1B,OAAO,EAAE;QACP,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,cAAc,GAAG,YAAY,GAAG,MAAM,CAAC;QAClD,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GACA,OAAO,CAAC,SAAS,EAAE,CAAC;IAqEvB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIjD;;OAEG;IACH,YAAY,IAAI,SAAS,EAAE;IAI3B;;OAEG;IACH,cAAc,IAAI,SAAS,EAAE;IAO7B;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIvC;;OAEG;IACH,UAAU,IAAI,OAAO,GAAG,IAAI;IAI5B;;OAEG;IACH,UAAU,IAAI,IAAI;IAKlB;;OAEG;IACH,EAAE,CAAC,QAAQ,EAAE,4BAA4B,GAAG,MAAM,IAAI;IAQtD,OAAO,CAAC,IAAI;CASb;AAMD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,GAAE,qBAA0B,GACjC,sBAAsB,CAExB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,gBAAgB,EAAE,EAC1B,OAAO,GAAE;IACP,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;CACpB,GACL,MAAM,CA4BR;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CA8B/D"}