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.
- package/LICENSE +267 -0
- package/README.md +425 -0
- package/bin/cli.js +556 -0
- package/bin/loxia-terminal-v2.js +162 -0
- package/bin/loxia-terminal.js +90 -0
- package/bin/start-with-terminal.js +200 -0
- package/node_modules/@isaacs/balanced-match/LICENSE.md +23 -0
- package/node_modules/@isaacs/balanced-match/README.md +60 -0
- package/node_modules/@isaacs/balanced-match/dist/commonjs/index.d.ts +9 -0
- package/node_modules/@isaacs/balanced-match/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/@isaacs/balanced-match/dist/commonjs/index.js +59 -0
- package/node_modules/@isaacs/balanced-match/dist/commonjs/index.js.map +1 -0
- package/node_modules/@isaacs/balanced-match/dist/commonjs/package.json +3 -0
- package/node_modules/@isaacs/balanced-match/dist/esm/index.d.ts +9 -0
- package/node_modules/@isaacs/balanced-match/dist/esm/index.d.ts.map +1 -0
- package/node_modules/@isaacs/balanced-match/dist/esm/index.js +54 -0
- package/node_modules/@isaacs/balanced-match/dist/esm/index.js.map +1 -0
- package/node_modules/@isaacs/balanced-match/dist/esm/package.json +3 -0
- package/node_modules/@isaacs/balanced-match/package.json +79 -0
- package/node_modules/@isaacs/brace-expansion/LICENSE +23 -0
- package/node_modules/@isaacs/brace-expansion/README.md +97 -0
- package/node_modules/@isaacs/brace-expansion/dist/commonjs/index.d.ts +6 -0
- package/node_modules/@isaacs/brace-expansion/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/@isaacs/brace-expansion/dist/commonjs/index.js +199 -0
- package/node_modules/@isaacs/brace-expansion/dist/commonjs/index.js.map +1 -0
- package/node_modules/@isaacs/brace-expansion/dist/commonjs/package.json +3 -0
- package/node_modules/@isaacs/brace-expansion/dist/esm/index.d.ts +6 -0
- package/node_modules/@isaacs/brace-expansion/dist/esm/index.d.ts.map +1 -0
- package/node_modules/@isaacs/brace-expansion/dist/esm/index.js +195 -0
- package/node_modules/@isaacs/brace-expansion/dist/esm/index.js.map +1 -0
- package/node_modules/@isaacs/brace-expansion/dist/esm/package.json +3 -0
- package/node_modules/@isaacs/brace-expansion/package.json +60 -0
- package/node_modules/glob/LICENSE.md +63 -0
- package/node_modules/glob/README.md +1177 -0
- package/node_modules/glob/dist/commonjs/glob.d.ts +388 -0
- package/node_modules/glob/dist/commonjs/glob.d.ts.map +1 -0
- package/node_modules/glob/dist/commonjs/glob.js +247 -0
- package/node_modules/glob/dist/commonjs/glob.js.map +1 -0
- package/node_modules/glob/dist/commonjs/has-magic.d.ts +14 -0
- package/node_modules/glob/dist/commonjs/has-magic.d.ts.map +1 -0
- package/node_modules/glob/dist/commonjs/has-magic.js +27 -0
- package/node_modules/glob/dist/commonjs/has-magic.js.map +1 -0
- package/node_modules/glob/dist/commonjs/ignore.d.ts +24 -0
- package/node_modules/glob/dist/commonjs/ignore.d.ts.map +1 -0
- package/node_modules/glob/dist/commonjs/ignore.js +119 -0
- package/node_modules/glob/dist/commonjs/ignore.js.map +1 -0
- package/node_modules/glob/dist/commonjs/index.d.ts +97 -0
- package/node_modules/glob/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/glob/dist/commonjs/index.js +68 -0
- package/node_modules/glob/dist/commonjs/index.js.map +1 -0
- package/node_modules/glob/dist/commonjs/index.min.js +4 -0
- package/node_modules/glob/dist/commonjs/index.min.js.map +7 -0
- package/node_modules/glob/dist/commonjs/package.json +3 -0
- package/node_modules/glob/dist/commonjs/pattern.d.ts +76 -0
- package/node_modules/glob/dist/commonjs/pattern.d.ts.map +1 -0
- package/node_modules/glob/dist/commonjs/pattern.js +219 -0
- package/node_modules/glob/dist/commonjs/pattern.js.map +1 -0
- package/node_modules/glob/dist/commonjs/processor.d.ts +59 -0
- package/node_modules/glob/dist/commonjs/processor.d.ts.map +1 -0
- package/node_modules/glob/dist/commonjs/processor.js +301 -0
- package/node_modules/glob/dist/commonjs/processor.js.map +1 -0
- package/node_modules/glob/dist/commonjs/walker.d.ts +97 -0
- package/node_modules/glob/dist/commonjs/walker.d.ts.map +1 -0
- package/node_modules/glob/dist/commonjs/walker.js +387 -0
- package/node_modules/glob/dist/commonjs/walker.js.map +1 -0
- package/node_modules/glob/dist/esm/glob.d.ts +388 -0
- package/node_modules/glob/dist/esm/glob.d.ts.map +1 -0
- package/node_modules/glob/dist/esm/glob.js +243 -0
- package/node_modules/glob/dist/esm/glob.js.map +1 -0
- package/node_modules/glob/dist/esm/has-magic.d.ts +14 -0
- package/node_modules/glob/dist/esm/has-magic.d.ts.map +1 -0
- package/node_modules/glob/dist/esm/has-magic.js +23 -0
- package/node_modules/glob/dist/esm/has-magic.js.map +1 -0
- package/node_modules/glob/dist/esm/ignore.d.ts +24 -0
- package/node_modules/glob/dist/esm/ignore.d.ts.map +1 -0
- package/node_modules/glob/dist/esm/ignore.js +115 -0
- package/node_modules/glob/dist/esm/ignore.js.map +1 -0
- package/node_modules/glob/dist/esm/index.d.ts +97 -0
- package/node_modules/glob/dist/esm/index.d.ts.map +1 -0
- package/node_modules/glob/dist/esm/index.js +55 -0
- package/node_modules/glob/dist/esm/index.js.map +1 -0
- package/node_modules/glob/dist/esm/index.min.js +4 -0
- package/node_modules/glob/dist/esm/index.min.js.map +7 -0
- package/node_modules/glob/dist/esm/package.json +3 -0
- package/node_modules/glob/dist/esm/pattern.d.ts +76 -0
- package/node_modules/glob/dist/esm/pattern.d.ts.map +1 -0
- package/node_modules/glob/dist/esm/pattern.js +215 -0
- package/node_modules/glob/dist/esm/pattern.js.map +1 -0
- package/node_modules/glob/dist/esm/processor.d.ts +59 -0
- package/node_modules/glob/dist/esm/processor.d.ts.map +1 -0
- package/node_modules/glob/dist/esm/processor.js +294 -0
- package/node_modules/glob/dist/esm/processor.js.map +1 -0
- package/node_modules/glob/dist/esm/walker.d.ts +97 -0
- package/node_modules/glob/dist/esm/walker.d.ts.map +1 -0
- package/node_modules/glob/dist/esm/walker.js +381 -0
- package/node_modules/glob/dist/esm/walker.js.map +1 -0
- package/node_modules/glob/node_modules/minimatch/LICENSE.md +55 -0
- package/node_modules/glob/node_modules/minimatch/README.md +453 -0
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts +2 -0
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts.map +1 -0
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js +14 -0
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js.map +1 -0
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/ast.d.ts +20 -0
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/ast.d.ts.map +1 -0
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js +591 -0
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js.map +1 -0
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts +8 -0
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts.map +1 -0
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js +152 -0
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js.map +1 -0
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/escape.d.ts +15 -0
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/escape.d.ts.map +1 -0
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js +30 -0
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js.map +1 -0
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/index.d.ts +94 -0
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/index.js +1029 -0
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/index.js.map +1 -0
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/package.json +3 -0
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.d.ts +22 -0
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.d.ts.map +1 -0
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js +38 -0
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js.map +1 -0
- package/node_modules/glob/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts +2 -0
- package/node_modules/glob/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts.map +1 -0
- package/node_modules/glob/node_modules/minimatch/dist/esm/assert-valid-pattern.js +10 -0
- package/node_modules/glob/node_modules/minimatch/dist/esm/assert-valid-pattern.js.map +1 -0
- package/node_modules/glob/node_modules/minimatch/dist/esm/ast.d.ts +20 -0
- package/node_modules/glob/node_modules/minimatch/dist/esm/ast.d.ts.map +1 -0
- package/node_modules/glob/node_modules/minimatch/dist/esm/ast.js +587 -0
- package/node_modules/glob/node_modules/minimatch/dist/esm/ast.js.map +1 -0
- package/node_modules/glob/node_modules/minimatch/dist/esm/brace-expressions.d.ts +8 -0
- package/node_modules/glob/node_modules/minimatch/dist/esm/brace-expressions.d.ts.map +1 -0
- package/node_modules/glob/node_modules/minimatch/dist/esm/brace-expressions.js +148 -0
- package/node_modules/glob/node_modules/minimatch/dist/esm/brace-expressions.js.map +1 -0
- package/node_modules/glob/node_modules/minimatch/dist/esm/escape.d.ts +15 -0
- package/node_modules/glob/node_modules/minimatch/dist/esm/escape.d.ts.map +1 -0
- package/node_modules/glob/node_modules/minimatch/dist/esm/escape.js +26 -0
- package/node_modules/glob/node_modules/minimatch/dist/esm/escape.js.map +1 -0
- package/node_modules/glob/node_modules/minimatch/dist/esm/index.d.ts +94 -0
- package/node_modules/glob/node_modules/minimatch/dist/esm/index.d.ts.map +1 -0
- package/node_modules/glob/node_modules/minimatch/dist/esm/index.js +1016 -0
- package/node_modules/glob/node_modules/minimatch/dist/esm/index.js.map +1 -0
- package/node_modules/glob/node_modules/minimatch/dist/esm/package.json +3 -0
- package/node_modules/glob/node_modules/minimatch/dist/esm/unescape.d.ts +22 -0
- package/node_modules/glob/node_modules/minimatch/dist/esm/unescape.d.ts.map +1 -0
- package/node_modules/glob/node_modules/minimatch/dist/esm/unescape.js +34 -0
- package/node_modules/glob/node_modules/minimatch/dist/esm/unescape.js.map +1 -0
- package/node_modules/glob/node_modules/minimatch/package.json +67 -0
- package/node_modules/glob/package.json +101 -0
- package/node_modules/minipass/LICENSE +15 -0
- package/node_modules/minipass/README.md +825 -0
- package/node_modules/minipass/dist/commonjs/index.d.ts +549 -0
- package/node_modules/minipass/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/minipass/dist/commonjs/index.js +1028 -0
- package/node_modules/minipass/dist/commonjs/index.js.map +1 -0
- package/node_modules/minipass/dist/commonjs/package.json +3 -0
- package/node_modules/minipass/dist/esm/index.d.ts +549 -0
- package/node_modules/minipass/dist/esm/index.d.ts.map +1 -0
- package/node_modules/minipass/dist/esm/index.js +1018 -0
- package/node_modules/minipass/dist/esm/index.js.map +1 -0
- package/node_modules/minipass/dist/esm/package.json +3 -0
- package/node_modules/minipass/package.json +82 -0
- package/node_modules/package-json-from-dist/LICENSE.md +63 -0
- package/node_modules/package-json-from-dist/README.md +110 -0
- package/node_modules/package-json-from-dist/dist/commonjs/index.d.ts +89 -0
- package/node_modules/package-json-from-dist/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/package-json-from-dist/dist/commonjs/index.js +134 -0
- package/node_modules/package-json-from-dist/dist/commonjs/index.js.map +1 -0
- package/node_modules/package-json-from-dist/dist/commonjs/package.json +3 -0
- package/node_modules/package-json-from-dist/dist/esm/index.d.ts +89 -0
- package/node_modules/package-json-from-dist/dist/esm/index.d.ts.map +1 -0
- package/node_modules/package-json-from-dist/dist/esm/index.js +129 -0
- package/node_modules/package-json-from-dist/dist/esm/index.js.map +1 -0
- package/node_modules/package-json-from-dist/dist/esm/package.json +3 -0
- package/node_modules/package-json-from-dist/package.json +68 -0
- package/node_modules/path-scurry/LICENSE.md +55 -0
- package/node_modules/path-scurry/README.md +636 -0
- package/node_modules/path-scurry/dist/commonjs/index.d.ts +1115 -0
- package/node_modules/path-scurry/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/path-scurry/dist/commonjs/index.js +2018 -0
- package/node_modules/path-scurry/dist/commonjs/index.js.map +1 -0
- package/node_modules/path-scurry/dist/commonjs/package.json +3 -0
- package/node_modules/path-scurry/dist/esm/index.d.ts +1115 -0
- package/node_modules/path-scurry/dist/esm/index.d.ts.map +1 -0
- package/node_modules/path-scurry/dist/esm/index.js +1983 -0
- package/node_modules/path-scurry/dist/esm/index.js.map +1 -0
- package/node_modules/path-scurry/dist/esm/package.json +3 -0
- package/node_modules/path-scurry/node_modules/lru-cache/LICENSE.md +55 -0
- package/node_modules/path-scurry/node_modules/lru-cache/README.md +383 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.d.ts +1323 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.js +1589 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.js.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.min.js +2 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.min.js.map +7 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/package.json +3 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.d.ts +1323 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.d.ts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.js +1585 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.js.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.min.js +2 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.min.js.map +7 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/package.json +3 -0
- package/node_modules/path-scurry/node_modules/lru-cache/package.json +101 -0
- package/node_modules/path-scurry/package.json +88 -0
- package/node_modules/rimraf/LICENSE.md +55 -0
- package/node_modules/rimraf/README.md +226 -0
- package/node_modules/rimraf/dist/commonjs/default-tmp.d.ts +3 -0
- package/node_modules/rimraf/dist/commonjs/default-tmp.d.ts.map +1 -0
- package/node_modules/rimraf/dist/commonjs/default-tmp.js +58 -0
- package/node_modules/rimraf/dist/commonjs/default-tmp.js.map +1 -0
- package/node_modules/rimraf/dist/commonjs/error.d.ts +6 -0
- package/node_modules/rimraf/dist/commonjs/error.d.ts.map +1 -0
- package/node_modules/rimraf/dist/commonjs/error.js +10 -0
- package/node_modules/rimraf/dist/commonjs/error.js.map +1 -0
- package/node_modules/rimraf/dist/commonjs/fix-eperm.d.ts +3 -0
- package/node_modules/rimraf/dist/commonjs/fix-eperm.d.ts.map +1 -0
- package/node_modules/rimraf/dist/commonjs/fix-eperm.js +38 -0
- package/node_modules/rimraf/dist/commonjs/fix-eperm.js.map +1 -0
- package/node_modules/rimraf/dist/commonjs/fs.d.ts +15 -0
- package/node_modules/rimraf/dist/commonjs/fs.d.ts.map +1 -0
- package/node_modules/rimraf/dist/commonjs/fs.js +33 -0
- package/node_modules/rimraf/dist/commonjs/fs.js.map +1 -0
- package/node_modules/rimraf/dist/commonjs/ignore-enoent.d.ts +3 -0
- package/node_modules/rimraf/dist/commonjs/ignore-enoent.d.ts.map +1 -0
- package/node_modules/rimraf/dist/commonjs/ignore-enoent.js +24 -0
- package/node_modules/rimraf/dist/commonjs/ignore-enoent.js.map +1 -0
- package/node_modules/rimraf/dist/commonjs/index.d.ts +50 -0
- package/node_modules/rimraf/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/rimraf/dist/commonjs/index.js +78 -0
- package/node_modules/rimraf/dist/commonjs/index.js.map +1 -0
- package/node_modules/rimraf/dist/commonjs/opt-arg.d.ts +34 -0
- package/node_modules/rimraf/dist/commonjs/opt-arg.d.ts.map +1 -0
- package/node_modules/rimraf/dist/commonjs/opt-arg.js +53 -0
- package/node_modules/rimraf/dist/commonjs/opt-arg.js.map +1 -0
- package/node_modules/rimraf/dist/commonjs/package.json +3 -0
- package/node_modules/rimraf/dist/commonjs/path-arg.d.ts +4 -0
- package/node_modules/rimraf/dist/commonjs/path-arg.d.ts.map +1 -0
- package/node_modules/rimraf/dist/commonjs/path-arg.js +48 -0
- package/node_modules/rimraf/dist/commonjs/path-arg.js.map +1 -0
- package/node_modules/rimraf/dist/commonjs/readdir-or-error.d.ts +3 -0
- package/node_modules/rimraf/dist/commonjs/readdir-or-error.d.ts.map +1 -0
- package/node_modules/rimraf/dist/commonjs/readdir-or-error.js +19 -0
- package/node_modules/rimraf/dist/commonjs/readdir-or-error.js.map +1 -0
- package/node_modules/rimraf/dist/commonjs/retry-busy.d.ts +8 -0
- package/node_modules/rimraf/dist/commonjs/retry-busy.d.ts.map +1 -0
- package/node_modules/rimraf/dist/commonjs/retry-busy.js +65 -0
- package/node_modules/rimraf/dist/commonjs/retry-busy.js.map +1 -0
- package/node_modules/rimraf/dist/commonjs/rimraf-manual.d.ts +3 -0
- package/node_modules/rimraf/dist/commonjs/rimraf-manual.d.ts.map +1 -0
- package/node_modules/rimraf/dist/commonjs/rimraf-manual.js +8 -0
- package/node_modules/rimraf/dist/commonjs/rimraf-manual.js.map +1 -0
- package/node_modules/rimraf/dist/commonjs/rimraf-move-remove.d.ts +4 -0
- package/node_modules/rimraf/dist/commonjs/rimraf-move-remove.d.ts.map +1 -0
- package/node_modules/rimraf/dist/commonjs/rimraf-move-remove.js +138 -0
- package/node_modules/rimraf/dist/commonjs/rimraf-move-remove.js.map +1 -0
- package/node_modules/rimraf/dist/commonjs/rimraf-native.d.ts +4 -0
- package/node_modules/rimraf/dist/commonjs/rimraf-native.d.ts.map +1 -0
- package/node_modules/rimraf/dist/commonjs/rimraf-native.js +24 -0
- package/node_modules/rimraf/dist/commonjs/rimraf-native.js.map +1 -0
- package/node_modules/rimraf/dist/commonjs/rimraf-posix.d.ts +4 -0
- package/node_modules/rimraf/dist/commonjs/rimraf-posix.d.ts.map +1 -0
- package/node_modules/rimraf/dist/commonjs/rimraf-posix.js +103 -0
- package/node_modules/rimraf/dist/commonjs/rimraf-posix.js.map +1 -0
- package/node_modules/rimraf/dist/commonjs/rimraf-windows.d.ts +4 -0
- package/node_modules/rimraf/dist/commonjs/rimraf-windows.d.ts.map +1 -0
- package/node_modules/rimraf/dist/commonjs/rimraf-windows.js +159 -0
- package/node_modules/rimraf/dist/commonjs/rimraf-windows.js.map +1 -0
- package/node_modules/rimraf/dist/commonjs/use-native.d.ts +4 -0
- package/node_modules/rimraf/dist/commonjs/use-native.d.ts.map +1 -0
- package/node_modules/rimraf/dist/commonjs/use-native.js +18 -0
- package/node_modules/rimraf/dist/commonjs/use-native.js.map +1 -0
- package/node_modules/rimraf/dist/esm/bin.d.mts +3 -0
- package/node_modules/rimraf/dist/esm/bin.d.mts.map +1 -0
- package/node_modules/rimraf/dist/esm/bin.mjs +250 -0
- package/node_modules/rimraf/dist/esm/bin.mjs.map +1 -0
- package/node_modules/rimraf/dist/esm/default-tmp.d.ts +3 -0
- package/node_modules/rimraf/dist/esm/default-tmp.d.ts.map +1 -0
- package/node_modules/rimraf/dist/esm/default-tmp.js +55 -0
- package/node_modules/rimraf/dist/esm/default-tmp.js.map +1 -0
- package/node_modules/rimraf/dist/esm/error.d.ts +6 -0
- package/node_modules/rimraf/dist/esm/error.d.ts.map +1 -0
- package/node_modules/rimraf/dist/esm/error.js +5 -0
- package/node_modules/rimraf/dist/esm/error.js.map +1 -0
- package/node_modules/rimraf/dist/esm/fix-eperm.d.ts +3 -0
- package/node_modules/rimraf/dist/esm/fix-eperm.d.ts.map +1 -0
- package/node_modules/rimraf/dist/esm/fix-eperm.js +33 -0
- package/node_modules/rimraf/dist/esm/fix-eperm.js.map +1 -0
- package/node_modules/rimraf/dist/esm/fs.d.ts +15 -0
- package/node_modules/rimraf/dist/esm/fs.d.ts.map +1 -0
- package/node_modules/rimraf/dist/esm/fs.js +18 -0
- package/node_modules/rimraf/dist/esm/fs.js.map +1 -0
- package/node_modules/rimraf/dist/esm/ignore-enoent.d.ts +3 -0
- package/node_modules/rimraf/dist/esm/ignore-enoent.d.ts.map +1 -0
- package/node_modules/rimraf/dist/esm/ignore-enoent.js +19 -0
- package/node_modules/rimraf/dist/esm/ignore-enoent.js.map +1 -0
- package/node_modules/rimraf/dist/esm/index.d.ts +50 -0
- package/node_modules/rimraf/dist/esm/index.d.ts.map +1 -0
- package/node_modules/rimraf/dist/esm/index.js +70 -0
- package/node_modules/rimraf/dist/esm/index.js.map +1 -0
- package/node_modules/rimraf/dist/esm/opt-arg.d.ts +34 -0
- package/node_modules/rimraf/dist/esm/opt-arg.d.ts.map +1 -0
- package/node_modules/rimraf/dist/esm/opt-arg.js +46 -0
- package/node_modules/rimraf/dist/esm/opt-arg.js.map +1 -0
- package/node_modules/rimraf/dist/esm/package.json +3 -0
- package/node_modules/rimraf/dist/esm/path-arg.d.ts +4 -0
- package/node_modules/rimraf/dist/esm/path-arg.d.ts.map +1 -0
- package/node_modules/rimraf/dist/esm/path-arg.js +46 -0
- package/node_modules/rimraf/dist/esm/path-arg.js.map +1 -0
- package/node_modules/rimraf/dist/esm/readdir-or-error.d.ts +3 -0
- package/node_modules/rimraf/dist/esm/readdir-or-error.d.ts.map +1 -0
- package/node_modules/rimraf/dist/esm/readdir-or-error.js +14 -0
- package/node_modules/rimraf/dist/esm/readdir-or-error.js.map +1 -0
- package/node_modules/rimraf/dist/esm/retry-busy.d.ts +8 -0
- package/node_modules/rimraf/dist/esm/retry-busy.d.ts.map +1 -0
- package/node_modules/rimraf/dist/esm/retry-busy.js +60 -0
- package/node_modules/rimraf/dist/esm/retry-busy.js.map +1 -0
- package/node_modules/rimraf/dist/esm/rimraf-manual.d.ts +3 -0
- package/node_modules/rimraf/dist/esm/rimraf-manual.d.ts.map +1 -0
- package/node_modules/rimraf/dist/esm/rimraf-manual.js +5 -0
- package/node_modules/rimraf/dist/esm/rimraf-manual.js.map +1 -0
- package/node_modules/rimraf/dist/esm/rimraf-move-remove.d.ts +4 -0
- package/node_modules/rimraf/dist/esm/rimraf-move-remove.d.ts.map +1 -0
- package/node_modules/rimraf/dist/esm/rimraf-move-remove.js +133 -0
- package/node_modules/rimraf/dist/esm/rimraf-move-remove.js.map +1 -0
- package/node_modules/rimraf/dist/esm/rimraf-native.d.ts +4 -0
- package/node_modules/rimraf/dist/esm/rimraf-native.d.ts.map +1 -0
- package/node_modules/rimraf/dist/esm/rimraf-native.js +19 -0
- package/node_modules/rimraf/dist/esm/rimraf-native.js.map +1 -0
- package/node_modules/rimraf/dist/esm/rimraf-posix.d.ts +4 -0
- package/node_modules/rimraf/dist/esm/rimraf-posix.d.ts.map +1 -0
- package/node_modules/rimraf/dist/esm/rimraf-posix.js +98 -0
- package/node_modules/rimraf/dist/esm/rimraf-posix.js.map +1 -0
- package/node_modules/rimraf/dist/esm/rimraf-windows.d.ts +4 -0
- package/node_modules/rimraf/dist/esm/rimraf-windows.d.ts.map +1 -0
- package/node_modules/rimraf/dist/esm/rimraf-windows.js +154 -0
- package/node_modules/rimraf/dist/esm/rimraf-windows.js.map +1 -0
- package/node_modules/rimraf/dist/esm/use-native.d.ts +4 -0
- package/node_modules/rimraf/dist/esm/use-native.d.ts.map +1 -0
- package/node_modules/rimraf/dist/esm/use-native.js +15 -0
- package/node_modules/rimraf/dist/esm/use-native.js.map +1 -0
- package/node_modules/rimraf/package.json +92 -0
- package/package.json +152 -0
- package/scripts/install-scanners.js +258 -0
- package/scripts/watchdog.js +147 -0
- package/src/analyzers/CSSAnalyzer.js +297 -0
- package/src/analyzers/ConfigValidator.js +690 -0
- package/src/analyzers/ESLintAnalyzer.js +320 -0
- package/src/analyzers/JavaScriptAnalyzer.js +261 -0
- package/src/analyzers/PrettierFormatter.js +247 -0
- package/src/analyzers/PythonAnalyzer.js +283 -0
- package/src/analyzers/SecurityAnalyzer.js +729 -0
- package/src/analyzers/SparrowAnalyzer.js +341 -0
- package/src/analyzers/TypeScriptAnalyzer.js +247 -0
- package/src/analyzers/codeCloneDetector/analyzer.js +344 -0
- package/src/analyzers/codeCloneDetector/detector.js +250 -0
- package/src/analyzers/codeCloneDetector/index.js +192 -0
- package/src/analyzers/codeCloneDetector/parser.js +199 -0
- package/src/analyzers/codeCloneDetector/reporter.js +148 -0
- package/src/analyzers/codeCloneDetector/scanner.js +88 -0
- package/src/core/agentPool.js +1957 -0
- package/src/core/agentScheduler.js +3212 -0
- package/src/core/contextManager.js +709 -0
- package/src/core/flowExecutor.js +928 -0
- package/src/core/messageProcessor.js +808 -0
- package/src/core/orchestrator.js +584 -0
- package/src/core/stateManager.js +1500 -0
- package/src/index.js +972 -0
- package/src/interfaces/cli.js +553 -0
- package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +208 -0
- package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +236 -0
- package/src/interfaces/terminal/__tests__/smoke/agents.test.js +138 -0
- package/src/interfaces/terminal/__tests__/smoke/components.test.js +137 -0
- package/src/interfaces/terminal/__tests__/smoke/connection.test.js +350 -0
- package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +156 -0
- package/src/interfaces/terminal/__tests__/smoke/imports.test.js +332 -0
- package/src/interfaces/terminal/__tests__/smoke/messages.test.js +256 -0
- package/src/interfaces/terminal/__tests__/smoke/tools.test.js +388 -0
- package/src/interfaces/terminal/api/apiClient.js +299 -0
- package/src/interfaces/terminal/api/messageRouter.js +262 -0
- package/src/interfaces/terminal/api/session.js +266 -0
- package/src/interfaces/terminal/api/websocket.js +497 -0
- package/src/interfaces/terminal/components/AgentCreator.js +705 -0
- package/src/interfaces/terminal/components/AgentEditor.js +678 -0
- package/src/interfaces/terminal/components/AgentSwitcher.js +330 -0
- package/src/interfaces/terminal/components/ErrorBoundary.js +92 -0
- package/src/interfaces/terminal/components/ErrorPanel.js +264 -0
- package/src/interfaces/terminal/components/Header.js +28 -0
- package/src/interfaces/terminal/components/HelpPanel.js +231 -0
- package/src/interfaces/terminal/components/InputBox.js +118 -0
- package/src/interfaces/terminal/components/Layout.js +603 -0
- package/src/interfaces/terminal/components/LoadingSpinner.js +71 -0
- package/src/interfaces/terminal/components/MessageList.js +281 -0
- package/src/interfaces/terminal/components/MultilineTextInput.js +251 -0
- package/src/interfaces/terminal/components/SearchPanel.js +265 -0
- package/src/interfaces/terminal/components/SettingsPanel.js +415 -0
- package/src/interfaces/terminal/components/StatusBar.js +65 -0
- package/src/interfaces/terminal/components/TextInput.js +127 -0
- package/src/interfaces/terminal/config/agentEditorConstants.js +227 -0
- package/src/interfaces/terminal/config/constants.js +393 -0
- package/src/interfaces/terminal/index.js +168 -0
- package/src/interfaces/terminal/state/useAgentControl.js +496 -0
- package/src/interfaces/terminal/state/useAgents.js +537 -0
- package/src/interfaces/terminal/state/useConnection.js +444 -0
- package/src/interfaces/terminal/state/useMessages.js +630 -0
- package/src/interfaces/terminal/state/useTools.js +554 -0
- package/src/interfaces/terminal/utils/debugLogger.js +44 -0
- package/src/interfaces/terminal/utils/settingsStorage.js +232 -0
- package/src/interfaces/terminal/utils/theme.js +85 -0
- package/src/interfaces/webServer.js +5457 -0
- package/src/modules/fileExplorer/controller.js +413 -0
- package/src/modules/fileExplorer/index.js +37 -0
- package/src/modules/fileExplorer/middleware.js +92 -0
- package/src/modules/fileExplorer/routes.js +158 -0
- package/src/modules/fileExplorer/types.js +44 -0
- package/src/services/agentActivityService.js +399 -0
- package/src/services/aiService.js +2618 -0
- package/src/services/apiKeyManager.js +334 -0
- package/src/services/benchmarkService.js +196 -0
- package/src/services/budgetService.js +565 -0
- package/src/services/contextInjectionService.js +268 -0
- package/src/services/conversationCompactionService.js +1103 -0
- package/src/services/credentialVault.js +685 -0
- package/src/services/errorHandler.js +810 -0
- package/src/services/fileAttachmentService.js +547 -0
- package/src/services/flowContextService.js +189 -0
- package/src/services/memoryService.js +521 -0
- package/src/services/modelRouterService.js +365 -0
- package/src/services/modelsService.js +323 -0
- package/src/services/ollamaService.js +452 -0
- package/src/services/portRegistry.js +336 -0
- package/src/services/portTracker.js +223 -0
- package/src/services/projectDetector.js +404 -0
- package/src/services/promptService.js +372 -0
- package/src/services/qualityInspector.js +796 -0
- package/src/services/scheduleService.js +725 -0
- package/src/services/serviceRegistry.js +386 -0
- package/src/services/skillsService.js +486 -0
- package/src/services/telegramService.js +920 -0
- package/src/services/tokenCountingService.js +316 -0
- package/src/services/visualEditorBridge.js +1033 -0
- package/src/services/visualEditorServer.js +1727 -0
- package/src/services/whatsappService.js +663 -0
- package/src/tools/__tests__/webTool.e2e.test.js +569 -0
- package/src/tools/__tests__/webTool.unit.test.js +195 -0
- package/src/tools/agentCommunicationTool.js +1343 -0
- package/src/tools/agentDelayTool.js +498 -0
- package/src/tools/asyncToolManager.js +604 -0
- package/src/tools/baseTool.js +887 -0
- package/src/tools/browserTool.js +897 -0
- package/src/tools/cloneDetectionTool.js +581 -0
- package/src/tools/codeMapTool.js +857 -0
- package/src/tools/dependencyResolverTool.js +1212 -0
- package/src/tools/docxTool.js +623 -0
- package/src/tools/excelTool.js +636 -0
- package/src/tools/fileContentReplaceTool.js +840 -0
- package/src/tools/fileTreeTool.js +833 -0
- package/src/tools/filesystemTool.js +1217 -0
- package/src/tools/helpTool.js +198 -0
- package/src/tools/imageTool.js +1034 -0
- package/src/tools/importAnalyzerTool.js +1056 -0
- package/src/tools/jobDoneTool.js +388 -0
- package/src/tools/memoryTool.js +554 -0
- package/src/tools/pdfTool.js +627 -0
- package/src/tools/seekTool.js +883 -0
- package/src/tools/skillsTool.js +276 -0
- package/src/tools/staticAnalysisTool.js +2146 -0
- package/src/tools/taskManagerTool.js +2836 -0
- package/src/tools/terminalTool.js +2486 -0
- package/src/tools/userPromptTool.js +474 -0
- package/src/tools/videoTool.js +1139 -0
- package/src/tools/visionTool.js +507 -0
- package/src/tools/visualEditorTool.js +1175 -0
- package/src/tools/webTool.js +3114 -0
- package/src/tools/whatsappTool.js +457 -0
- package/src/types/agent.js +519 -0
- package/src/types/contextReference.js +972 -0
- package/src/types/conversation.js +730 -0
- package/src/types/toolCommand.js +747 -0
- package/src/utilities/attachmentValidator.js +288 -0
- package/src/utilities/browserStealth.js +630 -0
- package/src/utilities/configManager.js +618 -0
- package/src/utilities/constants.js +870 -0
- package/src/utilities/directoryAccessManager.js +566 -0
- package/src/utilities/fileProcessor.js +307 -0
- package/src/utilities/humanBehavior.js +453 -0
- package/src/utilities/jsonRepair.js +242 -0
- package/src/utilities/logger.js +436 -0
- package/src/utilities/platformUtils.js +255 -0
- package/src/utilities/platformUtils.test.js +98 -0
- package/src/utilities/stealthConstants.js +377 -0
- package/src/utilities/structuredFileValidator.js +699 -0
- package/src/utilities/tagParser.js +878 -0
- package/src/utilities/toolConstants.js +415 -0
- package/src/utilities/userDataDir.js +300 -0
- package/web-ui/build/brands/autopilot/favicon.svg +1 -0
- package/web-ui/build/brands/autopilot/logo.webp +0 -0
- package/web-ui/build/brands/onbuzz/favicon.svg +1 -0
- package/web-ui/build/brands/onbuzz/logo-text.webp +0 -0
- package/web-ui/build/brands/onbuzz/logo.webp +0 -0
- package/web-ui/build/index.html +15 -0
- package/web-ui/build/logo.png +0 -0
- package/web-ui/build/logo2.png +0 -0
- package/web-ui/build/static/index-SmQFfvBs.js +746 -0
- package/web-ui/build/static/index-V2ySwjHp.css +1 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* File Explorer Module Types
|
|
3
|
+
* Defines types and interfaces for file system operations
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @typedef {Object} FileItem
|
|
8
|
+
* @property {string} name - File or directory name
|
|
9
|
+
* @property {string} path - Full absolute path
|
|
10
|
+
* @property {'file'|'directory'} type - Item type
|
|
11
|
+
* @property {number} [size] - File size in bytes (files only)
|
|
12
|
+
* @property {Date} [lastModified] - Last modification date
|
|
13
|
+
* @property {string} [extension] - File extension (files only)
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @typedef {Object} BrowseResponse
|
|
18
|
+
* @property {string} currentPath - Current directory path
|
|
19
|
+
* @property {string} parentPath - Parent directory path
|
|
20
|
+
* @property {FileItem[]} items - Directory contents
|
|
21
|
+
* @property {number} totalItems - Total number of items
|
|
22
|
+
* @property {number} directories - Number of directories
|
|
23
|
+
* @property {number} files - Number of files
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* @typedef {Object} ApiResponse
|
|
28
|
+
* @property {boolean} success - Operation success status
|
|
29
|
+
* @property {*} [data] - Response data
|
|
30
|
+
* @property {string} [error] - Error message if failed
|
|
31
|
+
* @property {string} [code] - Error code if applicable
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* @typedef {Object} FileExplorerConfig
|
|
36
|
+
* @property {boolean} showHidden - Show hidden files/directories
|
|
37
|
+
* @property {string[]} allowedExtensions - Allowed file extensions (empty = all)
|
|
38
|
+
* @property {number} maxDepth - Maximum directory traversal depth
|
|
39
|
+
* @property {string[]} restrictedPaths - Paths that cannot be accessed
|
|
40
|
+
*/
|
|
41
|
+
|
|
42
|
+
export {
|
|
43
|
+
// Export types as JSDoc comments for runtime usage
|
|
44
|
+
};
|
|
@@ -0,0 +1,399 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AgentActivityService - Centralized service for determining agent scheduler activity
|
|
3
|
+
*
|
|
4
|
+
* Purpose:
|
|
5
|
+
* - Single source of truth for "should this agent be active in scheduler"
|
|
6
|
+
* - Eliminates scattered add/remove logic across codebase
|
|
7
|
+
* - Provides clear, testable activation conditions
|
|
8
|
+
* - Returns detailed reasons for debugging
|
|
9
|
+
*
|
|
10
|
+
* Architecture:
|
|
11
|
+
* - Pure functions that inspect agent state
|
|
12
|
+
* - No side effects (doesn't modify agent state)
|
|
13
|
+
* - Scheduler queries this service each cycle instead of managing events
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import {
|
|
17
|
+
AGENT_MODES,
|
|
18
|
+
AGENT_STATUS,
|
|
19
|
+
AGENT_ACTIVITY_STATUS,
|
|
20
|
+
TASK_STATUS,
|
|
21
|
+
SCHEDULER_CONFIG
|
|
22
|
+
} from '../utilities/constants.js';
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Result of activity check
|
|
26
|
+
* @typedef {Object} ActivityCheckResult
|
|
27
|
+
* @property {boolean} active - Whether agent should be active in scheduler
|
|
28
|
+
* @property {string} reason - Reason code from AGENT_ACTIVITY_STATUS
|
|
29
|
+
* @property {string} [details] - Additional human-readable details
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Check if an agent has pending or in-progress tasks
|
|
34
|
+
* @param {Object} agent - Agent object
|
|
35
|
+
* @returns {boolean} True if agent has work to do
|
|
36
|
+
*/
|
|
37
|
+
function hasPendingTasks(agent) {
|
|
38
|
+
if (!agent.taskList || !agent.taskList.tasks || !Array.isArray(agent.taskList.tasks)) {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return agent.taskList.tasks.some(task =>
|
|
43
|
+
task.status === TASK_STATUS.PENDING || task.status === TASK_STATUS.IN_PROGRESS
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Check if agent has queued messages of any type
|
|
49
|
+
* @param {Object} agent - Agent object
|
|
50
|
+
* @returns {{ hasMessages: boolean, counts: Object }} Message queue status
|
|
51
|
+
*/
|
|
52
|
+
function getMessageQueueStatus(agent) {
|
|
53
|
+
const queues = agent.messageQueues || {};
|
|
54
|
+
|
|
55
|
+
const counts = {
|
|
56
|
+
toolResults: Array.isArray(queues.toolResults) ? queues.toolResults.length : 0,
|
|
57
|
+
interAgentMessages: Array.isArray(queues.interAgentMessages) ? queues.interAgentMessages.length : 0,
|
|
58
|
+
userMessages: Array.isArray(queues.userMessages) ? queues.userMessages.length : 0
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
counts.total = counts.toolResults + counts.interAgentMessages + counts.userMessages;
|
|
62
|
+
|
|
63
|
+
return {
|
|
64
|
+
hasMessages: counts.total > 0,
|
|
65
|
+
hasUserMessages: counts.userMessages > 0,
|
|
66
|
+
hasInterAgentMessages: counts.interAgentMessages > 0,
|
|
67
|
+
hasToolResults: counts.toolResults > 0,
|
|
68
|
+
counts
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// TODO: Remove after 2026-02-10 if not proven as needed.
|
|
73
|
+
// No longer called from shouldAgentBeActive — AGENT mode uses task-based
|
|
74
|
+
// scheduling (messages auto-create tasks at arrival), CHAT mode checks
|
|
75
|
+
// messageQueues directly via getMessageQueueStatus().
|
|
76
|
+
//
|
|
77
|
+
// function hasUnprocessedIncomingMessages(agent) {
|
|
78
|
+
// if (agent.incomingMessages && Array.isArray(agent.incomingMessages) && agent.incomingMessages.length > 0) {
|
|
79
|
+
// return true;
|
|
80
|
+
// }
|
|
81
|
+
// if (agent.interAgentTracking && agent.interAgentTracking instanceof Map && agent.interAgentTracking.size > 0) {
|
|
82
|
+
// const now = Date.now();
|
|
83
|
+
// for (const tracking of agent.interAgentTracking.values()) {
|
|
84
|
+
// if (tracking.lastReceived &&
|
|
85
|
+
// (now - tracking.lastReceived) < SCHEDULER_CONFIG.RECENT_MESSAGE_THRESHOLD_MS &&
|
|
86
|
+
// tracking.lastType === 'received') {
|
|
87
|
+
// return true;
|
|
88
|
+
// }
|
|
89
|
+
// }
|
|
90
|
+
// }
|
|
91
|
+
// return false;
|
|
92
|
+
// }
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Check if agent is currently delayed
|
|
96
|
+
* @param {Object} agent - Agent object
|
|
97
|
+
* @returns {boolean} True if agent is delayed
|
|
98
|
+
*/
|
|
99
|
+
function isAgentDelayed(agent) {
|
|
100
|
+
if (!agent.delayEndTime) {
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
return new Date() < new Date(agent.delayEndTime);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Check if agent is currently paused
|
|
109
|
+
* @param {Object} agent - Agent object
|
|
110
|
+
* @returns {boolean} True if agent is paused
|
|
111
|
+
*/
|
|
112
|
+
function isAgentPaused(agent) {
|
|
113
|
+
// Check status-based pause
|
|
114
|
+
if (agent.status === AGENT_STATUS.PAUSED) {
|
|
115
|
+
// If pausedUntil is set, check if it's expired
|
|
116
|
+
if (agent.pausedUntil) {
|
|
117
|
+
return new Date() < new Date(agent.pausedUntil);
|
|
118
|
+
}
|
|
119
|
+
return true; // Paused indefinitely
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// Check time-based pause
|
|
123
|
+
if (agent.pausedUntil && new Date() < new Date(agent.pausedUntil)) {
|
|
124
|
+
return true;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// TODO: Remove after 2026-02-10 if not proven as needed.
|
|
131
|
+
// Job-done now clears the task list instead of switching mode.
|
|
132
|
+
// The autonomousWorkComplete flag is still set for reference but
|
|
133
|
+
// is no longer used as a scheduling condition.
|
|
134
|
+
//
|
|
135
|
+
// function hasAutonomousWorkComplete(agent) {
|
|
136
|
+
// return agent.autonomousWorkComplete === true;
|
|
137
|
+
// }
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Centralized function to determine if an agent should be active in the scheduler
|
|
141
|
+
*
|
|
142
|
+
* This function encapsulates ALL logic for determining agent activity status.
|
|
143
|
+
* It inspects the agent's current state and returns a decision with reason.
|
|
144
|
+
*
|
|
145
|
+
* @param {Object} agent - Full agent object from AgentPool
|
|
146
|
+
* @returns {ActivityCheckResult} Activity decision with reason
|
|
147
|
+
*/
|
|
148
|
+
export function shouldAgentBeActive(agent) {
|
|
149
|
+
// 1. Basic existence check
|
|
150
|
+
if (!agent) {
|
|
151
|
+
return {
|
|
152
|
+
active: false,
|
|
153
|
+
reason: AGENT_ACTIVITY_STATUS.AGENT_NOT_FOUND,
|
|
154
|
+
details: 'Agent object is null or undefined'
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
// 2. Status check - agent must be active
|
|
159
|
+
if (agent.status !== AGENT_STATUS.ACTIVE) {
|
|
160
|
+
return {
|
|
161
|
+
active: false,
|
|
162
|
+
reason: AGENT_ACTIVITY_STATUS.AGENT_INACTIVE_STATUS,
|
|
163
|
+
details: `Agent status is ${agent.status}, expected ${AGENT_STATUS.ACTIVE}`
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
// 3. Delay check
|
|
168
|
+
if (isAgentDelayed(agent)) {
|
|
169
|
+
return {
|
|
170
|
+
active: false,
|
|
171
|
+
reason: AGENT_ACTIVITY_STATUS.AGENT_DELAYED,
|
|
172
|
+
details: `Agent delayed until ${agent.delayEndTime}`
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
// 4. Pause check
|
|
177
|
+
if (isAgentPaused(agent)) {
|
|
178
|
+
return {
|
|
179
|
+
active: false,
|
|
180
|
+
reason: AGENT_ACTIVITY_STATUS.AGENT_PAUSED,
|
|
181
|
+
details: agent.pausedUntil ? `Agent paused until ${agent.pausedUntil}` : 'Agent paused indefinitely'
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
// 5. Awaiting user input check (credentials modal, user prompt, etc.)
|
|
186
|
+
// Agent stays ACTIVE and visible to other agents, but scheduler skips it.
|
|
187
|
+
if (agent.awaitingUserInput) {
|
|
188
|
+
return {
|
|
189
|
+
active: false,
|
|
190
|
+
reason: AGENT_ACTIVITY_STATUS.AWAITING_USER_INPUT,
|
|
191
|
+
details: `Agent awaiting user input: ${agent.awaitingUserInput.type || 'unknown'}`
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
// 6. Stop request check
|
|
196
|
+
if (agent.stopRequested) {
|
|
197
|
+
return {
|
|
198
|
+
active: false,
|
|
199
|
+
reason: AGENT_ACTIVITY_STATUS.STOP_REQUESTED,
|
|
200
|
+
details: 'Agent stop has been requested'
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
// NOTE: JobDone clears the agent's task list but keeps agent in AGENT mode.
|
|
205
|
+
// With no pending tasks, the agent becomes idle until new messages arrive
|
|
206
|
+
// (which auto-create tasks in agentPool, re-activating the agent).
|
|
207
|
+
// No need to check modeState — processingInProgress flag and
|
|
208
|
+
// agentProcessingLocks in the scheduler prevent concurrent processing.
|
|
209
|
+
|
|
210
|
+
// 7. TTL (Time-to-Live) override check
|
|
211
|
+
// If agent has TTL remaining, keep it active for one more processing cycle
|
|
212
|
+
// This allows agents to react after clearing tasks (e.g., call job-done or create new tasks)
|
|
213
|
+
if (agent.ttl !== null && agent.ttl !== undefined && agent.ttl > 0) {
|
|
214
|
+
return {
|
|
215
|
+
active: true,
|
|
216
|
+
reason: AGENT_ACTIVITY_STATUS.HAS_TTL_REMAINING,
|
|
217
|
+
details: `Agent has ${agent.ttl} TTL cycle(s) remaining`
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
// 8. Mode-specific logic
|
|
222
|
+
|
|
223
|
+
if (agent.mode === AGENT_MODES.AGENT) {
|
|
224
|
+
// AGENT mode: active only if has pending tasks.
|
|
225
|
+
// New messages auto-create tasks at arrival time (in agentPool),
|
|
226
|
+
// so pending tasks is the single source of truth for scheduling.
|
|
227
|
+
if (hasPendingTasks(agent)) {
|
|
228
|
+
return {
|
|
229
|
+
active: true,
|
|
230
|
+
reason: AGENT_ACTIVITY_STATUS.HAS_PENDING_TASKS,
|
|
231
|
+
details: `Agent has pending/in-progress tasks`
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
// AGENT mode with no pending tasks = idle, waiting for new work
|
|
236
|
+
return {
|
|
237
|
+
active: false,
|
|
238
|
+
reason: AGENT_ACTIVITY_STATUS.NO_PENDING_WORK,
|
|
239
|
+
details: 'AGENT mode agent has no pending tasks'
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
if (agent.mode === AGENT_MODES.CHAT) {
|
|
244
|
+
// CHAT mode: active ONLY if has user messages or inter-agent messages
|
|
245
|
+
// Tool results alone should NOT keep CHAT agents active
|
|
246
|
+
const queueStatus = getMessageQueueStatus(agent);
|
|
247
|
+
|
|
248
|
+
if (queueStatus.hasUserMessages) {
|
|
249
|
+
return {
|
|
250
|
+
active: true,
|
|
251
|
+
reason: AGENT_ACTIVITY_STATUS.HAS_USER_MESSAGES,
|
|
252
|
+
details: `Agent has ${queueStatus.counts.userMessages} user message(s) to process`
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
if (queueStatus.hasInterAgentMessages) {
|
|
257
|
+
return {
|
|
258
|
+
active: true,
|
|
259
|
+
reason: AGENT_ACTIVITY_STATUS.HAS_INTER_AGENT_MESSAGES,
|
|
260
|
+
details: `Agent has ${queueStatus.counts.interAgentMessages} inter-agent message(s) to process`
|
|
261
|
+
};
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
// CHAT mode with no user/inter-agent messages
|
|
265
|
+
return {
|
|
266
|
+
active: false,
|
|
267
|
+
reason: AGENT_ACTIVITY_STATUS.CHAT_MODE_NO_MESSAGES,
|
|
268
|
+
details: queueStatus.hasToolResults
|
|
269
|
+
? `CHAT mode - has ${queueStatus.counts.toolResults} tool results but no new messages`
|
|
270
|
+
: 'CHAT mode - no messages to process'
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
// Unknown mode
|
|
275
|
+
return {
|
|
276
|
+
active: false,
|
|
277
|
+
reason: AGENT_ACTIVITY_STATUS.UNKNOWN_MODE,
|
|
278
|
+
details: `Unknown agent mode: ${agent.mode}`
|
|
279
|
+
};
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
/**
|
|
283
|
+
* Get all agents that should currently be active
|
|
284
|
+
*
|
|
285
|
+
* @param {Map|Array} agents - Collection of agents (Map from AgentPool.agents or Array)
|
|
286
|
+
* @returns {Array<{ agentId: string, sessionId: string, reason: string, details: string }>}
|
|
287
|
+
*/
|
|
288
|
+
export function getActiveAgents(agents) {
|
|
289
|
+
const agentArray = agents instanceof Map ? Array.from(agents.values()) : agents;
|
|
290
|
+
|
|
291
|
+
return agentArray
|
|
292
|
+
.map(agent => {
|
|
293
|
+
const result = shouldAgentBeActive(agent);
|
|
294
|
+
return {
|
|
295
|
+
agent,
|
|
296
|
+
agentId: agent.id,
|
|
297
|
+
sessionId: agent.sessionId,
|
|
298
|
+
...result
|
|
299
|
+
};
|
|
300
|
+
})
|
|
301
|
+
.filter(result => result.active);
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
/**
|
|
305
|
+
* Get detailed activity status for all agents (for debugging/monitoring)
|
|
306
|
+
*
|
|
307
|
+
* @param {Map|Array} agents - Collection of agents
|
|
308
|
+
* @returns {Array<Object>} Detailed status for each agent
|
|
309
|
+
*/
|
|
310
|
+
export function getAllAgentActivityStatus(agents) {
|
|
311
|
+
const agentArray = agents instanceof Map ? Array.from(agents.values()) : agents;
|
|
312
|
+
|
|
313
|
+
return agentArray.map(agent => {
|
|
314
|
+
const result = shouldAgentBeActive(agent);
|
|
315
|
+
const queueStatus = getMessageQueueStatus(agent);
|
|
316
|
+
|
|
317
|
+
return {
|
|
318
|
+
agentId: agent.id,
|
|
319
|
+
agentName: agent.name,
|
|
320
|
+
mode: agent.mode,
|
|
321
|
+
status: agent.status,
|
|
322
|
+
active: result.active,
|
|
323
|
+
reason: result.reason,
|
|
324
|
+
details: result.details,
|
|
325
|
+
queueCounts: queueStatus.counts,
|
|
326
|
+
hasPendingTasks: hasPendingTasks(agent),
|
|
327
|
+
isDelayed: isAgentDelayed(agent),
|
|
328
|
+
isPaused: isAgentPaused(agent),
|
|
329
|
+
isExecutingTools: isExecutingTools(agent),
|
|
330
|
+
awaitingUserInput: agent.awaitingUserInput || null,
|
|
331
|
+
stopRequested: agent.stopRequested || false,
|
|
332
|
+
delayEndTime: agent.delayEndTime || null,
|
|
333
|
+
pausedUntil: agent.pausedUntil || null
|
|
334
|
+
};
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
/**
|
|
339
|
+
* Check if agent is currently executing tools
|
|
340
|
+
* @param {Object} agent - Agent object
|
|
341
|
+
* @returns {boolean} True if tools are being executed
|
|
342
|
+
*/
|
|
343
|
+
function isExecutingTools(agent) {
|
|
344
|
+
return agent.toolExecutionInProgress === true;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
/**
|
|
348
|
+
* Check if an agent should skip the current processing iteration
|
|
349
|
+
* (but remain in the scheduler for future iterations)
|
|
350
|
+
*
|
|
351
|
+
* This is different from shouldAgentBeActive - an agent might be active
|
|
352
|
+
* but should skip this particular iteration (e.g., still delayed but not removed)
|
|
353
|
+
*
|
|
354
|
+
* @param {Object} agent - Agent object
|
|
355
|
+
* @returns {{ skip: boolean, reason: string }}
|
|
356
|
+
*/
|
|
357
|
+
export function shouldSkipIteration(agent) {
|
|
358
|
+
if (!agent) {
|
|
359
|
+
return { skip: true, reason: 'Agent not found' };
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
// Skip if delayed (but don't remove - delay will expire)
|
|
363
|
+
// This is also used for WebTool auto-delay to allow browser operations to complete
|
|
364
|
+
if (isAgentDelayed(agent)) {
|
|
365
|
+
return { skip: true, reason: `Agent delayed until ${agent.delayEndTime}` };
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
// Skip if paused with expiration (but don't remove - pause will expire)
|
|
369
|
+
if (agent.pausedUntil && new Date() < new Date(agent.pausedUntil)) {
|
|
370
|
+
return { skip: true, reason: `Agent paused until ${agent.pausedUntil}` };
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
return { skip: false, reason: null };
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
// Export helper functions for testing and direct use
|
|
377
|
+
export {
|
|
378
|
+
hasPendingTasks,
|
|
379
|
+
getMessageQueueStatus,
|
|
380
|
+
// hasUnprocessedIncomingMessages, // TODO: Remove after 2026-02-10
|
|
381
|
+
isAgentDelayed,
|
|
382
|
+
isAgentPaused,
|
|
383
|
+
isExecutingTools,
|
|
384
|
+
// hasAutonomousWorkComplete // TODO: Remove after 2026-02-10
|
|
385
|
+
};
|
|
386
|
+
|
|
387
|
+
export default {
|
|
388
|
+
shouldAgentBeActive,
|
|
389
|
+
getActiveAgents,
|
|
390
|
+
getAllAgentActivityStatus,
|
|
391
|
+
shouldSkipIteration,
|
|
392
|
+
hasPendingTasks,
|
|
393
|
+
getMessageQueueStatus,
|
|
394
|
+
// hasUnprocessedIncomingMessages, // TODO: Remove after 2026-02-10
|
|
395
|
+
isAgentDelayed,
|
|
396
|
+
isAgentPaused,
|
|
397
|
+
isExecutingTools,
|
|
398
|
+
// hasAutonomousWorkComplete // TODO: Remove after 2026-02-10
|
|
399
|
+
};
|