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 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/commands/handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Interactive setup command for attocode.
3
+ *
4
+ * Usage: attocode init
5
+ */
6
+ export declare function runInit(): Promise<void>;
7
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgCH,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAsI7C"}
@@ -0,0 +1,153 @@
1
+ /**
2
+ * Interactive setup command for attocode.
3
+ *
4
+ * Usage: attocode init
5
+ */
6
+ import { createInterface } from 'readline';
7
+ import { writeFileSync, existsSync } from 'fs';
8
+ import { getConfigPath, ensureDirectories } from '../paths.js';
9
+ import { detectProviders } from '../first-run.js';
10
+ const rl = createInterface({
11
+ input: process.stdin,
12
+ output: process.stdout,
13
+ });
14
+ function question(prompt) {
15
+ return new Promise(resolve => {
16
+ rl.question(prompt, resolve);
17
+ });
18
+ }
19
+ function select(prompt, options) {
20
+ return new Promise(async (resolve) => {
21
+ console.log(prompt);
22
+ options.forEach((opt, i) => console.log(` ${i + 1}) ${opt}`));
23
+ const answer = await question('Choice: ');
24
+ const choice = parseInt(answer, 10);
25
+ if (choice >= 1 && choice <= options.length) {
26
+ resolve(choice - 1);
27
+ }
28
+ else {
29
+ resolve(0); // Default to first
30
+ }
31
+ });
32
+ }
33
+ export async function runInit() {
34
+ console.log('\n🚀 Attocode Setup\n');
35
+ // Check existing config
36
+ if (existsSync(getConfigPath())) {
37
+ console.log(`Config already exists at ${getConfigPath()}`);
38
+ const overwrite = await question('Overwrite? (y/N): ');
39
+ if (overwrite.toLowerCase() !== 'y') {
40
+ console.log('Setup cancelled.');
41
+ rl.close();
42
+ return;
43
+ }
44
+ }
45
+ // Detect existing providers
46
+ const detected = detectProviders();
47
+ if (detected.length > 0) {
48
+ console.log('✓ Detected API keys from environment:');
49
+ detected.forEach(p => console.log(` - ${p.name.toUpperCase()}`));
50
+ console.log('');
51
+ }
52
+ // Select provider
53
+ const providerChoice = await select('Select default provider:', [
54
+ 'Anthropic (Claude)',
55
+ 'OpenRouter (access to 100+ models)',
56
+ 'OpenAI',
57
+ ]);
58
+ const providerMap = ['anthropic', 'openrouter', 'openai'];
59
+ const provider = providerMap[providerChoice];
60
+ // Check for API key
61
+ const envVars = {
62
+ anthropic: 'ANTHROPIC_API_KEY',
63
+ openrouter: 'OPENROUTER_API_KEY',
64
+ openai: 'OPENAI_API_KEY',
65
+ };
66
+ const envVar = envVars[provider];
67
+ if (!process.env[envVar]) {
68
+ console.log(`\n⚠️ No ${envVar} found in environment.`);
69
+ console.log(`Set it before running attocode:`);
70
+ console.log(` export ${envVar}="your-api-key-here"\n`);
71
+ }
72
+ // Model selection - with custom option
73
+ let model;
74
+ const suggestedModels = {
75
+ anthropic: [
76
+ { id: 'claude-sonnet-4-20250514', name: 'Claude Sonnet 4 (recommended)' },
77
+ { id: 'claude-opus-4-20250514', name: 'Claude Opus 4' },
78
+ { id: 'claude-3-5-haiku-20241022', name: 'Claude 3.5 Haiku (fast)' },
79
+ ],
80
+ openrouter: [
81
+ { id: 'anthropic/claude-sonnet-4', name: 'Claude Sonnet 4' },
82
+ { id: 'anthropic/claude-opus-4', name: 'Claude Opus 4' },
83
+ { id: 'google/gemini-2.5-pro-preview', name: 'Gemini 2.5 Pro' },
84
+ { id: 'openai/gpt-4o', name: 'GPT-4o' },
85
+ { id: 'deepseek/deepseek-r1', name: 'DeepSeek R1' },
86
+ ],
87
+ openai: [
88
+ { id: 'gpt-4o', name: 'GPT-4o (recommended)' },
89
+ { id: 'gpt-4-turbo', name: 'GPT-4 Turbo' },
90
+ { id: 'gpt-4', name: 'GPT-4' },
91
+ { id: 'o1', name: 'o1 (reasoning)' },
92
+ ],
93
+ };
94
+ const models = suggestedModels[provider];
95
+ const modelOptions = [...models.map(m => m.name), '✏️ Enter custom model'];
96
+ console.log('\nSelect model:');
97
+ modelOptions.forEach((opt, i) => console.log(` ${i + 1}) ${opt}`));
98
+ if (provider === 'openrouter') {
99
+ console.log('\n 💡 Browse all models: https://openrouter.ai/models');
100
+ }
101
+ const modelAnswer = await question('\nChoice (or type model ID directly): ');
102
+ const modelChoice = parseInt(modelAnswer, 10);
103
+ if (modelChoice >= 1 && modelChoice <= models.length) {
104
+ // Selected from list
105
+ model = models[modelChoice - 1].id;
106
+ }
107
+ else if (modelChoice === models.length + 1) {
108
+ // Custom option selected
109
+ const customModel = await question('Enter model ID: ');
110
+ model = customModel.trim();
111
+ }
112
+ else if (modelAnswer.includes('/') || modelAnswer.includes('-')) {
113
+ // Looks like they typed a model ID directly
114
+ model = modelAnswer.trim();
115
+ }
116
+ else {
117
+ // Default to first option
118
+ model = models[0].id;
119
+ console.log(`Using default: ${model}`);
120
+ }
121
+ console.log(`\n✓ Selected model: ${model}`);
122
+ // Create config
123
+ await ensureDirectories();
124
+ const config = {
125
+ "$schema": "https://attocode.dev/schema/config.json",
126
+ "version": 1,
127
+ "providers": {
128
+ "default": provider
129
+ },
130
+ "model": model,
131
+ "maxIterations": 50,
132
+ "timeout": 300000,
133
+ "features": {
134
+ "memory": true,
135
+ "planning": true,
136
+ "sandbox": true
137
+ }
138
+ };
139
+ writeFileSync(getConfigPath(), JSON.stringify(config, null, 2));
140
+ console.log(`✓ Config saved to ${getConfigPath()}`);
141
+ // Show next steps
142
+ console.log('\n📋 Next steps:');
143
+ if (!process.env[envVar]) {
144
+ console.log(` 1. Set your API key: export ${envVar}="..."`);
145
+ console.log(' 2. Run: attocode');
146
+ }
147
+ else {
148
+ console.log(' Run: attocode');
149
+ }
150
+ console.log('');
151
+ rl.close();
152
+ }
153
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Command Handler Types
3
+ *
4
+ * Defines the interfaces for the unified command system that works
5
+ * across both REPL and TUI modes.
6
+ */
7
+ import type { ProductionAgent } from '../agent.js';
8
+ import type { MCPClient, Compactor, SQLiteStore, SessionStore } from '../integrations/index.js';
9
+ import type * as readline from 'node:readline/promises';
10
+ /**
11
+ * Session store type that works with both SQLite and JSONL.
12
+ */
13
+ export type AnySessionStore = SQLiteStore | SessionStore;
14
+ /**
15
+ * Output abstraction for command handlers.
16
+ * Allows the same command logic to work in both REPL (console) and TUI (React state) modes.
17
+ */
18
+ export interface CommandOutput {
19
+ /** Log a message (replaces console.log) */
20
+ log(message: string): void;
21
+ /** Log an error (replaces console.error) */
22
+ error(message: string): void;
23
+ /** Clear the screen/output */
24
+ clear(): void;
25
+ }
26
+ /**
27
+ * Context provided to command handlers.
28
+ */
29
+ export interface CommandContext {
30
+ /** The agent instance */
31
+ agent: ProductionAgent;
32
+ /** Current session ID */
33
+ sessionId: string;
34
+ /** Output abstraction (log, error, clear) */
35
+ output: CommandOutput;
36
+ /** Integration services */
37
+ integrations: {
38
+ sessionStore: AnySessionStore;
39
+ mcpClient: MCPClient;
40
+ compactor: Compactor;
41
+ };
42
+ /** Readline interface (only available in REPL mode, used for prompts) */
43
+ rl?: readline.Interface;
44
+ /** Request user confirmation (returns true if confirmed) */
45
+ confirm?: (message: string) => Promise<boolean>;
46
+ }
47
+ /**
48
+ * Command handler result.
49
+ */
50
+ export type CommandResult = 'quit' | void;
51
+ /**
52
+ * Command definition metadata.
53
+ */
54
+ export interface CommandDefinition {
55
+ /** Command name (with leading slash) */
56
+ name: string;
57
+ /** Command aliases */
58
+ aliases?: string[];
59
+ /** Brief description */
60
+ description: string;
61
+ /** Usage example */
62
+ usage?: string;
63
+ /** Category for help grouping */
64
+ category: CommandCategory;
65
+ }
66
+ /**
67
+ * Command categories for help organization.
68
+ */
69
+ export type CommandCategory = 'general' | 'modes' | 'plan' | 'sessions' | 'context' | 'checkpoints' | 'reasoning' | 'subagents' | 'mcp' | 'budget' | 'security' | 'debugging';
70
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAChG,OAAO,KAAK,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,YAAY,CAAC;AAEzD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,2CAA2C;IAC3C,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,4CAA4C;IAC5C,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,8BAA8B;IAC9B,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,yBAAyB;IACzB,KAAK,EAAE,eAAe,CAAC;IACvB,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,MAAM,EAAE,aAAa,CAAC;IACtB,2BAA2B;IAC3B,YAAY,EAAE;QACZ,YAAY,EAAE,eAAe,CAAC;QAC9B,SAAS,EAAE,SAAS,CAAC;QACrB,SAAS,EAAE,SAAS,CAAC;KACtB,CAAC;IACF,yEAAyE;IACzE,EAAE,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC;IACxB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACjD;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,IAAI,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,QAAQ,EAAE,eAAe,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB,SAAS,GACT,OAAO,GACP,MAAM,GACN,UAAU,GACV,SAAS,GACT,aAAa,GACb,WAAW,GACX,WAAW,GACX,KAAK,GACL,QAAQ,GACR,UAAU,GACV,WAAW,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Command Handler Types
3
+ *
4
+ * Defines the interfaces for the unified command system that works
5
+ * across both REPL and TUI modes.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/commands/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * User Configuration Loading
3
+ *
4
+ * Loads user config from ~/.config/attocode/config.json
5
+ */
6
+ /**
7
+ * User configuration structure.
8
+ */
9
+ export interface UserConfig {
10
+ providers?: {
11
+ default?: string;
12
+ };
13
+ model?: string;
14
+ maxIterations?: number;
15
+ timeout?: number;
16
+ }
17
+ /**
18
+ * Load user config from ~/.config/attocode/config.json
19
+ * Returns undefined if file doesn't exist or is invalid.
20
+ */
21
+ export declare function loadUserConfig(): UserConfig | undefined;
22
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,UAAU,GAAG,SAAS,CAWvD"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * User Configuration Loading
3
+ *
4
+ * Loads user config from ~/.config/attocode/config.json
5
+ */
6
+ import { existsSync, readFileSync } from 'node:fs';
7
+ import { getConfigPath } from './paths.js';
8
+ /**
9
+ * Load user config from ~/.config/attocode/config.json
10
+ * Returns undefined if file doesn't exist or is invalid.
11
+ */
12
+ export function loadUserConfig() {
13
+ try {
14
+ const configPath = getConfigPath();
15
+ if (!existsSync(configPath)) {
16
+ return undefined;
17
+ }
18
+ const content = readFileSync(configPath, 'utf-8');
19
+ return JSON.parse(content);
20
+ }
21
+ catch {
22
+ return undefined;
23
+ }
24
+ }
25
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAY3C;;;GAGG;AACH,MAAM,UAAU,cAAc;IAC5B,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAe,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Core Module
3
+ *
4
+ * Unified exports for the core infrastructure layer including:
5
+ * - Op/Event Protocol: Typed message passing between UI and agent
6
+ * - Queue System: Bounded submission queue and unbounded event queue
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * import {
11
+ * // Protocol types
12
+ * type Operation,
13
+ * type AgentEvent,
14
+ * type Submission,
15
+ * type EventEnvelope,
16
+ * // Validation
17
+ * OperationSchema,
18
+ * AgentEventSchema,
19
+ * // Type guards
20
+ * isUserTurn,
21
+ * isAgentMessage,
22
+ * // Queues
23
+ * SubmissionQueue,
24
+ * EventQueue,
25
+ * AtomicCounter,
26
+ * } from './core/index.js';
27
+ * ```
28
+ */
29
+ export * from './protocol/index.js';
30
+ export * from './queues/index.js';
31
+ export * from './process-handlers.js';
32
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,cAAc,qBAAqB,CAAC;AAGpC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Core Module
3
+ *
4
+ * Unified exports for the core infrastructure layer including:
5
+ * - Op/Event Protocol: Typed message passing between UI and agent
6
+ * - Queue System: Bounded submission queue and unbounded event queue
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * import {
11
+ * // Protocol types
12
+ * type Operation,
13
+ * type AgentEvent,
14
+ * type Submission,
15
+ * type EventEnvelope,
16
+ * // Validation
17
+ * OperationSchema,
18
+ * AgentEventSchema,
19
+ * // Type guards
20
+ * isUserTurn,
21
+ * isAgentMessage,
22
+ * // Queues
23
+ * SubmissionQueue,
24
+ * EventQueue,
25
+ * AtomicCounter,
26
+ * } from './core/index.js';
27
+ * ```
28
+ */
29
+ // Protocol types and validation
30
+ export * from './protocol/index.js';
31
+ // Queue system
32
+ export * from './queues/index.js';
33
+ // Process handlers and cleanup
34
+ export * from './process-handlers.js';
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,gCAAgC;AAChC,cAAc,qBAAqB,CAAC;AAEpC,eAAe;AACf,cAAc,mBAAmB,CAAC;AAElC,+BAA+B;AAC/B,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Process Error Handlers and Cleanup Management
3
+ *
4
+ * Provides graceful cleanup on process exit, signal handling,
5
+ * and resource registration for the application.
6
+ */
7
+ /**
8
+ * Global cleanup resources - populated during initialization.
9
+ * Used by process error handlers to gracefully clean up before exit.
10
+ */
11
+ export interface CleanupResources {
12
+ agent?: {
13
+ cleanup: () => Promise<void>;
14
+ };
15
+ mcpClient?: {
16
+ cleanup: () => Promise<void>;
17
+ };
18
+ tui?: {
19
+ cleanup: () => void;
20
+ };
21
+ rl?: {
22
+ close: () => void;
23
+ };
24
+ }
25
+ /**
26
+ * Gracefully clean up all resources before exit.
27
+ * Times out after 5 seconds to prevent hanging.
28
+ */
29
+ export declare function gracefulCleanup(reason: string): Promise<void>;
30
+ /**
31
+ * Register a resource for cleanup on process exit.
32
+ */
33
+ export declare function registerCleanupResource<K extends keyof CleanupResources>(key: K, resource: CleanupResources[K]): void;
34
+ /**
35
+ * Reset cleanup state - useful for testing or re-initialization.
36
+ */
37
+ export declare function resetCleanupState(): void;
38
+ /**
39
+ * Install process-level error handlers.
40
+ * Should be called once at application startup.
41
+ */
42
+ export declare function installProcessHandlers(): void;
43
+ //# sourceMappingURL=process-handlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-handlers.d.ts","sourceRoot":"","sources":["../../../src/core/process-handlers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC;IACzC,SAAS,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC;IAC7C,GAAG,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IAC9B,EAAE,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;CAC5B;AAKD;;;GAGG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyDnE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,MAAM,gBAAgB,EACtE,GAAG,EAAE,CAAC,EACN,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAC5B,IAAI,CAEN;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAGxC;AAMD;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CA6B7C"}