@aria-cli/tools 1.0.8 → 1.0.10
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/package.json +9 -6
- package/dist-cjs/.tsbuildinfo +0 -1
- package/dist-cjs/ask-user-interaction.d.ts +0 -10
- package/dist-cjs/ask-user-interaction.js +0 -28
- package/dist-cjs/ask-user-interaction.js.map +0 -1
- package/dist-cjs/cache/web-cache.d.ts +0 -52
- package/dist-cjs/cache/web-cache.js +0 -71
- package/dist-cjs/cache/web-cache.js.map +0 -1
- package/dist-cjs/definitions/arion.d.ts +0 -8
- package/dist-cjs/definitions/arion.js +0 -108
- package/dist-cjs/definitions/arion.js.map +0 -1
- package/dist-cjs/definitions/browser/browser.d.ts +0 -2
- package/dist-cjs/definitions/browser/browser.js +0 -422
- package/dist-cjs/definitions/browser/browser.js.map +0 -1
- package/dist-cjs/definitions/browser/index.d.ts +0 -1
- package/dist-cjs/definitions/browser/index.js +0 -9
- package/dist-cjs/definitions/browser/index.js.map +0 -1
- package/dist-cjs/definitions/browser/pw-downloads.d.ts +0 -13
- package/dist-cjs/definitions/browser/pw-downloads.js +0 -118
- package/dist-cjs/definitions/browser/pw-downloads.js.map +0 -1
- package/dist-cjs/definitions/browser/pw-interactions.d.ts +0 -78
- package/dist-cjs/definitions/browser/pw-interactions.js +0 -214
- package/dist-cjs/definitions/browser/pw-interactions.js.map +0 -1
- package/dist-cjs/definitions/browser/pw-responses.d.ts +0 -28
- package/dist-cjs/definitions/browser/pw-responses.js +0 -85
- package/dist-cjs/definitions/browser/pw-responses.js.map +0 -1
- package/dist-cjs/definitions/browser/pw-session.d.ts +0 -65
- package/dist-cjs/definitions/browser/pw-session.js +0 -327
- package/dist-cjs/definitions/browser/pw-session.js.map +0 -1
- package/dist-cjs/definitions/browser/pw-shared.d.ts +0 -22
- package/dist-cjs/definitions/browser/pw-shared.js +0 -73
- package/dist-cjs/definitions/browser/pw-shared.js.map +0 -1
- package/dist-cjs/definitions/browser/pw-snapshot.d.ts +0 -34
- package/dist-cjs/definitions/browser/pw-snapshot.js +0 -308
- package/dist-cjs/definitions/browser/pw-snapshot.js.map +0 -1
- package/dist-cjs/definitions/browser/pw-state.d.ts +0 -22
- package/dist-cjs/definitions/browser/pw-state.js +0 -71
- package/dist-cjs/definitions/browser/pw-state.js.map +0 -1
- package/dist-cjs/definitions/browser/types.d.ts +0 -277
- package/dist-cjs/definitions/browser/types.js +0 -6
- package/dist-cjs/definitions/browser/types.js.map +0 -1
- package/dist-cjs/definitions/code-intelligence.d.ts +0 -8
- package/dist-cjs/definitions/code-intelligence.js +0 -474
- package/dist-cjs/definitions/code-intelligence.js.map +0 -1
- package/dist-cjs/definitions/core.d.ts +0 -47
- package/dist-cjs/definitions/core.js +0 -134
- package/dist-cjs/definitions/core.js.map +0 -1
- package/dist-cjs/definitions/delegation.d.ts +0 -11
- package/dist-cjs/definitions/delegation.js +0 -516
- package/dist-cjs/definitions/delegation.js.map +0 -1
- package/dist-cjs/definitions/deploy.d.ts +0 -15
- package/dist-cjs/definitions/deploy.js +0 -69
- package/dist-cjs/definitions/deploy.js.map +0 -1
- package/dist-cjs/definitions/filesystem.d.ts +0 -9
- package/dist-cjs/definitions/filesystem.js +0 -200
- package/dist-cjs/definitions/filesystem.js.map +0 -1
- package/dist-cjs/definitions/frg.d.ts +0 -3
- package/dist-cjs/definitions/frg.js +0 -67
- package/dist-cjs/definitions/frg.js.map +0 -1
- package/dist-cjs/definitions/index.d.ts +0 -19
- package/dist-cjs/definitions/index.js +0 -44
- package/dist-cjs/definitions/index.js.map +0 -1
- package/dist-cjs/definitions/memory.d.ts +0 -8
- package/dist-cjs/definitions/memory.js +0 -127
- package/dist-cjs/definitions/memory.js.map +0 -1
- package/dist-cjs/definitions/messaging.d.ts +0 -11
- package/dist-cjs/definitions/messaging.js +0 -632
- package/dist-cjs/definitions/messaging.js.map +0 -1
- package/dist-cjs/definitions/meta.d.ts +0 -11
- package/dist-cjs/definitions/meta.js +0 -353
- package/dist-cjs/definitions/meta.js.map +0 -1
- package/dist-cjs/definitions/network.d.ts +0 -11
- package/dist-cjs/definitions/network.js +0 -163
- package/dist-cjs/definitions/network.js.map +0 -1
- package/dist-cjs/definitions/outlook.d.ts +0 -2
- package/dist-cjs/definitions/outlook.js +0 -281
- package/dist-cjs/definitions/outlook.js.map +0 -1
- package/dist-cjs/definitions/patch/apply-patch.d.ts +0 -11
- package/dist-cjs/definitions/patch/apply-patch.js +0 -192
- package/dist-cjs/definitions/patch/apply-patch.js.map +0 -1
- package/dist-cjs/definitions/patch/fuzzy-match.d.ts +0 -10
- package/dist-cjs/definitions/patch/fuzzy-match.js +0 -173
- package/dist-cjs/definitions/patch/fuzzy-match.js.map +0 -1
- package/dist-cjs/definitions/patch/index.d.ts +0 -1
- package/dist-cjs/definitions/patch/index.js +0 -6
- package/dist-cjs/definitions/patch/index.js.map +0 -1
- package/dist-cjs/definitions/patch/patch-parser.d.ts +0 -50
- package/dist-cjs/definitions/patch/patch-parser.js +0 -216
- package/dist-cjs/definitions/patch/patch-parser.js.map +0 -1
- package/dist-cjs/definitions/patch/sandbox-paths.d.ts +0 -18
- package/dist-cjs/definitions/patch/sandbox-paths.js +0 -114
- package/dist-cjs/definitions/patch/sandbox-paths.js.map +0 -1
- package/dist-cjs/definitions/process/index.d.ts +0 -1
- package/dist-cjs/definitions/process/index.js +0 -9
- package/dist-cjs/definitions/process/index.js.map +0 -1
- package/dist-cjs/definitions/process/process-registry.d.ts +0 -67
- package/dist-cjs/definitions/process/process-registry.js +0 -232
- package/dist-cjs/definitions/process/process-registry.js.map +0 -1
- package/dist-cjs/definitions/process/process.d.ts +0 -9
- package/dist-cjs/definitions/process/process.js +0 -390
- package/dist-cjs/definitions/process/process.js.map +0 -1
- package/dist-cjs/definitions/process/pty-keys.d.ts +0 -13
- package/dist-cjs/definitions/process/pty-keys.js +0 -260
- package/dist-cjs/definitions/process/pty-keys.js.map +0 -1
- package/dist-cjs/definitions/process/session-slug.d.ts +0 -1
- package/dist-cjs/definitions/process/session-slug.js +0 -146
- package/dist-cjs/definitions/process/session-slug.js.map +0 -1
- package/dist-cjs/definitions/quip.d.ts +0 -2
- package/dist-cjs/definitions/quip.js +0 -199
- package/dist-cjs/definitions/quip.js.map +0 -1
- package/dist-cjs/definitions/search.d.ts +0 -9
- package/dist-cjs/definitions/search.js +0 -64
- package/dist-cjs/definitions/search.js.map +0 -1
- package/dist-cjs/definitions/session-history.d.ts +0 -11
- package/dist-cjs/definitions/session-history.js +0 -73
- package/dist-cjs/definitions/session-history.js.map +0 -1
- package/dist-cjs/definitions/shell.d.ts +0 -8
- package/dist-cjs/definitions/shell.js +0 -185
- package/dist-cjs/definitions/shell.js.map +0 -1
- package/dist-cjs/definitions/slack.d.ts +0 -2
- package/dist-cjs/definitions/slack.js +0 -184
- package/dist-cjs/definitions/slack.js.map +0 -1
- package/dist-cjs/definitions/web.d.ts +0 -8
- package/dist-cjs/definitions/web.js +0 -113
- package/dist-cjs/definitions/web.js.map +0 -1
- package/dist-cjs/executors/apply-patch.d.ts +0 -51
- package/dist-cjs/executors/apply-patch.js +0 -939
- package/dist-cjs/executors/apply-patch.js.map +0 -1
- package/dist-cjs/executors/arion.d.ts +0 -50
- package/dist-cjs/executors/arion.js +0 -126
- package/dist-cjs/executors/arion.js.map +0 -1
- package/dist-cjs/executors/code-intelligence.d.ts +0 -138
- package/dist-cjs/executors/code-intelligence.js +0 -926
- package/dist-cjs/executors/code-intelligence.js.map +0 -1
- package/dist-cjs/executors/deploy.d.ts +0 -169
- package/dist-cjs/executors/deploy.js +0 -870
- package/dist-cjs/executors/deploy.js.map +0 -1
- package/dist-cjs/executors/filesystem.d.ts +0 -150
- package/dist-cjs/executors/filesystem.js +0 -1168
- package/dist-cjs/executors/filesystem.js.map +0 -1
- package/dist-cjs/executors/frg-freshness.d.ts +0 -93
- package/dist-cjs/executors/frg-freshness.js +0 -628
- package/dist-cjs/executors/frg-freshness.js.map +0 -1
- package/dist-cjs/executors/frg.d.ts +0 -27
- package/dist-cjs/executors/frg.js +0 -335
- package/dist-cjs/executors/frg.js.map +0 -1
- package/dist-cjs/executors/index.d.ts +0 -44
- package/dist-cjs/executors/index.js +0 -144
- package/dist-cjs/executors/index.js.map +0 -1
- package/dist-cjs/executors/learning-meta.d.ts +0 -87
- package/dist-cjs/executors/learning-meta.js +0 -1166
- package/dist-cjs/executors/learning-meta.js.map +0 -1
- package/dist-cjs/executors/lsp-client.d.ts +0 -38
- package/dist-cjs/executors/lsp-client.js +0 -311
- package/dist-cjs/executors/lsp-client.js.map +0 -1
- package/dist-cjs/executors/memory.d.ts +0 -203
- package/dist-cjs/executors/memory.js +0 -797
- package/dist-cjs/executors/memory.js.map +0 -1
- package/dist-cjs/executors/meta.d.ts +0 -73
- package/dist-cjs/executors/meta.js +0 -227
- package/dist-cjs/executors/meta.js.map +0 -1
- package/dist-cjs/executors/process-registry.d.ts +0 -98
- package/dist-cjs/executors/process-registry.js +0 -470
- package/dist-cjs/executors/process-registry.js.map +0 -1
- package/dist-cjs/executors/pty-session-store.d.ts +0 -14
- package/dist-cjs/executors/pty-session-store.js +0 -35
- package/dist-cjs/executors/pty-session-store.js.map +0 -1
- package/dist-cjs/executors/pty.d.ts +0 -133
- package/dist-cjs/executors/pty.js +0 -313
- package/dist-cjs/executors/pty.js.map +0 -1
- package/dist-cjs/executors/restart.d.ts +0 -13
- package/dist-cjs/executors/restart.js +0 -156
- package/dist-cjs/executors/restart.js.map +0 -1
- package/dist-cjs/executors/search-freshness.d.ts +0 -50
- package/dist-cjs/executors/search-freshness.js +0 -235
- package/dist-cjs/executors/search-freshness.js.map +0 -1
- package/dist-cjs/executors/search-types.d.ts +0 -52
- package/dist-cjs/executors/search-types.js +0 -57
- package/dist-cjs/executors/search-types.js.map +0 -1
- package/dist-cjs/executors/search.d.ts +0 -11
- package/dist-cjs/executors/search.js +0 -103
- package/dist-cjs/executors/search.js.map +0 -1
- package/dist-cjs/executors/self-diagnose.d.ts +0 -89
- package/dist-cjs/executors/self-diagnose.js +0 -435
- package/dist-cjs/executors/self-diagnose.js.map +0 -1
- package/dist-cjs/executors/session-history.d.ts +0 -75
- package/dist-cjs/executors/session-history.js +0 -321
- package/dist-cjs/executors/session-history.js.map +0 -1
- package/dist-cjs/executors/shell-safety.d.ts +0 -27
- package/dist-cjs/executors/shell-safety.js +0 -479
- package/dist-cjs/executors/shell-safety.js.map +0 -1
- package/dist-cjs/executors/shell.d.ts +0 -168
- package/dist-cjs/executors/shell.js +0 -1002
- package/dist-cjs/executors/shell.js.map +0 -1
- package/dist-cjs/executors/utils.d.ts +0 -20
- package/dist-cjs/executors/utils.js +0 -74
- package/dist-cjs/executors/utils.js.map +0 -1
- package/dist-cjs/executors/web.d.ts +0 -89
- package/dist-cjs/executors/web.js +0 -548
- package/dist-cjs/executors/web.js.map +0 -1
- package/dist-cjs/extraction/content-extraction.d.ts +0 -48
- package/dist-cjs/extraction/content-extraction.js +0 -244
- package/dist-cjs/extraction/content-extraction.js.map +0 -1
- package/dist-cjs/extraction/index.d.ts +0 -4
- package/dist-cjs/extraction/index.js +0 -9
- package/dist-cjs/extraction/index.js.map +0 -1
- package/dist-cjs/headless-control-contract.d.ts +0 -3182
- package/dist-cjs/headless-control-contract.js +0 -973
- package/dist-cjs/headless-control-contract.js.map +0 -1
- package/dist-cjs/index.d.ts +0 -62
- package/dist-cjs/index.js +0 -438
- package/dist-cjs/index.js.map +0 -1
- package/dist-cjs/local-control-http-auth.d.ts +0 -2
- package/dist-cjs/local-control-http-auth.js +0 -6
- package/dist-cjs/local-control-http-auth.js.map +0 -1
- package/dist-cjs/mcp/client.d.ts +0 -68
- package/dist-cjs/mcp/client.js +0 -186
- package/dist-cjs/mcp/client.js.map +0 -1
- package/dist-cjs/mcp/connection.d.ts +0 -54
- package/dist-cjs/mcp/connection.js +0 -485
- package/dist-cjs/mcp/connection.js.map +0 -1
- package/dist-cjs/mcp/index.d.ts +0 -10
- package/dist-cjs/mcp/index.js +0 -31
- package/dist-cjs/mcp/index.js.map +0 -1
- package/dist-cjs/mcp/jsonrpc.d.ts +0 -36
- package/dist-cjs/mcp/jsonrpc.js +0 -149
- package/dist-cjs/mcp/jsonrpc.js.map +0 -1
- package/dist-cjs/mcp/types.d.ts +0 -178
- package/dist-cjs/mcp/types.js +0 -9
- package/dist-cjs/mcp/types.js.map +0 -1
- package/dist-cjs/network-control-adapter.d.ts +0 -4
- package/dist-cjs/network-control-adapter.js +0 -78
- package/dist-cjs/network-control-adapter.js.map +0 -1
- package/dist-cjs/network-runtime/address-types.d.ts +0 -201
- package/dist-cjs/network-runtime/address-types.js +0 -169
- package/dist-cjs/network-runtime/address-types.js.map +0 -1
- package/dist-cjs/network-runtime/db-owner-fencing.d.ts +0 -43
- package/dist-cjs/network-runtime/db-owner-fencing.js +0 -77
- package/dist-cjs/network-runtime/db-owner-fencing.js.map +0 -1
- package/dist-cjs/network-runtime/delivery-receipts.d.ts +0 -117
- package/dist-cjs/network-runtime/delivery-receipts.js +0 -277
- package/dist-cjs/network-runtime/delivery-receipts.js.map +0 -1
- package/dist-cjs/network-runtime/direct-endpoint-authority.d.ts +0 -8
- package/dist-cjs/network-runtime/direct-endpoint-authority.js +0 -30
- package/dist-cjs/network-runtime/direct-endpoint-authority.js.map +0 -1
- package/dist-cjs/network-runtime/index.d.ts +0 -24
- package/dist-cjs/network-runtime/index.js +0 -173
- package/dist-cjs/network-runtime/index.js.map +0 -1
- package/dist-cjs/network-runtime/local-control-contract.d.ts +0 -758
- package/dist-cjs/network-runtime/local-control-contract.js +0 -634
- package/dist-cjs/network-runtime/local-control-contract.js.map +0 -1
- package/dist-cjs/network-runtime/node-store-contract.d.ts +0 -49
- package/dist-cjs/network-runtime/node-store-contract.js +0 -39
- package/dist-cjs/network-runtime/node-store-contract.js.map +0 -1
- package/dist-cjs/network-runtime/pair-route-contract.d.ts +0 -100
- package/dist-cjs/network-runtime/pair-route-contract.js +0 -81
- package/dist-cjs/network-runtime/pair-route-contract.js.map +0 -1
- package/dist-cjs/network-runtime/peer-capabilities.d.ts +0 -10
- package/dist-cjs/network-runtime/peer-capabilities.js +0 -38
- package/dist-cjs/network-runtime/peer-capabilities.js.map +0 -1
- package/dist-cjs/network-runtime/peer-principal-ref.d.ts +0 -9
- package/dist-cjs/network-runtime/peer-principal-ref.js +0 -16
- package/dist-cjs/network-runtime/peer-principal-ref.js.map +0 -1
- package/dist-cjs/network-runtime/peer-state-machine.d.ts +0 -70
- package/dist-cjs/network-runtime/peer-state-machine.js +0 -130
- package/dist-cjs/network-runtime/peer-state-machine.js.map +0 -1
- package/dist-cjs/network-runtime/protocol-schemas.d.ts +0 -328
- package/dist-cjs/network-runtime/protocol-schemas.js +0 -213
- package/dist-cjs/network-runtime/protocol-schemas.js.map +0 -1
- package/dist-cjs/network-runtime/runtime-bootstrap-contract.d.ts +0 -81
- package/dist-cjs/network-runtime/runtime-bootstrap-contract.js +0 -64
- package/dist-cjs/network-runtime/runtime-bootstrap-contract.js.map +0 -1
- package/dist-cjs/outlook/desktop-session.d.ts +0 -68
- package/dist-cjs/outlook/desktop-session.js +0 -319
- package/dist-cjs/outlook/desktop-session.js.map +0 -1
- package/dist-cjs/package.json +0 -3
- package/dist-cjs/policy.d.ts +0 -43
- package/dist-cjs/policy.js +0 -156
- package/dist-cjs/policy.js.map +0 -1
- package/dist-cjs/providers/brave.d.ts +0 -10
- package/dist-cjs/providers/brave.js +0 -67
- package/dist-cjs/providers/brave.js.map +0 -1
- package/dist-cjs/providers/duckduckgo.d.ts +0 -18
- package/dist-cjs/providers/duckduckgo.js +0 -181
- package/dist-cjs/providers/duckduckgo.js.map +0 -1
- package/dist-cjs/providers/exa.d.ts +0 -10
- package/dist-cjs/providers/exa.js +0 -68
- package/dist-cjs/providers/exa.js.map +0 -1
- package/dist-cjs/providers/firecrawl.d.ts +0 -10
- package/dist-cjs/providers/firecrawl.js +0 -60
- package/dist-cjs/providers/firecrawl.js.map +0 -1
- package/dist-cjs/providers/index.d.ts +0 -8
- package/dist-cjs/providers/index.js +0 -18
- package/dist-cjs/providers/index.js.map +0 -1
- package/dist-cjs/providers/jina.d.ts +0 -10
- package/dist-cjs/providers/jina.js +0 -54
- package/dist-cjs/providers/jina.js.map +0 -1
- package/dist-cjs/providers/router.d.ts +0 -21
- package/dist-cjs/providers/router.js +0 -101
- package/dist-cjs/providers/router.js.map +0 -1
- package/dist-cjs/providers/search-provider.d.ts +0 -35
- package/dist-cjs/providers/search-provider.js +0 -37
- package/dist-cjs/providers/search-provider.js.map +0 -1
- package/dist-cjs/providers/tavily.d.ts +0 -10
- package/dist-cjs/providers/tavily.js +0 -59
- package/dist-cjs/providers/tavily.js.map +0 -1
- package/dist-cjs/quip/desktop-session.d.ts +0 -69
- package/dist-cjs/quip/desktop-session.js +0 -354
- package/dist-cjs/quip/desktop-session.js.map +0 -1
- package/dist-cjs/registry/index.d.ts +0 -1
- package/dist-cjs/registry/index.js +0 -7
- package/dist-cjs/registry/index.js.map +0 -1
- package/dist-cjs/registry/registry.d.ts +0 -156
- package/dist-cjs/registry/registry.js +0 -762
- package/dist-cjs/registry/registry.js.map +0 -1
- package/dist-cjs/runtime-socket-local-control-client.d.ts +0 -10
- package/dist-cjs/runtime-socket-local-control-client.js +0 -368
- package/dist-cjs/runtime-socket-local-control-client.js.map +0 -1
- package/dist-cjs/security/dns-normalization.d.ts +0 -6
- package/dist-cjs/security/dns-normalization.js +0 -23
- package/dist-cjs/security/dns-normalization.js.map +0 -1
- package/dist-cjs/security/dns-pinning.d.ts +0 -27
- package/dist-cjs/security/dns-pinning.js +0 -161
- package/dist-cjs/security/dns-pinning.js.map +0 -1
- package/dist-cjs/security/external-content.d.ts +0 -40
- package/dist-cjs/security/external-content.js +0 -96
- package/dist-cjs/security/external-content.js.map +0 -1
- package/dist-cjs/security/ssrf.d.ts +0 -40
- package/dist-cjs/security/ssrf.js +0 -222
- package/dist-cjs/security/ssrf.js.map +0 -1
- package/dist-cjs/slack/desktop-session.d.ts +0 -69
- package/dist-cjs/slack/desktop-session.js +0 -367
- package/dist-cjs/slack/desktop-session.js.map +0 -1
- package/dist-cjs/tool-factory.d.ts +0 -46
- package/dist-cjs/tool-factory.js +0 -51
- package/dist-cjs/tool-factory.js.map +0 -1
- package/dist-cjs/types.d.ts +0 -1192
- package/dist-cjs/types.js +0 -9
- package/dist-cjs/types.js.map +0 -1
- package/dist-cjs/utils/retry.d.ts +0 -11
- package/dist-cjs/utils/retry.js +0 -170
- package/dist-cjs/utils/retry.js.map +0 -1
- package/dist-cjs/utils/safe-parse-json.d.ts +0 -26
- package/dist-cjs/utils/safe-parse-json.js +0 -165
- package/dist-cjs/utils/safe-parse-json.js.map +0 -1
- package/dist-cjs/utils/url.d.ts +0 -10
- package/dist-cjs/utils/url.js +0 -24
- package/dist-cjs/utils/url.js.map +0 -1
- package/src/__tests__/web-fetch-download.test.ts +0 -433
- package/src/__tests__/web-tools.test.ts +0 -619
- package/src/ask-user-interaction.ts +0 -33
- package/src/cache/web-cache.ts +0 -110
- package/src/definitions/arion.ts +0 -118
- package/src/definitions/browser/browser.ts +0 -502
- package/src/definitions/browser/index.ts +0 -5
- package/src/definitions/browser/pw-downloads.ts +0 -142
- package/src/definitions/browser/pw-interactions.ts +0 -282
- package/src/definitions/browser/pw-responses.ts +0 -98
- package/src/definitions/browser/pw-session.ts +0 -405
- package/src/definitions/browser/pw-shared.ts +0 -85
- package/src/definitions/browser/pw-snapshot.ts +0 -383
- package/src/definitions/browser/pw-state.ts +0 -101
- package/src/definitions/browser/types.ts +0 -203
- package/src/definitions/code-intelligence.ts +0 -526
- package/src/definitions/core.ts +0 -118
- package/src/definitions/delegation.ts +0 -567
- package/src/definitions/deploy.ts +0 -73
- package/src/definitions/filesystem.ts +0 -217
- package/src/definitions/frg.ts +0 -67
- package/src/definitions/index.ts +0 -28
- package/src/definitions/memory.ts +0 -150
- package/src/definitions/messaging.ts +0 -734
- package/src/definitions/meta.ts +0 -392
- package/src/definitions/network.ts +0 -179
- package/src/definitions/outlook.ts +0 -318
- package/src/definitions/patch/apply-patch.ts +0 -235
- package/src/definitions/patch/fuzzy-match.ts +0 -217
- package/src/definitions/patch/index.ts +0 -1
- package/src/definitions/patch/patch-parser.ts +0 -297
- package/src/definitions/patch/sandbox-paths.ts +0 -129
- package/src/definitions/process/index.ts +0 -5
- package/src/definitions/process/process-registry.ts +0 -303
- package/src/definitions/process/process.ts +0 -456
- package/src/definitions/process/pty-keys.ts +0 -298
- package/src/definitions/process/session-slug.ts +0 -147
- package/src/definitions/quip.ts +0 -225
- package/src/definitions/search.ts +0 -67
- package/src/definitions/session-history.ts +0 -79
- package/src/definitions/shell.ts +0 -202
- package/src/definitions/slack.ts +0 -211
- package/src/definitions/web.ts +0 -119
- package/src/executors/apply-patch.ts +0 -1035
- package/src/executors/arion.ts +0 -199
- package/src/executors/code-intelligence.ts +0 -1179
- package/src/executors/deploy.ts +0 -1066
- package/src/executors/filesystem.ts +0 -1428
- package/src/executors/frg-freshness.ts +0 -743
- package/src/executors/frg.ts +0 -394
- package/src/executors/index.ts +0 -280
- package/src/executors/learning-meta.ts +0 -1367
- package/src/executors/lsp-client.ts +0 -355
- package/src/executors/memory.ts +0 -978
- package/src/executors/meta.ts +0 -293
- package/src/executors/process-registry.ts +0 -570
- package/src/executors/pty-session-store.ts +0 -43
- package/src/executors/pty.ts +0 -342
- package/src/executors/restart.ts +0 -133
- package/src/executors/search-freshness.ts +0 -249
- package/src/executors/search-types.ts +0 -98
- package/src/executors/search.ts +0 -89
- package/src/executors/self-diagnose.ts +0 -552
- package/src/executors/session-history.ts +0 -435
- package/src/executors/shell-safety.ts +0 -519
- package/src/executors/shell.ts +0 -1243
- package/src/executors/utils.ts +0 -40
- package/src/executors/web.ts +0 -786
- package/src/extraction/content-extraction.ts +0 -281
- package/src/extraction/index.ts +0 -5
- package/src/headless-control-contract.ts +0 -1149
- package/src/index.ts +0 -788
- package/src/local-control-http-auth.ts +0 -2
- package/src/mcp/client.ts +0 -218
- package/src/mcp/connection.ts +0 -568
- package/src/mcp/index.ts +0 -11
- package/src/mcp/jsonrpc.ts +0 -195
- package/src/mcp/types.ts +0 -199
- package/src/network-control-adapter.ts +0 -88
- package/src/network-runtime/address-types.ts +0 -218
- package/src/network-runtime/db-owner-fencing.ts +0 -91
- package/src/network-runtime/delivery-receipts.ts +0 -372
- package/src/network-runtime/direct-endpoint-authority.ts +0 -35
- package/src/network-runtime/index.ts +0 -316
- package/src/network-runtime/local-control-contract.ts +0 -784
- package/src/network-runtime/node-store-contract.ts +0 -46
- package/src/network-runtime/pair-route-contract.ts +0 -97
- package/src/network-runtime/peer-capabilities.ts +0 -48
- package/src/network-runtime/peer-principal-ref.ts +0 -20
- package/src/network-runtime/peer-state-machine.ts +0 -160
- package/src/network-runtime/protocol-schemas.ts +0 -265
- package/src/network-runtime/runtime-bootstrap-contract.ts +0 -83
- package/src/outlook/desktop-session.ts +0 -409
- package/src/policy.ts +0 -171
- package/src/providers/brave.ts +0 -80
- package/src/providers/duckduckgo.ts +0 -199
- package/src/providers/exa.ts +0 -85
- package/src/providers/firecrawl.ts +0 -77
- package/src/providers/index.ts +0 -8
- package/src/providers/jina.ts +0 -70
- package/src/providers/router.ts +0 -121
- package/src/providers/search-provider.ts +0 -74
- package/src/providers/tavily.ts +0 -74
- package/src/quip/desktop-session.ts +0 -435
- package/src/registry/index.ts +0 -1
- package/src/registry/registry.ts +0 -905
- package/src/runtime-socket-local-control-client.ts +0 -632
- package/src/security/dns-normalization.ts +0 -34
- package/src/security/dns-pinning.ts +0 -138
- package/src/security/external-content.ts +0 -129
- package/src/security/ssrf.ts +0 -207
- package/src/slack/desktop-session.ts +0 -493
- package/src/tool-factory.ts +0 -91
- package/src/types.ts +0 -1341
- package/src/utils/retry.ts +0 -163
- package/src/utils/safe-parse-json.ts +0 -176
- package/src/utils/url.ts +0 -20
- package/tests/benchmarks/registry.bench.ts +0 -57
- package/tests/cache/web-cache.test.ts +0 -147
- package/tests/critical-integration.test.ts +0 -1465
- package/tests/definitions/apply-patch.test.ts +0 -586
- package/tests/definitions/browser.test.ts +0 -495
- package/tests/definitions/delegation-pause-resume.test.ts +0 -758
- package/tests/definitions/execution.test.ts +0 -671
- package/tests/definitions/messaging-inbox-scope.test.ts +0 -229
- package/tests/definitions/messaging.test.ts +0 -1468
- package/tests/definitions/outlook.test.ts +0 -30
- package/tests/definitions/process.test.ts +0 -469
- package/tests/definitions/slack.test.ts +0 -28
- package/tests/definitions/tool-inventory.test.ts +0 -218
- package/tests/e2e/delegation-quest-orchestration.e2e.test.ts +0 -433
- package/tests/e2e/memory-tool-discovery-contract.e2e.test.ts +0 -81
- package/tests/executors/apply-patch.test.ts +0 -538
- package/tests/executors/arion.test.ts +0 -309
- package/tests/executors/conversation-primitives.test.ts +0 -250
- package/tests/executors/deploy.test.ts +0 -746
- package/tests/executors/filesystem-tools.test.ts +0 -357
- package/tests/executors/filesystem.test.ts +0 -959
- package/tests/executors/frg-freshness.test.ts +0 -136
- package/tests/executors/frg-merge.test.ts +0 -70
- package/tests/executors/frg-session-content.test.ts +0 -40
- package/tests/executors/frg.test.ts +0 -56
- package/tests/executors/memory-bugfixes.test.ts +0 -257
- package/tests/executors/memory-real-memoria.integration.test.ts +0 -316
- package/tests/executors/memory.test.ts +0 -853
- package/tests/executors/meta-tools.test.ts +0 -411
- package/tests/executors/meta.test.ts +0 -683
- package/tests/executors/path-containment.test.ts +0 -51
- package/tests/executors/process-registry.test.ts +0 -505
- package/tests/executors/pty.test.ts +0 -664
- package/tests/executors/quest-security.test.ts +0 -249
- package/tests/executors/read-file-media.test.ts +0 -230
- package/tests/executors/recall-knowledge-schema.test.ts +0 -209
- package/tests/executors/recall-tags.test.ts +0 -278
- package/tests/executors/remember-null-safety.contract.test.ts +0 -41
- package/tests/executors/restart.test.ts +0 -67
- package/tests/executors/search-unified.test.ts +0 -381
- package/tests/executors/session-history.test.ts +0 -340
- package/tests/executors/session-transcript.test.ts +0 -561
- package/tests/executors/shell-abort.test.ts +0 -416
- package/tests/executors/shell-env-blocklist.test.ts +0 -648
- package/tests/executors/shell-env-process.test.ts +0 -245
- package/tests/executors/shell-process-registry.test.ts +0 -334
- package/tests/executors/shell-tools.test.ts +0 -393
- package/tests/executors/shell.test.ts +0 -690
- package/tests/executors/web-abort-vs-timeout.test.ts +0 -213
- package/tests/executors/web-integration.test.ts +0 -633
- package/tests/executors/web-symlink.test.ts +0 -18
- package/tests/executors/web.test.ts +0 -1400
- package/tests/executors/write-stdin.test.ts +0 -145
- package/tests/extraction/content-extraction.test.ts +0 -153
- package/tests/guards/tools-default-test-lane.integration.test.ts +0 -21
- package/tests/guards/tools-package-test-commands.e2e.test.ts +0 -43
- package/tests/guards/tools-test-lane-manifest.contract.test.ts +0 -76
- package/tests/guards/tools-vitest-workspace-alias.contract.test.ts +0 -63
- package/tests/helpers/async-waits.ts +0 -53
- package/tests/integration/headless-control-contract.integration.test.ts +0 -153
- package/tests/integration/memory-tool-schema-parity.integration.test.ts +0 -67
- package/tests/integration/meta-tools-round-trip.integration.test.ts +0 -506
- package/tests/integration/quest-round-trip.test.ts +0 -303
- package/tests/integration/registry-executor-flow.test.ts +0 -85
- package/tests/integration.test.ts +0 -177
- package/tests/loading-tier.test.ts +0 -126
- package/tests/mcp/client-reconnect.test.ts +0 -267
- package/tests/mcp/connection.test.ts +0 -846
- package/tests/mcp/injectable-logger.test.ts +0 -83
- package/tests/mcp/jsonrpc.test.ts +0 -109
- package/tests/mcp/lifecycle.test.ts +0 -879
- package/tests/network-runtime/address-types.contract.test.ts +0 -143
- package/tests/network-runtime/continuity-bind-schema.contract.test.ts +0 -203
- package/tests/network-runtime/local-control-contract.test.ts +0 -869
- package/tests/network-runtime/local-control-invite-token.contract.test.ts +0 -146
- package/tests/network-runtime/node-store-contract.test.ts +0 -11
- package/tests/network-runtime/pair-protocol-nodeid.contract.test.ts +0 -15
- package/tests/network-runtime/peer-state-machine.contract.test.ts +0 -148
- package/tests/network-runtime/protocol-schemas.contract.test.ts +0 -512
- package/tests/network-runtime/relay-pending-nodeid.contract.test.ts +0 -62
- package/tests/network-runtime/runtime-bootstrap-contract.test.ts +0 -227
- package/tests/network-runtime/runtime-socket-local-control-client.test.ts +0 -621
- package/tests/network-runtime/wait-for-message-script.test.ts +0 -288
- package/tests/parallel.test.ts +0 -71
- package/tests/policy.test.ts +0 -184
- package/tests/print-default-test-lane.ts +0 -14
- package/tests/print-test-lane-manifest.ts +0 -22
- package/tests/providers/brave.test.ts +0 -159
- package/tests/providers/duckduckgo.test.ts +0 -207
- package/tests/providers/exa.test.ts +0 -175
- package/tests/providers/firecrawl.test.ts +0 -168
- package/tests/providers/jina.test.ts +0 -144
- package/tests/providers/router.test.ts +0 -328
- package/tests/providers/tavily.test.ts +0 -165
- package/tests/registry/discovery.test.ts +0 -154
- package/tests/registry/injectable-logger.test.ts +0 -230
- package/tests/registry/input-validation.test.ts +0 -361
- package/tests/registry/interface-completeness.test.ts +0 -85
- package/tests/registry/mcp-integration.test.ts +0 -103
- package/tests/registry/mcp-read-only-hint.test.ts +0 -60
- package/tests/registry/memoria-discovery.test.ts +0 -390
- package/tests/registry/nested-validation.test.ts +0 -283
- package/tests/registry/pseudo-tool-filtering.test.ts +0 -258
- package/tests/registry/registration-lifecycle.test.ts +0 -133
- package/tests/registry-validation.test.ts +0 -424
- package/tests/registry.test.ts +0 -460
- package/tests/security/dns-pinning.test.ts +0 -162
- package/tests/security/external-content.test.ts +0 -144
- package/tests/security/ssrf.test.ts +0 -118
- package/tests/shell-safety-integration.test.ts +0 -32
- package/tests/shell-safety.test.ts +0 -365
- package/tests/slack/desktop-session.test.ts +0 -50
- package/tests/test-lane-manifest.ts +0 -440
- package/tests/test-utils.ts +0 -27
- package/tests/tool-factory.test.ts +0 -188
- package/tests/utils/retry.test.ts +0 -231
- package/tests/utils/url.test.ts +0 -63
- package/tsconfig.cjs.json +0 -24
- package/tsconfig.json +0 -12
- package/vitest.config.ts +0 -55
- package/vitest.e2e.config.ts +0 -24
- package/vitest.integration.config.ts +0 -24
- package/vitest.native.config.ts +0 -24
package/src/executors/pty.ts
DELETED
|
@@ -1,342 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @aria/tools - PTY executor for interactive terminal programs
|
|
3
|
-
*
|
|
4
|
-
* Provides PTY (pseudo-terminal) support for running interactive programs
|
|
5
|
-
* that require a terminal environment (like vim, less, etc.)
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import * as nodePty from "node-pty";
|
|
9
|
-
import { sanitizeEnv } from "./shell.js";
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Options for creating a PTY session.
|
|
13
|
-
*/
|
|
14
|
-
export interface PTYOptions {
|
|
15
|
-
/** Command to execute */
|
|
16
|
-
command: string;
|
|
17
|
-
/** Arguments to pass to the command */
|
|
18
|
-
args?: string[];
|
|
19
|
-
/** Working directory */
|
|
20
|
-
cwd?: string;
|
|
21
|
-
/** Environment variables */
|
|
22
|
-
env?: Record<string, string>;
|
|
23
|
-
/** Terminal columns (default: 80) */
|
|
24
|
-
cols?: number;
|
|
25
|
-
/** Terminal rows (default: 24) */
|
|
26
|
-
rows?: number;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Result of running a command in a PTY.
|
|
31
|
-
*/
|
|
32
|
-
export interface PTYResult {
|
|
33
|
-
/** All output from the command */
|
|
34
|
-
output: string;
|
|
35
|
-
/** Exit code of the process */
|
|
36
|
-
exitCode: number;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Error thrown when a PTY operation times out.
|
|
41
|
-
*/
|
|
42
|
-
export class PTYTimeoutError extends Error {
|
|
43
|
-
constructor(
|
|
44
|
-
message: string,
|
|
45
|
-
public readonly output: string,
|
|
46
|
-
) {
|
|
47
|
-
super(message);
|
|
48
|
-
this.name = "PTYTimeoutError";
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Error thrown when a PTY operation fails.
|
|
54
|
-
*/
|
|
55
|
-
export class PTYError extends Error {
|
|
56
|
-
constructor(
|
|
57
|
-
message: string,
|
|
58
|
-
public readonly output?: string,
|
|
59
|
-
) {
|
|
60
|
-
super(message);
|
|
61
|
-
this.name = "PTYError";
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* A session wrapping a PTY process.
|
|
67
|
-
* Provides methods for interacting with the process and collecting output.
|
|
68
|
-
*/
|
|
69
|
-
export class PTYSession {
|
|
70
|
-
private static MAX_OUTPUT = 10 * 1024 * 1024; // 10MB
|
|
71
|
-
private _output: string = "";
|
|
72
|
-
private _isRunning: boolean = true;
|
|
73
|
-
private _exitCode: number | undefined;
|
|
74
|
-
private _exitPromise: Promise<number>;
|
|
75
|
-
private _exitResolve!: (code: number) => void;
|
|
76
|
-
private _pty: nodePty.IPty;
|
|
77
|
-
private _dataDisposable: nodePty.IDisposable;
|
|
78
|
-
private _exitDisposable: nodePty.IDisposable;
|
|
79
|
-
|
|
80
|
-
constructor(pty: nodePty.IPty) {
|
|
81
|
-
this._pty = pty;
|
|
82
|
-
|
|
83
|
-
// Set up exit promise
|
|
84
|
-
this._exitPromise = new Promise<number>((resolve) => {
|
|
85
|
-
this._exitResolve = resolve;
|
|
86
|
-
});
|
|
87
|
-
|
|
88
|
-
// Collect output with buffer cap
|
|
89
|
-
this._dataDisposable = pty.onData((data: string) => {
|
|
90
|
-
this._output += data;
|
|
91
|
-
if (this._output.length > PTYSession.MAX_OUTPUT) {
|
|
92
|
-
this._output = this._output.slice(-PTYSession.MAX_OUTPUT);
|
|
93
|
-
}
|
|
94
|
-
});
|
|
95
|
-
|
|
96
|
-
// Handle exit
|
|
97
|
-
this._exitDisposable = pty.onExit(({ exitCode }) => {
|
|
98
|
-
this._isRunning = false;
|
|
99
|
-
this._exitCode = exitCode;
|
|
100
|
-
this._exitResolve(exitCode);
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Write data to the terminal input.
|
|
106
|
-
*/
|
|
107
|
-
write(data: string): void {
|
|
108
|
-
if (!this._isRunning) {
|
|
109
|
-
throw new PTYError("Cannot write to a closed PTY session");
|
|
110
|
-
}
|
|
111
|
-
this._pty.write(data);
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* Resize the terminal.
|
|
116
|
-
*/
|
|
117
|
-
resize(cols: number, rows: number): void {
|
|
118
|
-
if (!this._isRunning) {
|
|
119
|
-
throw new PTYError("Cannot resize a closed PTY session");
|
|
120
|
-
}
|
|
121
|
-
this._pty.resize(cols, rows);
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
/**
|
|
125
|
-
* Wait for a pattern to appear in the output.
|
|
126
|
-
* @param pattern String or RegExp to match
|
|
127
|
-
* @param timeoutMs Timeout in milliseconds (default: 5000)
|
|
128
|
-
* @returns The output accumulated up to and including the match
|
|
129
|
-
*/
|
|
130
|
-
async waitFor(pattern: string | RegExp, timeoutMs: number = 5000): Promise<string> {
|
|
131
|
-
const startTime = Date.now();
|
|
132
|
-
const regex = typeof pattern === "string" ? new RegExp(escapeRegExp(pattern)) : pattern;
|
|
133
|
-
|
|
134
|
-
// Check if pattern already matches
|
|
135
|
-
if (regex.test(this._output)) {
|
|
136
|
-
return this._output;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
return new Promise<string>((resolve, reject) => {
|
|
140
|
-
let checkInterval: NodeJS.Timeout | undefined;
|
|
141
|
-
let timeoutHandle: NodeJS.Timeout | undefined;
|
|
142
|
-
|
|
143
|
-
const cleanup = () => {
|
|
144
|
-
if (checkInterval) clearInterval(checkInterval);
|
|
145
|
-
if (timeoutHandle) clearTimeout(timeoutHandle);
|
|
146
|
-
};
|
|
147
|
-
|
|
148
|
-
const check = () => {
|
|
149
|
-
if (regex.test(this._output)) {
|
|
150
|
-
cleanup();
|
|
151
|
-
resolve(this._output);
|
|
152
|
-
return true;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
if (!this._isRunning) {
|
|
156
|
-
cleanup();
|
|
157
|
-
reject(new PTYError(`Process exited before pattern was found: ${pattern}`, this._output));
|
|
158
|
-
return true;
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
return false;
|
|
162
|
-
};
|
|
163
|
-
|
|
164
|
-
// Initial check
|
|
165
|
-
if (check()) return;
|
|
166
|
-
|
|
167
|
-
// Set up polling
|
|
168
|
-
checkInterval = setInterval(() => {
|
|
169
|
-
check();
|
|
170
|
-
}, 10);
|
|
171
|
-
|
|
172
|
-
// Set up timeout
|
|
173
|
-
timeoutHandle = setTimeout(() => {
|
|
174
|
-
cleanup();
|
|
175
|
-
const elapsed = Date.now() - startTime;
|
|
176
|
-
reject(
|
|
177
|
-
new PTYTimeoutError(
|
|
178
|
-
`Timeout (${elapsed}ms) waiting for pattern: ${pattern}`,
|
|
179
|
-
this._output,
|
|
180
|
-
),
|
|
181
|
-
);
|
|
182
|
-
}, timeoutMs);
|
|
183
|
-
});
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
/**
|
|
187
|
-
* Wait for the process to exit.
|
|
188
|
-
* @param timeoutMs Timeout in milliseconds (default: 30000)
|
|
189
|
-
* @returns The complete output
|
|
190
|
-
*/
|
|
191
|
-
async waitForExit(timeoutMs: number = 30000): Promise<string> {
|
|
192
|
-
if (!this._isRunning) {
|
|
193
|
-
return this._output;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
return new Promise<string>((resolve, reject) => {
|
|
197
|
-
let timeoutHandle: NodeJS.Timeout | undefined;
|
|
198
|
-
|
|
199
|
-
timeoutHandle = setTimeout(() => {
|
|
200
|
-
reject(
|
|
201
|
-
new PTYTimeoutError(`Timeout (${timeoutMs}ms) waiting for process to exit`, this._output),
|
|
202
|
-
);
|
|
203
|
-
}, timeoutMs);
|
|
204
|
-
|
|
205
|
-
this._exitPromise
|
|
206
|
-
.then(() => {
|
|
207
|
-
if (timeoutHandle) clearTimeout(timeoutHandle);
|
|
208
|
-
resolve(this._output);
|
|
209
|
-
})
|
|
210
|
-
.catch(reject);
|
|
211
|
-
});
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
/**
|
|
215
|
-
* Kill the process.
|
|
216
|
-
* @param signal Signal to send (default: SIGHUP on Unix)
|
|
217
|
-
*/
|
|
218
|
-
kill(signal?: string): void {
|
|
219
|
-
if (!this._isRunning) {
|
|
220
|
-
return;
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
try {
|
|
224
|
-
this._pty.kill(signal);
|
|
225
|
-
} catch {
|
|
226
|
-
// Process may already be dead
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
/**
|
|
231
|
-
* Close the session and clean up resources.
|
|
232
|
-
*/
|
|
233
|
-
close(): void {
|
|
234
|
-
// Kill the process first before disposing handlers
|
|
235
|
-
if (this._isRunning) {
|
|
236
|
-
this.kill("SIGKILL");
|
|
237
|
-
// Mark as not running since we won't receive the exit event
|
|
238
|
-
// after disposing the handlers
|
|
239
|
-
this._isRunning = false;
|
|
240
|
-
// Resolve the exit promise to unblock any waiters
|
|
241
|
-
// Use -1 to indicate forced termination
|
|
242
|
-
this._exitResolve(-1);
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
this._dataDisposable.dispose();
|
|
246
|
-
this._exitDisposable.dispose();
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
/**
|
|
250
|
-
* Get the current output buffer.
|
|
251
|
-
*/
|
|
252
|
-
get output(): string {
|
|
253
|
-
return this._output;
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
/**
|
|
257
|
-
* Check if the process is still running.
|
|
258
|
-
*/
|
|
259
|
-
get isRunning(): boolean {
|
|
260
|
-
return this._isRunning;
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
/**
|
|
264
|
-
* Get the process ID.
|
|
265
|
-
*/
|
|
266
|
-
get pid(): number {
|
|
267
|
-
return this._pty.pid;
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
/**
|
|
271
|
-
* Get the exit code (undefined if still running).
|
|
272
|
-
*/
|
|
273
|
-
get exitCode(): number | undefined {
|
|
274
|
-
return this._exitCode;
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
/**
|
|
278
|
-
* Get the current terminal columns.
|
|
279
|
-
*/
|
|
280
|
-
get cols(): number {
|
|
281
|
-
return this._pty.cols;
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
/**
|
|
285
|
-
* Get the current terminal rows.
|
|
286
|
-
*/
|
|
287
|
-
get rows(): number {
|
|
288
|
-
return this._pty.rows;
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
/**
|
|
293
|
-
* Create a new PTY session.
|
|
294
|
-
* @param options Options for the PTY
|
|
295
|
-
* @returns A PTYSession wrapping the process
|
|
296
|
-
*/
|
|
297
|
-
export async function createPTYSession(options: PTYOptions): Promise<PTYSession> {
|
|
298
|
-
const defaultCols = 80;
|
|
299
|
-
const defaultRows = 24;
|
|
300
|
-
|
|
301
|
-
const pty = nodePty.spawn(options.command, options.args ?? [], {
|
|
302
|
-
name: "xterm-256color",
|
|
303
|
-
cols: options.cols ?? defaultCols,
|
|
304
|
-
rows: options.rows ?? defaultRows,
|
|
305
|
-
cwd: options.cwd ?? process.cwd(),
|
|
306
|
-
env: {
|
|
307
|
-
...sanitizeEnv(options.env),
|
|
308
|
-
TERM: "xterm-256color",
|
|
309
|
-
},
|
|
310
|
-
});
|
|
311
|
-
|
|
312
|
-
return new PTYSession(pty);
|
|
313
|
-
}
|
|
314
|
-
|
|
315
|
-
/**
|
|
316
|
-
* Run a command in a PTY and wait for it to complete.
|
|
317
|
-
* This is a convenience function for commands that don't require interaction.
|
|
318
|
-
*
|
|
319
|
-
* @param options Options for the PTY, with optional timeout
|
|
320
|
-
* @returns The output and exit code
|
|
321
|
-
*/
|
|
322
|
-
export async function runInPTY(options: PTYOptions & { timeoutMs?: number }): Promise<PTYResult> {
|
|
323
|
-
const { timeoutMs = 30000, ...ptyOptions } = options;
|
|
324
|
-
const session = await createPTYSession(ptyOptions);
|
|
325
|
-
|
|
326
|
-
try {
|
|
327
|
-
const output = await session.waitForExit(timeoutMs);
|
|
328
|
-
return {
|
|
329
|
-
output,
|
|
330
|
-
exitCode: session.exitCode ?? 0,
|
|
331
|
-
};
|
|
332
|
-
} finally {
|
|
333
|
-
session.close();
|
|
334
|
-
}
|
|
335
|
-
}
|
|
336
|
-
|
|
337
|
-
/**
|
|
338
|
-
* Escape special regex characters in a string.
|
|
339
|
-
*/
|
|
340
|
-
function escapeRegExp(string: string): string {
|
|
341
|
-
return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
342
|
-
}
|
package/src/executors/restart.ts
DELETED
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @aria/tools - Restart executor
|
|
3
|
-
*
|
|
4
|
-
* Single restart path for both TUI and daemon:
|
|
5
|
-
* Register an 'exit' handler to spawn a replacement process, then SIGINT
|
|
6
|
-
* the current process for graceful shutdown. The replacement starts fresh
|
|
7
|
-
* and goes through normal startup (heap check, createCliContext, REPL/daemon).
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import type { ToolContext, ToolResult } from "../types.js";
|
|
11
|
-
import { success, fail } from "./utils.js";
|
|
12
|
-
import { spawn } from "node:child_process";
|
|
13
|
-
import { existsSync, readdirSync, readFileSync } from "node:fs";
|
|
14
|
-
import { dirname, join, resolve } from "node:path";
|
|
15
|
-
import * as os from "node:os";
|
|
16
|
-
import { RESUME_ARION_ENV, RESUME_SESSION_ENV, writeRelaunchMarker } from "@aria-cli/types";
|
|
17
|
-
|
|
18
|
-
export interface RestartInput {
|
|
19
|
-
reason?: string;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
function findPnpmWorkspaceRoot(startDir: string): string | null {
|
|
23
|
-
let dir = resolve(startDir);
|
|
24
|
-
while (true) {
|
|
25
|
-
if (existsSync(join(dir, "pnpm-workspace.yaml"))) return dir;
|
|
26
|
-
const parent = dirname(dir);
|
|
27
|
-
if (parent === dir) return null;
|
|
28
|
-
dir = parent;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
function getPnpmCommand(): string {
|
|
33
|
-
return process.platform === "win32" ? "pnpm.cmd" : "pnpm";
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
async function rebuildWorkspaceIfPresent(startDir: string): Promise<{ attempted: boolean }> {
|
|
37
|
-
const root = findPnpmWorkspaceRoot(startDir);
|
|
38
|
-
if (!root) return { attempted: false };
|
|
39
|
-
|
|
40
|
-
const pnpm = getPnpmCommand();
|
|
41
|
-
await new Promise<void>((resolvePromise, rejectPromise) => {
|
|
42
|
-
const child = spawn(pnpm, ["build"], {
|
|
43
|
-
cwd: root,
|
|
44
|
-
env: process.env,
|
|
45
|
-
stdio: "inherit",
|
|
46
|
-
});
|
|
47
|
-
child.on("error", rejectPromise);
|
|
48
|
-
child.on("close", (code) => {
|
|
49
|
-
if (code === 0) resolvePromise();
|
|
50
|
-
else rejectPromise(new Error(`pnpm build failed with exit code ${code ?? "unknown"}`));
|
|
51
|
-
});
|
|
52
|
-
});
|
|
53
|
-
return { attempted: true };
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Find the daemon PID for the current ARIA_HOME by scanning owner records.
|
|
58
|
-
* Owner records live at $RUNTIME_ROOT/owners/*.json where RUNTIME_ROOT is
|
|
59
|
-
* XDG_RUNTIME_DIR/aria or ~/.aria/run.
|
|
60
|
-
*/
|
|
61
|
-
function findDaemonPid(): number | null {
|
|
62
|
-
const ariaHome = process.env.ARIA_HOME?.trim() || join(os.homedir(), ".aria");
|
|
63
|
-
const runtimeDir = process.env.XDG_RUNTIME_DIR?.trim();
|
|
64
|
-
const runtimeRoot = runtimeDir ? join(runtimeDir, "aria") : join(ariaHome, "run");
|
|
65
|
-
const ownersDir = join(runtimeRoot, "owners");
|
|
66
|
-
|
|
67
|
-
if (!existsSync(ownersDir)) return null;
|
|
68
|
-
|
|
69
|
-
const canonicalHome = resolve(ariaHome);
|
|
70
|
-
for (const file of readdirSync(ownersDir).filter((f) => f.endsWith(".json"))) {
|
|
71
|
-
try {
|
|
72
|
-
const record = JSON.parse(readFileSync(join(ownersDir, file), "utf8"));
|
|
73
|
-
if (record.ariaHome && resolve(record.ariaHome) === canonicalHome) {
|
|
74
|
-
return typeof record.runtimePid === "number" ? record.runtimePid : null;
|
|
75
|
-
}
|
|
76
|
-
} catch {
|
|
77
|
-
// Skip malformed records
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
return null;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
export async function executeRestart(input: RestartInput, ctx: ToolContext): Promise<ToolResult> {
|
|
84
|
-
if (ctx.abortSignal?.aborted) return fail("Operation cancelled");
|
|
85
|
-
|
|
86
|
-
const reason = (input.reason ?? "").trim() || "Restart requested";
|
|
87
|
-
|
|
88
|
-
// Note: tool definition has requiresConfirmation: true, so the framework
|
|
89
|
-
// already prompts the user before execute() is called. No need to confirm again.
|
|
90
|
-
|
|
91
|
-
process.stderr.write(`[aria] Rebuilding workspace before restart...\n`);
|
|
92
|
-
try {
|
|
93
|
-
const rebuilt = await rebuildWorkspaceIfPresent(ctx.workingDir || process.cwd());
|
|
94
|
-
if (!rebuilt.attempted) {
|
|
95
|
-
process.stderr.write(`[aria] No pnpm workspace detected; skipping build\n`);
|
|
96
|
-
}
|
|
97
|
-
} catch (error) {
|
|
98
|
-
process.stderr.write(`[aria] Build failed; continuing restart: ${(error as Error).message}\n`);
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
process.stderr.write(`[aria] Restarting: ${reason}\n`);
|
|
102
|
-
|
|
103
|
-
const sessionId = process.env[RESUME_SESSION_ENV] ?? null;
|
|
104
|
-
const arionName = process.env[RESUME_ARION_ENV] || "ARIA";
|
|
105
|
-
|
|
106
|
-
// Write disk-backed marker so the replacement process can resume the session.
|
|
107
|
-
writeRelaunchMarker({
|
|
108
|
-
sessionId,
|
|
109
|
-
arionName,
|
|
110
|
-
pid: process.ppid || process.pid,
|
|
111
|
-
timestamp: new Date().toISOString(),
|
|
112
|
-
});
|
|
113
|
-
|
|
114
|
-
// Spawn replacement on exit, then SIGINT for graceful shutdown.
|
|
115
|
-
// Works for both TUI and daemon — no supervisor needed.
|
|
116
|
-
const targetPid = findDaemonPid() ?? process.pid;
|
|
117
|
-
|
|
118
|
-
process.once("exit", () => {
|
|
119
|
-
spawn(process.execPath, [...process.execArgv, ...process.argv.slice(1)], {
|
|
120
|
-
detached: true,
|
|
121
|
-
stdio: "ignore",
|
|
122
|
-
}).unref();
|
|
123
|
-
});
|
|
124
|
-
|
|
125
|
-
process.stderr.write(`[aria] Sending SIGINT to pid ${targetPid} for graceful restart\n`);
|
|
126
|
-
try {
|
|
127
|
-
process.kill(targetPid, "SIGINT");
|
|
128
|
-
} catch {
|
|
129
|
-
process.kill(process.pid, "SIGINT");
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
return success("Restarting...");
|
|
133
|
-
}
|