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,417 @@
1
+ /**
2
+ * .agentignore Support
3
+ *
4
+ * AI-specific file exclusion patterns, separate from .gitignore.
5
+ * Allows hiding files from the agent that shouldn't be modified or seen,
6
+ * without affecting git behavior.
7
+ *
8
+ * Priority order (highest first):
9
+ * 1. .agentignore in current directory
10
+ * 2. .gitignore in current directory
11
+ * 3. Global ~/.agent/ignore
12
+ *
13
+ * Usage:
14
+ * const ignore = createIgnoreManager();
15
+ * await ignore.load(process.cwd());
16
+ * const filtered = ignore.filterPaths(paths);
17
+ */
18
+ import { readFile, stat } from 'fs/promises';
19
+ import { join, relative, isAbsolute, normalize, sep } from 'path';
20
+ import { homedir } from 'os';
21
+ // =============================================================================
22
+ // GITIGNORE PATTERN COMPILER
23
+ // =============================================================================
24
+ /**
25
+ * Convert a gitignore-style pattern to a regex.
26
+ * Implements most of the gitignore specification.
27
+ */
28
+ function compilePattern(pattern) {
29
+ // Check if anchored to root (starts with /)
30
+ const isAnchored = pattern.startsWith('/');
31
+ // Remove leading and trailing slashes for processing
32
+ let cleanPattern = pattern;
33
+ if (isAnchored) {
34
+ cleanPattern = cleanPattern.slice(1); // Remove leading /
35
+ }
36
+ if (cleanPattern.endsWith('/')) {
37
+ cleanPattern = cleanPattern.slice(0, -1); // Remove trailing /
38
+ }
39
+ // Convert gitignore pattern to regex, processing glob patterns before escaping
40
+ let regexStr = cleanPattern
41
+ // First, replace ** with a placeholder
42
+ .replace(/\*\*/g, '\x00GLOBSTAR\x00')
43
+ // Then replace single *
44
+ .replace(/\*/g, '\x00STAR\x00')
45
+ // Then replace ?
46
+ .replace(/\?/g, '\x00QUESTION\x00')
47
+ // Escape remaining regex special chars
48
+ .replace(/[.+^${}()|[\]\\]/g, '\\$&')
49
+ // Restore glob patterns as regex
50
+ .replace(/\x00GLOBSTAR\x00/g, '.*')
51
+ .replace(/\x00STAR\x00/g, '[^/]*')
52
+ .replace(/\x00QUESTION\x00/g, '[^/]');
53
+ // Handle the prefix: **/ at start matches any depth including root
54
+ if (cleanPattern.startsWith('**/')) {
55
+ // The pattern can match at root level or at any subdirectory
56
+ // (.*/)? matches optional path prefix, then the rest of the pattern
57
+ regexStr = '(.*/)?' + regexStr.slice(4); // slice(4) removes the '.*/' from regex
58
+ }
59
+ else if (cleanPattern.startsWith('**')) {
60
+ regexStr = `^${regexStr}`;
61
+ }
62
+ else if (!isAnchored) {
63
+ // Match anywhere in path (at start or after /)
64
+ regexStr = `(^|/)${regexStr}`;
65
+ }
66
+ else {
67
+ // Anchored to root
68
+ regexStr = `^${regexStr}`;
69
+ }
70
+ // Match at end of path or as a directory prefix
71
+ regexStr = `${regexStr}(/.*)?$`;
72
+ return new RegExp(regexStr);
73
+ }
74
+ /**
75
+ * Parse a pattern line from ignore file.
76
+ */
77
+ function parsePatternLine(line, source) {
78
+ // Trim whitespace
79
+ let pattern = line.trim();
80
+ // Skip empty lines and comments
81
+ if (!pattern || pattern.startsWith('#')) {
82
+ return null;
83
+ }
84
+ // Check for negation
85
+ let negated = false;
86
+ if (pattern.startsWith('!')) {
87
+ negated = true;
88
+ pattern = pattern.slice(1);
89
+ }
90
+ // Check for directory-only
91
+ const directoryOnly = pattern.endsWith('/');
92
+ // Compile to regex
93
+ const regex = compilePattern(pattern);
94
+ return {
95
+ pattern,
96
+ negated,
97
+ directoryOnly,
98
+ regex,
99
+ source,
100
+ };
101
+ }
102
+ // =============================================================================
103
+ // DEFAULT PATTERNS
104
+ // =============================================================================
105
+ /**
106
+ * Built-in patterns that are always ignored.
107
+ */
108
+ const BUILTIN_PATTERNS = [
109
+ // Version control
110
+ '.git',
111
+ '.svn',
112
+ '.hg',
113
+ // Dependencies
114
+ 'node_modules',
115
+ '__pycache__',
116
+ '.venv',
117
+ 'venv',
118
+ // IDE/Editor
119
+ '.idea',
120
+ '.vscode',
121
+ '*.swp',
122
+ '*.swo',
123
+ '*~',
124
+ // OS files
125
+ '.DS_Store',
126
+ 'Thumbs.db',
127
+ // Build outputs (common)
128
+ 'dist',
129
+ 'build',
130
+ 'out',
131
+ // Sensitive files
132
+ '.env',
133
+ '.env.local',
134
+ '*.pem',
135
+ '*.key',
136
+ 'credentials.json',
137
+ 'secrets.json',
138
+ ];
139
+ // =============================================================================
140
+ // IGNORE MANAGER
141
+ // =============================================================================
142
+ /**
143
+ * Manages ignore patterns for file filtering.
144
+ */
145
+ export class IgnoreManager {
146
+ config;
147
+ patterns = [];
148
+ workspaceRoot = process.cwd();
149
+ eventListeners = new Set();
150
+ loaded = false;
151
+ constructor(config = {}) {
152
+ this.config = {
153
+ enabled: config.enabled ?? true,
154
+ includeGitignore: config.includeGitignore ?? true,
155
+ includeGlobal: config.includeGlobal ?? true,
156
+ extraPatterns: config.extraPatterns ?? [],
157
+ };
158
+ // Add built-in patterns
159
+ this.addPatterns(BUILTIN_PATTERNS, 'built-in');
160
+ // Add extra patterns from config
161
+ if (this.config.extraPatterns.length > 0) {
162
+ this.addPatterns(this.config.extraPatterns, 'config');
163
+ }
164
+ }
165
+ /**
166
+ * Load ignore patterns from files.
167
+ */
168
+ async load(workspaceRoot) {
169
+ if (!this.config.enabled)
170
+ return;
171
+ this.workspaceRoot = workspaceRoot ?? process.cwd();
172
+ // Load global patterns first (lowest priority)
173
+ if (this.config.includeGlobal) {
174
+ await this.loadFromFile(join(homedir(), '.agent', 'ignore'));
175
+ }
176
+ // Load .gitignore (medium priority)
177
+ if (this.config.includeGitignore) {
178
+ await this.loadFromFile(join(this.workspaceRoot, '.gitignore'));
179
+ }
180
+ // Load .agentignore (highest priority)
181
+ await this.loadFromFile(join(this.workspaceRoot, '.agentignore'));
182
+ this.loaded = true;
183
+ }
184
+ /**
185
+ * Load patterns from a file.
186
+ */
187
+ async loadFromFile(filePath) {
188
+ try {
189
+ const content = await readFile(filePath, 'utf-8');
190
+ const lines = content.split('\n');
191
+ let count = 0;
192
+ for (const line of lines) {
193
+ const pattern = parsePatternLine(line, filePath);
194
+ if (pattern) {
195
+ this.patterns.push(pattern);
196
+ count++;
197
+ }
198
+ }
199
+ this.emit({ type: 'ignore.loaded', source: filePath, patternCount: count });
200
+ }
201
+ catch {
202
+ // File doesn't exist - that's ok
203
+ }
204
+ }
205
+ /**
206
+ * Add patterns programmatically.
207
+ */
208
+ addPatterns(patterns, source = 'manual') {
209
+ for (const line of patterns) {
210
+ const pattern = parsePatternLine(line, source);
211
+ if (pattern) {
212
+ this.patterns.push(pattern);
213
+ }
214
+ }
215
+ }
216
+ /**
217
+ * Check if a path should be ignored.
218
+ */
219
+ shouldIgnore(path, isDirectory = false) {
220
+ if (!this.config.enabled)
221
+ return false;
222
+ // Normalize the path
223
+ let normalizedPath = this.normalizePath(path);
224
+ // If path ends with /, treat it as a directory
225
+ if (normalizedPath.endsWith('/')) {
226
+ isDirectory = true;
227
+ normalizedPath = normalizedPath.slice(0, -1);
228
+ }
229
+ let ignored = false;
230
+ for (const pattern of this.patterns) {
231
+ // Skip directory-only patterns for files
232
+ if (pattern.directoryOnly && !isDirectory) {
233
+ // However, if the path is inside a directory that matches,
234
+ // we should still ignore it (e.g., temp/cache matches temp/)
235
+ const dirPath = normalizedPath.split('/').slice(0, -1).join('/');
236
+ if (dirPath && pattern.regex.test(dirPath)) {
237
+ ignored = true;
238
+ this.emit({ type: 'ignore.matched', path, pattern: pattern.pattern });
239
+ continue;
240
+ }
241
+ continue;
242
+ }
243
+ const matches = pattern.regex.test(normalizedPath);
244
+ if (matches) {
245
+ if (pattern.negated) {
246
+ // Negation pattern - unignore
247
+ ignored = false;
248
+ }
249
+ else {
250
+ // Regular pattern - ignore
251
+ ignored = true;
252
+ this.emit({ type: 'ignore.matched', path, pattern: pattern.pattern });
253
+ }
254
+ }
255
+ }
256
+ return ignored;
257
+ }
258
+ /**
259
+ * Filter a list of paths, removing ignored ones.
260
+ */
261
+ filterPaths(paths) {
262
+ return paths.filter(path => !this.shouldIgnore(path));
263
+ }
264
+ /**
265
+ * Filter paths with directory info.
266
+ */
267
+ async filterPathsWithStats(paths) {
268
+ const results = [];
269
+ for (const path of paths) {
270
+ try {
271
+ const stats = await stat(path);
272
+ if (!this.shouldIgnore(path, stats.isDirectory())) {
273
+ results.push(path);
274
+ }
275
+ }
276
+ catch {
277
+ // File doesn't exist or can't be read - include it
278
+ if (!this.shouldIgnore(path)) {
279
+ results.push(path);
280
+ }
281
+ }
282
+ }
283
+ return results;
284
+ }
285
+ /**
286
+ * Get all patterns for debugging.
287
+ */
288
+ getPatterns() {
289
+ return [...this.patterns];
290
+ }
291
+ /**
292
+ * Check if patterns have been loaded.
293
+ */
294
+ isLoaded() {
295
+ return this.loaded;
296
+ }
297
+ /**
298
+ * Clear all patterns.
299
+ */
300
+ clear() {
301
+ this.patterns = [];
302
+ this.loaded = false;
303
+ }
304
+ /**
305
+ * Reload patterns from files.
306
+ */
307
+ async reload() {
308
+ this.patterns = [];
309
+ this.addPatterns(BUILTIN_PATTERNS, 'built-in');
310
+ this.addPatterns(this.config.extraPatterns, 'config');
311
+ await this.load(this.workspaceRoot);
312
+ }
313
+ /**
314
+ * Subscribe to events.
315
+ */
316
+ subscribe(listener) {
317
+ this.eventListeners.add(listener);
318
+ return () => this.eventListeners.delete(listener);
319
+ }
320
+ /**
321
+ * Cleanup resources.
322
+ */
323
+ cleanup() {
324
+ this.patterns = [];
325
+ this.eventListeners.clear();
326
+ this.loaded = false;
327
+ }
328
+ // Internal methods
329
+ /**
330
+ * Normalize a path for matching.
331
+ */
332
+ normalizePath(path) {
333
+ // Make path relative to workspace root
334
+ let normalizedPath = path;
335
+ if (isAbsolute(path)) {
336
+ normalizedPath = relative(this.workspaceRoot, path);
337
+ }
338
+ // Normalize separators to /
339
+ normalizedPath = normalize(normalizedPath).replace(new RegExp(`\\${sep}`, 'g'), '/');
340
+ // Remove leading ./
341
+ if (normalizedPath.startsWith('./')) {
342
+ normalizedPath = normalizedPath.slice(2);
343
+ }
344
+ return normalizedPath;
345
+ }
346
+ emit(event) {
347
+ for (const listener of this.eventListeners) {
348
+ try {
349
+ listener(event);
350
+ }
351
+ catch {
352
+ // Ignore listener errors
353
+ }
354
+ }
355
+ }
356
+ }
357
+ // =============================================================================
358
+ // FACTORY FUNCTIONS
359
+ // =============================================================================
360
+ /**
361
+ * Create an ignore manager.
362
+ */
363
+ export function createIgnoreManager(config) {
364
+ return new IgnoreManager(config);
365
+ }
366
+ /**
367
+ * Quick check if a path should be ignored using default patterns.
368
+ */
369
+ export function quickShouldIgnore(path) {
370
+ const manager = new IgnoreManager({ includeGitignore: false, includeGlobal: false });
371
+ return manager.shouldIgnore(path);
372
+ }
373
+ /**
374
+ * Get sample .agentignore content.
375
+ */
376
+ export function getSampleAgentignore() {
377
+ return `# .agentignore - AI-specific file exclusion
378
+ # Files listed here will be hidden from the AI agent
379
+ # but remain visible to git and other tools
380
+
381
+ # Large data files that don't need AI analysis
382
+ data/
383
+ *.csv
384
+ *.json.bak
385
+
386
+ # Generated documentation
387
+ docs/api/
388
+ docs/generated/
389
+
390
+ # Test fixtures with large data
391
+ tests/fixtures/large/
392
+
393
+ # Temporary development files
394
+ scratch/
395
+ notes.md
396
+
397
+ # Sensitive configuration not needed for code changes
398
+ .env.production
399
+ config/secrets/
400
+
401
+ # Build artifacts already in .gitignore but ensure agent ignores
402
+ coverage/
403
+ .nyc_output/
404
+
405
+ # IDE project files
406
+ *.code-workspace
407
+ .project
408
+ .classpath
409
+ `;
410
+ }
411
+ /**
412
+ * Get built-in patterns for reference.
413
+ */
414
+ export function getBuiltinIgnorePatterns() {
415
+ return [...BUILTIN_PATTERNS];
416
+ }
417
+ //# sourceMappingURL=ignore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ignore.js","sourceRoot":"","sources":["../../../src/integrations/ignore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Image Renderer
3
+ *
4
+ * Renders images inline in the terminal using the best available protocol.
5
+ * Supports Kitty, iTerm2/WezTerm, and falls back to block characters.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * const renderer = createImageRenderer();
10
+ * await renderer.renderFile('/path/to/image.png');
11
+ * ```
12
+ */
13
+ /**
14
+ * Supported terminal image protocols.
15
+ */
16
+ export type ImageProtocol = 'kitty' | 'iterm' | 'sixel' | 'block' | 'none';
17
+ /**
18
+ * Image renderer configuration.
19
+ */
20
+ export interface ImageRendererConfig {
21
+ /** Force a specific protocol (default: auto-detect) */
22
+ protocol?: ImageProtocol | 'auto';
23
+ /** Maximum width in cells (default: 80) */
24
+ maxWidth?: number;
25
+ /** Maximum height in cells (default: 24) */
26
+ maxHeight?: number;
27
+ /** Preserve aspect ratio (default: true) */
28
+ preserveAspectRatio?: boolean;
29
+ }
30
+ /**
31
+ * Image rendering result.
32
+ */
33
+ export interface ImageRenderResult {
34
+ /** The escape sequence or text to display */
35
+ output: string;
36
+ /** Protocol used for rendering */
37
+ protocol: ImageProtocol;
38
+ /** Whether rendering was successful */
39
+ success: boolean;
40
+ /** Error message if failed */
41
+ error?: string;
42
+ }
43
+ /**
44
+ * Detect the best available image protocol for the current terminal.
45
+ */
46
+ export declare function detectProtocol(): ImageProtocol;
47
+ /**
48
+ * Check if a protocol is available.
49
+ */
50
+ export declare function isProtocolAvailable(protocol: ImageProtocol): boolean;
51
+ /**
52
+ * Image renderer class.
53
+ */
54
+ export declare class ImageRenderer {
55
+ private config;
56
+ private protocol;
57
+ constructor(config?: ImageRendererConfig);
58
+ /**
59
+ * Get the current protocol.
60
+ */
61
+ getProtocol(): ImageProtocol;
62
+ /**
63
+ * Check if image rendering is supported.
64
+ */
65
+ isSupported(): boolean;
66
+ /**
67
+ * Check if a file is a supported image format.
68
+ */
69
+ isSupportedFormat(filePath: string): boolean;
70
+ /**
71
+ * Render an image from a file path.
72
+ */
73
+ renderFile(filePath: string): Promise<ImageRenderResult>;
74
+ /**
75
+ * Render an image from a buffer.
76
+ */
77
+ renderBuffer(data: Buffer, filename?: string): Promise<ImageRenderResult>;
78
+ /**
79
+ * Render using Kitty graphics protocol.
80
+ * @see https://sw.kovidgoyal.net/kitty/graphics-protocol/
81
+ */
82
+ private renderKitty;
83
+ /**
84
+ * Render using iTerm2 inline images protocol.
85
+ * @see https://iterm2.com/documentation-images.html
86
+ */
87
+ private renderITerm;
88
+ /**
89
+ * Render using Sixel graphics (limited support).
90
+ * This is a stub - full sixel encoding is complex.
91
+ */
92
+ private renderSixel;
93
+ /**
94
+ * Render using block characters (fallback).
95
+ * Uses terminal-image if available.
96
+ */
97
+ private renderBlock;
98
+ /**
99
+ * Render an image with a caption.
100
+ */
101
+ renderWithCaption(filePath: string, caption?: string): Promise<string>;
102
+ }
103
+ /**
104
+ * Create an image renderer with auto-detected protocol.
105
+ */
106
+ export declare function createImageRenderer(config?: ImageRendererConfig): ImageRenderer;
107
+ /**
108
+ * Get protocol info for display.
109
+ */
110
+ export declare function getProtocolInfo(): {
111
+ detected: ImageProtocol;
112
+ terminal: string | undefined;
113
+ supported: boolean;
114
+ };
115
+ /**
116
+ * Check if a file can be rendered as an image.
117
+ */
118
+ export declare function canRenderImage(filePath: string): boolean;
119
+ //# sourceMappingURL=image-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-renderer.d.ts","sourceRoot":"","sources":["../../../src/integrations/image-renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAUH;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,uDAAuD;IACvD,QAAQ,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC;IAClC,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,QAAQ,EAAE,aAAa,CAAC;IACxB,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAWD;;GAEG;AACH,wBAAgB,cAAc,IAAI,aAAa,CA8B9C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAiBpE;AAMD;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,QAAQ,CAAgB;gBAEpB,MAAM,GAAE,mBAAwB;IAa5C;;OAEG;IACH,WAAW,IAAI,aAAa;IAI5B;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAK5C;;OAEG;IACG,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAgC9D;;OAEG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAoB/E;;;OAGG;IACH,OAAO,CAAC,WAAW;IA0BnB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAwBnB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAWnB;;;OAGG;YACW,WAAW;IA0BzB;;OAEG;IACG,iBAAiB,CACrB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC;CAiBnB;AAMD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,mBAAmB,GAAG,aAAa,CAE/E;AAMD;;GAEG;AACH,wBAAgB,eAAe,IAAI;IACjC,QAAQ,EAAE,aAAa,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,SAAS,EAAE,OAAO,CAAC;CACpB,CASA;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGxD"}