@felan-ai/felan 0.28.4 → 0.30.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 (842) hide show
  1. package/NOTICE +20 -0
  2. package/README.md +127 -40
  3. package/dist/acp/daemon-session.d.ts +34 -0
  4. package/dist/acp/daemon-session.d.ts.map +1 -0
  5. package/dist/acp/daemon-session.js +142 -0
  6. package/dist/acp/daemon-session.js.map +1 -0
  7. package/dist/acp/login.d.ts +4 -2
  8. package/dist/acp/login.d.ts.map +1 -1
  9. package/dist/acp/login.js +155 -251
  10. package/dist/acp/login.js.map +1 -1
  11. package/dist/acp/protocol-interactions.d.ts +25 -0
  12. package/dist/acp/protocol-interactions.d.ts.map +1 -0
  13. package/dist/acp/protocol-interactions.js +297 -0
  14. package/dist/acp/protocol-interactions.js.map +1 -0
  15. package/dist/acp/protocol-updates.d.ts +20 -0
  16. package/dist/acp/protocol-updates.d.ts.map +1 -0
  17. package/dist/acp/protocol-updates.js +114 -0
  18. package/dist/acp/protocol-updates.js.map +1 -0
  19. package/dist/acp/session-registry.d.ts +4 -9
  20. package/dist/acp/session-registry.d.ts.map +1 -1
  21. package/dist/acp/session-registry.js +178 -386
  22. package/dist/acp/session-registry.js.map +1 -1
  23. package/dist/cli-config.d.ts +7 -0
  24. package/dist/cli-config.d.ts.map +1 -0
  25. package/dist/cli-config.js +18 -0
  26. package/dist/cli-config.js.map +1 -0
  27. package/dist/cli-main.d.ts +12 -7
  28. package/dist/cli-main.d.ts.map +1 -1
  29. package/dist/cli-main.js +106 -105
  30. package/dist/cli-main.js.map +1 -1
  31. package/dist/client/agent-host.d.ts +52 -0
  32. package/dist/client/agent-host.d.ts.map +1 -0
  33. package/dist/client/agent-host.js +413 -0
  34. package/dist/client/agent-host.js.map +1 -0
  35. package/dist/client/agents-presenter.d.ts +12 -0
  36. package/dist/client/agents-presenter.d.ts.map +1 -0
  37. package/dist/client/agents-presenter.js +66 -0
  38. package/dist/client/agents-presenter.js.map +1 -0
  39. package/dist/client/client.d.ts +181 -0
  40. package/dist/client/client.d.ts.map +1 -0
  41. package/dist/client/client.js +806 -0
  42. package/dist/client/client.js.map +1 -0
  43. package/dist/client/daemon-blocked.d.ts +12 -0
  44. package/dist/client/daemon-blocked.d.ts.map +1 -0
  45. package/dist/client/daemon-blocked.js +27 -0
  46. package/dist/client/daemon-blocked.js.map +1 -0
  47. package/dist/client/daemon-stop.d.ts +5 -0
  48. package/dist/client/daemon-stop.d.ts.map +1 -0
  49. package/dist/client/daemon-stop.js +36 -0
  50. package/dist/client/daemon-stop.js.map +1 -0
  51. package/dist/client/diagnostics.d.ts +55 -0
  52. package/dist/client/diagnostics.d.ts.map +1 -0
  53. package/dist/client/diagnostics.js +47 -0
  54. package/dist/client/diagnostics.js.map +1 -0
  55. package/dist/client/hint-renderers.d.ts +16 -0
  56. package/dist/client/hint-renderers.d.ts.map +1 -0
  57. package/dist/client/hint-renderers.js +28 -0
  58. package/dist/client/hint-renderers.js.map +1 -0
  59. package/dist/client/index.d.ts +5 -0
  60. package/dist/client/index.d.ts.map +1 -0
  61. package/dist/client/index.js +5 -0
  62. package/dist/client/index.js.map +1 -0
  63. package/dist/client/message-display.d.ts +21 -0
  64. package/dist/client/message-display.d.ts.map +1 -0
  65. package/dist/client/message-display.js +115 -0
  66. package/dist/client/message-display.js.map +1 -0
  67. package/dist/client/powerline-presenter.d.ts +13 -0
  68. package/dist/client/powerline-presenter.d.ts.map +1 -0
  69. package/dist/client/powerline-presenter.js +67 -0
  70. package/dist/client/powerline-presenter.js.map +1 -0
  71. package/dist/client/presenters.d.ts +43 -0
  72. package/dist/client/presenters.d.ts.map +1 -0
  73. package/dist/client/presenters.js +118 -0
  74. package/dist/client/presenters.js.map +1 -0
  75. package/dist/client/reducer.d.ts +37 -0
  76. package/dist/client/reducer.d.ts.map +1 -0
  77. package/dist/client/reducer.js +173 -0
  78. package/dist/client/reducer.js.map +1 -0
  79. package/dist/client/session-title.d.ts +6 -0
  80. package/dist/client/session-title.d.ts.map +1 -0
  81. package/dist/client/session-title.js +13 -0
  82. package/dist/client/session-title.js.map +1 -0
  83. package/dist/client/transport.d.ts +14 -0
  84. package/dist/client/transport.d.ts.map +1 -0
  85. package/dist/client/transport.js +46 -0
  86. package/dist/client/transport.js.map +1 -0
  87. package/dist/client/ui.d.ts +25 -0
  88. package/dist/client/ui.d.ts.map +1 -0
  89. package/dist/client/ui.js +123 -0
  90. package/dist/client/ui.js.map +1 -0
  91. package/dist/client-application.d.ts +37 -0
  92. package/dist/client-application.d.ts.map +1 -0
  93. package/dist/client-application.js +126 -0
  94. package/dist/client-application.js.map +1 -0
  95. package/dist/compaction-presentation.d.ts +6 -4
  96. package/dist/compaction-presentation.d.ts.map +1 -1
  97. package/dist/compaction-presentation.js +11 -37
  98. package/dist/compaction-presentation.js.map +1 -1
  99. package/dist/daemon-command.d.ts +10 -0
  100. package/dist/daemon-command.d.ts.map +1 -0
  101. package/dist/daemon-command.js +163 -0
  102. package/dist/daemon-command.js.map +1 -0
  103. package/dist/daemon-entrypoint.d.ts +5 -0
  104. package/dist/daemon-entrypoint.d.ts.map +1 -0
  105. package/dist/daemon-entrypoint.js +17 -0
  106. package/dist/daemon-entrypoint.js.map +1 -0
  107. package/dist/daemon-host.d.ts +2 -0
  108. package/dist/daemon-host.d.ts.map +1 -0
  109. package/dist/daemon-host.js +18 -0
  110. package/dist/daemon-host.js.map +1 -0
  111. package/dist/dependency-onboarding.js +3 -3
  112. package/dist/dependency-onboarding.js.map +1 -1
  113. package/dist/execution-completion.d.ts +3 -0
  114. package/dist/execution-completion.d.ts.map +1 -0
  115. package/dist/execution-completion.js +2 -0
  116. package/dist/execution-completion.js.map +1 -0
  117. package/dist/headless.d.ts +39 -0
  118. package/dist/headless.d.ts.map +1 -0
  119. package/dist/headless.js +315 -0
  120. package/dist/headless.js.map +1 -0
  121. package/dist/host.json +55 -0
  122. package/dist/index.d.ts +9 -19
  123. package/dist/index.d.ts.map +1 -1
  124. package/dist/index.js +4 -10
  125. package/dist/index.js.map +1 -1
  126. package/dist/memory/{history-view.d.ts → history-renderer.d.ts} +13 -6
  127. package/dist/memory/history-renderer.d.ts.map +1 -0
  128. package/dist/memory/{history-view.js → history-renderer.js} +34 -30
  129. package/dist/memory/history-renderer.js.map +1 -0
  130. package/dist/memory/history.d.ts +1 -31
  131. package/dist/memory/history.d.ts.map +1 -1
  132. package/dist/memory/history.js +1 -306
  133. package/dist/memory/history.js.map +1 -1
  134. package/dist/memory/ui.d.ts +5 -0
  135. package/dist/memory/ui.d.ts.map +1 -0
  136. package/dist/memory/ui.js +2 -0
  137. package/dist/memory/ui.js.map +1 -0
  138. package/dist/process-restart.d.ts +4 -6
  139. package/dist/process-restart.d.ts.map +1 -1
  140. package/dist/process-restart.js +17 -96
  141. package/dist/process-restart.js.map +1 -1
  142. package/dist/{browser → providers/browser}/authorization-host.d.ts +2 -1
  143. package/dist/providers/browser/authorization-host.d.ts.map +1 -0
  144. package/dist/{browser → providers/browser}/authorization-host.js +9 -22
  145. package/dist/providers/browser/authorization-host.js.map +1 -0
  146. package/dist/providers/browser/chrome-devtools.d.ts.map +1 -0
  147. package/dist/providers/browser/chrome-devtools.js.map +1 -0
  148. package/dist/providers/browser/connection-lease.d.ts.map +1 -0
  149. package/dist/providers/browser/connection-lease.js.map +1 -0
  150. package/dist/providers/browser-authorization.d.ts +6 -0
  151. package/dist/providers/browser-authorization.d.ts.map +1 -0
  152. package/dist/providers/browser-authorization.js +30 -0
  153. package/dist/providers/browser-authorization.js.map +1 -0
  154. package/dist/providers/classifier.d.ts.map +1 -0
  155. package/dist/providers/classifier.js.map +1 -0
  156. package/dist/providers/codemode.d.ts.map +1 -0
  157. package/dist/providers/codemode.js.map +1 -0
  158. package/dist/providers/configuration.d.ts +23 -0
  159. package/dist/providers/configuration.d.ts.map +1 -0
  160. package/dist/providers/configuration.js +154 -0
  161. package/dist/providers/configuration.js.map +1 -0
  162. package/dist/providers/credential-storage.d.ts +10 -0
  163. package/dist/providers/credential-storage.d.ts.map +1 -0
  164. package/dist/providers/credential-storage.js +57 -0
  165. package/dist/providers/credential-storage.js.map +1 -0
  166. package/dist/providers/dependencies.d.ts +3 -0
  167. package/dist/providers/dependencies.d.ts.map +1 -0
  168. package/dist/providers/dependencies.js +31 -0
  169. package/dist/providers/dependencies.js.map +1 -0
  170. package/dist/providers/execution-binding.d.ts +7 -0
  171. package/dist/providers/execution-binding.d.ts.map +1 -0
  172. package/dist/providers/execution-binding.js +180 -0
  173. package/dist/providers/execution-binding.js.map +1 -0
  174. package/dist/providers/execution-services.d.ts +24 -0
  175. package/dist/providers/execution-services.d.ts.map +1 -0
  176. package/dist/providers/execution-services.js +91 -0
  177. package/dist/providers/execution-services.js.map +1 -0
  178. package/dist/providers/extension-catalog.d.ts +30 -0
  179. package/dist/providers/extension-catalog.d.ts.map +1 -0
  180. package/dist/providers/extension-catalog.js +39 -0
  181. package/dist/providers/extension-catalog.js.map +1 -0
  182. package/dist/providers/extension-services.d.ts +14 -0
  183. package/dist/providers/extension-services.d.ts.map +1 -0
  184. package/dist/providers/extension-services.js +2 -0
  185. package/dist/providers/extension-services.js.map +1 -0
  186. package/dist/providers/extensions.d.ts +7 -0
  187. package/dist/providers/extensions.d.ts.map +1 -0
  188. package/dist/providers/extensions.js +32 -0
  189. package/dist/providers/extensions.js.map +1 -0
  190. package/dist/providers/felan-platform.d.ts +6 -0
  191. package/dist/providers/felan-platform.d.ts.map +1 -0
  192. package/dist/providers/felan-platform.js +11 -0
  193. package/dist/providers/felan-platform.js.map +1 -0
  194. package/dist/providers/global-settings.d.ts +46 -0
  195. package/dist/providers/global-settings.d.ts.map +1 -0
  196. package/dist/providers/global-settings.js +187 -0
  197. package/dist/providers/global-settings.js.map +1 -0
  198. package/dist/providers/llama/extension.d.ts +10 -0
  199. package/dist/providers/llama/extension.d.ts.map +1 -0
  200. package/dist/providers/llama/extension.js +34 -0
  201. package/dist/providers/llama/extension.js.map +1 -0
  202. package/dist/providers/llama/management.d.ts +5 -0
  203. package/dist/providers/llama/management.d.ts.map +1 -0
  204. package/dist/providers/llama/management.js +176 -0
  205. package/dist/providers/llama/management.js.map +1 -0
  206. package/dist/providers/llama/presentation.d.ts +32 -0
  207. package/dist/providers/llama/presentation.d.ts.map +1 -0
  208. package/dist/providers/llama/presentation.js +141 -0
  209. package/dist/providers/llama/presentation.js.map +1 -0
  210. package/dist/providers/llama/sdk.d.ts +71 -0
  211. package/dist/providers/llama/sdk.d.ts.map +1 -0
  212. package/dist/providers/llama/sdk.js +25 -0
  213. package/dist/providers/llama/sdk.js.map +1 -0
  214. package/dist/providers/local-model-runtime.d.ts +4 -0
  215. package/dist/providers/local-model-runtime.d.ts.map +1 -0
  216. package/dist/providers/local-model-runtime.js +11 -0
  217. package/dist/providers/local-model-runtime.js.map +1 -0
  218. package/dist/providers/local-resources.d.ts +6 -0
  219. package/dist/providers/local-resources.d.ts.map +1 -0
  220. package/dist/providers/local-resources.js +13 -0
  221. package/dist/providers/local-resources.js.map +1 -0
  222. package/dist/providers/mcp/callback-server.d.ts +3 -0
  223. package/dist/providers/mcp/callback-server.d.ts.map +1 -0
  224. package/dist/{mcp → providers/mcp}/callback-server.js +5 -1
  225. package/dist/providers/mcp/callback-server.js.map +1 -0
  226. package/dist/providers/mcp-callback.d.ts +6 -0
  227. package/dist/providers/mcp-callback.d.ts.map +1 -0
  228. package/dist/providers/mcp-callback.js +67 -0
  229. package/dist/providers/mcp-callback.js.map +1 -0
  230. package/dist/providers/model-defaults.d.ts.map +1 -0
  231. package/dist/providers/model-defaults.js.map +1 -0
  232. package/dist/providers/models-subscription.d.ts +14 -0
  233. package/dist/providers/models-subscription.d.ts.map +1 -0
  234. package/dist/{powerline.js → providers/models-subscription.js} +28 -83
  235. package/dist/providers/models-subscription.js.map +1 -0
  236. package/dist/providers/models.d.ts +18 -0
  237. package/dist/providers/models.d.ts.map +1 -0
  238. package/dist/providers/models.js +371 -0
  239. package/dist/providers/models.js.map +1 -0
  240. package/dist/providers/pi-lock.d.ts.map +1 -0
  241. package/dist/{pi-lock.js → providers/pi-lock.js} +1 -1
  242. package/dist/providers/pi-lock.js.map +1 -0
  243. package/dist/providers/platform.d.ts +3 -0
  244. package/dist/providers/platform.d.ts.map +1 -0
  245. package/dist/providers/platform.js +14 -0
  246. package/dist/providers/platform.js.map +1 -0
  247. package/dist/providers/process-adapter.d.ts +3 -0
  248. package/dist/providers/process-adapter.d.ts.map +1 -0
  249. package/dist/providers/process-adapter.js +46 -0
  250. package/dist/providers/process-adapter.js.map +1 -0
  251. package/dist/providers/process-bootstrap.d.ts +17 -0
  252. package/dist/providers/process-bootstrap.d.ts.map +1 -0
  253. package/dist/providers/process-bootstrap.js +87 -0
  254. package/dist/providers/process-bootstrap.js.map +1 -0
  255. package/dist/providers/project-trust.d.ts +8 -0
  256. package/dist/providers/project-trust.d.ts.map +1 -0
  257. package/dist/providers/project-trust.js +112 -0
  258. package/dist/providers/project-trust.js.map +1 -0
  259. package/dist/providers/runtime-dependencies.d.ts +6 -0
  260. package/dist/providers/runtime-dependencies.d.ts.map +1 -0
  261. package/dist/providers/runtime-dependencies.js +31 -0
  262. package/dist/providers/runtime-dependencies.js.map +1 -0
  263. package/dist/providers/runtime.d.ts +6 -0
  264. package/dist/providers/runtime.d.ts.map +1 -0
  265. package/dist/providers/runtime.js +15 -0
  266. package/dist/providers/runtime.js.map +1 -0
  267. package/dist/{savings.d.ts → providers/savings.d.ts} +7 -0
  268. package/dist/providers/savings.d.ts.map +1 -0
  269. package/dist/{savings.js → providers/savings.js} +46 -1
  270. package/dist/providers/savings.js.map +1 -0
  271. package/dist/providers/secrets.d.ts +15 -0
  272. package/dist/providers/secrets.d.ts.map +1 -0
  273. package/dist/providers/secrets.js +233 -0
  274. package/dist/providers/secrets.js.map +1 -0
  275. package/dist/providers/session-runtime.d.ts +16 -0
  276. package/dist/providers/session-runtime.d.ts.map +1 -0
  277. package/dist/providers/session-runtime.js +193 -0
  278. package/dist/providers/session-runtime.js.map +1 -0
  279. package/dist/providers/sessions.d.ts +6 -0
  280. package/dist/providers/sessions.d.ts.map +1 -0
  281. package/dist/providers/sessions.js +97 -0
  282. package/dist/providers/sessions.js.map +1 -0
  283. package/dist/providers/settings-store.d.ts +4 -0
  284. package/dist/providers/settings-store.d.ts.map +1 -0
  285. package/dist/providers/settings-store.js +70 -0
  286. package/dist/providers/settings-store.js.map +1 -0
  287. package/dist/{settings.d.ts → providers/settings.d.ts} +7 -24
  288. package/dist/providers/settings.d.ts.map +1 -0
  289. package/dist/providers/settings.js +170 -0
  290. package/dist/providers/settings.js.map +1 -0
  291. package/dist/providers/setup/auth-driver.d.ts +16 -0
  292. package/dist/providers/setup/auth-driver.d.ts.map +1 -0
  293. package/dist/providers/setup/auth-driver.js +92 -0
  294. package/dist/providers/setup/auth-driver.js.map +1 -0
  295. package/dist/providers/setup/auth-wire.d.ts +51 -0
  296. package/dist/providers/setup/auth-wire.d.ts.map +1 -0
  297. package/dist/providers/setup/auth-wire.js +17 -0
  298. package/dist/providers/setup/auth-wire.js.map +1 -0
  299. package/dist/providers/setup/auth-worker.d.ts +14 -0
  300. package/dist/providers/setup/auth-worker.d.ts.map +1 -0
  301. package/dist/providers/setup/auth-worker.js +187 -0
  302. package/dist/providers/setup/auth-worker.js.map +1 -0
  303. package/dist/providers/setup/manager.d.ts +45 -0
  304. package/dist/providers/setup/manager.d.ts.map +1 -0
  305. package/dist/providers/setup/manager.js +283 -0
  306. package/dist/providers/setup/manager.js.map +1 -0
  307. package/dist/providers/setup/parent-guard.d.ts +3 -0
  308. package/dist/providers/setup/parent-guard.d.ts.map +1 -0
  309. package/dist/providers/setup/parent-guard.js +14 -0
  310. package/dist/providers/setup/parent-guard.js.map +1 -0
  311. package/dist/providers/setup-open.d.ts +9 -0
  312. package/dist/providers/setup-open.d.ts.map +1 -0
  313. package/dist/providers/setup-open.js +32 -0
  314. package/dist/providers/setup-open.js.map +1 -0
  315. package/dist/providers/system-prompt.d.ts.map +1 -0
  316. package/dist/providers/system-prompt.js.map +1 -0
  317. package/dist/providers/tool-policy.d.ts +2 -0
  318. package/dist/providers/tool-policy.d.ts.map +1 -0
  319. package/dist/providers/tool-policy.js +14 -0
  320. package/dist/providers/tool-policy.js.map +1 -0
  321. package/dist/providers/ui/extension-ui.d.ts +7 -0
  322. package/dist/providers/ui/extension-ui.d.ts.map +1 -0
  323. package/dist/providers/ui/extension-ui.js +42 -0
  324. package/dist/providers/ui/extension-ui.js.map +1 -0
  325. package/dist/providers/ui/port.d.ts +24 -0
  326. package/dist/providers/ui/port.d.ts.map +1 -0
  327. package/dist/providers/ui/port.js +2 -0
  328. package/dist/providers/ui/port.js.map +1 -0
  329. package/dist/savings-command.d.ts +1 -1
  330. package/dist/savings-command.d.ts.map +1 -1
  331. package/dist/savings-command.js +1 -1
  332. package/dist/savings-command.js.map +1 -1
  333. package/dist/session-picker.d.ts +13 -12
  334. package/dist/session-picker.d.ts.map +1 -1
  335. package/dist/session-picker.js +13 -23
  336. package/dist/session-picker.js.map +1 -1
  337. package/dist/subagents/agent-navigator.d.ts +24 -11
  338. package/dist/subagents/agent-navigator.d.ts.map +1 -1
  339. package/dist/subagents/agent-navigator.js +154 -86
  340. package/dist/subagents/agent-navigator.js.map +1 -1
  341. package/dist/subagents/agent-transcript.d.ts +8 -2
  342. package/dist/subagents/agent-transcript.d.ts.map +1 -1
  343. package/dist/subagents/agent-transcript.js +312 -29
  344. package/dist/subagents/agent-transcript.js.map +1 -1
  345. package/dist/subagents/completion-presentation.d.ts +13 -0
  346. package/dist/subagents/completion-presentation.d.ts.map +1 -1
  347. package/dist/subagents/completion-presentation.js +15 -42
  348. package/dist/subagents/completion-presentation.js.map +1 -1
  349. package/dist/subagents/transcript-components.d.ts +107 -0
  350. package/dist/subagents/transcript-components.d.ts.map +1 -0
  351. package/dist/subagents/transcript-components.js +306 -0
  352. package/dist/subagents/transcript-components.js.map +1 -0
  353. package/dist/subagents/types.d.ts +77 -0
  354. package/dist/subagents/types.d.ts.map +1 -0
  355. package/dist/subagents/types.js +2 -0
  356. package/dist/subagents/types.js.map +1 -0
  357. package/dist/themes/felan-dark.json +1 -1
  358. package/dist/tool-activity/mode.d.ts +5 -0
  359. package/dist/tool-activity/mode.d.ts.map +1 -0
  360. package/dist/tool-activity/mode.js +17 -0
  361. package/dist/tool-activity/mode.js.map +1 -0
  362. package/dist/tool-activity/presentation.d.ts.map +1 -1
  363. package/dist/tool-activity/presentation.js +104 -28
  364. package/dist/tool-activity/presentation.js.map +1 -1
  365. package/dist/tool-activity/state.d.ts +9 -2
  366. package/dist/tool-activity/state.d.ts.map +1 -1
  367. package/dist/tool-activity/state.js +43 -3
  368. package/dist/tool-activity/state.js.map +1 -1
  369. package/dist/tui/ask-user-preferences.d.ts +9 -0
  370. package/dist/tui/ask-user-preferences.d.ts.map +1 -0
  371. package/dist/tui/ask-user-preferences.js +16 -0
  372. package/dist/tui/ask-user-preferences.js.map +1 -0
  373. package/dist/tui/command-help.d.ts +13 -0
  374. package/dist/tui/command-help.d.ts.map +1 -0
  375. package/dist/tui/command-help.js +57 -0
  376. package/dist/tui/command-help.js.map +1 -0
  377. package/dist/tui/commands.d.ts +22 -0
  378. package/dist/tui/commands.d.ts.map +1 -0
  379. package/dist/tui/commands.js +404 -0
  380. package/dist/tui/commands.js.map +1 -0
  381. package/dist/tui/completion-text.d.ts +9 -0
  382. package/dist/tui/completion-text.d.ts.map +1 -0
  383. package/dist/tui/completion-text.js +33 -0
  384. package/dist/tui/completion-text.js.map +1 -0
  385. package/dist/tui/controller.d.ts +110 -0
  386. package/dist/tui/controller.d.ts.map +1 -0
  387. package/dist/tui/controller.js +579 -0
  388. package/dist/tui/controller.js.map +1 -0
  389. package/dist/tui/dialogs.d.ts +57 -0
  390. package/dist/tui/dialogs.d.ts.map +1 -0
  391. package/dist/tui/dialogs.js +242 -0
  392. package/dist/tui/dialogs.js.map +1 -0
  393. package/dist/tui/generic-ui.d.ts +4 -0
  394. package/dist/tui/generic-ui.d.ts.map +1 -0
  395. package/dist/tui/generic-ui.js +132 -0
  396. package/dist/tui/generic-ui.js.map +1 -0
  397. package/dist/tui/herdr.d.ts +56 -0
  398. package/dist/tui/herdr.d.ts.map +1 -0
  399. package/dist/tui/herdr.js +219 -0
  400. package/dist/tui/herdr.js.map +1 -0
  401. package/dist/tui/interactions.d.ts +36 -0
  402. package/dist/tui/interactions.d.ts.map +1 -0
  403. package/dist/tui/interactions.js +253 -0
  404. package/dist/tui/interactions.js.map +1 -0
  405. package/dist/tui/keybindings.d.ts +15 -0
  406. package/dist/tui/keybindings.d.ts.map +1 -0
  407. package/dist/tui/keybindings.js +101 -0
  408. package/dist/tui/keybindings.js.map +1 -0
  409. package/dist/tui/markdown.d.ts +4 -0
  410. package/dist/tui/markdown.d.ts.map +1 -0
  411. package/dist/tui/markdown.js +6 -0
  412. package/dist/tui/markdown.js.map +1 -0
  413. package/dist/tui/preferences-schema.d.ts +121 -0
  414. package/dist/tui/preferences-schema.d.ts.map +1 -0
  415. package/dist/tui/preferences-schema.js +42 -0
  416. package/dist/tui/preferences-schema.js.map +1 -0
  417. package/dist/tui/preferences-store.d.ts +22 -0
  418. package/dist/tui/preferences-store.d.ts.map +1 -0
  419. package/dist/tui/preferences-store.js +240 -0
  420. package/dist/tui/preferences-store.js.map +1 -0
  421. package/dist/tui/preferences.d.ts +42 -0
  422. package/dist/tui/preferences.d.ts.map +1 -0
  423. package/dist/tui/preferences.js +246 -0
  424. package/dist/tui/preferences.js.map +1 -0
  425. package/dist/tui/presentation-preferences.d.ts +11 -0
  426. package/dist/tui/presentation-preferences.d.ts.map +1 -0
  427. package/dist/tui/presentation-preferences.js +29 -0
  428. package/dist/tui/presentation-preferences.js.map +1 -0
  429. package/dist/tui/presentation-ui.d.ts +7 -0
  430. package/dist/tui/presentation-ui.d.ts.map +1 -0
  431. package/dist/tui/presentation-ui.js +17 -0
  432. package/dist/tui/presentation-ui.js.map +1 -0
  433. package/dist/tui/presenters.d.ts +18 -0
  434. package/dist/tui/presenters.d.ts.map +1 -0
  435. package/dist/tui/presenters.js +118 -0
  436. package/dist/tui/presenters.js.map +1 -0
  437. package/dist/tui/remote.d.ts +7 -0
  438. package/dist/tui/remote.d.ts.map +1 -0
  439. package/dist/tui/remote.js +139 -0
  440. package/dist/tui/remote.js.map +1 -0
  441. package/dist/tui/renderers/ask-user/single-select-layout.d.ts +20 -0
  442. package/dist/tui/renderers/ask-user/single-select-layout.d.ts.map +1 -0
  443. package/dist/tui/renderers/ask-user/single-select-layout.js +111 -0
  444. package/dist/tui/renderers/ask-user/single-select-layout.js.map +1 -0
  445. package/dist/tui/renderers/ask-user.d.ts +21 -0
  446. package/dist/tui/renderers/ask-user.d.ts.map +1 -0
  447. package/dist/tui/renderers/ask-user.js +1348 -0
  448. package/dist/tui/renderers/ask-user.js.map +1 -0
  449. package/dist/tui/renderers/codebase-memory.d.ts +3 -0
  450. package/dist/tui/renderers/codebase-memory.d.ts.map +1 -0
  451. package/dist/tui/renderers/codebase-memory.js +38 -0
  452. package/dist/tui/renderers/codebase-memory.js.map +1 -0
  453. package/dist/tui/renderers/codex.d.ts +5 -0
  454. package/dist/tui/renderers/codex.d.ts.map +1 -0
  455. package/dist/tui/renderers/codex.js +9 -0
  456. package/dist/tui/renderers/codex.js.map +1 -0
  457. package/dist/tui/renderers/context-view.d.ts +3 -0
  458. package/dist/tui/renderers/context-view.d.ts.map +1 -0
  459. package/dist/tui/renderers/context-view.js +69 -0
  460. package/dist/tui/renderers/context-view.js.map +1 -0
  461. package/dist/{fusion → tui/renderers/fusion}/model-picker.d.ts +2 -1
  462. package/dist/tui/renderers/fusion/model-picker.d.ts.map +1 -0
  463. package/dist/{fusion → tui/renderers/fusion}/model-picker.js +1 -0
  464. package/dist/tui/renderers/fusion/model-picker.js.map +1 -0
  465. package/dist/tui/renderers/fusion.d.ts +7 -0
  466. package/dist/tui/renderers/fusion.d.ts.map +1 -0
  467. package/dist/tui/renderers/fusion.js +266 -0
  468. package/dist/tui/renderers/fusion.js.map +1 -0
  469. package/dist/tui/renderers/insights/charts.d.ts +14 -0
  470. package/dist/tui/renderers/insights/charts.d.ts.map +1 -0
  471. package/dist/tui/renderers/insights/charts.js +77 -0
  472. package/dist/tui/renderers/insights/charts.js.map +1 -0
  473. package/dist/tui/renderers/insights/panel.d.ts +55 -0
  474. package/dist/tui/renderers/insights/panel.d.ts.map +1 -0
  475. package/dist/tui/renderers/insights/panel.js +310 -0
  476. package/dist/tui/renderers/insights/panel.js.map +1 -0
  477. package/dist/tui/renderers/insights.d.ts +4 -0
  478. package/dist/tui/renderers/insights.d.ts.map +1 -0
  479. package/dist/tui/renderers/insights.js +51 -0
  480. package/dist/tui/renderers/insights.js.map +1 -0
  481. package/dist/tui/renderers/memory.d.ts +5 -0
  482. package/dist/tui/renderers/memory.d.ts.map +1 -0
  483. package/dist/tui/renderers/memory.js +99 -0
  484. package/dist/tui/renderers/memory.js.map +1 -0
  485. package/dist/tui/renderers/navigation.d.ts +7 -0
  486. package/dist/tui/renderers/navigation.d.ts.map +1 -0
  487. package/dist/tui/renderers/navigation.js +14 -0
  488. package/dist/tui/renderers/navigation.js.map +1 -0
  489. package/dist/tui/renderers/powerline/colors.d.ts +18 -0
  490. package/dist/tui/renderers/powerline/colors.d.ts.map +1 -0
  491. package/dist/tui/renderers/powerline/colors.js +42 -0
  492. package/dist/tui/renderers/powerline/colors.js.map +1 -0
  493. package/dist/tui/renderers/powerline/config.d.ts +44 -0
  494. package/dist/tui/renderers/powerline/config.d.ts.map +1 -0
  495. package/dist/tui/renderers/powerline/config.js +123 -0
  496. package/dist/tui/renderers/powerline/config.js.map +1 -0
  497. package/dist/tui/renderers/powerline/footer-renderer.d.ts +7 -0
  498. package/dist/tui/renderers/powerline/footer-renderer.d.ts.map +1 -0
  499. package/dist/tui/renderers/powerline/footer-renderer.js +74 -0
  500. package/dist/tui/renderers/powerline/footer-renderer.js.map +1 -0
  501. package/dist/tui/renderers/powerline/projected-footer.d.ts +24 -0
  502. package/dist/tui/renderers/powerline/projected-footer.d.ts.map +1 -0
  503. package/dist/tui/renderers/powerline/projected-footer.js +33 -0
  504. package/dist/tui/renderers/powerline/projected-footer.js.map +1 -0
  505. package/dist/tui/renderers/powerline/segments.d.ts +18 -0
  506. package/dist/tui/renderers/powerline/segments.d.ts.map +1 -0
  507. package/dist/tui/renderers/powerline/segments.js +331 -0
  508. package/dist/tui/renderers/powerline/segments.js.map +1 -0
  509. package/dist/tui/renderers/powerline/symbols.d.ts +27 -0
  510. package/dist/tui/renderers/powerline/symbols.d.ts.map +1 -0
  511. package/dist/tui/renderers/powerline/symbols.js +17 -0
  512. package/dist/tui/renderers/powerline/symbols.js.map +1 -0
  513. package/dist/tui/renderers/powerline.d.ts +4 -0
  514. package/dist/tui/renderers/powerline.d.ts.map +1 -0
  515. package/dist/tui/renderers/powerline.js +4 -0
  516. package/dist/tui/renderers/powerline.js.map +1 -0
  517. package/dist/tui/renderers/prewalk/plan-review.d.ts +28 -0
  518. package/dist/tui/renderers/prewalk/plan-review.d.ts.map +1 -0
  519. package/dist/tui/renderers/prewalk/plan-review.js +414 -0
  520. package/dist/tui/renderers/prewalk/plan-review.js.map +1 -0
  521. package/dist/tui/renderers/prewalk.d.ts +5 -0
  522. package/dist/tui/renderers/prewalk.d.ts.map +1 -0
  523. package/dist/tui/renderers/prewalk.js +43 -0
  524. package/dist/tui/renderers/prewalk.js.map +1 -0
  525. package/dist/tui/renderers/processes/background-bash-view.d.ts +45 -0
  526. package/dist/tui/renderers/processes/background-bash-view.d.ts.map +1 -0
  527. package/dist/tui/renderers/processes/background-bash-view.js +405 -0
  528. package/dist/tui/renderers/processes/background-bash-view.js.map +1 -0
  529. package/dist/tui/renderers/processes/completion-message.d.ts +26 -0
  530. package/dist/tui/renderers/processes/completion-message.d.ts.map +1 -0
  531. package/dist/tui/renderers/processes/completion-message.js +97 -0
  532. package/dist/tui/renderers/processes/completion-message.js.map +1 -0
  533. package/dist/tui/renderers/processes/process-view.d.ts +40 -0
  534. package/dist/tui/renderers/processes/process-view.d.ts.map +1 -0
  535. package/dist/tui/renderers/processes/process-view.js +250 -0
  536. package/dist/tui/renderers/processes/process-view.js.map +1 -0
  537. package/dist/tui/renderers/processes.d.ts +12 -0
  538. package/dist/tui/renderers/processes.d.ts.map +1 -0
  539. package/dist/tui/renderers/processes.js +80 -0
  540. package/dist/tui/renderers/processes.js.map +1 -0
  541. package/dist/tui/renderers/prompt-history/picker.d.ts +64 -0
  542. package/dist/tui/renderers/prompt-history/picker.d.ts.map +1 -0
  543. package/dist/tui/renderers/prompt-history/picker.js +430 -0
  544. package/dist/tui/renderers/prompt-history/picker.js.map +1 -0
  545. package/dist/tui/renderers/prompt-history.d.ts +16 -0
  546. package/dist/tui/renderers/prompt-history.d.ts.map +1 -0
  547. package/dist/tui/renderers/prompt-history.js +113 -0
  548. package/dist/tui/renderers/prompt-history.js.map +1 -0
  549. package/dist/tui/renderers/tasks/tasks-overlay.d.ts +37 -0
  550. package/dist/tui/renderers/tasks/tasks-overlay.d.ts.map +1 -0
  551. package/dist/tui/renderers/tasks/tasks-overlay.js +461 -0
  552. package/dist/tui/renderers/tasks/tasks-overlay.js.map +1 -0
  553. package/dist/tui/renderers/tasks.d.ts +18 -0
  554. package/dist/tui/renderers/tasks.d.ts.map +1 -0
  555. package/dist/tui/renderers/tasks.js +97 -0
  556. package/dist/tui/renderers/tasks.js.map +1 -0
  557. package/dist/tui/run.d.ts +22 -0
  558. package/dist/tui/run.d.ts.map +1 -0
  559. package/dist/tui/run.js +249 -0
  560. package/dist/tui/run.js.map +1 -0
  561. package/dist/tui/screen.d.ts +73 -0
  562. package/dist/tui/screen.d.ts.map +1 -0
  563. package/dist/tui/screen.js +371 -0
  564. package/dist/tui/screen.js.map +1 -0
  565. package/dist/tui/session-navigator.d.ts +53 -0
  566. package/dist/tui/session-navigator.d.ts.map +1 -0
  567. package/dist/tui/session-navigator.js +256 -0
  568. package/dist/tui/session-navigator.js.map +1 -0
  569. package/dist/tui/settings-menu.d.ts +31 -0
  570. package/dist/tui/settings-menu.d.ts.map +1 -0
  571. package/dist/tui/settings-menu.js +78 -0
  572. package/dist/tui/settings-menu.js.map +1 -0
  573. package/dist/tui/setup-ui.d.ts +14 -0
  574. package/dist/tui/setup-ui.d.ts.map +1 -0
  575. package/dist/tui/setup-ui.js +122 -0
  576. package/dist/tui/setup-ui.js.map +1 -0
  577. package/dist/tui/setup.d.ts +29 -0
  578. package/dist/tui/setup.d.ts.map +1 -0
  579. package/dist/tui/setup.js +414 -0
  580. package/dist/tui/setup.js.map +1 -0
  581. package/dist/tui/shell-execution.d.ts +20 -0
  582. package/dist/tui/shell-execution.d.ts.map +1 -0
  583. package/dist/tui/shell-execution.js +64 -0
  584. package/dist/tui/shell-execution.js.map +1 -0
  585. package/dist/tui/startup-header.d.ts +4 -0
  586. package/dist/tui/startup-header.d.ts.map +1 -0
  587. package/dist/tui/startup-header.js +19 -0
  588. package/dist/tui/startup-header.js.map +1 -0
  589. package/dist/tui/streaming-markdown.d.ts +21 -0
  590. package/dist/tui/streaming-markdown.d.ts.map +1 -0
  591. package/dist/tui/streaming-markdown.js +118 -0
  592. package/dist/tui/streaming-markdown.js.map +1 -0
  593. package/dist/tui/theme-config.d.ts +26 -0
  594. package/dist/tui/theme-config.d.ts.map +1 -0
  595. package/dist/tui/theme-config.js +87 -0
  596. package/dist/tui/theme-config.js.map +1 -0
  597. package/dist/tui/theme-picker.d.ts +23 -0
  598. package/dist/tui/theme-picker.d.ts.map +1 -0
  599. package/dist/tui/theme-picker.js +91 -0
  600. package/dist/tui/theme-picker.js.map +1 -0
  601. package/dist/tui/theme.d.ts +15 -0
  602. package/dist/tui/theme.d.ts.map +1 -0
  603. package/dist/tui/theme.js +216 -0
  604. package/dist/tui/theme.js.map +1 -0
  605. package/dist/tui/tool-inspector.d.ts +24 -0
  606. package/dist/tui/tool-inspector.d.ts.map +1 -0
  607. package/dist/tui/tool-inspector.js +81 -0
  608. package/dist/tui/tool-inspector.js.map +1 -0
  609. package/dist/tui/tool-presentation.d.ts +3 -0
  610. package/dist/tui/tool-presentation.d.ts.map +1 -0
  611. package/dist/tui/tool-presentation.js +22 -0
  612. package/dist/tui/tool-presentation.js.map +1 -0
  613. package/dist/tui/transcript.d.ts +6 -0
  614. package/dist/tui/transcript.d.ts.map +1 -0
  615. package/dist/tui/transcript.js +78 -0
  616. package/dist/tui/transcript.js.map +1 -0
  617. package/dist/tui/tree-navigator.d.ts +71 -0
  618. package/dist/tui/tree-navigator.d.ts.map +1 -0
  619. package/dist/tui/tree-navigator.js +522 -0
  620. package/dist/tui/tree-navigator.js.map +1 -0
  621. package/npm-shrinkwrap.json +598 -116
  622. package/package.json +79 -30
  623. package/dist/acp/interactions.d.ts +0 -22
  624. package/dist/acp/interactions.d.ts.map +0 -1
  625. package/dist/acp/interactions.js +0 -353
  626. package/dist/acp/interactions.js.map +0 -1
  627. package/dist/application.d.ts +0 -23
  628. package/dist/application.d.ts.map +0 -1
  629. package/dist/application.js +0 -267
  630. package/dist/application.js.map +0 -1
  631. package/dist/browser/authorization-host.d.ts.map +0 -1
  632. package/dist/browser/authorization-host.js.map +0 -1
  633. package/dist/browser/chrome-devtools.d.ts.map +0 -1
  634. package/dist/browser/chrome-devtools.js.map +0 -1
  635. package/dist/browser/connection-lease.d.ts.map +0 -1
  636. package/dist/browser/connection-lease.js.map +0 -1
  637. package/dist/classifier-settings.d.ts +0 -10
  638. package/dist/classifier-settings.d.ts.map +0 -1
  639. package/dist/classifier-settings.js +0 -98
  640. package/dist/classifier-settings.js.map +0 -1
  641. package/dist/classifier.d.ts.map +0 -1
  642. package/dist/classifier.js.map +0 -1
  643. package/dist/codemode.d.ts.map +0 -1
  644. package/dist/codemode.js.map +0 -1
  645. package/dist/codex.d.ts +0 -3
  646. package/dist/codex.d.ts.map +0 -1
  647. package/dist/codex.js +0 -8
  648. package/dist/codex.js.map +0 -1
  649. package/dist/command-autocomplete.d.ts +0 -3
  650. package/dist/command-autocomplete.d.ts.map +0 -1
  651. package/dist/command-autocomplete.js +0 -10
  652. package/dist/command-autocomplete.js.map +0 -1
  653. package/dist/cwd-command.d.ts +0 -13
  654. package/dist/cwd-command.d.ts.map +0 -1
  655. package/dist/cwd-command.js +0 -176
  656. package/dist/cwd-command.js.map +0 -1
  657. package/dist/dependencies.d.ts +0 -37
  658. package/dist/dependencies.d.ts.map +0 -1
  659. package/dist/dependencies.js +0 -372
  660. package/dist/dependencies.js.map +0 -1
  661. package/dist/extension-settings.d.ts +0 -12
  662. package/dist/extension-settings.d.ts.map +0 -1
  663. package/dist/extension-settings.js +0 -241
  664. package/dist/extension-settings.js.map +0 -1
  665. package/dist/extensions.d.ts +0 -62
  666. package/dist/extensions.d.ts.map +0 -1
  667. package/dist/extensions.js +0 -265
  668. package/dist/extensions.js.map +0 -1
  669. package/dist/fusion/host.d.ts +0 -3
  670. package/dist/fusion/host.d.ts.map +0 -1
  671. package/dist/fusion/host.js +0 -333
  672. package/dist/fusion/host.js.map +0 -1
  673. package/dist/fusion/model-picker.d.ts.map +0 -1
  674. package/dist/fusion/model-picker.js.map +0 -1
  675. package/dist/herdr.d.ts +0 -29
  676. package/dist/herdr.d.ts.map +0 -1
  677. package/dist/herdr.js +0 -247
  678. package/dist/herdr.js.map +0 -1
  679. package/dist/insights.d.ts +0 -5
  680. package/dist/insights.d.ts.map +0 -1
  681. package/dist/insights.js +0 -140
  682. package/dist/insights.js.map +0 -1
  683. package/dist/lock.d.ts +0 -27
  684. package/dist/lock.d.ts.map +0 -1
  685. package/dist/lock.js +0 -432
  686. package/dist/lock.js.map +0 -1
  687. package/dist/logger.d.ts +0 -7
  688. package/dist/logger.d.ts.map +0 -1
  689. package/dist/logger.js +0 -48
  690. package/dist/logger.js.map +0 -1
  691. package/dist/mcp/callback-server.d.ts +0 -11
  692. package/dist/mcp/callback-server.d.ts.map +0 -1
  693. package/dist/mcp/callback-server.js.map +0 -1
  694. package/dist/mcp/config.d.ts +0 -20
  695. package/dist/mcp/config.d.ts.map +0 -1
  696. package/dist/mcp/config.js +0 -352
  697. package/dist/mcp/config.js.map +0 -1
  698. package/dist/mcp/index.d.ts +0 -3
  699. package/dist/mcp/index.d.ts.map +0 -1
  700. package/dist/mcp/index.js +0 -25
  701. package/dist/mcp/index.js.map +0 -1
  702. package/dist/mcp/oauth-host.d.ts +0 -42
  703. package/dist/mcp/oauth-host.d.ts.map +0 -1
  704. package/dist/mcp/oauth-host.js +0 -524
  705. package/dist/mcp/oauth-host.js.map +0 -1
  706. package/dist/mcp/oauth-store.d.ts +0 -27
  707. package/dist/mcp/oauth-store.d.ts.map +0 -1
  708. package/dist/mcp/oauth-store.js +0 -138
  709. package/dist/mcp/oauth-store.js.map +0 -1
  710. package/dist/memory/control.d.ts +0 -8
  711. package/dist/memory/control.d.ts.map +0 -1
  712. package/dist/memory/control.js +0 -167
  713. package/dist/memory/control.js.map +0 -1
  714. package/dist/memory/coordinator.d.ts +0 -53
  715. package/dist/memory/coordinator.d.ts.map +0 -1
  716. package/dist/memory/coordinator.js +0 -807
  717. package/dist/memory/coordinator.js.map +0 -1
  718. package/dist/memory/dreamer.d.ts +0 -50
  719. package/dist/memory/dreamer.d.ts.map +0 -1
  720. package/dist/memory/dreamer.js +0 -527
  721. package/dist/memory/dreamer.js.map +0 -1
  722. package/dist/memory/history-view.d.ts.map +0 -1
  723. package/dist/memory/history-view.js.map +0 -1
  724. package/dist/memory/lease.d.ts +0 -13
  725. package/dist/memory/lease.d.ts.map +0 -1
  726. package/dist/memory/lease.js +0 -188
  727. package/dist/memory/lease.js.map +0 -1
  728. package/dist/memory/project.d.ts +0 -7
  729. package/dist/memory/project.d.ts.map +0 -1
  730. package/dist/memory/project.js +0 -41
  731. package/dist/memory/project.js.map +0 -1
  732. package/dist/memory/run-retention.d.ts +0 -12
  733. package/dist/memory/run-retention.d.ts.map +0 -1
  734. package/dist/memory/run-retention.js +0 -294
  735. package/dist/memory/run-retention.js.map +0 -1
  736. package/dist/memory/run.d.ts +0 -79
  737. package/dist/memory/run.d.ts.map +0 -1
  738. package/dist/memory/run.js +0 -417
  739. package/dist/memory/run.js.map +0 -1
  740. package/dist/memory/store.d.ts +0 -116
  741. package/dist/memory/store.d.ts.map +0 -1
  742. package/dist/memory/store.js +0 -751
  743. package/dist/memory/store.js.map +0 -1
  744. package/dist/model-defaults.d.ts.map +0 -1
  745. package/dist/model-defaults.js.map +0 -1
  746. package/dist/model-selector.d.ts +0 -5
  747. package/dist/model-selector.d.ts.map +0 -1
  748. package/dist/model-selector.js +0 -87
  749. package/dist/model-selector.js.map +0 -1
  750. package/dist/output-style-instructions.d.ts +0 -6
  751. package/dist/output-style-instructions.d.ts.map +0 -1
  752. package/dist/output-style-instructions.js +0 -53
  753. package/dist/output-style-instructions.js.map +0 -1
  754. package/dist/overlay-images.d.ts +0 -9
  755. package/dist/overlay-images.d.ts.map +0 -1
  756. package/dist/overlay-images.js +0 -99
  757. package/dist/overlay-images.js.map +0 -1
  758. package/dist/pi-extensions.d.ts +0 -28
  759. package/dist/pi-extensions.d.ts.map +0 -1
  760. package/dist/pi-extensions.js +0 -141
  761. package/dist/pi-extensions.js.map +0 -1
  762. package/dist/pi-llama.d.ts +0 -2
  763. package/dist/pi-llama.d.ts.map +0 -1
  764. package/dist/pi-llama.js +0 -15
  765. package/dist/pi-llama.js.map +0 -1
  766. package/dist/pi-lock.d.ts.map +0 -1
  767. package/dist/pi-lock.js.map +0 -1
  768. package/dist/powerline.d.ts +0 -12
  769. package/dist/powerline.d.ts.map +0 -1
  770. package/dist/powerline.js.map +0 -1
  771. package/dist/project-trust-prompt.d.ts +0 -30
  772. package/dist/project-trust-prompt.d.ts.map +0 -1
  773. package/dist/project-trust-prompt.js +0 -122
  774. package/dist/project-trust-prompt.js.map +0 -1
  775. package/dist/project-trust.d.ts +0 -8
  776. package/dist/project-trust.d.ts.map +0 -1
  777. package/dist/project-trust.js +0 -36
  778. package/dist/project-trust.js.map +0 -1
  779. package/dist/prompt-history.d.ts +0 -11
  780. package/dist/prompt-history.d.ts.map +0 -1
  781. package/dist/prompt-history.js +0 -96
  782. package/dist/prompt-history.js.map +0 -1
  783. package/dist/restart-command.d.ts +0 -9
  784. package/dist/restart-command.d.ts.map +0 -1
  785. package/dist/restart-command.js +0 -94
  786. package/dist/restart-command.js.map +0 -1
  787. package/dist/resume.d.ts +0 -5
  788. package/dist/resume.d.ts.map +0 -1
  789. package/dist/resume.js +0 -46
  790. package/dist/resume.js.map +0 -1
  791. package/dist/runtime-factory.d.ts +0 -12
  792. package/dist/runtime-factory.d.ts.map +0 -1
  793. package/dist/runtime-factory.js +0 -12
  794. package/dist/runtime-factory.js.map +0 -1
  795. package/dist/runtime.d.ts +0 -59
  796. package/dist/runtime.d.ts.map +0 -1
  797. package/dist/runtime.js +0 -534
  798. package/dist/runtime.js.map +0 -1
  799. package/dist/savings.d.ts.map +0 -1
  800. package/dist/savings.js.map +0 -1
  801. package/dist/settings.d.ts.map +0 -1
  802. package/dist/settings.js +0 -359
  803. package/dist/settings.js.map +0 -1
  804. package/dist/startup-header.d.ts +0 -9
  805. package/dist/startup-header.d.ts.map +0 -1
  806. package/dist/startup-header.js +0 -151
  807. package/dist/startup-header.js.map +0 -1
  808. package/dist/subagents/catalog.d.ts +0 -8
  809. package/dist/subagents/catalog.d.ts.map +0 -1
  810. package/dist/subagents/catalog.js +0 -136
  811. package/dist/subagents/catalog.js.map +0 -1
  812. package/dist/subagents/host.d.ts +0 -133
  813. package/dist/subagents/host.d.ts.map +0 -1
  814. package/dist/subagents/host.js +0 -1420
  815. package/dist/subagents/host.js.map +0 -1
  816. package/dist/subagents/store.d.ts +0 -25
  817. package/dist/subagents/store.d.ts.map +0 -1
  818. package/dist/subagents/store.js +0 -35
  819. package/dist/subagents/store.js.map +0 -1
  820. package/dist/system-prompt.d.ts.map +0 -1
  821. package/dist/system-prompt.js.map +0 -1
  822. package/dist/tui-compatibility.d.ts +0 -4
  823. package/dist/tui-compatibility.d.ts.map +0 -1
  824. package/dist/tui-compatibility.js +0 -244
  825. package/dist/tui-compatibility.js.map +0 -1
  826. package/dist/update-notification.d.ts +0 -3
  827. package/dist/update-notification.d.ts.map +0 -1
  828. package/dist/update-notification.js +0 -50
  829. package/dist/update-notification.js.map +0 -1
  830. /package/dist/{browser → providers/browser}/chrome-devtools.d.ts +0 -0
  831. /package/dist/{browser → providers/browser}/chrome-devtools.js +0 -0
  832. /package/dist/{browser → providers/browser}/connection-lease.d.ts +0 -0
  833. /package/dist/{browser → providers/browser}/connection-lease.js +0 -0
  834. /package/dist/{classifier.d.ts → providers/classifier.d.ts} +0 -0
  835. /package/dist/{classifier.js → providers/classifier.js} +0 -0
  836. /package/dist/{codemode.d.ts → providers/codemode.d.ts} +0 -0
  837. /package/dist/{codemode.js → providers/codemode.js} +0 -0
  838. /package/dist/{model-defaults.d.ts → providers/model-defaults.d.ts} +0 -0
  839. /package/dist/{model-defaults.js → providers/model-defaults.js} +0 -0
  840. /package/dist/{pi-lock.d.ts → providers/pi-lock.d.ts} +0 -0
  841. /package/dist/{system-prompt.d.ts → providers/system-prompt.d.ts} +0 -0
  842. /package/dist/{system-prompt.js → providers/system-prompt.js} +0 -0
package/NOTICE CHANGED
@@ -1,5 +1,8 @@
1
1
  @felan-ai/felan
2
2
 
3
+ The exact @felan-ai/daemon dependency supplies local host execution and its
4
+ native Koffi ownership adapter. See that package's LICENSE and NOTICE.
5
+
3
6
  Copyright (c) 2026 Felan contributors
4
7
 
5
8
  This package composes the MIT-licensed @felan-ai/agent-core and Felan extension
@@ -32,6 +35,23 @@ The Fusion integration uses original MIT-licensed Felan code from
32
35
  reviewed revision recorded in the extension's NOTICE; no upstream source or
33
36
  prompt text is copied. Its package-level LICENSE and NOTICE contain details.
34
37
 
38
+ The client-owned ask-user wizard adapts the MIT-licensed pi-ask-user by
39
+ Enzo Lucchesi, via packages/pi-ask-user in https://github.com/mslavov/pi-extensions
40
+ at 7e72e509fe45a5a87c4c2e176cb711de994a8c1d and pi-ask-user 0.14.0 at
41
+ 2de7e145227f7a527e995e323a50e7ee9bf88b0e.
42
+ Copyright (c) 2026 Enzo Lucchesi.
43
+
44
+ The client-owned context and Powerline renderers adapt MIT-licensed
45
+ packages/pi-context and packages/pi-powerline from the same pi-extensions
46
+ revision. Copyright (c) 2026 Milko Slavov. The Powerline source also credits
47
+ packages/sub-core from https://github.com/marckrenn/pi-sub.
48
+ Copyright (c) 2026 Marc Krenn.
49
+
50
+ The client-owned Codex tool labels adapt @howaboua/pi-codex-conversion 3.0.8
51
+ at 62d1501ac0c6acb39c4b4d225a9e9056a7ba3b91 from
52
+ https://github.com/IgorWarzocha/howaboua-pi-stuff, licensed under the MIT License.
53
+ Copyright (c) 2026 Umberto B.
54
+
35
55
  The terminal application uses @earendil-works/pi-coding-agent and
36
56
  @earendil-works/pi-tui from https://github.com/earendil-works/pi,
37
57
  licensed under the MIT License.
package/README.md CHANGED
@@ -1,17 +1,41 @@
1
1
  # Felan Code
2
2
 
3
3
  Local, account-free, model-portable coding agent built for cost-efficient,
4
- verifiable software work on `@felan-ai/agent-core` and Pi's interactive TUI
5
- and print modes.
4
+ verifiable software work on `@felan-ai/agent-core`, a Felan-owned TUI built
5
+ with public Pi TUI primitives, and Pi's session runtime.
6
6
 
7
7
  ```sh
8
8
  npx @felan-ai/felan
9
9
  ```
10
10
 
11
- The package exposes the `felan` binary. It owns local credentials, settings,
12
- session and agent storage paths, built-in extension selection, dependency
13
- onboarding, lifecycle, and TUI presentation. Portable feature behavior remains
14
- in the `@felan-ai/ext-*` packages.
11
+ The package exposes the `felan` binary and owns CLI/TUI, ACP, headless clients,
12
+ local service providers and the default `host.json`. It installs an exact
13
+ `@felan-ai/daemon` dependency. The daemon owns admission, canonical storage and
14
+ execution lifetime; local providers supply settings, credentials and runtimes.
15
+ Portable feature behavior remains in the `@felan-ai/ext-*` packages.
16
+
17
+ All session execution goes through the exact installed daemon package;
18
+ `resolveInstalledDaemonEntrypoint()` does not assume the launch cwd. The former
19
+ profile exports are removed. Providers use `@felan-ai/daemon/provider` and
20
+ `@felan-ai/daemon/session-runtime`. The coordinated breaking releases are
21
+ Felan 0.30.0, daemon 0.1.0 and Agent Core 0.13.0.
22
+
23
+ ### Configured services
24
+
25
+ Pass `--host-config /absolute/path/host.json` to select explicit trusted
26
+ configuration. Otherwise the launcher uses `host.json` in the agent directory,
27
+ then its packaged default. Providers resolve from the installed managing
28
+ package, never from the project or configuration directory. Provider changes
29
+ require a daemon restart. Restored sessions resume with the current
30
+ configuration, as in 0.28.3.
31
+
32
+ Programmatic consumers use the client API: `runCli`, `runDaemonFelan`,
33
+ `runLocalFelanHeadless`, `SessionClient`, `newRequestId`, daemon target and
34
+ client-configuration path helpers, version, and entrypoint resolution. Runtime,
35
+ store, model, settings, classifier, and subagent-host constructors are no longer
36
+ exported. `CliDependencies.openSession` and headless host-runtime options were
37
+ removed; run work through the daemon service instead. There is no in-process
38
+ fallback.
15
39
 
16
40
  > [!IMPORTANT]
17
41
  > The local host uses the current user's filesystem and process permissions. It
@@ -65,13 +89,16 @@ felan [options] [message]
65
89
  --provider <name> Select a headless model provider
66
90
  --model <name> Select a headless model or provider/model reference
67
91
  --thinking <level> Select headless thinking: off|minimal|low|medium|high|xhigh|max
92
+ -e, --extension <path> Load an external extension (repeatable; interactive TUI only)
68
93
  -c, --continue Continue the most recent session for this directory
69
94
  -r, --resume Pick a session to resume
70
95
  --session <id> Resume a specific session
71
96
  --session-dir <dir> Session directory for --session
72
97
  --diagnostics Print runtime versions and configuration mode
98
+ --host-config <path> Select an absolute trusted host.json path
73
99
  update Update a global npm installation of Felan Code
74
100
  savings Show persisted estimated API-equivalent savings
101
+ daemon <action> Manage the persistent local daemon
75
102
  acp Serve Agent Client Protocol v1 over stdio
76
103
  acp login Configure model-provider credentials in a finite terminal flow
77
104
  -h, --help Show help
@@ -79,10 +106,9 @@ acp login Configure model-provider credentials in a finite terminal fl
79
106
  --verbose Show verbose startup details
80
107
  ```
81
108
 
82
- After rebuilding Felan Code from this repository, use `/restart` in the interactive
83
- TUI to reload Felan Code, Agent Core, and extension modules while preserving the
84
- current session. It replaces the Node process and resumes the same session;
85
- unlike Pi's `/reload`, it is not an in-process resource reload.
109
+ `/restart` restarts the daemon and then Felan Code, resuming the current
110
+ session, so rebuilt daemon and client code both take effect. `/daemon restart`
111
+ restarts only the daemon and reattaches the current session in place.
86
112
 
87
113
  Run `felan update` to check the stable npm release. It updates only a verified
88
114
  global npm installation, reports when the installation is current, and tells
@@ -97,13 +123,62 @@ that launched Felan Code. Offline, failed, and malformed responses stay silent,
97
123
  Felan Code never installs an update automatically. Set
98
124
  `FELAN_SKIP_VERSION_CHECK=1` to disable this startup request.
99
125
 
100
- Invocations without `--mode` start the interactive TUI. `--mode text` runs one
101
- headless session and prints the final response; `--mode json` emits Pi-compatible
102
- JSONL session events. JSONL stdout is machine-readable, while diagnostics and
103
- failures go to stderr with a non-zero exit status. Both modes require a prompt,
104
- support `--continue` and `--session`, and accept `--provider`, `--model`, and
105
- `--thinking` for reproducible model selection. `--resume` remains interactive-only.
106
- Headless startup never runs dependency onboarding or the interactive update check.
126
+ Invocations without `--mode` attach the interactive TUI to the daemon. `--mode
127
+ text` runs one headless daemon session and prints the final response; `--mode json`
128
+ emits Pi-compatible JSONL session events. JSONL stdout is machine-readable, while
129
+ diagnostics and failures go to stderr with a non-zero exit status. Both modes
130
+ require a prompt, support `--continue` and `--session`, and accept `--provider`,
131
+ `--model`, and `--thinking` for reproducible model selection. `--resume` remains
132
+ interactive-only. Headless startup never runs dependency onboarding or the
133
+ interactive update check. It detaches on completion; CI must use an explicit
134
+ isolated `--daemon-runtime` and stop that daemon explicitly.
135
+
136
+ ## Daemon lifecycle
137
+
138
+ The daemon persists after a client exits. Use these management commands:
139
+
140
+ ```sh
141
+ felan daemon status
142
+ felan daemon start
143
+ felan daemon foreground
144
+ felan daemon logs
145
+ felan daemon stop
146
+ felan daemon restart
147
+ ```
148
+
149
+ `status` and `logs` never start it. `start` attaches to a compatible instance or
150
+ launches the exact installed daemon. `foreground` remains attached to the service.
151
+ `stop` and `restart` wait for active work to finish. If it does not finish
152
+ before the drain deadline, the command fails and the daemon keeps running; add
153
+ `--force` to interrupt the work instead. A replacement inherits the requesting shell environment. No
154
+ per-session environment is sent or persisted. The TUI offers `/daemon status`,
155
+ `/daemon logs`, `/daemon stop`, and `/daemon restart`. When active work (runs, subagents, interactive PTY or foreground processes, and pending questions)
156
+ would be interrupted, they ask once with the count and then stop or restart
157
+ immediately. A daemon from another Felan version is replaced automatically only
158
+ when it has no active work; otherwise the TUI shows how many active tasks a
159
+ restart would interrupt and asks first.
160
+
161
+ `/exit` (or Ctrl+D on an empty editor) detaches. Escape interrupts the current
162
+ run. `/close` disposes of the selected session. These actions do not
163
+ mean the same thing.
164
+
165
+ If the daemon connection drops, for example because the daemon restarts, the
166
+ TUI keeps the input usable and shows `Daemon disconnected · reconnecting in Ns
167
+ · /reconnect to retry now`. It retries automatically with backoff (250 ms,
168
+ doubling to 10 s, with no attempt limit) and, once the daemon is back,
169
+ reattaches the current session and briefly shows `Reconnected`. Automatic
170
+ retries only connect to a running daemon; they never start one, so an explicit
171
+ `felan daemon stop` stays stopped. `/reconnect` retries immediately and starts
172
+ the daemon when none is running. Input submitted while disconnected stays in
173
+ the editor; requests in flight when the connection dropped report that their
174
+ outcome is unknown, because the daemon may still be running them. ACP clients
175
+ reconnect the same way while the editor connection is open. Headless text runs
176
+ fail if the daemon does not return within 30 seconds; JSON runs fail on any
177
+ interruption because their event stream cannot be replayed.
178
+
179
+ `/reload` keeps all background processes. A daemon restart keeps detached
180
+ background processes, which the restored session rediscovers, and ends
181
+ interactive (PTY) ones, as quitting Felan Code did before the daemon.
107
182
 
108
183
  ## Native ACP v1
109
184
 
@@ -121,11 +196,13 @@ npx --yes @felan-ai/felan acp
121
196
 
122
197
  `felan acp` serves stable ACP v1 over newline-delimited JSON on stdio. Stdout
123
198
  is reserved for protocol frames; diagnostics go to stderr. ACP clients receive
124
- the machine name `felan` and display title `Felan Code`. Each ACP session gets
125
- an isolated local runtime and can create, load, prompt, cancel, and close Felan Code
126
- sessions. Felan Code accepts baseline text and resource-link prompt blocks, replays
127
- the current persisted branch on load, and streams user, assistant, thought,
128
- and bounded tool-call updates.
199
+ the machine name `felan` and display title `Felan Code`. Each ACP attachment is a daemon client and can create, load, prompt, cancel, and
200
+ detach from Felan Code sessions. Felan Code accepts baseline text and resource-link
201
+ prompt blocks, replays the current persisted branch on load, and streams user,
202
+ assistant, thought, and tool-call updates. ACP uses strict daemon policy: it
203
+ applies to the session tree immediately (running tool calls keep the approvals
204
+ they already had) and returns to host defaults when the last ACP client detaches.
205
+ EOF detaches without answering pending interactions or stopping session work.
129
206
 
130
207
  When the client advertises terminal authentication, Felan Code offers a terminal
131
208
  method that appends `login` to the configured `felan acp` invocation. Run the
@@ -142,9 +219,10 @@ npx --yes @felan-ai/felan acp login
142
219
  ```
143
220
 
144
221
  The finite login process supports configurable API-key and OAuth provider
145
- methods, hides secret and manual-code input, and saves credentials only through
146
- the local `ModelRuntime` credential store at `$FELAN_AGENT_DIR/auth.json`
147
- (`~/.felan/auth.json` by default). Do not commit or share that file. An ACP
222
+ methods, hides secret and manual-code input, and saves credentials through the
223
+ daemon-owned credential store at `$FELAN_AGENT_DIR/auth.json` (`~/.felan/auth.json`
224
+ by default). Do not commit or share that file. Secrets use the ephemeral setup
225
+ answer path, never durable interaction answers or session transcripts. An ACP
148
226
  client should reconnect after successful terminal authentication. Form-capable
149
227
  clients also receive `ask_user` and Prewalk review as ACP elicitations.
150
228
 
@@ -175,9 +253,9 @@ Zed and Felan Code do not share provider credentials automatically. If Felan Cod
175
253
  authentication, select its terminal login method or run `felan acp login`, then
176
254
  start a new external-agent connection.
177
255
 
178
- ACP action safety is host-owned. Known mutation, process, network, and unknown
256
+ ACP action safety is daemon-owned. Known mutation, process, network, and unknown
179
257
  tools request `allow once` or `reject once`; known read-only/internal tools can
180
- proceed. This is not a durable permission policy or sandbox. MCP definitions
258
+ proceed. Approvals are durable daemon state, not a sandbox. MCP definitions
181
259
  supplied in ACP `session/new` or `session/load` are accepted for client
182
260
  compatibility and ignored. Configure Felan Code's separate OAuth-only remote HTTP
183
261
  MCP gateway through `mcp.json` instead.
@@ -211,23 +289,32 @@ extension state under `$FELAN_AGENT_DIR/storage/agent`.
211
289
 
212
290
  The local host loads source-controlled Felan Code built-ins, Felan-owned
213
291
  settings and prompt appends, explicit Felan Code agents and Agent Skills, the
214
- Agent Core-selected cwd instruction file, and local Pi extensions explicitly
215
- provided with repeatable `--extension`/`-e` flags for the interactive root TUI.
216
- `piExtensions.user` and `piExtensions.project` can additionally load
217
- `~/.pi/agent/extensions` and trusted `<cwd>/.pi/extensions`. Ambient Pi
292
+ Agent Core-selected cwd instruction file, and external extensions explicitly
293
+ provided by local clients with repeatable, additive `--extension`/`-e` flags.
294
+ Remote creates cannot supply explicit paths. The host's `piExtensions.user`
295
+ and `piExtensions.project` settings, both off by default, load
296
+ `~/.pi/agent/extensions` and trusted `<cwd>/.pi/extensions` for every new root:
297
+ TUI, ACP, headless/print mode, web-created and imported sessions. Ambient Pi
218
298
  packages, prompts, themes, project settings, and package resources remain
219
299
  filtered.
220
300
 
221
301
  Set `piExtensions.llamaCpp: true` in Felan's global settings to opt into Pi's
222
- bundled llama.cpp integration for interactive root sessions. It is independent
223
- of the external `pi-llama` package, does not install or start a router, and
224
- does not enable other Pi built-ins. After restarting, connect to an existing
302
+ bundled llama.cpp integration for root sessions of any client, not children.
303
+ It is independent of the external `pi-llama` package, does not install or start
304
+ a router, and does not enable other Pi built-ins. After restarting, connect to an existing
225
305
  llama.cpp router with `/login llama.cpp`, manage models with `/llama`, and
226
306
  select one with `/model`.
227
307
 
228
- These Pi extensions execute with the current user's permissions. They are not
229
- installed from network/package sources and are not loaded in headless, ACP, or
230
- subagent sessions. Project directories ask for Felan folder trust before load.
308
+ External extension paths are fixed at creation. Resume and clone/fork retain
309
+ saved paths; adopting an unindexed transcript on attach loads no external
310
+ extensions. Children, including subagents and workers, load their root's
311
+ external extension paths; worker tool allowlists still limit active tools.
312
+
313
+ Only the creating TUI prompts for project folder trust. ACP, headless and web
314
+ creates skip undecided folders without saving a decision and load folders
315
+ already trusted directly or through a parent. External extensions execute with
316
+ the current user's permissions in all these sessions; they are not installed
317
+ from network/package sources.
231
318
 
232
319
  When launched inside Herdr, the TUI reports its Felan Code lifecycle and session
233
320
  identity through Herdr's inherited local socket environment. This is TUI-only
@@ -344,19 +431,19 @@ details:
344
431
 
345
432
  ## Development
346
433
 
347
- Source: `apps/tui` in <https://github.com/felan-ai/felan>.
434
+ Source: `apps/felan` in <https://github.com/felan-ai/felan>.
348
435
 
349
436
  ```sh
350
437
  corepack enable
351
438
  pnpm install --frozen-lockfile
352
439
  pnpm --filter @felan-ai/felan build
353
440
  pnpm --filter @felan-ai/felan type-check
354
- pnpm --filter @felan-ai/felan test
441
+ scripts/test-isolated.sh pnpm --filter @felan-ai/felan test
355
442
  ```
356
443
 
357
444
  The development-only root preview (`pnpm theme:preview`) shows the two
358
445
  host-owned themes across representative Pi, editor, and Powerline states. It
359
446
  is intentionally a browser approximation rather than a second renderer.
360
447
 
361
- Run `pnpm verify` from the repository root for cross-package and packed-binary
448
+ Run `scripts/test-isolated.sh pnpm verify` from the repository root for cross-package and packed-binary
362
449
  coverage.
@@ -0,0 +1,34 @@
1
+ import { type Message, type SessionSnapshot } from '@felan-ai/session-protocol';
2
+ import { SessionClient, type SessionClientOptions } from '../client/client.js';
3
+ export interface DaemonClientOptions {
4
+ readonly agentDir?: string;
5
+ readonly daemonRuntime?: string;
6
+ readonly sessionDir?: string;
7
+ readonly createClient?: (options: SessionClientOptions) => SessionClient;
8
+ }
9
+ export declare function createDaemonClient(options: DaemonClientOptions, kind: 'acp' | 'headless', interactionKinds?: SessionClientOptions['interactionKinds'], capabilities?: SessionClientOptions['capabilities']): Promise<SessionClient>;
10
+ export declare class DaemonRequestError extends Error {
11
+ readonly code: string;
12
+ readonly outcome: 'rejected' | 'indeterminate';
13
+ readonly retryable: boolean;
14
+ constructor(code: string, message: string, outcome: 'rejected' | 'indeterminate', retryable: boolean);
15
+ }
16
+ export declare function accepted<T>(response: {
17
+ outcome: 'accepted';
18
+ result: T;
19
+ } | {
20
+ outcome: 'rejected' | 'indeterminate';
21
+ error: {
22
+ code: string;
23
+ message: string;
24
+ retryable: boolean;
25
+ };
26
+ }): T;
27
+ export declare function readDaemonHistory(client: SessionClient, session: string, snapshot: SessionSnapshot): Promise<Message[]>;
28
+ export declare function waitForDaemonAttachment(client: SessionClient, session: string, signal?: AbortSignal): Promise<SessionSnapshot>;
29
+ export declare function readCurrentDaemonHistory(client: SessionClient, session: string, signal?: AbortSignal): Promise<{
30
+ snapshot: SessionSnapshot;
31
+ messages: Message[];
32
+ }>;
33
+ export declare function waitForDaemonRun(client: SessionClient, session: string, runId: string, signal?: AbortSignal): Promise<SessionSnapshot>;
34
+ //# sourceMappingURL=daemon-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemon-session.d.ts","sourceRoot":"","sources":["../../src/acp/daemon-session.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,KAAK,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAK/E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,aAAa,CAAC;CAC1E;AAKD,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,KAAK,GAAG,UAAU,EAAE,gBAAgB,GAAE,oBAAoB,CAAC,kBAAkB,CAAM,EAAE,YAAY,GAAE,oBAAoB,CAAC,cAAc,CAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAQjP;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM;IAAmB,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,eAAe;IAAE,QAAQ,CAAC,SAAS,EAAE,OAAO;gBAA1G,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAW,OAAO,EAAE,UAAU,GAAG,eAAe,EAAW,SAAS,EAAE,OAAO;CAGhI;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE;IAAE,OAAO,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,UAAU,GAAG,eAAe,CAAC;IAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,GAAG,CAAC,CAGrL;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAa7H;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CA0B9H;AAED,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,eAAe,CAAC;IAAC,QAAQ,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC,CAWxK;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CA2BtI"}
@@ -0,0 +1,142 @@
1
+ import { DAEMON_VERSION } from '@felan-ai/daemon';
2
+ import { LIMITS } from '@felan-ai/session-protocol';
3
+ import { SessionClient } from '../client/client.js';
4
+ import { clientDaemonTarget } from '../client-application.js';
5
+ import { resolveClientHostComposition, resolveInstalledDaemonEntrypoint } from '../daemon-entrypoint.js';
6
+ import { FELAN_VERSION } from '../version.js';
7
+ /** Backoff of 250 ms doubling to 10 s spans about 36 s over eight attempts, covering the 30 s headless reconnect window. */
8
+ const HEADLESS_RECONNECT_ATTEMPTS = 8;
9
+ export async function createDaemonClient(options, kind, interactionKinds = [], capabilities = []) {
10
+ const target = clientDaemonTarget(options);
11
+ const expectedComposition = options.createClient ? undefined : await resolveClientHostComposition(target);
12
+ return (options.createClient ?? (settings => new SessionClient(settings)))({
13
+ target, clientVersion: FELAN_VERSION, expectedDaemonVersion: DAEMON_VERSION, ...(expectedComposition ? { expectedComposition } : {}),
14
+ kind, interactionKinds, capabilities, launch: { entrypoint: resolveInstalledDaemonEntrypoint() },
15
+ ...(kind === 'headless' ? { reconnectAttempts: HEADLESS_RECONNECT_ATTEMPTS } : {}),
16
+ });
17
+ }
18
+ export class DaemonRequestError extends Error {
19
+ code;
20
+ outcome;
21
+ retryable;
22
+ constructor(code, message, outcome, retryable) {
23
+ super(message);
24
+ this.code = code;
25
+ this.outcome = outcome;
26
+ this.retryable = retryable;
27
+ }
28
+ }
29
+ export function accepted(response) {
30
+ if (response.outcome !== 'accepted')
31
+ throw new DaemonRequestError(response.error.code, response.error.message, response.outcome, response.error.retryable);
32
+ return response.result;
33
+ }
34
+ export async function readDaemonHistory(client, session, snapshot) {
35
+ let entries = [...snapshot.history.entries];
36
+ let cursor = snapshot.history.cursor;
37
+ const seen = new Set();
38
+ while (cursor) {
39
+ if (seen.has(cursor))
40
+ throw new Error('Session history cursor repeated');
41
+ seen.add(cursor);
42
+ const page = accepted(await client.request('session.history', { revision: snapshot.history.revision, branch: snapshot.history.branch, cursor, limit: LIMITS.pageEntries }, { session }));
43
+ if (page.revision !== snapshot.history.revision || page.branch !== snapshot.history.branch)
44
+ throw new Error('Session changed while loading history; retry the attachment');
45
+ entries = [...page.entries, ...entries];
46
+ cursor = page.cursor;
47
+ }
48
+ return entries;
49
+ }
50
+ export function waitForDaemonAttachment(client, session, signal) {
51
+ return new Promise((resolve, reject) => {
52
+ let unsubscribe = () => { };
53
+ let timer;
54
+ const finish = (error, snapshot) => {
55
+ unsubscribe();
56
+ clearTimeout(timer);
57
+ signal?.removeEventListener('abort', abort);
58
+ error ? reject(error) : resolve(snapshot);
59
+ };
60
+ const abort = () => finish(new Error('Client detached while waiting for session recovery'));
61
+ const check = () => {
62
+ const attachment = client.getAttachment(session);
63
+ if (signal?.aborted) {
64
+ abort();
65
+ return;
66
+ }
67
+ if (!attachment || ['closed', 'blocked', 'incompatible'].includes(client.status) || attachment.state.status === 'blocked') {
68
+ finish(new Error('Session recovery failed'));
69
+ return;
70
+ }
71
+ if (client.status !== 'ready') {
72
+ timer ??= setTimeout(() => finish(new Error('Session reconnect timed out')), 30_000);
73
+ return;
74
+ }
75
+ clearTimeout(timer);
76
+ timer = undefined;
77
+ if (attachment.state.status === 'live' && attachment.state.snapshot)
78
+ finish(undefined, attachment.state.snapshot);
79
+ };
80
+ unsubscribe = client.subscribe(check);
81
+ signal?.addEventListener('abort', abort, { once: true });
82
+ check();
83
+ });
84
+ }
85
+ export async function readCurrentDaemonHistory(client, session, signal) {
86
+ for (let attempt = 0; attempt < 4; attempt++) {
87
+ const snapshot = await waitForDaemonAttachment(client, session, signal);
88
+ const response = await client.request('session.history', { revision: snapshot.revision, branch: snapshot.branch, limit: LIMITS.pageEntries }, { session });
89
+ if (response.outcome !== 'accepted' && response.error.code === 'resync_required')
90
+ continue;
91
+ const history = accepted(response);
92
+ const current = { ...snapshot, revision: history.revision, branch: history.branch, history };
93
+ try {
94
+ return { snapshot: current, messages: await readDaemonHistory(client, session, current) };
95
+ }
96
+ catch (error) {
97
+ if (!(error instanceof DaemonRequestError) || error.code !== 'resync_required')
98
+ throw error;
99
+ }
100
+ }
101
+ throw new Error('Session changed repeatedly while reading completed history');
102
+ }
103
+ export function waitForDaemonRun(client, session, runId, signal) {
104
+ return new Promise((resolve, reject) => {
105
+ let timer;
106
+ let unsubscribe = () => { };
107
+ const finish = (error, snapshot) => {
108
+ unsubscribe();
109
+ clearTimeout(timer);
110
+ signal?.removeEventListener('abort', abort);
111
+ if (error !== undefined)
112
+ reject(error);
113
+ else
114
+ resolve(snapshot);
115
+ };
116
+ const abort = () => finish(new Error('Client detached; daemon execution may still be running'));
117
+ const check = () => {
118
+ const attachment = client.getAttachment(session);
119
+ if (signal?.aborted) {
120
+ abort();
121
+ return;
122
+ }
123
+ if (!attachment || ['blocked', 'closed', 'incompatible'].includes(client.status) || attachment.state.status === 'blocked') {
124
+ finish(new Error('Session connection is unavailable; daemon execution may still be running'));
125
+ return;
126
+ }
127
+ if (client.status !== 'ready' || attachment.state.status !== 'live') {
128
+ timer ??= setTimeout(() => finish(new Error('Session reconnect timed out; daemon execution may still be running')), 30_000);
129
+ return;
130
+ }
131
+ clearTimeout(timer);
132
+ timer = undefined;
133
+ const snapshot = attachment.state.snapshot;
134
+ if (snapshot.run.state === 'idle' || snapshot.run.state === 'interrupted' || (snapshot.run.id && snapshot.run.id !== runId))
135
+ finish(undefined, snapshot);
136
+ };
137
+ unsubscribe = client.subscribe(check);
138
+ signal?.addEventListener('abort', abort, { once: true });
139
+ check();
140
+ });
141
+ }
142
+ //# sourceMappingURL=daemon-session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemon-session.js","sourceRoot":"","sources":["../../src/acp/daemon-session.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type ModelRuntime } from '@felan-ai/agent-core';
1
+ import { SessionClient, type SessionClientOptions } from '../client/client.js';
2
2
  export interface AcpLoginChoice {
3
3
  readonly id: string;
4
4
  readonly label: string;
@@ -18,8 +18,10 @@ export interface AcpLoginSignalSource {
18
18
  }
19
19
  export interface RunLocalFelanAcpLoginOptions {
20
20
  readonly agentDir?: string;
21
+ readonly daemonRuntime?: string;
22
+ readonly sessionDir?: string;
21
23
  readonly terminal?: AcpLoginTerminal;
22
- readonly createModelRuntime?: (agentDir: string, signal: AbortSignal) => Promise<ModelRuntime>;
24
+ readonly createClient?: (options: SessionClientOptions) => SessionClient;
23
25
  readonly writeError?: (message: string) => void;
24
26
  readonly signalSource?: AcpLoginSignalSource;
25
27
  readonly signal?: AbortSignal;
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/acp/login.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAqB9B,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CACJ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,SAAS,cAAc,EAAE,EAClC,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC/B,KAAK,CACH,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EACpE,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC/B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC;IAClE,GAAG,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC;CAClE;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAC5B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,WAAW,KAChB,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,YAAY,CAAC,EAAE,oBAAoB,CAAC;IAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACxD;AAuBD,wBAAsB,qBAAqB,CACzC,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,MAAM,CAAC,CAsHjB;AAyOD,qBAAa,oBAAqB,YAAW,gBAAgB;;gBAKzD,KAAK,GAAE,MAAM,CAAC,UAA0B,EACxC,MAAM,GAAE,MAAM,CAAC,WAA4B;IAMvC,MAAM,CACV,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,SAAS,cAAc,EAAE,EAClC,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAkB9B,KAAK,CACH,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EACpE,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAQ9B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAsIjC"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/acp/login.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAY/E,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,cAAc,EAAE,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC9G,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC/I,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC;IAClE,GAAG,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC;CAClE;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,aAAa,CAAC;IACzE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,YAAY,CAAC,EAAE,oBAAoB,CAAC;IAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACxD;AAMD,wBAAsB,qBAAqB,CAAC,OAAO,GAAE,4BAAiC,GAAG,OAAO,CAAC,MAAM,CAAC,CA2DvG;AAgID,qBAAa,oBAAqB,YAAW,gBAAgB;;gBAKzD,KAAK,GAAE,MAAM,CAAC,UAA0B,EACxC,MAAM,GAAE,MAAM,CAAC,WAA4B;IAMvC,MAAM,CACV,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,SAAS,cAAc,EAAE,EAClC,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAkB9B,KAAK,CACH,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EACpE,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAQ9B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAsIjC"}