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,4 +1,4 @@
|
|
|
1
|
-
import { expand } from '
|
|
1
|
+
import { expand } from 'brace-expansion';
|
|
2
2
|
import { assertValidPattern } from './assert-valid-pattern.js';
|
|
3
3
|
import { AST } from './ast.js';
|
|
4
4
|
import { escape } from './escape.js';
|
|
@@ -12,7 +12,7 @@ export const minimatch = (p, pattern, options = {}) => {
|
|
|
12
12
|
return new Minimatch(pattern, options).match(p);
|
|
13
13
|
};
|
|
14
14
|
// Optimized checking for the most common glob patterns.
|
|
15
|
-
const starDotExtRE = /^\*+([
|
|
15
|
+
const starDotExtRE = /^\*+([^+@!?*[(]*)$/;
|
|
16
16
|
const starDotExtTest = (ext) => (f) => !f.startsWith('.') && f.endsWith(ext);
|
|
17
17
|
const starDotExtTestDot = (ext) => (f) => f.endsWith(ext);
|
|
18
18
|
const starDotExtTestNocase = (ext) => {
|
|
@@ -31,7 +31,7 @@ const dotStarTest = (f) => f !== '.' && f !== '..' && f.startsWith('.');
|
|
|
31
31
|
const starRE = /^\*+$/;
|
|
32
32
|
const starTest = (f) => f.length !== 0 && !f.startsWith('.');
|
|
33
33
|
const starTestDot = (f) => f.length !== 0 && f !== '.' && f !== '..';
|
|
34
|
-
const qmarksRE = /^\?+([
|
|
34
|
+
const qmarksRE = /^\?+([^+@!?*[(]*)?$/;
|
|
35
35
|
const qmarksTestNocase = ([$0, ext = '']) => {
|
|
36
36
|
const noext = qmarksTestNoExt([$0]);
|
|
37
37
|
if (!ext)
|
|
@@ -63,8 +63,8 @@ const qmarksTestNoExtDot = ([$0]) => {
|
|
|
63
63
|
return (f) => f.length === len && f !== '.' && f !== '..';
|
|
64
64
|
};
|
|
65
65
|
/* c8 ignore start */
|
|
66
|
-
const defaultPlatform = (typeof process === 'object' && process
|
|
67
|
-
|
|
66
|
+
const defaultPlatform = (typeof process === 'object' && process ?
|
|
67
|
+
(typeof process.env === 'object' &&
|
|
68
68
|
process.env &&
|
|
69
69
|
process.env.__MINIMATCH_TESTING_PLATFORM__) ||
|
|
70
70
|
process.platform
|
|
@@ -148,7 +148,7 @@ export const braceExpand = (pattern, options = {}) => {
|
|
|
148
148
|
// shortcut. no need to expand.
|
|
149
149
|
return [pattern];
|
|
150
150
|
}
|
|
151
|
-
return expand(pattern);
|
|
151
|
+
return expand(pattern, { max: options.braceExpandMax });
|
|
152
152
|
};
|
|
153
153
|
minimatch.braceExpand = braceExpand;
|
|
154
154
|
// parse a component of the expanded set.
|
|
@@ -193,16 +193,20 @@ export class Minimatch {
|
|
|
193
193
|
isWindows;
|
|
194
194
|
platform;
|
|
195
195
|
windowsNoMagicRoot;
|
|
196
|
+
maxGlobstarRecursion;
|
|
196
197
|
regexp;
|
|
197
198
|
constructor(pattern, options = {}) {
|
|
198
199
|
assertValidPattern(pattern);
|
|
199
200
|
options = options || {};
|
|
200
201
|
this.options = options;
|
|
202
|
+
this.maxGlobstarRecursion = options.maxGlobstarRecursion ?? 200;
|
|
201
203
|
this.pattern = pattern;
|
|
202
204
|
this.platform = options.platform || defaultPlatform;
|
|
203
205
|
this.isWindows = this.platform === 'win32';
|
|
206
|
+
// avoid the annoying deprecation flag lol
|
|
207
|
+
const awe = ('allowWindow' + 'sEscape');
|
|
204
208
|
this.windowsPathsNoEscape =
|
|
205
|
-
!!options.windowsPathsNoEscape || options
|
|
209
|
+
!!options.windowsPathsNoEscape || options[awe] === false;
|
|
206
210
|
if (this.windowsPathsNoEscape) {
|
|
207
211
|
this.pattern = this.pattern.replace(/\\/g, '/');
|
|
208
212
|
}
|
|
@@ -215,8 +219,8 @@ export class Minimatch {
|
|
|
215
219
|
this.partial = !!options.partial;
|
|
216
220
|
this.nocase = !!this.options.nocase;
|
|
217
221
|
this.windowsNoMagicRoot =
|
|
218
|
-
options.windowsNoMagicRoot !== undefined
|
|
219
|
-
|
|
222
|
+
options.windowsNoMagicRoot !== undefined ?
|
|
223
|
+
options.windowsNoMagicRoot
|
|
220
224
|
: !!(this.isWindows && this.nocase);
|
|
221
225
|
this.globSet = [];
|
|
222
226
|
this.globParts = [];
|
|
@@ -254,6 +258,7 @@ export class Minimatch {
|
|
|
254
258
|
// step 2: expand braces
|
|
255
259
|
this.globSet = [...new Set(this.braceExpand())];
|
|
256
260
|
if (options.debug) {
|
|
261
|
+
//oxlint-disable-next-line no-console
|
|
257
262
|
this.debug = (...args) => console.error(...args);
|
|
258
263
|
}
|
|
259
264
|
this.debug(this.pattern, this.globSet);
|
|
@@ -279,7 +284,10 @@ export class Minimatch {
|
|
|
279
284
|
!globMagic.test(s[3]);
|
|
280
285
|
const isDrive = /^[a-z]:/i.test(s[0]);
|
|
281
286
|
if (isUNC) {
|
|
282
|
-
return [
|
|
287
|
+
return [
|
|
288
|
+
...s.slice(0, 4),
|
|
289
|
+
...s.slice(4).map(ss => this.parse(ss)),
|
|
290
|
+
];
|
|
283
291
|
}
|
|
284
292
|
else if (isDrive) {
|
|
285
293
|
return [s[0], ...s.slice(1).map(ss => this.parse(ss))];
|
|
@@ -311,12 +319,12 @@ export class Minimatch {
|
|
|
311
319
|
// to the right as possible, even if it increases the number
|
|
312
320
|
// of patterns that we have to process.
|
|
313
321
|
preprocess(globParts) {
|
|
314
|
-
// if we're not in globstar mode, then turn
|
|
322
|
+
// if we're not in globstar mode, then turn ** into *
|
|
315
323
|
if (this.options.noglobstar) {
|
|
316
|
-
for (
|
|
317
|
-
for (let j = 0; j <
|
|
318
|
-
if (
|
|
319
|
-
|
|
324
|
+
for (const partset of globParts) {
|
|
325
|
+
for (let j = 0; j < partset.length; j++) {
|
|
326
|
+
if (partset[j] === '**') {
|
|
327
|
+
partset[j] = '*';
|
|
320
328
|
}
|
|
321
329
|
}
|
|
322
330
|
}
|
|
@@ -404,7 +412,11 @@ export class Minimatch {
|
|
|
404
412
|
let dd = 0;
|
|
405
413
|
while (-1 !== (dd = parts.indexOf('..', dd + 1))) {
|
|
406
414
|
const p = parts[dd - 1];
|
|
407
|
-
if (p &&
|
|
415
|
+
if (p &&
|
|
416
|
+
p !== '.' &&
|
|
417
|
+
p !== '..' &&
|
|
418
|
+
p !== '**' &&
|
|
419
|
+
!(this.isWindows && /^[a-z]:$/i.test(p))) {
|
|
408
420
|
didSomething = true;
|
|
409
421
|
parts.splice(dd - 1, 2);
|
|
410
422
|
dd -= 2;
|
|
@@ -597,7 +609,8 @@ export class Minimatch {
|
|
|
597
609
|
// out of pattern, then that's fine, as long as all
|
|
598
610
|
// the parts match.
|
|
599
611
|
matchOne(file, pattern, partial = false) {
|
|
600
|
-
|
|
612
|
+
let fileStartIndex = 0;
|
|
613
|
+
let patternStartIndex = 0;
|
|
601
614
|
// UNC paths like //?/X:/... can match X:/... and vice versa
|
|
602
615
|
// Drive letters in absolute drive or unc paths are always compared
|
|
603
616
|
// case-insensitively.
|
|
@@ -615,18 +628,22 @@ export class Minimatch {
|
|
|
615
628
|
pattern[2] === '?' &&
|
|
616
629
|
typeof pattern[3] === 'string' &&
|
|
617
630
|
/^[a-z]:$/i.test(pattern[3]);
|
|
618
|
-
const fdi = fileUNC ? 3
|
|
619
|
-
|
|
631
|
+
const fdi = fileUNC ? 3
|
|
632
|
+
: fileDrive ? 0
|
|
633
|
+
: undefined;
|
|
634
|
+
const pdi = patternUNC ? 3
|
|
635
|
+
: patternDrive ? 0
|
|
636
|
+
: undefined;
|
|
620
637
|
if (typeof fdi === 'number' && typeof pdi === 'number') {
|
|
621
|
-
const [fd, pd] = [
|
|
638
|
+
const [fd, pd] = [
|
|
639
|
+
file[fdi],
|
|
640
|
+
pattern[pdi],
|
|
641
|
+
];
|
|
642
|
+
// start matching at the drive letter index of each
|
|
622
643
|
if (fd.toLowerCase() === pd.toLowerCase()) {
|
|
623
644
|
pattern[pdi] = fd;
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
}
|
|
627
|
-
else if (fdi > pdi) {
|
|
628
|
-
file = file.slice(fdi);
|
|
629
|
-
}
|
|
645
|
+
patternStartIndex = pdi;
|
|
646
|
+
fileStartIndex = fdi;
|
|
630
647
|
}
|
|
631
648
|
}
|
|
632
649
|
}
|
|
@@ -636,99 +653,187 @@ export class Minimatch {
|
|
|
636
653
|
if (optimizationLevel >= 2) {
|
|
637
654
|
file = this.levelTwoFileOptimize(file);
|
|
638
655
|
}
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
656
|
+
if (pattern.includes(GLOBSTAR)) {
|
|
657
|
+
return this.#matchGlobstar(file, pattern, partial, fileStartIndex, patternStartIndex);
|
|
658
|
+
}
|
|
659
|
+
return this.#matchOne(file, pattern, partial, fileStartIndex, patternStartIndex);
|
|
660
|
+
}
|
|
661
|
+
#matchGlobstar(file, pattern, partial, fileIndex, patternIndex) {
|
|
662
|
+
// split the pattern into head, tail, and middle of ** delimited parts
|
|
663
|
+
const firstgs = pattern.indexOf(GLOBSTAR, patternIndex);
|
|
664
|
+
const lastgs = pattern.lastIndexOf(GLOBSTAR);
|
|
665
|
+
// split the pattern up into globstar-delimited sections
|
|
666
|
+
// the tail has to be at the end, and the others just have
|
|
667
|
+
// to be found in order from the head.
|
|
668
|
+
const [head, body, tail] = partial ?
|
|
669
|
+
[
|
|
670
|
+
pattern.slice(patternIndex, firstgs),
|
|
671
|
+
pattern.slice(firstgs + 1),
|
|
672
|
+
[],
|
|
673
|
+
]
|
|
674
|
+
: [
|
|
675
|
+
pattern.slice(patternIndex, firstgs),
|
|
676
|
+
pattern.slice(firstgs + 1, lastgs),
|
|
677
|
+
pattern.slice(lastgs + 1),
|
|
678
|
+
];
|
|
679
|
+
// check the head, from the current file/pattern index.
|
|
680
|
+
if (head.length) {
|
|
681
|
+
const fileHead = file.slice(fileIndex, fileIndex + head.length);
|
|
682
|
+
if (!this.#matchOne(fileHead, head, partial, 0, 0)) {
|
|
683
|
+
return false;
|
|
684
|
+
}
|
|
685
|
+
fileIndex += head.length;
|
|
686
|
+
patternIndex += head.length;
|
|
687
|
+
}
|
|
688
|
+
// now we know the head matches!
|
|
689
|
+
// if the last portion is not empty, it MUST match the end
|
|
690
|
+
// check the tail
|
|
691
|
+
let fileTailMatch = 0;
|
|
692
|
+
if (tail.length) {
|
|
693
|
+
// if head + tail > file, then we cannot possibly match
|
|
694
|
+
if (tail.length + fileIndex > file.length)
|
|
695
|
+
return false;
|
|
696
|
+
// try to match the tail
|
|
697
|
+
let tailStart = file.length - tail.length;
|
|
698
|
+
if (this.#matchOne(file, tail, partial, tailStart, 0)) {
|
|
699
|
+
fileTailMatch = tail.length;
|
|
700
|
+
}
|
|
701
|
+
else {
|
|
702
|
+
// affordance for stuff like a/**/* matching a/b/
|
|
703
|
+
// if the last file portion is '', and there's more to the pattern
|
|
704
|
+
// then try without the '' bit.
|
|
705
|
+
if (file[file.length - 1] !== '' ||
|
|
706
|
+
fileIndex + tail.length === file.length) {
|
|
707
|
+
return false;
|
|
708
|
+
}
|
|
709
|
+
tailStart--;
|
|
710
|
+
if (!this.#matchOne(file, tail, partial, tailStart, 0)) {
|
|
711
|
+
return false;
|
|
712
|
+
}
|
|
713
|
+
fileTailMatch = tail.length + 1;
|
|
714
|
+
}
|
|
715
|
+
}
|
|
716
|
+
// now we know the tail matches!
|
|
717
|
+
// the middle is zero or more portions wrapped in **, possibly
|
|
718
|
+
// containing more ** sections.
|
|
719
|
+
// so a/**/b/**/c/**/d has become **/b/**/c/**
|
|
720
|
+
// if it's empty, it means a/**/b, just verify we have no bad dots
|
|
721
|
+
// if there's no tail, so it ends on /**, then we must have *something*
|
|
722
|
+
// after the head, or it's not a matc
|
|
723
|
+
if (!body.length) {
|
|
724
|
+
let sawSome = !!fileTailMatch;
|
|
725
|
+
for (let i = fileIndex; i < file.length - fileTailMatch; i++) {
|
|
726
|
+
const f = String(file[i]);
|
|
727
|
+
sawSome = true;
|
|
728
|
+
if (f === '.' ||
|
|
729
|
+
f === '..' ||
|
|
730
|
+
(!this.options.dot && f.startsWith('.'))) {
|
|
731
|
+
return false;
|
|
732
|
+
}
|
|
733
|
+
}
|
|
734
|
+
// in partial mode, we just need to get past all file parts
|
|
735
|
+
return partial || sawSome;
|
|
736
|
+
}
|
|
737
|
+
// now we know that there's one or more body sections, which can
|
|
738
|
+
// be matched anywhere from the 0 index (because the head was pruned)
|
|
739
|
+
// through to the length-fileTailMatch index.
|
|
740
|
+
// split the body up into sections, and note the minimum index it can
|
|
741
|
+
// be found at (start with the length of all previous segments)
|
|
742
|
+
// [section, before, after]
|
|
743
|
+
const bodySegments = [[[], 0]];
|
|
744
|
+
let currentBody = bodySegments[0];
|
|
745
|
+
let nonGsParts = 0;
|
|
746
|
+
const nonGsPartsSums = [0];
|
|
747
|
+
for (const b of body) {
|
|
748
|
+
if (b === GLOBSTAR) {
|
|
749
|
+
nonGsPartsSums.push(nonGsParts);
|
|
750
|
+
currentBody = [[], 0];
|
|
751
|
+
bodySegments.push(currentBody);
|
|
752
|
+
}
|
|
753
|
+
else {
|
|
754
|
+
currentBody[0].push(b);
|
|
755
|
+
nonGsParts++;
|
|
756
|
+
}
|
|
757
|
+
}
|
|
758
|
+
let i = bodySegments.length - 1;
|
|
759
|
+
const fileLength = file.length - fileTailMatch;
|
|
760
|
+
for (const b of bodySegments) {
|
|
761
|
+
b[1] = fileLength - (nonGsPartsSums[i--] + b[0].length);
|
|
762
|
+
}
|
|
763
|
+
return !!this.#matchGlobStarBodySections(file, bodySegments, fileIndex, 0, partial, 0, !!fileTailMatch);
|
|
764
|
+
}
|
|
765
|
+
// return false for "nope, not matching"
|
|
766
|
+
// return null for "not matching, cannot keep trying"
|
|
767
|
+
#matchGlobStarBodySections(file,
|
|
768
|
+
// pattern section, last possible position for it
|
|
769
|
+
bodySegments, fileIndex, bodyIndex, partial, globStarDepth, sawTail) {
|
|
770
|
+
// take the first body segment, and walk from fileIndex to its "after"
|
|
771
|
+
// value at the end
|
|
772
|
+
// If it doesn't match at that position, we increment, until we hit
|
|
773
|
+
// that final possible position, and give up.
|
|
774
|
+
// If it does match, then advance and try to rest.
|
|
775
|
+
// If any of them fail we keep walking forward.
|
|
776
|
+
// this is still a bit recursively painful, but it's more constrained
|
|
777
|
+
// than previous implementations, because we never test something that
|
|
778
|
+
// can't possibly be a valid matching condition.
|
|
779
|
+
const bs = bodySegments[bodyIndex];
|
|
780
|
+
if (!bs) {
|
|
781
|
+
// just make sure that there's no bad dots
|
|
782
|
+
for (let i = fileIndex; i < file.length; i++) {
|
|
783
|
+
sawTail = true;
|
|
784
|
+
const f = file[i];
|
|
785
|
+
if (f === '.' ||
|
|
786
|
+
f === '..' ||
|
|
787
|
+
(!this.options.dot && f.startsWith('.'))) {
|
|
788
|
+
return false;
|
|
789
|
+
}
|
|
790
|
+
}
|
|
791
|
+
return sawTail;
|
|
792
|
+
}
|
|
793
|
+
// have a non-globstar body section to test
|
|
794
|
+
const [body, after] = bs;
|
|
795
|
+
while (fileIndex <= after) {
|
|
796
|
+
const m = this.#matchOne(file.slice(0, fileIndex + body.length), body, partial, fileIndex, 0);
|
|
797
|
+
// if limit exceeded, no match. intentional false negative,
|
|
798
|
+
// acceptable break in correctness for security.
|
|
799
|
+
if (m && globStarDepth < this.maxGlobstarRecursion) {
|
|
800
|
+
// match! see if the rest match. if so, we're done!
|
|
801
|
+
const sub = this.#matchGlobStarBodySections(file, bodySegments, fileIndex + body.length, bodyIndex + 1, partial, globStarDepth + 1, sawTail);
|
|
802
|
+
if (sub !== false) {
|
|
803
|
+
return sub;
|
|
804
|
+
}
|
|
805
|
+
}
|
|
806
|
+
const f = file[fileIndex];
|
|
807
|
+
if (f === '.' ||
|
|
808
|
+
f === '..' ||
|
|
809
|
+
(!this.options.dot && f.startsWith('.'))) {
|
|
810
|
+
return false;
|
|
811
|
+
}
|
|
812
|
+
fileIndex++;
|
|
813
|
+
}
|
|
814
|
+
// walked off. no point continuing
|
|
815
|
+
return partial || null;
|
|
816
|
+
}
|
|
817
|
+
#matchOne(file, pattern, partial, fileIndex, patternIndex) {
|
|
818
|
+
let fi;
|
|
819
|
+
let pi;
|
|
820
|
+
let pl;
|
|
821
|
+
let fl;
|
|
822
|
+
for (fi = fileIndex,
|
|
823
|
+
pi = patternIndex,
|
|
824
|
+
fl = file.length,
|
|
825
|
+
pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
|
|
642
826
|
this.debug('matchOne loop');
|
|
643
|
-
|
|
644
|
-
|
|
827
|
+
let p = pattern[pi];
|
|
828
|
+
let f = file[fi];
|
|
645
829
|
this.debug(pattern, p, f);
|
|
646
830
|
// should be impossible.
|
|
647
831
|
// some invalid regexp stuff in the set.
|
|
648
832
|
/* c8 ignore start */
|
|
649
|
-
if (p === false) {
|
|
833
|
+
if (p === false || p === GLOBSTAR) {
|
|
650
834
|
return false;
|
|
651
835
|
}
|
|
652
836
|
/* c8 ignore stop */
|
|
653
|
-
if (p === GLOBSTAR) {
|
|
654
|
-
this.debug('GLOBSTAR', [pattern, p, f]);
|
|
655
|
-
// "**"
|
|
656
|
-
// a/**/b/**/c would match the following:
|
|
657
|
-
// a/b/x/y/z/c
|
|
658
|
-
// a/x/y/z/b/c
|
|
659
|
-
// a/b/x/b/x/c
|
|
660
|
-
// a/b/c
|
|
661
|
-
// To do this, take the rest of the pattern after
|
|
662
|
-
// the **, and see if it would match the file remainder.
|
|
663
|
-
// If so, return success.
|
|
664
|
-
// If not, the ** "swallows" a segment, and try again.
|
|
665
|
-
// This is recursively awful.
|
|
666
|
-
//
|
|
667
|
-
// a/**/b/**/c matching a/b/x/y/z/c
|
|
668
|
-
// - a matches a
|
|
669
|
-
// - doublestar
|
|
670
|
-
// - matchOne(b/x/y/z/c, b/**/c)
|
|
671
|
-
// - b matches b
|
|
672
|
-
// - doublestar
|
|
673
|
-
// - matchOne(x/y/z/c, c) -> no
|
|
674
|
-
// - matchOne(y/z/c, c) -> no
|
|
675
|
-
// - matchOne(z/c, c) -> no
|
|
676
|
-
// - matchOne(c, c) yes, hit
|
|
677
|
-
var fr = fi;
|
|
678
|
-
var pr = pi + 1;
|
|
679
|
-
if (pr === pl) {
|
|
680
|
-
this.debug('** at the end');
|
|
681
|
-
// a ** at the end will just swallow the rest.
|
|
682
|
-
// We have found a match.
|
|
683
|
-
// however, it will not swallow /.x, unless
|
|
684
|
-
// options.dot is set.
|
|
685
|
-
// . and .. are *never* matched by **, for explosively
|
|
686
|
-
// exponential reasons.
|
|
687
|
-
for (; fi < fl; fi++) {
|
|
688
|
-
if (file[fi] === '.' ||
|
|
689
|
-
file[fi] === '..' ||
|
|
690
|
-
(!options.dot && file[fi].charAt(0) === '.'))
|
|
691
|
-
return false;
|
|
692
|
-
}
|
|
693
|
-
return true;
|
|
694
|
-
}
|
|
695
|
-
// ok, let's see if we can swallow whatever we can.
|
|
696
|
-
while (fr < fl) {
|
|
697
|
-
var swallowee = file[fr];
|
|
698
|
-
this.debug('\nglobstar while', file, fr, pattern, pr, swallowee);
|
|
699
|
-
// XXX remove this slice. Just pass the start index.
|
|
700
|
-
if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
|
|
701
|
-
this.debug('globstar found match!', fr, fl, swallowee);
|
|
702
|
-
// found a match.
|
|
703
|
-
return true;
|
|
704
|
-
}
|
|
705
|
-
else {
|
|
706
|
-
// can't swallow "." or ".." ever.
|
|
707
|
-
// can only swallow ".foo" when explicitly asked.
|
|
708
|
-
if (swallowee === '.' ||
|
|
709
|
-
swallowee === '..' ||
|
|
710
|
-
(!options.dot && swallowee.charAt(0) === '.')) {
|
|
711
|
-
this.debug('dot detected!', file, fr, pattern, pr);
|
|
712
|
-
break;
|
|
713
|
-
}
|
|
714
|
-
// ** swallows a segment, and continue.
|
|
715
|
-
this.debug('globstar swallow a segment, and continue');
|
|
716
|
-
fr++;
|
|
717
|
-
}
|
|
718
|
-
}
|
|
719
|
-
// no match was found.
|
|
720
|
-
// However, in partial mode, we can't say this is necessarily over.
|
|
721
|
-
/* c8 ignore start */
|
|
722
|
-
if (partial) {
|
|
723
|
-
// ran out of file
|
|
724
|
-
this.debug('\n>>> no match, partial?', file, fr, pattern, pr);
|
|
725
|
-
if (fr === fl) {
|
|
726
|
-
return true;
|
|
727
|
-
}
|
|
728
|
-
}
|
|
729
|
-
/* c8 ignore stop */
|
|
730
|
-
return false;
|
|
731
|
-
}
|
|
732
837
|
// something other than **
|
|
733
838
|
// non-magic patterns just have to match exactly
|
|
734
839
|
// patterns with magic have been turned into regexps.
|
|
@@ -799,21 +904,19 @@ export class Minimatch {
|
|
|
799
904
|
fastTest = options.dot ? starTestDot : starTest;
|
|
800
905
|
}
|
|
801
906
|
else if ((m = pattern.match(starDotExtRE))) {
|
|
802
|
-
fastTest = (options.nocase
|
|
803
|
-
|
|
804
|
-
|
|
907
|
+
fastTest = (options.nocase ?
|
|
908
|
+
options.dot ?
|
|
909
|
+
starDotExtTestNocaseDot
|
|
805
910
|
: starDotExtTestNocase
|
|
806
|
-
: options.dot
|
|
807
|
-
? starDotExtTestDot
|
|
911
|
+
: options.dot ? starDotExtTestDot
|
|
808
912
|
: starDotExtTest)(m[1]);
|
|
809
913
|
}
|
|
810
914
|
else if ((m = pattern.match(qmarksRE))) {
|
|
811
|
-
fastTest = (options.nocase
|
|
812
|
-
|
|
813
|
-
|
|
915
|
+
fastTest = (options.nocase ?
|
|
916
|
+
options.dot ?
|
|
917
|
+
qmarksTestNocaseDot
|
|
814
918
|
: qmarksTestNocase
|
|
815
|
-
: options.dot
|
|
816
|
-
? qmarksTestDot
|
|
919
|
+
: options.dot ? qmarksTestDot
|
|
817
920
|
: qmarksTest)(m);
|
|
818
921
|
}
|
|
819
922
|
else if ((m = pattern.match(starDotStarRE))) {
|
|
@@ -844,10 +947,8 @@ export class Minimatch {
|
|
|
844
947
|
return this.regexp;
|
|
845
948
|
}
|
|
846
949
|
const options = this.options;
|
|
847
|
-
const twoStar = options.noglobstar
|
|
848
|
-
?
|
|
849
|
-
: options.dot
|
|
850
|
-
? twoStarDot
|
|
950
|
+
const twoStar = options.noglobstar ? star
|
|
951
|
+
: options.dot ? twoStarDot
|
|
851
952
|
: twoStarNoDot;
|
|
852
953
|
const flags = new Set(options.nocase ? ['i'] : []);
|
|
853
954
|
// regexpify non-globstar patterns
|
|
@@ -863,11 +964,9 @@ export class Minimatch {
|
|
|
863
964
|
for (const f of p.flags.split(''))
|
|
864
965
|
flags.add(f);
|
|
865
966
|
}
|
|
866
|
-
return typeof p === 'string'
|
|
867
|
-
?
|
|
868
|
-
|
|
869
|
-
? GLOBSTAR
|
|
870
|
-
: p._src;
|
|
967
|
+
return (typeof p === 'string' ? regExpEscape(p)
|
|
968
|
+
: p === GLOBSTAR ? GLOBSTAR
|
|
969
|
+
: p._src);
|
|
871
970
|
});
|
|
872
971
|
pp.forEach((p, i) => {
|
|
873
972
|
const next = pp[i + 1];
|
|
@@ -922,7 +1021,7 @@ export class Minimatch {
|
|
|
922
1021
|
this.regexp = new RegExp(re, [...flags].join(''));
|
|
923
1022
|
/* c8 ignore start */
|
|
924
1023
|
}
|
|
925
|
-
catch
|
|
1024
|
+
catch {
|
|
926
1025
|
// should be impossible
|
|
927
1026
|
this.regexp = false;
|
|
928
1027
|
}
|
|
@@ -937,7 +1036,7 @@ export class Minimatch {
|
|
|
937
1036
|
if (this.preserveMultipleSlashes) {
|
|
938
1037
|
return p.split('/');
|
|
939
1038
|
}
|
|
940
|
-
else if (this.isWindows && /^\/\/[
|
|
1039
|
+
else if (this.isWindows && /^\/\/[^/]+/.test(p)) {
|
|
941
1040
|
// add an extra '' for the one we lose
|
|
942
1041
|
return ['', ...p.split(/\/+/)];
|
|
943
1042
|
}
|
|
@@ -979,8 +1078,7 @@ export class Minimatch {
|
|
|
979
1078
|
filename = ff[i];
|
|
980
1079
|
}
|
|
981
1080
|
}
|
|
982
|
-
for (
|
|
983
|
-
const pattern = set[i];
|
|
1081
|
+
for (const pattern of set) {
|
|
984
1082
|
let file = ff;
|
|
985
1083
|
if (options.matchBase && pattern.length === 1) {
|
|
986
1084
|
file = [filename];
|