super-dsh 0.3.0-c → 0.3.0-e

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.
Files changed (772) hide show
  1. package/README.md +25 -22
  2. package/client/index.js +25 -11
  3. package/cordis.patch.yml +3 -3
  4. package/package.json +20 -8
  5. package/superd-hub/dist/bundle-setup.d.ts +17 -2
  6. package/superd-hub/dist/bundle-setup.js +158 -2
  7. package/superd-hub/dist/client/mesh-api.d.ts +6 -3
  8. package/superd-hub/dist/client/mesh-api.js +20 -5
  9. package/superd-hub/dist/fusion-transport.js +14 -3
  10. package/superd-hub/dist/gateway.js +2 -0
  11. package/superd-hub/dist/machines.d.ts +2 -0
  12. package/superd-hub/dist/machines.js +2 -0
  13. package/superd-hub/dist/mesh-link.d.ts +10 -2
  14. package/superd-hub/dist/mesh-link.js +131 -27
  15. package/superd-hub/dist/mesh-rpc.d.ts +1 -1
  16. package/superd-hub/dist/mesh-rpc.js +20 -12
  17. package/superd-hub/dist/pairing-auth.d.ts +7 -0
  18. package/superd-hub/dist/pairing-auth.js +29 -0
  19. package/superd-hub/lib/client/index.js +25 -11
  20. package/superd-hub/package.json +19 -2
  21. package/superd-hub/scripts/register-companion.mjs +100 -0
  22. package/bundles/better-dsh.tgz +0 -0
  23. package/bundles/manifest.json +0 -10
  24. package/node_modules/better-dsh/LICENSE +0 -24
  25. package/node_modules/better-dsh/README.md +0 -323
  26. package/node_modules/better-dsh/THIRD_PARTY_NOTICES.md +0 -52
  27. package/node_modules/better-dsh/cordis.patch.yml +0 -139
  28. package/node_modules/better-dsh/docs/00_adr/0001-bridge-tool-layer-not-service-layer.md +0 -14
  29. package/node_modules/better-dsh/docs/00_adr/0002-masking-is-presentation-only.md +0 -15
  30. package/node_modules/better-dsh/docs/10_plans/2026-09-23-remote-execution-framework.md +0 -236
  31. package/node_modules/better-dsh/docs/10_plans/2026-09-23-remote-framework-impl.md +0 -2083
  32. package/node_modules/better-dsh/docs/10_plans/2026-09-26-lsp-ast-reminder.md +0 -64
  33. package/node_modules/better-dsh/docs/10_plans/A2A-messaging-channel-test-archive.md +0 -256
  34. package/node_modules/better-dsh/docs/10_plans/code-mode-vs-rlm-ipython-comparison.md +0 -137
  35. package/node_modules/better-dsh/docs/10_plans/dashr-blueprint-review.md +0 -201
  36. package/node_modules/better-dsh/docs/10_plans/dashr-blueprint.md +0 -561
  37. package/node_modules/better-dsh/docs/10_plans/dashr-compaction-window-and-archive.md +0 -307
  38. package/node_modules/better-dsh/docs/10_plans/dashr-profile-layer-feasibility.md +0 -367
  39. package/node_modules/better-dsh/docs/10_plans/dashr-sandbox-escalation-semantics-gap.md +0 -171
  40. package/node_modules/better-dsh/docs/10_plans/dashr-security-sandbox-analysis.md +0 -187
  41. package/node_modules/better-dsh/docs/10_plans/dashr-surface-invariant-and-omp-imports.md +0 -97
  42. package/node_modules/better-dsh/docs/10_plans/ipython-kernel-interactive-interface-test-report.md +0 -152
  43. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft.md +0 -146
  44. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft_v3.md +0 -50
  45. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft_v4.md +0 -79
  46. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-vs-PrimeAgent-systemprompt-toolcatalog-comparison.md +0 -138
  47. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/RLM-system-prompt-injection-gap-report.md +0 -161
  48. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/V0.1.5-development-plan.md +0 -109
  49. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/actinoable-surface-to-llm-in-agent-runtime_dsh.md +0 -50
  50. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/actinoable-surface-to-llm-in-agent-runtime_prime.md +0 -113
  51. package/node_modules/better-dsh/docs/10_plans/recallable-compaction.md +0 -147
  52. package/node_modules/better-dsh/docs/10_plans/spike-tag-repro.mjs +0 -102
  53. package/node_modules/better-dsh/docs/10_plans/upstream-analysis.md +0 -128
  54. package/node_modules/better-dsh/docs/20_specs/agent/spec.md +0 -54
  55. package/node_modules/better-dsh/docs/20_specs/ast/spec.md +0 -57
  56. package/node_modules/better-dsh/docs/20_specs/compaction-recall/spec.md +0 -46
  57. package/node_modules/better-dsh/docs/20_specs/ctx/spec.md +0 -107
  58. package/node_modules/better-dsh/docs/20_specs/dsh/spec.md +0 -47
  59. package/node_modules/better-dsh/docs/20_specs/dvc/spec.md +0 -106
  60. package/node_modules/better-dsh/docs/20_specs/escalation-guidance/spec.md +0 -44
  61. package/node_modules/better-dsh/docs/20_specs/fs-scheme-resolution/spec.md +0 -37
  62. package/node_modules/better-dsh/docs/20_specs/hash-edit/spec.md +0 -41
  63. package/node_modules/better-dsh/docs/20_specs/http-read/spec.md +0 -73
  64. package/node_modules/better-dsh/docs/20_specs/kernel-provisioning/spec.md +0 -53
  65. package/node_modules/better-dsh/docs/20_specs/lsp/spec.md +0 -121
  66. package/node_modules/better-dsh/docs/20_specs/mobile-layout/spec.md +0 -108
  67. package/node_modules/better-dsh/docs/20_specs/model-failover/spec.md +0 -20
  68. package/node_modules/better-dsh/docs/20_specs/plugins-page-components/spec.md +0 -79
  69. package/node_modules/better-dsh/docs/20_specs/preact-ui-shell/spec.md +0 -22
  70. package/node_modules/better-dsh/docs/20_specs/repl-dispatch-resilience/spec.md +0 -21
  71. package/node_modules/better-dsh/docs/20_specs/skill/spec.md +0 -58
  72. package/node_modules/better-dsh/docs/20_specs/tool-surface/spec.md +0 -222
  73. package/node_modules/better-dsh/docs/20_specs/url-schema/spec.md +0 -148
  74. package/node_modules/better-dsh/docs/20_specs/web-trust-fence/spec.md +0 -43
  75. package/node_modules/better-dsh/docs/50_test-reports/2026-09-06-write/345/267/245/345/205/267sandbox/345/215/207/347/272/247/351/200/217/344/274/240bug/345/244/215/345/217/221/345/217/212/346/214/202/350/265/267-/344/272/213/344/273/266/346/212/245/345/221/212.md +0 -176
  76. package/node_modules/better-dsh/docs/50_test-reports/2026-09-08-hashline-edit-E_RANGE_UNVERIFIED/350/267/250/350/275/256/344/274/232/350/257/235/351/224/256/345/244/261/346/225/210-/350/257/212/346/226/255/346/212/245/345/221/212.md +0 -226
  77. package/node_modules/better-dsh/docs/50_test-reports/2026-09-11-control-prompt-into-eval-description/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -222
  78. package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-fs-scheme-resolution-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -81
  79. package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-grammar-matrix/344/270/216catalog-centralize-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -234
  80. package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-recallable-context-design/351/252/214/350/257/201/346/212/245/345/221/212.md +0 -160
  81. package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-recallable-context-/345/256/236/346/265/213/345/211/247/346/234/254.md +0 -44
  82. package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-recallable-context-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -89
  83. package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-/345/205/255scheme/345/206/222/347/203/237/344/270/216/350/276/271/347/225/214/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -198
  84. package/node_modules/better-dsh/docs/50_test-reports/2026-09-13-hashline-off/344/270/213scheme/345/217/257/350/276/276/346/200/247/345/267/245/345/205/267/351/235/242/344/270/215/345/257/271/347/247/260-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -246
  85. package/node_modules/better-dsh/docs/50_test-reports/2026-09-13-preact-ui-shell/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -50
  86. package/node_modules/better-dsh/docs/50_test-reports/2026-09-14-4999-skill/346/270/205/345/215/225/344/270/216lsp-gate/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -63
  87. package/node_modules/better-dsh/docs/50_test-reports/2026-09-17-plugins/351/241/265/345/205/255/347/273/204/344/273/266/346/213/206/345/210/206/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -76
  88. package/node_modules/better-dsh/docs/50_test-reports/2026-09-22-4988/345/217/214/345/271/263/351/235/242/345/220/257/345/212/250/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -76
  89. package/node_modules/better-dsh/docs/50_test-reports/2026-09-22-better-dsh/347/273/204/344/273/266/347/203/255/346/217/222/346/213/224/344/270/216/344/276/235/350/265/226/347/272/247/350/201/224/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -134
  90. package/node_modules/better-dsh/docs/50_test-reports/2026-09-23-remote-framework/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -92
  91. package/node_modules/better-dsh/docs/50_test-reports/2026-09-23-remote-framework/347/254/254/344/270/200/344/272/272/347/247/260/345/244/215/346/265/213/346/212/245/345/221/212.md +0 -125
  92. package/node_modules/better-dsh/docs/50_test-reports/2026-09-23-ssh/345/267/245/345/205/267assisted-pty/344/274/232/350/257/235framing/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -207
  93. package/node_modules/better-dsh/docs/50_test-reports/2026-09-24-v0.1.7-rc.1/345/257/271/351/275/220/350/275/256-compaction/344/270/216failover/350/256/276/347/275/256/351/235/242/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -65
  94. package/node_modules/better-dsh/docs/50_test-reports/2026-09-27-lsp-ast-reminder-4999/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -53
  95. package/node_modules/better-dsh/docs/50_test-reports/2026-09-28-ctx-scheme/351/225/277/344/274/232/350/257/235utility/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -155
  96. package/node_modules/better-dsh/docs/50_test-reports/2026-10-01-v0.2.4d-web-password-gate/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -105
  97. package/node_modules/better-dsh/docs/50_test-reports/2026-10-02-better-dsh-schemastery/344/276/235/350/265/226/345/243/260/346/230/216/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -62
  98. package/node_modules/better-dsh/docs/50_test-reports/2026-10-02-ctx-navigation/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -137
  99. package/node_modules/better-dsh/docs/50_test-reports/2026-10-02-v0.2.0-rc.2/345/257/271/351/275/220/350/275/256/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -38
  100. package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-ast-engine-deomp-4999/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -325
  101. package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-better-dsh-tool-surface-repl-dvc-browser-ast-lsp-4999/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -185
  102. package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-docs-packaging-trim/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -82
  103. package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-physical-import/344/270/216llm-completion-ast/347/233/270/345/257/271/350/267/257/345/276/204/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -101
  104. package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-pnpm11/345/271/264/351/276/204/351/227/250/351/224/201/346/226/207/344/273/266/347/233/270/344/275/215/345/256/236/350/257/201.md +0 -54
  105. package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-remote-BYO-PTY-label/351/207/215/346/236/204/347/254/254/344/270/200/344/272/272/347/247/260/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -447
  106. package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-schemastery-cosmokit/346/272/220/347/240/201/345/206/205/350/201/224/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -63
  107. package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-zero-npm-runtime-deps/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -82
  108. package/node_modules/better-dsh/docs/50_test-reports/2026-10-04-ast-engine-deomp-0.2.5-d/345/217/221/345/270/203/351/252/214/346/224/266/346/212/245/345/221/212.md +0 -220
  109. package/node_modules/better-dsh/docs/50_test-reports/2026-10-04-ast_grep/344/270/216ast_edit/345/245/221/347/272/246/344/270/216/350/276/271/347/225/214/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -151
  110. package/node_modules/better-dsh/docs/50_test-reports/2026-10-06-authentication-only-web-admission-4999.md +0 -63
  111. package/node_modules/better-dsh/docs/50_test-reports/2026-10-07-better-dsh-welcome-self-contained-4999.md +0 -52
  112. package/node_modules/better-dsh/docs/50_test-reports/REPL-/345/267/245/345/205/267/350/260/203/347/224/250-/346/210/252/346/226/255/350/257/212/346/226/255.md +0 -110
  113. package/node_modules/better-dsh/docs/50_test-reports/kernel-provisioning.md +0 -44
  114. package/node_modules/better-dsh/docs/50_test-reports/repl-kernel-provisioning-test-report.md +0 -87
  115. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.2-alpha.5-local-test-report.md +0 -81
  116. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.2-alpha.5-report.md +0 -93
  117. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.3-alpha.2-local-test-report.md +0 -44
  118. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.3-alpha.2-report.md +0 -110
  119. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.5-rc.2-local-test-report.md +0 -79
  120. package/node_modules/better-dsh/docs/50_test-reports/v0.1.8-improved-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -142
  121. package/node_modules/better-dsh/docs/50_test-reports/v0.1.8-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -193
  122. package/node_modules/better-dsh/docs/50_test-reports/v0.1.8b-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -96
  123. package/node_modules/better-dsh/docs/50_test-reports/v0.1.8c-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -127
  124. package/node_modules/better-dsh/docs/50_test-reports/v0.1.8d-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -150
  125. package/node_modules/better-dsh/docs/50_test-reports/v0.1.8e-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -224
  126. package/node_modules/better-dsh/docs/50_test-reports/v0.1.9a-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -168
  127. package/node_modules/better-dsh/docs/50_test-reports/v0.2.0b-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -123
  128. package/node_modules/better-dsh/docs/50_test-reports/v0.2.1-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -110
  129. package/node_modules/better-dsh/docs/50_test-reports/v0.2.1b-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -86
  130. package/node_modules/better-dsh/docs/50_test-reports/v0.2.1c-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -66
  131. package/node_modules/better-dsh/docs/50_test-reports/v0.2.1d-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -67
  132. package/node_modules/better-dsh/docs/50_test-reports/v0.2.1e-P1-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -136
  133. package/node_modules/better-dsh/docs/50_test-reports/v0.2.1ef-dev-audit-report.md +0 -73
  134. package/node_modules/better-dsh/docs/50_test-reports/v0.2.1f-plugin-shipped-ui-patches/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -102
  135. package/node_modules/better-dsh/docs/50_test-reports/v0.2.3b-hashline-content-locator/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -73
  136. package/node_modules/better-dsh/docs/50_test-reports/v0.2.3c-mobile-wave/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -47
  137. package/node_modules/better-dsh/docs/50_test-reports/v0.2.4-ios-focus-zoom-suppression/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -158
  138. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/SKILL.md +0 -147
  139. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch01-user-guide.md +0 -123
  140. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch02-plugin-basics.md +0 -127
  141. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch03-plugin-framework-practice.md +0 -120
  142. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch04-cordis-fundamentals.md +0 -129
  143. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch05-cordis-api.md +0 -115
  144. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch06-architecture.md +0 -109
  145. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch07-capability-seams.md +0 -97
  146. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch08-internals-pipelines.md +0 -111
  147. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch09-api-gateway.md +0 -106
  148. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch10-config-catalog.md +0 -97
  149. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch11-tool-catalog.md +0 -121
  150. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch12-persistence-catalog.md +0 -109
  151. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch13-subsystems-core-session.md +0 -106
  152. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch14-subsystems-agent-loop.md +0 -111
  153. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch15-subsystems-tool-execution.md +0 -106
  154. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch16-subsystems-session-data.md +0 -132
  155. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch17-subsystems-llm-streaming.md +0 -128
  156. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch18-subsystems-web-ui.md +0 -142
  157. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch19-cookbook.md +0 -149
  158. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch20-development-testing.md +0 -87
  159. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch21-postmortems.md +0 -82
  160. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch22-i18n.md +0 -86
  161. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/cheatsheet.md +0 -67
  162. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/glossary.md +0 -57
  163. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/patterns.md +0 -88
  164. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/AGENTS.md +0 -75
  165. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/agent-lifecycle.md +0 -84
  166. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/agent-lifecycle.zh.md +0 -86
  167. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/api-gateway.md +0 -164
  168. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/api-gateway.zh.md +0 -164
  169. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/architecture.md +0 -150
  170. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/architecture.zh.md +0 -154
  171. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/capability-seams.md +0 -543
  172. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/capability-seams.zh.md +0 -545
  173. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/config-catalog.md +0 -3473
  174. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/config-catalog.zh.md +0 -3474
  175. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-package.md +0 -117
  176. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-package.zh.md +0 -119
  177. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-remote-api.md +0 -197
  178. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-remote-api.zh.md +0 -197
  179. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-settings-card.md +0 -102
  180. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-settings-card.zh.md +0 -102
  181. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-tool.md +0 -101
  182. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-tool.zh.md +0 -103
  183. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-vendored-package.md +0 -59
  184. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-vendored-package.zh.md +0 -59
  185. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-an-llm-adapter.md +0 -43
  186. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-an-llm-adapter.zh.md +0 -43
  187. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/extension-cookbook.md +0 -132
  188. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/extension-cookbook.zh.md +0 -136
  189. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/maintaining-dsh-code-review.md +0 -64
  190. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/maintaining-dsh-code-review.zh.md +0 -64
  191. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/responding-to-pr-review-on-a-stack.md +0 -32
  192. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/responding-to-pr-review-on-a-stack.zh.md +0 -32
  193. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/context.md +0 -364
  194. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/context.zh.md +0 -366
  195. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/events.md +0 -207
  196. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/events.zh.md +0 -209
  197. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/fiber.md +0 -375
  198. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/fiber.zh.md +0 -377
  199. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/inherited.md +0 -39
  200. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/registry.md +0 -152
  201. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/registry.zh.md +0 -154
  202. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/service.md +0 -102
  203. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/service.zh.md +0 -104
  204. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-primer.md +0 -45
  205. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-primer.zh.md +0 -51
  206. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/01-first-plugin.md +0 -95
  207. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/01-first-plugin.zh.md +0 -95
  208. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/02-lifecycle-and-effects.md +0 -98
  209. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/02-lifecycle-and-effects.zh.md +0 -98
  210. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/03-services.md +0 -98
  211. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/03-services.zh.md +0 -98
  212. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/04-events.md +0 -144
  213. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/04-events.zh.md +0 -144
  214. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/05-config.md +0 -84
  215. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/05-config.zh.md +0 -84
  216. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/06-composition-and-hmr.md +0 -113
  217. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/06-composition-and-hmr.zh.md +0 -113
  218. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/07-into-the-harness.md +0 -108
  219. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/07-into-the-harness.zh.md +0 -108
  220. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/index.md +0 -60
  221. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/index.zh.md +0 -62
  222. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/deepseek-llm-api-wire-extensions.md +0 -163
  223. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/deepseek-llm-api-wire-extensions.zh.md +0 -163
  224. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/defensive-patterns.md +0 -33
  225. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/defensive-patterns.zh.md +0 -35
  226. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/development.md +0 -167
  227. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/development.zh.md +0 -173
  228. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/event-producer-consumer.md +0 -86
  229. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/event-producer-consumer.zh.md +0 -88
  230. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/glossary.md +0 -45
  231. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/glossary.zh.md +0 -45
  232. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/graph-atlas.md +0 -22
  233. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/graph-atlas.zh.md +0 -24
  234. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/README.md +0 -60
  235. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/README.zh.md +0 -62
  236. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/style-samples.md +0 -87
  237. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/terminology.md +0 -214
  238. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-prompt.md +0 -263
  239. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-rules.md +0 -69
  240. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-rules.zh.md +0 -69
  241. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/module-graph.md +0 -1411
  242. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/module-graph.zh.md +0 -1413
  243. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/persistence-catalog.md +0 -1075
  244. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/persistence-catalog.zh.md +0 -1077
  245. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0001-acp-default-export-drops-inject.md +0 -113
  246. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0001-acp-default-export-drops-inject.zh.md +0 -113
  247. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0002-js-expression-disabled-filesystem-tools.md +0 -47
  248. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +0 -47
  249. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0003-web-agent-gui-feedback-loop.md +0 -53
  250. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0003-web-agent-gui-feedback-loop.zh.md +0 -53
  251. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.md +0 -55
  252. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +0 -55
  253. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/README.md +0 -18
  254. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/README.zh.md +0 -18
  255. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/rescope.md +0 -53
  256. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/rescope.zh.md +0 -53
  257. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/README.md +0 -61
  258. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/README.zh.md +0 -61
  259. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/agent-team.md +0 -207
  260. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/agent-team.zh.md +0 -207
  261. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/approval.md +0 -170
  262. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/approval.zh.md +0 -170
  263. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/attachment.md +0 -351
  264. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/attachment.zh.md +0 -351
  265. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/client-modules.md +0 -168
  266. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/client-modules.zh.md +0 -168
  267. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/code-runtime.md +0 -195
  268. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/code-runtime.zh.md +0 -195
  269. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/commands.md +0 -219
  270. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/commands.zh.md +0 -219
  271. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/compaction.md +0 -238
  272. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/compaction.zh.md +0 -238
  273. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/conversation.md +0 -258
  274. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/conversation.zh.md +0 -258
  275. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/core.md +0 -1209
  276. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/core.zh.md +0 -1219
  277. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/credentials.md +0 -329
  278. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/credentials.zh.md +0 -329
  279. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/extensions.md +0 -382
  280. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/extensions.zh.md +0 -382
  281. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/feedback.md +0 -266
  282. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/feedback.zh.md +0 -266
  283. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/filesystem.md +0 -505
  284. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/filesystem.zh.md +0 -505
  285. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/goal.md +0 -277
  286. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/goal.zh.md +0 -277
  287. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/invariants.md +0 -88
  288. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/invariants.zh.md +0 -88
  289. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/jobs.md +0 -290
  290. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/jobs.zh.md +0 -290
  291. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/llm-streaming.md +0 -1080
  292. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/llm-streaming.zh.md +0 -1086
  293. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/lsp.md +0 -202
  294. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/lsp.zh.md +0 -202
  295. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/permission-presets.md +0 -131
  296. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/permission-presets.zh.md +0 -131
  297. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/persistence.md +0 -395
  298. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/persistence.zh.md +0 -395
  299. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/plan.md +0 -87
  300. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/plan.zh.md +0 -87
  301. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/sandbox.md +0 -220
  302. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/sandbox.zh.md +0 -220
  303. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/schedule.md +0 -192
  304. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/schedule.zh.md +0 -192
  305. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/scope.md +0 -59
  306. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/scope.zh.md +0 -59
  307. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-projection.md +0 -354
  308. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-projection.zh.md +0 -354
  309. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-query.md +0 -509
  310. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-query.zh.md +0 -509
  311. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-reference.md +0 -219
  312. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-reference.zh.md +0 -219
  313. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-telemetry.md +0 -194
  314. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-telemetry.zh.md +0 -194
  315. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-title.md +0 -204
  316. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-title.zh.md +0 -204
  317. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session.md +0 -1155
  318. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session.zh.md +0 -1159
  319. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/settings.md +0 -405
  320. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/settings.zh.md +0 -405
  321. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/shell.md +0 -303
  322. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/shell.zh.md +0 -303
  323. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/skills.md +0 -354
  324. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/skills.zh.md +0 -354
  325. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/slots.md +0 -175
  326. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/slots.zh.md +0 -175
  327. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/spill.md +0 -117
  328. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/spill.zh.md +0 -117
  329. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/storage.md +0 -260
  330. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/storage.zh.md +0 -260
  331. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subagent.md +0 -766
  332. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subagent.zh.md +0 -770
  333. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subprocess.md +0 -324
  334. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subprocess.zh.md +0 -324
  335. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/system-prompt.md +0 -220
  336. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/system-prompt.zh.md +0 -220
  337. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/terminal.md +0 -184
  338. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/terminal.zh.md +0 -184
  339. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/todo.md +0 -32
  340. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/todo.zh.md +0 -32
  341. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/token-meter.md +0 -105
  342. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/token-meter.zh.md +0 -105
  343. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/tools.md +0 -720
  344. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/tools.zh.md +0 -720
  345. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/typert.md +0 -343
  346. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/typert.zh.md +0 -343
  347. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/user-questions.md +0 -178
  348. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/user-questions.zh.md +0 -178
  349. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-client.md +0 -95
  350. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-client.zh.md +0 -95
  351. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-server.md +0 -154
  352. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-server.zh.md +0 -154
  353. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web.md +0 -206
  354. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web.zh.md +0 -206
  355. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/webhook.md +0 -70
  356. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/webhook.zh.md +0 -70
  357. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workflow.md +0 -278
  358. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workflow.zh.md +0 -278
  359. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workspace.md +0 -321
  360. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workspace.zh.md +0 -321
  361. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/testing.md +0 -54
  362. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/testing.zh.md +0 -54
  363. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-catalog.md +0 -2225
  364. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-catalog.zh.md +0 -2233
  365. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-execution-pipeline.md +0 -62
  366. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-execution-pipeline.zh.md +0 -64
  367. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/config.md +0 -106
  368. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/config.zh.md +0 -106
  369. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/index.md +0 -144
  370. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/index.zh.md +0 -144
  371. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/publish.md +0 -183
  372. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/publish.zh.md +0 -183
  373. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/tool.md +0 -52
  374. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/tool.zh.md +0 -52
  375. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/events.md +0 -143
  376. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/events.zh.md +0 -143
  377. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/index.md +0 -137
  378. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/index.zh.md +0 -137
  379. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/service.md +0 -148
  380. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/service.zh.md +0 -150
  381. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/dynamic-cordis.md +0 -15
  382. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/dynamic-cordis.zh.md +0 -15
  383. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/index.md +0 -155
  384. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/index.zh.md +0 -155
  385. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/llm-adapter.md +0 -189
  386. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/llm-adapter.zh.md +0 -189
  387. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/github-review.md +0 -102
  388. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/github-review.zh.md +0 -102
  389. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/index.md +0 -30
  390. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/index.zh.md +0 -30
  391. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/mcp-memory.md +0 -101
  392. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/mcp-memory.zh.md +0 -101
  393. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/network-proxy.md +0 -85
  394. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/network-proxy.zh.md +0 -85
  395. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/providers.md +0 -190
  396. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/providers.zh.md +0 -190
  397. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/python-sdk.md +0 -150
  398. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/python-sdk.zh.md +0 -150
  399. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/schedule.md +0 -21
  400. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/schedule.zh.md +0 -21
  401. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/index.md +0 -11
  402. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/index.zh.md +0 -11
  403. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/web-styling.md +0 -29
  404. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/web-styling.zh.md +0 -29
  405. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/site-pages-map.txt +0 -234
  406. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/site-pages.json +0 -232
  407. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src-README.md +0 -63
  408. package/node_modules/better-dsh/docs/dev-test-environment-notes.md +0 -137
  409. package/node_modules/better-dsh/docs/distro-blueprint.md +0 -81
  410. package/node_modules/better-dsh/docs/dsh-webUI-with-rlm-mode.png +0 -0
  411. package/node_modules/better-dsh/docs/repositioning-and-rebranding.md +0 -102
  412. package/node_modules/better-dsh/docs/specs/agent/spec.md +0 -54
  413. package/node_modules/better-dsh/docs/specs/ast/spec.md +0 -57
  414. package/node_modules/better-dsh/docs/specs/ast-engine-deomp/spec.md +0 -170
  415. package/node_modules/better-dsh/docs/specs/authentication-only-web-admission/spec.md +0 -51
  416. package/node_modules/better-dsh/docs/specs/compaction-recall/spec.md +0 -46
  417. package/node_modules/better-dsh/docs/specs/ctx/spec.md +0 -179
  418. package/node_modules/better-dsh/docs/specs/docs-packaging-trim/spec.md +0 -110
  419. package/node_modules/better-dsh/docs/specs/dsh/spec.md +0 -47
  420. package/node_modules/better-dsh/docs/specs/dvc/spec.md +0 -106
  421. package/node_modules/better-dsh/docs/specs/escalation-guidance/spec.md +0 -44
  422. package/node_modules/better-dsh/docs/specs/fs-scheme-resolution/spec.md +0 -37
  423. package/node_modules/better-dsh/docs/specs/hash-edit/spec.md +0 -41
  424. package/node_modules/better-dsh/docs/specs/http-read/spec.md +0 -73
  425. package/node_modules/better-dsh/docs/specs/kernel-provisioning/spec.md +0 -53
  426. package/node_modules/better-dsh/docs/specs/lsp/spec.md +0 -121
  427. package/node_modules/better-dsh/docs/specs/mobile-layout/spec.md +0 -108
  428. package/node_modules/better-dsh/docs/specs/model-failover/spec.md +0 -20
  429. package/node_modules/better-dsh/docs/specs/model-picker-ios-blur/spec.md +0 -168
  430. package/node_modules/better-dsh/docs/specs/plugins-page-components/spec.md +0 -79
  431. package/node_modules/better-dsh/docs/specs/preact-ui-shell/spec.md +0 -22
  432. package/node_modules/better-dsh/docs/specs/remote-pty-label/spec.md +0 -126
  433. package/node_modules/better-dsh/docs/specs/repl-dispatch-resilience/spec.md +0 -21
  434. package/node_modules/better-dsh/docs/specs/skill/spec.md +0 -58
  435. package/node_modules/better-dsh/docs/specs/tool-surface/spec.md +0 -222
  436. package/node_modules/better-dsh/docs/specs/url-schema/spec.md +0 -148
  437. package/node_modules/better-dsh/docs/specs/web-trust-fence/spec.md +0 -43
  438. package/node_modules/better-dsh/docs/specs/welcome-self-contained/spec.md +0 -13
  439. package/node_modules/better-dsh/docs/specs/zero-npm-runtime-deps/spec.md +0 -85
  440. package/node_modules/better-dsh/docs/superpowers/plans/2026-10-02-ctx-navigation.md +0 -319
  441. package/node_modules/better-dsh/docs/superpowers/plans/2026-10-03-ast-engine-deomp.md +0 -1214
  442. package/node_modules/better-dsh/docs/superpowers/plans/2026-10-03-docs-packaging-trim.md +0 -181
  443. package/node_modules/better-dsh/docs/superpowers/specs/2026-10-02-ctx-navigation-design.md +0 -209
  444. package/node_modules/better-dsh/docs/upstream-dsh-0.1.5-rc.2-report.md +0 -156
  445. package/node_modules/better-dsh/dsh-docs/AGENTS.md +0 -75
  446. package/node_modules/better-dsh/dsh-docs/agent-lifecycle.md +0 -84
  447. package/node_modules/better-dsh/dsh-docs/agent-lifecycle.zh.md +0 -86
  448. package/node_modules/better-dsh/dsh-docs/api-gateway.md +0 -164
  449. package/node_modules/better-dsh/dsh-docs/api-gateway.zh.md +0 -164
  450. package/node_modules/better-dsh/dsh-docs/architecture.md +0 -150
  451. package/node_modules/better-dsh/dsh-docs/architecture.zh.md +0 -154
  452. package/node_modules/better-dsh/dsh-docs/baseline.md +0 -13
  453. package/node_modules/better-dsh/dsh-docs/capability-seams.md +0 -543
  454. package/node_modules/better-dsh/dsh-docs/capability-seams.zh.md +0 -545
  455. package/node_modules/better-dsh/dsh-docs/config-catalog.md +0 -3473
  456. package/node_modules/better-dsh/dsh-docs/config-catalog.zh.md +0 -3474
  457. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-package.md +0 -117
  458. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-package.zh.md +0 -119
  459. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-remote-api.md +0 -197
  460. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-remote-api.zh.md +0 -197
  461. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-session-format-version.md +0 -109
  462. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-session-format-version.zh.md +0 -109
  463. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-settings-card.md +0 -102
  464. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-settings-card.zh.md +0 -102
  465. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-tool.md +0 -101
  466. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-tool.zh.md +0 -103
  467. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-vendored-package.md +0 -59
  468. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-vendored-package.zh.md +0 -59
  469. package/node_modules/better-dsh/dsh-docs/cookbook/adding-an-llm-adapter.md +0 -43
  470. package/node_modules/better-dsh/dsh-docs/cookbook/adding-an-llm-adapter.zh.md +0 -43
  471. package/node_modules/better-dsh/dsh-docs/cookbook/extension-cookbook.md +0 -132
  472. package/node_modules/better-dsh/dsh-docs/cookbook/extension-cookbook.zh.md +0 -136
  473. package/node_modules/better-dsh/dsh-docs/cookbook/maintaining-dsh-code-review.md +0 -64
  474. package/node_modules/better-dsh/dsh-docs/cookbook/maintaining-dsh-code-review.zh.md +0 -64
  475. package/node_modules/better-dsh/dsh-docs/cookbook/responding-to-pr-review-on-a-stack.md +0 -32
  476. package/node_modules/better-dsh/dsh-docs/cookbook/responding-to-pr-review-on-a-stack.zh.md +0 -32
  477. package/node_modules/better-dsh/dsh-docs/cordis-api/context.md +0 -364
  478. package/node_modules/better-dsh/dsh-docs/cordis-api/context.zh.md +0 -366
  479. package/node_modules/better-dsh/dsh-docs/cordis-api/events.md +0 -207
  480. package/node_modules/better-dsh/dsh-docs/cordis-api/events.zh.md +0 -209
  481. package/node_modules/better-dsh/dsh-docs/cordis-api/fiber.md +0 -375
  482. package/node_modules/better-dsh/dsh-docs/cordis-api/fiber.zh.md +0 -377
  483. package/node_modules/better-dsh/dsh-docs/cordis-api/inherited.md +0 -39
  484. package/node_modules/better-dsh/dsh-docs/cordis-api/registry.md +0 -152
  485. package/node_modules/better-dsh/dsh-docs/cordis-api/registry.zh.md +0 -154
  486. package/node_modules/better-dsh/dsh-docs/cordis-api/service.md +0 -102
  487. package/node_modules/better-dsh/dsh-docs/cordis-api/service.zh.md +0 -104
  488. package/node_modules/better-dsh/dsh-docs/cordis-primer.md +0 -45
  489. package/node_modules/better-dsh/dsh-docs/cordis-primer.zh.md +0 -51
  490. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/01-first-plugin.md +0 -95
  491. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/01-first-plugin.zh.md +0 -95
  492. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/02-lifecycle-and-effects.md +0 -98
  493. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/02-lifecycle-and-effects.zh.md +0 -98
  494. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/03-services.md +0 -98
  495. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/03-services.zh.md +0 -98
  496. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/04-events.md +0 -144
  497. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/04-events.zh.md +0 -144
  498. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/05-config.md +0 -84
  499. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/05-config.zh.md +0 -84
  500. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/06-composition-and-hmr.md +0 -113
  501. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/06-composition-and-hmr.zh.md +0 -113
  502. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/07-into-the-harness.md +0 -108
  503. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/07-into-the-harness.zh.md +0 -108
  504. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/index.md +0 -60
  505. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/index.zh.md +0 -62
  506. package/node_modules/better-dsh/dsh-docs/deepseek-llm-api-wire-extensions.md +0 -163
  507. package/node_modules/better-dsh/dsh-docs/deepseek-llm-api-wire-extensions.zh.md +0 -163
  508. package/node_modules/better-dsh/dsh-docs/defensive-patterns.md +0 -33
  509. package/node_modules/better-dsh/dsh-docs/defensive-patterns.zh.md +0 -35
  510. package/node_modules/better-dsh/dsh-docs/development.md +0 -167
  511. package/node_modules/better-dsh/dsh-docs/development.zh.md +0 -173
  512. package/node_modules/better-dsh/dsh-docs/event-producer-consumer.md +0 -86
  513. package/node_modules/better-dsh/dsh-docs/event-producer-consumer.zh.md +0 -88
  514. package/node_modules/better-dsh/dsh-docs/glossary.md +0 -45
  515. package/node_modules/better-dsh/dsh-docs/glossary.zh.md +0 -45
  516. package/node_modules/better-dsh/dsh-docs/graph-atlas.md +0 -22
  517. package/node_modules/better-dsh/dsh-docs/graph-atlas.zh.md +0 -24
  518. package/node_modules/better-dsh/dsh-docs/i18n/README.md +0 -60
  519. package/node_modules/better-dsh/dsh-docs/i18n/README.zh.md +0 -62
  520. package/node_modules/better-dsh/dsh-docs/i18n/style-samples.md +0 -87
  521. package/node_modules/better-dsh/dsh-docs/i18n/terminology.md +0 -214
  522. package/node_modules/better-dsh/dsh-docs/i18n/translation-prompt.md +0 -263
  523. package/node_modules/better-dsh/dsh-docs/i18n/translation-rules.md +0 -69
  524. package/node_modules/better-dsh/dsh-docs/i18n/translation-rules.zh.md +0 -69
  525. package/node_modules/better-dsh/dsh-docs/module-graph.md +0 -1411
  526. package/node_modules/better-dsh/dsh-docs/module-graph.zh.md +0 -1413
  527. package/node_modules/better-dsh/dsh-docs/persistence-catalog.md +0 -1075
  528. package/node_modules/better-dsh/dsh-docs/persistence-catalog.zh.md +0 -1077
  529. package/node_modules/better-dsh/dsh-docs/postmortem/0001-acp-default-export-drops-inject.md +0 -113
  530. package/node_modules/better-dsh/dsh-docs/postmortem/0001-acp-default-export-drops-inject.zh.md +0 -113
  531. package/node_modules/better-dsh/dsh-docs/postmortem/0002-js-expression-disabled-filesystem-tools.md +0 -47
  532. package/node_modules/better-dsh/dsh-docs/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +0 -47
  533. package/node_modules/better-dsh/dsh-docs/postmortem/0003-web-agent-gui-feedback-loop.md +0 -53
  534. package/node_modules/better-dsh/dsh-docs/postmortem/0003-web-agent-gui-feedback-loop.zh.md +0 -53
  535. package/node_modules/better-dsh/dsh-docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.md +0 -55
  536. package/node_modules/better-dsh/dsh-docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +0 -55
  537. package/node_modules/better-dsh/dsh-docs/postmortem/README.md +0 -18
  538. package/node_modules/better-dsh/dsh-docs/postmortem/README.zh.md +0 -18
  539. package/node_modules/better-dsh/dsh-docs/rescope.md +0 -53
  540. package/node_modules/better-dsh/dsh-docs/rescope.zh.md +0 -53
  541. package/node_modules/better-dsh/dsh-docs/session-format-status.md +0 -47
  542. package/node_modules/better-dsh/dsh-docs/session-format-status.zh.md +0 -47
  543. package/node_modules/better-dsh/dsh-docs/subsystems/README.md +0 -61
  544. package/node_modules/better-dsh/dsh-docs/subsystems/README.zh.md +0 -61
  545. package/node_modules/better-dsh/dsh-docs/subsystems/agent-team.md +0 -207
  546. package/node_modules/better-dsh/dsh-docs/subsystems/agent-team.zh.md +0 -207
  547. package/node_modules/better-dsh/dsh-docs/subsystems/approval.md +0 -170
  548. package/node_modules/better-dsh/dsh-docs/subsystems/approval.zh.md +0 -170
  549. package/node_modules/better-dsh/dsh-docs/subsystems/attachment.md +0 -351
  550. package/node_modules/better-dsh/dsh-docs/subsystems/attachment.zh.md +0 -351
  551. package/node_modules/better-dsh/dsh-docs/subsystems/client-modules.md +0 -168
  552. package/node_modules/better-dsh/dsh-docs/subsystems/client-modules.zh.md +0 -168
  553. package/node_modules/better-dsh/dsh-docs/subsystems/client-resources.md +0 -91
  554. package/node_modules/better-dsh/dsh-docs/subsystems/client-resources.zh.md +0 -91
  555. package/node_modules/better-dsh/dsh-docs/subsystems/code-runtime.md +0 -195
  556. package/node_modules/better-dsh/dsh-docs/subsystems/code-runtime.zh.md +0 -195
  557. package/node_modules/better-dsh/dsh-docs/subsystems/commands.md +0 -219
  558. package/node_modules/better-dsh/dsh-docs/subsystems/commands.zh.md +0 -219
  559. package/node_modules/better-dsh/dsh-docs/subsystems/compaction.md +0 -238
  560. package/node_modules/better-dsh/dsh-docs/subsystems/compaction.zh.md +0 -238
  561. package/node_modules/better-dsh/dsh-docs/subsystems/conversation.md +0 -258
  562. package/node_modules/better-dsh/dsh-docs/subsystems/conversation.zh.md +0 -258
  563. package/node_modules/better-dsh/dsh-docs/subsystems/core.md +0 -1209
  564. package/node_modules/better-dsh/dsh-docs/subsystems/core.zh.md +0 -1219
  565. package/node_modules/better-dsh/dsh-docs/subsystems/credentials.md +0 -329
  566. package/node_modules/better-dsh/dsh-docs/subsystems/credentials.zh.md +0 -329
  567. package/node_modules/better-dsh/dsh-docs/subsystems/extensions.md +0 -382
  568. package/node_modules/better-dsh/dsh-docs/subsystems/extensions.zh.md +0 -382
  569. package/node_modules/better-dsh/dsh-docs/subsystems/feedback.md +0 -266
  570. package/node_modules/better-dsh/dsh-docs/subsystems/feedback.zh.md +0 -266
  571. package/node_modules/better-dsh/dsh-docs/subsystems/filesystem.md +0 -505
  572. package/node_modules/better-dsh/dsh-docs/subsystems/filesystem.zh.md +0 -505
  573. package/node_modules/better-dsh/dsh-docs/subsystems/goal.md +0 -277
  574. package/node_modules/better-dsh/dsh-docs/subsystems/goal.zh.md +0 -277
  575. package/node_modules/better-dsh/dsh-docs/subsystems/invariants.md +0 -91
  576. package/node_modules/better-dsh/dsh-docs/subsystems/invariants.zh.md +0 -91
  577. package/node_modules/better-dsh/dsh-docs/subsystems/jobs.md +0 -290
  578. package/node_modules/better-dsh/dsh-docs/subsystems/jobs.zh.md +0 -290
  579. package/node_modules/better-dsh/dsh-docs/subsystems/llm-streaming.md +0 -1080
  580. package/node_modules/better-dsh/dsh-docs/subsystems/llm-streaming.zh.md +0 -1086
  581. package/node_modules/better-dsh/dsh-docs/subsystems/lsp.md +0 -202
  582. package/node_modules/better-dsh/dsh-docs/subsystems/lsp.zh.md +0 -202
  583. package/node_modules/better-dsh/dsh-docs/subsystems/permission-presets.md +0 -131
  584. package/node_modules/better-dsh/dsh-docs/subsystems/permission-presets.zh.md +0 -131
  585. package/node_modules/better-dsh/dsh-docs/subsystems/persistence.md +0 -395
  586. package/node_modules/better-dsh/dsh-docs/subsystems/persistence.zh.md +0 -395
  587. package/node_modules/better-dsh/dsh-docs/subsystems/plan.md +0 -87
  588. package/node_modules/better-dsh/dsh-docs/subsystems/plan.zh.md +0 -87
  589. package/node_modules/better-dsh/dsh-docs/subsystems/sandbox.md +0 -220
  590. package/node_modules/better-dsh/dsh-docs/subsystems/sandbox.zh.md +0 -220
  591. package/node_modules/better-dsh/dsh-docs/subsystems/schedule.md +0 -192
  592. package/node_modules/better-dsh/dsh-docs/subsystems/schedule.zh.md +0 -192
  593. package/node_modules/better-dsh/dsh-docs/subsystems/scope.md +0 -59
  594. package/node_modules/better-dsh/dsh-docs/subsystems/scope.zh.md +0 -59
  595. package/node_modules/better-dsh/dsh-docs/subsystems/session-projection.md +0 -354
  596. package/node_modules/better-dsh/dsh-docs/subsystems/session-projection.zh.md +0 -354
  597. package/node_modules/better-dsh/dsh-docs/subsystems/session-query.md +0 -509
  598. package/node_modules/better-dsh/dsh-docs/subsystems/session-query.zh.md +0 -509
  599. package/node_modules/better-dsh/dsh-docs/subsystems/session-reference.md +0 -219
  600. package/node_modules/better-dsh/dsh-docs/subsystems/session-reference.zh.md +0 -219
  601. package/node_modules/better-dsh/dsh-docs/subsystems/session-telemetry.md +0 -194
  602. package/node_modules/better-dsh/dsh-docs/subsystems/session-telemetry.zh.md +0 -194
  603. package/node_modules/better-dsh/dsh-docs/subsystems/session-title.md +0 -204
  604. package/node_modules/better-dsh/dsh-docs/subsystems/session-title.zh.md +0 -204
  605. package/node_modules/better-dsh/dsh-docs/subsystems/session.md +0 -1155
  606. package/node_modules/better-dsh/dsh-docs/subsystems/session.zh.md +0 -1159
  607. package/node_modules/better-dsh/dsh-docs/subsystems/settings.md +0 -405
  608. package/node_modules/better-dsh/dsh-docs/subsystems/settings.zh.md +0 -405
  609. package/node_modules/better-dsh/dsh-docs/subsystems/shell.md +0 -303
  610. package/node_modules/better-dsh/dsh-docs/subsystems/shell.zh.md +0 -303
  611. package/node_modules/better-dsh/dsh-docs/subsystems/sidebar-right.md +0 -148
  612. package/node_modules/better-dsh/dsh-docs/subsystems/sidebar-right.zh.md +0 -148
  613. package/node_modules/better-dsh/dsh-docs/subsystems/skills.md +0 -354
  614. package/node_modules/better-dsh/dsh-docs/subsystems/skills.zh.md +0 -354
  615. package/node_modules/better-dsh/dsh-docs/subsystems/slots.md +0 -175
  616. package/node_modules/better-dsh/dsh-docs/subsystems/slots.zh.md +0 -175
  617. package/node_modules/better-dsh/dsh-docs/subsystems/spill.md +0 -117
  618. package/node_modules/better-dsh/dsh-docs/subsystems/spill.zh.md +0 -117
  619. package/node_modules/better-dsh/dsh-docs/subsystems/storage.md +0 -260
  620. package/node_modules/better-dsh/dsh-docs/subsystems/storage.zh.md +0 -260
  621. package/node_modules/better-dsh/dsh-docs/subsystems/subagent.md +0 -766
  622. package/node_modules/better-dsh/dsh-docs/subsystems/subagent.zh.md +0 -770
  623. package/node_modules/better-dsh/dsh-docs/subsystems/subprocess.md +0 -324
  624. package/node_modules/better-dsh/dsh-docs/subsystems/subprocess.zh.md +0 -324
  625. package/node_modules/better-dsh/dsh-docs/subsystems/system-prompt.md +0 -220
  626. package/node_modules/better-dsh/dsh-docs/subsystems/system-prompt.zh.md +0 -220
  627. package/node_modules/better-dsh/dsh-docs/subsystems/terminal.md +0 -184
  628. package/node_modules/better-dsh/dsh-docs/subsystems/terminal.zh.md +0 -184
  629. package/node_modules/better-dsh/dsh-docs/subsystems/todo.md +0 -32
  630. package/node_modules/better-dsh/dsh-docs/subsystems/todo.zh.md +0 -32
  631. package/node_modules/better-dsh/dsh-docs/subsystems/token-meter.md +0 -105
  632. package/node_modules/better-dsh/dsh-docs/subsystems/token-meter.zh.md +0 -105
  633. package/node_modules/better-dsh/dsh-docs/subsystems/tools.md +0 -720
  634. package/node_modules/better-dsh/dsh-docs/subsystems/tools.zh.md +0 -720
  635. package/node_modules/better-dsh/dsh-docs/subsystems/typert.md +0 -343
  636. package/node_modules/better-dsh/dsh-docs/subsystems/typert.zh.md +0 -343
  637. package/node_modules/better-dsh/dsh-docs/subsystems/user-questions.md +0 -178
  638. package/node_modules/better-dsh/dsh-docs/subsystems/user-questions.zh.md +0 -178
  639. package/node_modules/better-dsh/dsh-docs/subsystems/web-client.md +0 -95
  640. package/node_modules/better-dsh/dsh-docs/subsystems/web-client.zh.md +0 -95
  641. package/node_modules/better-dsh/dsh-docs/subsystems/web-server.md +0 -154
  642. package/node_modules/better-dsh/dsh-docs/subsystems/web-server.zh.md +0 -154
  643. package/node_modules/better-dsh/dsh-docs/subsystems/web.md +0 -206
  644. package/node_modules/better-dsh/dsh-docs/subsystems/web.zh.md +0 -206
  645. package/node_modules/better-dsh/dsh-docs/subsystems/webhook.md +0 -70
  646. package/node_modules/better-dsh/dsh-docs/subsystems/webhook.zh.md +0 -70
  647. package/node_modules/better-dsh/dsh-docs/subsystems/workflow.md +0 -278
  648. package/node_modules/better-dsh/dsh-docs/subsystems/workflow.zh.md +0 -278
  649. package/node_modules/better-dsh/dsh-docs/subsystems/workspace.md +0 -321
  650. package/node_modules/better-dsh/dsh-docs/subsystems/workspace.zh.md +0 -321
  651. package/node_modules/better-dsh/dsh-docs/testing.md +0 -54
  652. package/node_modules/better-dsh/dsh-docs/testing.zh.md +0 -54
  653. package/node_modules/better-dsh/dsh-docs/tool-catalog.md +0 -2225
  654. package/node_modules/better-dsh/dsh-docs/tool-catalog.zh.md +0 -2233
  655. package/node_modules/better-dsh/dsh-docs/tool-execution-pipeline.md +0 -62
  656. package/node_modules/better-dsh/dsh-docs/tool-execution-pipeline.zh.md +0 -64
  657. package/node_modules/better-dsh/dsh-docs/user/develop/basic/config.md +0 -106
  658. package/node_modules/better-dsh/dsh-docs/user/develop/basic/config.zh.md +0 -106
  659. package/node_modules/better-dsh/dsh-docs/user/develop/basic/index.md +0 -144
  660. package/node_modules/better-dsh/dsh-docs/user/develop/basic/index.zh.md +0 -144
  661. package/node_modules/better-dsh/dsh-docs/user/develop/basic/publish.md +0 -183
  662. package/node_modules/better-dsh/dsh-docs/user/develop/basic/publish.zh.md +0 -183
  663. package/node_modules/better-dsh/dsh-docs/user/develop/basic/tool.md +0 -52
  664. package/node_modules/better-dsh/dsh-docs/user/develop/basic/tool.zh.md +0 -52
  665. package/node_modules/better-dsh/dsh-docs/user/develop/framework/events.md +0 -143
  666. package/node_modules/better-dsh/dsh-docs/user/develop/framework/events.zh.md +0 -143
  667. package/node_modules/better-dsh/dsh-docs/user/develop/framework/index.md +0 -137
  668. package/node_modules/better-dsh/dsh-docs/user/develop/framework/index.zh.md +0 -137
  669. package/node_modules/better-dsh/dsh-docs/user/develop/framework/service.md +0 -148
  670. package/node_modules/better-dsh/dsh-docs/user/develop/framework/service.zh.md +0 -150
  671. package/node_modules/better-dsh/dsh-docs/user/develop/practice/dynamic-cordis.md +0 -15
  672. package/node_modules/better-dsh/dsh-docs/user/develop/practice/dynamic-cordis.zh.md +0 -15
  673. package/node_modules/better-dsh/dsh-docs/user/develop/practice/index.md +0 -155
  674. package/node_modules/better-dsh/dsh-docs/user/develop/practice/index.zh.md +0 -155
  675. package/node_modules/better-dsh/dsh-docs/user/develop/practice/llm-adapter.md +0 -189
  676. package/node_modules/better-dsh/dsh-docs/user/develop/practice/llm-adapter.zh.md +0 -189
  677. package/node_modules/better-dsh/dsh-docs/user/guide/github-review.md +0 -102
  678. package/node_modules/better-dsh/dsh-docs/user/guide/github-review.zh.md +0 -102
  679. package/node_modules/better-dsh/dsh-docs/user/guide/index.md +0 -30
  680. package/node_modules/better-dsh/dsh-docs/user/guide/index.zh.md +0 -30
  681. package/node_modules/better-dsh/dsh-docs/user/guide/mcp-memory.md +0 -101
  682. package/node_modules/better-dsh/dsh-docs/user/guide/mcp-memory.zh.md +0 -101
  683. package/node_modules/better-dsh/dsh-docs/user/guide/network-proxy.md +0 -85
  684. package/node_modules/better-dsh/dsh-docs/user/guide/network-proxy.zh.md +0 -85
  685. package/node_modules/better-dsh/dsh-docs/user/guide/providers.md +0 -190
  686. package/node_modules/better-dsh/dsh-docs/user/guide/providers.zh.md +0 -190
  687. package/node_modules/better-dsh/dsh-docs/user/guide/python-sdk.md +0 -150
  688. package/node_modules/better-dsh/dsh-docs/user/guide/python-sdk.zh.md +0 -150
  689. package/node_modules/better-dsh/dsh-docs/user/guide/schedule.md +0 -21
  690. package/node_modules/better-dsh/dsh-docs/user/guide/schedule.zh.md +0 -21
  691. package/node_modules/better-dsh/dsh-docs/user/index.md +0 -11
  692. package/node_modules/better-dsh/dsh-docs/user/index.zh.md +0 -11
  693. package/node_modules/better-dsh/dsh-docs/web-styling.md +0 -29
  694. package/node_modules/better-dsh/dsh-docs/web-styling.zh.md +0 -29
  695. package/node_modules/better-dsh/eval-description.md +0 -33
  696. package/node_modules/better-dsh/lib/BrowserWebSocketTransport-D1aFReu_.js +0 -4
  697. package/node_modules/better-dsh/lib/BrowserWebSocketTransport-wm99h94r.js +0 -39
  698. package/node_modules/better-dsh/lib/LaunchOptions-B874eBu2.js +0 -4
  699. package/node_modules/better-dsh/lib/LaunchOptions-kGXcZOe0.js +0 -17
  700. package/node_modules/better-dsh/lib/NodeWebSocketTransport-BRLjmu2R.js +0 -4
  701. package/node_modules/better-dsh/lib/NodeWebSocketTransport-D9ysYGLM.js +0 -3634
  702. package/node_modules/better-dsh/lib/ast-assets/ast-grep.wasm +0 -0
  703. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-bash.wasm +0 -0
  704. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-c.wasm +0 -0
  705. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-cpp.wasm +0 -0
  706. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-css.wasm +0 -0
  707. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-go.wasm +0 -0
  708. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-html.wasm +0 -0
  709. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-javascript.wasm +0 -0
  710. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-json.wasm +0 -0
  711. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-python.wasm +0 -0
  712. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-ruby.wasm +0 -0
  713. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-rust.wasm +0 -0
  714. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-tsx.wasm +0 -0
  715. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-typescript.wasm +0 -0
  716. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-yaml.wasm +0 -0
  717. package/node_modules/better-dsh/lib/ast-assets/tree-sitter.wasm +0 -0
  718. package/node_modules/better-dsh/lib/bidi-BalpKaJc.js +0 -16106
  719. package/node_modules/better-dsh/lib/bundle-delivery.d.ts +0 -20
  720. package/node_modules/better-dsh/lib/bundle-delivery.js +0 -212
  721. package/node_modules/better-dsh/lib/chunk-DQxbwPpZ.js +0 -30
  722. package/node_modules/better-dsh/lib/client/index.js +0 -712
  723. package/node_modules/better-dsh/lib/compaction/index.d.ts +0 -57
  724. package/node_modules/better-dsh/lib/compaction/index.js +0 -145
  725. package/node_modules/better-dsh/lib/failover/index.d.ts +0 -59
  726. package/node_modules/better-dsh/lib/failover/index.js +0 -147
  727. package/node_modules/better-dsh/lib/fs-aware/sandbox-plugin.d.ts +0 -71
  728. package/node_modules/better-dsh/lib/fs-aware/sandbox-plugin.js +0 -249
  729. package/node_modules/better-dsh/lib/hmr.d.ts +0 -32
  730. package/node_modules/better-dsh/lib/hmr.js +0 -49
  731. package/node_modules/better-dsh/lib/index-DTDXUe6m.d.ts +0 -208
  732. package/node_modules/better-dsh/lib/index-browser-CysrjMyM.js +0 -21061
  733. package/node_modules/better-dsh/lib/index.d.ts +0 -705
  734. package/node_modules/better-dsh/lib/index.js +0 -3816
  735. package/node_modules/better-dsh/lib/kernel-bridge.py +0 -172
  736. package/node_modules/better-dsh/lib/kernel-env-D8UOWeji.js +0 -195
  737. package/node_modules/better-dsh/lib/kernel-env.d.ts +0 -80
  738. package/node_modules/better-dsh/lib/kernel-env.js +0 -3
  739. package/node_modules/better-dsh/lib/lib-C8_jXvwA.js +0 -894
  740. package/node_modules/better-dsh/lib/lsp-server-registry-BXvUTBY7.js +0 -3
  741. package/node_modules/better-dsh/lib/lsp-server-registry-CH9WNFFt.js +0 -972
  742. package/node_modules/better-dsh/lib/main-BQeFrBM1.js +0 -3
  743. package/node_modules/better-dsh/lib/main-CupOhMp5.js +0 -1432
  744. package/node_modules/better-dsh/lib/mobile/plugin.d.ts +0 -29
  745. package/node_modules/better-dsh/lib/mobile/plugin.js +0 -54
  746. package/node_modules/better-dsh/lib/native-capture-BEByDXYM.js +0 -68
  747. package/node_modules/better-dsh/lib/puppeteer-core-CSk2PtSm.js +0 -1136
  748. package/node_modules/better-dsh/lib/py-sdk-D7klhpWb.js +0 -178
  749. package/node_modules/better-dsh/lib/py-sdk.d.ts +0 -19
  750. package/node_modules/better-dsh/lib/py-sdk.js +0 -3
  751. package/node_modules/better-dsh/lib/remote/plugin.d.ts +0 -24
  752. package/node_modules/better-dsh/lib/remote/plugin.js +0 -1190
  753. package/node_modules/better-dsh/lib/url-schemes/index.d.ts +0 -88
  754. package/node_modules/better-dsh/lib/url-schemes/index.js +0 -12229
  755. package/node_modules/better-dsh/lib/util-BHL_dfV_.js +0 -2953
  756. package/node_modules/better-dsh/lib/wasm_bg-CNXhHjVg.js +0 -1291
  757. package/node_modules/better-dsh/lib/web-password.d.ts +0 -156
  758. package/node_modules/better-dsh/lib/web-password.js +0 -562
  759. package/node_modules/better-dsh/lib/web-tree-sitter-CPrPD4J2.js +0 -3440
  760. package/node_modules/better-dsh/lib/web-trust-D6gJpUMf.js +0 -393
  761. package/node_modules/better-dsh/lib/web-trust-Dej_RI2B.d.ts +0 -113
  762. package/node_modules/better-dsh/lib/web-trust.d.ts +0 -3
  763. package/node_modules/better-dsh/lib/web-trust.js +0 -4
  764. package/node_modules/better-dsh/lib/webserver.d.ts +0 -10
  765. package/node_modules/better-dsh/lib/webserver.js +0 -19
  766. package/node_modules/better-dsh/lib/welcome-notice.d.ts +0 -18
  767. package/node_modules/better-dsh/lib/welcome-notice.js +0 -59
  768. package/node_modules/better-dsh/lib/wrap-T4I0nfPM.js +0 -750
  769. package/node_modules/better-dsh/package.json +0 -426
  770. package/node_modules/better-dsh/scripts/kernel-provision.mjs +0 -35
  771. package/node_modules/better-dsh/scripts/register-bundle.mjs +0 -80
  772. package/node_modules/better-dsh/url-schemes-instruction.md +0 -22
@@ -1,1432 +0,0 @@
1
- import { createHash } from "node:crypto";
2
- import childProcess, { execFile, execSync, spawn, spawnSync } from "node:child_process";
3
- import { mkdir, readdir, unlink } from "node:fs/promises";
4
- import path from "node:path";
5
- import { URL as URL$1, urlToHttpOptions } from "node:url";
6
- import fs, { accessSync, constants, existsSync, readFileSync } from "node:fs";
7
- import os from "node:os";
8
- import readline from "node:readline";
9
- import { debuglog, promisify } from "node:util";
10
- import { EventEmitter } from "node:events";
11
- import * as http from "node:http";
12
- import * as https from "node:https";
13
-
14
- //#region node_modules/@puppeteer/browsers/lib/browser-data/types.js
15
- /**
16
- * @license
17
- * Copyright 2023 Google Inc.
18
- * SPDX-License-Identifier: Apache-2.0
19
- */
20
- /**
21
- * Supported browsers.
22
- *
23
- * @public
24
- */
25
- var Browser;
26
- (function(Browser$1) {
27
- Browser$1["CHROME"] = "chrome";
28
- Browser$1["CHROMEHEADLESSSHELL"] = "chrome-headless-shell";
29
- Browser$1["CHROMIUM"] = "chromium";
30
- Browser$1["FIREFOX"] = "firefox";
31
- Browser$1["CHROMEDRIVER"] = "chromedriver";
32
- })(Browser || (Browser = {}));
33
- /**
34
- * Platform names used to identify a OS platform x architecture combination in the way
35
- * that is relevant for the browser download.
36
- *
37
- * @public
38
- */
39
- var BrowserPlatform;
40
- (function(BrowserPlatform$1) {
41
- BrowserPlatform$1["LINUX"] = "linux";
42
- BrowserPlatform$1["LINUX_ARM"] = "linux_arm";
43
- BrowserPlatform$1["MAC"] = "mac";
44
- BrowserPlatform$1["MAC_ARM"] = "mac_arm";
45
- BrowserPlatform$1["WIN32"] = "win32";
46
- BrowserPlatform$1["WIN64"] = "win64";
47
- })(BrowserPlatform || (BrowserPlatform = {}));
48
- /**
49
- * Enum describing a release channel for a browser.
50
- *
51
- * You can use this in combination with {@link resolveBuildId} to resolve
52
- * a build ID based on a release channel.
53
- *
54
- * @public
55
- */
56
- var BrowserTag;
57
- (function(BrowserTag$1) {
58
- BrowserTag$1["CANARY"] = "canary";
59
- BrowserTag$1["NIGHTLY"] = "nightly";
60
- BrowserTag$1["BETA"] = "beta";
61
- BrowserTag$1["DEV"] = "dev";
62
- BrowserTag$1["DEVEDITION"] = "devedition";
63
- BrowserTag$1["STABLE"] = "stable";
64
- BrowserTag$1["ESR"] = "esr";
65
- BrowserTag$1["LATEST"] = "latest";
66
- })(BrowserTag || (BrowserTag = {}));
67
- /**
68
- * @public
69
- */
70
- var ChromeReleaseChannel;
71
- (function(ChromeReleaseChannel$1) {
72
- ChromeReleaseChannel$1["STABLE"] = "stable";
73
- ChromeReleaseChannel$1["DEV"] = "dev";
74
- ChromeReleaseChannel$1["CANARY"] = "canary";
75
- ChromeReleaseChannel$1["BETA"] = "beta";
76
- })(ChromeReleaseChannel || (ChromeReleaseChannel = {}));
77
-
78
- //#endregion
79
- //#region node_modules/@puppeteer/browsers/lib/httpUtil.js
80
- async function httpRequest(url, method, response, keepAlive = true) {
81
- let agent;
82
- try {
83
- const { ProxyAgent } = await import("proxy-agent");
84
- agent = new ProxyAgent();
85
- } catch {}
86
- const options = {
87
- protocol: url.protocol,
88
- hostname: url.hostname,
89
- port: url.port,
90
- path: url.pathname + url.search,
91
- method,
92
- headers: keepAlive ? { Connection: "keep-alive" } : void 0,
93
- auth: urlToHttpOptions(url).auth,
94
- agent
95
- };
96
- const requestCallback = (res) => {
97
- if (res.statusCode && res.statusCode >= 300 && res.statusCode < 400 && res.headers.location) {
98
- httpRequest(new URL$1(res.headers.location), method, response);
99
- res.resume();
100
- } else response(res);
101
- };
102
- const request = options.protocol === "https:" ? https.request(options, requestCallback) : http.request(options, requestCallback);
103
- request.end();
104
- return request;
105
- }
106
- async function getJSON(url) {
107
- const text = await getText(url);
108
- try {
109
- return JSON.parse(text);
110
- } catch {
111
- throw new Error("Could not parse JSON from " + url.toString());
112
- }
113
- }
114
- function getText(url) {
115
- return new Promise(async (resolve$1, reject) => {
116
- try {
117
- (await httpRequest(url, "GET", (response) => {
118
- let data = "";
119
- if (response.statusCode && response.statusCode >= 400) return reject(/* @__PURE__ */ new Error(`Got status code ${response.statusCode}`));
120
- response.on("data", (chunk) => {
121
- data += chunk;
122
- });
123
- response.on("end", () => {
124
- try {
125
- return resolve$1(String(data));
126
- } catch {
127
- return reject(/* @__PURE__ */ new Error(`Failed to read text response from ${url}`));
128
- }
129
- });
130
- }, false)).on("error", (err) => {
131
- reject(err);
132
- });
133
- } catch (err) {
134
- reject(err);
135
- }
136
- });
137
- }
138
-
139
- //#endregion
140
- //#region node_modules/@puppeteer/browsers/lib/browser-data/chrome.js
141
- function folder$3(platform) {
142
- switch (platform) {
143
- case BrowserPlatform.LINUX_ARM:
144
- case BrowserPlatform.LINUX: return "linux64";
145
- case BrowserPlatform.MAC_ARM: return "mac-arm64";
146
- case BrowserPlatform.MAC: return "mac-x64";
147
- case BrowserPlatform.WIN32: return "win32";
148
- case BrowserPlatform.WIN64: return "win64";
149
- }
150
- }
151
- function resolveDownloadUrl$4(platform, buildId, baseUrl = "https://storage.googleapis.com/chrome-for-testing-public") {
152
- return `${baseUrl}/${resolveDownloadPath$4(platform, buildId).join("/")}`;
153
- }
154
- function resolveDownloadPath$4(platform, buildId) {
155
- return [
156
- buildId,
157
- folder$3(platform),
158
- `chrome-${folder$3(platform)}.zip`
159
- ];
160
- }
161
- function relativeExecutablePath$4(platform, _buildId) {
162
- switch (platform) {
163
- case BrowserPlatform.MAC:
164
- case BrowserPlatform.MAC_ARM: return path.join("chrome-" + folder$3(platform), "Google Chrome for Testing.app", "Contents", "MacOS", "Google Chrome for Testing");
165
- case BrowserPlatform.LINUX_ARM:
166
- case BrowserPlatform.LINUX: return path.join("chrome-linux64", "chrome");
167
- case BrowserPlatform.WIN32:
168
- case BrowserPlatform.WIN64: return path.join("chrome-" + folder$3(platform), "chrome.exe");
169
- }
170
- }
171
- let baseVersionUrl$1 = "https://googlechromelabs.github.io/chrome-for-testing";
172
- async function getLastKnownGoodReleaseForChannel(channel) {
173
- const data = await getJSON(new URL(`${baseVersionUrl$1}/last-known-good-versions.json`));
174
- for (const channel$1 of Object.keys(data.channels)) {
175
- data.channels[channel$1.toLowerCase()] = data.channels[channel$1];
176
- delete data.channels[channel$1];
177
- }
178
- return data.channels[channel];
179
- }
180
- async function getLastKnownGoodReleaseForMilestone(milestone) {
181
- return (await getJSON(new URL(`${baseVersionUrl$1}/latest-versions-per-milestone.json`))).milestones[milestone];
182
- }
183
- async function getLastKnownGoodReleaseForBuild(buildPrefix) {
184
- return (await getJSON(new URL(`${baseVersionUrl$1}/latest-patch-versions-per-build.json`))).builds[buildPrefix];
185
- }
186
- async function resolveBuildId$3(channel) {
187
- if (Object.values(ChromeReleaseChannel).includes(channel)) return (await getLastKnownGoodReleaseForChannel(channel)).version;
188
- if (channel.match(/^\d+$/)) return (await getLastKnownGoodReleaseForMilestone(channel))?.version;
189
- if (channel.match(/^\d+\.\d+\.\d+$/)) return (await getLastKnownGoodReleaseForBuild(channel))?.version;
190
- }
191
- const WINDOWS_ENV_PARAM_NAMES = [
192
- "PROGRAMFILES",
193
- "ProgramW6432",
194
- "ProgramFiles(x86)",
195
- "LOCALAPPDATA"
196
- ];
197
- function getChromeWindowsLocation(channel, locationsPrefixes) {
198
- if (locationsPrefixes.size === 0) throw new Error("Non of the common Windows Env variables were set");
199
- let suffix;
200
- switch (channel) {
201
- case ChromeReleaseChannel.STABLE:
202
- suffix = "Google\\Chrome\\Application\\chrome.exe";
203
- break;
204
- case ChromeReleaseChannel.BETA:
205
- suffix = "Google\\Chrome Beta\\Application\\chrome.exe";
206
- break;
207
- case ChromeReleaseChannel.CANARY:
208
- suffix = "Google\\Chrome SxS\\Application\\chrome.exe";
209
- break;
210
- case ChromeReleaseChannel.DEV:
211
- suffix = "Google\\Chrome Dev\\Application\\chrome.exe";
212
- break;
213
- }
214
- return [...locationsPrefixes.values()].map((l) => {
215
- return path.win32.join(l, suffix);
216
- });
217
- }
218
- function getWslVariable(variable) {
219
- try {
220
- const result = execSync(`cmd.exe /c echo %${variable.toLocaleUpperCase()}%`, {
221
- stdio: [
222
- "ignore",
223
- "pipe",
224
- "ignore"
225
- ],
226
- encoding: "utf-8"
227
- }).trim();
228
- if (result) return result;
229
- } catch {}
230
- }
231
- function getWslLocation(channel) {
232
- if (!execSync("wslinfo --version", {
233
- stdio: [
234
- "ignore",
235
- "pipe",
236
- "ignore"
237
- ],
238
- encoding: "utf-8"
239
- }).trim()) throw new Error("Not in WSL or unsupported version of WSL.");
240
- const wslPrefixes = /* @__PURE__ */ new Set();
241
- for (const name of WINDOWS_ENV_PARAM_NAMES) {
242
- const wslPrefix = getWslVariable(name);
243
- if (wslPrefix) wslPrefixes.add(wslPrefix);
244
- }
245
- return getChromeWindowsLocation(channel, wslPrefixes).map((path$1) => {
246
- return execSync(`wslpath "${path$1}"`).toString().trim();
247
- });
248
- }
249
- function getChromeLinuxOrWslLocation(channel) {
250
- const locations = [];
251
- switch (channel) {
252
- case ChromeReleaseChannel.STABLE:
253
- locations.push("/opt/google/chrome/chrome");
254
- break;
255
- case ChromeReleaseChannel.BETA:
256
- locations.push("/opt/google/chrome-beta/chrome");
257
- break;
258
- case ChromeReleaseChannel.CANARY:
259
- locations.push("/opt/google/chrome-canary/chrome");
260
- break;
261
- case ChromeReleaseChannel.DEV:
262
- locations.push("/opt/google/chrome-unstable/chrome");
263
- break;
264
- }
265
- try {
266
- const wslPath = getWslLocation(channel);
267
- if (wslPath) locations.push(...wslPath);
268
- } catch {}
269
- return locations;
270
- }
271
- function resolveSystemExecutablePaths$1(platform, channel) {
272
- switch (platform) {
273
- case BrowserPlatform.WIN64:
274
- case BrowserPlatform.WIN32:
275
- const prefixLocation = new Set(WINDOWS_ENV_PARAM_NAMES.map((name) => {
276
- return process.env[name];
277
- }).filter((l) => {
278
- return !!l;
279
- }));
280
- prefixLocation.add("C:\\Program Files");
281
- prefixLocation.add("C:\\Program Files (x86)");
282
- prefixLocation.add("D:\\Program Files");
283
- prefixLocation.add("D:\\Program Files (x86)");
284
- return getChromeWindowsLocation(channel, prefixLocation);
285
- case BrowserPlatform.MAC_ARM:
286
- case BrowserPlatform.MAC: switch (channel) {
287
- case ChromeReleaseChannel.STABLE: return ["/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"];
288
- case ChromeReleaseChannel.BETA: return ["/Applications/Google Chrome Beta.app/Contents/MacOS/Google Chrome Beta"];
289
- case ChromeReleaseChannel.CANARY: return ["/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary"];
290
- case ChromeReleaseChannel.DEV: return ["/Applications/Google Chrome Dev.app/Contents/MacOS/Google Chrome Dev"];
291
- }
292
- case BrowserPlatform.LINUX_ARM:
293
- case BrowserPlatform.LINUX: return getChromeLinuxOrWslLocation(channel);
294
- }
295
- }
296
- function resolveDefaultUserDataDir$1(platform, channel) {
297
- switch (platform) {
298
- case BrowserPlatform.WIN64:
299
- case BrowserPlatform.WIN32: switch (channel) {
300
- case ChromeReleaseChannel.STABLE: return path.join(getLocalAppDataWin(), "Google", "Chrome", "User Data");
301
- case ChromeReleaseChannel.BETA: return path.join(getLocalAppDataWin(), "Google", "Chrome Beta", "User Data");
302
- case ChromeReleaseChannel.CANARY: return path.join(getLocalAppDataWin(), "Google", "Chrome SxS", "User Data");
303
- case ChromeReleaseChannel.DEV: return path.join(getLocalAppDataWin(), "Google", "Chrome Dev", "User Data");
304
- }
305
- case BrowserPlatform.MAC_ARM:
306
- case BrowserPlatform.MAC: switch (channel) {
307
- case ChromeReleaseChannel.STABLE: return path.join(getBaseUserDataDirPathMac(), "Chrome");
308
- case ChromeReleaseChannel.BETA: return path.join(getBaseUserDataDirPathMac(), "Chrome Beta");
309
- case ChromeReleaseChannel.DEV: return path.join(getBaseUserDataDirPathMac(), "Chrome Dev");
310
- case ChromeReleaseChannel.CANARY: return path.join(getBaseUserDataDirPathMac(), "Chrome Canary");
311
- }
312
- case BrowserPlatform.LINUX_ARM:
313
- case BrowserPlatform.LINUX: switch (channel) {
314
- case ChromeReleaseChannel.STABLE: return path.join(getConfigHomeLinux(), "google-chrome");
315
- case ChromeReleaseChannel.BETA: return path.join(getConfigHomeLinux(), "google-chrome-beta");
316
- case ChromeReleaseChannel.CANARY: return path.join(getConfigHomeLinux(), "google-chrome-canary");
317
- case ChromeReleaseChannel.DEV: return path.join(getConfigHomeLinux(), "google-chrome-unstable");
318
- }
319
- }
320
- }
321
- function getLocalAppDataWin() {
322
- return process.env["LOCALAPPDATA"] || path.join(os.homedir(), "AppData", "Local");
323
- }
324
- function getConfigHomeLinux() {
325
- return process.env["CHROME_CONFIG_HOME"] || process.env["XDG_CONFIG_HOME"] || path.join(os.homedir(), ".config");
326
- }
327
- function getBaseUserDataDirPathMac() {
328
- return path.join(os.homedir(), "Library", "Application Support", "Google");
329
- }
330
- function compareVersions$2(a, b) {
331
- const cleanA = a.trim();
332
- const cleanB = b.trim();
333
- const versionRegex = /^\d+(?:\.\d+){0,3}$/;
334
- if (!versionRegex.test(cleanA)) throw new Error(`Version ${a} is not a valid Chrome version`);
335
- if (!versionRegex.test(cleanB)) throw new Error(`Version ${b} is not a valid Chrome version`);
336
- const aParts = cleanA.split(".").map(Number);
337
- const bParts = cleanB.split(".").map(Number);
338
- for (let i = 0; i < 4; i++) {
339
- const aPart = aParts[i] ?? 0;
340
- const bPart = bParts[i] ?? 0;
341
- if (aPart > bPart) return 1;
342
- if (aPart < bPart) return -1;
343
- }
344
- return 0;
345
- }
346
-
347
- //#endregion
348
- //#region node_modules/@puppeteer/browsers/lib/browser-data/chrome-headless-shell.js
349
- function folder$2(platform) {
350
- switch (platform) {
351
- case BrowserPlatform.LINUX_ARM:
352
- case BrowserPlatform.LINUX: return "linux64";
353
- case BrowserPlatform.MAC_ARM: return "mac-arm64";
354
- case BrowserPlatform.MAC: return "mac-x64";
355
- case BrowserPlatform.WIN32: return "win32";
356
- case BrowserPlatform.WIN64: return "win64";
357
- }
358
- }
359
- function resolveDownloadUrl$3(platform, buildId, baseUrl = "https://storage.googleapis.com/chrome-for-testing-public") {
360
- return `${baseUrl}/${resolveDownloadPath$3(platform, buildId).join("/")}`;
361
- }
362
- function resolveDownloadPath$3(platform, buildId) {
363
- return [
364
- buildId,
365
- folder$2(platform),
366
- `chrome-headless-shell-${folder$2(platform)}.zip`
367
- ];
368
- }
369
- function relativeExecutablePath$3(platform, _buildId) {
370
- switch (platform) {
371
- case BrowserPlatform.MAC:
372
- case BrowserPlatform.MAC_ARM: return path.join("chrome-headless-shell-" + folder$2(platform), "chrome-headless-shell");
373
- case BrowserPlatform.LINUX_ARM:
374
- case BrowserPlatform.LINUX: return path.join("chrome-headless-shell-linux64", "chrome-headless-shell");
375
- case BrowserPlatform.WIN32:
376
- case BrowserPlatform.WIN64: return path.join("chrome-headless-shell-" + folder$2(platform), "chrome-headless-shell.exe");
377
- }
378
- }
379
-
380
- //#endregion
381
- //#region node_modules/@puppeteer/browsers/lib/browser-data/chromedriver.js
382
- function folder$1(platform) {
383
- switch (platform) {
384
- case BrowserPlatform.LINUX_ARM:
385
- case BrowserPlatform.LINUX: return "linux64";
386
- case BrowserPlatform.MAC_ARM: return "mac-arm64";
387
- case BrowserPlatform.MAC: return "mac-x64";
388
- case BrowserPlatform.WIN32: return "win32";
389
- case BrowserPlatform.WIN64: return "win64";
390
- }
391
- }
392
- function resolveDownloadUrl$2(platform, buildId, baseUrl = "https://storage.googleapis.com/chrome-for-testing-public") {
393
- return `${baseUrl}/${resolveDownloadPath$2(platform, buildId).join("/")}`;
394
- }
395
- function resolveDownloadPath$2(platform, buildId) {
396
- return [
397
- buildId,
398
- folder$1(platform),
399
- `chromedriver-${folder$1(platform)}.zip`
400
- ];
401
- }
402
- function relativeExecutablePath$2(platform, _buildId) {
403
- switch (platform) {
404
- case BrowserPlatform.MAC:
405
- case BrowserPlatform.MAC_ARM: return path.join("chromedriver-" + folder$1(platform), "chromedriver");
406
- case BrowserPlatform.LINUX_ARM:
407
- case BrowserPlatform.LINUX: return path.join("chromedriver-linux64", "chromedriver");
408
- case BrowserPlatform.WIN32:
409
- case BrowserPlatform.WIN64: return path.join("chromedriver-" + folder$1(platform), "chromedriver.exe");
410
- }
411
- }
412
-
413
- //#endregion
414
- //#region node_modules/@puppeteer/browsers/lib/browser-data/chromium.js
415
- function archive$1(platform, buildId) {
416
- switch (platform) {
417
- case BrowserPlatform.LINUX_ARM:
418
- case BrowserPlatform.LINUX: return "chrome-linux";
419
- case BrowserPlatform.MAC_ARM:
420
- case BrowserPlatform.MAC: return "chrome-mac";
421
- case BrowserPlatform.WIN32:
422
- case BrowserPlatform.WIN64: return parseInt(buildId, 10) > 591479 ? "chrome-win" : "chrome-win32";
423
- }
424
- }
425
- function folder(platform) {
426
- switch (platform) {
427
- case BrowserPlatform.LINUX_ARM:
428
- case BrowserPlatform.LINUX: return "Linux_x64";
429
- case BrowserPlatform.MAC_ARM: return "Mac_Arm";
430
- case BrowserPlatform.MAC: return "Mac";
431
- case BrowserPlatform.WIN32: return "Win";
432
- case BrowserPlatform.WIN64: return "Win_x64";
433
- }
434
- }
435
- function resolveDownloadUrl$1(platform, buildId, baseUrl = "https://storage.googleapis.com/chromium-browser-snapshots") {
436
- return `${baseUrl}/${resolveDownloadPath$1(platform, buildId).join("/")}`;
437
- }
438
- function resolveDownloadPath$1(platform, buildId) {
439
- return [
440
- folder(platform),
441
- buildId,
442
- `${archive$1(platform, buildId)}.zip`
443
- ];
444
- }
445
- function relativeExecutablePath$1(platform, _buildId) {
446
- switch (platform) {
447
- case BrowserPlatform.MAC:
448
- case BrowserPlatform.MAC_ARM: return path.join("chrome-mac", "Chromium.app", "Contents", "MacOS", "Chromium");
449
- case BrowserPlatform.LINUX_ARM:
450
- case BrowserPlatform.LINUX: return path.join("chrome-linux", "chrome");
451
- case BrowserPlatform.WIN32:
452
- case BrowserPlatform.WIN64: return path.join("chrome-win", "chrome.exe");
453
- }
454
- }
455
- async function resolveBuildId$2(platform) {
456
- return await getText(new URL(`https://storage.googleapis.com/chromium-browser-snapshots/${folder(platform)}/LAST_CHANGE`));
457
- }
458
- function compareVersions$1(a, b) {
459
- return Number(a) - Number(b);
460
- }
461
-
462
- //#endregion
463
- //#region node_modules/@puppeteer/browsers/lib/browser-data/firefox.js
464
- function getFormat(buildId) {
465
- return Number(buildId.split(".").shift()) >= 135 ? "xz" : "bz2";
466
- }
467
- function archiveNightly(platform, buildId) {
468
- switch (platform) {
469
- case BrowserPlatform.LINUX: return `firefox-${buildId}.en-US.linux-x86_64.tar.${getFormat(buildId)}`;
470
- case BrowserPlatform.LINUX_ARM: return `firefox-${buildId}.en-US.linux-aarch64.tar.${getFormat(buildId)}`;
471
- case BrowserPlatform.MAC_ARM:
472
- case BrowserPlatform.MAC: return `firefox-${buildId}.en-US.mac.dmg`;
473
- case BrowserPlatform.WIN32:
474
- case BrowserPlatform.WIN64: return `firefox-${buildId}.en-US.${platform}.zip`;
475
- }
476
- }
477
- function archive(platform, buildId) {
478
- switch (platform) {
479
- case BrowserPlatform.LINUX_ARM:
480
- case BrowserPlatform.LINUX: return `firefox-${buildId}.tar.${getFormat(buildId)}`;
481
- case BrowserPlatform.MAC_ARM:
482
- case BrowserPlatform.MAC: return `Firefox ${buildId}.dmg`;
483
- case BrowserPlatform.WIN32:
484
- case BrowserPlatform.WIN64: return `Firefox Setup ${buildId}.exe`;
485
- }
486
- }
487
- function platformName(platform) {
488
- switch (platform) {
489
- case BrowserPlatform.LINUX: return `linux-x86_64`;
490
- case BrowserPlatform.LINUX_ARM: return `linux-aarch64`;
491
- case BrowserPlatform.MAC_ARM:
492
- case BrowserPlatform.MAC: return `mac`;
493
- case BrowserPlatform.WIN32:
494
- case BrowserPlatform.WIN64: return platform;
495
- }
496
- }
497
- function parseBuildId(buildId) {
498
- for (const value of Object.values(FirefoxChannel)) if (buildId.startsWith(value + "_")) {
499
- buildId = buildId.substring(value.length + 1);
500
- return [value, buildId];
501
- }
502
- return [FirefoxChannel.NIGHTLY, buildId];
503
- }
504
- function resolveDownloadUrl(platform, buildId, baseUrl) {
505
- const [channel] = parseBuildId(buildId);
506
- switch (channel) {
507
- case FirefoxChannel.NIGHTLY:
508
- baseUrl ??= "https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central";
509
- break;
510
- case FirefoxChannel.DEVEDITION:
511
- baseUrl ??= "https://archive.mozilla.org/pub/devedition/releases";
512
- break;
513
- case FirefoxChannel.BETA:
514
- case FirefoxChannel.STABLE:
515
- case FirefoxChannel.ESR:
516
- baseUrl ??= "https://archive.mozilla.org/pub/firefox/releases";
517
- break;
518
- }
519
- return `${baseUrl}/${resolveDownloadPath(platform, buildId).join("/")}`;
520
- }
521
- function resolveDownloadPath(platform, buildId) {
522
- const [channel, resolvedBuildId] = parseBuildId(buildId);
523
- switch (channel) {
524
- case FirefoxChannel.NIGHTLY: return [archiveNightly(platform, resolvedBuildId)];
525
- case FirefoxChannel.DEVEDITION:
526
- case FirefoxChannel.BETA:
527
- case FirefoxChannel.STABLE:
528
- case FirefoxChannel.ESR: return [
529
- resolvedBuildId,
530
- platformName(platform),
531
- "en-US",
532
- archive(platform, resolvedBuildId)
533
- ];
534
- }
535
- }
536
- function relativeExecutablePath(platform, buildId) {
537
- const [channel] = parseBuildId(buildId);
538
- switch (channel) {
539
- case FirefoxChannel.NIGHTLY: switch (platform) {
540
- case BrowserPlatform.MAC_ARM:
541
- case BrowserPlatform.MAC: return path.join("Firefox Nightly.app", "Contents", "MacOS", "firefox");
542
- case BrowserPlatform.LINUX_ARM:
543
- case BrowserPlatform.LINUX: return path.join("firefox", "firefox");
544
- case BrowserPlatform.WIN32:
545
- case BrowserPlatform.WIN64: return path.join("firefox", "firefox.exe");
546
- }
547
- case FirefoxChannel.BETA:
548
- case FirefoxChannel.DEVEDITION:
549
- case FirefoxChannel.ESR:
550
- case FirefoxChannel.STABLE: switch (platform) {
551
- case BrowserPlatform.MAC_ARM:
552
- case BrowserPlatform.MAC: return path.join("Firefox.app", "Contents", "MacOS", "firefox");
553
- case BrowserPlatform.LINUX_ARM:
554
- case BrowserPlatform.LINUX: return path.join("firefox", "firefox");
555
- case BrowserPlatform.WIN32:
556
- case BrowserPlatform.WIN64: return path.join("core", "firefox.exe");
557
- }
558
- }
559
- }
560
- var FirefoxChannel;
561
- (function(FirefoxChannel$1) {
562
- FirefoxChannel$1["STABLE"] = "stable";
563
- FirefoxChannel$1["ESR"] = "esr";
564
- FirefoxChannel$1["DEVEDITION"] = "devedition";
565
- FirefoxChannel$1["BETA"] = "beta";
566
- FirefoxChannel$1["NIGHTLY"] = "nightly";
567
- })(FirefoxChannel || (FirefoxChannel = {}));
568
- let baseVersionUrl = "https://product-details.mozilla.org/1.0";
569
- async function resolveBuildId$1(channel = FirefoxChannel.NIGHTLY) {
570
- const channelToVersionKey = {
571
- [FirefoxChannel.ESR]: "FIREFOX_ESR",
572
- [FirefoxChannel.STABLE]: "LATEST_FIREFOX_VERSION",
573
- [FirefoxChannel.DEVEDITION]: "FIREFOX_DEVEDITION",
574
- [FirefoxChannel.BETA]: "FIREFOX_DEVEDITION",
575
- [FirefoxChannel.NIGHTLY]: "FIREFOX_NIGHTLY"
576
- };
577
- const version = (await getJSON(new URL(`${baseVersionUrl}/firefox_versions.json`)))[channelToVersionKey[channel]];
578
- if (!version) throw new Error(`Channel ${channel} is not found.`);
579
- return channel + "_" + version;
580
- }
581
- async function createProfile$1(options) {
582
- if (!fs.existsSync(options.path)) await fs.promises.mkdir(options.path, { recursive: true });
583
- await syncPreferences({
584
- preferences: {
585
- ...defaultProfilePreferences(options.preferences),
586
- ...options.preferences
587
- },
588
- path: options.path
589
- });
590
- }
591
- function defaultProfilePreferences(extraPrefs) {
592
- const server = "dummy.test";
593
- const defaultPrefs = {
594
- "app.normandy.api_url": "",
595
- "app.update.checkInstallTime": false,
596
- "app.update.disabledForTesting": true,
597
- "apz.content_response_timeout": 6e4,
598
- "browser.contentblocking.features.standard": "-tp,tpPrivate,cookieBehavior0,-cryptoTP,-fp",
599
- "browser.dom.window.dump.enabled": true,
600
- "browser.newtabpage.activity-stream.feeds.system.topstories": false,
601
- "browser.newtabpage.enabled": false,
602
- "browser.pagethumbnails.capturing_disabled": true,
603
- "browser.safebrowsing.blockedURIs.enabled": false,
604
- "browser.safebrowsing.downloads.enabled": false,
605
- "browser.safebrowsing.malware.enabled": false,
606
- "browser.safebrowsing.phishing.enabled": false,
607
- "browser.search.update": false,
608
- "browser.sessionstore.resume_from_crash": false,
609
- "browser.shell.checkDefaultBrowser": false,
610
- "browser.startup.homepage": "about:blank",
611
- "browser.startup.homepage_override.mstone": "ignore",
612
- "browser.startup.page": 0,
613
- "browser.tabs.disableBackgroundZombification": false,
614
- "browser.tabs.warnOnCloseOtherTabs": false,
615
- "browser.tabs.warnOnOpen": false,
616
- "browser.translations.automaticallyPopup": false,
617
- "browser.uitour.enabled": false,
618
- "browser.urlbar.suggest.searches": false,
619
- "browser.usedOnWindows10.introURL": "",
620
- "browser.warnOnQuit": false,
621
- "datareporting.healthreport.documentServerURI": `http://${server}/dummy/healthreport/`,
622
- "datareporting.healthreport.logging.consoleEnabled": false,
623
- "datareporting.healthreport.service.enabled": false,
624
- "datareporting.healthreport.service.firstRun": false,
625
- "datareporting.healthreport.uploadEnabled": false,
626
- "datareporting.policy.dataSubmissionEnabled": false,
627
- "datareporting.policy.dataSubmissionPolicyBypassNotification": true,
628
- "devtools.jsonview.enabled": false,
629
- "dom.disable_open_during_load": false,
630
- "dom.file.createInChild": true,
631
- "dom.ipc.reportProcessHangs": false,
632
- "dom.max_chrome_script_run_time": 0,
633
- "dom.max_script_run_time": 0,
634
- "extensions.autoDisableScopes": 0,
635
- "extensions.enabledScopes": 5,
636
- "extensions.getAddons.cache.enabled": false,
637
- "extensions.installDistroAddons": false,
638
- "extensions.update.enabled": false,
639
- "extensions.update.notifyUser": false,
640
- "extensions.webservice.discoverURL": `http://${server}/dummy/discoveryURL`,
641
- "focusmanager.testmode": true,
642
- "general.useragent.updates.enabled": false,
643
- "geo.provider.testing": true,
644
- "geo.wifi.scan": false,
645
- "hangmonitor.timeout": 0,
646
- "javascript.options.showInConsole": true,
647
- "media.gmp-manager.updateEnabled": false,
648
- "media.sanity-test.disabled": true,
649
- "network.cookie.sameSite.laxByDefault": false,
650
- "network.http.prompt-temp-redirect": false,
651
- "network.http.speculative-parallel-limit": 0,
652
- "network.manage-offline-status": false,
653
- "network.sntp.pools": server,
654
- "plugin.state.flash": 0,
655
- "privacy.trackingprotection.enabled": false,
656
- "remote.enabled": true,
657
- "remote.bidi.dismiss_file_pickers.enabled": true,
658
- "screenshots.browser.component.enabled": false,
659
- "security.certerrors.mitm.priming.enabled": false,
660
- "security.fileuri.strict_origin_policy": false,
661
- "security.notification_enable_delay": 0,
662
- "services.settings.server": `http://${server}/dummy/blocklist/`,
663
- "signon.autofillForms": false,
664
- "signon.rememberSignons": false,
665
- "startup.homepage_welcome_url": "about:blank",
666
- "startup.homepage_welcome_url.additional": "",
667
- "toolkit.cosmeticAnimations.enabled": false,
668
- "toolkit.startup.max_resumed_crashes": -1
669
- };
670
- return Object.assign(defaultPrefs, extraPrefs);
671
- }
672
- async function backupFile(input) {
673
- if (!fs.existsSync(input)) return;
674
- await fs.promises.copyFile(input, input + ".puppeteer");
675
- }
676
- /**
677
- * Populates the user.js file with custom preferences as needed to allow
678
- * Firefox's support to properly function. These preferences will be
679
- * automatically copied over to prefs.js during startup of Firefox. To be
680
- * able to restore the original values of preferences a backup of prefs.js
681
- * will be created.
682
- */
683
- async function syncPreferences(options) {
684
- const prefsPath = path.join(options.path, "prefs.js");
685
- const userPath = path.join(options.path, "user.js");
686
- const lines = Object.entries(options.preferences).map(([key, value]) => {
687
- return `user_pref(${JSON.stringify(key)}, ${JSON.stringify(value)});`;
688
- });
689
- const result = await Promise.allSettled([backupFile(userPath).then(async () => {
690
- await fs.promises.writeFile(userPath, lines.join("\n"));
691
- }), backupFile(prefsPath)]);
692
- for (const command of result) if (command.status === "rejected") throw command.reason;
693
- }
694
- function compareVersions(a, b) {
695
- return parseInt(a.replace(".", ""), 16) - parseInt(b.replace(".", ""), 16);
696
- }
697
-
698
- //#endregion
699
- //#region node_modules/@puppeteer/browsers/lib/browser-data/browser-data.js
700
- const downloadUrls = {
701
- [Browser.CHROMEDRIVER]: resolveDownloadUrl$2,
702
- [Browser.CHROMEHEADLESSSHELL]: resolveDownloadUrl$3,
703
- [Browser.CHROME]: resolveDownloadUrl$4,
704
- [Browser.CHROMIUM]: resolveDownloadUrl$1,
705
- [Browser.FIREFOX]: resolveDownloadUrl
706
- };
707
- const downloadPaths = {
708
- [Browser.CHROMEDRIVER]: resolveDownloadPath$2,
709
- [Browser.CHROMEHEADLESSSHELL]: resolveDownloadPath$3,
710
- [Browser.CHROME]: resolveDownloadPath$4,
711
- [Browser.CHROMIUM]: resolveDownloadPath$1,
712
- [Browser.FIREFOX]: resolveDownloadPath
713
- };
714
- const executablePathByBrowser = {
715
- [Browser.CHROMEDRIVER]: relativeExecutablePath$2,
716
- [Browser.CHROMEHEADLESSSHELL]: relativeExecutablePath$3,
717
- [Browser.CHROME]: relativeExecutablePath$4,
718
- [Browser.CHROMIUM]: relativeExecutablePath$1,
719
- [Browser.FIREFOX]: relativeExecutablePath
720
- };
721
- const versionComparators = {
722
- [Browser.CHROMEDRIVER]: compareVersions$2,
723
- [Browser.CHROMEHEADLESSSHELL]: compareVersions$2,
724
- [Browser.CHROME]: compareVersions$2,
725
- [Browser.CHROMIUM]: compareVersions$1,
726
- [Browser.FIREFOX]: compareVersions
727
- };
728
- /**
729
- * @internal
730
- */
731
- async function resolveBuildIdForBrowserTag(browser, platform, tag) {
732
- switch (browser) {
733
- case Browser.FIREFOX: switch (tag) {
734
- case BrowserTag.LATEST: return await resolveBuildId$1(FirefoxChannel.NIGHTLY);
735
- case BrowserTag.BETA: return await resolveBuildId$1(FirefoxChannel.BETA);
736
- case BrowserTag.NIGHTLY: return await resolveBuildId$1(FirefoxChannel.NIGHTLY);
737
- case BrowserTag.DEVEDITION: return await resolveBuildId$1(FirefoxChannel.DEVEDITION);
738
- case BrowserTag.STABLE: return await resolveBuildId$1(FirefoxChannel.STABLE);
739
- case BrowserTag.ESR: return await resolveBuildId$1(FirefoxChannel.ESR);
740
- case BrowserTag.CANARY:
741
- case BrowserTag.DEV: throw new Error(`${tag.toUpperCase()} is not available for Firefox`);
742
- }
743
- case Browser.CHROME: switch (tag) {
744
- case BrowserTag.LATEST: return await resolveBuildId$3(ChromeReleaseChannel.CANARY);
745
- case BrowserTag.BETA: return await resolveBuildId$3(ChromeReleaseChannel.BETA);
746
- case BrowserTag.CANARY: return await resolveBuildId$3(ChromeReleaseChannel.CANARY);
747
- case BrowserTag.DEV: return await resolveBuildId$3(ChromeReleaseChannel.DEV);
748
- case BrowserTag.STABLE: return await resolveBuildId$3(ChromeReleaseChannel.STABLE);
749
- case BrowserTag.NIGHTLY:
750
- case BrowserTag.DEVEDITION:
751
- case BrowserTag.ESR: throw new Error(`${tag.toUpperCase()} is not available for Chrome`);
752
- }
753
- case Browser.CHROMEDRIVER: switch (tag) {
754
- case BrowserTag.LATEST:
755
- case BrowserTag.CANARY: return await resolveBuildId$3(ChromeReleaseChannel.CANARY);
756
- case BrowserTag.BETA: return await resolveBuildId$3(ChromeReleaseChannel.BETA);
757
- case BrowserTag.DEV: return await resolveBuildId$3(ChromeReleaseChannel.DEV);
758
- case BrowserTag.STABLE: return await resolveBuildId$3(ChromeReleaseChannel.STABLE);
759
- case BrowserTag.NIGHTLY:
760
- case BrowserTag.DEVEDITION:
761
- case BrowserTag.ESR: throw new Error(`${tag.toUpperCase()} is not available for ChromeDriver`);
762
- }
763
- case Browser.CHROMEHEADLESSSHELL: switch (tag) {
764
- case BrowserTag.LATEST:
765
- case BrowserTag.CANARY: return await resolveBuildId$3(ChromeReleaseChannel.CANARY);
766
- case BrowserTag.BETA: return await resolveBuildId$3(ChromeReleaseChannel.BETA);
767
- case BrowserTag.DEV: return await resolveBuildId$3(ChromeReleaseChannel.DEV);
768
- case BrowserTag.STABLE: return await resolveBuildId$3(ChromeReleaseChannel.STABLE);
769
- case BrowserTag.NIGHTLY:
770
- case BrowserTag.DEVEDITION:
771
- case BrowserTag.ESR: throw new Error(`${tag} is not available for chrome-headless-shell`);
772
- }
773
- case Browser.CHROMIUM: switch (tag) {
774
- case BrowserTag.LATEST: return await resolveBuildId$2(platform);
775
- case BrowserTag.NIGHTLY:
776
- case BrowserTag.CANARY:
777
- case BrowserTag.DEV:
778
- case BrowserTag.DEVEDITION:
779
- case BrowserTag.BETA:
780
- case BrowserTag.STABLE:
781
- case BrowserTag.ESR: throw new Error(`${tag} is not supported for Chromium. Use 'latest' instead.`);
782
- }
783
- }
784
- }
785
- /**
786
- * @public
787
- */
788
- async function resolveBuildId(browser, platform, tag) {
789
- const browserTag = tag;
790
- if (Object.values(BrowserTag).includes(browserTag)) return await resolveBuildIdForBrowserTag(browser, platform, browserTag);
791
- switch (browser) {
792
- case Browser.FIREFOX: return tag;
793
- case Browser.CHROME:
794
- const chromeResult = await resolveBuildId$3(tag);
795
- if (chromeResult) return chromeResult;
796
- return tag;
797
- case Browser.CHROMEDRIVER:
798
- const chromeDriverResult = await resolveBuildId$3(tag);
799
- if (chromeDriverResult) return chromeDriverResult;
800
- return tag;
801
- case Browser.CHROMEHEADLESSSHELL:
802
- const chromeHeadlessShellResult = await resolveBuildId$3(tag);
803
- if (chromeHeadlessShellResult) return chromeHeadlessShellResult;
804
- return tag;
805
- case Browser.CHROMIUM: return tag;
806
- }
807
- }
808
- /**
809
- * @public
810
- */
811
- async function createProfile(browser, opts) {
812
- switch (browser) {
813
- case Browser.FIREFOX: return await createProfile$1(opts);
814
- case Browser.CHROME:
815
- case Browser.CHROMIUM: throw new Error(`Profile creation is not support for ${browser} yet`);
816
- }
817
- }
818
- /**
819
- * Returns the expected default user data dir for the given channel. It does not
820
- * check if the dir actually exists.
821
- *
822
- * @public
823
- */
824
- function resolveDefaultUserDataDir(browser, platform, channel) {
825
- switch (browser) {
826
- case Browser.CHROMEDRIVER:
827
- case Browser.CHROMEHEADLESSSHELL:
828
- case Browser.FIREFOX:
829
- case Browser.CHROMIUM: throw new Error(`Default user dir detection is not supported for ${browser} yet.`);
830
- case Browser.CHROME: return resolveDefaultUserDataDir$1(platform, channel);
831
- }
832
- }
833
- /**
834
- * @internal
835
- *
836
- * Returns multiple paths where the executable may be located at on the current system
837
- * ordered by likelihood (based on heuristics).
838
- */
839
- function resolveSystemExecutablePaths(browser, platform, channel) {
840
- switch (browser) {
841
- case Browser.CHROMEDRIVER:
842
- case Browser.CHROMEHEADLESSSHELL:
843
- case Browser.FIREFOX:
844
- case Browser.CHROMIUM: throw new Error(`System browser detection is not supported for ${browser} yet.`);
845
- case Browser.CHROME: return resolveSystemExecutablePaths$1(platform, channel);
846
- }
847
- }
848
- /**
849
- * Returns a version comparator for the given browser that can be used to sort
850
- * browser versions.
851
- *
852
- * @public
853
- */
854
- function getVersionComparator(browser) {
855
- return versionComparators[browser];
856
- }
857
-
858
- //#endregion
859
- //#region node_modules/@puppeteer/browsers/lib/debug.js
860
- const debug = (prefix) => {
861
- const log = debuglog(prefix);
862
- return log.enabled ? log : void 0;
863
- };
864
-
865
- //#endregion
866
- //#region node_modules/@puppeteer/browsers/lib/detectPlatform.js
867
- /**
868
- * @public
869
- */
870
- function detectBrowserPlatform() {
871
- const platform = os.platform();
872
- const arch = os.arch();
873
- switch (platform) {
874
- case "darwin": return arch === "arm64" ? BrowserPlatform.MAC_ARM : BrowserPlatform.MAC;
875
- case "linux": return arch === "arm64" ? BrowserPlatform.LINUX_ARM : BrowserPlatform.LINUX;
876
- case "win32": return arch === "x64" || arch === "arm64" && isWindows11(os.release()) ? BrowserPlatform.WIN64 : BrowserPlatform.WIN32;
877
- default: return;
878
- }
879
- }
880
- /**
881
- * Windows 11 is identified by the version 10.0.22000 or greater
882
- * @internal
883
- */
884
- function isWindows11(version) {
885
- const parts = version.split(".");
886
- if (parts.length > 2) {
887
- const major = parseInt(parts[0], 10);
888
- const minor = parseInt(parts[1], 10);
889
- const patch = parseInt(parts[2], 10);
890
- return major > 10 || major === 10 && minor > 0 || major === 10 && minor === 0 && patch >= 22e3;
891
- }
892
- return false;
893
- }
894
-
895
- //#endregion
896
- //#region node_modules/@puppeteer/browsers/lib/Cache.js
897
- const debugCache = debug("puppeteer:browsers:cache");
898
- /**
899
- * @public
900
- */
901
- var InstalledBrowser = class {
902
- browser;
903
- buildId;
904
- platform;
905
- executablePath;
906
- #cache;
907
- /**
908
- * @internal
909
- */
910
- constructor(cache, browser, buildId, platform) {
911
- this.#cache = cache;
912
- this.browser = browser;
913
- this.buildId = buildId;
914
- this.platform = platform;
915
- this.executablePath = cache.computeExecutablePath({
916
- browser,
917
- buildId,
918
- platform
919
- });
920
- }
921
- /**
922
- * Path to the root of the installation folder. Use
923
- * {@link computeExecutablePath} to get the path to the executable binary.
924
- */
925
- get path() {
926
- return this.#cache.installationDir(this.browser, this.platform, this.buildId);
927
- }
928
- readMetadata() {
929
- return this.#cache.readMetadata(this.browser);
930
- }
931
- writeMetadata(metadata) {
932
- this.#cache.writeMetadata(this.browser, metadata);
933
- }
934
- };
935
- /**
936
- * The cache used by Puppeteer relies on the following structure:
937
- *
938
- * - rootDir
939
- * -- <browser1> | browserRoot(browser1)
940
- * ---- <platform>-<buildId> | installationDir()
941
- * ------ the browser-platform-buildId
942
- * ------ specific structure.
943
- * -- <browser2> | browserRoot(browser2)
944
- * ---- <platform>-<buildId> | installationDir()
945
- * ------ the browser-platform-buildId
946
- * ------ specific structure.
947
- * @internal
948
- */
949
- var Cache = class {
950
- #rootDir;
951
- constructor(rootDir) {
952
- this.#rootDir = rootDir;
953
- }
954
- /**
955
- * @internal
956
- */
957
- get rootDir() {
958
- return this.#rootDir;
959
- }
960
- browserRoot(browser) {
961
- return path.join(this.#rootDir, browser);
962
- }
963
- metadataFile(browser) {
964
- return path.join(this.browserRoot(browser), ".metadata");
965
- }
966
- readMetadata(browser) {
967
- const metatadaPath = this.metadataFile(browser);
968
- if (!fs.existsSync(metatadaPath)) return { aliases: {} };
969
- const data = JSON.parse(fs.readFileSync(metatadaPath, "utf8"));
970
- if (typeof data !== "object") throw new Error(".metadata is not an object");
971
- return data;
972
- }
973
- writeMetadata(browser, metadata) {
974
- const metatadaPath = this.metadataFile(browser);
975
- fs.mkdirSync(path.dirname(metatadaPath), { recursive: true });
976
- fs.writeFileSync(metatadaPath, JSON.stringify(metadata, null, 2));
977
- }
978
- readExecutablePath(browser, platform, buildId) {
979
- const metadata = this.readMetadata(browser);
980
- const key = `${platform}-${buildId}`;
981
- return metadata.executablePaths?.[key] ?? null;
982
- }
983
- writeExecutablePath(browser, platform, buildId, executablePath) {
984
- const metadata = this.readMetadata(browser);
985
- if (!metadata.executablePaths) metadata.executablePaths = {};
986
- const key = `${platform}-${buildId}`;
987
- metadata.executablePaths[key] = executablePath;
988
- this.writeMetadata(browser, metadata);
989
- }
990
- resolveAlias(browser, alias) {
991
- const metadata = this.readMetadata(browser);
992
- if (alias === "latest") return Object.values(metadata.aliases || {}).sort(getVersionComparator(browser)).at(-1);
993
- return metadata.aliases[alias];
994
- }
995
- installationDir(browser, platform, buildId) {
996
- return path.join(this.browserRoot(browser), `${platform}-${buildId}`);
997
- }
998
- clear() {
999
- fs.rmSync(this.#rootDir, {
1000
- force: true,
1001
- recursive: true,
1002
- maxRetries: 10,
1003
- retryDelay: 500
1004
- });
1005
- }
1006
- uninstall(browser, platform, buildId) {
1007
- const metadata = this.readMetadata(browser);
1008
- for (const alias of Object.keys(metadata.aliases)) if (metadata.aliases[alias] === buildId) delete metadata.aliases[alias];
1009
- const key = `${platform}-${buildId}`;
1010
- if (metadata.executablePaths?.[key]) {
1011
- delete metadata.executablePaths[key];
1012
- this.writeMetadata(browser, metadata);
1013
- }
1014
- fs.rmSync(this.installationDir(browser, platform, buildId), {
1015
- force: true,
1016
- recursive: true,
1017
- maxRetries: 10,
1018
- retryDelay: 500
1019
- });
1020
- }
1021
- getInstalledBrowsers() {
1022
- if (!fs.existsSync(this.#rootDir)) return [];
1023
- return fs.readdirSync(this.#rootDir).filter((t) => {
1024
- return Object.values(Browser).includes(t);
1025
- }).flatMap((browser) => {
1026
- return fs.readdirSync(this.browserRoot(browser)).map((file) => {
1027
- const result = parseFolderPath(path.join(this.browserRoot(browser), file));
1028
- if (!result) return null;
1029
- return new InstalledBrowser(this, browser, result.buildId, result.platform);
1030
- }).filter((item) => {
1031
- return item !== null;
1032
- });
1033
- });
1034
- }
1035
- computeExecutablePath(options) {
1036
- options.platform ??= detectBrowserPlatform();
1037
- if (!options.platform) throw new Error(`Cannot download a binary for the provided platform: ${os.platform()} (${os.arch()})`);
1038
- try {
1039
- options.buildId = this.resolveAlias(options.browser, options.buildId) ?? options.buildId;
1040
- } catch {
1041
- debugCache?.("could not read .metadata file for the browser");
1042
- }
1043
- const installationDir = this.installationDir(options.browser, options.platform, options.buildId);
1044
- const storedExecutablePath = this.readExecutablePath(options.browser, options.platform, options.buildId);
1045
- if (storedExecutablePath) return path.join(installationDir, storedExecutablePath);
1046
- return path.join(installationDir, executablePathByBrowser[options.browser](options.platform, options.buildId));
1047
- }
1048
- };
1049
- function parseFolderPath(folderPath) {
1050
- const splits = path.basename(folderPath).split("-");
1051
- if (splits.length !== 2) return;
1052
- const [platform, buildId] = splits;
1053
- if (!buildId || !platform) return;
1054
- return {
1055
- platform,
1056
- buildId
1057
- };
1058
- }
1059
-
1060
- //#endregion
1061
- //#region node_modules/@puppeteer/browsers/lib/launch.js
1062
- const debugLaunch = debug("puppeteer:browsers:launcher");
1063
- /**
1064
- * @public
1065
- */
1066
- function computeExecutablePath(options) {
1067
- if (options.cacheDir === null) {
1068
- options.platform ??= detectBrowserPlatform();
1069
- if (options.platform === void 0) throw new Error(`No platform specified. Couldn't auto-detect browser platform.`);
1070
- return executablePathByBrowser[options.browser](options.platform, options.buildId);
1071
- }
1072
- return new Cache(options.cacheDir).computeExecutablePath(options);
1073
- }
1074
- /**
1075
- * Returns a path to a system-wide Chrome installation given a release channel
1076
- * name by checking known installation locations (using
1077
- * {@link https://pptr.dev/browsers-api/browsers.computesystemexecutablepath}).
1078
- * If Chrome instance is not found at the expected path, an error is thrown.
1079
- *
1080
- * @public
1081
- */
1082
- function computeSystemExecutablePath(options) {
1083
- options.platform ??= detectBrowserPlatform();
1084
- if (!options.platform) throw new Error(`Cannot download a binary for the provided platform: ${os.platform()} (${os.arch()})`);
1085
- const paths = resolveSystemExecutablePaths(options.browser, options.platform, options.channel);
1086
- for (const path$1 of paths) try {
1087
- accessSync(path$1);
1088
- return path$1;
1089
- } catch {}
1090
- throw new Error(`Could not find Google Chrome executable for channel '${options.channel}' at:${paths.map((path$1) => {
1091
- return `\n - ${path$1}`;
1092
- })}.`);
1093
- }
1094
- /**
1095
- * Launches a browser process according to {@link LaunchOptions}.
1096
- *
1097
- * @public
1098
- */
1099
- function launch(opts) {
1100
- return new Process(opts);
1101
- }
1102
- /**
1103
- * @public
1104
- */
1105
- const CDP_WEBSOCKET_ENDPOINT_REGEX = /^DevTools listening on (ws:\/\/.*)$/;
1106
- /**
1107
- * @public
1108
- */
1109
- const WEBDRIVER_BIDI_WEBSOCKET_ENDPOINT_REGEX = /^WebDriver BiDi listening on (ws:\/\/.*)$/;
1110
- const processListeners = /* @__PURE__ */ new Map();
1111
- const dispatchers = {
1112
- exit: (...args) => {
1113
- processListeners.get("exit")?.forEach((handler) => {
1114
- return handler(...args);
1115
- });
1116
- },
1117
- SIGINT: (...args) => {
1118
- processListeners.get("SIGINT")?.forEach((handler) => {
1119
- return handler(...args);
1120
- });
1121
- },
1122
- SIGHUP: (...args) => {
1123
- processListeners.get("SIGHUP")?.forEach((handler) => {
1124
- return handler(...args);
1125
- });
1126
- },
1127
- SIGTERM: (...args) => {
1128
- processListeners.get("SIGTERM")?.forEach((handler) => {
1129
- return handler(...args);
1130
- });
1131
- }
1132
- };
1133
- function subscribeToProcessEvent(event, handler) {
1134
- const listeners = processListeners.get(event) || [];
1135
- if (listeners.length === 0) process.on(event, dispatchers[event]);
1136
- listeners.push(handler);
1137
- processListeners.set(event, listeners);
1138
- }
1139
- function unsubscribeFromProcessEvent(event, handler) {
1140
- const listeners = processListeners.get(event) || [];
1141
- const existingListenerIdx = listeners.indexOf(handler);
1142
- if (existingListenerIdx === -1) return;
1143
- listeners.splice(existingListenerIdx, 1);
1144
- processListeners.set(event, listeners);
1145
- if (listeners.length === 0) process.off(event, dispatchers[event]);
1146
- }
1147
- /**
1148
- * @public
1149
- */
1150
- var Process = class {
1151
- #executablePath;
1152
- #args;
1153
- #browserProcess;
1154
- #exited = false;
1155
- #hooksRan = false;
1156
- #onExitHook = async () => {};
1157
- #browserProcessExiting;
1158
- #logs = [];
1159
- #maxLogLinesSize = 1e3;
1160
- #lineEmitter = new EventEmitter();
1161
- #onAbort = () => {
1162
- this.kill();
1163
- };
1164
- #signal;
1165
- constructor(opts) {
1166
- this.#executablePath = opts.executablePath;
1167
- this.#args = opts.args ?? [];
1168
- this.#signal = opts.signal;
1169
- if (this.#signal?.aborted) throw new Error(this.#signal.reason ? this.#signal.reason : "Launch aborted");
1170
- this.#signal?.addEventListener("abort", this.#onAbort, { once: true });
1171
- opts.pipe ??= false;
1172
- opts.dumpio ??= false;
1173
- opts.handleSIGINT ??= true;
1174
- opts.handleSIGTERM ??= true;
1175
- opts.handleSIGHUP ??= true;
1176
- opts.detached ??= process.platform !== "win32";
1177
- const stdio = this.#configureStdio({ pipe: opts.pipe });
1178
- const env = opts.env || {};
1179
- debugLaunch?.(`Launching ${this.#executablePath} ${this.#args.join(" ")}`, {
1180
- detached: opts.detached,
1181
- env: Object.keys(env).reduce((res, key) => {
1182
- if (key.toLowerCase().startsWith("puppeteer_")) res[key] = env[key];
1183
- return res;
1184
- }, {}),
1185
- stdio
1186
- });
1187
- this.#browserProcess = childProcess.spawn(this.#executablePath, this.#args, {
1188
- detached: opts.detached,
1189
- env,
1190
- stdio
1191
- });
1192
- this.#recordStream(this.#browserProcess.stderr);
1193
- this.#recordStream(this.#browserProcess.stdout);
1194
- debugLaunch?.(`Launched ${this.#browserProcess.pid}`);
1195
- if (opts.dumpio) {
1196
- this.#browserProcess.stderr?.pipe(process.stderr);
1197
- this.#browserProcess.stdout?.pipe(process.stdout);
1198
- }
1199
- subscribeToProcessEvent("exit", this.#onDriverProcessExit);
1200
- if (opts.handleSIGINT) subscribeToProcessEvent("SIGINT", this.#onDriverProcessSignal);
1201
- if (opts.handleSIGTERM) subscribeToProcessEvent("SIGTERM", this.#onDriverProcessSignal);
1202
- if (opts.handleSIGHUP) subscribeToProcessEvent("SIGHUP", this.#onDriverProcessSignal);
1203
- if (opts.onExit) this.#onExitHook = opts.onExit;
1204
- this.#browserProcessExiting = new Promise((resolve$1, reject) => {
1205
- this.#browserProcess.once("exit", async () => {
1206
- debugLaunch?.(`Browser process ${this.#browserProcess.pid} onExit`);
1207
- this.#clearListeners();
1208
- this.#exited = true;
1209
- try {
1210
- await this.#runHooks();
1211
- } catch (err) {
1212
- reject(err);
1213
- return;
1214
- }
1215
- resolve$1();
1216
- });
1217
- });
1218
- }
1219
- async #runHooks() {
1220
- if (this.#hooksRan) return;
1221
- this.#hooksRan = true;
1222
- await this.#onExitHook();
1223
- }
1224
- get nodeProcess() {
1225
- return this.#browserProcess;
1226
- }
1227
- #configureStdio(opts) {
1228
- if (opts.pipe) return [
1229
- "pipe",
1230
- "pipe",
1231
- "pipe",
1232
- "pipe",
1233
- "pipe"
1234
- ];
1235
- else return [
1236
- "pipe",
1237
- "pipe",
1238
- "pipe"
1239
- ];
1240
- }
1241
- #clearListeners() {
1242
- unsubscribeFromProcessEvent("exit", this.#onDriverProcessExit);
1243
- unsubscribeFromProcessEvent("SIGINT", this.#onDriverProcessSignal);
1244
- unsubscribeFromProcessEvent("SIGTERM", this.#onDriverProcessSignal);
1245
- unsubscribeFromProcessEvent("SIGHUP", this.#onDriverProcessSignal);
1246
- this.#signal?.removeEventListener("abort", this.#onAbort);
1247
- }
1248
- #onDriverProcessExit = (_code) => {
1249
- this.kill();
1250
- };
1251
- #onDriverProcessSignal = (signal) => {
1252
- switch (signal) {
1253
- case "SIGINT":
1254
- this.kill();
1255
- process.exit(130);
1256
- case "SIGTERM":
1257
- case "SIGHUP":
1258
- this.close();
1259
- break;
1260
- }
1261
- };
1262
- async close() {
1263
- await this.#runHooks();
1264
- if (!this.#exited) this.kill();
1265
- return await this.#browserProcessExiting;
1266
- }
1267
- hasClosed() {
1268
- return this.#browserProcessExiting;
1269
- }
1270
- kill() {
1271
- debugLaunch?.(`Trying to kill ${this.#browserProcess.pid}`);
1272
- if (this.#browserProcess && this.#browserProcess.pid && pidExists(this.#browserProcess.pid)) try {
1273
- debugLaunch?.(`Browser process ${this.#browserProcess.pid} exists`);
1274
- if (process.platform === "win32") try {
1275
- childProcess.execSync(`taskkill /pid ${this.#browserProcess.pid} /T /F`);
1276
- } catch (error) {
1277
- debugLaunch?.(`Killing ${this.#browserProcess.pid} using taskkill failed`, error);
1278
- this.#browserProcess.kill();
1279
- }
1280
- else {
1281
- const processGroupId = -this.#browserProcess.pid;
1282
- try {
1283
- process.kill(processGroupId, "SIGKILL");
1284
- } catch (error) {
1285
- debugLaunch?.(`Killing ${this.#browserProcess.pid} using process.kill failed`, error);
1286
- this.#browserProcess.kill("SIGKILL");
1287
- }
1288
- }
1289
- } catch (error) {
1290
- throw new Error(`${PROCESS_ERROR_EXPLANATION}\nError cause: ${isErrorLike(error) ? error.stack : error}`);
1291
- }
1292
- this.#clearListeners();
1293
- }
1294
- #recordStream(stream) {
1295
- const rl = readline.createInterface(stream);
1296
- const cleanup = () => {
1297
- rl.off("line", onLine);
1298
- rl.off("close", onClose);
1299
- try {
1300
- rl.close();
1301
- } catch {}
1302
- };
1303
- const onLine = (line) => {
1304
- if (line.trim() === "") return;
1305
- this.#logs.push(line);
1306
- const delta = this.#logs.length - this.#maxLogLinesSize;
1307
- if (delta) this.#logs.splice(0, delta);
1308
- this.#lineEmitter.emit("line", line);
1309
- };
1310
- const onClose = () => {
1311
- cleanup();
1312
- };
1313
- rl.on("line", onLine);
1314
- rl.on("close", onClose);
1315
- }
1316
- /**
1317
- * Get recent logs (stderr + stdout) emitted by the browser.
1318
- *
1319
- * @public
1320
- */
1321
- getRecentLogs() {
1322
- return [...this.#logs];
1323
- }
1324
- waitForLineOutput(regex, timeout = 0) {
1325
- return new Promise((resolve$1, reject) => {
1326
- const onClose = (errorOrCode) => {
1327
- cleanup();
1328
- reject(new Error([
1329
- `Failed to launch the browser process: ${errorOrCode instanceof Error ? ` ${errorOrCode.message}` : ` Code: ${errorOrCode}`}`,
1330
- "",
1331
- `stderr:`,
1332
- this.getRecentLogs().join("\n"),
1333
- "",
1334
- "TROUBLESHOOTING: https://pptr.dev/troubleshooting",
1335
- ""
1336
- ].join("\n")));
1337
- };
1338
- this.#browserProcess.on("exit", onClose);
1339
- this.#browserProcess.on("error", onClose);
1340
- const timeoutId = timeout > 0 ? setTimeout(onTimeout, timeout) : void 0;
1341
- this.#lineEmitter.on("line", onLine);
1342
- const cleanup = () => {
1343
- clearTimeout(timeoutId);
1344
- this.#lineEmitter.off("line", onLine);
1345
- this.#browserProcess.off("exit", onClose);
1346
- this.#browserProcess.off("error", onClose);
1347
- };
1348
- function onTimeout() {
1349
- cleanup();
1350
- reject(new TimeoutError(`Timed out after ${timeout} ms while waiting for the WS endpoint URL to appear in stdout!`));
1351
- }
1352
- for (const line of this.#logs) onLine(line);
1353
- function onLine(line) {
1354
- const match = line.match(regex);
1355
- if (!match) return;
1356
- cleanup();
1357
- resolve$1(match[1]);
1358
- }
1359
- });
1360
- }
1361
- };
1362
- const PROCESS_ERROR_EXPLANATION = `Puppeteer was unable to kill the process which ran the browser binary.
1363
- This means that, on future Puppeteer launches, Puppeteer might not be able to launch the browser.
1364
- Please check your open processes and ensure that the browser processes that Puppeteer launched have been killed.
1365
- If you think this is a bug, please report it on the Puppeteer issue tracker.`;
1366
- /**
1367
- * @internal
1368
- */
1369
- function pidExists(pid) {
1370
- try {
1371
- return process.kill(pid, 0);
1372
- } catch (error) {
1373
- if (isErrnoException(error)) {
1374
- if (error.code && error.code === "ESRCH") return false;
1375
- }
1376
- throw error;
1377
- }
1378
- }
1379
- /**
1380
- * @internal
1381
- */
1382
- function isErrorLike(obj) {
1383
- return typeof obj === "object" && obj !== null && "name" in obj && "message" in obj;
1384
- }
1385
- /**
1386
- * @internal
1387
- */
1388
- function isErrnoException(obj) {
1389
- return isErrorLike(obj) && ("errno" in obj || "code" in obj || "path" in obj || "syscall" in obj);
1390
- }
1391
- /**
1392
- * @public
1393
- */
1394
- var TimeoutError = class extends Error {
1395
- /**
1396
- * @internal
1397
- */
1398
- constructor(message) {
1399
- super(message);
1400
- this.name = this.constructor.name;
1401
- Error.captureStackTrace(this, this.constructor);
1402
- }
1403
- };
1404
-
1405
- //#endregion
1406
- //#region node_modules/@puppeteer/browsers/lib/fileUtil.js
1407
- const execFileAsync = promisify(execFile);
1408
- const debugFileUtil = debug("puppeteer:browsers:fileUtil");
1409
-
1410
- //#endregion
1411
- //#region node_modules/@puppeteer/browsers/lib/install.js
1412
- const debugInstall = debug("puppeteer:browsers:install");
1413
- /**
1414
- *
1415
- * @public
1416
- */
1417
- async function uninstall(options) {
1418
- options.platform ??= detectBrowserPlatform();
1419
- if (!options.platform) throw new Error(`Cannot detect the browser platform for: ${os.platform()} (${os.arch()})`);
1420
- new Cache(options.cacheDir).uninstall(options.browser, options.platform, options.buildId);
1421
- }
1422
- /**
1423
- * Returns metadata about browsers installed in the cache directory.
1424
- *
1425
- * @public
1426
- */
1427
- async function getInstalledBrowsers(options) {
1428
- return new Cache(options.cacheDir).getInstalledBrowsers();
1429
- }
1430
-
1431
- //#endregion
1432
- export { Browser as _, TimeoutError as a, ChromeReleaseChannel as b, computeSystemExecutablePath as c, InstalledBrowser as d, detectBrowserPlatform as f, resolveDefaultUserDataDir as g, resolveBuildId as h, Process as i, launch as l, getVersionComparator as m, uninstall as n, WEBDRIVER_BIDI_WEBSOCKET_ENDPOINT_REGEX as o, createProfile as p, CDP_WEBSOCKET_ENDPOINT_REGEX as r, computeExecutablePath as s, getInstalledBrowsers as t, Cache as u, BrowserPlatform as v, BrowserTag as y };