@aria-cli/tools 1.0.19 → 1.0.33
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/.aria-build-stamp.json +1 -1
- package/dist/ask-user-interaction.js +23 -0
- package/dist/cache/web-cache.js +67 -0
- package/dist/definitions/arion.js +105 -0
- package/dist/definitions/browser/browser.js +419 -0
- package/dist/definitions/browser/index.js +5 -0
- package/dist/definitions/browser/pw-downloads.js +115 -0
- package/dist/definitions/browser/pw-interactions.js +200 -0
- package/dist/definitions/browser/pw-responses.js +77 -0
- package/dist/definitions/browser/pw-session.js +311 -0
- package/dist/definitions/browser/pw-shared.js +67 -0
- package/dist/definitions/browser/pw-snapshot.js +302 -0
- package/dist/definitions/browser/pw-state.js +63 -0
- package/dist/definitions/browser/types.js +5 -0
- package/dist/definitions/code-intelligence.js +471 -0
- package/dist/definitions/core.js +110 -0
- package/dist/definitions/delegation.js +513 -0
- package/dist/definitions/deploy.js +66 -0
- package/dist/definitions/filesystem.js +197 -0
- package/dist/definitions/frg.js +64 -0
- package/{dist-cjs/definitions/index.d.ts → dist/definitions/index.js} +2 -0
- package/dist/definitions/memory.js +124 -0
- package/dist/definitions/messaging.js +626 -0
- package/dist/definitions/meta.js +350 -0
- package/dist/definitions/network.js +160 -0
- package/dist/definitions/outlook.js +278 -0
- package/dist/definitions/patch/apply-patch.js +185 -0
- package/dist/definitions/patch/fuzzy-match.js +167 -0
- package/{dist-cjs/definitions/patch/index.d.ts → dist/definitions/patch/index.js} +1 -0
- package/dist/definitions/patch/patch-parser.js +208 -0
- package/dist/definitions/patch/sandbox-paths.js +106 -0
- package/dist/definitions/process/index.js +5 -0
- package/dist/definitions/process/process-registry.js +214 -0
- package/dist/definitions/process/process.js +387 -0
- package/dist/definitions/process/pty-keys.js +255 -0
- package/dist/definitions/process/session-slug.js +143 -0
- package/dist/definitions/quip.js +196 -0
- package/dist/definitions/search.js +61 -0
- package/dist/definitions/session-history.js +70 -0
- package/dist/definitions/shell.js +182 -0
- package/dist/definitions/slack.js +181 -0
- package/dist/definitions/web.js +110 -0
- package/dist/executors/apply-patch.js +902 -0
- package/dist/executors/arion.js +120 -0
- package/dist/executors/code-intelligence.js +883 -0
- package/dist/executors/deploy.js +849 -0
- package/dist/executors/filesystem.js +1119 -0
- package/dist/executors/frg-freshness.js +577 -0
- package/dist/executors/frg.js +299 -0
- package/{dist-cjs/executors/index.d.ts → dist/executors/index.js} +22 -19
- package/dist/executors/learning-meta.js +1147 -0
- package/dist/executors/lsp-client.js +297 -0
- package/dist/executors/memory.js +751 -0
- package/dist/executors/meta.js +221 -0
- package/dist/executors/process-registry.js +466 -0
- package/dist/executors/pty-session-store.js +31 -0
- package/dist/executors/pty.js +281 -0
- package/dist/executors/restart.js +120 -0
- package/dist/executors/search-freshness.js +196 -0
- package/dist/executors/search-types.js +53 -0
- package/dist/executors/search.js +67 -0
- package/dist/executors/self-diagnose.js +399 -0
- package/dist/executors/session-history.js +284 -0
- package/dist/executors/shell-safety.js +474 -0
- package/dist/executors/shell.js +955 -0
- package/dist/executors/utils.js +34 -0
- package/dist/executors/web.js +543 -0
- package/dist/extraction/content-extraction.js +248 -0
- package/dist/extraction/index.js +5 -0
- package/dist/headless-control-contract.js +968 -0
- package/dist/{index-v49pd2a0.js → index-45qvfjbf.js} +2 -2
- package/dist/index.js +71 -372
- package/dist/local-control-http-auth.js +3 -0
- package/dist/mcp/client.js +182 -0
- package/dist/mcp/connection.js +484 -0
- package/dist/mcp/index.js +11 -0
- package/dist/mcp/jsonrpc.js +145 -0
- package/dist/mcp/types.js +8 -0
- package/dist/network-control-adapter.js +73 -0
- package/dist/network-runtime/address-types.js +166 -0
- package/dist/network-runtime/db-owner-fencing.js +70 -0
- package/dist/network-runtime/delivery-receipts.js +270 -0
- package/dist/network-runtime/direct-endpoint-authority.js +26 -0
- package/dist/network-runtime/index.js +13 -1
- package/dist/network-runtime/local-control-contract.js +628 -0
- package/dist/network-runtime/node-store-contract.js +35 -0
- package/dist/network-runtime/pair-route-contract.js +78 -0
- package/dist/network-runtime/peer-capabilities.js +29 -0
- package/dist/network-runtime/peer-principal-ref.js +13 -0
- package/dist/network-runtime/peer-state-machine.js +122 -0
- package/dist/network-runtime/protocol-schemas.js +206 -0
- package/dist/network-runtime/runtime-bootstrap-contract.js +61 -0
- package/dist/outlook/desktop-session.js +280 -0
- package/dist/policy.js +150 -0
- package/dist/providers/brave.js +63 -0
- package/dist/providers/duckduckgo.js +177 -0
- package/dist/providers/exa.js +64 -0
- package/dist/providers/firecrawl.js +56 -0
- package/{dist-cjs/providers/index.d.ts → dist/providers/index.js} +1 -1
- package/dist/providers/jina.js +50 -0
- package/dist/providers/router.js +97 -0
- package/dist/providers/search-provider.js +33 -0
- package/dist/providers/tavily.js +55 -0
- package/dist/pty-w5c9dv33.js +1 -0
- package/dist/quip/desktop-session.js +318 -0
- package/{dist-cjs/registry/index.d.ts → dist/registry/index.js} +1 -0
- package/dist/registry/registry.js +757 -0
- package/dist/runtime-socket-local-control-client.js +331 -0
- package/dist/security/dns-normalization.js +20 -0
- package/dist/security/dns-pinning.js +124 -0
- package/dist/security/external-content.js +92 -0
- package/dist/security/ssrf.js +182 -0
- package/dist/slack/desktop-session.js +325 -0
- package/dist/tool-factory.js +48 -0
- package/dist/types.js +8 -0
- package/dist/utils/retry.js +133 -0
- package/dist/utils/safe-parse-json.js +161 -0
- package/dist/utils/url.js +20 -0
- package/dist-cjs/ask-user-interaction.js +28 -0
- package/dist-cjs/cache/web-cache.js +71 -0
- package/dist-cjs/definitions/arion.js +108 -0
- package/dist-cjs/definitions/browser/browser.js +422 -0
- package/dist-cjs/definitions/browser/index.js +9 -0
- package/dist-cjs/definitions/browser/pw-downloads.js +118 -0
- package/dist-cjs/definitions/browser/pw-interactions.js +214 -0
- package/dist-cjs/definitions/browser/pw-responses.js +85 -0
- package/dist-cjs/definitions/browser/pw-session.js +327 -0
- package/dist-cjs/definitions/browser/pw-shared.js +73 -0
- package/dist-cjs/definitions/browser/pw-snapshot.js +308 -0
- package/dist-cjs/definitions/browser/pw-state.js +71 -0
- package/dist-cjs/definitions/browser/types.js +6 -0
- package/dist-cjs/definitions/code-intelligence.js +474 -0
- package/dist-cjs/definitions/core.js +134 -0
- package/dist-cjs/definitions/delegation.js +516 -0
- package/dist-cjs/definitions/deploy.js +69 -0
- package/dist-cjs/definitions/filesystem.js +200 -0
- package/dist-cjs/definitions/frg.js +67 -0
- package/dist-cjs/definitions/index.js +44 -0
- package/dist-cjs/definitions/memory.js +127 -0
- package/dist-cjs/definitions/messaging.js +632 -0
- package/dist-cjs/definitions/meta.js +353 -0
- package/dist-cjs/definitions/network.js +163 -0
- package/dist-cjs/definitions/outlook.js +281 -0
- package/dist-cjs/definitions/patch/apply-patch.js +192 -0
- package/dist-cjs/definitions/patch/fuzzy-match.js +173 -0
- package/dist-cjs/definitions/patch/index.js +6 -0
- package/dist-cjs/definitions/patch/patch-parser.js +216 -0
- package/dist-cjs/definitions/patch/sandbox-paths.js +114 -0
- package/dist-cjs/definitions/process/index.js +9 -0
- package/dist-cjs/definitions/process/process-registry.js +232 -0
- package/dist-cjs/definitions/process/process.js +390 -0
- package/dist-cjs/definitions/process/pty-keys.js +260 -0
- package/dist-cjs/definitions/process/session-slug.js +146 -0
- package/dist-cjs/definitions/quip.js +199 -0
- package/dist-cjs/definitions/search.js +64 -0
- package/dist-cjs/definitions/session-history.js +73 -0
- package/dist-cjs/definitions/shell.js +185 -0
- package/dist-cjs/definitions/slack.js +184 -0
- package/dist-cjs/definitions/web.js +113 -0
- package/dist-cjs/executors/apply-patch.js +939 -0
- package/dist-cjs/executors/arion.js +126 -0
- package/dist-cjs/executors/code-intelligence.js +926 -0
- package/dist-cjs/executors/deploy.js +870 -0
- package/dist-cjs/executors/filesystem.js +1164 -0
- package/dist-cjs/executors/frg-freshness.js +628 -0
- package/dist-cjs/executors/frg.js +335 -0
- package/dist-cjs/executors/index.js +144 -0
- package/dist-cjs/executors/learning-meta.js +1166 -0
- package/dist-cjs/executors/memory.js +797 -0
- package/dist-cjs/executors/meta.js +227 -0
- package/dist-cjs/executors/process-registry.js +470 -0
- package/dist-cjs/executors/pty-session-store.js +35 -0
- package/dist-cjs/executors/pty.js +289 -0
- package/dist-cjs/executors/restart.js +156 -0
- package/dist-cjs/executors/search-freshness.js +235 -0
- package/dist-cjs/executors/search-types.js +57 -0
- package/dist-cjs/executors/search.js +103 -0
- package/dist-cjs/executors/self-diagnose.js +435 -0
- package/dist-cjs/executors/session-history.js +321 -0
- package/dist-cjs/executors/shell-safety.js +479 -0
- package/dist-cjs/executors/shell.js +1002 -0
- package/dist-cjs/executors/utils.js +74 -0
- package/dist-cjs/executors/web.js +548 -0
- package/dist-cjs/extraction/content-extraction.js +289 -0
- package/dist-cjs/extraction/index.js +9 -0
- package/dist-cjs/headless-control-contract.js +973 -0
- package/dist-cjs/index.js +436 -385
- package/dist-cjs/local-control-http-auth.js +6 -0
- package/dist-cjs/mcp/client.js +186 -0
- package/dist-cjs/mcp/connection.js +488 -0
- package/dist-cjs/mcp/index.js +31 -0
- package/dist-cjs/mcp/jsonrpc.js +149 -0
- package/dist-cjs/mcp/types.js +9 -0
- package/dist-cjs/network-control-adapter.js +78 -0
- package/dist-cjs/network-runtime/address-types.js +169 -0
- package/dist-cjs/network-runtime/db-owner-fencing.js +77 -0
- package/dist-cjs/network-runtime/delivery-receipts.js +279 -0
- package/dist-cjs/network-runtime/direct-endpoint-authority.js +30 -0
- package/dist-cjs/network-runtime/index.js +173 -8
- package/dist-cjs/network-runtime/local-control-contract.js +634 -0
- package/dist-cjs/network-runtime/node-store-contract.js +39 -0
- package/dist-cjs/network-runtime/pair-route-contract.js +81 -0
- package/dist-cjs/network-runtime/peer-capabilities.js +38 -0
- package/dist-cjs/network-runtime/peer-principal-ref.js +16 -0
- package/dist-cjs/network-runtime/peer-state-machine.js +130 -0
- package/dist-cjs/network-runtime/protocol-schemas.js +213 -0
- package/dist-cjs/network-runtime/runtime-bootstrap-contract.js +64 -0
- package/dist-cjs/outlook/desktop-session.js +319 -0
- package/dist-cjs/policy.js +156 -0
- package/dist-cjs/providers/brave.js +67 -0
- package/dist-cjs/providers/duckduckgo.js +181 -0
- package/dist-cjs/providers/exa.js +68 -0
- package/dist-cjs/providers/firecrawl.js +60 -0
- package/dist-cjs/providers/index.js +18 -0
- package/dist-cjs/providers/jina.js +54 -0
- package/dist-cjs/providers/router.js +101 -0
- package/dist-cjs/providers/search-provider.js +37 -0
- package/dist-cjs/providers/tavily.js +59 -0
- package/dist-cjs/quip/desktop-session.js +354 -0
- package/dist-cjs/registry/index.js +7 -0
- package/dist-cjs/registry/registry.js +762 -0
- package/dist-cjs/runtime-socket-local-control-client.js +368 -0
- package/dist-cjs/security/dns-normalization.js +23 -0
- package/dist-cjs/security/dns-pinning.js +161 -0
- package/dist-cjs/security/external-content.js +96 -0
- package/dist-cjs/security/ssrf.js +222 -0
- package/dist-cjs/slack/desktop-session.js +367 -0
- package/dist-cjs/tool-factory.js +51 -0
- package/dist-cjs/types.js +9 -0
- package/dist-cjs/utils/retry.js +170 -0
- package/dist-cjs/utils/safe-parse-json.js +165 -0
- package/dist-cjs/utils/url.js +24 -0
- package/package.json +11 -10
- package/dist/ask-user-interaction.d.ts +0 -10
- package/dist/cache/web-cache.d.ts +0 -52
- package/dist/definitions/arion.d.ts +0 -8
- package/dist/definitions/browser/browser.d.ts +0 -2
- package/dist/definitions/browser/index.d.ts +0 -1
- package/dist/definitions/browser/pw-downloads.d.ts +0 -13
- package/dist/definitions/browser/pw-interactions.d.ts +0 -78
- package/dist/definitions/browser/pw-responses.d.ts +0 -28
- package/dist/definitions/browser/pw-session.d.ts +0 -65
- package/dist/definitions/browser/pw-shared.d.ts +0 -22
- package/dist/definitions/browser/pw-snapshot.d.ts +0 -34
- package/dist/definitions/browser/pw-state.d.ts +0 -22
- package/dist/definitions/browser/types.d.ts +0 -277
- package/dist/definitions/code-intelligence.d.ts +0 -8
- package/dist/definitions/core.d.ts +0 -47
- package/dist/definitions/delegation.d.ts +0 -11
- package/dist/definitions/deploy.d.ts +0 -15
- package/dist/definitions/filesystem.d.ts +0 -9
- package/dist/definitions/frg.d.ts +0 -3
- package/dist/definitions/index.d.ts +0 -19
- package/dist/definitions/memory.d.ts +0 -8
- package/dist/definitions/messaging.d.ts +0 -11
- package/dist/definitions/meta.d.ts +0 -11
- package/dist/definitions/network.d.ts +0 -11
- package/dist/definitions/outlook.d.ts +0 -2
- package/dist/definitions/patch/apply-patch.d.ts +0 -11
- package/dist/definitions/patch/fuzzy-match.d.ts +0 -10
- package/dist/definitions/patch/index.d.ts +0 -1
- package/dist/definitions/patch/patch-parser.d.ts +0 -50
- package/dist/definitions/patch/sandbox-paths.d.ts +0 -18
- package/dist/definitions/process/index.d.ts +0 -1
- package/dist/definitions/process/process-registry.d.ts +0 -67
- package/dist/definitions/process/process.d.ts +0 -9
- package/dist/definitions/process/pty-keys.d.ts +0 -13
- package/dist/definitions/process/session-slug.d.ts +0 -1
- package/dist/definitions/quip.d.ts +0 -2
- package/dist/definitions/search.d.ts +0 -9
- package/dist/definitions/session-history.d.ts +0 -11
- package/dist/definitions/shell.d.ts +0 -8
- package/dist/definitions/slack.d.ts +0 -2
- package/dist/definitions/web.d.ts +0 -8
- package/dist/executors/apply-patch.d.ts +0 -51
- package/dist/executors/arion.d.ts +0 -50
- package/dist/executors/code-intelligence.d.ts +0 -138
- package/dist/executors/deploy.d.ts +0 -169
- package/dist/executors/filesystem.d.ts +0 -150
- package/dist/executors/frg-freshness.d.ts +0 -93
- package/dist/executors/frg.d.ts +0 -27
- package/dist/executors/index.d.ts +0 -44
- package/dist/executors/learning-meta.d.ts +0 -87
- package/dist/executors/lsp-client.d.ts +0 -38
- package/dist/executors/memory.d.ts +0 -203
- package/dist/executors/meta.d.ts +0 -73
- package/dist/executors/process-registry.d.ts +0 -98
- package/dist/executors/pty-session-store.d.ts +0 -14
- package/dist/executors/pty.d.ts +0 -133
- package/dist/executors/restart.d.ts +0 -13
- package/dist/executors/search-freshness.d.ts +0 -50
- package/dist/executors/search-types.d.ts +0 -52
- package/dist/executors/search.d.ts +0 -11
- package/dist/executors/self-diagnose.d.ts +0 -89
- package/dist/executors/session-history.d.ts +0 -75
- package/dist/executors/shell-safety.d.ts +0 -27
- package/dist/executors/shell.d.ts +0 -168
- package/dist/executors/utils.d.ts +0 -20
- package/dist/executors/web.d.ts +0 -89
- package/dist/extraction/content-extraction.d.ts +0 -48
- package/dist/extraction/index.d.ts +0 -4
- package/dist/headless-control-contract.d.ts +0 -3182
- package/dist/index.d.ts +0 -62
- package/dist/local-control-http-auth.d.ts +0 -2
- package/dist/mcp/client.d.ts +0 -68
- package/dist/mcp/connection.d.ts +0 -54
- package/dist/mcp/index.d.ts +0 -10
- package/dist/mcp/jsonrpc.d.ts +0 -36
- package/dist/mcp/types.d.ts +0 -178
- package/dist/network-control-adapter.d.ts +0 -4
- package/dist/network-runtime/address-types.d.ts +0 -201
- package/dist/network-runtime/db-owner-fencing.d.ts +0 -43
- package/dist/network-runtime/delivery-receipts.d.ts +0 -117
- package/dist/network-runtime/direct-endpoint-authority.d.ts +0 -8
- package/dist/network-runtime/index.d.ts +0 -24
- package/dist/network-runtime/local-control-contract.d.ts +0 -758
- package/dist/network-runtime/node-store-contract.d.ts +0 -49
- package/dist/network-runtime/pair-route-contract.d.ts +0 -100
- package/dist/network-runtime/peer-capabilities.d.ts +0 -10
- package/dist/network-runtime/peer-principal-ref.d.ts +0 -9
- package/dist/network-runtime/peer-state-machine.d.ts +0 -70
- package/dist/network-runtime/protocol-schemas.d.ts +0 -328
- package/dist/network-runtime/runtime-bootstrap-contract.d.ts +0 -81
- package/dist/outlook/desktop-session.d.ts +0 -68
- package/dist/policy.d.ts +0 -43
- package/dist/providers/brave.d.ts +0 -10
- package/dist/providers/duckduckgo.d.ts +0 -18
- package/dist/providers/exa.d.ts +0 -10
- package/dist/providers/firecrawl.d.ts +0 -10
- package/dist/providers/index.d.ts +0 -8
- package/dist/providers/jina.d.ts +0 -10
- package/dist/providers/router.d.ts +0 -21
- package/dist/providers/search-provider.d.ts +0 -35
- package/dist/providers/tavily.d.ts +0 -10
- package/dist/pty-cf6pmvx6.js +0 -1
- package/dist/quip/desktop-session.d.ts +0 -69
- package/dist/registry/index.d.ts +0 -1
- package/dist/registry/registry.d.ts +0 -156
- package/dist/runtime-socket-local-control-client.d.ts +0 -10
- package/dist/security/dns-normalization.d.ts +0 -6
- package/dist/security/dns-pinning.d.ts +0 -27
- package/dist/security/external-content.d.ts +0 -40
- package/dist/security/ssrf.d.ts +0 -40
- package/dist/slack/desktop-session.d.ts +0 -69
- package/dist/tool-factory.d.ts +0 -46
- package/dist/types.d.ts +0 -1192
- package/dist/utils/retry.d.ts +0 -11
- package/dist/utils/safe-parse-json.d.ts +0 -26
- package/dist/utils/url.d.ts +0 -10
- package/dist-cjs/ask-user-interaction.d.ts +0 -10
- package/dist-cjs/cache/web-cache.d.ts +0 -52
- package/dist-cjs/definitions/arion.d.ts +0 -8
- package/dist-cjs/definitions/browser/browser.d.ts +0 -2
- package/dist-cjs/definitions/browser/index.d.ts +0 -1
- package/dist-cjs/definitions/browser/pw-downloads.d.ts +0 -13
- package/dist-cjs/definitions/browser/pw-interactions.d.ts +0 -78
- package/dist-cjs/definitions/browser/pw-responses.d.ts +0 -28
- package/dist-cjs/definitions/browser/pw-session.d.ts +0 -65
- package/dist-cjs/definitions/browser/pw-shared.d.ts +0 -22
- package/dist-cjs/definitions/browser/pw-snapshot.d.ts +0 -34
- package/dist-cjs/definitions/browser/pw-state.d.ts +0 -22
- package/dist-cjs/definitions/browser/types.d.ts +0 -277
- package/dist-cjs/definitions/code-intelligence.d.ts +0 -8
- package/dist-cjs/definitions/core.d.ts +0 -47
- package/dist-cjs/definitions/delegation.d.ts +0 -11
- package/dist-cjs/definitions/deploy.d.ts +0 -15
- package/dist-cjs/definitions/filesystem.d.ts +0 -9
- package/dist-cjs/definitions/frg.d.ts +0 -3
- package/dist-cjs/definitions/memory.d.ts +0 -8
- package/dist-cjs/definitions/messaging.d.ts +0 -11
- package/dist-cjs/definitions/meta.d.ts +0 -11
- package/dist-cjs/definitions/network.d.ts +0 -11
- package/dist-cjs/definitions/outlook.d.ts +0 -2
- package/dist-cjs/definitions/patch/apply-patch.d.ts +0 -11
- package/dist-cjs/definitions/patch/fuzzy-match.d.ts +0 -10
- package/dist-cjs/definitions/patch/patch-parser.d.ts +0 -50
- package/dist-cjs/definitions/patch/sandbox-paths.d.ts +0 -18
- package/dist-cjs/definitions/process/index.d.ts +0 -1
- package/dist-cjs/definitions/process/process-registry.d.ts +0 -67
- package/dist-cjs/definitions/process/process.d.ts +0 -9
- package/dist-cjs/definitions/process/pty-keys.d.ts +0 -13
- package/dist-cjs/definitions/process/session-slug.d.ts +0 -1
- package/dist-cjs/definitions/quip.d.ts +0 -2
- package/dist-cjs/definitions/search.d.ts +0 -9
- package/dist-cjs/definitions/session-history.d.ts +0 -11
- package/dist-cjs/definitions/shell.d.ts +0 -8
- package/dist-cjs/definitions/slack.d.ts +0 -2
- package/dist-cjs/definitions/web.d.ts +0 -8
- package/dist-cjs/executors/apply-patch.d.ts +0 -51
- package/dist-cjs/executors/arion.d.ts +0 -50
- package/dist-cjs/executors/code-intelligence.d.ts +0 -138
- package/dist-cjs/executors/deploy.d.ts +0 -169
- package/dist-cjs/executors/filesystem.d.ts +0 -150
- package/dist-cjs/executors/frg-freshness.d.ts +0 -93
- package/dist-cjs/executors/frg.d.ts +0 -27
- package/dist-cjs/executors/learning-meta.d.ts +0 -87
- package/dist-cjs/executors/lsp-client.d.ts +0 -38
- package/dist-cjs/executors/memory.d.ts +0 -203
- package/dist-cjs/executors/meta.d.ts +0 -73
- package/dist-cjs/executors/process-registry.d.ts +0 -98
- package/dist-cjs/executors/pty-session-store.d.ts +0 -14
- package/dist-cjs/executors/pty.d.ts +0 -133
- package/dist-cjs/executors/restart.d.ts +0 -13
- package/dist-cjs/executors/search-freshness.d.ts +0 -50
- package/dist-cjs/executors/search-types.d.ts +0 -52
- package/dist-cjs/executors/search.d.ts +0 -11
- package/dist-cjs/executors/self-diagnose.d.ts +0 -89
- package/dist-cjs/executors/session-history.d.ts +0 -75
- package/dist-cjs/executors/shell-safety.d.ts +0 -27
- package/dist-cjs/executors/shell.d.ts +0 -168
- package/dist-cjs/executors/utils.d.ts +0 -20
- package/dist-cjs/executors/web.d.ts +0 -89
- package/dist-cjs/extraction/content-extraction.d.ts +0 -48
- package/dist-cjs/extraction/index.d.ts +0 -4
- package/dist-cjs/headless-control-contract.d.ts +0 -3182
- package/dist-cjs/index.d.ts +0 -62
- package/dist-cjs/local-control-http-auth.d.ts +0 -2
- package/dist-cjs/mcp/client.d.ts +0 -68
- package/dist-cjs/mcp/connection.d.ts +0 -54
- package/dist-cjs/mcp/index.d.ts +0 -10
- package/dist-cjs/mcp/jsonrpc.d.ts +0 -36
- package/dist-cjs/mcp/types.d.ts +0 -178
- package/dist-cjs/network-control-adapter.d.ts +0 -4
- package/dist-cjs/network-runtime/address-types.d.ts +0 -201
- package/dist-cjs/network-runtime/db-owner-fencing.d.ts +0 -43
- package/dist-cjs/network-runtime/delivery-receipts.d.ts +0 -117
- package/dist-cjs/network-runtime/direct-endpoint-authority.d.ts +0 -8
- package/dist-cjs/network-runtime/index.d.ts +0 -24
- package/dist-cjs/network-runtime/local-control-contract.d.ts +0 -758
- package/dist-cjs/network-runtime/node-store-contract.d.ts +0 -49
- package/dist-cjs/network-runtime/pair-route-contract.d.ts +0 -100
- package/dist-cjs/network-runtime/peer-capabilities.d.ts +0 -10
- package/dist-cjs/network-runtime/peer-principal-ref.d.ts +0 -9
- package/dist-cjs/network-runtime/peer-state-machine.d.ts +0 -70
- package/dist-cjs/network-runtime/protocol-schemas.d.ts +0 -328
- package/dist-cjs/network-runtime/runtime-bootstrap-contract.d.ts +0 -81
- package/dist-cjs/outlook/desktop-session.d.ts +0 -68
- package/dist-cjs/policy.d.ts +0 -43
- package/dist-cjs/providers/brave.d.ts +0 -10
- package/dist-cjs/providers/duckduckgo.d.ts +0 -18
- package/dist-cjs/providers/exa.d.ts +0 -10
- package/dist-cjs/providers/firecrawl.d.ts +0 -10
- package/dist-cjs/providers/jina.d.ts +0 -10
- package/dist-cjs/providers/router.d.ts +0 -21
- package/dist-cjs/providers/search-provider.d.ts +0 -35
- package/dist-cjs/providers/tavily.d.ts +0 -10
- package/dist-cjs/quip/desktop-session.d.ts +0 -69
- package/dist-cjs/registry/registry.d.ts +0 -156
- package/dist-cjs/runtime-socket-local-control-client.d.ts +0 -10
- package/dist-cjs/security/dns-normalization.d.ts +0 -6
- package/dist-cjs/security/dns-pinning.d.ts +0 -27
- package/dist-cjs/security/external-content.d.ts +0 -40
- package/dist-cjs/security/ssrf.d.ts +0 -40
- package/dist-cjs/slack/desktop-session.d.ts +0 -69
- package/dist-cjs/tool-factory.d.ts +0 -46
- package/dist-cjs/types.d.ts +0 -1192
- package/dist-cjs/utils/retry.d.ts +0 -11
- package/dist-cjs/utils/safe-parse-json.d.ts +0 -26
- package/dist-cjs/utils/url.d.ts +0 -10
package/dist-cjs/index.js
CHANGED
|
@@ -1,387 +1,438 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
`||V==="\r"||V==="&"&&G==="&"||V==="|"&&G==="|"){if(Q.push(Z.trim()),Z="",(V==="&"||V==="|")&&G===V)X+=1;continue}Z+=V}return Q.push(Z.trim()),Q}function FX($){let Q=[],Z="",J=!1,Y=!1,K=!1;for(let X=0;X<$.length;X++){let V=$[X],G=$[X+1],W=X>0?$[X-1]:"";if(J){if(Z+=V,V==="'")J=!1;continue}if(Y){if(Z+=V,K){K=!1;continue}if(V==="\\"){K=!0;continue}if(V==='"')Y=!1;continue}if(K){Z+=V,K=!1;continue}if(V==="\\"){Z+=V,K=!0;continue}if(V==="'"){Z+=V,J=!0;continue}if(V==='"'){Z+=V,Y=!0;continue}if(V==="|"&&G!=="|"&&W!=="|"){Q.push(Z.trim()),Z="";continue}Z+=V}return Q.push(Z.trim()),Q}function jX($){let Q=$.trim();if(Q==="")return!1;if(qX.test(Q))return!1;for(let J of UX)if(Q===J||Q.startsWith(J+" "))return!0;let Z=Q.split(/\s+/)[0]??"";return WX.has(ZZ(Z))}function W$($){let Q=$.trim();if(Q==="")return"moderate";let Z=QZ(Q);if(P9(Z))return"blocked";if(HX(Z))return"moderate";let J=DX(Z);for(let X of J)if(P9(X))return"blocked";let Y=[];for(let X of J){let V=FX(X);for(let G of V){if(P9(G))return"blocked";Y.push(G)}}if(/^[A-Za-z_]\w*=/.test(Q))return"moderate";let K=Y.filter((X)=>X.trim()!=="");if(K.length>0&&K.every(jX))return"safe";return"moderate"}function R9($,Q=[]){let Z=ZZ($).toLowerCase();if(AX.has(Z)&&Q[0]==="-c"&&typeof Q[1]==="string")return W$(Q[1]);return W$([$,...Q].join(" "))}var WX,UX,K7,qX,AX;var X7=A$(()=>{WX=new Set(["ls","cat","head","tail","wc","file","stat","grep","rg","find","which","whereis","echo","date","whoami","pwd","printenv","uname","hostname"]),UX=["git stash list","git status","git log","git diff","git show","git blame","git branch","git remote","git tag","node --version","npm --version","pnpm --version","python --version","pnpm list","npm list"],K7=[/rm\s+(?:--?[A-Za-z0-9-]+\s+)*\/(?:\s|$)/,/rm\s+(?:--?[A-Za-z0-9-]+\s+)*\/\*(?:\s|$)/,/rm\s+(?:--?[A-Za-z0-9-]+\s+)*\.(?:\s|$)/,/rm\s+(?:--?[A-Za-z0-9-]+\s+)*~(?:[a-zA-Z]\w*)?(?:\/\*)?(?:\s|$)/,/rm\s+(?:--?[A-Za-z0-9-]+\s+)*\$HOME\b/,/rm\s+(?:--?[A-Za-z0-9-]+\s+)*\*(?:\s|$)/,/>\s*\/dev\/(?:sd[a-z]|nvme\d+|vd[a-z])\b/,/mkfs/,/dd\s+.*(?:if=|of=)/,/chmod\s+(?:-R\s+)?777\b/,/curl[\s\S]*\|\s*(ba)?sh/,/wget[\s\S]*\|\s*(ba)?sh/,/(?:^|[;&|]\s*|\$\(|`|\()\s*(?:(?:env|command)\s+)*eval\b/,/(?:^|[;&|]\s*|\$\(|`|\()\s*(?:(?:env|command)\s+)*shutdown\b/,/(?:^|[;&|]\s*|\$\(|`|\()\s*(?:(?:env|command)\s+)*reboot\b/,/(?:^|[;&|]\s*|\$\(|`|\()\s*(?:(?:env|command)\s+)*halt\b/,/(?:^|[;&|]\s*|\$\(|`|\()\s*(?:(?:env|command)\s+)*init\s+0\b/,/(?:^|[;&|]\s*|\$\(|`|\()\s*(?:(?:env|command)\s+)*systemctl\s+(?:poweroff|halt|reboot)\b/,/(?:^|[;&|]\s*|\$\(|`|\()\s*(?:(?:env|command)\s+)*kill\s+(?:-\d+\s+|-[A-Z]+\s+)*\b1\b/,/:\(\)\{\s*:\|:&\s*\};:/,/\bsudo\b/,/git\s+push\s+.*--force(?!-with-lease)\b/,/git\s+push(?:\s+-[A-Za-z]*f[A-Za-z]*\b|\s+.*\s-[A-Za-z]*f[A-Za-z]*\b)/,/git\s+reset\s+--hard/];qX=/(?:>>|(?:^|[^2])>(?!&)|2>(?!&)|&>)/;AX=new Set(["sh","bash","zsh","ksh","dash","ash","fish"])});var YZ={};h2(YZ,{runInPTY:()=>V7,createPTYSession:()=>zQ,PTYTimeoutError:()=>O2,PTYSession:()=>h$,PTYError:()=>x$});class h${static MAX_OUTPUT=10485760;_output="";_isRunning=!0;_exitCode;_exitPromise;_exitResolve;_pty;_dataDisposable;_exitDisposable;constructor($){this._pty=$,this._exitPromise=new Promise((Q)=>{this._exitResolve=Q}),this._dataDisposable=$.onData((Q)=>{if(this._output+=Q,this._output.length>h$.MAX_OUTPUT)this._output=this._output.slice(-h$.MAX_OUTPUT)}),this._exitDisposable=$.onExit(({exitCode:Q})=>{this._isRunning=!1,this._exitCode=Q,this._exitResolve(Q)})}write($){if(!this._isRunning)throw new x$("Cannot write to a closed PTY session");this._pty.write($)}resize($,Q){if(!this._isRunning)throw new x$("Cannot resize a closed PTY session");this._pty.resize($,Q)}async waitFor($,Q=5000){let Z=Date.now(),J=typeof $==="string"?new RegExp(zX($)):$;if(J.test(this._output))return this._output;return new Promise((Y,K)=>{let X,V,G=()=>{if(X)clearInterval(X);if(V)clearTimeout(V)},W=()=>{if(J.test(this._output))return G(),Y(this._output),!0;if(!this._isRunning)return G(),K(new x$(`Process exited before pattern was found: ${$}`,this._output)),!0;return!1};if(W())return;X=setInterval(()=>{W()},10),V=setTimeout(()=>{G();let B=Date.now()-Z;K(new O2(`Timeout (${B}ms) waiting for pattern: ${$}`,this._output))},Q)})}async waitForExit($=30000){if(!this._isRunning)return this._output;return new Promise((Q,Z)=>{let J;J=setTimeout(()=>{Z(new O2(`Timeout (${$}ms) waiting for process to exit`,this._output))},$),this._exitPromise.then(()=>{if(J)clearTimeout(J);Q(this._output)}).catch(Z)})}kill($){if(!this._isRunning)return;try{this._pty.kill($)}catch{}}close(){if(this._isRunning)this.kill("SIGKILL"),this._isRunning=!1,this._exitResolve(-1);this._dataDisposable.dispose(),this._exitDisposable.dispose()}get output(){return this._output}get isRunning(){return this._isRunning}get pid(){return this._pty.pid}get exitCode(){return this._exitCode}get cols(){return this._pty.cols}get rows(){return this._pty.rows}}async function zQ($){let J=JZ.spawn($.command,$.args??[],{name:"xterm-256color",cols:$.cols??80,rows:$.rows??24,cwd:$.cwd??process.cwd(),env:{...L2($.env),TERM:"xterm-256color"}});return new h$(J)}async function V7($){let{timeoutMs:Q=30000,...Z}=$,J=await zQ(Z);try{return{output:await J.waitForExit(Q),exitCode:J.exitCode??0}}finally{J.close()}}function zX($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var JZ,O2,x$;var w9=A$(()=>{M2();JZ=E(require("node-pty"));O2=class O2 extends Error{output;constructor($,Q){super($);this.output=Q;this.name="PTYTimeoutError"}};x$=class x$ extends Error{output;constructor($,Q){super($);this.output=Q;this.name="PTYError"}}});function k9($){let Q=$.toUpperCase();if(_X.has(Q))return!0;return NX.some((Z)=>Q.startsWith(Z))}function v9($=process.env){let Q={};for(let[Z,J]of Object.entries($)){if(J===void 0)continue;if(k9(Z))continue;Q[Z]=J}return Q}function VZ($){return XZ.has($.toUpperCase())||k9($)}function y9($){return OX.has($.toUpperCase())||k9($)}function G7($,Q){let Z=Q;if(Q){Z={};for(let[K,X]of Object.entries(Q)){if(y9(K))continue;Z[K]=X}}let J=$.env;if($.env){J={};for(let[K,X]of Object.entries($.env)){if(y9(K))continue;J[K]=X}}let Y={};for(let[K,X]of Object.entries(process.env)){if(X===void 0)continue;if(VZ(K))continue;Y[K]=X}return{...Y,...J,...Z}}function L2($){let Q={};for(let[J,Y]of Object.entries(process.env)){if(Y===void 0)continue;if(VZ(J))continue;Q[J]=Y}let Z;if($){Z={};for(let[J,Y]of Object.entries($)){if(y9(J))continue;Z[J]=Y}}return{...Q,...Z}}async function C2($,Q){if(W$($.command)==="blocked")return H(`Command blocked by shell safety policy: ${$.command}`);if(Q.abortSignal?.aborted)return H("Command cancelled");let J=$.cwd??Q.workingDir,Y=G7(Q,$.env),K=$.timeout??120000;return Y1({program:"/bin/bash",args:["-lc",$.command],cwd:J,env:$.env,timeout:K},{...Q,workingDir:J,env:Y})}function _Q($,Q,Z){if(!$)return;if(Z)try{process.kill(-$,Q);return}catch{}try{process.kill($,Q)}catch{}}function f9($,Q){if(!$)return!1;if(Q)try{return process.kill(-$,0),!0}catch{}try{return process.kill($,0),!0}catch{return!1}}async function LX($,Q,Z=1000){if(!$)return;let J=Date.now()+Z;while(Date.now()<J){if(!f9($,Q))return;await new Promise((Y)=>setTimeout(Y,25))}}async function Y1($,Q){let Z=$.args??[],J=[$.program,...Z].join(" ");if(R9($.program,Z)==="blocked")return H(`Command blocked by shell safety policy: ${J}`,{stdout:"",stderr:"",exitCode:1});if(Q.abortSignal?.aborted)return H("Command cancelled",{stdout:"",stderr:"",exitCode:1});let K=$.cwd??Q.workingDir,X=G7(Q,$.env),V=$.timeout??120000;return new Promise((G)=>{let W=process.platform!=="win32",B=E9.spawn($.program,Z,{cwd:K,env:X,detached:W});if(B.pid&&Q.processRegistry)Q.processRegistry.add(B.pid,{command:$.program,args:Z,cwd:K,interactive:!1});let U="",q="",A=!1,j=!1,_=!1,N,M,C=(z,L)=>{if(_)return;if(_=!0,N)clearTimeout(N);if(M)clearTimeout(M);if(Q.abortSignal&&b)Q.abortSignal.removeEventListener("abort",b);if(Q.processRegistry?.recordExitMetadata?.(B.pid??0,L),B.pid&&Q.processRegistry&&!(W&&f9(B.pid,W)))Q.processRegistry.remove(B.pid,L);G(z)},b;if(Q.abortSignal)b=()=>{j=!0,_Q(B.pid,"SIGTERM",W),M=setTimeout(()=>{_Q(B.pid,"SIGKILL",W)},1000)},Q.abortSignal.addEventListener("abort",b,{once:!0});if(V)N=setTimeout(()=>{A=!0,_Q(B.pid,"SIGTERM",W),M=setTimeout(()=>{_Q(B.pid,"SIGKILL",W)},1000)},V);B.stdout?.on("data",(z)=>{U+=z.toString()}),B.stderr?.on("data",(z)=>{q+=z.toString()}),B.on("error",(z)=>{let L=typeof z==="object"&&z&&"code"in z&&z.code==="ENOENT"?127:1;C(H(P.getErrorMessage(z),{stdout:"",stderr:q,exitCode:L}))}),B.on("close",(z,L)=>{(async()=>{if(j||A){if(M)clearTimeout(M),M=void 0;_Q(B.pid,"SIGKILL",W),await LX(B.pid,W)}if(j){C(H("Command cancelled",{stdout:U,stderr:q,exitCode:z??1}),{exitCode:z,signal:L});return}if(A){C(H("Command timed out",{stdout:U,stderr:q,exitCode:z??1}),{exitCode:z,signal:L});return}if(L){let k=S9.constants.signals[L]??1;C(H(`Command exited due to signal ${L}`,{stdout:U,stderr:q,exitCode:z??k}),{exitCode:z,signal:L});return}let w=z??0;if(w===0)C(O("Command executed successfully",{stdout:U,stderr:q,exitCode:w}),{exitCode:w,signal:L});else C(H(`Command exited with code ${w}`,{stdout:U,stderr:q,exitCode:w}),{exitCode:w,signal:L})})()})})}async function b2($,Q){let Z=$.args??[],J=[$.program,...Z].join(" ");if(R9($.program,Z)==="blocked")return H(`Command blocked by shell safety policy: ${J}`);if(Q.abortSignal?.aborted)return H("Command cancelled");if($.interactive===!0){if(!Q.ptySessionStore)return H("PTY session store not available — interactive mode requires runner wiring");let{createPTYSession:V}=await Promise.resolve().then(() => (w9(),YZ)),G=await V({command:$.program,args:$.args,cwd:$.cwd??Q.workingDir,env:G7(Q,$.env)}),W=G.pid;if(!W)return G.close(),H("Failed to start interactive session: no PID");if(Q.ptySessionStore.add(W,G),Q.processRegistry)Q.processRegistry.add(W,{command:$.program,args:$.args??[],cwd:$.cwd??Q.workingDir,interactive:!0});let B=()=>{if(Q.ptySessionStore?.remove(W),Q.processRegistry?.has(W))Q.processRegistry.remove(W,{exitCode:G.exitCode??null})};if(!G.isRunning)B();else{let U=setInterval(()=>{if(!G.isRunning)clearInterval(U),B()},50);if(U.unref?.(),Q.abortSignal){let q=()=>{clearInterval(U),G.close(),B()};Q.abortSignal.addEventListener("abort",q,{once:!0})}}return O(`Started interactive session with PID ${W}`,{pid:W})}let K=$.cwd??Q.workingDir,X=G7(Q,$.env);return new Promise((V)=>{let G=!1,W,B=(q)=>{if(G)return;if(G=!0,W)clearTimeout(W);V(q)},U;if(Q.abortSignal)Q.abortSignal.addEventListener("abort",()=>{if(U)try{process.kill(-U,"SIGTERM")}catch{try{process.kill(U,"SIGTERM")}catch{}}},{once:!0});try{let q=E9.spawn($.program,Z,{cwd:K,env:X,detached:!0,stdio:"ignore"});if(q.on("error",(A)=>{B(H(P.getErrorMessage(A)))}),q.pid){if(U=q.pid,q.on("exit",(A,j)=>{if(Q.processRegistry?.recordExitMetadata?.(q.pid,{exitCode:A,signal:j}),Q.processRegistry&&!f9(q.pid,!0))Q.processRegistry.remove(q.pid,{exitCode:A,signal:j})}),Q.processRegistry)Q.processRegistry.add(q.pid,{command:$.program,args:Z,cwd:K,interactive:!1});q.unref(),B(O(`Spawned process with PID ${q.pid}`,{pid:q.pid}))}else W=setTimeout(()=>{B(H("Failed to spawn process: no PID returned"))},100)}catch(q){B(H(P.getErrorMessage(q)))}})}async function NQ($,Q){let Z=$.signal??"SIGTERM";try{let J=bX(Z);if(J===void 0)return H(`Invalid signal: ${Z}`);if(Q.processRegistry?.has($.pid))IX($.pid,J);else process.kill($.pid,J);let Y=Q.processRegistry;if(Y?.waitForExit&&TX(J))await Y.waitForExit($.pid,2000);let K=typeof J==="number"?Z:J;return O(`Sent ${K} to process ${$.pid}`,{pid:$.pid,signal:K})}catch(J){if(J instanceof Error&&"code"in J){let Y=J;if(Y.code==="ESRCH")return H(`Process not found: ${$.pid}`);if(Y.code==="EPERM")return H(`Permission denied to kill process: ${$.pid}`)}return H(P.getErrorMessage(J))}}function CX($){return MX.includes($.toUpperCase())}function bX($){if(/^\d+$/.test($)){let Z=parseInt($,10);if(Z>=1&&Z<=31)return Z;return}let Q=$.toUpperCase();if(CX(Q))return Q;return}function TX($){if(typeof $==="number"){let Q=PX($);if(!Q)return!1;return!KZ.has(Q)}return!KZ.has($)}function IX($,Q){try{if($>0){process.kill(-$,Q);return}}catch{}process.kill($,Q)}function PX($){for(let[Q,Z]of Object.entries(S9.constants.signals))if(Z===$)return Q;return}function RX($){return typeof $.getAll==="function"}async function OQ($,Q){let Z=GZ($),J=typeof Z?.includeExited==="boolean"?Z.includeExited:!1;if(!Q.processRegistry)return H("Process registry not available");let Y=Q.processRegistry,K=typeof Y.listProcesses==="function"?Y.listProcesses({includeExited:J}):RX(Y)?Y.getAll().map((X)=>({pid:X,command:null,args:[],cwd:null,interactive:!1,startedAt:new Date().toISOString(),runtimeMs:0,status:"running",exitCode:null,signal:null,endedAt:null})):[];return O(`Found ${K.length} tracked process${K.length===1?"":"es"}`,{processes:K,count:K.length})}async function LQ($,Q){let Z=GZ($);if(!Z)return H("Invalid input: expected an object");let J=typeof Z.pid==="number"?Z.pid:NaN;if(!J||J<=0||!Number.isInteger(J))return H("Invalid PID: must be a positive integer");if(J===process.pid)return H("Cannot wait on own process");let Y=Z.timeoutMs;if(Y!==void 0&&(typeof Y!=="number"||Number.isNaN(Y)))return H("Invalid timeoutMs: must be a number");let K=Z.timeout;if(K!==void 0&&(typeof K!=="number"||Number.isNaN(K)))return H("Invalid timeout: must be a number");let X=Math.min(Math.max(0,Y??K??30000),300000);if(!Q.processRegistry)return H("Process registry not available");if(typeof Q.processRegistry.waitForExit!=="function")return H("Process registry does not support waiting");let V=Date.now(),G=await Q.processRegistry.waitForExit(J,X),W=Math.max(0,Date.now()-V);if(G.status==="not_found"||!G.process)return H(`Process not tracked: ${J}`,{pid:J,exited:!1,status:"not_found",timedOut:!1,waitedMs:W});let B=wX(G,W);if(G.status==="running"||G.timedOut)return H(`Timed out waiting for process ${J}`,B);return O(`Process ${J} exited`,B)}function wX($,Q){let Z=$.process,J=$.status==="exited"?"exited":"running";return{pid:$.pid,status:J,exited:J==="exited",timedOut:$.timedOut,waitedMs:Q,command:Z.command,args:Z.args,cwd:Z.cwd,interactive:Z.interactive,startedAt:Z.startedAt,endedAt:Z.endedAt,runtimeMs:Z.runtimeMs,exitCode:Z.exitCode,signal:Z.signal}}function GZ($){if(!$||typeof $!=="object")return;return $}async function MQ($,Q){if(!$||typeof $!=="object")return H("Invalid input: expected an object");let Z=$,J=typeof Z.pid==="number"?Z.pid:NaN,Y=typeof Z.input==="string"?Z.input:void 0,K=typeof Z.timeout==="number"?Z.timeout:void 0;if(!J||J<=0||!Number.isInteger(J))return H("Invalid PID: must be a positive integer");if(J===process.pid)return H("Cannot write to own process");if(Y===void 0)return H("Input must be a string");if(!Q.ptySessionStore)return H("PTY session store not available");if(!Q.ptySessionStore.has(J))return H(`No interactive session found for PID ${J}. Use spawn with interactive=true first.`);let X=Q.ptySessionStore.get(J);if(!X)return H(`No interactive session found for PID ${J}. Use spawn with interactive=true first.`);if(!X.isRunning)return H(`Process ${J} has exited (code: ${X.exitCode??"unknown"})`);try{let V=X.output.length;if(X.write(Y),K&&K>0){let U=Math.min(K,30000),q=Date.now()+U,A=50;while(Date.now()<q){if(await new Promise((j)=>setTimeout(j,50)),X.output.length>V)break;if(!X.isRunning)break}}let W=X.output.slice(V),B=W.length>1e4?W.slice(-1e4):W;return O(`Wrote ${Y.length} bytes to PID ${J}`,{output:B})}catch(V){let G=V instanceof Error?V.message:String(V);return H(`Failed to write to PID ${J}: ${G}`)}}var E9,S9,XZ,_X,NX,OX,MX,KZ;var M2=A$(()=>{Y0();X7();E9=require("node:child_process"),S9=require("node:os"),XZ=new Set(["LD_PRELOAD","LD_LIBRARY_PATH","DYLD_INSERT_LIBRARIES","DYLD_FRAMEWORK_PATH","DYLD_LIBRARY_PATH","BASH_ENV","ENV","CDPATH","GLOBIGNORE","PROMPT_COMMAND","SHELLOPTS","BASHOPTS","GIT_DIR","GIT_WORK_TREE","GIT_INDEX_FILE","GIT_OBJECT_DIRECTORY","GIT_ALTERNATE_OBJECT_DIRECTORIES","GIT_COMMON_DIR","GIT_PREFIX","GIT_INTERNAL_SUPER_PREFIX","GIT_CONFIG","GIT_CONFIG_GLOBAL","GIT_CONFIG_SYSTEM","GIT_CONFIG_COUNT","GIT_CEILING_DIRECTORIES"]),_X=new Set(["GIT_DIR","GIT_WORK_TREE","GIT_INDEX_FILE","GIT_INDEX_VERSION","GIT_COMMON_DIR","GIT_OBJECT_DIRECTORY","GIT_ALTERNATE_OBJECT_DIRECTORIES","GIT_CEILING_DIRECTORIES","GIT_DISCOVERY_ACROSS_FILESYSTEM","GIT_NAMESPACE","GIT_CONFIG","GIT_CONFIG_GLOBAL","GIT_CONFIG_SYSTEM","GIT_CONFIG_NOSYSTEM","GIT_CONFIG_COUNT","GIT_CONFIG_PARAMETERS"]),NX=["GIT_CONFIG_KEY_","GIT_CONFIG_VALUE_","GIT_AUTHOR_","GIT_COMMITTER_"];OX=new Set([...XZ,"PATH","NODE_OPTIONS","NODE_PATH","PYTHONPATH","IFS","HOME","SHELL","EDITOR","VISUAL","JAVA_TOOL_OPTIONS","_JAVA_OPTIONS","CLASSPATH","RUBYOPT","GEM_HOME","GEM_PATH","PERL5OPT","PERL5LIB","PYTHONSTARTUP"]);MX=["SIGHUP","SIGINT","SIGQUIT","SIGILL","SIGTRAP","SIGABRT","SIGBUS","SIGFPE","SIGKILL","SIGUSR1","SIGSEGV","SIGUSR2","SIGPIPE","SIGALRM","SIGTERM","SIGSTKFLT","SIGCHLD","SIGCONT","SIGSTOP","SIGTSTP","SIGTTIN","SIGTTOU","SIGURG","SIGXCPU","SIGXFSZ","SIGVTALRM","SIGPROF","SIGWINCH","SIGIO","SIGPWR","SIGSYS"],KZ=new Set(["SIGCHLD","SIGCONT","SIGSTOP","SIGTSTP","SIGTTIN","SIGTTOU","SIGURG","SIGWINCH"])});var e9={};h2(e9,{getSessionHistory:()=>mZ,executeSessionHistory:()=>j1});async function hV(){if(dQ!==void 0)return dQ;if(b7)return b7;return b7=(async()=>{try{let Z=(await import("@aria-cli/cli")).SessionHistory,J=process.env.ARIA_HOME??s9.join(hZ.homedir(),".aria"),Y="ARIA";try{let{readFileSync:X,existsSync:V}=await import("node:fs"),G=s9.join(J,"config.json");if(V(G)){let W=JSON.parse(X(G,"utf-8"));if(W.activeArion)Y=W.activeArion}}catch{}let K=Z.resolvePerArionPath(J,Y);return dQ=new Z(K),dQ}catch{return dQ=null,null}})(),b7}async function mZ($){if($.sessionHistory)return $.sessionHistory;return hV()}function dZ($){return $.map((Q)=>({id:Q.id,title:Q.title,arion:Q.arion,model:Q.model,messageCount:Q.messageCount,updatedAt:Q.updatedAt.toISOString(),completedAt:Q.completedAt?.toISOString(),preview:Q.preview}))}function mV($,Q){if($.length<=Q)return $;return $.slice(0,Q-3)+"..."}function t9($,Q){if(Q.length===36)return $.getSession(Q)?Q:null;return $.findSessionByPrefix(Q)}async function j1($,Q){if(Q.abortSignal?.aborted)return H("Operation cancelled");if(!$.action)return H("action is required. Valid actions: list, search, get, current, stats, delete, set_title");let Z=await mZ(Q);if(!Z)return H("Session history is not available in this context");try{switch($.action){case"list":return dV($,Z);case"search":return cV($,Z);case"get":return lV($,Z);case"current":return uV(Q,Z);case"stats":return pV(Z);case"delete":return oV($,Z);case"set_title":return aV($,Z);default:return H(`Unknown action "${$.action}". Valid actions: list, search, get, current, stats, delete, set_title`)}}catch(J){return H(P.getErrorMessage(J))}}function dV($,Q){let Z=$.limit??20,J=$.offset??0,Y=Q.listSessions(Z,J),K=dZ(Y),X={sessions:K,total:K.length,limit:Z,offset:J};if(K.length===0)return O("No sessions found",X);let V=K.map((G)=>`• ${G.id.slice(0,8)}… | ${G.title||"(untitled)"} | ${G.messageCount} msgs | ${G.arion} | ${G.updatedAt.slice(0,10)}`);return O(`Found ${K.length} session(s):
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
`)}`,X)}function lV($,Q){if(!$.sessionId||$.sessionId.trim()==="")return H("sessionId is required for 'get' action");let Z=t9(Q,$.sessionId);if(!Z)return H(`Session not found for ID/prefix "${$.sessionId}"`);let J=Q.getSession(Z);if(!J)return H(`Session ${Z} not found`);let Y=$.messageLimit??50,X=J.messages.slice(-Y).map((B)=>({role:B.role,content:mV(B.content,xV),createdAt:B.createdAt.toISOString(),toolCallId:B.toolCallId})),V;try{let B=Q.getRunMetrics?.(Z)??[];V=B.length>0?B.map((U)=>({turnCount:U.turnCount,inputTokens:U.inputTokens,outputTokens:U.outputTokens,estimatedCost:U.estimatedCost,wallTimeMs:U.wallTimeMs})):void 0}catch{}let G={id:J.id,arion:J.arion,model:J.model,messageCount:J.messages.length,messages:X,metrics:V},W=J.messages.length>Y?` (showing last ${Y} of ${J.messages.length})`:"";return O(`Session ${J.id.slice(0,8)}… | ${J.arion} | ${J.model} | ${J.messages.length} messages${W}`,G)}function uV($,Q){if(!$.currentSessionId)return H("No current session ID available");let Z={sessionId:$.currentSessionId},J=Q.getSession($.currentSessionId);if(J)return O(`Current session: ${J.id.slice(0,8)}… | ${J.arion} | ${J.model} | ${J.messages.length} messages`,{...Z,arion:J.arion,model:J.model,messageCount:J.messages.length});return O(`Current session: ${$.currentSessionId}`,Z)}function pV($){let Q=$.getSessionCount?.()??0,Z=($.getIncompleteSessions?.(1000)??[]).length,J={totalSessions:Q,incompleteSessions:Z};return O(`Session stats: ${Q} total, ${Z} incomplete, ${Q-Z} completed`,J)}function oV($,Q){if(!$.sessionId||$.sessionId.trim()==="")return H("sessionId is required for 'delete' action");let Z=t9(Q,$.sessionId);if(!Z)return H(`Session not found for ID/prefix "${$.sessionId}"`);return Q.deleteSession(Z),O(`Deleted session ${Z}`)}function aV($,Q){if(!$.sessionId||$.sessionId.trim()==="")return H("sessionId is required for 'set_title' action");if(!$.title||$.title.trim()==="")return H("title is required for 'set_title' action");let Z=t9(Q,$.sessionId);if(!Z)return H(`Session not found for ID/prefix "${$.sessionId}"`);return Q.setSessionTitle(Z,$.title),O(`Set title of session ${Z.slice(0,8)}… to "${$.title}"`)}var hZ,s9,xV=2000,dQ,b7=null;var cQ=A$(()=>{Y0();hZ=E(require("node:os")),s9=E(require("node:path"))});function uZ($){if(typeof $!=="object"||$===null)return!1;let Q=$;return typeof Q.address==="string"&&(Q.family===4||Q.family===6)}function w7($){if(Array.isArray($))return $.filter(uZ).map((Q)=>({address:Q.address,family:Q.family}));if(uZ($))return[{address:$.address,family:$.family}];return[]}function u$($){try{let Q=new URL($);if(Q.protocol!=="http:"&&Q.protocol!=="https:")return`Invalid URL protocol: ${Q.protocol}. Only http: and https: are allowed.`}catch{return`Invalid URL format: ${$}`}return null}function y7($){if($.startsWith("::ffff:"))return y7($.slice(7));if($==="0.0.0.0"||$==="::"||$==="[::]")return!0;if($==="::1")return!0;if(/^f[cd]/i.test($))return!0;if(/^fe[89ab]/i.test($))return!0;if(oZ.isIPv4($)){let Q=$.split(".").map(Number),Z=Q[0],J=Q[1];if(Z===127)return!0;if(Z===10)return!0;if(Z===172&&J>=16&&J<=31)return!0;if(Z===192&&J===168)return!0;if(Z===169&&J===254)return!0;if(Z===0)return!0;if(Z===100&&J>=64&&J<=127)return!0;if(Z===192&&J===0&&Q[2]===0)return!0;if(Z===198&&(J===18||J===19))return!0;if(Z>=240)return!0}return!1}async function QG($){let Q=u$($);if(Q)return Q;let Z=new URL($);try{let J=await pZ.promises.lookup(Z.hostname,{all:!0,verbatim:!0}),Y=w7(J).map((X)=>X.address);if(Y.length===0)return`DNS resolution failed for ${Z.hostname}: no addresses returned`;let K=Y.find((X)=>y7(X));if(K)return`Access to private network address denied: ${Z.hostname} resolved to ${K}`}catch(J){return`DNS resolution failed for ${Z.hostname}: ${P.getErrorMessage(J)}`}return null}async function R2($){let Q=$?.body;if(!Q||Q.locked)return;try{await Q.cancel()}catch{}}async function Q6($,Q,Z={}){let J=Z.maxHops??$G,Y=Z.fetchFn??fetch,K=Z.validateRedirectUrl??QG,X=$,V=X.url||Z.baseUrl||"",G=0;while(G<J&&X.status>=300&&X.status<400){let W=X.headers.get("Location");if(!W)break;let B;try{if(V)B=new URL(W,V).toString();else B=new URL(W).toString()}catch{throw await R2(X),Error(`Invalid redirect URL: ${W}`)}let U=await K(B);if(U)throw await R2(X),Error(`Redirect blocked (hop ${G+1}): ${U}`);await R2(X),X=await Y(B,{...Q,redirect:"manual"}),V=X.url||B,G++}return X}var pZ,oZ,$G=5;var Z6=A$(()=>{Y0();pZ=E(require("node:dns")),oZ=E(require("node:net"))});var sZ={};h2(sZ,{fetchWithDnsPinning:()=>KG,createPinnedAgent:()=>iZ});async function ZG($){let Q;try{let J=await rZ.promises.lookup($,{all:!0,verbatim:!0});Q=w7(J)}catch(J){throw Error(`DNS resolution failed for ${$}: ${P.getErrorMessage(J)}`)}if(Q.length===0)throw Error(`DNS resolution failed for ${$}: no addresses returned`);let Z=Q.find((J)=>y7(J.address));if(Z)throw Error(`SSRF protection: ${$} resolves to private network address ${Z.address}`);return Q}function JG($){return $ instanceof Error&&$.name==="AbortError"}function YG($){if(typeof $==="object"&&$!==null&&"code"in $&&typeof $.code==="string")return`${$.code}: ${P.getErrorMessage($)}`;if($ instanceof Error&&$.cause){let Q=$.cause;if(typeof Q.code==="string")return`${Q.code}: ${P.getErrorMessage($.cause)}`}return P.getErrorMessage($)}function iZ($,Q){return new nZ.Agent({connect:{lookup:(Z,J,Y)=>{Y(null,[{address:$,family:Q}])}}})}async function KG($,Q){let Z=u$($);if(Z)throw Error(Z);let J=new URL($),Y=await ZG(J.hostname),K=[],X;for(let{address:G,family:W}of Y){let B=iZ(G,W);try{let U=globalThis.fetch;if(typeof U!=="function")throw Error("Global fetch is unavailable");return await U($,{...Q,dispatcher:B})}catch(U){if(JG(U))throw U;X=U,K.push(`${G}/${W}: ${YG(U)}`)}finally{if(B&&"close"in B&&typeof B.close==="function")await B.close()}}let V=K.length>0?` Attempted addresses: ${K.join("; ")}`:"";throw Error(`Fetch failed for ${J.hostname}.${V}`,{cause:X})}var rZ,nZ;var tZ=A$(()=>{Y0();Z6();rZ=E(require("node:dns")),nZ=require("undici")});var gJ={};h2(gJ,{shutdownAll:()=>dW,getServerForFile:()=>hW,getOrCreateServer:()=>mW,getLanguageId:()=>fJ,LspServer:()=>C6,LSP_SERVERS:()=>o7});function hW($){let Q=$.slice($.lastIndexOf("."));return M6.get(Q)}function fJ($){let Q=$.slice($.lastIndexOf(".")),Z=M6.get(Q);if(!Z)return;return o7[Z]?.extensionToLanguage[Q]}class C6{process=null;connection=null;initialized=!1;openFiles=new Set;diagnosticsReceived=new Set;serverName;config;rootUri;constructor($,Q){this.serverName=$;let Z=o7[$];if(!Z)throw Error(`Unknown LSP server: ${$}`);this.config=Z,this.rootUri=`file://${D$.resolve(Q)}`}async start(){if(this.connection)return;this.process=EJ.spawn(this.config.command,this.config.args,{stdio:["pipe","pipe","pipe"]}),this.process.stderr?.on("data",()=>{}),this.process.on("exit",()=>{this.connection?.dispose(),this.connection=null,this.process=null,this.initialized=!1,this.openFiles.clear(),this.diagnosticsReceived.clear()}),this.connection=fW(new gW(this.process.stdout),new xW(this.process.stdin)),this.connection.onNotification("textDocument/publishDiagnostics",($)=>{let Q=$;if(Q.uri)this.diagnosticsReceived.add(Q.uri)}),this.connection.listen(),await this.connection.sendRequest("initialize",{processId:globalThis.process.pid,rootUri:this.rootUri,capabilities:{textDocument:{definition:{dynamicRegistration:!1},references:{dynamicRegistration:!1},hover:{dynamicRegistration:!1,contentFormat:["plaintext","markdown"]},documentSymbol:{dynamicRegistration:!1},rename:{dynamicRegistration:!1,prepareSupport:!1},publishDiagnostics:{relatedInformation:!0}},workspace:{workspaceFolders:!0}},workspaceFolders:[{uri:this.rootUri,name:"root"}]}),this.connection.sendNotification("initialized",{}),this.initialized=!0}async stop(){if(!this.connection)return;try{await this.connection.sendRequest("shutdown"),this.connection.sendNotification("exit")}catch{}this.connection.dispose(),this.connection=null,this.process?.kill("SIGTERM"),this.process=null,this.initialized=!1}async openFile($){let Q=`file://${D$.resolve($)}`;if(this.openFiles.has(Q))return;let Z=fJ($);if(!Z)return;let J;try{J=SJ.readFileSync(D$.resolve($),"utf-8")}catch{return}this.connection?.sendNotification("textDocument/didOpen",{textDocument:{uri:Q,languageId:Z,version:1,text:J}}),this.openFiles.add(Q)}async definition($,Q,Z){return await this.ensureReady($),this.connection.sendRequest("textDocument/definition",{textDocument:{uri:`file://${D$.resolve($)}`},position:{line:Q,character:Z}})}async references($,Q,Z){return await this.ensureReady($),this.connection.sendRequest("textDocument/references",{textDocument:{uri:`file://${D$.resolve($)}`},position:{line:Q,character:Z},context:{includeDeclaration:!0}})}async hover($,Q,Z){return await this.ensureReady($),this.connection.sendRequest("textDocument/hover",{textDocument:{uri:`file://${D$.resolve($)}`},position:{line:Q,character:Z}})}async documentSymbols($){return await this.ensureReady($),this.connection.sendRequest("textDocument/documentSymbol",{textDocument:{uri:`file://${D$.resolve($)}`}})}async rename($,Q,Z,J){return await this.ensureReady($),this.connection.sendRequest("textDocument/rename",{textDocument:{uri:`file://${D$.resolve($)}`},position:{line:Q,character:Z},newName:J})}async ensureReady($){if(!this.initialized)await this.start();await this.openFile($)}}function mW($,Q){let Z=`${$}:${Q}`,J=p7.get(Z);if(!J)J=new C6($,Q),p7.set(Z,J);return J}async function dW(){let $=[...p7.values()].map((Q)=>Q.stop());await Promise.allSettled($),p7.clear()}var EJ,SJ,D$,kJ,vJ,vW,fW,gW,xW,o7,M6,p7;var xJ=A$(()=>{EJ=require("node:child_process"),SJ=require("node:fs"),D$=require("node:path"),kJ=require("node:url"),vJ=require("node:module"),vW=vJ.createRequire(kJ.fileURLToPath("file:///Users/hole/aria/packages/tools/src/executors/lsp-client.ts")),{createMessageConnection:fW,StreamMessageReader:gW,StreamMessageWriter:xW}=vW("vscode-jsonrpc/node"),o7={typescript:{command:"typescript-language-server",args:["--stdio"],extensionToLanguage:{".ts":"typescript",".tsx":"typescriptreact",".js":"javascript",".jsx":"javascriptreact",".mts":"typescript",".cts":"typescript",".mjs":"javascript",".cjs":"javascript"},startupTimeout:30000},python:{command:"pyright-langserver",args:["--stdio"],extensionToLanguage:{".py":"python",".pyi":"python"},startupTimeout:60000},go:{command:"gopls",args:[],extensionToLanguage:{".go":"go"},startupTimeout:30000},rust:{command:"rust-analyzer",args:[],extensionToLanguage:{".rs":"rust"},startupTimeout:60000},"c/cpp":{command:"clangd",args:["--background-index"],extensionToLanguage:{".c":"c",".h":"c",".cpp":"cpp",".cc":"cpp",".cxx":"cpp",".hpp":"cpp",".hxx":"cpp"},startupTimeout:30000},swift:{command:"sourcekit-lsp",args:[],extensionToLanguage:{".swift":"swift"},startupTimeout:30000},java:{command:"jdtls",args:[],extensionToLanguage:{".java":"java"},startupTimeout:120000},kotlin:{command:"kotlin-language-server",args:["--stdio"],extensionToLanguage:{".kt":"kotlin",".kts":"kotlin"},startupTimeout:120000},lua:{command:"lua-language-server",args:[],extensionToLanguage:{".lua":"lua"},startupTimeout:30000},php:{command:"intelephense",args:["--stdio"],extensionToLanguage:{".php":"php"},startupTimeout:30000},ruby:{command:"ruby-lsp",args:[],extensionToLanguage:{".rb":"ruby",".rake":"ruby",".gemspec":"ruby"},startupTimeout:30000},csharp:{command:"csharp-ls",args:[],extensionToLanguage:{".cs":"csharp"},startupTimeout:30000}},M6=new Map;for(let[$,Q]of Object.entries(o7))for(let Z of Object.keys(Q.extensionToLanguage))M6.set(Z,$);p7=new Map});var $X={};h2($X,{resolveTrustedRuntimeErrorMessage:()=>ZQ,isValidPeerTransportTransition:()=>e3,isValidPeerStateCombination:()=>$Q,isValidPeerIdentityTransition:()=>t3,isSupportedNetworkRuntimeProtocolVersion:()=>d1,isLoopbackDirectEndpointHost:()=>UQ,ensureOwnerEpochTable:()=>M8,derivePeerStateFromLegacyStatus:()=>s3,createTrustedRuntimeError:()=>F2,createSentDeliveryReceipt:()=>w3,createQueuedForRouteReceipt:()=>P3,createDispatchingDeliveryReceipt:()=>R3,createAckedDeliveryReceipt:()=>I3,comparePeerMutationPrecedence:()=>$5,claimDbOwnerEpoch:()=>P4,canonicalizeOutboxReceiptStatus:()=>y3,canonicalizeDeliveryReceipt:()=>O0,canonicalizeAuthoritativeDirectEndpoint:()=>q5,canRefreshEndpoint:()=>U5,canRecordPendingPair:()=>G5,canMutateTrustedState:()=>F5,canHeartbeat:()=>B5,canCommitVerifiedPair:()=>W5,canAttemptDurableDelivery:()=>D5,canAttemptBestEffortTransport:()=>H5,assertSupportedNetworkRuntimeProtocolVersion:()=>v3,assertDbOwnership:()=>R4,TransportInviteTokenSchema:()=>f3,TransportEndpointAdvertisementSchema:()=>j0,TlsCaFingerprintSchema:()=>t0,StaleOwnerError:()=>BQ,SigningPublicKeySchema:()=>J0,SignedContinuityBindSchema:()=>p2,SessionStateSchema:()=>X2,RuntimeTransportSchema:()=>Y2,RuntimeStatusSchema:()=>M0,RuntimeRunEventSchema:()=>Q$,RuntimeRegisterRequestSchema:()=>d3,RuntimeQueuedReceiptSchema:()=>Z$,RuntimeOwnerRecordSchema:()=>m1,RuntimeNodeAdvertisementSchema:()=>h3,RuntimeIngressEnvelopeSchema:()=>x3,RuntimeIdSchema:()=>I0,RuntimeEventSchema:()=>U2,RuntimeEventKindSchema:()=>l2,RuntimeEventCursorSchema:()=>o2,RuntimeErrorDiagnosticSchema:()=>N$,RuntimeDiscoveryAdvertisementSchema:()=>m3,RuntimeDeliveryReceiptSchema:()=>J$,RuntimeBootstrapTlsSchema:()=>WQ,RuntimeBootstrapRevisionSchema:()=>VQ,RuntimeBootstrapRecordSchema:()=>Q1,RuntimeBootstrapPhaseSchema:()=>$1,RuntimeBootstrapIdentitySchema:()=>V5,RuntimeBootstrapControlEndpointSchema:()=>GQ,RuntimeAutonomousLoopStatusSchema:()=>JQ,RuntimeAutonomousLoopSafetyPolicySummarySchema:()=>a2,RuntimeAutonomousLoopCommandSchema:()=>r2,RunResultSchema:()=>L0,RunRequestSchema:()=>S0,RevokePeerResponseSchema:()=>S$,RevokePeerRequestSchema:()=>E$,RevocationOperatorConfirmationSchema:()=>x1,RevocationGenerationSchema:()=>g1,RevocationDecisionSchema:()=>S3,ResumeRunRequestSchema:()=>$$,RepairPeerResponseSchema:()=>v$,RepairPeerRequestSchema:()=>k$,RelayPendingResponseSchema:()=>n3,RelayPendingRequestSchema:()=>s1,RelayPendingQuerySchema:()=>i1,RelayPendingQueryJsonSchema:()=>r3,QueuedReasonSchema:()=>G2,PublicationRevisionSchema:()=>f1,PrincipalFingerprintSchema:()=>h,PersistedInboxEventSchema:()=>c0,PendingPairRequestViewSchema:()=>L$,PendingInviteViewSchema:()=>j2,PeerViewEventSchema:()=>Y$,PeerTransportStateSchema:()=>D2,PeerTransportIdSchema:()=>Z0,PeerStateSnapshotSchema:()=>QQ,PeerMutationKindSchema:()=>i3,PeerIdentityStateSchema:()=>H2,PairRequestRouteBodySchema:()=>r1,PairRequestRouteBodyJsonSchema:()=>p3,PairRequestResponseSchema:()=>C$,PairRequestDecisionSchema:()=>M$,PairRelayRouteBodySchema:()=>n1,PairRelayRouteBodyJsonSchema:()=>a3,PairProposalSchema:()=>c3,OwnerGenerationSchema:()=>h1,OutboxReceiptStatusSchema:()=>T3,OutboundMessageSchema:()=>k0,NodePrincipalBindingRefSchema:()=>W2,NodeMetadataSchema:()=>E3,NodeIdSchema:()=>R,NodeAdvertisementSchema:()=>c2,NetworkRuntimeProtocolVersionSchema:()=>q0,NetworkRouteRevokeRequestSchema:()=>a1,NetworkRouteRevokeRequestJsonSchema:()=>l3,NearbyPeerViewSchema:()=>O$,NETWORK_RUNTIME_PROTOCOL_VERSION:()=>B2,MutationOperationSchema:()=>p1,MutationEnvelopeSchema:()=>o1,LoopbackTlsIdentitySchema:()=>d2,LocalRuntimeSummarySchema:()=>k3,LocalControlSocketSuccessResponseSchema:()=>KQ,LocalControlSocketResponseSchema:()=>_2,LocalControlSocketRequestSchema:()=>z2,LocalControlSocketMethodSchema:()=>YQ,LocalControlSocketErrorResponseSchema:()=>XQ,LocalControlSocketDetachClientResponseSchema:()=>X5,LocalControlSocketDetachClientRequestSchema:()=>K5,LocalControlSocketAttachClientResponseSchema:()=>Y5,LocalControlSocketAttachClientRequestSchema:()=>J5,LocalControlClientKindSchema:()=>s2,LegacyPeerRuntimeShapeSchema:()=>e1,LegacyPeerRegistryStatusSchema:()=>t1,JoinRouteBodySchema:()=>l1,JoinRouteBodyJsonSchema:()=>g3,JoinRequestSchema:()=>u2,InvitePeerResultSchema:()=>P$,InvitePeerRequestSchema:()=>I$,InboxListRequestSchema:()=>d0,InboxCursorSchema:()=>q2,InboxAddressSchema:()=>e0,EndpointRevisionSchema:()=>i0,DurableSubmitResultSchema:()=>L4,DurableDeliveryResultSchema:()=>O4,DurableDeliveryHandleSchema:()=>O8,DirectPairResponseSchema:()=>y$,DirectPairRequestSchema:()=>K$,DirectPairRequestJsonSchema:()=>Z5,DeliveryStateSchema:()=>K2,DeliveryReadinessSchema:()=>V2,DeliveryLifecycleRevisionSchema:()=>N4,DeliveryAckSchema:()=>c1,CreateInviteResponseSchema:()=>T$,CreateInviteRequestSchema:()=>b$,ControlEndpointAdvertisementSchema:()=>F0,ContinuityStatementSchema:()=>u1,ClientIdSchema:()=>s0,CancelInviteResponseSchema:()=>i2,CancelInviteRequestSchema:()=>n2,BindingGenerationSchema:()=>m2,AttachedClientViewSchema:()=>f$,AttachedClientLeaseGrantSchema:()=>t2,AttachedClientAuthSchema:()=>X$,AcceptInviteTokenResponseSchema:()=>w$,AcceptInviteTokenRequestSchema:()=>R$,AcceptInviteResponseSchema:()=>A2,AcceptInviteRequestSchema:()=>_$,AcceptInviteRequestBodyJsonSchema:()=>o3});module.exports=q4($X);var y0=require("zod"),Y2=y0.z.enum(["in_process","local_runtime","tunnel","relay"]),K2=y0.z.enum(["accepted","queued_for_route","dispatching","sent","acked","expired","failed","rejected"]),X2=y0.z.enum(["none","handshaking","connected","reconnecting","dead"]),V2=y0.z.enum(["cannot_address","can_queue_only","can_send_now"]),G2=y0.z.enum(["route_not_established","awaiting_remote_ack","transport_unavailable"]),T3=y0.z.enum(["queued_for_route","dispatching","acked","expired"]),_4=y0.z.object({transport:Y2,delivered:y0.z.boolean(),queued:y0.z.boolean(),accepted:y0.z.boolean().optional(),deliveryState:K2.optional(),sessionState:X2.optional(),deliveryReadiness:V2.optional(),queuedReason:G2.optional()}).strict(),j4={rejected:0,failed:1,expired:2,queued_for_route:3,dispatching:4,accepted:5,sent:6,acked:7},A4={dead:0,none:1,handshaking:2,reconnecting:3,connected:4},z4={cannot_address:0,can_queue_only:1,can_send_now:2};function wK($,Q){if(!Q)return $.deliveryState==="rejected"?"rejected":"failed";if($.delivered)return"acked";if($.queued){if($.queuedReason==="awaiting_remote_ack"||$.deliveryState==="dispatching"||$.deliveryState==="sent")return"dispatching";return"queued_for_route"}if($.deliveryState==="expired")return"expired";return"sent"}function yK($){if(!$.deliveryState)return;if($.deliveryState==="sent"&&$.queued&&$.queuedReason==="awaiting_remote_ack")return"dispatching";return $.deliveryState}function EK($,Q){return j4[$]<=j4[Q]?$:Q}function SK($,Q){if($==="local_runtime")return"none";switch(Q){case"queued_for_route":return"handshaking";case"dispatching":return"connected";case"failed":case"rejected":case"expired":return"none";case"acked":return"connected";case"accepted":case"sent":return"connected";default:return"none"}}function kK($,Q,Z){if($==="local_runtime")return"none";if(!Q)return Z;return A4[Q]<=A4[Z]?Q:Z}function vK($,Q,Z){if(Q==="failed"||Q==="rejected")return"cannot_address";if($==="local_runtime"&&Q==="acked")return"can_queue_only";if(Q==="queued_for_route")return"can_queue_only";if(Q==="dispatching")return Z==="reconnecting"?"can_queue_only":"can_send_now";if(Q==="expired")return"cannot_address";return Z==="connected"?"can_send_now":"can_queue_only"}function fK($,Q){if(!$)return Q;return z4[$]<=z4[Q]?$:Q}function gK($,Q){if(Q==="rejected")return!1;return $.accepted??!0}function xK($){return $==="queued_for_route"||$==="dispatching"}function hK($,Q,Z){if(!Z)return;if($.queuedReason)return $.queuedReason;if(Q==="dispatching")return"awaiting_remote_ack";if(Q==="queued_for_route")return"route_not_established";return}function O0($){let Q=wK($,$.accepted??!0),Z=yK($),J=Z?EK(Z,Q):Q,Y=gK($,J),K=J==="acked",X=xK(J),V=SK($.transport,J),G=kK($.transport,$.sessionState,V),W=vK($.transport,J,G),B=fK($.deliveryReadiness,W),U=hK($,J,X);return{transport:$.transport,delivered:K,queued:X,accepted:Y,deliveryState:J,sessionState:G,deliveryReadiness:B,...U?{queuedReason:U}:{}}}function I3($){return O0({transport:$.transport,delivered:!0,queued:!1,accepted:!0,deliveryState:"acked",...$.sessionState?{sessionState:$.sessionState}:{},...$.deliveryReadiness?{deliveryReadiness:$.deliveryReadiness}:{}})}function P3($){return O0({transport:$.transport,delivered:!1,queued:!0,accepted:!0,deliveryState:"queued_for_route",queuedReason:"route_not_established",...$.sessionState?{sessionState:$.sessionState}:{},...$.deliveryReadiness?{deliveryReadiness:$.deliveryReadiness}:{}})}function R3($){return O0({transport:$.transport,delivered:!1,queued:!0,accepted:!0,deliveryState:"dispatching",queuedReason:"awaiting_remote_ack",...$.sessionState?{sessionState:$.sessionState}:{},...$.deliveryReadiness?{deliveryReadiness:$.deliveryReadiness}:{}})}function w3($){return O0({transport:$.transport,delivered:!1,queued:!1,accepted:!0,deliveryState:"sent",...$.sessionState?{sessionState:$.sessionState}:{},...$.deliveryReadiness?{deliveryReadiness:$.deliveryReadiness}:{}})}function y3($){switch($){case"queued":case"queued_for_route":return"queued_for_route";case"dispatching":case"acked":case"expired":return $;default:throw Error(`[delivery-receipts] Unsupported outbox status: ${$}`)}}var y=require("zod"),s=y.z.string().trim().min(1),R=s.brand(),I0=s.brand(),E3=y.z.object({nodeId:R,createdAt:s,schemaVersion:y.z.number().int().positive(),migratedFromLegacy:y.z.boolean()}),f1=y.z.number().int().nonnegative(),i0=y.z.number().int().nonnegative(),m2=y.z.number().int().nonnegative(),g1=y.z.number().int().nonnegative(),x1=y.z.enum(["local_operator_confirmed","remote_capability_authenticated"]),S3=y.z.object({localNodeId:R,targetNodeId:R,revocationGeneration:g1,operatorConfirmation:x1}),h1=y.z.number().int().positive(),N4=y.z.number().int().nonnegative(),m1=y.z.object({schemaVersion:y.z.number().int().positive(),nodeId:R,ariaHome:s,runtimePid:y.z.number().int().positive(),runtimeId:I0,displayNameSnapshot:s.optional(),runtimeSocket:s,startedAt:s,lastHeartbeat:s,ownerGeneration:h1}).strict(),s0=s.brand(),h=s.brand(),Z0=s.brand(),t0=s.brand(),d2=s.brand(),J0=s.brand(),j0=y.z.object({host:s,port:y.z.number().int().min(1).max(65535)}),e0=y.z.discriminatedUnion("kind",[y.z.object({kind:y.z.literal("node"),nodeId:R}),y.z.object({kind:y.z.literal("client"),clientId:s0})]),F0=y.z.object({host:s,port:y.z.number().int().min(1).max(65535),tlsCaFingerprint:t0,tlsServerIdentity:h,protocolVersion:y.z.number().int().positive(),endpointRevision:i0.optional()}),c2=y.z.object({nodeId:R,principalFingerprint:h,transportPublicKey:Z0,publicationRevision:f1.optional(),controlEndpoint:F0.optional(),displayNameSnapshot:s.optional()}),k3=y.z.object({nodeId:R,runtimeId:I0,lastHeartbeat:s.optional(),controlEndpoint:F0.optional(),displayNameSnapshot:s.optional()}),O8=s.brand(),O4=y.z.discriminatedUnion("status",[y.z.object({status:y.z.literal("pending"),queuedAt:y.z.string(),nextAttemptAt:y.z.string().optional(),attemptCount:y.z.number()}),y.z.object({status:y.z.literal("delivered"),deliveredAt:y.z.string()}),y.z.object({status:y.z.literal("expired"),reason:y.z.literal("ttl_exceeded"),queuedAt:y.z.string(),expiredAt:y.z.string()}),y.z.object({status:y.z.literal("rejected"),reason:y.z.enum(["recipient_revoked","recipient_unknown","envelope_invalid"])})]),L4=y.z.discriminatedUnion("status",[y.z.object({status:y.z.literal("accepted"),operationId:O8,queuedAt:y.z.string()}),y.z.object({status:y.z.literal("rejected"),reason:y.z.enum(["recipient_revoked","recipient_unknown","envelope_invalid"])})]);var L8=require("zod");var mK=L8.z.string().trim().min(1),W2=L8.z.object({nodeId:R,principalFingerprint:h,transportPublicKey:Z0,bindingGeneration:m2,displayNameSnapshot:mK.optional()}).strict();var p=require("zod");var S=require("zod");var z$=require("zod");var M4=z$.z.string().trim().min(1),dK=z$.z.record(z$.z.string(),z$.z.unknown()),l2=z$.z.enum(["client_attached","client_detached","runtime_started","runtime_stopped","runtime_stale","runtime_restarted","pair_proposed","proof_committed","continuity_bound","revocation_committed","ingress_accepted","ingress_rejected","durable_send_queued","durable_send_dispatching","durable_send_acked","durable_send_expired"]),U2=z$.z.object({eventId:M4,nodeId:R,runtimeId:I0,kind:l2,revision:z$.z.number().int().nonnegative().optional(),recordedAt:M4,payload:dK}).strict();var v=S.z.string().trim().min(1),cK=S.z.string().min(1).refine(($)=>$.trim().length>0),C4=S.z.record(S.z.string(),S.z.unknown());function b4($){let Q=S.z.toJSONSchema($);return delete Q.$schema,Q}var B2=1,q0=S.z.literal(B2);function d1($){return $===B2}function v3($,Q="network runtime"){if(!d1($))throw Error(`Unsupported ${Q} protocol version ${String($)}. Supported: ${B2}`);return $}var c1=S.z.object({protocolVersion:q0,messageId:v,senderNodeId:R,recipientNodeId:R,storedAt:S.z.number().int().nonnegative()}).strict(),f3=S.z.object({nodeId:R,audienceNodeId:R.optional(),publicKey:Z0,leaderDisplayNameSnapshot:v.optional(),host:v,port:S.z.number().int().min(1).max(65535),controlEndpoint:F0.optional(),psk:v,displayNameSnapshot:v.optional(),signingPublicKey:J0.optional(),caCert:cK.optional(),createdAt:S.z.number().int().nonnegative(),expiresAt:S.z.number().int().nonnegative(),tokenNonce:v,coordinationUrl:v.optional(),networkId:v.optional()}).strict(),u2=S.z.object({protocolVersion:q0,nodeId:R,principalFingerprint:h,peerPublicKey:Z0,signingPublicKey:J0,transportEndpoint:j0,controlEndpoint:F0.optional(),displayNameSnapshot:v.optional(),inviteTokenNonce:v}).strict(),l1=u2.extend({proofOfWork:v}).strict(),g3=b4(l1),x3=S.z.union([S.z.object({protocolVersion:q0,deliveryAck:c1}).strict(),S.z.object({protocolVersion:q0,ariaMessage:S.z.unknown()}).strict(),S.z.object({protocolVersion:q0,joinRequest:u2}).strict()]),h3=c2.extend({protocolVersion:q0,publicationRevision:f1,signingPublicKey:J0,transportEndpoint:j0,advertisedHosts:S.z.array(v).min(1).optional()}).strict(),m3=S.z.object({protocolVersion:q0,nodeId:R,displayNameSnapshot:v,principalFingerprint:h,controlPort:S.z.number().int().min(1).max(65535),advertisedHosts:S.z.array(v).min(1),tlsCaFingerprint:S.z.string().trim().min(1).optional()}).strict(),d3=S.z.object({protocolVersion:q0,nodeId:R,transportPublicKey:Z0,principalFingerprint:h,endpointRevision:i0,controlEndpoint:F0.optional(),displayNameSnapshot:v.optional()}).strict(),c3=S.z.object({protocolVersion:q0,nodeId:R,principalFingerprint:h,transportPublicKey:Z0,controlEndpoint:F0.optional(),displayNameSnapshot:v.optional(),presharedKey:v}).strict(),u1=S.z.object({nodeId:R,previousPrincipalFingerprint:h,newPrincipalFingerprint:h,newTransportPublicKey:Z0.optional(),bindingGeneration:m2,revocationGeneration:g1.optional(),createdAt:v}).strict(),p2=S.z.object({statement:u1,delegationSignature:v,acceptanceSignature:v,previousPublicKey:v,newPublicKey:v}).strict(),p1=S.z.enum(["network.register","network.revoke","network.list_peers","pair.direct","pair.relay","pair.relay_response","peer.update_capabilities","peer.update_trust_tier"]),o1=S.z.object({version:q0,id:v,operation:p1,principal:W2,target:W2,namespace:v,policyEpoch:S.z.number().int().nonnegative(),nonce:v,timestamp:S.z.number().int().nonnegative(),ttl:S.z.number().int().positive(),contextHash:v,payload:C4,signature:v,method:v.optional(),path:v.optional(),metadata:C4.optional(),reason:v.optional(),parentEnvelopeId:v.optional()}).strict(),a1=S.z.object({nodeId:R,envelope:o1}).strict(),l3=b4(a1);var m0=p.z.string().trim().min(1);function u3($){let Q=p.z.toJSONSchema($);return delete Q.$schema,Q}var r1=p.z.object({displayNameSnapshot:m0,nodeId:R,signingPublicKey:J0,port:p.z.number().int().min(1).max(65535),ephemeralPublicKey:p.z.string().max(512),ephemeralKeySignature:p.z.string().max(512),caCert:p.z.string().max(4096).optional(),protocolVersion:p.z.number().min(1).max(100).optional(),wait:p.z.boolean().optional()}).strict(),p3=u3(r1),_$=p.z.object({inviteToken:m0,nodeId:R,displayNameSnapshot:m0.optional(),transportEndpoint:j0,controlEndpoint:F0,continuity:p2.optional()}).strict(),o3=u3(_$),n1=p.z.object({targetNodeId:R,displayNameSnapshot:m0,nodeId:R,signingPublicKey:J0,port:p.z.number().int().min(1).max(65535),ephemeralPublicKey:p.z.string().max(512),ephemeralKeySignature:p.z.string().max(512),caCert:p.z.string().max(4096).optional()}).strict(),a3=u3(n1),i1=p.z.object({targetNodeId:R,signingPublicKey:J0,signature:m0.max(512),timestamp:m0.max(20)}).strict(),r3=u3(i1),s1=p.z.object({id:m0,nodeId:R,displayNameSnapshot:m0.optional(),principalFingerprint:h,signingPublicKey:J0,port:p.z.number().int().min(1).max(65535),ingressHost:m0,responderControlHostHint:m0.optional(),ephemeralPublicKey:p.z.string().max(512).optional(),ephemeralKeySignature:p.z.string().max(512).optional(),caCert:p.z.string().max(4096).optional(),expiresAt:p.z.number().int().nonnegative()}).strict(),n3=p.z.object({requests:s1.array()}).strict();var F=require("zod");var E0=require("zod"),t1=E0.z.enum(["active","pending","pending_tunnel","pending_verification","revoked"]),H2=E0.z.enum(["invited","joining","paired_unverified","verified","revoked"]),D2=E0.z.enum(["unknown","endpoint_known","connecting","connected","degraded","disconnected"]),i3=E0.z.enum(["repair","continuity","revocation"]),e1=E0.z.object({status:t1,endpointHost:E0.z.string().nullable().optional(),endpointPort:E0.z.number().int().nullable().optional(),lastHandshake:E0.z.number().int().nullable().optional()}),lK={invited:["unknown","endpoint_known"],joining:["unknown","endpoint_known","connecting"],paired_unverified:["unknown","endpoint_known","connecting","connected","degraded","disconnected"],verified:["unknown","endpoint_known","connecting","connected","degraded","disconnected"],revoked:["unknown","disconnected"]};function $Q($,Q){return lK[$].includes(Q)}var QQ=E0.z.object({identityState:H2,transportState:D2}).superRefine(($,Q)=>{if(!$Q($.identityState,$.transportState))Q.addIssue({code:E0.z.ZodIssueCode.custom,message:`invalid peer state combination: ${$.identityState}/${$.transportState}`})});function s3($){let Q=e1.parse($),Z=Boolean(Q.endpointHost&&Q.endpointPort),J=typeof Q.lastHandshake==="number"&&Number.isFinite(Q.lastHandshake)&&Q.lastHandshake>0,Y=Q.status==="pending"?"invited":Q.status==="revoked"?"revoked":Q.status==="active"?"verified":"paired_unverified",K=(()=>{switch(Q.status){case"active":return J?"connected":Z?"endpoint_known":"disconnected";case"pending_tunnel":return J?"connected":Z?"connecting":"unknown";case"pending_verification":return J?"connected":Z?"endpoint_known":"unknown";case"pending":return Z?"endpoint_known":"unknown";case"revoked":return Z?"disconnected":"unknown"}})();return QQ.parse({identityState:Y,transportState:K})}var uK={invited:["invited","joining","revoked"],joining:["joining","paired_unverified","revoked"],paired_unverified:["paired_unverified","verified","revoked"],verified:["verified","revoked"],revoked:["revoked"]};function t3($,Q,Z={}){if($==="verified"&&Q==="paired_unverified")return Z.viaContinuity===!0;return uK[$].includes(Q)}var pK={unknown:["unknown","endpoint_known"],endpoint_known:["endpoint_known","connecting","disconnected"],connecting:["connecting","connected","endpoint_known","disconnected"],connected:["connected","degraded","disconnected"],degraded:["degraded","connected","disconnected"],disconnected:["disconnected","endpoint_known"]};function e3($,Q){return pK[$].includes(Q)}var T4={repair:0,continuity:1,revocation:2};function $5($,Q){return T4[$]-T4[Q]}var I=F.z.string().trim().min(1),I4=F.z.enum(["minimal","balanced","high","full"]),Q5=F.z.array(F.z.string()).optional(),oK=F.z.array(F.z.custom()).optional();function aK($){let Q=F.z.toJSONSchema($);return delete Q.$schema,Q}var S0=F.z.object({task:I,arion:I.optional(),cwd:I.optional(),history:oK,requestedModel:I.optional(),preferredTier:F.z.enum(["fast","balanced","powerful","ensemble"]).optional(),budget:F.z.number().positive().optional(),maxTurns:F.z.number().int().positive().optional(),autonomy:I4.optional(),allowedTools:Q5,deniedTools:Q5,noMemory:F.z.boolean().optional(),systemPrompt:F.z.string().optional(),approvalMode:F.z.enum(["pause","approve","deny"]).optional(),askUserAnswers:F.z.array(F.z.string()).optional()}).strict(),N$=F.z.lazy(()=>F.z.object({message:F.z.string(),name:F.z.string().optional(),stack:F.z.string().optional(),cause:N$.optional()}).catchall(F.z.unknown()));function rK($){if(!$||typeof $!=="object")return;let Q=$.message;if(typeof Q!=="string")return;let Z=Q.trim();return Z.length>0?Z:void 0}function nK($){let Q=$.trim().toLowerCase();return Q==="internal server error"||Q.startsWith("internal server error:")||Q.startsWith("http 500")}function ZQ($,Q){let Z=typeof $==="string"&&$.trim().length>0?$:void 0,J=rK(Q);if(!J)return Z;if(!Z||nK(Z))return J;return Z}function F2($,Q){let Z=ZQ($,Q)??"Trusted runtime error";return Object.assign(Error(Z),{...Q===void 0?{}:{diagnostic:Q},...typeof $==="string"&&$.trim().length>0&&$!==Z?{publicMessage:$}:{}})}var L0=F.z.object({success:F.z.boolean(),output:F.z.string().optional(),messages:F.z.array(F.z.unknown()).optional(),toolCalls:F.z.array(F.z.unknown()).optional(),usage:F.z.unknown().optional(),turnCount:F.z.number().int().nonnegative().optional(),thinking:F.z.array(F.z.unknown()).optional(),nativeToolResults:F.z.array(F.z.unknown()).optional(),traces:F.z.array(F.z.unknown()).optional(),pipelineTiming:F.z.unknown().optional(),guardrailEvents:F.z.array(F.z.unknown()).optional(),handoffs:F.z.array(F.z.unknown()).optional(),state:F.z.unknown().optional(),error:F.z.string().optional(),diagnostic:N$.optional()}).strict(),$$=F.z.object({state:F.z.unknown(),arion:I.optional(),cwd:I.optional(),requestedModel:I.optional(),preferredTier:F.z.enum(["fast","balanced","powerful","ensemble"]).optional(),budget:F.z.number().positive().optional(),maxTurns:F.z.number().int().positive().optional(),autonomy:I4.optional(),allowedTools:Q5,deniedTools:Q5,noMemory:F.z.boolean().optional(),systemPrompt:F.z.string().optional(),approvalMode:F.z.enum(["pause","approve","deny"]).optional(),askUserAnswers:F.z.array(F.z.string()).optional()}).strict(),Q$=F.z.discriminatedUnion("type",[F.z.object({type:F.z.literal("text_delta"),content:F.z.string()}),F.z.object({type:F.z.literal("tool_start"),id:I,name:I,input:F.z.unknown().optional()}),F.z.object({type:F.z.literal("approval_needed"),toolName:I,toolInput:F.z.unknown().optional(),riskLevel:F.z.string().optional(),issues:F.z.array(F.z.string()).optional()}),F.z.object({type:F.z.literal("tool_result"),id:I,name:I,durationMs:F.z.number().nonnegative(),result:F.z.unknown(),input:F.z.unknown().optional()}),F.z.object({type:F.z.literal("usage_update"),usage:F.z.unknown()}),F.z.object({type:F.z.literal("turn_complete"),turnNumber:F.z.number().int().nonnegative()}),F.z.object({type:F.z.literal("guardrail_rejected"),stage:F.z.enum(["input","output"]),message:F.z.string()}),F.z.object({type:F.z.literal("pipeline_timing"),report:F.z.unknown()}),F.z.object({type:F.z.literal("messages_snapshot"),messages:F.z.array(F.z.unknown())}),F.z.object({type:F.z.literal("error"),error:F.z.object({message:F.z.string(),diagnostic:N$.optional()})}),F.z.object({type:F.z.literal("native_tool_result"),metadata:F.z.unknown()}),F.z.object({type:F.z.literal("thinking_start")}),F.z.object({type:F.z.literal("thinking_delta"),content:F.z.string()}),F.z.object({type:F.z.literal("thinking_end"),blocks:F.z.array(F.z.unknown()),durationMs:F.z.number().nonnegative()}),F.z.object({type:F.z.literal("tool_args_delta"),id:I,args:F.z.string()}),F.z.object({type:F.z.literal("span_start"),spanId:I,spanType:I,name:I}),F.z.object({type:F.z.literal("span_end"),spanId:I,durationMs:F.z.number().nonnegative()}),F.z.object({type:F.z.literal("handoff_start"),target:I,id:I}),F.z.object({type:F.z.literal("handoff_result"),target:I,result:F.z.string(),id:I}),F.z.object({type:F.z.literal("paused"),state:F.z.unknown()})]),Z$=F.z.object(_4.shape).strict().transform(($)=>O0($)),J$=F.z.object({transport:Y2,delivered:F.z.boolean(),queued:F.z.boolean(),accepted:F.z.boolean().optional(),deliveryState:K2.optional(),sessionState:X2.optional(),deliveryReadiness:V2.optional(),queuedReason:G2.optional(),storedAt:F.z.number().int().nonnegative().optional()}).strict().transform(({storedAt:$,...Q})=>({...O0(Q),...$!==void 0?{storedAt:$}:{}})),k0=F.z.object({rawMessage:F.z.record(F.z.string(),F.z.unknown()),recipientInbox:e0.optional(),to:I.optional(),content:F.z.string().optional(),type:I.optional(),priority:F.z.number().int().optional(),correlationId:F.z.string().optional(),metadata:F.z.record(F.z.string(),F.z.unknown()).optional()}).strict().superRefine(($,Q)=>{if(!$.recipientInbox||$.to===void 0)return;if($.recipientInbox.kind==="client"){Q.addIssue({code:F.z.ZodIssueCode.custom,message:'OutboundMessage.to is a compatibility alias for node recipients only; omit it for recipientInbox.kind === "client"',path:["to"]});return}if($.recipientInbox.nodeId!==$.to)Q.addIssue({code:F.z.ZodIssueCode.custom,message:"OutboundMessage.recipientInbox.nodeId must match OutboundMessage.to when both are provided",path:["to"]})}),o2=F.z.object({afterRevision:F.z.number().int().nonnegative().optional()}).strict(),q2=F.z.object({afterCreatedAt:F.z.number().int().nonnegative().optional()}).strict(),d0=F.z.object({cursor:q2.optional(),limit:F.z.number().int().positive().max(1000).optional(),unreadOnly:F.z.boolean().optional()}).strict(),c0=F.z.object({id:I,senderNodeId:R,senderDisplayNameSnapshot:I.optional(),senderType:I.optional(),senderClientId:F.z.string().nullable().optional(),recipientClientId:F.z.string().nullable().optional(),inboxAddress:e0,type:I,content:F.z.string(),priority:F.z.number().int(),createdAt:F.z.number().int().nonnegative(),correlationId:F.z.string().nullable().optional(),replyTo:F.z.string().nullable().optional()}).strict(),Y$=F.z.object({nodeId:R,transportPublicKey:Z0,displayNameSnapshot:I.optional(),identityState:H2,transportState:D2,endpointRevision:i0,updatedAt:F.z.string(),lastSeenAt:F.z.string().optional()}).strict(),O$=F.z.object({displayNameSnapshot:I,nodeId:R,host:I,port:F.z.number().int().min(1).max(65535),principalFingerprint:h,version:I,tlsCaFingerprint:t0.optional(),transport:F.z.enum(["lan","wan"]).optional(),status:F.z.enum(["discovered","connected"]).optional()}).strict(),a2=F.z.object({allowedToolCategories:F.z.array(I).optional(),allowedShellCommands:F.z.array(I).optional(),maxWriteOpsPerMinute:F.z.number().int().positive().optional(),maxGitPushesPerHour:F.z.number().int().positive().optional()}).strict(),JQ=F.z.object({status:F.z.enum(["running","stopped"]),intervalMs:F.z.number().int().positive().nullable(),lastWakeTickAt:F.z.string().nullable(),lastCheckpointResult:F.z.enum(["success","error","never"]),safetyPolicySummary:a2,ownerClientKind:I.nullable()}).strict();function iK(){return{status:"stopped",intervalMs:null,lastWakeTickAt:null,lastCheckpointResult:"never",safetyPolicySummary:{},ownerClientKind:null}}var M0=F.z.object({nodeId:R,runtimeId:I0,port:F.z.number().int().min(1).max(65535),attachedClients:F.z.number().int().nonnegative().optional(),autonomousLoop:JQ.optional().default(iK())}).strict(),r2=F.z.object({intervalMs:F.z.number().int().positive().optional(),safetyPolicy:a2.optional()}).strict(),L$=F.z.object({id:I,nodeId:R,displayNameSnapshot:I.optional(),principalFingerprint:h}).strict(),j2=F.z.object({inviteId:I,inviteLabel:I.optional(),createdAt:I,expiresAt:I.nullable().optional()}).strict(),M$=F.z.object({requestId:I,accepted:F.z.boolean()}).strict(),C$=F.z.object({accepted:F.z.boolean().optional(),inviteToken:F.z.string().optional(),error:F.z.string().optional()}).strict(),b$=F.z.object({inviteLabel:I.optional(),durationMs:F.z.number().int().min(0).optional()}).strict(),T$=F.z.object({inviteToken:I,pendingInvite:j2}).strict(),I$=F.z.object({nodeId:R,displayName:I,principalFingerprint:h.optional(),controlEndpoint:F0,transportEndpoint:j0.optional(),transport:F.z.enum(["lan","wan"]).optional()}).strict(),AD=F.z.enum(["pending_verification"]),P$=F.z.discriminatedUnion("mode",[F.z.object({nodeId:R,displayNameSnapshot:I.optional(),mode:F.z.literal("lan_direct"),pairingProofState:F.z.literal("pending_verification")}).strict(),F.z.object({nodeId:R,displayNameSnapshot:I.optional(),mode:F.z.literal("wan_pair"),pairingProofState:F.z.literal("pending_verification")}).strict()]),A2=F.z.object({success:F.z.boolean(),nodeId:R,displayNameSnapshot:I.optional()}).strict(),R$=F.z.object({inviteToken:I}).strict(),w$=A2,n2=F.z.object({inviteId:I}).strict(),i2=F.z.object({cancelled:F.z.boolean(),inviteId:I}).strict(),K$=F.z.object({peerNodeId:R,principalFingerprint:h,peerDisplayName:I.optional(),peerWgPubkey:Z0,peerSigningPubkey:I,transportEndpoint:j0,controlEndpoint:F0,psk:I}).strict(),Z5=aK(K$),y$=F.z.object({received:F.z.literal(!0),pairingProofState:F.z.literal("pending_verification")}).strict(),E$=F.z.object({nodeId:R,envelope:F.z.record(F.z.string(),F.z.unknown()).optional()}).strict(),S$=F.z.object({revoked:F.z.boolean(),nodeId:R,displayNameSnapshot:I.optional()}).strict(),k$=F.z.object({nodeId:R,endpointHost:I,endpointPort:F.z.number().int().min(1).max(65535),endpointRevision:i0}).strict(),v$=F.z.object({repaired:F.z.boolean(),nodeId:R,endpointHost:I,endpointPort:F.z.number().int().min(1).max(65535),endpointRevision:i0}).strict(),s2=F.z.enum(["tui","daemon-launcher","pipe","local-api"]),f$=F.z.object({clientId:s0,clientKind:s2,displayLabel:I,self:F.z.boolean(),attachedAt:I,lastSeenAt:I}).strict(),t2=F.z.object({clientId:s0,clientAuthToken:I}).strict(),X$=t2,J5=F.z.object({clientKind:s2,lease:F.z.boolean().optional(),pid:F.z.number().optional(),displayName:F.z.string().optional()}).strict(),Y5=t2,K5=F.z.object({clientId:s0}).strict(),X5=F.z.object({detached:F.z.boolean()}).strict(),YQ=F.z.enum(["submitRun","resumeRun","streamRun","subscribeRuntimeEvents","sendBestEffort","sendDurable","listInbox","listDirectClientInbox","listPeers","listNearbyPeers","listAttachedClients","subscribeDirectClientInbox","getRuntimeStatus","startAutonomousLoop","stopAutonomousLoop","getRuntimeBootstrap","listPendingPairRequests","respondToPairRequest","createInvite","listPendingInvites","acceptInviteToken","cancelInvite","invitePeer","acceptInvite","directPair","revokePeer","repairPeer","attachClient","detachClient","watchInbox"]),sK=new Set(["listAttachedClients","listDirectClientInbox","subscribeDirectClientInbox"]),z2=F.z.object({id:I,method:YQ,payload:F.z.unknown().optional(),auth:X$.optional()}).strict().superRefine(($,Q)=>{if(sK.has($.method)&&$.auth===void 0)Q.addIssue({code:F.z.ZodIssueCode.custom,message:`Local control socket method ${$.method} requires attached-client auth`,path:["auth"]})}),KQ=F.z.object({id:I,ok:F.z.literal(!0),payload:F.z.unknown().optional()}).strict(),XQ=F.z.object({id:I,ok:F.z.literal(!1),error:I,reason:F.z.string().optional(),diagnostic:N$.optional()}).strict(),_2=F.z.discriminatedUnion("ok",[KQ,XQ]);var l0=require("zod");var e2=l0.z.string().trim().min(1),tK=l0.z.string().min(1).refine(($)=>$.trim().length>0),VQ=l0.z.number().int().nonnegative(),$1=l0.z.enum(["starting","tls_bound","control_ready","network_ready","mesh_ready","degraded","stopped"]),GQ=l0.z.object({host:e2,port:l0.z.number().int().min(1).max(65535)}).strict(),WQ=l0.z.object({caFingerprint:t0,caCertPem:tK,principalIdentity:h,loopbackIdentity:d2}).strict(),V5=l0.z.object({signingPublicKey:J0,transportPublicKey:Z0,transportEndpoint:j0,displayNameSnapshot:e2.optional()}).strict(),Q1=l0.z.object({nodeId:R,runtimeId:I0,arionName:e2.optional(),ownerGeneration:h1,bootstrapRevision:VQ,phase:$1,protocolVersion:q0,controlEndpoint:GQ,displayNameSnapshot:e2.optional(),signingPublicKey:J0,transportPublicKey:Z0,transportEndpoint:j0,tls:WQ,publishedAt:e2,degradedReason:e2.optional(),failedPhase:$1.optional()}).strict();function G5($){return $==="invited"||$==="joining"}function W5($,Q){return $==="paired_unverified"&&Q.proofValid}function U5($){return $==="joining"||$==="paired_unverified"||$==="verified"}function B5($){return $==="paired_unverified"||$==="verified"}function H5($,Q){if($==="revoked")return!1;return Q==="endpoint_known"||Q==="connecting"||Q==="connected"||Q==="degraded"}function D5($,Q){return $==="verified"&&Q==="connected"}function F5($){return $==="verified"}function eK($){return $.trim().toLowerCase()}function UQ($){let Q=eK($);return Q==="localhost"||Q==="::1"||Q==="[::1]"||Q.endsWith(".localhost")||/^127\./.test(Q)}function q5($){let Q=$.endpointHost?.trim(),Z=$.endpointPort;if(!Q||typeof Z!=="number"||!Number.isFinite(Z))return{};if(UQ(Q))return{};return{endpointHost:Q,endpointPort:Z}}class BQ extends Error{kind="StaleOwnerError";claimedGeneration;currentGeneration;constructor($,Q){super(`StaleOwnerError: runtime claims generation ${$} but store is at generation ${Q}. This runtime has been superseded and must shut down immediately.`);this.name="StaleOwnerError",this.claimedGeneration=$,this.currentGeneration=Q}}function M8($){$.exec(`
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
WHERE excluded.owner_generation > owner_epoch.owner_generation`).run(Q).changes===0){let Y=$.prepare("SELECT owner_generation FROM owner_epoch WHERE scope = 'runtime'").get()?.owner_generation??0;if(Y>Q)throw new BQ(Q,Y)}}function R4($,Q){let J=$.prepare("SELECT owner_generation FROM owner_epoch WHERE scope = 'runtime'").get()?.owner_generation??0;if(J>Q)throw new BQ(Q,J)}var aH={};h2(aH,{validateToolInput:()=>CQ,tool:()=>$0,toNetworkStatusView:()=>C9,toNetworkPeerView:()=>M9,toNetworkControlRef:()=>l4,shouldForceSynchronousFrgFlush:()=>wQ,settleWithDeadline:()=>x7,searchWeb:()=>c7,searchSkillRegistries:()=>d7,searchMemoria:()=>h7,searchLocalSkills:()=>m7,scheduleBackgroundFrgFlush:()=>m$,sanitizeGitEnv:()=>v9,sanitizeEnv:()=>L2,runInPTY:()=>V7,resolveTrustedRuntimeErrorMessage:()=>ZQ,resetAskUserCounter:()=>D6,recordFrgMutation:()=>u0,reconcileGitDirtyMutations:()=>EQ,mergePolicies:()=>DK,maybeBuildFrgIndexForRepo:()=>U1,isValidPeerTransportTransition:()=>e3,isValidPeerStateCombination:()=>$Q,isValidPeerIdentityTransition:()=>t3,isToolAllowed:()=>HK,isSupportedNetworkRuntimeProtocolVersion:()=>d1,isLoopbackDirectEndpointHost:()=>UQ,isAskUserPauseRequiredError:()=>w4,getSessionTranscript:()=>P7,getSelfContext:()=>R7,getPendingFrgMutations:()=>U$,getPendingFrgMutationBytes:()=>RQ,getOSContext:()=>W3,getGitDirtyStatus:()=>yQ,getFrgFreshnessSnapshot:()=>T2,getFrgFlushStatus:()=>A7,getCoreToolsByRiskLevel:()=>Y4,getCoreToolsByCategory:()=>J4,getCoreTools:()=>Q4,getCoreTool:()=>Z4,getConversationContext:()=>I7,flushPendingFrgMutations:()=>W1,fetchJson:()=>L1,expandGroups:()=>E1,executeWriteStdin:()=>MQ,executeWriteFile:()=>kQ,executeWebSearch:()=>iQ,executeWebFetch:()=>sQ,executeWakeArion:()=>Q3,executeWaitProcess:()=>LQ,executeUseSkill:()=>H3,executeSpawn:()=>b2,executeSessionHistory:()=>j1,executeSearchKnowledge:()=>y2,executeRetireArion:()=>Z3,executeRestArion:()=>$3,executeRemember:()=>lQ,executeReflect:()=>oQ,executeRecall:()=>uQ,executeReadFile:()=>SQ,executeQuestUpdate:()=>K3,executeQuestList:()=>X3,executeLs:()=>fQ,executeListProcesses:()=>OQ,executeLearnTool:()=>l7,executeLearnSkill:()=>u7,executeLearnLegacy:()=>H$,executeKill:()=>NQ,executeHatchArion:()=>eQ,executeGrep:()=>r9,executeGlob:()=>gQ,executeFrg:()=>hQ,executeForget:()=>pQ,executeExec:()=>Y1,executeEditFile:()=>vQ,executeDiscover:()=>$6,executeCreateTool:()=>U3,executeCreateSkill:()=>B3,executeBrowse:()=>tQ,executeBash:()=>C2,executeAskUser:()=>Y3,executeApplyPatch:()=>i9,ensureFrgRepoStateLoaded:()=>PQ,derivePeerStateFromLegacyStatus:()=>s3,dedupSearchResults:()=>V3,createTrustedRuntimeError:()=>F2,createToolRegistry:()=>oH,createSentDeliveryReceipt:()=>w3,createRuntimeSocketLocalControlClient:()=>I9,createRuntimeSocketAttachedLocalControlClient:()=>o4,createQueuedForRouteReceipt:()=>P3,createPTYSession:()=>zQ,createDispatchingDeliveryReceipt:()=>R3,createAckedDeliveryReceipt:()=>I3,comparePeerMutationPrecedence:()=>$5,clearPendingFrgMutations:()=>G1,classifyCommand:()=>W$,canonicalizeOutboxReceiptStatus:()=>y3,canonicalizeDeliveryReceipt:()=>O0,canonicalizeAuthoritativeDirectEndpoint:()=>q5,canRefreshEndpoint:()=>U5,canRecordPendingPair:()=>G5,canMutateTrustedState:()=>F5,canHeartbeat:()=>B5,canCommitVerifiedPair:()=>W5,canAttemptDurableDelivery:()=>D5,canAttemptBestEffortTransport:()=>H5,assertSupportedNetworkRuntimeProtocolVersion:()=>v3,TransportInviteTokenSchema:()=>f3,TransportEndpointAdvertisementSchema:()=>j0,ToolRegistry:()=>X1,TlsCaFingerprintSchema:()=>t0,TavilySearchProvider:()=>r$,TOOL_GROUPS:()=>K4,SpawnedProcessRegistry:()=>k7,SigningPublicKeySchema:()=>J0,SignedContinuityBindSchema:()=>p2,SessionStateSchema:()=>X2,SearchProviderRouter:()=>p$,SOURCE_PRIORITY:()=>w2,SHELL_BLOCKED_PATTERNS:()=>K7,RuntimeTransportSchema:()=>Y2,RuntimeStatusSchema:()=>M0,RuntimeRunEventSchema:()=>Q$,RuntimeRegisterRequestSchema:()=>d3,RuntimeQueuedReceiptSchema:()=>Z$,RuntimeOwnerRecordSchema:()=>m1,RuntimeNodeAdvertisementSchema:()=>h3,RuntimeIngressEnvelopeSchema:()=>x3,RuntimeIdSchema:()=>I0,RuntimeEventSchema:()=>U2,RuntimeEventKindSchema:()=>l2,RuntimeEventCursorSchema:()=>o2,RuntimeErrorDiagnosticSchema:()=>N$,RuntimeDiscoveryAdvertisementSchema:()=>m3,RuntimeDeliveryReceiptSchema:()=>J$,RuntimeBootstrapTlsSchema:()=>WQ,RuntimeBootstrapRevisionSchema:()=>VQ,RuntimeBootstrapRecordSchema:()=>Q1,RuntimeBootstrapPhaseSchema:()=>$1,RuntimeBootstrapIdentitySchema:()=>V5,RuntimeBootstrapControlEndpointSchema:()=>GQ,RuntimeAutonomousLoopStatusSchema:()=>JQ,RuntimeAutonomousLoopSafetyPolicySummarySchema:()=>a2,RuntimeAutonomousLoopCommandSchema:()=>r2,RunResultSchema:()=>L0,RunRequestSchema:()=>S0,RevokePeerResponseSchema:()=>S$,RevokePeerRequestSchema:()=>E$,RevocationOperatorConfirmationSchema:()=>x1,RevocationDecisionSchema:()=>S3,ResumeRunRequestSchema:()=>$$,RepairPeerResponseSchema:()=>v$,RepairPeerRequestSchema:()=>k$,RelayPendingResponseSchema:()=>n3,RelayPendingRequestSchema:()=>s1,RelayPendingQuerySchema:()=>i1,RelayPendingQueryJsonSchema:()=>r3,QueuedReasonSchema:()=>G2,PrincipalFingerprintSchema:()=>h,PersistedInboxEventSchema:()=>c0,PendingPairRequestViewSchema:()=>L$,PendingInviteViewSchema:()=>j2,PeerViewEventSchema:()=>Y$,PeerTransportStateSchema:()=>D2,PeerTransportIdSchema:()=>Z0,PeerStateSnapshotSchema:()=>QQ,PeerMutationKindSchema:()=>i3,PeerIdentityStateSchema:()=>H2,PairRequestRouteBodySchema:()=>r1,PairRequestRouteBodyJsonSchema:()=>p3,PairRequestResponseSchema:()=>C$,PairRequestDecisionSchema:()=>M$,PairRelayRouteBodySchema:()=>n1,PairRelayRouteBodyJsonSchema:()=>a3,PairProposalSchema:()=>c3,PTYTimeoutError:()=>O2,PTYSessionStore:()=>S7,PTYSession:()=>h$,PTYError:()=>x$,OutboxReceiptStatusSchema:()=>T3,OutboundMessageSchema:()=>k0,NodePrincipalBindingRefSchema:()=>W2,NodeMetadataSchema:()=>E3,NodeIdSchema:()=>R,NodeAdvertisementSchema:()=>c2,NetworkRuntimeProtocolVersionSchema:()=>q0,NetworkRouteRevokeRequestSchema:()=>a1,NetworkRouteRevokeRequestJsonSchema:()=>l3,NearbyPeerViewSchema:()=>O$,NETWORK_RUNTIME_PROTOCOL_VERSION:()=>B2,MutationOperationSchema:()=>p1,MutationEnvelopeSchema:()=>o1,MCPServerConnection:()=>g0,MCPClient:()=>Z1,MAX_PENDING_MUTATION_BYTES_BEFORE_SYNC_FLUSH:()=>q7,MAX_PENDING_MUTATIONS_BEFORE_SYNC_FLUSH:()=>F7,MAX_CACHED_MUTATION_CONTENT_BYTES:()=>j7,LoopbackTlsIdentitySchema:()=>d2,LocalRuntimeSummarySchema:()=>k3,LocalControlSocketSuccessResponseSchema:()=>KQ,LocalControlSocketResponseSchema:()=>_2,LocalControlSocketRequestSchema:()=>z2,LocalControlSocketMethodSchema:()=>YQ,LocalControlSocketErrorResponseSchema:()=>XQ,LocalControlSocketDetachClientResponseSchema:()=>X5,LocalControlSocketDetachClientRequestSchema:()=>K5,LocalControlSocketAttachClientResponseSchema:()=>Y5,LocalControlSocketAttachClientRequestSchema:()=>J5,LocalControlClientKindSchema:()=>s2,LegacyPeerRuntimeShapeSchema:()=>e1,LegacyPeerRegistryStatusSchema:()=>t1,LOCAL_HTTP_CLIENT_PROOF_HEADER:()=>r4,LOCAL_HTTP_CLIENT_ID_HEADER:()=>a4,JoinRouteBodySchema:()=>l1,JoinRouteBodyJsonSchema:()=>g3,JoinRequestSchema:()=>u2,JinaSearchProvider:()=>o$,JSONRPCClient:()=>N2,InvitePeerResultSchema:()=>P$,InvitePeerRequestSchema:()=>I$,InboxListRequestSchema:()=>d0,InboxCursorSchema:()=>q2,InboxAddressSchema:()=>e0,HeadlessToolApprovalPayloadSchema:()=>P8,HeadlessSystemTerminalSetupResultSchema:()=>t5,HeadlessSystemRestartResultSchema:()=>s5,HeadlessSystemRestartInputSchema:()=>V9,HeadlessSessionSummarySchema:()=>u8,HeadlessSessionReferenceInputSchema:()=>A5,HeadlessSessionReadResultSchema:()=>L5,HeadlessSessionLoadResultSchema:()=>M5,HeadlessSessionListResultSchema:()=>O5,HeadlessSessionListInputSchema:()=>p8,HeadlessServerFrameSchema:()=>c4,HeadlessSelectionResponsePayloadSchema:()=>g8,HeadlessSelectionPayloadSchema:()=>w8,HeadlessSelectionOptionSchema:()=>T8,HeadlessRunStartInputSchema:()=>q9,HeadlessRunResumeInputSchema:()=>j9,HeadlessRunAbortResultSchema:()=>w5,HeadlessRunAbortInputSchema:()=>G9,HeadlessResultSchema:()=>L9,HeadlessRequestSchema:()=>N9,HeadlessRequestIdSchema:()=>g$,HeadlessQuestionnaireResponsePayloadSchema:()=>f8,HeadlessQuestionnairePayloadSchema:()=>R8,HeadlessPendingPairListResultSchema:()=>I5,HeadlessPeerListResultSchema:()=>b5,HeadlessOperationSuccessResultSchema:()=>h4,HeadlessOperationNameSchema:()=>jQ,HeadlessOauthDeviceResponsePayloadSchema:()=>h8,HeadlessOauthDevicePayloadSchema:()=>E8,HeadlessNearbyPeerListResultSchema:()=>T5,HeadlessModelSetResultSchema:()=>c5,HeadlessModelSetInputSchema:()=>e8,HeadlessModelRefreshResultSchema:()=>l5,HeadlessModelListResultSchema:()=>d5,HeadlessMessageSendResultSchema:()=>C5,HeadlessMessageSendInputSchema:()=>Y9,HeadlessMessageInboxListInputSchema:()=>J9,HeadlessMemoryRememberResultSchema:()=>E5,HeadlessMemoryRememberInputSchema:()=>o8,HeadlessMemoryRecallResultSchema:()=>S5,HeadlessMemoryRecallKnowledgeResultSchema:()=>f5,HeadlessMemoryRecallKnowledgeInputSchema:()=>i8,HeadlessMemoryRecallInputSchema:()=>a8,HeadlessMemoryListResultSchema:()=>k5,HeadlessMemoryListInputSchema:()=>r8,HeadlessMemoryForgetResultSchema:()=>v5,HeadlessMemoryForgetInputSchema:()=>n8,HeadlessLoadedSessionSchema:()=>N5,HeadlessInteractionSourceSchema:()=>z5,HeadlessInteractionResponseSchema:()=>c8,HeadlessInteractionResponsePayloadSchema:()=>_5,HeadlessInteractionRespondResultSchema:()=>y5,HeadlessInteractionRequestSchema:()=>d8,HeadlessInteractionQuestionSchema:()=>b8,HeadlessInteractionPayloadSchema:()=>k8,HeadlessInteractionIdSchema:()=>AQ,HeadlessInboxListResultSchema:()=>FQ,HeadlessHookReflectResultSchema:()=>e5,HeadlessHookReflectMessageSchema:()=>B9,HeadlessHookReflectInputSchema:()=>H9,HeadlessHookIngestResultSchema:()=>Q7,HeadlessHookIngestInputSchema:()=>D9,HeadlessHookHarvestResultSchema:()=>Z7,HeadlessHookHarvestInputSchema:()=>F9,HeadlessHookExtractResultSchema:()=>R5,HeadlessHookExtractPairSchema:()=>W9,HeadlessHookExtractInputSchema:()=>U9,HeadlessHookConsolidateResultSchema:()=>$7,HeadlessEventSchema:()=>O9,HeadlessErrorSchema:()=>l8,HeadlessDaemonCommandInputSchema:()=>DQ,HeadlessCredentialInputResponsePayloadSchema:()=>x8,HeadlessCredentialInputPayloadSchema:()=>y8,HeadlessCredentialFieldSchema:()=>I8,HeadlessConfirmResponsePayloadSchema:()=>v8,HeadlessConfirmPayloadSchema:()=>S8,HeadlessConfigThemeSetResultSchema:()=>r5,HeadlessConfigThemeSetInputSchema:()=>K9,HeadlessConfigThemeGetResultSchema:()=>a5,HeadlessConfigAutonomySetResultSchema:()=>i5,HeadlessConfigAutonomySetInputSchema:()=>X9,HeadlessConfigAutonomyGetResultSchema:()=>n5,HeadlessClientListResultSchema:()=>P5,HeadlessClientInboxListInputSchema:()=>Z9,HeadlessClientFrameSchema:()=>d4,HeadlessCancelResponsePayloadSchema:()=>m8,HeadlessAuthStatusResultSchema:()=>u5,HeadlessAuthLogoutResultSchema:()=>o5,HeadlessAuthLogoutInputSchema:()=>Q9,HeadlessAuthLoginResultSchema:()=>p5,HeadlessAuthLoginInputSchema:()=>$9,HeadlessArionNameInputSchema:()=>HQ,HeadlessArionMutateResultSchema:()=>qQ,HeadlessArionListResultSchema:()=>g5,HeadlessArionHatchResultSchema:()=>x5,HeadlessArionHatchInputSchema:()=>s8,HeadlessArionCreateResultSchema:()=>m5,HeadlessArionCreateInputSchema:()=>t8,HeadlessArionBecomeResultSchema:()=>h5,HEADLESS_STREAMING_OPERATION_NAMES:()=>z9,HEADLESS_OPERATION_SCHEMAS:()=>A9,HEADLESS_OPERATION_NAMES:()=>C8,HEADLESS_CONNECTION_OWNED_OPERATION_NAMES:()=>m4,FirecrawlSearchProvider:()=>s$,ExaSearchProvider:()=>i$,DuckDuckGoSearchProvider:()=>a$,DirectPairResponseSchema:()=>y$,DirectPairRequestSchema:()=>K$,DirectPairRequestJsonSchema:()=>Z5,DeliveryStateSchema:()=>K2,DeliveryReadinessSchema:()=>V2,DeliveryAckSchema:()=>c1,DEFAULT_BACKGROUND_FRG_FLUSH_DELAY_MS:()=>IQ,CreateInviteResponseSchema:()=>T$,CreateInviteRequestSchema:()=>b$,ControlEndpointAdvertisementSchema:()=>F0,ContinuityStatementSchema:()=>u1,ClientIdSchema:()=>s0,CancelInviteResponseSchema:()=>i2,CancelInviteRequestSchema:()=>n2,CORE_TOOL_DEFINITIONS:()=>j$,BraveSearchProvider:()=>n$,BACKGROUND_FRG_MAX_FLUSH_DELAY_MS:()=>D7,AttachedClientViewSchema:()=>f$,AttachedClientLeaseGrantSchema:()=>t2,AttachedClientAuthSchema:()=>X$,AskUserPauseRequiredError:()=>j5,AcceptInviteTokenResponseSchema:()=>w$,AcceptInviteTokenRequestSchema:()=>R$,AcceptInviteResponseSchema:()=>A2,AcceptInviteRequestSchema:()=>_$,AcceptInviteRequestBodyJsonSchema:()=>o3});module.exports=q4(aH);class j5 extends Error{code="ASK_USER_PAUSE_REQUIRED";questions;constructor($,Q="ask_user requires additional answers before this run can continue."){super(Q);this.name="AskUserPauseRequiredError",this.questions=$.map((Z)=>({question:Z.question,...Array.isArray(Z.options)?{options:[...Z.options]}:{}}))}}function w4($){if($ instanceof j5)return!0;if(!$||typeof $!=="object")return!1;let Q=$;return Q.code==="ASK_USER_PAUSE_REQUIRED"||Q.name==="AskUserPauseRequiredError"&&Array.isArray(Q.questions)}var D=require("zod");var T=D.z.string().trim().min(1),v0=D.z.number().int().positive(),f0=D.z.number().int().nonnegative(),hD=D.z.object({}).catchall(D.z.unknown()),P0=D.z.object({}).strict(),V$=D.z.string().datetime({offset:!0}).or(D.z.string().min(1)),QX=D.z.enum(["minimal","balanced","high","full"]),C8=["run.start","run.resume","run.abort","interaction.respond","session.list","session.read","session.load","session.fork","memory.remember","memory.recall","memory.list","memory.forget","memory.recall_knowledge","arion.list","arion.hatch","arion.become","arion.rest","arion.wake","arion.create","model.list","model.set","model.refresh","auth.status","auth.login","auth.logout","peer.list","peer.list_nearby","peer.pending.list","peer.pending.respond","peer.invite","peer.connect","peer.accept_invite","peer.direct_pair","peer.repair","peer.revoke","client.list","client.inbox.list","message.send","message.inbox.list","config.theme.get","config.theme.set","config.autonomy.get","config.autonomy.set","system.restart","system.terminal_setup","daemon.start","daemon.status","daemon.stop","hook.extract","hook.reflect","hook.consolidate","hook.ingest","hook.harvest"],jQ=D.z.enum(C8),g$=T,AQ=T,z5=D.z.enum(["run","auth","system","peer"]),b8=D.z.object({question:T,options:D.z.array(T).optional()}).strict(),T8=D.z.object({id:T,label:T,description:D.z.string().optional()}).strict(),I8=D.z.object({key:T,label:T,placeholder:D.z.string().optional(),secret:D.z.boolean().optional()}).strict(),P8=D.z.object({kind:D.z.literal("tool_approval"),prompt:D.z.string().optional(),toolName:T,toolInput:D.z.unknown().optional(),riskLevel:D.z.string().optional(),issues:D.z.array(D.z.string()).optional()}).strict(),R8=D.z.object({kind:D.z.literal("questionnaire"),prompt:D.z.string().optional(),questions:D.z.array(b8).min(1)}).strict(),w8=D.z.object({kind:D.z.literal("selection"),prompt:T,options:D.z.array(T8).min(1)}).strict(),y8=D.z.object({kind:D.z.literal("credential_input"),prompt:T,provider:T.optional(),mode:D.z.enum(["generic","oauth_authorization_code"]).optional(),authorizeUrl:T.optional(),callbackMode:D.z.enum(["manual_code","local_callback"]).optional(),expectedState:T.optional(),fields:D.z.array(I8).min(1)}).strict(),E8=D.z.object({kind:D.z.literal("oauth_device"),prompt:T,provider:T.optional(),profileLabel:T.optional(),verificationUri:T,userCode:T,expiresAt:V$.optional(),intervalSeconds:v0.optional()}).strict(),S8=D.z.object({kind:D.z.literal("confirm"),prompt:T,detail:D.z.string().optional(),confirmLabel:D.z.string().optional(),denyLabel:D.z.string().optional(),defaultApproved:D.z.boolean().optional()}).strict(),k8=D.z.discriminatedUnion("kind",[P8,R8,w8,y8,E8,S8]),v8=D.z.object({kind:D.z.literal("confirm"),approved:D.z.boolean()}).strict(),f8=D.z.object({kind:D.z.literal("questionnaire"),answers:D.z.array(D.z.string())}).strict(),g8=D.z.object({kind:D.z.literal("selection"),selected:T}).strict(),x8=D.z.object({kind:D.z.literal("credential_input"),values:D.z.record(D.z.string(),D.z.string())}).strict(),h8=D.z.object({kind:D.z.literal("oauth_device"),acknowledged:D.z.boolean().optional(),verificationCode:D.z.string().optional()}).strict(),m8=D.z.object({kind:D.z.literal("cancel")}).strict(),_5=D.z.discriminatedUnion("kind",[v8,f8,g8,x8,h8,m8]),d8=D.z.object({kind:D.z.literal("interaction.required"),requestId:g$,interactionId:AQ,source:z5,interaction:k8}).strict(),c8=D.z.object({kind:D.z.literal("interaction.respond"),requestId:g$,interactionId:AQ,response:_5}).strict(),l8=D.z.object({code:T,message:T,retryable:D.z.boolean().optional(),details:D.z.record(D.z.string(),D.z.unknown()).optional()}).strict(),u8=D.z.object({id:T,createdAt:V$,updatedAt:V$,completedAt:V$.optional(),title:D.z.string().nullable(),arion:T,model:T,messageCount:f0,preview:D.z.string()}).strict(),N5=D.z.object({id:T,arion:T,model:T,messages:D.z.array(D.z.unknown())}).strict(),p8=D.z.object({query:D.z.string().optional(),limit:v0.max(200).optional(),offset:f0.optional()}).strict(),A5=D.z.object({sessionId:T}).strict(),O5=D.z.object({sessions:D.z.array(u8)}).strict(),L5=D.z.object({session:N5}).strict(),M5=D.z.object({session:N5,loaded:D.z.literal(!0),runtimeState:D.z.object({sessionId:T,stateStatus:D.z.enum(["idle","running","paused","completed"]),activeRunId:D.z.string().nullable(),pausedState:D.z.unknown().nullable(),policySnapshot:D.z.record(D.z.string(),D.z.unknown()).nullable(),lastEventSeq:f0,revision:f0,leaseOwner:D.z.string().nullable(),leaseExpiresAt:V$.nullable(),updatedAt:V$}).strict().nullable().optional(),pendingInteraction:D.z.object({interactionId:T,sessionId:T,requestId:T,source:z5,kind:T,status:D.z.enum(["pending","answered","applied","expired","canceled"]),prompt:D.z.record(D.z.string(),D.z.unknown()),response:D.z.record(D.z.string(),D.z.unknown()).nullable(),createdAt:V$,answeredAt:V$.nullable(),appliedAt:V$.nullable()}).strict().nullable().optional()}).strict(),ZX=D.z.object({sessionId:T,messageLimit:D.z.number().int().nonnegative().optional()}).strict(),y4=D.z.object({newSessionId:T,sourceSessionId:T,messagesCopied:f0,title:D.z.string().nullable()}).strict(),E4=D.z.object({response:C$}).strict(),S4=D.z.object({invite:T$}).strict(),k4=D.z.object({invite:P$}).strict(),v4=D.z.object({accepted:w$}).strict(),f4=D.z.object({pair:y$}).strict(),g4=D.z.object({repair:v$}).strict(),x4=D.z.object({revoke:S$}).strict(),o8=D.z.object({text:T}).strict(),a8=D.z.object({query:T,limit:v0.max(200).optional()}).strict(),r8=D.z.object({query:D.z.string().optional(),limit:v0.max(200).optional(),offset:f0.optional()}).strict(),n8=D.z.object({id:T}).strict(),i8=D.z.object({topic:T,kind:D.z.enum(["skills","procedures","tools","all"]).optional(),limit:v0.max(200).optional()}).strict(),HQ=D.z.object({name:T}).strict(),s8=D.z.object({name:T,description:D.z.string().optional()}).strict(),t8=D.z.object({name:T,description:D.z.string().optional(),emoji:D.z.string().optional(),profile:D.z.string().optional()}).strict(),e8=D.z.object({model:T}).strict(),$9=D.z.object({args:D.z.string().optional(),provider:T.optional(),credential:D.z.string().optional(),method:T.optional(),profileLabel:T.optional(),source:T.optional()}).strict(),Q9=D.z.object({args:D.z.string().optional(),provider:T.optional()}).strict(),Z9=d0,J9=d0,JX=D.z.object({args:D.z.string().optional(),recipient:T.optional(),content:D.z.string().trim().min(1).optional(),senderName:T.optional()}).strict().refine(($)=>Boolean($.args||$.recipient&&$.content),{message:"message.send requires args or recipient/content"}),Y9=D.z.union([k0,JX]),K9=D.z.object({theme:T}).strict(),X9=D.z.object({autonomy:QX}).strict(),V9=D.z.object({reason:D.z.string().optional()}).strict(),G9=D.z.object({runId:T.optional(),sessionId:T.optional()}).strict().refine(($)=>Boolean($.runId||$.sessionId),{message:"run.abort requires runId or sessionId"}),DQ=D.z.object({arion:T.optional(),port:v0.optional(),intervalMs:v0.optional(),allowedToolCategories:D.z.array(T).optional(),allowedShellCommands:D.z.array(T).optional(),maxWriteOpsPerMinute:v0.optional(),maxGitPushesPerHour:v0.optional()}).strict(),W9=D.z.object({user:D.z.string(),assistant:D.z.string()}).strict(),U9=D.z.object({pairs:D.z.array(W9)}).strict(),B9=D.z.object({role:T,content:D.z.unknown()}).strict(),H9=D.z.object({messages:D.z.array(B9).optional(),conversation:D.z.string().optional()}).strict().refine(($)=>Boolean($.messages||$.conversation),{message:"hook.reflect requires messages or conversation"}),D9=D.z.object({source:D.z.enum(["claude","codex","all"]).optional(),limit:v0.optional()}).strict(),F9=D.z.object({preHarvest:D.z.boolean().optional(),feedback:D.z.boolean().optional(),extract:D.z.boolean().optional(),stats:D.z.boolean().optional(),cleanup:D.z.boolean().optional(),cost:D.z.boolean().optional(),all:D.z.boolean().optional(),limit:v0.optional()}).strict(),C5=D.z.object({receipt:D.z.union([Z$,J$]),message:D.z.string().optional()}).strict(),FQ=D.z.object({events:D.z.array(c0)}).strict(),b5=D.z.object({peers:D.z.array(Y$)}).strict(),T5=D.z.object({peers:D.z.array(O$)}).strict(),I5=D.z.object({requests:D.z.array(L$)}).strict(),P5=D.z.object({clients:D.z.array(f$)}).strict(),R5=D.z.object({extracted:D.z.array(D.z.object({user:D.z.string(),extracted:f0,error:D.z.string().optional()}).strict())}).strict(),w5=D.z.object({aborted:D.z.literal(!0),runId:T.optional(),sessionId:T.optional()}).strict(),y5=D.z.object({}).catchall(D.z.unknown()),E5=D.z.object({success:D.z.literal(!0),message:D.z.string(),data:D.z.object({id:D.z.string(),count:D.z.number()})}).strict(),S5=D.z.object({success:D.z.literal(!0),message:D.z.string(),count:f0,memories:D.z.array(D.z.unknown())}).strict(),k5=D.z.object({memories:D.z.array(D.z.unknown()),count:f0}).strict(),v5=D.z.object({success:D.z.literal(!0),message:D.z.string(),deleted:D.z.boolean()}).strict(),f5=D.z.object({tools:D.z.array(D.z.unknown()),count:f0}).strict(),g5=D.z.object({arions:D.z.array(D.z.unknown())}).strict(),x5=D.z.object({mode:D.z.string(),prompt:D.z.string(),name:T,description:D.z.string().optional()}).strict(),h5=D.z.object({arion:D.z.unknown(),activeArion:D.z.string()}).strict(),qQ=D.z.object({success:D.z.literal(!0),name:T}).strict(),m5=D.z.object({arion:D.z.unknown()}).strict(),d5=D.z.object({models:D.z.array(D.z.unknown()),currentModel:D.z.unknown().optional()}).strict(),c5=D.z.object({currentModel:T}).catchall(D.z.unknown()),l5=D.z.object({models:D.z.array(D.z.unknown())}).strict(),u5=D.z.object({}).catchall(D.z.unknown()),p5=D.z.object({}).catchall(D.z.unknown()),o5=D.z.object({}).catchall(D.z.unknown()),a5=D.z.object({theme:D.z.unknown()}).strict(),r5=D.z.object({theme:D.z.string()}).catchall(D.z.unknown()),n5=D.z.object({autonomy:D.z.unknown()}).strict(),i5=D.z.object({autonomy:D.z.string()}).catchall(D.z.unknown()),s5=D.z.object({}).catchall(D.z.unknown()),t5=D.z.object({}).catchall(D.z.unknown()),e5=D.z.object({}).catchall(D.z.unknown()),$7=D.z.object({}).catchall(D.z.unknown()),Q7=D.z.object({}).catchall(D.z.unknown()),Z7=D.z.object({}).catchall(D.z.unknown()),h4=D.z.union([L0,O5,L5,M5,y4,b5,T5,I5,P5,FQ,C5,M0,S4,v4,E4,k4,f4,g4,x4,R5,w5,y5,E5,S5,k5,v5,f5,g5,x5,h5,qQ,m5,d5,c5,l5,u5,p5,o5,a5,r5,n5,i5,s5,t5,e5,$7,Q7,Z7]),q9=S0.extend({sessionId:T.optional()}),j9=$$.extend({sessionId:T.optional()}),A9={"run.start":{input:q9,result:L0,event:Q$},"run.resume":{input:j9,result:L0},"run.abort":{input:G9,result:w5},"interaction.respond":{input:D.z.object({interactionId:AQ,response:_5}).strict(),result:y5},"session.list":{input:p8,result:O5},"session.read":{input:A5,result:L5},"session.load":{input:A5,result:M5},"session.fork":{input:ZX,result:y4},"memory.remember":{input:o8,result:E5},"memory.recall":{input:a8,result:S5},"memory.list":{input:r8,result:k5},"memory.forget":{input:n8,result:v5},"memory.recall_knowledge":{input:i8,result:f5},"arion.list":{input:P0,result:g5},"arion.hatch":{input:s8,result:x5},"arion.become":{input:HQ,result:h5},"arion.rest":{input:HQ,result:qQ},"arion.wake":{input:HQ,result:qQ},"arion.create":{input:t8,result:m5},"model.list":{input:P0,result:d5},"model.set":{input:e8,result:c5},"model.refresh":{input:P0,result:l5},"auth.status":{input:P0,result:u5},"auth.login":{input:$9,result:p5},"auth.logout":{input:Q9,result:o5},"peer.list":{input:P0,result:b5},"peer.list_nearby":{input:P0,result:T5},"peer.pending.list":{input:P0,result:I5},"peer.pending.respond":{input:M$,result:E4},"peer.invite":{input:b$,result:S4},"peer.connect":{input:I$,result:k4},"peer.accept_invite":{input:R$,result:v4},"peer.direct_pair":{input:K$,result:f4},"peer.repair":{input:k$,result:g4},"peer.revoke":{input:E$,result:x4},"client.list":{input:P0,result:P5},"client.inbox.list":{input:Z9,result:FQ},"message.send":{input:Y9,result:C5},"message.inbox.list":{input:J9,result:FQ},"config.theme.get":{input:P0,result:a5},"config.theme.set":{input:K9,result:r5},"config.autonomy.get":{input:P0,result:n5},"config.autonomy.set":{input:X9,result:i5},"system.restart":{input:V9,result:s5},"system.terminal_setup":{input:P0,result:t5},"daemon.start":{input:DQ,result:M0},"daemon.status":{input:DQ,result:M0},"daemon.stop":{input:DQ,result:M0},"hook.extract":{input:U9,result:R5},"hook.reflect":{input:H9,result:e5},"hook.consolidate":{input:P0,result:$7},"hook.ingest":{input:D9,result:Q7},"hook.harvest":{input:F9,result:Z7}},z9=["run.start"],m4=["run.start","run.resume","interaction.respond"],YX=D.z.enum(z9);function _9($,Q,Z,J){let Y=A9[$],K=Q==="input"?Y.input:Q==="result"?Y.result:("event"in Y)?Y.event:void 0;if(!K){J.addIssue({code:D.z.ZodIssueCode.custom,message:`Operation ${$} does not define a ${Q} payload`,path:[Q]});return}if(!K.safeParse(Z).success)J.addIssue({code:D.z.ZodIssueCode.custom,message:`Invalid ${Q} payload for operation ${$}`,path:[Q]})}var N9=D.z.object({kind:D.z.literal("request"),requestId:g$,op:jQ,input:D.z.unknown()}).strict().superRefine(($,Q)=>{_9($.op,"input",$.input,Q)}),O9=D.z.object({kind:D.z.literal("event"),requestId:g$,seq:f0,op:YX,event:D.z.unknown()}).strict().superRefine(($,Q)=>{_9($.op,"event",$.event,Q)}),KX=D.z.object({kind:D.z.literal("result"),requestId:g$,op:jQ,ok:D.z.literal(!0),result:D.z.unknown()}).strict().superRefine(($,Q)=>{_9($.op,"result",$.result,Q)}),XX=D.z.object({kind:D.z.literal("result"),requestId:g$,op:D.z.union([jQ,D.z.literal("unknown")]),ok:D.z.literal(!1),error:l8}).strict(),L9=D.z.union([KX,XX]),d4=D.z.union([N9,c8]),c4=D.z.union([O9,L9,d8]);function M9($){let Q=J0.safeParse($.signingPublicKey?.trim());if(!Q.success||typeof $.nodeId!=="string"||$.nodeId.length===0)return null;let Z=Q.data;return{nodeId:$.nodeId,transportPublicKey:$.publicKey,displayNameSnapshot:$.name,endpointHost:$.endpointHost,endpointPort:$.endpointPort,controlEndpoint:$.controlEndpoint??null,signingPublicKey:Z,status:$.status,membershipStatus:$.membershipStatus??$.status,routeOwnership:$.routeOwnership,routeOwnerNodeId:$.routeOwnerNodeId??null,sessionState:$.sessionState,deliveryReadiness:$.deliveryReadiness,lastHandshake:$.lastHandshake,createdAt:$.createdAt,endpointRevision:$.endpointRevision??0,updatedAt:$.updatedAt??$.createdAt}}function C9($){let Q=J0.safeParse($.signingPublicKey?.trim()),Z=Q.success?Q.data:null;return{configured:$.configured,nodeId:$.nodeId,principalFingerprint:$.principalFingerprint,transportPublicKey:$.publicKey,listenPort:$.listenPort,externalEndpoint:$.externalEndpoint,activePeers:$.activePeers,totalPeers:$.totalPeers,connectedPeers:$.connectedPeers,handshakingPeers:$.handshakingPeers,queueOnlyPeers:$.queueOnlyPeers,supersededPeers:$.supersededPeers,signingPublicKey:Z}}function l4($){if(!$)return;return{invite(Q,Z){return $.invite(Q,Z)},revokePeer(Q){return $.revokePeer(Q)},listPeers(){return $.listPeers().flatMap((Q)=>{let Z=M9(Q);return Z?[Z]:[]})},status(){return C9($.status())}}}var b9=E(require("node:net")),T9=require("node:crypto");function p4($){return{runId:`run-local-${Date.now()}`,wait:()=>$}}async function VX($){await new Promise((Q)=>setTimeout(Q,Math.max($,0)))}async function*u4($,Q={pollIntervalMs:1000}){let Z=new Map,J=Q.initialAfterCreatedAt??0;while(!0){let Y=await $(),K=!1;for(let X of Y){if(typeof X.createdAt==="number"&&X.createdAt<J)continue;let V=typeof X.id==="string"?X.id:X.nodeId;if(typeof V==="string"){let G=Q.getVersionKey?.(X)??JSON.stringify(X);if(Z.get(V)===G)continue;Z.set(V,G)}if(typeof X.createdAt==="number")J=Math.max(J,X.createdAt);K=!0,yield X}if(!K)await VX(Q.pollIntervalMs)}}function g($,Q,Z,J,Y){let K=z2.parse({id:T9.randomUUID(),method:Q,...Z===void 0?{}:{payload:Z},...Y===void 0?{}:{auth:X$.parse(Y)}});return new Promise((X,V)=>{let G=b9.createConnection($),W="",B=!1,U=(q)=>{if(B)return;B=!0,G.destroy(),V(q)};G.setEncoding("utf8"),G.once("error",U),G.once("connect",()=>{G.write(`${JSON.stringify(K)}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
`)||"";return{success:!Y.isError,message:K,data:Y.content}}catch(J){if(J instanceof DOMException&&J.name==="AbortError")return{success:!1,message:"Tool execution cancelled by user."};return{success:!1,message:J.message}}}async listResources(){return(await this.rpc.request("resources/list",{})).resources||[]}async readResource($){return(await this.rpc.request("resources/read",{uri:$})).contents||[]}async listPrompts(){return(await this.rpc.request("prompts/list",{})).prompts||[]}async getPrompt($,Q){return(await this.rpc.request("prompts/get",{name:$,arguments:Q})).messages||[]}}class Z1 extends $Z.EventEmitter{servers=new Map;serverConfigs=new Map;reconnectTimers=new Map;logger;constructor($){super();this.logger=$?.logger??console}async connect($){if(this.servers.has($.name))throw Error(`Server already connected: ${$.name}`);let Q=new g0($);return await Q.initialize(),Q.on("tools/list_changed",()=>this.emit("toolsChanged",$.name)),Q.on("resources/list_changed",()=>this.emit("resourcesChanged",$.name)),Q.on("prompts/list_changed",()=>this.emit("promptsChanged",$.name)),Q.on("exit",(Z)=>{if(this.servers.delete($.name),this.emit("serverExit",$.name,Z),Z!==0&&this.serverConfigs.has($.name))this.reconnect($.name,$).catch((J)=>{this.logger.warn("[MCPClient] Reconnect failed:",J?.message)})}),this.servers.set($.name,Q),this.serverConfigs.set($.name,$),Q}async disconnect($){this.serverConfigs.delete($);let Q=this.reconnectTimers.get($);if(Q!==void 0)clearTimeout(Q),this.reconnectTimers.delete($);let Z=this.servers.get($);if(Z)this.servers.delete($),Z.removeAllListeners(),await Z.shutdown()}async reconnect($,Q,Z=0){let Y=Math.min(1000*Math.pow(2,Z),30000);if(Z>=3)return;if(await new Promise((K)=>{let X=setTimeout(K,Y);this.reconnectTimers.set($,X)}),this.reconnectTimers.delete($),!this.serverConfigs.has($))return;if(this.servers.has($))return;try{await this.connect(Q)}catch{await this.reconnect($,Q,Z+1)}}async disconnectAll(){let $=new Set([...this.servers.keys(),...this.reconnectTimers.keys()]);await Promise.all([...$].map((Q)=>this.disconnect(Q)))}getConnectedServers(){return[...this.servers.keys()]}async listAllTools(){return(await Promise.all([...this.servers.entries()].map(async([Q,Z])=>{try{return(await Z.listTools()).map((Y)=>({...Y,server:Q}))}catch{return[]}}))).flat()}async callTool($,Q,Z,J){let Y=this.servers.get($);if(!Y)return{success:!1,message:`Server not connected: ${$}`};return Y.callTool(Q,Z,J)}async listAllResources(){return(await Promise.all([...this.servers.entries()].map(async([Q,Z])=>{try{return(await Z.listResources()).map((Y)=>({...Y,server:Q}))}catch{return[]}}))).flat()}async readResource($,Q){let Z=this.servers.get($);if(!Z)throw Error(`Server not connected: ${$}`);return Z.readResource(Q)}async listAllPrompts(){return(await Promise.all([...this.servers.entries()].map(async([Q,Z])=>{try{return(await Z.listPrompts()).map((Y)=>({...Y,server:Q}))}catch{return[]}}))).flat()}async getPrompt($,Q,Z){let J=this.servers.get($);if(!J)throw Error(`Server not connected: ${$}`);return J.getPrompt(Q,Z)}}M2();function K1($){return typeof $==="object"&&$!==null&&!Array.isArray($)}function yX($){if($===null)return"null";if(Array.isArray($))return"array";return typeof $}function EX($,Q){if(Q==="integer")return typeof $==="number"&&Number.isInteger($);if(Q==="number")return typeof $==="number";if(Q==="string")return typeof $==="string";if(Q==="boolean")return typeof $==="boolean";if(Q==="array")return Array.isArray($);if(Q==="object")return K1($);if(Q==="null")return $===null;return!0}function C0($){return $?`Property "${$}"`:"Value"}function W7($,Q,Z){let J=Q.type;if(J){let Y=Array.isArray(J)?J:[J];if(!Y.some((X)=>EX($,X)))return`${C0(Z)} expected type ${Y.join(" | ")}; got ${yX($)}`}if(Array.isArray(Q.enum)&&Q.enum.length>0){let Y=Q.enum;if(!Y.some((X)=>Object.is(X,$)))return`${C0(Z)} must be one of: ${Y.map((X)=>String(X)).join(", ")}`}if("const"in Q&&!Object.is(Q.const,$))return`${C0(Z)} must equal ${String(Q.const)}`;if(typeof $==="string"){if(typeof Q.minLength==="number"&&$.length<Q.minLength)return`${C0(Z)} must have length >= ${Q.minLength}`;if(typeof Q.maxLength==="number"&&$.length>Q.maxLength)return`${C0(Z)} must have length <= ${Q.maxLength}`;if(typeof Q.pattern==="string")try{if(!new RegExp(Q.pattern).test($))return`${C0(Z)} does not match required pattern`}catch{}}if(typeof $==="number"){if(typeof Q.minimum==="number"&&$<Q.minimum)return`${C0(Z)} must be >= ${Q.minimum}`;if(typeof Q.maximum==="number"&&$>Q.maximum)return`${C0(Z)} must be <= ${Q.maximum}`;if(typeof Q.exclusiveMinimum==="number"&&$<=Q.exclusiveMinimum)return`${C0(Z)} must be > ${Q.exclusiveMinimum}`;if(typeof Q.exclusiveMaximum==="number"&&$>=Q.exclusiveMaximum)return`${C0(Z)} must be < ${Q.exclusiveMaximum}`;if(typeof Q.multipleOf==="number"&&Q.multipleOf>0){let Y=$/Q.multipleOf;if(!Number.isInteger(Y))return`${C0(Z)} must be a multiple of ${Q.multipleOf}`}}if(Array.isArray($)){if(typeof Q.minItems==="number"&&$.length<Q.minItems)return`${C0(Z)} must contain at least ${Q.minItems} item(s)`;if(typeof Q.maxItems==="number"&&$.length>Q.maxItems)return`${C0(Z)} must contain at most ${Q.maxItems} item(s)`;if(K1(Q.items))for(let Y=0;Y<$.length;Y++){let K=W7($[Y],Q.items,Z?`${Z}[${Y}]`:`[${Y}]`);if(K)return K}}if(K1($)){let Y=Array.isArray(Q.required)?Q.required.filter((V)=>typeof V==="string"):[];if(Y.length>0){let V=Y.filter((G)=>!(G in $)||$[G]===void 0);if(V.length>0)return`${Z?`${Z}: `:""}Missing required properties: ${V.join(", ")}`}let K=K1(Q.properties)?Q.properties:void 0;if(K)for(let[V,G]of Object.entries(K)){if(!(V in $)||$[V]===void 0)continue;if(!K1(G))continue;let W=Z?`${Z}.${V}`:V,B=W7($[V],G,W);if(B)return B}let X=Q.additionalProperties;if(X===!1){let V=new Set(K?Object.keys(K):[]),G=Object.keys($).filter((W)=>!V.has(W));if(G.length>0){if(Z)return`${Z}: Unknown properties: ${G.join(", ")}`;return`Unknown properties: ${G.join(", ")}`}}else if(K1(X)){let V=new Set(K?Object.keys(K):[]);for(let[G,W]of Object.entries($)){if(V.has(G))continue;let B=Z?`${Z}.${G}`:G,U=W7(W,X,B);if(U)return U}}}return null}function CQ($,Q,Z=""){if(Q.type!=="object")return null;let J=Z?`${Z}: `:"";if($===null||$===void 0){let Y=Q.required;if(Y&&Y.length>0)return`${J}Expected an object with required properties: ${Y.join(", ")}; got ${$===null?"null":"undefined"}`;return null}if(typeof $!=="object"||Array.isArray($))return`${J}Expected an object; got ${Array.isArray($)?"array":typeof $}`;return W7($,Q,Z)}function WZ($){return $.annotations?.readOnlyHint===!0}function SX($){if(!Array.isArray($))return;let Q=[];for(let Z of $){if(typeof Z==="string"){let K=Z.trim();if(K)Q.push(K);continue}if(!Z||typeof Z!=="object")continue;let J=Z,Y=typeof J.error==="string"&&J.error.trim()?J.error.trim():typeof J.message==="string"&&J.message.trim()?J.message.trim():void 0;if(Y)Q.push(Y)}if(Q.length===0)return;return[...new Set(Q)]}function UZ($){return $.trimStart().toLowerCase().startsWith("bash:")}function kX($){return`'${$.replace(/'/g,`'"'"'`)}'`}function vX($,Q,Z){return $.replace(/\{\{(\w+)\}\}/g,(J,Y)=>{let K=Q[Y];if(K===void 0||K===null)return"";let X=String(K);return Z?.escapeForShell?kX(X):X})}class X1{tools=new Map;middleware=[];mcpClient;logger;constructor($){this.logger=$?.logger??console}use($){this.middleware.push($)}register($,Q={}){if(this.tools.has($.name)&&!Q.override)throw Error(`Tool "${$.name}" is already registered. Use { override: true } to replace.`);this.tools.set($.name,$)}get($){return this.tools.get($)}has($){return this.tools.has($)}list($){let Q=Array.from(this.tools.values());if(!$)return Q;return Q.filter((Z)=>Z.category===$)}unregister($){return this.tools.delete($)}get size(){return this.tools.size}clear(){this.tools.clear()}getAll(){return Array.from(this.tools.values())}async execute($,Q,Z){let J=this.tools.get($);if(!J)return{success:!1,message:`Tool "${$}" is not registered.`};if(J.parameters&&typeof J.parameters==="object"){let K=J.parameters,X=CQ(Q,K);if(X)return{success:!1,message:`Invalid input for tool "${$}": ${X}`}}if(this.middleware.length===0)return J.execute(Q,Z);return this.middleware.reduceRight((K,X)=>()=>X(J,Q,Z,K),()=>J.execute(Q,Z))()}toolToInfo($){let Q=[];if($.parameters&&typeof $.parameters==="object"){let Z=$.parameters;if(Z.properties)for(let[J,Y]of Object.entries(Z.properties))Q.push({name:J,type:String(Y.type||"unknown"),required:Z.required?.includes(J)??!1,description:Y.description})}return{name:$.name,description:$.description,requiresConfirmation:$.requiresConfirmation??$.riskLevel==="dangerous",parameters:Q}}getToolInfos(){return this.getAll().map(($)=>this.toolToInfo($))}search($){let Q=$.toLowerCase();return Array.from(this.tools.values()).filter((Z)=>Z.name.toLowerCase().includes(Q)||Z.description.toLowerCase().includes(Q))}async discoverFromMemoria($){let Q=0,Z=0,J=0,Y=new Set,K=200,X=250,V=new Set(["filesystem","code","shell","web","data","memory","meta","arion"]),G=new Set(["safe","moderate","dangerous"]);try{while(J<X){let W=await $.recallTools({query:"",limit:K,offset:Z,matchAll:!0,updateAccessStats:!1});if(J+=1,W.length===0)break;let B=W.map((U)=>String(U.id??U.name)).join("|");if(B&&Y.has(B)){this.logger.warn("Memoria discovery received a duplicate page; stopping to avoid pagination loop");break}if(B)Y.add(B);for(let U of W)try{if(typeof U.name!=="string"||U.name.trim().length===0){this.logger.warn("Skipping Memoria tool with missing name");continue}if(typeof U.description!=="string"||U.description.trim().length===0){this.logger.warn(`Skipping Memoria tool "${U.name}" with missing description`);continue}let q=typeof U.category==="string"&&V.has(U.category)?U.category:"meta";if(q==="meta"&&U.category!=="meta")this.logger.warn(`Memoria tool "${U.name}" has invalid/missing category; defaulting to "meta"`);let A=U.parameters&&typeof U.parameters==="object"?U.parameters:{type:"object",properties:{},additionalProperties:!0};if(!U.parameters||typeof U.parameters!=="object")this.logger.warn(`Memoria tool "${U.name}" has invalid/missing parameters; defaulting to permissive schema`);if(!(typeof U.responseTemplate==="string"&&U.responseTemplate.trim().length>0)){this.logger.warn(`Skipping Memoria tool "${U.name}" without executable responseTemplate`);continue}let _=typeof U.riskLevel==="string"&&G.has(U.riskLevel)?U.riskLevel:"moderate",M=typeof U.responseTemplate==="string"&&UZ(U.responseTemplate)?"dangerous":_,C=SX(U.failures),b={description:U.description,category:q,parameters:A,riskLevel:M};if(C&&C.length>0)b.issues=C;if(typeof U.responseTemplate==="string")b.responseTemplate=U.responseTemplate;let z={name:U.name,description:U.description,category:q,parameters:A,riskLevel:M,issues:C,loadingTier:"deferred",execute:this.createMemoriaToolExecutor(U.name,b)};if(this.tools.has(z.name))continue;this.register(z),Q++}catch{this.logger.warn(`Invalid tool definition in Memoria: ${U.name}`)}if(Z+=W.length,W.length<K)break}if(J>=X)this.logger.warn(`Stopped Memoria discovery after ${X} pages to avoid unbounded paging`)}catch(W){this.logger.error("Error discovering tools from Memoria:",W)}return Q}async saveToMemoria($,Q){let Z=this.get($);if(!Z)throw Error(`Tool "${$}" not found`);let J=Array.isArray(Z.issues)&&Z.issues.length>0?Z.issues.map((G)=>typeof G==="string"?G.trim():"").filter(Boolean):[],Y=J.length>0?J.map((G)=>({timestamp:new Date,error:G})):void 0,K=Z.responseTemplate,X=typeof K==="string"&&K.trim().length>0?K:void 0,V={name:Z.name,description:Z.description,category:Z.category,parameters:Z.parameters,riskLevel:Z.riskLevel,...Y?{failures:Y}:{}};if(X)V.responseTemplate=X;await Q.rememberTool(V)}createMemoriaToolExecutor($,Q){return async(Z,J)=>{try{let Y=Z&&typeof Z==="object"?Z:{},K=Q.parameters;if(K&&typeof K==="object"){let X=CQ(Z,K);if(X)return{success:!1,message:`Invalid input for tool "${$}": ${X}`}}if(typeof Q.responseTemplate==="string"){let X=Q.responseTemplate,V=UZ(X),G=vX(X,Y,{escapeForShell:V});if(V){let W=G.toLowerCase().indexOf("bash:"),B=G.slice(W+5).trim();if(!B)return{success:!1,message:`Tool "${$}" has empty bash command template`};let U=await C2({command:B,cwd:J.workingDir,env:J.env,timeout:30000},J);if(!U.success)return{success:!1,message:`Tool "${$}" command failed: ${U.message}`};let q=U.data&&typeof U.data==="object"?U.data:void 0,A=[q?.stdout,q?.stderr].filter(Boolean).join(`
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
`);return await t.writeFile(J,M,"utf-8"),u0(J,"write",M),I2(J,"write",M),O(`Edited ${J} using strategy=${q.name} (${_} replacement(s))`,{filePath:J,strategy:q.name,matchesFound:A.length,replacements:_,expectedReplacements:N,replaceAll:$.replaceAll===!0,previousHash:X,currentHash:N7(P2(M)),structuredPatch:C.hunks})}catch(Z){return H(P.getErrorMessage(Z))}}function YV($){if($.isFile())return"file";if($.isDirectory())return"directory";if($.isSymbolicLink())return"symlink";return"other"}function MZ($){if(typeof $!=="object"||$===null)return;let Q=$;return typeof Q.code==="string"?Q.code:void 0}var CZ={async readType($){let Q=await t.lstat($);return YV(Q)},async readMetadata($){let Q=await t.lstat($);return{size:Q.size,mode:(Q.mode&511).toString(8).padStart(3,"0"),mtimeMs:Math.trunc(Q.mtimeMs),modifiedAt:Q.mtime.toISOString()}}};function c9($,Q){if($===void 0)return Q;if(!Number.isFinite($))return Q;if($<=0)return 0;return Math.floor($)}function KV($){return $.split("/").filter(Boolean).length}function XV($,Q,Z){if(Z<=0)return;if($.length<Z){$.push(Q);return}let J=0;for(let Y=1;Y<$.length;Y++)if($[Y].localeCompare($[J])>0)J=Y;if(Q.localeCompare($[J])<0)$[J]=Q}async function fQ($,Q){if(Q.abortSignal?.aborted)return H("Operation cancelled");try{let Z=D1($.path??".",Q);if(!(await t.stat(Z)).isDirectory())return H(`Path is not a directory: ${Z}`);let Y=$.all===!0,K=$.long===!0,X=c9($.depth,1),V=c9($.offset,0),G=($.ignore??[]).filter((b)=>b.trim()!==""),W=$.limit!==void 0?c9($.limit,0):null,B=[],U=0;for(let b of await O7.default.glob("**/*",{cwd:Z,onlyFiles:!1,absolute:!1,dot:Y,deep:X,ignore:G.length>0?G:void 0})){if(U++,W===null){B.push(b);continue}XV(B,b,V+W)}B.sort((b,z)=>b<z?-1:b>z?1:0);let q=W===null?Math.max(U-V,0):W,A=B.slice(V,V+q),j=V+q<U,_=[];for(let b of A){let z=c.join(Z,b),L=c.basename(b),w=KV(b);try{let k=await CZ.readType(z);_.push({name:L,path:b,depth:w,type:k})}catch(k){let n=MZ(k);if(n==="ENOENT"||n==="ENOTDIR")continue;_.push({name:L,path:b,depth:w,type:"other"})}}let N;if(K){N=[];for(let b of _){let z=c.join(Z,b.path);try{let L=await CZ.readMetadata(z);N.push({...b,...L})}catch(L){let w=MZ(L);if(w==="ENOENT"||w==="ENOTDIR")continue;N.push(b)}}}else N=_;let M={path:Z,depth:X,limit:q,offset:V,ignore:G,truncated:j,total:U,entries:N},C=j?" (truncated)":"";return O(`Listed ${N.length} entries in ${Z}${C}`,M)}catch(Z){return H(P.getErrorMessage(Z))}}async function gQ($,Q){if(Q.abortSignal?.aborted)return H("Operation cancelled");try{let Z=$.cwd?D1($.cwd,Q):Q.workingDir,J=await O7.default.glob($.pattern,{cwd:Z,onlyFiles:!0,absolute:!1,ignore:$.ignore}),Y=J.length>x0.MAX_GLOB_RESULTS,K=Y?J.slice(0,x0.MAX_GLOB_RESULTS):J,X=Y?` (truncated to ${K.length})`:"";return O(`Found ${J.length} files matching ${$.pattern}${X}`,K)}catch(Z){return H(P.getErrorMessage(Z))}}var bZ=512,TZ=64,VV=/\\[1-9][0-9]*/,GV=/\((?:\?:)?(?:[^()\\]|\\.)*(?:\+|\*|\{\d+(?:,\d*)?\})(?:[^()\\]|\\.)*\)(?:\+|\*|\{\d+(?:,\d*)?\})/,WV=/\((?:\?:)?(?:[^()\\]|\\.)*\.(?:\+|\*|\{\d+(?:,\d*)?\})(?:[^()\\]|\\.)*\)(?:\+|\*|\{\d+(?:,\d*)?\})/,UV=/\(\?(?:=|!|<=|<!)/,BV=/\((?:\?:)?((?:[^()\\]|\\.)+)\)(?:\+|\*|\{\d+(?:,\d*)?\})/g,HV=/(^|[^\\])(?:\*|\+|\?|\{\d+(?:,\d*)?\})/;function DV($){let Q=[],Z="",J=!1,Y=!1,K=0;for(let X=0;X<$.length;X++){let V=$[X];if(J){Z+=V,J=!1;continue}if(V==="\\"){Z+=V,J=!0;continue}if(Y){if(Z+=V,V==="]")Y=!1;continue}if(V==="["){Y=!0,Z+=V;continue}if(V==="("){K++,Z+=V;continue}if(V===")"&&K>0){K--,Z+=V;continue}if(V==="|"&&K===0){Q.push(Z),Z="";continue}Z+=V}return Q.push(Z),Q}function FV($){return $.replace(/\\./g,"x").replace(/\[[^\]]*\]/g,"x").replace(/[\^\$]/g,"").replace(/(^|[^\\])(?:\*|\+|\?|\{\d+(?:,\d*)?\})/g,"$1")}function qV($){for(let Q of $.matchAll(new RegExp(BV.source,"g"))){let Z=Q[1];if(!Z||!Z.includes("|"))continue;let J=DV(Z);if(J.length<2)continue;if(J.some((K)=>K.length===0))return!0;if(J.some((K)=>HV.test(K)))return!0;let Y=J.map(FV);for(let K=0;K<Y.length;K++)for(let X=K+1;X<Y.length;X++){let V=Y[K],G=Y[X];if(!V||!G)return!0;if(V.startsWith(G)||G.startsWith(V))return!0}}return!1}function jV($){return[...$.matchAll(/(^|[^\\])(?:\*|\+|\?|\{\d+(?:,\d*)?\})/g)].length}function AV($){if($.length>bZ)return`pattern length exceeds ${bZ} characters`;if(UV.test($))return"lookaround assertions are not allowed";if(VV.test($))return"backreferences are not allowed";if(jV($)>TZ)return`pattern uses too many quantifiers (max ${TZ})`;if(GV.test($)||WV.test($))return"nested quantifiers are not allowed";if(qV($))return"ambiguous alternation inside repeated groups is not allowed";return null}async function r9($,Q){if(Q.abortSignal?.aborted)return H("Operation cancelled");try{let Z=AV($.pattern);if(Z)return H(`Unsafe regular expression rejected: ${Z}`);let J;try{J=new RegExp($.pattern,$.ignoreCase?"gi":"g")}catch{return H(`Invalid regular expression: ${$.pattern}`)}let Y=D1($.path??".",Q),K=await t.stat(Y),X=[],V=[],G=!1;if(K.isDirectory()){let B=$.glob??"**/*",U=await O7.default.glob(B,{cwd:Y,onlyFiles:!0,absolute:!0});for(let q of U){if(X.length>=x0.MAX_GREP_MATCHES){G=!0;break}let A=x0.MAX_GREP_MATCHES-X.length,j=await IZ(q,J,A);if(X.push(...j.matches),j.truncated)G=!0;if(j.error){if(V.length<x0.MAX_GREP_ERRORS)V.push(j.error)}if(G)break}}else{let B=await IZ(Y,J,x0.MAX_GREP_MATCHES);if(X.push(...B.matches),B.truncated)G=!0;if(B.error){if(V.length<x0.MAX_GREP_ERRORS)V.push(B.error)}}let W=G?` (truncated to ${X.length})`:"";return O(`Found ${X.length} matches for pattern "${$.pattern}"${W}`,{matches:X,errors:V.length>0?V:void 0,truncated:G})}catch(Z){return H(P.getErrorMessage(Z))}}async function IZ($,Q,Z){let J=[],Y=!1;if(Z<=0)return{matches:J,truncated:!0};try{if((await t.stat($)).size>x0.MAX_GREP_FILE_BYTES)return{matches:[],error:`Skipped file ${$}: exceeds ${x0.MAX_GREP_FILE_BYTES} bytes`};let X=new RegExp(Q.source,Q.flags.replace("g","")),V=d$.createReadStream($,{encoding:"utf8"}),G=l9.createInterface({input:V,crlfDelay:1/0}),W=0;try{for await(let B of G){if(W++,Buffer.byteLength(B,"utf8")>x0.MAX_GREP_LINE_BYTES){Y=!0;continue}if(!X.test(B))continue;if(J.push({file:$,line:W,content:B}),J.length>=Z)return G.close(),V.destroy(),{matches:J,truncated:!0}}if(Y)return{matches:J,error:`Skipped lines longer than ${x0.MAX_GREP_LINE_BYTES} bytes in ${$}`};return{matches:J}}finally{G.close(),V.destroy()}}catch(K){return{matches:[],error:`Could not read file ${$}: ${P.getErrorMessage(K)}`}}}Y0();M2();var c$=E(require("node:fs")),G0=E(require("node:path")),xQ=require("@aria-cli/fastripgrep");function zV($,Q){let Z=$??".";return G0.isAbsolute(Z)?G0.resolve(Z):G0.resolve(Q.workingDir,Z)}function _V($,Q){let Z=G0.resolve(Q.workingDir);try{Z=c$.realpathSync(Q.workingDir)}catch{}let J=$;try{J=c$.realpathSync($)}catch{J=G0.resolve($)}if(G$(J,Z))return;let Y=process.env.HOME;if(Y)try{let K=c$.realpathSync(Y);if(G$(J,K))return}catch{}throw Error("Path traversal not allowed: resolved path is outside working directory and home directory")}function NV($,Q){return{command:$.command,pattern:$.pattern,replacement:$.replacement,path:Q,noIndex:$.noIndex,literal:$.literal,caseInsensitive:$.caseInsensitive,smartCase:$.smartCase,filesOnly:$.filesOnly,count:$.count,maxCount:$.maxCount,quiet:$.quiet,context:$.context,json:$.json,glob:$.glob,fileType:$.fileType,follow:$.follow,extraPatterns:$.extraPatterns,maxFilesize:$.maxFilesize,force:$.force,write:$.write,hook:$.hook,shell:$.shell}}function OV($){let Q=[],Z=[];for(let J of U$($)){if(J.operation==="delete"){Z.push(G0.resolve(J.path));continue}let Y=J.content;if(typeof Y!=="string")try{let K=G0.resolve(J.path),X=c$.readFileSync(K);if(!X.subarray(0,Math.min(X.length,8192)).includes(0))Y=X.toString("utf8")}catch{}if(typeof Y==="string")Q.push({path:G0.resolve(J.path),content:Y})}return{sessionWrites:Q,sessionDeletes:Z}}async function LV($,Q,Z){let J=G0.resolve(Q.workingDir),Y=J.includes(`${G0.sep}packages${G0.sep}`)?J.split(`${G0.sep}packages${G0.sep}`)[0]??process.cwd():process.cwd(),K=G0.join(Y,"vendor","fastripgrep","target","release",process.platform==="win32"?"frg.exe":"frg");if(!c$.existsSync(K))return H(`frg watch failed: binary not found at ${K}. Build @aria-cli/fastripgrep first.`);let X=await b2({program:K,args:["watch",Z],cwd:Z},Q);if(!X.success)return X;let V=X.data??{};return O(`Started frg watch process for ${Z}`,{command:"watch",path:Z,watched:!0,pid:V.pid})}function MV($,Q){if(Q.command!=="status")return Q;try{let Z=Q.status?.tree_hash??null,J=Q.status?.commit_hash??null,Y=T2($,Q.status);if(Y.headTree&&Z&&Y.headTree!==Z){if(Y.sessionPendingCount===0&&Y.dirtyTrackedCount===0&&Y.dirtyUntrackedCount===0)return{...xQ.frg({command:"update",path:$}),content:`HEAD tree changed from indexed ${Z} to ${Y.headTree}; triggered incremental update`};return{...Q,content:`HEAD tree differs from indexed tree (${Z} -> ${Y.headTree}); local dirty state deferred update`}}if(J&&Y.headCommit&&J!==Y.headCommit)return{...Q,content:`HEAD commit differs from indexed commit (${J} -> ${Y.headCommit})`}}catch{}return Q}function CV($,Q){if(Q.command!=="status")return Q;let Z=T2($,Q.status);return{...Q,status:Q.status?{...Q.status,head_commit:Z.headCommit,head_tree:Z.headTree,tree_match:Z.headTree&&Q.status.tree_hash?Z.headTree===Q.status.tree_hash:void 0,dirty_tracked_count:Z.dirtyTrackedCount,dirty_untracked_count:Z.dirtyUntrackedCount,session_pending_count:Z.sessionPendingCount,session_pending_bytes:Z.sessionPendingBytes,background_flush_scheduled:Z.flush.scheduled,flush_in_flight:Z.flush.inFlight,last_flush_at:Z.flush.lastFlushAt,last_flush_error:Z.flush.lastError,freshness_state:Z.freshnessState}:Q.status}}function bV($,Q){if($.command==="search"){if($.mode==="quiet")return $.matched?`Match found for ${Q.pattern}`:`No matches found for ${Q.pattern}`;if($.mode==="files")return`Found ${($.files??[]).length} files for ${Q.pattern}`;if($.mode==="counts")return`Counted matches in ${($.counts??[]).length} files for ${Q.pattern}`;return`Found ${($.matches??[]).length} matches for ${Q.pattern}`}if($.command==="replace")return Q.write?`Applied ${$.replacements??0} replacements in ${$.files_changed??0} files`:`Previewed ${$.replacements??0} replacements in ${$.files_changed??0} files`;if($.command==="init")return $.hook_installed?`Initialized frg for ${$.path} and installed git hook`:`Initialized frg for ${$.path}`;if($.command==="completions")return`Generated ${$.shell??Q.shell??"shell"} completions for frg`;if($.command==="man")return"Generated frg man page content";if($.command==="upgrade")return $.content??"Provided frg upgrade metadata";return`frg ${$.command} completed for ${$.path}`}async function hQ($,Q){try{let Z=$,J=zV(Z.path,Q);if(_V(J,Q),Z.command==="watch")return LV(Z,Q,J);if(PQ(J),EQ(J),Z.command==="search"){U1(J);try{let V=xQ.frg({command:"status",path:J});if(V.status?.tree_hash&&V.status?.commit_hash){let G=T2(J,V.status);if(G.headTree&&V.status.tree_hash!==G.headTree&&G.sessionPendingCount===0&&G.dirtyTrackedCount===0&&G.dirtyUntrackedCount===0)xQ.frg({command:"update",path:J}),G1(J)}}catch{}if(U$(J).length>0){if(!Z.noIndex)if(wQ(J))W1(J);else m$(J)}}let Y=NV(Z,J);if(Z.command==="search"){let X=OV(J);Y.sessionWrites=X.sessionWrites,Y.sessionDeletes=X.sessionDeletes}let K=xQ.frg(Y);if(Z.command==="status"){if(K=MV(J,K),K=CV(J,K),K.content?.includes("triggered incremental update"))G1(J)}return O(bV(K,Z),K)}catch(Z){return H(`frg failed: ${P.getErrorMessage(Z)}`)}}Y0();var C7=E(require("node:crypto")),l=E(require("node:fs/promises")),F1=E(require("node:fs")),B0=E(require("node:path"));function wZ($){if(typeof $!=="object"||$===null)return;let Q=$;return typeof Q.code==="string"?Q.code:void 0}var yZ=3,gZ="*** Begin Patch",TV="*** End Patch",EZ="*** Add File: ",SZ="*** Delete File: ",kZ="*** Update File: ",vZ="*** Move to: ",IV="*** End of File";function PV($){let Z=$.replace(/\r\n/g,`
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
{
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
${iV}`}],temperature:0.3,tier:"fast"}),J=q1(Z.content,sV);if(!J.ok)return O("No new learnings from this conversation",{learned:!1,observation:null});let Y=J.data;if(Y.learnedAboutSelf&&Y.observation){await Q.memoria.remember(Y.observation,{network:"beliefs",importance:0.6,source:"system"});let K={learned:!0,observation:Y.observation};if(Y.skillCandidate)K.skillCandidate=Y.skillCandidate;return O(`Learned: ${Y.observation}`,K)}return O("No new learnings from this conversation",{learned:!1,observation:null})}catch(Z){return H(P.getErrorMessage(Z))}}function tV($,Q,Z){if(Q.length+Z.length===0)return[`No tools or skills found about "${$}"`];let Y=[],K=[];if(Q.length>0)K.push(`${Q.length} tool${Q.length>1?"s":""}`);if(Z.length>0)K.push(`${Z.length} skill${Z.length>1?"s":""}`);Y.push(`Found ${K.join(" and ")} related to "${$}"`);let X=[...Q.map((V)=>V.name),...Z.map((V)=>V.name)];if(X.length>0)Y.push(`Related items: ${X.join(", ")}`);return Y}Y0();var HJ=require("node:crypto"),W6=require("@aria-cli/types"),h0=require("zod");Z6();var aZ=require("@aria-cli/types");function K0($=process.env){return{ARIA_SEARCH_PROVIDER:$.ARIA_SEARCH_PROVIDER,BRAVE_API_KEY:$.BRAVE_API_KEY,FIRECRAWL_API_KEY:$.FIRECRAWL_API_KEY,EXA_API_KEY:$.EXA_API_KEY,TAVILY_API_KEY:$.TAVILY_API_KEY,JINA_API_KEY:$.JINA_API_KEY}}function R0($,Q){let Z=new AbortController,J=()=>Z.abort();if(Q)if(Q.aborted)Z.abort();else Q.addEventListener("abort",J,{once:!0});let Y=setTimeout(()=>Z.abort(),$);return{signal:Z.signal,cleanup:()=>{if(clearTimeout(Y),Q)Q.removeEventListener("abort",J)}}}class p${_providers;env;constructor($,Q=process.env){this._providers=$;this.env=Q}resolve(){let Q=K0(this.env).ARIA_SEARCH_PROVIDER;if(Q){let Y=this._providers.find((K)=>K.name===Q);if(!Y)throw Error(`ARIA_SEARCH_PROVIDER override '${Q}' not found in provider registry`);if(!Y.isAvailable())aZ.log.debug(`[SearchProviderRouter] ARIA_SEARCH_PROVIDER override '${Q}' is not available, falling back to priority routing`);else return Y}let J=[...this._providers].sort((Y,K)=>Y.priority-K.priority).find((Y)=>Y.isAvailable());if(!J)throw Error("No search providers available. Set at least one API key (BRAVE_API_KEY, TAVILY_API_KEY, etc.)");return J}async search($,Q){if(Q?.signal?.aborted)throw Error("Search aborted");let Z=K0(this.env),J=[...this._providers].filter((X)=>X.isAvailable()).sort((X,V)=>X.priority-V.priority);if(J.length===0)throw Error("No search providers available");let Y=Z.ARIA_SEARCH_PROVIDER;if(Y){let X=J.find((V)=>V.name===Y);if(X){let V=[X,...J.filter((G)=>G.name!==Y)];J.length=0,J.push(...V)}}let K=[];for(let X of J){if(Q?.signal?.aborted)throw Error("Search aborted");try{return await X.search($,Q)}catch(V){if(Q?.signal?.aborted)throw V instanceof Error?V:Error("Search aborted");K.push(V instanceof Error?V:Error(`Unknown error from ${X.name}`))}}throw AggregateError(K,`All search providers failed (tried ${J.length} providers)`)}}class o${env;name="jina";requiresApiKey=!1;priority=5;constructor($=process.env){this.env=$}isAvailable(){return!0}async search($,Q){let Z=K0(this.env).JINA_API_KEY,J=Q?.limit??5,Y=new URL("https://s.jina.ai/");Y.searchParams.set("q",$);let K={Accept:"application/json"};if(Z)K.Authorization=`Bearer ${Z}`;let{signal:X,cleanup:V}=R0(30000,Q?.signal);try{let G=await fetch(Y.toString(),{method:"GET",headers:K,signal:X});if(!G.ok)throw Error(`Jina Search API error: ${G.status} ${G.statusText}`);return((await G.json()).data||[]).slice(0,J).map((U)=>({title:U.title,url:U.url,content:U.content,score:U.score}))}finally{V()}}}class a${name="duckduckgo";requiresApiKey=!1;priority=6;isAvailable(){return!0}async search($,Q){let Z=Q?.limit??5,J=new URL("https://html.duckduckgo.com/html/");J.searchParams.set("q",$);let{signal:Y,cleanup:K}=R0(30000,Q?.signal);try{let X=await fetch(J.toString(),{method:"GET",signal:Y,headers:{"User-Agent":"Mozilla/5.0 (compatible; ARIA/1.0)"}});if(!X.ok)throw Error(`DuckDuckGo Search error: ${X.status} ${X.statusText}`);let V=await X.text(),G=[],W=new Map,B=/<a(?=[^>]*\bclass=(["'])[^"']*\bresult__a\b[^"']*\1)(?=[^>]*\bhref=(["'])(.*?)\2)[^>]*>([\s\S]*?)<\/a>/gi,U,q=0;while((U=B.exec(V))!==null){let N=U[3],M=U[4];if(!N||!M)continue;q++;let C=this.resolveDuckDuckGoResultUrl(N);if(!C)continue;let b=this.stripHtmlTags(M);if(!b)continue;W.set(C,{title:b,url:C})}if(q>0&&W.size===0)throw Error("Could not resolve any result URLs from DuckDuckGo response");let A=/<(?:a|div|span)(?=[^>]*\bclass=(["'])[^"']*\bresult__snippet\b[^"']*\1)[^>]*>([\s\S]*?)<\/(?:a|div|span)>/gi,j=[];while((U=A.exec(V))!==null){let N=U[2];j.push(this.stripHtmlTags(N??""))}let _=Array.from(W.values());for(let N=0;N<Math.min(_.length,Z);N++){let M=_[N];if(!M)continue;let C=j[N]||M.title;G.push({title:M.title,url:M.url,content:C})}return G}finally{K()}}stripHtmlTags($){return $.replace(/<[^>]*>/g,"").replace(/ /g," ").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").trim()}decodeHtmlEntities($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'")}resolveDuckDuckGoResultUrl($){let Q=this.decodeHtmlEntities($).trim();if(!Q)return null;let Z=Q;if(Z.startsWith("//"))Z=`https:${Z}`;else if(Z.startsWith("/"))Z=`https://duckduckgo.com${Z}`;let J;try{J=new URL(Z)}catch{return null}let Y=J.hostname.toLowerCase();if(Y==="duckduckgo.com"||Y.endsWith(".duckduckgo.com")){let K=J.searchParams.get("uddg");if(!K)return null;return this.normalizeResultUrl(K)}return this.normalizeResultUrl(Z)}normalizeResultUrl($){let Q=$.trim();if(!Q)return null;if(Q.startsWith("//"))Q=`https:${Q}`;for(let Z=0;Z<2;Z++)try{let J=decodeURIComponent(Q);if(J===Q)break;Q=J}catch{break}try{let Z=new URL(Q);if(Z.protocol!=="http:"&&Z.protocol!=="https:")return null;let J=Z.hostname.toLowerCase();if(J==="duckduckgo.com"||J.endsWith(".duckduckgo.com"))return null;return Z.toString()}catch{return null}}}class r${env;name="tavily";requiresApiKey=!0;priority=4;constructor($=process.env){this.env=$}isAvailable(){let $=K0(this.env).TAVILY_API_KEY;return Boolean($&&$.trim().length>0)}async search($,Q){let Z=K0(this.env).TAVILY_API_KEY;if(!Z)throw Error("TAVILY_API_KEY environment variable is not set");let J=Q?.limit??5,Y={api_key:Z,query:$,max_results:J,...Q?.topic&&{topic:Q.topic},...Q?.domains&&{include_domains:Q.domains},...Q?.excludeDomains&&{exclude_domains:Q.excludeDomains}},{signal:K,cleanup:X}=R0(30000,Q?.signal);try{let V=await fetch("https://api.tavily.com/search",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Y),signal:K});if(!V.ok)throw Error(`Tavily Search API error: ${V.status} ${V.statusText}`);return((await V.json()).results||[]).map((B)=>({title:B.title,url:B.url,content:B.content,score:B.score}))}finally{X()}}}class n${env;name="brave";requiresApiKey=!0;priority=1;constructor($=process.env){this.env=$}isAvailable(){let $=K0(this.env).BRAVE_API_KEY;return Boolean($&&$.trim().length>0)}async search($,Q){let Z=K0(this.env).BRAVE_API_KEY;if(!Z)throw Error("BRAVE_API_KEY environment variable is not set");let J=Q?.limit??5,Y=new URL("https://api.search.brave.com/res/v1/web/search");if(Y.searchParams.set("q",$),Y.searchParams.set("count",String(J)),Q?.timeRange){let G={day:"pd",week:"pw",month:"pm",year:"py"}[Q.timeRange];if(G)Y.searchParams.set("freshness",G)}let{signal:K,cleanup:X}=R0(30000,Q?.signal);try{let V=await fetch(Y.toString(),{method:"GET",headers:{Accept:"application/json","X-Subscription-Token":Z},signal:K});if(!V.ok)throw Error(`Brave Search API error: ${V.status} ${V.statusText}`);return((await V.json()).web?.results||[]).map((B)=>({title:B.title,url:B.url,content:B.description,score:B.relevance_score}))}finally{X()}}}class i${env;name="exa";requiresApiKey=!0;priority=3;constructor($=process.env){this.env=$}isAvailable(){let $=K0(this.env).EXA_API_KEY;return Boolean($&&$.trim().length>0)}async search($,Q){let Z=K0(this.env).EXA_API_KEY;if(!Z)throw Error("EXA_API_KEY environment variable is not set");let J=Q?.limit??5,Y={query:$,numResults:J,useAutoprompt:!0,contents:{text:!0}};if(Q?.domains)Y.includeDomains=Q.domains;if(Q?.excludeDomains)Y.excludeDomains=Q.excludeDomains;let{signal:K,cleanup:X}=R0(30000,Q?.signal);try{let V=await fetch("https://api.exa.ai/search",{method:"POST",headers:{"Content-Type":"application/json","x-api-key":Z},body:JSON.stringify(Y),signal:K});if(!V.ok)throw Error(`Exa Search API error: ${V.status} ${V.statusText}`);return((await V.json()).results||[]).map((B)=>({title:B.title,url:B.url,content:B.text||"",score:B.score,publishedDate:B.publishedDate}))}finally{X()}}}class s${env;name="firecrawl";requiresApiKey=!0;priority=2;constructor($=process.env){this.env=$}isAvailable(){let $=K0(this.env).FIRECRAWL_API_KEY;return Boolean($&&$.trim().length>0)}async search($,Q){let Z=K0(this.env).FIRECRAWL_API_KEY;if(!Z)throw Error("FIRECRAWL_API_KEY environment variable is not set");let J=Q?.limit??5,Y={query:$,limit:J},{signal:K,cleanup:X}=R0(30000,Q?.signal);try{let V=await fetch("https://api.firecrawl.dev/v1/search",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Z}`},body:JSON.stringify(Y),signal:K});if(!V.ok)throw Error(`Firecrawl Search API error: ${V.status} ${V.statusText}`);let G=await V.json();if(G.success===!1)throw Error(`Firecrawl API error: ${G.error||"Unknown error"}`);return(G.data||[]).map((B)=>({title:B.title,url:B.url,content:B.markdown||"",score:B.score}))}finally{X()}}}class aQ{maxEntries;ttlMs;cache=new Map;setCallCount=0;static EVICTION_INTERVAL=100;constructor($=100,Q=900000){this.maxEntries=$;this.ttlMs=Q}get($){let Q=this.cache.get($);if(!Q||Date.now()>Q.expiresAt){if(Q)this.cache.delete($);return}return this.cache.delete($),this.cache.set($,Q),Q.value}set($,Q){if(this.cache.has($))this.cache.delete($);if(this.setCallCount++,this.setCallCount%aQ.EVICTION_INTERVAL===0)this.evictExpired();if(this.cache.size>=this.maxEntries){let Z=this.cache.keys().next().value;if(Z)this.cache.delete(Z)}this.cache.set($,{value:Q,expiresAt:Date.now()+this.ttlMs})}evictExpired(){let $=Date.now();for(let[Q,Z]of this.cache)if(Z.expiresAt<=$)this.cache.delete(Q)}clear(){this.cache.clear()}get size(){return this.cache.size}}var _1=new aQ(100),J6=new aQ(50),Y6=new aQ(50);function X6(){let $=Error("AbortError");return $.name="AbortError",$}function K6($,Q){if(Q?.aborted)return Promise.reject(X6());return new Promise((Z,J)=>{let Y=!1,K,X=setTimeout(()=>{if(Y)return;if(Y=!0,Q&&K)Q.removeEventListener("abort",K);Z()},$);if(Q)K=()=>{if(Y)return;Y=!0,Q.removeEventListener("abort",K),clearTimeout(X),J(X6())},Q.addEventListener("abort",K,{once:!0})})}function XG($){if(!($ instanceof Error))return!1;return $.name==="AbortError"||$.message==="AbortError"}function VG($){if(typeof $==="object"&&$!==null&&"code"in $&&typeof $.code==="string")return $.code;if($ instanceof Error&&$.cause){let Q=$.cause;if(typeof Q.code==="string")return Q.code}return}async function GG($,Q,Z){let J=Z?.maxAttempts??3,Y=Z?.baseDelayMs??1000,K=Z?.maxDelayMs??30000,X=Z?.retryableStatuses??[429,500,502,503,504],V=Z?.retryableCodes??["ECONNRESET","ETIMEDOUT","EPIPE","ENETUNREACH","EHOSTUNREACH","ECONNREFUSED","EAI_AGAIN","UND_ERR_CONNECT_TIMEOUT","UND_ERR_SOCKET"],G=Z?.fetchFn??fetch,W=Q.signal??null;if(W?.aborted)throw X6();let B;for(let U=0;U<J;U++)try{let q=await G($,Q);if(q.status===403&&q.headers.get("cf-mitigated")==="challenge"){if(U<J-1){let A=Math.min(Y*2**U+Math.random()*500,K);await K6(A,W);continue}throw Error(`Cloudflare challenge after ${J} attempts: ${q.status}`)}if(!q.ok&&X.includes(q.status)){if(U<J-1){let A=Math.min(Y*2**U+Math.random()*500,K);await K6(A,W);continue}throw Error(`Request failed after ${J} attempts: ${q.status}`)}return q}catch(q){if(XG(q))throw q;let A=VG(q);if(A&&V.includes(A)&&U<J-1){let j=Math.min(Y*2**U+Math.random()*500,K);await K6(j,W);continue}throw B=q,q}throw B??Error("fetchWithRetry: unreachable")}async function rQ($,Q,Z){let{fetchWithDnsPinning:J}=await Promise.resolve().then(() => (tZ(),sZ));return GG($,Q,{...Z,fetchFn:async(Y,K)=>{return J(Y,K)}})}var eZ=require("node:crypto");var WG=[/\bignore\s+(?:all\s+)?(?:previous|prior|above)\s+(?:instructions?|prompts?)\b/i,/\b(?:disregard|forget)\s+(?:all\s+)?(?:previous|prior|above)?\s*(?:instructions?|rules?|prompts?)\b/i,/\byou\s+are\s+now\b[\s\S]{0,30}\b(?:system|developer|assistant|admin|root)\b/i,/\bsystem\s+prompt\s+override\b[\s\S]{0,30}\b(?:follow|switch(?:ing)?|activate|replace|use)\b/i,/\b(?:reveal|expose|print|dump|leak)\b[\s\S]{0,40}\b(?:system|developer)\s+prompt\b/i,/\b(?:reveal|expose|print|dump|leak)\b[\s\S]{0,40}\b(?:api\s*keys?|secret(?:s)?|credentials?|tokens?)\b/i,/\b(?:bypass|override|disable)\b[\s\S]{0,40}\b(?:safety|guardrails?|policy|moderation)\b/i,/\b(?:begin|end)\s+(?:system|developer)\s+prompt\b/i],UG=[/\bjailbreak\b/i,/\bdeveloper\s+mode\b/i,/\bdo\s+anything\s+now\b/i,/\bunfiltered\s+mode\b/i],BG=/\b(?:ignore|disregard|forget|override|bypass|disable|reveal|expose|dump|leak)\b/i,HG=/\b(?:instruction|prompt|policy|guardrail|secret|token|credential|api\s*key|system|developer)\b/i;function DG($){if(WG.some((Z)=>Z.test($)))return!0;let Q=0;for(let Z of UG)if(Z.test($))Q++;if(BG.test($)&&HG.test($))Q++;return Q>=2}function $J($,Q){let Z=eZ.randomBytes(16).toString("hex"),J=DG($),Y=J?`
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
[Content truncated]`:N,z={url:$.url,title:_,content:b,fromCache:!1,fetchedAt:new Date().toISOString(),finalUrl:U.url||Z,contentBytes:j,truncated:C};return Y6.set(Z,z),G(),O(`Browsed ${$.url}`,BJ(z))}catch(W){if(clearTimeout(V),G(),W instanceof Error&&W.name==="AbortError"){if(Q.abortSignal?.aborted)return H("Browse cancelled");return H(`Browse timed out after ${K}ms: ${$.url}`)}return H(`Browse failed: ${P.getErrorMessage(W)}`)}}w9();class S7{sessions=new Map;add($,Q){this.sessions.set($,Q)}get($){return this.sessions.get($)}has($){return this.sessions.has($)}remove($){this.sessions.delete($)}async closeAll(){let $=Array.from(this.sessions.values());this.sessions.clear(),await Promise.allSettled($.map((Q)=>{try{return Promise.resolve(Q.close())}catch{return Promise.resolve()}}))}get size(){return this.sessions.size}}Y0();async function eQ($,Q){if(!$.name)return H("name is required");if(!$.traits||$.traits.length===0)return H("traits array is required and cannot be empty");if(!$.style)return H("style is required");if(!Q.manager)return H("ArionManager is not available in context");if(!Q.arion)return H("Current arion context is required to hatch new arions");let Z=$.traits.join(", "),J=$.emoji?`Create arion "${$.emoji} ${$.name}" with traits: ${Z}?`:`Create arion "${$.name}" with traits: ${Z}?`;if(!await Q.confirm(J))return H("User cancelled arion creation");try{let K={name:$.name,emoji:$.emoji,personality:{traits:$.traits,style:$.style,quirks:$.quirks},profile:{background:$.background},strengths:$.strengths,createdBy:Q.arion.name},X=await Q.manager.hatch(K);if($.beliefs?.length&&Q.manager.getMemoria){let V=await Q.manager.getMemoria(X);if(V)for(let G of $.beliefs)await V.remember(G,{network:"beliefs"})}return O(`${X.emoji} ${X.name} has hatched!`,{arionId:X.id,name:X.name,emoji:X.emoji})}catch(K){return H(`Failed to create arion: ${K instanceof Error?K.message:String(K)}`)}}async function $3($,Q){if(!$.name)return H("name is required");if(!Q.manager)return H("ArionManager is not available in context");try{return await Q.manager.rest($.name),O(`${$.name} is now resting`)}catch(Z){return H(`Failed to rest arion: ${Z instanceof Error?Z.message:String(Z)}`)}}async function Q3($,Q){if(!$.name)return H("name is required");if(!Q.manager)return H("ArionManager is not available in context");try{return await Q.manager.wake($.name),O(`${$.name} is now awake`)}catch(Z){return H(`Failed to wake arion: ${Z instanceof Error?Z.message:String(Z)}`)}}async function Z3($,Q){if(!$.name)return H("name is required");if(!Q.manager)return H("ArionManager is not available in context");if(!await Q.confirm(`Permanently retire "${$.name}"? This cannot be undone.`))return H("User cancelled arion retirement");try{return await Q.manager.retire($.name,{confirm:!0}),O(`${$.name} has been retired`)}catch(J){return H(`Failed to retire arion: ${J instanceof Error?J.message:String(J)}`)}}class k7{active=new Map;exited=new Map;waiters=new Map;reapers=new Map;add($,Q={}){let Z=this.active.get($);if(Z){this.active.set($,{...Z,command:Q.command??Z.command,args:Q.args?[...Q.args]:Z.args,cwd:Q.cwd??Z.cwd,interactive:Q.interactive??Z.interactive});return}let J=Date.now();this.active.set($,{pid:$,command:Q.command??null,args:Q.args?[...Q.args]:[],cwd:Q.cwd??null,interactive:Q.interactive??!1,reapOnExit:J3($),deferredExitCode:null,deferredSignal:null,startedAtMs:J,startedAt:new Date(J).toISOString()}),this.exited.delete($),this.ensureReaper($)}remove($,Q={}){let Z=this.active.get($);if(!Z){let V=this.exited.get($);if(V)this.exited.set($,{...V,exitCode:V.exitCode??B6(Q.exitCode),signal:V.exitCode!==null?V.signal:V.signal??H6(Q.signal)});return}this.clearReaper($),this.active.delete($);let J=Date.now(),Y=B6(Q.exitCode)??Z.deferredExitCode,K={...Z,exitCode:Y,signal:Z.deferredSignal??H6(Q.signal),endedAtMs:J,endedAt:new Date(J).toISOString()};this.exited.set($,K),this.pruneExitedHistory();let X=this.waiters.get($);if(X&&X.length>0){this.waiters.delete($);for(let V of X)V(K)}}has($){return this.active.has($)}recordExitMetadata($,Q={}){let Z=this.active.get($);if(!Z)return;Z.deferredExitCode=B6(Q.exitCode),Z.deferredSignal=H6(Q.signal)}get size(){return this.active.size}getAll(){return[...this.active.keys()]}listProcesses($={}){let Q=Date.now(),Z=[];for(let J of[...this.active.keys()])this.reapIfExited(J);for(let J of this.active.values())Z.push(this.toRunningSnapshot(J,Q));if($.includeExited)for(let J of this.exited.values())Z.push(this.toExitedSnapshot(J));return Z.sort((J,Y)=>J.pid-Y.pid)}getProcess($){this.reapIfExited($);let Q=this.active.get($);if(Q)return this.toRunningSnapshot(Q);let Z=this.exited.get($);if(Z)return this.toExitedSnapshot(Z);return}async waitForExit($,Q=30000){this.reapIfExited($);let Z=this.exited.get($);if(Z)return{pid:$,status:"exited",timedOut:!1,process:this.toExitedSnapshot(Z)};let J=this.active.get($);if(!J)return{pid:$,status:"not_found",timedOut:!1};if(Q<=0)return{pid:$,status:"running",timedOut:!0,process:this.toRunningSnapshot(J)};return new Promise((Y)=>{let K=!1,X=(q)=>{if(K)return;K=!0,Y(q)},V=(q)=>{let A=this.waiters.get($);if(!A)return;let j=A.filter((_)=>_!==q);if(j.length===0)this.waiters.delete($);else this.waiters.set($,j)},G=(q)=>{clearTimeout(W),V(G),X({pid:$,status:"exited",timedOut:!1,process:this.toExitedSnapshot(q)})},W=setTimeout(()=>{let q=this.active.get($);if(q){V(G),X({pid:$,status:"running",timedOut:!0,process:this.toRunningSnapshot(q)});return}let A=this.exited.get($);if(A){V(G),X({pid:$,status:"exited",timedOut:!1,process:this.toExitedSnapshot(A)});return}V(G),X({pid:$,status:"not_found",timedOut:!1})},Q),B=this.waiters.get($)??[];B.push(G),this.waiters.set($,B);let U=this.exited.get($);if(U){clearTimeout(W),V(G),X({pid:$,status:"exited",timedOut:!1,process:this.toExitedSnapshot(U)});return}if(!this.active.has($))clearTimeout(W),V(G),X({pid:$,status:"not_found",timedOut:!1})})}async killAll(){let $=[...this.active.keys()];if($.length===0)return[];let Q=[],Z=new Set;for(let Y of $)if(J3(Y)){if(AJ(Y,"SIGTERM"))Q.push(Y),Z.add(Y)}if(Q.length===0){for(let Y of $)this.remove(Y);return $}await new Promise((Y)=>setTimeout(Y,2000));let J=new Set;for(let Y of Q)if(J3(Y)){if(AJ(Y,"SIGKILL"))J.add(Y)}await hG([...J],2000);for(let Y of $)this.remove(Y,{signal:J.has(Y)?"SIGKILL":Z.has(Y)?"SIGTERM":null});return $}toRunningSnapshot($,Q=Date.now()){return{pid:$.pid,command:$.command,args:[...$.args],cwd:$.cwd,interactive:$.interactive,startedAt:$.startedAt,runtimeMs:Math.max(0,Q-$.startedAtMs),status:"running",exitCode:null,signal:null,endedAt:null}}toExitedSnapshot($){return{pid:$.pid,command:$.command,args:[...$.args],cwd:$.cwd,interactive:$.interactive,startedAt:$.startedAt,runtimeMs:Math.max(0,$.endedAtMs-$.startedAtMs),status:"exited",exitCode:$.exitCode,signal:$.signal,endedAt:$.endedAt}}pruneExitedHistory(){while(this.exited.size>100){let $=this.exited.keys().next().value;if($===void 0)break;this.exited.delete($)}}ensureReaper($){if(!this.active.get($)?.reapOnExit)return;if(this.reapers.has($))return;let Q=setInterval(()=>{this.reapIfExited($)},250);Q.unref?.(),this.reapers.set($,Q)}clearReaper($){let Q=this.reapers.get($);if(!Q)return;clearInterval(Q),this.reapers.delete($)}reapIfExited($){let Q=this.active.get($);if(!Q)return this.clearReaper($),!1;if(!Q.reapOnExit)return!1;if(J3($))return!1;return this.remove($),!0}}function xG($){try{return process.kill($,0),!0}catch{return!1}}function J3($){if($>0)try{return process.kill(-$,0),!0}catch{}return xG($)}function AJ($,Q){try{if($>0)return process.kill(-$,Q),!0}catch{}try{return process.kill($,Q),!0}catch{return!1}}async function hG($,Q){if($.length===0)return;let Z=Date.now()+Q;while(Date.now()<Z){if($.every((J)=>!J3(J)))return;await new Promise((J)=>setTimeout(J,25))}}function B6($){if(typeof $!=="number"||Number.isNaN($))return null;return $}function H6($){if(typeof $!=="string"||$.length===0)return null;return $}Y0();var _J=require("nanoid"),v7=0,zJ=3;function mG($){if(!$||typeof $!=="object")return!1;let Q=$;return Q.code==="ASK_USER_ANSWERS_EXHAUSTED"||Q.name==="AskUserAnswersExhaustedError"}function D6(){v7=0}async function Y3($,Q){if(Q.abortSignal?.aborted)return H("Operation cancelled");if(!Q.userInteraction)return H("ask_user not available in this context");let Z=Q.askUserCallCounter??{count:v7};if(Z.count>=zJ)return H(`Rate limit: max ${zJ} ask_user calls per turn`);if(!$.questions||!Array.isArray($.questions)||$.questions.length===0)return H("questions array is required and must not be empty");try{let J=await Q.userInteraction.ask($.questions);if(Z.count++,!Q.askUserCallCounter)v7=Z.count;return O(`Received ${J.length} answer${J.length===1?"":"s"} from user`,{answers:J})}catch(J){if(mG(J))throw J;if(Z.count++,!Q.askUserCallCounter)v7=Z.count;return H(P.getErrorMessage(J))}}var dG=new Set(["open","active","blocked","done"]);async function K3($,Q){if(Q.abortSignal?.aborted)return H("Operation cancelled");if(!Q.questStore)return H("QuestStore is not available — quest persistence requires a database");if(!$.quests||!Array.isArray($.quests)||$.quests.length===0)return H("quests array is required and must not be empty");let Z=[],J=0;for(let G of $.quests){if(G.status!==void 0&&!dG.has(G.status)){Z.push({id:G.id??"unknown",title:G.title??"(untitled)",status:G.status,action:"failed",error:`Invalid status "${G.status}" — must be one of: open, active, blocked, done`}),J++;continue}let W=!!G.id,B=G.id??`quest_${_J.nanoid(12)}`;try{if(W){let U={};if(G.title!==void 0)U.title=G.title;if(G.status!==void 0)U.status=G.status;if(G.notes!==void 0)U.progress=G.notes;if(G.priority!==void 0)U.priority=G.priority;if(G.blocked_by!==void 0)U.blockedBy=G.blocked_by;let q=Q.questStore.updateQuest(B,U);Z.push({id:B,title:q.title,status:q.status,action:"updated"})}else{if(!G.title){Z.push({id:B,title:"(untitled)",status:G.status??"open",action:"failed",error:"title is required when creating a new quest"}),J++;continue}let U=Q.questStore.createQuest({id:B,title:G.title,status:G.status??"open",priority:G.priority??2,progress:G.notes,blockedBy:G.blocked_by});Z.push({id:B,title:U.title,status:U.status,action:"created"})}}catch(U){Z.push({id:B,title:G.title??"(untitled)",status:G.status??"unknown",action:"failed",error:P.getErrorMessage(U)}),J++}}let Y=Z.filter((G)=>G.action==="created").length,K=Z.filter((G)=>G.action==="updated").length,X=[];if(Y>0)X.push(`${Y} created`);if(K>0)X.push(`${K} updated`);if(J>0)X.push(`${J} failed`);let V={quests:Z};if(J>0&&J===$.quests.length)return H(`All quests failed: ${X.join(", ")}`,V);if(J>0)return O(`Quests: ${X.join(", ")} (partial failure)`,V);return O(`Quests: ${X.join(", ")}`,V)}async function X3($,Q){if(Q.abortSignal?.aborted)return H("Operation cancelled");if(!Q.questStore)return H("QuestStore is not available — quest listing requires a database");try{let Z=$.status??"all",J=Z!=="all"?{status:Z}:void 0,K=Q.questStore.listQuests(J).map((X)=>({id:X.id,title:X.title,status:X.status,priority:X.priority,blocked_by:X.blockedBy??"",notes:X.progress??"",updatedAt:X.updatedAt}));return O(`Found ${K.length} quest${K.length===1?"":"s"}`,{quests:K,count:K.length})}catch(Z){return H(P.getErrorMessage(Z))}}var A6=require("node:util"),g7=require("node:child_process"),z0=require("node:fs"),f7=E(require("node:crypto")),m=E(require("node:path")),t$=E(require("node:os")),G3=require("zod");Y0();var w2={builtin:0,local_cli:1,memoria:2,local:3,"skills.sh":4,clawhub:5,npm:6,brew:7,web:8};function V3($,Q){let Z=new Map;for(let Y of $){let K=Y.name.trim().toLowerCase(),X=Z.get(K);if(!X)Z.set(K,Y);else{let V=w2[X.source]??99;if((w2[Y.source]??99)<V)Z.set(K,Y)}}return[...Z.values()].sort((Y,K)=>{let X=w2[Y.source]??99,V=w2[K.source]??99;if(X!==V)return X-V;return Y.name.localeCompare(K.name)}).slice(0,Q)}var cG=A6.promisify(g7.exec),lG=A6.promisify(g7.execFile),F6=50,NJ=300000,uG=3600000,pG=64,OJ=60000,MJ=20,O1=new Map,p0=null,oG=G3.z.object({safe:G3.z.boolean().optional(),issues:G3.z.array(G3.z.string()).optional()});async function CJ($){if(!$.memoria||!$.toolRegistry)return;try{await $.toolRegistry.discoverFromMemoria($.memoria)}catch{}}function aG($){let Q=$?.trim();if(!Q)return;try{let Z=f7.default.createHash("sha256").update(Buffer.from(Q,"base64")).digest("hex");return h.parse(Z)}catch{return}}function bJ($){let Q=$.match(/^---\n([\s\S]*?)\n---\n?([\s\S]*)$/);if(!Q)return{frontmatter:{},body:$};let[,Z="",J=""]=Q,Y={};for(let K of Z.split(`
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @aria/tools - Tool framework for ARIA
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.HeadlessMessageSendInputSchema = exports.HeadlessClientInboxListInputSchema = exports.HeadlessAuthLogoutInputSchema = exports.HeadlessAuthLoginInputSchema = exports.HeadlessModelSetInputSchema = exports.HeadlessArionCreateInputSchema = exports.HeadlessArionHatchInputSchema = exports.HeadlessArionNameInputSchema = exports.HeadlessMemoryRecallKnowledgeInputSchema = exports.HeadlessMemoryForgetInputSchema = exports.HeadlessMemoryListInputSchema = exports.HeadlessMemoryRecallInputSchema = exports.HeadlessMemoryRememberInputSchema = exports.HeadlessSessionLoadResultSchema = exports.HeadlessSessionReadResultSchema = exports.HeadlessSessionListResultSchema = exports.HeadlessSessionReferenceInputSchema = exports.HeadlessSessionListInputSchema = exports.HeadlessLoadedSessionSchema = exports.HeadlessSessionSummarySchema = exports.HeadlessErrorSchema = exports.HeadlessInteractionResponseSchema = exports.HeadlessInteractionRequestSchema = exports.HeadlessInteractionResponsePayloadSchema = exports.HeadlessCancelResponsePayloadSchema = exports.HeadlessOauthDeviceResponsePayloadSchema = exports.HeadlessCredentialInputResponsePayloadSchema = exports.HeadlessSelectionResponsePayloadSchema = exports.HeadlessQuestionnaireResponsePayloadSchema = exports.HeadlessConfirmResponsePayloadSchema = exports.HeadlessInteractionPayloadSchema = exports.HeadlessConfirmPayloadSchema = exports.HeadlessOauthDevicePayloadSchema = exports.HeadlessCredentialInputPayloadSchema = exports.HeadlessSelectionPayloadSchema = exports.HeadlessQuestionnairePayloadSchema = exports.HeadlessToolApprovalPayloadSchema = exports.HeadlessCredentialFieldSchema = exports.HeadlessSelectionOptionSchema = exports.HeadlessInteractionQuestionSchema = exports.HeadlessInteractionSourceSchema = exports.HeadlessInteractionIdSchema = exports.HeadlessRequestIdSchema = exports.HeadlessOperationNameSchema = exports.HEADLESS_STREAMING_OPERATION_NAMES = exports.HEADLESS_CONNECTION_OWNED_OPERATION_NAMES = exports.HEADLESS_OPERATION_SCHEMAS = exports.HEADLESS_OPERATION_NAMES = exports.isAskUserPauseRequiredError = exports.AskUserPauseRequiredError = void 0;
|
|
8
|
+
exports.HeadlessRunResumeInputSchema = exports.HeadlessRunStartInputSchema = exports.HeadlessOperationSuccessResultSchema = exports.HeadlessHookHarvestResultSchema = exports.HeadlessHookIngestResultSchema = exports.HeadlessHookConsolidateResultSchema = exports.HeadlessHookReflectResultSchema = exports.HeadlessSystemTerminalSetupResultSchema = exports.HeadlessSystemRestartResultSchema = exports.HeadlessConfigAutonomySetResultSchema = exports.HeadlessConfigAutonomyGetResultSchema = exports.HeadlessConfigThemeSetResultSchema = exports.HeadlessConfigThemeGetResultSchema = exports.HeadlessAuthLogoutResultSchema = exports.HeadlessAuthLoginResultSchema = exports.HeadlessAuthStatusResultSchema = exports.HeadlessModelRefreshResultSchema = exports.HeadlessModelSetResultSchema = exports.HeadlessModelListResultSchema = exports.HeadlessArionCreateResultSchema = exports.HeadlessArionMutateResultSchema = exports.HeadlessArionBecomeResultSchema = exports.HeadlessArionHatchResultSchema = exports.HeadlessArionListResultSchema = exports.HeadlessMemoryRecallKnowledgeResultSchema = exports.HeadlessMemoryForgetResultSchema = exports.HeadlessMemoryListResultSchema = exports.HeadlessMemoryRecallResultSchema = exports.HeadlessMemoryRememberResultSchema = exports.HeadlessInteractionRespondResultSchema = exports.HeadlessRunAbortResultSchema = exports.HeadlessHookExtractResultSchema = exports.HeadlessClientListResultSchema = exports.HeadlessPendingPairListResultSchema = exports.HeadlessNearbyPeerListResultSchema = exports.HeadlessPeerListResultSchema = exports.HeadlessInboxListResultSchema = exports.HeadlessMessageSendResultSchema = exports.HeadlessHookHarvestInputSchema = exports.HeadlessHookIngestInputSchema = exports.HeadlessHookReflectInputSchema = exports.HeadlessHookReflectMessageSchema = exports.HeadlessHookExtractInputSchema = exports.HeadlessHookExtractPairSchema = exports.HeadlessDaemonCommandInputSchema = exports.HeadlessRunAbortInputSchema = exports.HeadlessSystemRestartInputSchema = exports.HeadlessConfigAutonomySetInputSchema = exports.HeadlessConfigThemeSetInputSchema = exports.HeadlessMessageInboxListInputSchema = void 0;
|
|
9
|
+
exports.RuntimeRunEventSchema = exports.ResumeRunRequestSchema = exports.resolveTrustedRuntimeErrorMessage = exports.createTrustedRuntimeError = exports.RuntimeErrorDiagnosticSchema = exports.RunResultSchema = exports.RunRequestSchema = exports.RelayPendingResponseSchema = exports.RelayPendingRequestSchema = exports.RelayPendingQueryJsonSchema = exports.RelayPendingQuerySchema = exports.PairRelayRouteBodyJsonSchema = exports.PairRelayRouteBodySchema = exports.AcceptInviteRequestBodyJsonSchema = exports.AcceptInviteRequestSchema = exports.PairRequestRouteBodyJsonSchema = exports.PairRequestRouteBodySchema = exports.RuntimeBootstrapRecordSchema = exports.RuntimeBootstrapIdentitySchema = exports.RuntimeBootstrapTlsSchema = exports.RuntimeBootstrapPhaseSchema = exports.NodePrincipalBindingRefSchema = exports.LocalRuntimeSummarySchema = exports.NodeAdvertisementSchema = exports.ControlEndpointAdvertisementSchema = exports.InboxAddressSchema = exports.TransportEndpointAdvertisementSchema = exports.LoopbackTlsIdentitySchema = exports.TlsCaFingerprintSchema = exports.SigningPublicKeySchema = exports.PeerTransportIdSchema = exports.PrincipalFingerprintSchema = exports.ClientIdSchema = exports.RevocationOperatorConfirmationSchema = exports.RevocationDecisionSchema = exports.RuntimeIdSchema = exports.NodeMetadataSchema = exports.NodeIdSchema = exports.LOCAL_HTTP_CLIENT_PROOF_HEADER = exports.LOCAL_HTTP_CLIENT_ID_HEADER = exports.createRuntimeSocketLocalControlClient = exports.createRuntimeSocketAttachedLocalControlClient = exports.toNetworkStatusView = exports.toNetworkPeerView = exports.toNetworkControlRef = exports.HeadlessServerFrameSchema = exports.HeadlessClientFrameSchema = exports.HeadlessResultSchema = exports.HeadlessEventSchema = exports.HeadlessRequestSchema = void 0;
|
|
10
|
+
exports.RepairPeerResponseSchema = exports.RepairPeerRequestSchema = exports.RevokePeerResponseSchema = exports.RevokePeerRequestSchema = exports.DirectPairResponseSchema = exports.DirectPairRequestJsonSchema = exports.DirectPairRequestSchema = exports.CancelInviteResponseSchema = exports.CancelInviteRequestSchema = exports.AcceptInviteTokenResponseSchema = exports.AcceptInviteTokenRequestSchema = exports.AcceptInviteResponseSchema = exports.InvitePeerResultSchema = exports.InvitePeerRequestSchema = exports.CreateInviteResponseSchema = exports.CreateInviteRequestSchema = exports.PairRequestResponseSchema = exports.PairRequestDecisionSchema = exports.PendingInviteViewSchema = exports.PendingPairRequestViewSchema = exports.RuntimeStatusSchema = exports.RuntimeAutonomousLoopCommandSchema = exports.RuntimeAutonomousLoopStatusSchema = exports.RuntimeAutonomousLoopSafetyPolicySummarySchema = exports.NearbyPeerViewSchema = exports.PeerViewEventSchema = exports.PersistedInboxEventSchema = exports.AttachedClientAuthSchema = exports.AttachedClientLeaseGrantSchema = exports.AttachedClientViewSchema = exports.InboxListRequestSchema = exports.InboxCursorSchema = exports.RuntimeEventCursorSchema = exports.OutboundMessageSchema = exports.isLoopbackDirectEndpointHost = exports.canonicalizeAuthoritativeDirectEndpoint = exports.createSentDeliveryReceipt = exports.createDispatchingDeliveryReceipt = exports.createQueuedForRouteReceipt = exports.createAckedDeliveryReceipt = exports.canonicalizeOutboxReceiptStatus = exports.canonicalizeDeliveryReceipt = exports.OutboxReceiptStatusSchema = exports.QueuedReasonSchema = exports.DeliveryReadinessSchema = exports.SessionStateSchema = exports.DeliveryStateSchema = exports.RuntimeTransportSchema = exports.RuntimeDeliveryReceiptSchema = exports.RuntimeQueuedReceiptSchema = void 0;
|
|
11
|
+
exports.canHeartbeat = exports.canRefreshEndpoint = exports.canCommitVerifiedPair = exports.canRecordPendingPair = exports.comparePeerMutationPrecedence = exports.isValidPeerTransportTransition = exports.isValidPeerIdentityTransition = exports.isValidPeerStateCombination = exports.derivePeerStateFromLegacyStatus = exports.PeerStateSnapshotSchema = exports.LegacyPeerRuntimeShapeSchema = exports.PeerMutationKindSchema = exports.PeerTransportStateSchema = exports.PeerIdentityStateSchema = exports.LegacyPeerRegistryStatusSchema = exports.assertSupportedNetworkRuntimeProtocolVersion = exports.isSupportedNetworkRuntimeProtocolVersion = exports.NetworkRouteRevokeRequestJsonSchema = exports.NetworkRouteRevokeRequestSchema = exports.MutationEnvelopeSchema = exports.MutationOperationSchema = exports.SignedContinuityBindSchema = exports.ContinuityStatementSchema = exports.PairProposalSchema = exports.RuntimeRegisterRequestSchema = exports.RuntimeDiscoveryAdvertisementSchema = exports.RuntimeNodeAdvertisementSchema = exports.RuntimeIngressEnvelopeSchema = exports.JoinRouteBodyJsonSchema = exports.JoinRouteBodySchema = exports.JoinRequestSchema = exports.TransportInviteTokenSchema = exports.DeliveryAckSchema = exports.NetworkRuntimeProtocolVersionSchema = exports.NETWORK_RUNTIME_PROTOCOL_VERSION = exports.RuntimeBootstrapControlEndpointSchema = exports.RuntimeBootstrapRevisionSchema = exports.RuntimeEventSchema = exports.RuntimeEventKindSchema = exports.RuntimeOwnerRecordSchema = exports.LocalControlSocketResponseSchema = exports.LocalControlSocketErrorResponseSchema = exports.LocalControlSocketSuccessResponseSchema = exports.LocalControlSocketRequestSchema = exports.LocalControlSocketMethodSchema = exports.LocalControlSocketDetachClientResponseSchema = exports.LocalControlSocketDetachClientRequestSchema = exports.LocalControlSocketAttachClientResponseSchema = exports.LocalControlSocketAttachClientRequestSchema = exports.LocalControlClientKindSchema = void 0;
|
|
12
|
+
exports.executeForget = exports.executeRecall = exports.executeRemember = exports.SHELL_BLOCKED_PATTERNS = exports.classifyCommand = exports.sanitizeEnv = exports.sanitizeGitEnv = exports.executeWriteStdin = exports.executeWaitProcess = exports.executeListProcesses = exports.executeKill = exports.executeSpawn = exports.executeExec = exports.executeBash = exports.MAX_CACHED_MUTATION_CONTENT_BYTES = exports.MAX_PENDING_MUTATION_BYTES_BEFORE_SYNC_FLUSH = exports.MAX_PENDING_MUTATIONS_BEFORE_SYNC_FLUSH = exports.BACKGROUND_FRG_MAX_FLUSH_DELAY_MS = exports.DEFAULT_BACKGROUND_FRG_FLUSH_DELAY_MS = exports.shouldForceSynchronousFrgFlush = exports.scheduleBackgroundFrgFlush = exports.getFrgFreshnessSnapshot = exports.getFrgFlushStatus = exports.getGitDirtyStatus = exports.reconcileGitDirtyMutations = exports.ensureFrgRepoStateLoaded = exports.maybeBuildFrgIndexForRepo = exports.flushPendingFrgMutations = exports.clearPendingFrgMutations = exports.getPendingFrgMutationBytes = exports.getPendingFrgMutations = exports.recordFrgMutation = exports.executeFrg = exports.executeApplyPatch = exports.executeGrep = exports.executeGlob = exports.executeLs = exports.executeEditFile = exports.executeWriteFile = exports.executeReadFile = exports.getCoreToolsByRiskLevel = exports.getCoreToolsByCategory = exports.getCoreTool = exports.getCoreTools = exports.CORE_TOOL_DEFINITIONS = exports.validateToolInput = exports.ToolRegistry = exports.canMutateTrustedState = exports.canAttemptDurableDelivery = exports.canAttemptBestEffortTransport = void 0;
|
|
13
|
+
exports.FirecrawlSearchProvider = exports.DuckDuckGoSearchProvider = exports.JinaSearchProvider = exports.ExaSearchProvider = exports.BraveSearchProvider = exports.TavilySearchProvider = exports.SearchProviderRouter = exports.mergePolicies = exports.isToolAllowed = exports.expandGroups = exports.TOOL_GROUPS = exports.dedupSearchResults = exports.SOURCE_PRIORITY = exports.executeSessionHistory = exports.fetchJson = exports.settleWithDeadline = exports.getOSContext = exports.searchWeb = exports.searchSkillRegistries = exports.searchLocalSkills = exports.searchMemoria = exports.executeUseSkill = exports.executeCreateSkill = exports.executeCreateTool = exports.executeLearnLegacy = exports.executeLearnSkill = exports.executeLearnTool = exports.executeSearchKnowledge = exports.resetAskUserCounter = exports.executeQuestList = exports.executeQuestUpdate = exports.executeAskUser = exports.PTYSessionStore = exports.runInPTY = exports.createPTYSession = exports.PTYError = exports.PTYTimeoutError = exports.PTYSession = exports.executeRetireArion = exports.executeWakeArion = exports.executeRestArion = exports.executeHatchArion = exports.executeBrowse = exports.executeWebFetch = exports.executeWebSearch = exports.getSelfContext = exports.getSessionTranscript = exports.getConversationContext = exports.executeReflect = exports.executeDiscover = void 0;
|
|
14
|
+
exports.JSONRPCClient = exports.MCPServerConnection = exports.MCPClient = exports.tool = exports.SpawnedProcessRegistry = void 0;
|
|
15
|
+
exports.createToolRegistry = createToolRegistry;
|
|
16
|
+
var ask_user_interaction_js_1 = require("./ask-user-interaction.js");
|
|
17
|
+
Object.defineProperty(exports, "AskUserPauseRequiredError", { enumerable: true, get: function () { return ask_user_interaction_js_1.AskUserPauseRequiredError; } });
|
|
18
|
+
Object.defineProperty(exports, "isAskUserPauseRequiredError", { enumerable: true, get: function () { return ask_user_interaction_js_1.isAskUserPauseRequiredError; } });
|
|
19
|
+
var headless_control_contract_js_1 = require("./headless-control-contract.js");
|
|
20
|
+
Object.defineProperty(exports, "HEADLESS_OPERATION_NAMES", { enumerable: true, get: function () { return headless_control_contract_js_1.HEADLESS_OPERATION_NAMES; } });
|
|
21
|
+
Object.defineProperty(exports, "HEADLESS_OPERATION_SCHEMAS", { enumerable: true, get: function () { return headless_control_contract_js_1.HEADLESS_OPERATION_SCHEMAS; } });
|
|
22
|
+
Object.defineProperty(exports, "HEADLESS_CONNECTION_OWNED_OPERATION_NAMES", { enumerable: true, get: function () { return headless_control_contract_js_1.HEADLESS_CONNECTION_OWNED_OPERATION_NAMES; } });
|
|
23
|
+
Object.defineProperty(exports, "HEADLESS_STREAMING_OPERATION_NAMES", { enumerable: true, get: function () { return headless_control_contract_js_1.HEADLESS_STREAMING_OPERATION_NAMES; } });
|
|
24
|
+
Object.defineProperty(exports, "HeadlessOperationNameSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessOperationNameSchema; } });
|
|
25
|
+
Object.defineProperty(exports, "HeadlessRequestIdSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessRequestIdSchema; } });
|
|
26
|
+
Object.defineProperty(exports, "HeadlessInteractionIdSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessInteractionIdSchema; } });
|
|
27
|
+
Object.defineProperty(exports, "HeadlessInteractionSourceSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessInteractionSourceSchema; } });
|
|
28
|
+
Object.defineProperty(exports, "HeadlessInteractionQuestionSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessInteractionQuestionSchema; } });
|
|
29
|
+
Object.defineProperty(exports, "HeadlessSelectionOptionSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessSelectionOptionSchema; } });
|
|
30
|
+
Object.defineProperty(exports, "HeadlessCredentialFieldSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessCredentialFieldSchema; } });
|
|
31
|
+
Object.defineProperty(exports, "HeadlessToolApprovalPayloadSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessToolApprovalPayloadSchema; } });
|
|
32
|
+
Object.defineProperty(exports, "HeadlessQuestionnairePayloadSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessQuestionnairePayloadSchema; } });
|
|
33
|
+
Object.defineProperty(exports, "HeadlessSelectionPayloadSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessSelectionPayloadSchema; } });
|
|
34
|
+
Object.defineProperty(exports, "HeadlessCredentialInputPayloadSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessCredentialInputPayloadSchema; } });
|
|
35
|
+
Object.defineProperty(exports, "HeadlessOauthDevicePayloadSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessOauthDevicePayloadSchema; } });
|
|
36
|
+
Object.defineProperty(exports, "HeadlessConfirmPayloadSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessConfirmPayloadSchema; } });
|
|
37
|
+
Object.defineProperty(exports, "HeadlessInteractionPayloadSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessInteractionPayloadSchema; } });
|
|
38
|
+
Object.defineProperty(exports, "HeadlessConfirmResponsePayloadSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessConfirmResponsePayloadSchema; } });
|
|
39
|
+
Object.defineProperty(exports, "HeadlessQuestionnaireResponsePayloadSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessQuestionnaireResponsePayloadSchema; } });
|
|
40
|
+
Object.defineProperty(exports, "HeadlessSelectionResponsePayloadSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessSelectionResponsePayloadSchema; } });
|
|
41
|
+
Object.defineProperty(exports, "HeadlessCredentialInputResponsePayloadSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessCredentialInputResponsePayloadSchema; } });
|
|
42
|
+
Object.defineProperty(exports, "HeadlessOauthDeviceResponsePayloadSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessOauthDeviceResponsePayloadSchema; } });
|
|
43
|
+
Object.defineProperty(exports, "HeadlessCancelResponsePayloadSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessCancelResponsePayloadSchema; } });
|
|
44
|
+
Object.defineProperty(exports, "HeadlessInteractionResponsePayloadSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessInteractionResponsePayloadSchema; } });
|
|
45
|
+
Object.defineProperty(exports, "HeadlessInteractionRequestSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessInteractionRequestSchema; } });
|
|
46
|
+
Object.defineProperty(exports, "HeadlessInteractionResponseSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessInteractionResponseSchema; } });
|
|
47
|
+
Object.defineProperty(exports, "HeadlessErrorSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessErrorSchema; } });
|
|
48
|
+
Object.defineProperty(exports, "HeadlessSessionSummarySchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessSessionSummarySchema; } });
|
|
49
|
+
Object.defineProperty(exports, "HeadlessLoadedSessionSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessLoadedSessionSchema; } });
|
|
50
|
+
Object.defineProperty(exports, "HeadlessSessionListInputSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessSessionListInputSchema; } });
|
|
51
|
+
Object.defineProperty(exports, "HeadlessSessionReferenceInputSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessSessionReferenceInputSchema; } });
|
|
52
|
+
Object.defineProperty(exports, "HeadlessSessionListResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessSessionListResultSchema; } });
|
|
53
|
+
Object.defineProperty(exports, "HeadlessSessionReadResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessSessionReadResultSchema; } });
|
|
54
|
+
Object.defineProperty(exports, "HeadlessSessionLoadResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessSessionLoadResultSchema; } });
|
|
55
|
+
Object.defineProperty(exports, "HeadlessMemoryRememberInputSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessMemoryRememberInputSchema; } });
|
|
56
|
+
Object.defineProperty(exports, "HeadlessMemoryRecallInputSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessMemoryRecallInputSchema; } });
|
|
57
|
+
Object.defineProperty(exports, "HeadlessMemoryListInputSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessMemoryListInputSchema; } });
|
|
58
|
+
Object.defineProperty(exports, "HeadlessMemoryForgetInputSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessMemoryForgetInputSchema; } });
|
|
59
|
+
Object.defineProperty(exports, "HeadlessMemoryRecallKnowledgeInputSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessMemoryRecallKnowledgeInputSchema; } });
|
|
60
|
+
Object.defineProperty(exports, "HeadlessArionNameInputSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessArionNameInputSchema; } });
|
|
61
|
+
Object.defineProperty(exports, "HeadlessArionHatchInputSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessArionHatchInputSchema; } });
|
|
62
|
+
Object.defineProperty(exports, "HeadlessArionCreateInputSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessArionCreateInputSchema; } });
|
|
63
|
+
Object.defineProperty(exports, "HeadlessModelSetInputSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessModelSetInputSchema; } });
|
|
64
|
+
Object.defineProperty(exports, "HeadlessAuthLoginInputSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessAuthLoginInputSchema; } });
|
|
65
|
+
Object.defineProperty(exports, "HeadlessAuthLogoutInputSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessAuthLogoutInputSchema; } });
|
|
66
|
+
Object.defineProperty(exports, "HeadlessClientInboxListInputSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessClientInboxListInputSchema; } });
|
|
67
|
+
Object.defineProperty(exports, "HeadlessMessageSendInputSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessMessageSendInputSchema; } });
|
|
68
|
+
Object.defineProperty(exports, "HeadlessMessageInboxListInputSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessMessageInboxListInputSchema; } });
|
|
69
|
+
Object.defineProperty(exports, "HeadlessConfigThemeSetInputSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessConfigThemeSetInputSchema; } });
|
|
70
|
+
Object.defineProperty(exports, "HeadlessConfigAutonomySetInputSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessConfigAutonomySetInputSchema; } });
|
|
71
|
+
Object.defineProperty(exports, "HeadlessSystemRestartInputSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessSystemRestartInputSchema; } });
|
|
72
|
+
Object.defineProperty(exports, "HeadlessRunAbortInputSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessRunAbortInputSchema; } });
|
|
73
|
+
Object.defineProperty(exports, "HeadlessDaemonCommandInputSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessDaemonCommandInputSchema; } });
|
|
74
|
+
Object.defineProperty(exports, "HeadlessHookExtractPairSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessHookExtractPairSchema; } });
|
|
75
|
+
Object.defineProperty(exports, "HeadlessHookExtractInputSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessHookExtractInputSchema; } });
|
|
76
|
+
Object.defineProperty(exports, "HeadlessHookReflectMessageSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessHookReflectMessageSchema; } });
|
|
77
|
+
Object.defineProperty(exports, "HeadlessHookReflectInputSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessHookReflectInputSchema; } });
|
|
78
|
+
Object.defineProperty(exports, "HeadlessHookIngestInputSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessHookIngestInputSchema; } });
|
|
79
|
+
Object.defineProperty(exports, "HeadlessHookHarvestInputSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessHookHarvestInputSchema; } });
|
|
80
|
+
Object.defineProperty(exports, "HeadlessMessageSendResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessMessageSendResultSchema; } });
|
|
81
|
+
Object.defineProperty(exports, "HeadlessInboxListResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessInboxListResultSchema; } });
|
|
82
|
+
Object.defineProperty(exports, "HeadlessPeerListResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessPeerListResultSchema; } });
|
|
83
|
+
Object.defineProperty(exports, "HeadlessNearbyPeerListResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessNearbyPeerListResultSchema; } });
|
|
84
|
+
Object.defineProperty(exports, "HeadlessPendingPairListResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessPendingPairListResultSchema; } });
|
|
85
|
+
Object.defineProperty(exports, "HeadlessClientListResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessClientListResultSchema; } });
|
|
86
|
+
Object.defineProperty(exports, "HeadlessHookExtractResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessHookExtractResultSchema; } });
|
|
87
|
+
Object.defineProperty(exports, "HeadlessRunAbortResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessRunAbortResultSchema; } });
|
|
88
|
+
Object.defineProperty(exports, "HeadlessInteractionRespondResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessInteractionRespondResultSchema; } });
|
|
89
|
+
Object.defineProperty(exports, "HeadlessMemoryRememberResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessMemoryRememberResultSchema; } });
|
|
90
|
+
Object.defineProperty(exports, "HeadlessMemoryRecallResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessMemoryRecallResultSchema; } });
|
|
91
|
+
Object.defineProperty(exports, "HeadlessMemoryListResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessMemoryListResultSchema; } });
|
|
92
|
+
Object.defineProperty(exports, "HeadlessMemoryForgetResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessMemoryForgetResultSchema; } });
|
|
93
|
+
Object.defineProperty(exports, "HeadlessMemoryRecallKnowledgeResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessMemoryRecallKnowledgeResultSchema; } });
|
|
94
|
+
Object.defineProperty(exports, "HeadlessArionListResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessArionListResultSchema; } });
|
|
95
|
+
Object.defineProperty(exports, "HeadlessArionHatchResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessArionHatchResultSchema; } });
|
|
96
|
+
Object.defineProperty(exports, "HeadlessArionBecomeResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessArionBecomeResultSchema; } });
|
|
97
|
+
Object.defineProperty(exports, "HeadlessArionMutateResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessArionMutateResultSchema; } });
|
|
98
|
+
Object.defineProperty(exports, "HeadlessArionCreateResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessArionCreateResultSchema; } });
|
|
99
|
+
Object.defineProperty(exports, "HeadlessModelListResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessModelListResultSchema; } });
|
|
100
|
+
Object.defineProperty(exports, "HeadlessModelSetResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessModelSetResultSchema; } });
|
|
101
|
+
Object.defineProperty(exports, "HeadlessModelRefreshResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessModelRefreshResultSchema; } });
|
|
102
|
+
Object.defineProperty(exports, "HeadlessAuthStatusResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessAuthStatusResultSchema; } });
|
|
103
|
+
Object.defineProperty(exports, "HeadlessAuthLoginResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessAuthLoginResultSchema; } });
|
|
104
|
+
Object.defineProperty(exports, "HeadlessAuthLogoutResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessAuthLogoutResultSchema; } });
|
|
105
|
+
Object.defineProperty(exports, "HeadlessConfigThemeGetResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessConfigThemeGetResultSchema; } });
|
|
106
|
+
Object.defineProperty(exports, "HeadlessConfigThemeSetResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessConfigThemeSetResultSchema; } });
|
|
107
|
+
Object.defineProperty(exports, "HeadlessConfigAutonomyGetResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessConfigAutonomyGetResultSchema; } });
|
|
108
|
+
Object.defineProperty(exports, "HeadlessConfigAutonomySetResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessConfigAutonomySetResultSchema; } });
|
|
109
|
+
Object.defineProperty(exports, "HeadlessSystemRestartResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessSystemRestartResultSchema; } });
|
|
110
|
+
Object.defineProperty(exports, "HeadlessSystemTerminalSetupResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessSystemTerminalSetupResultSchema; } });
|
|
111
|
+
Object.defineProperty(exports, "HeadlessHookReflectResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessHookReflectResultSchema; } });
|
|
112
|
+
Object.defineProperty(exports, "HeadlessHookConsolidateResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessHookConsolidateResultSchema; } });
|
|
113
|
+
Object.defineProperty(exports, "HeadlessHookIngestResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessHookIngestResultSchema; } });
|
|
114
|
+
Object.defineProperty(exports, "HeadlessHookHarvestResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessHookHarvestResultSchema; } });
|
|
115
|
+
Object.defineProperty(exports, "HeadlessOperationSuccessResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessOperationSuccessResultSchema; } });
|
|
116
|
+
Object.defineProperty(exports, "HeadlessRunStartInputSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessRunStartInputSchema; } });
|
|
117
|
+
Object.defineProperty(exports, "HeadlessRunResumeInputSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessRunResumeInputSchema; } });
|
|
118
|
+
Object.defineProperty(exports, "HeadlessRequestSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessRequestSchema; } });
|
|
119
|
+
Object.defineProperty(exports, "HeadlessEventSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessEventSchema; } });
|
|
120
|
+
Object.defineProperty(exports, "HeadlessResultSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessResultSchema; } });
|
|
121
|
+
Object.defineProperty(exports, "HeadlessClientFrameSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessClientFrameSchema; } });
|
|
122
|
+
Object.defineProperty(exports, "HeadlessServerFrameSchema", { enumerable: true, get: function () { return headless_control_contract_js_1.HeadlessServerFrameSchema; } });
|
|
123
|
+
var network_control_adapter_js_1 = require("./network-control-adapter.js");
|
|
124
|
+
Object.defineProperty(exports, "toNetworkControlRef", { enumerable: true, get: function () { return network_control_adapter_js_1.toNetworkControlRef; } });
|
|
125
|
+
Object.defineProperty(exports, "toNetworkPeerView", { enumerable: true, get: function () { return network_control_adapter_js_1.toNetworkPeerView; } });
|
|
126
|
+
Object.defineProperty(exports, "toNetworkStatusView", { enumerable: true, get: function () { return network_control_adapter_js_1.toNetworkStatusView; } });
|
|
127
|
+
var runtime_socket_local_control_client_js_1 = require("./runtime-socket-local-control-client.js");
|
|
128
|
+
Object.defineProperty(exports, "createRuntimeSocketAttachedLocalControlClient", { enumerable: true, get: function () { return runtime_socket_local_control_client_js_1.createRuntimeSocketAttachedLocalControlClient; } });
|
|
129
|
+
Object.defineProperty(exports, "createRuntimeSocketLocalControlClient", { enumerable: true, get: function () { return runtime_socket_local_control_client_js_1.createRuntimeSocketLocalControlClient; } });
|
|
130
|
+
var local_control_http_auth_js_1 = require("./local-control-http-auth.js");
|
|
131
|
+
Object.defineProperty(exports, "LOCAL_HTTP_CLIENT_ID_HEADER", { enumerable: true, get: function () { return local_control_http_auth_js_1.LOCAL_HTTP_CLIENT_ID_HEADER; } });
|
|
132
|
+
Object.defineProperty(exports, "LOCAL_HTTP_CLIENT_PROOF_HEADER", { enumerable: true, get: function () { return local_control_http_auth_js_1.LOCAL_HTTP_CLIENT_PROOF_HEADER; } });
|
|
133
|
+
var index_js_1 = require("./network-runtime/index.js");
|
|
134
|
+
Object.defineProperty(exports, "NodeIdSchema", { enumerable: true, get: function () { return index_js_1.NodeIdSchema; } });
|
|
135
|
+
Object.defineProperty(exports, "NodeMetadataSchema", { enumerable: true, get: function () { return index_js_1.NodeMetadataSchema; } });
|
|
136
|
+
Object.defineProperty(exports, "RuntimeIdSchema", { enumerable: true, get: function () { return index_js_1.RuntimeIdSchema; } });
|
|
137
|
+
Object.defineProperty(exports, "RevocationDecisionSchema", { enumerable: true, get: function () { return index_js_1.RevocationDecisionSchema; } });
|
|
138
|
+
Object.defineProperty(exports, "RevocationOperatorConfirmationSchema", { enumerable: true, get: function () { return index_js_1.RevocationOperatorConfirmationSchema; } });
|
|
139
|
+
Object.defineProperty(exports, "ClientIdSchema", { enumerable: true, get: function () { return index_js_1.ClientIdSchema; } });
|
|
140
|
+
Object.defineProperty(exports, "PrincipalFingerprintSchema", { enumerable: true, get: function () { return index_js_1.PrincipalFingerprintSchema; } });
|
|
141
|
+
Object.defineProperty(exports, "PeerTransportIdSchema", { enumerable: true, get: function () { return index_js_1.PeerTransportIdSchema; } });
|
|
142
|
+
Object.defineProperty(exports, "SigningPublicKeySchema", { enumerable: true, get: function () { return index_js_1.SigningPublicKeySchema; } });
|
|
143
|
+
Object.defineProperty(exports, "TlsCaFingerprintSchema", { enumerable: true, get: function () { return index_js_1.TlsCaFingerprintSchema; } });
|
|
144
|
+
Object.defineProperty(exports, "LoopbackTlsIdentitySchema", { enumerable: true, get: function () { return index_js_1.LoopbackTlsIdentitySchema; } });
|
|
145
|
+
Object.defineProperty(exports, "TransportEndpointAdvertisementSchema", { enumerable: true, get: function () { return index_js_1.TransportEndpointAdvertisementSchema; } });
|
|
146
|
+
Object.defineProperty(exports, "InboxAddressSchema", { enumerable: true, get: function () { return index_js_1.InboxAddressSchema; } });
|
|
147
|
+
Object.defineProperty(exports, "ControlEndpointAdvertisementSchema", { enumerable: true, get: function () { return index_js_1.ControlEndpointAdvertisementSchema; } });
|
|
148
|
+
Object.defineProperty(exports, "NodeAdvertisementSchema", { enumerable: true, get: function () { return index_js_1.NodeAdvertisementSchema; } });
|
|
149
|
+
Object.defineProperty(exports, "LocalRuntimeSummarySchema", { enumerable: true, get: function () { return index_js_1.LocalRuntimeSummarySchema; } });
|
|
150
|
+
Object.defineProperty(exports, "NodePrincipalBindingRefSchema", { enumerable: true, get: function () { return index_js_1.NodePrincipalBindingRefSchema; } });
|
|
151
|
+
Object.defineProperty(exports, "RuntimeBootstrapPhaseSchema", { enumerable: true, get: function () { return index_js_1.RuntimeBootstrapPhaseSchema; } });
|
|
152
|
+
Object.defineProperty(exports, "RuntimeBootstrapTlsSchema", { enumerable: true, get: function () { return index_js_1.RuntimeBootstrapTlsSchema; } });
|
|
153
|
+
Object.defineProperty(exports, "RuntimeBootstrapIdentitySchema", { enumerable: true, get: function () { return index_js_1.RuntimeBootstrapIdentitySchema; } });
|
|
154
|
+
Object.defineProperty(exports, "RuntimeBootstrapRecordSchema", { enumerable: true, get: function () { return index_js_1.RuntimeBootstrapRecordSchema; } });
|
|
155
|
+
Object.defineProperty(exports, "PairRequestRouteBodySchema", { enumerable: true, get: function () { return index_js_1.PairRequestRouteBodySchema; } });
|
|
156
|
+
Object.defineProperty(exports, "PairRequestRouteBodyJsonSchema", { enumerable: true, get: function () { return index_js_1.PairRequestRouteBodyJsonSchema; } });
|
|
157
|
+
Object.defineProperty(exports, "AcceptInviteRequestSchema", { enumerable: true, get: function () { return index_js_1.AcceptInviteRequestSchema; } });
|
|
158
|
+
Object.defineProperty(exports, "AcceptInviteRequestBodyJsonSchema", { enumerable: true, get: function () { return index_js_1.AcceptInviteRequestBodyJsonSchema; } });
|
|
159
|
+
Object.defineProperty(exports, "PairRelayRouteBodySchema", { enumerable: true, get: function () { return index_js_1.PairRelayRouteBodySchema; } });
|
|
160
|
+
Object.defineProperty(exports, "PairRelayRouteBodyJsonSchema", { enumerable: true, get: function () { return index_js_1.PairRelayRouteBodyJsonSchema; } });
|
|
161
|
+
Object.defineProperty(exports, "RelayPendingQuerySchema", { enumerable: true, get: function () { return index_js_1.RelayPendingQuerySchema; } });
|
|
162
|
+
Object.defineProperty(exports, "RelayPendingQueryJsonSchema", { enumerable: true, get: function () { return index_js_1.RelayPendingQueryJsonSchema; } });
|
|
163
|
+
Object.defineProperty(exports, "RelayPendingRequestSchema", { enumerable: true, get: function () { return index_js_1.RelayPendingRequestSchema; } });
|
|
164
|
+
Object.defineProperty(exports, "RelayPendingResponseSchema", { enumerable: true, get: function () { return index_js_1.RelayPendingResponseSchema; } });
|
|
165
|
+
Object.defineProperty(exports, "RunRequestSchema", { enumerable: true, get: function () { return index_js_1.RunRequestSchema; } });
|
|
166
|
+
Object.defineProperty(exports, "RunResultSchema", { enumerable: true, get: function () { return index_js_1.RunResultSchema; } });
|
|
167
|
+
Object.defineProperty(exports, "RuntimeErrorDiagnosticSchema", { enumerable: true, get: function () { return index_js_1.RuntimeErrorDiagnosticSchema; } });
|
|
168
|
+
Object.defineProperty(exports, "createTrustedRuntimeError", { enumerable: true, get: function () { return index_js_1.createTrustedRuntimeError; } });
|
|
169
|
+
Object.defineProperty(exports, "resolveTrustedRuntimeErrorMessage", { enumerable: true, get: function () { return index_js_1.resolveTrustedRuntimeErrorMessage; } });
|
|
170
|
+
Object.defineProperty(exports, "ResumeRunRequestSchema", { enumerable: true, get: function () { return index_js_1.ResumeRunRequestSchema; } });
|
|
171
|
+
Object.defineProperty(exports, "RuntimeRunEventSchema", { enumerable: true, get: function () { return index_js_1.RuntimeRunEventSchema; } });
|
|
172
|
+
Object.defineProperty(exports, "RuntimeQueuedReceiptSchema", { enumerable: true, get: function () { return index_js_1.RuntimeQueuedReceiptSchema; } });
|
|
173
|
+
Object.defineProperty(exports, "RuntimeDeliveryReceiptSchema", { enumerable: true, get: function () { return index_js_1.RuntimeDeliveryReceiptSchema; } });
|
|
174
|
+
Object.defineProperty(exports, "RuntimeTransportSchema", { enumerable: true, get: function () { return index_js_1.RuntimeTransportSchema; } });
|
|
175
|
+
Object.defineProperty(exports, "DeliveryStateSchema", { enumerable: true, get: function () { return index_js_1.DeliveryStateSchema; } });
|
|
176
|
+
Object.defineProperty(exports, "SessionStateSchema", { enumerable: true, get: function () { return index_js_1.SessionStateSchema; } });
|
|
177
|
+
Object.defineProperty(exports, "DeliveryReadinessSchema", { enumerable: true, get: function () { return index_js_1.DeliveryReadinessSchema; } });
|
|
178
|
+
Object.defineProperty(exports, "QueuedReasonSchema", { enumerable: true, get: function () { return index_js_1.QueuedReasonSchema; } });
|
|
179
|
+
Object.defineProperty(exports, "OutboxReceiptStatusSchema", { enumerable: true, get: function () { return index_js_1.OutboxReceiptStatusSchema; } });
|
|
180
|
+
Object.defineProperty(exports, "canonicalizeDeliveryReceipt", { enumerable: true, get: function () { return index_js_1.canonicalizeDeliveryReceipt; } });
|
|
181
|
+
Object.defineProperty(exports, "canonicalizeOutboxReceiptStatus", { enumerable: true, get: function () { return index_js_1.canonicalizeOutboxReceiptStatus; } });
|
|
182
|
+
Object.defineProperty(exports, "createAckedDeliveryReceipt", { enumerable: true, get: function () { return index_js_1.createAckedDeliveryReceipt; } });
|
|
183
|
+
Object.defineProperty(exports, "createQueuedForRouteReceipt", { enumerable: true, get: function () { return index_js_1.createQueuedForRouteReceipt; } });
|
|
184
|
+
Object.defineProperty(exports, "createDispatchingDeliveryReceipt", { enumerable: true, get: function () { return index_js_1.createDispatchingDeliveryReceipt; } });
|
|
185
|
+
Object.defineProperty(exports, "createSentDeliveryReceipt", { enumerable: true, get: function () { return index_js_1.createSentDeliveryReceipt; } });
|
|
186
|
+
Object.defineProperty(exports, "canonicalizeAuthoritativeDirectEndpoint", { enumerable: true, get: function () { return index_js_1.canonicalizeAuthoritativeDirectEndpoint; } });
|
|
187
|
+
Object.defineProperty(exports, "isLoopbackDirectEndpointHost", { enumerable: true, get: function () { return index_js_1.isLoopbackDirectEndpointHost; } });
|
|
188
|
+
Object.defineProperty(exports, "OutboundMessageSchema", { enumerable: true, get: function () { return index_js_1.OutboundMessageSchema; } });
|
|
189
|
+
Object.defineProperty(exports, "RuntimeEventCursorSchema", { enumerable: true, get: function () { return index_js_1.RuntimeEventCursorSchema; } });
|
|
190
|
+
Object.defineProperty(exports, "InboxCursorSchema", { enumerable: true, get: function () { return index_js_1.InboxCursorSchema; } });
|
|
191
|
+
Object.defineProperty(exports, "InboxListRequestSchema", { enumerable: true, get: function () { return index_js_1.InboxListRequestSchema; } });
|
|
192
|
+
Object.defineProperty(exports, "AttachedClientViewSchema", { enumerable: true, get: function () { return index_js_1.AttachedClientViewSchema; } });
|
|
193
|
+
Object.defineProperty(exports, "AttachedClientLeaseGrantSchema", { enumerable: true, get: function () { return index_js_1.AttachedClientLeaseGrantSchema; } });
|
|
194
|
+
Object.defineProperty(exports, "AttachedClientAuthSchema", { enumerable: true, get: function () { return index_js_1.AttachedClientAuthSchema; } });
|
|
195
|
+
Object.defineProperty(exports, "PersistedInboxEventSchema", { enumerable: true, get: function () { return index_js_1.PersistedInboxEventSchema; } });
|
|
196
|
+
Object.defineProperty(exports, "PeerViewEventSchema", { enumerable: true, get: function () { return index_js_1.PeerViewEventSchema; } });
|
|
197
|
+
Object.defineProperty(exports, "NearbyPeerViewSchema", { enumerable: true, get: function () { return index_js_1.NearbyPeerViewSchema; } });
|
|
198
|
+
Object.defineProperty(exports, "RuntimeAutonomousLoopSafetyPolicySummarySchema", { enumerable: true, get: function () { return index_js_1.RuntimeAutonomousLoopSafetyPolicySummarySchema; } });
|
|
199
|
+
Object.defineProperty(exports, "RuntimeAutonomousLoopStatusSchema", { enumerable: true, get: function () { return index_js_1.RuntimeAutonomousLoopStatusSchema; } });
|
|
200
|
+
Object.defineProperty(exports, "RuntimeAutonomousLoopCommandSchema", { enumerable: true, get: function () { return index_js_1.RuntimeAutonomousLoopCommandSchema; } });
|
|
201
|
+
Object.defineProperty(exports, "RuntimeStatusSchema", { enumerable: true, get: function () { return index_js_1.RuntimeStatusSchema; } });
|
|
202
|
+
Object.defineProperty(exports, "PendingPairRequestViewSchema", { enumerable: true, get: function () { return index_js_1.PendingPairRequestViewSchema; } });
|
|
203
|
+
Object.defineProperty(exports, "PendingInviteViewSchema", { enumerable: true, get: function () { return index_js_1.PendingInviteViewSchema; } });
|
|
204
|
+
Object.defineProperty(exports, "PairRequestDecisionSchema", { enumerable: true, get: function () { return index_js_1.PairRequestDecisionSchema; } });
|
|
205
|
+
Object.defineProperty(exports, "PairRequestResponseSchema", { enumerable: true, get: function () { return index_js_1.PairRequestResponseSchema; } });
|
|
206
|
+
Object.defineProperty(exports, "CreateInviteRequestSchema", { enumerable: true, get: function () { return index_js_1.CreateInviteRequestSchema; } });
|
|
207
|
+
Object.defineProperty(exports, "CreateInviteResponseSchema", { enumerable: true, get: function () { return index_js_1.CreateInviteResponseSchema; } });
|
|
208
|
+
Object.defineProperty(exports, "InvitePeerRequestSchema", { enumerable: true, get: function () { return index_js_1.InvitePeerRequestSchema; } });
|
|
209
|
+
Object.defineProperty(exports, "InvitePeerResultSchema", { enumerable: true, get: function () { return index_js_1.InvitePeerResultSchema; } });
|
|
210
|
+
Object.defineProperty(exports, "AcceptInviteResponseSchema", { enumerable: true, get: function () { return index_js_1.AcceptInviteResponseSchema; } });
|
|
211
|
+
Object.defineProperty(exports, "AcceptInviteTokenRequestSchema", { enumerable: true, get: function () { return index_js_1.AcceptInviteTokenRequestSchema; } });
|
|
212
|
+
Object.defineProperty(exports, "AcceptInviteTokenResponseSchema", { enumerable: true, get: function () { return index_js_1.AcceptInviteTokenResponseSchema; } });
|
|
213
|
+
Object.defineProperty(exports, "CancelInviteRequestSchema", { enumerable: true, get: function () { return index_js_1.CancelInviteRequestSchema; } });
|
|
214
|
+
Object.defineProperty(exports, "CancelInviteResponseSchema", { enumerable: true, get: function () { return index_js_1.CancelInviteResponseSchema; } });
|
|
215
|
+
Object.defineProperty(exports, "DirectPairRequestSchema", { enumerable: true, get: function () { return index_js_1.DirectPairRequestSchema; } });
|
|
216
|
+
Object.defineProperty(exports, "DirectPairRequestJsonSchema", { enumerable: true, get: function () { return index_js_1.DirectPairRequestJsonSchema; } });
|
|
217
|
+
Object.defineProperty(exports, "DirectPairResponseSchema", { enumerable: true, get: function () { return index_js_1.DirectPairResponseSchema; } });
|
|
218
|
+
Object.defineProperty(exports, "RevokePeerRequestSchema", { enumerable: true, get: function () { return index_js_1.RevokePeerRequestSchema; } });
|
|
219
|
+
Object.defineProperty(exports, "RevokePeerResponseSchema", { enumerable: true, get: function () { return index_js_1.RevokePeerResponseSchema; } });
|
|
220
|
+
Object.defineProperty(exports, "RepairPeerRequestSchema", { enumerable: true, get: function () { return index_js_1.RepairPeerRequestSchema; } });
|
|
221
|
+
Object.defineProperty(exports, "RepairPeerResponseSchema", { enumerable: true, get: function () { return index_js_1.RepairPeerResponseSchema; } });
|
|
222
|
+
Object.defineProperty(exports, "LocalControlClientKindSchema", { enumerable: true, get: function () { return index_js_1.LocalControlClientKindSchema; } });
|
|
223
|
+
Object.defineProperty(exports, "LocalControlSocketAttachClientRequestSchema", { enumerable: true, get: function () { return index_js_1.LocalControlSocketAttachClientRequestSchema; } });
|
|
224
|
+
Object.defineProperty(exports, "LocalControlSocketAttachClientResponseSchema", { enumerable: true, get: function () { return index_js_1.LocalControlSocketAttachClientResponseSchema; } });
|
|
225
|
+
Object.defineProperty(exports, "LocalControlSocketDetachClientRequestSchema", { enumerable: true, get: function () { return index_js_1.LocalControlSocketDetachClientRequestSchema; } });
|
|
226
|
+
Object.defineProperty(exports, "LocalControlSocketDetachClientResponseSchema", { enumerable: true, get: function () { return index_js_1.LocalControlSocketDetachClientResponseSchema; } });
|
|
227
|
+
Object.defineProperty(exports, "LocalControlSocketMethodSchema", { enumerable: true, get: function () { return index_js_1.LocalControlSocketMethodSchema; } });
|
|
228
|
+
Object.defineProperty(exports, "LocalControlSocketRequestSchema", { enumerable: true, get: function () { return index_js_1.LocalControlSocketRequestSchema; } });
|
|
229
|
+
Object.defineProperty(exports, "LocalControlSocketSuccessResponseSchema", { enumerable: true, get: function () { return index_js_1.LocalControlSocketSuccessResponseSchema; } });
|
|
230
|
+
Object.defineProperty(exports, "LocalControlSocketErrorResponseSchema", { enumerable: true, get: function () { return index_js_1.LocalControlSocketErrorResponseSchema; } });
|
|
231
|
+
Object.defineProperty(exports, "LocalControlSocketResponseSchema", { enumerable: true, get: function () { return index_js_1.LocalControlSocketResponseSchema; } });
|
|
232
|
+
Object.defineProperty(exports, "RuntimeOwnerRecordSchema", { enumerable: true, get: function () { return index_js_1.RuntimeOwnerRecordSchema; } });
|
|
233
|
+
Object.defineProperty(exports, "RuntimeEventKindSchema", { enumerable: true, get: function () { return index_js_1.RuntimeEventKindSchema; } });
|
|
234
|
+
Object.defineProperty(exports, "RuntimeEventSchema", { enumerable: true, get: function () { return index_js_1.RuntimeEventSchema; } });
|
|
235
|
+
Object.defineProperty(exports, "RuntimeBootstrapRevisionSchema", { enumerable: true, get: function () { return index_js_1.RuntimeBootstrapRevisionSchema; } });
|
|
236
|
+
Object.defineProperty(exports, "RuntimeBootstrapControlEndpointSchema", { enumerable: true, get: function () { return index_js_1.RuntimeBootstrapControlEndpointSchema; } });
|
|
237
|
+
Object.defineProperty(exports, "NETWORK_RUNTIME_PROTOCOL_VERSION", { enumerable: true, get: function () { return index_js_1.NETWORK_RUNTIME_PROTOCOL_VERSION; } });
|
|
238
|
+
Object.defineProperty(exports, "NetworkRuntimeProtocolVersionSchema", { enumerable: true, get: function () { return index_js_1.NetworkRuntimeProtocolVersionSchema; } });
|
|
239
|
+
Object.defineProperty(exports, "DeliveryAckSchema", { enumerable: true, get: function () { return index_js_1.DeliveryAckSchema; } });
|
|
240
|
+
Object.defineProperty(exports, "TransportInviteTokenSchema", { enumerable: true, get: function () { return index_js_1.TransportInviteTokenSchema; } });
|
|
241
|
+
Object.defineProperty(exports, "JoinRequestSchema", { enumerable: true, get: function () { return index_js_1.JoinRequestSchema; } });
|
|
242
|
+
Object.defineProperty(exports, "JoinRouteBodySchema", { enumerable: true, get: function () { return index_js_1.JoinRouteBodySchema; } });
|
|
243
|
+
Object.defineProperty(exports, "JoinRouteBodyJsonSchema", { enumerable: true, get: function () { return index_js_1.JoinRouteBodyJsonSchema; } });
|
|
244
|
+
Object.defineProperty(exports, "RuntimeIngressEnvelopeSchema", { enumerable: true, get: function () { return index_js_1.RuntimeIngressEnvelopeSchema; } });
|
|
245
|
+
Object.defineProperty(exports, "RuntimeNodeAdvertisementSchema", { enumerable: true, get: function () { return index_js_1.RuntimeNodeAdvertisementSchema; } });
|
|
246
|
+
Object.defineProperty(exports, "RuntimeDiscoveryAdvertisementSchema", { enumerable: true, get: function () { return index_js_1.RuntimeDiscoveryAdvertisementSchema; } });
|
|
247
|
+
Object.defineProperty(exports, "RuntimeRegisterRequestSchema", { enumerable: true, get: function () { return index_js_1.RuntimeRegisterRequestSchema; } });
|
|
248
|
+
Object.defineProperty(exports, "PairProposalSchema", { enumerable: true, get: function () { return index_js_1.PairProposalSchema; } });
|
|
249
|
+
Object.defineProperty(exports, "ContinuityStatementSchema", { enumerable: true, get: function () { return index_js_1.ContinuityStatementSchema; } });
|
|
250
|
+
Object.defineProperty(exports, "SignedContinuityBindSchema", { enumerable: true, get: function () { return index_js_1.SignedContinuityBindSchema; } });
|
|
251
|
+
Object.defineProperty(exports, "MutationOperationSchema", { enumerable: true, get: function () { return index_js_1.MutationOperationSchema; } });
|
|
252
|
+
Object.defineProperty(exports, "MutationEnvelopeSchema", { enumerable: true, get: function () { return index_js_1.MutationEnvelopeSchema; } });
|
|
253
|
+
Object.defineProperty(exports, "NetworkRouteRevokeRequestSchema", { enumerable: true, get: function () { return index_js_1.NetworkRouteRevokeRequestSchema; } });
|
|
254
|
+
Object.defineProperty(exports, "NetworkRouteRevokeRequestJsonSchema", { enumerable: true, get: function () { return index_js_1.NetworkRouteRevokeRequestJsonSchema; } });
|
|
255
|
+
Object.defineProperty(exports, "isSupportedNetworkRuntimeProtocolVersion", { enumerable: true, get: function () { return index_js_1.isSupportedNetworkRuntimeProtocolVersion; } });
|
|
256
|
+
Object.defineProperty(exports, "assertSupportedNetworkRuntimeProtocolVersion", { enumerable: true, get: function () { return index_js_1.assertSupportedNetworkRuntimeProtocolVersion; } });
|
|
257
|
+
Object.defineProperty(exports, "LegacyPeerRegistryStatusSchema", { enumerable: true, get: function () { return index_js_1.LegacyPeerRegistryStatusSchema; } });
|
|
258
|
+
Object.defineProperty(exports, "PeerIdentityStateSchema", { enumerable: true, get: function () { return index_js_1.PeerIdentityStateSchema; } });
|
|
259
|
+
Object.defineProperty(exports, "PeerTransportStateSchema", { enumerable: true, get: function () { return index_js_1.PeerTransportStateSchema; } });
|
|
260
|
+
Object.defineProperty(exports, "PeerMutationKindSchema", { enumerable: true, get: function () { return index_js_1.PeerMutationKindSchema; } });
|
|
261
|
+
Object.defineProperty(exports, "LegacyPeerRuntimeShapeSchema", { enumerable: true, get: function () { return index_js_1.LegacyPeerRuntimeShapeSchema; } });
|
|
262
|
+
Object.defineProperty(exports, "PeerStateSnapshotSchema", { enumerable: true, get: function () { return index_js_1.PeerStateSnapshotSchema; } });
|
|
263
|
+
Object.defineProperty(exports, "derivePeerStateFromLegacyStatus", { enumerable: true, get: function () { return index_js_1.derivePeerStateFromLegacyStatus; } });
|
|
264
|
+
Object.defineProperty(exports, "isValidPeerStateCombination", { enumerable: true, get: function () { return index_js_1.isValidPeerStateCombination; } });
|
|
265
|
+
Object.defineProperty(exports, "isValidPeerIdentityTransition", { enumerable: true, get: function () { return index_js_1.isValidPeerIdentityTransition; } });
|
|
266
|
+
Object.defineProperty(exports, "isValidPeerTransportTransition", { enumerable: true, get: function () { return index_js_1.isValidPeerTransportTransition; } });
|
|
267
|
+
Object.defineProperty(exports, "comparePeerMutationPrecedence", { enumerable: true, get: function () { return index_js_1.comparePeerMutationPrecedence; } });
|
|
268
|
+
Object.defineProperty(exports, "canRecordPendingPair", { enumerable: true, get: function () { return index_js_1.canRecordPendingPair; } });
|
|
269
|
+
Object.defineProperty(exports, "canCommitVerifiedPair", { enumerable: true, get: function () { return index_js_1.canCommitVerifiedPair; } });
|
|
270
|
+
Object.defineProperty(exports, "canRefreshEndpoint", { enumerable: true, get: function () { return index_js_1.canRefreshEndpoint; } });
|
|
271
|
+
Object.defineProperty(exports, "canHeartbeat", { enumerable: true, get: function () { return index_js_1.canHeartbeat; } });
|
|
272
|
+
Object.defineProperty(exports, "canAttemptBestEffortTransport", { enumerable: true, get: function () { return index_js_1.canAttemptBestEffortTransport; } });
|
|
273
|
+
Object.defineProperty(exports, "canAttemptDurableDelivery", { enumerable: true, get: function () { return index_js_1.canAttemptDurableDelivery; } });
|
|
274
|
+
Object.defineProperty(exports, "canMutateTrustedState", { enumerable: true, get: function () { return index_js_1.canMutateTrustedState; } });
|
|
275
|
+
// Registry
|
|
276
|
+
var index_js_2 = require("./registry/index.js");
|
|
277
|
+
Object.defineProperty(exports, "ToolRegistry", { enumerable: true, get: function () { return index_js_2.ToolRegistry; } });
|
|
278
|
+
Object.defineProperty(exports, "validateToolInput", { enumerable: true, get: function () { return index_js_2.validateToolInput; } });
|
|
279
|
+
// Factory function for creating tool registries
|
|
280
|
+
const index_js_3 = require("./registry/index.js");
|
|
281
|
+
const index_js_4 = require("./definitions/index.js");
|
|
282
|
+
/**
|
|
283
|
+
* Create a tool registry with optional built-in tools
|
|
284
|
+
*
|
|
285
|
+
* Built-in/native tools are always registered and are never filtered by
|
|
286
|
+
* `agentSkills`. Session-level runtimes may still apply allowlists to
|
|
287
|
+
* dynamically discovered tools (e.g. Memoria/MCP tools).
|
|
288
|
+
*/
|
|
289
|
+
function createToolRegistry(options = {}) {
|
|
290
|
+
const registry = new index_js_3.ToolRegistry({ logger: options.logger });
|
|
291
|
+
if (options.includeBuiltins !== false) {
|
|
292
|
+
for (const tool of index_js_4.CORE_TOOL_DEFINITIONS) {
|
|
293
|
+
registry.register(tool);
|
|
203
294
|
}
|
|
204
|
-
}
|
|
205
|
-
} catch {}
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
// Check standard SSL locations
|
|
209
|
-
const sslPairs = [
|
|
210
|
-
['/etc/ssl/certs/server.crt', '/etc/ssl/private/server.key'],
|
|
211
|
-
['/etc/ssl/certs/aria.crt', '/etc/ssl/private/aria.key'],
|
|
212
|
-
];
|
|
213
|
-
for (const [cert, key] of sslPairs) {
|
|
214
|
-
if (fs.existsSync(cert) && fs.existsSync(key)) {
|
|
215
|
-
console.log(JSON.stringify({ found: true, type: 'real-ca', cert, key }));
|
|
216
|
-
process.exit(0);
|
|
217
295
|
}
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
"
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
`)}async function iJ($){let Q=j3.default.dirname($);if(!Q||Q===".")return;await e$.default.mkdir(Q,{recursive:!0})}async function CU($,Q){let Z=pJ($);if(Z.hunks.length===0)return{success:!1,summary:{added:[],modified:[],deleted:[]},text:"No files were modified."};let J={added:[],modified:[],deleted:[]},Y={added:new Set,modified:new Set,deleted:new Set};for(let K of Z.hunks){if(K.kind==="add"){let G=await t7(K.path,Q.cwd);await iJ(G.resolved),await e$.default.writeFile(G.resolved,K.contents,"utf8"),e7(J,Y,"added",G.display);continue}if(K.kind==="delete"){let G=await t7(K.path,Q.cwd,"unlink");await e$.default.rm(G.resolved),e7(J,Y,"deleted",G.display);continue}let X=await t7(K.path,Q.cwd),V=await aJ(X.resolved,K.chunks,{readFile:(G)=>e$.default.readFile(G,"utf8")});if(K.movePath){let G=await t7(K.movePath,Q.cwd);await iJ(G.resolved),await e$.default.writeFile(G.resolved,V,"utf8"),await e$.default.rm(X.resolved),e7(J,Y,"modified",G.display)}else await e$.default.writeFile(X.resolved,V,"utf8"),e7(J,Y,"modified",X.display)}return{success:!0,summary:J,text:MU(J)}}var g6={name:"apply_patch",description:"Apply a patch to files using a structured format. Supports adding, deleting, updating, and renaming files with fuzzy line matching for resilient text replacement.",category:"filesystem",parameters:{type:"object",properties:{patch:{type:"string",description:"The patch text in *** Begin Patch / *** End Patch format"},cwd:{type:"string",description:"Working directory for relative paths (defaults to process.cwd())"}},required:["patch"]},riskLevel:"dangerous",requiresConfirmation:!0,isReadOnly:!1,loadingTier:"always",async execute($,Q){let{patch:Z,cwd:J}=$;if(!Z||Z.trim()==="")return{success:!1,message:"Patch content is empty."};try{let Y=await CU(Z,{cwd:J??process.cwd()});return{success:Y.success,message:Y.text}}catch(Y){return{success:!1,message:`apply_patch failed: ${Y instanceof Error?Y.message:String(Y)}`}}}};var bU={name:"read_file",description:"Read the contents of a file from the filesystem.",category:"filesystem",parameters:{type:"object",properties:{path:{type:"string",description:"Path to the file to read"},encoding:{type:"string",enum:["utf-8","utf8","latin1","ascii","base64","base64url","utf16le","ucs2","hex","binary"],description:"File encoding",default:"utf-8"},offset:{type:"number",description:"Starting line offset (0-based)"},limit:{type:"number",description:"Maximum number of lines to read"}},required:["path"]},riskLevel:"safe",isReadOnly:!0,loadingTier:"always",execute:SQ},TU={name:"write_file",description:"Write content to a file on the filesystem. Creates the file if it does not exist.",category:"filesystem",parameters:{type:"object",properties:{path:{type:"string",description:"Path to the file to write"},content:{type:"string",description:"Content to write"},encoding:{type:"string",enum:["utf-8","utf8","latin1","ascii","base64","base64url","utf16le","ucs2","hex","binary"],description:"File encoding",default:"utf-8"},append:{type:"boolean",description:"Append to existing file",default:!1},expectedHash:{type:"string",description:"Optional SHA-256 hash of the current file content. When provided, write fails if the file has changed."}},required:["path","content"]},riskLevel:"dangerous",isReadOnly:!1,loadingTier:"always",execute:kQ},IU={name:"edit_file",description:"Edit a file by replacing text. Uses exact match first, then resilient matching strategies for whitespace and indentation drift.",category:"filesystem",parameters:{type:"object",properties:{path:{type:"string",description:"Path to the file to edit"},oldText:{type:"string",description:"Text to find and replace"},newText:{type:"string",description:"Replacement text"},replaceAll:{type:"boolean",description:"Replace all occurrences instead of just the first",default:!1},expectedReplacements:{type:"number",description:"Optional safety check. If provided, the tool will fail unless exactly this many replacements are applied."},expectedHash:{type:"string",description:"Optional SHA-256 hash of the current file content. Edit fails if the file changed since it was read."}},required:["path","oldText","newText"]},riskLevel:"dangerous",isReadOnly:!1,loadingTier:"always",execute:vQ},PU={name:"glob",description:"Find files matching a glob pattern.",category:"filesystem",parameters:{type:"object",properties:{pattern:{type:"string",description:'Glob pattern to match (e.g., "**/*.ts")'},cwd:{type:"string",description:"Working directory for the pattern"},ignore:{type:"array",items:{type:"string"},description:"Patterns to ignore"}},required:["pattern"]},riskLevel:"safe",isReadOnly:!0,loadingTier:"always",execute:gQ},RU={name:"ls",description:"List files and directories with a structured response including entries, depth/limit/offset/ignore, and truncated metadata.",category:"filesystem",parameters:{type:"object",properties:{path:{type:"string",description:"Path to list",default:"."},all:{type:"boolean",description:"Include hidden files",default:!1},long:{type:"boolean",description:"Include detailed metadata when available (size, mode, mtimeMs, modifiedAt)",default:!1},depth:{type:"number",description:"Recursion depth where 1 lists immediate children"},limit:{type:"number",description:"Maximum number of entries to return"},offset:{type:"number",description:"Number of entries to skip before returning results"},ignore:{type:"array",items:{type:"string"},description:"Glob patterns to ignore while listing"}},required:[]},riskLevel:"safe",isReadOnly:!0,loadingTier:"always",execute:fQ},$8=[bU,TU,IU,PU,RU,g6];M2();X7();var wU={name:"bash",description:"Execute a shell command in a bash environment. Returns stdout and stderr.",category:"shell",parameters:{type:"object",properties:{command:{type:"string",description:"Command to execute"},cwd:{type:"string",description:"Working directory"},env:{type:"object",description:"Environment variables"},timeout:{type:"number",description:"Timeout in milliseconds"}},required:["command"]},riskLevel:"dangerous",requiresConfirmation:!0,isReadOnly:!1,loadingTier:"always",skipApprovalForInput:($)=>{let Q=$?.command;return typeof Q==="string"&&W$(Q)==="safe"},execute:C2},yU={name:"exec",description:"Execute a program directly without shell interpretation. Safer than bash for untrusted input.",category:"shell",parameters:{type:"object",properties:{program:{type:"string",description:"Program to execute"},args:{type:"array",items:{type:"string"},description:"Command arguments"},cwd:{type:"string",description:"Working directory"},env:{type:"object",description:"Environment variables"},timeout:{type:"number",description:"Timeout in milliseconds"}},required:["program"]},riskLevel:"dangerous",isReadOnly:!1,loadingTier:"always",execute:Y1},EU={name:"spawn",description:"Start a long-running process in the background. Returns a process ID for management.",category:"shell",parameters:{type:"object",properties:{program:{type:"string",description:"Program to spawn"},args:{type:"array",items:{type:"string"},description:"Command arguments"},cwd:{type:"string",description:"Working directory"},env:{type:"object",description:"Environment variables"},interactive:{type:"boolean",description:"Start as interactive PTY session (enables write_stdin). Default: false",default:!1}},required:["program"]},riskLevel:"dangerous",isReadOnly:!1,loadingTier:"always",execute:b2},SU={name:"kill",description:"Terminate a running process by its process ID.",category:"shell",parameters:{type:"object",properties:{pid:{type:"number",description:"Process ID to kill"},signal:{type:"string",description:"Signal to send",default:"SIGTERM"}},required:["pid"]},riskLevel:"dangerous",requiresConfirmation:!0,isReadOnly:!1,loadingTier:"always",execute:NQ},kU={name:"write_stdin",description:"Send input to an interactive PTY session by PID. Use after spawning a process with interactive=true. Returns recent output from the session.",category:"shell",parameters:{type:"object",properties:{pid:{type:"number",description:"PID of the interactive process"},input:{type:"string",description:"Input string to send to the process"},timeout:{type:"number",description:"Milliseconds to wait for output after writing (max 30000)"}},required:["pid","input"]},riskLevel:"moderate",isReadOnly:!1,loadingTier:"always",execute:MQ},vU={name:"list_processes",description:"List tracked shell processes started in this session with metadata and runtime status.",category:"shell",parameters:{type:"object",properties:{includeExited:{type:"boolean",description:"Include recently exited processes from registry history (default: false).",default:!1}},required:[]},riskLevel:"safe",isReadOnly:!0,loadingTier:"always",execute:OQ},fU={name:"wait_process",description:"Wait for a tracked process to exit and return exit metadata. Fails on timeout.",category:"shell",parameters:{type:"object",properties:{pid:{type:"number",description:"PID of the process to wait for"},timeoutMs:{type:"number",description:"Maximum milliseconds to wait (max 300000, default 30000)."},timeout:{type:"number",description:"Deprecated alias for timeoutMs."}},required:["pid"]},riskLevel:"safe",isReadOnly:!0,loadingTier:"always",execute:LQ},Q8=[wU,yU,EU,SU,kU,vU,fU];var gU={name:"hatch_arion",description:"Create a new arion persona with specified personality, traits, and beliefs. Requires user confirmation.",category:"arion",parameters:{type:"object",properties:{name:{type:"string",description:"The arion's unique name"},emoji:{type:"string",description:"Visual emoji identifier"},traits:{type:"array",items:{type:"string"},description:"Core personality traits"},style:{type:"string",enum:["formal","casual","technical","friendly"],description:"Communication style"},beliefs:{type:"array",items:{type:"string"},description:"Core beliefs to seed into memory"},background:{type:"string",description:"Brief backstory or context"},quirks:{type:"array",items:{type:"string"},description:"Unique behavioral quirks"},strengths:{type:"array",items:{type:"string"},description:"Areas of particular strength"}},required:["name","traits","style"]},riskLevel:"dangerous",requiresConfirmation:!0,isReadOnly:!1,loadingTier:"always",execute:eQ},xU={name:"rest_arion",description:"Put an arion persona to rest. Triggers deep memory consolidation before resting.",category:"arion",parameters:{type:"object",properties:{name:{type:"string",description:"Name of the arion to rest"}},required:["name"]},riskLevel:"moderate",isReadOnly:!1,loadingTier:"always",execute:$3},hU={name:"wake_arion",description:"Wake a resting arion persona, making it available for use.",category:"arion",parameters:{type:"object",properties:{name:{type:"string",description:"Name of the resting arion to wake"}},required:["name"]},riskLevel:"moderate",isReadOnly:!1,loadingTier:"always",execute:Q3},mU={name:"retire_arion",description:"Permanently retire an arion persona. This action cannot be undone.",category:"arion",parameters:{type:"object",properties:{name:{type:"string",description:"Name of the arion to retire"}},required:["name"]},riskLevel:"dangerous",requiresConfirmation:!0,isReadOnly:!1,loadingTier:"always",execute:Z3},Z8=[gU,xU,hU,mU];var f=require("zod");var sJ=require("zod");function $0($){let{name:Q,description:Z,parameters:J,execute:Y,riskLevel:K="safe",isReadOnly:X=!0,category:V="meta",loadingTier:G="always"}=$,W=sJ.z.toJSONSchema(J);return delete W.$schema,{name:Q,description:Z,category:V,parameters:W,riskLevel:K,isReadOnly:X,loadingTier:G,execute:async(B,U)=>{let q=J.parse(B);return Y(q,U)}}}var dU=$0({name:"delegate_arion",description:"Delegate a task to another arion in the room. The arion runs in parallel with its own memory and persona. Use check_delegation to get results.",parameters:f.z.object({arion:f.z.string().min(1).max(100).describe("Name of the arion to delegate to"),task:f.z.string().min(1).max(1e5).describe("The task description for the delegated arion"),tier:f.z.enum(["fast","balanced","powerful","ensemble"]).optional().describe("Model tier override (fast/balanced/powerful)")}),category:"arion",riskLevel:"moderate",isReadOnly:!1,loadingTier:"always",execute:async($,Q)=>{if(!Q.delegationExecutor)return{success:!1,message:"delegate_arion: Delegation executor not available. Ensure RunSession is configured with delegation support."};try{let Z=await Q.delegationExecutor.delegateToArion($.arion,$.task,$.tier);return{success:!0,message:`Delegation ${Z} started. Arion "${$.arion}" is working on the task. Use check_delegation to monitor progress.`,data:{id:Z,arion:$.arion}}}catch(Z){return{success:!1,message:`delegate_arion failed: ${Z.message}`}}}}),cU=$0({name:"spawn_worker",description:"Spawn a lightweight worker to execute a focused task in parallel. No memory or persona. Use for quick, isolated tasks. Use check_delegation to get results.",parameters:f.z.object({task:f.z.string().min(1).max(1e5).describe("The task for the worker"),type:f.z.enum(["worker","cli_agent"]).optional().default("worker").describe("Delegation type: lightweight worker (default) or external CLI agent"),tools:f.z.array(f.z.string().min(1).max(100).regex(/^[a-z0-9_]+$/)).max(100).optional().describe("Restrict worker to these tools only"),tier:f.z.enum(["fast","balanced","powerful","ensemble"]).optional().default("fast").describe("Model tier"),driver:f.z.string().regex(/^[a-z0-9-]+$/).max(50).optional().describe("CLI agent driver ID (for type='cli_agent', e.g. claude-code/codex)"),workspace:f.z.enum(["cwd","tempdir","worktree"]).optional().describe("Workspace strategy for CLI agent delegation"),model:f.z.string().max(200).optional().describe("CLI model override (for type='cli_agent')"),resume:f.z.string().max(200).optional().describe("Resume from an existing CLI session ID"),timeout:f.z.number().int().min(1000).max(3600000).optional().describe("CLI delegation timeout in ms")}),category:"meta",riskLevel:"moderate",isReadOnly:!1,loadingTier:"always",execute:async($,Q)=>{if(!Q.delegationExecutor)return{success:!1,message:"spawn_worker: Delegation executor not available. Ensure RunSession is configured with delegation support."};try{if($.type==="cli_agent")return{success:!0,message:"CLI agent delegation started",data:{id:await Q.delegationExecutor.spawnCliAgent({task:$.task,driver:$.driver??"claude-code",workspace:$.workspace,model:$.model,resume:$.resume,timeout:$.timeout})}};let Z=await Q.delegationExecutor.spawnWorker($.task,$.tools,$.tier);return{success:!0,message:`Worker ${Z} spawned. Use check_delegation to monitor progress.`,data:{id:Z}}}catch(Z){return{success:!1,message:`spawn_worker failed: ${Z.message}`}}}}),lU=$0({name:"check_delegation",description:"Check the status of a delegated task. The ID is always a quest_xxx ID. Returns the result when complete.",parameters:f.z.object({id:f.z.string().regex(/^quest_[a-z0-9]{6,20}$/).max(50).describe("Quest ID (quest_xxx)"),wait:f.z.boolean().optional().default(!1).describe("Wait for completion instead of polling."),timeout:f.z.number().int().min(1000).max(3600000).optional().describe("Max wait time in ms when wait=true (default 300000)")}),category:"meta",riskLevel:"safe",isReadOnly:!0,loadingTier:"always",execute:async($,Q)=>{let Z=Q.delegationRegistry;if(!Z)return{success:!1,message:"No delegation registry available"};let J=Z.get($.id);if(!J&&Q.questStore){let Y=Q.questStore.getQuest($.id);if(Y){let K=Q.messageStore?.getByCorrelation($.id)??[];return{success:Y.status==="done"||Y.status==="active",message:Y.status==="done"?Y.progress||"Quest completed":Y.status==="blocked"?Y.progress||"Quest blocked":`Quest is ${Y.status}`,data:{id:Y.id,status:Y.status,progress:Y.progress,questMessages:K.slice(-10)}}}}if(!J)return{success:!1,message:`Delegation not found: ${$.id}`};if($.wait&&J.status==="running")try{let Y=await Z.await($.id,$.timeout??300000);return tJ(Y,Q)}catch(Y){return{success:!1,message:`Wait failed: ${Y.message}`}}return tJ(J,Q)}});function tJ($,Q){let Z,J;if(Q.questStore){let K=Q.questStore.getQuest($.id);if(K)Z=K.progress}if(Q.messageStore)J=Q.messageStore.getByCorrelation($.id).slice(-10);let Y=$.status==="failed"||$.status==="aborted";return{success:$.status==="completed"||$.status==="running",message:$.status==="completed"?$.result??"Delegation completed":Y?$.error??`Delegation ${$.status}`:`Delegation is ${$.status}`,data:{id:$.id,type:$.type,status:$.status,result:$.result,error:$.error,questProgress:Z,questMessages:J,metadata:$.metadata}}}var uU=$0({name:"pause_delegation",description:"Pause a running delegation by terminating it. No in-flight state is preserved. Use resume_delegation to re-create the delegation with the original task.",parameters:f.z.object({id:f.z.string().regex(/^quest_[a-z0-9]{6,20}$/).max(50).describe("Quest ID (quest_xxx) to pause"),reason:f.z.string().max(1000).optional().describe("Reason for pausing")}),category:"meta",riskLevel:"moderate",isReadOnly:!1,loadingTier:"always",execute:async($,Q)=>{let Z=Q.delegationRegistry;if(!Z)return{success:!1,message:"No delegation registry available"};let J=Z.get($.id);if(!J)return{success:!1,message:`Delegation not found: ${$.id}`};if(J.status!=="running")return{success:!1,message:`Cannot pause — delegation is ${J.status}`};if(Z.abort($.id),Q.questStore)try{Q.questStore.updateQuest($.id,{status:"blocked",progress:$.reason??"Paused by user"})}catch{}return{success:!0,message:`Delegation ${$.id} aborted${$.reason?`: ${$.reason}`:""}. Use resume_delegation to re-create with the original task.`,data:{id:$.id,status:"aborted"}}}}),pU=$0({name:"resume_delegation",description:"Resume a paused delegation by creating a new delegation with the original task. Does not restore in-flight state — the agent starts fresh with the original task description.",parameters:f.z.object({id:f.z.string().regex(/^quest_[a-z0-9]{6,20}$/).max(50).describe("Quest ID (quest_xxx) to resume"),additionalContext:f.z.string().max(50000).optional().describe("Additional context or instructions for the resumed agent")}),category:"meta",riskLevel:"moderate",isReadOnly:!1,loadingTier:"always",execute:async($,Q)=>{let Z=Q.delegationExecutor;if(!Z)return{success:!1,message:"Delegation executor not available"};let J=Q.delegationRegistry;if(!J)return{success:!1,message:"No delegation registry available"};let Y=J.get($.id);if(!Y)return{success:!1,message:`Delegation not found: ${$.id}`};if(Y.status==="running")return{success:!1,message:`Cannot resume — delegation ${$.id} is still running. Use pause_delegation first.`};let K=$.additionalContext?`Continue the previous task: ${Y.task}
|
|
329
|
-
|
|
330
|
-
Additional context: ${$.additionalContext}`:`Continue the previous task: ${Y.task}`;try{let X;if(Y.type==="arion"&&Y.arionName)X=await Z.delegateToArion(Y.arionName,K);else if(Y.type==="cli_agent")if(Y.metadata?.driver)X=await Z.spawnCliAgent({task:K,driver:Y.metadata.driver,workspace:Y.metadata.workspace,model:Y.metadata.model});else return{success:!1,message:"Cannot resume CLI agent delegation — original driver metadata not preserved. Use spawn_worker with type='cli_agent' instead."};else X=await Z.spawnWorker(K);return{success:!0,message:`Delegation resumed as ${X}. Original: ${$.id}`,data:{originalId:$.id,newId:X,type:Y.type}}}catch(X){return{success:!1,message:`Resume failed: ${X.message}`}}}}),oU=$0({name:"delegate_remote",description:"Delegate a task to a remote ARIA node connected via WireGuard tunnel. The node executes the task independently. Use check_delegation to get results.",parameters:f.z.object({node_id:R.describe("Durable remote node id to delegate to"),task:f.z.string().min(1).max(1e5).describe("Task description for the remote node"),tier:f.z.enum(["fast","balanced","powerful"]).optional().describe("Model tier for the remote execution")}),category:"messaging",riskLevel:"moderate",isReadOnly:!1,loadingTier:"always",execute:async($,Q)=>{if(!Q.delegationExecutor?.delegateToRemote)return{success:!1,message:"delegate_remote: Remote delegation not available — no delegateToRemote configured. Ensure mailbox and network are wired."};try{let Z=await Q.delegationExecutor.delegateToRemote(R.parse($.node_id),$.task,$.tier);return{success:!0,message:`Remote delegation ${Z} sent to node "${$.node_id}". Use check_delegation to monitor progress.`,data:{id:Z,nodeId:$.node_id}}}catch(Z){return{success:!1,message:`delegate_remote failed: ${Z.message}`}}}}),aU=$0({name:"quest_report",description:"View the structured completion report for a finished quest, including commits, files changed, commands run, and cost",parameters:f.z.object({quest_id:f.z.string().min(1).max(100).describe("Quest ID to view report for")}),category:"meta",riskLevel:"safe",isReadOnly:!0,loadingTier:"always",execute:async($,Q)=>{let Z=$.quest_id;if(!Q.questStore)return{success:!1,message:"Quest store not available"};let J=Q.questStore.getQuest(Z);if(!J)return{success:!1,message:`Quest not found: ${Z}`};if(J.status!=="done")return{success:!0,message:`Quest not yet completed (status: ${J.status})`,data:{questId:Z,status:J.status}};try{let Y=JSON.parse(J.progress);return{success:!0,message:"Quest completion report",data:{questId:Z,title:J.title,status:J.status,report:{summary:Y.summary??J.progress.slice(0,500),commits:Y.commits??[],filesChanged:Y.filesChanged??[],commandsRun:Y.commandsRun??[],toolsUsed:Y.toolsUsed??[],turnCount:Y.turnCount??0,tokensUsed:Y.tokensUsed??0,costUsd:Y.costUsd??0}}}}catch{return{success:!0,message:"Quest completion report (plain text)",data:{questId:Z,title:J.title,status:J.status,report:{summary:J.progress,commits:[],filesChanged:[],commandsRun:[]}}}}}}),J8=[dU,cU,lU,uU,pU,oU,aU];var eJ=E(require("node:crypto")),u=require("zod");var x6="senderInbox";function $Y($){if($.inboxAddress)return $.inboxAddress;if($.nodeId)return{kind:"node",nodeId:$.nodeId};throw Error("Inbox address not available: neither context.inboxAddress nor context.nodeId is set. The entrypoint must wire nodeId into ToolContext (via RunOptions.nodeId or direct inboxAddress). "+"This is a wiring bug — check tool-executor.ts and RunSession.toRunOptions().")}function h6($){let Q=$Y($);if(Q.kind==="client"&&$.nodeId)return[Q,{kind:"node",nodeId:$.nodeId}];return[Q]}function rU($,Q){let Z=$.arion?"arion":$.senderType??"leader";if($.arion)return{id:$.arion.id,name:$.arion.name,type:Z};return{id:$.nodeId??(Q.kind==="client"?Q.clientId:Q.nodeId),name:"ARIA",type:Z}}async function nU($){return Promise.resolve($.networkControl?.listAttachedClients?.()??[])}function iU($,Q){let Z=$.manager?"registered local mailbox id or arion name":"registered local mailbox id or alias",J=$.networkControl?.listAttachedClients?"exact same-home clientId from list_clients":"exact same-home clientId";return`Unknown recipient "${Q}". send_message requires an exact recipient identity: ${Z}, exact remote nodeId, or ${J}.`}async function sU($,Q){let Z=$.manager;if(!Z)return null;let[J,Y]=await Promise.all([Z.get(Q).catch(()=>null),Z.list().catch(()=>[])]),K=J??Y.find((X)=>X.id===Q||X.name===Q)??null;if(!K)return null;return{kind:"local",mailboxId:K.id,recipientName:K.name}}function tU($){if(!$)return;try{let Q=JSON.parse($);if(!(x6 in Q))return;return e0.parse(Q[x6])}catch{return}}async function eU($,Q,Z){if(typeof $.messageStore?.getMessageForInbox!=="function")return{ok:!1,error:"Reply routing is unavailable: the message store cannot resolve inbox-scoped message ids."};let J=$.messageStore.getMessageForInbox(Z,Q);if(!J)return{ok:!1,error:`Cannot reply to message "${Q}" because it is not present in the current inbox.`};let Y=tU(J.metadata);if(Y?.kind==="client")return{ok:!0,recipient:{kind:"client",clientId:Y.clientId,recipientName:J.sender_name,self:Z.kind==="client"&&Y.clientId===Z.clientId}};return QY($,J.sender_id,Z)}async function QY($,Q,Z){let J=$.mailbox,Y=$.networkControl?.listPeers()??[],K=await nU($),X=K.find((j)=>j.clientId===Q);if(X)return{ok:!0,recipient:{kind:"client",clientId:X.clientId,recipientName:X.displayLabel.trim()||X.clientId,self:X.self}};let V=Y.find((j)=>j.nodeId===Q);if(V){if(V.routeOwnership==="superseded"||V.deliveryReadiness==="cannot_address")return{ok:!1,error:`Peer "${Q}" is not currently addressable`+(V.routeOwnership==="superseded"?" because its direct route claim has been superseded.":".")};return{ok:!0,recipient:{kind:"remote",nodeId:V.nodeId,recipientName:V.displayNameSnapshot??V.nodeId}}}if(typeof J?.has==="function"&&J.has(Q))return{ok:!0,recipient:{kind:"local",mailboxId:Q,recipientName:Q}};if(typeof J?.hasByName==="function"&&J.hasByName(Q)){let j=typeof J?.resolveId==="function"?J.resolveId(Q):void 0;if(!j)return{ok:!1,error:`Registered local alias "${Q}" is missing a canonical mailbox id`};return{ok:!0,recipient:{kind:"local",mailboxId:j,recipientName:Q}}}let B=await sU($,Q);if(B)return{ok:!0,recipient:B};let U=Q.toLowerCase().replace(/^@/,""),q=Y.filter((j)=>j.displayNameSnapshot?.toLowerCase()===U||j.displayNameSnapshot?.toLowerCase()===Q.toLowerCase());if(q.length>1)return{ok:!1,error:`Ambiguous peer display name "${Q}"`};if(q.length===1){let j=q[0];if(j.routeOwnership==="superseded"||j.deliveryReadiness==="cannot_address")return{ok:!1,error:`Peer "${j.displayNameSnapshot}" is not currently addressable.`};return{ok:!0,recipient:{kind:"remote",nodeId:j.nodeId,recipientName:j.displayNameSnapshot??j.nodeId}}}let A=K.filter((j)=>j.displayLabel?.toLowerCase()===U||j.displayLabel?.toLowerCase()===Q.toLowerCase());if(A.length>1)return{ok:!1,error:`Ambiguous same-home client label "${Q}"`};if(A.length===1){let j=A[0];return{ok:!0,recipient:{kind:"client",clientId:j.clientId,recipientName:j.displayLabel?.trim()||j.clientId,self:j.self}}}if(Z.kind==="client")return{ok:!1,error:iU($,Q)};return{ok:!0,recipient:{kind:"local",mailboxId:Q,recipientName:Q}}}var $B=$0({name:"send_message",description:"Send a message to any agent (arion, worker, or leader). Use @name or display name to address peers and clients (e.g. @vm1, @local-machine), or use an exact nodeId/clientId for precision. When replying to a received message, prefer replyTo and omit to so the tool routes back to the original sender automatically. Messages are persisted and can be threaded via replyTo or correlated via correlationId.",parameters:u.z.object({to:u.z.string().optional().describe("Recipient: @name or display name of a peer/client (e.g. @vm1, @local-machine), or exact nodeId/clientId for precision"),type:u.z.enum(["quest","quest_update","progress","finding","question","answer","review_request","review_result","approval","directive","context","announcement","error"]).describe("Message type"),content:u.z.string().describe("Message content"),replyTo:u.z.string().optional().describe("Message ID to reply to. When provided without to, the tool replies to the original sender automatically."),correlationId:u.z.string().optional().describe("Correlation ID for sub-thread conversations within a quest"),questId:u.z.string().optional().describe("Quest ID this message belongs to (e.g. quest_abc123)"),priority:u.z.number().min(0).max(4).optional().describe("Priority: 0=critical, 2=normal (default), 4=backlog")}).superRefine(($,Q)=>{if(!$.to&&!$.replyTo)Q.addIssue({code:u.z.ZodIssueCode.custom,path:["to"],message:'Either "to" or "replyTo" is required.'})}),category:"messaging",riskLevel:"moderate",isReadOnly:!1,execute:async($,Q)=>{if(!Q.messageStore)return{success:!1,message:"Message store not available. Messaging requires Memoria."};let Z=$Y(Q),J=$.to&&$.to.trim().length>0?await QY(Q,$.to,Z):$.replyTo?await eU(Q,$.replyTo,Z):{ok:!1,error:'Either "to" or "replyTo" is required.'};if(!J.ok)return{success:!1,message:J.error};if(J.recipient.kind==="client"&&J.recipient.self)return{success:!1,message:"Cannot send a same-home message to yourself."};let Y=J.recipient.kind==="remote"?J.recipient.nodeId:J.recipient.kind==="client"?J.recipient.clientId:J.recipient.mailboxId,K=rU(Q,Z),X=$.to??J.recipient.recipientName,V={id:eJ.default.randomUUID(),version:1,sender:K,recipient:{id:Y,name:J.recipient.recipientName},replyTo:$.replyTo,correlationId:$.correlationId,questId:$.questId,type:$.type,content:$.content,metadata:Z.kind==="client"?{[x6]:Z}:void 0,timestamp:Date.now(),priority:$.priority??2,...J.recipient.kind==="client"?{recipientInbox:{kind:"client",clientId:J.recipient.clientId}}:{}};if(Q.mailbox)try{let G=O0(await Q.mailbox.sendDurable(V)),W=G.deliveryState==="queued_for_route"?"accepted and queued for route establishment":G.deliveryState==="dispatching"?"sent and awaiting remote acknowledgement":G.delivered?"delivered":"sent",B=G.sessionState?` session=${G.sessionState}, delivery=${G.deliveryReadiness??"unknown"}`:"",U=G.queuedReason?` reason=${G.queuedReason}`:"";return{success:!0,message:`Message ${W} for "${X}" via ${G.transport}${B}${U} (type: ${$.type}, id: ${V.id})`,data:{id:V.id,to:Y,type:$.type,delivered:G.delivered,queued:G.queued,transport:G.transport,accepted:G.accepted??!0,deliveryState:G.deliveryState,sessionState:G.sessionState,deliveryReadiness:G.deliveryReadiness,queuedReason:G.queuedReason}}}catch(G){if(J.recipient.kind==="remote")return Q.messageStore.store(V,"sent",Z),{success:!1,message:`Message delivery failed for "${X}": ${G.message}`,data:{id:V.id,to:J.recipient.nodeId,type:$.type,delivered:!1}};return Q.messageStore.store(V,"sent",Z),{success:!0,message:`Message stored locally for "${X}" but delivery failed: ${G.message}`,data:{id:V.id,to:Y,type:$.type,delivered:!1}}}return Q.messageStore.store(V,"sent",Z),{success:!0,message:`Message sent to "${X}" (type: ${$.type}, id: ${V.id})`,data:{id:V.id,to:Y,type:$.type,delivered:!1}}}}),QB=$0({name:"check_messages",description:"Check your message inbox. Returns unread messages by default, with optional filters.",parameters:u.z.object({unreadOnly:u.z.boolean().optional().describe("Only show unread messages (default: true)"),from:u.z.string().optional().describe("Filter by sender name"),type:u.z.string().optional().describe("Filter by message type"),correlationId:u.z.string().optional().describe("Filter by correlation ID"),limit:u.z.number().optional().describe("Max messages to return (default: 20)")}),category:"messaging",riskLevel:"safe",isReadOnly:!0,execute:async($,Q)=>{if(!Q.messageStore)return{success:!1,message:"Message store not available."};let Z=h6(Q),J=$.unreadOnly??!0,Y=$.limit??20;if(J){let V=new Set,G=Z.flatMap((W)=>Q.messageStore.getUnreadForInbox(W,Y)).filter((W)=>{if(V.has(W.id))return!1;return V.add(W.id),!0}).slice(0,Y);if(G.length===0)return{success:!0,message:"No unread messages.",data:{messages:[]}};return Q.messageStore.markRead(G.map((W)=>W.id)),{success:!0,message:`${G.length} message(s) received`,data:{messages:G}}}let K=new Set,X=Z.flatMap((V)=>Q.messageStore.searchInbox(V,"",{from:$.from,type:$.type,correlationId:$.correlationId,limit:Y})).filter((V)=>{if(K.has(V.id))return!1;return K.add(V.id),!0}).slice(0,Y);return{success:!0,message:`${X.length} message(s) found`,data:{messages:X}}}}),ZB=$0({name:"search_messages",description:"Search message history by content with optional filters.",parameters:u.z.object({query:u.z.string().describe("Search text (matched against message content)"),from:u.z.string().optional().describe("Filter by sender name"),type:u.z.string().optional().describe("Filter by message type"),correlationId:u.z.string().optional().describe("Filter by correlation ID"),after:u.z.number().optional().describe("Only messages after this timestamp (epoch ms)"),limit:u.z.number().optional().describe("Max results (default: 20)")}),category:"messaging",riskLevel:"safe",isReadOnly:!0,execute:async($,Q)=>{if(!Q.messageStore)return{success:!1,message:"Message store not available."};let Z=h6(Q),J=$.limit??20,Y=new Set,K=Z.flatMap((X)=>Q.messageStore.searchInbox(X,$.query,{from:$.from,type:$.type,correlationId:$.correlationId,after:$.after,limit:J})).filter((X)=>{if(Y.has(X.id))return!1;return Y.add(X.id),!0}).slice(0,J);return{success:!0,message:`${K.length} message(s) found`,data:{messages:K}}}}),JB=$0({name:"get_thread",description:"Reconstruct a conversation thread from any message ID in the chain. Follows replyTo links to build the full thread.",parameters:u.z.object({messageId:u.z.string().describe("Any message ID in the thread")}),category:"messaging",riskLevel:"safe",isReadOnly:!0,execute:async($,Q)=>{if(!Q.messageStore)return{success:!1,message:"Message store not available."};let Z=h6(Q),J=new Set,Y=Z.flatMap((K)=>Q.messageStore.getThreadForInbox(K,$.messageId)).filter((K)=>{if(J.has(K.id))return!1;return J.add(K.id),!0});if(Y.length===0)return{success:!1,message:`No thread found for message ${$.messageId}`};return{success:!0,message:`Thread with ${Y.length} message(s)`,data:{thread:Y}}}}),Y8=[$B,QB,ZB,JB];var d6=E(require("node:crypto")),YY=require("node:child_process"),K8=require("node:fs"),KY=E(require("node:os")),A3=E(require("node:path")),XY=require("node:util"),ZY=XY.promisify(YY.execFile),VY=A3.default.join(KY.default.homedir(),"Library","Application Support","Slack"),YB=A3.default.join(VY,"Local Storage","leveldb"),KB=A3.default.join(VY,"Cookies"),XB="Slack Safe Storage",m6="https://app.slack.com",JY=30000,VB=/\bT[A-Z0-9]{8,}\b/g,GB=/\bxoxc-[A-Za-z0-9-]{20,}\b/g;function WB($){let Q=$.match(GB)?.[0]??null,Z=[],J=new Set,Y=[...$.matchAll(/localConfig_v2[\s\S]{0,8000}/g)].map((X)=>X[0]),K=Y.length>0?Y:[$];for(let X of K)for(let V of X.match(VB)??[]){if(J.has(V))continue;J.add(V),Z.push(V)}return{cachedToken:Q,teamIds:Z}}function UB($){return $.match(/name="token"\r?\n\r?\n([^\r\n]+)/)?.[1]??null}function BB($,Q){let Z=Buffer.from($,"hex");if(Z.length===0)return"";let J=Z.subarray(0,3).toString("utf8");if(J!=="v10"&&J!=="v11")return Z.toString("utf8");let Y=d6.default.pbkdf2Sync(Q,"saltysalt",1003,16,"sha1"),K=d6.default.createDecipheriv("aes-128-cbc",Y,Buffer.alloc(16,32)),X=Buffer.concat([K.update(Z.subarray(3)),K.final()]),V=X.at(-1)??0;if(V>0&&V<=16)X=X.subarray(0,X.length-V);if(X.length>=32)X=X.subarray(32);return X.toString("utf8")}async function HB($=YB){let Z=(await K8.promises.readdir($)).filter((Y)=>Y.endsWith(".ldb")||Y.endsWith(".log")).sort();return(await Promise.all(Z.map(async(Y)=>{let K=A3.default.join($,Y);return K8.promises.readFile(K,"utf8").catch(async()=>{return(await K8.promises.readFile(K)).toString("utf8")})}))).join(`
|
|
331
|
-
|
|
332
|
-
`).map((X)=>X.trim()).filter(Boolean).map((X)=>{let[V,G,W,B,U,q]=X.split("\t");if(!V||!G||!q)throw Error(`Unexpected sqlite3 cookie row shape: ${X}`);return{name:G,value:BB(q??"",Z),domain:V,path:W||"/",secure:B==="1",httpOnly:U==="1"}});if(K.length===0)throw Error("Slack Desktop auth cookies were not found in the local Chromium cookie store.");return K}async function FB($,Q){return new Promise((Z,J)=>{let Y=setTimeout(()=>{$.off("request",K),J(Error("Timed out while waiting for the live Slack Desktop API bootstrap request."))},Q),K=(X)=>{let V=X.url();if(!V.includes("/api/"))return;let G=UB(X.postData()??"");if(!G)return;clearTimeout(Y),$.off("request",K),Z({workspaceHost:new URL(V).host,liveToken:G})};$.on("request",K)})}function qB($,Q){let Z={token:$};for(let[J,Y]of Object.entries(Q)){if(Y===void 0)continue;if(typeof Y==="string"){Z[J]=Y;continue}if(typeof Y==="number"||typeof Y==="boolean"){Z[J]=String(Y);continue}Z[J]=JSON.stringify(Y)}return Z}function jB($){return $.startsWith("#")?$.slice(1):$}function AB($){return/^[CDG][A-Z0-9]{8,}$/.test($)}function zB($){return{ts:typeof $.ts==="string"?$.ts:"",user:typeof $.user==="string"?$.user:typeof $.bot_id==="string"?$.bot_id:null,text:typeof $.text==="string"?$.text:"",subtype:typeof $.subtype==="string"?$.subtype:null,threadTs:typeof $.thread_ts==="string"?$.thread_ts:null}}async function X8($){let Q=WB(await HB()),Z=$?.teamId??Q.teamIds[0];if(!Z)throw Error("No Slack workspace team id was discovered in the local Slack Desktop storage.");let Y=await(await import("playwright")).chromium.launch({headless:!0}),K=await Y.newContext();await K.addCookies(await DB());let X=await K.newPage(),V=FB(X,$?.bootstrapTimeoutMs??JY);await X.goto(`${m6}/client/${Z}`,{waitUntil:"domcontentloaded",timeout:$?.bootstrapTimeoutMs??JY});let G=await V,W=async(U,q)=>{let A=await K.request.post(`https://${G.workspaceHost}/api/${U}`,{form:qB(G.liveToken,q),headers:{Origin:m6,Referer:`${m6}/client/${Z}`}}),j=await A.text(),_;try{_=JSON.parse(j)}catch{throw Error(`Slack API ${U} returned non-JSON response (HTTP ${A.status()}).`)}if(_.ok!==!0){let N=typeof _.error==="string"?_.error:`http_${A.status()}`;throw Error(`Slack API ${U} failed: ${N}`)}return _},B=async(U)=>{let q=jB(U);if(AB(q))return q;let A;for(let j=0;j<20;j+=1){let _=await W("conversations.list",{limit:200,exclude_archived:!0,types:"public_channel,private_channel,im,mpim",cursor:A}),M=(Array.isArray(_.channels)?_.channels:[]).find((z)=>{if(!z||typeof z!=="object")return!1;let L=typeof z.name==="string"?z.name:null,w=typeof z.name_normalized==="string"?z.name_normalized:null;return L===q||w===q.toLowerCase()});if(M&&typeof M.id==="string")return M.id;let C=_.response_metadata&&typeof _.response_metadata==="object"?_.response_metadata:void 0,b=C&&typeof C.next_cursor==="string"?C.next_cursor.trim():"";if(!b)break;A=b}throw Error(`Slack conversation "${U}" was not found. Use a channel id like C..., G..., or D... if the name cannot be resolved.`)};return{getTeamId:()=>Z,getWorkspaceHost:()=>G.workspaceHost,listMessages:async({channel:U,limit:q=20,threadTs:A})=>{let j=await B(U),N=await W(A?"conversations.replies":"conversations.history",{channel:j,limit:Math.max(1,Math.min(q,100)),...A?{ts:A}:{}}),M=N.response_metadata&&typeof N.response_metadata==="object"?N.response_metadata:void 0,C=M&&typeof M.next_cursor==="string"?M.next_cursor||null:null,b=Array.isArray(N.messages)?N.messages:[];return{teamId:Z,workspaceHost:G.workspaceHost,channelId:j,messages:b.filter((z)=>!!z&&typeof z==="object").map(zB),hasMore:N.has_more===!0,nextCursor:C}},sendMessage:async({channel:U,text:q,threadTs:A})=>{let j=await B(U),_=await W("chat.postMessage",{channel:j,text:q,...A?{thread_ts:A}:{}}),N=typeof _.ts==="string"?_.ts:null;if(!N)throw Error("Slack API chat.postMessage did not return a message timestamp.");return{teamId:Z,workspaceHost:G.workspaceHost,channelId:j,ts:N}},addReaction:async({channel:U,timestamp:q,name:A})=>{let j=await B(U);return await W("reactions.add",{channel:j,timestamp:q,name:A}),{teamId:Z,workspaceHost:G.workspaceHost,channelId:j}},close:async()=>{await X.close().catch(()=>{return}),await K.close().catch(()=>{return}),await Y.close().catch(()=>{return})}}}var _B={name:"check_slack_messages",description:"Read recent Slack messages from a channel or DM using the local Slack Desktop session on this machine.",category:"messaging",parameters:{type:"object",properties:{teamId:{type:"string",description:"Optional Slack team id to target when the local Slack Desktop app is signed into multiple workspaces."},channel:{type:"string",description:"Slack conversation id (C/G/D...) or channel name."},limit:{type:"number",description:"Maximum number of messages to return (default 20, max 100).",default:20},threadTs:{type:"string",description:"Optional thread timestamp. When provided, reads thread replies instead of the root channel history."}},required:["channel"]},riskLevel:"safe",isReadOnly:!0,loadingTier:"always",execute:async($)=>{let Q=$,Z=await X8({teamId:typeof Q.teamId==="string"?Q.teamId:void 0});try{let J=await Z.listMessages({channel:String(Q.channel??""),limit:typeof Q.limit==="number"?Q.limit:20,threadTs:typeof Q.threadTs==="string"?Q.threadTs:void 0});return{success:!0,message:`Fetched ${J.messages.length} Slack messages from ${J.channelId}.`,data:J}}catch(J){return{success:!1,message:J instanceof Error?J.message:"Slack read failed."}}finally{await Z.close()}}},NB={name:"send_slack_message",description:"Send a Slack message through the local Slack Desktop session on this machine. Requires confirmation because it posts externally.",category:"messaging",parameters:{type:"object",properties:{teamId:{type:"string",description:"Optional Slack team id to target when the local Slack Desktop app is signed into multiple workspaces."},channel:{type:"string",description:"Slack conversation id (C/G/D...) or channel name."},text:{type:"string",description:"Message text to send."},threadTs:{type:"string",description:"Optional thread timestamp to reply inside an existing thread."}},required:["channel","text"]},riskLevel:"dangerous",requiresConfirmation:!0,isReadOnly:!1,loadingTier:"always",execute:async($)=>{let Q=$,Z=await X8({teamId:typeof Q.teamId==="string"?Q.teamId:void 0});try{let J=await Z.sendMessage({channel:String(Q.channel??""),text:String(Q.text??""),threadTs:typeof Q.threadTs==="string"?Q.threadTs:void 0});return{success:!0,message:`Sent Slack message to ${J.channelId}.`,data:J}}catch(J){return{success:!1,message:J instanceof Error?J.message:"Slack send failed."}}finally{await Z.close()}}},OB={name:"react_slack_message",description:"Add an emoji reaction to a Slack message using the local Slack Desktop session on this machine. Requires confirmation because it modifies external state.",category:"messaging",parameters:{type:"object",properties:{teamId:{type:"string",description:"Optional Slack team id to target when the local Slack Desktop app is signed into multiple workspaces."},channel:{type:"string",description:"Slack conversation id (C/G/D...) or channel name."},timestamp:{type:"string",description:"Message timestamp to react to."},name:{type:"string",description:"Emoji name without colons (e.g., thumbsup, eyes, white_check_mark)."}},required:["channel","timestamp","name"]},riskLevel:"dangerous",requiresConfirmation:!0,isReadOnly:!1,loadingTier:"always",execute:async($)=>{let Q=$,Z=await X8({teamId:typeof Q.teamId==="string"?Q.teamId:void 0});try{let J=await Z.addReaction({channel:String(Q.channel??""),timestamp:String(Q.timestamp??""),name:String(Q.name??"")});return{success:!0,message:`Added :${Q.name}: reaction in ${J.channelId}.`,data:J}}catch(J){return{success:!1,message:J instanceof Error?J.message:"Slack reaction failed."}}finally{await Z.close()}}},V8=[_B,NB,OB];var UY=require("node:child_process"),BY=require("node:os"),HY=require("node:path"),LB=HY.join(BY.homedir(),".aria","tools","outlook.py");function G8($){return new Promise((Q,Z)=>{UY.execFile(LB,$,{timeout:30000},(J,Y,K)=>{if(J)Z(Error(K?.trim()||J.message));else Q(Y)})})}function GY($){try{return JSON.parse($)}catch{return{raw:$}}}function WY($){let Z=$.From?.EmailAddress,J=$.ToRecipients,Y=$.CcRecipients,K=$.Body,X=(V)=>{let G=V.EmailAddress;return{name:G?.Name??"",email:G?.Address??""}};return{id:$.Id??$.id??"",subject:$.Subject??$.subject??"",from:Z?{name:Z.Name??"",email:Z.Address??""}:{name:"",email:""},toRecipients:J?.map(X)??[],receivedDateTime:$.ReceivedDateTime??$.receivedDateTime??"",isRead:$.IsRead??$.isRead??!1,hasAttachments:$.HasAttachments??$.hasAttachments??!1,bodyPreview:$.BodyPreview??$.bodyPreview??"",conversationId:$.ConversationId??$.conversationId??"",...K?{body:{contentType:K.ContentType??K.contentType??"text",content:K.Content??K.content??""}}:{},...Y?{ccRecipients:Y.map(X)}:{},importance:$.Importance??$.importance??"normal"}}var MB={name:"check_outlook_messages",description:"Read or search Outlook emails using the local Microsoft Office desktop session on this machine. Can list inbox messages, filter by read status, search by keyword, or retrieve a specific message by ID.",category:"messaging",parameters:{type:"object",properties:{folder:{type:"string",description:'Mail folder to read from (default "inbox"). Common values: inbox, drafts, sentitems, deleteditems.',default:"inbox"},limit:{type:"number",description:"Maximum number of messages to return (default 20, max 50).",default:20},filter:{type:"string",description:`OData filter expression, e.g. "isRead eq false" or "from/emailAddress/address eq 'alice@example.com'".`},search:{type:"string",description:"KQL search query to find messages by keyword across subject, body, and participants."},messageId:{type:"string",description:"Optional message ID. When provided, returns the full message detail instead of a list."}},required:[]},riskLevel:"safe",isReadOnly:!0,loadingTier:"always",execute:async($)=>{let Q=$;try{if(typeof Q.messageId==="string"&&Q.messageId){let G=await G8(["read",Q.messageId]),W=WY(GY(G));return{success:!0,message:`Fetched Outlook message: ${W.subject}`,data:W}}let Z=["check"],J=typeof Q.folder==="string"?Q.folder:"inbox";if(Z.push("--folder",J),Z.push("--limit",String(typeof Q.limit==="number"?Q.limit:20)),typeof Q.filter==="string")Z.push("--filter",Q.filter);if(typeof Q.search==="string")Z.push("--search",Q.search);let Y=await G8(Z),K=GY(Y),V=(Array.isArray(K.value)?K.value:[]).filter((G)=>!!G&&typeof G==="object").map(WY);return{success:!0,message:`Fetched ${V.length} Outlook messages from ${J}.`,data:{accountEmail:"hole@axon.com",folder:J,messages:V,totalCount:V.length}}}catch(Z){return{success:!1,message:Z instanceof Error?Z.message:"Outlook read failed."}}}},CB={name:"send_outlook_message",description:"Send an email through the local Microsoft Office desktop session on this machine. Requires confirmation because it sends externally.",category:"messaging",parameters:{type:"object",properties:{to:{oneOf:[{type:"string"},{type:"array",items:{type:"string"}}],description:"Recipient email address(es)."},cc:{oneOf:[{type:"string"},{type:"array",items:{type:"string"}}],description:"CC email address(es)."},subject:{type:"string",description:"Email subject line."},body:{type:"string",description:"Email body content."},bodyType:{type:"string",enum:["text","html"],description:'Body content type (default "text").',default:"text"}},required:["to","subject","body"]},riskLevel:"dangerous",requiresConfirmation:!0,isReadOnly:!1,loadingTier:"always",execute:async($)=>{let Q=$;try{let Z=Array.isArray(Q.to)?Q.to:typeof Q.to==="string"?[Q.to]:[],J=["send","--to",Z.join(","),"--subject",String(Q.subject??""),"--body",String(Q.body??"")];if(Q.cc){let Y=Array.isArray(Q.cc)?Q.cc:[Q.cc];J.push("--cc",Y.join(","))}if(Q.bodyType==="html")J.push("--html");return await G8(J),{success:!0,message:`Sent email to ${Z.join(", ")}.`,data:{status:"sent"}}}catch(Z){return{success:!1,message:Z instanceof Error?Z.message:"Outlook send failed."}}}},bB={name:"reply_outlook_message",description:"Reply to an Outlook email thread using the local Microsoft Office desktop session on this machine. Requires confirmation because it sends externally.",category:"messaging",parameters:{type:"object",properties:{messageId:{type:"string",description:"The ID of the message to reply to."},body:{type:"string",description:"Reply body content."},bodyType:{type:"string",enum:["text","html"],description:'Body content type (default "text").',default:"text"},replyAll:{type:"boolean",description:"Whether to reply to all recipients (default false — reply to sender only).",default:!1}},required:["messageId","body"]},riskLevel:"dangerous",requiresConfirmation:!0,isReadOnly:!1,loadingTier:"always",execute:async($)=>{let Q=$;try{let Z=["reply",String(Q.messageId??""),"--body",String(Q.body??"")];if(Q.replyAll)Z.push("--reply-all");if(Q.bodyType==="html")Z.push("--html");return await G8(Z),{success:!0,message:"Replied to message.",data:{status:"sent"}}}catch(Z){return{success:!1,message:Z instanceof Error?Z.message:"Outlook reply failed."}}}},c6=[MB,CB,bB];var DY=require("node:child_process"),FY=require("node:os"),qY=require("node:path"),TB=qY.join(FY.homedir(),".aria","tools","quip.py");function P1($){return new Promise((Q,Z)=>{DY.execFile(TB,$,{timeout:30000},(J,Y,K)=>{if(J)Z(Error(K?.trim()||J.message));else Q(Y)})})}var IB={name:"check_quip_documents",description:"Read, search, or list Quip documents and comments using the local Quip session on this machine. Actions: 'recent' lists recent docs, 'search' finds docs by query, 'read' gets full document content, 'comments' lists comments on a document.",category:"messaging",parameters:{type:"object",properties:{action:{type:"string",enum:["recent","search","read","comments"],description:"What to do: 'recent' (list recent docs), 'search' (find docs), 'read' (get document content), 'comments' (list comments)."},query:{type:"string",description:"Search query (required for 'search' action)."},threadId:{type:"string",description:"Quip thread/document ID (required for 'read' and 'comments' actions)."},limit:{type:"number",description:"Maximum number of results to return (default 20, max 50).",default:20}},required:["action"]},riskLevel:"safe",isReadOnly:!0,loadingTier:"always",execute:async($)=>{let Q=$;try{let Z=String(Q.action??"recent"),J=String(typeof Q.limit==="number"?Q.limit:20);if(Z==="recent")return{success:!0,message:"Recent Quip documents.",data:{output:await P1(["recent",J])}};if(Z==="search"){let Y=String(Q.query??"");if(!Y)return{success:!1,message:"'search' requires a 'query' parameter."};let K=await P1(["search",Y,"--limit",J]);return{success:!0,message:`Search results for "${Y}".`,data:{output:K}}}if(Z==="read"){let Y=String(Q.threadId??"");if(!Y)return{success:!1,message:"'read' requires a 'threadId' parameter."};let K=await P1(["read",Y]);return{success:!0,message:`Read document ${Y}.`,data:{output:K}}}if(Z==="comments"){let Y=String(Q.threadId??"");if(!Y)return{success:!1,message:"'comments' requires a 'threadId' parameter."};let K=await P1(["comments",Y]);return{success:!0,message:`Comments on ${Y}.`,data:{output:K}}}return{success:!1,message:`Unknown action: ${Z}. Use recent, search, read, or comments.`}}catch(Z){return{success:!1,message:Z instanceof Error?Z.message:"Quip read failed."}}}},PB={name:"send_quip_comment",description:"Add a comment to a Quip document using the local Quip session on this machine. Requires confirmation because it posts externally.",category:"messaging",parameters:{type:"object",properties:{threadId:{type:"string",description:"Quip thread/document ID to comment on."},content:{type:"string",description:"Comment text to post."}},required:["threadId","content"]},riskLevel:"dangerous",requiresConfirmation:!0,isReadOnly:!1,loadingTier:"always",execute:async($)=>{let Q=$;try{return{success:!0,message:"Posted comment.",data:{output:await P1(["comment",String(Q.threadId??""),String(Q.content??"")])}}}catch(Z){return{success:!1,message:Z instanceof Error?Z.message:"Quip comment failed."}}}},RB={name:"create_quip_document",description:"Create a new Quip document using the local Quip session on this machine. Requires confirmation because it creates external content.",category:"messaging",parameters:{type:"object",properties:{title:{type:"string",description:"Document title."},content:{type:"string",description:"Document body content."},format:{type:"string",enum:["markdown","html"],description:"Content format (default 'markdown').",default:"markdown"},folderId:{type:"string",description:"Optional folder ID to place the document in."}},required:["title","content"]},riskLevel:"dangerous",requiresConfirmation:!0,isReadOnly:!1,loadingTier:"always",execute:async($)=>{let Q=$;try{let Z=["create","--title",String(Q.title??""),"--body",String(Q.content??"")];if(Q.format)Z.push("--format",Q.format);if(Q.folderId)Z.push("--folder",Q.folderId);return{success:!0,message:"Created document.",data:{output:await P1(Z)}}}catch(Z){return{success:!1,message:Z instanceof Error?Z.message:"Quip create failed."}}}},W8=[IB,PB,RB];var R1=require("zod");var wB=$0({name:"manage_network",description:"Manage ARIA's secure WireGuard mesh network. Invite peers to the network, revoke access, list connected Arions, or check network status. "+"The network auto-creates on first run — no user configuration needed.",parameters:R1.z.object({action:R1.z.enum(["invite","revoke","list_peers","status"]).describe("Network management action"),displayName:R1.z.string().optional().describe("Optional local label for the invite"),nodeId:R.optional().describe("Durable remote node id (required for revoke)"),duration:R1.z.number().optional().describe("Invite token validity in ms (default: no expiry)")}),category:"arion",riskLevel:"moderate",isReadOnly:!1,execute:async($,Q)=>{let Z=Q.networkControl;if(!Z)return{success:!1,message:"Network manager not available. Secure networking requires the @aria-cli/wireguard package."};switch($.action){case"invite":try{let J=Z.invite($.displayName,$.duration),Y=$.displayName?.trim();return{success:!0,message:`${Y?`Invite token for "${Y}":
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
${Y}`,data:{peers:J}}}case"status":{let J=Z.status(),Y=J.signingPublicKey??null;return{success:!0,message:J.configured?`Network active. Node: ${J.nodeId?.slice(0,12)??"unknown"}... Transport: ${J.transportPublicKey?.slice(0,12)??"unknown"}... Port: ${J.listenPort}. External: ${J.externalEndpoint?`${J.externalEndpoint.address}:${J.externalEndpoint.port}`:"unknown"}. Peers: ${J.activePeers} trusted / ${J.totalPeers} total. Sessions: ${J.connectedPeers??0} connected, ${J.handshakingPeers??0} handshaking. Delivery: ${J.queueOnlyPeers??0} queue-only, ${J.supersededPeers??0} superseded.`+(Y?` Signing key: ${Y.slice(0,12)}...`:""):"Network not configured. It will be created automatically on next startup.",data:{...J,signingPublicKey:Y}}}default:return{success:!1,message:`Unknown action: ${$.action}`}}}}),yB=$0({name:"list_clients",description:"List same-home attached clients that share this runtime. Use this before sending a direct local message to another attached terminal by exact clientId.",parameters:R1.z.object({}),category:"arion",riskLevel:"safe",isReadOnly:!0,execute:async($,Q)=>{let J=Q.networkControl?.listAttachedClients;if(!J)return{success:!1,message:"Same-home client directory is not available for this runtime."};let Y=await Promise.resolve(J()),K=Y.find((V)=>V.self)??null,X=Y.filter((V)=>!V.self);if(Y.length===0)return{success:!0,message:"No same-home attached clients are currently available.",data:{clients:[],otherClients:[],selfClient:null}};return{success:!0,message:X.length>0?`${X.length} other same-home client(s) available`:"No other same-home attached clients are currently available.",data:{clients:Y,otherClients:X,selfClient:K}}}}),U8=[wB,yB];var EB={name:"deploy",description:"Deploy ARIA to a remote machine via SSH. Detects OS, installs Node.js + pnpm, clones/syncs repo, builds, discovers/provisions TLS certs, opens firewall ports, configures ~/.aria, and starts the daemon. Returns host, port, fingerprint, and TLS type.",category:"arion",parameters:{type:"object",properties:{target:{type:"string",description:"SSH target (e.g. 'claude@10.0.0.1' or 'hostname')"},repo_url:{type:"string",description:"Git repo URL (default: current repo origin)"},branch:{type:"string",description:"Branch to deploy (default: main)"},arion_name:{type:"string",description:"Arion identity name (default: hostname of target)"},coordination_url:{type:"string",description:"Coordination server URL for mesh registration"},ssh_key_path:{type:"string",description:"Path to SSH private key (default: ~/.ssh/id_ed25519)"},commit_hash:{type:"string",description:"Git commit hash to checkout after clone (pins exact code version, prevents MITM on branch refs)"},verify_signatures:{type:"boolean",description:"Verify GPG signature on HEAD commit after checkout. Fails deploy if signature is invalid or missing."}},required:["target"]},riskLevel:"dangerous",requiresConfirmation:!0,isReadOnly:!1,loadingTier:"always",execute:L6},l6=[EB];var SB={name:"ask_user",description:"Ask the user clarifying questions. Supports optional multiple-choice answers. Use when you need user input to proceed.",category:"meta",parameters:{type:"object",properties:{questions:{type:"array",description:"List of questions to ask the user",items:{type:"object",properties:{question:{type:"string",description:"The question to ask"},options:{type:"array",items:{type:"string"},description:"Optional multiple-choice answers"}},required:["question"]}}},required:["questions"]},riskLevel:"moderate",isReadOnly:!1,loadingTier:"always",execute:Y3},kB={name:"quest_update",description:"Create, update, or complete quests (task tracking). Quests persist in a structured database across sessions.",category:"meta",parameters:{type:"object",properties:{quests:{type:"array",description:"List of quests to create or update",items:{type:"object",properties:{id:{type:"string",description:"Quest ID (omit to create a new quest)"},title:{type:"string",description:"Quest title"},status:{type:"string",enum:["open","active","blocked","done"],description:"Quest status: open (ready), active (in progress), blocked, done"},priority:{type:"number",description:"Priority 0-4 (0 = highest, default 2)",minimum:0,maximum:4},blocked_by:{type:"string",description:"ID of quest blocking this one"},notes:{type:"string",description:"Progress notes or context"}},required:[]}}},required:["quests"]},riskLevel:"moderate",isReadOnly:!1,loadingTier:"always",execute:K3},vB={name:"quest_list",description:"List current quests with their status, priority, and dependencies.",category:"meta",parameters:{type:"object",properties:{status:{type:"string",enum:["all","open","active","blocked","done"],description:"Filter by status (default: all)",default:"all"}},required:[]},riskLevel:"safe",isReadOnly:!0,loadingTier:"always",execute:X3},fB={name:"search",description:"Search for tools, skills, and capabilities across Memoria, local skill files, skill registries, and optional web/package sources.",category:"meta",parameters:{type:"object",properties:{query:{type:"string",description:"What to find — tool name, skill name, or capability description"},sources:{type:"array",items:{type:"string",enum:["memoria","local","registry","web"]},default:["memoria","local","registry"],description:"Where to search. memoria=learned tools/skills, local=SKILL.md files, registry=skills.sh+clawhub, web=npm/brew+general"},limit:{type:"number",minimum:1,maximum:50,default:10}},required:["query"]},riskLevel:"safe",isReadOnly:!0,loadingTier:"always",execute:y2},gB={name:"learn_tool",description:"Learn a CLI tool from `<command> --help` and persist it as callable tool knowledge. (Deprecated — use learn instead)",category:"meta",parameters:{type:"object",properties:{command:{type:"string",description:"CLI command name (supports subcommands)"},name:{type:"string"},description:{type:"string"},category:{type:"string",enum:["filesystem","code","shell","web","data","memory","meta","arion"]}},required:["command"]},riskLevel:"moderate",isReadOnly:!1,loadingTier:"always",execute:($,Q)=>H$({source:{type:"cli",command:String($.command??"")}},Q)},xB={name:"learn_skill",description:"Learn a skill from a SKILL.md file or inline content and persist it in Memoria. (Deprecated — use learn instead)",category:"meta",parameters:{type:"object",properties:{path:{type:"string",description:"Path to SKILL.md (optional if using inline content)"},name:{type:"string"},description:{type:"string"},content:{type:"string"},tags:{type:"array",items:{type:"string"}},toolIds:{type:"array",items:{type:"string"}}},required:[]},riskLevel:"moderate",isReadOnly:!1,loadingTier:"always",execute:($,Q)=>H$({source:{type:"file",path:String($.path??"")}},Q)},hB={name:"learn",description:"Backward-compatible learning tool. Delegates to learn_tool (CLI) or learn_skill (file).",category:"meta",parameters:{type:"object",properties:{source:{type:"object",properties:{type:{type:"string",enum:["cli","file"]},command:{type:"string"},path:{type:"string"}},required:["type"]}},required:["source"]},riskLevel:"moderate",isReadOnly:!1,loadingTier:"always",execute:H$},mB={name:"create_tool",description:"Create a reusable script-backed tool and save it to Memoria for future discovery/use.",category:"meta",parameters:{type:"object",properties:{name:{type:"string"},description:{type:"string"},command:{type:"string",description:"Shell command to wrap (optional if script provided)"},script:{type:"string",description:"Script body to write (optional if command provided)"},argsSchema:{type:"object",additionalProperties:!0},tags:{type:"array",items:{type:"string"}}},required:["name","description"]},riskLevel:"dangerous",isReadOnly:!1,loadingTier:"always",execute:U3},dB={name:"create_skill",description:"Create a reusable skill/procedure and optionally link it to the current arion profile.",category:"meta",parameters:{type:"object",properties:{name:{type:"string"},description:{type:"string"},content:{type:"string"},level:{type:"string",enum:["beginner","intermediate","advanced","expert"]},tags:{type:"array",items:{type:"string"}},toolIds:{type:"array",items:{type:"string"}}},required:["name","description","content"]},riskLevel:"moderate",isReadOnly:!1,loadingTier:"always",execute:B3},cB={name:"use_skill",description:"Retrieve a learned skill by name/id and record its execution metrics.",category:"meta",parameters:{type:"object",properties:{name:{type:"string"},skillId:{type:"string"},success:{type:"boolean",default:!0},durationMs:{type:"number"},notes:{type:"string"}},required:[]},riskLevel:"safe",isReadOnly:!1,loadingTier:"always",execute:H3},lB={name:"restart",description:"Restart ARIA through the RelaunchSupervisor. Use when you need to pick up code changes after a build, recover from a corrupted state, or when explicitly asked to restart. Fails closed when no supervisor is attached.",category:"meta",parameters:{type:"object",properties:{reason:{type:"string",description:"Why the restart is needed (logged for diagnostics)"}}},riskLevel:"dangerous",requiresConfirmation:!0,loadingTier:"always",execute:O6},uB={name:"self_diagnose",description:"Gather comprehensive diagnostic context for debugging ARIA's own errors, crashes, and runtime issues. Returns structured data from configs, error logs, crash dumps, databases, active quests, sessions, network, and model state — all in one call. Use this as the first step when investigating any ARIA bug or unexpected behavior.",category:"meta",parameters:{type:"object",properties:{focus:{type:"string",description:"Optional keyword to filter errors/crashes (e.g. 'quest_update', 'OOM', 'crash')"},sections:{type:"array",items:{type:"string",enum:["runtime","errors","crashes","databases","daemon","network"]},description:"Optional subset of sections to return (default: all 6)"},since:{type:"string",description:"ISO timestamp cutoff — only show events after this (default: last 1h)"},limit:{type:"number",description:"Max entries per section (default: 10)",default:10}}},riskLevel:"safe",isReadOnly:!0,loadingTier:"always",execute:_6},B8=[SB,kB,vB,fB,hB,gB,xB,mB,dB,cB,lB,uB];cQ();var pB={name:"session_history",description:"List, search, and manage conversation session history. Actions: 'list' shows recent sessions, 'search' finds sessions by message content (full-text search), 'get' retrieves a full session transcript, 'current' shows current session info, 'stats' shows session statistics, 'delete' removes a session, 'set_title' renames a session.",category:"memory",parameters:{type:"object",properties:{action:{type:"string",enum:["list","search","get","current","stats","delete","set_title"],description:"Action to perform"},query:{type:"string",description:"Search query (required for 'search' action)"},sessionId:{type:"string",description:"Session ID or prefix — 8+ chars for prefix match, full UUID for exact match (required for 'get', 'delete', 'set_title')"},title:{type:"string",description:"New title (required for 'set_title' action)"},limit:{type:"number",description:"Maximum number of results to return (default 20)",default:20},offset:{type:"number",description:"Pagination offset (default 0)",default:0},messageLimit:{type:"number",description:"Maximum messages to return per session for 'get' action (default 50)",default:50}},required:["action"]},riskLevel:"moderate",isReadOnly:!1,loadingTier:"deferred",skipApprovalForInput:($)=>{return $?.action!=="delete"},execute:($,Q)=>{return j1($,Q)}},H8=[pB];var d=require("zod");var oB=$0({name:"frg",description:"Native fastripgrep tool via napi-rs. Wraps the original frg commands in one tool: init, index, search, update, status, replace, man, completions, watch, and upgrade-safe metadata.",category:"code",riskLevel:"safe",isReadOnly:!1,loadingTier:"always",parameters:d.z.object({command:d.z.enum(["init","index","search","update","status","replace","man","completions","watch","upgrade"]).describe("Original frg command to run"),pattern:d.z.string().optional().describe("Regex pattern for search/replace"),replacement:d.z.string().optional().describe("Replacement string for replace"),path:d.z.string().optional().describe("Repository or directory to operate on (defaults to current working directory)"),noIndex:d.z.boolean().optional().describe("Skip the index and do a brute-force scan for search"),literal:d.z.boolean().optional().describe("Treat pattern as a fixed string"),caseInsensitive:d.z.boolean().optional().describe("Enable case-insensitive matching"),smartCase:d.z.boolean().optional().describe("Use smart-case matching"),filesOnly:d.z.boolean().optional().describe("Return only file paths with matches"),count:d.z.boolean().optional().describe("Return match counts per file"),maxCount:d.z.number().optional().describe("Maximum matches per file"),quiet:d.z.boolean().optional().describe("Only report whether a match exists"),context:d.z.number().optional().describe("Context lines for search matches"),json:d.z.boolean().optional().describe("Compatibility flag matching upstream JSON mode"),glob:d.z.string().optional().describe("Glob filter for candidate files"),fileType:d.z.string().optional().describe("File extension/type filter"),follow:d.z.boolean().optional().describe("Follow symbolic links"),extraPatterns:d.z.array(d.z.string()).optional().describe("Additional regex patterns combined with OR"),maxFilesize:d.z.number().optional().describe("Maximum file size in bytes while indexing/updating/init"),force:d.z.boolean().optional().describe("Compatibility flag for forced rebuilds"),write:d.z.boolean().optional().describe("Actually apply replace changes instead of previewing"),hook:d.z.boolean().optional().describe("Install a post-commit git hook when using init"),shell:d.z.enum(["bash","elvish","fish","powershell","zsh"]).optional().describe("Shell target when using completions")}),execute:hQ}),D8=[oB];var aB={name:"rg",description:"Fast text/regex search (ripgrep). SIMD-accelerated, .gitignore-aware. Returns structured JSON matches with file, line, and text. Use for finding strings, patterns, identifiers. Fastest grep available.",category:"code",parameters:{type:"object",properties:{pattern:{type:"string",description:"Search pattern (regex by default)"},path:{type:"string",description:"File or directory to search (default: working dir)"},ignore_case:{type:"boolean",description:"Case-insensitive search (-i)"},smart_case:{type:"boolean",description:"Case-insensitive unless pattern has uppercase (-S)"},fixed_strings:{type:"boolean",description:"Treat pattern as literal string, not regex (-F)"},word_regexp:{type:"boolean",description:"Match whole words only (-w)"},file_type:{type:"string",description:"File type filter: ts, py, rs, go, java, etc. (-t TYPE)"},glob:{type:"string",description:"Glob filter, prefix ! to exclude (-g GLOB)"},context:{type:"number",description:"Context lines around matches (-C NUM)"},max_count:{type:"number",description:"Max matches per file (-m NUM)",default:100},invert:{type:"boolean",description:"Show lines NOT matching (-v)"},files_only:{type:"boolean",description:"Only print file names with matches (-l)"},count:{type:"boolean",description:"Only print match count per file (-c)"},extra_args:{type:"array",items:{type:"string"},description:"Additional rg flags: ['--pcre2','-U','--max-depth=3','--hidden','--no-ignore','--type-not=test']"}},required:["pattern"]},riskLevel:"safe",isReadOnly:!0,loadingTier:"always",execute:T6},rB={name:"ug",description:"Text search with fuzzy matching, boolean queries, and archive search (ugrep). Superset of ripgrep features. Use fuzzy for approximate matching (typos), bool for AND/OR/NOT queries, decompress for searching inside zip/tar/gz.",category:"code",parameters:{type:"object",properties:{pattern:{type:"string",description:"Search pattern (regex by default)"},path:{type:"string",description:"File or directory to search (default: working dir)"},ignore_case:{type:"boolean",description:"Case-insensitive (-i)"},smart_case:{type:"boolean",description:"Smart case: insensitive unless uppercase present (-j)"},fixed_strings:{type:"boolean",description:"Literal string matching (-F)"},word_regexp:{type:"boolean",description:"Match whole words only (-w)"},file_type:{type:"string",description:"File type filter (-t TYPE)"},glob:{type:"string",description:"Glob filter (-g GLOB)"},context:{type:"number",description:"Context lines around matches (-C NUM)"},max_count:{type:"number",description:"Max matches per file (-m NUM)",default:100},fuzzy:{oneOf:[{type:"boolean"},{type:"number"}],description:"Fuzzy matching (-Z). true=default distance, number=max Levenshtein distance"},bool:{type:"boolean",description:"Boolean query mode (-%%). Pattern uses AND/OR/NOT: 'auth AND NOT test'"},neg_pattern:{type:"string",description:"Negative pattern — reject matching lines (-N PATTERN)"},files_only:{type:"boolean",description:"Only print file names (-l)"},count:{type:"boolean",description:"Only print match count per file (-c)"},decompress:{type:"boolean",description:"Search inside compressed files and archives (-z)"},extra_args:{type:"array",items:{type:"string"},description:"Additional ug flags: ['--depth=3','-O=ts,js','--min-size=1K','--format=%f:%n:%o']"}},required:["pattern"]},riskLevel:"safe",isReadOnly:!0,loadingTier:"always",execute:I6},nB={name:"probe",description:"Ranked semantic code search with token budgeting (Probe). Returns complete functions/classes, not line fragments. 4 commands: search (ES-style boolean queries with BM25 ranking), extract (get code by file:line or file#symbol), symbols (list symbols in file), query (AST pattern matching). Use max_tokens for LLM context budgeting, session for pagination.",category:"code",parameters:{type:"object",properties:{command:{type:"string",enum:["search","extract","symbols","query"],default:"search",description:"search=semantic search, extract=get code by line/symbol, symbols=list symbols, query=AST pattern"},query:{type:"string",description:"Search query (ES syntax: AND/OR/NOT, ext:rs, file:path, dir:tests) or AST pattern for query command"},path:{type:"string",description:"Directory to search (default: working dir)"},exact:{type:"boolean",description:"Exact match (true) vs stemmed search (false). 'getUserData' exact vs 'get','user','data'"},max_tokens:{type:"number",description:"Token budget — limit total output tokens for LLM context"},max_results:{type:"number",description:"Maximum number of results"},session:{type:"string",description:"Session ID for pagination. Reuse to get next page (dedup previous results)"},language:{type:"string",description:"Language filter: rust, typescript, python, go, java, etc."},reranker:{type:"string",description:"Ranking algorithm: bm25 (default), tfidf, hybrid, hybrid2"},allow_tests:{type:"boolean",description:"Include test files in results"},files:{type:"array",items:{type:"string"},description:"File specs for extract and symbols commands: ['src/auth.ts:42', 'src/auth.ts#handleAuth', 'src/auth.ts:10-50']"},extra_args:{type:"array",items:{type:"string"},description:"Additional probe flags: ['--files-only','--no-merge','--lsp','--timeout=60']"}},required:[]},riskLevel:"safe",isReadOnly:!0,loadingTier:"always",execute:P6},iB={name:"sg",description:"AST structural pattern matching and rewriting (ast-grep). Patterns look like real code. $NAME matches single node, $$$ARGS matches variadic, $_ is wildcard. Examples: 'console.log($MSG)', 'async function $NAME($$$PARAMS) { $$$BODY }'. Set rewrite for search-and-replace refactoring. Use command='scan' with inline_rules for YAML rules.",category:"code",parameters:{type:"object",properties:{command:{type:"string",enum:["run","scan"],default:"run",description:"run=pattern match/rewrite, scan=rule-based scanning"},pattern:{type:"string",description:"AST pattern. $NAME=single node, $$$ARGS=variadic, $_=wildcard. Examples: 'console.log($MSG)', 'async function $NAME($$$PARAMS) { $$$BODY }'"},language:{type:"string",description:"Language: typescript, python, rust, go, java, javascript, c, cpp, ruby, php, swift, kotlin"},rewrite:{type:"string",description:"Replacement pattern with same metavariables. Example: pattern='console.log($MSG)' rewrite='logger.info($MSG)'"},strictness:{type:"string",enum:["cst","smart","ast","relaxed","signature"],description:"Matching strictness. smart=default, ast=ignore punctuation, relaxed=ignore comments"},globs:{type:"string",description:"File glob filter, prefix ! to exclude"},rule:{type:"string",description:"Path to a YAML rule file (for scan)"},inline_rules:{type:"string",description:"Inline YAML rule text (for scan). Example: 'id: no-console\\nlanguage: TypeScript\\nrule:\\n pattern: console.log($$$)'"},path:{type:"string",description:"Directory to search (default: working dir)"},update_all:{type:"boolean",description:"Apply all rewrites without confirmation (-U)"},context:{type:"number",description:"Context lines around matches (-C NUM)"},extra_args:{type:"array",items:{type:"string"},description:"Additional sg flags: ['--selector=function_declaration','--threads=4','--no-ignore=hidden']"}},required:[]},riskLevel:"safe",isReadOnly:!0,loadingTier:"always",execute:R6},sB={name:"cbm",description:"Code knowledge graph (codebase-memory-mcp). Index codebases, search symbols, trace call chains, analyze blast radius. Run action='index' once per project. Then: search (symbols by name/type/file), trace (who calls this? what does it call?), impact (what breaks if I change this?), "+"context (360° view: definition + callers + callees in one call), architecture (project overview), "+"snippet (read source by qualified name), code_search (graph-augmented grep), cypher (raw Cypher query).",category:"code",parameters:{type:"object",properties:{action:{type:"string",enum:["index","search","trace","impact","context","snippet","code_search","architecture","schema","cypher","list_projects","delete_project","status"],description:"Action to perform"},path:{type:"string",description:"Repository path to index"},mode:{type:"string",enum:["full","fast"],description:"full=with git history, fast=skip git"},name:{type:"string",description:"Symbol name or regex pattern"},label:{type:"string",description:"Node type: Function, Class, Method, Interface, Enum, Type, Module, File, Route, Package"},file:{type:"string",description:"File path filter"},direction:{type:"string",enum:["inbound","outbound","both"],default:"both",description:"inbound=callers, outbound=callees"},depth:{type:"number",description:"Traversal depth (1-5)",default:3},edge_types:{type:"array",items:{type:"string"},description:"Filter edges: CALLS, IMPORTS, INHERITS, IMPLEMENTS, USES_TYPE, TESTS, HTTP_CALLS"},scope:{type:"string",description:"Git diff scope: 'staged', 'HEAD~1', branch name"},base_branch:{type:"string",description:"Git branch for comparison",default:"main"},qualified_name:{type:"string",description:"Full qualified name from search results (for snippet)"},include_neighbors:{type:"boolean",description:"Include caller/callee names (for snippet)"},code_pattern:{type:"string",description:"Text search pattern (for code_search)"},regex:{type:"boolean",description:"Use regex for code_search"},code_mode:{type:"string",enum:["compact","full","files"],description:"Output mode for code_search"},query:{type:"string",description:"Cypher query string (for cypher action)"},max_rows:{type:"number",description:"Max rows for cypher query"},project:{type:"string",description:"Project name (auto-detected if one project indexed)"},limit:{type:"number",description:"Max results",default:20},context:{type:"number",description:"Context lines for code_search"}},required:["action"]},riskLevel:"safe",isReadOnly:!0,loadingTier:"always",execute:w6},tB={name:"lsp",description:"Compiler-accurate code intelligence via native LSP (Language Server Protocol). "+"Spawns real language servers directly — same as VS Code and Claude Code. "+"No Serena, no MCP, no HTTP. Supports: TypeScript, Python, Go, Rust, C/C++, Swift, Java, Kotlin, Lua, PHP, Ruby, C#. Actions: definition (go-to-definition), references (find all references), hover (type info + docs), symbols (document symbol list), rename (safe cross-file rename). Line and character are 0-based. Server starts on first use and stays warm.",category:"code",parameters:{type:"object",properties:{action:{type:"string",enum:["definition","references","hover","symbols","rename"],description:"definition=go to definition, references=find all references, hover=type info and docs, symbols=list all symbols in file, rename=rename symbol across codebase"},file:{type:"string",description:"File path (relative or absolute). Language server auto-detected from extension."},line:{type:"number",description:"0-based line number (for definition, references, hover, rename)"},character:{type:"number",description:"0-based column/character offset (for definition, references, hover, rename)"},new_name:{type:"string",description:"New symbol name (for rename action only)"}},required:["action","file"]},riskLevel:"safe",isReadOnly:!0,loadingTier:"always",execute:y6},eB={name:"serena",description:"Compiler-accurate LSP symbol navigation and editing via Serena HTTP project server. Use for symbol-level operations by name path (not line/column). Actions: find_symbol, find_references, overview, replace_body, insert_after, insert_before, rename, search. Requires: uvx --from 'git+https://github.com/oraios/serena' serena start-project-server --port 9750",category:"code",parameters:{type:"object",properties:{action:{type:"string",enum:["find_symbol","find_references","overview","replace_body","insert_after","insert_before","rename","search"],description:"Serena action"},name_path:{type:"string",description:"Symbol name path: 'handleAuth', 'MyClass/myMethod', '/TopLevel/Nested'"},relative_path:{type:"string",description:"Restrict to file or directory"},include_body:{type:"boolean",description:"Include source code of the symbol"},include_info:{type:"boolean",description:"Include hover info (docstring, signature)"},depth:{type:"number",description:"Descendants depth (1=immediate children)"},body:{type:"string",description:"New code content (for replace_body/insert)"},new_name:{type:"string",description:"New symbol name (for rename)"},pattern:{type:"string",description:"Regex pattern (for search action)"},context_before:{type:"number",description:"Context lines before match"},context_after:{type:"number",description:"Context lines after match"},paths_include:{type:"string",description:"Glob to include files"},paths_exclude:{type:"string",description:"Glob to exclude files"},extra_args:{type:"object",description:"Additional Serena API params"}},required:["action"]},riskLevel:"safe",isReadOnly:!0,loadingTier:"always",execute:E6},$H={name:"fff",description:"Frecency-aware fuzzy file finder and grep (fff). Files you access often rank higher. 3 actions: grep (search file contents), find_files (fuzzy file search by topic), multi_grep (OR-search across multiple patterns). Use constraints for filtering: '*.rs' (type), 'src/' (dir), 'schema.rs' (file), '!test/' (exclude).",category:"code",parameters:{type:"object",properties:{action:{type:"string",enum:["grep","find_files","multi_grep"],description:"grep=search contents, find_files=fuzzy file search, multi_grep=OR-search multiple patterns"},query:{type:"string",description:"Search text or topic description"},patterns:{type:"array",items:{type:"string"},description:"Multiple patterns for OR-search (multi_grep only)"},constraints:{type:"string",description:"Inline constraints: '*.rs' (type), 'src/' (dir), 'schema.rs' (file), '!test/' (exclude)"},path:{type:"string",description:"Directory to search (default: working dir)"}},required:["action"]},riskLevel:"safe",isReadOnly:!0,loadingTier:"always",execute:S6},F8=[aB,rB,nB,iB,sB,tB,eB,$H];Y0();var jY=E(require("node:path")),q$=require("@aria-cli/search");async function AY($,Q){let Z=$,J=jY.resolve(Q.workingDir,Z.directory||".");try{let Y=q$.indexStatus(J);if(Y.state==="none")q$.buildIndex(J),d9(J);else if(Y.state==="stale"){try{q$.syncIndex(J)}catch{q$.buildIndex(J)}d9(J)}_Z(J);let K=NZ(J),X=q$.search({pattern:Z.pattern,directory:J,maxResults:Z.maxResults??1000,fileGlob:Z.fileGlob,fileType:Z.fileType,caseSensitive:Z.caseSensitive??!0,literal:Z.literal??!1,context:Z.context??0,sessionWrites:K.sessionWrites,sessionDeletes:K.sessionDeletes}),V=X.length>=(Z.maxResults??1000);return O(`Found ${X.length} matches for "${Z.pattern}"${V?" (truncated)":""}`,{matches:X,truncated:V})}catch(Y){let K=Y instanceof Error?Y.message:String(Y);return H(`Search failed: ${K}`)}}var QH={name:"grep",description:"Search for patterns in files using regular expressions. Indexed for sub-millisecond speed. Builds index automatically on first use. Supports regex, literal strings, file type filters, and glob patterns.",category:"filesystem",parameters:{type:"object",properties:{pattern:{type:"string",description:"Regex pattern to search for. Use literal: true for exact string matching."},directory:{type:"string",description:"Directory to search in (default: current working directory)",default:"."},fileGlob:{type:"string",description:"Glob pattern to filter files (e.g. '*.ts', 'src/**/*.rs')"},fileType:{type:"string",description:"File extension filter (e.g. 'ts', 'rs', 'py'). Simpler than glob for single types."},caseSensitive:{type:"boolean",description:"Case-sensitive matching (default: true)",default:!0},literal:{type:"boolean",description:"Treat pattern as a literal string, not regex (default: false)",default:!1},maxResults:{type:"number",description:"Maximum number of matches to return (default: 1000)",default:1000},context:{type:"number",description:"Number of context lines before and after each match (default: 0)",default:0}},required:["pattern"]},riskLevel:"safe",isReadOnly:!0,loadingTier:"always",execute:AY},q8=[QH];var _Y=500,NY=500,OY=200;function zY($){switch($){case"error":return 3;case"warning":return 2;case"info":case"log":return 1;case"debug":return 0;default:return 1}}function LY($,Q){if(!Q)return[...$];let Z=zY(Q);return $.filter((J)=>zY(J.type)>=Z)}function MY($,Q){let Z=typeof Q==="string"?Q.trim():"";if(!Z)return[...$];return $.filter((J)=>J.url.includes(Z))}function CY($){if(!$.length)return"No console messages captured.";return $.map((Q)=>`[${Q.type.toUpperCase()}] ${Q.text}`).join(`
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
})
|
|
362
|
-
]);
|
|
363
|
-
}
|
|
364
|
-
return result;
|
|
365
|
-
} catch (err) {
|
|
366
|
-
throw new Error("Invalid evaluate function: " + (err && err.message ? err.message : String(err)));
|
|
367
|
-
}
|
|
368
|
-
})()
|
|
369
|
-
`;return await $.page.evaluate(J)}async function pY($){return $.page.screenshot({type:"png",fullPage:Boolean($.fullPage)})}async function oY($){let Q=Math.max(100,Math.min(5000,$.amount??500)),Z=$.direction==="up"?-Q:Q;await $.page.mouse.wheel(0,Z),await $.page.waitForTimeout(300)}async function aY($){let Q=Q2($.timeout,1e4);if($.text){await $.page.locator(`text=${$.text}`).first().waitFor({state:"visible",timeout:Q});return}if($.selector){await $.page.locator($.selector).first().waitFor({state:"visible",timeout:Q});return}await $.page.waitForLoadState("networkidle",{timeout:Q})}async function rY($){if(!$.paths?.length)throw Error("paths are required");let Q=$2($.ref),Z=x2($.page,Q,$.refs);try{await Z.setInputFiles($.paths)}catch(J){throw g2(J,Q)}}async function nY($){return{cookies:await $.cookies()}}async function iY($,Q){if(!Q.length)throw Error("cookies are required");for(let Z of Q){if(!Z.name||Z.value===void 0)throw Error("cookie name and value are required");if(!Z.domain)throw Error("cookie domain is required")}await $.addCookies(Q.map((Z)=>({name:Z.name,value:Z.value,domain:Z.domain,path:Z.path??"/"})))}async function sY($){await $.clearCookies()}var qH={type:"object",properties:{action:{type:"string",enum:["launch","close","navigate","snapshot","click","type","hover","drag","select_option","press_key","scroll","evaluate","screenshot","get_console","get_network","wait","tab_list","tab_new","tab_select","tab_close","cookies_get","cookies_set","cookies_clear","upload"],description:"The browser action to perform. 'launch' is optional; actions auto-start a session when needed. Use 'snapshot' to read page content, refs like [e1] with 'click'/'type'."},url:{type:"string",description:"URL to navigate to (for launch/navigate/tab_new)"},headless:{type:"boolean",description:"Run browser without visible window (default: true)"},interactive:{type:"boolean",description:"Only show interactive elements in snapshot (buttons, links, inputs)"},ref:{type:"string",description:"Element ref from snapshot (e.g. 'e1', 'e5')"},text:{type:"string",description:"Text to type (for 'type' action)"},submit:{type:"boolean",description:"Press Enter after typing (for 'type' action)"},slowly:{type:"boolean",description:"Type character by character instead of filling (for 'type' action)"},button:{type:"string",enum:["left","right","middle"],description:"Mouse button (for 'click' action)"},modifiers:{type:"array",items:{type:"string"},description:"Keyboard modifiers (for 'click': Alt, Control, Meta, Shift)"},doubleClick:{type:"boolean",description:"Double-click instead of single click"},startRef:{type:"string",description:"Source element ref (for 'drag' action)"},endRef:{type:"string",description:"Target element ref (for 'drag' action)"},values:{type:"array",items:{type:"string"},description:"Values to select (for 'select_option' action)"},key:{type:"string",description:"Key to press (for 'press_key': Enter, Tab, Escape, ArrowDown, etc.)"},direction:{type:"string",enum:["up","down"],description:"Scroll direction"},amount:{type:"number",description:"Scroll amount in pixels (default: 500)"},script:{type:"string",description:"JavaScript to evaluate in browser context (for 'evaluate' action)"},level:{type:"string",description:"Minimum console level filter (debug/info/warning/error)"},filter:{type:"string",description:"URL substring filter for network requests"},selector:{type:"string",description:"CSS selector to wait for (for 'wait' action)"},timeout:{type:"number",description:"Timeout in milliseconds (for 'wait' action)"},index:{type:"number",description:"Tab index (for 'tab_select'/'tab_close')"},cookies:{type:"array",items:{type:"object",properties:{name:{type:"string"},value:{type:"string"},domain:{type:"string"},path:{type:"string"}},required:["name","value","domain"]},description:"Cookies to set (for 'cookies_set' action)"},paths:{type:"array",items:{type:"string"},description:"File paths to upload (for 'upload' action)"}},required:["action"]};function a($,Q){return{success:!0,message:$,data:Q}}function tY($){return{success:!1,message:$}}async function X0(){let $=IY();if($)return $;return N3()}async function jH($){let Q=$;try{switch(Q.action){case"launch":{let J=(await N3({headless:Q.headless,url:Q.url})).page.url();return a(`Browser launched.${Q.url?` Navigated to ${J}`:""}
|
|
370
|
-
Use 'snapshot' to see page content.`,{url:J})}case"close":return await wY(),a("Browser closed.");case"navigate":{let Z=await X0(),J=await gY(Z.page,Q.url);return p6({}),a(`Navigated to ${J.url}. Use 'snapshot' to see page content.`,J)}case"snapshot":{let Z=await X0(),J=await fY(Z.page,{interactive:Q.interactive});p6(J.refs);let Y=`Page: ${J.title}
|
|
371
|
-
URL: ${J.url}
|
|
372
|
-
Elements: ${J.stats.refs} total, ${J.stats.interactive} interactive
|
|
373
|
-
|
|
374
|
-
`;return a(Y+J.snapshot,{url:J.url,title:J.title,stats:J.stats})}case"click":{let Z=await X0();return await xY({page:Z.page,refs:f2(),ref:Q.ref,doubleClick:Q.doubleClick,button:Q.button,modifiers:Q.modifiers}),a(`Clicked ${Q.ref}. Use 'snapshot' to see updated page.`)}case"type":{let Z=await X0();return await dY({page:Z.page,refs:f2(),ref:Q.ref,text:Q.text,submit:Q.submit,slowly:Q.slowly}),a(`Typed "${Q.text.length>50?Q.text.slice(0,50)+"...":Q.text}" into ${Q.ref}.${Q.submit?" Submitted with Enter.":""}`)}case"hover":{let Z=await X0();return await hY({page:Z.page,refs:f2(),ref:Q.ref}),a(`Hovered over ${Q.ref}.`)}case"drag":{let Z=await X0();return await mY({page:Z.page,refs:f2(),startRef:Q.startRef,endRef:Q.endRef}),a(`Dragged ${Q.startRef} to ${Q.endRef}.`)}case"select_option":{let Z=await X0();return await cY({page:Z.page,refs:f2(),ref:Q.ref,values:Q.values}),a(`Selected [${Q.values.join(", ")}] in ${Q.ref}.`)}case"press_key":{let Z=await X0();return await lY({page:Z.page,key:Q.key}),a(`Pressed key: ${Q.key}`)}case"scroll":{let Z=await X0();return await oY({page:Z.page,direction:Q.direction,amount:Q.amount}),a(`Scrolled ${Q.direction} ${Q.amount??500}px. Use 'snapshot' to see updated content.`)}case"evaluate":{let Z=await X0(),J=await uY({page:Z.page,script:Q.script}),Y=J===void 0?"undefined":typeof J==="string"?J:JSON.stringify(J,null,2);return a(Y,{result:J})}case"screenshot":{let Z=await X0(),J=await pY({page:Z.page}),Y=J.toString("base64");return a(`Screenshot taken (${J.length} bytes, base64-encoded).`,{base64:Y,mimeType:"image/png"})}case"get_console":{await X0();let Z=LY(PY(),Q.level);return a(CY(Z),{count:Z.length})}case"get_network":{await X0();let Z=MY(RY(),Q.filter);return a(bY(Z),{count:Z.length})}case"wait":{let Z=await X0();return await aY({page:Z.page,selector:Q.selector,text:Q.text,timeout:Q.timeout}),a("Wait condition satisfied. Use 'snapshot' to see current page.")}case"tab_list":{let Z=yY(),J=Z.map((Y)=>`[${Y.index}]${Y.active?" (active)":""} ${Y.url}`).join(`
|
|
375
|
-
`);return a(J||"No tabs open.",{tabs:Z})}case"tab_new":{let Z=await EY(Q.url);return a(`Opened new tab [${Z.index}]: ${Z.url}`,Z)}case"tab_select":{await X0();let Z=await SY(Q.index);return a(`Switched to tab ${Q.index}: ${Z.url}`,Z)}case"tab_close":return await kY(Q.index),a(`Tab closed.${Q.index!==void 0?` (index ${Q.index})`:""}`);case"cookies_get":{let Z=await X0(),J=await nY(Z.context),Y=J.cookies.length?J.cookies.map((K)=>`${K.name}=${K.value} (${K.domain})`).join(`
|
|
376
|
-
`):"No cookies.";return a(Y,J)}case"cookies_set":{let Z=await X0();return await iY(Z.context,Q.cookies),a(`Set ${Q.cookies.length} cookie(s).`)}case"cookies_clear":{let Z=await X0();return await sY(Z.context),a("All cookies cleared.")}case"upload":{let Z=await X0();return await rY({page:Z.page,refs:f2(),ref:Q.ref,paths:Q.paths}),a(`Uploaded ${Q.paths.length} file(s) to ${Q.ref}.`)}default:return tY(`Unknown browser action: ${Q.action}`)}}catch(Z){let J=Z instanceof Error?Z.message:String(Z);return tY(J)}}var a6={name:"browser",description:"Control a web browser via Playwright. Supports navigation, clicking, typing, taking snapshots of page content, and more. Actions auto-start a browser session; use 'launch' only when you want explicit startup control. Use 'snapshot' to see the current page state as an accessibility tree with element refs like [e1], [e2]. Use those refs with 'click', 'type', 'hover', etc. to interact with elements. Use 'evaluate' to run JavaScript in the page context. Use 'screenshot' to capture the page visually.",category:"web",parameters:qH,riskLevel:"moderate",isReadOnly:!1,loadingTier:"always",async execute($,Q){return jH($)}};M2();var BK=require("node:child_process");var AH=["amber","briny","brisk","calm","clear","cool","crisp","dawn","delta","ember","faint","fast","fresh","gentle","glow","good","grand","keen","kind","lucky","marine","mellow","mild","neat","nimble","nova","oceanic","plaid","quick","quiet","rapid","salty","sharp","swift","tender","tidal","tidy","tide","vivid","warm","wild","young"],eY=["atlas","basil","bison","bloom","breeze","canyon","cedar","claw","cloud","comet","coral","cove","crest","crustacean","daisy","dune","ember","falcon","fjord","forest","glade","gulf","harbor","haven","kelp","lagoon","lobster","meadow","mist","nudibranch","nexus","ocean","orbit","otter","pine","prairie","reef","ridge","river","rook","sable","sage","seaslug","shell","shoal","shore","slug","summit","tidepool","trail","valley","wharf","willow","zephyr"];function r6($,Q){return $[Math.floor(Math.random()*$.length)]??Q}function n6($=2){let Q=[r6(AH,"steady"),r6(eY,"harbor")];if($>2)Q.push(r6(eY,"reef"));return Q.join("-")}function $K($){let Q=$??(()=>!1);for(let J=0;J<12;J+=1){let Y=n6(2);if(!Q(Y))return Y;for(let K=2;K<=12;K+=1){let X=`${Y}-${K}`;if(!Q(X))return X}}for(let J=0;J<12;J+=1){let Y=n6(3);if(!Q(Y))return Y;for(let K=2;K<=12;K+=1){let X=`${Y}-${K}`;if(!Q(X))return X}}let Z=`${n6(3)}-${Math.random().toString(36).slice(2,5)}`;return Q(Z)?`${Z}-${Date.now().toString(36)}`:Z}var zH=1800000;var _H=30000;var ZK=zH,O3=new Map,y1=new Map,i6=null;function NH($){return O3.has($)||y1.has($)}function JK(){return $K(NH)}function YK($){O3.set($.id,$),bH()}function L3($){return O3.get($)}function M3($){return y1.get($)}function s6($,Q,Z){$.pendingStdout??=[],$.pendingStderr??=[],$.pendingStdoutChars??=QK($.pendingStdout),$.pendingStderrChars??=QK($.pendingStderr);let J=Q==="stdout"?$.pendingStdout:$.pendingStderr,Y=Q==="stdout"?$.pendingStdoutChars:$.pendingStderrChars,K=Math.min($.pendingMaxOutputChars??_H,$.maxOutputChars);J.push(Z);let X=Y+Z.length;if(X>K)$.truncated=!0,X=LH(J,X,K);if(Q==="stdout")$.pendingStdoutChars=X;else $.pendingStderrChars=X;$.totalOutputChars+=Z.length;let V=MH($.aggregated+Z,$.maxOutputChars);$.truncated=$.truncated||V.length<$.aggregated.length+Z.length,$.aggregated=V,$.tail=XK($.aggregated,2000)}function t6($){let Q=$.pendingStdout.join(""),Z=$.pendingStderr.join("");return $.pendingStdout=[],$.pendingStderr=[],$.pendingStdoutChars=0,$.pendingStderrChars=0,{stdout:Q,stderr:Z}}function e6($,Q,Z,J){$.exited=!0,$.exitCode=Q,$.exitSignal=Z,$.tail=XK($.aggregated,2000),OH($,J)}function KK($){$.backgrounded=!0}function OH($,Q){if(O3.delete($.id),$.child)$.child.stdin?.destroy?.(),$.child.stdout?.destroy?.(),$.child.stderr?.destroy?.(),$.child.removeAllListeners(),delete $.child;if($.stdin){if(typeof $.stdin.destroy==="function")$.stdin.destroy();else if(typeof $.stdin.end==="function")$.stdin.end();try{$.stdin.destroyed=!0}catch{}delete $.stdin}if(!$.backgrounded)return;y1.set($.id,{id:$.id,command:$.command,startedAt:$.startedAt,endedAt:Date.now(),cwd:$.cwd,status:Q,exitCode:$.exitCode,exitSignal:$.exitSignal,aggregated:$.aggregated,tail:$.tail,truncated:$.truncated,totalOutputChars:$.totalOutputChars})}function XK($,Q=2000){if($.length<=Q)return $;return $.slice($.length-Q)}function QK($){let Q=0;for(let Z of $)Q+=Z.length;return Q}function LH($,Q,Z){if(Q<=Z)return Q;let J=$.at(-1);if(J&&J.length>=Z)return $.length=0,$.push(J.slice(J.length-Z)),Z;while($.length&&$[0]!==void 0&&Q-$[0].length>=Z)Q-=$[0].length,$.shift();if($.length&&$[0]!==void 0&&Q>Z){let Y=Q-Z;$[0]=$[0].slice(Y),Q=Z}return Q}function MH($,Q){if($.length<=Q)return $;return $.slice($.length-Q)}function VK(){return Array.from(O3.values()).filter(($)=>$.backgrounded)}function GK(){return Array.from(y1.values())}function CH(){let $=Date.now()-ZK;for(let[Q,Z]of y1.entries())if(Z.endedAt<$)y1.delete(Q)}function bH(){if(i6)return;i6=setInterval(CH,Math.max(30000,ZK/6)),i6.unref?.()}var TH=new Map([["enter","\r"],["return","\r"],["tab","\t"],["escape","\x1B"],["esc","\x1B"],["space"," "],["bspace",""],["backspace",""],["up","\x1B[A"],["down","\x1B[B"],["right","\x1B[C"],["left","\x1B[D"],["home","\x1B[1~"],["end","\x1B[4~"],["pageup","\x1B[5~"],["pgup","\x1B[5~"],["ppage","\x1B[5~"],["pagedown","\x1B[6~"],["pgdn","\x1B[6~"],["npage","\x1B[6~"],["insert","\x1B[2~"],["ic","\x1B[2~"],["delete","\x1B[3~"],["del","\x1B[3~"],["dc","\x1B[3~"],["btab","\x1B[Z"],["f1","\x1BOP"],["f2","\x1BOQ"],["f3","\x1BOR"],["f4","\x1BOS"],["f5","\x1B[15~"],["f6","\x1B[17~"],["f7","\x1B[18~"],["f8","\x1B[19~"],["f9","\x1B[20~"],["f10","\x1B[21~"],["f11","\x1B[23~"],["f12","\x1B[24~"],["kp/","\x1BOo"],["kp*","\x1BOj"],["kp-","\x1BOm"],["kp+","\x1BOk"],["kp7","\x1BOw"],["kp8","\x1BOx"],["kp9","\x1BOy"],["kp4","\x1BOt"],["kp5","\x1BOu"],["kp6","\x1BOv"],["kp1","\x1BOq"],["kp2","\x1BOr"],["kp3","\x1BOs"],["kp0","\x1BOp"],["kp.","\x1BOn"],["kpenter","\x1BOM"]]),IH=new Set(["up","down","left","right","home","end","pageup","pgup","ppage","pagedown","pgdn","npage","insert","ic","delete","del","dc"]);function WK($){let Q=[],Z="";if($.literal)Z+=$.literal;if($.hex?.length)for(let J of $.hex){let Y=vH(J);if(Y===null){Q.push(`Invalid hex byte: ${J}`);continue}Z+=String.fromCharCode(Y)}if($.keys?.length)for(let J of $.keys)Z+=PH(J,Q);return{data:Z,warnings:Q}}function PH($,Q){let Z=$.trim();if(!Z)return"";if(Z.length===2&&Z.startsWith("^")){let V=UK(Z[1]);if(V)return V}let J=RH(Z),Y=J.base,K=Y.toLowerCase();if(K==="tab"&&J.mods.shift)return"\x1B[Z";let X=TH.get(K);if(X){let V=X;if(IH.has(K)&&kH(J.mods)){let G=yH(J.mods);if(G>1){let W=SH(V,G);if(W)return V=W,V}}if(J.mods.alt)return`\x1B${V}`;return V}if(Y.length===1)return wH(Y,J.mods);if(J.hasModifiers)Q.push(`Unknown key "${Y}" for modifiers; sending literal.`);return Y}function RH($){let Q={ctrl:!1,alt:!1,shift:!1},Z=$,J=!1;while(Z.length>2&&Z[1]==="-"){let Y=Z[0].toLowerCase();if(Y==="c")Q.ctrl=!0;else if(Y==="m")Q.alt=!0;else if(Y==="s")Q.shift=!0;else break;J=!0,Z=Z.slice(2)}return{mods:Q,base:Z,hasModifiers:J}}function wH($,Q){let Z=$;if(Q.shift&&Z.length===1&&/[a-z]/.test(Z))Z=Z.toUpperCase();if(Q.ctrl){let J=UK(Z);if(J)Z=J}if(Q.alt)Z=`\x1B${Z}`;return Z}function UK($){if($.length!==1)return null;if($==="?")return"";let Q=$.toUpperCase().charCodeAt(0);if(Q>=64&&Q<=95)return String.fromCharCode(Q&31);return null}function yH($){let Q=1;if($.shift)Q+=1;if($.alt)Q+=2;if($.ctrl)Q+=4;return Q}function EH($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function SH($,Q){let Z=EH("\x1B"),J=new RegExp(`^${Z}\\[(\\d+)([~A-Z])$`),Y=new RegExp(`^${Z}\\[(A|B|C|D|H|F)$`),K=$.match(J);if(K)return`\x1B[${K[1]};${Q}${K[2]}`;let X=$.match(Y);if(X)return`\x1B[1;${Q}${X[1]}`;return null}function kH($){return $.ctrl||$.alt||$.shift}function vH($){let Q=$.trim().toLowerCase(),Z=Q.startsWith("0x")?Q.slice(2):Q;if(!/^[0-9a-f]{1,2}$/.test(Z))return null;let J=Number.parseInt(Z,16);if(Number.isNaN(J)||J<0||J>255)return null;return J}var fH=200000,gH=30000,xH=300000,hH=200;function mH($,Q){return new Promise((Z)=>{let J=$.command;if(!J){Z({success:!1,message:"spawn requires 'command' parameter"});return}let Y=JK(),K=Math.min($.timeout??gH,xH),X=BK.spawn("sh",["-c",J],{cwd:Q,stdio:["pipe","pipe","pipe"],env:L2(),detached:!1}),V={id:Y,command:J,pid:X.pid,startedAt:Date.now(),cwd:Q,maxOutputChars:fH,totalOutputChars:0,pendingStdout:[],pendingStderr:[],pendingStdoutChars:0,pendingStderrChars:0,aggregated:"",tail:"",exited:!1,truncated:!1,backgrounded:!0,child:X,stdin:X.stdin?{write:(G,W)=>X.stdin.write(G,W),end:()=>X.stdin.end(),destroy:()=>X.stdin.destroy(),get destroyed(){return X.stdin.destroyed}}:void 0};if(YK(V),KK(V),X.stdout?.on("data",(G)=>{s6(V,"stdout",G.toString())}),X.stderr?.on("data",(G)=>{s6(V,"stderr",G.toString())}),X.on("error",(G)=>{e6(V,null,null,"failed")}),X.on("exit",(G,W)=>{if(V.exited)return;e6(V,G,W,W?"killed":G===0?"completed":"failed")}),K>0){let G=setTimeout(()=>{if(!V.exited)try{X.kill("SIGTERM")}catch{}},K);G.unref(),X.on("exit",()=>clearTimeout(G))}setTimeout(()=>{let{stdout:G,stderr:W}=t6(V),B=[G&&`stdout: ${G}`,W&&`stderr: ${W}`].filter(Boolean).join(`
|
|
377
|
-
`);Z({success:!0,message:[`Process spawned with session_id: ${Y}`,`PID: ${X.pid}`,`Command: ${J}`,B&&`
|
|
378
|
-
Initial output:
|
|
379
|
-
${B}`].filter(Boolean).join(`
|
|
380
|
-
`),data:{session_id:Y,pid:X.pid}})},hH)})}function dH($){let Q=$.session_id;if(!Q)return{success:!1,message:"read requires 'session_id' parameter"};let Z=L3(Q);if(Z){let{stdout:Y,stderr:K}=t6(Z),X=Y||K;return{success:!0,message:[`Session: ${Q} (running, PID: ${Z.pid})`,X?"":"(no new output since last read)",Y&&`stdout:
|
|
381
|
-
${Y}`,K&&`stderr:
|
|
382
|
-
${K}`].filter((V)=>typeof V==="string"&&V!=="").join(`
|
|
383
|
-
`),data:{session_id:Q,status:"running",pid:Z.pid,stdout:Y,stderr:K,total_output_chars:Z.totalOutputChars,truncated:Z.truncated}}}let J=M3(Q);if(J)return{success:!0,message:[`Session: ${Q} (${J.status})`,`Exit code: ${J.exitCode??"N/A"}`,J.exitSignal&&`Signal: ${J.exitSignal}`,`Output:
|
|
384
|
-
${J.tail}`,J.truncated&&"(output was truncated)"].filter(Boolean).join(`
|
|
385
|
-
`),data:{session_id:Q,status:J.status,exit_code:J.exitCode,exit_signal:J.exitSignal,output:J.tail,total_output_chars:J.totalOutputChars,truncated:J.truncated}};return{success:!1,message:`No session found with id: ${Q}`}}async function cH($){let Q=$.session_id;if(!Q)return{success:!1,message:"write requires 'session_id' parameter"};if($.input===void 0||$.input===null)return{success:!1,message:"write requires 'input' parameter"};let Z=L3(Q);if(!Z){let J=M3(Q);if(J)return{success:!1,message:`Session ${Q} has already exited (${J.status})`};return{success:!1,message:`No session found with id: ${Q}`}}if(!Z.stdin||Z.stdin.destroyed)return{success:!1,message:`Session ${Q} stdin is not available`};return new Promise((J)=>{Z.stdin.write($.input,(Y)=>{if(Y){J({success:!1,message:`Failed to write to session ${Q}: ${Y.message}`});return}J({success:!0,message:`Wrote ${$.input.length} chars to session ${Q}`,data:{session_id:Q,bytes_written:$.input.length}})})})}function lH($){let Q=$.session_id;if(!Q)return{success:!1,message:"kill requires 'session_id' parameter"};let Z=L3(Q);if(!Z){let Y=M3(Q);if(Y)return{success:!1,message:`Session ${Q} has already exited (${Y.status})`};return{success:!1,message:`No session found with id: ${Q}`}}let J=$.signal??"SIGTERM";if(Z.child)try{Z.child.kill(J)}catch{}return{success:!0,message:`Sent ${J} to session ${Q} (PID: ${Z.pid})`,data:{session_id:Q,signal:J}}}function uH(){let $=VK().map((Y)=>({session_id:Y.id,command:Y.command,pid:Y.pid,status:Y.exited?"exited":"running",started_at:new Date(Y.startedAt).toISOString(),runtime_ms:Date.now()-Y.startedAt,total_output_chars:Y.totalOutputChars})),Q=GK().map((Y)=>({session_id:Y.id,command:Y.command,status:Y.status,exit_code:Y.exitCode,started_at:new Date(Y.startedAt).toISOString(),ended_at:new Date(Y.endedAt).toISOString(),runtime_ms:Y.endedAt-Y.startedAt,total_output_chars:Y.totalOutputChars})),Z=[...$,...Q];if(Z.length===0)return{success:!0,message:"No active or recent sessions.",data:{sessions:[]}};let J=Z.map((Y)=>` ${Y.session_id}: ${Y.command} [${Y.status}] (${Y.runtime_ms}ms)`);return{success:!0,message:`Sessions (${Z.length}):
|
|
386
|
-
${J.join(`
|
|
387
|
-
`)}`,data:{sessions:Z}}}async function pH($){let Q=$.session_id;if(!Q)return{success:!1,message:"send_key requires 'session_id' parameter"};if(!$.key)return{success:!1,message:"send_key requires 'key' parameter"};let Z=L3(Q);if(!Z){let K=M3(Q);if(K)return{success:!1,message:`Session ${Q} has already exited (${K.status})`};return{success:!1,message:`No session found with id: ${Q}`}}if(!Z.stdin||Z.stdin.destroyed)return{success:!1,message:`Session ${Q} stdin is not available`};let{data:J,warnings:Y}=WK({keys:[$.key]});if(!J)return{success:!1,message:`Could not encode key: ${$.key}${Y.length?` (${Y.join(", ")})`:""}`};return new Promise((K)=>{Z.stdin.write(J,(X)=>{if(X){K({success:!1,message:`Failed to send key to session ${Q}: ${X.message}`});return}K({success:!0,message:`Sent key '${$.key}' to session ${Q}${Y.length?` (warnings: ${Y.join(", ")})`:""}`,data:{session_id:Q,key:$.key,warnings:Y}})})})}var $4={name:"process",description:"Manage background shell processes. Supports spawning long-running commands, reading their output, writing input, and killing them. Each process gets a human-readable session ID.",category:"shell",parameters:{type:"object",properties:{action:{type:"string",enum:["spawn","read","write","kill","list","send_key"],description:"Action to perform"},command:{type:"string",description:"Shell command to run (for spawn)"},session_id:{type:"string",description:"Session ID (from spawn result)"},input:{type:"string",description:"Input to write to stdin (for write)"},key:{type:"string",description:"Special key to send (for send_key): Enter, Tab, Ctrl+C, Up, Down, etc."},timeout:{type:"number",description:"Timeout in ms (for spawn, default 30000)"},signal:{type:"string",description:"Signal to send (for kill, default SIGTERM)"}},required:["action"]},riskLevel:"dangerous",isReadOnly:!1,loadingTier:"always",async execute($,Q){let Z=$,J=Q.workingDir;switch(Z.action){case"spawn":return mH(Z,J);case"read":return dH(Z);case"write":return cH(Z);case"kill":return lH(Z);case"list":return uH();case"send_key":return pH(Z);default:return{success:!1,message:`Unknown action: ${Z.action}. Valid actions: spawn, read, write, kill, list, send_key`}}}};var j$=[...n7,...i7,a6,...$8,...Q8,$4,...Z8,...J8,...Y8,...V8,...c6,...W8,...U8,...l6,...B8,...H8,...D8,...F8,...q8];function Q4(){return j$}function Z4($){return j$.find((Q)=>Q.name===$)}function J4($){return j$.filter((Q)=>Q.category===$)}function Y4($){return j$.filter((Q)=>Q.riskLevel===$)}var K4={"group:memory":["remember","recall","forget","recall_knowledge","reflect","search","learn","session_history"],"group:web":["web_search","web_fetch","browse","browser"],"group:filesystem":["read_file","write_file","edit_file","glob","grep","ls","apply_patch"],"group:shell":["bash","exec","spawn","kill","list_processes","wait_process","write_stdin","process"],"group:arion":["hatch_arion","wake_arion","rest_arion","retire_arion","delegate_arion","manage_network","list_clients","deploy"],"group:meta":["ask_user","quest_update","quest_list","search","learn","learn_tool","learn_skill","create_tool","create_skill","use_skill","restart","spawn_worker","check_delegation","pause_delegation","resume_delegation","quest_report","self_diagnose"]};function E1($){let Q=new Set;for(let Z of $){let J=Z.toLowerCase();if(J.startsWith("group:")){let Y=K4[J];if(Y)for(let K of Y)Q.add(K.toLowerCase())}else Q.add(J)}return Q}function HK($,Q){let Z=$.toLowerCase();if(Q.restrictAllow===!0||Q.allow!==void 0&&Q.allow.length>0){if(!E1(Q.allow??[]).has(Z))return!1}if(Q.deny&&Q.deny.length>0){if(E1(Q.deny).has(Z))return!1}return!0}function DK($,Q){let Z=[...$.deny??[],...Q.deny??[]],J=$.restrictAllow===!0||($.allow?.length??0)>0,Y=Q.restrictAllow===!0||(Q.allow?.length??0)>0,K,X=!1;if(J&&Y){let V=E1($.allow??[]),G=E1(Q.allow??[]);K=[...V].filter((W)=>G.has(W)),X=!0}else if(J)K=[...$.allow??[]],X=!0;else if(Y)K=[...Q.allow??[]],X=!0;return{...K!==void 0?{allow:K}:{},...X?{restrictAllow:!0}:{},...Z.length?{deny:Z}:{}}}function oH($={}){let Q=new X1({logger:$.logger});if($.includeBuiltins!==!1)for(let Z of j$)Q.register(Z);return Q}
|
|
296
|
+
return registry;
|
|
297
|
+
}
|
|
298
|
+
// Core tool definitions
|
|
299
|
+
var index_js_5 = require("./definitions/index.js");
|
|
300
|
+
Object.defineProperty(exports, "CORE_TOOL_DEFINITIONS", { enumerable: true, get: function () { return index_js_5.CORE_TOOL_DEFINITIONS; } });
|
|
301
|
+
Object.defineProperty(exports, "getCoreTools", { enumerable: true, get: function () { return index_js_5.getCoreTools; } });
|
|
302
|
+
Object.defineProperty(exports, "getCoreTool", { enumerable: true, get: function () { return index_js_5.getCoreTool; } });
|
|
303
|
+
Object.defineProperty(exports, "getCoreToolsByCategory", { enumerable: true, get: function () { return index_js_5.getCoreToolsByCategory; } });
|
|
304
|
+
Object.defineProperty(exports, "getCoreToolsByRiskLevel", { enumerable: true, get: function () { return index_js_5.getCoreToolsByRiskLevel; } });
|
|
305
|
+
// Learning tools — 6 explicit meta-tools (learn_tool, learn_skill, create_tool, create_skill, use_skill, search)
|
|
306
|
+
// ============================================================================
|
|
307
|
+
// Executor Functions & Types
|
|
308
|
+
// ============================================================================
|
|
309
|
+
// Filesystem executors
|
|
310
|
+
var index_js_6 = require("./executors/index.js");
|
|
311
|
+
Object.defineProperty(exports, "executeReadFile", { enumerable: true, get: function () { return index_js_6.executeReadFile; } });
|
|
312
|
+
Object.defineProperty(exports, "executeWriteFile", { enumerable: true, get: function () { return index_js_6.executeWriteFile; } });
|
|
313
|
+
Object.defineProperty(exports, "executeEditFile", { enumerable: true, get: function () { return index_js_6.executeEditFile; } });
|
|
314
|
+
Object.defineProperty(exports, "executeLs", { enumerable: true, get: function () { return index_js_6.executeLs; } });
|
|
315
|
+
Object.defineProperty(exports, "executeGlob", { enumerable: true, get: function () { return index_js_6.executeGlob; } });
|
|
316
|
+
Object.defineProperty(exports, "executeGrep", { enumerable: true, get: function () { return index_js_6.executeGrep; } });
|
|
317
|
+
Object.defineProperty(exports, "executeApplyPatch", { enumerable: true, get: function () { return index_js_6.executeApplyPatch; } });
|
|
318
|
+
Object.defineProperty(exports, "executeFrg", { enumerable: true, get: function () { return index_js_6.executeFrg; } });
|
|
319
|
+
Object.defineProperty(exports, "recordFrgMutation", { enumerable: true, get: function () { return index_js_6.recordFrgMutation; } });
|
|
320
|
+
Object.defineProperty(exports, "getPendingFrgMutations", { enumerable: true, get: function () { return index_js_6.getPendingFrgMutations; } });
|
|
321
|
+
Object.defineProperty(exports, "getPendingFrgMutationBytes", { enumerable: true, get: function () { return index_js_6.getPendingFrgMutationBytes; } });
|
|
322
|
+
Object.defineProperty(exports, "clearPendingFrgMutations", { enumerable: true, get: function () { return index_js_6.clearPendingFrgMutations; } });
|
|
323
|
+
Object.defineProperty(exports, "flushPendingFrgMutations", { enumerable: true, get: function () { return index_js_6.flushPendingFrgMutations; } });
|
|
324
|
+
Object.defineProperty(exports, "maybeBuildFrgIndexForRepo", { enumerable: true, get: function () { return index_js_6.maybeBuildFrgIndexForRepo; } });
|
|
325
|
+
Object.defineProperty(exports, "ensureFrgRepoStateLoaded", { enumerable: true, get: function () { return index_js_6.ensureFrgRepoStateLoaded; } });
|
|
326
|
+
Object.defineProperty(exports, "reconcileGitDirtyMutations", { enumerable: true, get: function () { return index_js_6.reconcileGitDirtyMutations; } });
|
|
327
|
+
Object.defineProperty(exports, "getGitDirtyStatus", { enumerable: true, get: function () { return index_js_6.getGitDirtyStatus; } });
|
|
328
|
+
Object.defineProperty(exports, "getFrgFlushStatus", { enumerable: true, get: function () { return index_js_6.getFrgFlushStatus; } });
|
|
329
|
+
Object.defineProperty(exports, "getFrgFreshnessSnapshot", { enumerable: true, get: function () { return index_js_6.getFrgFreshnessSnapshot; } });
|
|
330
|
+
Object.defineProperty(exports, "scheduleBackgroundFrgFlush", { enumerable: true, get: function () { return index_js_6.scheduleBackgroundFrgFlush; } });
|
|
331
|
+
Object.defineProperty(exports, "shouldForceSynchronousFrgFlush", { enumerable: true, get: function () { return index_js_6.shouldForceSynchronousFrgFlush; } });
|
|
332
|
+
Object.defineProperty(exports, "DEFAULT_BACKGROUND_FRG_FLUSH_DELAY_MS", { enumerable: true, get: function () { return index_js_6.DEFAULT_BACKGROUND_FRG_FLUSH_DELAY_MS; } });
|
|
333
|
+
Object.defineProperty(exports, "BACKGROUND_FRG_MAX_FLUSH_DELAY_MS", { enumerable: true, get: function () { return index_js_6.BACKGROUND_FRG_MAX_FLUSH_DELAY_MS; } });
|
|
334
|
+
Object.defineProperty(exports, "MAX_PENDING_MUTATIONS_BEFORE_SYNC_FLUSH", { enumerable: true, get: function () { return index_js_6.MAX_PENDING_MUTATIONS_BEFORE_SYNC_FLUSH; } });
|
|
335
|
+
Object.defineProperty(exports, "MAX_PENDING_MUTATION_BYTES_BEFORE_SYNC_FLUSH", { enumerable: true, get: function () { return index_js_6.MAX_PENDING_MUTATION_BYTES_BEFORE_SYNC_FLUSH; } });
|
|
336
|
+
Object.defineProperty(exports, "MAX_CACHED_MUTATION_CONTENT_BYTES", { enumerable: true, get: function () { return index_js_6.MAX_CACHED_MUTATION_CONTENT_BYTES; } });
|
|
337
|
+
// Shell executors
|
|
338
|
+
var index_js_7 = require("./executors/index.js");
|
|
339
|
+
Object.defineProperty(exports, "executeBash", { enumerable: true, get: function () { return index_js_7.executeBash; } });
|
|
340
|
+
Object.defineProperty(exports, "executeExec", { enumerable: true, get: function () { return index_js_7.executeExec; } });
|
|
341
|
+
Object.defineProperty(exports, "executeSpawn", { enumerable: true, get: function () { return index_js_7.executeSpawn; } });
|
|
342
|
+
Object.defineProperty(exports, "executeKill", { enumerable: true, get: function () { return index_js_7.executeKill; } });
|
|
343
|
+
Object.defineProperty(exports, "executeListProcesses", { enumerable: true, get: function () { return index_js_7.executeListProcesses; } });
|
|
344
|
+
Object.defineProperty(exports, "executeWaitProcess", { enumerable: true, get: function () { return index_js_7.executeWaitProcess; } });
|
|
345
|
+
Object.defineProperty(exports, "executeWriteStdin", { enumerable: true, get: function () { return index_js_7.executeWriteStdin; } });
|
|
346
|
+
Object.defineProperty(exports, "sanitizeGitEnv", { enumerable: true, get: function () { return index_js_7.sanitizeGitEnv; } });
|
|
347
|
+
Object.defineProperty(exports, "sanitizeEnv", { enumerable: true, get: function () { return index_js_7.sanitizeEnv; } });
|
|
348
|
+
var index_js_8 = require("./executors/index.js");
|
|
349
|
+
Object.defineProperty(exports, "classifyCommand", { enumerable: true, get: function () { return index_js_8.classifyCommand; } });
|
|
350
|
+
Object.defineProperty(exports, "SHELL_BLOCKED_PATTERNS", { enumerable: true, get: function () { return index_js_8.SHELL_BLOCKED_PATTERNS; } });
|
|
351
|
+
// Memory executors
|
|
352
|
+
var index_js_9 = require("./executors/index.js");
|
|
353
|
+
Object.defineProperty(exports, "executeRemember", { enumerable: true, get: function () { return index_js_9.executeRemember; } });
|
|
354
|
+
Object.defineProperty(exports, "executeRecall", { enumerable: true, get: function () { return index_js_9.executeRecall; } });
|
|
355
|
+
Object.defineProperty(exports, "executeForget", { enumerable: true, get: function () { return index_js_9.executeForget; } });
|
|
356
|
+
Object.defineProperty(exports, "executeDiscover", { enumerable: true, get: function () { return index_js_9.executeDiscover; } });
|
|
357
|
+
Object.defineProperty(exports, "executeReflect", { enumerable: true, get: function () { return index_js_9.executeReflect; } });
|
|
358
|
+
Object.defineProperty(exports, "getConversationContext", { enumerable: true, get: function () { return index_js_9.getConversationContext; } });
|
|
359
|
+
Object.defineProperty(exports, "getSessionTranscript", { enumerable: true, get: function () { return index_js_9.getSessionTranscript; } });
|
|
360
|
+
Object.defineProperty(exports, "getSelfContext", { enumerable: true, get: function () { return index_js_9.getSelfContext; } });
|
|
361
|
+
// Web executors
|
|
362
|
+
var index_js_10 = require("./executors/index.js");
|
|
363
|
+
Object.defineProperty(exports, "executeWebSearch", { enumerable: true, get: function () { return index_js_10.executeWebSearch; } });
|
|
364
|
+
Object.defineProperty(exports, "executeWebFetch", { enumerable: true, get: function () { return index_js_10.executeWebFetch; } });
|
|
365
|
+
Object.defineProperty(exports, "executeBrowse", { enumerable: true, get: function () { return index_js_10.executeBrowse; } });
|
|
366
|
+
// Arion executors
|
|
367
|
+
var index_js_11 = require("./executors/index.js");
|
|
368
|
+
Object.defineProperty(exports, "executeHatchArion", { enumerable: true, get: function () { return index_js_11.executeHatchArion; } });
|
|
369
|
+
Object.defineProperty(exports, "executeRestArion", { enumerable: true, get: function () { return index_js_11.executeRestArion; } });
|
|
370
|
+
Object.defineProperty(exports, "executeWakeArion", { enumerable: true, get: function () { return index_js_11.executeWakeArion; } });
|
|
371
|
+
Object.defineProperty(exports, "executeRetireArion", { enumerable: true, get: function () { return index_js_11.executeRetireArion; } });
|
|
372
|
+
// PTY executors
|
|
373
|
+
var index_js_12 = require("./executors/index.js");
|
|
374
|
+
Object.defineProperty(exports, "PTYSession", { enumerable: true, get: function () { return index_js_12.PTYSession; } });
|
|
375
|
+
Object.defineProperty(exports, "PTYTimeoutError", { enumerable: true, get: function () { return index_js_12.PTYTimeoutError; } });
|
|
376
|
+
Object.defineProperty(exports, "PTYError", { enumerable: true, get: function () { return index_js_12.PTYError; } });
|
|
377
|
+
Object.defineProperty(exports, "createPTYSession", { enumerable: true, get: function () { return index_js_12.createPTYSession; } });
|
|
378
|
+
Object.defineProperty(exports, "runInPTY", { enumerable: true, get: function () { return index_js_12.runInPTY; } });
|
|
379
|
+
Object.defineProperty(exports, "PTYSessionStore", { enumerable: true, get: function () { return index_js_12.PTYSessionStore; } });
|
|
380
|
+
// Meta executors
|
|
381
|
+
var index_js_13 = require("./executors/index.js");
|
|
382
|
+
Object.defineProperty(exports, "executeAskUser", { enumerable: true, get: function () { return index_js_13.executeAskUser; } });
|
|
383
|
+
Object.defineProperty(exports, "executeQuestUpdate", { enumerable: true, get: function () { return index_js_13.executeQuestUpdate; } });
|
|
384
|
+
Object.defineProperty(exports, "executeQuestList", { enumerable: true, get: function () { return index_js_13.executeQuestList; } });
|
|
385
|
+
Object.defineProperty(exports, "resetAskUserCounter", { enumerable: true, get: function () { return index_js_13.resetAskUserCounter; } });
|
|
386
|
+
// Learning/meta capability executors
|
|
387
|
+
var index_js_14 = require("./executors/index.js");
|
|
388
|
+
Object.defineProperty(exports, "executeSearchKnowledge", { enumerable: true, get: function () { return index_js_14.executeSearchKnowledge; } });
|
|
389
|
+
Object.defineProperty(exports, "executeLearnTool", { enumerable: true, get: function () { return index_js_14.executeLearnTool; } });
|
|
390
|
+
Object.defineProperty(exports, "executeLearnSkill", { enumerable: true, get: function () { return index_js_14.executeLearnSkill; } });
|
|
391
|
+
Object.defineProperty(exports, "executeLearnLegacy", { enumerable: true, get: function () { return index_js_14.executeLearnLegacy; } });
|
|
392
|
+
Object.defineProperty(exports, "executeCreateTool", { enumerable: true, get: function () { return index_js_14.executeCreateTool; } });
|
|
393
|
+
Object.defineProperty(exports, "executeCreateSkill", { enumerable: true, get: function () { return index_js_14.executeCreateSkill; } });
|
|
394
|
+
Object.defineProperty(exports, "executeUseSkill", { enumerable: true, get: function () { return index_js_14.executeUseSkill; } });
|
|
395
|
+
// Search source helpers (used by runner wrapper)
|
|
396
|
+
Object.defineProperty(exports, "searchMemoria", { enumerable: true, get: function () { return index_js_14.searchMemoria; } });
|
|
397
|
+
Object.defineProperty(exports, "searchLocalSkills", { enumerable: true, get: function () { return index_js_14.searchLocalSkills; } });
|
|
398
|
+
Object.defineProperty(exports, "searchSkillRegistries", { enumerable: true, get: function () { return index_js_14.searchSkillRegistries; } });
|
|
399
|
+
Object.defineProperty(exports, "searchWeb", { enumerable: true, get: function () { return index_js_14.searchWeb; } });
|
|
400
|
+
Object.defineProperty(exports, "getOSContext", { enumerable: true, get: function () { return index_js_14.getOSContext; } });
|
|
401
|
+
Object.defineProperty(exports, "settleWithDeadline", { enumerable: true, get: function () { return index_js_14.settleWithDeadline; } });
|
|
402
|
+
Object.defineProperty(exports, "fetchJson", { enumerable: true, get: function () { return index_js_14.fetchJson; } });
|
|
403
|
+
// Session History executors
|
|
404
|
+
var index_js_15 = require("./executors/index.js");
|
|
405
|
+
Object.defineProperty(exports, "executeSessionHistory", { enumerable: true, get: function () { return index_js_15.executeSessionHistory; } });
|
|
406
|
+
var index_js_16 = require("./executors/index.js");
|
|
407
|
+
Object.defineProperty(exports, "SOURCE_PRIORITY", { enumerable: true, get: function () { return index_js_16.SOURCE_PRIORITY; } });
|
|
408
|
+
Object.defineProperty(exports, "dedupSearchResults", { enumerable: true, get: function () { return index_js_16.dedupSearchResults; } });
|
|
409
|
+
var policy_js_1 = require("./policy.js");
|
|
410
|
+
Object.defineProperty(exports, "TOOL_GROUPS", { enumerable: true, get: function () { return policy_js_1.TOOL_GROUPS; } });
|
|
411
|
+
Object.defineProperty(exports, "expandGroups", { enumerable: true, get: function () { return policy_js_1.expandGroups; } });
|
|
412
|
+
Object.defineProperty(exports, "isToolAllowed", { enumerable: true, get: function () { return policy_js_1.isToolAllowed; } });
|
|
413
|
+
Object.defineProperty(exports, "mergePolicies", { enumerable: true, get: function () { return policy_js_1.mergePolicies; } });
|
|
414
|
+
// ============================================================================
|
|
415
|
+
// Search Providers
|
|
416
|
+
// ============================================================================
|
|
417
|
+
var index_js_17 = require("./providers/index.js");
|
|
418
|
+
Object.defineProperty(exports, "SearchProviderRouter", { enumerable: true, get: function () { return index_js_17.SearchProviderRouter; } });
|
|
419
|
+
Object.defineProperty(exports, "TavilySearchProvider", { enumerable: true, get: function () { return index_js_17.TavilySearchProvider; } });
|
|
420
|
+
Object.defineProperty(exports, "BraveSearchProvider", { enumerable: true, get: function () { return index_js_17.BraveSearchProvider; } });
|
|
421
|
+
Object.defineProperty(exports, "ExaSearchProvider", { enumerable: true, get: function () { return index_js_17.ExaSearchProvider; } });
|
|
422
|
+
Object.defineProperty(exports, "JinaSearchProvider", { enumerable: true, get: function () { return index_js_17.JinaSearchProvider; } });
|
|
423
|
+
Object.defineProperty(exports, "DuckDuckGoSearchProvider", { enumerable: true, get: function () { return index_js_17.DuckDuckGoSearchProvider; } });
|
|
424
|
+
Object.defineProperty(exports, "FirecrawlSearchProvider", { enumerable: true, get: function () { return index_js_17.FirecrawlSearchProvider; } });
|
|
425
|
+
// ============================================================================
|
|
426
|
+
// MCP (Model Context Protocol)
|
|
427
|
+
// ============================================================================
|
|
428
|
+
// Process registry
|
|
429
|
+
var index_js_18 = require("./executors/index.js");
|
|
430
|
+
Object.defineProperty(exports, "SpawnedProcessRegistry", { enumerable: true, get: function () { return index_js_18.SpawnedProcessRegistry; } });
|
|
431
|
+
// Tool factory
|
|
432
|
+
var tool_factory_js_1 = require("./tool-factory.js");
|
|
433
|
+
Object.defineProperty(exports, "tool", { enumerable: true, get: function () { return tool_factory_js_1.tool; } });
|
|
434
|
+
var index_js_19 = require("./mcp/index.js");
|
|
435
|
+
Object.defineProperty(exports, "MCPClient", { enumerable: true, get: function () { return index_js_19.MCPClient; } });
|
|
436
|
+
Object.defineProperty(exports, "MCPServerConnection", { enumerable: true, get: function () { return index_js_19.MCPServerConnection; } });
|
|
437
|
+
Object.defineProperty(exports, "JSONRPCClient", { enumerable: true, get: function () { return index_js_19.JSONRPCClient; } });
|
|
438
|
+
//# sourceMappingURL=index.js.map
|