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,415 @@
1
+ /**
2
+ * Tool Command Constants
3
+ *
4
+ * Centralized constants for tool command recognition and parsing
5
+ * This ensures consistent tool identification across the system
6
+ */
7
+
8
+ /**
9
+ * Tool IDs - The canonical identifiers for each tool
10
+ */
11
+ export const TOOL_IDS = {
12
+ AGENT_COMMUNICATION: 'agentcommunication',
13
+ TERMINAL: 'terminal',
14
+ FILESYSTEM: 'filesystem',
15
+ // BROWSER: 'browser', // DEPRECATED - use WEB instead
16
+ AGENT_DELAY: 'agentdelay',
17
+ JOB_DONE: 'jobdone',
18
+ TASK_MANAGER: 'taskmanager',
19
+ IMPORT_ANALYZER: 'import-analyzer',
20
+ DEPENDENCY_RESOLVER: 'dependency-resolver',
21
+ IMAGE_GEN: 'image-gen',
22
+ VIDEO_GEN: 'video-gen',
23
+ CLONE_DETECTION: 'clonedetection',
24
+ FILE_TREE: 'file-tree',
25
+ FILE_CONTENT_REPLACE: 'file-content-replace',
26
+ SEEK: 'seek',
27
+ WEB: 'web',
28
+ STATIC_ANALYSIS: 'staticanalysis',
29
+ HELP: 'help',
30
+ PDF: 'pdf',
31
+ DOC: 'doc',
32
+ SPREADSHEET: 'spreadsheet',
33
+ SKILLS: 'skills',
34
+ VISION: 'vision'
35
+ };
36
+
37
+ /**
38
+ * Agent Communication Tool Actions
39
+ * These are the valid action types for the agent communication tool
40
+ */
41
+ export const AGENT_COMM_ACTIONS = {
42
+ GET_AVAILABLE: 'get-available-agents',
43
+ SEND_MESSAGE: 'send-message',
44
+ REPLY_MESSAGE: 'reply-to-message',
45
+ GET_UNREPLIED: 'get-unreplied-messages',
46
+ MARK_ENDED: 'mark-conversation-ended'
47
+ };
48
+
49
+ /**
50
+ * Terminal Tool Actions
51
+ */
52
+ export const TERMINAL_ACTIONS = {
53
+ RUN_COMMAND: 'run-command',
54
+ CHANGE_DIR: 'change-directory',
55
+ LIST_DIR: 'list-directory',
56
+ CREATE_DIR: 'create-directory',
57
+ GET_CWD: 'get-working-directory'
58
+ };
59
+
60
+ /**
61
+ * Filesystem Tool Actions
62
+ */
63
+ export const FILESYSTEM_ACTIONS = {
64
+ READ_FILE: 'read-file',
65
+ WRITE_FILE: 'write-file',
66
+ APPEND_FILE: 'append-file',
67
+ DELETE_FILE: 'delete-file',
68
+ LIST_FILES: 'list-files',
69
+ CREATE_DIR: 'fs-create-directory', // Prefixed to avoid conflict with terminal
70
+ DELETE_DIR: 'fs-delete-directory', // Prefixed for consistency
71
+ MOVE_FILE: 'move-file',
72
+ COPY_FILE: 'copy-file',
73
+ GET_INFO: 'get-file-info'
74
+ };
75
+
76
+ /**
77
+ * Browser Tool Actions
78
+ * @deprecated Use WEB tool instead - Browser tool is deprecated as of December 2024
79
+ */
80
+ export const BROWSER_ACTIONS = {
81
+ NAVIGATE: 'navigate',
82
+ CLICK: 'click',
83
+ TYPE: 'type',
84
+ SCREENSHOT: 'screenshot',
85
+ GET_TEXT: 'get-text',
86
+ WAIT: 'wait-for-element',
87
+ SCROLL: 'scroll',
88
+ CLOSE: 'close-browser'
89
+ };
90
+
91
+ /**
92
+ * Job Done Tool Actions
93
+ */
94
+ export const JOBDONE_ACTIONS = {
95
+ COMPLETE: 'complete',
96
+ COMPLETE_WITH_RESULT: 'complete-with-result',
97
+ FAIL: 'fail-with-error'
98
+ };
99
+
100
+ /**
101
+ * Agent Delay Tool Actions
102
+ */
103
+ export const DELAY_ACTIONS = {
104
+ DELAY: 'delay',
105
+ PAUSE: 'pause'
106
+ };
107
+
108
+ /**
109
+ * TaskManager Tool Actions
110
+ */
111
+ export const TASK_MANAGER_ACTIONS = {
112
+ CREATE: 'create',
113
+ UPDATE: 'update',
114
+ LIST: 'list',
115
+ COMPLETE: 'complete',
116
+ CANCEL: 'cancel',
117
+ CLEAR: 'clear',
118
+ DEPEND: 'depend',
119
+ RELATE: 'relate',
120
+ SUBTASK: 'subtask',
121
+ PRIORITIZE: 'prioritize',
122
+ TEMPLATE: 'template',
123
+ PROGRESS: 'progress',
124
+ ANALYTICS: 'analytics'
125
+ };
126
+
127
+ /**
128
+ * Clone Detection Tool Actions
129
+ */
130
+ export const CLONE_DETECTION_ACTIONS = {
131
+ DETECT_CLONES: 'detect-clones'
132
+ };
133
+
134
+ /**
135
+ * Help Tool Actions
136
+ */
137
+ export const HELP_ACTIONS = {
138
+ GET_DESCRIPTION: 'get-description',
139
+ LIST_TOOLS: 'list-tools'
140
+ };
141
+
142
+ /**
143
+ * PDF Tool Actions
144
+ */
145
+ export const PDF_ACTIONS = {
146
+ GET_INFO: 'get-info',
147
+ READ_PAGES: 'read-pages',
148
+ CREATE_PDF: 'create-pdf'
149
+ };
150
+
151
+ /**
152
+ * Document (DOCX) Tool Actions
153
+ */
154
+ export const DOC_ACTIONS = {
155
+ GET_INFO: 'get-info',
156
+ READ: 'read',
157
+ CREATE: 'create'
158
+ };
159
+
160
+ /**
161
+ * Spreadsheet (Excel) Tool Actions
162
+ */
163
+ export const SPREADSHEET_ACTIONS = {
164
+ GET_INFO: 'get-info',
165
+ READ: 'read',
166
+ CREATE: 'create'
167
+ };
168
+
169
+ /**
170
+ * Skills Tool Actions
171
+ */
172
+ export const SKILLS_ACTIONS = {
173
+ LIST: 'list',
174
+ DESCRIBE: 'describe',
175
+ READ: 'read',
176
+ READ_SECTION: 'read-section',
177
+ READ_FILE: 'read-file',
178
+ CREATE: 'create',
179
+ UPDATE: 'update',
180
+ DELETE: 'delete',
181
+ IMPORT: 'import'
182
+ };
183
+
184
+ /**
185
+ * Tool Command Formats
186
+ * JSON is the LLM industry standard format (preferred)
187
+ * XML and bracket notation are supported for backward compatibility
188
+ */
189
+ export const COMMAND_FORMATS = {
190
+ JSON: 'json', // Standard format: ```json {...} ```
191
+ JSON_PLAIN: 'json-plain', // Plain JSON (fallback, not recommended)
192
+ XML: 'xml', // Legacy: <toolname>...</toolname>
193
+ BRACKET: 'bracket', // Legacy: [tool id="..."]...[/tool]
194
+ REDIRECT: 'redirect' // Agent redirects
195
+ };
196
+
197
+ /**
198
+ * Tool Recognition Map
199
+ * Maps action types to their corresponding tool IDs
200
+ * This is the single source of truth for tool identification
201
+ */
202
+ export const TOOL_ACTION_MAP = {
203
+ // Agent Communication Tool
204
+ [AGENT_COMM_ACTIONS.GET_AVAILABLE]: TOOL_IDS.AGENT_COMMUNICATION,
205
+ [AGENT_COMM_ACTIONS.SEND_MESSAGE]: TOOL_IDS.AGENT_COMMUNICATION,
206
+ [AGENT_COMM_ACTIONS.REPLY_MESSAGE]: TOOL_IDS.AGENT_COMMUNICATION,
207
+ [AGENT_COMM_ACTIONS.GET_UNREPLIED]: TOOL_IDS.AGENT_COMMUNICATION,
208
+ [AGENT_COMM_ACTIONS.MARK_ENDED]: TOOL_IDS.AGENT_COMMUNICATION,
209
+
210
+ // Terminal Tool
211
+ [TERMINAL_ACTIONS.RUN_COMMAND]: TOOL_IDS.TERMINAL,
212
+ [TERMINAL_ACTIONS.CHANGE_DIR]: TOOL_IDS.TERMINAL,
213
+ [TERMINAL_ACTIONS.LIST_DIR]: TOOL_IDS.TERMINAL,
214
+ [TERMINAL_ACTIONS.CREATE_DIR]: TOOL_IDS.TERMINAL,
215
+ [TERMINAL_ACTIONS.GET_CWD]: TOOL_IDS.TERMINAL,
216
+
217
+ // Filesystem Tool
218
+ [FILESYSTEM_ACTIONS.READ_FILE]: TOOL_IDS.FILESYSTEM,
219
+ [FILESYSTEM_ACTIONS.WRITE_FILE]: TOOL_IDS.FILESYSTEM,
220
+ [FILESYSTEM_ACTIONS.APPEND_FILE]: TOOL_IDS.FILESYSTEM,
221
+ [FILESYSTEM_ACTIONS.DELETE_FILE]: TOOL_IDS.FILESYSTEM,
222
+ [FILESYSTEM_ACTIONS.LIST_FILES]: TOOL_IDS.FILESYSTEM,
223
+ [FILESYSTEM_ACTIONS.CREATE_DIR]: TOOL_IDS.FILESYSTEM,
224
+ [FILESYSTEM_ACTIONS.DELETE_DIR]: TOOL_IDS.FILESYSTEM,
225
+ [FILESYSTEM_ACTIONS.MOVE_FILE]: TOOL_IDS.FILESYSTEM,
226
+ [FILESYSTEM_ACTIONS.COPY_FILE]: TOOL_IDS.FILESYSTEM,
227
+ [FILESYSTEM_ACTIONS.GET_INFO]: TOOL_IDS.FILESYSTEM,
228
+
229
+ // Browser Tool - DEPRECATED, use WEB tool instead
230
+ // [BROWSER_ACTIONS.NAVIGATE]: TOOL_IDS.BROWSER,
231
+ // [BROWSER_ACTIONS.CLICK]: TOOL_IDS.BROWSER,
232
+ // [BROWSER_ACTIONS.TYPE]: TOOL_IDS.BROWSER,
233
+ // [BROWSER_ACTIONS.SCREENSHOT]: TOOL_IDS.BROWSER,
234
+ // [BROWSER_ACTIONS.GET_TEXT]: TOOL_IDS.BROWSER,
235
+ // [BROWSER_ACTIONS.WAIT]: TOOL_IDS.BROWSER,
236
+ // [BROWSER_ACTIONS.SCROLL]: TOOL_IDS.BROWSER,
237
+ // [BROWSER_ACTIONS.CLOSE]: TOOL_IDS.BROWSER,
238
+
239
+ // Job Done Tool
240
+ [JOBDONE_ACTIONS.COMPLETE]: TOOL_IDS.JOB_DONE,
241
+ [JOBDONE_ACTIONS.COMPLETE_WITH_RESULT]: TOOL_IDS.JOB_DONE,
242
+ [JOBDONE_ACTIONS.FAIL]: TOOL_IDS.JOB_DONE,
243
+
244
+ // Delay Tool
245
+ [DELAY_ACTIONS.DELAY]: TOOL_IDS.AGENT_DELAY,
246
+ [DELAY_ACTIONS.PAUSE]: TOOL_IDS.AGENT_DELAY,
247
+
248
+ // TaskManager Tool
249
+ [TASK_MANAGER_ACTIONS.CREATE]: TOOL_IDS.TASK_MANAGER,
250
+ [TASK_MANAGER_ACTIONS.UPDATE]: TOOL_IDS.TASK_MANAGER,
251
+ [TASK_MANAGER_ACTIONS.LIST]: TOOL_IDS.TASK_MANAGER,
252
+ [TASK_MANAGER_ACTIONS.COMPLETE]: TOOL_IDS.TASK_MANAGER,
253
+ [TASK_MANAGER_ACTIONS.CANCEL]: TOOL_IDS.TASK_MANAGER,
254
+ [TASK_MANAGER_ACTIONS.CLEAR]: TOOL_IDS.TASK_MANAGER,
255
+ [TASK_MANAGER_ACTIONS.DEPEND]: TOOL_IDS.TASK_MANAGER,
256
+ [TASK_MANAGER_ACTIONS.RELATE]: TOOL_IDS.TASK_MANAGER,
257
+ [TASK_MANAGER_ACTIONS.SUBTASK]: TOOL_IDS.TASK_MANAGER,
258
+ [TASK_MANAGER_ACTIONS.PRIORITIZE]: TOOL_IDS.TASK_MANAGER,
259
+ [TASK_MANAGER_ACTIONS.TEMPLATE]: TOOL_IDS.TASK_MANAGER,
260
+ [TASK_MANAGER_ACTIONS.PROGRESS]: TOOL_IDS.TASK_MANAGER,
261
+ [TASK_MANAGER_ACTIONS.ANALYTICS]: TOOL_IDS.TASK_MANAGER,
262
+
263
+ // Clone Detection Tool
264
+ [CLONE_DETECTION_ACTIONS.DETECT_CLONES]: TOOL_IDS.CLONE_DETECTION,
265
+
266
+ // Help Tool
267
+ [HELP_ACTIONS.GET_DESCRIPTION]: TOOL_IDS.HELP,
268
+ [HELP_ACTIONS.LIST_TOOLS]: TOOL_IDS.HELP,
269
+
270
+ // PDF Tool
271
+ [PDF_ACTIONS.GET_INFO]: TOOL_IDS.PDF,
272
+ [PDF_ACTIONS.READ_PAGES]: TOOL_IDS.PDF,
273
+ [PDF_ACTIONS.CREATE_PDF]: TOOL_IDS.PDF,
274
+
275
+ // Document (DOCX) Tool
276
+ [DOC_ACTIONS.GET_INFO]: TOOL_IDS.DOC,
277
+ [DOC_ACTIONS.READ]: TOOL_IDS.DOC,
278
+ [DOC_ACTIONS.CREATE]: TOOL_IDS.DOC,
279
+
280
+ // Spreadsheet (Excel) Tool
281
+ [SPREADSHEET_ACTIONS.GET_INFO]: TOOL_IDS.SPREADSHEET,
282
+ [SPREADSHEET_ACTIONS.READ]: TOOL_IDS.SPREADSHEET,
283
+ [SPREADSHEET_ACTIONS.CREATE]: TOOL_IDS.SPREADSHEET,
284
+
285
+ // Skills Tool
286
+ [SKILLS_ACTIONS.LIST]: TOOL_IDS.SKILLS,
287
+ [SKILLS_ACTIONS.DESCRIBE]: TOOL_IDS.SKILLS,
288
+ [SKILLS_ACTIONS.READ]: TOOL_IDS.SKILLS,
289
+ [SKILLS_ACTIONS.READ_SECTION]: TOOL_IDS.SKILLS,
290
+ [SKILLS_ACTIONS.READ_FILE]: TOOL_IDS.SKILLS,
291
+ [SKILLS_ACTIONS.CREATE]: TOOL_IDS.SKILLS,
292
+ [SKILLS_ACTIONS.UPDATE]: TOOL_IDS.SKILLS,
293
+ [SKILLS_ACTIONS.DELETE]: TOOL_IDS.SKILLS,
294
+ [SKILLS_ACTIONS.IMPORT]: TOOL_IDS.SKILLS
295
+ };
296
+
297
+ /**
298
+ * JSON Command Structure Types
299
+ * Different JSON structures we support
300
+ */
301
+ export const JSON_STRUCTURES = {
302
+ // Standard format: {"toolId": "...", "parameters": {...}}
303
+ STANDARD: 'standard',
304
+
305
+ // Actions format: {"actions": [{"type": "...", ...}]}
306
+ ACTIONS_ARRAY: 'actions-array',
307
+
308
+ // Tool commands format: {"toolCommands": [{...}]}
309
+ TOOL_COMMANDS: 'tool-commands',
310
+
311
+ // Direct action format: {"type": "...", ...}
312
+ DIRECT_ACTION: 'direct-action'
313
+ };
314
+
315
+ /**
316
+ * Identify which JSON structure is being used
317
+ */
318
+ export function identifyJsonStructure(jsonData) {
319
+ if (!jsonData || typeof jsonData !== 'object') {
320
+ return null;
321
+ }
322
+
323
+ if (jsonData.toolId && (jsonData.parameters || jsonData.actions)) {
324
+ return JSON_STRUCTURES.STANDARD;
325
+ }
326
+
327
+ if (jsonData.actions && Array.isArray(jsonData.actions)) {
328
+ return JSON_STRUCTURES.ACTIONS_ARRAY;
329
+ }
330
+
331
+ if (jsonData.toolCommands && Array.isArray(jsonData.toolCommands)) {
332
+ return JSON_STRUCTURES.TOOL_COMMANDS;
333
+ }
334
+
335
+ if (jsonData.type && typeof jsonData.type === 'string') {
336
+ return JSON_STRUCTURES.DIRECT_ACTION;
337
+ }
338
+
339
+ return null;
340
+ }
341
+
342
+ /**
343
+ * Get tool ID from action type
344
+ * This is the primary method for determining which tool to use
345
+ */
346
+ export function getToolIdFromAction(actionType) {
347
+ if (!actionType) return null;
348
+
349
+ // Normalize the action type to handle case variations
350
+ const normalizedAction = actionType.trim();
351
+
352
+ // Direct lookup first (most efficient)
353
+ if (TOOL_ACTION_MAP[normalizedAction]) {
354
+ return TOOL_ACTION_MAP[normalizedAction];
355
+ }
356
+
357
+ // Case-insensitive lookup as fallback
358
+ const lowerAction = normalizedAction.toLowerCase();
359
+ for (const [action, toolId] of Object.entries(TOOL_ACTION_MAP)) {
360
+ if (action.toLowerCase() === lowerAction) {
361
+ return toolId;
362
+ }
363
+ }
364
+
365
+ // Log unrecognized actions for debugging
366
+ console.warn(`Unrecognized action type: "${actionType}"`);
367
+
368
+ return null;
369
+ }
370
+
371
+ /**
372
+ * Validate if a tool ID is valid
373
+ */
374
+ export function isValidToolId(toolId) {
375
+ return Object.values(TOOL_IDS).includes(toolId);
376
+ }
377
+
378
+ /**
379
+ * Get all valid actions for a specific tool
380
+ */
381
+ export function getToolActions(toolId) {
382
+ const actions = [];
383
+ for (const [action, tool] of Object.entries(TOOL_ACTION_MAP)) {
384
+ if (tool === toolId) {
385
+ actions.push(action);
386
+ }
387
+ }
388
+ return actions;
389
+ }
390
+
391
+ /**
392
+ * Export all constants for easy access
393
+ */
394
+ export default {
395
+ TOOL_IDS,
396
+ AGENT_COMM_ACTIONS,
397
+ TERMINAL_ACTIONS,
398
+ FILESYSTEM_ACTIONS,
399
+ BROWSER_ACTIONS,
400
+ JOBDONE_ACTIONS,
401
+ DELAY_ACTIONS,
402
+ TASK_MANAGER_ACTIONS,
403
+ CLONE_DETECTION_ACTIONS,
404
+ HELP_ACTIONS,
405
+ PDF_ACTIONS,
406
+ DOC_ACTIONS,
407
+ SPREADSHEET_ACTIONS,
408
+ COMMAND_FORMATS,
409
+ TOOL_ACTION_MAP,
410
+ JSON_STRUCTURES,
411
+ identifyJsonStructure,
412
+ getToolIdFromAction,
413
+ isValidToolId,
414
+ getToolActions
415
+ };
@@ -0,0 +1,300 @@
1
+ /**
2
+ * User Data Directory Utility
3
+ *
4
+ * Determines the appropriate persistent storage location for user data
5
+ * that survives package updates (npm i -g).
6
+ *
7
+ * This solves the critical issue where user data (agents, conversations,
8
+ * settings, API keys) was lost when updating the globally installed package
9
+ * because data was stored relative to the package installation directory.
10
+ *
11
+ * Storage Locations by Platform:
12
+ * - Linux: ~/.local/share/loxia-autopilot/
13
+ * - macOS: ~/Library/Application Support/loxia-autopilot/
14
+ * - Windows: %LOCALAPPDATA%/loxia-autopilot/ (typically C:\Users\<user>\AppData\Local\loxia-autopilot)
15
+ *
16
+ * Environment Variable Override:
17
+ * - LOXIA_DATA_DIR: If set, uses this path instead of the platform default
18
+ */
19
+
20
+ import os from 'os';
21
+ import path from 'path';
22
+ import { promises as fs } from 'fs';
23
+
24
+ const APP_NAME = 'loxia-autopilot';
25
+
26
+ /**
27
+ * Get the platform-appropriate user data directory
28
+ * @returns {string} Absolute path to user data directory
29
+ */
30
+ export function getUserDataDir() {
31
+ // Allow override via environment variable
32
+ if (process.env.LOXIA_DATA_DIR) {
33
+ return path.resolve(process.env.LOXIA_DATA_DIR);
34
+ }
35
+
36
+ const platform = process.platform;
37
+ const homeDir = os.homedir();
38
+
39
+ switch (platform) {
40
+ case 'win32': {
41
+ // Windows: Use LOCALAPPDATA (persists locally, not roamed)
42
+ // Falls back to APPDATA, then to home directory
43
+ const localAppData = process.env.LOCALAPPDATA || process.env.APPDATA;
44
+ if (localAppData) {
45
+ return path.join(localAppData, APP_NAME);
46
+ }
47
+ return path.join(homeDir, 'AppData', 'Local', APP_NAME);
48
+ }
49
+
50
+ case 'darwin': {
51
+ // macOS: Use Application Support directory
52
+ return path.join(homeDir, 'Library', 'Application Support', APP_NAME);
53
+ }
54
+
55
+ case 'linux':
56
+ default: {
57
+ // Linux/Unix: Follow XDG Base Directory Specification
58
+ // Use XDG_DATA_HOME if set, otherwise ~/.local/share
59
+ const xdgDataHome = process.env.XDG_DATA_HOME;
60
+ if (xdgDataHome) {
61
+ return path.join(xdgDataHome, APP_NAME);
62
+ }
63
+ return path.join(homeDir, '.local', 'share', APP_NAME);
64
+ }
65
+ }
66
+ }
67
+
68
+ /**
69
+ * Get specific subdirectories within user data directory
70
+ */
71
+ export function getUserDataPaths() {
72
+ const baseDir = getUserDataDir();
73
+
74
+ return {
75
+ base: baseDir,
76
+ state: path.join(baseDir, 'state'), // Agent state, conversations
77
+ agents: path.join(baseDir, 'state', 'agents'), // Individual agent data
78
+ settings: path.join(baseDir, 'settings'), // User settings, API keys
79
+ attachments: path.join(baseDir, 'attachments'), // File attachments
80
+ logs: path.join(baseDir, 'logs'), // Application logs
81
+ cache: path.join(baseDir, 'cache'), // Temporary cache data
82
+ operations: path.join(baseDir, 'state', 'operations'), // Async operations
83
+ models: path.join(baseDir, 'state', 'models'), // Model router cache
84
+ runtime: path.join(baseDir, 'runtime'), // Runtime data (port registry, etc.)
85
+ skills: path.join(baseDir, 'state', 'skills'), // Global skills library
86
+ };
87
+ }
88
+
89
+ /**
90
+ * Ensure user data directory structure exists
91
+ * @returns {Promise<Object>} Created paths
92
+ */
93
+ export async function ensureUserDataDirs() {
94
+ const paths = getUserDataPaths();
95
+
96
+ const dirsToCreate = [
97
+ paths.base,
98
+ paths.state,
99
+ paths.agents,
100
+ paths.settings,
101
+ paths.attachments,
102
+ paths.logs,
103
+ paths.cache,
104
+ paths.operations,
105
+ paths.models,
106
+ paths.runtime,
107
+ paths.skills,
108
+ ];
109
+
110
+ for (const dir of dirsToCreate) {
111
+ try {
112
+ await fs.mkdir(dir, { recursive: true });
113
+ } catch (error) {
114
+ // Ignore if already exists
115
+ if (error.code !== 'EEXIST') {
116
+ throw error;
117
+ }
118
+ }
119
+ }
120
+
121
+ return paths;
122
+ }
123
+
124
+ /**
125
+ * Check if user data directory exists and is accessible
126
+ * @returns {Promise<boolean>}
127
+ */
128
+ export async function userDataDirExists() {
129
+ try {
130
+ const baseDir = getUserDataDir();
131
+ const stats = await fs.stat(baseDir);
132
+ return stats.isDirectory();
133
+ } catch (error) {
134
+ return false;
135
+ }
136
+ }
137
+
138
+ /**
139
+ * Migrate data from old location to new user data directory
140
+ * This helps users transition from the old storage location
141
+ *
142
+ * @param {string} oldDir - Old data directory path
143
+ * @param {Object} options - Migration options
144
+ * @returns {Promise<Object>} Migration result
145
+ */
146
+ export async function migrateFromOldLocation(oldDir, options = {}) {
147
+ const { dryRun = false, logger = null } = options;
148
+ const newPaths = getUserDataPaths();
149
+
150
+ const result = {
151
+ migrated: [],
152
+ skipped: [],
153
+ errors: [],
154
+ };
155
+
156
+ try {
157
+ // Check if old directory exists
158
+ try {
159
+ await fs.access(oldDir);
160
+ } catch {
161
+ logger?.info('No old data directory found, skipping migration', { oldDir });
162
+ return result;
163
+ }
164
+
165
+ // Check if new directory already has data (don't overwrite)
166
+ const newHasData = await userDataDirExists();
167
+ if (newHasData) {
168
+ const newStateDir = newPaths.state;
169
+ try {
170
+ const files = await fs.readdir(newStateDir);
171
+ if (files.length > 0) {
172
+ logger?.info('New data directory already has data, skipping migration to prevent overwrite');
173
+ result.skipped.push({ reason: 'new_location_has_data', path: newStateDir });
174
+ return result;
175
+ }
176
+ } catch {
177
+ // Directory doesn't exist or is empty, continue with migration
178
+ }
179
+ }
180
+
181
+ // Ensure new directories exist
182
+ if (!dryRun) {
183
+ await ensureUserDataDirs();
184
+ }
185
+
186
+ // Migration mappings: oldSubPath -> newPath
187
+ const migrations = [
188
+ { old: 'agents', new: newPaths.agents },
189
+ { old: 'operations', new: newPaths.operations },
190
+ { old: 'models', new: newPaths.models },
191
+ { old: 'attachments', new: newPaths.attachments },
192
+ { old: 'terminal-settings.json', new: path.join(newPaths.settings, 'terminal-settings.json') },
193
+ { old: 'project-state.json', new: path.join(newPaths.state, 'project-state.json') },
194
+ { old: 'agent-index.json', new: path.join(newPaths.state, 'agent-index.json') },
195
+ { old: 'last-session.json', new: path.join(newPaths.state, 'last-session.json') },
196
+ ];
197
+
198
+ for (const migration of migrations) {
199
+ const oldPath = path.join(oldDir, migration.old);
200
+ const newPath = migration.new;
201
+
202
+ try {
203
+ await fs.access(oldPath);
204
+
205
+ if (dryRun) {
206
+ result.migrated.push({ from: oldPath, to: newPath, dryRun: true });
207
+ continue;
208
+ }
209
+
210
+ // Check if it's a directory or file
211
+ const stats = await fs.stat(oldPath);
212
+
213
+ if (stats.isDirectory()) {
214
+ // Copy directory contents recursively
215
+ await copyDir(oldPath, newPath);
216
+ } else {
217
+ // Copy single file
218
+ await fs.copyFile(oldPath, newPath);
219
+ }
220
+
221
+ result.migrated.push({ from: oldPath, to: newPath });
222
+ logger?.info('Migrated data', { from: oldPath, to: newPath });
223
+
224
+ } catch (error) {
225
+ if (error.code === 'ENOENT') {
226
+ // File/dir doesn't exist, skip silently
227
+ result.skipped.push({ path: oldPath, reason: 'not_found' });
228
+ } else {
229
+ result.errors.push({ path: oldPath, error: error.message });
230
+ logger?.warn('Migration error', { path: oldPath, error: error.message });
231
+ }
232
+ }
233
+ }
234
+
235
+ if (result.migrated.length > 0 && !dryRun) {
236
+ logger?.info('Data migration completed', {
237
+ migratedCount: result.migrated.length,
238
+ skippedCount: result.skipped.length,
239
+ errorCount: result.errors.length,
240
+ });
241
+ }
242
+
243
+ } catch (error) {
244
+ result.errors.push({ path: oldDir, error: error.message });
245
+ logger?.error('Migration failed', { error: error.message });
246
+ }
247
+
248
+ return result;
249
+ }
250
+
251
+ /**
252
+ * Recursively copy a directory
253
+ * @param {string} src - Source directory
254
+ * @param {string} dest - Destination directory
255
+ */
256
+ async function copyDir(src, dest) {
257
+ await fs.mkdir(dest, { recursive: true });
258
+ const entries = await fs.readdir(src, { withFileTypes: true });
259
+
260
+ for (const entry of entries) {
261
+ const srcPath = path.join(src, entry.name);
262
+ const destPath = path.join(dest, entry.name);
263
+
264
+ if (entry.isDirectory()) {
265
+ await copyDir(srcPath, destPath);
266
+ } else {
267
+ await fs.copyFile(srcPath, destPath);
268
+ }
269
+ }
270
+ }
271
+
272
+ /**
273
+ * Get legacy data directory paths for migration detection
274
+ * @returns {string[]} Array of potential old data locations
275
+ */
276
+ export function getLegacyDataPaths() {
277
+ const paths = [];
278
+
279
+ // Old location: relative to package install (inside node_modules)
280
+ // This won't work after package update, but useful for first-run detection
281
+
282
+ // Old location: process.cwd() based
283
+ const cwdBased = path.join(process.cwd(), '.loxia-state');
284
+ paths.push(cwdBased);
285
+
286
+ // Alternative old location
287
+ const cwdBasedAlt = path.join(process.cwd(), 'loxia-state');
288
+ paths.push(cwdBasedAlt);
289
+
290
+ return paths;
291
+ }
292
+
293
+ export default {
294
+ getUserDataDir,
295
+ getUserDataPaths,
296
+ ensureUserDataDirs,
297
+ userDataDirExists,
298
+ migrateFromOldLocation,
299
+ getLegacyDataPaths,
300
+ };