@aria-cli/tools 1.0.13 → 1.0.14
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/ask-user-interaction.d.ts +0 -1
- package/dist/cache/web-cache.d.ts +0 -1
- package/dist/definitions/arion.d.ts +0 -1
- package/dist/definitions/browser/browser.d.ts +0 -1
- package/dist/definitions/browser/index.d.ts +0 -1
- package/dist/definitions/browser/pw-downloads.d.ts +0 -1
- package/dist/definitions/browser/pw-interactions.d.ts +0 -1
- package/dist/definitions/browser/pw-responses.d.ts +0 -1
- package/dist/definitions/browser/pw-session.d.ts +0 -1
- package/dist/definitions/browser/pw-shared.d.ts +0 -1
- package/dist/definitions/browser/pw-snapshot.d.ts +0 -1
- package/dist/definitions/browser/pw-state.d.ts +0 -1
- package/dist/definitions/browser/types.d.ts +0 -1
- package/dist/definitions/code-intelligence.d.ts +0 -1
- package/dist/definitions/core.d.ts +0 -1
- package/dist/definitions/delegation.d.ts +0 -1
- package/dist/definitions/deploy.d.ts +0 -1
- package/dist/definitions/filesystem.d.ts +0 -1
- package/dist/definitions/frg.d.ts +0 -1
- package/dist/definitions/index.d.ts +0 -1
- package/dist/definitions/memory.d.ts +0 -1
- package/dist/definitions/messaging.d.ts +0 -1
- package/dist/definitions/meta.d.ts +0 -1
- package/dist/definitions/network.d.ts +0 -1
- package/dist/definitions/outlook.d.ts +0 -1
- package/dist/definitions/patch/apply-patch.d.ts +0 -1
- package/dist/definitions/patch/fuzzy-match.d.ts +0 -1
- package/dist/definitions/patch/index.d.ts +0 -1
- package/dist/definitions/patch/patch-parser.d.ts +0 -1
- package/dist/definitions/patch/sandbox-paths.d.ts +0 -1
- package/dist/definitions/process/index.d.ts +0 -1
- package/dist/definitions/process/process-registry.d.ts +0 -1
- package/dist/definitions/process/process.d.ts +0 -1
- package/dist/definitions/process/pty-keys.d.ts +0 -1
- package/dist/definitions/process/session-slug.d.ts +0 -1
- package/dist/definitions/quip.d.ts +0 -1
- package/dist/definitions/search.d.ts +0 -1
- package/dist/definitions/session-history.d.ts +0 -1
- package/dist/definitions/shell.d.ts +0 -1
- package/dist/definitions/slack.d.ts +0 -1
- package/dist/definitions/web.d.ts +0 -1
- package/dist/executors/apply-patch.d.ts +0 -1
- package/dist/executors/arion.d.ts +0 -1
- package/dist/executors/code-intelligence.d.ts +0 -1
- package/dist/executors/deploy.d.ts +0 -1
- package/dist/executors/filesystem.d.ts +0 -1
- package/dist/executors/frg-freshness.d.ts +0 -1
- package/dist/executors/frg.d.ts +0 -1
- package/dist/executors/index.d.ts +0 -1
- package/dist/executors/learning-meta.d.ts +0 -1
- package/dist/executors/lsp-client.d.ts +0 -1
- package/dist/executors/memory.d.ts +0 -1
- package/dist/executors/meta.d.ts +0 -1
- package/dist/executors/process-registry.d.ts +0 -1
- package/dist/executors/pty-session-store.d.ts +0 -1
- package/dist/executors/pty.d.ts +0 -1
- package/dist/executors/restart.d.ts +0 -1
- package/dist/executors/search-freshness.d.ts +0 -1
- package/dist/executors/search-types.d.ts +0 -1
- package/dist/executors/search.d.ts +0 -1
- package/dist/executors/self-diagnose.d.ts +0 -1
- package/dist/executors/session-history.d.ts +0 -1
- package/dist/executors/shell-safety.d.ts +0 -1
- package/dist/executors/shell.d.ts +0 -1
- package/dist/executors/utils.d.ts +0 -1
- package/dist/executors/web.d.ts +0 -1
- package/dist/extraction/content-extraction.d.ts +0 -1
- package/dist/extraction/index.d.ts +0 -1
- package/dist/headless-control-contract.d.ts +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +378 -71
- package/dist/local-control-http-auth.d.ts +0 -1
- package/dist/mcp/client.d.ts +0 -1
- package/dist/mcp/connection.d.ts +0 -1
- package/dist/mcp/index.d.ts +0 -1
- package/dist/mcp/jsonrpc.d.ts +0 -1
- package/dist/mcp/types.d.ts +0 -1
- package/dist/network-control-adapter.d.ts +0 -1
- package/dist/network-runtime/address-types.d.ts +0 -1
- package/dist/network-runtime/db-owner-fencing.d.ts +0 -1
- package/dist/network-runtime/delivery-receipts.d.ts +0 -1
- package/dist/network-runtime/direct-endpoint-authority.d.ts +0 -1
- package/dist/network-runtime/index.d.ts +0 -1
- package/dist/network-runtime/index.js +8 -13
- package/dist/network-runtime/local-control-contract.d.ts +0 -1
- package/dist/network-runtime/node-store-contract.d.ts +0 -1
- package/dist/network-runtime/pair-route-contract.d.ts +0 -1
- package/dist/network-runtime/peer-capabilities.d.ts +0 -1
- package/dist/network-runtime/peer-principal-ref.d.ts +0 -1
- package/dist/network-runtime/peer-state-machine.d.ts +0 -1
- package/dist/network-runtime/protocol-schemas.d.ts +0 -1
- package/dist/network-runtime/runtime-bootstrap-contract.d.ts +0 -1
- package/dist/outlook/desktop-session.d.ts +0 -1
- package/dist/policy.d.ts +0 -1
- package/dist/providers/brave.d.ts +0 -1
- package/dist/providers/duckduckgo.d.ts +0 -1
- package/dist/providers/exa.d.ts +0 -1
- package/dist/providers/firecrawl.d.ts +0 -1
- package/dist/providers/index.d.ts +0 -1
- package/dist/providers/jina.d.ts +0 -1
- package/dist/providers/router.d.ts +0 -1
- package/dist/providers/search-provider.d.ts +0 -1
- package/dist/providers/tavily.d.ts +0 -1
- package/dist/quip/desktop-session.d.ts +0 -1
- package/dist/registry/index.d.ts +0 -1
- package/dist/registry/registry.d.ts +0 -1
- package/dist/runtime-socket-local-control-client.d.ts +0 -1
- package/dist/security/dns-normalization.d.ts +0 -1
- package/dist/security/dns-pinning.d.ts +0 -1
- package/dist/security/external-content.d.ts +0 -1
- package/dist/security/ssrf.d.ts +0 -1
- package/dist/slack/desktop-session.d.ts +0 -1
- package/dist/tool-factory.d.ts +0 -1
- package/dist/types.d.ts +0 -1
- package/dist/utils/retry.d.ts +0 -1
- package/dist/utils/safe-parse-json.d.ts +0 -1
- package/dist/utils/url.d.ts +0 -1
- package/dist-cjs/index.js +107 -107
- package/dist-cjs/network-runtime/index.js +3 -3
- package/package.json +9 -7
- package/dist/.tsbuildinfo +0 -1
- package/dist/ask-user-interaction.d.ts.map +0 -1
- package/dist/ask-user-interaction.js +0 -23
- package/dist/ask-user-interaction.js.map +0 -1
- package/dist/cache/web-cache.d.ts.map +0 -1
- package/dist/cache/web-cache.js +0 -67
- package/dist/cache/web-cache.js.map +0 -1
- package/dist/definitions/arion.d.ts.map +0 -1
- package/dist/definitions/arion.js +0 -105
- package/dist/definitions/arion.js.map +0 -1
- package/dist/definitions/browser/browser.d.ts.map +0 -1
- package/dist/definitions/browser/browser.js +0 -419
- package/dist/definitions/browser/browser.js.map +0 -1
- package/dist/definitions/browser/index.d.ts.map +0 -1
- package/dist/definitions/browser/index.js +0 -5
- package/dist/definitions/browser/index.js.map +0 -1
- package/dist/definitions/browser/pw-downloads.d.ts.map +0 -1
- package/dist/definitions/browser/pw-downloads.js +0 -115
- package/dist/definitions/browser/pw-downloads.js.map +0 -1
- package/dist/definitions/browser/pw-interactions.d.ts.map +0 -1
- package/dist/definitions/browser/pw-interactions.js +0 -200
- package/dist/definitions/browser/pw-interactions.js.map +0 -1
- package/dist/definitions/browser/pw-responses.d.ts.map +0 -1
- package/dist/definitions/browser/pw-responses.js +0 -77
- package/dist/definitions/browser/pw-responses.js.map +0 -1
- package/dist/definitions/browser/pw-session.d.ts.map +0 -1
- package/dist/definitions/browser/pw-session.js +0 -311
- package/dist/definitions/browser/pw-session.js.map +0 -1
- package/dist/definitions/browser/pw-shared.d.ts.map +0 -1
- package/dist/definitions/browser/pw-shared.js +0 -67
- package/dist/definitions/browser/pw-shared.js.map +0 -1
- package/dist/definitions/browser/pw-snapshot.d.ts.map +0 -1
- package/dist/definitions/browser/pw-snapshot.js +0 -302
- package/dist/definitions/browser/pw-snapshot.js.map +0 -1
- package/dist/definitions/browser/pw-state.d.ts.map +0 -1
- package/dist/definitions/browser/pw-state.js +0 -63
- package/dist/definitions/browser/pw-state.js.map +0 -1
- package/dist/definitions/browser/types.d.ts.map +0 -1
- package/dist/definitions/browser/types.js +0 -5
- package/dist/definitions/browser/types.js.map +0 -1
- package/dist/definitions/code-intelligence.d.ts.map +0 -1
- package/dist/definitions/code-intelligence.js +0 -471
- package/dist/definitions/code-intelligence.js.map +0 -1
- package/dist/definitions/core.d.ts.map +0 -1
- package/dist/definitions/core.js +0 -110
- package/dist/definitions/core.js.map +0 -1
- package/dist/definitions/delegation.d.ts.map +0 -1
- package/dist/definitions/delegation.js +0 -513
- package/dist/definitions/delegation.js.map +0 -1
- package/dist/definitions/deploy.d.ts.map +0 -1
- package/dist/definitions/deploy.js +0 -66
- package/dist/definitions/deploy.js.map +0 -1
- package/dist/definitions/filesystem.d.ts.map +0 -1
- package/dist/definitions/filesystem.js +0 -197
- package/dist/definitions/filesystem.js.map +0 -1
- package/dist/definitions/frg.d.ts.map +0 -1
- package/dist/definitions/frg.js +0 -64
- package/dist/definitions/frg.js.map +0 -1
- package/dist/definitions/index.d.ts.map +0 -1
- package/dist/definitions/index.js +0 -21
- package/dist/definitions/index.js.map +0 -1
- package/dist/definitions/memory.d.ts.map +0 -1
- package/dist/definitions/memory.js +0 -124
- package/dist/definitions/memory.js.map +0 -1
- package/dist/definitions/messaging.d.ts.map +0 -1
- package/dist/definitions/messaging.js +0 -626
- package/dist/definitions/messaging.js.map +0 -1
- package/dist/definitions/meta.d.ts.map +0 -1
- package/dist/definitions/meta.js +0 -350
- package/dist/definitions/meta.js.map +0 -1
- package/dist/definitions/network.d.ts.map +0 -1
- package/dist/definitions/network.js +0 -160
- package/dist/definitions/network.js.map +0 -1
- package/dist/definitions/outlook.d.ts.map +0 -1
- package/dist/definitions/outlook.js +0 -278
- package/dist/definitions/outlook.js.map +0 -1
- package/dist/definitions/patch/apply-patch.d.ts.map +0 -1
- package/dist/definitions/patch/apply-patch.js +0 -185
- package/dist/definitions/patch/apply-patch.js.map +0 -1
- package/dist/definitions/patch/fuzzy-match.d.ts.map +0 -1
- package/dist/definitions/patch/fuzzy-match.js +0 -167
- package/dist/definitions/patch/fuzzy-match.js.map +0 -1
- package/dist/definitions/patch/index.d.ts.map +0 -1
- package/dist/definitions/patch/index.js +0 -2
- package/dist/definitions/patch/index.js.map +0 -1
- package/dist/definitions/patch/patch-parser.d.ts.map +0 -1
- package/dist/definitions/patch/patch-parser.js +0 -208
- package/dist/definitions/patch/patch-parser.js.map +0 -1
- package/dist/definitions/patch/sandbox-paths.d.ts.map +0 -1
- package/dist/definitions/patch/sandbox-paths.js +0 -106
- package/dist/definitions/patch/sandbox-paths.js.map +0 -1
- package/dist/definitions/process/index.d.ts.map +0 -1
- package/dist/definitions/process/index.js +0 -5
- package/dist/definitions/process/index.js.map +0 -1
- package/dist/definitions/process/process-registry.d.ts.map +0 -1
- package/dist/definitions/process/process-registry.js +0 -214
- package/dist/definitions/process/process-registry.js.map +0 -1
- package/dist/definitions/process/process.d.ts.map +0 -1
- package/dist/definitions/process/process.js +0 -387
- package/dist/definitions/process/process.js.map +0 -1
- package/dist/definitions/process/pty-keys.d.ts.map +0 -1
- package/dist/definitions/process/pty-keys.js +0 -255
- package/dist/definitions/process/pty-keys.js.map +0 -1
- package/dist/definitions/process/session-slug.d.ts.map +0 -1
- package/dist/definitions/process/session-slug.js +0 -143
- package/dist/definitions/process/session-slug.js.map +0 -1
- package/dist/definitions/quip.d.ts.map +0 -1
- package/dist/definitions/quip.js +0 -196
- package/dist/definitions/quip.js.map +0 -1
- package/dist/definitions/search.d.ts.map +0 -1
- package/dist/definitions/search.js +0 -61
- package/dist/definitions/search.js.map +0 -1
- package/dist/definitions/session-history.d.ts.map +0 -1
- package/dist/definitions/session-history.js +0 -70
- package/dist/definitions/session-history.js.map +0 -1
- package/dist/definitions/shell.d.ts.map +0 -1
- package/dist/definitions/shell.js +0 -182
- package/dist/definitions/shell.js.map +0 -1
- package/dist/definitions/slack.d.ts.map +0 -1
- package/dist/definitions/slack.js +0 -181
- package/dist/definitions/slack.js.map +0 -1
- package/dist/definitions/web.d.ts.map +0 -1
- package/dist/definitions/web.js +0 -110
- package/dist/definitions/web.js.map +0 -1
- package/dist/executors/apply-patch.d.ts.map +0 -1
- package/dist/executors/apply-patch.js +0 -902
- package/dist/executors/apply-patch.js.map +0 -1
- package/dist/executors/arion.d.ts.map +0 -1
- package/dist/executors/arion.js +0 -120
- package/dist/executors/arion.js.map +0 -1
- package/dist/executors/code-intelligence.d.ts.map +0 -1
- package/dist/executors/code-intelligence.js +0 -883
- package/dist/executors/code-intelligence.js.map +0 -1
- package/dist/executors/deploy.d.ts.map +0 -1
- package/dist/executors/deploy.js +0 -849
- package/dist/executors/deploy.js.map +0 -1
- package/dist/executors/filesystem.d.ts.map +0 -1
- package/dist/executors/filesystem.js +0 -1123
- package/dist/executors/filesystem.js.map +0 -1
- package/dist/executors/frg-freshness.d.ts.map +0 -1
- package/dist/executors/frg-freshness.js +0 -577
- package/dist/executors/frg-freshness.js.map +0 -1
- package/dist/executors/frg.d.ts.map +0 -1
- package/dist/executors/frg.js +0 -299
- package/dist/executors/frg.js.map +0 -1
- package/dist/executors/index.d.ts.map +0 -1
- package/dist/executors/index.js +0 -47
- package/dist/executors/index.js.map +0 -1
- package/dist/executors/learning-meta.d.ts.map +0 -1
- package/dist/executors/learning-meta.js +0 -1147
- package/dist/executors/learning-meta.js.map +0 -1
- package/dist/executors/lsp-client.d.ts.map +0 -1
- package/dist/executors/lsp-client.js +0 -297
- package/dist/executors/lsp-client.js.map +0 -1
- package/dist/executors/memory.d.ts.map +0 -1
- package/dist/executors/memory.js +0 -751
- package/dist/executors/memory.js.map +0 -1
- package/dist/executors/meta.d.ts.map +0 -1
- package/dist/executors/meta.js +0 -221
- package/dist/executors/meta.js.map +0 -1
- package/dist/executors/process-registry.d.ts.map +0 -1
- package/dist/executors/process-registry.js +0 -466
- package/dist/executors/process-registry.js.map +0 -1
- package/dist/executors/pty-session-store.d.ts.map +0 -1
- package/dist/executors/pty-session-store.js +0 -31
- package/dist/executors/pty-session-store.js.map +0 -1
- package/dist/executors/pty.d.ts.map +0 -1
- package/dist/executors/pty.js +0 -272
- package/dist/executors/pty.js.map +0 -1
- package/dist/executors/restart.d.ts.map +0 -1
- package/dist/executors/restart.js +0 -120
- package/dist/executors/restart.js.map +0 -1
- package/dist/executors/search-freshness.d.ts.map +0 -1
- package/dist/executors/search-freshness.js +0 -196
- package/dist/executors/search-freshness.js.map +0 -1
- package/dist/executors/search-types.d.ts.map +0 -1
- package/dist/executors/search-types.js +0 -53
- package/dist/executors/search-types.js.map +0 -1
- package/dist/executors/search.d.ts.map +0 -1
- package/dist/executors/search.js +0 -67
- package/dist/executors/search.js.map +0 -1
- package/dist/executors/self-diagnose.d.ts.map +0 -1
- package/dist/executors/self-diagnose.js +0 -399
- package/dist/executors/self-diagnose.js.map +0 -1
- package/dist/executors/session-history.d.ts.map +0 -1
- package/dist/executors/session-history.js +0 -284
- package/dist/executors/session-history.js.map +0 -1
- package/dist/executors/shell-safety.d.ts.map +0 -1
- package/dist/executors/shell-safety.js +0 -474
- package/dist/executors/shell-safety.js.map +0 -1
- package/dist/executors/shell.d.ts.map +0 -1
- package/dist/executors/shell.js +0 -955
- package/dist/executors/shell.js.map +0 -1
- package/dist/executors/utils.d.ts.map +0 -1
- package/dist/executors/utils.js +0 -34
- package/dist/executors/utils.js.map +0 -1
- package/dist/executors/web.d.ts.map +0 -1
- package/dist/executors/web.js +0 -543
- package/dist/executors/web.js.map +0 -1
- package/dist/extraction/content-extraction.d.ts.map +0 -1
- package/dist/extraction/content-extraction.js +0 -236
- package/dist/extraction/content-extraction.js.map +0 -1
- package/dist/extraction/index.d.ts.map +0 -1
- package/dist/extraction/index.js +0 -5
- package/dist/extraction/index.js.map +0 -1
- package/dist/headless-control-contract.d.ts.map +0 -1
- package/dist/headless-control-contract.js +0 -968
- package/dist/headless-control-contract.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/local-control-http-auth.d.ts.map +0 -1
- package/dist/local-control-http-auth.js +0 -3
- package/dist/local-control-http-auth.js.map +0 -1
- package/dist/mcp/client.d.ts.map +0 -1
- package/dist/mcp/client.js +0 -182
- package/dist/mcp/client.js.map +0 -1
- package/dist/mcp/connection.d.ts.map +0 -1
- package/dist/mcp/connection.js +0 -481
- package/dist/mcp/connection.js.map +0 -1
- package/dist/mcp/index.d.ts.map +0 -1
- package/dist/mcp/index.js +0 -11
- package/dist/mcp/index.js.map +0 -1
- package/dist/mcp/jsonrpc.d.ts.map +0 -1
- package/dist/mcp/jsonrpc.js +0 -145
- package/dist/mcp/jsonrpc.js.map +0 -1
- package/dist/mcp/types.d.ts.map +0 -1
- package/dist/mcp/types.js +0 -8
- package/dist/mcp/types.js.map +0 -1
- package/dist/network-control-adapter.d.ts.map +0 -1
- package/dist/network-control-adapter.js +0 -73
- package/dist/network-control-adapter.js.map +0 -1
- package/dist/network-runtime/address-types.d.ts.map +0 -1
- package/dist/network-runtime/address-types.js +0 -166
- package/dist/network-runtime/address-types.js.map +0 -1
- package/dist/network-runtime/db-owner-fencing.d.ts.map +0 -1
- package/dist/network-runtime/db-owner-fencing.js +0 -70
- package/dist/network-runtime/db-owner-fencing.js.map +0 -1
- package/dist/network-runtime/delivery-receipts.d.ts.map +0 -1
- package/dist/network-runtime/delivery-receipts.js +0 -268
- package/dist/network-runtime/delivery-receipts.js.map +0 -1
- package/dist/network-runtime/direct-endpoint-authority.d.ts.map +0 -1
- package/dist/network-runtime/direct-endpoint-authority.js +0 -26
- package/dist/network-runtime/direct-endpoint-authority.js.map +0 -1
- package/dist/network-runtime/index.d.ts.map +0 -1
- package/dist/network-runtime/index.js.map +0 -1
- package/dist/network-runtime/local-control-contract.d.ts.map +0 -1
- package/dist/network-runtime/local-control-contract.js +0 -628
- package/dist/network-runtime/local-control-contract.js.map +0 -1
- package/dist/network-runtime/node-store-contract.d.ts.map +0 -1
- package/dist/network-runtime/node-store-contract.js +0 -35
- package/dist/network-runtime/node-store-contract.js.map +0 -1
- package/dist/network-runtime/pair-route-contract.d.ts.map +0 -1
- package/dist/network-runtime/pair-route-contract.js +0 -78
- package/dist/network-runtime/pair-route-contract.js.map +0 -1
- package/dist/network-runtime/peer-capabilities.d.ts.map +0 -1
- package/dist/network-runtime/peer-capabilities.js +0 -29
- package/dist/network-runtime/peer-capabilities.js.map +0 -1
- package/dist/network-runtime/peer-principal-ref.d.ts.map +0 -1
- package/dist/network-runtime/peer-principal-ref.js +0 -13
- package/dist/network-runtime/peer-principal-ref.js.map +0 -1
- package/dist/network-runtime/peer-state-machine.d.ts.map +0 -1
- package/dist/network-runtime/peer-state-machine.js +0 -122
- package/dist/network-runtime/peer-state-machine.js.map +0 -1
- package/dist/network-runtime/protocol-schemas.d.ts.map +0 -1
- package/dist/network-runtime/protocol-schemas.js +0 -206
- package/dist/network-runtime/protocol-schemas.js.map +0 -1
- package/dist/network-runtime/runtime-bootstrap-contract.d.ts.map +0 -1
- package/dist/network-runtime/runtime-bootstrap-contract.js +0 -61
- package/dist/network-runtime/runtime-bootstrap-contract.js.map +0 -1
- package/dist/outlook/desktop-session.d.ts.map +0 -1
- package/dist/outlook/desktop-session.js +0 -280
- package/dist/outlook/desktop-session.js.map +0 -1
- package/dist/policy.d.ts.map +0 -1
- package/dist/policy.js +0 -150
- package/dist/policy.js.map +0 -1
- package/dist/providers/brave.d.ts.map +0 -1
- package/dist/providers/brave.js +0 -63
- package/dist/providers/brave.js.map +0 -1
- package/dist/providers/duckduckgo.d.ts.map +0 -1
- package/dist/providers/duckduckgo.js +0 -177
- package/dist/providers/duckduckgo.js.map +0 -1
- package/dist/providers/exa.d.ts.map +0 -1
- package/dist/providers/exa.js +0 -64
- package/dist/providers/exa.js.map +0 -1
- package/dist/providers/firecrawl.d.ts.map +0 -1
- package/dist/providers/firecrawl.js +0 -56
- package/dist/providers/firecrawl.js.map +0 -1
- package/dist/providers/index.d.ts.map +0 -1
- package/dist/providers/index.js +0 -8
- package/dist/providers/index.js.map +0 -1
- package/dist/providers/jina.d.ts.map +0 -1
- package/dist/providers/jina.js +0 -50
- package/dist/providers/jina.js.map +0 -1
- package/dist/providers/router.d.ts.map +0 -1
- package/dist/providers/router.js +0 -97
- package/dist/providers/router.js.map +0 -1
- package/dist/providers/search-provider.d.ts.map +0 -1
- package/dist/providers/search-provider.js +0 -33
- package/dist/providers/search-provider.js.map +0 -1
- package/dist/providers/tavily.d.ts.map +0 -1
- package/dist/providers/tavily.js +0 -55
- package/dist/providers/tavily.js.map +0 -1
- package/dist/quip/desktop-session.d.ts.map +0 -1
- package/dist/quip/desktop-session.js +0 -318
- package/dist/quip/desktop-session.js.map +0 -1
- package/dist/registry/index.d.ts.map +0 -1
- package/dist/registry/index.js +0 -2
- package/dist/registry/index.js.map +0 -1
- package/dist/registry/registry.d.ts.map +0 -1
- package/dist/registry/registry.js +0 -757
- package/dist/registry/registry.js.map +0 -1
- package/dist/runtime-socket-local-control-client.d.ts.map +0 -1
- package/dist/runtime-socket-local-control-client.js +0 -331
- package/dist/runtime-socket-local-control-client.js.map +0 -1
- package/dist/security/dns-normalization.d.ts.map +0 -1
- package/dist/security/dns-normalization.js +0 -20
- package/dist/security/dns-normalization.js.map +0 -1
- package/dist/security/dns-pinning.d.ts.map +0 -1
- package/dist/security/dns-pinning.js +0 -124
- package/dist/security/dns-pinning.js.map +0 -1
- package/dist/security/external-content.d.ts.map +0 -1
- package/dist/security/external-content.js +0 -92
- package/dist/security/external-content.js.map +0 -1
- package/dist/security/ssrf.d.ts.map +0 -1
- package/dist/security/ssrf.js +0 -182
- package/dist/security/ssrf.js.map +0 -1
- package/dist/slack/desktop-session.d.ts.map +0 -1
- package/dist/slack/desktop-session.js +0 -325
- package/dist/slack/desktop-session.js.map +0 -1
- package/dist/tool-factory.d.ts.map +0 -1
- package/dist/tool-factory.js +0 -48
- package/dist/tool-factory.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -8
- package/dist/types.js.map +0 -1
- package/dist/utils/retry.d.ts.map +0 -1
- package/dist/utils/retry.js +0 -133
- package/dist/utils/retry.js.map +0 -1
- package/dist/utils/safe-parse-json.d.ts.map +0 -1
- package/dist/utils/safe-parse-json.js +0 -161
- package/dist/utils/safe-parse-json.js.map +0 -1
- package/dist/utils/url.d.ts.map +0 -1
- package/dist/utils/url.js +0 -20
- package/dist/utils/url.js.map +0 -1
- package/dist-cjs/.tsbuildinfo +0 -1
package/dist/executors/pty.js
DELETED
|
@@ -1,272 +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
|
-
import * as nodePty from "node-pty";
|
|
8
|
-
import { sanitizeEnv } from "./shell.js";
|
|
9
|
-
/**
|
|
10
|
-
* Error thrown when a PTY operation times out.
|
|
11
|
-
*/
|
|
12
|
-
export class PTYTimeoutError extends Error {
|
|
13
|
-
output;
|
|
14
|
-
constructor(message, output) {
|
|
15
|
-
super(message);
|
|
16
|
-
this.output = output;
|
|
17
|
-
this.name = "PTYTimeoutError";
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Error thrown when a PTY operation fails.
|
|
22
|
-
*/
|
|
23
|
-
export class PTYError extends Error {
|
|
24
|
-
output;
|
|
25
|
-
constructor(message, output) {
|
|
26
|
-
super(message);
|
|
27
|
-
this.output = output;
|
|
28
|
-
this.name = "PTYError";
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* A session wrapping a PTY process.
|
|
33
|
-
* Provides methods for interacting with the process and collecting output.
|
|
34
|
-
*/
|
|
35
|
-
export class PTYSession {
|
|
36
|
-
static MAX_OUTPUT = 10 * 1024 * 1024; // 10MB
|
|
37
|
-
_output = "";
|
|
38
|
-
_isRunning = true;
|
|
39
|
-
_exitCode;
|
|
40
|
-
_exitPromise;
|
|
41
|
-
_exitResolve;
|
|
42
|
-
_pty;
|
|
43
|
-
_dataDisposable;
|
|
44
|
-
_exitDisposable;
|
|
45
|
-
constructor(pty) {
|
|
46
|
-
this._pty = pty;
|
|
47
|
-
// Set up exit promise
|
|
48
|
-
this._exitPromise = new Promise((resolve) => {
|
|
49
|
-
this._exitResolve = resolve;
|
|
50
|
-
});
|
|
51
|
-
// Collect output with buffer cap
|
|
52
|
-
this._dataDisposable = pty.onData((data) => {
|
|
53
|
-
this._output += data;
|
|
54
|
-
if (this._output.length > PTYSession.MAX_OUTPUT) {
|
|
55
|
-
this._output = this._output.slice(-PTYSession.MAX_OUTPUT);
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
// Handle exit
|
|
59
|
-
this._exitDisposable = pty.onExit(({ exitCode }) => {
|
|
60
|
-
this._isRunning = false;
|
|
61
|
-
this._exitCode = exitCode;
|
|
62
|
-
this._exitResolve(exitCode);
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Write data to the terminal input.
|
|
67
|
-
*/
|
|
68
|
-
write(data) {
|
|
69
|
-
if (!this._isRunning) {
|
|
70
|
-
throw new PTYError("Cannot write to a closed PTY session");
|
|
71
|
-
}
|
|
72
|
-
this._pty.write(data);
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Resize the terminal.
|
|
76
|
-
*/
|
|
77
|
-
resize(cols, rows) {
|
|
78
|
-
if (!this._isRunning) {
|
|
79
|
-
throw new PTYError("Cannot resize a closed PTY session");
|
|
80
|
-
}
|
|
81
|
-
this._pty.resize(cols, rows);
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Wait for a pattern to appear in the output.
|
|
85
|
-
* @param pattern String or RegExp to match
|
|
86
|
-
* @param timeoutMs Timeout in milliseconds (default: 5000)
|
|
87
|
-
* @returns The output accumulated up to and including the match
|
|
88
|
-
*/
|
|
89
|
-
async waitFor(pattern, timeoutMs = 5000) {
|
|
90
|
-
const startTime = Date.now();
|
|
91
|
-
const regex = typeof pattern === "string" ? new RegExp(escapeRegExp(pattern)) : pattern;
|
|
92
|
-
// Check if pattern already matches
|
|
93
|
-
if (regex.test(this._output)) {
|
|
94
|
-
return this._output;
|
|
95
|
-
}
|
|
96
|
-
return new Promise((resolve, reject) => {
|
|
97
|
-
let checkInterval;
|
|
98
|
-
let timeoutHandle;
|
|
99
|
-
const cleanup = () => {
|
|
100
|
-
if (checkInterval)
|
|
101
|
-
clearInterval(checkInterval);
|
|
102
|
-
if (timeoutHandle)
|
|
103
|
-
clearTimeout(timeoutHandle);
|
|
104
|
-
};
|
|
105
|
-
const check = () => {
|
|
106
|
-
if (regex.test(this._output)) {
|
|
107
|
-
cleanup();
|
|
108
|
-
resolve(this._output);
|
|
109
|
-
return true;
|
|
110
|
-
}
|
|
111
|
-
if (!this._isRunning) {
|
|
112
|
-
cleanup();
|
|
113
|
-
reject(new PTYError(`Process exited before pattern was found: ${pattern}`, this._output));
|
|
114
|
-
return true;
|
|
115
|
-
}
|
|
116
|
-
return false;
|
|
117
|
-
};
|
|
118
|
-
// Initial check
|
|
119
|
-
if (check())
|
|
120
|
-
return;
|
|
121
|
-
// Set up polling
|
|
122
|
-
checkInterval = setInterval(() => {
|
|
123
|
-
check();
|
|
124
|
-
}, 10);
|
|
125
|
-
// Set up timeout
|
|
126
|
-
timeoutHandle = setTimeout(() => {
|
|
127
|
-
cleanup();
|
|
128
|
-
const elapsed = Date.now() - startTime;
|
|
129
|
-
reject(new PTYTimeoutError(`Timeout (${elapsed}ms) waiting for pattern: ${pattern}`, this._output));
|
|
130
|
-
}, timeoutMs);
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Wait for the process to exit.
|
|
135
|
-
* @param timeoutMs Timeout in milliseconds (default: 30000)
|
|
136
|
-
* @returns The complete output
|
|
137
|
-
*/
|
|
138
|
-
async waitForExit(timeoutMs = 30000) {
|
|
139
|
-
if (!this._isRunning) {
|
|
140
|
-
return this._output;
|
|
141
|
-
}
|
|
142
|
-
return new Promise((resolve, reject) => {
|
|
143
|
-
let timeoutHandle;
|
|
144
|
-
timeoutHandle = setTimeout(() => {
|
|
145
|
-
reject(new PTYTimeoutError(`Timeout (${timeoutMs}ms) waiting for process to exit`, this._output));
|
|
146
|
-
}, timeoutMs);
|
|
147
|
-
this._exitPromise
|
|
148
|
-
.then(() => {
|
|
149
|
-
if (timeoutHandle)
|
|
150
|
-
clearTimeout(timeoutHandle);
|
|
151
|
-
resolve(this._output);
|
|
152
|
-
})
|
|
153
|
-
.catch(reject);
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* Kill the process.
|
|
158
|
-
* @param signal Signal to send (default: SIGHUP on Unix)
|
|
159
|
-
*/
|
|
160
|
-
kill(signal) {
|
|
161
|
-
if (!this._isRunning) {
|
|
162
|
-
return;
|
|
163
|
-
}
|
|
164
|
-
try {
|
|
165
|
-
this._pty.kill(signal);
|
|
166
|
-
}
|
|
167
|
-
catch {
|
|
168
|
-
// Process may already be dead
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Close the session and clean up resources.
|
|
173
|
-
*/
|
|
174
|
-
close() {
|
|
175
|
-
// Kill the process first before disposing handlers
|
|
176
|
-
if (this._isRunning) {
|
|
177
|
-
this.kill("SIGKILL");
|
|
178
|
-
// Mark as not running since we won't receive the exit event
|
|
179
|
-
// after disposing the handlers
|
|
180
|
-
this._isRunning = false;
|
|
181
|
-
// Resolve the exit promise to unblock any waiters
|
|
182
|
-
// Use -1 to indicate forced termination
|
|
183
|
-
this._exitResolve(-1);
|
|
184
|
-
}
|
|
185
|
-
this._dataDisposable.dispose();
|
|
186
|
-
this._exitDisposable.dispose();
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Get the current output buffer.
|
|
190
|
-
*/
|
|
191
|
-
get output() {
|
|
192
|
-
return this._output;
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* Check if the process is still running.
|
|
196
|
-
*/
|
|
197
|
-
get isRunning() {
|
|
198
|
-
return this._isRunning;
|
|
199
|
-
}
|
|
200
|
-
/**
|
|
201
|
-
* Get the process ID.
|
|
202
|
-
*/
|
|
203
|
-
get pid() {
|
|
204
|
-
return this._pty.pid;
|
|
205
|
-
}
|
|
206
|
-
/**
|
|
207
|
-
* Get the exit code (undefined if still running).
|
|
208
|
-
*/
|
|
209
|
-
get exitCode() {
|
|
210
|
-
return this._exitCode;
|
|
211
|
-
}
|
|
212
|
-
/**
|
|
213
|
-
* Get the current terminal columns.
|
|
214
|
-
*/
|
|
215
|
-
get cols() {
|
|
216
|
-
return this._pty.cols;
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* Get the current terminal rows.
|
|
220
|
-
*/
|
|
221
|
-
get rows() {
|
|
222
|
-
return this._pty.rows;
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
/**
|
|
226
|
-
* Create a new PTY session.
|
|
227
|
-
* @param options Options for the PTY
|
|
228
|
-
* @returns A PTYSession wrapping the process
|
|
229
|
-
*/
|
|
230
|
-
export async function createPTYSession(options) {
|
|
231
|
-
const defaultCols = 80;
|
|
232
|
-
const defaultRows = 24;
|
|
233
|
-
const pty = nodePty.spawn(options.command, options.args ?? [], {
|
|
234
|
-
name: "xterm-256color",
|
|
235
|
-
cols: options.cols ?? defaultCols,
|
|
236
|
-
rows: options.rows ?? defaultRows,
|
|
237
|
-
cwd: options.cwd ?? process.cwd(),
|
|
238
|
-
env: {
|
|
239
|
-
...sanitizeEnv(options.env),
|
|
240
|
-
TERM: "xterm-256color",
|
|
241
|
-
},
|
|
242
|
-
});
|
|
243
|
-
return new PTYSession(pty);
|
|
244
|
-
}
|
|
245
|
-
/**
|
|
246
|
-
* Run a command in a PTY and wait for it to complete.
|
|
247
|
-
* This is a convenience function for commands that don't require interaction.
|
|
248
|
-
*
|
|
249
|
-
* @param options Options for the PTY, with optional timeout
|
|
250
|
-
* @returns The output and exit code
|
|
251
|
-
*/
|
|
252
|
-
export async function runInPTY(options) {
|
|
253
|
-
const { timeoutMs = 30000, ...ptyOptions } = options;
|
|
254
|
-
const session = await createPTYSession(ptyOptions);
|
|
255
|
-
try {
|
|
256
|
-
const output = await session.waitForExit(timeoutMs);
|
|
257
|
-
return {
|
|
258
|
-
output,
|
|
259
|
-
exitCode: session.exitCode ?? 0,
|
|
260
|
-
};
|
|
261
|
-
}
|
|
262
|
-
finally {
|
|
263
|
-
session.close();
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
/**
|
|
267
|
-
* Escape special regex characters in a string.
|
|
268
|
-
*/
|
|
269
|
-
function escapeRegExp(string) {
|
|
270
|
-
return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
271
|
-
}
|
|
272
|
-
//# sourceMappingURL=pty.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pty.js","sourceRoot":"","sources":["../../src/executors/pty.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,OAAO,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA8BzC;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAGtB;IAFlB,YACE,OAAe,EACC,MAAc;QAE9B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,WAAM,GAAN,MAAM,CAAQ;QAG9B,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,QAAS,SAAQ,KAAK;IAGf;IAFlB,YACE,OAAe,EACC,MAAe;QAE/B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,WAAM,GAAN,MAAM,CAAS;QAG/B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,UAAU;IACb,MAAM,CAAC,UAAU,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO;IAC7C,OAAO,GAAW,EAAE,CAAC;IACrB,UAAU,GAAY,IAAI,CAAC;IAC3B,SAAS,CAAqB;IAC9B,YAAY,CAAkB;IAC9B,YAAY,CAA0B;IACtC,IAAI,CAAe;IACnB,eAAe,CAAsB;IACrC,eAAe,CAAsB;IAE7C,YAAY,GAAiB;QAC3B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAEhB,sBAAsB;QACtB,IAAI,CAAC,YAAY,GAAG,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;YAClD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,iCAAiC;QACjC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE;YACjD,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;YACrB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC;gBAChD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,cAAc;QACd,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;YACjD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC1B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAY;QAChB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,QAAQ,CAAC,sCAAsC,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAY,EAAE,IAAY;QAC/B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,QAAQ,CAAC,oCAAoC,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,OAAwB,EAAE,YAAoB,IAAI;QAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAExF,mCAAmC;QACnC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;QAED,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,aAAyC,CAAC;YAC9C,IAAI,aAAyC,CAAC;YAE9C,MAAM,OAAO,GAAG,GAAG,EAAE;gBACnB,IAAI,aAAa;oBAAE,aAAa,CAAC,aAAa,CAAC,CAAC;gBAChD,IAAI,aAAa;oBAAE,YAAY,CAAC,aAAa,CAAC,CAAC;YACjD,CAAC,CAAC;YAEF,MAAM,KAAK,GAAG,GAAG,EAAE;gBACjB,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC7B,OAAO,EAAE,CAAC;oBACV,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACtB,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;oBACrB,OAAO,EAAE,CAAC;oBACV,MAAM,CAAC,IAAI,QAAQ,CAAC,4CAA4C,OAAO,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC1F,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,OAAO,KAAK,CAAC;YACf,CAAC,CAAC;YAEF,gBAAgB;YAChB,IAAI,KAAK,EAAE;gBAAE,OAAO;YAEpB,iBAAiB;YACjB,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;gBAC/B,KAAK,EAAE,CAAC;YACV,CAAC,EAAE,EAAE,CAAC,CAAC;YAEP,iBAAiB;YACjB,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC9B,OAAO,EAAE,CAAC;gBACV,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBACvC,MAAM,CACJ,IAAI,eAAe,CACjB,YAAY,OAAO,4BAA4B,OAAO,EAAE,EACxD,IAAI,CAAC,OAAO,CACb,CACF,CAAC;YACJ,CAAC,EAAE,SAAS,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,YAAoB,KAAK;QACzC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;QAED,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,aAAyC,CAAC;YAE9C,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC9B,MAAM,CACJ,IAAI,eAAe,CAAC,YAAY,SAAS,iCAAiC,EAAE,IAAI,CAAC,OAAO,CAAC,CAC1F,CAAC;YACJ,CAAC,EAAE,SAAS,CAAC,CAAC;YAEd,IAAI,CAAC,YAAY;iBACd,IAAI,CAAC,GAAG,EAAE;gBACT,IAAI,aAAa;oBAAE,YAAY,CAAC,aAAa,CAAC,CAAC;gBAC/C,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC,CAAC;iBACD,KAAK,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,MAAe;QAClB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,8BAA8B;QAChC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK;QACH,mDAAmD;QACnD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrB,4DAA4D;YAC5D,+BAA+B;YAC/B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,kDAAkD;YAClD,wCAAwC;YACxC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;;AAGH;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAmB;IACxD,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,MAAM,WAAW,GAAG,EAAE,CAAC;IAEvB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE;QAC7D,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,WAAW;QACjC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,WAAW;QACjC,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;QACjC,GAAG,EAAE;YACH,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC;YAC3B,IAAI,EAAE,gBAAgB;SACvB;KACF,CAAC,CAAC;IAEH,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAA4C;IACzE,MAAM,EAAE,SAAS,GAAG,KAAK,EAAE,GAAG,UAAU,EAAE,GAAG,OAAO,CAAC;IACrD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAEnD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACpD,OAAO;YACL,MAAM;YACN,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,CAAC;SAChC,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,MAAc;IAClC,OAAO,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"restart.d.ts","sourceRoot":"","sources":["../../src/executors/restart.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAQ3D,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA+DD,wBAAsB,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAkD/F"}
|
|
@@ -1,120 +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
|
-
import { success, fail } from "./utils.js";
|
|
10
|
-
import { spawn } from "node:child_process";
|
|
11
|
-
import { existsSync, readdirSync, readFileSync } from "node:fs";
|
|
12
|
-
import { dirname, join, resolve } from "node:path";
|
|
13
|
-
import * as os from "node:os";
|
|
14
|
-
import { RESUME_ARION_ENV, RESUME_SESSION_ENV, writeRelaunchMarker } from "@aria-cli/types";
|
|
15
|
-
function findPnpmWorkspaceRoot(startDir) {
|
|
16
|
-
let dir = resolve(startDir);
|
|
17
|
-
while (true) {
|
|
18
|
-
if (existsSync(join(dir, "pnpm-workspace.yaml")))
|
|
19
|
-
return dir;
|
|
20
|
-
const parent = dirname(dir);
|
|
21
|
-
if (parent === dir)
|
|
22
|
-
return null;
|
|
23
|
-
dir = parent;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
function getPnpmCommand() {
|
|
27
|
-
return process.platform === "win32" ? "pnpm.cmd" : "pnpm";
|
|
28
|
-
}
|
|
29
|
-
async function rebuildWorkspaceIfPresent(startDir) {
|
|
30
|
-
const root = findPnpmWorkspaceRoot(startDir);
|
|
31
|
-
if (!root)
|
|
32
|
-
return { attempted: false };
|
|
33
|
-
const pnpm = getPnpmCommand();
|
|
34
|
-
await new Promise((resolvePromise, rejectPromise) => {
|
|
35
|
-
const child = spawn(pnpm, ["build"], {
|
|
36
|
-
cwd: root,
|
|
37
|
-
env: process.env,
|
|
38
|
-
stdio: "inherit",
|
|
39
|
-
});
|
|
40
|
-
child.on("error", rejectPromise);
|
|
41
|
-
child.on("close", (code) => {
|
|
42
|
-
if (code === 0)
|
|
43
|
-
resolvePromise();
|
|
44
|
-
else
|
|
45
|
-
rejectPromise(new Error(`pnpm build failed with exit code ${code ?? "unknown"}`));
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
return { attempted: true };
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Find the daemon PID for the current ARIA_HOME by scanning owner records.
|
|
52
|
-
* Owner records live at $RUNTIME_ROOT/owners/*.json where RUNTIME_ROOT is
|
|
53
|
-
* XDG_RUNTIME_DIR/aria or ~/.aria/run.
|
|
54
|
-
*/
|
|
55
|
-
function findDaemonPid() {
|
|
56
|
-
const ariaHome = process.env.ARIA_HOME?.trim() || join(os.homedir(), ".aria");
|
|
57
|
-
const runtimeDir = process.env.XDG_RUNTIME_DIR?.trim();
|
|
58
|
-
const runtimeRoot = runtimeDir ? join(runtimeDir, "aria") : join(ariaHome, "run");
|
|
59
|
-
const ownersDir = join(runtimeRoot, "owners");
|
|
60
|
-
if (!existsSync(ownersDir))
|
|
61
|
-
return null;
|
|
62
|
-
const canonicalHome = resolve(ariaHome);
|
|
63
|
-
for (const file of readdirSync(ownersDir).filter((f) => f.endsWith(".json"))) {
|
|
64
|
-
try {
|
|
65
|
-
const record = JSON.parse(readFileSync(join(ownersDir, file), "utf8"));
|
|
66
|
-
if (record.ariaHome && resolve(record.ariaHome) === canonicalHome) {
|
|
67
|
-
return typeof record.runtimePid === "number" ? record.runtimePid : null;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
catch {
|
|
71
|
-
// Skip malformed records
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
return null;
|
|
75
|
-
}
|
|
76
|
-
export async function executeRestart(input, ctx) {
|
|
77
|
-
if (ctx.abortSignal?.aborted)
|
|
78
|
-
return fail("Operation cancelled");
|
|
79
|
-
const reason = (input.reason ?? "").trim() || "Restart requested";
|
|
80
|
-
// Note: tool definition has requiresConfirmation: true, so the framework
|
|
81
|
-
// already prompts the user before execute() is called. No need to confirm again.
|
|
82
|
-
process.stderr.write(`[aria] Rebuilding workspace before restart...\n`);
|
|
83
|
-
try {
|
|
84
|
-
const rebuilt = await rebuildWorkspaceIfPresent(ctx.workingDir || process.cwd());
|
|
85
|
-
if (!rebuilt.attempted) {
|
|
86
|
-
process.stderr.write(`[aria] No pnpm workspace detected; skipping build\n`);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
catch (error) {
|
|
90
|
-
process.stderr.write(`[aria] Build failed; continuing restart: ${error.message}\n`);
|
|
91
|
-
}
|
|
92
|
-
process.stderr.write(`[aria] Restarting: ${reason}\n`);
|
|
93
|
-
const sessionId = process.env[RESUME_SESSION_ENV] ?? null;
|
|
94
|
-
const arionName = process.env[RESUME_ARION_ENV] || "ARIA";
|
|
95
|
-
// Write disk-backed marker so the replacement process can resume the session.
|
|
96
|
-
writeRelaunchMarker({
|
|
97
|
-
sessionId,
|
|
98
|
-
arionName,
|
|
99
|
-
pid: process.ppid || process.pid,
|
|
100
|
-
timestamp: new Date().toISOString(),
|
|
101
|
-
});
|
|
102
|
-
// Spawn replacement on exit, then SIGINT for graceful shutdown.
|
|
103
|
-
// Works for both TUI and daemon — no supervisor needed.
|
|
104
|
-
const targetPid = findDaemonPid() ?? process.pid;
|
|
105
|
-
process.once("exit", () => {
|
|
106
|
-
spawn(process.execPath, [...process.execArgv, ...process.argv.slice(1)], {
|
|
107
|
-
detached: true,
|
|
108
|
-
stdio: "ignore",
|
|
109
|
-
}).unref();
|
|
110
|
-
});
|
|
111
|
-
process.stderr.write(`[aria] Sending SIGINT to pid ${targetPid} for graceful restart\n`);
|
|
112
|
-
try {
|
|
113
|
-
process.kill(targetPid, "SIGINT");
|
|
114
|
-
}
|
|
115
|
-
catch {
|
|
116
|
-
process.kill(process.pid, "SIGINT");
|
|
117
|
-
}
|
|
118
|
-
return success("Restarting...");
|
|
119
|
-
}
|
|
120
|
-
//# sourceMappingURL=restart.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"restart.js","sourceRoot":"","sources":["../../src/executors/restart.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"search-freshness.d.ts","sourceRoot":"","sources":["../../src/executors/search-freshness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,MAAM,MAAM,uBAAuB,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEzD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,uBAAuB,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxD,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAsCD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,uBAAuB,EAClC,OAAO,CAAC,EAAE,MAAM,GACf,IAAI,CAkBN;AAMD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CA0C1D;AAuBD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CA8B1E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAGvD"}
|
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Freshness tracker for aria-search (code_search tool).
|
|
3
|
-
*
|
|
4
|
-
* Mirrors frg-freshness.ts patterns to close the freshness gaps:
|
|
5
|
-
* 1. Tracks file mutations from ARIA tool writes (session overlay)
|
|
6
|
-
* 2. Reconciles git-dirty files on each search
|
|
7
|
-
* 3. Generates session overlay for the napi search() call
|
|
8
|
-
*
|
|
9
|
-
* The session overlay gives 0ms visibility for pending mutations —
|
|
10
|
-
* files written by agents/users appear in search results immediately
|
|
11
|
-
* without waiting for an index rebuild or hot.log sync.
|
|
12
|
-
*/
|
|
13
|
-
import * as fsSync from "node:fs";
|
|
14
|
-
import * as nodePath from "node:path";
|
|
15
|
-
import { execFileSync } from "node:child_process";
|
|
16
|
-
const repoStates = new Map();
|
|
17
|
-
/** Minimum interval between git-dirty reconciliations (avoid hammering git). */
|
|
18
|
-
const GIT_RECONCILE_INTERVAL_MS = 2_000;
|
|
19
|
-
/** Max content size to cache in memory per file. */
|
|
20
|
-
const MAX_CACHED_CONTENT_BYTES = 256 * 1024;
|
|
21
|
-
function norm(p) {
|
|
22
|
-
return nodePath.resolve(p);
|
|
23
|
-
}
|
|
24
|
-
function getState(root) {
|
|
25
|
-
const key = norm(root);
|
|
26
|
-
let state = repoStates.get(key);
|
|
27
|
-
if (!state) {
|
|
28
|
-
state = { sequence: 0, pending: new Map(), lastGitReconcileMs: 0 };
|
|
29
|
-
repoStates.set(key, state);
|
|
30
|
-
}
|
|
31
|
-
return state;
|
|
32
|
-
}
|
|
33
|
-
// ---------------------------------------------------------------------------
|
|
34
|
-
// Public API — called from filesystem/patch executors
|
|
35
|
-
// ---------------------------------------------------------------------------
|
|
36
|
-
/**
|
|
37
|
-
* Record a file mutation from an ARIA tool write/edit/delete.
|
|
38
|
-
* Called alongside recordFrgMutation in filesystem.ts and apply-patch.ts.
|
|
39
|
-
*/
|
|
40
|
-
export function recordSearchMutation(filePath, operation, content) {
|
|
41
|
-
// Find the git repo root to scope mutations correctly
|
|
42
|
-
const repoRoot = findGitRepoRoot(filePath);
|
|
43
|
-
if (!repoRoot)
|
|
44
|
-
return;
|
|
45
|
-
const state = getState(repoRoot);
|
|
46
|
-
state.sequence += 1;
|
|
47
|
-
const normalizedPath = norm(filePath);
|
|
48
|
-
state.pending.set(normalizedPath, {
|
|
49
|
-
path: normalizedPath,
|
|
50
|
-
operation,
|
|
51
|
-
content: typeof content === "string" && Buffer.byteLength(content, "utf8") <= MAX_CACHED_CONTENT_BYTES
|
|
52
|
-
? content
|
|
53
|
-
: undefined,
|
|
54
|
-
sequence: state.sequence,
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
// ---------------------------------------------------------------------------
|
|
58
|
-
// Public API — called from search executor
|
|
59
|
-
// ---------------------------------------------------------------------------
|
|
60
|
-
/**
|
|
61
|
-
* Reconcile git-dirty files into the pending mutations map.
|
|
62
|
-
* Runs `git diff --name-status -z HEAD` and `git ls-files -o --exclude-standard -z`
|
|
63
|
-
* to detect files modified/created/deleted by external agents or the user.
|
|
64
|
-
*
|
|
65
|
-
* Throttled to at most once per GIT_RECONCILE_INTERVAL_MS to avoid
|
|
66
|
-
* hammering git on rapid sequential searches.
|
|
67
|
-
*/
|
|
68
|
-
export function reconcileSearchGitDirty(root) {
|
|
69
|
-
const state = getState(root);
|
|
70
|
-
const now = Date.now();
|
|
71
|
-
if (now - state.lastGitReconcileMs < GIT_RECONCILE_INTERVAL_MS) {
|
|
72
|
-
return; // Throttled — recent reconciliation is still fresh enough
|
|
73
|
-
}
|
|
74
|
-
state.lastGitReconcileMs = now;
|
|
75
|
-
const normalizedRoot = norm(root);
|
|
76
|
-
// Tracked modified/deleted files
|
|
77
|
-
const trackedOutput = runGit(normalizedRoot, ["diff", "--name-status", "-z", "HEAD", "--"]);
|
|
78
|
-
if (trackedOutput) {
|
|
79
|
-
const tokens = trackedOutput.split("\0").filter(Boolean);
|
|
80
|
-
for (let i = 0; i < tokens.length; i++) {
|
|
81
|
-
const status = tokens[i] ?? "";
|
|
82
|
-
if (status.startsWith("R")) {
|
|
83
|
-
// Rename: old path deleted, new path written
|
|
84
|
-
const oldPath = tokens[++i];
|
|
85
|
-
const newPath = tokens[++i];
|
|
86
|
-
if (oldPath)
|
|
87
|
-
addGitDirtyMutation(state, normalizedRoot, oldPath, "delete");
|
|
88
|
-
if (newPath)
|
|
89
|
-
addGitDirtyMutation(state, normalizedRoot, newPath, "write");
|
|
90
|
-
continue;
|
|
91
|
-
}
|
|
92
|
-
const filePath = tokens[++i];
|
|
93
|
-
if (!filePath)
|
|
94
|
-
continue;
|
|
95
|
-
addGitDirtyMutation(state, normalizedRoot, filePath, status.startsWith("D") ? "delete" : "write");
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
// Untracked new files
|
|
99
|
-
const untrackedOutput = runGit(normalizedRoot, ["ls-files", "-o", "--exclude-standard", "-z"]);
|
|
100
|
-
if (untrackedOutput) {
|
|
101
|
-
for (const token of untrackedOutput.split("\0").filter(Boolean)) {
|
|
102
|
-
addGitDirtyMutation(state, normalizedRoot, token, "write");
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
function addGitDirtyMutation(state, root, relativePath, operation) {
|
|
107
|
-
const absPath = norm(nodePath.join(root, relativePath));
|
|
108
|
-
const existing = state.pending.get(absPath);
|
|
109
|
-
// Don't overwrite ARIA-sourced mutations (which have cached content)
|
|
110
|
-
if (existing?.content)
|
|
111
|
-
return;
|
|
112
|
-
if (existing?.operation === operation)
|
|
113
|
-
return;
|
|
114
|
-
state.sequence += 1;
|
|
115
|
-
state.pending.set(absPath, {
|
|
116
|
-
path: absPath,
|
|
117
|
-
operation,
|
|
118
|
-
content: undefined, // Will be read from disk in getSearchSessionOverlay
|
|
119
|
-
sequence: state.sequence,
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Generate the session overlay for the napi search() call.
|
|
124
|
-
* Reads content from disk for mutations without cached content.
|
|
125
|
-
*/
|
|
126
|
-
export function getSearchSessionOverlay(root) {
|
|
127
|
-
const state = getState(root);
|
|
128
|
-
const sessionWrites = [];
|
|
129
|
-
const sessionDeletes = [];
|
|
130
|
-
for (const mutation of state.pending.values()) {
|
|
131
|
-
if (mutation.operation === "delete") {
|
|
132
|
-
sessionDeletes.push(mutation.path);
|
|
133
|
-
continue;
|
|
134
|
-
}
|
|
135
|
-
let content = mutation.content;
|
|
136
|
-
if (typeof content !== "string") {
|
|
137
|
-
// Read from disk — closes the gap where git-dirty files have no cached content
|
|
138
|
-
try {
|
|
139
|
-
const buf = fsSync.readFileSync(mutation.path);
|
|
140
|
-
if (!buf.subarray(0, Math.min(buf.length, 8192)).includes(0)) {
|
|
141
|
-
content = buf.toString("utf8");
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
catch {
|
|
145
|
-
continue; // Unreadable — skip
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
if (typeof content === "string") {
|
|
149
|
-
sessionWrites.push({ path: mutation.path, content });
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
return { sessionWrites, sessionDeletes };
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* Clear all pending mutations for a repo root.
|
|
156
|
-
* Called after a full index rebuild (all mutations are now in the base index).
|
|
157
|
-
*/
|
|
158
|
-
export function clearSearchMutations(root) {
|
|
159
|
-
const key = norm(root);
|
|
160
|
-
repoStates.delete(key);
|
|
161
|
-
}
|
|
162
|
-
// ---------------------------------------------------------------------------
|
|
163
|
-
// Helpers
|
|
164
|
-
// ---------------------------------------------------------------------------
|
|
165
|
-
function findGitRepoRoot(startPath) {
|
|
166
|
-
let current = norm(startPath);
|
|
167
|
-
try {
|
|
168
|
-
if (!fsSync.statSync(current).isDirectory()) {
|
|
169
|
-
current = nodePath.dirname(current);
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
catch {
|
|
173
|
-
current = nodePath.dirname(current);
|
|
174
|
-
}
|
|
175
|
-
while (true) {
|
|
176
|
-
if (fsSync.existsSync(nodePath.join(current, ".git")))
|
|
177
|
-
return current;
|
|
178
|
-
const parent = nodePath.dirname(current);
|
|
179
|
-
if (parent === current)
|
|
180
|
-
return null;
|
|
181
|
-
current = parent;
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
function runGit(cwd, args) {
|
|
185
|
-
try {
|
|
186
|
-
return execFileSync("git", args, {
|
|
187
|
-
cwd,
|
|
188
|
-
encoding: "utf8",
|
|
189
|
-
stdio: ["ignore", "pipe", "ignore"],
|
|
190
|
-
}).trim();
|
|
191
|
-
}
|
|
192
|
-
catch {
|
|
193
|
-
return null;
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
//# sourceMappingURL=search-freshness.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"search-freshness.js","sourceRoot":"","sources":["../../src/executors/search-freshness.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"search-types.d.ts","sourceRoot":"","sources":["../../src/executors/search-types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,oEAAoE;AACpE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EACF,SAAS,GACT,OAAO,GACP,WAAW,GACX,SAAS,GACT,WAAW,GACX,SAAS,GACT,KAAK,GACL,MAAM,GACN,KAAK,CAAC;IACV,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC9D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACvE;AAED,gEAAgE;AAChE,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,yCAAyC;AACzC,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,KAAK,CAAC,CAAC;IACpF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAMD,2DAA2D;AAC3D,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,CAUlE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,EAAE,CAsBzF"}
|