@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,590 @@
1
+ /**
2
+ * axoniz.core.intelligence.predictor
3
+ * =====================================
4
+ * Phase 5 — Predictive Intelligence
5
+ *
6
+ * You open a file, axoniz has already pre-loaded the related context,
7
+ * run the relevant tests, and has a suggested answer before you type anything.
8
+ *
9
+ * It studies your session history to know:
10
+ * - Where you get stuck
11
+ * - Which files break most
12
+ * - What patterns predict problems
13
+ * - What you're likely to ask next
14
+ *
15
+ * This is not autocomplete. This is intent modeling from behavioral history.
16
+ *
17
+ * Architecture:
18
+ * SessionAnalyzer — mines trajectory + history for behavioral patterns
19
+ * PredictiveContext — pre-loads context based on what file you opened
20
+ * IntentPredictor — predicts likely next query from recent actions
21
+ * HotspotTracker — tracks which files/symbols cause the most trouble
22
+ *
23
+ * Port notes (Python → Node):
24
+ * - `PredictiveContext.preload_async` used `threading.Thread(daemon=True)`;
25
+ * the port schedules the work on the microtask queue instead (Node has no
26
+ * threads and the work is I/O bound).
27
+ * - `PredictiveContext.preload_file` / `_build_context` are `async` because
28
+ * the palace (unified memory) search is async in the Node port.
29
+ * `get_ready_context`, `IntentPredictor.predict`, `HotspotTracker` and
30
+ * `PredictiveEngine.on_task_start` stay synchronous.
31
+ * - `json.loads(fail["args_json"])` → `_safeParse`, which returns `{}` for a
32
+ * corrupt blob instead of raising the way Python would.
33
+ */
34
+ import path from "node:path";
35
+ import { pct } from "./confidence.js";
36
+ function _toolStats(t) {
37
+ return t.tool_stats?.() ?? t.toolStats?.() ?? [];
38
+ }
39
+ function _recentFailures(t, limit, tool_name = null) {
40
+ return t.recent_failures?.(tool_name, limit) ?? t.recentFailures?.(tool_name, limit) ?? [];
41
+ }
42
+ function _sessionSteps(t, session_id) {
43
+ return t.get_session_steps?.(session_id) ?? t.getSessionSteps?.(session_id) ?? [];
44
+ }
45
+ /** `json.loads(x or "{}")`, tolerant of corrupt values. */
46
+ function _safeParse(raw) {
47
+ if (typeof raw !== "string" || !raw)
48
+ return {};
49
+ try {
50
+ const parsed = JSON.parse(raw);
51
+ return parsed !== null && typeof parsed === "object" && !Array.isArray(parsed)
52
+ ? parsed
53
+ : {};
54
+ }
55
+ catch {
56
+ return {};
57
+ }
58
+ }
59
+ function _num(v) {
60
+ const n = Number(v);
61
+ return Number.isFinite(n) ? n : 0;
62
+ }
63
+ function _now() {
64
+ return Date.now() / 1000;
65
+ }
66
+ export class BehaviorPattern {
67
+ pattern_type;
68
+ frequency;
69
+ files;
70
+ tools;
71
+ description;
72
+ constructor(init) {
73
+ this.pattern_type = init.pattern_type;
74
+ this.frequency = init.frequency;
75
+ this.files = init.files ?? [];
76
+ this.tools = init.tools ?? [];
77
+ this.description = init.description ?? "";
78
+ }
79
+ get patternType() {
80
+ return this.pattern_type;
81
+ }
82
+ }
83
+ export class Hotspot {
84
+ path;
85
+ error_count;
86
+ edit_count;
87
+ last_touched;
88
+ typical_error;
89
+ risk_score;
90
+ constructor(init) {
91
+ this.path = init.path;
92
+ this.error_count = init.error_count;
93
+ this.edit_count = init.edit_count ?? 0;
94
+ this.last_touched = init.last_touched ?? _now();
95
+ this.typical_error = init.typical_error ?? "unknown";
96
+ this.risk_score = init.risk_score ?? 0;
97
+ }
98
+ get errorCount() {
99
+ return this.error_count;
100
+ }
101
+ get riskScore() {
102
+ return this.risk_score;
103
+ }
104
+ }
105
+ export class PredictedIntent {
106
+ query;
107
+ confidence;
108
+ context;
109
+ suggested;
110
+ reasoning;
111
+ constructor(init) {
112
+ this.query = init.query;
113
+ this.confidence = init.confidence;
114
+ this.context = init.context ?? "";
115
+ this.suggested = init.suggested ?? "";
116
+ this.reasoning = init.reasoning ?? "";
117
+ }
118
+ }
119
+ /* ─── Session Analyzer ───────────────────────────────────────────────────────── */
120
+ /**
121
+ * Mines the trajectory database to extract behavioral patterns.
122
+ * Learns: where you get stuck, which tools fail most, which files cause pain.
123
+ */
124
+ export class SessionAnalyzer {
125
+ traj;
126
+ constructor(trajectory) {
127
+ this.traj = trajectory;
128
+ }
129
+ /** Files that cause the most errors. */
130
+ get_hotspots(limit = 10) {
131
+ const failures = _recentFailures(this.traj, 100);
132
+ // Count errors per file
133
+ const file_errors = new Map();
134
+ const file_tools = new Map();
135
+ for (const fail of failures) {
136
+ const args = _safeParse(fail["args_json"]);
137
+ const fpath = args["path"] ?? String(args["command"] ?? "").slice(0, 50);
138
+ if (fpath) {
139
+ const key = String(fpath);
140
+ file_errors.set(key, (file_errors.get(key) ?? 0) + 1);
141
+ file_tools.set(key, String(fail["tool_name"] ?? ""));
142
+ }
143
+ }
144
+ const ordered = [...file_errors.entries()].sort((a, b) => b[1] - a[1]).slice(0, limit);
145
+ return ordered.map(([fpath, count]) => new Hotspot({
146
+ path: fpath,
147
+ error_count: count,
148
+ edit_count: 0, // would need richer tracking
149
+ last_touched: _now(),
150
+ typical_error: file_tools.get(fpath) ?? "unknown",
151
+ risk_score: Math.min(1.0, count / 10),
152
+ }));
153
+ }
154
+ /** camelCase alias. */
155
+ getHotspots(limit = 10) {
156
+ return this.get_hotspots(limit);
157
+ }
158
+ /** Identify recurring behavior patterns from tool usage. */
159
+ get_patterns() {
160
+ const stats = _toolStats(this.traj);
161
+ if (stats.length === 0) {
162
+ return [];
163
+ }
164
+ const patterns = [];
165
+ const tool_counts = new Map();
166
+ const fail_rates = new Map();
167
+ for (const s of stats) {
168
+ const name = String(s["tool_name"]);
169
+ const total = _num(s["total"]);
170
+ tool_counts.set(name, total);
171
+ fail_rates.set(name, _num(s["failures"]) / Math.max(total, 1));
172
+ }
173
+ // Pattern: stuck in shell_run loops
174
+ if ((tool_counts.get("shell_run") ?? 0) > 10 && (fail_rates.get("shell_run") ?? 0) > 0.4) {
175
+ patterns.push(new BehaviorPattern({
176
+ pattern_type: "error_loop",
177
+ frequency: Math.trunc(tool_counts.get("shell_run") ?? 0),
178
+ files: [],
179
+ tools: ["shell_run"],
180
+ description: "Frequent shell_run failures — possibly environment/path issues",
181
+ }));
182
+ }
183
+ // Pattern: heavy file editing
184
+ const edit_total = (tool_counts.get("file_edit") ?? 0) + (tool_counts.get("file_write") ?? 0);
185
+ if (edit_total > 20) {
186
+ patterns.push(new BehaviorPattern({
187
+ pattern_type: "productive",
188
+ frequency: edit_total,
189
+ files: [],
190
+ tools: ["file_edit", "file_write"],
191
+ description: `Heavy file editing — ${edit_total} write operations`,
192
+ }));
193
+ }
194
+ // Pattern: exploration (lots of reads, lists)
195
+ const explore = (tool_counts.get("file_read") ?? 0) +
196
+ (tool_counts.get("file_list") ?? 0) +
197
+ (tool_counts.get("code_tree") ?? 0);
198
+ if (explore > 15) {
199
+ patterns.push(new BehaviorPattern({
200
+ pattern_type: "exploratory",
201
+ frequency: explore,
202
+ files: [],
203
+ tools: ["file_read", "file_list"],
204
+ description: `Exploration mode — ${explore} read operations without many writes`,
205
+ }));
206
+ }
207
+ return patterns;
208
+ }
209
+ /** camelCase alias. */
210
+ getPatterns() {
211
+ return this.get_patterns();
212
+ }
213
+ /** Files that appear most in tool call arguments. */
214
+ most_used_files(limit = 10) {
215
+ void limit; // Populated as trajectory accumulates session data
216
+ return [];
217
+ }
218
+ /** camelCase alias. */
219
+ mostUsedFiles(limit = 10) {
220
+ return this.most_used_files(limit);
221
+ }
222
+ /** One-paragraph behavioral summary. */
223
+ summary() {
224
+ const stats = _toolStats(this.traj);
225
+ const patterns = this.get_patterns();
226
+ const hotspots = this.get_hotspots(3);
227
+ if (stats.length === 0) {
228
+ return "No behavioral data yet — session history will build over time.";
229
+ }
230
+ const total_calls = stats.reduce((acc, s) => acc + _num(s["total"]), 0);
231
+ const total_errors = stats.reduce((acc, s) => acc + _num(s["failures"]), 0);
232
+ const error_rate = total_errors / Math.max(total_calls, 1);
233
+ const top_tools = [...stats].sort((a, b) => _num(b["total"]) - _num(a["total"])).slice(0, 3);
234
+ const top_str = top_tools.map((s) => `${String(s["tool_name"])}(${_num(s["total"])})`).join(", ");
235
+ const parts = [
236
+ `Behavioral summary: ${total_calls} tool calls, ${pct(error_rate)} error rate.`,
237
+ `Most used: ${top_str}.`,
238
+ ];
239
+ if (patterns.length > 0) {
240
+ parts.push(`Patterns: ${patterns.slice(0, 2).map((p) => p.description).join("; ")}.`);
241
+ }
242
+ if (hotspots.length > 0) {
243
+ parts.push(`Problem areas: ${hotspots.slice(0, 3).map((h) => path.basename(h.path)).join(", ")}.`);
244
+ }
245
+ return parts.join(" ");
246
+ }
247
+ }
248
+ /**
249
+ * When you open a file, pre-load all related context:
250
+ * - What the file contains (AST symbols)
251
+ * - What imports it (who depends on it)
252
+ * - Recent errors in this file
253
+ * - Related palace memories
254
+ *
255
+ * This context is ready before you even ask your first question.
256
+ */
257
+ export class PredictiveContext {
258
+ agent;
259
+ _cache = new Map(); // path → (context, timestamp)
260
+ _cache_ttl = 60.0; // seconds
261
+ constructor(agent) {
262
+ this.agent = agent;
263
+ }
264
+ /**
265
+ * Pre-load context for a file. Returns context string.
266
+ * Runs in the background so it doesn't block (Python spawned a thread; the
267
+ * Node port returns a Promise because the palace lookup is async).
268
+ */
269
+ async preload_file(file_path) {
270
+ const now = _now();
271
+ const cached = this._cache.get(file_path);
272
+ if (cached && now - cached[1] < this._cache_ttl) {
273
+ return cached[0];
274
+ }
275
+ const context = await this._build_context(file_path);
276
+ this._cache.set(file_path, [context, now]);
277
+ return context;
278
+ }
279
+ /** camelCase alias. */
280
+ preloadFile(file_path) {
281
+ return this.preload_file(file_path);
282
+ }
283
+ /** Fire-and-forget background preload. */
284
+ preload_async(file_path) {
285
+ void this.preload_file(file_path).catch(() => undefined);
286
+ }
287
+ /** camelCase alias. */
288
+ preloadAsync(file_path) {
289
+ this.preload_async(file_path);
290
+ }
291
+ async _build_context(file_path) {
292
+ const parts = [];
293
+ // AST context
294
+ const astIndex = this.agent.ast_index ?? this.agent.astIndex;
295
+ if (astIndex) {
296
+ try {
297
+ const ctx = astIndex.get_file_context?.(file_path) ?? astIndex.getFileContext?.(file_path);
298
+ if (ctx) {
299
+ parts.push(ctx);
300
+ }
301
+ }
302
+ catch {
303
+ /* index unavailable — ignore */
304
+ }
305
+ }
306
+ // Recent failures in this file
307
+ const failures = _recentFailures(this.agent.trajectory, 20);
308
+ const file_failures = failures.filter((f) => String(f["args_json"] ?? "").includes(file_path));
309
+ if (file_failures.length > 0) {
310
+ parts.push(`Recent errors in this file (${file_failures.length}):\n` +
311
+ file_failures
312
+ .slice(0, 3)
313
+ .map((f) => ` ${String(f["tool_name"])}: ${String(f["result_head"] ?? "").slice(0, 80)}`)
314
+ .join("\n"));
315
+ }
316
+ // Palace search for this file
317
+ const palace = this.agent.memory?.palace;
318
+ const available = Boolean(palace && ((palace.is_available?.() ?? false) || (palace.isAvailable?.() ?? false)));
319
+ if (palace && available && typeof palace.search === "function") {
320
+ try {
321
+ const rel = path.basename(file_path);
322
+ const r = (await palace.search(rel, { limit: 2 }));
323
+ const hits = Array.isArray(r) ? r : (r?.results ?? []);
324
+ if (hits.length > 0) {
325
+ parts.push("Related memory:\n" +
326
+ hits.map((h) => ` ${String(h["text"] ?? "").slice(0, 150)}`).join("\n"));
327
+ }
328
+ }
329
+ catch {
330
+ /* palace search failure must not break preloading */
331
+ }
332
+ }
333
+ return parts.length > 0 ? parts.join("\n\n") : "";
334
+ }
335
+ /** Get cached context if available (never blocks). */
336
+ get_ready_context(file_path) {
337
+ const cached = this._cache.get(file_path);
338
+ if (cached) {
339
+ return cached[0];
340
+ }
341
+ return "";
342
+ }
343
+ /** camelCase alias. */
344
+ getReadyContext(file_path) {
345
+ return this.get_ready_context(file_path);
346
+ }
347
+ }
348
+ /* ─── Intent Predictor ───────────────────────────────────────────────────────── */
349
+ /**
350
+ * Predicts what you're likely to ask next, based on:
351
+ * - What file you just opened
352
+ * - Recent tool call sequence
353
+ * - Session history patterns
354
+ * - Time of day / working patterns
355
+ *
356
+ * No model needed — pure rule-based pattern matching over trajectory.
357
+ * Fast enough to run synchronously.
358
+ */
359
+ export class IntentPredictor {
360
+ /** [recent tools] → predicted query, suggested action */
361
+ static SEQUENCE_RULES = [
362
+ [
363
+ ["file_read", "file_read"],
364
+ "Understand how these files relate to each other",
365
+ "code_analyze to map the structure",
366
+ ],
367
+ [["file_write", "shell_run"], "Test if the code you wrote works", "shell_python to run tests"],
368
+ [
369
+ ["shell_run", "shell_run", "shell_run"],
370
+ "Debugging a command that keeps failing",
371
+ "file_read to check the script for the issue",
372
+ ],
373
+ [
374
+ ["file_edit", "file_edit", "file_edit"],
375
+ "Refactoring a file — check for consistency",
376
+ "code_lint to find remaining issues",
377
+ ],
378
+ [
379
+ ["web_search", "file_write"],
380
+ "Implementing something from research",
381
+ "shell_python to test the implementation",
382
+ ],
383
+ [
384
+ ["code_tree", "file_read"],
385
+ "Exploring a new codebase",
386
+ "code_analyze to understand the structure",
387
+ ],
388
+ [
389
+ ["file_delete", "file_write"],
390
+ "Replacing a file — check nothing else broke",
391
+ "ast_find_callers to check dependencies",
392
+ ],
393
+ ];
394
+ traj;
395
+ constructor(trajectory) {
396
+ this.traj = trajectory;
397
+ }
398
+ /** Predict likely next intent from recent tool sequence. */
399
+ predict(session_id, recent_n = 5) {
400
+ const recent = _sessionSteps(this.traj, session_id).slice(-recent_n);
401
+ if (recent.length === 0) {
402
+ return null;
403
+ }
404
+ const recent_tools = recent.map((s) => String(s["tool_name"]));
405
+ // Try sequence rules
406
+ for (const [rule_seq, query, suggestion] of IntentPredictor.SEQUENCE_RULES) {
407
+ if (recent_tools.length >= rule_seq.length) {
408
+ const tail = recent_tools.slice(-rule_seq.length);
409
+ if (tail.length === rule_seq.length && tail.every((t, i) => t === rule_seq[i])) {
410
+ return new PredictedIntent({
411
+ query,
412
+ confidence: 0.7,
413
+ context: "",
414
+ suggested: suggestion,
415
+ reasoning: `You just ran: ${rule_seq.join(" → ")}`,
416
+ });
417
+ }
418
+ }
419
+ }
420
+ // Fallback: last tool failed → predict retry
421
+ const last = recent[recent.length - 1];
422
+ if (_num(last["success"]) === 0) {
423
+ return new PredictedIntent({
424
+ query: `Fix the error in ${String(last["tool_name"])}`,
425
+ confidence: 0.8,
426
+ context: `Last error: ${String(last["result_head"] ?? "").slice(0, 200)}`,
427
+ suggested: "Read the error and fix the issue",
428
+ reasoning: "Last tool call failed",
429
+ });
430
+ }
431
+ return null;
432
+ }
433
+ /** Return a pre-loaded suggestion string for the UI. */
434
+ preload_suggestion(session_id) {
435
+ const pred = this.predict(session_id);
436
+ if (!pred) {
437
+ return "";
438
+ }
439
+ return (`💡 Predicted: ${pred.query}\n` +
440
+ ` Suggested action: ${pred.suggested}\n` +
441
+ ` (because: ${pred.reasoning})`);
442
+ }
443
+ /** camelCase alias. */
444
+ preloadSuggestion(session_id) {
445
+ return this.preload_suggestion(session_id);
446
+ }
447
+ }
448
+ /* ─── Hotspot Tracker ────────────────────────────────────────────────────────── */
449
+ /**
450
+ * Tracks which files and functions cause the most problems over time.
451
+ * Feeds into the predictive system to pre-load context for problem areas.
452
+ */
453
+ export class HotspotTracker {
454
+ traj;
455
+ _hotspots = [];
456
+ _last_update = 0.0;
457
+ constructor(trajectory) {
458
+ this.traj = trajectory;
459
+ }
460
+ get_hotspots(refresh = false) {
461
+ const now = _now();
462
+ if (refresh || now - this._last_update > 60) {
463
+ const analyzer = new SessionAnalyzer(this.traj);
464
+ this._hotspots = analyzer.get_hotspots();
465
+ this._last_update = now;
466
+ }
467
+ return this._hotspots;
468
+ }
469
+ /** camelCase alias. */
470
+ getHotspots(refresh = false) {
471
+ return this.get_hotspots(refresh);
472
+ }
473
+ is_hotspot(file_path) {
474
+ for (const h of this.get_hotspots()) {
475
+ if (file_path.includes(h.path) || h.path.includes(file_path)) {
476
+ return true;
477
+ }
478
+ }
479
+ return false;
480
+ }
481
+ /** camelCase alias. */
482
+ isHotspot(file_path) {
483
+ return this.is_hotspot(file_path);
484
+ }
485
+ format() {
486
+ const hotspots = this.get_hotspots();
487
+ if (hotspots.length === 0) {
488
+ return "No problem files identified yet.";
489
+ }
490
+ const lines = ["Problem files (by error frequency):"];
491
+ for (const h of hotspots.slice(0, 5)) {
492
+ lines.push(` ${path.basename(h.path)}: ` +
493
+ `${h.error_count} errors, ` +
494
+ `risk=${pct(h.risk_score)}`);
495
+ }
496
+ return lines.join("\n");
497
+ }
498
+ }
499
+ /* ─── Predictive Engine (top-level) ──────────────────────────────────────────── */
500
+ /**
501
+ * Combines all prediction components into one object wired into the Agent.
502
+ *
503
+ * At every turn:
504
+ * 1. Prefetch context for recently accessed files
505
+ * 2. Predict likely next intent
506
+ * 3. Track hotspots
507
+ * 4. Inject everything into the system prompt silently
508
+ */
509
+ export class PredictiveEngine {
510
+ agent;
511
+ analyzer;
512
+ predictor;
513
+ hotspots;
514
+ ctx_cache;
515
+ constructor(agent) {
516
+ this.agent = agent;
517
+ this.analyzer = new SessionAnalyzer(agent.trajectory);
518
+ this.predictor = new IntentPredictor(agent.trajectory);
519
+ this.hotspots = new HotspotTracker(agent.trajectory);
520
+ this.ctx_cache = new PredictiveContext(agent);
521
+ }
522
+ get ctxCache() {
523
+ return this.ctx_cache;
524
+ }
525
+ /**
526
+ * Called at the start of each agent run.
527
+ * Returns a context block to inject into the system prompt.
528
+ */
529
+ on_task_start(task, session_id) {
530
+ void task; // Python accepted the task text and only used the session id.
531
+ const parts = [];
532
+ // Behavioral summary
533
+ const summary = this.analyzer.summary();
534
+ if (summary && !summary.includes("No behavioral data")) {
535
+ parts.push(`[BEHAVIORAL CONTEXT]\n${summary}`);
536
+ }
537
+ // Intent prediction
538
+ if (session_id) {
539
+ const pred = this.predictor.predict(session_id);
540
+ if (pred && pred.confidence > 0.6) {
541
+ parts.push(`[PREDICTED NEXT STEP]\n${pred.query}\nSuggested: ${pred.suggested}`);
542
+ }
543
+ }
544
+ // Hotspot warning
545
+ const hotspot_str = this.hotspots.format();
546
+ if (!hotspot_str.includes("No problem files")) {
547
+ parts.push(`[PROBLEM FILES]\n${hotspot_str}`);
548
+ }
549
+ return parts.join("\n\n");
550
+ }
551
+ /** camelCase alias. */
552
+ onTaskStart(task, session_id) {
553
+ return this.on_task_start(task, session_id);
554
+ }
555
+ /** Pre-load context when user mentions a file. */
556
+ on_file_open(file_path) {
557
+ return this.ctx_cache.preload_file(file_path);
558
+ }
559
+ /** camelCase alias. */
560
+ onFileOpen(file_path) {
561
+ return this.on_file_open(file_path);
562
+ }
563
+ /** Scan text for file paths and preload them in background. */
564
+ on_file_mention(text) {
565
+ const paths = text.match(/[\w/\\\-\.]+\.py/g) ?? [];
566
+ for (const p of paths.slice(0, 3)) {
567
+ this.ctx_cache.preload_async(p);
568
+ }
569
+ }
570
+ /** camelCase alias. */
571
+ onFileMention(text) {
572
+ this.on_file_mention(text);
573
+ }
574
+ get_stats() {
575
+ const stats = _toolStats(this.agent.trajectory);
576
+ const patterns = this.analyzer.get_patterns();
577
+ const total = stats.reduce((acc, s) => acc + _num(s["total"]), 0);
578
+ return {
579
+ total_calls: total,
580
+ error_rate: stats.reduce((acc, s) => acc + _num(s["failures"]), 0) / Math.max(total, 1),
581
+ patterns: patterns.map((p) => p.pattern_type),
582
+ hotspot_count: this.hotspots.get_hotspots().length,
583
+ };
584
+ }
585
+ /** camelCase alias. */
586
+ getStats() {
587
+ return this.get_stats();
588
+ }
589
+ }
590
+ //# sourceMappingURL=predictor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"predictor.js","sourceRoot":"","sources":["../../../src/core/intelligence/predictor.ts"],"names":[],"mappings":"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"}