@aria-cli/tools 1.0.19 → 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/executors/apply-patch.js +902 -0
- package/dist/executors/arion.js +120 -0
- package/dist/executors/code-intelligence.js +883 -0
- package/dist/executors/deploy.js +849 -0
- package/dist/executors/filesystem.js +1119 -0
- package/dist/executors/frg-freshness.js +577 -0
- package/dist/executors/frg.js +299 -0
- package/{dist-cjs/executors/index.d.ts → dist/executors/index.js} +22 -19
- package/dist/executors/learning-meta.js +1147 -0
- package/dist/executors/lsp-client.js +297 -0
- package/dist/executors/memory.js +751 -0
- package/dist/executors/meta.js +221 -0
- package/dist/executors/process-registry.js +466 -0
- package/dist/executors/pty-session-store.js +31 -0
- package/dist/executors/pty.js +281 -0
- package/dist/executors/restart.js +120 -0
- package/dist/executors/search-freshness.js +196 -0
- package/dist/executors/search-types.js +53 -0
- package/dist/executors/search.js +67 -0
- package/dist/executors/self-diagnose.js +399 -0
- package/dist/executors/session-history.js +284 -0
- package/dist/executors/shell-safety.js +474 -0
- package/dist/executors/shell.js +955 -0
- package/dist/executors/utils.js +34 -0
- package/dist/executors/web.js +543 -0
- package/dist/extraction/content-extraction.js +248 -0
- package/dist/extraction/index.js +5 -0
- package/dist/headless-control-contract.js +968 -0
- package/dist/{index-v49pd2a0.js → index-45qvfjbf.js} +2 -2
- package/dist/index.js +71 -372
- package/dist/local-control-http-auth.js +3 -0
- package/dist/mcp/client.js +182 -0
- package/dist/mcp/connection.js +484 -0
- package/dist/mcp/index.js +11 -0
- package/dist/mcp/jsonrpc.js +145 -0
- package/dist/mcp/types.js +8 -0
- package/dist/network-control-adapter.js +73 -0
- package/dist/network-runtime/address-types.js +166 -0
- package/dist/network-runtime/db-owner-fencing.js +70 -0
- package/dist/network-runtime/delivery-receipts.js +270 -0
- package/dist/network-runtime/direct-endpoint-authority.js +26 -0
- package/dist/network-runtime/index.js +13 -1
- package/dist/network-runtime/local-control-contract.js +628 -0
- package/dist/network-runtime/node-store-contract.js +35 -0
- package/dist/network-runtime/pair-route-contract.js +78 -0
- package/dist/network-runtime/peer-capabilities.js +29 -0
- package/dist/network-runtime/peer-principal-ref.js +13 -0
- package/dist/network-runtime/peer-state-machine.js +122 -0
- package/dist/network-runtime/protocol-schemas.js +206 -0
- package/dist/network-runtime/runtime-bootstrap-contract.js +61 -0
- package/dist/outlook/desktop-session.js +280 -0
- package/dist/policy.js +150 -0
- package/dist/providers/brave.js +63 -0
- package/dist/providers/duckduckgo.js +177 -0
- package/dist/providers/exa.js +64 -0
- package/dist/providers/firecrawl.js +56 -0
- package/{dist-cjs/providers/index.d.ts → dist/providers/index.js} +1 -1
- package/dist/providers/jina.js +50 -0
- package/dist/providers/router.js +97 -0
- package/dist/providers/search-provider.js +33 -0
- package/dist/providers/tavily.js +55 -0
- package/dist/pty-w5c9dv33.js +1 -0
- package/dist/quip/desktop-session.js +318 -0
- package/{dist-cjs/registry/index.d.ts → dist/registry/index.js} +1 -0
- package/dist/registry/registry.js +757 -0
- package/dist/runtime-socket-local-control-client.js +331 -0
- package/dist/security/dns-normalization.js +20 -0
- package/dist/security/dns-pinning.js +124 -0
- package/dist/security/external-content.js +92 -0
- package/dist/security/ssrf.js +182 -0
- package/dist/slack/desktop-session.js +325 -0
- package/dist/tool-factory.js +48 -0
- package/dist/types.js +8 -0
- package/dist/utils/retry.js +133 -0
- package/dist/utils/safe-parse-json.js +161 -0
- package/dist/utils/url.js +20 -0
- package/dist-cjs/ask-user-interaction.js +28 -0
- package/dist-cjs/cache/web-cache.js +71 -0
- package/dist-cjs/definitions/arion.js +108 -0
- package/dist-cjs/definitions/browser/browser.js +422 -0
- package/dist-cjs/definitions/browser/index.js +9 -0
- package/dist-cjs/definitions/browser/pw-downloads.js +118 -0
- package/dist-cjs/definitions/browser/pw-interactions.js +214 -0
- package/dist-cjs/definitions/browser/pw-responses.js +85 -0
- package/dist-cjs/definitions/browser/pw-session.js +327 -0
- package/dist-cjs/definitions/browser/pw-shared.js +73 -0
- package/dist-cjs/definitions/browser/pw-snapshot.js +308 -0
- package/dist-cjs/definitions/browser/pw-state.js +71 -0
- package/dist-cjs/definitions/browser/types.js +6 -0
- package/dist-cjs/definitions/code-intelligence.js +474 -0
- package/dist-cjs/definitions/core.js +134 -0
- package/dist-cjs/definitions/delegation.js +516 -0
- package/dist-cjs/definitions/deploy.js +69 -0
- package/dist-cjs/definitions/filesystem.js +200 -0
- package/dist-cjs/definitions/frg.js +67 -0
- package/dist-cjs/definitions/index.js +44 -0
- package/dist-cjs/definitions/memory.js +127 -0
- package/dist-cjs/definitions/messaging.js +632 -0
- package/dist-cjs/definitions/meta.js +353 -0
- package/dist-cjs/definitions/network.js +163 -0
- package/dist-cjs/definitions/outlook.js +281 -0
- package/dist-cjs/definitions/patch/apply-patch.js +192 -0
- package/dist-cjs/definitions/patch/fuzzy-match.js +173 -0
- package/dist-cjs/definitions/patch/index.js +6 -0
- package/dist-cjs/definitions/patch/patch-parser.js +216 -0
- package/dist-cjs/definitions/patch/sandbox-paths.js +114 -0
- package/dist-cjs/definitions/process/index.js +9 -0
- package/dist-cjs/definitions/process/process-registry.js +232 -0
- package/dist-cjs/definitions/process/process.js +390 -0
- package/dist-cjs/definitions/process/pty-keys.js +260 -0
- package/dist-cjs/definitions/process/session-slug.js +146 -0
- package/dist-cjs/definitions/quip.js +199 -0
- package/dist-cjs/definitions/search.js +64 -0
- package/dist-cjs/definitions/session-history.js +73 -0
- package/dist-cjs/definitions/shell.js +185 -0
- package/dist-cjs/definitions/slack.js +184 -0
- package/dist-cjs/definitions/web.js +113 -0
- package/dist-cjs/executors/apply-patch.js +939 -0
- package/dist-cjs/executors/arion.js +126 -0
- package/dist-cjs/executors/code-intelligence.js +926 -0
- package/dist-cjs/executors/deploy.js +870 -0
- package/dist-cjs/executors/filesystem.js +1164 -0
- package/dist-cjs/executors/frg-freshness.js +628 -0
- package/dist-cjs/executors/frg.js +335 -0
- package/dist-cjs/executors/index.js +144 -0
- package/dist-cjs/executors/learning-meta.js +1166 -0
- package/dist-cjs/executors/memory.js +797 -0
- package/dist-cjs/executors/meta.js +227 -0
- package/dist-cjs/executors/process-registry.js +470 -0
- package/dist-cjs/executors/pty-session-store.js +35 -0
- package/dist-cjs/executors/pty.js +289 -0
- package/dist-cjs/executors/restart.js +156 -0
- package/dist-cjs/executors/search-freshness.js +235 -0
- package/dist-cjs/executors/search-types.js +57 -0
- package/dist-cjs/executors/search.js +103 -0
- package/dist-cjs/executors/self-diagnose.js +435 -0
- package/dist-cjs/executors/session-history.js +321 -0
- package/dist-cjs/executors/shell-safety.js +479 -0
- package/dist-cjs/executors/shell.js +1002 -0
- package/dist-cjs/executors/utils.js +74 -0
- package/dist-cjs/executors/web.js +548 -0
- package/dist-cjs/extraction/content-extraction.js +289 -0
- package/dist-cjs/extraction/index.js +9 -0
- package/dist-cjs/headless-control-contract.js +973 -0
- package/dist-cjs/index.js +436 -385
- package/dist-cjs/local-control-http-auth.js +6 -0
- package/dist-cjs/mcp/client.js +186 -0
- package/dist-cjs/mcp/connection.js +488 -0
- package/dist-cjs/mcp/index.js +31 -0
- package/dist-cjs/mcp/jsonrpc.js +149 -0
- package/dist-cjs/mcp/types.js +9 -0
- package/dist-cjs/network-control-adapter.js +78 -0
- package/dist-cjs/network-runtime/address-types.js +169 -0
- package/dist-cjs/network-runtime/db-owner-fencing.js +77 -0
- package/dist-cjs/network-runtime/delivery-receipts.js +279 -0
- package/dist-cjs/network-runtime/direct-endpoint-authority.js +30 -0
- package/dist-cjs/network-runtime/index.js +173 -8
- package/dist-cjs/network-runtime/local-control-contract.js +634 -0
- package/dist-cjs/network-runtime/node-store-contract.js +39 -0
- package/dist-cjs/network-runtime/pair-route-contract.js +81 -0
- package/dist-cjs/network-runtime/peer-capabilities.js +38 -0
- package/dist-cjs/network-runtime/peer-principal-ref.js +16 -0
- package/dist-cjs/network-runtime/peer-state-machine.js +130 -0
- package/dist-cjs/network-runtime/protocol-schemas.js +213 -0
- package/dist-cjs/network-runtime/runtime-bootstrap-contract.js +64 -0
- package/dist-cjs/outlook/desktop-session.js +319 -0
- package/dist-cjs/policy.js +156 -0
- package/dist-cjs/providers/brave.js +67 -0
- package/dist-cjs/providers/duckduckgo.js +181 -0
- package/dist-cjs/providers/exa.js +68 -0
- package/dist-cjs/providers/firecrawl.js +60 -0
- package/dist-cjs/providers/index.js +18 -0
- package/dist-cjs/providers/jina.js +54 -0
- package/dist-cjs/providers/router.js +101 -0
- package/dist-cjs/providers/search-provider.js +37 -0
- package/dist-cjs/providers/tavily.js +59 -0
- package/dist-cjs/quip/desktop-session.js +354 -0
- package/dist-cjs/registry/index.js +7 -0
- package/dist-cjs/registry/registry.js +762 -0
- package/dist-cjs/runtime-socket-local-control-client.js +368 -0
- package/dist-cjs/security/dns-normalization.js +23 -0
- package/dist-cjs/security/dns-pinning.js +161 -0
- package/dist-cjs/security/external-content.js +96 -0
- package/dist-cjs/security/ssrf.js +222 -0
- package/dist-cjs/slack/desktop-session.js +367 -0
- package/dist-cjs/tool-factory.js +51 -0
- package/dist-cjs/types.js +9 -0
- package/dist-cjs/utils/retry.js +170 -0
- package/dist-cjs/utils/safe-parse-json.js +165 -0
- package/dist-cjs/utils/url.js +24 -0
- package/package.json +11 -10
- package/dist/ask-user-interaction.d.ts +0 -10
- package/dist/cache/web-cache.d.ts +0 -52
- package/dist/definitions/arion.d.ts +0 -8
- package/dist/definitions/browser/browser.d.ts +0 -2
- package/dist/definitions/browser/index.d.ts +0 -1
- package/dist/definitions/browser/pw-downloads.d.ts +0 -13
- package/dist/definitions/browser/pw-interactions.d.ts +0 -78
- package/dist/definitions/browser/pw-responses.d.ts +0 -28
- package/dist/definitions/browser/pw-session.d.ts +0 -65
- package/dist/definitions/browser/pw-shared.d.ts +0 -22
- package/dist/definitions/browser/pw-snapshot.d.ts +0 -34
- package/dist/definitions/browser/pw-state.d.ts +0 -22
- package/dist/definitions/browser/types.d.ts +0 -277
- package/dist/definitions/code-intelligence.d.ts +0 -8
- package/dist/definitions/core.d.ts +0 -47
- package/dist/definitions/delegation.d.ts +0 -11
- package/dist/definitions/deploy.d.ts +0 -15
- package/dist/definitions/filesystem.d.ts +0 -9
- package/dist/definitions/frg.d.ts +0 -3
- package/dist/definitions/index.d.ts +0 -19
- package/dist/definitions/memory.d.ts +0 -8
- package/dist/definitions/messaging.d.ts +0 -11
- package/dist/definitions/meta.d.ts +0 -11
- package/dist/definitions/network.d.ts +0 -11
- package/dist/definitions/outlook.d.ts +0 -2
- package/dist/definitions/patch/apply-patch.d.ts +0 -11
- package/dist/definitions/patch/fuzzy-match.d.ts +0 -10
- package/dist/definitions/patch/index.d.ts +0 -1
- package/dist/definitions/patch/patch-parser.d.ts +0 -50
- package/dist/definitions/patch/sandbox-paths.d.ts +0 -18
- package/dist/definitions/process/index.d.ts +0 -1
- package/dist/definitions/process/process-registry.d.ts +0 -67
- package/dist/definitions/process/process.d.ts +0 -9
- package/dist/definitions/process/pty-keys.d.ts +0 -13
- package/dist/definitions/process/session-slug.d.ts +0 -1
- package/dist/definitions/quip.d.ts +0 -2
- package/dist/definitions/search.d.ts +0 -9
- package/dist/definitions/session-history.d.ts +0 -11
- package/dist/definitions/shell.d.ts +0 -8
- package/dist/definitions/slack.d.ts +0 -2
- package/dist/definitions/web.d.ts +0 -8
- package/dist/executors/apply-patch.d.ts +0 -51
- package/dist/executors/arion.d.ts +0 -50
- package/dist/executors/code-intelligence.d.ts +0 -138
- package/dist/executors/deploy.d.ts +0 -169
- package/dist/executors/filesystem.d.ts +0 -150
- package/dist/executors/frg-freshness.d.ts +0 -93
- package/dist/executors/frg.d.ts +0 -27
- package/dist/executors/index.d.ts +0 -44
- package/dist/executors/learning-meta.d.ts +0 -87
- package/dist/executors/lsp-client.d.ts +0 -38
- package/dist/executors/memory.d.ts +0 -203
- package/dist/executors/meta.d.ts +0 -73
- package/dist/executors/process-registry.d.ts +0 -98
- package/dist/executors/pty-session-store.d.ts +0 -14
- package/dist/executors/pty.d.ts +0 -133
- package/dist/executors/restart.d.ts +0 -13
- package/dist/executors/search-freshness.d.ts +0 -50
- package/dist/executors/search-types.d.ts +0 -52
- package/dist/executors/search.d.ts +0 -11
- package/dist/executors/self-diagnose.d.ts +0 -89
- package/dist/executors/session-history.d.ts +0 -75
- package/dist/executors/shell-safety.d.ts +0 -27
- package/dist/executors/shell.d.ts +0 -168
- package/dist/executors/utils.d.ts +0 -20
- package/dist/executors/web.d.ts +0 -89
- package/dist/extraction/content-extraction.d.ts +0 -48
- package/dist/extraction/index.d.ts +0 -4
- package/dist/headless-control-contract.d.ts +0 -3182
- package/dist/index.d.ts +0 -62
- package/dist/local-control-http-auth.d.ts +0 -2
- package/dist/mcp/client.d.ts +0 -68
- package/dist/mcp/connection.d.ts +0 -54
- package/dist/mcp/index.d.ts +0 -10
- package/dist/mcp/jsonrpc.d.ts +0 -36
- package/dist/mcp/types.d.ts +0 -178
- package/dist/network-control-adapter.d.ts +0 -4
- package/dist/network-runtime/address-types.d.ts +0 -201
- package/dist/network-runtime/db-owner-fencing.d.ts +0 -43
- package/dist/network-runtime/delivery-receipts.d.ts +0 -117
- package/dist/network-runtime/direct-endpoint-authority.d.ts +0 -8
- package/dist/network-runtime/index.d.ts +0 -24
- package/dist/network-runtime/local-control-contract.d.ts +0 -758
- package/dist/network-runtime/node-store-contract.d.ts +0 -49
- package/dist/network-runtime/pair-route-contract.d.ts +0 -100
- package/dist/network-runtime/peer-capabilities.d.ts +0 -10
- package/dist/network-runtime/peer-principal-ref.d.ts +0 -9
- package/dist/network-runtime/peer-state-machine.d.ts +0 -70
- package/dist/network-runtime/protocol-schemas.d.ts +0 -328
- package/dist/network-runtime/runtime-bootstrap-contract.d.ts +0 -81
- package/dist/outlook/desktop-session.d.ts +0 -68
- package/dist/policy.d.ts +0 -43
- package/dist/providers/brave.d.ts +0 -10
- package/dist/providers/duckduckgo.d.ts +0 -18
- package/dist/providers/exa.d.ts +0 -10
- package/dist/providers/firecrawl.d.ts +0 -10
- package/dist/providers/index.d.ts +0 -8
- package/dist/providers/jina.d.ts +0 -10
- package/dist/providers/router.d.ts +0 -21
- package/dist/providers/search-provider.d.ts +0 -35
- package/dist/providers/tavily.d.ts +0 -10
- package/dist/pty-cf6pmvx6.js +0 -1
- package/dist/quip/desktop-session.d.ts +0 -69
- package/dist/registry/index.d.ts +0 -1
- package/dist/registry/registry.d.ts +0 -156
- package/dist/runtime-socket-local-control-client.d.ts +0 -10
- package/dist/security/dns-normalization.d.ts +0 -6
- package/dist/security/dns-pinning.d.ts +0 -27
- package/dist/security/external-content.d.ts +0 -40
- package/dist/security/ssrf.d.ts +0 -40
- package/dist/slack/desktop-session.d.ts +0 -69
- package/dist/tool-factory.d.ts +0 -46
- package/dist/types.d.ts +0 -1192
- package/dist/utils/retry.d.ts +0 -11
- package/dist/utils/safe-parse-json.d.ts +0 -26
- package/dist/utils/url.d.ts +0 -10
- package/dist-cjs/ask-user-interaction.d.ts +0 -10
- package/dist-cjs/cache/web-cache.d.ts +0 -52
- package/dist-cjs/definitions/arion.d.ts +0 -8
- package/dist-cjs/definitions/browser/browser.d.ts +0 -2
- package/dist-cjs/definitions/browser/index.d.ts +0 -1
- package/dist-cjs/definitions/browser/pw-downloads.d.ts +0 -13
- package/dist-cjs/definitions/browser/pw-interactions.d.ts +0 -78
- package/dist-cjs/definitions/browser/pw-responses.d.ts +0 -28
- package/dist-cjs/definitions/browser/pw-session.d.ts +0 -65
- package/dist-cjs/definitions/browser/pw-shared.d.ts +0 -22
- package/dist-cjs/definitions/browser/pw-snapshot.d.ts +0 -34
- package/dist-cjs/definitions/browser/pw-state.d.ts +0 -22
- package/dist-cjs/definitions/browser/types.d.ts +0 -277
- package/dist-cjs/definitions/code-intelligence.d.ts +0 -8
- package/dist-cjs/definitions/core.d.ts +0 -47
- package/dist-cjs/definitions/delegation.d.ts +0 -11
- package/dist-cjs/definitions/deploy.d.ts +0 -15
- package/dist-cjs/definitions/filesystem.d.ts +0 -9
- package/dist-cjs/definitions/frg.d.ts +0 -3
- package/dist-cjs/definitions/memory.d.ts +0 -8
- package/dist-cjs/definitions/messaging.d.ts +0 -11
- package/dist-cjs/definitions/meta.d.ts +0 -11
- package/dist-cjs/definitions/network.d.ts +0 -11
- package/dist-cjs/definitions/outlook.d.ts +0 -2
- package/dist-cjs/definitions/patch/apply-patch.d.ts +0 -11
- package/dist-cjs/definitions/patch/fuzzy-match.d.ts +0 -10
- package/dist-cjs/definitions/patch/patch-parser.d.ts +0 -50
- package/dist-cjs/definitions/patch/sandbox-paths.d.ts +0 -18
- package/dist-cjs/definitions/process/index.d.ts +0 -1
- package/dist-cjs/definitions/process/process-registry.d.ts +0 -67
- package/dist-cjs/definitions/process/process.d.ts +0 -9
- package/dist-cjs/definitions/process/pty-keys.d.ts +0 -13
- package/dist-cjs/definitions/process/session-slug.d.ts +0 -1
- package/dist-cjs/definitions/quip.d.ts +0 -2
- package/dist-cjs/definitions/search.d.ts +0 -9
- package/dist-cjs/definitions/session-history.d.ts +0 -11
- package/dist-cjs/definitions/shell.d.ts +0 -8
- package/dist-cjs/definitions/slack.d.ts +0 -2
- package/dist-cjs/definitions/web.d.ts +0 -8
- package/dist-cjs/executors/apply-patch.d.ts +0 -51
- package/dist-cjs/executors/arion.d.ts +0 -50
- package/dist-cjs/executors/code-intelligence.d.ts +0 -138
- package/dist-cjs/executors/deploy.d.ts +0 -169
- package/dist-cjs/executors/filesystem.d.ts +0 -150
- package/dist-cjs/executors/frg-freshness.d.ts +0 -93
- package/dist-cjs/executors/frg.d.ts +0 -27
- package/dist-cjs/executors/learning-meta.d.ts +0 -87
- package/dist-cjs/executors/lsp-client.d.ts +0 -38
- package/dist-cjs/executors/memory.d.ts +0 -203
- package/dist-cjs/executors/meta.d.ts +0 -73
- package/dist-cjs/executors/process-registry.d.ts +0 -98
- package/dist-cjs/executors/pty-session-store.d.ts +0 -14
- package/dist-cjs/executors/pty.d.ts +0 -133
- package/dist-cjs/executors/restart.d.ts +0 -13
- package/dist-cjs/executors/search-freshness.d.ts +0 -50
- package/dist-cjs/executors/search-types.d.ts +0 -52
- package/dist-cjs/executors/search.d.ts +0 -11
- package/dist-cjs/executors/self-diagnose.d.ts +0 -89
- package/dist-cjs/executors/session-history.d.ts +0 -75
- package/dist-cjs/executors/shell-safety.d.ts +0 -27
- package/dist-cjs/executors/shell.d.ts +0 -168
- package/dist-cjs/executors/utils.d.ts +0 -20
- package/dist-cjs/executors/web.d.ts +0 -89
- package/dist-cjs/extraction/content-extraction.d.ts +0 -48
- package/dist-cjs/extraction/index.d.ts +0 -4
- package/dist-cjs/headless-control-contract.d.ts +0 -3182
- package/dist-cjs/index.d.ts +0 -62
- package/dist-cjs/local-control-http-auth.d.ts +0 -2
- package/dist-cjs/mcp/client.d.ts +0 -68
- package/dist-cjs/mcp/connection.d.ts +0 -54
- package/dist-cjs/mcp/index.d.ts +0 -10
- package/dist-cjs/mcp/jsonrpc.d.ts +0 -36
- package/dist-cjs/mcp/types.d.ts +0 -178
- package/dist-cjs/network-control-adapter.d.ts +0 -4
- package/dist-cjs/network-runtime/address-types.d.ts +0 -201
- package/dist-cjs/network-runtime/db-owner-fencing.d.ts +0 -43
- package/dist-cjs/network-runtime/delivery-receipts.d.ts +0 -117
- package/dist-cjs/network-runtime/direct-endpoint-authority.d.ts +0 -8
- package/dist-cjs/network-runtime/index.d.ts +0 -24
- package/dist-cjs/network-runtime/local-control-contract.d.ts +0 -758
- package/dist-cjs/network-runtime/node-store-contract.d.ts +0 -49
- package/dist-cjs/network-runtime/pair-route-contract.d.ts +0 -100
- package/dist-cjs/network-runtime/peer-capabilities.d.ts +0 -10
- package/dist-cjs/network-runtime/peer-principal-ref.d.ts +0 -9
- package/dist-cjs/network-runtime/peer-state-machine.d.ts +0 -70
- package/dist-cjs/network-runtime/protocol-schemas.d.ts +0 -328
- package/dist-cjs/network-runtime/runtime-bootstrap-contract.d.ts +0 -81
- package/dist-cjs/outlook/desktop-session.d.ts +0 -68
- package/dist-cjs/policy.d.ts +0 -43
- package/dist-cjs/providers/brave.d.ts +0 -10
- package/dist-cjs/providers/duckduckgo.d.ts +0 -18
- package/dist-cjs/providers/exa.d.ts +0 -10
- package/dist-cjs/providers/firecrawl.d.ts +0 -10
- package/dist-cjs/providers/jina.d.ts +0 -10
- package/dist-cjs/providers/router.d.ts +0 -21
- package/dist-cjs/providers/search-provider.d.ts +0 -35
- package/dist-cjs/providers/tavily.d.ts +0 -10
- package/dist-cjs/quip/desktop-session.d.ts +0 -69
- package/dist-cjs/registry/registry.d.ts +0 -156
- package/dist-cjs/runtime-socket-local-control-client.d.ts +0 -10
- package/dist-cjs/security/dns-normalization.d.ts +0 -6
- package/dist-cjs/security/dns-pinning.d.ts +0 -27
- package/dist-cjs/security/external-content.d.ts +0 -40
- package/dist-cjs/security/ssrf.d.ts +0 -40
- package/dist-cjs/slack/desktop-session.d.ts +0 -69
- package/dist-cjs/tool-factory.d.ts +0 -46
- package/dist-cjs/types.d.ts +0 -1192
- package/dist-cjs/utils/retry.d.ts +0 -11
- package/dist-cjs/utils/safe-parse-json.d.ts +0 -26
- package/dist-cjs/utils/url.d.ts +0 -10
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Originally from OpenClaw (MIT License, Copyright 2025 Peter Steinberger)
|
|
3
|
+
// https://github.com/openclaw/openclaw
|
|
4
|
+
// Modified for ARIA — stripped OpenClaw runtime, rewired to ARIA Tool interface
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.EMPTY_CHANGE_CONTEXT_MARKER = exports.CHANGE_CONTEXT_MARKER = exports.EOF_MARKER = exports.MOVE_TO_MARKER = exports.UPDATE_FILE_MARKER = exports.DELETE_FILE_MARKER = exports.ADD_FILE_MARKER = exports.END_PATCH_MARKER = exports.BEGIN_PATCH_MARKER = void 0;
|
|
7
|
+
exports.normalizeUnicodeSpaces = normalizeUnicodeSpaces;
|
|
8
|
+
exports.parsePatchText = parsePatchText;
|
|
9
|
+
exports.checkPatchBoundariesLenient = checkPatchBoundariesLenient;
|
|
10
|
+
exports.parseOneHunk = parseOneHunk;
|
|
11
|
+
exports.parseUpdateFileChunk = parseUpdateFileChunk;
|
|
12
|
+
// ── Marker Constants ───────────────────────────────────────────────
|
|
13
|
+
exports.BEGIN_PATCH_MARKER = "*** Begin Patch";
|
|
14
|
+
exports.END_PATCH_MARKER = "*** End Patch";
|
|
15
|
+
exports.ADD_FILE_MARKER = "*** Add File: ";
|
|
16
|
+
exports.DELETE_FILE_MARKER = "*** Delete File: ";
|
|
17
|
+
exports.UPDATE_FILE_MARKER = "*** Update File: ";
|
|
18
|
+
exports.MOVE_TO_MARKER = "*** Move to: ";
|
|
19
|
+
exports.EOF_MARKER = "*** End of File";
|
|
20
|
+
exports.CHANGE_CONTEXT_MARKER = "@@ ";
|
|
21
|
+
exports.EMPTY_CHANGE_CONTEXT_MARKER = "@@";
|
|
22
|
+
// ── Unicode Normalization ──────────────────────────────────────────
|
|
23
|
+
const UNICODE_SPACES = /[\u00A0\u2000-\u200A\u202F\u205F\u3000]/g;
|
|
24
|
+
function normalizeUnicodeSpaces(value) {
|
|
25
|
+
return value.replace(UNICODE_SPACES, " ");
|
|
26
|
+
}
|
|
27
|
+
// ── Parser ─────────────────────────────────────────────────────────
|
|
28
|
+
function parsePatchText(input) {
|
|
29
|
+
const trimmed = input.trim();
|
|
30
|
+
if (!trimmed) {
|
|
31
|
+
throw new Error("Invalid patch: input is empty.");
|
|
32
|
+
}
|
|
33
|
+
const lines = trimmed.split(/\r?\n/);
|
|
34
|
+
const validated = checkPatchBoundariesLenient(lines);
|
|
35
|
+
const hunks = [];
|
|
36
|
+
const lastLineIndex = validated.length - 1;
|
|
37
|
+
let remaining = validated.slice(1, lastLineIndex);
|
|
38
|
+
let lineNumber = 2;
|
|
39
|
+
while (remaining.length > 0) {
|
|
40
|
+
const { hunk, consumed } = parseOneHunk(remaining, lineNumber);
|
|
41
|
+
hunks.push(hunk);
|
|
42
|
+
lineNumber += consumed;
|
|
43
|
+
remaining = remaining.slice(consumed);
|
|
44
|
+
}
|
|
45
|
+
return { hunks, patch: validated.join("\n") };
|
|
46
|
+
}
|
|
47
|
+
function checkPatchBoundariesLenient(lines) {
|
|
48
|
+
const strictError = checkPatchBoundariesStrict(lines);
|
|
49
|
+
if (!strictError) {
|
|
50
|
+
return lines;
|
|
51
|
+
}
|
|
52
|
+
if (lines.length < 4) {
|
|
53
|
+
throw new Error(strictError);
|
|
54
|
+
}
|
|
55
|
+
const first = lines[0];
|
|
56
|
+
const last = lines[lines.length - 1];
|
|
57
|
+
if ((first === "<<EOF" || first === "<<'EOF'" || first === '<<"EOF"') && last?.endsWith("EOF")) {
|
|
58
|
+
const inner = lines.slice(1, lines.length - 1);
|
|
59
|
+
const innerError = checkPatchBoundariesStrict(inner);
|
|
60
|
+
if (!innerError) {
|
|
61
|
+
return inner;
|
|
62
|
+
}
|
|
63
|
+
throw new Error(innerError);
|
|
64
|
+
}
|
|
65
|
+
throw new Error(strictError);
|
|
66
|
+
}
|
|
67
|
+
function checkPatchBoundariesStrict(lines) {
|
|
68
|
+
const firstLine = lines[0]?.trim();
|
|
69
|
+
const lastLine = lines[lines.length - 1]?.trim();
|
|
70
|
+
if (firstLine === exports.BEGIN_PATCH_MARKER && lastLine === exports.END_PATCH_MARKER) {
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
if (firstLine !== exports.BEGIN_PATCH_MARKER) {
|
|
74
|
+
return "The first line of the patch must be '*** Begin Patch'";
|
|
75
|
+
}
|
|
76
|
+
return "The last line of the patch must be '*** End Patch'";
|
|
77
|
+
}
|
|
78
|
+
function parseOneHunk(lines, lineNumber) {
|
|
79
|
+
if (lines.length === 0) {
|
|
80
|
+
throw new Error(`Invalid patch hunk at line ${lineNumber}: empty hunk`);
|
|
81
|
+
}
|
|
82
|
+
const firstLine = lines[0].trim();
|
|
83
|
+
if (firstLine.startsWith(exports.ADD_FILE_MARKER)) {
|
|
84
|
+
const targetPath = firstLine.slice(exports.ADD_FILE_MARKER.length);
|
|
85
|
+
let contents = "";
|
|
86
|
+
let consumed = 1;
|
|
87
|
+
for (const addLine of lines.slice(1)) {
|
|
88
|
+
if (addLine.startsWith("+")) {
|
|
89
|
+
contents += `${addLine.slice(1)}\n`;
|
|
90
|
+
consumed += 1;
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return {
|
|
97
|
+
hunk: { kind: "add", path: targetPath, contents },
|
|
98
|
+
consumed,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
if (firstLine.startsWith(exports.DELETE_FILE_MARKER)) {
|
|
102
|
+
const targetPath = firstLine.slice(exports.DELETE_FILE_MARKER.length);
|
|
103
|
+
return {
|
|
104
|
+
hunk: { kind: "delete", path: targetPath },
|
|
105
|
+
consumed: 1,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
if (firstLine.startsWith(exports.UPDATE_FILE_MARKER)) {
|
|
109
|
+
const targetPath = firstLine.slice(exports.UPDATE_FILE_MARKER.length);
|
|
110
|
+
let remaining = lines.slice(1);
|
|
111
|
+
let consumed = 1;
|
|
112
|
+
let movePath;
|
|
113
|
+
const moveCandidate = remaining[0]?.trim();
|
|
114
|
+
if (moveCandidate?.startsWith(exports.MOVE_TO_MARKER)) {
|
|
115
|
+
movePath = moveCandidate.slice(exports.MOVE_TO_MARKER.length);
|
|
116
|
+
remaining = remaining.slice(1);
|
|
117
|
+
consumed += 1;
|
|
118
|
+
}
|
|
119
|
+
const chunks = [];
|
|
120
|
+
while (remaining.length > 0) {
|
|
121
|
+
if (remaining[0].trim() === "") {
|
|
122
|
+
remaining = remaining.slice(1);
|
|
123
|
+
consumed += 1;
|
|
124
|
+
continue;
|
|
125
|
+
}
|
|
126
|
+
if (remaining[0].startsWith("***")) {
|
|
127
|
+
break;
|
|
128
|
+
}
|
|
129
|
+
const { chunk, consumed: chunkLines } = parseUpdateFileChunk(remaining, lineNumber + consumed, chunks.length === 0);
|
|
130
|
+
chunks.push(chunk);
|
|
131
|
+
remaining = remaining.slice(chunkLines);
|
|
132
|
+
consumed += chunkLines;
|
|
133
|
+
}
|
|
134
|
+
if (chunks.length === 0) {
|
|
135
|
+
throw new Error(`Invalid patch hunk at line ${lineNumber}: Update file hunk for path '${targetPath}' is empty`);
|
|
136
|
+
}
|
|
137
|
+
return {
|
|
138
|
+
hunk: {
|
|
139
|
+
kind: "update",
|
|
140
|
+
path: targetPath,
|
|
141
|
+
movePath,
|
|
142
|
+
chunks,
|
|
143
|
+
},
|
|
144
|
+
consumed,
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
throw new Error(`Invalid patch hunk at line ${lineNumber}: '${lines[0]}' is not a valid hunk header. Valid hunk headers: '*** Add File: {path}', '*** Delete File: {path}', '*** Update File: {path}'`);
|
|
148
|
+
}
|
|
149
|
+
function parseUpdateFileChunk(lines, lineNumber, allowMissingContext) {
|
|
150
|
+
if (lines.length === 0) {
|
|
151
|
+
throw new Error(`Invalid patch hunk at line ${lineNumber}: Update hunk does not contain any lines`);
|
|
152
|
+
}
|
|
153
|
+
const firstLine = lines[0];
|
|
154
|
+
let changeContext;
|
|
155
|
+
let startIndex = 0;
|
|
156
|
+
if (firstLine === exports.EMPTY_CHANGE_CONTEXT_MARKER) {
|
|
157
|
+
startIndex = 1;
|
|
158
|
+
}
|
|
159
|
+
else if (firstLine.startsWith(exports.CHANGE_CONTEXT_MARKER)) {
|
|
160
|
+
changeContext = firstLine.slice(exports.CHANGE_CONTEXT_MARKER.length);
|
|
161
|
+
startIndex = 1;
|
|
162
|
+
}
|
|
163
|
+
else if (!allowMissingContext) {
|
|
164
|
+
throw new Error(`Invalid patch hunk at line ${lineNumber}: Expected update hunk to start with a @@ context marker, got: '${firstLine}'`);
|
|
165
|
+
}
|
|
166
|
+
if (startIndex >= lines.length) {
|
|
167
|
+
throw new Error(`Invalid patch hunk at line ${lineNumber + 1}: Update hunk does not contain any lines`);
|
|
168
|
+
}
|
|
169
|
+
const chunk = {
|
|
170
|
+
changeContext,
|
|
171
|
+
oldLines: [],
|
|
172
|
+
newLines: [],
|
|
173
|
+
isEndOfFile: false,
|
|
174
|
+
};
|
|
175
|
+
let parsedLines = 0;
|
|
176
|
+
for (const line of lines.slice(startIndex)) {
|
|
177
|
+
if (line === exports.EOF_MARKER) {
|
|
178
|
+
if (parsedLines === 0) {
|
|
179
|
+
throw new Error(`Invalid patch hunk at line ${lineNumber + 1}: Update hunk does not contain any lines`);
|
|
180
|
+
}
|
|
181
|
+
chunk.isEndOfFile = true;
|
|
182
|
+
parsedLines += 1;
|
|
183
|
+
break;
|
|
184
|
+
}
|
|
185
|
+
const marker = line[0];
|
|
186
|
+
if (!marker) {
|
|
187
|
+
chunk.oldLines.push("");
|
|
188
|
+
chunk.newLines.push("");
|
|
189
|
+
parsedLines += 1;
|
|
190
|
+
continue;
|
|
191
|
+
}
|
|
192
|
+
if (marker === " ") {
|
|
193
|
+
const content = line.slice(1);
|
|
194
|
+
chunk.oldLines.push(content);
|
|
195
|
+
chunk.newLines.push(content);
|
|
196
|
+
parsedLines += 1;
|
|
197
|
+
continue;
|
|
198
|
+
}
|
|
199
|
+
if (marker === "+") {
|
|
200
|
+
chunk.newLines.push(line.slice(1));
|
|
201
|
+
parsedLines += 1;
|
|
202
|
+
continue;
|
|
203
|
+
}
|
|
204
|
+
if (marker === "-") {
|
|
205
|
+
chunk.oldLines.push(line.slice(1));
|
|
206
|
+
parsedLines += 1;
|
|
207
|
+
continue;
|
|
208
|
+
}
|
|
209
|
+
if (parsedLines === 0) {
|
|
210
|
+
throw new Error(`Invalid patch hunk at line ${lineNumber + 1}: Unexpected line found in update hunk: '${line}'. Every line should start with ' ' (context line), '+' (added line), or '-' (removed line)`);
|
|
211
|
+
}
|
|
212
|
+
break;
|
|
213
|
+
}
|
|
214
|
+
return { chunk, consumed: parsedLines + startIndex };
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=patch-parser.js.map
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Originally from OpenClaw (MIT License, Copyright 2025 Peter Steinberger)
|
|
3
|
+
// https://github.com/openclaw/openclaw
|
|
4
|
+
// Modified for ARIA — stripped OpenClaw runtime, rewired to ARIA Tool interface
|
|
5
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.resolveSandboxInputPath = resolveSandboxInputPath;
|
|
10
|
+
exports.resolveSandboxPath = resolveSandboxPath;
|
|
11
|
+
exports.assertSandboxPath = assertSandboxPath;
|
|
12
|
+
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
13
|
+
const node_os_1 = __importDefault(require("node:os"));
|
|
14
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
15
|
+
const UNICODE_SPACES = /[\u00A0\u2000-\u200A\u202F\u205F\u3000]/g;
|
|
16
|
+
function normalizeUnicodeSpaces(str) {
|
|
17
|
+
return str.replace(UNICODE_SPACES, " ");
|
|
18
|
+
}
|
|
19
|
+
function expandPath(filePath) {
|
|
20
|
+
const normalized = normalizeUnicodeSpaces(filePath);
|
|
21
|
+
if (normalized === "~") {
|
|
22
|
+
return node_os_1.default.homedir();
|
|
23
|
+
}
|
|
24
|
+
if (normalized.startsWith("~/")) {
|
|
25
|
+
return node_os_1.default.homedir() + normalized.slice(1);
|
|
26
|
+
}
|
|
27
|
+
return normalized;
|
|
28
|
+
}
|
|
29
|
+
function resolveToCwd(filePath, cwd) {
|
|
30
|
+
const expanded = expandPath(filePath);
|
|
31
|
+
if (node_path_1.default.isAbsolute(expanded)) {
|
|
32
|
+
return expanded;
|
|
33
|
+
}
|
|
34
|
+
return node_path_1.default.resolve(cwd, expanded);
|
|
35
|
+
}
|
|
36
|
+
function resolveSandboxInputPath(filePath, cwd) {
|
|
37
|
+
return resolveToCwd(filePath, cwd);
|
|
38
|
+
}
|
|
39
|
+
function resolveSandboxPath(params) {
|
|
40
|
+
const resolved = resolveSandboxInputPath(params.filePath, params.cwd);
|
|
41
|
+
const rootResolved = node_path_1.default.resolve(params.root);
|
|
42
|
+
const relative = node_path_1.default.relative(rootResolved, resolved);
|
|
43
|
+
if (!relative || relative === "") {
|
|
44
|
+
return { resolved, relative: "" };
|
|
45
|
+
}
|
|
46
|
+
if (relative.startsWith("..") || node_path_1.default.isAbsolute(relative)) {
|
|
47
|
+
throw new Error(`Path escapes sandbox root (${shortPath(rootResolved)}): ${params.filePath}`);
|
|
48
|
+
}
|
|
49
|
+
return { resolved, relative };
|
|
50
|
+
}
|
|
51
|
+
async function assertSandboxPath(params) {
|
|
52
|
+
const resolved = resolveSandboxPath(params);
|
|
53
|
+
await assertNoSymlinkEscape(resolved.relative, node_path_1.default.resolve(params.root), {
|
|
54
|
+
allowFinalSymlink: params.allowFinalSymlink,
|
|
55
|
+
});
|
|
56
|
+
return resolved;
|
|
57
|
+
}
|
|
58
|
+
async function assertNoSymlinkEscape(relative, root, options) {
|
|
59
|
+
if (!relative) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
const rootReal = await tryRealpath(root);
|
|
63
|
+
const parts = relative.split(node_path_1.default.sep).filter(Boolean);
|
|
64
|
+
let current = root;
|
|
65
|
+
for (let idx = 0; idx < parts.length; idx += 1) {
|
|
66
|
+
const part = parts[idx];
|
|
67
|
+
const isLast = idx === parts.length - 1;
|
|
68
|
+
current = node_path_1.default.join(current, part);
|
|
69
|
+
try {
|
|
70
|
+
const stat = await promises_1.default.lstat(current);
|
|
71
|
+
if (stat.isSymbolicLink()) {
|
|
72
|
+
// Unlinking a symlink itself is safe even if it points outside the root. What we
|
|
73
|
+
// must prevent is traversing through a symlink to reach targets outside root.
|
|
74
|
+
if (options?.allowFinalSymlink && isLast) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
const target = await tryRealpath(current);
|
|
78
|
+
if (!isPathInside(rootReal, target)) {
|
|
79
|
+
throw new Error(`Symlink escapes sandbox root (${shortPath(rootReal)}): ${shortPath(current)}`);
|
|
80
|
+
}
|
|
81
|
+
current = target;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
catch (err) {
|
|
85
|
+
const anyErr = err;
|
|
86
|
+
if (anyErr.code === "ENOENT") {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
throw err;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
async function tryRealpath(value) {
|
|
94
|
+
try {
|
|
95
|
+
return await promises_1.default.realpath(value);
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
return node_path_1.default.resolve(value);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
function isPathInside(root, target) {
|
|
102
|
+
const relative = node_path_1.default.relative(root, target);
|
|
103
|
+
if (!relative || relative === "") {
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
106
|
+
return !(relative.startsWith("..") || node_path_1.default.isAbsolute(relative));
|
|
107
|
+
}
|
|
108
|
+
function shortPath(value) {
|
|
109
|
+
if (value.startsWith(node_os_1.default.homedir())) {
|
|
110
|
+
return `~${value.slice(node_os_1.default.homedir().length)}`;
|
|
111
|
+
}
|
|
112
|
+
return value;
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=sandbox-paths.js.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Originally from OpenClaw (MIT License, Copyright 2025 Peter Steinberger)
|
|
3
|
+
// https://github.com/openclaw/openclaw
|
|
4
|
+
// Modified for ARIA — stripped OpenClaw runtime, rewired to ARIA Tool interface
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.processTool = void 0;
|
|
7
|
+
var process_js_1 = require("./process.js");
|
|
8
|
+
Object.defineProperty(exports, "processTool", { enumerable: true, get: function () { return process_js_1.processTool; } });
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Originally from OpenClaw (MIT License, Copyright 2025 Peter Steinberger)
|
|
3
|
+
// https://github.com/openclaw/openclaw
|
|
4
|
+
// Modified for ARIA — stripped OpenClaw runtime (PI_BASH_JOB_TTL_MS env, gateway refs),
|
|
5
|
+
// rewired imports to local session-slug
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.createSessionSlug = createSessionSlug;
|
|
8
|
+
exports.addSession = addSession;
|
|
9
|
+
exports.getSession = getSession;
|
|
10
|
+
exports.getFinishedSession = getFinishedSession;
|
|
11
|
+
exports.deleteSession = deleteSession;
|
|
12
|
+
exports.appendOutput = appendOutput;
|
|
13
|
+
exports.drainSession = drainSession;
|
|
14
|
+
exports.markExited = markExited;
|
|
15
|
+
exports.markBackgrounded = markBackgrounded;
|
|
16
|
+
exports.tail = tail;
|
|
17
|
+
exports.trimWithCap = trimWithCap;
|
|
18
|
+
exports.listRunningSessions = listRunningSessions;
|
|
19
|
+
exports.listFinishedSessions = listFinishedSessions;
|
|
20
|
+
exports.clearFinished = clearFinished;
|
|
21
|
+
exports.resetProcessRegistryForTests = resetProcessRegistryForTests;
|
|
22
|
+
exports.setJobTtlMs = setJobTtlMs;
|
|
23
|
+
const session_slug_js_1 = require("./session-slug.js");
|
|
24
|
+
const DEFAULT_JOB_TTL_MS = 30 * 60 * 1000; // 30 minutes
|
|
25
|
+
const MIN_JOB_TTL_MS = 60 * 1000; // 1 minute
|
|
26
|
+
const MAX_JOB_TTL_MS = 3 * 60 * 60 * 1000; // 3 hours
|
|
27
|
+
const DEFAULT_PENDING_OUTPUT_CHARS = 30_000;
|
|
28
|
+
function clampTtl(value) {
|
|
29
|
+
if (!value || Number.isNaN(value)) {
|
|
30
|
+
return DEFAULT_JOB_TTL_MS;
|
|
31
|
+
}
|
|
32
|
+
return Math.min(Math.max(value, MIN_JOB_TTL_MS), MAX_JOB_TTL_MS);
|
|
33
|
+
}
|
|
34
|
+
let jobTtlMs = DEFAULT_JOB_TTL_MS;
|
|
35
|
+
const runningSessions = new Map();
|
|
36
|
+
const finishedSessions = new Map();
|
|
37
|
+
let sweeper = null;
|
|
38
|
+
function isSessionIdTaken(id) {
|
|
39
|
+
return runningSessions.has(id) || finishedSessions.has(id);
|
|
40
|
+
}
|
|
41
|
+
function createSessionSlug() {
|
|
42
|
+
return (0, session_slug_js_1.createSessionSlug)(isSessionIdTaken);
|
|
43
|
+
}
|
|
44
|
+
function addSession(session) {
|
|
45
|
+
runningSessions.set(session.id, session);
|
|
46
|
+
startSweeper();
|
|
47
|
+
}
|
|
48
|
+
function getSession(id) {
|
|
49
|
+
return runningSessions.get(id);
|
|
50
|
+
}
|
|
51
|
+
function getFinishedSession(id) {
|
|
52
|
+
return finishedSessions.get(id);
|
|
53
|
+
}
|
|
54
|
+
function deleteSession(id) {
|
|
55
|
+
runningSessions.delete(id);
|
|
56
|
+
finishedSessions.delete(id);
|
|
57
|
+
}
|
|
58
|
+
function appendOutput(session, stream, chunk) {
|
|
59
|
+
session.pendingStdout ??= [];
|
|
60
|
+
session.pendingStderr ??= [];
|
|
61
|
+
session.pendingStdoutChars ??= sumPendingChars(session.pendingStdout);
|
|
62
|
+
session.pendingStderrChars ??= sumPendingChars(session.pendingStderr);
|
|
63
|
+
const buffer = stream === "stdout" ? session.pendingStdout : session.pendingStderr;
|
|
64
|
+
const bufferChars = stream === "stdout" ? session.pendingStdoutChars : session.pendingStderrChars;
|
|
65
|
+
const pendingCap = Math.min(session.pendingMaxOutputChars ?? DEFAULT_PENDING_OUTPUT_CHARS, session.maxOutputChars);
|
|
66
|
+
buffer.push(chunk);
|
|
67
|
+
let pendingChars = bufferChars + chunk.length;
|
|
68
|
+
if (pendingChars > pendingCap) {
|
|
69
|
+
session.truncated = true;
|
|
70
|
+
pendingChars = capPendingBuffer(buffer, pendingChars, pendingCap);
|
|
71
|
+
}
|
|
72
|
+
if (stream === "stdout") {
|
|
73
|
+
session.pendingStdoutChars = pendingChars;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
session.pendingStderrChars = pendingChars;
|
|
77
|
+
}
|
|
78
|
+
session.totalOutputChars += chunk.length;
|
|
79
|
+
const aggregated = trimWithCap(session.aggregated + chunk, session.maxOutputChars);
|
|
80
|
+
session.truncated =
|
|
81
|
+
session.truncated || aggregated.length < session.aggregated.length + chunk.length;
|
|
82
|
+
session.aggregated = aggregated;
|
|
83
|
+
session.tail = tail(session.aggregated, 2000);
|
|
84
|
+
}
|
|
85
|
+
function drainSession(session) {
|
|
86
|
+
const stdout = session.pendingStdout.join("");
|
|
87
|
+
const stderr = session.pendingStderr.join("");
|
|
88
|
+
session.pendingStdout = [];
|
|
89
|
+
session.pendingStderr = [];
|
|
90
|
+
session.pendingStdoutChars = 0;
|
|
91
|
+
session.pendingStderrChars = 0;
|
|
92
|
+
return { stdout, stderr };
|
|
93
|
+
}
|
|
94
|
+
function markExited(session, exitCode, exitSignal, status) {
|
|
95
|
+
session.exited = true;
|
|
96
|
+
session.exitCode = exitCode;
|
|
97
|
+
session.exitSignal = exitSignal;
|
|
98
|
+
session.tail = tail(session.aggregated, 2000);
|
|
99
|
+
moveToFinished(session, status);
|
|
100
|
+
}
|
|
101
|
+
function markBackgrounded(session) {
|
|
102
|
+
session.backgrounded = true;
|
|
103
|
+
}
|
|
104
|
+
function moveToFinished(session, status) {
|
|
105
|
+
runningSessions.delete(session.id);
|
|
106
|
+
// Clean up child process stdio streams to prevent FD leaks
|
|
107
|
+
if (session.child) {
|
|
108
|
+
session.child.stdin?.destroy?.();
|
|
109
|
+
session.child.stdout?.destroy?.();
|
|
110
|
+
session.child.stderr?.destroy?.();
|
|
111
|
+
session.child.removeAllListeners();
|
|
112
|
+
delete session.child;
|
|
113
|
+
}
|
|
114
|
+
// Clean up stdin wrapper
|
|
115
|
+
if (session.stdin) {
|
|
116
|
+
if (typeof session.stdin.destroy === "function") {
|
|
117
|
+
session.stdin.destroy();
|
|
118
|
+
}
|
|
119
|
+
else if (typeof session.stdin.end === "function") {
|
|
120
|
+
session.stdin.end();
|
|
121
|
+
}
|
|
122
|
+
try {
|
|
123
|
+
session.stdin.destroyed = true;
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
// Ignore if read-only
|
|
127
|
+
}
|
|
128
|
+
delete session.stdin;
|
|
129
|
+
}
|
|
130
|
+
if (!session.backgrounded) {
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
finishedSessions.set(session.id, {
|
|
134
|
+
id: session.id,
|
|
135
|
+
command: session.command,
|
|
136
|
+
startedAt: session.startedAt,
|
|
137
|
+
endedAt: Date.now(),
|
|
138
|
+
cwd: session.cwd,
|
|
139
|
+
status,
|
|
140
|
+
exitCode: session.exitCode,
|
|
141
|
+
exitSignal: session.exitSignal,
|
|
142
|
+
aggregated: session.aggregated,
|
|
143
|
+
tail: session.tail,
|
|
144
|
+
truncated: session.truncated,
|
|
145
|
+
totalOutputChars: session.totalOutputChars,
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
function tail(text, max = 2000) {
|
|
149
|
+
if (text.length <= max) {
|
|
150
|
+
return text;
|
|
151
|
+
}
|
|
152
|
+
return text.slice(text.length - max);
|
|
153
|
+
}
|
|
154
|
+
function sumPendingChars(buffer) {
|
|
155
|
+
let total = 0;
|
|
156
|
+
for (const chunk of buffer) {
|
|
157
|
+
total += chunk.length;
|
|
158
|
+
}
|
|
159
|
+
return total;
|
|
160
|
+
}
|
|
161
|
+
function capPendingBuffer(buffer, pendingChars, cap) {
|
|
162
|
+
if (pendingChars <= cap) {
|
|
163
|
+
return pendingChars;
|
|
164
|
+
}
|
|
165
|
+
const last = buffer.at(-1);
|
|
166
|
+
if (last && last.length >= cap) {
|
|
167
|
+
buffer.length = 0;
|
|
168
|
+
buffer.push(last.slice(last.length - cap));
|
|
169
|
+
return cap;
|
|
170
|
+
}
|
|
171
|
+
while (buffer.length && buffer[0] !== undefined && pendingChars - buffer[0].length >= cap) {
|
|
172
|
+
pendingChars -= buffer[0].length;
|
|
173
|
+
buffer.shift();
|
|
174
|
+
}
|
|
175
|
+
if (buffer.length && buffer[0] !== undefined && pendingChars > cap) {
|
|
176
|
+
const overflow = pendingChars - cap;
|
|
177
|
+
buffer[0] = buffer[0].slice(overflow);
|
|
178
|
+
pendingChars = cap;
|
|
179
|
+
}
|
|
180
|
+
return pendingChars;
|
|
181
|
+
}
|
|
182
|
+
function trimWithCap(text, max) {
|
|
183
|
+
if (text.length <= max) {
|
|
184
|
+
return text;
|
|
185
|
+
}
|
|
186
|
+
return text.slice(text.length - max);
|
|
187
|
+
}
|
|
188
|
+
function listRunningSessions() {
|
|
189
|
+
return Array.from(runningSessions.values()).filter((s) => s.backgrounded);
|
|
190
|
+
}
|
|
191
|
+
function listFinishedSessions() {
|
|
192
|
+
return Array.from(finishedSessions.values());
|
|
193
|
+
}
|
|
194
|
+
function clearFinished() {
|
|
195
|
+
finishedSessions.clear();
|
|
196
|
+
}
|
|
197
|
+
function resetProcessRegistryForTests() {
|
|
198
|
+
runningSessions.clear();
|
|
199
|
+
finishedSessions.clear();
|
|
200
|
+
stopSweeper();
|
|
201
|
+
}
|
|
202
|
+
function setJobTtlMs(value) {
|
|
203
|
+
if (value === undefined || Number.isNaN(value)) {
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
jobTtlMs = clampTtl(value);
|
|
207
|
+
stopSweeper();
|
|
208
|
+
startSweeper();
|
|
209
|
+
}
|
|
210
|
+
function pruneFinishedSessions() {
|
|
211
|
+
const cutoff = Date.now() - jobTtlMs;
|
|
212
|
+
for (const [id, session] of finishedSessions.entries()) {
|
|
213
|
+
if (session.endedAt < cutoff) {
|
|
214
|
+
finishedSessions.delete(id);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
function startSweeper() {
|
|
219
|
+
if (sweeper) {
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
sweeper = setInterval(pruneFinishedSessions, Math.max(30_000, jobTtlMs / 6));
|
|
223
|
+
sweeper.unref?.();
|
|
224
|
+
}
|
|
225
|
+
function stopSweeper() {
|
|
226
|
+
if (!sweeper) {
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
clearInterval(sweeper);
|
|
230
|
+
sweeper = null;
|
|
231
|
+
}
|
|
232
|
+
//# sourceMappingURL=process-registry.js.map
|