onbuzz 3.3.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 (506) hide show
  1. package/LICENSE +267 -0
  2. package/README.md +425 -0
  3. package/bin/cli.js +556 -0
  4. package/bin/loxia-terminal-v2.js +162 -0
  5. package/bin/loxia-terminal.js +90 -0
  6. package/bin/start-with-terminal.js +200 -0
  7. package/node_modules/@isaacs/balanced-match/LICENSE.md +23 -0
  8. package/node_modules/@isaacs/balanced-match/README.md +60 -0
  9. package/node_modules/@isaacs/balanced-match/dist/commonjs/index.d.ts +9 -0
  10. package/node_modules/@isaacs/balanced-match/dist/commonjs/index.d.ts.map +1 -0
  11. package/node_modules/@isaacs/balanced-match/dist/commonjs/index.js +59 -0
  12. package/node_modules/@isaacs/balanced-match/dist/commonjs/index.js.map +1 -0
  13. package/node_modules/@isaacs/balanced-match/dist/commonjs/package.json +3 -0
  14. package/node_modules/@isaacs/balanced-match/dist/esm/index.d.ts +9 -0
  15. package/node_modules/@isaacs/balanced-match/dist/esm/index.d.ts.map +1 -0
  16. package/node_modules/@isaacs/balanced-match/dist/esm/index.js +54 -0
  17. package/node_modules/@isaacs/balanced-match/dist/esm/index.js.map +1 -0
  18. package/node_modules/@isaacs/balanced-match/dist/esm/package.json +3 -0
  19. package/node_modules/@isaacs/balanced-match/package.json +79 -0
  20. package/node_modules/@isaacs/brace-expansion/LICENSE +23 -0
  21. package/node_modules/@isaacs/brace-expansion/README.md +97 -0
  22. package/node_modules/@isaacs/brace-expansion/dist/commonjs/index.d.ts +6 -0
  23. package/node_modules/@isaacs/brace-expansion/dist/commonjs/index.d.ts.map +1 -0
  24. package/node_modules/@isaacs/brace-expansion/dist/commonjs/index.js +199 -0
  25. package/node_modules/@isaacs/brace-expansion/dist/commonjs/index.js.map +1 -0
  26. package/node_modules/@isaacs/brace-expansion/dist/commonjs/package.json +3 -0
  27. package/node_modules/@isaacs/brace-expansion/dist/esm/index.d.ts +6 -0
  28. package/node_modules/@isaacs/brace-expansion/dist/esm/index.d.ts.map +1 -0
  29. package/node_modules/@isaacs/brace-expansion/dist/esm/index.js +195 -0
  30. package/node_modules/@isaacs/brace-expansion/dist/esm/index.js.map +1 -0
  31. package/node_modules/@isaacs/brace-expansion/dist/esm/package.json +3 -0
  32. package/node_modules/@isaacs/brace-expansion/package.json +60 -0
  33. package/node_modules/glob/LICENSE.md +63 -0
  34. package/node_modules/glob/README.md +1177 -0
  35. package/node_modules/glob/dist/commonjs/glob.d.ts +388 -0
  36. package/node_modules/glob/dist/commonjs/glob.d.ts.map +1 -0
  37. package/node_modules/glob/dist/commonjs/glob.js +247 -0
  38. package/node_modules/glob/dist/commonjs/glob.js.map +1 -0
  39. package/node_modules/glob/dist/commonjs/has-magic.d.ts +14 -0
  40. package/node_modules/glob/dist/commonjs/has-magic.d.ts.map +1 -0
  41. package/node_modules/glob/dist/commonjs/has-magic.js +27 -0
  42. package/node_modules/glob/dist/commonjs/has-magic.js.map +1 -0
  43. package/node_modules/glob/dist/commonjs/ignore.d.ts +24 -0
  44. package/node_modules/glob/dist/commonjs/ignore.d.ts.map +1 -0
  45. package/node_modules/glob/dist/commonjs/ignore.js +119 -0
  46. package/node_modules/glob/dist/commonjs/ignore.js.map +1 -0
  47. package/node_modules/glob/dist/commonjs/index.d.ts +97 -0
  48. package/node_modules/glob/dist/commonjs/index.d.ts.map +1 -0
  49. package/node_modules/glob/dist/commonjs/index.js +68 -0
  50. package/node_modules/glob/dist/commonjs/index.js.map +1 -0
  51. package/node_modules/glob/dist/commonjs/index.min.js +4 -0
  52. package/node_modules/glob/dist/commonjs/index.min.js.map +7 -0
  53. package/node_modules/glob/dist/commonjs/package.json +3 -0
  54. package/node_modules/glob/dist/commonjs/pattern.d.ts +76 -0
  55. package/node_modules/glob/dist/commonjs/pattern.d.ts.map +1 -0
  56. package/node_modules/glob/dist/commonjs/pattern.js +219 -0
  57. package/node_modules/glob/dist/commonjs/pattern.js.map +1 -0
  58. package/node_modules/glob/dist/commonjs/processor.d.ts +59 -0
  59. package/node_modules/glob/dist/commonjs/processor.d.ts.map +1 -0
  60. package/node_modules/glob/dist/commonjs/processor.js +301 -0
  61. package/node_modules/glob/dist/commonjs/processor.js.map +1 -0
  62. package/node_modules/glob/dist/commonjs/walker.d.ts +97 -0
  63. package/node_modules/glob/dist/commonjs/walker.d.ts.map +1 -0
  64. package/node_modules/glob/dist/commonjs/walker.js +387 -0
  65. package/node_modules/glob/dist/commonjs/walker.js.map +1 -0
  66. package/node_modules/glob/dist/esm/glob.d.ts +388 -0
  67. package/node_modules/glob/dist/esm/glob.d.ts.map +1 -0
  68. package/node_modules/glob/dist/esm/glob.js +243 -0
  69. package/node_modules/glob/dist/esm/glob.js.map +1 -0
  70. package/node_modules/glob/dist/esm/has-magic.d.ts +14 -0
  71. package/node_modules/glob/dist/esm/has-magic.d.ts.map +1 -0
  72. package/node_modules/glob/dist/esm/has-magic.js +23 -0
  73. package/node_modules/glob/dist/esm/has-magic.js.map +1 -0
  74. package/node_modules/glob/dist/esm/ignore.d.ts +24 -0
  75. package/node_modules/glob/dist/esm/ignore.d.ts.map +1 -0
  76. package/node_modules/glob/dist/esm/ignore.js +115 -0
  77. package/node_modules/glob/dist/esm/ignore.js.map +1 -0
  78. package/node_modules/glob/dist/esm/index.d.ts +97 -0
  79. package/node_modules/glob/dist/esm/index.d.ts.map +1 -0
  80. package/node_modules/glob/dist/esm/index.js +55 -0
  81. package/node_modules/glob/dist/esm/index.js.map +1 -0
  82. package/node_modules/glob/dist/esm/index.min.js +4 -0
  83. package/node_modules/glob/dist/esm/index.min.js.map +7 -0
  84. package/node_modules/glob/dist/esm/package.json +3 -0
  85. package/node_modules/glob/dist/esm/pattern.d.ts +76 -0
  86. package/node_modules/glob/dist/esm/pattern.d.ts.map +1 -0
  87. package/node_modules/glob/dist/esm/pattern.js +215 -0
  88. package/node_modules/glob/dist/esm/pattern.js.map +1 -0
  89. package/node_modules/glob/dist/esm/processor.d.ts +59 -0
  90. package/node_modules/glob/dist/esm/processor.d.ts.map +1 -0
  91. package/node_modules/glob/dist/esm/processor.js +294 -0
  92. package/node_modules/glob/dist/esm/processor.js.map +1 -0
  93. package/node_modules/glob/dist/esm/walker.d.ts +97 -0
  94. package/node_modules/glob/dist/esm/walker.d.ts.map +1 -0
  95. package/node_modules/glob/dist/esm/walker.js +381 -0
  96. package/node_modules/glob/dist/esm/walker.js.map +1 -0
  97. package/node_modules/glob/node_modules/minimatch/LICENSE.md +55 -0
  98. package/node_modules/glob/node_modules/minimatch/README.md +453 -0
  99. package/node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts +2 -0
  100. package/node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts.map +1 -0
  101. package/node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js +14 -0
  102. package/node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js.map +1 -0
  103. package/node_modules/glob/node_modules/minimatch/dist/commonjs/ast.d.ts +20 -0
  104. package/node_modules/glob/node_modules/minimatch/dist/commonjs/ast.d.ts.map +1 -0
  105. package/node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js +591 -0
  106. package/node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js.map +1 -0
  107. package/node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts +8 -0
  108. package/node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts.map +1 -0
  109. package/node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js +152 -0
  110. package/node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js.map +1 -0
  111. package/node_modules/glob/node_modules/minimatch/dist/commonjs/escape.d.ts +15 -0
  112. package/node_modules/glob/node_modules/minimatch/dist/commonjs/escape.d.ts.map +1 -0
  113. package/node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js +30 -0
  114. package/node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js.map +1 -0
  115. package/node_modules/glob/node_modules/minimatch/dist/commonjs/index.d.ts +94 -0
  116. package/node_modules/glob/node_modules/minimatch/dist/commonjs/index.d.ts.map +1 -0
  117. package/node_modules/glob/node_modules/minimatch/dist/commonjs/index.js +1029 -0
  118. package/node_modules/glob/node_modules/minimatch/dist/commonjs/index.js.map +1 -0
  119. package/node_modules/glob/node_modules/minimatch/dist/commonjs/package.json +3 -0
  120. package/node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.d.ts +22 -0
  121. package/node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.d.ts.map +1 -0
  122. package/node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js +38 -0
  123. package/node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js.map +1 -0
  124. package/node_modules/glob/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts +2 -0
  125. package/node_modules/glob/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts.map +1 -0
  126. package/node_modules/glob/node_modules/minimatch/dist/esm/assert-valid-pattern.js +10 -0
  127. package/node_modules/glob/node_modules/minimatch/dist/esm/assert-valid-pattern.js.map +1 -0
  128. package/node_modules/glob/node_modules/minimatch/dist/esm/ast.d.ts +20 -0
  129. package/node_modules/glob/node_modules/minimatch/dist/esm/ast.d.ts.map +1 -0
  130. package/node_modules/glob/node_modules/minimatch/dist/esm/ast.js +587 -0
  131. package/node_modules/glob/node_modules/minimatch/dist/esm/ast.js.map +1 -0
  132. package/node_modules/glob/node_modules/minimatch/dist/esm/brace-expressions.d.ts +8 -0
  133. package/node_modules/glob/node_modules/minimatch/dist/esm/brace-expressions.d.ts.map +1 -0
  134. package/node_modules/glob/node_modules/minimatch/dist/esm/brace-expressions.js +148 -0
  135. package/node_modules/glob/node_modules/minimatch/dist/esm/brace-expressions.js.map +1 -0
  136. package/node_modules/glob/node_modules/minimatch/dist/esm/escape.d.ts +15 -0
  137. package/node_modules/glob/node_modules/minimatch/dist/esm/escape.d.ts.map +1 -0
  138. package/node_modules/glob/node_modules/minimatch/dist/esm/escape.js +26 -0
  139. package/node_modules/glob/node_modules/minimatch/dist/esm/escape.js.map +1 -0
  140. package/node_modules/glob/node_modules/minimatch/dist/esm/index.d.ts +94 -0
  141. package/node_modules/glob/node_modules/minimatch/dist/esm/index.d.ts.map +1 -0
  142. package/node_modules/glob/node_modules/minimatch/dist/esm/index.js +1016 -0
  143. package/node_modules/glob/node_modules/minimatch/dist/esm/index.js.map +1 -0
  144. package/node_modules/glob/node_modules/minimatch/dist/esm/package.json +3 -0
  145. package/node_modules/glob/node_modules/minimatch/dist/esm/unescape.d.ts +22 -0
  146. package/node_modules/glob/node_modules/minimatch/dist/esm/unescape.d.ts.map +1 -0
  147. package/node_modules/glob/node_modules/minimatch/dist/esm/unescape.js +34 -0
  148. package/node_modules/glob/node_modules/minimatch/dist/esm/unescape.js.map +1 -0
  149. package/node_modules/glob/node_modules/minimatch/package.json +67 -0
  150. package/node_modules/glob/package.json +101 -0
  151. package/node_modules/minipass/LICENSE +15 -0
  152. package/node_modules/minipass/README.md +825 -0
  153. package/node_modules/minipass/dist/commonjs/index.d.ts +549 -0
  154. package/node_modules/minipass/dist/commonjs/index.d.ts.map +1 -0
  155. package/node_modules/minipass/dist/commonjs/index.js +1028 -0
  156. package/node_modules/minipass/dist/commonjs/index.js.map +1 -0
  157. package/node_modules/minipass/dist/commonjs/package.json +3 -0
  158. package/node_modules/minipass/dist/esm/index.d.ts +549 -0
  159. package/node_modules/minipass/dist/esm/index.d.ts.map +1 -0
  160. package/node_modules/minipass/dist/esm/index.js +1018 -0
  161. package/node_modules/minipass/dist/esm/index.js.map +1 -0
  162. package/node_modules/minipass/dist/esm/package.json +3 -0
  163. package/node_modules/minipass/package.json +82 -0
  164. package/node_modules/package-json-from-dist/LICENSE.md +63 -0
  165. package/node_modules/package-json-from-dist/README.md +110 -0
  166. package/node_modules/package-json-from-dist/dist/commonjs/index.d.ts +89 -0
  167. package/node_modules/package-json-from-dist/dist/commonjs/index.d.ts.map +1 -0
  168. package/node_modules/package-json-from-dist/dist/commonjs/index.js +134 -0
  169. package/node_modules/package-json-from-dist/dist/commonjs/index.js.map +1 -0
  170. package/node_modules/package-json-from-dist/dist/commonjs/package.json +3 -0
  171. package/node_modules/package-json-from-dist/dist/esm/index.d.ts +89 -0
  172. package/node_modules/package-json-from-dist/dist/esm/index.d.ts.map +1 -0
  173. package/node_modules/package-json-from-dist/dist/esm/index.js +129 -0
  174. package/node_modules/package-json-from-dist/dist/esm/index.js.map +1 -0
  175. package/node_modules/package-json-from-dist/dist/esm/package.json +3 -0
  176. package/node_modules/package-json-from-dist/package.json +68 -0
  177. package/node_modules/path-scurry/LICENSE.md +55 -0
  178. package/node_modules/path-scurry/README.md +636 -0
  179. package/node_modules/path-scurry/dist/commonjs/index.d.ts +1115 -0
  180. package/node_modules/path-scurry/dist/commonjs/index.d.ts.map +1 -0
  181. package/node_modules/path-scurry/dist/commonjs/index.js +2018 -0
  182. package/node_modules/path-scurry/dist/commonjs/index.js.map +1 -0
  183. package/node_modules/path-scurry/dist/commonjs/package.json +3 -0
  184. package/node_modules/path-scurry/dist/esm/index.d.ts +1115 -0
  185. package/node_modules/path-scurry/dist/esm/index.d.ts.map +1 -0
  186. package/node_modules/path-scurry/dist/esm/index.js +1983 -0
  187. package/node_modules/path-scurry/dist/esm/index.js.map +1 -0
  188. package/node_modules/path-scurry/dist/esm/package.json +3 -0
  189. package/node_modules/path-scurry/node_modules/lru-cache/LICENSE.md +55 -0
  190. package/node_modules/path-scurry/node_modules/lru-cache/README.md +383 -0
  191. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.d.ts +1323 -0
  192. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.d.ts.map +1 -0
  193. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.js +1589 -0
  194. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.js.map +1 -0
  195. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.min.js +2 -0
  196. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.min.js.map +7 -0
  197. package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/package.json +3 -0
  198. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.d.ts +1323 -0
  199. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.d.ts.map +1 -0
  200. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.js +1585 -0
  201. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.js.map +1 -0
  202. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.min.js +2 -0
  203. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.min.js.map +7 -0
  204. package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/package.json +3 -0
  205. package/node_modules/path-scurry/node_modules/lru-cache/package.json +101 -0
  206. package/node_modules/path-scurry/package.json +88 -0
  207. package/node_modules/rimraf/LICENSE.md +55 -0
  208. package/node_modules/rimraf/README.md +226 -0
  209. package/node_modules/rimraf/dist/commonjs/default-tmp.d.ts +3 -0
  210. package/node_modules/rimraf/dist/commonjs/default-tmp.d.ts.map +1 -0
  211. package/node_modules/rimraf/dist/commonjs/default-tmp.js +58 -0
  212. package/node_modules/rimraf/dist/commonjs/default-tmp.js.map +1 -0
  213. package/node_modules/rimraf/dist/commonjs/error.d.ts +6 -0
  214. package/node_modules/rimraf/dist/commonjs/error.d.ts.map +1 -0
  215. package/node_modules/rimraf/dist/commonjs/error.js +10 -0
  216. package/node_modules/rimraf/dist/commonjs/error.js.map +1 -0
  217. package/node_modules/rimraf/dist/commonjs/fix-eperm.d.ts +3 -0
  218. package/node_modules/rimraf/dist/commonjs/fix-eperm.d.ts.map +1 -0
  219. package/node_modules/rimraf/dist/commonjs/fix-eperm.js +38 -0
  220. package/node_modules/rimraf/dist/commonjs/fix-eperm.js.map +1 -0
  221. package/node_modules/rimraf/dist/commonjs/fs.d.ts +15 -0
  222. package/node_modules/rimraf/dist/commonjs/fs.d.ts.map +1 -0
  223. package/node_modules/rimraf/dist/commonjs/fs.js +33 -0
  224. package/node_modules/rimraf/dist/commonjs/fs.js.map +1 -0
  225. package/node_modules/rimraf/dist/commonjs/ignore-enoent.d.ts +3 -0
  226. package/node_modules/rimraf/dist/commonjs/ignore-enoent.d.ts.map +1 -0
  227. package/node_modules/rimraf/dist/commonjs/ignore-enoent.js +24 -0
  228. package/node_modules/rimraf/dist/commonjs/ignore-enoent.js.map +1 -0
  229. package/node_modules/rimraf/dist/commonjs/index.d.ts +50 -0
  230. package/node_modules/rimraf/dist/commonjs/index.d.ts.map +1 -0
  231. package/node_modules/rimraf/dist/commonjs/index.js +78 -0
  232. package/node_modules/rimraf/dist/commonjs/index.js.map +1 -0
  233. package/node_modules/rimraf/dist/commonjs/opt-arg.d.ts +34 -0
  234. package/node_modules/rimraf/dist/commonjs/opt-arg.d.ts.map +1 -0
  235. package/node_modules/rimraf/dist/commonjs/opt-arg.js +53 -0
  236. package/node_modules/rimraf/dist/commonjs/opt-arg.js.map +1 -0
  237. package/node_modules/rimraf/dist/commonjs/package.json +3 -0
  238. package/node_modules/rimraf/dist/commonjs/path-arg.d.ts +4 -0
  239. package/node_modules/rimraf/dist/commonjs/path-arg.d.ts.map +1 -0
  240. package/node_modules/rimraf/dist/commonjs/path-arg.js +48 -0
  241. package/node_modules/rimraf/dist/commonjs/path-arg.js.map +1 -0
  242. package/node_modules/rimraf/dist/commonjs/readdir-or-error.d.ts +3 -0
  243. package/node_modules/rimraf/dist/commonjs/readdir-or-error.d.ts.map +1 -0
  244. package/node_modules/rimraf/dist/commonjs/readdir-or-error.js +19 -0
  245. package/node_modules/rimraf/dist/commonjs/readdir-or-error.js.map +1 -0
  246. package/node_modules/rimraf/dist/commonjs/retry-busy.d.ts +8 -0
  247. package/node_modules/rimraf/dist/commonjs/retry-busy.d.ts.map +1 -0
  248. package/node_modules/rimraf/dist/commonjs/retry-busy.js +65 -0
  249. package/node_modules/rimraf/dist/commonjs/retry-busy.js.map +1 -0
  250. package/node_modules/rimraf/dist/commonjs/rimraf-manual.d.ts +3 -0
  251. package/node_modules/rimraf/dist/commonjs/rimraf-manual.d.ts.map +1 -0
  252. package/node_modules/rimraf/dist/commonjs/rimraf-manual.js +8 -0
  253. package/node_modules/rimraf/dist/commonjs/rimraf-manual.js.map +1 -0
  254. package/node_modules/rimraf/dist/commonjs/rimraf-move-remove.d.ts +4 -0
  255. package/node_modules/rimraf/dist/commonjs/rimraf-move-remove.d.ts.map +1 -0
  256. package/node_modules/rimraf/dist/commonjs/rimraf-move-remove.js +138 -0
  257. package/node_modules/rimraf/dist/commonjs/rimraf-move-remove.js.map +1 -0
  258. package/node_modules/rimraf/dist/commonjs/rimraf-native.d.ts +4 -0
  259. package/node_modules/rimraf/dist/commonjs/rimraf-native.d.ts.map +1 -0
  260. package/node_modules/rimraf/dist/commonjs/rimraf-native.js +24 -0
  261. package/node_modules/rimraf/dist/commonjs/rimraf-native.js.map +1 -0
  262. package/node_modules/rimraf/dist/commonjs/rimraf-posix.d.ts +4 -0
  263. package/node_modules/rimraf/dist/commonjs/rimraf-posix.d.ts.map +1 -0
  264. package/node_modules/rimraf/dist/commonjs/rimraf-posix.js +103 -0
  265. package/node_modules/rimraf/dist/commonjs/rimraf-posix.js.map +1 -0
  266. package/node_modules/rimraf/dist/commonjs/rimraf-windows.d.ts +4 -0
  267. package/node_modules/rimraf/dist/commonjs/rimraf-windows.d.ts.map +1 -0
  268. package/node_modules/rimraf/dist/commonjs/rimraf-windows.js +159 -0
  269. package/node_modules/rimraf/dist/commonjs/rimraf-windows.js.map +1 -0
  270. package/node_modules/rimraf/dist/commonjs/use-native.d.ts +4 -0
  271. package/node_modules/rimraf/dist/commonjs/use-native.d.ts.map +1 -0
  272. package/node_modules/rimraf/dist/commonjs/use-native.js +18 -0
  273. package/node_modules/rimraf/dist/commonjs/use-native.js.map +1 -0
  274. package/node_modules/rimraf/dist/esm/bin.d.mts +3 -0
  275. package/node_modules/rimraf/dist/esm/bin.d.mts.map +1 -0
  276. package/node_modules/rimraf/dist/esm/bin.mjs +250 -0
  277. package/node_modules/rimraf/dist/esm/bin.mjs.map +1 -0
  278. package/node_modules/rimraf/dist/esm/default-tmp.d.ts +3 -0
  279. package/node_modules/rimraf/dist/esm/default-tmp.d.ts.map +1 -0
  280. package/node_modules/rimraf/dist/esm/default-tmp.js +55 -0
  281. package/node_modules/rimraf/dist/esm/default-tmp.js.map +1 -0
  282. package/node_modules/rimraf/dist/esm/error.d.ts +6 -0
  283. package/node_modules/rimraf/dist/esm/error.d.ts.map +1 -0
  284. package/node_modules/rimraf/dist/esm/error.js +5 -0
  285. package/node_modules/rimraf/dist/esm/error.js.map +1 -0
  286. package/node_modules/rimraf/dist/esm/fix-eperm.d.ts +3 -0
  287. package/node_modules/rimraf/dist/esm/fix-eperm.d.ts.map +1 -0
  288. package/node_modules/rimraf/dist/esm/fix-eperm.js +33 -0
  289. package/node_modules/rimraf/dist/esm/fix-eperm.js.map +1 -0
  290. package/node_modules/rimraf/dist/esm/fs.d.ts +15 -0
  291. package/node_modules/rimraf/dist/esm/fs.d.ts.map +1 -0
  292. package/node_modules/rimraf/dist/esm/fs.js +18 -0
  293. package/node_modules/rimraf/dist/esm/fs.js.map +1 -0
  294. package/node_modules/rimraf/dist/esm/ignore-enoent.d.ts +3 -0
  295. package/node_modules/rimraf/dist/esm/ignore-enoent.d.ts.map +1 -0
  296. package/node_modules/rimraf/dist/esm/ignore-enoent.js +19 -0
  297. package/node_modules/rimraf/dist/esm/ignore-enoent.js.map +1 -0
  298. package/node_modules/rimraf/dist/esm/index.d.ts +50 -0
  299. package/node_modules/rimraf/dist/esm/index.d.ts.map +1 -0
  300. package/node_modules/rimraf/dist/esm/index.js +70 -0
  301. package/node_modules/rimraf/dist/esm/index.js.map +1 -0
  302. package/node_modules/rimraf/dist/esm/opt-arg.d.ts +34 -0
  303. package/node_modules/rimraf/dist/esm/opt-arg.d.ts.map +1 -0
  304. package/node_modules/rimraf/dist/esm/opt-arg.js +46 -0
  305. package/node_modules/rimraf/dist/esm/opt-arg.js.map +1 -0
  306. package/node_modules/rimraf/dist/esm/package.json +3 -0
  307. package/node_modules/rimraf/dist/esm/path-arg.d.ts +4 -0
  308. package/node_modules/rimraf/dist/esm/path-arg.d.ts.map +1 -0
  309. package/node_modules/rimraf/dist/esm/path-arg.js +46 -0
  310. package/node_modules/rimraf/dist/esm/path-arg.js.map +1 -0
  311. package/node_modules/rimraf/dist/esm/readdir-or-error.d.ts +3 -0
  312. package/node_modules/rimraf/dist/esm/readdir-or-error.d.ts.map +1 -0
  313. package/node_modules/rimraf/dist/esm/readdir-or-error.js +14 -0
  314. package/node_modules/rimraf/dist/esm/readdir-or-error.js.map +1 -0
  315. package/node_modules/rimraf/dist/esm/retry-busy.d.ts +8 -0
  316. package/node_modules/rimraf/dist/esm/retry-busy.d.ts.map +1 -0
  317. package/node_modules/rimraf/dist/esm/retry-busy.js +60 -0
  318. package/node_modules/rimraf/dist/esm/retry-busy.js.map +1 -0
  319. package/node_modules/rimraf/dist/esm/rimraf-manual.d.ts +3 -0
  320. package/node_modules/rimraf/dist/esm/rimraf-manual.d.ts.map +1 -0
  321. package/node_modules/rimraf/dist/esm/rimraf-manual.js +5 -0
  322. package/node_modules/rimraf/dist/esm/rimraf-manual.js.map +1 -0
  323. package/node_modules/rimraf/dist/esm/rimraf-move-remove.d.ts +4 -0
  324. package/node_modules/rimraf/dist/esm/rimraf-move-remove.d.ts.map +1 -0
  325. package/node_modules/rimraf/dist/esm/rimraf-move-remove.js +133 -0
  326. package/node_modules/rimraf/dist/esm/rimraf-move-remove.js.map +1 -0
  327. package/node_modules/rimraf/dist/esm/rimraf-native.d.ts +4 -0
  328. package/node_modules/rimraf/dist/esm/rimraf-native.d.ts.map +1 -0
  329. package/node_modules/rimraf/dist/esm/rimraf-native.js +19 -0
  330. package/node_modules/rimraf/dist/esm/rimraf-native.js.map +1 -0
  331. package/node_modules/rimraf/dist/esm/rimraf-posix.d.ts +4 -0
  332. package/node_modules/rimraf/dist/esm/rimraf-posix.d.ts.map +1 -0
  333. package/node_modules/rimraf/dist/esm/rimraf-posix.js +98 -0
  334. package/node_modules/rimraf/dist/esm/rimraf-posix.js.map +1 -0
  335. package/node_modules/rimraf/dist/esm/rimraf-windows.d.ts +4 -0
  336. package/node_modules/rimraf/dist/esm/rimraf-windows.d.ts.map +1 -0
  337. package/node_modules/rimraf/dist/esm/rimraf-windows.js +154 -0
  338. package/node_modules/rimraf/dist/esm/rimraf-windows.js.map +1 -0
  339. package/node_modules/rimraf/dist/esm/use-native.d.ts +4 -0
  340. package/node_modules/rimraf/dist/esm/use-native.d.ts.map +1 -0
  341. package/node_modules/rimraf/dist/esm/use-native.js +15 -0
  342. package/node_modules/rimraf/dist/esm/use-native.js.map +1 -0
  343. package/node_modules/rimraf/package.json +92 -0
  344. package/package.json +152 -0
  345. package/scripts/install-scanners.js +258 -0
  346. package/scripts/watchdog.js +147 -0
  347. package/src/analyzers/CSSAnalyzer.js +297 -0
  348. package/src/analyzers/ConfigValidator.js +690 -0
  349. package/src/analyzers/ESLintAnalyzer.js +320 -0
  350. package/src/analyzers/JavaScriptAnalyzer.js +261 -0
  351. package/src/analyzers/PrettierFormatter.js +247 -0
  352. package/src/analyzers/PythonAnalyzer.js +283 -0
  353. package/src/analyzers/SecurityAnalyzer.js +729 -0
  354. package/src/analyzers/SparrowAnalyzer.js +341 -0
  355. package/src/analyzers/TypeScriptAnalyzer.js +247 -0
  356. package/src/analyzers/codeCloneDetector/analyzer.js +344 -0
  357. package/src/analyzers/codeCloneDetector/detector.js +250 -0
  358. package/src/analyzers/codeCloneDetector/index.js +192 -0
  359. package/src/analyzers/codeCloneDetector/parser.js +199 -0
  360. package/src/analyzers/codeCloneDetector/reporter.js +148 -0
  361. package/src/analyzers/codeCloneDetector/scanner.js +88 -0
  362. package/src/core/agentPool.js +1957 -0
  363. package/src/core/agentScheduler.js +3212 -0
  364. package/src/core/contextManager.js +709 -0
  365. package/src/core/flowExecutor.js +928 -0
  366. package/src/core/messageProcessor.js +808 -0
  367. package/src/core/orchestrator.js +584 -0
  368. package/src/core/stateManager.js +1500 -0
  369. package/src/index.js +972 -0
  370. package/src/interfaces/cli.js +553 -0
  371. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +208 -0
  372. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +236 -0
  373. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +138 -0
  374. package/src/interfaces/terminal/__tests__/smoke/components.test.js +137 -0
  375. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +350 -0
  376. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +156 -0
  377. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +332 -0
  378. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +256 -0
  379. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +388 -0
  380. package/src/interfaces/terminal/api/apiClient.js +299 -0
  381. package/src/interfaces/terminal/api/messageRouter.js +262 -0
  382. package/src/interfaces/terminal/api/session.js +266 -0
  383. package/src/interfaces/terminal/api/websocket.js +497 -0
  384. package/src/interfaces/terminal/components/AgentCreator.js +705 -0
  385. package/src/interfaces/terminal/components/AgentEditor.js +678 -0
  386. package/src/interfaces/terminal/components/AgentSwitcher.js +330 -0
  387. package/src/interfaces/terminal/components/ErrorBoundary.js +92 -0
  388. package/src/interfaces/terminal/components/ErrorPanel.js +264 -0
  389. package/src/interfaces/terminal/components/Header.js +28 -0
  390. package/src/interfaces/terminal/components/HelpPanel.js +231 -0
  391. package/src/interfaces/terminal/components/InputBox.js +118 -0
  392. package/src/interfaces/terminal/components/Layout.js +603 -0
  393. package/src/interfaces/terminal/components/LoadingSpinner.js +71 -0
  394. package/src/interfaces/terminal/components/MessageList.js +281 -0
  395. package/src/interfaces/terminal/components/MultilineTextInput.js +251 -0
  396. package/src/interfaces/terminal/components/SearchPanel.js +265 -0
  397. package/src/interfaces/terminal/components/SettingsPanel.js +415 -0
  398. package/src/interfaces/terminal/components/StatusBar.js +65 -0
  399. package/src/interfaces/terminal/components/TextInput.js +127 -0
  400. package/src/interfaces/terminal/config/agentEditorConstants.js +227 -0
  401. package/src/interfaces/terminal/config/constants.js +393 -0
  402. package/src/interfaces/terminal/index.js +168 -0
  403. package/src/interfaces/terminal/state/useAgentControl.js +496 -0
  404. package/src/interfaces/terminal/state/useAgents.js +537 -0
  405. package/src/interfaces/terminal/state/useConnection.js +444 -0
  406. package/src/interfaces/terminal/state/useMessages.js +630 -0
  407. package/src/interfaces/terminal/state/useTools.js +554 -0
  408. package/src/interfaces/terminal/utils/debugLogger.js +44 -0
  409. package/src/interfaces/terminal/utils/settingsStorage.js +232 -0
  410. package/src/interfaces/terminal/utils/theme.js +85 -0
  411. package/src/interfaces/webServer.js +5457 -0
  412. package/src/modules/fileExplorer/controller.js +413 -0
  413. package/src/modules/fileExplorer/index.js +37 -0
  414. package/src/modules/fileExplorer/middleware.js +92 -0
  415. package/src/modules/fileExplorer/routes.js +158 -0
  416. package/src/modules/fileExplorer/types.js +44 -0
  417. package/src/services/agentActivityService.js +399 -0
  418. package/src/services/aiService.js +2618 -0
  419. package/src/services/apiKeyManager.js +334 -0
  420. package/src/services/benchmarkService.js +196 -0
  421. package/src/services/budgetService.js +565 -0
  422. package/src/services/contextInjectionService.js +268 -0
  423. package/src/services/conversationCompactionService.js +1103 -0
  424. package/src/services/credentialVault.js +685 -0
  425. package/src/services/errorHandler.js +810 -0
  426. package/src/services/fileAttachmentService.js +547 -0
  427. package/src/services/flowContextService.js +189 -0
  428. package/src/services/memoryService.js +521 -0
  429. package/src/services/modelRouterService.js +365 -0
  430. package/src/services/modelsService.js +323 -0
  431. package/src/services/ollamaService.js +452 -0
  432. package/src/services/portRegistry.js +336 -0
  433. package/src/services/portTracker.js +223 -0
  434. package/src/services/projectDetector.js +404 -0
  435. package/src/services/promptService.js +372 -0
  436. package/src/services/qualityInspector.js +796 -0
  437. package/src/services/scheduleService.js +725 -0
  438. package/src/services/serviceRegistry.js +386 -0
  439. package/src/services/skillsService.js +486 -0
  440. package/src/services/telegramService.js +920 -0
  441. package/src/services/tokenCountingService.js +316 -0
  442. package/src/services/visualEditorBridge.js +1033 -0
  443. package/src/services/visualEditorServer.js +1727 -0
  444. package/src/services/whatsappService.js +663 -0
  445. package/src/tools/__tests__/webTool.e2e.test.js +569 -0
  446. package/src/tools/__tests__/webTool.unit.test.js +195 -0
  447. package/src/tools/agentCommunicationTool.js +1343 -0
  448. package/src/tools/agentDelayTool.js +498 -0
  449. package/src/tools/asyncToolManager.js +604 -0
  450. package/src/tools/baseTool.js +887 -0
  451. package/src/tools/browserTool.js +897 -0
  452. package/src/tools/cloneDetectionTool.js +581 -0
  453. package/src/tools/codeMapTool.js +857 -0
  454. package/src/tools/dependencyResolverTool.js +1212 -0
  455. package/src/tools/docxTool.js +623 -0
  456. package/src/tools/excelTool.js +636 -0
  457. package/src/tools/fileContentReplaceTool.js +840 -0
  458. package/src/tools/fileTreeTool.js +833 -0
  459. package/src/tools/filesystemTool.js +1217 -0
  460. package/src/tools/helpTool.js +198 -0
  461. package/src/tools/imageTool.js +1034 -0
  462. package/src/tools/importAnalyzerTool.js +1056 -0
  463. package/src/tools/jobDoneTool.js +388 -0
  464. package/src/tools/memoryTool.js +554 -0
  465. package/src/tools/pdfTool.js +627 -0
  466. package/src/tools/seekTool.js +883 -0
  467. package/src/tools/skillsTool.js +276 -0
  468. package/src/tools/staticAnalysisTool.js +2146 -0
  469. package/src/tools/taskManagerTool.js +2836 -0
  470. package/src/tools/terminalTool.js +2486 -0
  471. package/src/tools/userPromptTool.js +474 -0
  472. package/src/tools/videoTool.js +1139 -0
  473. package/src/tools/visionTool.js +507 -0
  474. package/src/tools/visualEditorTool.js +1175 -0
  475. package/src/tools/webTool.js +3114 -0
  476. package/src/tools/whatsappTool.js +457 -0
  477. package/src/types/agent.js +519 -0
  478. package/src/types/contextReference.js +972 -0
  479. package/src/types/conversation.js +730 -0
  480. package/src/types/toolCommand.js +747 -0
  481. package/src/utilities/attachmentValidator.js +288 -0
  482. package/src/utilities/browserStealth.js +630 -0
  483. package/src/utilities/configManager.js +618 -0
  484. package/src/utilities/constants.js +870 -0
  485. package/src/utilities/directoryAccessManager.js +566 -0
  486. package/src/utilities/fileProcessor.js +307 -0
  487. package/src/utilities/humanBehavior.js +453 -0
  488. package/src/utilities/jsonRepair.js +242 -0
  489. package/src/utilities/logger.js +436 -0
  490. package/src/utilities/platformUtils.js +255 -0
  491. package/src/utilities/platformUtils.test.js +98 -0
  492. package/src/utilities/stealthConstants.js +377 -0
  493. package/src/utilities/structuredFileValidator.js +699 -0
  494. package/src/utilities/tagParser.js +878 -0
  495. package/src/utilities/toolConstants.js +415 -0
  496. package/src/utilities/userDataDir.js +300 -0
  497. package/web-ui/build/brands/autopilot/favicon.svg +1 -0
  498. package/web-ui/build/brands/autopilot/logo.webp +0 -0
  499. package/web-ui/build/brands/onbuzz/favicon.svg +1 -0
  500. package/web-ui/build/brands/onbuzz/logo-text.webp +0 -0
  501. package/web-ui/build/brands/onbuzz/logo.webp +0 -0
  502. package/web-ui/build/index.html +15 -0
  503. package/web-ui/build/logo.png +0 -0
  504. package/web-ui/build/logo2.png +0 -0
  505. package/web-ui/build/static/index-SmQFfvBs.js +746 -0
  506. package/web-ui/build/static/index-V2ySwjHp.css +1 -0
@@ -0,0 +1,870 @@
1
+ /**
2
+ * Constants - Centralized constants and enums for the Loxia AI Agents System
3
+ *
4
+ * Purpose:
5
+ * - Eliminate magic values throughout the codebase
6
+ * - Provide centralized configuration constants
7
+ * - Define enums for system states and types
8
+ * - Ensure consistency across modules
9
+ */
10
+
11
+ // System Configuration Constants
12
+ const SYSTEM_DEFAULTS = {
13
+ MAX_AGENTS_PER_PROJECT: 10,
14
+ QUALITY_INSPECTOR_INTERVAL: 10,
15
+ DEFAULT_MODEL: 'anthropic-sonnet',
16
+ STATE_DIRECTORY: '.loxia-state',
17
+ MAX_PAUSE_DURATION: 300, // seconds
18
+ MAX_CONTEXT_SIZE: 50000, // characters
19
+ MAX_CONTEXT_REFERENCES: 10,
20
+ CACHE_EXPIRY: 3600, // seconds
21
+ MAX_MESSAGE_SIZE: 100000, // characters
22
+ MAX_FILE_SIZE: 10485760, // 10MB
23
+ MAX_ASYNC_OPERATIONS: 5,
24
+ MAX_TOOL_EXECUTION_TIME: 300000, // 5 minutes
25
+ MAX_CONVERSATION_LENGTH: 50000 // tokens
26
+ };
27
+
28
+ // Model Router Configuration
29
+ const MODEL_ROUTER_CONFIG = {
30
+ ROUTER_MODEL: 'autopilot-model-router', // Autopilot model router deployment
31
+ CONTEXT_MESSAGES_COUNT: 5, // Number of recent messages to include
32
+ BENCHMARK_REFRESH_INTERVAL: 3600000, // 1 hour in milliseconds
33
+ FALLBACK_ON_ERROR: true, // Continue with previous model on router error
34
+ REQUEST_TIMEOUT: 10000, // 10 seconds timeout for router requests
35
+ MAX_ROUTING_STRATEGY_LENGTH: 2000 // Max chars for per-agent routing strategy
36
+ };
37
+
38
+ // Interface Types
39
+ const INTERFACE_TYPES = {
40
+ CLI: 'cli',
41
+ WEB: 'web',
42
+ VSCODE: 'vscode',
43
+ TELEGRAM: 'telegram'
44
+ };
45
+
46
+ // Agent Types
47
+ const AGENT_TYPES = {
48
+ USER_CREATED: 'user-created',
49
+ SYSTEM_AGENT: 'system-agent',
50
+ AGENT_ENGINEER: 'agent-engineer'
51
+ };
52
+
53
+ // Agent Status
54
+ const AGENT_STATUS = {
55
+ ACTIVE: 'active',
56
+ IDLE: 'idle',
57
+ BUSY: 'busy',
58
+ SUSPENDED: 'suspended',
59
+ PAUSED: 'paused'
60
+ };
61
+
62
+ // Agent Modes
63
+ const AGENT_MODES = {
64
+ CHAT: 'chat', // Default: single message → single response
65
+ AGENT: 'agent' // Autonomous: task → loop until complete (persistent mode)
66
+ };
67
+
68
+ // Agent Mode States
69
+ const AGENT_MODE_STATES = {
70
+ IDLE: 'idle', // Not executing anything
71
+ EXECUTING: 'executing', // Currently processing autonomous task
72
+ WAITING_APPROVAL: 'waiting_approval', // Paused for user approval
73
+ STOPPED: 'stopped' // User stopped execution
74
+ };
75
+
76
+ // Message Modes
77
+ const MESSAGE_MODES = {
78
+ CHAT: 'chat',
79
+ AGENT: 'agent'
80
+ };
81
+
82
+ // Message Roles
83
+ const MESSAGE_ROLES = {
84
+ USER: 'user',
85
+ ASSISTANT: 'assistant',
86
+ SYSTEM: 'system'
87
+ };
88
+
89
+ // Context Reference Types
90
+ const CONTEXT_REFERENCE_TYPES = {
91
+ FILE: 'file',
92
+ COMPONENT: 'component',
93
+ SELECTION: 'selection',
94
+ DIRECTORY: 'directory'
95
+ };
96
+
97
+ // Tool Status
98
+ const TOOL_STATUS = {
99
+ PENDING: 'pending',
100
+ EXECUTING: 'executing',
101
+ COMPLETED: 'completed',
102
+ FAILED: 'failed'
103
+ };
104
+
105
+ // Operation Status
106
+ const OPERATION_STATUS = {
107
+ EXECUTING: 'executing',
108
+ COMPLETED: 'completed',
109
+ FAILED: 'failed',
110
+ NOT_FOUND: 'not_found'
111
+ };
112
+
113
+ // Conversation Status
114
+ const CONVERSATION_STATUS = {
115
+ ACTIVE: 'active',
116
+ ARCHIVED: 'archived',
117
+ SUSPENDED: 'suspended'
118
+ };
119
+
120
+ // Error Types
121
+ const ERROR_TYPES = {
122
+ FILE_NOT_FOUND: 'FILE_NOT_FOUND',
123
+ PERMISSION_DENIED: 'PERMISSION_DENIED',
124
+ OPERATION_TIMEOUT: 'OPERATION_TIMEOUT',
125
+ RATE_LIMIT_EXCEEDED: 'RATE_LIMIT_EXCEEDED',
126
+ AUTHENTICATION_FAILED: 'AUTHENTICATION_FAILED',
127
+ UNKNOWN_ERROR: 'UNKNOWN_ERROR',
128
+ VALIDATION_ERROR: 'VALIDATION_ERROR',
129
+ CONFIGURATION_ERROR: 'CONFIGURATION_ERROR'
130
+ };
131
+
132
+ // HTTP Status Codes
133
+ const HTTP_STATUS = {
134
+ OK: 200,
135
+ BAD_REQUEST: 400,
136
+ UNAUTHORIZED: 401,
137
+ FORBIDDEN: 403,
138
+ NOT_FOUND: 404,
139
+ TOO_MANY_REQUESTS: 429,
140
+ INTERNAL_SERVER_ERROR: 500,
141
+ BAD_GATEWAY: 502,
142
+ SERVICE_UNAVAILABLE: 503,
143
+ GATEWAY_TIMEOUT: 504
144
+ };
145
+
146
+ // Model Providers
147
+ const MODEL_PROVIDERS = {
148
+ ANTHROPIC: 'anthropic',
149
+ OPENAI: 'openai',
150
+ AZURE: 'azure',
151
+ DEEPSEEK: 'deepseek',
152
+ PHI: 'phi',
153
+ OLLAMA: 'ollama'
154
+ };
155
+
156
+ // Model Names
157
+ const MODELS = { //TODO:update with moedels from server
158
+ ANTHROPIC_OPUS: 'anthropic-opus',
159
+ ANTHROPIC_SONNET: 'anthropic-sonnet',
160
+ ANTHROPIC_HAIKU: 'anthropic-haiku',
161
+ GPT_4: 'gpt-4',
162
+ GPT_4_MINI: 'gpt-4-mini',
163
+ GPT_5_1_CODEX_MINI: 'gpt-5.1-codex-mini',
164
+ DEEPSEEK_R1: 'deepseek-r1',
165
+ PHI_4: 'phi-4',
166
+ PHI_4_REASONING: 'phi-4-reasoning'
167
+ };
168
+
169
+ // Platform Model IDs (with prefixes)
170
+ const PLATFORM_MODELS = {
171
+ LOXIA_ANTHROPIC_OPUS: 'loxia-anthropic-opus',
172
+ LOXIA_ANTHROPIC_SONNET: 'loxia-anthropic-sonnet',
173
+ LOXIA_ANTHROPIC_HAIKU: 'loxia-anthropic-haiku',
174
+ LOXIA_GPT_4: 'loxia-gpt-4',
175
+ LOXIA_GPT_4_MINI: 'loxia-gpt-4-mini',
176
+ LOXIA_GPT_5_1_CODEX_MINI: 'loxia-gpt-5.1-codex-mini',
177
+ LOXIA_DEEPSEEK_R1: 'loxia-deepseek-r1',
178
+ LOXIA_PHI_4: 'loxia-phi-4',
179
+ LOXIA_PHI_4_REASONING: 'loxia-phi-4-reasoning'
180
+ };
181
+
182
+ // Direct Access Model IDs (with prefixes)
183
+ const DIRECT_MODELS = {
184
+ DIRECT_ANTHROPIC_OPUS: 'direct-anthropic-opus',
185
+ DIRECT_ANTHROPIC_SONNET: 'direct-anthropic-sonnet',
186
+ DIRECT_ANTHROPIC_HAIKU: 'direct-anthropic-haiku',
187
+ DIRECT_GPT_4: 'direct-gpt-4',
188
+ DIRECT_GPT_4_MINI: 'direct-gpt-4-mini',
189
+ DIRECT_GPT_5_1_CODEX_MINI: 'direct-gpt-5.1-codex-mini',
190
+ DIRECT_DEEPSEEK_R1: 'direct-deepseek-r1',
191
+ DIRECT_PHI_4: 'direct-phi-4',
192
+ DIRECT_PHI_4_REASONING: 'direct-phi-4-reasoning'
193
+ };
194
+
195
+ // Model Format Versions
196
+ const MODEL_FORMAT_VERSIONS = {
197
+ [MODELS.ANTHROPIC_OPUS]: 'anthropic-v1',
198
+ [MODELS.ANTHROPIC_SONNET]: 'anthropic-v1',
199
+ [MODELS.ANTHROPIC_HAIKU]: 'anthropic-v1',
200
+ [MODELS.GPT_4]: 'openai-v1',
201
+ [MODELS.GPT_4_MINI]: 'openai-v1',
202
+ [MODELS.GPT_5_1_CODEX_MINI]: 'openai-v1',
203
+ [MODELS.DEEPSEEK_R1]: 'deepseek-v1',
204
+ [MODELS.PHI_4]: 'phi-v1',
205
+ [MODELS.PHI_4_REASONING]: 'phi-v1',
206
+ DEFAULT: 'generic-v1'
207
+ };
208
+
209
+ // Tool Names
210
+ const TOOL_NAMES = {
211
+ TERMINAL: 'terminal',
212
+ FILESYSTEM: 'filesystem',
213
+ BROWSER: 'browser',
214
+ AGENT_DELAY: 'agentdelay',
215
+ EDITOR: 'editor',
216
+ GIT: 'git',
217
+ DATABASE: 'database'
218
+ };
219
+
220
+ // File Extensions and Languages
221
+ const FILE_EXTENSIONS = {
222
+ JAVASCRIPT: '.js',
223
+ JSX: '.jsx',
224
+ TYPESCRIPT: '.ts',
225
+ TSX: '.tsx',
226
+ PYTHON: '.py',
227
+ JAVA: '.java',
228
+ CPP: '.cpp',
229
+ C: '.c',
230
+ CSHARP: '.cs',
231
+ PHP: '.php',
232
+ RUBY: '.rb',
233
+ GO: '.go',
234
+ RUST: '.rs',
235
+ HTML: '.html',
236
+ CSS: '.css',
237
+ SCSS: '.scss',
238
+ JSON: '.json',
239
+ YAML: '.yml',
240
+ YAML_ALT: '.yaml',
241
+ MARKDOWN: '.md',
242
+ XML: '.xml',
243
+ SQL: '.sql'
244
+ };
245
+
246
+ const LANGUAGE_MAPPING = {
247
+ [FILE_EXTENSIONS.JAVASCRIPT]: 'javascript',
248
+ [FILE_EXTENSIONS.JSX]: 'jsx',
249
+ [FILE_EXTENSIONS.TYPESCRIPT]: 'typescript',
250
+ [FILE_EXTENSIONS.TSX]: 'tsx',
251
+ [FILE_EXTENSIONS.PYTHON]: 'python',
252
+ [FILE_EXTENSIONS.JAVA]: 'java',
253
+ [FILE_EXTENSIONS.CPP]: 'cpp',
254
+ [FILE_EXTENSIONS.C]: 'c',
255
+ [FILE_EXTENSIONS.CSHARP]: 'csharp',
256
+ [FILE_EXTENSIONS.PHP]: 'php',
257
+ [FILE_EXTENSIONS.RUBY]: 'ruby',
258
+ [FILE_EXTENSIONS.GO]: 'go',
259
+ [FILE_EXTENSIONS.RUST]: 'rust',
260
+ [FILE_EXTENSIONS.HTML]: 'html',
261
+ [FILE_EXTENSIONS.CSS]: 'css',
262
+ [FILE_EXTENSIONS.SCSS]: 'scss',
263
+ [FILE_EXTENSIONS.JSON]: 'json',
264
+ [FILE_EXTENSIONS.YAML]: 'yaml',
265
+ [FILE_EXTENSIONS.YAML_ALT]: 'yaml',
266
+ [FILE_EXTENSIONS.MARKDOWN]: 'markdown',
267
+ [FILE_EXTENSIONS.XML]: 'xml',
268
+ [FILE_EXTENSIONS.SQL]: 'sql'
269
+ };
270
+
271
+ // File Icons
272
+ const FILE_ICONS = {
273
+ [FILE_EXTENSIONS.JAVASCRIPT]: '📜',
274
+ [FILE_EXTENSIONS.JSX]: '⚛️',
275
+ [FILE_EXTENSIONS.TYPESCRIPT]: '📘',
276
+ [FILE_EXTENSIONS.TSX]: '⚛️',
277
+ [FILE_EXTENSIONS.PYTHON]: '🐍',
278
+ [FILE_EXTENSIONS.JAVA]: '☕',
279
+ [FILE_EXTENSIONS.HTML]: '🌐',
280
+ [FILE_EXTENSIONS.CSS]: '🎨',
281
+ [FILE_EXTENSIONS.JSON]: '📋',
282
+ [FILE_EXTENSIONS.MARKDOWN]: '📝',
283
+ [FILE_EXTENSIONS.YAML]: '⚙️',
284
+ [FILE_EXTENSIONS.YAML_ALT]: '⚙️',
285
+ DEFAULT: '📄'
286
+ };
287
+
288
+ // Context Icons
289
+ const CONTEXT_ICONS = {
290
+ [CONTEXT_REFERENCE_TYPES.FILE]: '📄',
291
+ [CONTEXT_REFERENCE_TYPES.COMPONENT]: '🔧',
292
+ [CONTEXT_REFERENCE_TYPES.SELECTION]: '✂️',
293
+ [CONTEXT_REFERENCE_TYPES.DIRECTORY]: '📁',
294
+ DEFAULT: '📎'
295
+ };
296
+
297
+ // State File Names
298
+ const STATE_FILES = {
299
+ PROJECT_STATE: 'project-state.json',
300
+ AGENT_INDEX: 'agent-index.json',
301
+ CONVERSATION_INDEX: 'conversation-index.json',
302
+ LAST_SESSION: 'last-session.json',
303
+ CONTEXT_REFERENCES: 'context-references.json',
304
+ ASYNC_OPERATIONS: 'operations/async-operations.json',
305
+ PAUSED_AGENTS: 'operations/paused-agents.json',
306
+ TOOL_HISTORY: 'operations/tool-history.json',
307
+ MODEL_ROUTER_CACHE: 'models/model-router-cache.json',
308
+ ERROR_RECOVERY_LOG: 'models/error-recovery-log.json'
309
+ };
310
+
311
+ // State Directory Structure
312
+ const STATE_DIRECTORIES = {
313
+ ROOT: '.loxia-state',
314
+ AGENTS: 'agents',
315
+ OPERATIONS: 'operations',
316
+ MODELS: 'models',
317
+ FLOWS: 'flows',
318
+ FLOW_RUNS: 'flow-runs'
319
+ };
320
+
321
+ // Quality Inspector Configuration
322
+ const QUALITY_INSPECTOR_CONFIG = {
323
+ CHECK_INTERVAL_MESSAGES: 10,
324
+ STUCK_PATTERNS: [
325
+ 'repetitive_commands',
326
+ 'infinite_waiting',
327
+ 'error_loops',
328
+ 'resource_exhaustion'
329
+ ],
330
+ INTERVENTION_THRESHOLD: 3,
331
+ COOLDOWN_PERIOD: 300000 // 5 minutes
332
+ };
333
+
334
+ // Orchestrator Actions
335
+ const ORCHESTRATOR_ACTIONS = {
336
+ CREATE_AGENT: 'create_agent',
337
+ UPDATE_AGENT: 'update_agent',
338
+ DELETE_AGENT: 'delete_agent',
339
+ UNLOAD_AGENT: 'unload_agent',
340
+ SEND_MESSAGE: 'send_message',
341
+ LIST_AGENTS: 'list_agents',
342
+ RESUME_SESSION: 'resume_session',
343
+ GET_SESSION_STATE: 'get_session_state',
344
+ PAUSE_AGENT: 'pause_agent',
345
+ RESUME_AGENT: 'resume_agent',
346
+ SWITCH_MODEL: 'switch_model',
347
+ GET_AGENT_STATUS: 'get_agent_status',
348
+ GET_AGENT_CONVERSATIONS: 'get_agent_conversations',
349
+ // Team operations
350
+ CREATE_TEAM: 'create_team',
351
+ UPDATE_TEAM: 'update_team',
352
+ DELETE_TEAM: 'delete_team',
353
+ LOAD_TEAM: 'load_team',
354
+ LIST_TEAMS: 'list_teams',
355
+ ADD_AGENT_TO_TEAM: 'add_agent_to_team',
356
+ REMOVE_AGENT_FROM_TEAM: 'remove_agent_from_team',
357
+ // Flow operations
358
+ CREATE_FLOW: 'create_flow',
359
+ UPDATE_FLOW: 'update_flow',
360
+ DELETE_FLOW: 'delete_flow',
361
+ GET_FLOW: 'get_flow',
362
+ LIST_FLOWS: 'list_flows',
363
+ EXECUTE_FLOW: 'execute_flow',
364
+ STOP_FLOW: 'stop_flow',
365
+ GET_FLOW_RUN: 'get_flow_run',
366
+ LIST_FLOW_RUNS: 'list_flow_runs'
367
+ };
368
+
369
+ // Message Types
370
+ const MESSAGE_TYPES = {
371
+ AGENT_NOTIFICATION: 'agent_notification',
372
+ AGENT_REDIRECT: 'agent_redirect',
373
+ TOOL_COMPLETION: 'tool_completion',
374
+ SYSTEM_MESSAGE: 'system_message',
375
+ AGENT_COMMUNICATION: 'agent_communication' // Inter-agent messages
376
+ };
377
+
378
+ // Inter-Agent Message Processing Configuration
379
+ const INTER_AGENT_MESSAGE = {
380
+ // Processing priorities
381
+ PRIORITY: {
382
+ LOW: 'low',
383
+ NORMAL: 'normal',
384
+ HIGH: 'high',
385
+ URGENT: 'urgent'
386
+ },
387
+
388
+ // Processing delays (in milliseconds) - avoid magic numbers
389
+ PROCESSING_DELAY: {
390
+ IMMEDIATE: 0, // Process immediately
391
+ SHORT: 500, // Half second delay
392
+ NORMAL: 2000, // 2 seconds delay
393
+ LONG: 5000 // 5 seconds delay
394
+ },
395
+
396
+ // Queue and processing limits
397
+ MAX_QUEUE_SIZE: 100, // Maximum messages in queue per agent
398
+ MAX_PROCESSING_RETRIES: 3, // Maximum retry attempts
399
+ PROCESSING_TIMEOUT: 30000, // 30 seconds timeout for processing
400
+
401
+ // Auto-response configuration
402
+ AUTO_RESPONSE_ENABLED: true, // Enable automatic responses
403
+ REQUIRE_AGENT_MODE: false, // If true, only respond in AGENT mode
404
+ PRESERVE_CONTEXT: true // Maintain conversation context during response
405
+ };
406
+
407
+ // Agent Redirect Attributes
408
+ const AGENT_REDIRECT_ATTRIBUTES = {
409
+ URGENT: 'urgent',
410
+ REQUIRES_RESPONSE: 'requiresResponse',
411
+ CONTEXT: 'context'
412
+ };
413
+
414
+ // Budget and usage tracking constants
415
+ const BUDGET_LIMITS = {
416
+ DAILY: 10.00, // $10 per day default
417
+ WEEKLY: 50.00, // $50 per week default
418
+ MONTHLY: 200.00 // $200 per month default
419
+ };
420
+
421
+ const COST_PER_TOKEN = {
422
+ [MODELS.ANTHROPIC_OPUS]: {
423
+ input: 0.000015, // $15 per 1M input tokens
424
+ output: 0.000075 // $75 per 1M output tokens
425
+ },
426
+ [MODELS.ANTHROPIC_SONNET]: {
427
+ input: 0.000003, // $3 per 1M input tokens
428
+ output: 0.000015 // $15 per 1M output tokens
429
+ },
430
+ [MODELS.ANTHROPIC_HAIKU]: {
431
+ input: 0.00000025, // $0.25 per 1M input tokens
432
+ output: 0.00000125 // $1.25 per 1M output tokens
433
+ },
434
+ [MODELS.GPT_4]: {
435
+ input: 0.000030, // $30 per 1M input tokens
436
+ output: 0.000060 // $60 per 1M output tokens
437
+ },
438
+ [MODELS.GPT_4_MINI]: {
439
+ input: 0.000000150, // $0.15 per 1M input tokens
440
+ output: 0.000000600 // $0.60 per 1M output tokens
441
+ },
442
+ [MODELS.GPT_5_1_CODEX_MINI]: {
443
+ input: 0.000002, // $2 per 1M input tokens
444
+ output: 0.000008 // $8 per 1M output tokens
445
+ },
446
+ [MODELS.DEEPSEEK_R1]: {
447
+ input: 0.000014, // $14 per 1M input tokens
448
+ output: 0.000028 // $28 per 1M output tokens
449
+ },
450
+ [MODELS.PHI_4]: {
451
+ input: 0.0000015, // $1.5 per 1M input tokens
452
+ output: 0.0000025 // $2.5 per 1M output tokens
453
+ },
454
+ [MODELS.PHI_4_REASONING]: {
455
+ input: 0.0000015, // $1.5 per 1M input tokens
456
+ output: 0.0000025 // $2.5 per 1M output tokens
457
+ }
458
+ };
459
+
460
+ const USAGE_ALERTS = {
461
+ THRESHOLDS: [50, 75, 90, 100], // Percentage thresholds for alerts
462
+ COOLDOWN_PERIOD: 3600000 // 1 hour cooldown between alerts
463
+ };
464
+
465
+ // WebSocket Events
466
+ const WS_EVENTS = {
467
+ HANDSHAKE: 'handshake',
468
+ HANDSHAKE_ACK: 'handshake_ack',
469
+ MESSAGE_RECEIVED: 'message_received',
470
+ AGENT_UPDATED: 'agent_updated',
471
+ TYPING_START: 'typing_start',
472
+ TYPING_STOP: 'typing_stop',
473
+ NOTIFICATION: 'notification',
474
+ ERROR: 'error'
475
+ };
476
+
477
+ // Connection Status
478
+ const CONNECTION_STATUS = {
479
+ CONNECTED: 'connected',
480
+ CONNECTING: 'connecting',
481
+ DISCONNECTED: 'disconnected',
482
+ ERROR: 'error'
483
+ };
484
+
485
+ // Themes
486
+ const THEMES = {
487
+ LIGHT: 'light',
488
+ DARK: 'dark',
489
+ SYSTEM: 'system'
490
+ };
491
+
492
+ // Notification Types
493
+ const NOTIFICATION_TYPES = {
494
+ INFO: 'info',
495
+ SUCCESS: 'success',
496
+ WARNING: 'warning',
497
+ ERROR: 'error'
498
+ };
499
+
500
+ // Orchestrator Status
501
+ const ORCHESTRATOR_STATUS = {
502
+ INITIALIZING: 'initializing',
503
+ RUNNING: 'running',
504
+ PAUSED: 'paused',
505
+ ERROR: 'error',
506
+ STOPPED: 'stopped'
507
+ };
508
+
509
+ // Static Code Analysis Constants
510
+ const STATIC_ANALYSIS = {
511
+ // Error severities
512
+ SEVERITY: {
513
+ CRITICAL: 'critical',
514
+ ERROR: 'error',
515
+ WARNING: 'warning',
516
+ INFO: 'info',
517
+ SUGGESTION: 'suggestion'
518
+ },
519
+
520
+ // Error categories
521
+ CATEGORY: {
522
+ SYNTAX: 'syntax',
523
+ TYPE: 'type',
524
+ IMPORT: 'import',
525
+ STYLE: 'style',
526
+ SECURITY: 'security',
527
+ PERFORMANCE: 'performance',
528
+ BEST_PRACTICE: 'best_practice'
529
+ },
530
+
531
+ // Supported languages
532
+ LANGUAGE: {
533
+ JAVASCRIPT: 'javascript',
534
+ TYPESCRIPT: 'typescript',
535
+ PYTHON: 'python',
536
+ CSS: 'css',
537
+ SCSS: 'scss',
538
+ LESS: 'less',
539
+ GO: 'go',
540
+ JAVA: 'java',
541
+ CSHARP: 'csharp',
542
+ RUBY: 'ruby',
543
+ PHP: 'php',
544
+ RUST: 'rust',
545
+ CPP: 'cpp',
546
+ C: 'c'
547
+ },
548
+
549
+ // File extension to language mapping
550
+ EXTENSION_TO_LANGUAGE: {
551
+ '.js': 'javascript',
552
+ '.jsx': 'javascript',
553
+ '.mjs': 'javascript',
554
+ '.cjs': 'javascript',
555
+ '.ts': 'typescript',
556
+ '.tsx': 'typescript',
557
+ '.py': 'python',
558
+ '.css': 'css',
559
+ '.scss': 'scss',
560
+ '.sass': 'scss',
561
+ '.less': 'less',
562
+ '.go': 'go',
563
+ '.java': 'java',
564
+ '.cs': 'csharp',
565
+ '.rb': 'ruby',
566
+ '.php': 'php',
567
+ '.rs': 'rust',
568
+ '.cpp': 'cpp',
569
+ '.cc': 'cpp',
570
+ '.cxx': 'cpp',
571
+ '.c': 'c',
572
+ '.h': 'c',
573
+ '.hpp': 'cpp'
574
+ },
575
+
576
+ // Framework manifest files
577
+ FRAMEWORK_MANIFESTS: {
578
+ JAVASCRIPT: 'package.json',
579
+ PYTHON: 'requirements.txt',
580
+ PYTHON_POETRY: 'pyproject.toml',
581
+ PYTHON_PIPENV: 'Pipfile',
582
+ GO: 'go.mod',
583
+ JAVA_MAVEN: 'pom.xml',
584
+ JAVA_GRADLE: 'build.gradle',
585
+ RUBY: 'Gemfile',
586
+ PHP: 'composer.json',
587
+ RUST: 'Cargo.toml',
588
+ CSHARP: '*.csproj'
589
+ },
590
+
591
+ // JavaScript/TypeScript frameworks
592
+ JS_FRAMEWORKS: {
593
+ REACT: 'react',
594
+ VUE: 'vue',
595
+ ANGULAR: '@angular/core',
596
+ SVELTE: 'svelte',
597
+ NEXT: 'next',
598
+ NUXT: 'nuxt',
599
+ EXPRESS: 'express',
600
+ NEST: '@nestjs/core',
601
+ FASTIFY: 'fastify',
602
+ KOA: 'koa'
603
+ },
604
+
605
+ // Python frameworks
606
+ PYTHON_FRAMEWORKS: {
607
+ DJANGO: 'django',
608
+ FLASK: 'flask',
609
+ FASTAPI: 'fastapi',
610
+ TORNADO: 'tornado',
611
+ PYRAMID: 'pyramid',
612
+ BOTTLE: 'bottle'
613
+ },
614
+
615
+ // Analysis settings
616
+ MAX_FILE_SIZE_FOR_ANALYSIS: 5242880, // 5MB
617
+ MAX_FILES_PER_BATCH: 100,
618
+ ANALYSIS_TIMEOUT: 60000, // 60 seconds per file
619
+ ENABLE_CACHE: true,
620
+ CACHE_DURATION: 300000 // 5 minutes
621
+ };
622
+
623
+ // Conversation Compactization Configuration
624
+ const COMPACTION_CONFIG = {
625
+ // Thresholds and triggers
626
+ DEFAULT_THRESHOLD: 0.7, // 70% of context window
627
+ MIN_THRESHOLD: 0.6, // Minimum allowed threshold (60%)
628
+ MAX_THRESHOLD: 0.9, // Maximum allowed threshold (90%)
629
+
630
+ // Tail-preserving compaction: summarize oldest messages, keep recent
631
+ TAIL_PRESERVE_PERCENTAGE: 0.50, // Keep the most recent 50% of chars verbatim
632
+
633
+ // Multi-pass compaction
634
+ MAX_COMPACTION_PASSES: 3, // Maximum summarization passes per compaction
635
+
636
+ // Segment constraints
637
+ MIN_MIDDLE_SEGMENT_PERCENTAGE: 0.50, // Middle must be at least 50% of messages
638
+ MAX_BOOKEND_PERCENTAGE: 0.50, // Beginning + end together capped at 50%
639
+
640
+ // Recommended model pool for compaction (validated against live model catalog at runtime)
641
+ // Ordered by context window size (largest first) to handle very large conversations
642
+ COMPACTION_MODELS: [
643
+ 'gpt-5.1-codex-mini', // 400K context - best for large conversations
644
+ 'azure-openai-o4-mini', // O4 mini (200K context)
645
+ 'azure-openai-gpt-5-mini', // GPT-5 mini variant (128K context)
646
+ 'azure-openai-gpt-5' // Full GPT-5 model (128K context)
647
+ ],
648
+
649
+ // Context windows for recommended compaction models (fallback if modelsService unavailable)
650
+ MODEL_CONTEXT_WINDOWS: {
651
+ 'gpt-5.1-codex-mini': 400000,
652
+ 'azure-openai-o4-mini': 200000,
653
+ 'azure-openai-gpt-5-mini': 128000,
654
+ 'azure-openai-gpt-5': 128000
655
+ },
656
+
657
+ // Token limits
658
+ MAX_OUTPUT_TOKENS: 10000, // Hard ceiling on AI response tokens (used by aiService + compaction check)
659
+ MAX_SUMMARY_TOKENS: 8000, // Max tokens for summary generation
660
+ MIN_MESSAGES_FOR_COMPACTION: 10, // Don't compact tiny conversations
661
+
662
+ // Token estimation (used when no AI response data exists)
663
+ CHARS_PER_TOKEN_ESTIMATE: 3, // Conservative: 1 token ~ 3 characters
664
+
665
+ // Summary markers
666
+ COMPACTION_SUMMARY_PREFIX: '[CONVERSATION SUMMARY',
667
+ COMPACTION_SUMMARY_SUFFIX: '[END SUMMARY]',
668
+
669
+ // Timeouts
670
+ COMPACTION_TIMEOUT_MS: 30000, // 30 seconds max for compaction
671
+
672
+ // Oversized message splitting
673
+ OVERSIZED_MESSAGE_THRESHOLD: 50000, // 50K chars (~16K tokens) — messages larger than this get split
674
+ MAX_CHUNK_SIZE: 30000, // 30K chars (~10K tokens) — target size for each chunk
675
+
676
+ // Summarizer budget overhead — subtracted from summarizer's context window to get usable capacity
677
+ SUMMARIZER_SYSTEM_PROMPT_OVERHEAD: 500, // tokens reserved for compaction system prompt
678
+ SUMMARIZER_TEMPLATE_OVERHEAD: 800, // tokens for the summary prompt template text
679
+ SUMMARIZER_SAFETY_MARGIN: 5000, // token buffer for estimation inaccuracy
680
+
681
+ // Quality validation
682
+ MIN_REDUCTION_PERCENTAGE: 10, // Compaction must reduce by at least 10%
683
+ MAX_ACCEPTABLE_TOKEN_COUNT_AFTER: 0.85, // After compaction, should be below 85% of context
684
+ };
685
+
686
+ // Compaction strategies
687
+ const COMPACTION_STRATEGIES = {
688
+ SUMMARIZATION: 'summarization', // AI-based summarization (sandwich approach)
689
+ };
690
+
691
+ // Compaction status for UI feedback
692
+ const COMPACTION_STATUS = {
693
+ IDLE: 'idle',
694
+ STARTING: 'starting',
695
+ IN_PROGRESS: 'in-progress',
696
+ COMPLETED: 'completed',
697
+ FAILED: 'failed',
698
+ };
699
+
700
+ // Agent Scheduler Configuration
701
+ const SCHEDULER_CONFIG = {
702
+ // Timing configuration (milliseconds)
703
+ ITERATION_DELAY_MS: 1000, // Delay between scheduler cycles
704
+
705
+ // Parallel processing - worker pool pattern
706
+ MAX_CONCURRENT_AGENTS: 3, // Max agents processed in parallel (worker pool size)
707
+
708
+ // Repetition detection - sliding window approach
709
+ // We track recent state hashes to detect when agent is stuck in a loop
710
+ STATE_HASH_WINDOW_SIZE: 20, // Size of sliding window for repetition detection
711
+ REPETITION_THRESHOLD: 5, // Same hash appearing this many times in window = loop detected
712
+
713
+ // Recovery delays (milliseconds)
714
+ API_KEY_ERROR_DELAY_MS: 5 * 60 * 1000, // 5 minutes for API key issues
715
+ RATE_LIMIT_DELAY_MS: 2 * 60 * 1000, // 2 minutes for rate limiting
716
+ NETWORK_ERROR_DELAY_MS: 30 * 1000, // 30 seconds for network issues
717
+ UNKNOWN_ERROR_DELAY_MS: 60 * 1000, // 1 minute for unknown errors
718
+
719
+ // Recent message threshold for inter-agent tracking
720
+ RECENT_MESSAGE_THRESHOLD_MS: 10 * 60 * 1000, // 10 minutes
721
+
722
+ // Consecutive messages without tool usage tracking (AGENT mode only)
723
+ // Reminds agents to maintain their task list when not using tools
724
+ CONSECUTIVE_NO_TOOL_THRESHOLD: 3, // After this many messages without tools, inject reminder
725
+ CONSECUTIVE_NO_TOOL_ENABLED: true, // Feature toggle
726
+ };
727
+
728
+ // Agent Activity Status - reasons for activation/deactivation
729
+ const AGENT_ACTIVITY_STATUS = {
730
+ // Active reasons
731
+ HAS_PENDING_TASKS: 'has-pending-tasks',
732
+ HAS_QUEUED_MESSAGES: 'has-queued-messages',
733
+ HAS_USER_MESSAGES: 'has-user-messages',
734
+ HAS_INTER_AGENT_MESSAGES: 'has-inter-agent-messages',
735
+ HAS_TOOL_RESULTS: 'has-tool-results',
736
+ AUTONOMOUS_MODE_ACTIVE: 'autonomous-mode-active',
737
+ HAS_TTL_REMAINING: 'has-ttl-remaining', // Agent has TTL cycles remaining
738
+
739
+ // Inactive reasons
740
+ AGENT_NOT_FOUND: 'agent-not-found',
741
+ AGENT_INACTIVE_STATUS: 'agent-inactive-status',
742
+ AGENT_DELAYED: 'agent-delayed',
743
+ AGENT_PAUSED: 'agent-paused',
744
+ AWAITING_USER_INPUT: 'awaiting-user-input',
745
+ STOP_REQUESTED: 'stop-requested',
746
+ NO_PENDING_WORK: 'no-pending-work',
747
+ CHAT_MODE_NO_MESSAGES: 'chat-mode-no-messages',
748
+ UNKNOWN_MODE: 'unknown-mode',
749
+ JOB_DONE_EXECUTED: 'job-done-executed',
750
+ };
751
+
752
+ // Scheduler trigger sources - what caused an agent to be considered for scheduling
753
+ const SCHEDULER_TRIGGERS = {
754
+ SCHEDULER_STARTUP: 'scheduler-startup',
755
+ MODE_CHANGE_TO_AGENT: 'mode-change-to-agent',
756
+ MODE_CHANGE_TO_CHAT: 'mode-change-to-chat',
757
+ USER_MESSAGE: 'user-message',
758
+ INTER_AGENT_MESSAGE: 'inter-agent-message',
759
+ TOOL_COMPLETION: 'tool-completion',
760
+ STOPPED_BY_USER: 'stopped-by-user',
761
+ PROCESSING_COMPLETED: 'processing-completed',
762
+ PROCESSING_ERROR: 'processing-error',
763
+ };
764
+
765
+ // Task status values
766
+ const TASK_STATUS = {
767
+ PENDING: 'pending',
768
+ IN_PROGRESS: 'in_progress',
769
+ COMPLETED: 'completed',
770
+ BLOCKED: 'blocked',
771
+ FAILED: 'failed',
772
+ };
773
+
774
+ // Task priority levels
775
+ const TASK_PRIORITY = {
776
+ URGENT: 'urgent',
777
+ HIGH: 'high',
778
+ MEDIUM: 'medium',
779
+ LOW: 'low',
780
+ };
781
+
782
+ // Task priority order (lower number = higher priority)
783
+ const TASK_PRIORITY_ORDER = {
784
+ [TASK_PRIORITY.URGENT]: 0,
785
+ [TASK_PRIORITY.HIGH]: 1,
786
+ [TASK_PRIORITY.MEDIUM]: 2,
787
+ [TASK_PRIORITY.LOW]: 3,
788
+ };
789
+
790
+ // Terminal Tool Configuration
791
+ const TERMINAL_CONFIG = {
792
+ // Output retrieval defaults
793
+ DEFAULT_TAIL_LINES: 100, // Default number of lines for getTaskOutput
794
+ EXPANDED_VIEW_TAIL_LINES: 50, // Lines shown in expanded dropdown view
795
+ MAX_OUTPUT_LENGTH: 50000, // Max characters for output retrieval
796
+
797
+ // UI refresh/polling
798
+ POLLING_INTERVAL_MS: 2000, // Polling interval for task updates
799
+
800
+ // Recent tasks limits
801
+ RECENT_TASKS_LIMIT: 20, // Max recent tasks to fetch from backend
802
+ RECENT_TASKS_UI_LIMIT: 10, // Max recent tasks shown in UI dropdown
803
+
804
+ // Task states
805
+ STATES: {
806
+ RUNNING: 'running',
807
+ WAITING_FOR_INPUT: 'waiting_for_input',
808
+ COMPLETED: 'completed',
809
+ FAILED: 'failed'
810
+ }
811
+ };
812
+
813
+ // Version
814
+ const SYSTEM_VERSION = '3.1.0';
815
+
816
+ // Export all constants using ES module syntax
817
+ export {
818
+ SYSTEM_DEFAULTS,
819
+ MODEL_ROUTER_CONFIG,
820
+ INTERFACE_TYPES,
821
+ AGENT_TYPES,
822
+ AGENT_STATUS,
823
+ AGENT_MODES,
824
+ AGENT_MODE_STATES,
825
+ MESSAGE_MODES,
826
+ MESSAGE_ROLES,
827
+ CONTEXT_REFERENCE_TYPES,
828
+ TOOL_STATUS,
829
+ OPERATION_STATUS,
830
+ CONVERSATION_STATUS,
831
+ ERROR_TYPES,
832
+ HTTP_STATUS,
833
+ MODEL_PROVIDERS,
834
+ MODELS,
835
+ PLATFORM_MODELS,
836
+ DIRECT_MODELS,
837
+ MODEL_FORMAT_VERSIONS,
838
+ TOOL_NAMES,
839
+ FILE_EXTENSIONS,
840
+ LANGUAGE_MAPPING,
841
+ FILE_ICONS,
842
+ CONTEXT_ICONS,
843
+ STATE_FILES,
844
+ STATE_DIRECTORIES,
845
+ QUALITY_INSPECTOR_CONFIG,
846
+ ORCHESTRATOR_ACTIONS,
847
+ MESSAGE_TYPES,
848
+ INTER_AGENT_MESSAGE,
849
+ AGENT_REDIRECT_ATTRIBUTES,
850
+ BUDGET_LIMITS,
851
+ COST_PER_TOKEN,
852
+ USAGE_ALERTS,
853
+ WS_EVENTS,
854
+ CONNECTION_STATUS,
855
+ THEMES,
856
+ NOTIFICATION_TYPES,
857
+ ORCHESTRATOR_STATUS,
858
+ STATIC_ANALYSIS,
859
+ COMPACTION_CONFIG,
860
+ COMPACTION_STRATEGIES,
861
+ COMPACTION_STATUS,
862
+ SCHEDULER_CONFIG,
863
+ AGENT_ACTIVITY_STATUS,
864
+ SCHEDULER_TRIGGERS,
865
+ TASK_STATUS,
866
+ TASK_PRIORITY,
867
+ TASK_PRIORITY_ORDER,
868
+ TERMINAL_CONFIG,
869
+ SYSTEM_VERSION
870
+ };