@aria-cli/tools 1.0.18 → 1.0.31
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/{dns-pinning-vc0r0vpx.js → dns-pinning-7szqhtmq.js} +1 -1
- 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-x52t2mbj.js → index-45qvfjbf.js} +2 -2
- package/dist/{index-8xap0se3.js → index-b3sdwzh5.js} +1 -1
- package/dist/index-tvryzx00.js +2 -0
- package/dist/index.js +71 -372
- package/dist/local-control-http-auth.js +3 -0
- package/dist/{lsp-client-msnj763y.js → lsp-client-3qxptwyw.js} +1 -1
- 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/session-history-gk75e3ta.js +1 -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-a2fr1b3x.js +0 -2
- 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-ff59hy75.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/session-history-6gn52xhp.js +0 -1
- 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 AX($){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 _X($){let Q=$.trim();if(Q==="")return!1;if(zX.test(Q))return!1;for(let J of DX)if(Q===J||Q.startsWith(J+" "))return!0;let Z=Q.split(/\s+/)[0]??"";return HX.has(JZ(Z))}function W2($){let Q=$.trim();if(Q==="")return"moderate";let Z=ZZ(Q);if(P6(Z))return"blocked";if(jX(Z))return"moderate";let J=qX(Z);for(let X of J)if(P6(X))return"blocked";let Y=[];for(let X of J){let V=AX(X);for(let G of V){if(P6(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(_X))return"safe";return"moderate"}function R6($,Q=[]){let Z=JZ($).toLowerCase();if(NX.has(Z)&&Q[0]==="-c"&&typeof Q[1]==="string")return W2(Q[1]);return W2([$,...Q].join(" "))}var HX,DX,K8,zX,NX;var X8=A2(()=>{HX=new Set(["ls","cat","head","tail","wc","file","stat","grep","rg","find","which","whereis","echo","date","whoami","pwd","printenv","uname","hostname"]),DX=["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"],K8=[/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/];zX=/(?:>>|(?:^|[^2])>(?!&)|2>(?!&)|&>)/;NX=new Set(["sh","bash","zsh","ksh","dash","ash","fish"])});var KZ={};m1(KZ,{runInPTY:()=>V8,createPTYSession:()=>zQ,PTYTimeoutError:()=>O1,PTYSession:()=>m2,PTYError:()=>x2});class m2{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>m2.MAX_OUTPUT)this._output=this._output.slice(-m2.MAX_OUTPUT)}),this._exitDisposable=$.onExit(({exitCode:Q})=>{this._isRunning=!1,this._exitCode=Q,this._exitResolve(Q)})}write($){if(!this._isRunning)throw new x2("Cannot write to a closed PTY session");this._pty.write($)}resize($,Q){if(!this._isRunning)throw new x2("Cannot resize a closed PTY session");this._pty.resize($,Q)}async waitFor($,Q=5000){let Z=Date.now(),J=typeof $==="string"?new RegExp(OX($)):$;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 x2(`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 O1(`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 O1(`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=YZ.spawn($.command,$.args??[],{name:"xterm-256color",cols:$.cols??80,rows:$.rows??24,cwd:$.cwd??process.cwd(),env:{...L1($.env),TERM:"xterm-256color"}});return new m2(J)}async function V8($){let{timeoutMs:Q=30000,...Z}=$,J=await zQ(Z);try{return{output:await J.waitForExit(Q),exitCode:J.exitCode??0}}finally{J.close()}}function OX($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var YZ,O1,x2;var w6=A2(()=>{M1();YZ=E(require("node-pty"));O1=class O1 extends Error{output;constructor($,Q){super($);this.output=Q;this.name="PTYTimeoutError"}};x2=class x2 extends Error{output;constructor($,Q){super($);this.output=Q;this.name="PTYError"}}});function S6($){let Q=$.toUpperCase();if(LX.has(Q))return!0;return MX.some((Z)=>Q.startsWith(Z))}function v6($=process.env){let Q={};for(let[Z,J]of Object.entries($)){if(J===void 0)continue;if(S6(Z))continue;Q[Z]=J}return Q}function GZ($){return VZ.has($.toUpperCase())||S6($)}function y6($){return CX.has($.toUpperCase())||S6($)}function G8($,Q){let Z=Q;if(Q){Z={};for(let[K,X]of Object.entries(Q)){if(y6(K))continue;Z[K]=X}}let J=$.env;if($.env){J={};for(let[K,X]of Object.entries($.env)){if(y6(K))continue;J[K]=X}}let Y={};for(let[K,X]of Object.entries(process.env)){if(X===void 0)continue;if(GZ(K))continue;Y[K]=X}return{...Y,...J,...Z}}function L1($){let Q={};for(let[J,Y]of Object.entries(process.env)){if(Y===void 0)continue;if(GZ(J))continue;Q[J]=Y}let Z;if($){Z={};for(let[J,Y]of Object.entries($)){if(y6(J))continue;Z[J]=Y}}return{...Q,...Z}}async function C1($,Q){if(W2($.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=G8(Q,$.env),K=$.timeout??120000;return Y$({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 f6($,Q){if(!$)return!1;if(Q)try{return process.kill(-$,0),!0}catch{}try{return process.kill($,0),!0}catch{return!1}}async function bX($,Q,Z=1000){if(!$)return;let J=Date.now()+Z;while(Date.now()<J){if(!f6($,Q))return;await new Promise((Y)=>setTimeout(Y,25))}}async function Y$($,Q){let Z=$.args??[],J=[$.program,...Z].join(" ");if(R6($.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=G8(Q,$.env),V=$.timeout??120000;return new Promise((G)=>{let W=process.platform!=="win32",B=E6.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="",j="",A=!1,q=!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&&f6(B.pid,W)))Q.processRegistry.remove(B.pid,L);G(z)},b;if(Q.abortSignal)b=()=>{q=!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)=>{j+=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:j,exitCode:L}))}),B.on("close",(z,L)=>{(async()=>{if(q||A){if(M)clearTimeout(M),M=void 0;_Q(B.pid,"SIGKILL",W),await bX(B.pid,W)}if(q){C(H("Command cancelled",{stdout:U,stderr:j,exitCode:z??1}),{exitCode:z,signal:L});return}if(A){C(H("Command timed out",{stdout:U,stderr:j,exitCode:z??1}),{exitCode:z,signal:L});return}if(L){let S=k6.constants.signals[L]??1;C(H(`Command exited due to signal ${L}`,{stdout:U,stderr:j,exitCode:z??S}),{exitCode:z,signal:L});return}let w=z??0;if(w===0)C(O("Command executed successfully",{stdout:U,stderr:j,exitCode:w}),{exitCode:w,signal:L});else C(H(`Command exited with code ${w}`,{stdout:U,stderr:j,exitCode:w}),{exitCode:w,signal:L})})()})})}async function b1($,Q){let Z=$.args??[],J=[$.program,...Z].join(" ");if(R6($.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(() => (w6(),KZ)),G=await V({command:$.program,args:$.args,cwd:$.cwd??Q.workingDir,env:G8(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 j=()=>{clearInterval(U),G.close(),B()};Q.abortSignal.addEventListener("abort",j,{once:!0})}}return O(`Started interactive session with PID ${W}`,{pid:W})}let K=$.cwd??Q.workingDir,X=G8(Q,$.env);return new Promise((V)=>{let G=!1,W,B=(j)=>{if(G)return;if(G=!0,W)clearTimeout(W);V(j)},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 j=E6.spawn($.program,Z,{cwd:K,env:X,detached:!0,stdio:"ignore"});if(j.on("error",(A)=>{B(H(P.getErrorMessage(A)))}),j.pid){if(U=j.pid,j.on("exit",(A,q)=>{if(Q.processRegistry?.recordExitMetadata?.(j.pid,{exitCode:A,signal:q}),Q.processRegistry&&!f6(j.pid,!0))Q.processRegistry.remove(j.pid,{exitCode:A,signal:q})}),Q.processRegistry)Q.processRegistry.add(j.pid,{command:$.program,args:Z,cwd:K,interactive:!1});j.unref(),B(O(`Spawned process with PID ${j.pid}`,{pid:j.pid}))}else W=setTimeout(()=>{B(H("Failed to spawn process: no PID returned"))},100)}catch(j){B(H(P.getErrorMessage(j)))}})}async function NQ($,Q){let Z=$.signal??"SIGTERM";try{let J=PX(Z);if(J===void 0)return H(`Invalid signal: ${Z}`);if(Q.processRegistry?.has($.pid))wX($.pid,J);else process.kill($.pid,J);let Y=Q.processRegistry;if(Y?.waitForExit&&RX(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 IX($){return TX.includes($.toUpperCase())}function PX($){if(/^\d+$/.test($)){let Z=parseInt($,10);if(Z>=1&&Z<=31)return Z;return}let Q=$.toUpperCase();if(IX(Q))return Q;return}function RX($){if(typeof $==="number"){let Q=yX($);if(!Q)return!1;return!XZ.has(Q)}return!XZ.has($)}function wX($,Q){try{if($>0){process.kill(-$,Q);return}}catch{}process.kill($,Q)}function yX($){for(let[Q,Z]of Object.entries(k6.constants.signals))if(Z===$)return Q;return}function EX($){return typeof $.getAll==="function"}async function OQ($,Q){let Z=WZ($),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}):EX(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=WZ($);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=kX(G,W);if(G.status==="running"||G.timedOut)return H(`Timed out waiting for process ${J}`,B);return O(`Process ${J} exited`,B)}function kX($,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 WZ($){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),j=Date.now()+U,A=50;while(Date.now()<j){if(await new Promise((q)=>setTimeout(q,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 E6,k6,VZ,LX,MX,CX,TX,XZ;var M1=A2(()=>{Y0();X8();E6=require("node:child_process"),k6=require("node:os"),VZ=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"]),LX=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"]),MX=["GIT_CONFIG_KEY_","GIT_CONFIG_VALUE_","GIT_AUTHOR_","GIT_COMMITTER_"];CX=new Set([...VZ,"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"]);TX=["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"],XZ=new Set(["SIGCHLD","SIGCONT","SIGSTOP","SIGTSTP","SIGTTIN","SIGTTOU","SIGURG","SIGWINCH"])});var e6={};m1(e6,{getSessionHistory:()=>dZ,executeSessionHistory:()=>q$});async function cV(){if(dQ!==void 0)return dQ;if(b8)return b8;return b8=(async()=>{try{let Z=(await import("@aria-cli/cli")).SessionHistory,J=process.env.ARIA_HOME??s6.join(hZ.homedir(),".aria"),Y="ARIA";try{let{readFileSync:X,existsSync:V}=await import("node:fs"),G=s6.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}})(),b8}async function dZ($){if($.sessionHistory)return $.sessionHistory;return cV()}function cZ($){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 lV($,Q){if($.length<=Q)return $;return $.slice(0,Q-3)+"..."}function t6($,Q){if(Q.length===36)return $.getSession(Q)?Q:null;return $.findSessionByPrefix(Q)}async function q$($,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 dZ(Q);if(!Z)return H("Session history is not available in this context");try{switch($.action){case"list":return uV($,Z);case"search":return pV($,Z);case"get":return oV($,Z);case"current":return aV(Q,Z);case"stats":return rV(Z);case"delete":return nV($,Z);case"set_title":return iV($,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 uV($,Q){let Z=$.limit??20,J=$.offset??0,Y=Q.listSessions(Z,J),K=cZ(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 oV($,Q){if(!$.sessionId||$.sessionId.trim()==="")return H("sessionId is required for 'get' action");let Z=t6(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:lV(B.content,dV),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 aV($,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 rV($){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 nV($,Q){if(!$.sessionId||$.sessionId.trim()==="")return H("sessionId is required for 'delete' action");let Z=t6(Q,$.sessionId);if(!Z)return H(`Session not found for ID/prefix "${$.sessionId}"`);return Q.deleteSession(Z),O(`Deleted session ${Z}`)}function iV($,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=t6(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,s6,dV=2000,dQ,b8=null;var cQ=A2(()=>{Y0();hZ=E(require("node:os")),s6=E(require("node:path"))});function pZ($){if(typeof $!=="object"||$===null)return!1;let Q=$;return typeof Q.address==="string"&&(Q.family===4||Q.family===6)}function w8($){if(Array.isArray($))return $.filter(pZ).map((Q)=>({address:Q.address,family:Q.family}));if(pZ($))return[{address:$.address,family:$.family}];return[]}function u2($){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 y8($){if($.startsWith("::ffff:"))return y8($.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(aZ.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 YG($){let Q=u2($);if(Q)return Q;let Z=new URL($);try{let J=await oZ.promises.lookup(Z.hostname,{all:!0,verbatim:!0}),Y=w8(J).map((X)=>X.address);if(Y.length===0)return`DNS resolution failed for ${Z.hostname}: no addresses returned`;let K=Y.find((X)=>y8(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 R1($){let Q=$?.body;if(!Q||Q.locked)return;try{await Q.cancel()}catch{}}async function Q9($,Q,Z={}){let J=Z.maxHops??JG,Y=Z.fetchFn??fetch,K=Z.validateRedirectUrl??YG,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 R1(X),Error(`Invalid redirect URL: ${W}`)}let U=await K(B);if(U)throw await R1(X),Error(`Redirect blocked (hop ${G+1}): ${U}`);await R1(X),X=await Y(B,{...Q,redirect:"manual"}),V=X.url||B,G++}return X}var oZ,aZ,JG=5;var Z9=A2(()=>{Y0();oZ=E(require("node:dns")),aZ=E(require("node:net"))});var tZ={};m1(tZ,{fetchWithDnsPinning:()=>GG,createPinnedAgent:()=>sZ});async function KG($){let Q;try{let J=await nZ.promises.lookup($,{all:!0,verbatim:!0});Q=w8(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)=>y8(J.address));if(Z)throw Error(`SSRF protection: ${$} resolves to private network address ${Z.address}`);return Q}function XG($){return $ instanceof Error&&$.name==="AbortError"}function VG($){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 sZ($,Q){return new iZ.Agent({connect:{lookup:(Z,J,Y)=>{Y(null,[{address:$,family:Q}])}}})}async function GG($,Q){let Z=u2($);if(Z)throw Error(Z);let J=new URL($),Y=await KG(J.hostname),K=[],X;for(let{address:G,family:W}of Y){let B=sZ(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(XG(U))throw U;X=U,K.push(`${G}/${W}: ${VG(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 nZ,iZ;var eZ=A2(()=>{Y0();Z9();nZ=E(require("node:dns")),iZ=require("undici")});var xJ={};m1(xJ,{shutdownAll:()=>uW,getServerForFile:()=>cW,getOrCreateServer:()=>lW,getLanguageId:()=>gJ,LspServer:()=>C9,LSP_SERVERS:()=>o8});function cW($){let Q=$.slice($.lastIndexOf("."));return M9.get(Q)}function gJ($){let Q=$.slice($.lastIndexOf(".")),Z=M9.get(Q);if(!Z)return;return o8[Z]?.extensionToLanguage[Q]}class C9{process=null;connection=null;initialized=!1;openFiles=new Set;diagnosticsReceived=new Set;serverName;config;rootUri;constructor($,Q){this.serverName=$;let Z=o8[$];if(!Z)throw Error(`Unknown LSP server: ${$}`);this.config=Z,this.rootUri=`file://${D2.resolve(Q)}`}async start(){if(this.connection)return;this.process=kJ.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=mW(new hW(this.process.stdout),new dW(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://${D2.resolve($)}`;if(this.openFiles.has(Q))return;let Z=gJ($);if(!Z)return;let J;try{J=SJ.readFileSync(D2.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://${D2.resolve($)}`},position:{line:Q,character:Z}})}async references($,Q,Z){return await this.ensureReady($),this.connection.sendRequest("textDocument/references",{textDocument:{uri:`file://${D2.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://${D2.resolve($)}`},position:{line:Q,character:Z}})}async documentSymbols($){return await this.ensureReady($),this.connection.sendRequest("textDocument/documentSymbol",{textDocument:{uri:`file://${D2.resolve($)}`}})}async rename($,Q,Z,J){return await this.ensureReady($),this.connection.sendRequest("textDocument/rename",{textDocument:{uri:`file://${D2.resolve($)}`},position:{line:Q,character:Z},newName:J})}async ensureReady($){if(!this.initialized)await this.start();await this.openFile($)}}function lW($,Q){let Z=`${$}:${Q}`,J=p8.get(Z);if(!J)J=new C9($,Q),p8.set(Z,J);return J}async function uW(){let $=[...p8.values()].map((Q)=>Q.stop());await Promise.allSettled($),p8.clear()}var kJ,SJ,D2,vJ,fJ,xW,mW,hW,dW,o8,M9,p8;var mJ=A2(()=>{kJ=require("node:child_process"),SJ=require("node:fs"),D2=require("node:path"),vJ=require("node:url"),fJ=require("node:module"),xW=fJ.createRequire(vJ.fileURLToPath("file:///Users/hole/aria/packages/tools/src/executors/lsp-client.ts")),{createMessageConnection:mW,StreamMessageReader:hW,StreamMessageWriter:dW}=xW("vscode-jsonrpc/node"),o8={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}},M9=new Map;for(let[$,Q]of Object.entries(o8))for(let Z of Object.keys(Q.extensionToLanguage))M9.set(Z,$);p8=new Map});var ZX={};m1(ZX,{resolveTrustedRuntimeErrorMessage:()=>ZQ,isValidPeerTransportTransition:()=>e3,isValidPeerStateCombination:()=>$Q,isValidPeerIdentityTransition:()=>t3,isSupportedNetworkRuntimeProtocolVersion:()=>d$,isLoopbackDirectEndpointHost:()=>UQ,ensureOwnerEpochTable:()=>M7,derivePeerStateFromLegacyStatus:()=>s3,createTrustedRuntimeError:()=>F1,createSentDeliveryReceipt:()=>w3,createQueuedForRouteReceipt:()=>P3,createDispatchingDeliveryReceipt:()=>R3,createAckedDeliveryReceipt:()=>I3,comparePeerMutationPrecedence:()=>$5,claimDbOwnerEpoch:()=>P4,canonicalizeOutboxReceiptStatus:()=>y3,canonicalizeDeliveryReceipt:()=>O0,canonicalizeAuthoritativeDirectEndpoint:()=>j5,canRefreshEndpoint:()=>U5,canRecordPendingPair:()=>G5,canMutateTrustedState:()=>F5,canHeartbeat:()=>B5,canCommitVerifiedPair:()=>W5,canAttemptDurableDelivery:()=>D5,canAttemptBestEffortTransport:()=>H5,assertSupportedNetworkRuntimeProtocolVersion:()=>v3,assertDbOwnership:()=>R4,TransportInviteTokenSchema:()=>f3,TransportEndpointAdvertisementSchema:()=>q0,TlsCaFingerprintSchema:()=>t0,StaleOwnerError:()=>BQ,SigningPublicKeySchema:()=>J0,SignedContinuityBindSchema:()=>p1,SessionStateSchema:()=>X1,RuntimeTransportSchema:()=>Y1,RuntimeStatusSchema:()=>M0,RuntimeRunEventSchema:()=>Q2,RuntimeRegisterRequestSchema:()=>d3,RuntimeQueuedReceiptSchema:()=>Z2,RuntimeOwnerRecordSchema:()=>h$,RuntimeNodeAdvertisementSchema:()=>m3,RuntimeIngressEnvelopeSchema:()=>x3,RuntimeIdSchema:()=>I0,RuntimeEventSchema:()=>U1,RuntimeEventKindSchema:()=>l1,RuntimeEventCursorSchema:()=>o1,RuntimeErrorDiagnosticSchema:()=>N2,RuntimeDiscoveryAdvertisementSchema:()=>h3,RuntimeDeliveryReceiptSchema:()=>J2,RuntimeBootstrapTlsSchema:()=>WQ,RuntimeBootstrapRevisionSchema:()=>VQ,RuntimeBootstrapRecordSchema:()=>Q$,RuntimeBootstrapPhaseSchema:()=>$$,RuntimeBootstrapIdentitySchema:()=>V5,RuntimeBootstrapControlEndpointSchema:()=>GQ,RuntimeAutonomousLoopStatusSchema:()=>JQ,RuntimeAutonomousLoopSafetyPolicySummarySchema:()=>a1,RuntimeAutonomousLoopCommandSchema:()=>r1,RunResultSchema:()=>L0,RunRequestSchema:()=>k0,RevokePeerResponseSchema:()=>k2,RevokePeerRequestSchema:()=>E2,RevocationOperatorConfirmationSchema:()=>x$,RevocationGenerationSchema:()=>g$,RevocationDecisionSchema:()=>k3,ResumeRunRequestSchema:()=>$2,RepairPeerResponseSchema:()=>v2,RepairPeerRequestSchema:()=>S2,RelayPendingResponseSchema:()=>n3,RelayPendingRequestSchema:()=>s$,RelayPendingQuerySchema:()=>i$,RelayPendingQueryJsonSchema:()=>r3,QueuedReasonSchema:()=>G1,PublicationRevisionSchema:()=>f$,PrincipalFingerprintSchema:()=>m,PersistedInboxEventSchema:()=>c0,PendingPairRequestViewSchema:()=>L2,PendingInviteViewSchema:()=>q1,PeerViewEventSchema:()=>Y2,PeerTransportStateSchema:()=>D1,PeerTransportIdSchema:()=>Z0,PeerStateSnapshotSchema:()=>QQ,PeerMutationKindSchema:()=>i3,PeerIdentityStateSchema:()=>H1,PairRequestRouteBodySchema:()=>r$,PairRequestRouteBodyJsonSchema:()=>p3,PairRequestResponseSchema:()=>C2,PairRequestDecisionSchema:()=>M2,PairRelayRouteBodySchema:()=>n$,PairRelayRouteBodyJsonSchema:()=>a3,PairProposalSchema:()=>c3,OwnerGenerationSchema:()=>m$,OutboxReceiptStatusSchema:()=>T3,OutboundMessageSchema:()=>S0,NodePrincipalBindingRefSchema:()=>W1,NodeMetadataSchema:()=>E3,NodeIdSchema:()=>R,NodeAdvertisementSchema:()=>c1,NetworkRuntimeProtocolVersionSchema:()=>j0,NetworkRouteRevokeRequestSchema:()=>a$,NetworkRouteRevokeRequestJsonSchema:()=>l3,NearbyPeerViewSchema:()=>O2,NETWORK_RUNTIME_PROTOCOL_VERSION:()=>B1,MutationOperationSchema:()=>p$,MutationEnvelopeSchema:()=>o$,LoopbackTlsIdentitySchema:()=>d1,LocalRuntimeSummarySchema:()=>S3,LocalControlSocketSuccessResponseSchema:()=>KQ,LocalControlSocketResponseSchema:()=>_1,LocalControlSocketRequestSchema:()=>z1,LocalControlSocketMethodSchema:()=>YQ,LocalControlSocketErrorResponseSchema:()=>XQ,LocalControlSocketDetachClientResponseSchema:()=>X5,LocalControlSocketDetachClientRequestSchema:()=>K5,LocalControlSocketAttachClientResponseSchema:()=>Y5,LocalControlSocketAttachClientRequestSchema:()=>J5,LocalControlClientKindSchema:()=>s1,LegacyPeerRuntimeShapeSchema:()=>e$,LegacyPeerRegistryStatusSchema:()=>t$,JoinRouteBodySchema:()=>l$,JoinRouteBodyJsonSchema:()=>g3,JoinRequestSchema:()=>u1,InvitePeerResultSchema:()=>P2,InvitePeerRequestSchema:()=>I2,InboxListRequestSchema:()=>d0,InboxCursorSchema:()=>j1,InboxAddressSchema:()=>e0,EndpointRevisionSchema:()=>i0,DurableSubmitResultSchema:()=>L4,DurableDeliveryResultSchema:()=>O4,DurableDeliveryHandleSchema:()=>O7,DirectPairResponseSchema:()=>y2,DirectPairRequestSchema:()=>K2,DirectPairRequestJsonSchema:()=>Z5,DeliveryStateSchema:()=>K1,DeliveryReadinessSchema:()=>V1,DeliveryLifecycleRevisionSchema:()=>N4,DeliveryAckSchema:()=>c$,CreateInviteResponseSchema:()=>T2,CreateInviteRequestSchema:()=>b2,ControlEndpointAdvertisementSchema:()=>F0,ContinuityStatementSchema:()=>u$,ClientIdSchema:()=>s0,CancelInviteResponseSchema:()=>i1,CancelInviteRequestSchema:()=>n1,BindingGenerationSchema:()=>h1,AttachedClientViewSchema:()=>f2,AttachedClientLeaseGrantSchema:()=>t1,AttachedClientAuthSchema:()=>X2,AcceptInviteTokenResponseSchema:()=>w2,AcceptInviteTokenRequestSchema:()=>R2,AcceptInviteResponseSchema:()=>A1,AcceptInviteRequestSchema:()=>_2,AcceptInviteRequestBodyJsonSchema:()=>o3});module.exports=j4(ZX);var y0=require("zod"),Y1=y0.z.enum(["in_process","local_runtime","tunnel","relay"]),K1=y0.z.enum(["accepted","queued_for_route","dispatching","sent","acked","expired","failed","rejected"]),X1=y0.z.enum(["none","handshaking","connected","reconnecting","dead"]),V1=y0.z.enum(["cannot_address","can_queue_only","can_send_now"]),G1=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:Y1,delivered:y0.z.boolean(),queued:y0.z.boolean(),accepted:y0.z.boolean().optional(),deliveryState:K1.optional(),sessionState:X1.optional(),deliveryReadiness:V1.optional(),queuedReason:G1.optional()}).strict(),q4={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 EK($,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 kK($){if(!$.deliveryState)return;if($.deliveryState==="sent"&&$.queued&&$.queuedReason==="awaiting_remote_ack")return"dispatching";return $.deliveryState}function SK($,Q){return q4[$]<=q4[Q]?$:Q}function vK($,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 fK($,Q,Z){if($==="local_runtime")return"none";if(!Q)return Z;return A4[Q]<=A4[Z]?Q:Z}function gK($,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 xK($,Q){if(!$)return Q;return z4[$]<=z4[Q]?$:Q}function mK($,Q){if(Q==="rejected")return!1;return $.accepted??!0}function hK($){return $==="queued_for_route"||$==="dispatching"}function dK($,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=EK($,$.accepted??!0),Z=kK($),J=Z?SK(Z,Q):Q,Y=mK($,J),K=J==="acked",X=hK(J),V=vK($.transport,J),G=fK($.transport,$.sessionState,V),W=gK($.transport,J,G),B=xK($.deliveryReadiness,W),U=dK($,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()}),f$=y.z.number().int().nonnegative(),i0=y.z.number().int().nonnegative(),h1=y.z.number().int().nonnegative(),g$=y.z.number().int().nonnegative(),x$=y.z.enum(["local_operator_confirmed","remote_capability_authenticated"]),k3=y.z.object({localNodeId:R,targetNodeId:R,revocationGeneration:g$,operatorConfirmation:x$}),m$=y.z.number().int().positive(),N4=y.z.number().int().nonnegative(),h$=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:m$}).strict(),s0=s.brand(),m=s.brand(),Z0=s.brand(),t0=s.brand(),d1=s.brand(),J0=s.brand(),q0=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:m,protocolVersion:y.z.number().int().positive(),endpointRevision:i0.optional()}),c1=y.z.object({nodeId:R,principalFingerprint:m,transportPublicKey:Z0,publicationRevision:f$.optional(),controlEndpoint:F0.optional(),displayNameSnapshot:s.optional()}),S3=y.z.object({nodeId:R,runtimeId:I0,lastHeartbeat:s.optional(),controlEndpoint:F0.optional(),displayNameSnapshot:s.optional()}),O7=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:O7,queuedAt:y.z.string()}),y.z.object({status:y.z.literal("rejected"),reason:y.z.enum(["recipient_revoked","recipient_unknown","envelope_invalid"])})]);var L7=require("zod");var cK=L7.z.string().trim().min(1),W1=L7.z.object({nodeId:R,principalFingerprint:m,transportPublicKey:Z0,bindingGeneration:h1,displayNameSnapshot:cK.optional()}).strict();var p=require("zod");var k=require("zod");var z2=require("zod");var M4=z2.z.string().trim().min(1),lK=z2.z.record(z2.z.string(),z2.z.unknown()),l1=z2.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"]),U1=z2.z.object({eventId:M4,nodeId:R,runtimeId:I0,kind:l1,revision:z2.z.number().int().nonnegative().optional(),recordedAt:M4,payload:lK}).strict();var v=k.z.string().trim().min(1),uK=k.z.string().min(1).refine(($)=>$.trim().length>0),C4=k.z.record(k.z.string(),k.z.unknown());function b4($){let Q=k.z.toJSONSchema($);return delete Q.$schema,Q}var B1=1,j0=k.z.literal(B1);function d$($){return $===B1}function v3($,Q="network runtime"){if(!d$($))throw Error(`Unsupported ${Q} protocol version ${String($)}. Supported: ${B1}`);return $}var c$=k.z.object({protocolVersion:j0,messageId:v,senderNodeId:R,recipientNodeId:R,storedAt:k.z.number().int().nonnegative()}).strict(),f3=k.z.object({nodeId:R,audienceNodeId:R.optional(),publicKey:Z0,leaderDisplayNameSnapshot:v.optional(),host:v,port:k.z.number().int().min(1).max(65535),controlEndpoint:F0.optional(),psk:v,displayNameSnapshot:v.optional(),signingPublicKey:J0.optional(),caCert:uK.optional(),createdAt:k.z.number().int().nonnegative(),expiresAt:k.z.number().int().nonnegative(),tokenNonce:v,coordinationUrl:v.optional(),networkId:v.optional()}).strict(),u1=k.z.object({protocolVersion:j0,nodeId:R,principalFingerprint:m,peerPublicKey:Z0,signingPublicKey:J0,transportEndpoint:q0,controlEndpoint:F0.optional(),displayNameSnapshot:v.optional(),inviteTokenNonce:v}).strict(),l$=u1.extend({proofOfWork:v}).strict(),g3=b4(l$),x3=k.z.union([k.z.object({protocolVersion:j0,deliveryAck:c$}).strict(),k.z.object({protocolVersion:j0,ariaMessage:k.z.unknown()}).strict(),k.z.object({protocolVersion:j0,joinRequest:u1}).strict()]),m3=c1.extend({protocolVersion:j0,publicationRevision:f$,signingPublicKey:J0,transportEndpoint:q0,advertisedHosts:k.z.array(v).min(1).optional()}).strict(),h3=k.z.object({protocolVersion:j0,nodeId:R,displayNameSnapshot:v,principalFingerprint:m,controlPort:k.z.number().int().min(1).max(65535),advertisedHosts:k.z.array(v).min(1),tlsCaFingerprint:k.z.string().trim().min(1).optional()}).strict(),d3=k.z.object({protocolVersion:j0,nodeId:R,transportPublicKey:Z0,principalFingerprint:m,endpointRevision:i0,controlEndpoint:F0.optional(),displayNameSnapshot:v.optional()}).strict(),c3=k.z.object({protocolVersion:j0,nodeId:R,principalFingerprint:m,transportPublicKey:Z0,controlEndpoint:F0.optional(),displayNameSnapshot:v.optional(),presharedKey:v}).strict(),u$=k.z.object({nodeId:R,previousPrincipalFingerprint:m,newPrincipalFingerprint:m,newTransportPublicKey:Z0.optional(),bindingGeneration:h1,revocationGeneration:g$.optional(),createdAt:v}).strict(),p1=k.z.object({statement:u$,delegationSignature:v,acceptanceSignature:v,previousPublicKey:v,newPublicKey:v}).strict(),p$=k.z.enum(["network.register","network.revoke","network.list_peers","pair.direct","pair.relay","pair.relay_response","peer.update_capabilities","peer.update_trust_tier"]),o$=k.z.object({version:j0,id:v,operation:p$,principal:W1,target:W1,namespace:v,policyEpoch:k.z.number().int().nonnegative(),nonce:v,timestamp:k.z.number().int().nonnegative(),ttl:k.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(),a$=k.z.object({nodeId:R,envelope:o$}).strict(),l3=b4(a$);var h0=p.z.string().trim().min(1);function u3($){let Q=p.z.toJSONSchema($);return delete Q.$schema,Q}var r$=p.z.object({displayNameSnapshot:h0,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(r$),_2=p.z.object({inviteToken:h0,nodeId:R,displayNameSnapshot:h0.optional(),transportEndpoint:q0,controlEndpoint:F0,continuity:p1.optional()}).strict(),o3=u3(_2),n$=p.z.object({targetNodeId:R,displayNameSnapshot:h0,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(n$),i$=p.z.object({targetNodeId:R,signingPublicKey:J0,signature:h0.max(512),timestamp:h0.max(20)}).strict(),r3=u3(i$),s$=p.z.object({id:h0,nodeId:R,displayNameSnapshot:h0.optional(),principalFingerprint:m,signingPublicKey:J0,port:p.z.number().int().min(1).max(65535),ingressHost:h0,responderControlHostHint:h0.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:s$.array()}).strict();var F=require("zod");var E0=require("zod"),t$=E0.z.enum(["active","pending","pending_tunnel","pending_verification","revoked"]),H1=E0.z.enum(["invited","joining","paired_unverified","verified","revoked"]),D1=E0.z.enum(["unknown","endpoint_known","connecting","connected","degraded","disconnected"]),i3=E0.z.enum(["repair","continuity","revocation"]),e$=E0.z.object({status:t$,endpointHost:E0.z.string().nullable().optional(),endpointPort:E0.z.number().int().nullable().optional(),lastHandshake:E0.z.number().int().nullable().optional()}),pK={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 pK[$].includes(Q)}var QQ=E0.z.object({identityState:H1,transportState:D1}).superRefine(($,Q)=>{if(!$Q($.identityState,$.transportState))Q.addIssue({code:E0.z.ZodIssueCode.custom,message:`invalid peer state combination: ${$.identityState}/${$.transportState}`})});function s3($){let Q=e$.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 oK={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 oK[$].includes(Q)}var aK={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 aK[$].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(),rK=F.z.array(F.z.custom()).optional();function nK($){let Q=F.z.toJSONSchema($);return delete Q.$schema,Q}var k0=F.z.object({task:I,arion:I.optional(),cwd:I.optional(),history:rK,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(),N2=F.z.lazy(()=>F.z.object({message:F.z.string(),name:F.z.string().optional(),stack:F.z.string().optional(),cause:N2.optional()}).catchall(F.z.unknown()));function iK($){if(!$||typeof $!=="object")return;let Q=$.message;if(typeof Q!=="string")return;let Z=Q.trim();return Z.length>0?Z:void 0}function sK($){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=iK(Q);if(!J)return Z;if(!Z||sK(Z))return J;return Z}function F1($,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:N2.optional()}).strict(),$2=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(),Q2=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:N2.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()})]),Z2=F.z.object(_4.shape).strict().transform(($)=>O0($)),J2=F.z.object({transport:Y1,delivered:F.z.boolean(),queued:F.z.boolean(),accepted:F.z.boolean().optional(),deliveryState:K1.optional(),sessionState:X1.optional(),deliveryReadiness:V1.optional(),queuedReason:G1.optional(),storedAt:F.z.number().int().nonnegative().optional()}).strict().transform(({storedAt:$,...Q})=>({...O0(Q),...$!==void 0?{storedAt:$}:{}})),S0=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"]})}),o1=F.z.object({afterRevision:F.z.number().int().nonnegative().optional()}).strict(),j1=F.z.object({afterCreatedAt:F.z.number().int().nonnegative().optional()}).strict(),d0=F.z.object({cursor:j1.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(),Y2=F.z.object({nodeId:R,transportPublicKey:Z0,displayNameSnapshot:I.optional(),identityState:H1,transportState:D1,endpointRevision:i0,updatedAt:F.z.string(),lastSeenAt:F.z.string().optional()}).strict(),O2=F.z.object({displayNameSnapshot:I,nodeId:R,host:I,port:F.z.number().int().min(1).max(65535),principalFingerprint:m,version:I,tlsCaFingerprint:t0.optional(),transport:F.z.enum(["lan","wan"]).optional(),status:F.z.enum(["discovered","connected"]).optional()}).strict(),a1=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:a1,ownerClientKind:I.nullable()}).strict();function tK(){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(tK())}).strict(),r1=F.z.object({intervalMs:F.z.number().int().positive().optional(),safetyPolicy:a1.optional()}).strict(),L2=F.z.object({id:I,nodeId:R,displayNameSnapshot:I.optional(),principalFingerprint:m}).strict(),q1=F.z.object({inviteId:I,inviteLabel:I.optional(),createdAt:I,expiresAt:I.nullable().optional()}).strict(),M2=F.z.object({requestId:I,accepted:F.z.boolean()}).strict(),C2=F.z.object({accepted:F.z.boolean().optional(),inviteToken:F.z.string().optional(),error:F.z.string().optional()}).strict(),b2=F.z.object({inviteLabel:I.optional(),durationMs:F.z.number().int().min(0).optional()}).strict(),T2=F.z.object({inviteToken:I,pendingInvite:q1}).strict(),I2=F.z.object({nodeId:R,displayName:I,principalFingerprint:m.optional(),controlEndpoint:F0,transportEndpoint:q0.optional(),transport:F.z.enum(["lan","wan"]).optional()}).strict(),ND=F.z.enum(["pending_verification"]),P2=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()]),A1=F.z.object({success:F.z.boolean(),nodeId:R,displayNameSnapshot:I.optional()}).strict(),R2=F.z.object({inviteToken:I}).strict(),w2=A1,n1=F.z.object({inviteId:I}).strict(),i1=F.z.object({cancelled:F.z.boolean(),inviteId:I}).strict(),K2=F.z.object({peerNodeId:R,principalFingerprint:m,peerDisplayName:I.optional(),peerWgPubkey:Z0,peerSigningPubkey:I,transportEndpoint:q0,controlEndpoint:F0,psk:I}).strict(),Z5=nK(K2),y2=F.z.object({received:F.z.literal(!0),pairingProofState:F.z.literal("pending_verification")}).strict(),E2=F.z.object({nodeId:R,envelope:F.z.record(F.z.string(),F.z.unknown()).optional()}).strict(),k2=F.z.object({revoked:F.z.boolean(),nodeId:R,displayNameSnapshot:I.optional()}).strict(),S2=F.z.object({nodeId:R,endpointHost:I,endpointPort:F.z.number().int().min(1).max(65535),endpointRevision:i0}).strict(),v2=F.z.object({repaired:F.z.boolean(),nodeId:R,endpointHost:I,endpointPort:F.z.number().int().min(1).max(65535),endpointRevision:i0}).strict(),s1=F.z.enum(["tui","daemon-launcher","pipe","local-api"]),f2=F.z.object({clientId:s0,clientKind:s1,displayLabel:I,self:F.z.boolean(),attachedAt:I,lastSeenAt:I}).strict(),t1=F.z.object({clientId:s0,clientAuthToken:I}).strict(),X2=t1,J5=F.z.object({clientKind:s1,lease:F.z.boolean().optional(),pid:F.z.number().optional(),displayName:F.z.string().optional()}).strict(),Y5=t1,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"]),eK=new Set(["listAttachedClients","listDirectClientInbox","subscribeDirectClientInbox"]),z1=F.z.object({id:I,method:YQ,payload:F.z.unknown().optional(),auth:X2.optional()}).strict().superRefine(($,Q)=>{if(eK.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:N2.optional()}).strict(),_1=F.z.discriminatedUnion("ok",[KQ,XQ]);var l0=require("zod");var e1=l0.z.string().trim().min(1),$X=l0.z.string().min(1).refine(($)=>$.trim().length>0),VQ=l0.z.number().int().nonnegative(),$$=l0.z.enum(["starting","tls_bound","control_ready","network_ready","mesh_ready","degraded","stopped"]),GQ=l0.z.object({host:e1,port:l0.z.number().int().min(1).max(65535)}).strict(),WQ=l0.z.object({caFingerprint:t0,caCertPem:$X,principalIdentity:m,loopbackIdentity:d1}).strict(),V5=l0.z.object({signingPublicKey:J0,transportPublicKey:Z0,transportEndpoint:q0,displayNameSnapshot:e1.optional()}).strict(),Q$=l0.z.object({nodeId:R,runtimeId:I0,arionName:e1.optional(),ownerGeneration:m$,bootstrapRevision:VQ,phase:$$,protocolVersion:j0,controlEndpoint:GQ,displayNameSnapshot:e1.optional(),signingPublicKey:J0,transportPublicKey:Z0,transportEndpoint:q0,tls:WQ,publishedAt:e1,degradedReason:e1.optional(),failedPhase:$$.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 QX($){return $.trim().toLowerCase()}function UQ($){let Q=QX($);return Q==="localhost"||Q==="::1"||Q==="[::1]"||Q.endsWith(".localhost")||/^127\./.test(Q)}function j5($){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 M7($){$.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 iH={};m1(iH,{validateToolInput:()=>CQ,tool:()=>$0,toNetworkStatusView:()=>C6,toNetworkPeerView:()=>M6,toNetworkControlRef:()=>l4,shouldForceSynchronousFrgFlush:()=>wQ,settleWithDeadline:()=>x8,searchWeb:()=>c8,searchSkillRegistries:()=>d8,searchMemoria:()=>m8,searchLocalSkills:()=>h8,scheduleBackgroundFrgFlush:()=>h2,sanitizeGitEnv:()=>v6,sanitizeEnv:()=>L1,runInPTY:()=>V8,resolveTrustedRuntimeErrorMessage:()=>ZQ,resetAskUserCounter:()=>D9,recordFrgMutation:()=>u0,reconcileGitDirtyMutations:()=>EQ,mergePolicies:()=>FK,maybeBuildFrgIndexForRepo:()=>U$,isValidPeerTransportTransition:()=>e3,isValidPeerStateCombination:()=>$Q,isValidPeerIdentityTransition:()=>t3,isToolAllowed:()=>DK,isSupportedNetworkRuntimeProtocolVersion:()=>d$,isLoopbackDirectEndpointHost:()=>UQ,isAskUserPauseRequiredError:()=>w4,getSessionTranscript:()=>P8,getSelfContext:()=>R8,getPendingFrgMutations:()=>U2,getPendingFrgMutationBytes:()=>RQ,getOSContext:()=>W3,getGitDirtyStatus:()=>yQ,getFrgFreshnessSnapshot:()=>T1,getFrgFlushStatus:()=>A8,getCoreToolsByRiskLevel:()=>Y4,getCoreToolsByCategory:()=>J4,getCoreTools:()=>Q4,getCoreTool:()=>Z4,getConversationContext:()=>I8,flushPendingFrgMutations:()=>W$,fetchJson:()=>L$,expandGroups:()=>E$,executeWriteStdin:()=>MQ,executeWriteFile:()=>SQ,executeWebSearch:()=>iQ,executeWebFetch:()=>sQ,executeWakeArion:()=>Q3,executeWaitProcess:()=>LQ,executeUseSkill:()=>H3,executeSpawn:()=>b1,executeSessionHistory:()=>q$,executeSearchKnowledge:()=>y1,executeRetireArion:()=>Z3,executeRestArion:()=>$3,executeRemember:()=>lQ,executeReflect:()=>oQ,executeRecall:()=>uQ,executeReadFile:()=>kQ,executeQuestUpdate:()=>K3,executeQuestList:()=>X3,executeLs:()=>fQ,executeListProcesses:()=>OQ,executeLearnTool:()=>l8,executeLearnSkill:()=>u8,executeLearnLegacy:()=>H2,executeKill:()=>NQ,executeHatchArion:()=>eQ,executeGrep:()=>r6,executeGlob:()=>gQ,executeFrg:()=>mQ,executeForget:()=>pQ,executeExec:()=>Y$,executeEditFile:()=>vQ,executeDiscover:()=>$9,executeCreateTool:()=>U3,executeCreateSkill:()=>B3,executeBrowse:()=>tQ,executeBash:()=>C1,executeAskUser:()=>Y3,executeApplyPatch:()=>i6,ensureFrgRepoStateLoaded:()=>PQ,derivePeerStateFromLegacyStatus:()=>s3,dedupSearchResults:()=>V3,createTrustedRuntimeError:()=>F1,createToolRegistry:()=>nH,createSentDeliveryReceipt:()=>w3,createRuntimeSocketLocalControlClient:()=>I6,createRuntimeSocketAttachedLocalControlClient:()=>o4,createQueuedForRouteReceipt:()=>P3,createPTYSession:()=>zQ,createDispatchingDeliveryReceipt:()=>R3,createAckedDeliveryReceipt:()=>I3,comparePeerMutationPrecedence:()=>$5,clearPendingFrgMutations:()=>G$,classifyCommand:()=>W2,canonicalizeOutboxReceiptStatus:()=>y3,canonicalizeDeliveryReceipt:()=>O0,canonicalizeAuthoritativeDirectEndpoint:()=>j5,canRefreshEndpoint:()=>U5,canRecordPendingPair:()=>G5,canMutateTrustedState:()=>F5,canHeartbeat:()=>B5,canCommitVerifiedPair:()=>W5,canAttemptDurableDelivery:()=>D5,canAttemptBestEffortTransport:()=>H5,assertSupportedNetworkRuntimeProtocolVersion:()=>v3,TransportInviteTokenSchema:()=>f3,TransportEndpointAdvertisementSchema:()=>q0,ToolRegistry:()=>X$,TlsCaFingerprintSchema:()=>t0,TavilySearchProvider:()=>r2,TOOL_GROUPS:()=>K4,SpawnedProcessRegistry:()=>S8,SigningPublicKeySchema:()=>J0,SignedContinuityBindSchema:()=>p1,SessionStateSchema:()=>X1,SearchProviderRouter:()=>p2,SOURCE_PRIORITY:()=>w1,SHELL_BLOCKED_PATTERNS:()=>K8,RuntimeTransportSchema:()=>Y1,RuntimeStatusSchema:()=>M0,RuntimeRunEventSchema:()=>Q2,RuntimeRegisterRequestSchema:()=>d3,RuntimeQueuedReceiptSchema:()=>Z2,RuntimeOwnerRecordSchema:()=>h$,RuntimeNodeAdvertisementSchema:()=>m3,RuntimeIngressEnvelopeSchema:()=>x3,RuntimeIdSchema:()=>I0,RuntimeEventSchema:()=>U1,RuntimeEventKindSchema:()=>l1,RuntimeEventCursorSchema:()=>o1,RuntimeErrorDiagnosticSchema:()=>N2,RuntimeDiscoveryAdvertisementSchema:()=>h3,RuntimeDeliveryReceiptSchema:()=>J2,RuntimeBootstrapTlsSchema:()=>WQ,RuntimeBootstrapRevisionSchema:()=>VQ,RuntimeBootstrapRecordSchema:()=>Q$,RuntimeBootstrapPhaseSchema:()=>$$,RuntimeBootstrapIdentitySchema:()=>V5,RuntimeBootstrapControlEndpointSchema:()=>GQ,RuntimeAutonomousLoopStatusSchema:()=>JQ,RuntimeAutonomousLoopSafetyPolicySummarySchema:()=>a1,RuntimeAutonomousLoopCommandSchema:()=>r1,RunResultSchema:()=>L0,RunRequestSchema:()=>k0,RevokePeerResponseSchema:()=>k2,RevokePeerRequestSchema:()=>E2,RevocationOperatorConfirmationSchema:()=>x$,RevocationDecisionSchema:()=>k3,ResumeRunRequestSchema:()=>$2,RepairPeerResponseSchema:()=>v2,RepairPeerRequestSchema:()=>S2,RelayPendingResponseSchema:()=>n3,RelayPendingRequestSchema:()=>s$,RelayPendingQuerySchema:()=>i$,RelayPendingQueryJsonSchema:()=>r3,QueuedReasonSchema:()=>G1,PrincipalFingerprintSchema:()=>m,PersistedInboxEventSchema:()=>c0,PendingPairRequestViewSchema:()=>L2,PendingInviteViewSchema:()=>q1,PeerViewEventSchema:()=>Y2,PeerTransportStateSchema:()=>D1,PeerTransportIdSchema:()=>Z0,PeerStateSnapshotSchema:()=>QQ,PeerMutationKindSchema:()=>i3,PeerIdentityStateSchema:()=>H1,PairRequestRouteBodySchema:()=>r$,PairRequestRouteBodyJsonSchema:()=>p3,PairRequestResponseSchema:()=>C2,PairRequestDecisionSchema:()=>M2,PairRelayRouteBodySchema:()=>n$,PairRelayRouteBodyJsonSchema:()=>a3,PairProposalSchema:()=>c3,PTYTimeoutError:()=>O1,PTYSessionStore:()=>k8,PTYSession:()=>m2,PTYError:()=>x2,OutboxReceiptStatusSchema:()=>T3,OutboundMessageSchema:()=>S0,NodePrincipalBindingRefSchema:()=>W1,NodeMetadataSchema:()=>E3,NodeIdSchema:()=>R,NodeAdvertisementSchema:()=>c1,NetworkRuntimeProtocolVersionSchema:()=>j0,NetworkRouteRevokeRequestSchema:()=>a$,NetworkRouteRevokeRequestJsonSchema:()=>l3,NearbyPeerViewSchema:()=>O2,NETWORK_RUNTIME_PROTOCOL_VERSION:()=>B1,MutationOperationSchema:()=>p$,MutationEnvelopeSchema:()=>o$,MCPServerConnection:()=>g0,MCPClient:()=>Z$,MAX_PENDING_MUTATION_BYTES_BEFORE_SYNC_FLUSH:()=>j8,MAX_PENDING_MUTATIONS_BEFORE_SYNC_FLUSH:()=>F8,MAX_CACHED_MUTATION_CONTENT_BYTES:()=>q8,LoopbackTlsIdentitySchema:()=>d1,LocalRuntimeSummarySchema:()=>S3,LocalControlSocketSuccessResponseSchema:()=>KQ,LocalControlSocketResponseSchema:()=>_1,LocalControlSocketRequestSchema:()=>z1,LocalControlSocketMethodSchema:()=>YQ,LocalControlSocketErrorResponseSchema:()=>XQ,LocalControlSocketDetachClientResponseSchema:()=>X5,LocalControlSocketDetachClientRequestSchema:()=>K5,LocalControlSocketAttachClientResponseSchema:()=>Y5,LocalControlSocketAttachClientRequestSchema:()=>J5,LocalControlClientKindSchema:()=>s1,LegacyPeerRuntimeShapeSchema:()=>e$,LegacyPeerRegistryStatusSchema:()=>t$,LOCAL_HTTP_CLIENT_PROOF_HEADER:()=>r4,LOCAL_HTTP_CLIENT_ID_HEADER:()=>a4,JoinRouteBodySchema:()=>l$,JoinRouteBodyJsonSchema:()=>g3,JoinRequestSchema:()=>u1,JinaSearchProvider:()=>o2,JSONRPCClient:()=>N1,InvitePeerResultSchema:()=>P2,InvitePeerRequestSchema:()=>I2,InboxListRequestSchema:()=>d0,InboxCursorSchema:()=>j1,InboxAddressSchema:()=>e0,HeadlessToolApprovalPayloadSchema:()=>P7,HeadlessSystemTerminalSetupResultSchema:()=>t5,HeadlessSystemRestartResultSchema:()=>s5,HeadlessSystemRestartInputSchema:()=>V6,HeadlessSessionSummarySchema:()=>u7,HeadlessSessionReferenceInputSchema:()=>A5,HeadlessSessionReadResultSchema:()=>L5,HeadlessSessionLoadResultSchema:()=>M5,HeadlessSessionListResultSchema:()=>O5,HeadlessSessionListInputSchema:()=>p7,HeadlessServerFrameSchema:()=>c4,HeadlessSelectionResponsePayloadSchema:()=>g7,HeadlessSelectionPayloadSchema:()=>w7,HeadlessSelectionOptionSchema:()=>T7,HeadlessRunStartInputSchema:()=>j6,HeadlessRunResumeInputSchema:()=>q6,HeadlessRunAbortResultSchema:()=>w5,HeadlessRunAbortInputSchema:()=>G6,HeadlessResultSchema:()=>L6,HeadlessRequestSchema:()=>N6,HeadlessRequestIdSchema:()=>g2,HeadlessQuestionnaireResponsePayloadSchema:()=>f7,HeadlessQuestionnairePayloadSchema:()=>R7,HeadlessPendingPairListResultSchema:()=>I5,HeadlessPeerListResultSchema:()=>b5,HeadlessOperationSuccessResultSchema:()=>m4,HeadlessOperationNameSchema:()=>qQ,HeadlessOauthDeviceResponsePayloadSchema:()=>m7,HeadlessOauthDevicePayloadSchema:()=>E7,HeadlessNearbyPeerListResultSchema:()=>T5,HeadlessModelSetResultSchema:()=>c5,HeadlessModelSetInputSchema:()=>e7,HeadlessModelRefreshResultSchema:()=>l5,HeadlessModelListResultSchema:()=>d5,HeadlessMessageSendResultSchema:()=>C5,HeadlessMessageSendInputSchema:()=>Y6,HeadlessMessageInboxListInputSchema:()=>J6,HeadlessMemoryRememberResultSchema:()=>E5,HeadlessMemoryRememberInputSchema:()=>o7,HeadlessMemoryRecallResultSchema:()=>k5,HeadlessMemoryRecallKnowledgeResultSchema:()=>f5,HeadlessMemoryRecallKnowledgeInputSchema:()=>i7,HeadlessMemoryRecallInputSchema:()=>a7,HeadlessMemoryListResultSchema:()=>S5,HeadlessMemoryListInputSchema:()=>r7,HeadlessMemoryForgetResultSchema:()=>v5,HeadlessMemoryForgetInputSchema:()=>n7,HeadlessLoadedSessionSchema:()=>N5,HeadlessInteractionSourceSchema:()=>z5,HeadlessInteractionResponseSchema:()=>c7,HeadlessInteractionResponsePayloadSchema:()=>_5,HeadlessInteractionRespondResultSchema:()=>y5,HeadlessInteractionRequestSchema:()=>d7,HeadlessInteractionQuestionSchema:()=>b7,HeadlessInteractionPayloadSchema:()=>S7,HeadlessInteractionIdSchema:()=>AQ,HeadlessInboxListResultSchema:()=>FQ,HeadlessHookReflectResultSchema:()=>e5,HeadlessHookReflectMessageSchema:()=>B6,HeadlessHookReflectInputSchema:()=>H6,HeadlessHookIngestResultSchema:()=>Q8,HeadlessHookIngestInputSchema:()=>D6,HeadlessHookHarvestResultSchema:()=>Z8,HeadlessHookHarvestInputSchema:()=>F6,HeadlessHookExtractResultSchema:()=>R5,HeadlessHookExtractPairSchema:()=>W6,HeadlessHookExtractInputSchema:()=>U6,HeadlessHookConsolidateResultSchema:()=>$8,HeadlessEventSchema:()=>O6,HeadlessErrorSchema:()=>l7,HeadlessDaemonCommandInputSchema:()=>DQ,HeadlessCredentialInputResponsePayloadSchema:()=>x7,HeadlessCredentialInputPayloadSchema:()=>y7,HeadlessCredentialFieldSchema:()=>I7,HeadlessConfirmResponsePayloadSchema:()=>v7,HeadlessConfirmPayloadSchema:()=>k7,HeadlessConfigThemeSetResultSchema:()=>r5,HeadlessConfigThemeSetInputSchema:()=>K6,HeadlessConfigThemeGetResultSchema:()=>a5,HeadlessConfigAutonomySetResultSchema:()=>i5,HeadlessConfigAutonomySetInputSchema:()=>X6,HeadlessConfigAutonomyGetResultSchema:()=>n5,HeadlessClientListResultSchema:()=>P5,HeadlessClientInboxListInputSchema:()=>Z6,HeadlessClientFrameSchema:()=>d4,HeadlessCancelResponsePayloadSchema:()=>h7,HeadlessAuthStatusResultSchema:()=>u5,HeadlessAuthLogoutResultSchema:()=>o5,HeadlessAuthLogoutInputSchema:()=>Q6,HeadlessAuthLoginResultSchema:()=>p5,HeadlessAuthLoginInputSchema:()=>$6,HeadlessArionNameInputSchema:()=>HQ,HeadlessArionMutateResultSchema:()=>jQ,HeadlessArionListResultSchema:()=>g5,HeadlessArionHatchResultSchema:()=>x5,HeadlessArionHatchInputSchema:()=>s7,HeadlessArionCreateResultSchema:()=>h5,HeadlessArionCreateInputSchema:()=>t7,HeadlessArionBecomeResultSchema:()=>m5,HEADLESS_STREAMING_OPERATION_NAMES:()=>z6,HEADLESS_OPERATION_SCHEMAS:()=>A6,HEADLESS_OPERATION_NAMES:()=>C7,HEADLESS_CONNECTION_OWNED_OPERATION_NAMES:()=>h4,FirecrawlSearchProvider:()=>s2,ExaSearchProvider:()=>i2,DuckDuckGoSearchProvider:()=>a2,DirectPairResponseSchema:()=>y2,DirectPairRequestSchema:()=>K2,DirectPairRequestJsonSchema:()=>Z5,DeliveryStateSchema:()=>K1,DeliveryReadinessSchema:()=>V1,DeliveryAckSchema:()=>c$,DEFAULT_BACKGROUND_FRG_FLUSH_DELAY_MS:()=>IQ,CreateInviteResponseSchema:()=>T2,CreateInviteRequestSchema:()=>b2,ControlEndpointAdvertisementSchema:()=>F0,ContinuityStatementSchema:()=>u$,ClientIdSchema:()=>s0,CancelInviteResponseSchema:()=>i1,CancelInviteRequestSchema:()=>n1,CORE_TOOL_DEFINITIONS:()=>q2,BraveSearchProvider:()=>n2,BACKGROUND_FRG_MAX_FLUSH_DELAY_MS:()=>D8,AttachedClientViewSchema:()=>f2,AttachedClientLeaseGrantSchema:()=>t1,AttachedClientAuthSchema:()=>X2,AskUserPauseRequiredError:()=>q5,AcceptInviteTokenResponseSchema:()=>w2,AcceptInviteTokenRequestSchema:()=>R2,AcceptInviteResponseSchema:()=>A1,AcceptInviteRequestSchema:()=>_2,AcceptInviteRequestBodyJsonSchema:()=>o3});module.exports=j4(iH);class q5 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 q5)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(),cD=D.z.object({}).catchall(D.z.unknown()),P0=D.z.object({}).strict(),V2=D.z.string().datetime({offset:!0}).or(D.z.string().min(1)),JX=D.z.enum(["minimal","balanced","high","full"]),C7=["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"],qQ=D.z.enum(C7),g2=T,AQ=T,z5=D.z.enum(["run","auth","system","peer"]),b7=D.z.object({question:T,options:D.z.array(T).optional()}).strict(),T7=D.z.object({id:T,label:T,description:D.z.string().optional()}).strict(),I7=D.z.object({key:T,label:T,placeholder:D.z.string().optional(),secret:D.z.boolean().optional()}).strict(),P7=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(),R7=D.z.object({kind:D.z.literal("questionnaire"),prompt:D.z.string().optional(),questions:D.z.array(b7).min(1)}).strict(),w7=D.z.object({kind:D.z.literal("selection"),prompt:T,options:D.z.array(T7).min(1)}).strict(),y7=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(I7).min(1)}).strict(),E7=D.z.object({kind:D.z.literal("oauth_device"),prompt:T,provider:T.optional(),profileLabel:T.optional(),verificationUri:T,userCode:T,expiresAt:V2.optional(),intervalSeconds:v0.optional()}).strict(),k7=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(),S7=D.z.discriminatedUnion("kind",[P7,R7,w7,y7,E7,k7]),v7=D.z.object({kind:D.z.literal("confirm"),approved:D.z.boolean()}).strict(),f7=D.z.object({kind:D.z.literal("questionnaire"),answers:D.z.array(D.z.string())}).strict(),g7=D.z.object({kind:D.z.literal("selection"),selected:T}).strict(),x7=D.z.object({kind:D.z.literal("credential_input"),values:D.z.record(D.z.string(),D.z.string())}).strict(),m7=D.z.object({kind:D.z.literal("oauth_device"),acknowledged:D.z.boolean().optional(),verificationCode:D.z.string().optional()}).strict(),h7=D.z.object({kind:D.z.literal("cancel")}).strict(),_5=D.z.discriminatedUnion("kind",[v7,f7,g7,x7,m7,h7]),d7=D.z.object({kind:D.z.literal("interaction.required"),requestId:g2,interactionId:AQ,source:z5,interaction:S7}).strict(),c7=D.z.object({kind:D.z.literal("interaction.respond"),requestId:g2,interactionId:AQ,response:_5}).strict(),l7=D.z.object({code:T,message:T,retryable:D.z.boolean().optional(),details:D.z.record(D.z.string(),D.z.unknown()).optional()}).strict(),u7=D.z.object({id:T,createdAt:V2,updatedAt:V2,completedAt:V2.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(),p7=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(u7)}).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:V2.nullable(),updatedAt:V2}).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:V2,answeredAt:V2.nullable(),appliedAt:V2.nullable()}).strict().nullable().optional()}).strict(),YX=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:C2}).strict(),k4=D.z.object({invite:T2}).strict(),S4=D.z.object({invite:P2}).strict(),v4=D.z.object({accepted:w2}).strict(),f4=D.z.object({pair:y2}).strict(),g4=D.z.object({repair:v2}).strict(),x4=D.z.object({revoke:k2}).strict(),o7=D.z.object({text:T}).strict(),a7=D.z.object({query:T,limit:v0.max(200).optional()}).strict(),r7=D.z.object({query:D.z.string().optional(),limit:v0.max(200).optional(),offset:f0.optional()}).strict(),n7=D.z.object({id:T}).strict(),i7=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(),s7=D.z.object({name:T,description:D.z.string().optional()}).strict(),t7=D.z.object({name:T,description:D.z.string().optional(),emoji:D.z.string().optional(),profile:D.z.string().optional()}).strict(),e7=D.z.object({model:T}).strict(),$6=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(),Q6=D.z.object({args:D.z.string().optional(),provider:T.optional()}).strict(),Z6=d0,J6=d0,KX=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"}),Y6=D.z.union([S0,KX]),K6=D.z.object({theme:T}).strict(),X6=D.z.object({autonomy:JX}).strict(),V6=D.z.object({reason:D.z.string().optional()}).strict(),G6=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(),W6=D.z.object({user:D.z.string(),assistant:D.z.string()}).strict(),U6=D.z.object({pairs:D.z.array(W6)}).strict(),B6=D.z.object({role:T,content:D.z.unknown()}).strict(),H6=D.z.object({messages:D.z.array(B6).optional(),conversation:D.z.string().optional()}).strict().refine(($)=>Boolean($.messages||$.conversation),{message:"hook.reflect requires messages or conversation"}),D6=D.z.object({source:D.z.enum(["claude","codex","all"]).optional(),limit:v0.optional()}).strict(),F6=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([Z2,J2]),message:D.z.string().optional()}).strict(),FQ=D.z.object({events:D.z.array(c0)}).strict(),b5=D.z.object({peers:D.z.array(Y2)}).strict(),T5=D.z.object({peers:D.z.array(O2)}).strict(),I5=D.z.object({requests:D.z.array(L2)}).strict(),P5=D.z.object({clients:D.z.array(f2)}).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(),k5=D.z.object({success:D.z.literal(!0),message:D.z.string(),count:f0,memories:D.z.array(D.z.unknown())}).strict(),S5=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(),m5=D.z.object({arion:D.z.unknown(),activeArion:D.z.string()}).strict(),jQ=D.z.object({success:D.z.literal(!0),name:T}).strict(),h5=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()),$8=D.z.object({}).catchall(D.z.unknown()),Q8=D.z.object({}).catchall(D.z.unknown()),Z8=D.z.object({}).catchall(D.z.unknown()),m4=D.z.union([L0,O5,L5,M5,y4,b5,T5,I5,P5,FQ,C5,M0,k4,v4,E4,S4,f4,g4,x4,R5,w5,y5,E5,k5,S5,v5,f5,g5,x5,m5,jQ,h5,d5,c5,l5,u5,p5,o5,a5,r5,n5,i5,s5,t5,e5,$8,Q8,Z8]),j6=k0.extend({sessionId:T.optional()}),q6=$2.extend({sessionId:T.optional()}),A6={"run.start":{input:j6,result:L0,event:Q2},"run.resume":{input:q6,result:L0},"run.abort":{input:G6,result:w5},"interaction.respond":{input:D.z.object({interactionId:AQ,response:_5}).strict(),result:y5},"session.list":{input:p7,result:O5},"session.read":{input:A5,result:L5},"session.load":{input:A5,result:M5},"session.fork":{input:YX,result:y4},"memory.remember":{input:o7,result:E5},"memory.recall":{input:a7,result:k5},"memory.list":{input:r7,result:S5},"memory.forget":{input:n7,result:v5},"memory.recall_knowledge":{input:i7,result:f5},"arion.list":{input:P0,result:g5},"arion.hatch":{input:s7,result:x5},"arion.become":{input:HQ,result:m5},"arion.rest":{input:HQ,result:jQ},"arion.wake":{input:HQ,result:jQ},"arion.create":{input:t7,result:h5},"model.list":{input:P0,result:d5},"model.set":{input:e7,result:c5},"model.refresh":{input:P0,result:l5},"auth.status":{input:P0,result:u5},"auth.login":{input:$6,result:p5},"auth.logout":{input:Q6,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:M2,result:E4},"peer.invite":{input:b2,result:k4},"peer.connect":{input:I2,result:S4},"peer.accept_invite":{input:R2,result:v4},"peer.direct_pair":{input:K2,result:f4},"peer.repair":{input:S2,result:g4},"peer.revoke":{input:E2,result:x4},"client.list":{input:P0,result:P5},"client.inbox.list":{input:Z6,result:FQ},"message.send":{input:Y6,result:C5},"message.inbox.list":{input:J6,result:FQ},"config.theme.get":{input:P0,result:a5},"config.theme.set":{input:K6,result:r5},"config.autonomy.get":{input:P0,result:n5},"config.autonomy.set":{input:X6,result:i5},"system.restart":{input:V6,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:U6,result:R5},"hook.reflect":{input:H6,result:e5},"hook.consolidate":{input:P0,result:$8},"hook.ingest":{input:D6,result:Q8},"hook.harvest":{input:F6,result:Z8}},z6=["run.start"],h4=["run.start","run.resume","interaction.respond"],XX=D.z.enum(z6);function _6($,Q,Z,J){let Y=A6[$],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 N6=D.z.object({kind:D.z.literal("request"),requestId:g2,op:qQ,input:D.z.unknown()}).strict().superRefine(($,Q)=>{_6($.op,"input",$.input,Q)}),O6=D.z.object({kind:D.z.literal("event"),requestId:g2,seq:f0,op:XX,event:D.z.unknown()}).strict().superRefine(($,Q)=>{_6($.op,"event",$.event,Q)}),VX=D.z.object({kind:D.z.literal("result"),requestId:g2,op:qQ,ok:D.z.literal(!0),result:D.z.unknown()}).strict().superRefine(($,Q)=>{_6($.op,"result",$.result,Q)}),GX=D.z.object({kind:D.z.literal("result"),requestId:g2,op:D.z.union([qQ,D.z.literal("unknown")]),ok:D.z.literal(!1),error:l7}).strict(),L6=D.z.union([VX,GX]),d4=D.z.union([N6,c7]),c4=D.z.union([O6,L6,d7]);function M6($){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 C6($){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=M6(Q);return Z?[Z]:[]})},status(){return C6($.status())}}}var b6=E(require("node:net")),T6=require("node:crypto");function p4($){return{runId:`run-local-${Date.now()}`,wait:()=>$}}async function WX($){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 WX(Q.pollIntervalMs)}}function g($,Q,Z,J,Y){let K=z1.parse({id:T6.randomUUID(),method:Q,...Z===void 0?{}:{payload:Z},...Y===void 0?{}:{auth:X2.parse(Y)}});return new Promise((X,V)=>{let G=b6.createConnection($),W="",B=!1,U=(j)=>{if(B)return;B=!0,G.destroy(),V(j)};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 Z$ extends QZ.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)}}M1();function K$($){return typeof $==="object"&&$!==null&&!Array.isArray($)}function SX($){if($===null)return"null";if(Array.isArray($))return"array";return typeof $}function vX($,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 K$($);if(Q==="null")return $===null;return!0}function C0($){return $?`Property "${$}"`:"Value"}function W8($,Q,Z){let J=Q.type;if(J){let Y=Array.isArray(J)?J:[J];if(!Y.some((X)=>vX($,X)))return`${C0(Z)} expected type ${Y.join(" | ")}; got ${SX($)}`}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(K$(Q.items))for(let Y=0;Y<$.length;Y++){let K=W8($[Y],Q.items,Z?`${Z}[${Y}]`:`[${Y}]`);if(K)return K}}if(K$($)){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=K$(Q.properties)?Q.properties:void 0;if(K)for(let[V,G]of Object.entries(K)){if(!(V in $)||$[V]===void 0)continue;if(!K$(G))continue;let W=Z?`${Z}.${V}`:V,B=W8($[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(K$(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=W8(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 W8($,Q,Z)}function UZ($){return $.annotations?.readOnlyHint===!0}function fX($){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 BZ($){return $.trimStart().toLowerCase().startsWith("bash:")}function gX($){return`'${$.replace(/'/g,`'"'"'`)}'`}function xX($,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?gX(X):X})}class X${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 j=typeof U.category==="string"&&V.has(U.category)?U.category:"meta";if(j==="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"&&BZ(U.responseTemplate)?"dangerous":_,C=fX(U.failures),b={description:U.description,category:j,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:j,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=BZ(X),G=xX(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 C1({command:B,cwd:J.workingDir,env:J.env,timeout:30000},J);if(!U.success)return{success:!1,message:`Tool "${$}" command failed: ${U.message}`};let j=U.data&&typeof U.data==="object"?U.data:void 0,A=[j?.stdout,j?.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),I1(J,"write",M),O(`Edited ${J} using strategy=${j.name} (${_} replacement(s))`,{filePath:J,strategy:j.name,matchesFound:A.length,replacements:_,expectedReplacements:N,replaceAll:$.replaceAll===!0,previousHash:X,currentHash:N8(P1(M)),structuredPatch:C.hunks})}catch(Z){return H(P.getErrorMessage(Z))}}function VV($){if($.isFile())return"file";if($.isDirectory())return"directory";if($.isSymbolicLink())return"symlink";return"other"}function CZ($){if(typeof $!=="object"||$===null)return;let Q=$;return typeof Q.code==="string"?Q.code:void 0}var bZ={async readType($){let Q=await t.lstat($);return VV(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 c6($,Q){if($===void 0)return Q;if(!Number.isFinite($))return Q;if($<=0)return 0;return Math.floor($)}function GV($){return $.split("/").filter(Boolean).length}function WV($,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=D$($.path??".",Q);if(!(await t.stat(Z)).isDirectory())return H(`Path is not a directory: ${Z}`);let Y=$.all===!0,K=$.long===!0,X=c6($.depth,1),V=c6($.offset,0),G=($.ignore??[]).filter((b)=>b.trim()!==""),W=$.limit!==void 0?c6($.limit,0):null,B=[],U=0;for(let b of await O8.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}WV(B,b,V+W)}B.sort((b,z)=>b<z?-1:b>z?1:0);let j=W===null?Math.max(U-V,0):W,A=B.slice(V,V+j),q=V+j<U,_=[];for(let b of A){let z=c.join(Z,b),L=c.basename(b),w=GV(b);try{let S=await bZ.readType(z);_.push({name:L,path:b,depth:w,type:S})}catch(S){let n=CZ(S);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 bZ.readMetadata(z);N.push({...b,...L})}catch(L){let w=CZ(L);if(w==="ENOENT"||w==="ENOTDIR")continue;N.push(b)}}}else N=_;let M={path:Z,depth:X,limit:j,offset:V,ignore:G,truncated:q,total:U,entries:N},C=q?" (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?D$($.cwd,Q):Q.workingDir,J=await O8.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 TZ=512,IZ=64,UV=/\\[1-9][0-9]*/,BV=/\((?:\?:)?(?:[^()\\]|\\.)*(?:\+|\*|\{\d+(?:,\d*)?\})(?:[^()\\]|\\.)*\)(?:\+|\*|\{\d+(?:,\d*)?\})/,HV=/\((?:\?:)?(?:[^()\\]|\\.)*\.(?:\+|\*|\{\d+(?:,\d*)?\})(?:[^()\\]|\\.)*\)(?:\+|\*|\{\d+(?:,\d*)?\})/,DV=/\(\?(?:=|!|<=|<!)/,FV=/\((?:\?:)?((?:[^()\\]|\\.)+)\)(?:\+|\*|\{\d+(?:,\d*)?\})/g,jV=/(^|[^\\])(?:\*|\+|\?|\{\d+(?:,\d*)?\})/;function qV($){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 AV($){return $.replace(/\\./g,"x").replace(/\[[^\]]*\]/g,"x").replace(/[\^\$]/g,"").replace(/(^|[^\\])(?:\*|\+|\?|\{\d+(?:,\d*)?\})/g,"$1")}function zV($){for(let Q of $.matchAll(new RegExp(FV.source,"g"))){let Z=Q[1];if(!Z||!Z.includes("|"))continue;let J=qV(Z);if(J.length<2)continue;if(J.some((K)=>K.length===0))return!0;if(J.some((K)=>jV.test(K)))return!0;let Y=J.map(AV);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 _V($){return[...$.matchAll(/(^|[^\\])(?:\*|\+|\?|\{\d+(?:,\d*)?\})/g)].length}function NV($){if($.length>TZ)return`pattern length exceeds ${TZ} characters`;if(DV.test($))return"lookaround assertions are not allowed";if(UV.test($))return"backreferences are not allowed";if(_V($)>IZ)return`pattern uses too many quantifiers (max ${IZ})`;if(BV.test($)||HV.test($))return"nested quantifiers are not allowed";if(zV($))return"ambiguous alternation inside repeated groups is not allowed";return null}async function r6($,Q){if(Q.abortSignal?.aborted)return H("Operation cancelled");try{let Z=NV($.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=D$($.path??".",Q),K=await t.stat(Y),X=[],V=[],G=!1;if(K.isDirectory()){let B=$.glob??"**/*",U=await O8.default.glob(B,{cwd:Y,onlyFiles:!0,absolute:!0});for(let j of U){if(X.length>=x0.MAX_GREP_MATCHES){G=!0;break}let A=x0.MAX_GREP_MATCHES-X.length,q=await PZ(j,J,A);if(X.push(...q.matches),q.truncated)G=!0;if(q.error){if(V.length<x0.MAX_GREP_ERRORS)V.push(q.error)}if(G)break}}else{let B=await PZ(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 PZ($,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=d2.createReadStream($,{encoding:"utf8"}),G=l6.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();M1();var c2=E(require("node:fs")),G0=E(require("node:path")),xQ=require("@aria-cli/fastripgrep");function OV($,Q){let Z=$??".";return G0.isAbsolute(Z)?G0.resolve(Z):G0.resolve(Q.workingDir,Z)}function LV($,Q){let Z=G0.resolve(Q.workingDir);try{Z=c2.realpathSync(Q.workingDir)}catch{}let J=$;try{J=c2.realpathSync($)}catch{J=G0.resolve($)}if(G2(J,Z))return;let Y=process.env.HOME;if(Y)try{let K=c2.realpathSync(Y);if(G2(J,K))return}catch{}throw Error("Path traversal not allowed: resolved path is outside working directory and home directory")}function MV($,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 CV($){let Q=[],Z=[];for(let J of U2($)){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=c2.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 bV($,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(!c2.existsSync(K))return H(`frg watch failed: binary not found at ${K}. Build @aria-cli/fastripgrep first.`);let X=await b1({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 TV($,Q){if(Q.command!=="status")return Q;try{let Z=Q.status?.tree_hash??null,J=Q.status?.commit_hash??null,Y=T1($,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 IV($,Q){if(Q.command!=="status")return Q;let Z=T1($,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 PV($,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 mQ($,Q){try{let Z=$,J=OV(Z.path,Q);if(LV(J,Q),Z.command==="watch")return bV(Z,Q,J);if(PQ(J),EQ(J),Z.command==="search"){U$(J);try{let V=xQ.frg({command:"status",path:J});if(V.status?.tree_hash&&V.status?.commit_hash){let G=T1(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}),G$(J)}}catch{}if(U2(J).length>0){if(!Z.noIndex)if(wQ(J))W$(J);else h2(J)}}let Y=MV(Z,J);if(Z.command==="search"){let X=CV(J);Y.sessionWrites=X.sessionWrites,Y.sessionDeletes=X.sessionDeletes}let K=xQ.frg(Y);if(Z.command==="status"){if(K=TV(J,K),K=IV(J,K),K.content?.includes("triggered incremental update"))G$(J)}return O(PV(K,Z),K)}catch(Z){return H(`frg failed: ${P.getErrorMessage(Z)}`)}}Y0();var C8=E(require("node:crypto")),l=E(require("node:fs/promises")),F$=E(require("node:fs")),B0=E(require("node:path"));function yZ($){if(typeof $!=="object"||$===null)return;let Q=$;return typeof Q.code==="string"?Q.code:void 0}var EZ=3,xZ="*** Begin Patch",RV="*** End Patch",kZ="*** Add File: ",SZ="*** Delete File: ",vZ="*** Update File: ",fZ="*** Move to: ",wV="*** End of File";function yV($){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
|
-
${eV}`}],temperature:0.3,tier:"fast"}),J=j$(Z.content,$G);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 QG($,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 DJ=require("node:crypto"),W9=require("@aria-cli/types"),m0=require("zod");Z9();var rZ=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 p2{_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())rZ.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 o2{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 a2{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,j=0;while((U=B.exec(V))!==null){let N=U[3],M=U[4];if(!N||!M)continue;j++;let C=this.resolveDuckDuckGoResultUrl(N);if(!C)continue;let b=this.stripHtmlTags(M);if(!b)continue;W.set(C,{title:b,url:C})}if(j>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,q=[];while((U=A.exec(V))!==null){let N=U[2];q.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=q[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 r2{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 n2{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 i2{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 s2{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 _$=new aQ(100),J9=new aQ(50),Y9=new aQ(50);function X9(){let $=Error("AbortError");return $.name="AbortError",$}function K9($,Q){if(Q?.aborted)return Promise.reject(X9());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(X9())},Q.addEventListener("abort",K,{once:!0})})}function WG($){if(!($ instanceof Error))return!1;return $.name==="AbortError"||$.message==="AbortError"}function UG($){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 BG($,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 X9();let B;for(let U=0;U<J;U++)try{let j=await G($,Q);if(j.status===403&&j.headers.get("cf-mitigated")==="challenge"){if(U<J-1){let A=Math.min(Y*2**U+Math.random()*500,K);await K9(A,W);continue}throw Error(`Cloudflare challenge after ${J} attempts: ${j.status}`)}if(!j.ok&&X.includes(j.status)){if(U<J-1){let A=Math.min(Y*2**U+Math.random()*500,K);await K9(A,W);continue}throw Error(`Request failed after ${J} attempts: ${j.status}`)}return j}catch(j){if(WG(j))throw j;let A=UG(j);if(A&&V.includes(A)&&U<J-1){let q=Math.min(Y*2**U+Math.random()*500,K);await K9(q,W);continue}throw B=j,j}throw B??Error("fetchWithRetry: unreachable")}async function rQ($,Q,Z){let{fetchWithDnsPinning:J}=await Promise.resolve().then(() => (eZ(),tZ));return BG($,Q,{...Z,fetchFn:async(Y,K)=>{return J(Y,K)}})}var $J=require("node:crypto");var HG=[/\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],DG=[/\bjailbreak\b/i,/\bdeveloper\s+mode\b/i,/\bdo\s+anything\s+now\b/i,/\bunfiltered\s+mode\b/i],FG=/\b(?:ignore|disregard|forget|override|bypass|disable|reveal|expose|dump|leak)\b/i,jG=/\b(?:instruction|prompt|policy|guardrail|secret|token|credential|api\s*key|system|developer)\b/i;function qG($){if(HG.some((Z)=>Z.test($)))return!0;let Q=0;for(let Z of DG)if(Z.test($))Q++;if(FG.test($)&&jG.test($))Q++;return Q>=2}function QJ($,Q){let Z=$J.randomBytes(16).toString("hex"),J=qG($),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:q,truncated:C};return Y9.set(Z,z),G(),O(`Browsed ${$.url}`,HJ(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)}`)}}w6();class k8{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 S8{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??B9(Q.exitCode),signal:V.exitCode!==null?V.signal:V.signal??H9(Q.signal)});return}this.clearReaper($),this.active.delete($);let J=Date.now(),Y=B9(Q.exitCode)??Z.deferredExitCode,K={...Z,exitCode:Y,signal:Z.deferredSignal??H9(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=B9(Q.exitCode),Z.deferredSignal=H9(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=(j)=>{if(K)return;K=!0,Y(j)},V=(j)=>{let A=this.waiters.get($);if(!A)return;let q=A.filter((_)=>_!==j);if(q.length===0)this.waiters.delete($);else this.waiters.set($,q)},G=(j)=>{clearTimeout(W),V(G),X({pid:$,status:"exited",timedOut:!1,process:this.toExitedSnapshot(j)})},W=setTimeout(()=>{let j=this.active.get($);if(j){V(G),X({pid:$,status:"running",timedOut:!0,process:this.toRunningSnapshot(j)});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(zJ(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(zJ(Y,"SIGKILL"))J.add(Y)}await cG([...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 dG($){try{return process.kill($,0),!0}catch{return!1}}function J3($){if($>0)try{return process.kill(-$,0),!0}catch{}return dG($)}function zJ($,Q){try{if($>0)return process.kill(-$,Q),!0}catch{}try{return process.kill($,Q),!0}catch{return!1}}async function cG($,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 B9($){if(typeof $!=="number"||Number.isNaN($))return null;return $}function H9($){if(typeof $!=="string"||$.length===0)return null;return $}Y0();var NJ=require("nanoid"),v8=0,_J=3;function lG($){if(!$||typeof $!=="object")return!1;let Q=$;return Q.code==="ASK_USER_ANSWERS_EXHAUSTED"||Q.name==="AskUserAnswersExhaustedError"}function D9(){v8=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:v8};if(Z.count>=_J)return H(`Rate limit: max ${_J} 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)v8=Z.count;return O(`Received ${J.length} answer${J.length===1?"":"s"} from user`,{answers:J})}catch(J){if(lG(J))throw J;if(Z.count++,!Q.askUserCallCounter)v8=Z.count;return H(P.getErrorMessage(J))}}var uG=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&&!uG.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_${NJ.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 j=Q.questStore.updateQuest(B,U);Z.push({id:B,title:j.title,status:j.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 A9=require("node:util"),g8=require("node:child_process"),z0=require("node:fs"),f8=E(require("node:crypto")),h=E(require("node:path")),t2=E(require("node:os")),G3=require("zod");Y0();var w1={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=w1[X.source]??99;if((w1[Y.source]??99)<V)Z.set(K,Y)}}return[...Z.values()].sort((Y,K)=>{let X=w1[Y.source]??99,V=w1[K.source]??99;if(X!==V)return X-V;return Y.name.localeCompare(K.name)}).slice(0,Q)}var pG=A9.promisify(g8.exec),oG=A9.promisify(g8.execFile),F9=50,OJ=300000,aG=3600000,rG=64,LJ=60000,CJ=20,O$=new Map,p0=null,nG=G3.z.object({safe:G3.z.boolean().optional(),issues:G3.z.array(G3.z.string()).optional()});async function bJ($){if(!$.memoria||!$.toolRegistry)return;try{await $.toolRegistry.discoverFromMemoria($.memoria)}catch{}}function iG($){let Q=$?.trim();if(!Q)return;try{let Z=f8.default.createHash("sha256").update(Buffer.from(Q,"base64")).digest("hex");return m.parse(Z)}catch{return}}function TJ($){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 sJ($){let Q=q3.default.dirname($);if(!Q||Q===".")return;await e2.default.mkdir(Q,{recursive:!0})}async function IU($,Q){let Z=oJ($);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 t8(K.path,Q.cwd);await sJ(G.resolved),await e2.default.writeFile(G.resolved,K.contents,"utf8"),e8(J,Y,"added",G.display);continue}if(K.kind==="delete"){let G=await t8(K.path,Q.cwd,"unlink");await e2.default.rm(G.resolved),e8(J,Y,"deleted",G.display);continue}let X=await t8(K.path,Q.cwd),V=await rJ(X.resolved,K.chunks,{readFile:(G)=>e2.default.readFile(G,"utf8")});if(K.movePath){let G=await t8(K.movePath,Q.cwd);await sJ(G.resolved),await e2.default.writeFile(G.resolved,V,"utf8"),await e2.default.rm(X.resolved),e8(J,Y,"modified",G.display)}else await e2.default.writeFile(X.resolved,V,"utf8"),e8(J,Y,"modified",X.display)}return{success:!0,summary:J,text:TU(J)}}var g9={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 IU(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 PU={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:kQ},RU={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:SQ},wU={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},yU={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},EU={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},$7=[PU,RU,wU,yU,EU,g9];M1();X8();var kU={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"&&W2(Q)==="safe"},execute:C1},SU={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:Y$},vU={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:b1},fU={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},gU={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},xU={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},mU={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},Q7=[kU,SU,vU,fU,gU,xU,mU];var hU={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},dU={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},cU={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},lU={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},Z7=[hU,dU,cU,lU];var f=require("zod");var tJ=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=tJ.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 j=J.parse(B);return Y(j,U)}}}var uU=$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}`}}}}),pU=$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}`}}}}),oU=$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 eJ(Y,Q)}catch(Y){return{success:!1,message:`Wait failed: ${Y.message}`}}return eJ(J,Q)}});function eJ($,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 aU=$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"}}}}),rU=$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}`}}}}),nU=$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}`}}}}),iU=$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:[]}}}}}}),J7=[uU,pU,oU,aU,rU,nU,iU];var $Y=E(require("node:crypto")),u=require("zod");var x9="senderInbox";function QY($){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 m9($){let Q=QY($);if(Q.kind==="client"&&$.nodeId)return[Q,{kind:"node",nodeId:$.nodeId}];return[Q]}function sU($,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 tU($){return Promise.resolve($.networkControl?.listAttachedClients?.()??[])}function eU($,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 $B($,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 QB($){if(!$)return;try{let Q=JSON.parse($);if(!(x9 in Q))return;return e0.parse(Q[x9])}catch{return}}async function ZB($,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=QB(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 ZY($,J.sender_id,Z)}async function ZY($,Q,Z){let J=$.mailbox,Y=$.networkControl?.listPeers()??[],K=await tU($),X=K.find((q)=>q.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((q)=>q.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 q=typeof J?.resolveId==="function"?J.resolveId(Q):void 0;if(!q)return{ok:!1,error:`Registered local alias "${Q}" is missing a canonical mailbox id`};return{ok:!0,recipient:{kind:"local",mailboxId:q,recipientName:Q}}}let B=await $B($,Q);if(B)return{ok:!0,recipient:B};let U=Q.toLowerCase().replace(/^@/,""),j=Y.filter((q)=>q.displayNameSnapshot?.toLowerCase()===U||q.displayNameSnapshot?.toLowerCase()===Q.toLowerCase());if(j.length>1)return{ok:!1,error:`Ambiguous peer display name "${Q}"`};if(j.length===1){let q=j[0];if(q.routeOwnership==="superseded"||q.deliveryReadiness==="cannot_address")return{ok:!1,error:`Peer "${q.displayNameSnapshot}" is not currently addressable.`};return{ok:!0,recipient:{kind:"remote",nodeId:q.nodeId,recipientName:q.displayNameSnapshot??q.nodeId}}}let A=K.filter((q)=>q.displayLabel?.toLowerCase()===U||q.displayLabel?.toLowerCase()===Q.toLowerCase());if(A.length>1)return{ok:!1,error:`Ambiguous same-home client label "${Q}"`};if(A.length===1){let q=A[0];return{ok:!0,recipient:{kind:"client",clientId:q.clientId,recipientName:q.displayLabel?.trim()||q.clientId,self:q.self}}}if(Z.kind==="client")return{ok:!1,error:eU($,Q)};return{ok:!0,recipient:{kind:"local",mailboxId:Q,recipientName:Q}}}var JB=$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=QY(Q),J=$.to&&$.to.trim().length>0?await ZY(Q,$.to,Z):$.replyTo?await ZB(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=sU(Q,Z),X=$.to??J.recipient.recipientName,V={id:$Y.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"?{[x9]: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}}}}),YB=$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=m9(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}}}}),KB=$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=m9(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}}}}),XB=$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=m9(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}}}}),Y7=[JB,YB,KB,XB];var d9=E(require("node:crypto")),KY=require("node:child_process"),K7=require("node:fs"),XY=E(require("node:os")),A3=E(require("node:path")),VY=require("node:util"),JY=VY.promisify(KY.execFile),GY=A3.default.join(XY.default.homedir(),"Library","Application Support","Slack"),VB=A3.default.join(GY,"Local Storage","leveldb"),GB=A3.default.join(GY,"Cookies"),WB="Slack Safe Storage",h9="https://app.slack.com",YY=30000,UB=/\bT[A-Z0-9]{8,}\b/g,BB=/\bxoxc-[A-Za-z0-9-]{20,}\b/g;function HB($){let Q=$.match(BB)?.[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(UB)??[]){if(J.has(V))continue;J.add(V),Z.push(V)}return{cachedToken:Q,teamIds:Z}}function DB($){return $.match(/name="token"\r?\n\r?\n([^\r\n]+)/)?.[1]??null}function FB($,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=d9.default.pbkdf2Sync(Q,"saltysalt",1003,16,"sha1"),K=d9.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 jB($=VB){let Z=(await K7.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 K7.promises.readFile(K,"utf8").catch(async()=>{return(await K7.promises.readFile(K)).toString("utf8")})}))).join(`
|
|
331
|
-
|
|
332
|
-
`).map((X)=>X.trim()).filter(Boolean).map((X)=>{let[V,G,W,B,U,j]=X.split("\t");if(!V||!G||!j)throw Error(`Unexpected sqlite3 cookie row shape: ${X}`);return{name:G,value:FB(j??"",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 AB($,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=DB(X.postData()??"");if(!G)return;clearTimeout(Y),$.off("request",K),Z({workspaceHost:new URL(V).host,liveToken:G})};$.on("request",K)})}function zB($,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 _B($){return $.startsWith("#")?$.slice(1):$}function NB($){return/^[CDG][A-Z0-9]{8,}$/.test($)}function OB($){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 X7($){let Q=HB(await jB()),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 qB());let X=await K.newPage(),V=AB(X,$?.bootstrapTimeoutMs??YY);await X.goto(`${h9}/client/${Z}`,{waitUntil:"domcontentloaded",timeout:$?.bootstrapTimeoutMs??YY});let G=await V,W=async(U,j)=>{let A=await K.request.post(`https://${G.workspaceHost}/api/${U}`,{form:zB(G.liveToken,j),headers:{Origin:h9,Referer:`${h9}/client/${Z}`}}),q=await A.text(),_;try{_=JSON.parse(q)}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 j=_B(U);if(NB(j))return j;let A;for(let q=0;q<20;q+=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===j||w===j.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:j=20,threadTs:A})=>{let q=await B(U),N=await W(A?"conversations.replies":"conversations.history",{channel:q,limit:Math.max(1,Math.min(j,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:q,messages:b.filter((z)=>!!z&&typeof z==="object").map(OB),hasMore:N.has_more===!0,nextCursor:C}},sendMessage:async({channel:U,text:j,threadTs:A})=>{let q=await B(U),_=await W("chat.postMessage",{channel:q,text:j,...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:q,ts:N}},addReaction:async({channel:U,timestamp:j,name:A})=>{let q=await B(U);return await W("reactions.add",{channel:q,timestamp:j,name:A}),{teamId:Z,workspaceHost:G.workspaceHost,channelId:q}},close:async()=>{await X.close().catch(()=>{return}),await K.close().catch(()=>{return}),await Y.close().catch(()=>{return})}}}var LB={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 X7({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()}}},MB={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 X7({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()}}},CB={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 X7({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()}}},V7=[LB,MB,CB];var BY=require("node:child_process"),HY=require("node:os"),DY=require("node:path"),bB=DY.join(HY.homedir(),".aria","tools","outlook.py");function G7($){return new Promise((Q,Z)=>{BY.execFile(bB,$,{timeout:30000},(J,Y,K)=>{if(J)Z(Error(K?.trim()||J.message));else Q(Y)})})}function WY($){try{return JSON.parse($)}catch{return{raw:$}}}function UY($){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 TB={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 G7(["read",Q.messageId]),W=UY(WY(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 G7(Z),K=WY(Y),V=(Array.isArray(K.value)?K.value:[]).filter((G)=>!!G&&typeof G==="object").map(UY);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."}}}},IB={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 G7(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."}}}},PB={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 G7(Z),{success:!0,message:"Replied to message.",data:{status:"sent"}}}catch(Z){return{success:!1,message:Z instanceof Error?Z.message:"Outlook reply failed."}}}},c9=[TB,IB,PB];var FY=require("node:child_process"),jY=require("node:os"),qY=require("node:path"),RB=qY.join(jY.homedir(),".aria","tools","quip.py");function P$($){return new Promise((Q,Z)=>{FY.execFile(RB,$,{timeout:30000},(J,Y,K)=>{if(J)Z(Error(K?.trim()||J.message));else Q(Y)})})}var wB={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 P$(["recent",J])}};if(Z==="search"){let Y=String(Q.query??"");if(!Y)return{success:!1,message:"'search' requires a 'query' parameter."};let K=await P$(["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 P$(["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 P$(["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."}}}},yB={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 P$(["comment",String(Q.threadId??""),String(Q.content??"")])}}}catch(Z){return{success:!1,message:Z instanceof Error?Z.message:"Quip comment failed."}}}},EB={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 P$(Z)}}}catch(Z){return{success:!1,message:Z instanceof Error?Z.message:"Quip create failed."}}}},W7=[wB,yB,EB];var R$=require("zod");var kB=$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:R$.z.object({action:R$.z.enum(["invite","revoke","list_peers","status"]).describe("Network management action"),displayName:R$.z.string().optional().describe("Optional local label for the invite"),nodeId:R.optional().describe("Durable remote node id (required for revoke)"),duration:R$.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}`}}}}),SB=$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:R$.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}}}}),U7=[kB,SB];var vB={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:L9},l9=[vB];var fB={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},gB={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},xB={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},mB={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:y1},hB={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)=>H2({source:{type:"cli",command:String($.command??"")}},Q)},dB={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)=>H2({source:{type:"file",path:String($.path??"")}},Q)},cB={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:H2},lB={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},uB={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},pB={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},oB={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:O9},aB={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:_9},B7=[fB,gB,xB,mB,cB,hB,dB,lB,uB,pB,oB,aB];cQ();var rB={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 q$($,Q)}},H7=[rB];var d=require("zod");var nB=$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:mQ}),D7=[nB];var iB={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:T9},sB={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:I9},tB={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:P9},eB={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:R9},$H={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:w9},QH={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:y9},ZH={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:E9},JH={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:k9},F7=[iB,sB,tB,eB,$H,QH,ZH,JH];Y0();var AY=E(require("node:path")),j2=require("@aria-cli/search");async function zY($,Q){let Z=$,J=AY.resolve(Q.workingDir,Z.directory||".");try{let Y=j2.indexStatus(J);if(Y.state==="none")j2.buildIndex(J),d6(J);else if(Y.state==="stale"){try{j2.syncIndex(J)}catch{j2.buildIndex(J)}d6(J)}NZ(J);let K=OZ(J),X=j2.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 YH={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:zY},j7=[YH];var NY=500,OY=500,LY=200;function _Y($){switch($){case"error":return 3;case"warning":return 2;case"info":case"log":return 1;case"debug":return 0;default:return 1}}function MY($,Q){if(!Q)return[...$];let Z=_Y(Q);return $.filter((J)=>_Y(J.type)>=Z)}function CY($,Q){let Z=typeof Q==="string"?Q.trim():"";if(!Z)return[...$];return $.filter((J)=>J.url.includes(Z))}function bY($){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 oY($){return $.page.screenshot({type:"png",fullPage:Boolean($.fullPage)})}async function aY($){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 rY($){let Q=Q1($.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 nY($){if(!$.paths?.length)throw Error("paths are required");let Q=$1($.ref),Z=x1($.page,Q,$.refs);try{await Z.setInputFiles($.paths)}catch(J){throw g1(J,Q)}}async function iY($){return{cookies:await $.cookies()}}async function sY($,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 tY($){await $.clearCookies()}var zH={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 eY($){return{success:!1,message:$}}async function X0(){let $=PY();if($)return $;return N3()}async function _H($){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 yY(),a("Browser closed.");case"navigate":{let Z=await X0(),J=await xY(Z.page,Q.url);return p9({}),a(`Navigated to ${J.url}. Use 'snapshot' to see page content.`,J)}case"snapshot":{let Z=await X0(),J=await gY(Z.page,{interactive:Q.interactive});p9(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 mY({page:Z.page,refs:f1(),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 cY({page:Z.page,refs:f1(),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:f1(),ref:Q.ref}),a(`Hovered over ${Q.ref}.`)}case"drag":{let Z=await X0();return await dY({page:Z.page,refs:f1(),startRef:Q.startRef,endRef:Q.endRef}),a(`Dragged ${Q.startRef} to ${Q.endRef}.`)}case"select_option":{let Z=await X0();return await lY({page:Z.page,refs:f1(),ref:Q.ref,values:Q.values}),a(`Selected [${Q.values.join(", ")}] in ${Q.ref}.`)}case"press_key":{let Z=await X0();return await uY({page:Z.page,key:Q.key}),a(`Pressed key: ${Q.key}`)}case"scroll":{let Z=await X0();return await aY({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 pY({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 oY({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=MY(RY(),Q.level);return a(bY(Z),{count:Z.length})}case"get_network":{await X0();let Z=CY(wY(),Q.filter);return a(TY(Z),{count:Z.length})}case"wait":{let Z=await X0();return await rY({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=EY(),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 kY(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 vY(Q.index),a(`Tab closed.${Q.index!==void 0?` (index ${Q.index})`:""}`);case"cookies_get":{let Z=await X0(),J=await iY(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 sY(Z.context,Q.cookies),a(`Set ${Q.cookies.length} cookie(s).`)}case"cookies_clear":{let Z=await X0();return await tY(Z.context),a("All cookies cleared.")}case"upload":{let Z=await X0();return await nY({page:Z.page,refs:f1(),ref:Q.ref,paths:Q.paths}),a(`Uploaded ${Q.paths.length} file(s) to ${Q.ref}.`)}default:return eY(`Unknown browser action: ${Q.action}`)}}catch(Z){let J=Z instanceof Error?Z.message:String(Z);return eY(J)}}var a9={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:zH,riskLevel:"moderate",isReadOnly:!1,loadingTier:"always",async execute($,Q){return _H($)}};M1();var HK=require("node:child_process");var NH=["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"],$K=["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 r9($,Q){return $[Math.floor(Math.random()*$.length)]??Q}function n9($=2){let Q=[r9(NH,"steady"),r9($K,"harbor")];if($>2)Q.push(r9($K,"reef"));return Q.join("-")}function QK($){let Q=$??(()=>!1);for(let J=0;J<12;J+=1){let Y=n9(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=n9(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=`${n9(3)}-${Math.random().toString(36).slice(2,5)}`;return Q(Z)?`${Z}-${Date.now().toString(36)}`:Z}var OH=1800000;var LH=30000;var JK=OH,O3=new Map,y$=new Map,i9=null;function MH($){return O3.has($)||y$.has($)}function YK(){return QK(MH)}function KK($){O3.set($.id,$),PH()}function L3($){return O3.get($)}function M3($){return y$.get($)}function s9($,Q,Z){$.pendingStdout??=[],$.pendingStderr??=[],$.pendingStdoutChars??=ZK($.pendingStdout),$.pendingStderrChars??=ZK($.pendingStderr);let J=Q==="stdout"?$.pendingStdout:$.pendingStderr,Y=Q==="stdout"?$.pendingStdoutChars:$.pendingStderrChars,K=Math.min($.pendingMaxOutputChars??LH,$.maxOutputChars);J.push(Z);let X=Y+Z.length;if(X>K)$.truncated=!0,X=bH(J,X,K);if(Q==="stdout")$.pendingStdoutChars=X;else $.pendingStderrChars=X;$.totalOutputChars+=Z.length;let V=TH($.aggregated+Z,$.maxOutputChars);$.truncated=$.truncated||V.length<$.aggregated.length+Z.length,$.aggregated=V,$.tail=VK($.aggregated,2000)}function t9($){let Q=$.pendingStdout.join(""),Z=$.pendingStderr.join("");return $.pendingStdout=[],$.pendingStderr=[],$.pendingStdoutChars=0,$.pendingStderrChars=0,{stdout:Q,stderr:Z}}function e9($,Q,Z,J){$.exited=!0,$.exitCode=Q,$.exitSignal=Z,$.tail=VK($.aggregated,2000),CH($,J)}function XK($){$.backgrounded=!0}function CH($,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;y$.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 VK($,Q=2000){if($.length<=Q)return $;return $.slice($.length-Q)}function ZK($){let Q=0;for(let Z of $)Q+=Z.length;return Q}function bH($,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 TH($,Q){if($.length<=Q)return $;return $.slice($.length-Q)}function GK(){return Array.from(O3.values()).filter(($)=>$.backgrounded)}function WK(){return Array.from(y$.values())}function IH(){let $=Date.now()-JK;for(let[Q,Z]of y$.entries())if(Z.endedAt<$)y$.delete(Q)}function PH(){if(i9)return;i9=setInterval(IH,Math.max(30000,JK/6)),i9.unref?.()}var RH=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"]]),wH=new Set(["up","down","left","right","home","end","pageup","pgup","ppage","pagedown","pgdn","npage","insert","ic","delete","del","dc"]);function UK($){let Q=[],Z="";if($.literal)Z+=$.literal;if($.hex?.length)for(let J of $.hex){let Y=xH(J);if(Y===null){Q.push(`Invalid hex byte: ${J}`);continue}Z+=String.fromCharCode(Y)}if($.keys?.length)for(let J of $.keys)Z+=yH(J,Q);return{data:Z,warnings:Q}}function yH($,Q){let Z=$.trim();if(!Z)return"";if(Z.length===2&&Z.startsWith("^")){let V=BK(Z[1]);if(V)return V}let J=EH(Z),Y=J.base,K=Y.toLowerCase();if(K==="tab"&&J.mods.shift)return"\x1B[Z";let X=RH.get(K);if(X){let V=X;if(wH.has(K)&&gH(J.mods)){let G=SH(J.mods);if(G>1){let W=fH(V,G);if(W)return V=W,V}}if(J.mods.alt)return`\x1B${V}`;return V}if(Y.length===1)return kH(Y,J.mods);if(J.hasModifiers)Q.push(`Unknown key "${Y}" for modifiers; sending literal.`);return Y}function EH($){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 kH($,Q){let Z=$;if(Q.shift&&Z.length===1&&/[a-z]/.test(Z))Z=Z.toUpperCase();if(Q.ctrl){let J=BK(Z);if(J)Z=J}if(Q.alt)Z=`\x1B${Z}`;return Z}function BK($){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 SH($){let Q=1;if($.shift)Q+=1;if($.alt)Q+=2;if($.ctrl)Q+=4;return Q}function vH($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function fH($,Q){let Z=vH("\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 gH($){return $.ctrl||$.alt||$.shift}function xH($){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 mH=200000,hH=30000,dH=300000,cH=200;function lH($,Q){return new Promise((Z)=>{let J=$.command;if(!J){Z({success:!1,message:"spawn requires 'command' parameter"});return}let Y=YK(),K=Math.min($.timeout??hH,dH),X=HK.spawn("sh",["-c",J],{cwd:Q,stdio:["pipe","pipe","pipe"],env:L1(),detached:!1}),V={id:Y,command:J,pid:X.pid,startedAt:Date.now(),cwd:Q,maxOutputChars:mH,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(KK(V),XK(V),X.stdout?.on("data",(G)=>{s9(V,"stdout",G.toString())}),X.stderr?.on("data",(G)=>{s9(V,"stderr",G.toString())}),X.on("error",(G)=>{e9(V,null,null,"failed")}),X.on("exit",(G,W)=>{if(V.exited)return;e9(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}=t9(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}})},cH)})}function uH($){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}=t9(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 pH($){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 oH($){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 aH(){let $=GK().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=WK().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 rH($){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}=UK({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 lH(Z,J);case"read":return uH(Z);case"write":return pH(Z);case"kill":return oH(Z);case"list":return aH();case"send_key":return rH(Z);default:return{success:!1,message:`Unknown action: ${Z.action}. Valid actions: spawn, read, write, kill, list, send_key`}}}};var q2=[...n8,...i8,a9,...$7,...Q7,$4,...Z7,...J7,...Y7,...V7,...c9,...W7,...U7,...l9,...B7,...H7,...D7,...F7,...j7];function Q4(){return q2}function Z4($){return q2.find((Q)=>Q.name===$)}function J4($){return q2.filter((Q)=>Q.category===$)}function Y4($){return q2.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 E$($){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 DK($,Q){let Z=$.toLowerCase();if(Q.restrictAllow===!0||Q.allow!==void 0&&Q.allow.length>0){if(!E$(Q.allow??[]).has(Z))return!1}if(Q.deny&&Q.deny.length>0){if(E$(Q.deny).has(Z))return!1}return!0}function FK($,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=E$($.allow??[]),G=E$(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 nH($={}){let Q=new X$({logger:$.logger});if($.includeBuiltins!==!1)for(let Z of q2)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
|