@aria-cli/tools 1.0.19 → 1.0.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.aria-build-stamp.json +1 -1
- package/dist/ask-user-interaction.js +23 -0
- package/dist/cache/web-cache.js +67 -0
- package/dist/definitions/arion.js +105 -0
- package/dist/definitions/browser/browser.js +419 -0
- package/dist/definitions/browser/index.js +5 -0
- package/dist/definitions/browser/pw-downloads.js +115 -0
- package/dist/definitions/browser/pw-interactions.js +200 -0
- package/dist/definitions/browser/pw-responses.js +77 -0
- package/dist/definitions/browser/pw-session.js +311 -0
- package/dist/definitions/browser/pw-shared.js +67 -0
- package/dist/definitions/browser/pw-snapshot.js +302 -0
- package/dist/definitions/browser/pw-state.js +63 -0
- package/dist/definitions/browser/types.js +5 -0
- package/dist/definitions/code-intelligence.js +471 -0
- package/dist/definitions/core.js +110 -0
- package/dist/definitions/delegation.js +513 -0
- package/dist/definitions/deploy.js +66 -0
- package/dist/definitions/filesystem.js +197 -0
- package/dist/definitions/frg.js +64 -0
- package/{dist-cjs/definitions/index.d.ts → dist/definitions/index.js} +2 -0
- package/dist/definitions/memory.js +124 -0
- package/dist/definitions/messaging.js +626 -0
- package/dist/definitions/meta.js +350 -0
- package/dist/definitions/network.js +160 -0
- package/dist/definitions/outlook.js +278 -0
- package/dist/definitions/patch/apply-patch.js +185 -0
- package/dist/definitions/patch/fuzzy-match.js +167 -0
- package/{dist-cjs/definitions/patch/index.d.ts → dist/definitions/patch/index.js} +1 -0
- package/dist/definitions/patch/patch-parser.js +208 -0
- package/dist/definitions/patch/sandbox-paths.js +106 -0
- package/dist/definitions/process/index.js +5 -0
- package/dist/definitions/process/process-registry.js +214 -0
- package/dist/definitions/process/process.js +387 -0
- package/dist/definitions/process/pty-keys.js +255 -0
- package/dist/definitions/process/session-slug.js +143 -0
- package/dist/definitions/quip.js +196 -0
- package/dist/definitions/search.js +61 -0
- package/dist/definitions/session-history.js +70 -0
- package/dist/definitions/shell.js +182 -0
- package/dist/definitions/slack.js +181 -0
- package/dist/definitions/web.js +110 -0
- package/dist/executors/apply-patch.js +902 -0
- package/dist/executors/arion.js +120 -0
- package/dist/executors/code-intelligence.js +883 -0
- package/dist/executors/deploy.js +849 -0
- package/dist/executors/filesystem.js +1119 -0
- package/dist/executors/frg-freshness.js +577 -0
- package/dist/executors/frg.js +299 -0
- package/{dist-cjs/executors/index.d.ts → dist/executors/index.js} +22 -19
- package/dist/executors/learning-meta.js +1147 -0
- package/dist/executors/lsp-client.js +297 -0
- package/dist/executors/memory.js +751 -0
- package/dist/executors/meta.js +221 -0
- package/dist/executors/process-registry.js +466 -0
- package/dist/executors/pty-session-store.js +31 -0
- package/dist/executors/pty.js +281 -0
- package/dist/executors/restart.js +120 -0
- package/dist/executors/search-freshness.js +196 -0
- package/dist/executors/search-types.js +53 -0
- package/dist/executors/search.js +67 -0
- package/dist/executors/self-diagnose.js +399 -0
- package/dist/executors/session-history.js +284 -0
- package/dist/executors/shell-safety.js +474 -0
- package/dist/executors/shell.js +955 -0
- package/dist/executors/utils.js +34 -0
- package/dist/executors/web.js +543 -0
- package/dist/extraction/content-extraction.js +248 -0
- package/dist/extraction/index.js +5 -0
- package/dist/headless-control-contract.js +968 -0
- package/dist/{index-v49pd2a0.js → index-45qvfjbf.js} +2 -2
- package/dist/index.js +71 -372
- package/dist/local-control-http-auth.js +3 -0
- package/dist/mcp/client.js +182 -0
- package/dist/mcp/connection.js +484 -0
- package/dist/mcp/index.js +11 -0
- package/dist/mcp/jsonrpc.js +145 -0
- package/dist/mcp/types.js +8 -0
- package/dist/network-control-adapter.js +73 -0
- package/dist/network-runtime/address-types.js +166 -0
- package/dist/network-runtime/db-owner-fencing.js +70 -0
- package/dist/network-runtime/delivery-receipts.js +270 -0
- package/dist/network-runtime/direct-endpoint-authority.js +26 -0
- package/dist/network-runtime/index.js +13 -1
- package/dist/network-runtime/local-control-contract.js +628 -0
- package/dist/network-runtime/node-store-contract.js +35 -0
- package/dist/network-runtime/pair-route-contract.js +78 -0
- package/dist/network-runtime/peer-capabilities.js +29 -0
- package/dist/network-runtime/peer-principal-ref.js +13 -0
- package/dist/network-runtime/peer-state-machine.js +122 -0
- package/dist/network-runtime/protocol-schemas.js +206 -0
- package/dist/network-runtime/runtime-bootstrap-contract.js +61 -0
- package/dist/outlook/desktop-session.js +280 -0
- package/dist/policy.js +150 -0
- package/dist/providers/brave.js +63 -0
- package/dist/providers/duckduckgo.js +177 -0
- package/dist/providers/exa.js +64 -0
- package/dist/providers/firecrawl.js +56 -0
- package/{dist-cjs/providers/index.d.ts → dist/providers/index.js} +1 -1
- package/dist/providers/jina.js +50 -0
- package/dist/providers/router.js +97 -0
- package/dist/providers/search-provider.js +33 -0
- package/dist/providers/tavily.js +55 -0
- package/dist/pty-w5c9dv33.js +1 -0
- package/dist/quip/desktop-session.js +318 -0
- package/{dist-cjs/registry/index.d.ts → dist/registry/index.js} +1 -0
- package/dist/registry/registry.js +757 -0
- package/dist/runtime-socket-local-control-client.js +331 -0
- package/dist/security/dns-normalization.js +20 -0
- package/dist/security/dns-pinning.js +124 -0
- package/dist/security/external-content.js +92 -0
- package/dist/security/ssrf.js +182 -0
- package/dist/slack/desktop-session.js +325 -0
- package/dist/tool-factory.js +48 -0
- package/dist/types.js +8 -0
- package/dist/utils/retry.js +133 -0
- package/dist/utils/safe-parse-json.js +161 -0
- package/dist/utils/url.js +20 -0
- package/dist-cjs/ask-user-interaction.js +28 -0
- package/dist-cjs/cache/web-cache.js +71 -0
- package/dist-cjs/definitions/arion.js +108 -0
- package/dist-cjs/definitions/browser/browser.js +422 -0
- package/dist-cjs/definitions/browser/index.js +9 -0
- package/dist-cjs/definitions/browser/pw-downloads.js +118 -0
- package/dist-cjs/definitions/browser/pw-interactions.js +214 -0
- package/dist-cjs/definitions/browser/pw-responses.js +85 -0
- package/dist-cjs/definitions/browser/pw-session.js +327 -0
- package/dist-cjs/definitions/browser/pw-shared.js +73 -0
- package/dist-cjs/definitions/browser/pw-snapshot.js +308 -0
- package/dist-cjs/definitions/browser/pw-state.js +71 -0
- package/dist-cjs/definitions/browser/types.js +6 -0
- package/dist-cjs/definitions/code-intelligence.js +474 -0
- package/dist-cjs/definitions/core.js +134 -0
- package/dist-cjs/definitions/delegation.js +516 -0
- package/dist-cjs/definitions/deploy.js +69 -0
- package/dist-cjs/definitions/filesystem.js +200 -0
- package/dist-cjs/definitions/frg.js +67 -0
- package/dist-cjs/definitions/index.js +44 -0
- package/dist-cjs/definitions/memory.js +127 -0
- package/dist-cjs/definitions/messaging.js +632 -0
- package/dist-cjs/definitions/meta.js +353 -0
- package/dist-cjs/definitions/network.js +163 -0
- package/dist-cjs/definitions/outlook.js +281 -0
- package/dist-cjs/definitions/patch/apply-patch.js +192 -0
- package/dist-cjs/definitions/patch/fuzzy-match.js +173 -0
- package/dist-cjs/definitions/patch/index.js +6 -0
- package/dist-cjs/definitions/patch/patch-parser.js +216 -0
- package/dist-cjs/definitions/patch/sandbox-paths.js +114 -0
- package/dist-cjs/definitions/process/index.js +9 -0
- package/dist-cjs/definitions/process/process-registry.js +232 -0
- package/dist-cjs/definitions/process/process.js +390 -0
- package/dist-cjs/definitions/process/pty-keys.js +260 -0
- package/dist-cjs/definitions/process/session-slug.js +146 -0
- package/dist-cjs/definitions/quip.js +199 -0
- package/dist-cjs/definitions/search.js +64 -0
- package/dist-cjs/definitions/session-history.js +73 -0
- package/dist-cjs/definitions/shell.js +185 -0
- package/dist-cjs/definitions/slack.js +184 -0
- package/dist-cjs/definitions/web.js +113 -0
- package/dist-cjs/executors/apply-patch.js +939 -0
- package/dist-cjs/executors/arion.js +126 -0
- package/dist-cjs/executors/code-intelligence.js +926 -0
- package/dist-cjs/executors/deploy.js +870 -0
- package/dist-cjs/executors/filesystem.js +1164 -0
- package/dist-cjs/executors/frg-freshness.js +628 -0
- package/dist-cjs/executors/frg.js +335 -0
- package/dist-cjs/executors/index.js +144 -0
- package/dist-cjs/executors/learning-meta.js +1166 -0
- package/dist-cjs/executors/memory.js +797 -0
- package/dist-cjs/executors/meta.js +227 -0
- package/dist-cjs/executors/process-registry.js +470 -0
- package/dist-cjs/executors/pty-session-store.js +35 -0
- package/dist-cjs/executors/pty.js +289 -0
- package/dist-cjs/executors/restart.js +156 -0
- package/dist-cjs/executors/search-freshness.js +235 -0
- package/dist-cjs/executors/search-types.js +57 -0
- package/dist-cjs/executors/search.js +103 -0
- package/dist-cjs/executors/self-diagnose.js +435 -0
- package/dist-cjs/executors/session-history.js +321 -0
- package/dist-cjs/executors/shell-safety.js +479 -0
- package/dist-cjs/executors/shell.js +1002 -0
- package/dist-cjs/executors/utils.js +74 -0
- package/dist-cjs/executors/web.js +548 -0
- package/dist-cjs/extraction/content-extraction.js +289 -0
- package/dist-cjs/extraction/index.js +9 -0
- package/dist-cjs/headless-control-contract.js +973 -0
- package/dist-cjs/index.js +436 -385
- package/dist-cjs/local-control-http-auth.js +6 -0
- package/dist-cjs/mcp/client.js +186 -0
- package/dist-cjs/mcp/connection.js +488 -0
- package/dist-cjs/mcp/index.js +31 -0
- package/dist-cjs/mcp/jsonrpc.js +149 -0
- package/dist-cjs/mcp/types.js +9 -0
- package/dist-cjs/network-control-adapter.js +78 -0
- package/dist-cjs/network-runtime/address-types.js +169 -0
- package/dist-cjs/network-runtime/db-owner-fencing.js +77 -0
- package/dist-cjs/network-runtime/delivery-receipts.js +279 -0
- package/dist-cjs/network-runtime/direct-endpoint-authority.js +30 -0
- package/dist-cjs/network-runtime/index.js +173 -8
- package/dist-cjs/network-runtime/local-control-contract.js +634 -0
- package/dist-cjs/network-runtime/node-store-contract.js +39 -0
- package/dist-cjs/network-runtime/pair-route-contract.js +81 -0
- package/dist-cjs/network-runtime/peer-capabilities.js +38 -0
- package/dist-cjs/network-runtime/peer-principal-ref.js +16 -0
- package/dist-cjs/network-runtime/peer-state-machine.js +130 -0
- package/dist-cjs/network-runtime/protocol-schemas.js +213 -0
- package/dist-cjs/network-runtime/runtime-bootstrap-contract.js +64 -0
- package/dist-cjs/outlook/desktop-session.js +319 -0
- package/dist-cjs/policy.js +156 -0
- package/dist-cjs/providers/brave.js +67 -0
- package/dist-cjs/providers/duckduckgo.js +181 -0
- package/dist-cjs/providers/exa.js +68 -0
- package/dist-cjs/providers/firecrawl.js +60 -0
- package/dist-cjs/providers/index.js +18 -0
- package/dist-cjs/providers/jina.js +54 -0
- package/dist-cjs/providers/router.js +101 -0
- package/dist-cjs/providers/search-provider.js +37 -0
- package/dist-cjs/providers/tavily.js +59 -0
- package/dist-cjs/quip/desktop-session.js +354 -0
- package/dist-cjs/registry/index.js +7 -0
- package/dist-cjs/registry/registry.js +762 -0
- package/dist-cjs/runtime-socket-local-control-client.js +368 -0
- package/dist-cjs/security/dns-normalization.js +23 -0
- package/dist-cjs/security/dns-pinning.js +161 -0
- package/dist-cjs/security/external-content.js +96 -0
- package/dist-cjs/security/ssrf.js +222 -0
- package/dist-cjs/slack/desktop-session.js +367 -0
- package/dist-cjs/tool-factory.js +51 -0
- package/dist-cjs/types.js +9 -0
- package/dist-cjs/utils/retry.js +170 -0
- package/dist-cjs/utils/safe-parse-json.js +165 -0
- package/dist-cjs/utils/url.js +24 -0
- package/package.json +11 -10
- package/dist/ask-user-interaction.d.ts +0 -10
- package/dist/cache/web-cache.d.ts +0 -52
- package/dist/definitions/arion.d.ts +0 -8
- package/dist/definitions/browser/browser.d.ts +0 -2
- package/dist/definitions/browser/index.d.ts +0 -1
- package/dist/definitions/browser/pw-downloads.d.ts +0 -13
- package/dist/definitions/browser/pw-interactions.d.ts +0 -78
- package/dist/definitions/browser/pw-responses.d.ts +0 -28
- package/dist/definitions/browser/pw-session.d.ts +0 -65
- package/dist/definitions/browser/pw-shared.d.ts +0 -22
- package/dist/definitions/browser/pw-snapshot.d.ts +0 -34
- package/dist/definitions/browser/pw-state.d.ts +0 -22
- package/dist/definitions/browser/types.d.ts +0 -277
- package/dist/definitions/code-intelligence.d.ts +0 -8
- package/dist/definitions/core.d.ts +0 -47
- package/dist/definitions/delegation.d.ts +0 -11
- package/dist/definitions/deploy.d.ts +0 -15
- package/dist/definitions/filesystem.d.ts +0 -9
- package/dist/definitions/frg.d.ts +0 -3
- package/dist/definitions/index.d.ts +0 -19
- package/dist/definitions/memory.d.ts +0 -8
- package/dist/definitions/messaging.d.ts +0 -11
- package/dist/definitions/meta.d.ts +0 -11
- package/dist/definitions/network.d.ts +0 -11
- package/dist/definitions/outlook.d.ts +0 -2
- package/dist/definitions/patch/apply-patch.d.ts +0 -11
- package/dist/definitions/patch/fuzzy-match.d.ts +0 -10
- package/dist/definitions/patch/index.d.ts +0 -1
- package/dist/definitions/patch/patch-parser.d.ts +0 -50
- package/dist/definitions/patch/sandbox-paths.d.ts +0 -18
- package/dist/definitions/process/index.d.ts +0 -1
- package/dist/definitions/process/process-registry.d.ts +0 -67
- package/dist/definitions/process/process.d.ts +0 -9
- package/dist/definitions/process/pty-keys.d.ts +0 -13
- package/dist/definitions/process/session-slug.d.ts +0 -1
- package/dist/definitions/quip.d.ts +0 -2
- package/dist/definitions/search.d.ts +0 -9
- package/dist/definitions/session-history.d.ts +0 -11
- package/dist/definitions/shell.d.ts +0 -8
- package/dist/definitions/slack.d.ts +0 -2
- package/dist/definitions/web.d.ts +0 -8
- package/dist/executors/apply-patch.d.ts +0 -51
- package/dist/executors/arion.d.ts +0 -50
- package/dist/executors/code-intelligence.d.ts +0 -138
- package/dist/executors/deploy.d.ts +0 -169
- package/dist/executors/filesystem.d.ts +0 -150
- package/dist/executors/frg-freshness.d.ts +0 -93
- package/dist/executors/frg.d.ts +0 -27
- package/dist/executors/index.d.ts +0 -44
- package/dist/executors/learning-meta.d.ts +0 -87
- package/dist/executors/lsp-client.d.ts +0 -38
- package/dist/executors/memory.d.ts +0 -203
- package/dist/executors/meta.d.ts +0 -73
- package/dist/executors/process-registry.d.ts +0 -98
- package/dist/executors/pty-session-store.d.ts +0 -14
- package/dist/executors/pty.d.ts +0 -133
- package/dist/executors/restart.d.ts +0 -13
- package/dist/executors/search-freshness.d.ts +0 -50
- package/dist/executors/search-types.d.ts +0 -52
- package/dist/executors/search.d.ts +0 -11
- package/dist/executors/self-diagnose.d.ts +0 -89
- package/dist/executors/session-history.d.ts +0 -75
- package/dist/executors/shell-safety.d.ts +0 -27
- package/dist/executors/shell.d.ts +0 -168
- package/dist/executors/utils.d.ts +0 -20
- package/dist/executors/web.d.ts +0 -89
- package/dist/extraction/content-extraction.d.ts +0 -48
- package/dist/extraction/index.d.ts +0 -4
- package/dist/headless-control-contract.d.ts +0 -3182
- package/dist/index.d.ts +0 -62
- package/dist/local-control-http-auth.d.ts +0 -2
- package/dist/mcp/client.d.ts +0 -68
- package/dist/mcp/connection.d.ts +0 -54
- package/dist/mcp/index.d.ts +0 -10
- package/dist/mcp/jsonrpc.d.ts +0 -36
- package/dist/mcp/types.d.ts +0 -178
- package/dist/network-control-adapter.d.ts +0 -4
- package/dist/network-runtime/address-types.d.ts +0 -201
- package/dist/network-runtime/db-owner-fencing.d.ts +0 -43
- package/dist/network-runtime/delivery-receipts.d.ts +0 -117
- package/dist/network-runtime/direct-endpoint-authority.d.ts +0 -8
- package/dist/network-runtime/index.d.ts +0 -24
- package/dist/network-runtime/local-control-contract.d.ts +0 -758
- package/dist/network-runtime/node-store-contract.d.ts +0 -49
- package/dist/network-runtime/pair-route-contract.d.ts +0 -100
- package/dist/network-runtime/peer-capabilities.d.ts +0 -10
- package/dist/network-runtime/peer-principal-ref.d.ts +0 -9
- package/dist/network-runtime/peer-state-machine.d.ts +0 -70
- package/dist/network-runtime/protocol-schemas.d.ts +0 -328
- package/dist/network-runtime/runtime-bootstrap-contract.d.ts +0 -81
- package/dist/outlook/desktop-session.d.ts +0 -68
- package/dist/policy.d.ts +0 -43
- package/dist/providers/brave.d.ts +0 -10
- package/dist/providers/duckduckgo.d.ts +0 -18
- package/dist/providers/exa.d.ts +0 -10
- package/dist/providers/firecrawl.d.ts +0 -10
- package/dist/providers/index.d.ts +0 -8
- package/dist/providers/jina.d.ts +0 -10
- package/dist/providers/router.d.ts +0 -21
- package/dist/providers/search-provider.d.ts +0 -35
- package/dist/providers/tavily.d.ts +0 -10
- package/dist/pty-cf6pmvx6.js +0 -1
- package/dist/quip/desktop-session.d.ts +0 -69
- package/dist/registry/index.d.ts +0 -1
- package/dist/registry/registry.d.ts +0 -156
- package/dist/runtime-socket-local-control-client.d.ts +0 -10
- package/dist/security/dns-normalization.d.ts +0 -6
- package/dist/security/dns-pinning.d.ts +0 -27
- package/dist/security/external-content.d.ts +0 -40
- package/dist/security/ssrf.d.ts +0 -40
- package/dist/slack/desktop-session.d.ts +0 -69
- package/dist/tool-factory.d.ts +0 -46
- package/dist/types.d.ts +0 -1192
- package/dist/utils/retry.d.ts +0 -11
- package/dist/utils/safe-parse-json.d.ts +0 -26
- package/dist/utils/url.d.ts +0 -10
- package/dist-cjs/ask-user-interaction.d.ts +0 -10
- package/dist-cjs/cache/web-cache.d.ts +0 -52
- package/dist-cjs/definitions/arion.d.ts +0 -8
- package/dist-cjs/definitions/browser/browser.d.ts +0 -2
- package/dist-cjs/definitions/browser/index.d.ts +0 -1
- package/dist-cjs/definitions/browser/pw-downloads.d.ts +0 -13
- package/dist-cjs/definitions/browser/pw-interactions.d.ts +0 -78
- package/dist-cjs/definitions/browser/pw-responses.d.ts +0 -28
- package/dist-cjs/definitions/browser/pw-session.d.ts +0 -65
- package/dist-cjs/definitions/browser/pw-shared.d.ts +0 -22
- package/dist-cjs/definitions/browser/pw-snapshot.d.ts +0 -34
- package/dist-cjs/definitions/browser/pw-state.d.ts +0 -22
- package/dist-cjs/definitions/browser/types.d.ts +0 -277
- package/dist-cjs/definitions/code-intelligence.d.ts +0 -8
- package/dist-cjs/definitions/core.d.ts +0 -47
- package/dist-cjs/definitions/delegation.d.ts +0 -11
- package/dist-cjs/definitions/deploy.d.ts +0 -15
- package/dist-cjs/definitions/filesystem.d.ts +0 -9
- package/dist-cjs/definitions/frg.d.ts +0 -3
- package/dist-cjs/definitions/memory.d.ts +0 -8
- package/dist-cjs/definitions/messaging.d.ts +0 -11
- package/dist-cjs/definitions/meta.d.ts +0 -11
- package/dist-cjs/definitions/network.d.ts +0 -11
- package/dist-cjs/definitions/outlook.d.ts +0 -2
- package/dist-cjs/definitions/patch/apply-patch.d.ts +0 -11
- package/dist-cjs/definitions/patch/fuzzy-match.d.ts +0 -10
- package/dist-cjs/definitions/patch/patch-parser.d.ts +0 -50
- package/dist-cjs/definitions/patch/sandbox-paths.d.ts +0 -18
- package/dist-cjs/definitions/process/index.d.ts +0 -1
- package/dist-cjs/definitions/process/process-registry.d.ts +0 -67
- package/dist-cjs/definitions/process/process.d.ts +0 -9
- package/dist-cjs/definitions/process/pty-keys.d.ts +0 -13
- package/dist-cjs/definitions/process/session-slug.d.ts +0 -1
- package/dist-cjs/definitions/quip.d.ts +0 -2
- package/dist-cjs/definitions/search.d.ts +0 -9
- package/dist-cjs/definitions/session-history.d.ts +0 -11
- package/dist-cjs/definitions/shell.d.ts +0 -8
- package/dist-cjs/definitions/slack.d.ts +0 -2
- package/dist-cjs/definitions/web.d.ts +0 -8
- package/dist-cjs/executors/apply-patch.d.ts +0 -51
- package/dist-cjs/executors/arion.d.ts +0 -50
- package/dist-cjs/executors/code-intelligence.d.ts +0 -138
- package/dist-cjs/executors/deploy.d.ts +0 -169
- package/dist-cjs/executors/filesystem.d.ts +0 -150
- package/dist-cjs/executors/frg-freshness.d.ts +0 -93
- package/dist-cjs/executors/frg.d.ts +0 -27
- package/dist-cjs/executors/learning-meta.d.ts +0 -87
- package/dist-cjs/executors/lsp-client.d.ts +0 -38
- package/dist-cjs/executors/memory.d.ts +0 -203
- package/dist-cjs/executors/meta.d.ts +0 -73
- package/dist-cjs/executors/process-registry.d.ts +0 -98
- package/dist-cjs/executors/pty-session-store.d.ts +0 -14
- package/dist-cjs/executors/pty.d.ts +0 -133
- package/dist-cjs/executors/restart.d.ts +0 -13
- package/dist-cjs/executors/search-freshness.d.ts +0 -50
- package/dist-cjs/executors/search-types.d.ts +0 -52
- package/dist-cjs/executors/search.d.ts +0 -11
- package/dist-cjs/executors/self-diagnose.d.ts +0 -89
- package/dist-cjs/executors/session-history.d.ts +0 -75
- package/dist-cjs/executors/shell-safety.d.ts +0 -27
- package/dist-cjs/executors/shell.d.ts +0 -168
- package/dist-cjs/executors/utils.d.ts +0 -20
- package/dist-cjs/executors/web.d.ts +0 -89
- package/dist-cjs/extraction/content-extraction.d.ts +0 -48
- package/dist-cjs/extraction/index.d.ts +0 -4
- package/dist-cjs/headless-control-contract.d.ts +0 -3182
- package/dist-cjs/index.d.ts +0 -62
- package/dist-cjs/local-control-http-auth.d.ts +0 -2
- package/dist-cjs/mcp/client.d.ts +0 -68
- package/dist-cjs/mcp/connection.d.ts +0 -54
- package/dist-cjs/mcp/index.d.ts +0 -10
- package/dist-cjs/mcp/jsonrpc.d.ts +0 -36
- package/dist-cjs/mcp/types.d.ts +0 -178
- package/dist-cjs/network-control-adapter.d.ts +0 -4
- package/dist-cjs/network-runtime/address-types.d.ts +0 -201
- package/dist-cjs/network-runtime/db-owner-fencing.d.ts +0 -43
- package/dist-cjs/network-runtime/delivery-receipts.d.ts +0 -117
- package/dist-cjs/network-runtime/direct-endpoint-authority.d.ts +0 -8
- package/dist-cjs/network-runtime/index.d.ts +0 -24
- package/dist-cjs/network-runtime/local-control-contract.d.ts +0 -758
- package/dist-cjs/network-runtime/node-store-contract.d.ts +0 -49
- package/dist-cjs/network-runtime/pair-route-contract.d.ts +0 -100
- package/dist-cjs/network-runtime/peer-capabilities.d.ts +0 -10
- package/dist-cjs/network-runtime/peer-principal-ref.d.ts +0 -9
- package/dist-cjs/network-runtime/peer-state-machine.d.ts +0 -70
- package/dist-cjs/network-runtime/protocol-schemas.d.ts +0 -328
- package/dist-cjs/network-runtime/runtime-bootstrap-contract.d.ts +0 -81
- package/dist-cjs/outlook/desktop-session.d.ts +0 -68
- package/dist-cjs/policy.d.ts +0 -43
- package/dist-cjs/providers/brave.d.ts +0 -10
- package/dist-cjs/providers/duckduckgo.d.ts +0 -18
- package/dist-cjs/providers/exa.d.ts +0 -10
- package/dist-cjs/providers/firecrawl.d.ts +0 -10
- package/dist-cjs/providers/jina.d.ts +0 -10
- package/dist-cjs/providers/router.d.ts +0 -21
- package/dist-cjs/providers/search-provider.d.ts +0 -35
- package/dist-cjs/providers/tavily.d.ts +0 -10
- package/dist-cjs/quip/desktop-session.d.ts +0 -69
- package/dist-cjs/registry/registry.d.ts +0 -156
- package/dist-cjs/runtime-socket-local-control-client.d.ts +0 -10
- package/dist-cjs/security/dns-normalization.d.ts +0 -6
- package/dist-cjs/security/dns-pinning.d.ts +0 -27
- package/dist-cjs/security/external-content.d.ts +0 -40
- package/dist-cjs/security/ssrf.d.ts +0 -40
- package/dist-cjs/slack/desktop-session.d.ts +0 -69
- package/dist-cjs/tool-factory.d.ts +0 -46
- package/dist-cjs/types.d.ts +0 -1192
- package/dist-cjs/utils/retry.d.ts +0 -11
- package/dist-cjs/utils/safe-parse-json.d.ts +0 -26
- package/dist-cjs/utils/url.d.ts +0 -10
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Executor for the native indexed regex search tool.
|
|
3
|
+
*
|
|
4
|
+
* Freshness architecture (frg parity):
|
|
5
|
+
* 1. ARIA tool writes → recordSearchMutation → session overlay (0ms visibility)
|
|
6
|
+
* 2. External edits → reconcileSearchGitDirty → session overlay (0ms visibility)
|
|
7
|
+
* 3. Commit/version change → syncIndex or buildIndex (incremental/full)
|
|
8
|
+
* 4. Session overlay passed to napi search() — no index rebuild needed
|
|
9
|
+
*/
|
|
10
|
+
import * as nodePath from "node:path";
|
|
11
|
+
import { buildIndex, syncIndex, indexStatus, search } from "@aria-cli/search";
|
|
12
|
+
import { success, fail } from "./utils.js";
|
|
13
|
+
import { reconcileSearchGitDirty, getSearchSessionOverlay, clearSearchMutations, } from "./search-freshness.js";
|
|
14
|
+
export async function executeSearch(input, ctx) {
|
|
15
|
+
const opts = input;
|
|
16
|
+
const dir = nodePath.resolve(ctx.workingDir, opts.directory || ".");
|
|
17
|
+
try {
|
|
18
|
+
// Step 1: Index management — build or sync base index if needed.
|
|
19
|
+
const status = indexStatus(dir);
|
|
20
|
+
if (status.state === "none") {
|
|
21
|
+
buildIndex(dir);
|
|
22
|
+
clearSearchMutations(dir); // fresh index includes everything
|
|
23
|
+
}
|
|
24
|
+
else if (status.state === "stale") {
|
|
25
|
+
// Commit or binary version changed — incremental sync is sufficient
|
|
26
|
+
// (syncIndex rebuilds hot.log from git diff, much cheaper than full build).
|
|
27
|
+
// Only fall back to full build if sync fails.
|
|
28
|
+
try {
|
|
29
|
+
syncIndex(dir);
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
buildIndex(dir);
|
|
33
|
+
}
|
|
34
|
+
clearSearchMutations(dir);
|
|
35
|
+
}
|
|
36
|
+
// "ready" — base index is fresh, session overlay handles uncommitted changes
|
|
37
|
+
// Step 2: Reconcile git-dirty files into pending mutations.
|
|
38
|
+
// Detects files modified/created/deleted by external agents or the user.
|
|
39
|
+
// Throttled to avoid hammering git on rapid sequential searches.
|
|
40
|
+
reconcileSearchGitDirty(dir);
|
|
41
|
+
// Step 3: Generate session overlay from pending mutations.
|
|
42
|
+
// This gives 0ms visibility for ARIA tool writes and external edits —
|
|
43
|
+
// no index rebuild needed. The overlay is applied in-memory by the
|
|
44
|
+
// Rust search engine on top of the base index + hot.log.
|
|
45
|
+
const overlay = getSearchSessionOverlay(dir);
|
|
46
|
+
// Step 4: Search with overlay.
|
|
47
|
+
const results = search({
|
|
48
|
+
pattern: opts.pattern,
|
|
49
|
+
directory: dir,
|
|
50
|
+
maxResults: opts.maxResults ?? 1000,
|
|
51
|
+
fileGlob: opts.fileGlob,
|
|
52
|
+
fileType: opts.fileType,
|
|
53
|
+
caseSensitive: opts.caseSensitive ?? true,
|
|
54
|
+
literal: opts.literal ?? false,
|
|
55
|
+
context: opts.context ?? 0,
|
|
56
|
+
sessionWrites: overlay.sessionWrites,
|
|
57
|
+
sessionDeletes: overlay.sessionDeletes,
|
|
58
|
+
});
|
|
59
|
+
const truncated = results.length >= (opts.maxResults ?? 1000);
|
|
60
|
+
return success(`Found ${results.length} matches for "${opts.pattern}"${truncated ? " (truncated)" : ""}`, { matches: results, truncated });
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
const reason = err instanceof Error ? err.message : String(err);
|
|
64
|
+
return fail(`Search failed: ${reason}`);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -0,0 +1,399 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @aria/tools - Self-diagnose tool executor
|
|
3
|
+
*
|
|
4
|
+
* Pure signal diagnostic tool. 5 sections, zero noise:
|
|
5
|
+
* 1. runtime — process health + resource leaks
|
|
6
|
+
* 2. errors — structured errors from JSONL (active + rotated)
|
|
7
|
+
* 3. crashes — crash markers + dumps
|
|
8
|
+
* 4. databases — sizes, WAL health, schema version
|
|
9
|
+
* 5. daemon — daemon audit + delegation journal
|
|
10
|
+
*/
|
|
11
|
+
import * as fs from "node:fs/promises";
|
|
12
|
+
import * as path from "node:path";
|
|
13
|
+
import * as os from "node:os";
|
|
14
|
+
import { success, fail } from "./utils.js";
|
|
15
|
+
// ============================================================================
|
|
16
|
+
// Constants
|
|
17
|
+
// ============================================================================
|
|
18
|
+
const ALL_SECTIONS = ["runtime", "errors", "crashes", "databases", "daemon", "network"];
|
|
19
|
+
const ARIA_HOME = path.join(os.homedir(), ".aria");
|
|
20
|
+
// ============================================================================
|
|
21
|
+
// Helpers
|
|
22
|
+
// ============================================================================
|
|
23
|
+
async function safeStat(p) {
|
|
24
|
+
try {
|
|
25
|
+
const s = await fs.stat(p);
|
|
26
|
+
return { size: s.size, mtime: s.mtime };
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
function truncate(s, max) {
|
|
33
|
+
if (!s)
|
|
34
|
+
return "";
|
|
35
|
+
return s.length <= max ? s : s.slice(0, max - 3) + "...";
|
|
36
|
+
}
|
|
37
|
+
async function dirCount(dir) {
|
|
38
|
+
try {
|
|
39
|
+
const entries = await fs.readdir(dir);
|
|
40
|
+
return entries.length;
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
return 0;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
async function tailJsonl(filePath, maxLines) {
|
|
47
|
+
try {
|
|
48
|
+
const content = await fs.readFile(filePath, "utf-8");
|
|
49
|
+
const lines = content.trim().split("\n").slice(-maxLines);
|
|
50
|
+
return lines
|
|
51
|
+
.map((l) => {
|
|
52
|
+
try {
|
|
53
|
+
return JSON.parse(l);
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
})
|
|
59
|
+
.filter(Boolean);
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
return [];
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
// ============================================================================
|
|
66
|
+
// Section: runtime
|
|
67
|
+
// ============================================================================
|
|
68
|
+
async function getRuntime(ctx) {
|
|
69
|
+
const mem = process.memoryUsage();
|
|
70
|
+
// Resource leak detection
|
|
71
|
+
const socketDirs = await dirCount(path.join(ARIA_HOME, "sock"));
|
|
72
|
+
const ownerFiles = await dirCount(path.join(ARIA_HOME, "run/owners"));
|
|
73
|
+
// Stuck restart detection
|
|
74
|
+
let relaunchPending = false;
|
|
75
|
+
try {
|
|
76
|
+
const entries = await fs.readdir(path.join(ARIA_HOME, "relaunch-pending"));
|
|
77
|
+
relaunchPending = entries.length > 0;
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
/* dir may not exist */
|
|
81
|
+
}
|
|
82
|
+
return {
|
|
83
|
+
pid: process.pid,
|
|
84
|
+
uptime_s: Math.round(process.uptime()),
|
|
85
|
+
heap_mb: Math.round(mem.heapUsed / 1e6),
|
|
86
|
+
rss_mb: Math.round(mem.rss / 1e6),
|
|
87
|
+
node_version: process.version,
|
|
88
|
+
platform: process.platform,
|
|
89
|
+
arch: process.arch,
|
|
90
|
+
cwd: process.cwd(),
|
|
91
|
+
session_id: ctx.currentSessionId ?? null,
|
|
92
|
+
socket_dirs: socketDirs,
|
|
93
|
+
owner_files: ownerFiles,
|
|
94
|
+
relaunch_pending: relaunchPending,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
// ============================================================================
|
|
98
|
+
// Section: errors (active + rotated JSONL, merged, filtered)
|
|
99
|
+
// ============================================================================
|
|
100
|
+
async function getErrors(since, focus, limit) {
|
|
101
|
+
// Read both active and rotated logs
|
|
102
|
+
const active = path.join(ARIA_HOME, "error-events.jsonl");
|
|
103
|
+
const rotated = path.join(ARIA_HOME, "error-events.jsonl.1");
|
|
104
|
+
const [activeEntries, rotatedEntries] = await Promise.all([
|
|
105
|
+
tailJsonl(active, 200),
|
|
106
|
+
tailJsonl(rotated, 100),
|
|
107
|
+
]);
|
|
108
|
+
const all = [
|
|
109
|
+
...rotatedEntries.map((e) => ({ ...e, _src: "rotated" })),
|
|
110
|
+
...activeEntries.map((e) => ({ ...e, _src: "active" })),
|
|
111
|
+
];
|
|
112
|
+
const filtered = all.filter((entry) => {
|
|
113
|
+
const ts = entry.timestamp;
|
|
114
|
+
if (ts) {
|
|
115
|
+
const d = new Date(ts);
|
|
116
|
+
if (d < since)
|
|
117
|
+
return false;
|
|
118
|
+
}
|
|
119
|
+
if (focus) {
|
|
120
|
+
const haystack = [
|
|
121
|
+
String(entry.message ?? ""),
|
|
122
|
+
String(entry.category ?? ""),
|
|
123
|
+
String(entry.stackTrace ?? ""),
|
|
124
|
+
]
|
|
125
|
+
.join(" ")
|
|
126
|
+
.toLowerCase();
|
|
127
|
+
if (!haystack.includes(focus))
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
130
|
+
return true;
|
|
131
|
+
});
|
|
132
|
+
return filtered.slice(-limit).map((entry) => ({
|
|
133
|
+
timestamp: String(entry.timestamp ?? ""),
|
|
134
|
+
severity: String(entry.severity ?? "unknown"),
|
|
135
|
+
category: String(entry.category ?? ""),
|
|
136
|
+
message: String(entry.message ?? ""),
|
|
137
|
+
stackTrace: truncate(String(entry.stackTrace ?? ""), 500),
|
|
138
|
+
source: String(entry._src),
|
|
139
|
+
}));
|
|
140
|
+
}
|
|
141
|
+
// ============================================================================
|
|
142
|
+
// Section: crashes
|
|
143
|
+
// ============================================================================
|
|
144
|
+
async function getCrashes(limit) {
|
|
145
|
+
const results = [];
|
|
146
|
+
for (const subdir of ["crash-markers", "crash-dumps"]) {
|
|
147
|
+
const dir = path.join(ARIA_HOME, subdir);
|
|
148
|
+
try {
|
|
149
|
+
const files = await fs.readdir(dir);
|
|
150
|
+
const jsonFiles = files.filter((f) => f.endsWith(".json"));
|
|
151
|
+
const stats = await Promise.all(jsonFiles.map(async (f) => {
|
|
152
|
+
const p = path.join(dir, f);
|
|
153
|
+
const s = await safeStat(p);
|
|
154
|
+
return { file: f, path: p, stat: s };
|
|
155
|
+
}));
|
|
156
|
+
const sorted = stats
|
|
157
|
+
.filter((f) => f.stat)
|
|
158
|
+
.sort((a, b) => b.stat.mtime.getTime() - a.stat.mtime.getTime());
|
|
159
|
+
for (const { file, path: fp, stat } of sorted.slice(0, limit)) {
|
|
160
|
+
try {
|
|
161
|
+
const raw = await fs.readFile(fp, "utf-8");
|
|
162
|
+
const parsed = JSON.parse(raw);
|
|
163
|
+
if (subdir === "crash-markers") {
|
|
164
|
+
results.push({
|
|
165
|
+
file: `${subdir}/${file}`,
|
|
166
|
+
timestamp: stat.mtime.toISOString(),
|
|
167
|
+
content: parsed,
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
const msg = parsed.error_message ?? parsed.message ?? parsed.error ?? "";
|
|
172
|
+
results.push({
|
|
173
|
+
file: `${subdir}/${file}`,
|
|
174
|
+
size: stat.size,
|
|
175
|
+
timestamp: stat.mtime.toISOString(),
|
|
176
|
+
error_message: truncate(String(msg), 200),
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
catch {
|
|
181
|
+
results.push({
|
|
182
|
+
file: `${subdir}/${file}`,
|
|
183
|
+
timestamp: stat.mtime.toISOString(),
|
|
184
|
+
error_message: "Failed to parse",
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
catch {
|
|
190
|
+
/* dir may not exist */
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
return results;
|
|
194
|
+
}
|
|
195
|
+
// ============================================================================
|
|
196
|
+
// Section: databases (sizes, WAL health, schema version)
|
|
197
|
+
// ============================================================================
|
|
198
|
+
async function getDatabases() {
|
|
199
|
+
const results = [];
|
|
200
|
+
// Key database paths (only real ones, not empty legacy ghosts)
|
|
201
|
+
const dbPaths = [
|
|
202
|
+
{
|
|
203
|
+
name: "memory.db (main)",
|
|
204
|
+
path: path.join(ARIA_HOME, "arions/ARIA/memory.db"),
|
|
205
|
+
checkSchema: true,
|
|
206
|
+
},
|
|
207
|
+
{ name: "history.db", path: path.join(ARIA_HOME, "history.db") },
|
|
208
|
+
{ name: "investigation-metrics.db", path: path.join(ARIA_HOME, "investigation-metrics.db") },
|
|
209
|
+
{ name: "network/state.db", path: path.join(ARIA_HOME, "network/state.db") },
|
|
210
|
+
{ name: "node/node-state.db", path: path.join(ARIA_HOME, "node/node-state.db") },
|
|
211
|
+
];
|
|
212
|
+
for (const db of dbPaths) {
|
|
213
|
+
const stat = await safeStat(db.path);
|
|
214
|
+
if (!stat || stat.size === 0)
|
|
215
|
+
continue;
|
|
216
|
+
// WAL size — a large WAL means checkpoint isn't running
|
|
217
|
+
const walStat = await safeStat(db.path + "-wal");
|
|
218
|
+
const walMb = walStat && walStat.size > 0 ? (walStat.size / 1e6).toFixed(1) : null;
|
|
219
|
+
// Schema version for the main DB (lightweight: only reads one int)
|
|
220
|
+
let schemaVersion;
|
|
221
|
+
if (db.checkSchema) {
|
|
222
|
+
try {
|
|
223
|
+
// Use a child process to avoid importing better-sqlite3 / locking the DB
|
|
224
|
+
const { execFileSync } = await import("node:child_process");
|
|
225
|
+
const out = execFileSync("sqlite3", [db.path, "SELECT MAX(version) FROM schema_version;"], {
|
|
226
|
+
timeout: 1000,
|
|
227
|
+
encoding: "utf-8",
|
|
228
|
+
}).trim();
|
|
229
|
+
schemaVersion = parseInt(out, 10) || undefined;
|
|
230
|
+
}
|
|
231
|
+
catch {
|
|
232
|
+
// sqlite3 CLI not available or query failed — not critical
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
const info = {
|
|
236
|
+
name: db.name,
|
|
237
|
+
size_mb: (stat.size / 1e6).toFixed(1),
|
|
238
|
+
wal_mb: walMb,
|
|
239
|
+
modified: stat.mtime.toISOString(),
|
|
240
|
+
};
|
|
241
|
+
if (schemaVersion !== undefined)
|
|
242
|
+
info.schema_version = schemaVersion;
|
|
243
|
+
results.push(info);
|
|
244
|
+
}
|
|
245
|
+
return results;
|
|
246
|
+
}
|
|
247
|
+
// ============================================================================
|
|
248
|
+
// Section: daemon (audit + delegation journal)
|
|
249
|
+
// ============================================================================
|
|
250
|
+
async function getDaemon(limit) {
|
|
251
|
+
const results = [];
|
|
252
|
+
// Daemon audit log — restart loops, crashes, startup events
|
|
253
|
+
const auditPath = path.join(ARIA_HOME, "arions/ARIA/daemon/audit.jsonl");
|
|
254
|
+
const auditEntries = await tailJsonl(auditPath, limit);
|
|
255
|
+
if (auditEntries.length > 0) {
|
|
256
|
+
results.push({ source: "daemon/audit", entries: auditEntries });
|
|
257
|
+
}
|
|
258
|
+
// Delegation journal — worker spawn/complete/fail
|
|
259
|
+
const delegationPath = path.join(ARIA_HOME, "arions/ARIA/delegation-journal.jsonl");
|
|
260
|
+
const delegationEntries = await tailJsonl(delegationPath, limit);
|
|
261
|
+
if (delegationEntries.length > 0) {
|
|
262
|
+
results.push({ source: "delegation-journal", entries: delegationEntries });
|
|
263
|
+
}
|
|
264
|
+
return results;
|
|
265
|
+
}
|
|
266
|
+
// ============================================================================
|
|
267
|
+
// Section: network (identity, peers, tunnels, TLS, diagnostics)
|
|
268
|
+
// ============================================================================
|
|
269
|
+
async function getNetwork(limit) {
|
|
270
|
+
// Node identity from network/config.json
|
|
271
|
+
let nodeId = null;
|
|
272
|
+
let displayName = null;
|
|
273
|
+
let listenPort = null;
|
|
274
|
+
let externalEndpoint = null;
|
|
275
|
+
try {
|
|
276
|
+
const raw = await fs.readFile(path.join(ARIA_HOME, "network/config.json"), "utf-8");
|
|
277
|
+
const cfg = JSON.parse(raw);
|
|
278
|
+
nodeId = cfg.nodeId ?? null;
|
|
279
|
+
displayName = cfg.localDisplayNameSnapshot ?? null;
|
|
280
|
+
listenPort = cfg.listenPort ?? null;
|
|
281
|
+
if (cfg.externalEndpoint) {
|
|
282
|
+
externalEndpoint = `${cfg.externalEndpoint.address}:${cfg.externalEndpoint.port}`;
|
|
283
|
+
}
|
|
284
|
+
// Never expose private keys — only the fact we have them
|
|
285
|
+
}
|
|
286
|
+
catch {
|
|
287
|
+
/* config may not exist */
|
|
288
|
+
}
|
|
289
|
+
// Peers from network/state.db (using sqlite3 CLI to avoid locking)
|
|
290
|
+
const peers = [];
|
|
291
|
+
let peerCount = 0;
|
|
292
|
+
try {
|
|
293
|
+
const { execFileSync } = await import("node:child_process");
|
|
294
|
+
const out = execFileSync("sqlite3", [
|
|
295
|
+
path.join(ARIA_HOME, "network/state.db"),
|
|
296
|
+
"-json",
|
|
297
|
+
`SELECT nodeId, displayName, status, lastSeen FROM network_peers ORDER BY lastSeen DESC LIMIT ${limit};`,
|
|
298
|
+
], { timeout: 1000, encoding: "utf-8" }).trim();
|
|
299
|
+
if (out) {
|
|
300
|
+
const rows = JSON.parse(out);
|
|
301
|
+
for (const row of rows) {
|
|
302
|
+
peers.push({
|
|
303
|
+
node_id: row.nodeId ?? "",
|
|
304
|
+
name: row.displayName ?? "",
|
|
305
|
+
status: row.status ?? "unknown",
|
|
306
|
+
last_seen: row.lastSeen ? new Date(row.lastSeen).toISOString() : null,
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
const countOut = execFileSync("sqlite3", [path.join(ARIA_HOME, "network/state.db"), "SELECT COUNT(*) FROM network_peers;"], { timeout: 1000, encoding: "utf-8" }).trim();
|
|
311
|
+
peerCount = parseInt(countOut, 10) || 0;
|
|
312
|
+
}
|
|
313
|
+
catch {
|
|
314
|
+
/* sqlite3 CLI not available or query failed */
|
|
315
|
+
}
|
|
316
|
+
// TLS state
|
|
317
|
+
let tlsCertsPresent = false;
|
|
318
|
+
let trustedCas = 0;
|
|
319
|
+
try {
|
|
320
|
+
await fs.access(path.join(ARIA_HOME, "network/tls/server.pem"));
|
|
321
|
+
tlsCertsPresent = true;
|
|
322
|
+
}
|
|
323
|
+
catch {
|
|
324
|
+
/* no TLS certs */
|
|
325
|
+
}
|
|
326
|
+
try {
|
|
327
|
+
const cas = await fs.readdir(path.join(ARIA_HOME, "network/trusted-cas"));
|
|
328
|
+
trustedCas = cas.filter((f) => f.endsWith(".pem")).length;
|
|
329
|
+
}
|
|
330
|
+
catch {
|
|
331
|
+
/* dir may not exist */
|
|
332
|
+
}
|
|
333
|
+
// Recent tunnel events (connection attempts, handshakes, failures)
|
|
334
|
+
const tunnelEvents = await tailJsonl(path.join(ARIA_HOME, "audit/wireguard-secure-tunnel.jsonl"), limit);
|
|
335
|
+
// Recent diagnostics (disconnects, reconnects, errors)
|
|
336
|
+
const diagnostics = await tailJsonl(path.join(ARIA_HOME, "audit/wireguard-diagnostics.jsonl"), limit);
|
|
337
|
+
return {
|
|
338
|
+
node_id: nodeId,
|
|
339
|
+
display_name: displayName,
|
|
340
|
+
listen_port: listenPort,
|
|
341
|
+
external_endpoint: externalEndpoint,
|
|
342
|
+
peer_count: peerCount,
|
|
343
|
+
peers,
|
|
344
|
+
tls_certs_present: tlsCertsPresent,
|
|
345
|
+
trusted_cas: trustedCas,
|
|
346
|
+
recent_tunnel_events: tunnelEvents,
|
|
347
|
+
recent_diagnostics: diagnostics,
|
|
348
|
+
};
|
|
349
|
+
}
|
|
350
|
+
// ============================================================================
|
|
351
|
+
// Main Executor
|
|
352
|
+
// ============================================================================
|
|
353
|
+
export async function executeSelfDiagnose(input, ctx) {
|
|
354
|
+
if (ctx.abortSignal?.aborted)
|
|
355
|
+
return fail("Operation cancelled");
|
|
356
|
+
const startMs = Date.now();
|
|
357
|
+
const limit = input.limit ?? 10;
|
|
358
|
+
const since = input.since ? new Date(input.since) : new Date(Date.now() - 3600_000);
|
|
359
|
+
const focus = input.focus?.toLowerCase();
|
|
360
|
+
const requested = input.sections ?? ALL_SECTIONS;
|
|
361
|
+
const sectionsToRun = requested.filter((s) => ALL_SECTIONS.includes(s));
|
|
362
|
+
const sectionFns = {
|
|
363
|
+
runtime: () => getRuntime(ctx),
|
|
364
|
+
errors: () => getErrors(since, focus, limit),
|
|
365
|
+
crashes: () => getCrashes(limit),
|
|
366
|
+
databases: () => getDatabases(),
|
|
367
|
+
daemon: () => getDaemon(limit),
|
|
368
|
+
network: () => getNetwork(limit),
|
|
369
|
+
};
|
|
370
|
+
const results = {};
|
|
371
|
+
const errors = [];
|
|
372
|
+
const returned = [];
|
|
373
|
+
const withTimeout = (fn, name) => Promise.race([
|
|
374
|
+
fn().then((r) => {
|
|
375
|
+
returned.push(name);
|
|
376
|
+
return r;
|
|
377
|
+
}),
|
|
378
|
+
new Promise((_, reject) => setTimeout(() => reject(new Error(`${name} timed out`)), 2000)),
|
|
379
|
+
]).catch((err) => {
|
|
380
|
+
errors.push(`${name}: ${err.message}`);
|
|
381
|
+
return null;
|
|
382
|
+
});
|
|
383
|
+
await Promise.all(sectionsToRun.map(async (name) => {
|
|
384
|
+
const fn = sectionFns[name];
|
|
385
|
+
if (fn)
|
|
386
|
+
results[name] = await withTimeout(fn, name);
|
|
387
|
+
}));
|
|
388
|
+
const elapsed = Date.now() - startMs;
|
|
389
|
+
results._meta = {
|
|
390
|
+
sections_requested: sectionsToRun,
|
|
391
|
+
sections_returned: returned,
|
|
392
|
+
elapsed_ms: elapsed,
|
|
393
|
+
errors,
|
|
394
|
+
};
|
|
395
|
+
const msg = `Diagnostics: ${returned.length}/${sectionsToRun.length} sections in ${elapsed}ms` +
|
|
396
|
+
(errors.length > 0 ? ` (${errors.length} errors)` : "");
|
|
397
|
+
return success(msg, results);
|
|
398
|
+
}
|
|
399
|
+
//# sourceMappingURL=self-diagnose.js.map
|