farming-code 2.2.29 → 2.2.32
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/README.md +25 -66
- package/README.zh_cn.md +15 -66
- package/THIRD_PARTY_NOTICES.md +7 -0
- package/backend/acp/{client-services.js → client-services.cjs} +132 -134
- package/backend/acp/packaged-claude-acp.cjs +37 -0
- package/backend/acp/packaged-codex-acp.cjs +37 -0
- package/backend/acp/patch-decisions.cjs +182 -0
- package/backend/acp/permission-security.cjs +131 -0
- package/backend/{acp-checkpoint-store.js → acp-checkpoint-store.cjs} +90 -59
- package/backend/{acp-runtime.js → acp-runtime.cjs} +1219 -1125
- package/backend/acp-session-state.cjs +622 -0
- package/backend/acp-transcript.cjs +525 -0
- package/backend/agent-env.cjs +257 -0
- package/backend/agent-extension-discovery.cjs +452 -0
- package/backend/agent-extension-inventory.cjs +116 -0
- package/backend/agent-json-stream.cjs +283 -0
- package/backend/agent-lifecycle-journal.cjs +185 -0
- package/backend/{agent-manager.js → agent-manager.cjs} +3116 -4275
- package/backend/agent-order-transaction.cjs +85 -0
- package/backend/agent-order.cjs +159 -0
- package/backend/agent-provider-session.cjs +98 -0
- package/backend/agent-runtime-binding.cjs +179 -0
- package/backend/agent-session-history.cjs +1022 -0
- package/backend/agent-session-inventory.cjs +291 -0
- package/backend/async-cache.cjs +104 -0
- package/backend/atomic-json-store.cjs +67 -0
- package/backend/auth.cjs +261 -0
- package/backend/authoritative-inventory-cache.cjs +383 -0
- package/backend/business-health.cjs +68 -0
- package/backend/chat-runtime.cjs +50 -0
- package/backend/claude-settings.cjs +132 -0
- package/backend/cli-agents.cjs +435 -0
- package/backend/codex-context-window.cjs +196 -0
- package/backend/codex-models.cjs +228 -0
- package/backend/codex-session-archive.cjs +82 -0
- package/backend/codex-session-history.cjs +590 -0
- package/backend/{codex-terminal-profile.js → codex-terminal-profile.cjs} +149 -155
- package/backend/codex-transcript-sanitizer.cjs +130 -0
- package/backend/codex-transcript.cjs +2107 -0
- package/backend/command-runner-child.cjs +105 -0
- package/backend/config-manager.cjs +1263 -0
- package/backend/control-api.cjs +439 -0
- package/backend/data/LICENSE.cua +21 -0
- package/backend/executable-discovery.cjs +204 -0
- package/backend/farming-agent-bootstrap.cjs +81 -0
- package/backend/farming-agent-bootstrap.zh_cn.md +6 -2
- package/backend/{farming-app-cli.js → farming-app-cli.cjs} +441 -493
- package/backend/farming-cli.cjs +414 -0
- package/backend/farming-net-pass.cjs +319 -0
- package/backend/farming-net-registry.cjs +123 -0
- package/backend/farming-net-server.cjs +309 -0
- package/backend/farming-session-store.cjs +651 -0
- package/backend/git-worktree-info.cjs +181 -0
- package/backend/haiku-token.cjs +828 -0
- package/backend/index-html.cjs +96 -0
- package/backend/input-parts.cjs +68 -0
- package/backend/input-routing.cjs +40 -0
- package/backend/{local-session-engine.js → local-session-engine.cjs} +276 -282
- package/backend/main-agent-skills.cjs +309 -0
- package/backend/main-page-session.cjs +132 -0
- package/backend/native-pty-controller-generation.cjs +139 -0
- package/backend/{native-pty-host-client.js → native-pty-host-client.cjs} +338 -346
- package/backend/native-pty-host-identity.cjs +125 -0
- package/backend/native-pty-host-path.cjs +68 -0
- package/backend/{native-pty-host.js → native-pty-host.cjs} +480 -569
- package/backend/native-session-engine.cjs +296 -0
- package/backend/network.cjs +57 -0
- package/backend/npm-update-helper.cjs +399 -0
- package/backend/packaged-node-pty.cjs +120 -0
- package/backend/preview-session-manager.cjs +89 -0
- package/backend/provider-adapters.cjs +492 -0
- package/backend/provider-home-configuration.cjs +211 -0
- package/backend/provider-session-id.cjs +79 -0
- package/backend/provider-session-service.cjs +333 -0
- package/backend/qr-share-tickets.cjs +119 -0
- package/backend/resource-broadcast-protocol.cjs +50 -0
- package/backend/review-diff-router.cjs +202 -0
- package/backend/review-diff-service.cjs +1267 -0
- package/backend/review-session-router.cjs +93 -0
- package/backend/review-session-service.cjs +470 -0
- package/backend/review-session-store.cjs +161 -0
- package/backend/review-state-router.cjs +132 -0
- package/backend/review-state-store.cjs +299 -0
- package/backend/run-history-store.cjs +97 -0
- package/backend/runtime-dependency-manager.cjs +893 -0
- package/backend/runtime-executable-invocation.cjs +37 -0
- package/backend/runtime-observation.cjs +96 -0
- package/backend/server-process-identity.cjs +70 -0
- package/backend/server.cjs +3356 -0
- package/backend/session-engine-bridge.cjs +144 -0
- package/backend/session-engine-router.cjs +105 -0
- package/backend/session-engine.cjs +64 -0
- package/backend/session-stream-protocol.cjs +181 -0
- package/backend/shell-busy-integration.cjs +442 -0
- package/backend/slash-command-discovery.cjs +423 -0
- package/backend/storage-layout.cjs +263 -0
- package/backend/system-monitor.cjs +96 -0
- package/backend/terminal-attach-checkpoint.cjs +73 -0
- package/backend/terminal-exit-quiescence.cjs +57 -0
- package/backend/{terminal-reducer-flow-control.js → terminal-reducer-flow-control.cjs} +45 -22
- package/backend/terminal-runtime-cleanup.cjs +99 -0
- package/backend/{terminal-screen-state.js → terminal-screen-state.cjs} +100 -108
- package/backend/{terminal-screen-worker-pool.js → terminal-screen-worker-pool.cjs} +89 -79
- package/backend/{terminal-screen-worker-thread.js → terminal-screen-worker-thread.cjs} +64 -65
- package/backend/terminal-screen-worker.cjs +352 -0
- package/backend/terminal-state-serialization.cjs +147 -0
- package/backend/{terminal-status.js → terminal-status.cjs} +137 -187
- package/backend/theme-manager.cjs +185 -0
- package/backend/update-service.cjs +675 -0
- package/backend/usage-forecast.cjs +95 -0
- package/backend/{usage-history-client.js → usage-history-client.cjs} +144 -94
- package/backend/usage-history-smoke.cjs +85 -0
- package/backend/usage-history-worker.cjs +60 -0
- package/backend/{usage-monitor.js → usage-monitor.cjs} +363 -390
- package/backend/workspace-directory.cjs +239 -0
- package/backend/workspace-discovery.cjs +271 -0
- package/backend/{workspace-file-router.js → workspace-file-router.cjs} +213 -282
- package/backend/{workspace-file-service.js → workspace-file-service.cjs} +1139 -1318
- package/backend/workspace-root-registry.cjs +192 -0
- package/bin/farming +1 -1
- package/config/farming.deploy.env.example +1 -1
- package/config/farming.install.env.example +1 -1
- package/dist/acp/codex-acp-1.1.4.mjs +405 -8
- package/dist/assets/App-BCkdpWB6.css +1 -0
- package/dist/assets/App-CRjKpaGp.js +697 -0
- package/dist/assets/CodeSelect-Ci8sKZPU.js +1 -0
- package/dist/assets/CodeSelect-T2eNzrOc.css +1 -0
- package/dist/assets/{FileEditorMarkdownPreview-Cs9cLv8a.js → FileEditorMarkdownPreview-V06QHlAg.js} +55 -55
- package/dist/assets/FileEditorPane-BX-Wjg9U.js +2 -0
- package/dist/assets/IconGlyphs-YhV7tqd4.js +1 -0
- package/dist/assets/ProjectFilesSection-BDT2_r0o.js +12 -0
- package/dist/assets/ReviewPage-BqAs5sG1.js +3 -0
- package/dist/assets/code-dark-B7eM_9G9.css +1 -0
- package/dist/assets/{cssMode-Bdg5RpcJ.js → cssMode-ADdAlxTO.js} +1 -1
- package/dist/assets/{editor.api2-D74ufkbr.js → editor.api2-BFLAr0YF.js} +162 -162
- package/dist/assets/file-icons-BpeqWkIB.js +1 -0
- package/dist/assets/{freemarker2-DfMDJfnE.js → freemarker2-C90q5jrp.js} +1 -1
- package/dist/assets/{handlebars-BEdPtzMT.js → handlebars-BwUQcEDq.js} +1 -1
- package/dist/assets/{html-B1fPb1QD.js → html-1s3uPKfh.js} +1 -1
- package/dist/assets/{htmlMode-CY2ZjHxH.js → htmlMode-xtKD99de.js} +1 -1
- package/dist/assets/{index-CQNaZc3l.js → index-C8MchCem.js} +3 -3
- package/dist/assets/{javascript-BV2OsWA0.js → javascript-Ph7ijyny.js} +1 -1
- package/dist/assets/{jsonMode-zd07aeuX.js → jsonMode-D-jGAnFH.js} +1 -1
- package/dist/assets/linkComputer-CbGyI_qx.js +1 -0
- package/dist/assets/{liquid-BParI24X.js → liquid-0IamE_cI.js} +1 -1
- package/dist/assets/{lspLanguageFeatures-BzredkoV.js → lspLanguageFeatures-BxnQunWF.js} +1 -1
- package/dist/assets/main-CLKXa6hf.css +1 -0
- package/dist/assets/{mdx-vGzUJN98.js → mdx-DdNmfivn.js} +1 -1
- package/dist/assets/{monaco.contribution-BmaeBQEc.js → monaco.contribution-B43jsUs1.js} +2 -2
- package/dist/assets/{python-CUwdLgsI.js → python-IAt4X5TS.js} +1 -1
- package/dist/assets/{razor-BScebUxU.js → razor-DRkFYW0S.js} +1 -1
- package/dist/assets/review-C8-oPKXk.css +1 -0
- package/dist/assets/{tsMode-DzUAibXK.js → tsMode-_d_4U2gf.js} +1 -1
- package/dist/assets/{typescript-D9EOeM7N.js → typescript-C7zcMq9l.js} +1 -1
- package/dist/assets/{workers-DAiomYZM.js → workers-D0nOyJzf.js} +1 -1
- package/dist/assets/workspace-editor-model-DND_Y-Bj.js +1 -0
- package/dist/assets/workspace-editor-monaco-BPWhgcIB.js +4 -0
- package/dist/assets/workspace-editor-monaco-N641qPjX.js +1 -0
- package/dist/assets/workspace-view-state-k1bTlJ_Z.js +13 -0
- package/dist/assets/{xml-wWl1dhkQ.js → xml-BR-HvxT8.js} +1 -1
- package/dist/assets/{yaml-Dc2WDaOZ.js → yaml-YtFQwh4q.js} +1 -1
- package/dist/index.html +2 -1
- package/extensions/browser/backend/agent-browser-runtime.cjs +1040 -0
- package/extensions/browser/backend/agent-capability.cjs +85 -0
- package/extensions/browser/backend/browser-mcp-server.cjs +655 -0
- package/extensions/browser/backend/browser-resource-manager.cjs +1486 -0
- package/extensions/browser/backend/browser-resource-store.cjs +228 -0
- package/extensions/browser/backend/browser-router.cjs +203 -0
- package/extensions/browser/backend/executable-discovery.cjs +248 -0
- package/extensions/browser/backend/farming-browser-client.cjs +116 -0
- package/extensions/browser/backend/index.cjs +32 -0
- package/extensions/browser/backend/managed-chromium-installer.cjs +833 -0
- package/extensions/browser/bin/farming-browser +16 -7
- package/extensions/computer/backend/agent-capability.cjs +72 -0
- package/extensions/computer/backend/computer-constants.cjs +59 -0
- package/extensions/computer/backend/computer-mcp-server.cjs +182 -0
- package/extensions/computer/backend/computer-resource-manager.cjs +1219 -0
- package/extensions/computer/backend/computer-resource-store.cjs +190 -0
- package/extensions/computer/backend/computer-router.cjs +257 -0
- package/extensions/computer/backend/cua-tools.json +3067 -0
- package/extensions/computer/backend/farming-computer-client.cjs +84 -0
- package/extensions/computer/backend/index.cjs +35 -0
- package/extensions/computer/backend/isolated-browser-provider.cjs +157 -0
- package/extensions/computer/bin/farming-computer +131 -0
- package/frontend/farming-net/app.js +255 -262
- package/frontend/ghostty-loader.js +24 -20
- package/frontend/reading-anchor.js +210 -193
- package/frontend/runtime-paths.js +24 -26
- package/frontend/session-bridge.js +90 -111
- package/frontend/session-modal-bridge.js +184 -302
- package/frontend/skin-bridge.js +20 -23
- package/frontend/skins/crt/app.js +7686 -7901
- package/frontend/skins/crt/effects.js +7 -6
- package/frontend/skins/crt/index.html +6 -6
- package/frontend/skins/crt/styles/markdown.css +4 -4
- package/frontend/terminal-bridge.js +174 -181
- package/frontend/terminal-replay.js +320 -345
- package/frontend/theme-loader.js +55 -71
- package/index.html +1 -0
- package/package.json +64 -37
- package/shared/backend-connection-status.js +38 -69
- package/shared/browser-protocol.js +235 -110
- package/shared/websocket-liveness.js +40 -0
- package/backend/acp/packaged-claude-acp.js +0 -13
- package/backend/acp/packaged-codex-acp.js +0 -13
- package/backend/acp/patch-decisions.js +0 -153
- package/backend/acp/permission-security.js +0 -108
- package/backend/acp-session-state.js +0 -644
- package/backend/acp-transcript.js +0 -512
- package/backend/agent-env.js +0 -250
- package/backend/agent-json-stream.js +0 -268
- package/backend/agent-lifecycle-journal.js +0 -133
- package/backend/agent-memory-report.js +0 -583
- package/backend/agent-order.js +0 -166
- package/backend/agent-provider-session.js +0 -76
- package/backend/agent-runtime-binding.js +0 -174
- package/backend/agent-session-history.js +0 -953
- package/backend/async-cache.js +0 -94
- package/backend/atomic-json-store.js +0 -37
- package/backend/auth.js +0 -251
- package/backend/bundle-update-helper.js +0 -113
- package/backend/chat-runtime.js +0 -28
- package/backend/claude-settings.js +0 -121
- package/backend/cli-agents.js +0 -486
- package/backend/codex-context-window.js +0 -189
- package/backend/codex-models.js +0 -226
- package/backend/codex-rollout-follower.js +0 -326
- package/backend/codex-session-archive.js +0 -65
- package/backend/codex-session-history.js +0 -647
- package/backend/codex-transcript-sanitizer.js +0 -115
- package/backend/codex-transcript.js +0 -2564
- package/backend/command-runner-child.js +0 -67
- package/backend/config-manager.js +0 -1133
- package/backend/control-api.js +0 -455
- package/backend/executable-discovery.js +0 -216
- package/backend/farming-agent-bootstrap.js +0 -49
- package/backend/farming-cli.js +0 -457
- package/backend/farming-net-pass.js +0 -285
- package/backend/farming-net-registry.js +0 -112
- package/backend/farming-net-server.js +0 -298
- package/backend/farming-session-store.js +0 -677
- package/backend/git-worktree-info.js +0 -181
- package/backend/haiku-token.js +0 -772
- package/backend/index-html.js +0 -62
- package/backend/input-parts.js +0 -54
- package/backend/input-routing.js +0 -24
- package/backend/json-cli-runtime.js +0 -275
- package/backend/main-agent-skills.js +0 -305
- package/backend/main-page-session.js +0 -122
- package/backend/native-pty-controller-generation.js +0 -106
- package/backend/native-pty-host-identity.js +0 -86
- package/backend/native-pty-host-path.js +0 -42
- package/backend/native-session-engine.js +0 -268
- package/backend/network.js +0 -23
- package/backend/npm-update-helper.js +0 -374
- package/backend/packaged-node-pty.js +0 -99
- package/backend/preview-session-manager.js +0 -68
- package/backend/provider-adapters.js +0 -399
- package/backend/provider-session-id.js +0 -47
- package/backend/provider-session-service.js +0 -345
- package/backend/qr-share-tickets.js +0 -100
- package/backend/review-diff-router.js +0 -180
- package/backend/review-diff-service.js +0 -1270
- package/backend/review-session-router.js +0 -74
- package/backend/review-session-service.js +0 -446
- package/backend/review-session-store.js +0 -151
- package/backend/review-state-router.js +0 -116
- package/backend/review-state-store.js +0 -286
- package/backend/run-history-store.js +0 -67
- package/backend/runtime-dependency-manager.js +0 -759
- package/backend/runtime-executable-invocation.js +0 -20
- package/backend/runtime-observation.js +0 -81
- package/backend/server-process-identity.js +0 -47
- package/backend/server.js +0 -3267
- package/backend/session-engine-bridge.js +0 -129
- package/backend/session-engine-router.js +0 -66
- package/backend/session-engine.js +0 -39
- package/backend/session-stream-protocol.js +0 -185
- package/backend/shell-busy-integration.js +0 -472
- package/backend/slash-command-discovery.js +0 -433
- package/backend/storage-layout.js +0 -190
- package/backend/system-monitor.js +0 -77
- package/backend/terminal-attach-checkpoint.js +0 -74
- package/backend/terminal-exit-quiescence.js +0 -39
- package/backend/terminal-runtime-cleanup.js +0 -80
- package/backend/terminal-screen-worker.js +0 -337
- package/backend/terminal-state-serialization.js +0 -127
- package/backend/theme-manager.js +0 -163
- package/backend/update-service.js +0 -1545
- package/backend/usage-forecast.js +0 -86
- package/backend/usage-history-scanner.ts +0 -2718
- package/backend/usage-history-smoke.js +0 -64
- package/backend/usage-history-worker.js +0 -34
- package/backend/workspace-directory.js +0 -232
- package/backend/workspace-discovery.js +0 -311
- package/backend/workspace-root-registry.js +0 -166
- package/dist/assets/App-BKNUILuL.css +0 -1
- package/dist/assets/App-Ex2oVVXO.js +0 -693
- package/dist/assets/FileEditorPane-CNtuGjQ3.js +0 -2
- package/dist/assets/IconGlyphs-BClgag6E.js +0 -1
- package/dist/assets/ProjectFilesSection-Cf2BEcAN.js +0 -12
- package/dist/assets/ReviewPage-BRuxFaH5.js +0 -3
- package/dist/assets/code-dark-BEZTQwYZ.css +0 -1
- package/dist/assets/file-icons-BOlcJ0ZF.js +0 -1
- package/dist/assets/main-DK9Sy7-c.css +0 -1
- package/dist/assets/review-BcnwQtJv.css +0 -1
- package/dist/assets/workspace-editor-model-CSGCl21x.js +0 -1
- package/dist/assets/workspace-editor-monaco-CJNwbpCy.js +0 -4
- package/dist/assets/workspace-editor-monaco-CO9w8YV0.js +0 -1
- package/dist/assets/workspace-view-state-BjKPYp0E.js +0 -7
- package/extensions/browser/backend/agent-browser-runtime.js +0 -1041
- package/extensions/browser/backend/agent-capability.js +0 -55
- package/extensions/browser/backend/browser-mcp-server.js +0 -621
- package/extensions/browser/backend/browser-resource-manager.js +0 -1309
- package/extensions/browser/backend/browser-resource-store.js +0 -190
- package/extensions/browser/backend/browser-router.js +0 -133
- package/extensions/browser/backend/executable-discovery.js +0 -224
- package/extensions/browser/backend/farming-browser-client.js +0 -83
- package/extensions/browser/backend/index.js +0 -7
- package/extensions/browser/frontend/BrowserSidebarPortals.tsx +0 -360
- package/extensions/browser/frontend/BrowserViewer.tsx +0 -500
- package/extensions/browser/frontend/browser-resource-state.ts +0 -60
- package/extensions/browser/frontend/browser.css +0 -567
- package/extensions/browser/frontend/types.ts +0 -31
- package/extensions/browser/frontend/useBrowserResources.ts +0 -158
- package/frontend/vendor/ghostty-web/index.d.ts +0 -1842
- package/shared/backend-connection-status.d.ts +0 -37
- package/shared/browser-protocol.d.ts +0 -5
- /package/dist/assets/{api-w2x5QfxB.js → api-ByCV9MEr.js} +0 -0
- /package/dist/assets/{core-vPkV8P_m.js → core-Czwdx12k.js} +0 -0
- /package/dist/assets/{fsharp-DNZNZyEE.js → fsharp-BjPpkoJe.js} +0 -0
- /package/dist/assets/{go-_kPJjNc_.js → go-BkIDmSUP.js} +0 -0
- /package/dist/assets/{graphql-4HCNVt5g.js → graphql-CCJTpqi1.js} +0 -0
- /package/dist/assets/{hcl-C87ymY0o.js → hcl-s4z8lUFg.js} +0 -0
- /package/dist/assets/{ini-BYrrGNTc.js → ini-CyUW1I7Z.js} +0 -0
- /package/dist/assets/{java-B211rJbk.js → java-CFCcGRiM.js} +0 -0
- /package/dist/assets/{julia-DVPsRtBm.js → julia-DQyH_EYb.js} +0 -0
- /package/dist/assets/{kotlin-BYyNerjp.js → kotlin-B8hA5O51.js} +0 -0
- /package/dist/assets/{less-EC9UblGE.js → less-DaVdaas0.js} +0 -0
- /package/dist/assets/{lexon-B1yuUdqW.js → lexon-DLBhPd3y.js} +0 -0
- /package/dist/assets/{lua-Bo6GFzxT.js → lua-gB1c_cif.js} +0 -0
- /package/dist/assets/{m3-C-Y9cBVI.js → m3-C2T3z3gB.js} +0 -0
- /package/dist/assets/{markdown-BHu-wLbe.js → markdown-CKq-Euj1.js} +0 -0
- /package/dist/assets/{mips-Dkds26rX.js → mips-Bcs5qIDX.js} +0 -0
- /package/dist/assets/{msdax-PU4g-8_g.js → msdax-CBP48FHF.js} +0 -0
- /package/dist/assets/{mysql-fPpuGpS7.js → mysql-c7tiPcFj.js} +0 -0
- /package/dist/assets/{objective-c-Wy1e5JUf.js → objective-c-D4BZkeEV.js} +0 -0
- /package/dist/assets/{pascal-BIXwvrqU.js → pascal-CJDZg0MN.js} +0 -0
- /package/dist/assets/{pascaligo-DwR0AtL_.js → pascaligo-Bygi8Ynl.js} +0 -0
- /package/dist/assets/{perl-CGHAl8my.js → perl-aS8bkf7E.js} +0 -0
- /package/dist/assets/{pgsql-B91M73E2.js → pgsql-CzNAYFYl.js} +0 -0
- /package/dist/assets/{php-C70ttrCx.js → php-DOtoEFTT.js} +0 -0
- /package/dist/assets/{pla-BNrXaRh0.js → pla-DugRnao1.js} +0 -0
- /package/dist/assets/{postiats-Dv2IAZR9.js → postiats-DsXwusKh.js} +0 -0
- /package/dist/assets/{powerquery-CkY5Wq7J.js → powerquery-DL3o72oD.js} +0 -0
- /package/dist/assets/{powershell-uGIYLU3C.js → powershell-C1qHekys.js} +0 -0
- /package/dist/assets/{protobuf-CavfmJu-.js → protobuf-DHgsc-cH.js} +0 -0
- /package/dist/assets/{pug-Drqnyitx.js → pug-FZXlE_Iu.js} +0 -0
- /package/dist/assets/{qrcode-7uGsTEmi.js → qrcode-DJDTdjL7.js} +0 -0
- /package/dist/assets/{qsharp-C7yF-Dti.js → qsharp-bLyhI3DT.js} +0 -0
- /package/dist/assets/{r-HXLGP0_-.js → r-DjFGXbAa.js} +0 -0
- /package/dist/assets/{redis-C4y6mf2p.js → redis-DSoZ_V6u.js} +0 -0
- /package/dist/assets/{redshift-DdQrFPrv.js → redshift-CzkdCsrg.js} +0 -0
- /package/dist/assets/{restructuredtext-CBrf2PNj.js → restructuredtext-B_XPrGCQ.js} +0 -0
- /package/dist/assets/{ruby-CVtMoX2B.js → ruby-Cry2RneJ.js} +0 -0
- /package/dist/assets/{rust-Ckq4sbMP.js → rust-CWzdbFq1.js} +0 -0
- /package/dist/assets/{sb-er66OpE3.js → sb-DmofU59h.js} +0 -0
- /package/dist/assets/{scala-BdWZz-hH.js → scala-BUC2l-vN.js} +0 -0
- /package/dist/assets/{scheme-kTV_s2kP.js → scheme-CNIB_72f.js} +0 -0
- /package/dist/assets/{scss-Bymy2VJQ.js → scss-DcL4-NbX.js} +0 -0
- /package/dist/assets/{shell-bwEP1LQ1.js → shell-CgAGvSSA.js} +0 -0
- /package/dist/assets/{solidity-DCddeBgL.js → solidity-DSkt6O_P.js} +0 -0
- /package/dist/assets/{sophia-BMN3AQig.js → sophia--5ytcjDN.js} +0 -0
- /package/dist/assets/{sparql-CSXOLjzi.js → sparql-C1Srr7cD.js} +0 -0
- /package/dist/assets/{sql-COg8ewmK.js → sql-2k_O5fj7.js} +0 -0
- /package/dist/assets/{st-CIaZtBS_.js → st-DCCCPqfz.js} +0 -0
- /package/dist/assets/{swift-DXiOhUHu.js → swift-Dd8mAfOt.js} +0 -0
- /package/dist/assets/{systemverilog-BTDE6Dr2.js → systemverilog-B0-aZYXu.js} +0 -0
- /package/dist/assets/{tcl-B0zy9NvV.js → tcl-CZAZwPVX.js} +0 -0
- /package/dist/assets/{twig-D594l4Z1.js → twig-D-Ag0tdS.js} +0 -0
- /package/dist/assets/{typespec-XKVjaPqo.js → typespec-B7kTFp0Z.js} +0 -0
- /package/dist/assets/{useWorkspaceMenuKeyboard-Bpy_s69Z.js → useWorkspaceMenuKeyboard-uYZpDxhU.js} +0 -0
- /package/dist/assets/{vb-B2wYoKRV.js → vb-20w1JPum.js} +0 -0
- /package/dist/assets/{wgsl-D0Yf2LbK.js → wgsl-CLJfqFt0.js} +0 -0
- /package/dist/assets/{workspace-working-copy-C3FSR3N6.js → workspace-working-copy-Cfz07cOd.js} +0 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
// Generated by scripts/build-backend-runtime.ts. Do not edit.
|
|
2
|
+
"use strict";
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
var system_monitor_exports = {};
|
|
21
|
+
__export(system_monitor_exports, {
|
|
22
|
+
DISK_STATS_TTL_MS: () => DISK_STATS_TTL_MS,
|
|
23
|
+
SystemMonitor: () => SystemMonitor
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(system_monitor_exports);
|
|
26
|
+
const os = require("os");
|
|
27
|
+
const path = require("path");
|
|
28
|
+
const fsp = require("fs/promises");
|
|
29
|
+
const DISK_STATS_TTL_MS = 3e4;
|
|
30
|
+
class SystemMonitor {
|
|
31
|
+
diskStatsTtlMs;
|
|
32
|
+
now;
|
|
33
|
+
diskStatsCache;
|
|
34
|
+
constructor(options = {}) {
|
|
35
|
+
this.diskStatsTtlMs = typeof options.diskStatsTtlMs === "number" && Number.isFinite(options.diskStatsTtlMs) ? options.diskStatsTtlMs : DISK_STATS_TTL_MS;
|
|
36
|
+
this.now = typeof options.now === "function" ? options.now : () => Date.now();
|
|
37
|
+
this.diskStatsCache = {
|
|
38
|
+
sampledAt: 0,
|
|
39
|
+
value: null
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
async getSystemStats() {
|
|
43
|
+
const stats = this.getBasicStats();
|
|
44
|
+
stats.disk = await this.getCachedDiskStats().catch(() => this.diskStatsCache.value || null);
|
|
45
|
+
return stats;
|
|
46
|
+
}
|
|
47
|
+
getBasicStats() {
|
|
48
|
+
const totalMem = os.totalmem();
|
|
49
|
+
const freeMem = os.freemem();
|
|
50
|
+
const usedMem = totalMem - freeMem;
|
|
51
|
+
const cpuCount = Math.max(1, os.cpus().length);
|
|
52
|
+
const oneMinuteLoad = os.loadavg()[0] || 0;
|
|
53
|
+
return {
|
|
54
|
+
cpu: Math.max(0, Math.min(100, Math.round(oneMinuteLoad / cpuCount * 100))),
|
|
55
|
+
memory: {
|
|
56
|
+
used: Math.round(usedMem / 1024 / 1024),
|
|
57
|
+
total: Math.round(totalMem / 1024 / 1024),
|
|
58
|
+
percentage: Math.round(usedMem / totalMem * 100)
|
|
59
|
+
},
|
|
60
|
+
disk: null,
|
|
61
|
+
network: null,
|
|
62
|
+
timestamp: Date.now()
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
async getCachedDiskStats() {
|
|
66
|
+
const now = this.now();
|
|
67
|
+
if (this.diskStatsCache.value && now - this.diskStatsCache.sampledAt < this.diskStatsTtlMs) {
|
|
68
|
+
return this.diskStatsCache.value;
|
|
69
|
+
}
|
|
70
|
+
const value = await this.getDiskStats();
|
|
71
|
+
this.diskStatsCache = {
|
|
72
|
+
sampledAt: now,
|
|
73
|
+
value
|
|
74
|
+
};
|
|
75
|
+
return value;
|
|
76
|
+
}
|
|
77
|
+
async getDiskStats() {
|
|
78
|
+
if (typeof fsp.statfs !== "function") return null;
|
|
79
|
+
const root = path.parse(process.cwd()).root || "/";
|
|
80
|
+
const stat = await fsp.statfs(root);
|
|
81
|
+
const totalBytes = Number(stat.blocks) * Number(stat.bsize);
|
|
82
|
+
const freeBytes = Number(stat.bfree) * Number(stat.bsize);
|
|
83
|
+
const usedBytes = Math.max(0, totalBytes - freeBytes);
|
|
84
|
+
if (!Number.isFinite(totalBytes) || totalBytes <= 0) return null;
|
|
85
|
+
return {
|
|
86
|
+
used: Math.round(usedBytes / 1024 / 1024 / 1024),
|
|
87
|
+
total: Math.round(totalBytes / 1024 / 1024 / 1024),
|
|
88
|
+
percentage: Math.round(usedBytes / totalBytes * 100)
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
93
|
+
0 && (module.exports = {
|
|
94
|
+
DISK_STATS_TTL_MS,
|
|
95
|
+
SystemMonitor
|
|
96
|
+
});
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
// Generated by scripts/build-backend-runtime.ts. Do not edit.
|
|
2
|
+
"use strict";
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
var terminal_attach_checkpoint_exports = {};
|
|
21
|
+
__export(terminal_attach_checkpoint_exports, {
|
|
22
|
+
DEFAULT_TERMINAL_ATTACH_CHECKPOINT_TIMEOUT_MS: () => DEFAULT_TERMINAL_ATTACH_CHECKPOINT_TIMEOUT_MS,
|
|
23
|
+
captureTerminalAttachCheckpoint: () => captureTerminalAttachCheckpoint
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(terminal_attach_checkpoint_exports);
|
|
26
|
+
const DEFAULT_TERMINAL_ATTACH_CHECKPOINT_TIMEOUT_MS = 2e3;
|
|
27
|
+
function finiteNonNegativeInteger(value) {
|
|
28
|
+
const parsed = Number(value);
|
|
29
|
+
return Number.isFinite(parsed) && parsed >= 0 ? Math.floor(parsed) : null;
|
|
30
|
+
}
|
|
31
|
+
function finitePositiveInteger(value) {
|
|
32
|
+
const parsed = Number(value);
|
|
33
|
+
return Number.isFinite(parsed) && parsed > 0 ? Math.floor(parsed) : null;
|
|
34
|
+
}
|
|
35
|
+
function recordValue(value) {
|
|
36
|
+
return value && typeof value === "object" ? value : null;
|
|
37
|
+
}
|
|
38
|
+
async function captureTerminalAttachCheckpoint(session, options = {}) {
|
|
39
|
+
if (session?.finalCheckpoint) {
|
|
40
|
+
return { ...session.finalCheckpoint };
|
|
41
|
+
}
|
|
42
|
+
if (!session || !session.screenWorker || session.stateProofAvailable === false || typeof session.runtimeEpoch !== "string" || !session.runtimeEpoch) {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
const timeoutMs = typeof options.timeoutMs === "number" && Number.isFinite(options.timeoutMs) ? Math.max(1, Math.floor(options.timeoutMs)) : DEFAULT_TERMINAL_ATTACH_CHECKPOINT_TIMEOUT_MS;
|
|
46
|
+
const state = recordValue(await session.screenWorker.getState({ timeoutMs }).catch(() => null));
|
|
47
|
+
const outputSeq = finiteNonNegativeInteger(state?.outputSeq);
|
|
48
|
+
const stateRevision = finiteNonNegativeInteger(state?.stateRevision);
|
|
49
|
+
const currentOutputSeq = finiteNonNegativeInteger(session.outputSeq);
|
|
50
|
+
const currentStateRevision = finiteNonNegativeInteger(session.stateRevision);
|
|
51
|
+
const cols = finitePositiveInteger(state?.cols);
|
|
52
|
+
const rows = finitePositiveInteger(state?.rows);
|
|
53
|
+
const requireCurrentCut = options.requireCurrentCut === true;
|
|
54
|
+
if (!state || state.runtimeEpoch !== session.runtimeEpoch || outputSeq === null || stateRevision === null || currentOutputSeq === null || currentStateRevision === null || stateRevision < outputSeq || outputSeq > currentOutputSeq || stateRevision > currentStateRevision || requireCurrentCut && outputSeq !== currentOutputSeq || requireCurrentCut && stateRevision !== currentStateRevision || cols === null || rows === null || typeof state.renderOutput !== "string") {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
runtimeEpoch: state.runtimeEpoch,
|
|
59
|
+
renderOutput: state.renderOutput,
|
|
60
|
+
outputSeq,
|
|
61
|
+
stateRevision,
|
|
62
|
+
cols,
|
|
63
|
+
rows,
|
|
64
|
+
previewText: typeof state.previewText === "string" ? state.previewText : "",
|
|
65
|
+
previewSnapshot: state.previewSnapshot || null,
|
|
66
|
+
title: typeof state.title === "string" ? state.title : ""
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
70
|
+
0 && (module.exports = {
|
|
71
|
+
DEFAULT_TERMINAL_ATTACH_CHECKPOINT_TIMEOUT_MS,
|
|
72
|
+
captureTerminalAttachCheckpoint
|
|
73
|
+
});
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
// Generated by scripts/build-backend-runtime.ts. Do not edit.
|
|
2
|
+
"use strict";
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
var terminal_exit_quiescence_exports = {};
|
|
21
|
+
__export(terminal_exit_quiescence_exports, {
|
|
22
|
+
DEFAULT_TERMINAL_EXIT_DATA_FLUSH_MS: () => DEFAULT_TERMINAL_EXIT_DATA_FLUSH_MS,
|
|
23
|
+
acceptTerminalExitData: () => acceptTerminalExitData,
|
|
24
|
+
waitForTerminalExitDataQuiescence: () => waitForTerminalExitDataQuiescence
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(terminal_exit_quiescence_exports);
|
|
27
|
+
const DEFAULT_TERMINAL_EXIT_DATA_FLUSH_MS = 250;
|
|
28
|
+
function delay(ms) {
|
|
29
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
30
|
+
}
|
|
31
|
+
function acceptTerminalExitData(session) {
|
|
32
|
+
if (!session || session.exitDataClosed === true) return false;
|
|
33
|
+
if (session.exitFinalizing === true) {
|
|
34
|
+
session.exitDataGeneration = (session.exitDataGeneration || 0) + 1;
|
|
35
|
+
}
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
async function waitForTerminalExitDataQuiescence(session, options = {}) {
|
|
39
|
+
const isCurrent = typeof options.isCurrent === "function" ? options.isCurrent : () => true;
|
|
40
|
+
const flushMs = typeof options.flushMs === "number" && Number.isFinite(options.flushMs) ? Math.max(1, Math.floor(options.flushMs)) : DEFAULT_TERMINAL_EXIT_DATA_FLUSH_MS;
|
|
41
|
+
session.exitFinalizing = true;
|
|
42
|
+
session.exitDataGeneration = session.exitDataGeneration || 0;
|
|
43
|
+
for (; ; ) {
|
|
44
|
+
const observedGeneration = session.exitDataGeneration || 0;
|
|
45
|
+
await delay(flushMs);
|
|
46
|
+
if (!isCurrent()) return false;
|
|
47
|
+
if (session.exitDataGeneration !== observedGeneration) continue;
|
|
48
|
+
session.exitDataClosed = true;
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
53
|
+
0 && (module.exports = {
|
|
54
|
+
DEFAULT_TERMINAL_EXIT_DATA_FLUSH_MS,
|
|
55
|
+
acceptTerminalExitData,
|
|
56
|
+
waitForTerminalExitDataQuiescence
|
|
57
|
+
});
|
|
@@ -1,19 +1,49 @@
|
|
|
1
|
+
// Generated by scripts/build-backend-runtime.ts. Do not edit.
|
|
2
|
+
"use strict";
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
var terminal_reducer_flow_control_exports = {};
|
|
21
|
+
__export(terminal_reducer_flow_control_exports, {
|
|
22
|
+
DEFAULT_REDUCER_HIGH_WATERMARK_BYTES: () => DEFAULT_REDUCER_HIGH_WATERMARK_BYTES,
|
|
23
|
+
DEFAULT_REDUCER_LOW_WATERMARK_BYTES: () => DEFAULT_REDUCER_LOW_WATERMARK_BYTES,
|
|
24
|
+
acknowledgeTerminalReducerData: () => acknowledgeTerminalReducerData,
|
|
25
|
+
createTerminalReducerFlowControl: () => createTerminalReducerFlowControl,
|
|
26
|
+
enqueueTerminalReducerData: () => enqueueTerminalReducerData,
|
|
27
|
+
ensureTerminalReducerFlowControl: () => ensureTerminalReducerFlowControl,
|
|
28
|
+
resetTerminalReducerFlowControl: () => resetTerminalReducerFlowControl,
|
|
29
|
+
setTerminalExternalFlowControlBlocked: () => setTerminalExternalFlowControlBlocked,
|
|
30
|
+
terminalReducerDataBytes: () => terminalReducerDataBytes
|
|
31
|
+
});
|
|
32
|
+
module.exports = __toCommonJS(terminal_reducer_flow_control_exports);
|
|
1
33
|
const DEFAULT_REDUCER_HIGH_WATERMARK_BYTES = 512 * 1024;
|
|
2
34
|
const DEFAULT_REDUCER_LOW_WATERMARK_BYTES = 64 * 1024;
|
|
3
|
-
|
|
4
35
|
function positiveInteger(value, fallback) {
|
|
5
36
|
const parsed = Math.floor(Number(value));
|
|
6
37
|
return Number.isFinite(parsed) && parsed > 0 ? parsed : fallback;
|
|
7
38
|
}
|
|
8
|
-
|
|
9
39
|
function createTerminalReducerFlowControl(options = {}) {
|
|
10
40
|
const highWatermarkBytes = positiveInteger(
|
|
11
41
|
options.highWatermarkBytes,
|
|
12
|
-
DEFAULT_REDUCER_HIGH_WATERMARK_BYTES
|
|
42
|
+
DEFAULT_REDUCER_HIGH_WATERMARK_BYTES
|
|
13
43
|
);
|
|
14
44
|
const lowWatermarkBytes = Math.min(
|
|
15
45
|
highWatermarkBytes,
|
|
16
|
-
positiveInteger(options.lowWatermarkBytes, DEFAULT_REDUCER_LOW_WATERMARK_BYTES)
|
|
46
|
+
positiveInteger(options.lowWatermarkBytes, DEFAULT_REDUCER_LOW_WATERMARK_BYTES)
|
|
17
47
|
);
|
|
18
48
|
return {
|
|
19
49
|
pendingBytes: 0,
|
|
@@ -21,29 +51,26 @@ function createTerminalReducerFlowControl(options = {}) {
|
|
|
21
51
|
reducerBlocked: false,
|
|
22
52
|
externalBlocked: false,
|
|
23
53
|
highWatermarkBytes,
|
|
24
|
-
lowWatermarkBytes
|
|
54
|
+
lowWatermarkBytes
|
|
25
55
|
};
|
|
26
56
|
}
|
|
27
|
-
|
|
28
57
|
function ensureTerminalReducerFlowControl(session, options = {}) {
|
|
29
|
-
if (!session || typeof session !==
|
|
58
|
+
if (!session || typeof session !== "object") {
|
|
30
59
|
return createTerminalReducerFlowControl(options);
|
|
31
60
|
}
|
|
32
|
-
if (!session.reducerFlowControl || typeof session.reducerFlowControl !==
|
|
61
|
+
if (!session.reducerFlowControl || typeof session.reducerFlowControl !== "object") {
|
|
33
62
|
session.reducerFlowControl = createTerminalReducerFlowControl(options);
|
|
34
63
|
}
|
|
35
64
|
return session.reducerFlowControl;
|
|
36
65
|
}
|
|
37
|
-
|
|
38
66
|
function terminalReducerDataBytes(data) {
|
|
39
|
-
return Buffer.byteLength(String(data ||
|
|
67
|
+
return Buffer.byteLength(String(data || ""), "utf8");
|
|
40
68
|
}
|
|
41
|
-
|
|
42
69
|
function reconcileTerminalFlowControl(control, process) {
|
|
43
70
|
const shouldPause = control.reducerBlocked || control.externalBlocked;
|
|
44
71
|
if (shouldPause === control.paused) return null;
|
|
45
|
-
const method = shouldPause ?
|
|
46
|
-
if (!process || typeof process[method] !==
|
|
72
|
+
const method = shouldPause ? "pause" : "resume";
|
|
73
|
+
if (!process || typeof process[method] !== "function") {
|
|
47
74
|
return new Error(`Native PTY does not support terminal flow-control ${method}`);
|
|
48
75
|
}
|
|
49
76
|
try {
|
|
@@ -54,12 +81,10 @@ function reconcileTerminalFlowControl(control, process) {
|
|
|
54
81
|
return error instanceof Error ? error : new Error(String(error));
|
|
55
82
|
}
|
|
56
83
|
}
|
|
57
|
-
|
|
58
84
|
function setTerminalExternalFlowControlBlocked(control, process, blocked) {
|
|
59
85
|
control.externalBlocked = blocked === true;
|
|
60
86
|
return reconcileTerminalFlowControl(control, process);
|
|
61
87
|
}
|
|
62
|
-
|
|
63
88
|
function enqueueTerminalReducerData(control, process, data) {
|
|
64
89
|
const bytes = terminalReducerDataBytes(data);
|
|
65
90
|
control.pendingBytes += bytes;
|
|
@@ -68,7 +93,6 @@ function enqueueTerminalReducerData(control, process, data) {
|
|
|
68
93
|
}
|
|
69
94
|
return { bytes, error: reconcileTerminalFlowControl(control, process) };
|
|
70
95
|
}
|
|
71
|
-
|
|
72
96
|
function acknowledgeTerminalReducerData(control, process, bytes) {
|
|
73
97
|
const acknowledgedBytes = Math.max(0, Math.floor(Number(bytes) || 0));
|
|
74
98
|
control.pendingBytes = Math.max(0, control.pendingBytes - acknowledgedBytes);
|
|
@@ -77,21 +101,20 @@ function acknowledgeTerminalReducerData(control, process, bytes) {
|
|
|
77
101
|
}
|
|
78
102
|
return reconcileTerminalFlowControl(control, process);
|
|
79
103
|
}
|
|
80
|
-
|
|
81
104
|
function resetTerminalReducerFlowControl(control, process) {
|
|
82
105
|
control.pendingBytes = 0;
|
|
83
106
|
control.reducerBlocked = false;
|
|
84
107
|
return reconcileTerminalFlowControl(control, process);
|
|
85
108
|
}
|
|
86
|
-
|
|
87
|
-
module.exports = {
|
|
109
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
110
|
+
0 && (module.exports = {
|
|
88
111
|
DEFAULT_REDUCER_HIGH_WATERMARK_BYTES,
|
|
89
112
|
DEFAULT_REDUCER_LOW_WATERMARK_BYTES,
|
|
90
113
|
acknowledgeTerminalReducerData,
|
|
91
114
|
createTerminalReducerFlowControl,
|
|
92
|
-
ensureTerminalReducerFlowControl,
|
|
93
115
|
enqueueTerminalReducerData,
|
|
116
|
+
ensureTerminalReducerFlowControl,
|
|
94
117
|
resetTerminalReducerFlowControl,
|
|
95
118
|
setTerminalExternalFlowControlBlocked,
|
|
96
|
-
terminalReducerDataBytes
|
|
97
|
-
};
|
|
119
|
+
terminalReducerDataBytes
|
|
120
|
+
});
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
// Generated by scripts/build-backend-runtime.ts. Do not edit.
|
|
2
|
+
"use strict";
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
var terminal_runtime_cleanup_exports = {};
|
|
21
|
+
__export(terminal_runtime_cleanup_exports, {
|
|
22
|
+
cleanupStaleNativePtySocket: () => cleanupStaleNativePtySocket,
|
|
23
|
+
cleanupTerminalRuntime: () => cleanupTerminalRuntime,
|
|
24
|
+
probeUnixSocket: () => probeUnixSocket
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(terminal_runtime_cleanup_exports);
|
|
27
|
+
var import_native_pty_host_path = require("./native-pty-host-path.cjs");
|
|
28
|
+
const fs = require("fs");
|
|
29
|
+
const net = require("net");
|
|
30
|
+
const os = require("os");
|
|
31
|
+
const path = require("path");
|
|
32
|
+
function errorCode(error) {
|
|
33
|
+
return error && typeof error === "object" && "code" in error ? String(error.code) : "error";
|
|
34
|
+
}
|
|
35
|
+
function canUseUnixSocket(socketPath) {
|
|
36
|
+
return process.platform !== "win32" && typeof socketPath === "string" && socketPath.length > 0;
|
|
37
|
+
}
|
|
38
|
+
function socketExists(socketPath) {
|
|
39
|
+
try {
|
|
40
|
+
fs.accessSync(socketPath);
|
|
41
|
+
return true;
|
|
42
|
+
} catch {
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
function probeUnixSocket(socketPath, timeoutMs = 120) {
|
|
47
|
+
if (!canUseUnixSocket(socketPath)) {
|
|
48
|
+
return Promise.resolve({ active: false, code: "unsupported" });
|
|
49
|
+
}
|
|
50
|
+
return new Promise((resolve) => {
|
|
51
|
+
const socket = net.createConnection(socketPath);
|
|
52
|
+
let settled = false;
|
|
53
|
+
const finish = (result) => {
|
|
54
|
+
if (settled) return;
|
|
55
|
+
settled = true;
|
|
56
|
+
clearTimeout(timer);
|
|
57
|
+
socket.destroy();
|
|
58
|
+
resolve(result);
|
|
59
|
+
};
|
|
60
|
+
const timer = setTimeout(() => finish({ active: false, code: "timeout" }), timeoutMs);
|
|
61
|
+
if (typeof timer.unref === "function") timer.unref();
|
|
62
|
+
socket.once("connect", () => finish({ active: true }));
|
|
63
|
+
socket.once("error", (error) => finish({ active: false, code: errorCode(error) }));
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
async function cleanupStaleNativePtySocket(options = {}) {
|
|
67
|
+
const socketPath = options.socketPath || (0, import_native_pty_host_path.nativePtyHostSocketPath)(options.configDir);
|
|
68
|
+
if (!canUseUnixSocket(socketPath) || !socketExists(socketPath)) {
|
|
69
|
+
return { socketPath, removed: false, active: false };
|
|
70
|
+
}
|
|
71
|
+
const probe = await probeUnixSocket(socketPath, options.timeoutMs);
|
|
72
|
+
if (probe.active) {
|
|
73
|
+
return { socketPath, removed: false, active: true };
|
|
74
|
+
}
|
|
75
|
+
try {
|
|
76
|
+
fs.unlinkSync(socketPath);
|
|
77
|
+
return { socketPath, removed: true, active: false, code: probe.code };
|
|
78
|
+
} catch (error) {
|
|
79
|
+
if (errorCode(error) === "ENOENT") {
|
|
80
|
+
return { socketPath, removed: false, active: false, code: probe.code };
|
|
81
|
+
}
|
|
82
|
+
throw error;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
async function cleanupTerminalRuntime(options = {}) {
|
|
86
|
+
if (process.env.FARMING_SKIP_TERMINAL_RUNTIME_CLEANUP === "1") {
|
|
87
|
+
return { skipped: true };
|
|
88
|
+
}
|
|
89
|
+
const configDir = options.configDir || process.env.FARMING_CONFIG_DIR || path.join(os.homedir(), ".farming");
|
|
90
|
+
return {
|
|
91
|
+
nativeSocket: await cleanupStaleNativePtySocket({ ...options, configDir })
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
95
|
+
0 && (module.exports = {
|
|
96
|
+
cleanupStaleNativePtySocket,
|
|
97
|
+
cleanupTerminalRuntime,
|
|
98
|
+
probeUnixSocket
|
|
99
|
+
});
|