onbuzz 4.9.13 → 4.10.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/node_modules/glob/README.md +31 -5
- package/node_modules/glob/dist/commonjs/glob.d.ts +8 -0
- package/node_modules/glob/dist/commonjs/glob.d.ts.map +1 -1
- package/node_modules/glob/dist/commonjs/glob.js +2 -1
- package/node_modules/glob/dist/commonjs/glob.js.map +1 -1
- package/node_modules/glob/dist/commonjs/index.min.js +3 -3
- package/node_modules/glob/dist/commonjs/index.min.js.map +4 -4
- package/node_modules/glob/dist/commonjs/pattern.d.ts +3 -0
- package/node_modules/glob/dist/commonjs/pattern.d.ts.map +1 -1
- package/node_modules/glob/dist/commonjs/pattern.js +4 -0
- package/node_modules/glob/dist/commonjs/pattern.js.map +1 -1
- package/node_modules/glob/dist/esm/glob.d.ts +8 -0
- package/node_modules/glob/dist/esm/glob.d.ts.map +1 -1
- package/node_modules/glob/dist/esm/glob.js +2 -1
- package/node_modules/glob/dist/esm/glob.js.map +1 -1
- package/node_modules/glob/dist/esm/index.min.js +3 -3
- package/node_modules/glob/dist/esm/index.min.js.map +4 -4
- package/node_modules/glob/dist/esm/pattern.d.ts +3 -0
- package/node_modules/glob/dist/esm/pattern.d.ts.map +1 -1
- package/node_modules/glob/dist/esm/pattern.js +4 -0
- package/node_modules/glob/dist/esm/pattern.js.map +1 -1
- package/node_modules/{@isaacs → glob/node_modules}/balanced-match/README.md +7 -10
- package/node_modules/{@isaacs → glob/node_modules}/balanced-match/package.json +7 -18
- package/node_modules/{@isaacs → glob/node_modules}/brace-expansion/README.md +3 -6
- package/node_modules/{@isaacs → glob/node_modules}/brace-expansion/dist/commonjs/index.js +6 -4
- package/node_modules/glob/node_modules/brace-expansion/dist/commonjs/index.js.map +1 -0
- package/node_modules/{@isaacs → glob/node_modules}/brace-expansion/dist/esm/index.js +6 -4
- package/node_modules/glob/node_modules/brace-expansion/dist/esm/index.js.map +1 -0
- package/node_modules/{@isaacs → glob/node_modules}/brace-expansion/package.json +11 -7
- package/node_modules/glob/node_modules/minimatch/README.md +76 -1
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts +1 -1
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts.map +1 -1
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js.map +1 -1
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/ast.d.ts +4 -2
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/ast.d.ts.map +1 -1
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js +309 -55
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js.map +1 -1
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts.map +1 -1
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js +2 -4
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js.map +1 -1
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/escape.d.ts +1 -1
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/escape.d.ts.map +1 -1
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js +4 -4
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js.map +1 -1
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/index.d.ts +81 -1
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/index.d.ts.map +1 -1
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/index.js +232 -134
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/index.js.map +1 -1
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.d.ts +1 -1
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.d.ts.map +1 -1
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js +8 -8
- package/node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js.map +1 -1
- package/node_modules/glob/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts +1 -1
- package/node_modules/glob/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts.map +1 -1
- package/node_modules/glob/node_modules/minimatch/dist/esm/assert-valid-pattern.js.map +1 -1
- package/node_modules/glob/node_modules/minimatch/dist/esm/ast.d.ts +4 -2
- package/node_modules/glob/node_modules/minimatch/dist/esm/ast.d.ts.map +1 -1
- package/node_modules/glob/node_modules/minimatch/dist/esm/ast.js +309 -55
- package/node_modules/glob/node_modules/minimatch/dist/esm/ast.js.map +1 -1
- package/node_modules/glob/node_modules/minimatch/dist/esm/brace-expressions.d.ts.map +1 -1
- package/node_modules/glob/node_modules/minimatch/dist/esm/brace-expressions.js +2 -4
- package/node_modules/glob/node_modules/minimatch/dist/esm/brace-expressions.js.map +1 -1
- package/node_modules/glob/node_modules/minimatch/dist/esm/escape.d.ts +1 -1
- package/node_modules/glob/node_modules/minimatch/dist/esm/escape.d.ts.map +1 -1
- package/node_modules/glob/node_modules/minimatch/dist/esm/escape.js +4 -4
- package/node_modules/glob/node_modules/minimatch/dist/esm/escape.js.map +1 -1
- package/node_modules/glob/node_modules/minimatch/dist/esm/index.d.ts +81 -1
- package/node_modules/glob/node_modules/minimatch/dist/esm/index.d.ts.map +1 -1
- package/node_modules/glob/node_modules/minimatch/dist/esm/index.js +232 -134
- package/node_modules/glob/node_modules/minimatch/dist/esm/index.js.map +1 -1
- package/node_modules/glob/node_modules/minimatch/dist/esm/unescape.d.ts +1 -1
- package/node_modules/glob/node_modules/minimatch/dist/esm/unescape.d.ts.map +1 -1
- package/node_modules/glob/node_modules/minimatch/dist/esm/unescape.js +8 -8
- package/node_modules/glob/node_modules/minimatch/dist/esm/unescape.js.map +1 -1
- package/node_modules/glob/node_modules/minimatch/package.json +17 -11
- package/node_modules/glob/package.json +10 -13
- package/node_modules/minipass/LICENSE.md +55 -0
- package/node_modules/minipass/dist/commonjs/index.d.ts +12 -16
- package/node_modules/minipass/dist/commonjs/index.d.ts.map +1 -1
- package/node_modules/minipass/dist/commonjs/index.js +13 -3
- package/node_modules/minipass/dist/commonjs/index.js.map +1 -1
- package/node_modules/minipass/dist/esm/index.d.ts +12 -16
- package/node_modules/minipass/dist/esm/index.d.ts.map +1 -1
- package/node_modules/minipass/dist/esm/index.js +3 -1
- package/node_modules/minipass/dist/esm/index.js.map +1 -1
- package/node_modules/minipass/package.json +9 -14
- package/node_modules/path-scurry/node_modules/lru-cache/README.md +96 -10
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.d.ts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.js.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.d.ts +5 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.js +7 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.d.ts +1400 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.d.ts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.js +1726 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.js.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.min.js +2 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/index.min.js.map +7 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts +12 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/perf.js +10 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/browser/perf.js.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.cjs.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.d.cts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/diagnostics-channel.d.ts +5 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/diagnostics-channel.js +7 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.d.ts +109 -32
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.d.ts.map +1 -1
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.js +334 -197
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.js.map +1 -1
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.min.js +1 -1
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.min.js.map +4 -4
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.d.ts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.js.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.d.ts +5 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.js +9 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.d.ts +1400 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.d.ts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.js +1726 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.js.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.min.js +2 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/index.min.js.map +7 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/perf.d.ts +12 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/perf.d.ts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/perf.js +10 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/node/perf.js.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/perf.d.ts +12 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/perf.d.ts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/perf.js +10 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/perf.js.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.d.ts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.js.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.d.ts +5 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.js +4 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/index.d.ts +1400 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/index.d.ts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/index.js +1722 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/index.js.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/index.min.js +2 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/index.min.js.map +7 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/perf.d.ts +12 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/perf.d.ts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/perf.js +7 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/browser/perf.js.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.d.mts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.mjs.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/diagnostics-channel.d.ts +5 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/diagnostics-channel.js +19 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.d.ts +109 -32
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.d.ts.map +1 -1
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.js +333 -196
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.js.map +1 -1
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.min.js +1 -1
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.min.js.map +4 -4
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.d.ts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.js.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/diagnostics-channel.d.ts +5 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/diagnostics-channel.js +6 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/index.d.ts +1400 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/index.d.ts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/index.js +1722 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/index.js.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/index.min.js +2 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/index.min.js.map +7 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/perf.d.ts +12 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/perf.d.ts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/perf.js +7 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/node/perf.js.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/perf.d.ts +12 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/perf.d.ts.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/perf.js +7 -0
- package/node_modules/path-scurry/node_modules/lru-cache/dist/esm/perf.js.map +1 -0
- package/node_modules/path-scurry/node_modules/lru-cache/package.json +71 -18
- package/node_modules/path-scurry/package.json +8 -24
- package/package.json +1 -1
- package/scripts/debug-balance-probe.mjs +35 -35
- package/scripts/push-image.sh +43 -43
- package/scripts/setup-acr.sh +65 -65
- package/scripts/verify-optional-deps.js +96 -1
- package/src/__tests__/composioCliFlags.test.js +239 -239
- package/src/analyzers/CSSAnalyzer.js +298 -297
- package/src/analyzers/ConfigValidator.js +691 -690
- package/src/analyzers/ESLintAnalyzer.js +320 -320
- package/src/analyzers/JavaScriptAnalyzer.js +260 -261
- package/src/analyzers/PrettierFormatter.js +246 -247
- package/src/analyzers/PythonAnalyzer.js +283 -283
- package/src/analyzers/SecurityAnalyzer.js +729 -729
- package/src/analyzers/SparrowAnalyzer.js +341 -341
- package/src/analyzers/TypeScriptAnalyzer.js +247 -247
- package/src/analyzers/__tests__/CSSAnalyzer.test.js +41 -41
- package/src/analyzers/__tests__/ConfigValidator.test.js +362 -362
- package/src/analyzers/__tests__/JavaScriptAnalyzer.test.js +40 -40
- package/src/analyzers/__tests__/PythonAnalyzer.test.js +205 -208
- package/src/analyzers/__tests__/SecurityAnalyzer.test.js +303 -303
- package/src/analyzers/__tests__/TypeScriptAnalyzer.test.js +187 -187
- package/src/analyzers/codeCloneDetector/analyzer.js +344 -344
- package/src/analyzers/codeCloneDetector/detector.js +250 -250
- package/src/analyzers/codeCloneDetector/index.js +194 -192
- package/src/analyzers/codeCloneDetector/parser.js +199 -199
- package/src/core/__tests__/agentPool.test.js +866 -866
- package/src/core/__tests__/agentPoolAutoResume.test.js +209 -209
- package/src/core/__tests__/agentPoolWakeOnMessage.test.js +315 -315
- package/src/core/__tests__/agentScheduler.emptyResponseChatStall.test.js +213 -213
- package/src/core/__tests__/agentScheduler.errorCategorisation.test.js +246 -246
- package/src/core/__tests__/agentScheduler.firstChunkTimeout.test.js +138 -138
- package/src/core/__tests__/agentScheduler.modeTransitions.test.js +233 -233
- package/src/core/__tests__/agentScheduler.nativePromptPick.test.js +319 -319
- package/src/core/__tests__/agentScheduler.taskLifecycleInstruction.test.js +78 -78
- package/src/core/__tests__/agentScheduler.visualizer.test.js +258 -258
- package/src/core/__tests__/flowCheckpointStore.test.js +140 -140
- package/src/core/__tests__/flowEndToEnd.test.js +565 -565
- package/src/core/__tests__/flowFieldMapping.test.js +188 -189
- package/src/core/__tests__/flowLintClientMirror.test.js +96 -98
- package/src/core/__tests__/flowSavePayload.test.js +170 -169
- package/src/core/__tests__/flowTemplates.test.js +311 -311
- package/src/core/__tests__/flowVersionStore.test.js +123 -123
- package/src/core/__tests__/messageProcessor.test.js +669 -669
- package/src/core/__tests__/stateManager.test.js +0 -1
- package/src/core/agentPool.js +2474 -2475
- package/src/core/agentScheduler.js +1 -4
- package/src/core/contextManager.js +708 -708
- package/src/core/flowExecutor.js +1510 -1510
- package/src/core/flowFieldMapping.js +136 -138
- package/src/core/messageProcessor.js +953 -954
- package/src/core/orchestrator.js +593 -595
- package/src/core/stateManager.js +1765 -1752
- package/src/index.js +1221 -1221
- package/src/interfaces/__tests__/archivedAgentDelete.test.js +207 -207
- package/src/interfaces/__tests__/bulkAgentRoute.test.js +361 -361
- package/src/interfaces/__tests__/imageServing.test.js +228 -228
- package/src/interfaces/__tests__/remoteSessionAuth.test.js +308 -308
- package/src/interfaces/__tests__/videoJobsRoutes.test.js +178 -179
- package/src/interfaces/__tests__/webServer.marketplace.test.js +629 -629
- package/src/interfaces/schedulerRoutes.js +50 -50
- package/src/interfaces/terminal/__tests__/smoke/connection.test.js +341 -350
- package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +156 -156
- package/src/interfaces/terminal/__tests__/smoke/imports.test.js +325 -330
- package/src/interfaces/terminal/__tests__/smoke/tools.test.js +385 -388
- package/src/interfaces/terminal/api/session.js +265 -266
- package/src/interfaces/terminal/api/websocket.js +496 -497
- package/src/interfaces/terminal/components/AgentCreator.js +691 -705
- package/src/interfaces/terminal/components/AgentEditor.js +676 -678
- package/src/interfaces/terminal/components/AgentSwitcher.js +331 -330
- package/src/interfaces/terminal/components/ErrorPanel.js +263 -264
- package/src/interfaces/terminal/components/Header.js +28 -28
- package/src/interfaces/terminal/components/Layout.js +598 -603
- package/src/interfaces/terminal/components/MessageList.js +280 -281
- package/src/interfaces/terminal/components/SettingsPanel.js +410 -415
- package/src/interfaces/terminal/components/StatusBar.js +2 -0
- package/src/interfaces/terminal/index.js +168 -168
- package/src/interfaces/terminal/state/useAgentControl.js +496 -496
- package/src/interfaces/terminal/state/useAgents.js +537 -537
- package/src/interfaces/terminal/state/useMessages.js +629 -630
- package/src/interfaces/terminal/state/useTools.js +554 -554
- package/src/interfaces/terminal/utils/debugLogger.js +44 -44
- package/src/interfaces/terminal/utils/settingsStorage.js +232 -232
- package/src/interfaces/webServer.js +7578 -7579
- package/src/interfaces/webServer.js.bak +7046 -7046
- package/src/modules/fileExplorer/__tests__/zipDownload.test.js +237 -237
- package/src/modules/fileExplorer/controller.js +470 -469
- package/src/modules/fileExplorer/routes.js +285 -286
- package/src/modules/widget/__tests__/isDisabled.test.js +41 -41
- package/src/modules/widget/__tests__/routes.test.js +677 -678
- package/src/modules/widget/__tests__/runtime.test.js +401 -401
- package/src/modules/widget/__tests__/versioning.test.js +309 -309
- package/src/modules/widget/__tests__/webComponentRuntime.test.js +565 -565
- package/src/modules/widget/__tests__/widgetTool.test.js +316 -316
- package/src/modules/widget/routes.js +435 -435
- package/src/modules/widget/runtime/bundle.js +640 -640
- package/src/modules/widget/runtime/webComponentBundle.js +470 -470
- package/src/modules/widget/schema.js +182 -181
- package/src/modules/widget/widgetTool.js +1389 -1389
- package/src/services/__tests__/agentActivityService.test.js +401 -402
- package/src/services/__tests__/benchmarkService.test.js +184 -184
- package/src/services/__tests__/contextInjectionService.test.js +246 -246
- package/src/services/__tests__/conversationQuery.test.js +721 -723
- package/src/services/__tests__/credentialVault.test.js +469 -469
- package/src/services/__tests__/discordService.integration.test.js +638 -639
- package/src/services/__tests__/flowContextService.test.js +590 -590
- package/src/services/__tests__/memoryService.test.js +1 -1
- package/src/services/__tests__/messageSource.test.js +380 -380
- package/src/services/__tests__/modelRouterNaming.test.js +111 -111
- package/src/services/__tests__/projectDetector.test.js +34 -34
- package/src/services/__tests__/promptService.test.js +242 -242
- package/src/services/__tests__/telegramService.test.js +941 -941
- package/src/services/__tests__/tokenCountingService.test.js +48 -48
- package/src/services/agentActivityService.js +419 -420
- package/src/services/aiService.js +2997 -3001
- package/src/services/apiKeyManager.js +359 -359
- package/src/services/benchmarkService.js +196 -196
- package/src/services/codebaseKnowledgeService.js +2 -2
- package/src/services/composioService.js +738 -738
- package/src/services/conversationCompactionService.js +1258 -1257
- package/src/services/credentialVault.js +685 -685
- package/src/services/discordService.js +792 -793
- package/src/services/embeddings/__tests__/azureCustomProvider.test.js +232 -232
- package/src/services/embeddings/__tests__/embeddingService.test.js +417 -417
- package/src/services/embeddings/__tests__/localProvider.test.js +263 -263
- package/src/services/embeddings/autoRecall.js +218 -219
- package/src/services/embeddings/indexers/__tests__/agentIndexer.test.js +232 -232
- package/src/services/embeddings/indexers/__tests__/memoryIndexer.test.js +418 -418
- package/src/services/embeddings/indexers/__tests__/reminisceIndexer.test.js +356 -357
- package/src/services/embeddings/indexers/__tests__/skillsIndexer.test.js +145 -145
- package/src/services/embeddings/indexers/__tests__/taskIndexer.test.js +146 -146
- package/src/services/embeddings/indexers/composioIndexer.js +279 -279
- package/src/services/embeddings/providerInterface.js +206 -206
- package/src/services/embeddings/providers/localProvider.js +11 -7
- package/src/services/embeddings/providers/openaiProvider.js +101 -101
- package/src/services/embeddings/vectorStore/inMemoryJsonStore.js +356 -356
- package/src/services/errorHandler.js +809 -809
- package/src/services/flowContextService.js +586 -586
- package/src/services/grounding/MockAdapter.js +125 -125
- package/src/services/modelRouterService.js +26 -31
- package/src/services/modelsService.js +322 -322
- package/src/services/ollamaService.js +452 -452
- package/src/services/projectDetector.js +403 -404
- package/src/services/promptService.js +418 -418
- package/src/services/qualityInspector.js +795 -795
- package/src/services/scheduleService.js +726 -726
- package/src/services/serviceRegistry.js +386 -386
- package/src/services/telegrafBot.js +174 -174
- package/src/services/telegramService.js +1972 -1972
- package/src/services/visualEditorBridge.js +1033 -1033
- package/src/services/visualEditorServer.js +1769 -1774
- package/src/services/whatsappService.js +667 -668
- package/src/tools/__tests__/agentCommunicationTool.findAgent.test.js +226 -226
- package/src/tools/__tests__/agentCommunicationTool.test.js +3 -3
- package/src/tools/__tests__/agentDelayTool.test.js +342 -342
- package/src/tools/__tests__/baseTool.test.js +3 -3
- package/src/tools/__tests__/codeMapTool.test.js +915 -915
- package/src/tools/__tests__/fileContentReplaceTool.test.js +309 -309
- package/src/tools/__tests__/fileTreeTool.test.js +274 -274
- package/src/tools/__tests__/filesystemTool.test.js +815 -815
- package/src/tools/__tests__/foundryWebSearchTool.test.js +252 -252
- package/src/tools/__tests__/imageTool.validator.test.js +194 -194
- package/src/tools/__tests__/jobDoneTool.test.js +580 -581
- package/src/tools/__tests__/memoryTool.forgetStale.test.js +272 -272
- package/src/tools/__tests__/memoryTool.reminisce.test.js +2 -2
- package/src/tools/__tests__/memoryTool.reminisceSemanticSearch.test.js +301 -301
- package/src/tools/__tests__/memoryTool.semanticSearch.test.js +405 -405
- package/src/tools/__tests__/memoryTool.teamPool.test.js +293 -293
- package/src/tools/__tests__/memoryTool.test.js +1 -1
- package/src/tools/__tests__/seekTool.test.js +282 -282
- package/src/tools/__tests__/skillsTool.search.test.js +164 -164
- package/src/tools/__tests__/skillsTool.test.js +226 -226
- package/src/tools/__tests__/staticAnalysisTool.test.js +509 -509
- package/src/tools/__tests__/taskManagerTool.discipline.test.js +137 -137
- package/src/tools/__tests__/taskManagerTool.search.test.js +143 -143
- package/src/tools/__tests__/taskManagerTool.test.js +866 -866
- package/src/tools/__tests__/terminalTool.test.js +448 -448
- package/src/tools/__tests__/toolShapeForgiveness.test.js +259 -260
- package/src/tools/__tests__/userPromptTool.test.js +297 -297
- package/src/tools/__tests__/videoTool.jobs.test.js +147 -147
- package/src/tools/__tests__/webTool.e2e.test.js +609 -603
- package/src/tools/__tests__/webTool.unit.test.js +195 -195
- package/src/tools/__tests__/webTool.visionModel.test.js +75 -75
- package/src/tools/agentCommunicationTool.js +8 -10
- package/src/tools/agentDelayTool.js +496 -497
- package/src/tools/asyncToolManager.js +602 -603
- package/src/tools/baseTool.js +12 -11
- package/src/tools/cloneDetectionTool.js +576 -581
- package/src/tools/codeMapTool.js +0 -6
- package/src/tools/composioTool.js +617 -617
- package/src/tools/dependencyResolverTool.js +1211 -1212
- package/src/tools/desktop/DesktopTool.js +629 -638
- package/src/tools/desktop/__tests__/DesktopTool.e2e.test.js +306 -306
- package/src/tools/desktop/__tests__/DesktopTool.test.js +507 -507
- package/src/tools/desktop/__tests__/osController.test.js +364 -364
- package/src/tools/desktop/osController.js +491 -491
- package/src/tools/docxTool.js +623 -623
- package/src/tools/excelTool.js +636 -636
- package/src/tools/fileContentReplaceTool.js +5 -7
- package/src/tools/fileSystemTool.js +12 -19
- package/src/tools/fileTreeTool.js +840 -840
- package/src/tools/foundryWebSearchTool.js +273 -273
- package/src/tools/helpTool.js +198 -198
- package/src/tools/imageTool.js +1397 -1397
- package/src/tools/importAnalyzerTool.js +1056 -1056
- package/src/tools/jobDoneTool.js +495 -495
- package/src/tools/memoryTool.js +1 -1
- package/src/tools/office/pres/__tests__/presSystem.test.js +365 -365
- package/src/tools/office/pres/archetypes/agenda.js +61 -61
- package/src/tools/office/pres/archetypes/bentoGrid.js +218 -219
- package/src/tools/office/pres/archetypes/bigStat.js +140 -142
- package/src/tools/office/pres/archetypes/closing.js +70 -70
- package/src/tools/office/pres/archetypes/hero.js +70 -70
- package/src/tools/office/pres/archetypes/productHero.js +93 -94
- package/src/tools/office/pres/archetypes/table.js +73 -74
- package/src/tools/office/pres/backgrounds/orb.js +66 -66
- package/src/tools/office/pres/components.js +422 -423
- package/src/tools/officeTool.js +441 -441
- package/src/tools/pdfTool.js +625 -627
- package/src/tools/platformControlTool.js +1081 -1081
- package/src/tools/seekTool.js +917 -918
- package/src/tools/skillsTool.js +1 -1
- package/src/tools/staticAnalysisTool.js +2143 -2146
- package/src/tools/taskManagerTool.js +3324 -3324
- package/src/tools/terminalTool.js +2615 -2618
- package/src/tools/videoTool.js +1303 -1303
- package/src/tools/visionTool.js +508 -508
- package/src/tools/visualEditorTool.js +1289 -1290
- package/src/tools/webTool.js +3368 -3368
- package/src/tools/whatsappTool.js +464 -464
- package/src/types/__tests__/agent.test.js +499 -499
- package/src/types/__tests__/contextReference.test.js +606 -606
- package/src/types/__tests__/conversation.test.js +555 -555
- package/src/types/__tests__/toolCommand.test.js +584 -584
- package/src/types/contextReference.js +974 -971
- package/src/types/conversation.js +729 -729
- package/src/types/toolCommand.js +746 -746
- package/src/utilities/__tests__/attachmentValidator.test.js +80 -80
- package/src/utilities/__tests__/auditReport.test.js +328 -328
- package/src/utilities/__tests__/directoryAccessManager.test.js +388 -388
- package/src/utilities/__tests__/jsonRepair.test.js +103 -104
- package/src/utilities/__tests__/modeTransitionReasons.test.js +105 -105
- package/src/utilities/__tests__/platformUtils.test.js +80 -87
- package/src/utilities/__tests__/structuredFileValidator.test.js +261 -263
- package/src/utilities/__tests__/toolConstants.test.js +92 -94
- package/src/utilities/__tests__/useIsTouchDevice.detect.test.js +114 -114
- package/src/utilities/__tests__/webUiUtilSync.test.js +117 -117
- package/src/utilities/attachmentValidator.js +284 -288
- package/src/utilities/authCache.js.backup-1779570472481 +121 -121
- package/src/utilities/browserStealth.js +631 -630
- package/src/utilities/configManager.js +616 -617
- package/src/utilities/directoryAccessManager.js +564 -565
- package/src/utilities/fileProcessor.js +308 -307
- package/src/utilities/humanBehavior.js +454 -453
- package/src/utilities/logger.js +479 -479
- package/src/utilities/structuredFileValidator.js +696 -699
- package/src/utilities/tagParser.js +5 -10
- package/src/utilities/userDataDir.js +308 -308
- package/node_modules/@isaacs/brace-expansion/dist/commonjs/index.js.map +0 -1
- package/node_modules/@isaacs/brace-expansion/dist/esm/index.js.map +0 -1
- package/node_modules/minipass/LICENSE +0 -15
- /package/node_modules/{@isaacs → glob/node_modules}/balanced-match/LICENSE.md +0 -0
- /package/node_modules/{@isaacs → glob/node_modules}/balanced-match/dist/commonjs/index.d.ts +0 -0
- /package/node_modules/{@isaacs → glob/node_modules}/balanced-match/dist/commonjs/index.d.ts.map +0 -0
- /package/node_modules/{@isaacs → glob/node_modules}/balanced-match/dist/commonjs/index.js +0 -0
- /package/node_modules/{@isaacs → glob/node_modules}/balanced-match/dist/commonjs/index.js.map +0 -0
- /package/node_modules/{@isaacs → glob/node_modules}/balanced-match/dist/commonjs/package.json +0 -0
- /package/node_modules/{@isaacs → glob/node_modules}/balanced-match/dist/esm/index.d.ts +0 -0
- /package/node_modules/{@isaacs → glob/node_modules}/balanced-match/dist/esm/index.d.ts.map +0 -0
- /package/node_modules/{@isaacs → glob/node_modules}/balanced-match/dist/esm/index.js +0 -0
- /package/node_modules/{@isaacs → glob/node_modules}/balanced-match/dist/esm/index.js.map +0 -0
- /package/node_modules/{@isaacs → glob/node_modules}/balanced-match/dist/esm/package.json +0 -0
- /package/node_modules/{@isaacs → glob/node_modules}/brace-expansion/LICENSE +0 -0
- /package/node_modules/{@isaacs → glob/node_modules}/brace-expansion/dist/commonjs/index.d.ts +0 -0
- /package/node_modules/{@isaacs → glob/node_modules}/brace-expansion/dist/commonjs/index.d.ts.map +0 -0
- /package/node_modules/{@isaacs → glob/node_modules}/brace-expansion/dist/commonjs/package.json +0 -0
- /package/node_modules/{@isaacs → glob/node_modules}/brace-expansion/dist/esm/index.d.ts +0 -0
- /package/node_modules/{@isaacs → glob/node_modules}/brace-expansion/dist/esm/index.d.ts.map +0 -0
- /package/node_modules/{@isaacs → glob/node_modules}/brace-expansion/dist/esm/package.json +0 -0
|
@@ -1,111 +1,111 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Regression tests for the router model name convention.
|
|
3
|
-
*
|
|
4
|
-
* Background — two rounds of this same shape of bug:
|
|
5
|
-
*
|
|
6
|
-
* Round 1: Dynamic Routing silently no-op'd because ROUTER_MODEL
|
|
7
|
-
* was `'autopilot-model-router'` while the catalog keyed the entry
|
|
8
|
-
* as `'model-router'`. Fixed by changing the constant to the bare
|
|
9
|
-
* form.
|
|
10
|
-
*
|
|
11
|
-
* Round 2: Even the bare `'model-router'` key didn't exist in the
|
|
12
|
-
* live catalog, because the catalog discovers deployments by
|
|
13
|
-
* underlying-model-name (not by Azure deployment-name). The team's
|
|
14
|
-
* actual deployment was named `autopilot-model-router` in Azure but
|
|
15
|
-
* its underlying model is `gpt-4.1-nano` — so the live catalog
|
|
16
|
-
* keys the entry under `gpt-4.1-nano`. The CLI now defaults to
|
|
17
|
-
* that name.
|
|
18
|
-
*
|
|
19
|
-
* These tests pin the new invariant + the override mechanism + catch
|
|
20
|
-
* any reintroduction of a product-name prefix.
|
|
21
|
-
*
|
|
22
|
-
* Why a separate test file: the existing modelRouterService.test.js
|
|
23
|
-
* mocks the constants module at the top of the file, so it cannot
|
|
24
|
-
* assert anything about the REAL value of MODEL_ROUTER_CONFIG. This
|
|
25
|
-
* file imports the real constants instead.
|
|
26
|
-
*/
|
|
27
|
-
import { describe, test, expect
|
|
28
|
-
import fs from 'node:fs';
|
|
29
|
-
import path from 'node:path';
|
|
30
|
-
import { fileURLToPath } from 'node:url';
|
|
31
|
-
|
|
32
|
-
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
33
|
-
const SRC_ROOT = path.resolve(__dirname, '../..');
|
|
34
|
-
|
|
35
|
-
describe('Router model naming — matches catalog convention', () => {
|
|
36
|
-
test('default ROUTER_MODEL is "gpt-4.1-nano" (current live catalog key)', async () => {
|
|
37
|
-
// The autopilot-model-router deployment's underlying model is
|
|
38
|
-
// gpt-4.1-nano. The catalog keys entries by underlying model, so
|
|
39
|
-
// this is the canonical name the CLI must request.
|
|
40
|
-
delete process.env.LOXIA_ROUTER_MODEL;
|
|
41
|
-
// Re-import to pick up the (re-)evaluated default.
|
|
42
|
-
const fresh = await import(`../../utilities/constants.js?nocache=${Date.now()}`);
|
|
43
|
-
expect(fresh.MODEL_ROUTER_CONFIG.ROUTER_MODEL).toBe('gpt-4.1-nano');
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
test('LOXIA_ROUTER_MODEL env var overrides the default (no rebuild needed)', async () => {
|
|
47
|
-
process.env.LOXIA_ROUTER_MODEL = 'gpt-4o-mini';
|
|
48
|
-
try {
|
|
49
|
-
const fresh = await import(`../../utilities/constants.js?nocache=${Date.now()}`);
|
|
50
|
-
expect(fresh.MODEL_ROUTER_CONFIG.ROUTER_MODEL).toBe('gpt-4o-mini');
|
|
51
|
-
} finally {
|
|
52
|
-
delete process.env.LOXIA_ROUTER_MODEL;
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
test('ROUTER_MODEL does NOT carry a product/brand prefix', async () => {
|
|
57
|
-
// Defense-in-depth: even if the canonical name ever changes,
|
|
58
|
-
// it must not start with a product prefix like "autopilot-"
|
|
59
|
-
// or "onbuzz-". The catalog's canonical names are product-agnostic.
|
|
60
|
-
delete process.env.LOXIA_ROUTER_MODEL;
|
|
61
|
-
const fresh = await import(`../../utilities/constants.js?nocache=${Date.now()}`);
|
|
62
|
-
const v = fresh.MODEL_ROUTER_CONFIG.ROUTER_MODEL;
|
|
63
|
-
expect(v).not.toMatch(/^autopilot[-_]/i);
|
|
64
|
-
expect(v).not.toMatch(/^onbuzz[-_]/i);
|
|
65
|
-
expect(v).not.toMatch(/^loxia[-_]/i);
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
describe('REGRESSION: no stray "autopilot-model-router" literal in CLI source', () => {
|
|
70
|
-
// Walks src/ and confirms the legacy prefixed string is gone. If
|
|
71
|
-
// someone reintroduces it in a new file (a copy-paste from old
|
|
72
|
-
// docs, a stale constant, an LLM-generated patch) this test catches
|
|
73
|
-
// it before it ships. Comments and tests are excluded — they can
|
|
74
|
-
// reference the legacy name for historical context.
|
|
75
|
-
const STRAY = 'autopilot-model-router';
|
|
76
|
-
const EXCLUDE = new Set(['__tests__', 'node_modules', 'dist', 'build', 'coverage', 'web-ui']);
|
|
77
|
-
|
|
78
|
-
function walk(dir) {
|
|
79
|
-
const out = [];
|
|
80
|
-
for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
|
|
81
|
-
if (EXCLUDE.has(entry.name) || entry.name.startsWith('.')) continue;
|
|
82
|
-
const full = path.join(dir, entry.name);
|
|
83
|
-
if (entry.isDirectory()) out.push(...walk(full));
|
|
84
|
-
else if (entry.isFile() && /\.(js|cjs|mjs|ts)$/.test(entry.name)) out.push(full);
|
|
85
|
-
}
|
|
86
|
-
return out;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
test('no .js/.ts file under src/ contains the legacy prefixed name (excluding tests + comments)', () => {
|
|
90
|
-
const offenders = [];
|
|
91
|
-
for (const file of walk(SRC_ROOT)) {
|
|
92
|
-
const content = fs.readFileSync(file, 'utf8');
|
|
93
|
-
// Strip single-line // comments and /* ... */ block comments so
|
|
94
|
-
// documentation references don't trip the guard. Cheap regex —
|
|
95
|
-
// close enough for a regression guard; not a JS parser.
|
|
96
|
-
const stripped = content
|
|
97
|
-
.replace(/\/\*[\s\S]*?\*\//g, '')
|
|
98
|
-
.replace(/^\s*\/\/.*$/gm, '')
|
|
99
|
-
.replace(/(['"`])[\s\S]*?\1/g, (m) => m.includes(STRAY) ? m : ''); // keep strings that contain it
|
|
100
|
-
if (stripped.includes(STRAY)) {
|
|
101
|
-
offenders.push(path.relative(SRC_ROOT, file));
|
|
102
|
-
} else {
|
|
103
|
-
// Also check raw content for STRAY in any string literal —
|
|
104
|
-
// strip pass above keeps strings containing it for inspection.
|
|
105
|
-
const inStringLiteral = /(['"`])[^'"`\n]*autopilot-model-router[^'"`\n]*\1/.test(content);
|
|
106
|
-
if (inStringLiteral) offenders.push(path.relative(SRC_ROOT, file));
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
expect(offenders).toEqual([]);
|
|
110
|
-
});
|
|
111
|
-
});
|
|
1
|
+
/**
|
|
2
|
+
* Regression tests for the router model name convention.
|
|
3
|
+
*
|
|
4
|
+
* Background — two rounds of this same shape of bug:
|
|
5
|
+
*
|
|
6
|
+
* Round 1: Dynamic Routing silently no-op'd because ROUTER_MODEL
|
|
7
|
+
* was `'autopilot-model-router'` while the catalog keyed the entry
|
|
8
|
+
* as `'model-router'`. Fixed by changing the constant to the bare
|
|
9
|
+
* form.
|
|
10
|
+
*
|
|
11
|
+
* Round 2: Even the bare `'model-router'` key didn't exist in the
|
|
12
|
+
* live catalog, because the catalog discovers deployments by
|
|
13
|
+
* underlying-model-name (not by Azure deployment-name). The team's
|
|
14
|
+
* actual deployment was named `autopilot-model-router` in Azure but
|
|
15
|
+
* its underlying model is `gpt-4.1-nano` — so the live catalog
|
|
16
|
+
* keys the entry under `gpt-4.1-nano`. The CLI now defaults to
|
|
17
|
+
* that name.
|
|
18
|
+
*
|
|
19
|
+
* These tests pin the new invariant + the override mechanism + catch
|
|
20
|
+
* any reintroduction of a product-name prefix.
|
|
21
|
+
*
|
|
22
|
+
* Why a separate test file: the existing modelRouterService.test.js
|
|
23
|
+
* mocks the constants module at the top of the file, so it cannot
|
|
24
|
+
* assert anything about the REAL value of MODEL_ROUTER_CONFIG. This
|
|
25
|
+
* file imports the real constants instead.
|
|
26
|
+
*/
|
|
27
|
+
import { describe, test, expect } from '@jest/globals';
|
|
28
|
+
import fs from 'node:fs';
|
|
29
|
+
import path from 'node:path';
|
|
30
|
+
import { fileURLToPath } from 'node:url';
|
|
31
|
+
|
|
32
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
33
|
+
const SRC_ROOT = path.resolve(__dirname, '../..');
|
|
34
|
+
|
|
35
|
+
describe('Router model naming — matches catalog convention', () => {
|
|
36
|
+
test('default ROUTER_MODEL is "gpt-4.1-nano" (current live catalog key)', async () => {
|
|
37
|
+
// The autopilot-model-router deployment's underlying model is
|
|
38
|
+
// gpt-4.1-nano. The catalog keys entries by underlying model, so
|
|
39
|
+
// this is the canonical name the CLI must request.
|
|
40
|
+
delete process.env.LOXIA_ROUTER_MODEL;
|
|
41
|
+
// Re-import to pick up the (re-)evaluated default.
|
|
42
|
+
const fresh = await import(`../../utilities/constants.js?nocache=${Date.now()}`);
|
|
43
|
+
expect(fresh.MODEL_ROUTER_CONFIG.ROUTER_MODEL).toBe('gpt-4.1-nano');
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
test('LOXIA_ROUTER_MODEL env var overrides the default (no rebuild needed)', async () => {
|
|
47
|
+
process.env.LOXIA_ROUTER_MODEL = 'gpt-4o-mini';
|
|
48
|
+
try {
|
|
49
|
+
const fresh = await import(`../../utilities/constants.js?nocache=${Date.now()}`);
|
|
50
|
+
expect(fresh.MODEL_ROUTER_CONFIG.ROUTER_MODEL).toBe('gpt-4o-mini');
|
|
51
|
+
} finally {
|
|
52
|
+
delete process.env.LOXIA_ROUTER_MODEL;
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
test('ROUTER_MODEL does NOT carry a product/brand prefix', async () => {
|
|
57
|
+
// Defense-in-depth: even if the canonical name ever changes,
|
|
58
|
+
// it must not start with a product prefix like "autopilot-"
|
|
59
|
+
// or "onbuzz-". The catalog's canonical names are product-agnostic.
|
|
60
|
+
delete process.env.LOXIA_ROUTER_MODEL;
|
|
61
|
+
const fresh = await import(`../../utilities/constants.js?nocache=${Date.now()}`);
|
|
62
|
+
const v = fresh.MODEL_ROUTER_CONFIG.ROUTER_MODEL;
|
|
63
|
+
expect(v).not.toMatch(/^autopilot[-_]/i);
|
|
64
|
+
expect(v).not.toMatch(/^onbuzz[-_]/i);
|
|
65
|
+
expect(v).not.toMatch(/^loxia[-_]/i);
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
describe('REGRESSION: no stray "autopilot-model-router" literal in CLI source', () => {
|
|
70
|
+
// Walks src/ and confirms the legacy prefixed string is gone. If
|
|
71
|
+
// someone reintroduces it in a new file (a copy-paste from old
|
|
72
|
+
// docs, a stale constant, an LLM-generated patch) this test catches
|
|
73
|
+
// it before it ships. Comments and tests are excluded — they can
|
|
74
|
+
// reference the legacy name for historical context.
|
|
75
|
+
const STRAY = 'autopilot-model-router';
|
|
76
|
+
const EXCLUDE = new Set(['__tests__', 'node_modules', 'dist', 'build', 'coverage', 'web-ui']);
|
|
77
|
+
|
|
78
|
+
function walk(dir) {
|
|
79
|
+
const out = [];
|
|
80
|
+
for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
|
|
81
|
+
if (EXCLUDE.has(entry.name) || entry.name.startsWith('.')) continue;
|
|
82
|
+
const full = path.join(dir, entry.name);
|
|
83
|
+
if (entry.isDirectory()) out.push(...walk(full));
|
|
84
|
+
else if (entry.isFile() && /\.(js|cjs|mjs|ts)$/.test(entry.name)) out.push(full);
|
|
85
|
+
}
|
|
86
|
+
return out;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
test('no .js/.ts file under src/ contains the legacy prefixed name (excluding tests + comments)', () => {
|
|
90
|
+
const offenders = [];
|
|
91
|
+
for (const file of walk(SRC_ROOT)) {
|
|
92
|
+
const content = fs.readFileSync(file, 'utf8');
|
|
93
|
+
// Strip single-line // comments and /* ... */ block comments so
|
|
94
|
+
// documentation references don't trip the guard. Cheap regex —
|
|
95
|
+
// close enough for a regression guard; not a JS parser.
|
|
96
|
+
const stripped = content
|
|
97
|
+
.replace(/\/\*[\s\S]*?\*\//g, '')
|
|
98
|
+
.replace(/^\s*\/\/.*$/gm, '')
|
|
99
|
+
.replace(/(['"`])[\s\S]*?\1/g, (m) => m.includes(STRAY) ? m : ''); // keep strings that contain it
|
|
100
|
+
if (stripped.includes(STRAY)) {
|
|
101
|
+
offenders.push(path.relative(SRC_ROOT, file));
|
|
102
|
+
} else {
|
|
103
|
+
// Also check raw content for STRAY in any string literal —
|
|
104
|
+
// strip pass above keeps strings containing it for inspection.
|
|
105
|
+
const inStringLiteral = /(['"`])[^'"`\n]*autopilot-model-router[^'"`\n]*\1/.test(content);
|
|
106
|
+
if (inStringLiteral) offenders.push(path.relative(SRC_ROOT, file));
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
expect(offenders).toEqual([]);
|
|
110
|
+
});
|
|
111
|
+
});
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import ProjectDetector, { getProjectDetector, PROJECT_TYPES } from '../projectDetector.js';
|
|
3
|
-
|
|
4
|
-
describe('ProjectDetector', () => {
|
|
5
|
-
test('constructor creates instance', () => {
|
|
6
|
-
const detector = new ProjectDetector();
|
|
7
|
-
expect(detector).toBeInstanceOf(ProjectDetector);
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
test('getProjectDetector returns a ProjectDetector instance (singleton)', () => {
|
|
11
|
-
const detector1 = getProjectDetector();
|
|
12
|
-
const detector2 = getProjectDetector();
|
|
13
|
-
expect(detector1).toBeInstanceOf(ProjectDetector);
|
|
14
|
-
expect(detector1).toBe(detector2);
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
test('PROJECT_TYPES has expected values', () => {
|
|
18
|
-
expect(PROJECT_TYPES.REACT_CRA).toBe('react-cra');
|
|
19
|
-
expect(PROJECT_TYPES.NEXTJS).toBe('nextjs');
|
|
20
|
-
expect(PROJECT_TYPES.STATIC_HTML).toBe('static-html');
|
|
21
|
-
expect(PROJECT_TYPES.UNKNOWN).toBe('unknown');
|
|
22
|
-
expect(PROJECT_TYPES.ANGULAR).toBe('angular');
|
|
23
|
-
expect(PROJECT_TYPES.VUE_VITE).toBe('vue-vite');
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
test('detect returns object with projectType property', async () => {
|
|
27
|
-
const detector = new ProjectDetector();
|
|
28
|
-
const result = await detector.detect(process.cwd());
|
|
29
|
-
expect(result).toHaveProperty('projectType');
|
|
30
|
-
expect(result).toHaveProperty('projectDir');
|
|
31
|
-
expect(result).toHaveProperty('entryPoints');
|
|
32
|
-
expect(typeof result.projectType).toBe('string');
|
|
33
|
-
});
|
|
34
|
-
});
|
|
1
|
+
import { describe, test, expect } from '@jest/globals';
|
|
2
|
+
import ProjectDetector, { getProjectDetector, PROJECT_TYPES } from '../projectDetector.js';
|
|
3
|
+
|
|
4
|
+
describe('ProjectDetector', () => {
|
|
5
|
+
test('constructor creates instance', () => {
|
|
6
|
+
const detector = new ProjectDetector();
|
|
7
|
+
expect(detector).toBeInstanceOf(ProjectDetector);
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
test('getProjectDetector returns a ProjectDetector instance (singleton)', () => {
|
|
11
|
+
const detector1 = getProjectDetector();
|
|
12
|
+
const detector2 = getProjectDetector();
|
|
13
|
+
expect(detector1).toBeInstanceOf(ProjectDetector);
|
|
14
|
+
expect(detector1).toBe(detector2);
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
test('PROJECT_TYPES has expected values', () => {
|
|
18
|
+
expect(PROJECT_TYPES.REACT_CRA).toBe('react-cra');
|
|
19
|
+
expect(PROJECT_TYPES.NEXTJS).toBe('nextjs');
|
|
20
|
+
expect(PROJECT_TYPES.STATIC_HTML).toBe('static-html');
|
|
21
|
+
expect(PROJECT_TYPES.UNKNOWN).toBe('unknown');
|
|
22
|
+
expect(PROJECT_TYPES.ANGULAR).toBe('angular');
|
|
23
|
+
expect(PROJECT_TYPES.VUE_VITE).toBe('vue-vite');
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
test('detect returns object with projectType property', async () => {
|
|
27
|
+
const detector = new ProjectDetector();
|
|
28
|
+
const result = await detector.detect(process.cwd());
|
|
29
|
+
expect(result).toHaveProperty('projectType');
|
|
30
|
+
expect(result).toHaveProperty('projectDir');
|
|
31
|
+
expect(result).toHaveProperty('entryPoints');
|
|
32
|
+
expect(typeof result.projectType).toBe('string');
|
|
33
|
+
});
|
|
34
|
+
});
|