@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,84 @@
1
+ /**
2
+ * AXONIZ ShadowGuard — The Reflex Engine.
3
+ * High-speed, low-memory intent detection and autonomous response.
4
+ * Acts like a 'Shadow Guard' that protects and serves instantly.
5
+ *
6
+ * Port notes (Python → Node):
7
+ * - `threading.Thread(target=self.brain.load, daemon=True)` → `void
8
+ * this.brain.load()` (Node is single-threaded; the load is I/O-ish).
9
+ * - `transformers.pipeline("text-generation", ...)` → NOT AVAILABLE. See
10
+ * `ReflexBrain.load()` for the documented degradation: the heuristic reflex
11
+ * table is the working path, exactly as in Python when the pipeline failed
12
+ * to load.
13
+ * - `pyautogui` / `ctypes.windll` / `webbrowser` → `node:child_process` +
14
+ * the `open` package (best effort, always unref'd and swallowed on error).
15
+ * - `axoniz.core.optimizer.get_hardware_profile()` → `systeminformation`,
16
+ * fetched once in the background and cached, so `process()` can stay
17
+ * SYNCHRONOUS like the Python original.
18
+ * - `process()` keeps its synchronous signature: every reflex action returns
19
+ * a string immediately.
20
+ */
21
+ /** The `transformers` text-generation pipeline signature `classify()` calls. */
22
+ export type ReflexPipeline = (prompt: string, options: Record<string, unknown>) => unknown;
23
+ /** A tiny brain for semantic intent classification. */
24
+ export declare class ReflexBrain {
25
+ model_path: string;
26
+ _pipeline: ReflexPipeline | null;
27
+ _intent_map: Record<string, string[]>;
28
+ constructor(model_path: string);
29
+ /**
30
+ * FIDELITY LOSS: Python built a HuggingFace `transformers` text-generation
31
+ * pipeline here. No inference dependency for a transformers model directory is
32
+ * available in the Node dependency set, so this is a documented no-op that
33
+ * keeps the public API and the *behaviour* Python exhibited when loading
34
+ * failed: `_pipeline` stays null and `classify()` returns null, leaving the
35
+ * heuristic reflex table as the sole working path. An external caller may
36
+ * still inject a `_pipeline` to re-enable semantic classification.
37
+ */
38
+ load(): Promise<void>;
39
+ classify(text: string): string | null;
40
+ /** Async door for callers that can await a future inference backend. */
41
+ classify_async(text: string): Promise<string | null>;
42
+ /** camelCase alias. */
43
+ classifyAsync(text: string): Promise<string | null>;
44
+ }
45
+ export interface ReflexComputerTools {
46
+ screen_capture?(filename: string): unknown;
47
+ key_press?(keys: string): unknown;
48
+ }
49
+ /** The subset of the Agent surface the reflex layer touches. */
50
+ export interface ReflexAgent {
51
+ health?: unknown;
52
+ computer_tools?: ReflexComputerTools;
53
+ computerTools?: ReflexComputerTools;
54
+ }
55
+ interface HardwareProfile {
56
+ cpu_count: number;
57
+ total_ram_gb: number;
58
+ has_gpu: boolean;
59
+ }
60
+ type ReflexAction = (match: RegExpExecArray | null) => string;
61
+ export declare class ShadowGuardReflex {
62
+ agent: ReflexAgent | null;
63
+ brain: ReflexBrain | null;
64
+ reflexes: Array<[RegExp, ReflexAction]>;
65
+ _hw: HardwareProfile | null;
66
+ constructor(agent?: ReflexAgent | null);
67
+ /** Process text and return a response if a reflex was triggered. */
68
+ process(text: string): string | null;
69
+ _open_browser(match: RegExpExecArray | null): string;
70
+ _open_editor(match: RegExpExecArray | null): string;
71
+ _screenshot(match: RegExpExecArray | null): string;
72
+ /** Python's `datetime.now().strftime('%I:%M %p')`. */
73
+ _get_time(match: RegExpExecArray | null): string;
74
+ /** Python's `datetime.now().strftime('%A, %B %d, %Y')`. */
75
+ _get_date(match: RegExpExecArray | null): string;
76
+ _minimize_all(match: RegExpExecArray | null): string;
77
+ _lock_pc(match: RegExpExecArray | null): string;
78
+ _web_search(match: RegExpExecArray | null): string;
79
+ _check_hardware(match: RegExpExecArray | null): string;
80
+ /** Background replacement for `optimizer.get_hardware_profile()`. */
81
+ _refresh_hardware(): Promise<void>;
82
+ }
83
+ export {};
84
+ //# sourceMappingURL=reflex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reflex.d.ts","sourceRoot":"","sources":["../../../src/core/intelligence/reflex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAYH,gFAAgF;AAChF,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;AAE3F,uDAAuD;AACvD,qBAAa,WAAW;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,cAAc,GAAG,IAAI,CAAQ;IACxC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAMnC;IAEF,YAAY,UAAU,EAAE,MAAM,EAE7B;IAED;;;;;;;;OAQG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAQ1B;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkBpC;IAED,wEAAwE;IAClE,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAEzD;IAED,uBAAuB;IACvB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAElD;CACF;AAED,MAAM,WAAW,mBAAmB;IAClC,cAAc,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3C,SAAS,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AAED,gEAAgE;AAChE,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,aAAa,CAAC,EAAE,mBAAmB,CAAC;CACrC;AAED,UAAU,eAAe;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,KAAK,YAAY,GAAG,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,KAAK,MAAM,CAAC;AAE9D,qBAAa,iBAAiB;IAC5B,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,WAAW,GAAG,IAAI,CAAQ;IACjC,QAAQ,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IACxC,GAAG,EAAE,eAAe,GAAG,IAAI,CAAQ;IAEnC,YAAY,KAAK,GAAE,WAAW,GAAG,IAAW,EAgD3C;IAED,oEAAoE;IACpE,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAyBnC;IAID,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,MAAM,CAkBnD;IAED,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,MAAM,CASlD;IAED,WAAW,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,MAAM,CAUjD;IAED,sDAAsD;IACtD,SAAS,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,MAAM,CAS/C;IAED,2DAA2D;IAC3D,SAAS,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,MAAM,CAM/C;IAED,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,MAAM,CA2BnD;IAED,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,MAAM,CAe9C;IAED,WAAW,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,MAAM,CAQjD;IAED,eAAe,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,MAAM,CAYrD;IAED,qEAAqE;IAC/D,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAYvC;CACF"}
@@ -0,0 +1,344 @@
1
+ /**
2
+ * AXONIZ ShadowGuard — The Reflex Engine.
3
+ * High-speed, low-memory intent detection and autonomous response.
4
+ * Acts like a 'Shadow Guard' that protects and serves instantly.
5
+ *
6
+ * Port notes (Python → Node):
7
+ * - `threading.Thread(target=self.brain.load, daemon=True)` → `void
8
+ * this.brain.load()` (Node is single-threaded; the load is I/O-ish).
9
+ * - `transformers.pipeline("text-generation", ...)` → NOT AVAILABLE. See
10
+ * `ReflexBrain.load()` for the documented degradation: the heuristic reflex
11
+ * table is the working path, exactly as in Python when the pipeline failed
12
+ * to load.
13
+ * - `pyautogui` / `ctypes.windll` / `webbrowser` → `node:child_process` +
14
+ * the `open` package (best effort, always unref'd and swallowed on error).
15
+ * - `axoniz.core.optimizer.get_hardware_profile()` → `systeminformation`,
16
+ * fetched once in the background and cached, so `process()` can stay
17
+ * SYNCHRONOUS like the Python original.
18
+ * - `process()` keeps its synchronous signature: every reflex action returns
19
+ * a string immediately.
20
+ */
21
+ import { spawn } from "node:child_process";
22
+ import fs from "node:fs";
23
+ import { debug, info, warn } from "../debug.js";
24
+ /** A tiny brain for semantic intent classification. */
25
+ export class ReflexBrain {
26
+ model_path;
27
+ _pipeline = null;
28
+ _intent_map = {
29
+ browser: ["open browser", "start chrome", "google search"],
30
+ editor: ["open vscode", "start coding", "edit files"],
31
+ screenshot: ["take screenshot", "capture screen"],
32
+ system: ["lock pc", "check ram", "hardware status"],
33
+ time: ["what time", "today's date"],
34
+ };
35
+ constructor(model_path) {
36
+ this.model_path = model_path;
37
+ }
38
+ /**
39
+ * FIDELITY LOSS: Python built a HuggingFace `transformers` text-generation
40
+ * pipeline here. No inference dependency for a transformers model directory is
41
+ * available in the Node dependency set, so this is a documented no-op that
42
+ * keeps the public API and the *behaviour* Python exhibited when loading
43
+ * failed: `_pipeline` stays null and `classify()` returns null, leaving the
44
+ * heuristic reflex table as the sole working path. An external caller may
45
+ * still inject a `_pipeline` to re-enable semantic classification.
46
+ */
47
+ async load() {
48
+ if (this._pipeline)
49
+ return;
50
+ if (!fs.existsSync(this.model_path)) {
51
+ warn(`[ShadowGuard] Reflex Brain path not found: ${this.model_path}`);
52
+ return;
53
+ }
54
+ info(`[ShadowGuard] Loading Reflex Brain: ${this.model_path}`);
55
+ this._pipeline = null;
56
+ }
57
+ classify(text) {
58
+ if (!this._pipeline)
59
+ return null;
60
+ // Simple semantic mapping
61
+ const prompt = `User: ${text}\nIntent:`;
62
+ try {
63
+ const out = this._pipeline(prompt, { max_new_tokens: 5, do_sample: false });
64
+ const first = (Array.isArray(out) ? out[0] : out);
65
+ const generated = String(first?.["generated_text"] ?? "");
66
+ const gen = generated.slice(prompt.length).toLowerCase().trim();
67
+ for (const [intent, keywords] of Object.entries(this._intent_map)) {
68
+ if (keywords.some((k) => gen.includes(k)) || gen.includes(intent)) {
69
+ return intent;
70
+ }
71
+ }
72
+ }
73
+ catch {
74
+ /* classification is best effort */
75
+ }
76
+ return null;
77
+ }
78
+ /** Async door for callers that can await a future inference backend. */
79
+ async classify_async(text) {
80
+ return this.classify(text);
81
+ }
82
+ /** camelCase alias. */
83
+ classifyAsync(text) {
84
+ return this.classify_async(text);
85
+ }
86
+ }
87
+ export class ShadowGuardReflex {
88
+ agent;
89
+ brain = null;
90
+ reflexes;
91
+ _hw = null;
92
+ constructor(agent = null) {
93
+ this.agent = agent;
94
+ // Load from optional environment variable, no hardcoded path
95
+ const reflex_model = process.env.AXONIZ_REFLEX_MODEL;
96
+ if (reflex_model && fs.existsSync(reflex_model)) {
97
+ this.brain = new ReflexBrain(reflex_model);
98
+ // Python: threading.Thread(target=self.brain.load, daemon=True).start()
99
+ void this.brain.load();
100
+ }
101
+ // Heuristic fallback patterns
102
+ this.reflexes = [
103
+ [
104
+ /\b(open|start|launch)\b.*?\b(chrome|browser|google)\b/,
105
+ _named((m) => this._open_browser(m), "_open_browser"),
106
+ ],
107
+ [
108
+ /\b(open|start|launch)\b.*?\b(vscode|code|editor)\b/,
109
+ _named((m) => this._open_editor(m), "_open_editor"),
110
+ ],
111
+ [
112
+ /\b(take|grab|make)\b.*?\b(screenshot|picture|screen)\b/,
113
+ _named((m) => this._screenshot(m), "_screenshot"),
114
+ ],
115
+ [/\b(what|tell me)\b.*?\b(time|clock)\b/, _named((m) => this._get_time(m), "_get_time")],
116
+ [/\b(what|tell me)\b.*?\b(date|today)\b/, _named((m) => this._get_date(m), "_get_date")],
117
+ [
118
+ /\b(minimize|hide)\b.*?\b(all|windows)\b/,
119
+ _named((m) => this._minimize_all(m), "_minimize_all"),
120
+ ],
121
+ [/\b(lock)\b.*?\b(computer|pc|screen)\b/, _named((m) => this._lock_pc(m), "_lock_pc")],
122
+ [
123
+ /\b(search|find)\b.*?\b(for|on web)\b\s+(.*)/,
124
+ _named((m) => this._web_search(m), "_web_search"),
125
+ ],
126
+ [
127
+ /\b(how much|check)\b.*?\b(ram|memory|cpu|hardware)\b/,
128
+ _named((m) => this._check_hardware(m), "_check_hardware"),
129
+ ],
130
+ ];
131
+ // Python read the hardware profile synchronously from the optimizer; the
132
+ // Node equivalent (`systeminformation`) is async, so it is cached in the
133
+ // background while `process()`/`_check_hardware()` stay synchronous.
134
+ if (this.agent) {
135
+ void this._refresh_hardware();
136
+ }
137
+ }
138
+ /** Process text and return a response if a reflex was triggered. */
139
+ process(text) {
140
+ const low = text.toLowerCase().trim();
141
+ // 1. AI-Powered semantic check (Reflex Brain)
142
+ if (this.brain) {
143
+ const intent = this.brain.classify(low);
144
+ if (intent) {
145
+ info(`[ShadowGuard] AI Intent detected: ${intent}`);
146
+ if (intent === "browser")
147
+ return this._open_browser(null);
148
+ if (intent === "editor")
149
+ return this._open_editor(null);
150
+ if (intent === "screenshot")
151
+ return this._screenshot(null);
152
+ if (intent === "system")
153
+ return this._check_hardware(null);
154
+ if (intent === "time")
155
+ return this._get_time(null);
156
+ }
157
+ }
158
+ // 2. Heuristic fallback patterns
159
+ for (const [pattern, action] of this.reflexes) {
160
+ const match = pattern.exec(low);
161
+ if (match) {
162
+ info(`[ShadowGuard] Reflex triggered: ${action.name}`);
163
+ return action(match);
164
+ }
165
+ }
166
+ return null;
167
+ }
168
+ /* ── Reflex Actions ──────────────────────────────────────────────────────── */
169
+ _open_browser(match) {
170
+ void match;
171
+ try {
172
+ if (process.platform === "win32") {
173
+ const child = spawn("cmd", ["/c", "start", "chrome"], {
174
+ shell: true,
175
+ detached: true,
176
+ stdio: "ignore",
177
+ });
178
+ child.unref();
179
+ }
180
+ else {
181
+ const child = spawn("open", ["-a", "Google Chrome"], { detached: true, stdio: "ignore" });
182
+ child.unref();
183
+ }
184
+ }
185
+ catch (e) {
186
+ debug(`[ShadowGuard] open browser failed: ${errText(e)}`);
187
+ }
188
+ return "Opening Chrome, my liege.";
189
+ }
190
+ _open_editor(match) {
191
+ void match;
192
+ try {
193
+ const child = spawn("code", ["."], { shell: true, detached: true, stdio: "ignore" });
194
+ child.unref();
195
+ }
196
+ catch (e) {
197
+ debug(`[ShadowGuard] open editor failed: ${errText(e)}`);
198
+ }
199
+ return "VS Code is launching in the current workspace.";
200
+ }
201
+ _screenshot(match) {
202
+ void match;
203
+ const ct = this.agent?.computer_tools ?? this.agent?.computerTools;
204
+ if (this.agent && ct && typeof ct.screen_capture === "function") {
205
+ const res = String(ct.screen_capture("reflex_capture.png") ?? "");
206
+ if (res.includes("[OK]")) {
207
+ return "Screenshot captured and saved to workspace.";
208
+ }
209
+ }
210
+ return "I've captured the screen for you.";
211
+ }
212
+ /** Python's `datetime.now().strftime('%I:%M %p')`. */
213
+ _get_time(match) {
214
+ void match;
215
+ const d = new Date();
216
+ let h = d.getHours() % 12;
217
+ if (h === 0)
218
+ h = 12;
219
+ const hh = String(h).padStart(2, "0");
220
+ const mm = String(d.getMinutes()).padStart(2, "0");
221
+ const ap = d.getHours() < 12 ? "AM" : "PM";
222
+ return `It is currently ${hh}:${mm} ${ap}.`;
223
+ }
224
+ /** Python's `datetime.now().strftime('%A, %B %d, %Y')`. */
225
+ _get_date(match) {
226
+ void match;
227
+ const d = new Date();
228
+ const weekday = _WEEKDAYS[d.getDay()] ?? "";
229
+ const month = _MONTHS[d.getMonth()] ?? "";
230
+ return `Today is ${weekday}, ${month} ${String(d.getDate()).padStart(2, "0")}, ${d.getFullYear()}.`;
231
+ }
232
+ _minimize_all(match) {
233
+ void match;
234
+ if (process.platform === "win32") {
235
+ // Minimize the active window via the shell COM object (ctypes.windll is
236
+ // not available in Node).
237
+ try {
238
+ const child = spawn("powershell", ["-NoProfile", "-Command", "(New-Object -ComObject Shell.Application).MinimizeAll()"], { detached: true, stdio: "ignore" });
239
+ child.unref();
240
+ }
241
+ catch (e) {
242
+ debug(`[ShadowGuard] minimize failed: ${errText(e)}`);
243
+ }
244
+ // For all windows, win+d is better but requires the computer tools
245
+ const ct = this.agent?.computer_tools ?? this.agent?.computerTools;
246
+ if (this.agent && ct && typeof ct.key_press === "function") {
247
+ try {
248
+ ct.key_press("winleft+d");
249
+ }
250
+ catch (e) {
251
+ debug(`[ShadowGuard] key_press failed: ${errText(e)}`);
252
+ }
253
+ return "All windows minimized.";
254
+ }
255
+ }
256
+ return "Minimizing workspace.";
257
+ }
258
+ _lock_pc(match) {
259
+ void match;
260
+ if (process.platform === "win32") {
261
+ try {
262
+ const child = spawn("rundll32.exe", ["user32.dll,LockWorkStation"], {
263
+ detached: true,
264
+ stdio: "ignore",
265
+ });
266
+ child.unref();
267
+ }
268
+ catch (e) {
269
+ debug(`[ShadowGuard] lock failed: ${errText(e)}`);
270
+ }
271
+ return "System locked.";
272
+ }
273
+ return "I cannot lock this OS yet.";
274
+ }
275
+ _web_search(match) {
276
+ // Python: `match.group(3) if match.lastindex >= 3 else "nothing"`
277
+ const query = match && match[3] !== undefined ? match[3] : "nothing";
278
+ const url = `https://www.google.com/search?q=${query}`;
279
+ void import("open")
280
+ .then((m) => m.default(url))
281
+ .catch(() => undefined);
282
+ return `Searching the web for ${query}.`;
283
+ }
284
+ _check_hardware(match) {
285
+ void match;
286
+ if (this.agent && this.agent.health !== undefined) {
287
+ if (this._hw) {
288
+ const hw = this._hw;
289
+ return `You have ${hw.cpu_count} CPU cores and ${hw.total_ram_gb}GB of RAM. ${hw.has_gpu ? "GPU detected." : "No GPU found."}`;
290
+ }
291
+ return "Hardware check failed, but the system is running stable.";
292
+ }
293
+ return "System resources are within optimal bounds.";
294
+ }
295
+ /** Background replacement for `optimizer.get_hardware_profile()`. */
296
+ async _refresh_hardware() {
297
+ try {
298
+ const si = await import("systeminformation");
299
+ const [cpu, mem, gfx] = await Promise.all([si.cpu(), si.mem(), si.graphics()]);
300
+ this._hw = {
301
+ cpu_count: Number(cpu.processors ?? cpu.cores ?? 0),
302
+ total_ram_gb: Math.round(Number(mem.total ?? 0) / 1024 ** 3),
303
+ has_gpu: Array.isArray(gfx.controllers) && gfx.controllers.length > 0,
304
+ };
305
+ }
306
+ catch (e) {
307
+ debug(`[ShadowGuard] Hardware probe failed: ${errText(e)}`);
308
+ }
309
+ }
310
+ }
311
+ /* ── helpers ──────────────────────────────────────────────────────────────── */
312
+ const _WEEKDAYS = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
313
+ const _MONTHS = [
314
+ "January",
315
+ "February",
316
+ "March",
317
+ "April",
318
+ "May",
319
+ "June",
320
+ "July",
321
+ "August",
322
+ "September",
323
+ "October",
324
+ "November",
325
+ "December",
326
+ ];
327
+ /** Give a wrapper the Python action's `__name__` so logs stay identical. */
328
+ function _named(fn, name) {
329
+ try {
330
+ Object.defineProperty(fn, "name", { value: name, configurable: true });
331
+ }
332
+ catch {
333
+ /* frozen function objects are fine — the log just loses the name */
334
+ }
335
+ return fn;
336
+ }
337
+ function errText(e) {
338
+ if (e instanceof Error)
339
+ return e.message || e.name;
340
+ if (typeof e === "string")
341
+ return e;
342
+ return String(e);
343
+ }
344
+ //# sourceMappingURL=reflex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reflex.js","sourceRoot":"","sources":["../../../src/core/intelligence/reflex.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * axoniz.core.intelligence.self_correction
3
+ * ==========================================
4
+ * Live Self-Correction Engine — Phase 1 of the AXONIZ dominance plan.
5
+ *
6
+ * After each tool result, the agent analyzes whether:
7
+ * 1. The result indicates an error
8
+ * 2. The action actually achieved its goal
9
+ * 3. The result is suspicious or unexpected
10
+ *
11
+ * If something went wrong, it:
12
+ * - Detects the error type
13
+ * - Generates a corrective action
14
+ * - Signals the agent to replan instead of blindly continuing
15
+ *
16
+ * Port notes (Python → Node):
17
+ * - `enum.Enum` → TypeScript string enums with identical `.value`s, so
18
+ * `ErrorType.LOOP_DETECTED === "loop_detected"` just like Python's
19
+ * `class ErrorType(str, Enum)` mixin.
20
+ * - Python's `Tuple[ErrorType, str]` returns are arrays that additionally
21
+ * expose `error_type` / `explanation` properties, so both tuple unpacking
22
+ * (`const [t, e] = classify_error(...)`) and attribute access work.
23
+ */
24
+ export declare enum APIFailoverReason {
25
+ AUTH = "auth",
26
+ BILLING = "billing",
27
+ RATE_LIMIT = "rate_limit",
28
+ OVERLOADED = "overloaded",
29
+ SERVER_ERROR = "server_error",
30
+ TIMEOUT = "timeout",
31
+ CONTEXT_OVERFLOW = "context_overflow",
32
+ MODEL_NOT_FOUND = "model_not_found",
33
+ FORMAT_ERROR = "format_error",
34
+ UNKNOWN = "unknown"
35
+ }
36
+ /** Classify an API error to determine recovery strategy. */
37
+ export declare function classify_api_error(error: unknown): APIFailoverReason;
38
+ export declare const classifyApiError: typeof classify_api_error;
39
+ export declare enum ErrorType {
40
+ NONE = "none",
41
+ FILE_NOT_FOUND = "file_not_found",
42
+ PERMISSION = "permission_denied",
43
+ SYNTAX = "syntax_error",
44
+ IMPORT = "import_error",
45
+ RUNTIME = "runtime_error",
46
+ NETWORK = "network_error",
47
+ TOOL_UNKNOWN = "tool_unknown",
48
+ LOOP_DETECTED = "loop_detected",
49
+ TIMEOUT = "timeout",
50
+ EMPTY_RESULT = "empty_result",
51
+ UNEXPECTED = "unexpected"
52
+ }
53
+ /** `(ErrorType, explanation)` — an array that also carries both fields by name. */
54
+ export type ErrorClassification = [ErrorType, string] & {
55
+ error_type: ErrorType;
56
+ explanation: string;
57
+ };
58
+ /**
59
+ * Classify what kind of error (if any) is in a tool result.
60
+ * Returns (ErrorType, explanation).
61
+ */
62
+ export declare function classify_error(result: string): ErrorClassification;
63
+ export declare const classifyError: typeof classify_error;
64
+ export interface ErrorHistoryEntry {
65
+ step: number;
66
+ tool: string;
67
+ error_type: ErrorType;
68
+ explanation: string;
69
+ }
70
+ /** Shape of what `SelfCorrector.analyze()` returns (Python dict keys preserved). */
71
+ export interface CorrectionAnalysis {
72
+ error_type: ErrorType;
73
+ has_error: boolean;
74
+ explanation: string;
75
+ corrections: string[];
76
+ should_replan: boolean;
77
+ severity: string;
78
+ }
79
+ /**
80
+ * Analyzes tool results in real-time and generates corrective guidance
81
+ * when something goes wrong.
82
+ *
83
+ * The agent calls analyze() after every tool execution. If an error is
84
+ * detected, it receives a correction dict telling it what to do next.
85
+ */
86
+ export declare class SelfCorrector {
87
+ _corrections_made: number;
88
+ _max: number;
89
+ _error_history: ErrorHistoryEntry[];
90
+ constructor(max_corrections_per_session?: number);
91
+ get correctionsMade(): number;
92
+ get errorHistory(): ErrorHistoryEntry[];
93
+ /**
94
+ * Analyze a tool result.
95
+ * Returns:
96
+ * {
97
+ * "error_type": ErrorType,
98
+ * "has_error": bool,
99
+ * "explanation": str,
100
+ * "corrections": list[str], # what to do next
101
+ * "should_replan": bool, # should the agent change strategy?
102
+ * "severity": str, # "low" / "medium" / "high" / "critical"
103
+ * }
104
+ */
105
+ analyze(tool_name: string, args: Record<string, unknown>, result: string, step_num?: number): CorrectionAnalysis;
106
+ /** camelCase alias. */
107
+ analyzeResult(tool_name: string, args: Record<string, unknown>, result: string, step_num?: number): CorrectionAnalysis;
108
+ /**
109
+ * Build a message the agent injects into the conversation
110
+ * to guide its next action.
111
+ */
112
+ build_correction_message(analysis: CorrectionAnalysis, tool_name: string): string;
113
+ /** camelCase alias. */
114
+ buildCorrectionMessage(analysis: CorrectionAnalysis, tool_name: string): string;
115
+ /** Summary of all errors corrected in this session. */
116
+ session_summary(): string;
117
+ /** camelCase alias. */
118
+ sessionSummary(): string;
119
+ reset(): void;
120
+ }
121
+ //# sourceMappingURL=self_correction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"self_correction.d.ts","sourceRoot":"","sources":["../../../src/core/intelligence/self_correction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH,oBAAY,iBAAiB;IAC3B,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,YAAY,iBAAiB;IAC7B,OAAO,YAAY;IACnB,gBAAgB,qBAAqB;IACrC,eAAe,oBAAoB;IACnC,YAAY,iBAAiB;IAC7B,OAAO,YAAY;CACpB;AAQD,4DAA4D;AAC5D,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAuBpE;AAED,eAAO,MAAM,gBAAgB,2BAAqB,CAAC;AAInD,oBAAY,SAAS;IACnB,IAAI,SAAS;IACb,cAAc,mBAAmB;IACjC,UAAU,sBAAsB;IAChC,MAAM,iBAAiB;IACvB,MAAM,iBAAiB;IACvB,OAAO,kBAAkB;IACzB,OAAO,kBAAkB;IACzB,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,OAAO,YAAY;IACnB,YAAY,iBAAiB;IAC7B,UAAU,eAAe;CAC1B;AA0CD,mFAAmF;AACnF,MAAM,MAAM,mBAAmB,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG;IACtD,UAAU,EAAE,SAAS,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAwBlE;AAOD,eAAO,MAAM,aAAa,uBAAiB,CAAC;AAwD5C,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,SAAS,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,oFAAoF;AACpF,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,qBAAa,aAAa;IACxB,iBAAiB,SAAK;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,iBAAiB,EAAE,CAAM;IAEzC,YAAY,2BAA2B,SAAK,EAE3C;IAED,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,IAAI,YAAY,IAAI,iBAAiB,EAAE,CAEtC;IAED;;;;;;;;;;;OAWG;IACH,OAAO,CACL,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,MAAM,EACd,QAAQ,SAAI,GACX,kBAAkB,CA+CpB;IAED,uBAAuB;IACvB,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,MAAM,EACd,QAAQ,SAAI,GACX,kBAAkB,CAEpB;IAED;;;OAGG;IACH,wBAAwB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAsBhF;IAED,uBAAuB;IACvB,sBAAsB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAE9E;IAED,uDAAuD;IACvD,eAAe,IAAI,MAAM,CASxB;IAED,uBAAuB;IACvB,cAAc,IAAI,MAAM,CAEvB;IAED,KAAK,IAAI,IAAI,CAGZ;CACF"}