@fraziym/axoniz 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (512) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +76 -0
  3. package/dist/agents/definition.d.ts +15 -0
  4. package/dist/agents/definition.d.ts.map +1 -0
  5. package/dist/agents/definition.js +41 -0
  6. package/dist/agents/definition.js.map +1 -0
  7. package/dist/agents/index.d.ts +12 -0
  8. package/dist/agents/index.d.ts.map +1 -0
  9. package/dist/agents/index.js +11 -0
  10. package/dist/agents/index.js.map +1 -0
  11. package/dist/agents/registry.d.ts +17 -0
  12. package/dist/agents/registry.d.ts.map +1 -0
  13. package/dist/agents/registry.js +23 -0
  14. package/dist/agents/registry.js.map +1 -0
  15. package/dist/agents/specialized.d.ts +31 -0
  16. package/dist/agents/specialized.d.ts.map +1 -0
  17. package/dist/agents/specialized.js +75 -0
  18. package/dist/agents/specialized.js.map +1 -0
  19. package/dist/awareness/index.d.ts +14 -0
  20. package/dist/awareness/index.d.ts.map +1 -0
  21. package/dist/awareness/index.js +22 -0
  22. package/dist/awareness/index.js.map +1 -0
  23. package/dist/awareness/service.d.ts +180 -0
  24. package/dist/awareness/service.d.ts.map +1 -0
  25. package/dist/awareness/service.js +789 -0
  26. package/dist/awareness/service.js.map +1 -0
  27. package/dist/cli/entry.d.ts +13 -0
  28. package/dist/cli/entry.d.ts.map +1 -0
  29. package/dist/cli/entry.js +35 -0
  30. package/dist/cli/entry.js.map +1 -0
  31. package/dist/comms/telegram.d.ts +41 -0
  32. package/dist/comms/telegram.d.ts.map +1 -0
  33. package/dist/comms/telegram.js +332 -0
  34. package/dist/comms/telegram.js.map +1 -0
  35. package/dist/core/agent.d.ts +252 -0
  36. package/dist/core/agent.d.ts.map +1 -0
  37. package/dist/core/agent.js +1399 -0
  38. package/dist/core/agent.js.map +1 -0
  39. package/dist/core/auth.d.ts +23 -0
  40. package/dist/core/auth.d.ts.map +1 -0
  41. package/dist/core/auth.js +113 -0
  42. package/dist/core/auth.js.map +1 -0
  43. package/dist/core/authority.d.ts +118 -0
  44. package/dist/core/authority.d.ts.map +1 -0
  45. package/dist/core/authority.js +402 -0
  46. package/dist/core/authority.js.map +1 -0
  47. package/dist/core/backend/async_queue.d.ts +17 -0
  48. package/dist/core/backend/async_queue.d.ts.map +1 -0
  49. package/dist/core/backend/async_queue.js +66 -0
  50. package/dist/core/backend/async_queue.js.map +1 -0
  51. package/dist/core/backend/index.d.ts +24 -0
  52. package/dist/core/backend/index.d.ts.map +1 -0
  53. package/dist/core/backend/index.js +128 -0
  54. package/dist/core/backend/index.js.map +1 -0
  55. package/dist/core/backend/llama_server.d.ts +39 -0
  56. package/dist/core/backend/llama_server.d.ts.map +1 -0
  57. package/dist/core/backend/llama_server.js +182 -0
  58. package/dist/core/backend/llama_server.js.map +1 -0
  59. package/dist/core/backend/llamacpp.d.ts +40 -0
  60. package/dist/core/backend/llamacpp.d.ts.map +1 -0
  61. package/dist/core/backend/llamacpp.js +200 -0
  62. package/dist/core/backend/llamacpp.js.map +1 -0
  63. package/dist/core/backend/lmstudio.d.ts +53 -0
  64. package/dist/core/backend/lmstudio.d.ts.map +1 -0
  65. package/dist/core/backend/lmstudio.js +274 -0
  66. package/dist/core/backend/lmstudio.js.map +1 -0
  67. package/dist/core/backend/ollama.d.ts +25 -0
  68. package/dist/core/backend/ollama.d.ts.map +1 -0
  69. package/dist/core/backend/ollama.js +86 -0
  70. package/dist/core/backend/ollama.js.map +1 -0
  71. package/dist/core/backend/openai.d.ts +27 -0
  72. package/dist/core/backend/openai.d.ts.map +1 -0
  73. package/dist/core/backend/openai.js +84 -0
  74. package/dist/core/backend/openai.js.map +1 -0
  75. package/dist/core/backend/types.d.ts +73 -0
  76. package/dist/core/backend/types.d.ts.map +1 -0
  77. package/dist/core/backend/types.js +137 -0
  78. package/dist/core/backend/types.js.map +1 -0
  79. package/dist/core/chat_store.d.ts +77 -0
  80. package/dist/core/chat_store.d.ts.map +1 -0
  81. package/dist/core/chat_store.js +332 -0
  82. package/dist/core/chat_store.js.map +1 -0
  83. package/dist/core/cli.d.ts +82 -0
  84. package/dist/core/cli.d.ts.map +1 -0
  85. package/dist/core/cli.js +602 -0
  86. package/dist/core/cli.js.map +1 -0
  87. package/dist/core/config.d.ts +127 -0
  88. package/dist/core/config.d.ts.map +1 -0
  89. package/dist/core/config.js +295 -0
  90. package/dist/core/config.js.map +1 -0
  91. package/dist/core/debug.d.ts +8 -0
  92. package/dist/core/debug.d.ts.map +1 -0
  93. package/dist/core/debug.js +8 -0
  94. package/dist/core/debug.js.map +1 -0
  95. package/dist/core/downloader.d.ts +31 -0
  96. package/dist/core/downloader.d.ts.map +1 -0
  97. package/dist/core/downloader.js +180 -0
  98. package/dist/core/downloader.js.map +1 -0
  99. package/dist/core/errors.d.ts +80 -0
  100. package/dist/core/errors.d.ts.map +1 -0
  101. package/dist/core/errors.js +134 -0
  102. package/dist/core/errors.js.map +1 -0
  103. package/dist/core/extras.d.ts +160 -0
  104. package/dist/core/extras.d.ts.map +1 -0
  105. package/dist/core/extras.js +553 -0
  106. package/dist/core/extras.js.map +1 -0
  107. package/dist/core/health.d.ts +27 -0
  108. package/dist/core/health.d.ts.map +1 -0
  109. package/dist/core/health.js +96 -0
  110. package/dist/core/health.js.map +1 -0
  111. package/dist/core/history.d.ts +50 -0
  112. package/dist/core/history.d.ts.map +1 -0
  113. package/dist/core/history.js +276 -0
  114. package/dist/core/history.js.map +1 -0
  115. package/dist/core/index.d.ts +6 -0
  116. package/dist/core/index.d.ts.map +1 -0
  117. package/dist/core/index.js +6 -0
  118. package/dist/core/index.js.map +1 -0
  119. package/dist/core/intelligence/ast_index.d.ts +255 -0
  120. package/dist/core/intelligence/ast_index.d.ts.map +1 -0
  121. package/dist/core/intelligence/ast_index.js +1369 -0
  122. package/dist/core/intelligence/ast_index.js.map +1 -0
  123. package/dist/core/intelligence/confidence.d.ts +113 -0
  124. package/dist/core/intelligence/confidence.d.ts.map +1 -0
  125. package/dist/core/intelligence/confidence.js +298 -0
  126. package/dist/core/intelligence/confidence.js.map +1 -0
  127. package/dist/core/intelligence/context_compressor.d.ts +80 -0
  128. package/dist/core/intelligence/context_compressor.d.ts.map +1 -0
  129. package/dist/core/intelligence/context_compressor.js +245 -0
  130. package/dist/core/intelligence/context_compressor.js.map +1 -0
  131. package/dist/core/intelligence/daemon.d.ts +247 -0
  132. package/dist/core/intelligence/daemon.d.ts.map +1 -0
  133. package/dist/core/intelligence/daemon.js +842 -0
  134. package/dist/core/intelligence/daemon.js.map +1 -0
  135. package/dist/core/intelligence/index.d.ts +60 -0
  136. package/dist/core/intelligence/index.d.ts.map +1 -0
  137. package/dist/core/intelligence/index.js +101 -0
  138. package/dist/core/intelligence/index.js.map +1 -0
  139. package/dist/core/intelligence/predictor.d.ts +246 -0
  140. package/dist/core/intelligence/predictor.d.ts.map +1 -0
  141. package/dist/core/intelligence/predictor.js +590 -0
  142. package/dist/core/intelligence/predictor.js.map +1 -0
  143. package/dist/core/intelligence/reflex.d.ts +84 -0
  144. package/dist/core/intelligence/reflex.d.ts.map +1 -0
  145. package/dist/core/intelligence/reflex.js +344 -0
  146. package/dist/core/intelligence/reflex.js.map +1 -0
  147. package/dist/core/intelligence/self_correction.d.ts +121 -0
  148. package/dist/core/intelligence/self_correction.d.ts.map +1 -0
  149. package/dist/core/intelligence/self_correction.js +327 -0
  150. package/dist/core/intelligence/self_correction.js.map +1 -0
  151. package/dist/core/intelligence/skill_distiller.d.ts +100 -0
  152. package/dist/core/intelligence/skill_distiller.d.ts.map +1 -0
  153. package/dist/core/intelligence/skill_distiller.js +246 -0
  154. package/dist/core/intelligence/skill_distiller.js.map +1 -0
  155. package/dist/core/intelligence/swarm.d.ts +330 -0
  156. package/dist/core/intelligence/swarm.d.ts.map +1 -0
  157. package/dist/core/intelligence/swarm.js +1064 -0
  158. package/dist/core/intelligence/swarm.js.map +1 -0
  159. package/dist/core/intelligence/trajectory.d.ts +107 -0
  160. package/dist/core/intelligence/trajectory.d.ts.map +1 -0
  161. package/dist/core/intelligence/trajectory.js +330 -0
  162. package/dist/core/intelligence/trajectory.js.map +1 -0
  163. package/dist/core/logger.d.ts +111 -0
  164. package/dist/core/logger.d.ts.map +1 -0
  165. package/dist/core/logger.js +640 -0
  166. package/dist/core/logger.js.map +1 -0
  167. package/dist/core/loop.d.ts +123 -0
  168. package/dist/core/loop.d.ts.map +1 -0
  169. package/dist/core/loop.js +423 -0
  170. package/dist/core/loop.js.map +1 -0
  171. package/dist/core/memory.d.ts +81 -0
  172. package/dist/core/memory.d.ts.map +1 -0
  173. package/dist/core/memory.js +328 -0
  174. package/dist/core/memory.js.map +1 -0
  175. package/dist/core/metrics.d.ts +29 -0
  176. package/dist/core/metrics.d.ts.map +1 -0
  177. package/dist/core/metrics.js +109 -0
  178. package/dist/core/metrics.js.map +1 -0
  179. package/dist/core/models.d.ts +51 -0
  180. package/dist/core/models.d.ts.map +1 -0
  181. package/dist/core/models.js +146 -0
  182. package/dist/core/models.js.map +1 -0
  183. package/dist/core/optimizer.d.ts +34 -0
  184. package/dist/core/optimizer.d.ts.map +1 -0
  185. package/dist/core/optimizer.js +131 -0
  186. package/dist/core/optimizer.js.map +1 -0
  187. package/dist/core/persona.d.ts +35 -0
  188. package/dist/core/persona.d.ts.map +1 -0
  189. package/dist/core/persona.js +126 -0
  190. package/dist/core/persona.js.map +1 -0
  191. package/dist/core/rate_limit.d.ts +23 -0
  192. package/dist/core/rate_limit.d.ts.map +1 -0
  193. package/dist/core/rate_limit.js +62 -0
  194. package/dist/core/rate_limit.js.map +1 -0
  195. package/dist/core/runner.d.ts +63 -0
  196. package/dist/core/runner.d.ts.map +1 -0
  197. package/dist/core/runner.js +671 -0
  198. package/dist/core/runner.js.map +1 -0
  199. package/dist/core/stream_parser.d.ts +43 -0
  200. package/dist/core/stream_parser.d.ts.map +1 -0
  201. package/dist/core/stream_parser.js +140 -0
  202. package/dist/core/stream_parser.js.map +1 -0
  203. package/dist/core/tool_schemas.d.ts +26 -0
  204. package/dist/core/tool_schemas.d.ts.map +1 -0
  205. package/dist/core/tool_schemas.js +124 -0
  206. package/dist/core/tool_schemas.js.map +1 -0
  207. package/dist/core/which.d.ts +2 -0
  208. package/dist/core/which.d.ts.map +1 -0
  209. package/dist/core/which.js +35 -0
  210. package/dist/core/which.js.map +1 -0
  211. package/dist/goals/index.d.ts +9 -0
  212. package/dist/goals/index.d.ts.map +1 -0
  213. package/dist/goals/index.js +17 -0
  214. package/dist/goals/index.js.map +1 -0
  215. package/dist/goals/service.d.ts +115 -0
  216. package/dist/goals/service.d.ts.map +1 -0
  217. package/dist/goals/service.js +415 -0
  218. package/dist/goals/service.js.map +1 -0
  219. package/dist/goals/types.d.ts +47 -0
  220. package/dist/goals/types.d.ts.map +1 -0
  221. package/dist/goals/types.js +66 -0
  222. package/dist/goals/types.js.map +1 -0
  223. package/dist/index.d.ts +22 -0
  224. package/dist/index.d.ts.map +1 -0
  225. package/dist/index.js +22 -0
  226. package/dist/index.js.map +1 -0
  227. package/dist/integrations/autonomous_startup.d.ts +51 -0
  228. package/dist/integrations/autonomous_startup.d.ts.map +1 -0
  229. package/dist/integrations/autonomous_startup.js +419 -0
  230. package/dist/integrations/autonomous_startup.js.map +1 -0
  231. package/dist/integrations/goose.d.ts +105 -0
  232. package/dist/integrations/goose.d.ts.map +1 -0
  233. package/dist/integrations/goose.js +408 -0
  234. package/dist/integrations/goose.js.map +1 -0
  235. package/dist/integrations/index.d.ts +21 -0
  236. package/dist/integrations/index.d.ts.map +1 -0
  237. package/dist/integrations/index.js +17 -0
  238. package/dist/integrations/index.js.map +1 -0
  239. package/dist/integrations/mcp.d.ts +73 -0
  240. package/dist/integrations/mcp.d.ts.map +1 -0
  241. package/dist/integrations/mcp.js +307 -0
  242. package/dist/integrations/mcp.js.map +1 -0
  243. package/dist/integrations/mempalace.d.ts +18 -0
  244. package/dist/integrations/mempalace.d.ts.map +1 -0
  245. package/dist/integrations/mempalace.js +25 -0
  246. package/dist/integrations/mempalace.js.map +1 -0
  247. package/dist/integrations/multi_agent.d.ts +82 -0
  248. package/dist/integrations/multi_agent.d.ts.map +1 -0
  249. package/dist/integrations/multi_agent.js +280 -0
  250. package/dist/integrations/multi_agent.js.map +1 -0
  251. package/dist/integrations/unified_memory.d.ts +415 -0
  252. package/dist/integrations/unified_memory.d.ts.map +1 -0
  253. package/dist/integrations/unified_memory.js +1489 -0
  254. package/dist/integrations/unified_memory.js.map +1 -0
  255. package/dist/roles/beru.yaml +48 -0
  256. package/dist/sidecar/client.d.ts +63 -0
  257. package/dist/sidecar/client.d.ts.map +1 -0
  258. package/dist/sidecar/client.js +222 -0
  259. package/dist/sidecar/client.js.map +1 -0
  260. package/dist/sidecar/index.d.ts +7 -0
  261. package/dist/sidecar/index.d.ts.map +1 -0
  262. package/dist/sidecar/index.js +6 -0
  263. package/dist/sidecar/index.js.map +1 -0
  264. package/dist/startup.d.ts +22 -0
  265. package/dist/startup.d.ts.map +1 -0
  266. package/dist/startup.js +194 -0
  267. package/dist/startup.js.map +1 -0
  268. package/dist/tools/_internal.d.ts +90 -0
  269. package/dist/tools/_internal.d.ts.map +1 -0
  270. package/dist/tools/_internal.js +375 -0
  271. package/dist/tools/_internal.js.map +1 -0
  272. package/dist/tools/_smoke.d.ts +2 -0
  273. package/dist/tools/_smoke.d.ts.map +1 -0
  274. package/dist/tools/_smoke.js +203 -0
  275. package/dist/tools/_smoke.js.map +1 -0
  276. package/dist/tools/axodex_tools.d.ts +51 -0
  277. package/dist/tools/axodex_tools.d.ts.map +1 -0
  278. package/dist/tools/axodex_tools.js +181 -0
  279. package/dist/tools/axodex_tools.js.map +1 -0
  280. package/dist/tools/code_tools.d.ts +33 -0
  281. package/dist/tools/code_tools.d.ts.map +1 -0
  282. package/dist/tools/code_tools.js +191 -0
  283. package/dist/tools/code_tools.js.map +1 -0
  284. package/dist/tools/computer_tools.d.ts +59 -0
  285. package/dist/tools/computer_tools.d.ts.map +1 -0
  286. package/dist/tools/computer_tools.js +348 -0
  287. package/dist/tools/computer_tools.js.map +1 -0
  288. package/dist/tools/file_tools.d.ts +51 -0
  289. package/dist/tools/file_tools.d.ts.map +1 -0
  290. package/dist/tools/file_tools.js +424 -0
  291. package/dist/tools/file_tools.js.map +1 -0
  292. package/dist/tools/index.d.ts +13 -0
  293. package/dist/tools/index.d.ts.map +1 -0
  294. package/dist/tools/index.js +13 -0
  295. package/dist/tools/index.js.map +1 -0
  296. package/dist/tools/shell_tools.d.ts +39 -0
  297. package/dist/tools/shell_tools.d.ts.map +1 -0
  298. package/dist/tools/shell_tools.js +163 -0
  299. package/dist/tools/shell_tools.js.map +1 -0
  300. package/dist/tools/web_tools.d.ts +31 -0
  301. package/dist/tools/web_tools.d.ts.map +1 -0
  302. package/dist/tools/web_tools.js +117 -0
  303. package/dist/tools/web_tools.js.map +1 -0
  304. package/dist/voice/index.d.ts +41 -0
  305. package/dist/voice/index.d.ts.map +1 -0
  306. package/dist/voice/index.js +58 -0
  307. package/dist/voice/index.js.map +1 -0
  308. package/dist/voice/light_daemon.d.ts +197 -0
  309. package/dist/voice/light_daemon.d.ts.map +1 -0
  310. package/dist/voice/light_daemon.js +746 -0
  311. package/dist/voice/light_daemon.js.map +1 -0
  312. package/dist/voice/setup.d.ts +63 -0
  313. package/dist/voice/setup.d.ts.map +1 -0
  314. package/dist/voice/setup.js +443 -0
  315. package/dist/voice/setup.js.map +1 -0
  316. package/dist/voice/stt.d.ts +148 -0
  317. package/dist/voice/stt.d.ts.map +1 -0
  318. package/dist/voice/stt.js +361 -0
  319. package/dist/voice/stt.js.map +1 -0
  320. package/dist/voice/tts.d.ts +168 -0
  321. package/dist/voice/tts.d.ts.map +1 -0
  322. package/dist/voice/tts.js +698 -0
  323. package/dist/voice/tts.js.map +1 -0
  324. package/dist/voice/voice_loop.d.ts +101 -0
  325. package/dist/voice/voice_loop.d.ts.map +1 -0
  326. package/dist/voice/voice_loop.js +463 -0
  327. package/dist/voice/voice_loop.js.map +1 -0
  328. package/dist/voice/wake_word.d.ts +153 -0
  329. package/dist/voice/wake_word.d.ts.map +1 -0
  330. package/dist/voice/wake_word.js +458 -0
  331. package/dist/voice/wake_word.js.map +1 -0
  332. package/dist/voice/wav.d.ts +99 -0
  333. package/dist/voice/wav.d.ts.map +1 -0
  334. package/dist/voice/wav.js +306 -0
  335. package/dist/voice/wav.js.map +1 -0
  336. package/dist/web/broker.d.ts +33 -0
  337. package/dist/web/broker.d.ts.map +1 -0
  338. package/dist/web/broker.js +58 -0
  339. package/dist/web/broker.js.map +1 -0
  340. package/dist/web/open_browser.d.ts +2 -0
  341. package/dist/web/open_browser.d.ts.map +1 -0
  342. package/dist/web/open_browser.js +42 -0
  343. package/dist/web/open_browser.js.map +1 -0
  344. package/dist/web/server.d.ts +54 -0
  345. package/dist/web/server.d.ts.map +1 -0
  346. package/dist/web/server.js +831 -0
  347. package/dist/web/server.js.map +1 -0
  348. package/dist/web/static/app.js +4121 -0
  349. package/dist/web/static/index.html +2281 -0
  350. package/dist/web/static/js/MODULE_SUMMARY.md +124 -0
  351. package/dist/web/static/js/a11y.js +165 -0
  352. package/dist/web/static/js/admin.js +2145 -0
  353. package/dist/web/static/js/assistant.js +475 -0
  354. package/dist/web/static/js/calendar/reminders.js +114 -0
  355. package/dist/web/static/js/calendar/utils.js +166 -0
  356. package/dist/web/static/js/calendar.js +3348 -0
  357. package/dist/web/static/js/censor.js +356 -0
  358. package/dist/web/static/js/chat.js +4546 -0
  359. package/dist/web/static/js/chatRenderer.js +2294 -0
  360. package/dist/web/static/js/chatStream.js +276 -0
  361. package/dist/web/static/js/codeRunner.js +398 -0
  362. package/dist/web/static/js/color/hex.js +14 -0
  363. package/dist/web/static/js/colorPicker.js +453 -0
  364. package/dist/web/static/js/compare/icons.js +77 -0
  365. package/dist/web/static/js/compare/index.js +1482 -0
  366. package/dist/web/static/js/compare/models.js +104 -0
  367. package/dist/web/static/js/compare/panes.js +817 -0
  368. package/dist/web/static/js/compare/probe.js +78 -0
  369. package/dist/web/static/js/compare/scoreboard.js +223 -0
  370. package/dist/web/static/js/compare/selector.js +1335 -0
  371. package/dist/web/static/js/compare/state.js +58 -0
  372. package/dist/web/static/js/compare/stream.js +695 -0
  373. package/dist/web/static/js/compare/vote.js +254 -0
  374. package/dist/web/static/js/cookbook-diagnosis.js +694 -0
  375. package/dist/web/static/js/cookbook-hwfit.js +1888 -0
  376. package/dist/web/static/js/cookbook.js +2093 -0
  377. package/dist/web/static/js/cookbookDownload.js +633 -0
  378. package/dist/web/static/js/cookbookProgressSignal.js +29 -0
  379. package/dist/web/static/js/cookbookRunning.js +3506 -0
  380. package/dist/web/static/js/cookbookServe.js +2128 -0
  381. package/dist/web/static/js/document.js +9731 -0
  382. package/dist/web/static/js/documentLibrary.js +3376 -0
  383. package/dist/web/static/js/dragSort.js +265 -0
  384. package/dist/web/static/js/editor/ai-inpaint.js +374 -0
  385. package/dist/web/static/js/editor/ai-models.js +273 -0
  386. package/dist/web/static/js/editor/ai-rembg.js +230 -0
  387. package/dist/web/static/js/editor/ai-tool-runner.js +147 -0
  388. package/dist/web/static/js/editor/ai-tools-misc.js +216 -0
  389. package/dist/web/static/js/editor/build/controls.js +366 -0
  390. package/dist/web/static/js/editor/build/popups.js +112 -0
  391. package/dist/web/static/js/editor/build/right-panel.js +200 -0
  392. package/dist/web/static/js/editor/build/toolbar.js +73 -0
  393. package/dist/web/static/js/editor/build/topbar.js +131 -0
  394. package/dist/web/static/js/editor/build/transform-popup.js +109 -0
  395. package/dist/web/static/js/editor/canvas-coords.js +21 -0
  396. package/dist/web/static/js/editor/canvas-events.js +197 -0
  397. package/dist/web/static/js/editor/canvas-transforms.js +132 -0
  398. package/dist/web/static/js/editor/checkerboard.js +24 -0
  399. package/dist/web/static/js/editor/clipboard-and-drop.js +133 -0
  400. package/dist/web/static/js/editor/composite-helpers.js +83 -0
  401. package/dist/web/static/js/editor/filters/blur.js +118 -0
  402. package/dist/web/static/js/editor/filters/edge-feather.js +70 -0
  403. package/dist/web/static/js/editor/fx/adj-popup.js +677 -0
  404. package/dist/web/static/js/editor/fx/filter-string.js +38 -0
  405. package/dist/web/static/js/editor/fx/histogram.js +67 -0
  406. package/dist/web/static/js/editor/fx/pixel-pass.js +249 -0
  407. package/dist/web/static/js/editor/harmonize-masks.js +116 -0
  408. package/dist/web/static/js/editor/history-panel.js +176 -0
  409. package/dist/web/static/js/editor/keyboard-shortcuts.js +271 -0
  410. package/dist/web/static/js/editor/layer-helpers.js +131 -0
  411. package/dist/web/static/js/editor/layer-panel.js +600 -0
  412. package/dist/web/static/js/editor/mask-utils.js +91 -0
  413. package/dist/web/static/js/editor/shortcuts-popover.js +149 -0
  414. package/dist/web/static/js/editor/slider-ux.js +191 -0
  415. package/dist/web/static/js/editor/snap.js +107 -0
  416. package/dist/web/static/js/editor/state.js +257 -0
  417. package/dist/web/static/js/editor/stroke-pipeline.js +162 -0
  418. package/dist/web/static/js/editor/stroke-tool-sliders.js +64 -0
  419. package/dist/web/static/js/editor/tools/clone.js +81 -0
  420. package/dist/web/static/js/editor/tools/crop.js +137 -0
  421. package/dist/web/static/js/editor/tools/flood-fill.js +72 -0
  422. package/dist/web/static/js/editor/tools/lasso-mask.js +171 -0
  423. package/dist/web/static/js/editor/tools/lasso.js +65 -0
  424. package/dist/web/static/js/editor/tools/move.js +79 -0
  425. package/dist/web/static/js/editor/tools/stroke.js +123 -0
  426. package/dist/web/static/js/editor/tools/transform-drag.js +174 -0
  427. package/dist/web/static/js/editor/tools/transform-handles.js +271 -0
  428. package/dist/web/static/js/editor/tools/transform-session.js +381 -0
  429. package/dist/web/static/js/editor/tools/wand.js +46 -0
  430. package/dist/web/static/js/editor/wire-import.js +148 -0
  431. package/dist/web/static/js/editor/wire-inpaint-controls.js +164 -0
  432. package/dist/web/static/js/editor/wire-merge-buttons.js +103 -0
  433. package/dist/web/static/js/editor/wire-selection-controls.js +170 -0
  434. package/dist/web/static/js/editor/wire-topbar-menus.js +174 -0
  435. package/dist/web/static/js/editor/wire-topbar-overflow.js +49 -0
  436. package/dist/web/static/js/editor/wire-topbar.js +188 -0
  437. package/dist/web/static/js/emailInbox.js +1245 -0
  438. package/dist/web/static/js/emailLibrary/replyRecipients.js +27 -0
  439. package/dist/web/static/js/emailLibrary/signatureFold.js +339 -0
  440. package/dist/web/static/js/emailLibrary/state.js +34 -0
  441. package/dist/web/static/js/emailLibrary/utils.js +202 -0
  442. package/dist/web/static/js/emailLibrary.js +5217 -0
  443. package/dist/web/static/js/emojiPicker.js +311 -0
  444. package/dist/web/static/js/escMenuStack.js +102 -0
  445. package/dist/web/static/js/fileHandler.js +295 -0
  446. package/dist/web/static/js/gallery.js +2835 -0
  447. package/dist/web/static/js/galleryEditor.js +3798 -0
  448. package/dist/web/static/js/group.js +955 -0
  449. package/dist/web/static/js/init.js +405 -0
  450. package/dist/web/static/js/keyboard-shortcuts.js +292 -0
  451. package/dist/web/static/js/langIcons.js +187 -0
  452. package/dist/web/static/js/markdown/tableRow.js +19 -0
  453. package/dist/web/static/js/markdown.js +806 -0
  454. package/dist/web/static/js/memory.js +1418 -0
  455. package/dist/web/static/js/modalManager.js +1552 -0
  456. package/dist/web/static/js/modalSnap.js +782 -0
  457. package/dist/web/static/js/model/matchKey.js +19 -0
  458. package/dist/web/static/js/modelPicker.js +695 -0
  459. package/dist/web/static/js/modelSort.js +33 -0
  460. package/dist/web/static/js/models.js +642 -0
  461. package/dist/web/static/js/notes.js +5054 -0
  462. package/dist/web/static/js/package.json +1 -0
  463. package/dist/web/static/js/platform.js +47 -0
  464. package/dist/web/static/js/presets.js +1110 -0
  465. package/dist/web/static/js/providers.js +93 -0
  466. package/dist/web/static/js/rag.js +177 -0
  467. package/dist/web/static/js/research/jobs.js +335 -0
  468. package/dist/web/static/js/research/panel.js +1233 -0
  469. package/dist/web/static/js/researchSynapse.js +225 -0
  470. package/dist/web/static/js/search-chat.js +201 -0
  471. package/dist/web/static/js/search.js +52 -0
  472. package/dist/web/static/js/section-management.js +260 -0
  473. package/dist/web/static/js/sessions.js +3108 -0
  474. package/dist/web/static/js/settings.js +4991 -0
  475. package/dist/web/static/js/sidebar-layout.js +573 -0
  476. package/dist/web/static/js/signature.js +504 -0
  477. package/dist/web/static/js/skills.js +1908 -0
  478. package/dist/web/static/js/slashAutocomplete.js +267 -0
  479. package/dist/web/static/js/slashCommands.js +6099 -0
  480. package/dist/web/static/js/spinner.js +406 -0
  481. package/dist/web/static/js/storage.js +123 -0
  482. package/dist/web/static/js/tasks.js +2699 -0
  483. package/dist/web/static/js/theme.js +2086 -0
  484. package/dist/web/static/js/tileManager.js +386 -0
  485. package/dist/web/static/js/tourAutoplay.js +133 -0
  486. package/dist/web/static/js/tourHints.js +179 -0
  487. package/dist/web/static/js/tts-ai.js +521 -0
  488. package/dist/web/static/js/ui.js +1288 -0
  489. package/dist/web/static/js/util/ordinal.js +13 -0
  490. package/dist/web/static/js/voiceRecorder.js +283 -0
  491. package/dist/web/static/js/windowDrag.js +326 -0
  492. package/dist/web/static/js/windowResize.js +233 -0
  493. package/dist/web/static/landing.html +824 -0
  494. package/dist/web/static/lib/docx.umd.min.js +20116 -0
  495. package/dist/web/static/lib/highlight.min.js +1213 -0
  496. package/dist/web/static/lib/html2pdf.bundle.min.js +3 -0
  497. package/dist/web/static/lib/mammoth.browser.min.js +21 -0
  498. package/dist/web/static/lib/qrcode.min.js +8 -0
  499. package/dist/web/static/lib/xlsx.full.min.js +24 -0
  500. package/dist/web/static/login.html +582 -0
  501. package/dist/web/static/manifest.json +15 -0
  502. package/dist/web/static/style.css +35733 -0
  503. package/dist/web/static/sw.js +144 -0
  504. package/dist/workflows/engine.d.ts +162 -0
  505. package/dist/workflows/engine.d.ts.map +1 -0
  506. package/dist/workflows/engine.js +625 -0
  507. package/dist/workflows/engine.js.map +1 -0
  508. package/dist/workflows/index.d.ts +8 -0
  509. package/dist/workflows/index.d.ts.map +1 -0
  510. package/dist/workflows/index.js +14 -0
  511. package/dist/workflows/index.js.map +1 -0
  512. package/package.json +112 -0
@@ -0,0 +1,671 @@
1
+ /**
2
+ * AXONIZ-ZERO — Runner
3
+ * Port of axoniz/core/runner.py.
4
+ *
5
+ * A hand-rolled argument parser is used instead of a framework so that the
6
+ * exact Python semantics are preserved: free-form positional arguments that may
7
+ * also be subcommands (`config`, `model`, `memory`, `palace`, `setup`).
8
+ */
9
+ import os from "node:os";
10
+ import path from "node:path";
11
+ import fs from "node:fs";
12
+ import process from "node:process";
13
+ import { loadConfig, loadConfigWithAutodetect, saveConfig, showConfig, resetConfig, MODELS_DIR, AXONIZ_HOME, activeProvider, } from "./config.js";
14
+ import { debug, error as logError, getLogger } from "./debug.js";
15
+ export const VERSION = "1.0.0";
16
+ /* ── Colour ───────────────────────────────────────────────────────────────── */
17
+ function c(code) {
18
+ if (process.env.NO_COLOR || !process.stdout.isTTY)
19
+ return "";
20
+ return `\u001b[${code}m`;
21
+ }
22
+ const R = c("0");
23
+ const B = c("1");
24
+ const DG = c("90");
25
+ const GR = c("37");
26
+ const BL = c("94");
27
+ const GB = c("92");
28
+ const YL = c("93");
29
+ const RD = c("91");
30
+ const WH = c("97");
31
+ const CY = c("96");
32
+ const PURPLE = c("95");
33
+ export class C {
34
+ static RESET = R;
35
+ static BOLD = B;
36
+ static GRAY = DG;
37
+ static DGRAY = DG;
38
+ static WHITE = WH;
39
+ static BLUE = BL;
40
+ static GREEN = GB;
41
+ static YELLOW = YL;
42
+ static RED = RD;
43
+ static CYAN = CY;
44
+ static PURPLE = PURPLE;
45
+ }
46
+ export function printBanner(model = "", backend = "") {
47
+ console.log();
48
+ console.log(` ${PURPLE}${B}FRAZIYM AI${R} ${DG}v${VERSION}${R}`);
49
+ console.log(` ${DG}local ai agent \u00b7 ${backend} \u00b7 ${model || "auto"}${R}`);
50
+ console.log();
51
+ }
52
+ export function kv(key, val) {
53
+ console.log(` ${DG}${key.padEnd(18)}${R}${GR}${String(val)}${R}`);
54
+ }
55
+ export function section(title) {
56
+ console.log(`\n ${DG}${title.toUpperCase()}${R}\n ${DG}${"-".repeat(Math.min(title.length + 4, 60))}${R}`);
57
+ }
58
+ export function makeDefaultArgs() {
59
+ return {
60
+ positional: [],
61
+ lc: false,
62
+ cli: false,
63
+ web: false,
64
+ goal: null,
65
+ pipe: false,
66
+ provider: null,
67
+ model_name: null,
68
+ model_path: null,
69
+ base_url: null,
70
+ n_gpu_layers: null,
71
+ max_steps: null,
72
+ temperature: null,
73
+ max_tokens: null,
74
+ n_ctx: null,
75
+ workspace: null,
76
+ port: 7860,
77
+ help: false,
78
+ version: false,
79
+ };
80
+ }
81
+ const PROVIDERS = ["llamacpp", "llamacpp_server", "lmstudio", "ollama", "openai"];
82
+ /** Parse argv (already sliced past `node script`). */
83
+ export function parseArgs(argv) {
84
+ const a = makeDefaultArgs();
85
+ const takesValue = new Set([
86
+ "--goal",
87
+ "--provider",
88
+ "--model",
89
+ "--model-path",
90
+ "--url",
91
+ "--gpu-layers",
92
+ "--steps",
93
+ "--temp",
94
+ "--tokens",
95
+ "--ctx",
96
+ "--workspace",
97
+ "--port",
98
+ ]);
99
+ const num = (v) => {
100
+ if (v === undefined)
101
+ return null;
102
+ const n = Number(v);
103
+ return Number.isFinite(n) ? n : null;
104
+ };
105
+ for (let i = 0; i < argv.length; i++) {
106
+ const arg = argv[i];
107
+ // Support --key=value form.
108
+ let key = arg;
109
+ let inlineValue;
110
+ if (arg.startsWith("--") && arg.includes("=")) {
111
+ const idx = arg.indexOf("=");
112
+ key = arg.slice(0, idx);
113
+ inlineValue = arg.slice(idx + 1);
114
+ }
115
+ const value = () => {
116
+ if (inlineValue !== undefined)
117
+ return inlineValue;
118
+ if (takesValue.has(key) && i + 1 < argv.length) {
119
+ i += 1;
120
+ return argv[i];
121
+ }
122
+ return undefined;
123
+ };
124
+ switch (key) {
125
+ case "--lc":
126
+ a.lc = true;
127
+ break;
128
+ case "--cli":
129
+ a.cli = true;
130
+ break;
131
+ case "--web":
132
+ case "-w":
133
+ a.web = true;
134
+ break;
135
+ case "--pipe":
136
+ a.pipe = true;
137
+ break;
138
+ case "--goal":
139
+ a.goal = value() ?? null;
140
+ break;
141
+ case "--provider": {
142
+ const p = value();
143
+ if (p && !PROVIDERS.includes(p)) {
144
+ process.stderr.write(`argument --provider: invalid choice: '${p}' (choose from ${PROVIDERS.join(", ")})\n`);
145
+ process.exit(2);
146
+ }
147
+ a.provider = p ?? null;
148
+ break;
149
+ }
150
+ case "--model":
151
+ a.model_name = value() ?? null;
152
+ break;
153
+ case "--model-path":
154
+ a.model_path = value() ?? null;
155
+ break;
156
+ case "--url":
157
+ a.base_url = value() ?? null;
158
+ break;
159
+ case "--gpu-layers":
160
+ a.n_gpu_layers = num(value());
161
+ break;
162
+ case "--steps":
163
+ a.max_steps = num(value());
164
+ break;
165
+ case "--temp":
166
+ a.temperature = num(value());
167
+ break;
168
+ case "--tokens":
169
+ a.max_tokens = num(value());
170
+ break;
171
+ case "--ctx":
172
+ a.n_ctx = num(value());
173
+ break;
174
+ case "--workspace":
175
+ a.workspace = value() ?? null;
176
+ break;
177
+ case "--port":
178
+ a.port = num(value()) ?? 7860;
179
+ break;
180
+ case "--help":
181
+ case "-h":
182
+ a.help = true;
183
+ break;
184
+ case "--version":
185
+ a.version = true;
186
+ break;
187
+ default:
188
+ if (arg.startsWith("-") && arg !== "-") {
189
+ process.stderr.write(`unrecognized argument: ${arg}\n`);
190
+ process.exit(2);
191
+ }
192
+ a.positional.push(arg);
193
+ break;
194
+ }
195
+ }
196
+ return a;
197
+ }
198
+ /* ── Overrides ────────────────────────────────────────────────────────────── */
199
+ export function overridesFromArgs(args) {
200
+ const ov = {};
201
+ const keys = [
202
+ "model_name",
203
+ "model_path",
204
+ "base_url",
205
+ "max_steps",
206
+ "temperature",
207
+ "max_tokens",
208
+ "n_ctx",
209
+ "workspace",
210
+ "n_gpu_layers",
211
+ ];
212
+ for (const k of keys) {
213
+ const v = args[k];
214
+ if (v !== null && v !== undefined)
215
+ ov[k] = v;
216
+ }
217
+ // Only override the provider when explicitly set on the CLI.
218
+ if (args.provider) {
219
+ ov.provider = args.provider;
220
+ ov.backend = args.provider;
221
+ }
222
+ return ov;
223
+ }
224
+ /* ── Help ─────────────────────────────────────────────────────────────────── */
225
+ export const HELP = `
226
+ ${WH}${B}AXONIZ-ZERO${R} ${DG}v${VERSION} \u2014 local AI agent${R}
227
+
228
+ ${B}MODES${R}
229
+ ${BL}--web${R} Launch web UI at localhost:7860
230
+ ${BL}--lc${R} Interactive REPL
231
+ ${BL}--cli${R} One-shot task then exit
232
+ ${BL}--goal "..."${R} Autonomous goal mode
233
+ ${BL}--pipe${R} Read task from stdin
234
+
235
+ ${B}BACKEND${R}
236
+ ${BL}--provider <p>${R} Backend: llamacpp, llamacpp_server, lmstudio, ollama, openai
237
+ ${BL}--model-path <p>${R} Path to .gguf model (llamacpp only)
238
+ ${BL}--url <url>${R} Base URL for server backends
239
+ ${BL}--gpu-layers <n>${R} GPU layers (llamacpp only)
240
+ ${BL}--ctx <n>${R} Context window (llamacpp, default 32768)
241
+ ${BL}--temp 0.2${R} Temperature
242
+ ${BL}--tokens 4096${R} Max output tokens
243
+
244
+ ${B}SUBCOMMANDS${R}
245
+ ${BL}axoniz config show${R} Show config
246
+ ${BL}axoniz config set k=v${R} Set config value
247
+ ${BL}axoniz model list${R} List models
248
+ ${BL}axoniz model use <n>${R} Switch model
249
+ ${BL}axoniz memory${R} Show memory
250
+ ${BL}axoniz palace${R} Show palace status
251
+ ${BL}axoniz health${R} System health report
252
+ `;
253
+ /* ── Runner ───────────────────────────────────────────────────────────────── */
254
+ export class Runner {
255
+ cfg;
256
+ constructor() {
257
+ this.cfg = loadConfig();
258
+ }
259
+ async buildAgent(overrides = {}) {
260
+ const cfg = loadConfigWithAutodetect();
261
+ const clean = Object.fromEntries(Object.entries(overrides).filter(([, v]) => v !== null && v !== undefined));
262
+ Object.assign(cfg, clean);
263
+ if (clean.model_path)
264
+ cfg.model_name = path.basename(String(clean.model_path));
265
+ // Default to llamacpp only when no provider is configured at all.
266
+ const active = cfg.provider ?? cfg.backend ?? cfg.llm?.active_provider;
267
+ if (!active) {
268
+ cfg.provider = "llamacpp";
269
+ cfg.backend = "llamacpp";
270
+ }
271
+ const { Agent } = await import("./agent.js");
272
+ return new Agent(cfg);
273
+ }
274
+ async checkBackend(agent) {
275
+ await agent.health();
276
+ return true;
277
+ }
278
+ }
279
+ /* ── Interactive model selection ──────────────────────────────────────────── */
280
+ async function interactiveModelSelect() {
281
+ console.log(`\n ${WH}${B}SOVEREIGN VAULT SCAN${R}`);
282
+ console.log(` ${DG}Scanning for GGUF models in ${MODELS_DIR}...${R}\n`);
283
+ const found = [];
284
+ collectGguf(MODELS_DIR, found, 0);
285
+ if (found.length === 0) {
286
+ console.log(` ${RD}[-] No GGUF models found in vault.${R}`);
287
+ console.log(` ${DG}HINT: Place models in ${MODELS_DIR} or use 'axoniz model download'${R}\n`);
288
+ return null;
289
+ }
290
+ found.forEach((p, i) => {
291
+ const name = path.basename(p);
292
+ let sizeGb = 0;
293
+ try {
294
+ sizeGb = fs.statSync(p).size / 1024 ** 3;
295
+ }
296
+ catch {
297
+ /* ignore */
298
+ }
299
+ console.log(` ${BL}[${i + 1}]${R} ${WH}${name.padEnd(40)}${R} ${DG}${sizeGb.toFixed(1)} GB${R}`);
300
+ });
301
+ console.log(`\n ${DG}Enter number to select or path to a different GGUF:${R}`);
302
+ if (!process.stdin.isTTY)
303
+ return null;
304
+ const readline = await import("node:readline/promises");
305
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
306
+ try {
307
+ const choice = (await rl.question(` ${CY}Selection: ${R}`)).trim();
308
+ if (!choice)
309
+ return null;
310
+ if (/^\d+$/.test(choice)) {
311
+ const idx = Number(choice) - 1;
312
+ if (idx >= 0 && idx < found.length)
313
+ return found[idx];
314
+ }
315
+ if (fs.existsSync(choice))
316
+ return path.resolve(choice);
317
+ console.log(` ${RD}[-] Invalid selection.${R}`);
318
+ return null;
319
+ }
320
+ catch {
321
+ return null;
322
+ }
323
+ finally {
324
+ rl.close();
325
+ }
326
+ }
327
+ function collectGguf(dir, acc, depth) {
328
+ if (depth > 6)
329
+ return;
330
+ let entries;
331
+ try {
332
+ entries = fs.readdirSync(dir, { withFileTypes: true });
333
+ }
334
+ catch {
335
+ return;
336
+ }
337
+ for (const e of entries) {
338
+ const full = path.join(dir, e.name);
339
+ if (e.isDirectory())
340
+ collectGguf(full, acc, depth + 1);
341
+ else if (e.name.toLowerCase().endsWith(".gguf"))
342
+ acc.push(full);
343
+ }
344
+ }
345
+ /* ── Main ─────────────────────────────────────────────────────────────────── */
346
+ export async function main(argv = process.argv.slice(2)) {
347
+ const args = parseArgs(argv);
348
+ const pos = args.positional;
349
+ if (args.version) {
350
+ console.log(`axoniz-zero ${VERSION}`);
351
+ return;
352
+ }
353
+ if (args.help) {
354
+ console.log(HELP);
355
+ return;
356
+ }
357
+ const runner = new Runner();
358
+ const cfg = runner.cfg;
359
+ const ov = overridesFromArgs(args);
360
+ const logger = getLogger();
361
+ logger.info(`CLI started | version=${VERSION} | args=${JSON.stringify(args)}`);
362
+ logger.logEvent("cli_start", { version: VERSION, args });
363
+ // ── Sovereign model selection ──
364
+ const provider = String(ov.provider ?? activeProvider(cfg));
365
+ const isLocalGguf = provider === "llamacpp" || provider === "gguf";
366
+ const cfgAny = cfg;
367
+ if ((args.lc || args.goal || args.cli) &&
368
+ isLocalGguf &&
369
+ !ov.model_path &&
370
+ !cfgAny.model_path) {
371
+ const selected = await interactiveModelSelect();
372
+ if (selected) {
373
+ ov.model_path = selected;
374
+ logger.info(`User selected model: ${selected}`);
375
+ console.log(` ${GB}[+] ${DG}Using model: ${path.basename(selected)}${R}\n`);
376
+ }
377
+ else if (!args.pipe) {
378
+ logger.error("No model selected for local GGUF backend");
379
+ console.log(` ${RD}[-] Model required for ${provider}.${R}\n`);
380
+ process.exit(1);
381
+ }
382
+ }
383
+ // ── Subcommands ──
384
+ if (pos.length > 0) {
385
+ const cmd = pos[0].toLowerCase();
386
+ if (cmd === "model" || cmd === "models") {
387
+ const { showTable, get: getModel } = await import("./models.js");
388
+ const action = pos[1]?.toLowerCase() ?? "list";
389
+ const name = pos[2];
390
+ if (["list", "ls", "all"].includes(action)) {
391
+ await showTable();
392
+ }
393
+ else if (action === "download" && name) {
394
+ const filename = pos[3];
395
+ const { downloadModel } = await import("./downloader.js");
396
+ await downloadModel(name, filename);
397
+ }
398
+ else if (action === "use" && name) {
399
+ const m = getModel(name);
400
+ if (m) {
401
+ cfgAny.model_name = m.name;
402
+ cfgAny.temperature = m.temperature;
403
+ cfgAny.max_tokens = m.max_tokens;
404
+ saveConfig(cfgAny);
405
+ logger.info(`Model switched to ${m.name}`);
406
+ console.log(` ${GB}[+] Switched to ${m.name}${R}`);
407
+ }
408
+ else {
409
+ cfgAny.model_name = name;
410
+ saveConfig(cfgAny);
411
+ logger.info(`Model set to ${name}`);
412
+ console.log(` ${GB}[+] Model set to '${name}'${R}`);
413
+ }
414
+ }
415
+ return;
416
+ }
417
+ if (cmd === "config") {
418
+ const action = pos[1]?.toLowerCase() ?? "show";
419
+ if (action === "show") {
420
+ showConfig();
421
+ }
422
+ else if (action === "set" && pos.length > 2) {
423
+ for (const pair of pos.slice(2)) {
424
+ if (!pair.includes("="))
425
+ continue;
426
+ const idx = pair.indexOf("=");
427
+ const k = pair.slice(0, idx).trim();
428
+ const rawV = pair.slice(idx + 1);
429
+ let v = rawV;
430
+ if (/^-?\d+$/.test(rawV))
431
+ v = parseInt(rawV, 10);
432
+ else if (/^-?\d*\.\d+$/.test(rawV))
433
+ v = parseFloat(rawV);
434
+ const old = cfgAny[k];
435
+ cfgAny[k] = v;
436
+ saveConfig(cfgAny);
437
+ logger.logConfigChange(k, old, v);
438
+ console.log(` ${GB}[+] ${DG}${k} = ${String(v)}${R}`);
439
+ }
440
+ }
441
+ else if (action === "reset") {
442
+ resetConfig();
443
+ logger.info("Config reset to defaults");
444
+ }
445
+ return;
446
+ }
447
+ if (cmd === "memory" || cmd === "mem" || cmd === "palace") {
448
+ // Handled below, once an agent exists.
449
+ }
450
+ else if (cmd === "setup") {
451
+ // first_run is an optional convenience module. The dynamic specifier is
452
+ // built at runtime so TypeScript does not require the file to exist.
453
+ const setupPath = "./first_run.js";
454
+ try {
455
+ const m = (await import(setupPath));
456
+ await m.runSetup();
457
+ }
458
+ catch (e) {
459
+ logError(`setup unavailable (module not ported): ${errMsg(e)}`);
460
+ console.log(` ${YL}setup is not available in this build.${R}`);
461
+ }
462
+ return;
463
+ }
464
+ }
465
+ // ── No args -> help ──
466
+ if (pos.length === 0 &&
467
+ !args.lc &&
468
+ !args.cli &&
469
+ !args.web &&
470
+ !args.goal &&
471
+ !args.pipe) {
472
+ console.log(HELP);
473
+ return;
474
+ }
475
+ // ── Build agent ──
476
+ const model = String(ov.model_name ?? cfgAny.model_name ?? "");
477
+ const workspace = String(ov.workspace ?? cfgAny.workspace ?? ".");
478
+ console.log(`\n ${PURPLE}${B}FRAZIYM AI${R} ${DG}v${VERSION}${R}`);
479
+ const provStr = String(ov.provider ?? cfg.llm?.active_provider ?? cfgAny.backend ?? "llamacpp");
480
+ console.log(` ${DG}backend${R} ${GR}${provStr}${R}`);
481
+ console.log(` ${DG}eye${R} ${GR}axodex graph active${R}`);
482
+ console.log(` ${DG}swarm${R} ${GR}swarm engine ready${R}`);
483
+ console.log(` ${DG}workspace${R} ${GR}${path.resolve(workspace)}${R}\n`);
484
+ logger.info(`Building agent | provider=${provStr} | workspace=${workspace}`);
485
+ // ── Memory / palace subcommands need an agent ──
486
+ if (pos.length > 0) {
487
+ const cmd = pos[0].toLowerCase();
488
+ if (cmd === "memory" || cmd === "mem") {
489
+ const agent = await runner.buildAgent(ov);
490
+ const mem = agent.memory.all();
491
+ const keys = Object.keys(mem);
492
+ if (keys.length > 0) {
493
+ section("semantic memory");
494
+ for (const k of keys.slice(0, 20))
495
+ kv(k, String(mem[k]).slice(0, 72));
496
+ }
497
+ else {
498
+ console.log(` ${DG}(empty)${R}`);
499
+ }
500
+ return;
501
+ }
502
+ if (cmd === "palace") {
503
+ const agent = await runner.buildAgent(ov);
504
+ const st = agent.memory.palace.status();
505
+ console.log(`\n ${DG}palace: ${st.total_drawers ?? 0} drawers${R}`);
506
+ for (const [w, count] of Object.entries(st.wings ?? {}).slice(0, 10)) {
507
+ console.log(` ${DG}${w.padEnd(30)}${R}${GR}${count} drawers${R}`);
508
+ }
509
+ return;
510
+ }
511
+ }
512
+ let agent;
513
+ try {
514
+ agent = await runner.buildAgent(ov);
515
+ logger.logAgentInit({ provider: provStr, workspace, model });
516
+ }
517
+ catch (e) {
518
+ logger.logAgentError(e, "build_agent");
519
+ console.log(`\n ${RD}\u2717 Failed to start: ${errMsg(e)}${R}\n`);
520
+ if (e instanceof Error)
521
+ console.error(e.stack);
522
+ process.exit(1);
523
+ }
524
+ if (!(await runner.checkBackend(agent))) {
525
+ logger.error("Backend health check failed");
526
+ process.exit(1);
527
+ }
528
+ const h = await agent.health();
529
+ const provStr2 = String(agent.config.provider ??
530
+ agent.config.backend ??
531
+ "llamacpp");
532
+ const mdlStr = String(h.model ?? agent.config.model_name ?? "auto");
533
+ const dot = h.status === "ok" ? `${GB}[*]${R}` : `${YL}[!]${R}`;
534
+ console.log(` ${dot} ${DG}${provStr2}${R} ${DG}/${R} ${GR}${mdlStr}${R}\n`);
535
+ logger.logBackendHealth(provStr2, h);
536
+ // ── Web-only mode ──
537
+ if (args.web && !args.lc && !args.cli && !args.goal) {
538
+ try {
539
+ const { fullBoot } = (await import("../startup.js"));
540
+ await fullBoot({
541
+ cfg: null,
542
+ overrides: Object.keys(ov).length > 0 ? ov : null,
543
+ port: args.port,
544
+ openBrowser: true,
545
+ web: true,
546
+ });
547
+ }
548
+ catch (e) {
549
+ if (e instanceof Error && e.name === "AbortError") {
550
+ logger.info("Web server stopped by user");
551
+ console.log(`\n ${DG}stopped.${R}`);
552
+ }
553
+ else {
554
+ throw e;
555
+ }
556
+ }
557
+ finally {
558
+ logger.logSessionEnd("web_stop");
559
+ }
560
+ return;
561
+ }
562
+ // ── Build the CLI ──
563
+ const { CLI } = await import("./cli.js");
564
+ let webUrl = null;
565
+ if (args.web) {
566
+ const { WebServer } = await import("../web/server.js");
567
+ const ws = new WebServer({ agent, port: args.port });
568
+ // Start in the background; the CLI keeps the foreground.
569
+ void ws.listen().then((url) => {
570
+ console.log(` ${CY}web \u2192${R} ${BL}${url}${R}`);
571
+ });
572
+ webUrl = `http://localhost:${args.port}`;
573
+ await sleep(800);
574
+ }
575
+ const cli = new CLI(agent, webUrl);
576
+ // ── Pipe ──
577
+ if (args.pipe || (!process.stdin.isTTY && !args.lc)) {
578
+ const task = (await readStdin()).trim();
579
+ if (task) {
580
+ logger.logAgentRun(task, "pipe");
581
+ await cli.runAgent(task);
582
+ }
583
+ logger.logSessionEnd("pipe_done");
584
+ return;
585
+ }
586
+ // ── Positional inline task ──
587
+ let task = null;
588
+ if (pos.length > 0) {
589
+ const skip = new Set([
590
+ "run",
591
+ "web",
592
+ "config",
593
+ "memory",
594
+ "mem",
595
+ "setup",
596
+ "model",
597
+ "models",
598
+ "backends",
599
+ "palace",
600
+ ]);
601
+ if (!skip.has(pos[0].toLowerCase())) {
602
+ task = pos.join(" ").trim();
603
+ }
604
+ else if (pos[0].toLowerCase() === "run" && pos.length > 1) {
605
+ task = pos.slice(1).join(" ").trim();
606
+ }
607
+ }
608
+ if (task) {
609
+ logger.logAgentRun(task, "inline");
610
+ await cli.runAgent(task);
611
+ logger.logSessionEnd("inline_done");
612
+ return;
613
+ }
614
+ if (args.goal) {
615
+ logger.logAgentRun(args.goal, "goal");
616
+ await cli.runGoal(args.goal);
617
+ logger.logSessionEnd("goal_done");
618
+ return;
619
+ }
620
+ if (args.cli) {
621
+ let oneShot;
622
+ if (process.stdin.isTTY) {
623
+ const readline = await import("node:readline/promises");
624
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
625
+ try {
626
+ oneShot = (await rl.question(` ${DG}Task: ${R}`)).trim();
627
+ }
628
+ catch {
629
+ rl.close();
630
+ return;
631
+ }
632
+ rl.close();
633
+ }
634
+ else {
635
+ oneShot = (await readStdin()).trim();
636
+ }
637
+ if (oneShot) {
638
+ logger.logAgentRun(oneShot, "cli");
639
+ await cli.runAgent(oneShot);
640
+ }
641
+ logger.logSessionEnd("cli_done");
642
+ return;
643
+ }
644
+ // ── Interactive REPL ──
645
+ logger.logAgentRun("", "repl");
646
+ try {
647
+ await cli.run();
648
+ }
649
+ catch (e) {
650
+ if (!(e instanceof Error && e.name === "AbortError"))
651
+ throw e;
652
+ }
653
+ finally {
654
+ logger.logSessionEnd("repl_stop");
655
+ }
656
+ }
657
+ /* ── Helpers ──────────────────────────────────────────────────────────────── */
658
+ function errMsg(e) {
659
+ return e instanceof Error ? e.message : String(e);
660
+ }
661
+ function sleep(ms) {
662
+ return new Promise((r) => setTimeout(r, ms));
663
+ }
664
+ async function readStdin() {
665
+ const chunks = [];
666
+ for await (const chunk of process.stdin)
667
+ chunks.push(chunk);
668
+ return Buffer.concat(chunks).toString("utf-8");
669
+ }
670
+ export { os, AXONIZ_HOME, debug };
671
+ //# sourceMappingURL=runner.js.map