agent-nuvira 3.3.19 → 3.5.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/dist/agent-sdk/src/register.d.ts +23 -7
- package/dist/agent-sdk/src/register.d.ts.map +1 -1
- package/dist/agent-sdk/src/register.js +159 -5
- package/dist/agent-sdk/src/register.js.map +1 -1
- package/dist/agent-sdk/src/scaffold.d.ts +1 -1
- package/dist/agent-sdk/src/scaffold.js +1 -1
- package/dist/cli/agent.d.ts.map +1 -1
- package/dist/cli/agent.js +16 -3
- package/dist/cli/agent.js.map +1 -1
- package/dist/cli/chat.d.ts +85 -0
- package/dist/cli/chat.d.ts.map +1 -1
- package/dist/cli/chat.js +462 -15
- package/dist/cli/chat.js.map +1 -1
- package/dist/cli/config.d.ts +10 -0
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +39 -0
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +18 -3
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/mcp.d.ts +50 -0
- package/dist/cli/mcp.d.ts.map +1 -1
- package/dist/cli/mcp.js +496 -49
- package/dist/cli/mcp.js.map +1 -1
- package/dist/cli/memory.d.ts.map +1 -1
- package/dist/cli/memory.js +3 -2
- package/dist/cli/memory.js.map +1 -1
- package/dist/cli/plugins.d.ts.map +1 -1
- package/dist/cli/plugins.js +26 -9
- package/dist/cli/plugins.js.map +1 -1
- package/dist/cli/sdk.d.ts.map +1 -1
- package/dist/cli/sdk.js +10 -3
- package/dist/cli/sdk.js.map +1 -1
- package/dist/cli/tool-install-prompt.d.ts.map +1 -1
- package/dist/cli/tool-install-prompt.js +23 -1
- package/dist/cli/tool-install-prompt.js.map +1 -1
- package/dist/cli/tools.d.ts +16 -0
- package/dist/cli/tools.d.ts.map +1 -1
- package/dist/cli/tools.js +101 -1
- package/dist/cli/tools.js.map +1 -1
- package/dist/config/manager.d.ts +6 -0
- package/dist/config/manager.d.ts.map +1 -1
- package/dist/config/manager.js +66 -0
- package/dist/config/manager.js.map +1 -1
- package/dist/config/types.d.ts +18 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/learning/exhaustion-report.d.ts +12 -0
- package/dist/learning/exhaustion-report.d.ts.map +1 -1
- package/dist/learning/exhaustion-report.js +3 -1
- package/dist/learning/exhaustion-report.js.map +1 -1
- package/dist/learning/model-capability.d.ts +33 -0
- package/dist/learning/model-capability.d.ts.map +1 -1
- package/dist/learning/model-capability.js +51 -0
- package/dist/learning/model-capability.js.map +1 -1
- package/dist/learning/model-first-router.d.ts +7 -22
- package/dist/learning/model-first-router.d.ts.map +1 -1
- package/dist/learning/model-first-router.js +7 -37
- package/dist/learning/model-first-router.js.map +1 -1
- package/dist/learning/model-selection.d.ts +27 -0
- package/dist/learning/model-selection.d.ts.map +1 -1
- package/dist/learning/model-selection.js +46 -0
- package/dist/learning/model-selection.js.map +1 -1
- package/dist/learning/reasoning-trace.d.ts +1 -1
- package/dist/learning/reasoning-trace.d.ts.map +1 -1
- package/dist/learning/reasoning-trace.js.map +1 -1
- package/dist/learning/resilient-call.d.ts +15 -1
- package/dist/learning/resilient-call.d.ts.map +1 -1
- package/dist/learning/resilient-call.js +38 -22
- package/dist/learning/resilient-call.js.map +1 -1
- package/dist/learning/working-state.d.ts +7 -0
- package/dist/learning/working-state.d.ts.map +1 -1
- package/dist/learning/working-state.js +23 -1
- package/dist/learning/working-state.js.map +1 -1
- package/dist/mcp/catalog.d.ts +206 -26
- package/dist/mcp/catalog.d.ts.map +1 -1
- package/dist/mcp/catalog.js +664 -52
- package/dist/mcp/catalog.js.map +1 -1
- package/dist/mcp/client.d.ts +6 -0
- package/dist/mcp/client.d.ts.map +1 -1
- package/dist/mcp/client.js +35 -5
- package/dist/mcp/client.js.map +1 -1
- package/dist/mcp/custom-server.d.ts +120 -0
- package/dist/mcp/custom-server.d.ts.map +1 -0
- package/dist/mcp/custom-server.js +330 -0
- package/dist/mcp/custom-server.js.map +1 -0
- package/dist/mcp/manager.d.ts +9 -1
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +15 -2
- package/dist/mcp/manager.js.map +1 -1
- package/dist/mcp/mcp-oauth.d.ts +28 -0
- package/dist/mcp/mcp-oauth.d.ts.map +1 -1
- package/dist/mcp/mcp-oauth.js +63 -8
- package/dist/mcp/mcp-oauth.js.map +1 -1
- package/dist/mcp/oauth-authorize.d.ts +51 -0
- package/dist/mcp/oauth-authorize.d.ts.map +1 -0
- package/dist/mcp/oauth-authorize.js +133 -0
- package/dist/mcp/oauth-authorize.js.map +1 -0
- package/dist/mcp/oauth-connect.d.ts +53 -0
- package/dist/mcp/oauth-connect.d.ts.map +1 -0
- package/dist/mcp/oauth-connect.js +103 -0
- package/dist/mcp/oauth-connect.js.map +1 -0
- package/dist/mcp/pin-verifier.d.ts +44 -0
- package/dist/mcp/pin-verifier.d.ts.map +1 -0
- package/dist/mcp/pin-verifier.js +102 -0
- package/dist/mcp/pin-verifier.js.map +1 -0
- package/dist/mcp/prereqs.d.ts +145 -0
- package/dist/mcp/prereqs.d.ts.map +1 -0
- package/dist/mcp/prereqs.js +245 -0
- package/dist/mcp/prereqs.js.map +1 -0
- package/dist/mcp/runtime.d.ts +59 -0
- package/dist/mcp/runtime.d.ts.map +1 -0
- package/dist/mcp/runtime.js +77 -0
- package/dist/mcp/runtime.js.map +1 -0
- package/dist/mcp/server.d.ts +21 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +29 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/settings.d.ts +164 -0
- package/dist/mcp/settings.d.ts.map +1 -0
- package/dist/mcp/settings.js +358 -0
- package/dist/mcp/settings.js.map +1 -0
- package/dist/mcp/types.d.ts +62 -0
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/mcp/types.js.map +1 -1
- package/dist/memory/vector-store.d.ts +12 -0
- package/dist/memory/vector-store.d.ts.map +1 -1
- package/dist/memory/vector-store.js +23 -0
- package/dist/memory/vector-store.js.map +1 -1
- package/dist/plugins/agent-plugin.d.ts +35 -0
- package/dist/plugins/agent-plugin.d.ts.map +1 -1
- package/dist/plugins/agent-plugin.js +142 -24
- package/dist/plugins/agent-plugin.js.map +1 -1
- package/dist/sandbox/manager.d.ts +12 -0
- package/dist/sandbox/manager.d.ts.map +1 -1
- package/dist/sandbox/manager.js +43 -2
- package/dist/sandbox/manager.js.map +1 -1
- package/dist/tools/modality/browser.d.ts +39 -3
- package/dist/tools/modality/browser.d.ts.map +1 -1
- package/dist/tools/modality/browser.js +113 -16
- package/dist/tools/modality/browser.js.map +1 -1
- package/dist/tools/optional-deps.d.ts +48 -0
- package/dist/tools/optional-deps.d.ts.map +1 -0
- package/dist/tools/optional-deps.js +42 -0
- package/dist/tools/optional-deps.js.map +1 -0
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +68 -11
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/remediation-ladder.d.ts.map +1 -1
- package/dist/tools/remediation-ladder.js +9 -1
- package/dist/tools/remediation-ladder.js.map +1 -1
- package/dist/tools/tool-loop.d.ts.map +1 -1
- package/dist/tools/tool-loop.js +57 -5
- package/dist/tools/tool-loop.js.map +1 -1
- package/dist/web-dashboard/chat-retry.d.ts +11 -1
- package/dist/web-dashboard/chat-retry.d.ts.map +1 -1
- package/dist/web-dashboard/chat-retry.js +18 -4
- package/dist/web-dashboard/chat-retry.js.map +1 -1
- package/dist/web-dashboard/server.d.ts.map +1 -1
- package/dist/web-dashboard/server.js +349 -2
- package/dist/web-dashboard/server.js.map +1 -1
- package/package.json +3 -2
- package/src/web-dashboard/public/assets/index-aO3aG7ex.css +1 -0
- package/src/web-dashboard/public/assets/{index-Bz7QqQ_N.js → index-yky0dw5e.js} +115 -89
- package/src/web-dashboard/public/assets/index-yky0dw5e.js.map +1 -0
- package/src/web-dashboard/public/index.html +2 -2
- package/src/web-dashboard/public/assets/index-Bz7QqQ_N.js.map +0 -1
- package/src/web-dashboard/public/assets/index-cBWT2qxn.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/sandbox/manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/sandbox/manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEnD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAQvD,OAAO,EACL,uBAAuB,EAEvB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAGpB,+EAA+E;AAE/E,oDAAoD;AACpD,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B,2EAA2E;AAC3E,MAAM,eAAe,GAAG,cAAc,CAAC;AAEvC,+EAA+E;AAE/E,MAAM,OAAO,cAAc;IAUL;IATpB,0DAA0D;IAClD,UAAU,GAAkC,IAAI,GAAG,EAAE,CAAC;IAC9D,mDAAmD;IAC3C,aAAa,GAAG,KAAK,CAAC;IAC9B,iDAAiD;IACzC,eAAe,GAAG,KAAK,CAAC;IAChC,6CAA6C;IACrC,WAAW,GAAG,EAAE,CAAC;IAEzB,YAAoB,SAAwB,gBAAgB,EAAE;QAA1C,WAAM,GAAN,MAAM,CAAoC;IAAG,CAAC;IAElE,6EAA6E;IAE7E;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,iBAAiB;QACrB,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC,eAAe,CAAC;QAEpD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;gBAC7B,IAAI,CAAC,WAAW;oBACd,uHAAuH,CAAC;gBAC1H,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,OAAO,IAAI,CAAC,eAAe,CAAC;YAC9B,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,2CAA2C,CAAC,CAAC;YACvF,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;YAChF,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC1B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBACjD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,4BAA4B,CAAC;gBAC1E,IAAI,CAAC,WAAW;oBACd,0BAA0B,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,mCAAmC,GAAG,IAAI;wBAC5G,+FAA+F,CAAC;YACpG,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,WAAW,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,kFAAkF;IAC1E,KAAK,CAAC,aAAa,CAAC,MAAc;QACxC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,MAAM,aAAa,CAAC,CAAC;YACnE,MAAM,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAChF,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,yEAAyE;IACjE,SAAS,CAAC,IAAwB;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACzF,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;IAED,4EAA4E;IAE5E;;;;;;;OAOG;IACH,KAAK,CAAC,eAAe,CACnB,KAAc,EACd,MAAgC,EAChC,OAAgB;QAEhB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC;YACtC,sEAAsE;YACtE,0EAA0E;YAC1E,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,+DAA+D,CAAC,CAAC;QACvG,CAAC;QAED,8BAA8B;QAC9B,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,cAAc,EAAE,CAAC;YAC3C,mDAAmD;YACnD,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACpC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,cAAc,EAAE,CAAC;gBAC3C,MAAM,IAAI,KAAK,CACb,cAAc,cAAc,+BAA+B;oBAC3D,2DAA2D,CAC5D,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QACvD,MAAM,cAAc,GAAG,EAAE,GAAG,uBAAuB,EAAE,GAAG,MAAM,EAAE,CAAC;QACjE,MAAM,eAAe,GAAG,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QAEvD,iCAAiC;QACjC,MAAM,IAAI,GAAG,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEtG,6BAA6B;QAC7B,MAAM,IAAI,GAAa;YACrB,KAAK;YACL,UAAU,EAAwB,oBAAoB;YACtD,QAAQ,EAAE,IAAI,EAAoB,mCAAmC;YACrE,WAAW,EAAE,eAAe,EAAM,wBAAwB;YAC1D,QAAQ,EAA0B,8CAA8C;YAChF,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;SACvE,CAAC;QAEF,kBAAkB;QAClB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,WAAY,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,WAAY,CAAC,CAAC,CAAC,UAAU;QACnE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;QAE5D,qDAAqD;QACrD,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC;QACjE,CAAC;QAAC,MAAM,CAAC;YACP,gEAAgE;QAClE,CAAC;QAED,iBAAiB;QACjB,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACjC,CAAC;QAED,wEAAwE;QACxE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAmB,4BAA4B;QACxE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAa,8BAA8B;QAC1E,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,wBAAwB,CAAC,CAAC,CAAC,0BAA0B;QACjF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAE/C,oDAAoD;QACpD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC;QAEpD,iEAAiE;QACjE,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,UAAU,WAAW,eAAe,EAAE,CAAC,CAAC;QACjF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,eAAe,EAAE,CAAC,CAAC;QAExD,YAAY;QACZ,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEzB,2BAA2B;QAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QAErC,oBAAoB;QACpB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAClF,IAAI,SAAS,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,uCAAuC,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,EAAE,CAC9E,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAqB;YAChC,WAAW;YACX,IAAI;YACJ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,cAAc;YACtB,KAAK,EAAE,aAAa;SACrB,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,CAAC,KAAK,CAAC,8BAA8B,IAAI,KAAK,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QAEpF,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,sBAAsB,CAC1B,WAAmB,EACnB,SAAiB,EACjB,SAAkB;QAElB,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACpD,MAAM,cAAc,GAAG,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QAExD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,oCAAoC,SAAS,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,oCAAoC;QACpC,sDAAsD;QACtD,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,aAAa,cAAc,GAAG,CAAC,CAAC;QAExE,iEAAiE;QACjE,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;QAEvC,oEAAoE;QACpE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;QACzG,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7F,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,wCAAwC;YACxC,OAAO;QACT,CAAC;QAED,yCAAyC;QACzC,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvF,MAAM,OAAO,GAAG,YAAY,OAAO,sBAAsB,WAAW,kBAAkB,cAAc,GAAG,CAAC;QAExG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5D,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,iCAAiC;YACjC,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;gBACnC,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,eAAe,CACxB,cAAc,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,WAAW,IAAI,cAAc,IAAI,EAC3E,MAAM,CACP,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,+BAA+B;oBAC/B,MAAM,CAAC,KAAK,CAAC,kBAAkB,KAAK,aAAa,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,UAAU,cAAc,CAAC,MAAM,kCAAkC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAClG,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,UAAU,CACd,WAAmB,EACnB,OAAe,EACf,SAAkB;QAElB,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACpD,MAAM,eAAe,GAAG,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;QAElE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,WAAW,CAAC;QAErD,OAAO,IAAI,CAAC,eAAe,CACzB,SAAS,CAAC,WAAW,EACrB,KAAK,EACL,OAAO,EACP,eAAe,CAChB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,oBAAoB,CACxB,WAAmB,EACnB,OAAe,EACf,OAAiC,EACjC,SAAkB;QAElB,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACpD,MAAM,eAAe,GAAG,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;QAElE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,WAAW,CAAC;QAErD,OAAO,IAAI,CAAC,eAAe,CACzB,SAAS,CAAC,WAAW,EACrB,KAAK,EACL,OAAO,EACP,eAAe,EACf,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,eAAe,CACrB,WAAmB,EACnB,KAAa,EACb,UAAkB,EAClB,SAAiB,EACjB,OAAiC;QAEjC,OAAO,IAAI,OAAO,CAAoB,CAAC,cAAc,EAAE,EAAE;YACvD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,sEAAsE;YACtE,sEAAsE;YACtE,uEAAuE;YACvE,6DAA6D;YAC7D,MAAM,cAAc,GAAG,UAAU;iBAC9B,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;iBACpB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;iBACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACzB,MAAM,WAAW,GAAG,mBAAmB,WAAW,KAAK,KAAK,QAAQ,cAAc,GAAG,CAAC;YAEtF,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,EAAE,EAAE,EAAE;gBAC1C,KAAK,EAAE,YAAY,EAAE;gBACrB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;gBAC/B,OAAO,EAAE,SAAS;aACnB,CAAC,CAAC;YAEH,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,QAAQ,GAAG,KAAK,CAAC;YAErB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,QAAQ,GAAG,IAAI,CAAC;gBAChB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7B,yCAAyC;gBACzC,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,CAAC;wBAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;gBACpE,CAAC,EAAE,IAAI,CAAC,CAAC;YACX,CAAC,EAAE,SAAS,CAAC,CAAC;YAEd,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC;gBAChB,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;YAEH,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBAC/C,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,QAAuB,EAAE,EAAE;gBACnD,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBACxC,cAAc,CAAC;oBACb,OAAO,EAAE,QAAQ,KAAK,CAAC;oBACvB,MAAM;oBACN,MAAM;oBACN,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;oBAC3C,UAAU,EAAE,QAAQ;oBACpB,QAAQ;iBACT,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;gBACtC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,cAAc,CAAC;oBACb,OAAO,EAAE,KAAK;oBACd,MAAM;oBACN,MAAM,EAAE,MAAM,IAAI,GAAG,CAAC,OAAO;oBAC7B,QAAQ,EAAE,CAAC,CAAC;oBACZ,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBAClC,QAAQ,EAAE,KAAK;oBACf,KAAK,EAAE,GAAG,CAAC,OAAO;iBACnB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,WAAmB;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAEpD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CACvC,gDAAgD,WAAW,GAAG,CAC/D,CAAC;YACF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAqB,CAAC;gBACvD,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC;gBAC1B,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,4BAA4B;QAC9B,CAAC;QAED,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC;QAC7B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,WAAmB;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAEpD,IAAI,CAAC;YACH,mEAAmE;YACnE,mEAAmE;YACnE,2CAA2C;YAC3C,MAAM,IAAI,CAAC,eAAe,CACxB,sBAAsB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,WAAW,GAAG,EACrF,MAAM,CACP,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,qBAAqB;QACvB,CAAC;QAED,IAAI,CAAC;YACH,uBAAuB;YACvB,MAAM,IAAI,CAAC,eAAe,CACxB,iBAAiB,WAAW,GAAG,EAC/B,MAAM,CACP,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,wBAAwB;QAC1B,CAAC;QAED,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,gCAAgC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QACxC,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,4EAA4E;IAE5E;;OAEG;IACK,eAAe,CAAC,WAAmB;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,iDAAiD,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QAClG,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,eAAe,CAC3B,OAAe,EACf,SAAS,GAAG,MAAM;QAElB,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE;YACnC,SAAS;YACT,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,QAAQ;YACrC,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;QAEH,OAAO;YACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;YAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;SAC7B,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,eAAe,CAC3B,WAAmB,EACnB,OAAe;QAEf,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,WAAW,CAAC;QACrD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,eAAe,CACzB,gBAAgB,WAAW,KAAK,KAAK,QAAQ,OAAO,GAAG,EACvD,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC9C,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CACjD,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,SAAS,CACpC,CAAC;QAEF,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAClC,CAAC;YAAC,MAAM,CAAC;gBACP,sBAAsB;YACxB,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,+EAA+E;AAE/E,IAAI,cAAc,GAA0B,IAAI,CAAC;AAEjD;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;IACxC,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,cAAc,GAAG,IAAI,CAAC;AACxB,CAAC"}
|
|
@@ -8,6 +8,23 @@
|
|
|
8
8
|
* page-like object, so tests exercise navigation/click/type/extract with a
|
|
9
9
|
* fake page and no browser binary.
|
|
10
10
|
*
|
|
11
|
+
* THE SESSION (2026-10-12). Page automation is a SEQUENCE — open a login form,
|
|
12
|
+
* type the user, type the password, click submit, extract the result — and it
|
|
13
|
+
* used to be impossible: every call launched a browser, ran one action, and
|
|
14
|
+
* closed it, so `click` acted on a blank page and `extract` returned nothing the
|
|
15
|
+
* model had just produced. The tool was "wired" and unusable for the exact tasks
|
|
16
|
+
* its own description recommends (login flows, dynamic scraping). One browser +
|
|
17
|
+
* one page is now kept between calls, closed on `close`, after an idle timeout,
|
|
18
|
+
* or when an action throws (a wedged page must not poison the next call), and
|
|
19
|
+
* actions are SERIALIZED so two parallel tool calls on one page cannot
|
|
20
|
+
* interleave.
|
|
21
|
+
*
|
|
22
|
+
* The availability probe uses `createRequire(import.meta.url)` — the project's
|
|
23
|
+
* convention for an optional package (see enterprise/vault.ts, config/
|
|
24
|
+
* workspace.ts). The previous bare `require.resolve` only works on Node ≥23: on
|
|
25
|
+
* the Node 18/20/22 the package declares support for, it throws and the probe
|
|
26
|
+
* silently answered "not installed" for a package that was installed.
|
|
27
|
+
*
|
|
11
28
|
* Screenshots are written to the artifacts/screenshots sandbox dir.
|
|
12
29
|
*/
|
|
13
30
|
/**
|
|
@@ -45,7 +62,7 @@ export declare function isBrowserAvailable(): boolean;
|
|
|
45
62
|
export declare function setBrowserAvailable(available: boolean | null): void;
|
|
46
63
|
/** Test hook — clear the cached availability probe. */
|
|
47
64
|
export declare function resetBrowserAvailability(): void;
|
|
48
|
-
export type BrowserAction = 'open' | 'click' | 'type' | 'extract' | 'screenshot';
|
|
65
|
+
export type BrowserAction = 'open' | 'click' | 'type' | 'extract' | 'screenshot' | 'close';
|
|
49
66
|
export interface BrowserActionArgs {
|
|
50
67
|
url?: string;
|
|
51
68
|
selector?: string;
|
|
@@ -60,9 +77,28 @@ export declare function executeBrowserAction(page: BrowserPageLike, action: Brow
|
|
|
60
77
|
text: string;
|
|
61
78
|
file?: string;
|
|
62
79
|
}>;
|
|
80
|
+
/** Structural shape of the browser object we keep alive (not a playwright import). */
|
|
81
|
+
export interface BrowserLike {
|
|
82
|
+
newPage(): Promise<BrowserPageLike>;
|
|
83
|
+
close(): Promise<void>;
|
|
84
|
+
}
|
|
85
|
+
/** Test seam: replace the real `chromium.launch()` with a fake browser. */
|
|
86
|
+
type BrowserLauncher = () => Promise<{
|
|
87
|
+
browser: BrowserLike;
|
|
88
|
+
page: BrowserPageLike;
|
|
89
|
+
}>;
|
|
90
|
+
export declare function setBrowserLauncherForTests(launcher: BrowserLauncher | null): void;
|
|
91
|
+
/**
|
|
92
|
+
* Close the session (best-effort, never throws). Returns true when one was open.
|
|
93
|
+
* Exported so a caller can end automation deterministically instead of waiting
|
|
94
|
+
* for the idle timer.
|
|
95
|
+
*/
|
|
96
|
+
export declare function closeBrowserSession(): Promise<boolean>;
|
|
63
97
|
/**
|
|
64
|
-
* Run a browser action against a REAL playwright browser
|
|
65
|
-
*
|
|
98
|
+
* Run a browser action against a REAL playwright browser, reusing ONE session
|
|
99
|
+
* across calls so a multi-step flow (open → type → click → extract) works.
|
|
100
|
+
* Returns a friendly message when playwright is missing.
|
|
66
101
|
*/
|
|
67
102
|
export declare function runBrowserTool(action: BrowserAction, args: BrowserActionArgs): Promise<string>;
|
|
103
|
+
export {};
|
|
68
104
|
//# sourceMappingURL=browser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../src/tools/modality/browser.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../src/tools/modality/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAOH;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACjE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpF,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACpF,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3B,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,GAAG,IAAI,MAAM,CAAC;IACd,UAAU,CAAC,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3E;AAOD,0DAA0D;AAC1D,wBAAgB,kBAAkB,IAAI,OAAO,CAa5C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAEnE;AAED,uDAAuD;AACvD,wBAAgB,wBAAwB,IAAI,IAAI,CAI/C;AAID,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,YAAY,GAAG,OAAO,CAAC;AAE3F,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA+C1C;AAID,sFAAsF;AACtF,MAAM,WAAW,WAAW;IAC1B,OAAO,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;IACpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAkBD,2EAA2E;AAC3E,KAAK,eAAe,GAAG,MAAM,OAAO,CAAC;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,eAAe,CAAA;CAAE,CAAC,CAAC;AAGtF,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,GAAG,IAAI,CAEjF;AAUD;;;;GAIG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,CAO5D;AA+CD;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAuBpG"}
|
|
@@ -8,8 +8,27 @@
|
|
|
8
8
|
* page-like object, so tests exercise navigation/click/type/extract with a
|
|
9
9
|
* fake page and no browser binary.
|
|
10
10
|
*
|
|
11
|
+
* THE SESSION (2026-10-12). Page automation is a SEQUENCE — open a login form,
|
|
12
|
+
* type the user, type the password, click submit, extract the result — and it
|
|
13
|
+
* used to be impossible: every call launched a browser, ran one action, and
|
|
14
|
+
* closed it, so `click` acted on a blank page and `extract` returned nothing the
|
|
15
|
+
* model had just produced. The tool was "wired" and unusable for the exact tasks
|
|
16
|
+
* its own description recommends (login flows, dynamic scraping). One browser +
|
|
17
|
+
* one page is now kept between calls, closed on `close`, after an idle timeout,
|
|
18
|
+
* or when an action throws (a wedged page must not poison the next call), and
|
|
19
|
+
* actions are SERIALIZED so two parallel tool calls on one page cannot
|
|
20
|
+
* interleave.
|
|
21
|
+
*
|
|
22
|
+
* The availability probe uses `createRequire(import.meta.url)` — the project's
|
|
23
|
+
* convention for an optional package (see enterprise/vault.ts, config/
|
|
24
|
+
* workspace.ts). The previous bare `require.resolve` only works on Node ≥23: on
|
|
25
|
+
* the Node 18/20/22 the package declares support for, it throws and the probe
|
|
26
|
+
* silently answered "not installed" for a package that was installed.
|
|
27
|
+
*
|
|
11
28
|
* Screenshots are written to the artifacts/screenshots sandbox dir.
|
|
12
29
|
*/
|
|
30
|
+
import { createRequire } from 'node:module';
|
|
31
|
+
import { envBuff } from '../../config/paths.js';
|
|
13
32
|
import { writeArtifact, safeArtifactName, resetProbeCache } from './shared.js';
|
|
14
33
|
// ─── Availability ───────────────────────────────────────────────────────────
|
|
15
34
|
let _available = null;
|
|
@@ -21,8 +40,10 @@ export function isBrowserAvailable() {
|
|
|
21
40
|
if (_available !== null)
|
|
22
41
|
return _available;
|
|
23
42
|
try {
|
|
24
|
-
//
|
|
25
|
-
|
|
43
|
+
// ESM-safe: a bare `require` is not a global here (and on Node 18/20/22 it
|
|
44
|
+
// is not even defined), so the optional package is resolved through the
|
|
45
|
+
// require the ONE way that works in every supported runtime.
|
|
46
|
+
createRequire(import.meta.url).resolve('playwright');
|
|
26
47
|
_available = true;
|
|
27
48
|
}
|
|
28
49
|
catch {
|
|
@@ -97,29 +118,105 @@ export async function executeBrowserAction(page, action, args) {
|
|
|
97
118
|
return { text: `browser: unknown action '${action}'` };
|
|
98
119
|
}
|
|
99
120
|
}
|
|
121
|
+
let _session = null;
|
|
122
|
+
/** How long an idle session is kept before it is closed (5 min by default). */
|
|
123
|
+
const DEFAULT_IDLE_MS = 5 * 60 * 1000;
|
|
124
|
+
function idleMs() {
|
|
125
|
+
const raw = Number(envBuff('BROWSER_IDLE_MS'));
|
|
126
|
+
return Number.isFinite(raw) && raw > 0 ? raw : DEFAULT_IDLE_MS;
|
|
127
|
+
}
|
|
128
|
+
let _launcher = null;
|
|
129
|
+
export function setBrowserLauncherForTests(launcher) {
|
|
130
|
+
_launcher = launcher;
|
|
131
|
+
}
|
|
132
|
+
/** The real launcher: headless chromium, one page. */
|
|
133
|
+
async function launchChromium() {
|
|
134
|
+
const { chromium } = await import('playwright');
|
|
135
|
+
const browser = (await chromium.launch({ headless: true }));
|
|
136
|
+
const page = await browser.newPage();
|
|
137
|
+
return { browser, page };
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Close the session (best-effort, never throws). Returns true when one was open.
|
|
141
|
+
* Exported so a caller can end automation deterministically instead of waiting
|
|
142
|
+
* for the idle timer.
|
|
143
|
+
*/
|
|
144
|
+
export async function closeBrowserSession() {
|
|
145
|
+
const session = _session;
|
|
146
|
+
_session = null;
|
|
147
|
+
if (!session)
|
|
148
|
+
return false;
|
|
149
|
+
if (session.timer)
|
|
150
|
+
clearTimeout(session.timer);
|
|
151
|
+
await session.browser.close().catch(() => undefined);
|
|
152
|
+
return true;
|
|
153
|
+
}
|
|
154
|
+
/** (Re)arm the idle timer so a live session is not closed mid-flow. */
|
|
155
|
+
function touchSession(session) {
|
|
156
|
+
if (session.timer)
|
|
157
|
+
clearTimeout(session.timer);
|
|
158
|
+
session.timer = setTimeout(() => {
|
|
159
|
+
void closeBrowserSession();
|
|
160
|
+
}, idleMs());
|
|
161
|
+
// Never hold the process open just for the idle timer.
|
|
162
|
+
session.timer.unref?.();
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* The page for this call: the live one, or a freshly launched browser. Also
|
|
166
|
+
* used by `close` (which needs no page) to report whether one existed.
|
|
167
|
+
*/
|
|
168
|
+
async function acquirePage() {
|
|
169
|
+
if (_session) {
|
|
170
|
+
touchSession(_session);
|
|
171
|
+
return _session.page;
|
|
172
|
+
}
|
|
173
|
+
const launched = await (_launcher ?? launchChromium)();
|
|
174
|
+
const session = { browser: launched.browser, page: launched.page, timer: null };
|
|
175
|
+
_session = session;
|
|
176
|
+
touchSession(session);
|
|
177
|
+
return session.page;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* One action at a time. Two parallel tool calls must not interleave on one page
|
|
181
|
+
* (a click landing between another call's type and its submit is a bug that
|
|
182
|
+
* looks like a flaky site). The queue is a promise chain, so callers still get
|
|
183
|
+
* their own result and a rejected action never stalls the chain.
|
|
184
|
+
*/
|
|
185
|
+
let _queue = Promise.resolve();
|
|
186
|
+
function serialize(fn) {
|
|
187
|
+
const run = _queue.then(fn, fn);
|
|
188
|
+
_queue = run.then(() => undefined, () => undefined);
|
|
189
|
+
return run;
|
|
190
|
+
}
|
|
100
191
|
// ─── Tool-facing run ────────────────────────────────────────────────────────
|
|
101
192
|
/**
|
|
102
|
-
* Run a browser action against a REAL playwright browser
|
|
103
|
-
*
|
|
193
|
+
* Run a browser action against a REAL playwright browser, reusing ONE session
|
|
194
|
+
* across calls so a multi-step flow (open → type → click → extract) works.
|
|
195
|
+
* Returns a friendly message when playwright is missing.
|
|
104
196
|
*/
|
|
105
197
|
export async function runBrowserTool(action, args) {
|
|
106
|
-
if (!isBrowserAvailable()) {
|
|
107
|
-
return 'browser: unavailable — install the optional playwright package (npm i playwright && npx playwright install chromium)
|
|
198
|
+
if (!isBrowserAvailable() && !_launcher) {
|
|
199
|
+
return 'browser: unavailable — install the optional playwright package (nuvira tools install browser, or npm i playwright && npx playwright install chromium).';
|
|
108
200
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
201
|
+
return serialize(async () => {
|
|
202
|
+
if (action === 'close') {
|
|
203
|
+
const closed = await closeBrowserSession();
|
|
204
|
+
return closed
|
|
205
|
+
? 'browser_close: session closed'
|
|
206
|
+
: 'browser_close: no session was open';
|
|
207
|
+
}
|
|
112
208
|
try {
|
|
113
|
-
const page = await
|
|
209
|
+
const page = await acquirePage();
|
|
114
210
|
const result = await executeBrowserAction(page, action, args);
|
|
211
|
+
touchSession(_session);
|
|
115
212
|
return result.text;
|
|
116
213
|
}
|
|
117
|
-
|
|
118
|
-
|
|
214
|
+
catch (err) {
|
|
215
|
+
// A failed action can leave the page (or the browser) unusable — drop the
|
|
216
|
+
// session so the next call starts clean instead of acting on a dead page.
|
|
217
|
+
await closeBrowserSession();
|
|
218
|
+
return `browser: ${action} failed — ${err instanceof Error ? err.message : String(err)}`;
|
|
119
219
|
}
|
|
120
|
-
}
|
|
121
|
-
catch (err) {
|
|
122
|
-
return `browser: failed — ${err instanceof Error ? err.message : String(err)}`;
|
|
123
|
-
}
|
|
220
|
+
});
|
|
124
221
|
}
|
|
125
222
|
//# sourceMappingURL=browser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../src/tools/modality/browser.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../src/tools/modality/browser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Optional-tool install recipes (`nuvira tools install <name>`).
|
|
3
|
+
*
|
|
4
|
+
* WHY THIS EXISTS. Several tools are OPTIONAL by design — the heavy download is
|
|
5
|
+
* the user's decision, not something a fresh clone should pay for. `browser`
|
|
6
|
+
* (playwright) documents its own opt-in in its module header as
|
|
7
|
+
* "`nuvira tools install browser`", and no such command existed: the docstring
|
|
8
|
+
* described a surface the CLI did not have, so the only path was knowing the
|
|
9
|
+
* npm incantation by heart. This module is the DATA TABLE behind that command.
|
|
10
|
+
*
|
|
11
|
+
* Two rules:
|
|
12
|
+
* 1. A recipe names the package that MUST resolve for the tool to be
|
|
13
|
+
* available, so the result can be verified rather than announced. The
|
|
14
|
+
* `packageName` here is the same string the tool's own availability probe
|
|
15
|
+
* resolves — a test asserts the two agree, so the command cannot install
|
|
16
|
+
* one thing while the tool waits for another.
|
|
17
|
+
* 2. A recipe never claims success. It states what it ran and what the probe
|
|
18
|
+
* says AFTER, and a missing binary download is reported as the remaining
|
|
19
|
+
* step rather than a failure of the whole install.
|
|
20
|
+
*
|
|
21
|
+
* Pure data + lookup — no spawn, no fs, so the CLI decides and the test asserts.
|
|
22
|
+
*/
|
|
23
|
+
export interface OptionalToolRecipe {
|
|
24
|
+
/** Command argument: `nuvira tools install <id>`. */
|
|
25
|
+
id: string;
|
|
26
|
+
/** What the tool can do once installed, in the user's words. */
|
|
27
|
+
enables: string;
|
|
28
|
+
/**
|
|
29
|
+
* The npm package whose resolvability IS the tool's availability. Must match
|
|
30
|
+
* the probe in the tool module (asserted by test/optional-deps).
|
|
31
|
+
*/
|
|
32
|
+
packageName: string;
|
|
33
|
+
/** Install command for the package itself. */
|
|
34
|
+
installPackage: string;
|
|
35
|
+
/**
|
|
36
|
+
* A one-time asset download the package needs before it can actually run
|
|
37
|
+
* (playwright ships the driver, not the browser binary). Empty when none.
|
|
38
|
+
*/
|
|
39
|
+
installBinaries?: string;
|
|
40
|
+
/** What to do by hand when the automated install cannot run here. */
|
|
41
|
+
manualHint: string;
|
|
42
|
+
}
|
|
43
|
+
export declare const OPTIONAL_TOOL_RECIPES: OptionalToolRecipe[];
|
|
44
|
+
/** Look a recipe up by id. Returns null for an unknown tool (never guesses). */
|
|
45
|
+
export declare function getOptionalToolRecipe(id: string): OptionalToolRecipe | null;
|
|
46
|
+
/** One line per known tool, so `tools install` with no argument can list them. */
|
|
47
|
+
export declare function describeOptionalTools(): string[];
|
|
48
|
+
//# sourceMappingURL=optional-deps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optional-deps.d.ts","sourceRoot":"","sources":["../../src/tools/optional-deps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,WAAW,kBAAkB;IACjC,qDAAqD;IACrD,EAAE,EAAE,MAAM,CAAC;IACX,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,cAAc,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qEAAqE;IACrE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,qBAAqB,EAAE,kBAAkB,EAWrD,CAAC;AAEF,gFAAgF;AAChF,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAG3E;AAED,kFAAkF;AAClF,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAEhD"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Optional-tool install recipes (`nuvira tools install <name>`).
|
|
3
|
+
*
|
|
4
|
+
* WHY THIS EXISTS. Several tools are OPTIONAL by design — the heavy download is
|
|
5
|
+
* the user's decision, not something a fresh clone should pay for. `browser`
|
|
6
|
+
* (playwright) documents its own opt-in in its module header as
|
|
7
|
+
* "`nuvira tools install browser`", and no such command existed: the docstring
|
|
8
|
+
* described a surface the CLI did not have, so the only path was knowing the
|
|
9
|
+
* npm incantation by heart. This module is the DATA TABLE behind that command.
|
|
10
|
+
*
|
|
11
|
+
* Two rules:
|
|
12
|
+
* 1. A recipe names the package that MUST resolve for the tool to be
|
|
13
|
+
* available, so the result can be verified rather than announced. The
|
|
14
|
+
* `packageName` here is the same string the tool's own availability probe
|
|
15
|
+
* resolves — a test asserts the two agree, so the command cannot install
|
|
16
|
+
* one thing while the tool waits for another.
|
|
17
|
+
* 2. A recipe never claims success. It states what it ran and what the probe
|
|
18
|
+
* says AFTER, and a missing binary download is reported as the remaining
|
|
19
|
+
* step rather than a failure of the whole install.
|
|
20
|
+
*
|
|
21
|
+
* Pure data + lookup — no spawn, no fs, so the CLI decides and the test asserts.
|
|
22
|
+
*/
|
|
23
|
+
export const OPTIONAL_TOOL_RECIPES = [
|
|
24
|
+
{
|
|
25
|
+
id: 'browser',
|
|
26
|
+
enables: 'the `browser` tool — open/click/type/extract/screenshot on a real page, with the session persisting between calls (login flows, dynamic sites)',
|
|
27
|
+
packageName: 'playwright',
|
|
28
|
+
installPackage: 'npm install playwright',
|
|
29
|
+
installBinaries: 'npx playwright install chromium',
|
|
30
|
+
manualHint: 'Install manually with `npm install playwright && npx playwright install chromium`. The chromium download is ~150 MB and only has to happen once.',
|
|
31
|
+
},
|
|
32
|
+
];
|
|
33
|
+
/** Look a recipe up by id. Returns null for an unknown tool (never guesses). */
|
|
34
|
+
export function getOptionalToolRecipe(id) {
|
|
35
|
+
const wanted = String(id ?? '').trim().toLowerCase();
|
|
36
|
+
return OPTIONAL_TOOL_RECIPES.find((r) => r.id === wanted) ?? null;
|
|
37
|
+
}
|
|
38
|
+
/** One line per known tool, so `tools install` with no argument can list them. */
|
|
39
|
+
export function describeOptionalTools() {
|
|
40
|
+
return OPTIONAL_TOOL_RECIPES.map((r) => `${r.id} — ${r.enables}`);
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=optional-deps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optional-deps.js","sourceRoot":"","sources":["../../src/tools/optional-deps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAuBH,MAAM,CAAC,MAAM,qBAAqB,GAAyB;IACzD;QACE,EAAE,EAAE,SAAS;QACb,OAAO,EACL,gJAAgJ;QAClJ,WAAW,EAAE,YAAY;QACzB,cAAc,EAAE,wBAAwB;QACxC,eAAe,EAAE,iCAAiC;QAClD,UAAU,EACR,kJAAkJ;KACrJ;CACF,CAAC;AAEF,gFAAgF;AAChF,MAAM,UAAU,qBAAqB,CAAC,EAAU;IAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrD,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC;AACpE,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,qBAAqB;IACnC,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AACpE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/registry.js
CHANGED
|
@@ -243,7 +243,9 @@ const readPageSchema = z.object({
|
|
|
243
243
|
});
|
|
244
244
|
/** I2 — browser tool args: Playwright automation (optional install). */
|
|
245
245
|
const browserSchema = z.object({
|
|
246
|
-
action: z
|
|
246
|
+
action: z
|
|
247
|
+
.enum(['open', 'click', 'type', 'extract', 'screenshot', 'close'])
|
|
248
|
+
.describe('What to do: open a URL, click a selector, type into a field, extract page text, screenshot, or close the session. The page PERSISTS between calls, so a flow is open → type → click → extract; call close when finished.'),
|
|
247
249
|
url: z.string().url().optional().describe('URL for action=open'),
|
|
248
250
|
selector: z.string().optional().describe('CSS selector for click/type/extract'),
|
|
249
251
|
text: z.string().optional().describe('Text to type (action=type)'),
|
|
@@ -974,7 +976,7 @@ registerTool({
|
|
|
974
976
|
registerTool({
|
|
975
977
|
name: 'browser',
|
|
976
978
|
capability: { effectClass: 'external', reversible: false, grantCategory: 'external' },
|
|
977
|
-
description: 'Automate a real browser (open/click/type/extract/screenshot). Requires the optional playwright package (
|
|
979
|
+
description: 'Automate a real browser (open/click/type/extract/screenshot/close). Requires the optional playwright package (nuvira tools install browser). The session persists between calls, so multi-step flows (login, form fill, then extract) work in one turn. Use for tasks that need a live page (login flows, scraping dynamic sites).',
|
|
978
980
|
category: 'workflow',
|
|
979
981
|
inputSchema: browserSchema,
|
|
980
982
|
endsAgentStep: false,
|
|
@@ -1264,18 +1266,39 @@ registerTool({
|
|
|
1264
1266
|
state: z.string().optional().describe('OAuth state'),
|
|
1265
1267
|
}),
|
|
1266
1268
|
endsAgentStep: false,
|
|
1267
|
-
run: (args) =>
|
|
1269
|
+
run: async (args) => {
|
|
1268
1270
|
const { action, serverId, code, state } = args;
|
|
1271
|
+
const m = await import('../mcp/mcp-oauth.js');
|
|
1269
1272
|
const mgr = m.getMCPOAuthManager();
|
|
1270
1273
|
switch (action) {
|
|
1271
|
-
case 'status':
|
|
1272
|
-
|
|
1274
|
+
case 'status':
|
|
1275
|
+
// Public accessors only — this used to read the manager's private
|
|
1276
|
+
// `states` map, so a renamed field would have made it silently empty.
|
|
1277
|
+
return JSON.stringify({ servers: mgr.listServers() });
|
|
1278
|
+
case 'authorize': {
|
|
1279
|
+
if (!serverId)
|
|
1280
|
+
return 'serverId required';
|
|
1281
|
+
// A client-credentials server needs no human, so mint the token here.
|
|
1282
|
+
// The interactive flow needs a browser and a loopback redirect that a
|
|
1283
|
+
// tool call cannot hold open — it lives in the CLI, and saying so is
|
|
1284
|
+
// better than returning an authorization URL built from an empty config
|
|
1285
|
+
// (which is what this action used to do).
|
|
1286
|
+
const { resolveOAuthAccessToken } = await import('../mcp/oauth-connect.js');
|
|
1287
|
+
const { getMCPManager } = await import('../mcp/manager.js');
|
|
1288
|
+
const config = getMCPManager().discoverConfigs().find((c) => c.name === serverId);
|
|
1289
|
+
if (config?.oauth?.grant === 'client_credentials') {
|
|
1290
|
+
const outcome = await resolveOAuthAccessToken(config);
|
|
1291
|
+
return JSON.stringify(outcome.ok ? { ok: true, how: outcome.how } : { ok: false, reason: outcome.reason });
|
|
1292
|
+
}
|
|
1293
|
+
return (`Run \`nuvira mcp authorize ${serverId}\` in the terminal: the consent step needs a browser and a loopback ` +
|
|
1294
|
+
'redirect that stays open until the provider calls back, which a tool call cannot do.');
|
|
1295
|
+
}
|
|
1273
1296
|
case 'callback': return code && state ? mgr.exchangeCode(serverId || 'default', code, state).then((r) => JSON.stringify(r)) : 'code, state, and serverId required';
|
|
1274
1297
|
case 'refresh': return serverId ? mgr.refreshToken(serverId).then((r) => JSON.stringify(r)) : 'serverId required';
|
|
1275
1298
|
case 'revoke': return serverId ? (mgr.clearTokens(serverId), 'Cleared') : 'serverId required';
|
|
1276
1299
|
default: return 'Unknown action';
|
|
1277
1300
|
}
|
|
1278
|
-
}
|
|
1301
|
+
},
|
|
1279
1302
|
});
|
|
1280
1303
|
// MCP Schema Cache tool
|
|
1281
1304
|
registerTool({
|
|
@@ -3649,13 +3672,47 @@ registerTool({
|
|
|
3649
3672
|
registerTool({
|
|
3650
3673
|
name: 'memory_stats',
|
|
3651
3674
|
capability: { effectClass: 'read' },
|
|
3652
|
-
description: 'Get memory statistics.',
|
|
3675
|
+
description: 'Get memory statistics, including which VECTOR BACKEND is live (native FAISS / pure-JS IVF / exact scan), the number of indexed entries and dimensions, and how many semantic facts are stored. This is the honest answer to "what memory do you have and how does recall work here".',
|
|
3653
3676
|
category: 'workflow',
|
|
3654
3677
|
inputSchema: z.object({}),
|
|
3655
3678
|
endsAgentStep: false,
|
|
3656
|
-
run:
|
|
3657
|
-
const
|
|
3658
|
-
|
|
3659
|
-
|
|
3679
|
+
run: async () => {
|
|
3680
|
+
const m = await import('./memory-tools.js');
|
|
3681
|
+
const base = m.getMemoryStore().getStats();
|
|
3682
|
+
// The vector half is reported here because this tool is also served over
|
|
3683
|
+
// MCP to EXTERNAL clients (see `nuvira mcp serve --memory`): a client asking
|
|
3684
|
+
// what it can recall must be told which tier actually backs the store, not
|
|
3685
|
+
// just how many keyword entries exist. Degrades honestly — a backend that
|
|
3686
|
+
// cannot be resolved is reported as such, never as zero.
|
|
3687
|
+
try {
|
|
3688
|
+
const { getVectorStore, describeBackendTier } = await import('../memory/vector-store.js');
|
|
3689
|
+
const vs = getVectorStore();
|
|
3690
|
+
const vsStats = vs.stats();
|
|
3691
|
+
const backend = await vs.backendName();
|
|
3692
|
+
let facts = null;
|
|
3693
|
+
try {
|
|
3694
|
+
facts = (await (await import('../memory/fact-store.js')).getFactStore().stats()).total;
|
|
3695
|
+
}
|
|
3696
|
+
catch {
|
|
3697
|
+
// The fact store is optional (it needs an embedding tier) — omit it.
|
|
3698
|
+
}
|
|
3699
|
+
return JSON.stringify({
|
|
3700
|
+
...base,
|
|
3701
|
+
vector: {
|
|
3702
|
+
backend,
|
|
3703
|
+
tier: describeBackendTier(backend),
|
|
3704
|
+
entries: vsStats.totalEntries,
|
|
3705
|
+
dimensions: vsStats.dimensions,
|
|
3706
|
+
facts,
|
|
3707
|
+
},
|
|
3708
|
+
});
|
|
3709
|
+
}
|
|
3710
|
+
catch (err) {
|
|
3711
|
+
return JSON.stringify({
|
|
3712
|
+
...base,
|
|
3713
|
+
vector: { error: err instanceof Error ? err.message : String(err) },
|
|
3714
|
+
});
|
|
3715
|
+
}
|
|
3716
|
+
},
|
|
3660
3717
|
});
|
|
3661
3718
|
//# sourceMappingURL=registry.js.map
|