aven-ai 0.0.1

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 (386) hide show
  1. package/README.md +171 -0
  2. package/dist/index.d.ts +3 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +4 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/libs/config/config-store.d.ts +109 -0
  7. package/dist/libs/config/config-store.d.ts.map +1 -0
  8. package/dist/libs/config/config-store.js +169 -0
  9. package/dist/libs/config/config-store.js.map +1 -0
  10. package/dist/libs/config/index.d.ts +2 -0
  11. package/dist/libs/config/index.d.ts.map +1 -0
  12. package/dist/libs/config/index.js +2 -0
  13. package/dist/libs/config/index.js.map +1 -0
  14. package/dist/libs/provider-clients/index.d.ts +2 -0
  15. package/dist/libs/provider-clients/index.d.ts.map +1 -0
  16. package/dist/libs/provider-clients/index.js +2 -0
  17. package/dist/libs/provider-clients/index.js.map +1 -0
  18. package/dist/libs/provider-clients/provider-client.d.ts +34 -0
  19. package/dist/libs/provider-clients/provider-client.d.ts.map +1 -0
  20. package/dist/libs/provider-clients/provider-client.js +167 -0
  21. package/dist/libs/provider-clients/provider-client.js.map +1 -0
  22. package/dist/libs/provider-definitions/index.d.ts +2 -0
  23. package/dist/libs/provider-definitions/index.d.ts.map +1 -0
  24. package/dist/libs/provider-definitions/index.js +2 -0
  25. package/dist/libs/provider-definitions/index.js.map +1 -0
  26. package/dist/libs/provider-definitions/provider-definitions.d.ts +16 -0
  27. package/dist/libs/provider-definitions/provider-definitions.d.ts.map +1 -0
  28. package/dist/libs/provider-definitions/provider-definitions.js +59 -0
  29. package/dist/libs/provider-definitions/provider-definitions.js.map +1 -0
  30. package/dist/libs/pty/index.d.ts +2 -0
  31. package/dist/libs/pty/index.d.ts.map +1 -0
  32. package/dist/libs/pty/index.js +2 -0
  33. package/dist/libs/pty/index.js.map +1 -0
  34. package/dist/libs/pty/pty-runner.d.ts +26 -0
  35. package/dist/libs/pty/pty-runner.d.ts.map +1 -0
  36. package/dist/libs/pty/pty-runner.js +153 -0
  37. package/dist/libs/pty/pty-runner.js.map +1 -0
  38. package/dist/libs/session-storage/index.d.ts +2 -0
  39. package/dist/libs/session-storage/index.d.ts.map +1 -0
  40. package/dist/libs/session-storage/index.js +2 -0
  41. package/dist/libs/session-storage/index.js.map +1 -0
  42. package/dist/libs/session-storage/session-catalog.d.ts +19 -0
  43. package/dist/libs/session-storage/session-catalog.d.ts.map +1 -0
  44. package/dist/libs/session-storage/session-catalog.js +180 -0
  45. package/dist/libs/session-storage/session-catalog.js.map +1 -0
  46. package/dist/libs/terminal/clipboard.d.ts +3 -0
  47. package/dist/libs/terminal/clipboard.d.ts.map +1 -0
  48. package/dist/libs/terminal/clipboard.js +8 -0
  49. package/dist/libs/terminal/clipboard.js.map +1 -0
  50. package/dist/libs/terminal/index.d.ts +6 -0
  51. package/dist/libs/terminal/index.d.ts.map +1 -0
  52. package/dist/libs/terminal/index.js +6 -0
  53. package/dist/libs/terminal/index.js.map +1 -0
  54. package/dist/libs/terminal/keyboard-protocol.d.ts +3 -0
  55. package/dist/libs/terminal/keyboard-protocol.d.ts.map +1 -0
  56. package/dist/libs/terminal/keyboard-protocol.js +7 -0
  57. package/dist/libs/terminal/keyboard-protocol.js.map +1 -0
  58. package/dist/libs/terminal/mouse-protocol.d.ts +22 -0
  59. package/dist/libs/terminal/mouse-protocol.d.ts.map +1 -0
  60. package/dist/libs/terminal/mouse-protocol.js +51 -0
  61. package/dist/libs/terminal/mouse-protocol.js.map +1 -0
  62. package/dist/libs/terminal/terminal-provider.d.ts +15 -0
  63. package/dist/libs/terminal/terminal-provider.d.ts.map +1 -0
  64. package/dist/libs/terminal/terminal-provider.js +47 -0
  65. package/dist/libs/terminal/terminal-provider.js.map +1 -0
  66. package/dist/libs/terminal/theme.d.ts +24 -0
  67. package/dist/libs/terminal/theme.d.ts.map +1 -0
  68. package/dist/libs/terminal/theme.js +23 -0
  69. package/dist/libs/terminal/theme.js.map +1 -0
  70. package/dist/modules/agent/core.d.ts +41 -0
  71. package/dist/modules/agent/core.d.ts.map +1 -0
  72. package/dist/modules/agent/core.js +149 -0
  73. package/dist/modules/agent/core.js.map +1 -0
  74. package/dist/modules/agent/events/memory-message-adapter.d.ts +4 -0
  75. package/dist/modules/agent/events/memory-message-adapter.d.ts.map +1 -0
  76. package/dist/modules/agent/events/memory-message-adapter.js +48 -0
  77. package/dist/modules/agent/events/memory-message-adapter.js.map +1 -0
  78. package/dist/modules/agent/events/stream-event-adapter.d.ts +17 -0
  79. package/dist/modules/agent/events/stream-event-adapter.d.ts.map +1 -0
  80. package/dist/modules/agent/events/stream-event-adapter.js +82 -0
  81. package/dist/modules/agent/events/stream-event-adapter.js.map +1 -0
  82. package/dist/modules/agent/events/tool-message-adapter.d.ts +21 -0
  83. package/dist/modules/agent/events/tool-message-adapter.d.ts.map +1 -0
  84. package/dist/modules/agent/events/tool-message-adapter.js +123 -0
  85. package/dist/modules/agent/events/tool-message-adapter.js.map +1 -0
  86. package/dist/modules/agent/index.d.ts +5 -0
  87. package/dist/modules/agent/index.d.ts.map +1 -0
  88. package/dist/modules/agent/index.js +5 -0
  89. package/dist/modules/agent/index.js.map +1 -0
  90. package/dist/modules/agent/mock.d.ts +10 -0
  91. package/dist/modules/agent/mock.d.ts.map +1 -0
  92. package/dist/modules/agent/mock.js +60 -0
  93. package/dist/modules/agent/mock.js.map +1 -0
  94. package/dist/modules/agent/prompts/commands.d.ts +2 -0
  95. package/dist/modules/agent/prompts/commands.d.ts.map +1 -0
  96. package/dist/modules/agent/prompts/commands.js +5 -0
  97. package/dist/modules/agent/prompts/commands.js.map +1 -0
  98. package/dist/modules/agent/prompts/file-tools.d.ts +2 -0
  99. package/dist/modules/agent/prompts/file-tools.d.ts.map +1 -0
  100. package/dist/modules/agent/prompts/file-tools.js +7 -0
  101. package/dist/modules/agent/prompts/file-tools.js.map +1 -0
  102. package/dist/modules/agent/prompts/identity.d.ts +2 -0
  103. package/dist/modules/agent/prompts/identity.d.ts.map +1 -0
  104. package/dist/modules/agent/prompts/identity.js +5 -0
  105. package/dist/modules/agent/prompts/identity.js.map +1 -0
  106. package/dist/modules/agent/prompts/system.d.ts +2 -0
  107. package/dist/modules/agent/prompts/system.d.ts.map +1 -0
  108. package/dist/modules/agent/prompts/system.js +5 -0
  109. package/dist/modules/agent/prompts/system.js.map +1 -0
  110. package/dist/modules/agent/services/direct-command-executor.d.ts +10 -0
  111. package/dist/modules/agent/services/direct-command-executor.d.ts.map +1 -0
  112. package/dist/modules/agent/services/direct-command-executor.js +58 -0
  113. package/dist/modules/agent/services/direct-command-executor.js.map +1 -0
  114. package/dist/modules/agent/services/prompt-turn-executor.d.ts +12 -0
  115. package/dist/modules/agent/services/prompt-turn-executor.d.ts.map +1 -0
  116. package/dist/modules/agent/services/prompt-turn-executor.js +79 -0
  117. package/dist/modules/agent/services/prompt-turn-executor.js.map +1 -0
  118. package/dist/modules/agent/tools/exec-command.d.ts +13 -0
  119. package/dist/modules/agent/tools/exec-command.d.ts.map +1 -0
  120. package/dist/modules/agent/tools/exec-command.js +11 -0
  121. package/dist/modules/agent/tools/exec-command.js.map +1 -0
  122. package/dist/modules/agent/tools/files/contracts.d.ts +132 -0
  123. package/dist/modules/agent/tools/files/contracts.d.ts.map +1 -0
  124. package/dist/modules/agent/tools/files/contracts.js +84 -0
  125. package/dist/modules/agent/tools/files/contracts.js.map +1 -0
  126. package/dist/modules/agent/tools/files/create-file-tools.d.ts +61 -0
  127. package/dist/modules/agent/tools/files/create-file-tools.d.ts.map +1 -0
  128. package/dist/modules/agent/tools/files/create-file-tools.js +26 -0
  129. package/dist/modules/agent/tools/files/create-file-tools.js.map +1 -0
  130. package/dist/modules/agent/tools/files/edit-file-operation.d.ts +4 -0
  131. package/dist/modules/agent/tools/files/edit-file-operation.d.ts.map +1 -0
  132. package/dist/modules/agent/tools/files/edit-file-operation.js +98 -0
  133. package/dist/modules/agent/tools/files/edit-file-operation.js.map +1 -0
  134. package/dist/modules/agent/tools/files/file-path-safety.d.ts +2 -0
  135. package/dist/modules/agent/tools/files/file-path-safety.d.ts.map +1 -0
  136. package/dist/modules/agent/tools/files/file-path-safety.js +10 -0
  137. package/dist/modules/agent/tools/files/file-path-safety.js.map +1 -0
  138. package/dist/modules/agent/tools/files/file-state-cache.d.ts +21 -0
  139. package/dist/modules/agent/tools/files/file-state-cache.d.ts.map +1 -0
  140. package/dist/modules/agent/tools/files/file-state-cache.js +54 -0
  141. package/dist/modules/agent/tools/files/file-state-cache.js.map +1 -0
  142. package/dist/modules/agent/tools/files/file-tool-error.d.ts +3 -0
  143. package/dist/modules/agent/tools/files/file-tool-error.d.ts.map +1 -0
  144. package/dist/modules/agent/tools/files/file-tool-error.js +3 -0
  145. package/dist/modules/agent/tools/files/file-tool-error.js.map +1 -0
  146. package/dist/modules/agent/tools/files/file-tool-operations.d.ts +22 -0
  147. package/dist/modules/agent/tools/files/file-tool-operations.d.ts.map +1 -0
  148. package/dist/modules/agent/tools/files/file-tool-operations.js +73 -0
  149. package/dist/modules/agent/tools/files/file-tool-operations.js.map +1 -0
  150. package/dist/modules/agent/tools/files/file-tool-service.d.ts +14 -0
  151. package/dist/modules/agent/tools/files/file-tool-service.d.ts.map +1 -0
  152. package/dist/modules/agent/tools/files/file-tool-service.js +28 -0
  153. package/dist/modules/agent/tools/files/file-tool-service.js.map +1 -0
  154. package/dist/modules/agent/tools/files/mutation-journal.d.ts +12 -0
  155. package/dist/modules/agent/tools/files/mutation-journal.d.ts.map +1 -0
  156. package/dist/modules/agent/tools/files/mutation-journal.js +25 -0
  157. package/dist/modules/agent/tools/files/mutation-journal.js.map +1 -0
  158. package/dist/modules/agent/tools/files/read-file-operation.d.ts +4 -0
  159. package/dist/modules/agent/tools/files/read-file-operation.d.ts.map +1 -0
  160. package/dist/modules/agent/tools/files/read-file-operation.js +92 -0
  161. package/dist/modules/agent/tools/files/read-file-operation.js.map +1 -0
  162. package/dist/modules/agent/tools/files/text-file-codec.d.ts +13 -0
  163. package/dist/modules/agent/tools/files/text-file-codec.d.ts.map +1 -0
  164. package/dist/modules/agent/tools/files/text-file-codec.js +45 -0
  165. package/dist/modules/agent/tools/files/text-file-codec.js.map +1 -0
  166. package/dist/modules/agent/tools/files/write-file-operation.d.ts +4 -0
  167. package/dist/modules/agent/tools/files/write-file-operation.d.ts.map +1 -0
  168. package/dist/modules/agent/tools/files/write-file-operation.js +61 -0
  169. package/dist/modules/agent/tools/files/write-file-operation.js.map +1 -0
  170. package/dist/modules/agent/types.d.ts +65 -0
  171. package/dist/modules/agent/types.d.ts.map +1 -0
  172. package/dist/modules/agent/types.js +21 -0
  173. package/dist/modules/agent/types.js.map +1 -0
  174. package/dist/modules/app/cli.d.ts +2 -0
  175. package/dist/modules/app/cli.d.ts.map +1 -0
  176. package/dist/modules/app/cli.js +23 -0
  177. package/dist/modules/app/cli.js.map +1 -0
  178. package/dist/modules/app/components/app-provider.d.ts +11 -0
  179. package/dist/modules/app/components/app-provider.d.ts.map +1 -0
  180. package/dist/modules/app/components/app-provider.js +18 -0
  181. package/dist/modules/app/components/app-provider.js.map +1 -0
  182. package/dist/modules/app/components/app.d.ts +7 -0
  183. package/dist/modules/app/components/app.d.ts.map +1 -0
  184. package/dist/modules/app/components/app.js +45 -0
  185. package/dist/modules/app/components/app.js.map +1 -0
  186. package/dist/modules/app/index.d.ts +6 -0
  187. package/dist/modules/app/index.d.ts.map +1 -0
  188. package/dist/modules/app/index.js +5 -0
  189. package/dist/modules/app/index.js.map +1 -0
  190. package/dist/modules/app/input/prompt-history.d.ts +3 -0
  191. package/dist/modules/app/input/prompt-history.d.ts.map +1 -0
  192. package/dist/modules/app/input/prompt-history.js +13 -0
  193. package/dist/modules/app/input/prompt-history.js.map +1 -0
  194. package/dist/modules/app/input/use-overlay-controller.d.ts +14 -0
  195. package/dist/modules/app/input/use-overlay-controller.d.ts.map +1 -0
  196. package/dist/modules/app/input/use-overlay-controller.js +168 -0
  197. package/dist/modules/app/input/use-overlay-controller.js.map +1 -0
  198. package/dist/modules/app/services/quit-controller.d.ts +2 -0
  199. package/dist/modules/app/services/quit-controller.d.ts.map +1 -0
  200. package/dist/modules/app/services/quit-controller.js +27 -0
  201. package/dist/modules/app/services/quit-controller.js.map +1 -0
  202. package/dist/modules/app/services/runtime-event-batcher.d.ts +13 -0
  203. package/dist/modules/app/services/runtime-event-batcher.d.ts.map +1 -0
  204. package/dist/modules/app/services/runtime-event-batcher.js +41 -0
  205. package/dist/modules/app/services/runtime-event-batcher.js.map +1 -0
  206. package/dist/modules/app/services/use-app-input.d.ts +14 -0
  207. package/dist/modules/app/services/use-app-input.d.ts.map +1 -0
  208. package/dist/modules/app/services/use-app-input.js +144 -0
  209. package/dist/modules/app/services/use-app-input.js.map +1 -0
  210. package/dist/modules/app/services/use-runtime-connection.d.ts +15 -0
  211. package/dist/modules/app/services/use-runtime-connection.d.ts.map +1 -0
  212. package/dist/modules/app/services/use-runtime-connection.js +128 -0
  213. package/dist/modules/app/services/use-runtime-connection.js.map +1 -0
  214. package/dist/modules/app/services/use-runtime-session.d.ts +8 -0
  215. package/dist/modules/app/services/use-runtime-session.d.ts.map +1 -0
  216. package/dist/modules/app/services/use-runtime-session.js +79 -0
  217. package/dist/modules/app/services/use-runtime-session.js.map +1 -0
  218. package/dist/modules/app/services/use-runtime-workspace.d.ts +16 -0
  219. package/dist/modules/app/services/use-runtime-workspace.d.ts.map +1 -0
  220. package/dist/modules/app/services/use-runtime-workspace.js +134 -0
  221. package/dist/modules/app/services/use-runtime-workspace.js.map +1 -0
  222. package/dist/modules/app/store/app-state.d.ts +39 -0
  223. package/dist/modules/app/store/app-state.d.ts.map +1 -0
  224. package/dist/modules/app/store/app-state.js +2 -0
  225. package/dist/modules/app/store/app-state.js.map +1 -0
  226. package/dist/modules/app/store/apply-runtime-event.d.ts +4 -0
  227. package/dist/modules/app/store/apply-runtime-event.d.ts.map +1 -0
  228. package/dist/modules/app/store/apply-runtime-event.js +72 -0
  229. package/dist/modules/app/store/apply-runtime-event.js.map +1 -0
  230. package/dist/modules/app/store/create-app-store.d.ts +5 -0
  231. package/dist/modules/app/store/create-app-store.d.ts.map +1 -0
  232. package/dist/modules/app/store/create-app-store.js +49 -0
  233. package/dist/modules/app/store/create-app-store.js.map +1 -0
  234. package/dist/modules/app/store/selectors.d.ts +20 -0
  235. package/dist/modules/app/store/selectors.d.ts.map +1 -0
  236. package/dist/modules/app/store/selectors.js +19 -0
  237. package/dist/modules/app/store/selectors.js.map +1 -0
  238. package/dist/modules/commands/index.d.ts +2 -0
  239. package/dist/modules/commands/index.d.ts.map +1 -0
  240. package/dist/modules/commands/index.js +2 -0
  241. package/dist/modules/commands/index.js.map +1 -0
  242. package/dist/modules/commands/registry.d.ts +11 -0
  243. package/dist/modules/commands/registry.d.ts.map +1 -0
  244. package/dist/modules/commands/registry.js +16 -0
  245. package/dist/modules/commands/registry.js.map +1 -0
  246. package/dist/modules/composer/components/composer.d.ts +17 -0
  247. package/dist/modules/composer/components/composer.d.ts.map +1 -0
  248. package/dist/modules/composer/components/composer.js +35 -0
  249. package/dist/modules/composer/components/composer.js.map +1 -0
  250. package/dist/modules/composer/index.d.ts +6 -0
  251. package/dist/modules/composer/index.d.ts.map +1 -0
  252. package/dist/modules/composer/index.js +5 -0
  253. package/dist/modules/composer/index.js.map +1 -0
  254. package/dist/modules/composer/services/editor.d.ts +9 -0
  255. package/dist/modules/composer/services/editor.d.ts.map +1 -0
  256. package/dist/modules/composer/services/editor.js +39 -0
  257. package/dist/modules/composer/services/editor.js.map +1 -0
  258. package/dist/modules/composer/services/input-intent.d.ts +40 -0
  259. package/dist/modules/composer/services/input-intent.d.ts.map +1 -0
  260. package/dist/modules/composer/services/input-intent.js +58 -0
  261. package/dist/modules/composer/services/input-intent.js.map +1 -0
  262. package/dist/modules/composer/services/suggestions.d.ts +9 -0
  263. package/dist/modules/composer/services/suggestions.d.ts.map +1 -0
  264. package/dist/modules/composer/services/suggestions.js +18 -0
  265. package/dist/modules/composer/services/suggestions.js.map +1 -0
  266. package/dist/modules/composer/types.d.ts +9 -0
  267. package/dist/modules/composer/types.d.ts.map +1 -0
  268. package/dist/modules/composer/types.js +2 -0
  269. package/dist/modules/composer/types.js.map +1 -0
  270. package/dist/modules/conversation/components/transcript-row.d.ts +9 -0
  271. package/dist/modules/conversation/components/transcript-row.d.ts.map +1 -0
  272. package/dist/modules/conversation/components/transcript-row.js +13 -0
  273. package/dist/modules/conversation/components/transcript-row.js.map +1 -0
  274. package/dist/modules/conversation/components/virtual-transcript.d.ts +9 -0
  275. package/dist/modules/conversation/components/virtual-transcript.d.ts.map +1 -0
  276. package/dist/modules/conversation/components/virtual-transcript.js +24 -0
  277. package/dist/modules/conversation/components/virtual-transcript.js.map +1 -0
  278. package/dist/modules/conversation/fixtures.d.ts +3 -0
  279. package/dist/modules/conversation/fixtures.d.ts.map +1 -0
  280. package/dist/modules/conversation/fixtures.js +22 -0
  281. package/dist/modules/conversation/fixtures.js.map +1 -0
  282. package/dist/modules/conversation/index.d.ts +5 -0
  283. package/dist/modules/conversation/index.d.ts.map +1 -0
  284. package/dist/modules/conversation/index.js +4 -0
  285. package/dist/modules/conversation/index.js.map +1 -0
  286. package/dist/modules/conversation/services/input-intent.d.ts +18 -0
  287. package/dist/modules/conversation/services/input-intent.d.ts.map +1 -0
  288. package/dist/modules/conversation/services/input-intent.js +18 -0
  289. package/dist/modules/conversation/services/input-intent.js.map +1 -0
  290. package/dist/modules/conversation/services/markdown-rows.d.ts +5 -0
  291. package/dist/modules/conversation/services/markdown-rows.d.ts.map +1 -0
  292. package/dist/modules/conversation/services/markdown-rows.js +96 -0
  293. package/dist/modules/conversation/services/markdown-rows.js.map +1 -0
  294. package/dist/modules/conversation/services/message-rows.d.ts +8 -0
  295. package/dist/modules/conversation/services/message-rows.d.ts.map +1 -0
  296. package/dist/modules/conversation/services/message-rows.js +141 -0
  297. package/dist/modules/conversation/services/message-rows.js.map +1 -0
  298. package/dist/modules/conversation/services/row-model.d.ts +5 -0
  299. package/dist/modules/conversation/services/row-model.d.ts.map +1 -0
  300. package/dist/modules/conversation/services/row-model.js +11 -0
  301. package/dist/modules/conversation/services/row-model.js.map +1 -0
  302. package/dist/modules/conversation/services/selection.d.ts +10 -0
  303. package/dist/modules/conversation/services/selection.d.ts.map +1 -0
  304. package/dist/modules/conversation/services/selection.js +92 -0
  305. package/dist/modules/conversation/services/selection.js.map +1 -0
  306. package/dist/modules/conversation/services/terminal-cells.d.ts +9 -0
  307. package/dist/modules/conversation/services/terminal-cells.d.ts.map +1 -0
  308. package/dist/modules/conversation/services/terminal-cells.js +24 -0
  309. package/dist/modules/conversation/services/terminal-cells.js.map +1 -0
  310. package/dist/modules/conversation/services/transcript-row-cache.d.ts +10 -0
  311. package/dist/modules/conversation/services/transcript-row-cache.d.ts.map +1 -0
  312. package/dist/modules/conversation/services/transcript-row-cache.js +40 -0
  313. package/dist/modules/conversation/services/transcript-row-cache.js.map +1 -0
  314. package/dist/modules/conversation/services/use-transcript-controller.d.ts +17 -0
  315. package/dist/modules/conversation/services/use-transcript-controller.d.ts.map +1 -0
  316. package/dist/modules/conversation/services/use-transcript-controller.js +157 -0
  317. package/dist/modules/conversation/services/use-transcript-controller.js.map +1 -0
  318. package/dist/modules/conversation/services/wrapping.d.ts +3 -0
  319. package/dist/modules/conversation/services/wrapping.d.ts.map +1 -0
  320. package/dist/modules/conversation/services/wrapping.js +46 -0
  321. package/dist/modules/conversation/services/wrapping.js.map +1 -0
  322. package/dist/modules/conversation/types.d.ts +77 -0
  323. package/dist/modules/conversation/types.d.ts.map +1 -0
  324. package/dist/modules/conversation/types.js +2 -0
  325. package/dist/modules/conversation/types.js.map +1 -0
  326. package/dist/modules/overlays/components/overlay.d.ts +10 -0
  327. package/dist/modules/overlays/components/overlay.d.ts.map +1 -0
  328. package/dist/modules/overlays/components/overlay.js +17 -0
  329. package/dist/modules/overlays/components/overlay.js.map +1 -0
  330. package/dist/modules/overlays/index.d.ts +6 -0
  331. package/dist/modules/overlays/index.d.ts.map +1 -0
  332. package/dist/modules/overlays/index.js +5 -0
  333. package/dist/modules/overlays/index.js.map +1 -0
  334. package/dist/modules/overlays/services/overlay-items.d.ts +20 -0
  335. package/dist/modules/overlays/services/overlay-items.d.ts.map +1 -0
  336. package/dist/modules/overlays/services/overlay-items.js +56 -0
  337. package/dist/modules/overlays/services/overlay-items.js.map +1 -0
  338. package/dist/modules/overlays/services/overlay-registry.d.ts +4 -0
  339. package/dist/modules/overlays/services/overlay-registry.d.ts.map +1 -0
  340. package/dist/modules/overlays/services/overlay-registry.js +42 -0
  341. package/dist/modules/overlays/services/overlay-registry.js.map +1 -0
  342. package/dist/modules/overlays/services/overlay-selection.d.ts +23 -0
  343. package/dist/modules/overlays/services/overlay-selection.d.ts.map +1 -0
  344. package/dist/modules/overlays/services/overlay-selection.js +23 -0
  345. package/dist/modules/overlays/services/overlay-selection.js.map +1 -0
  346. package/dist/modules/overlays/types.d.ts +15 -0
  347. package/dist/modules/overlays/types.d.ts.map +1 -0
  348. package/dist/modules/overlays/types.js +2 -0
  349. package/dist/modules/overlays/types.js.map +1 -0
  350. package/dist/modules/providers/catalog.d.ts +2 -0
  351. package/dist/modules/providers/catalog.d.ts.map +1 -0
  352. package/dist/modules/providers/catalog.js +2 -0
  353. package/dist/modules/providers/catalog.js.map +1 -0
  354. package/dist/modules/providers/index.d.ts +5 -0
  355. package/dist/modules/providers/index.d.ts.map +1 -0
  356. package/dist/modules/providers/index.js +3 -0
  357. package/dist/modules/providers/index.js.map +1 -0
  358. package/dist/modules/providers/services/provider-connection-manager.d.ts +22 -0
  359. package/dist/modules/providers/services/provider-connection-manager.d.ts.map +1 -0
  360. package/dist/modules/providers/services/provider-connection-manager.js +147 -0
  361. package/dist/modules/providers/services/provider-connection-manager.js.map +1 -0
  362. package/dist/modules/providers/types.d.ts +20 -0
  363. package/dist/modules/providers/types.d.ts.map +1 -0
  364. package/dist/modules/providers/types.js +2 -0
  365. package/dist/modules/providers/types.js.map +1 -0
  366. package/dist/modules/sessions/index.d.ts +3 -0
  367. package/dist/modules/sessions/index.d.ts.map +1 -0
  368. package/dist/modules/sessions/index.js +3 -0
  369. package/dist/modules/sessions/index.js.map +1 -0
  370. package/dist/modules/sessions/services/project-session-manager.d.ts +28 -0
  371. package/dist/modules/sessions/services/project-session-manager.d.ts.map +1 -0
  372. package/dist/modules/sessions/services/project-session-manager.js +90 -0
  373. package/dist/modules/sessions/services/project-session-manager.js.map +1 -0
  374. package/dist/modules/sessions/types.d.ts +13 -0
  375. package/dist/modules/sessions/types.d.ts.map +1 -0
  376. package/dist/modules/sessions/types.js +12 -0
  377. package/dist/modules/sessions/types.js.map +1 -0
  378. package/dist/utils/safe-error.d.ts +2 -0
  379. package/dist/utils/safe-error.d.ts.map +1 -0
  380. package/dist/utils/safe-error.js +10 -0
  381. package/dist/utils/safe-error.js.map +1 -0
  382. package/dist/utils/text.d.ts +2 -0
  383. package/dist/utils/text.d.ts.map +1 -0
  384. package/dist/utils/text.js +5 -0
  385. package/dist/utils/text.js.map +1 -0
  386. package/package.json +72 -0
@@ -0,0 +1,147 @@
1
+ import { providerCatalog as providers, providerIds } from '../catalog.js';
2
+ import { ConfigStore } from '../../../libs/config/index.js';
3
+ import { defaultProviderFactory, } from '../../../libs/provider-clients/index.js';
4
+ import { normalizeProviderBaseUrl } from '../../../libs/provider-definitions/index.js';
5
+ import { safeErrorMessage } from '../../../utils/safe-error.js';
6
+ const disconnected = () => ({ status: 'disconnected' });
7
+ export class MissingProviderKeyError extends Error {
8
+ provider;
9
+ constructor(provider) {
10
+ super(`No credentials configured for ${providers[provider].label}. Run /setup.`);
11
+ this.name = 'MissingProviderKeyError';
12
+ this.provider = provider;
13
+ }
14
+ }
15
+ export class ProviderConnectionManager {
16
+ #config;
17
+ #providerFactory;
18
+ #connection = disconnected();
19
+ #model;
20
+ #modelFactory;
21
+ constructor(config = new ConfigStore(), providerFactory = defaultProviderFactory) {
22
+ this.#config = config;
23
+ this.#providerFactory = providerFactory;
24
+ }
25
+ get state() {
26
+ return this.#connection;
27
+ }
28
+ get model() {
29
+ return this.#model;
30
+ }
31
+ async providerStatuses() {
32
+ const config = await this.#config.load();
33
+ return providerIds.map((id) => ({
34
+ id,
35
+ label: providers[id].label,
36
+ ...(config.selectedModels[id] ? { model: config.selectedModels[id] } : {}),
37
+ configured: Boolean(config.apiKeys[id] && (!providers[id].baseUrl?.required || config.baseUrls[id])),
38
+ active: this.#connection.status === 'connected' && this.#connection.provider === id,
39
+ }));
40
+ }
41
+ async modelStatuses() {
42
+ const provider = this.#connection.provider;
43
+ if (!provider)
44
+ return [];
45
+ const config = await this.#config.load();
46
+ const selected = config.selectedModels[provider];
47
+ return (config.models[provider] ?? []).map((id) => ({ id, active: id === selected }));
48
+ }
49
+ async restore() {
50
+ const config = await this.#config.load();
51
+ if (!config.activeProvider)
52
+ return this.#setConnection(disconnected());
53
+ try {
54
+ return await this.connect(config.activeProvider);
55
+ }
56
+ catch (error) {
57
+ return this.#setConnection({
58
+ status: 'error',
59
+ provider: config.activeProvider,
60
+ providerLabel: providers[config.activeProvider].label,
61
+ ...(config.selectedModels[config.activeProvider] ? { model: config.selectedModels[config.activeProvider] } : {}),
62
+ error: safeErrorMessage(error),
63
+ });
64
+ }
65
+ }
66
+ async connect(provider) {
67
+ const credentials = await this.#config.resolvedCredentials(provider);
68
+ if (!credentials)
69
+ throw new MissingProviderKeyError(provider);
70
+ return this.#activate(provider, credentials);
71
+ }
72
+ async setup(provider, credentials) {
73
+ const apiKey = credentials.apiKey.trim();
74
+ if (!apiKey)
75
+ throw new Error('API key must not be empty');
76
+ if (/\s/u.test(apiKey))
77
+ throw new Error('API key must not contain whitespace');
78
+ const descriptor = providers[provider];
79
+ let baseUrl;
80
+ if (descriptor.baseUrl?.required) {
81
+ if (!credentials.baseUrl)
82
+ throw new Error(`${descriptor.baseUrl.label} is required.`);
83
+ baseUrl = normalizeProviderBaseUrl(provider, credentials.baseUrl);
84
+ }
85
+ const normalized = { apiKey, ...(baseUrl ? { baseUrl } : {}) };
86
+ return this.#activate(provider, normalized, normalized);
87
+ }
88
+ async selectModel(model) {
89
+ const provider = this.#connection.provider;
90
+ if (this.#connection.status !== 'connected' || !provider || !this.#modelFactory) {
91
+ throw new Error('Connect a provider before selecting a model.');
92
+ }
93
+ await this.#config.selectModel(provider, model);
94
+ this.#model = this.#modelFactory(model);
95
+ return this.#setConnection({ ...this.#connection, model });
96
+ }
97
+ async #activate(provider, credentials, persistedCredentials) {
98
+ const existing = await this.#config.load();
99
+ const preferredModel = existing.selectedModels[provider];
100
+ this.#setConnection({
101
+ status: 'connecting',
102
+ provider,
103
+ providerLabel: providers[provider].label,
104
+ ...(preferredModel ? { model: preferredModel } : {}),
105
+ });
106
+ try {
107
+ const connection = this.#providerFactory(provider, credentials);
108
+ const listing = await connection.listModels();
109
+ const modelIds = [...new Set(listing.data.map((model) => model.id.trim()).filter(Boolean))];
110
+ if (modelIds.length === 0)
111
+ throw new Error(`${providers[provider].label} returned no supported models.`);
112
+ const selectedModel = preferredModel && modelIds.includes(preferredModel) ? preferredModel : modelIds[0];
113
+ const cachedModels = [...modelIds].sort((left, right) => left.localeCompare(right));
114
+ await this.#config.saveConnection(provider, {
115
+ ...(persistedCredentials?.apiKey ? { apiKey: persistedCredentials.apiKey } : {}),
116
+ ...(persistedCredentials?.baseUrl ? { baseUrl: persistedCredentials.baseUrl } : {}),
117
+ models: cachedModels,
118
+ selectedModel,
119
+ });
120
+ this.#modelFactory = connection.model;
121
+ this.#model = connection.model(selectedModel);
122
+ return this.#setConnection({
123
+ status: 'connected',
124
+ provider,
125
+ providerLabel: providers[provider].label,
126
+ model: selectedModel,
127
+ });
128
+ }
129
+ catch (error) {
130
+ this.#model = undefined;
131
+ this.#modelFactory = undefined;
132
+ this.#setConnection({
133
+ status: 'error',
134
+ provider,
135
+ providerLabel: providers[provider].label,
136
+ ...(preferredModel ? { model: preferredModel } : {}),
137
+ error: safeErrorMessage(error),
138
+ });
139
+ throw error;
140
+ }
141
+ }
142
+ #setConnection(connection) {
143
+ this.#connection = connection;
144
+ return connection;
145
+ }
146
+ }
147
+ //# sourceMappingURL=provider-connection-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-connection-manager.js","sourceRoot":"","sources":["../../../../src/modules/providers/services/provider-connection-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { ProviderId } from './catalog.js';
2
+ export type ConnectionState = {
3
+ status: 'disconnected' | 'connecting' | 'connected' | 'error';
4
+ provider?: ProviderId;
5
+ providerLabel?: string;
6
+ model?: string;
7
+ error?: string;
8
+ };
9
+ export type ProviderStatus = {
10
+ id: ProviderId;
11
+ label: string;
12
+ model?: string;
13
+ configured: boolean;
14
+ active: boolean;
15
+ };
16
+ export type ModelStatus = {
17
+ id: string;
18
+ active: boolean;
19
+ };
20
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/modules/providers/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAE7C,MAAM,MAAM,eAAe,GAAG;IAC7B,MAAM,EAAE,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,OAAO,CAAC;IAC9D,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC5B,EAAE,EAAE,UAAU,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/modules/providers/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export { ProjectSessionManager, type ProjectSessionSelection } from './services/project-session-manager.js';
2
+ export { NEW_SESSION_TITLE, sessionTitleFromActivity, singleLineLabel, type ProjectSessionSummary } from './types.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/sessions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAE,KAAK,uBAAuB,EAAC,MAAM,uCAAuC,CAAC;AAC1G,OAAO,EAAC,iBAAiB,EAAE,wBAAwB,EAAE,eAAe,EAAE,KAAK,qBAAqB,EAAC,MAAM,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { ProjectSessionManager } from './services/project-session-manager.js';
2
+ export { NEW_SESSION_TITLE, sessionTitleFromActivity, singleLineLabel } from './types.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/sessions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAA+B,MAAM,uCAAuC,CAAC;AAC1G,OAAO,EAAC,iBAAiB,EAAE,wBAAwB,EAAE,eAAe,EAA6B,MAAM,YAAY,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { Message } from '@anvia/core';
2
+ import type { SqliteMemoryStore } from '@anvia/memory-sqlite';
3
+ import { type ProjectSessionSummary } from '../types.js';
4
+ import { SessionCatalog } from '../../../libs/session-storage/index.js';
5
+ type SessionActivity = {
6
+ content: string;
7
+ mode: 'prompt' | 'bash';
8
+ };
9
+ export type ProjectSessionSelection = {
10
+ session: ProjectSessionSummary;
11
+ messages: Message[];
12
+ };
13
+ export declare class ProjectSessionManager {
14
+ #private;
15
+ readonly projectRoot: string;
16
+ constructor(projectRoot: string, catalog: SessionCatalog, memory: SqliteMemoryStore);
17
+ active(): ProjectSessionSummary;
18
+ initialize(): Promise<void>;
19
+ list(): Promise<ProjectSessionSummary[]>;
20
+ startNew(): ProjectSessionSummary;
21
+ select(sessionId: string): Promise<ProjectSessionSelection>;
22
+ beginActivity(request: SessionActivity): void;
23
+ commit(): ProjectSessionSummary;
24
+ loadMessages(): Promise<Message[]>;
25
+ dispose(): void;
26
+ }
27
+ export {};
28
+ //# sourceMappingURL=project-session-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-session-manager.d.ts","sourceRoot":"","sources":["../../../../src/modules/sessions/services/project-session-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAA8C,KAAK,qBAAqB,EAAC,MAAM,aAAa,CAAC;AACpG,OAAO,EAAC,cAAc,EAAC,MAAM,wCAAwC,CAAC;AAEtE,KAAK,eAAe,GAAG;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAA;CAAC,CAAC;AAIlE,MAAM,MAAM,uBAAuB,GAAG;IACrC,OAAO,EAAE,qBAAqB,CAAC;IAC/B,QAAQ,EAAE,OAAO,EAAE,CAAC;CACpB,CAAC;AAEF,qBAAa,qBAAqB;;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAM7B,YAAY,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,iBAAiB,EAKlF;IAED,MAAM,IAAI,qBAAqB,CAE9B;IAEK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAKhC;IAEK,IAAI,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAO7C;IAED,QAAQ,IAAI,qBAAqB,CAGhC;IAEK,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAUhE;IAED,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAO5C;IAED,MAAM,IAAI,qBAAqB,CAW9B;IAED,YAAY,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAEjC;IAED,OAAO,IAAI,IAAI,CAEd;CAcD"}
@@ -0,0 +1,90 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { NEW_SESSION_TITLE, sessionTitleFromActivity } from '../types.js';
3
+ const LEGACY_SESSION_ID = 'aven-default';
4
+ export class ProjectSessionManager {
5
+ projectRoot;
6
+ #catalog;
7
+ #memory;
8
+ #active;
9
+ #initialized = false;
10
+ constructor(projectRoot, catalog, memory) {
11
+ this.projectRoot = projectRoot;
12
+ this.#catalog = catalog;
13
+ this.#memory = memory;
14
+ this.#active = this.#createNew();
15
+ }
16
+ active() {
17
+ return { ...this.#active };
18
+ }
19
+ async initialize() {
20
+ if (this.#initialized)
21
+ return;
22
+ const legacy = await this.#memory.load({ sessionId: LEGACY_SESSION_ID });
23
+ this.#catalog.claimLegacy(this.projectRoot, legacy.length > 0);
24
+ this.#initialized = true;
25
+ }
26
+ async list() {
27
+ await this.initialize();
28
+ const stored = this.#catalog
29
+ .list(this.projectRoot)
30
+ .filter((session) => session.id !== this.#active.id)
31
+ .map((session) => ({ ...session, active: false, persisted: true }));
32
+ return [{ ...this.#active, active: true }, ...stored];
33
+ }
34
+ startNew() {
35
+ this.#active = this.#createNew();
36
+ return this.active();
37
+ }
38
+ async select(sessionId) {
39
+ if (sessionId === this.#active.id) {
40
+ return { session: this.active(), messages: await this.loadMessages() };
41
+ }
42
+ const stored = this.#catalog.get(this.projectRoot, sessionId);
43
+ if (!stored)
44
+ throw new Error('Session does not belong to the current project.');
45
+ const messages = await this.#memory.load({ sessionId });
46
+ const touched = this.#catalog.touch(this.projectRoot, sessionId, new Date().toISOString());
47
+ this.#active = { ...touched, active: true, persisted: true };
48
+ return { session: this.active(), messages };
49
+ }
50
+ beginActivity(request) {
51
+ if (this.#active.title !== NEW_SESSION_TITLE)
52
+ return;
53
+ this.#active = {
54
+ ...this.#active,
55
+ title: sessionTitleFromActivity(request.content, request.mode),
56
+ updatedAt: new Date().toISOString(),
57
+ };
58
+ }
59
+ commit() {
60
+ const updatedAt = new Date().toISOString();
61
+ this.#catalog.save({
62
+ id: this.#active.id,
63
+ projectRoot: this.#active.projectRoot,
64
+ title: this.#active.title,
65
+ createdAt: this.#active.createdAt,
66
+ updatedAt,
67
+ });
68
+ this.#active = { ...this.#active, updatedAt, persisted: true };
69
+ return this.active();
70
+ }
71
+ loadMessages() {
72
+ return this.#memory.load({ sessionId: this.#active.id });
73
+ }
74
+ dispose() {
75
+ this.#catalog.dispose();
76
+ }
77
+ #createNew() {
78
+ const now = new Date().toISOString();
79
+ return {
80
+ id: randomUUID(),
81
+ projectRoot: this.projectRoot,
82
+ title: NEW_SESSION_TITLE,
83
+ createdAt: now,
84
+ updatedAt: now,
85
+ active: true,
86
+ persisted: false,
87
+ };
88
+ }
89
+ }
90
+ //# sourceMappingURL=project-session-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-session-manager.js","sourceRoot":"","sources":["../../../../src/modules/sessions/services/project-session-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export type ProjectSessionSummary = {
2
+ id: string;
3
+ projectRoot: string;
4
+ title: string;
5
+ createdAt: string;
6
+ updatedAt: string;
7
+ active: boolean;
8
+ persisted: boolean;
9
+ };
10
+ export declare const NEW_SESSION_TITLE = "New session";
11
+ export { singleLineLabel } from '../../utils/text.js';
12
+ export declare const sessionTitleFromActivity: (content: string, mode: 'prompt' | 'bash') => string;
13
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/modules/sessions/types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,qBAAqB,GAAG;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,iBAAiB,gBAAgB,CAAC;AAE/C,OAAO,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AAEpD,eAAO,MAAM,wBAAwB,YAAa,MAAM,QAAQ,QAAQ,GAAG,MAAM,KAAG,MAMnF,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { singleLineLabel } from '../../utils/text.js';
2
+ export const NEW_SESSION_TITLE = 'New session';
3
+ export { singleLineLabel } from '../../utils/text.js';
4
+ export const sessionTitleFromActivity = (content, mode) => {
5
+ const normalized = singleLineLabel(content);
6
+ const source = mode === 'bash' ? `$ ${normalized}` : normalized;
7
+ const characters = [...source];
8
+ if (characters.length <= 60)
9
+ return source || NEW_SESSION_TITLE;
10
+ return `${characters.slice(0, 59).join('')}…`;
11
+ };
12
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/modules/sessions/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AAYpD,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAC;AAE/C,OAAO,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AAEpD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,OAAe,EAAE,IAAuB,EAAU,EAAE;IAC5F,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;IAChE,MAAM,UAAU,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAC/B,IAAI,UAAU,CAAC,MAAM,IAAI,EAAE;QAAE,OAAO,MAAM,IAAI,iBAAiB,CAAC;IAChE,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;AAC/C,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const safeErrorMessage: (error: unknown) => string;
2
+ //# sourceMappingURL=safe-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe-error.d.ts","sourceRoot":"","sources":["../../src/utils/safe-error.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,UAAW,OAAO,KAAG,MAOjD,CAAC"}
@@ -0,0 +1,10 @@
1
+ export const safeErrorMessage = (error) => {
2
+ const message = error instanceof Error ? error.message : String(error);
3
+ if (/401|unauthori[sz]ed|api key|authentication/iu.test(message)) {
4
+ return 'Provider authentication failed. Run /setup to replace the API key.';
5
+ }
6
+ if (/429|rate.?limit/iu.test(message))
7
+ return 'Provider rate limit reached. Try again later.';
8
+ return message.replace(/sk-[A-Za-z0-9_-]+/gu, '[redacted]').slice(0, 500);
9
+ };
10
+ //# sourceMappingURL=safe-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe-error.js","sourceRoot":"","sources":["../../src/utils/safe-error.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAAU,EAAE;IAC1D,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,IAAI,8CAA8C,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAClE,OAAO,oEAAoE,CAAC;IAC7E,CAAC;IACD,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,+CAA+C,CAAC;IAC9F,OAAO,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC3E,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const singleLineLabel: (value: string) => string;
2
+ //# sourceMappingURL=text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/utils/text.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,UAAW,MAAM,KAAG,MAIvC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export const singleLineLabel = (value) => value
2
+ .replace(/[\u0000-\u001F\u007F]/gu, ' ')
3
+ .replace(/\s+/gu, ' ')
4
+ .trim();
5
+ //# sourceMappingURL=text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/utils/text.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAa,EAAU,EAAE,CACxD,KAAK;KACH,OAAO,CAAC,yBAAyB,EAAE,GAAG,CAAC;KACvC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;KACrB,IAAI,EAAE,CAAC"}
package/package.json ADDED
@@ -0,0 +1,72 @@
1
+ {
2
+ "name": "aven-ai",
3
+ "version": "0.0.1",
4
+ "description": "A full-screen, multi-provider Anvia coding agent terminal with PTY tools.",
5
+ "type": "module",
6
+ "files": [
7
+ "dist"
8
+ ],
9
+ "bin": {
10
+ "aven": "dist/index.js"
11
+ },
12
+ "publishConfig": {
13
+ "access": "public",
14
+ "registry": "https://registry.npmjs.org/"
15
+ },
16
+ "engines": {
17
+ "node": ">=22"
18
+ },
19
+ "packageManager": "pnpm@11.9.0",
20
+ "scripts": {
21
+ "dev": "tsx src/index.ts",
22
+ "clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
23
+ "build": "pnpm clean && tsc -p tsconfig.build.json && node scripts/mark-cli-executable.mjs",
24
+ "start": "node dist/index.js",
25
+ "install:local": "pnpm build && node scripts/install-local.mjs",
26
+ "uninstall:local": "node scripts/install-local.mjs --uninstall",
27
+ "prepare": "node scripts/install-git-hooks.mjs",
28
+ "prepack": "pnpm build",
29
+ "format": "prettier --write .",
30
+ "format:check": "prettier --check .",
31
+ "typecheck": "tsc --noEmit",
32
+ "lint": "eslint .",
33
+ "test": "vitest run",
34
+ "test:coverage": "vitest run --coverage",
35
+ "test:watch": "vitest",
36
+ "check": "pnpm format:check && pnpm typecheck && pnpm lint && pnpm test:coverage && pnpm build"
37
+ },
38
+ "dependencies": {
39
+ "@anvia/anthropic": "^0.3.14",
40
+ "@anvia/core": "^0.13.0",
41
+ "@anvia/memory-sqlite": "^0.2.2",
42
+ "@anvia/openai": "^0.3.17",
43
+ "@inkjs/ui": "^2.0.0",
44
+ "diff": "^9.0.0",
45
+ "fuse.js": "^7.4.2",
46
+ "ink": "^7.1.0",
47
+ "marked": "^18.0.6",
48
+ "node-pty": "^1.1.0",
49
+ "react": "^19.2.0",
50
+ "smol-toml": "^1.7.0",
51
+ "string-width": "^8.2.2",
52
+ "strip-ansi": "^7.1.2",
53
+ "zod": "^4.4.3",
54
+ "zustand": "^5.0.14"
55
+ },
56
+ "devDependencies": {
57
+ "@babel/core": "^8.0.1",
58
+ "@babel/eslint-parser": "^8.0.1",
59
+ "@babel/preset-typescript": "^8.0.1",
60
+ "@eslint/js": "^10.0.1",
61
+ "@types/node": "^24.0.0",
62
+ "@types/react": "^19.2.0",
63
+ "@vitest/coverage-v8": "4.1.10",
64
+ "eslint": "^10.7.0",
65
+ "eslint-plugin-react-hooks": "^7.1.1",
66
+ "ink-testing-library": "^4.0.0",
67
+ "prettier": "^3.9.5",
68
+ "tsx": "^4.23.0",
69
+ "typescript": "^7.0.2",
70
+ "vitest": "^4.1.10"
71
+ }
72
+ }