super-dsh 0.3.0-a → 0.3.0-d

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 (760) hide show
  1. package/README.md +25 -22
  2. package/cordis.patch.yml +3 -3
  3. package/package.json +20 -8
  4. package/superd-hub/dist/bundle-setup.d.ts +17 -2
  5. package/superd-hub/dist/bundle-setup.js +158 -2
  6. package/superd-hub/dist/spawn-world.js +2 -5
  7. package/superd-hub/dist/world-resolution.d.ts +6 -0
  8. package/superd-hub/dist/world-resolution.js +39 -0
  9. package/superd-hub/package.json +19 -2
  10. package/superd-hub/scripts/register-companion.mjs +100 -0
  11. package/bundles/better-dsh.tgz +0 -0
  12. package/bundles/manifest.json +0 -10
  13. package/node_modules/better-dsh/LICENSE +0 -24
  14. package/node_modules/better-dsh/README.md +0 -323
  15. package/node_modules/better-dsh/THIRD_PARTY_NOTICES.md +0 -52
  16. package/node_modules/better-dsh/cordis.patch.yml +0 -139
  17. package/node_modules/better-dsh/docs/00_adr/0001-bridge-tool-layer-not-service-layer.md +0 -14
  18. package/node_modules/better-dsh/docs/00_adr/0002-masking-is-presentation-only.md +0 -15
  19. package/node_modules/better-dsh/docs/10_plans/2026-09-23-remote-execution-framework.md +0 -236
  20. package/node_modules/better-dsh/docs/10_plans/2026-09-23-remote-framework-impl.md +0 -2083
  21. package/node_modules/better-dsh/docs/10_plans/2026-09-26-lsp-ast-reminder.md +0 -64
  22. package/node_modules/better-dsh/docs/10_plans/A2A-messaging-channel-test-archive.md +0 -256
  23. package/node_modules/better-dsh/docs/10_plans/code-mode-vs-rlm-ipython-comparison.md +0 -137
  24. package/node_modules/better-dsh/docs/10_plans/dashr-blueprint-review.md +0 -201
  25. package/node_modules/better-dsh/docs/10_plans/dashr-blueprint.md +0 -561
  26. package/node_modules/better-dsh/docs/10_plans/dashr-compaction-window-and-archive.md +0 -307
  27. package/node_modules/better-dsh/docs/10_plans/dashr-profile-layer-feasibility.md +0 -367
  28. package/node_modules/better-dsh/docs/10_plans/dashr-sandbox-escalation-semantics-gap.md +0 -171
  29. package/node_modules/better-dsh/docs/10_plans/dashr-security-sandbox-analysis.md +0 -187
  30. package/node_modules/better-dsh/docs/10_plans/dashr-surface-invariant-and-omp-imports.md +0 -97
  31. package/node_modules/better-dsh/docs/10_plans/ipython-kernel-interactive-interface-test-report.md +0 -152
  32. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft.md +0 -146
  33. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft_v3.md +0 -50
  34. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft_v4.md +0 -79
  35. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-vs-PrimeAgent-systemprompt-toolcatalog-comparison.md +0 -138
  36. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/RLM-system-prompt-injection-gap-report.md +0 -161
  37. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/V0.1.5-development-plan.md +0 -109
  38. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/actinoable-surface-to-llm-in-agent-runtime_dsh.md +0 -50
  39. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/actinoable-surface-to-llm-in-agent-runtime_prime.md +0 -113
  40. package/node_modules/better-dsh/docs/10_plans/recallable-compaction.md +0 -147
  41. package/node_modules/better-dsh/docs/10_plans/spike-tag-repro.mjs +0 -102
  42. package/node_modules/better-dsh/docs/10_plans/upstream-analysis.md +0 -128
  43. package/node_modules/better-dsh/docs/20_specs/agent/spec.md +0 -54
  44. package/node_modules/better-dsh/docs/20_specs/ast/spec.md +0 -57
  45. package/node_modules/better-dsh/docs/20_specs/compaction-recall/spec.md +0 -46
  46. package/node_modules/better-dsh/docs/20_specs/ctx/spec.md +0 -107
  47. package/node_modules/better-dsh/docs/20_specs/dsh/spec.md +0 -47
  48. package/node_modules/better-dsh/docs/20_specs/dvc/spec.md +0 -106
  49. package/node_modules/better-dsh/docs/20_specs/escalation-guidance/spec.md +0 -44
  50. package/node_modules/better-dsh/docs/20_specs/fs-scheme-resolution/spec.md +0 -37
  51. package/node_modules/better-dsh/docs/20_specs/hash-edit/spec.md +0 -41
  52. package/node_modules/better-dsh/docs/20_specs/http-read/spec.md +0 -73
  53. package/node_modules/better-dsh/docs/20_specs/kernel-provisioning/spec.md +0 -53
  54. package/node_modules/better-dsh/docs/20_specs/lsp/spec.md +0 -121
  55. package/node_modules/better-dsh/docs/20_specs/mobile-layout/spec.md +0 -108
  56. package/node_modules/better-dsh/docs/20_specs/model-failover/spec.md +0 -20
  57. package/node_modules/better-dsh/docs/20_specs/plugins-page-components/spec.md +0 -79
  58. package/node_modules/better-dsh/docs/20_specs/preact-ui-shell/spec.md +0 -22
  59. package/node_modules/better-dsh/docs/20_specs/repl-dispatch-resilience/spec.md +0 -21
  60. package/node_modules/better-dsh/docs/20_specs/skill/spec.md +0 -58
  61. package/node_modules/better-dsh/docs/20_specs/tool-surface/spec.md +0 -222
  62. package/node_modules/better-dsh/docs/20_specs/url-schema/spec.md +0 -148
  63. package/node_modules/better-dsh/docs/20_specs/web-trust-fence/spec.md +0 -43
  64. 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
  65. 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
  66. 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
  67. 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
  68. 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
  69. 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
  70. 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
  71. 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
  72. 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
  73. 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
  74. 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
  75. 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
  76. 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
  77. 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
  78. 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
  79. 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
  80. 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
  81. 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
  82. 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
  83. 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
  84. 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
  85. 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
  86. 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
  87. 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
  88. 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
  89. 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
  90. 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
  91. 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
  92. 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
  93. 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
  94. 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
  95. 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
  96. 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
  97. 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
  98. 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
  99. package/node_modules/better-dsh/docs/50_test-reports/2026-10-06-authentication-only-web-admission-4999.md +0 -63
  100. package/node_modules/better-dsh/docs/50_test-reports/2026-10-07-better-dsh-welcome-self-contained-4999.md +0 -52
  101. 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
  102. package/node_modules/better-dsh/docs/50_test-reports/kernel-provisioning.md +0 -44
  103. package/node_modules/better-dsh/docs/50_test-reports/repl-kernel-provisioning-test-report.md +0 -87
  104. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.2-alpha.5-local-test-report.md +0 -81
  105. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.2-alpha.5-report.md +0 -93
  106. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.3-alpha.2-local-test-report.md +0 -44
  107. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.3-alpha.2-report.md +0 -110
  108. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.5-rc.2-local-test-report.md +0 -79
  109. 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
  110. 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
  111. 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
  112. 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
  113. 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
  114. 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
  115. 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
  116. 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
  117. 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
  118. 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
  119. 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
  120. 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
  121. 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
  122. package/node_modules/better-dsh/docs/50_test-reports/v0.2.1ef-dev-audit-report.md +0 -73
  123. 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
  124. 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
  125. 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
  126. 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
  127. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/SKILL.md +0 -147
  128. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch01-user-guide.md +0 -123
  129. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch02-plugin-basics.md +0 -127
  130. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch03-plugin-framework-practice.md +0 -120
  131. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch04-cordis-fundamentals.md +0 -129
  132. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch05-cordis-api.md +0 -115
  133. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch06-architecture.md +0 -109
  134. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch07-capability-seams.md +0 -97
  135. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch08-internals-pipelines.md +0 -111
  136. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch09-api-gateway.md +0 -106
  137. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch10-config-catalog.md +0 -97
  138. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch11-tool-catalog.md +0 -121
  139. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch12-persistence-catalog.md +0 -109
  140. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch13-subsystems-core-session.md +0 -106
  141. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch14-subsystems-agent-loop.md +0 -111
  142. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch15-subsystems-tool-execution.md +0 -106
  143. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch16-subsystems-session-data.md +0 -132
  144. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch17-subsystems-llm-streaming.md +0 -128
  145. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch18-subsystems-web-ui.md +0 -142
  146. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch19-cookbook.md +0 -149
  147. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch20-development-testing.md +0 -87
  148. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch21-postmortems.md +0 -82
  149. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch22-i18n.md +0 -86
  150. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/cheatsheet.md +0 -67
  151. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/glossary.md +0 -57
  152. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/patterns.md +0 -88
  153. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/AGENTS.md +0 -75
  154. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/agent-lifecycle.md +0 -84
  155. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/agent-lifecycle.zh.md +0 -86
  156. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/api-gateway.md +0 -164
  157. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/api-gateway.zh.md +0 -164
  158. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/architecture.md +0 -150
  159. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/architecture.zh.md +0 -154
  160. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/capability-seams.md +0 -543
  161. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/capability-seams.zh.md +0 -545
  162. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/config-catalog.md +0 -3473
  163. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/config-catalog.zh.md +0 -3474
  164. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-package.md +0 -117
  165. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-package.zh.md +0 -119
  166. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-remote-api.md +0 -197
  167. 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
  168. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-settings-card.md +0 -102
  169. 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
  170. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-tool.md +0 -101
  171. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-tool.zh.md +0 -103
  172. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-vendored-package.md +0 -59
  173. 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
  174. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-an-llm-adapter.md +0 -43
  175. 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
  176. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/extension-cookbook.md +0 -132
  177. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/extension-cookbook.zh.md +0 -136
  178. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/maintaining-dsh-code-review.md +0 -64
  179. 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
  180. 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
  181. 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
  182. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/context.md +0 -364
  183. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/context.zh.md +0 -366
  184. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/events.md +0 -207
  185. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/events.zh.md +0 -209
  186. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/fiber.md +0 -375
  187. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/fiber.zh.md +0 -377
  188. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/inherited.md +0 -39
  189. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/registry.md +0 -152
  190. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/registry.zh.md +0 -154
  191. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/service.md +0 -102
  192. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/service.zh.md +0 -104
  193. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-primer.md +0 -45
  194. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-primer.zh.md +0 -51
  195. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/01-first-plugin.md +0 -95
  196. 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
  197. 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
  198. 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
  199. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/03-services.md +0 -98
  200. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/03-services.zh.md +0 -98
  201. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/04-events.md +0 -144
  202. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/04-events.zh.md +0 -144
  203. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/05-config.md +0 -84
  204. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/05-config.zh.md +0 -84
  205. 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
  206. 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
  207. 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
  208. 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
  209. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/index.md +0 -60
  210. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/index.zh.md +0 -62
  211. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/deepseek-llm-api-wire-extensions.md +0 -163
  212. 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
  213. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/defensive-patterns.md +0 -33
  214. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/defensive-patterns.zh.md +0 -35
  215. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/development.md +0 -167
  216. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/development.zh.md +0 -173
  217. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/event-producer-consumer.md +0 -86
  218. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/event-producer-consumer.zh.md +0 -88
  219. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/glossary.md +0 -45
  220. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/glossary.zh.md +0 -45
  221. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/graph-atlas.md +0 -22
  222. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/graph-atlas.zh.md +0 -24
  223. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/README.md +0 -60
  224. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/README.zh.md +0 -62
  225. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/style-samples.md +0 -87
  226. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/terminology.md +0 -214
  227. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-prompt.md +0 -263
  228. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-rules.md +0 -69
  229. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-rules.zh.md +0 -69
  230. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/module-graph.md +0 -1411
  231. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/module-graph.zh.md +0 -1413
  232. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/persistence-catalog.md +0 -1075
  233. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/persistence-catalog.zh.md +0 -1077
  234. 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
  235. 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
  236. 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
  237. 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
  238. 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
  239. 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
  240. 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
  241. 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
  242. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/README.md +0 -18
  243. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/README.zh.md +0 -18
  244. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/rescope.md +0 -53
  245. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/rescope.zh.md +0 -53
  246. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/README.md +0 -61
  247. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/README.zh.md +0 -61
  248. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/agent-team.md +0 -207
  249. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/agent-team.zh.md +0 -207
  250. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/approval.md +0 -170
  251. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/approval.zh.md +0 -170
  252. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/attachment.md +0 -351
  253. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/attachment.zh.md +0 -351
  254. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/client-modules.md +0 -168
  255. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/client-modules.zh.md +0 -168
  256. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/code-runtime.md +0 -195
  257. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/code-runtime.zh.md +0 -195
  258. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/commands.md +0 -219
  259. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/commands.zh.md +0 -219
  260. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/compaction.md +0 -238
  261. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/compaction.zh.md +0 -238
  262. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/conversation.md +0 -258
  263. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/conversation.zh.md +0 -258
  264. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/core.md +0 -1209
  265. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/core.zh.md +0 -1219
  266. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/credentials.md +0 -329
  267. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/credentials.zh.md +0 -329
  268. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/extensions.md +0 -382
  269. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/extensions.zh.md +0 -382
  270. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/feedback.md +0 -266
  271. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/feedback.zh.md +0 -266
  272. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/filesystem.md +0 -505
  273. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/filesystem.zh.md +0 -505
  274. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/goal.md +0 -277
  275. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/goal.zh.md +0 -277
  276. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/invariants.md +0 -88
  277. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/invariants.zh.md +0 -88
  278. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/jobs.md +0 -290
  279. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/jobs.zh.md +0 -290
  280. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/llm-streaming.md +0 -1080
  281. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/llm-streaming.zh.md +0 -1086
  282. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/lsp.md +0 -202
  283. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/lsp.zh.md +0 -202
  284. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/permission-presets.md +0 -131
  285. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/permission-presets.zh.md +0 -131
  286. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/persistence.md +0 -395
  287. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/persistence.zh.md +0 -395
  288. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/plan.md +0 -87
  289. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/plan.zh.md +0 -87
  290. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/sandbox.md +0 -220
  291. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/sandbox.zh.md +0 -220
  292. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/schedule.md +0 -192
  293. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/schedule.zh.md +0 -192
  294. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/scope.md +0 -59
  295. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/scope.zh.md +0 -59
  296. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-projection.md +0 -354
  297. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-projection.zh.md +0 -354
  298. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-query.md +0 -509
  299. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-query.zh.md +0 -509
  300. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-reference.md +0 -219
  301. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-reference.zh.md +0 -219
  302. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-telemetry.md +0 -194
  303. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-telemetry.zh.md +0 -194
  304. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-title.md +0 -204
  305. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-title.zh.md +0 -204
  306. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session.md +0 -1155
  307. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session.zh.md +0 -1159
  308. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/settings.md +0 -405
  309. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/settings.zh.md +0 -405
  310. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/shell.md +0 -303
  311. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/shell.zh.md +0 -303
  312. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/skills.md +0 -354
  313. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/skills.zh.md +0 -354
  314. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/slots.md +0 -175
  315. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/slots.zh.md +0 -175
  316. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/spill.md +0 -117
  317. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/spill.zh.md +0 -117
  318. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/storage.md +0 -260
  319. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/storage.zh.md +0 -260
  320. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subagent.md +0 -766
  321. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subagent.zh.md +0 -770
  322. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subprocess.md +0 -324
  323. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subprocess.zh.md +0 -324
  324. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/system-prompt.md +0 -220
  325. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/system-prompt.zh.md +0 -220
  326. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/terminal.md +0 -184
  327. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/terminal.zh.md +0 -184
  328. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/todo.md +0 -32
  329. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/todo.zh.md +0 -32
  330. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/token-meter.md +0 -105
  331. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/token-meter.zh.md +0 -105
  332. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/tools.md +0 -720
  333. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/tools.zh.md +0 -720
  334. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/typert.md +0 -343
  335. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/typert.zh.md +0 -343
  336. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/user-questions.md +0 -178
  337. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/user-questions.zh.md +0 -178
  338. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-client.md +0 -95
  339. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-client.zh.md +0 -95
  340. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-server.md +0 -154
  341. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-server.zh.md +0 -154
  342. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web.md +0 -206
  343. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web.zh.md +0 -206
  344. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/webhook.md +0 -70
  345. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/webhook.zh.md +0 -70
  346. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workflow.md +0 -278
  347. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workflow.zh.md +0 -278
  348. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workspace.md +0 -321
  349. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workspace.zh.md +0 -321
  350. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/testing.md +0 -54
  351. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/testing.zh.md +0 -54
  352. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-catalog.md +0 -2225
  353. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-catalog.zh.md +0 -2233
  354. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-execution-pipeline.md +0 -62
  355. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-execution-pipeline.zh.md +0 -64
  356. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/config.md +0 -106
  357. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/config.zh.md +0 -106
  358. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/index.md +0 -144
  359. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/index.zh.md +0 -144
  360. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/publish.md +0 -183
  361. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/publish.zh.md +0 -183
  362. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/tool.md +0 -52
  363. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/tool.zh.md +0 -52
  364. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/events.md +0 -143
  365. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/events.zh.md +0 -143
  366. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/index.md +0 -137
  367. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/index.zh.md +0 -137
  368. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/service.md +0 -148
  369. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/service.zh.md +0 -150
  370. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/dynamic-cordis.md +0 -15
  371. 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
  372. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/index.md +0 -155
  373. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/index.zh.md +0 -155
  374. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/llm-adapter.md +0 -189
  375. 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
  376. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/github-review.md +0 -102
  377. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/github-review.zh.md +0 -102
  378. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/index.md +0 -30
  379. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/index.zh.md +0 -30
  380. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/mcp-memory.md +0 -101
  381. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/mcp-memory.zh.md +0 -101
  382. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/network-proxy.md +0 -85
  383. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/network-proxy.zh.md +0 -85
  384. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/providers.md +0 -190
  385. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/providers.zh.md +0 -190
  386. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/python-sdk.md +0 -150
  387. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/python-sdk.zh.md +0 -150
  388. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/schedule.md +0 -21
  389. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/schedule.zh.md +0 -21
  390. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/index.md +0 -11
  391. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/index.zh.md +0 -11
  392. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/web-styling.md +0 -29
  393. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/web-styling.zh.md +0 -29
  394. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/site-pages-map.txt +0 -234
  395. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/site-pages.json +0 -232
  396. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src-README.md +0 -63
  397. package/node_modules/better-dsh/docs/dev-test-environment-notes.md +0 -137
  398. package/node_modules/better-dsh/docs/distro-blueprint.md +0 -81
  399. package/node_modules/better-dsh/docs/dsh-webUI-with-rlm-mode.png +0 -0
  400. package/node_modules/better-dsh/docs/repositioning-and-rebranding.md +0 -102
  401. package/node_modules/better-dsh/docs/specs/agent/spec.md +0 -54
  402. package/node_modules/better-dsh/docs/specs/ast/spec.md +0 -57
  403. package/node_modules/better-dsh/docs/specs/ast-engine-deomp/spec.md +0 -170
  404. package/node_modules/better-dsh/docs/specs/authentication-only-web-admission/spec.md +0 -51
  405. package/node_modules/better-dsh/docs/specs/compaction-recall/spec.md +0 -46
  406. package/node_modules/better-dsh/docs/specs/ctx/spec.md +0 -179
  407. package/node_modules/better-dsh/docs/specs/docs-packaging-trim/spec.md +0 -110
  408. package/node_modules/better-dsh/docs/specs/dsh/spec.md +0 -47
  409. package/node_modules/better-dsh/docs/specs/dvc/spec.md +0 -106
  410. package/node_modules/better-dsh/docs/specs/escalation-guidance/spec.md +0 -44
  411. package/node_modules/better-dsh/docs/specs/fs-scheme-resolution/spec.md +0 -37
  412. package/node_modules/better-dsh/docs/specs/hash-edit/spec.md +0 -41
  413. package/node_modules/better-dsh/docs/specs/http-read/spec.md +0 -73
  414. package/node_modules/better-dsh/docs/specs/kernel-provisioning/spec.md +0 -53
  415. package/node_modules/better-dsh/docs/specs/lsp/spec.md +0 -121
  416. package/node_modules/better-dsh/docs/specs/mobile-layout/spec.md +0 -108
  417. package/node_modules/better-dsh/docs/specs/model-failover/spec.md +0 -20
  418. package/node_modules/better-dsh/docs/specs/model-picker-ios-blur/spec.md +0 -168
  419. package/node_modules/better-dsh/docs/specs/plugins-page-components/spec.md +0 -79
  420. package/node_modules/better-dsh/docs/specs/preact-ui-shell/spec.md +0 -22
  421. package/node_modules/better-dsh/docs/specs/remote-pty-label/spec.md +0 -126
  422. package/node_modules/better-dsh/docs/specs/repl-dispatch-resilience/spec.md +0 -21
  423. package/node_modules/better-dsh/docs/specs/skill/spec.md +0 -58
  424. package/node_modules/better-dsh/docs/specs/tool-surface/spec.md +0 -222
  425. package/node_modules/better-dsh/docs/specs/url-schema/spec.md +0 -148
  426. package/node_modules/better-dsh/docs/specs/web-trust-fence/spec.md +0 -43
  427. package/node_modules/better-dsh/docs/specs/welcome-self-contained/spec.md +0 -13
  428. package/node_modules/better-dsh/docs/specs/zero-npm-runtime-deps/spec.md +0 -85
  429. package/node_modules/better-dsh/docs/superpowers/plans/2026-10-02-ctx-navigation.md +0 -319
  430. package/node_modules/better-dsh/docs/superpowers/plans/2026-10-03-ast-engine-deomp.md +0 -1214
  431. package/node_modules/better-dsh/docs/superpowers/plans/2026-10-03-docs-packaging-trim.md +0 -181
  432. package/node_modules/better-dsh/docs/superpowers/specs/2026-10-02-ctx-navigation-design.md +0 -209
  433. package/node_modules/better-dsh/docs/upstream-dsh-0.1.5-rc.2-report.md +0 -156
  434. package/node_modules/better-dsh/dsh-docs/AGENTS.md +0 -75
  435. package/node_modules/better-dsh/dsh-docs/agent-lifecycle.md +0 -84
  436. package/node_modules/better-dsh/dsh-docs/agent-lifecycle.zh.md +0 -86
  437. package/node_modules/better-dsh/dsh-docs/api-gateway.md +0 -164
  438. package/node_modules/better-dsh/dsh-docs/api-gateway.zh.md +0 -164
  439. package/node_modules/better-dsh/dsh-docs/architecture.md +0 -150
  440. package/node_modules/better-dsh/dsh-docs/architecture.zh.md +0 -154
  441. package/node_modules/better-dsh/dsh-docs/capability-seams.md +0 -543
  442. package/node_modules/better-dsh/dsh-docs/capability-seams.zh.md +0 -545
  443. package/node_modules/better-dsh/dsh-docs/config-catalog.md +0 -3473
  444. package/node_modules/better-dsh/dsh-docs/config-catalog.zh.md +0 -3474
  445. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-package.md +0 -117
  446. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-package.zh.md +0 -119
  447. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-remote-api.md +0 -197
  448. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-remote-api.zh.md +0 -197
  449. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-session-format-version.md +0 -109
  450. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-session-format-version.zh.md +0 -109
  451. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-settings-card.md +0 -102
  452. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-settings-card.zh.md +0 -102
  453. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-tool.md +0 -101
  454. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-tool.zh.md +0 -103
  455. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-vendored-package.md +0 -59
  456. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-vendored-package.zh.md +0 -59
  457. package/node_modules/better-dsh/dsh-docs/cookbook/adding-an-llm-adapter.md +0 -43
  458. package/node_modules/better-dsh/dsh-docs/cookbook/adding-an-llm-adapter.zh.md +0 -43
  459. package/node_modules/better-dsh/dsh-docs/cookbook/extension-cookbook.md +0 -132
  460. package/node_modules/better-dsh/dsh-docs/cookbook/extension-cookbook.zh.md +0 -136
  461. package/node_modules/better-dsh/dsh-docs/cookbook/maintaining-dsh-code-review.md +0 -64
  462. package/node_modules/better-dsh/dsh-docs/cookbook/maintaining-dsh-code-review.zh.md +0 -64
  463. package/node_modules/better-dsh/dsh-docs/cookbook/responding-to-pr-review-on-a-stack.md +0 -32
  464. package/node_modules/better-dsh/dsh-docs/cookbook/responding-to-pr-review-on-a-stack.zh.md +0 -32
  465. package/node_modules/better-dsh/dsh-docs/cordis-api/context.md +0 -364
  466. package/node_modules/better-dsh/dsh-docs/cordis-api/context.zh.md +0 -366
  467. package/node_modules/better-dsh/dsh-docs/cordis-api/events.md +0 -207
  468. package/node_modules/better-dsh/dsh-docs/cordis-api/events.zh.md +0 -209
  469. package/node_modules/better-dsh/dsh-docs/cordis-api/fiber.md +0 -375
  470. package/node_modules/better-dsh/dsh-docs/cordis-api/fiber.zh.md +0 -377
  471. package/node_modules/better-dsh/dsh-docs/cordis-api/inherited.md +0 -39
  472. package/node_modules/better-dsh/dsh-docs/cordis-api/registry.md +0 -152
  473. package/node_modules/better-dsh/dsh-docs/cordis-api/registry.zh.md +0 -154
  474. package/node_modules/better-dsh/dsh-docs/cordis-api/service.md +0 -102
  475. package/node_modules/better-dsh/dsh-docs/cordis-api/service.zh.md +0 -104
  476. package/node_modules/better-dsh/dsh-docs/cordis-primer.md +0 -45
  477. package/node_modules/better-dsh/dsh-docs/cordis-primer.zh.md +0 -51
  478. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/01-first-plugin.md +0 -95
  479. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/01-first-plugin.zh.md +0 -95
  480. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/02-lifecycle-and-effects.md +0 -98
  481. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/02-lifecycle-and-effects.zh.md +0 -98
  482. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/03-services.md +0 -98
  483. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/03-services.zh.md +0 -98
  484. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/04-events.md +0 -144
  485. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/04-events.zh.md +0 -144
  486. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/05-config.md +0 -84
  487. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/05-config.zh.md +0 -84
  488. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/06-composition-and-hmr.md +0 -113
  489. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/06-composition-and-hmr.zh.md +0 -113
  490. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/07-into-the-harness.md +0 -108
  491. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/07-into-the-harness.zh.md +0 -108
  492. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/index.md +0 -60
  493. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/index.zh.md +0 -62
  494. package/node_modules/better-dsh/dsh-docs/deepseek-llm-api-wire-extensions.md +0 -163
  495. package/node_modules/better-dsh/dsh-docs/deepseek-llm-api-wire-extensions.zh.md +0 -163
  496. package/node_modules/better-dsh/dsh-docs/defensive-patterns.md +0 -33
  497. package/node_modules/better-dsh/dsh-docs/defensive-patterns.zh.md +0 -35
  498. package/node_modules/better-dsh/dsh-docs/development.md +0 -167
  499. package/node_modules/better-dsh/dsh-docs/development.zh.md +0 -173
  500. package/node_modules/better-dsh/dsh-docs/event-producer-consumer.md +0 -86
  501. package/node_modules/better-dsh/dsh-docs/event-producer-consumer.zh.md +0 -88
  502. package/node_modules/better-dsh/dsh-docs/glossary.md +0 -45
  503. package/node_modules/better-dsh/dsh-docs/glossary.zh.md +0 -45
  504. package/node_modules/better-dsh/dsh-docs/graph-atlas.md +0 -22
  505. package/node_modules/better-dsh/dsh-docs/graph-atlas.zh.md +0 -24
  506. package/node_modules/better-dsh/dsh-docs/i18n/README.md +0 -60
  507. package/node_modules/better-dsh/dsh-docs/i18n/README.zh.md +0 -62
  508. package/node_modules/better-dsh/dsh-docs/i18n/style-samples.md +0 -87
  509. package/node_modules/better-dsh/dsh-docs/i18n/terminology.md +0 -214
  510. package/node_modules/better-dsh/dsh-docs/i18n/translation-prompt.md +0 -263
  511. package/node_modules/better-dsh/dsh-docs/i18n/translation-rules.md +0 -69
  512. package/node_modules/better-dsh/dsh-docs/i18n/translation-rules.zh.md +0 -69
  513. package/node_modules/better-dsh/dsh-docs/module-graph.md +0 -1411
  514. package/node_modules/better-dsh/dsh-docs/module-graph.zh.md +0 -1413
  515. package/node_modules/better-dsh/dsh-docs/persistence-catalog.md +0 -1075
  516. package/node_modules/better-dsh/dsh-docs/persistence-catalog.zh.md +0 -1077
  517. package/node_modules/better-dsh/dsh-docs/postmortem/0001-acp-default-export-drops-inject.md +0 -113
  518. package/node_modules/better-dsh/dsh-docs/postmortem/0001-acp-default-export-drops-inject.zh.md +0 -113
  519. package/node_modules/better-dsh/dsh-docs/postmortem/0002-js-expression-disabled-filesystem-tools.md +0 -47
  520. package/node_modules/better-dsh/dsh-docs/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +0 -47
  521. package/node_modules/better-dsh/dsh-docs/postmortem/0003-web-agent-gui-feedback-loop.md +0 -53
  522. package/node_modules/better-dsh/dsh-docs/postmortem/0003-web-agent-gui-feedback-loop.zh.md +0 -53
  523. package/node_modules/better-dsh/dsh-docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.md +0 -55
  524. package/node_modules/better-dsh/dsh-docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +0 -55
  525. package/node_modules/better-dsh/dsh-docs/postmortem/README.md +0 -18
  526. package/node_modules/better-dsh/dsh-docs/postmortem/README.zh.md +0 -18
  527. package/node_modules/better-dsh/dsh-docs/rescope.md +0 -53
  528. package/node_modules/better-dsh/dsh-docs/rescope.zh.md +0 -53
  529. package/node_modules/better-dsh/dsh-docs/session-format-status.md +0 -47
  530. package/node_modules/better-dsh/dsh-docs/session-format-status.zh.md +0 -47
  531. package/node_modules/better-dsh/dsh-docs/subsystems/README.md +0 -61
  532. package/node_modules/better-dsh/dsh-docs/subsystems/README.zh.md +0 -61
  533. package/node_modules/better-dsh/dsh-docs/subsystems/agent-team.md +0 -207
  534. package/node_modules/better-dsh/dsh-docs/subsystems/agent-team.zh.md +0 -207
  535. package/node_modules/better-dsh/dsh-docs/subsystems/approval.md +0 -170
  536. package/node_modules/better-dsh/dsh-docs/subsystems/approval.zh.md +0 -170
  537. package/node_modules/better-dsh/dsh-docs/subsystems/attachment.md +0 -351
  538. package/node_modules/better-dsh/dsh-docs/subsystems/attachment.zh.md +0 -351
  539. package/node_modules/better-dsh/dsh-docs/subsystems/client-modules.md +0 -168
  540. package/node_modules/better-dsh/dsh-docs/subsystems/client-modules.zh.md +0 -168
  541. package/node_modules/better-dsh/dsh-docs/subsystems/client-resources.md +0 -91
  542. package/node_modules/better-dsh/dsh-docs/subsystems/client-resources.zh.md +0 -91
  543. package/node_modules/better-dsh/dsh-docs/subsystems/code-runtime.md +0 -195
  544. package/node_modules/better-dsh/dsh-docs/subsystems/code-runtime.zh.md +0 -195
  545. package/node_modules/better-dsh/dsh-docs/subsystems/commands.md +0 -219
  546. package/node_modules/better-dsh/dsh-docs/subsystems/commands.zh.md +0 -219
  547. package/node_modules/better-dsh/dsh-docs/subsystems/compaction.md +0 -238
  548. package/node_modules/better-dsh/dsh-docs/subsystems/compaction.zh.md +0 -238
  549. package/node_modules/better-dsh/dsh-docs/subsystems/conversation.md +0 -258
  550. package/node_modules/better-dsh/dsh-docs/subsystems/conversation.zh.md +0 -258
  551. package/node_modules/better-dsh/dsh-docs/subsystems/core.md +0 -1209
  552. package/node_modules/better-dsh/dsh-docs/subsystems/core.zh.md +0 -1219
  553. package/node_modules/better-dsh/dsh-docs/subsystems/credentials.md +0 -329
  554. package/node_modules/better-dsh/dsh-docs/subsystems/credentials.zh.md +0 -329
  555. package/node_modules/better-dsh/dsh-docs/subsystems/extensions.md +0 -382
  556. package/node_modules/better-dsh/dsh-docs/subsystems/extensions.zh.md +0 -382
  557. package/node_modules/better-dsh/dsh-docs/subsystems/feedback.md +0 -266
  558. package/node_modules/better-dsh/dsh-docs/subsystems/feedback.zh.md +0 -266
  559. package/node_modules/better-dsh/dsh-docs/subsystems/filesystem.md +0 -505
  560. package/node_modules/better-dsh/dsh-docs/subsystems/filesystem.zh.md +0 -505
  561. package/node_modules/better-dsh/dsh-docs/subsystems/goal.md +0 -277
  562. package/node_modules/better-dsh/dsh-docs/subsystems/goal.zh.md +0 -277
  563. package/node_modules/better-dsh/dsh-docs/subsystems/invariants.md +0 -88
  564. package/node_modules/better-dsh/dsh-docs/subsystems/invariants.zh.md +0 -88
  565. package/node_modules/better-dsh/dsh-docs/subsystems/jobs.md +0 -290
  566. package/node_modules/better-dsh/dsh-docs/subsystems/jobs.zh.md +0 -290
  567. package/node_modules/better-dsh/dsh-docs/subsystems/llm-streaming.md +0 -1080
  568. package/node_modules/better-dsh/dsh-docs/subsystems/llm-streaming.zh.md +0 -1086
  569. package/node_modules/better-dsh/dsh-docs/subsystems/lsp.md +0 -202
  570. package/node_modules/better-dsh/dsh-docs/subsystems/lsp.zh.md +0 -202
  571. package/node_modules/better-dsh/dsh-docs/subsystems/permission-presets.md +0 -131
  572. package/node_modules/better-dsh/dsh-docs/subsystems/permission-presets.zh.md +0 -131
  573. package/node_modules/better-dsh/dsh-docs/subsystems/persistence.md +0 -395
  574. package/node_modules/better-dsh/dsh-docs/subsystems/persistence.zh.md +0 -395
  575. package/node_modules/better-dsh/dsh-docs/subsystems/plan.md +0 -87
  576. package/node_modules/better-dsh/dsh-docs/subsystems/plan.zh.md +0 -87
  577. package/node_modules/better-dsh/dsh-docs/subsystems/sandbox.md +0 -220
  578. package/node_modules/better-dsh/dsh-docs/subsystems/sandbox.zh.md +0 -220
  579. package/node_modules/better-dsh/dsh-docs/subsystems/schedule.md +0 -192
  580. package/node_modules/better-dsh/dsh-docs/subsystems/schedule.zh.md +0 -192
  581. package/node_modules/better-dsh/dsh-docs/subsystems/scope.md +0 -59
  582. package/node_modules/better-dsh/dsh-docs/subsystems/scope.zh.md +0 -59
  583. package/node_modules/better-dsh/dsh-docs/subsystems/session-projection.md +0 -354
  584. package/node_modules/better-dsh/dsh-docs/subsystems/session-projection.zh.md +0 -354
  585. package/node_modules/better-dsh/dsh-docs/subsystems/session-query.md +0 -509
  586. package/node_modules/better-dsh/dsh-docs/subsystems/session-query.zh.md +0 -509
  587. package/node_modules/better-dsh/dsh-docs/subsystems/session-reference.md +0 -219
  588. package/node_modules/better-dsh/dsh-docs/subsystems/session-reference.zh.md +0 -219
  589. package/node_modules/better-dsh/dsh-docs/subsystems/session-telemetry.md +0 -194
  590. package/node_modules/better-dsh/dsh-docs/subsystems/session-telemetry.zh.md +0 -194
  591. package/node_modules/better-dsh/dsh-docs/subsystems/session-title.md +0 -204
  592. package/node_modules/better-dsh/dsh-docs/subsystems/session-title.zh.md +0 -204
  593. package/node_modules/better-dsh/dsh-docs/subsystems/session.md +0 -1155
  594. package/node_modules/better-dsh/dsh-docs/subsystems/session.zh.md +0 -1159
  595. package/node_modules/better-dsh/dsh-docs/subsystems/settings.md +0 -405
  596. package/node_modules/better-dsh/dsh-docs/subsystems/settings.zh.md +0 -405
  597. package/node_modules/better-dsh/dsh-docs/subsystems/shell.md +0 -303
  598. package/node_modules/better-dsh/dsh-docs/subsystems/shell.zh.md +0 -303
  599. package/node_modules/better-dsh/dsh-docs/subsystems/sidebar-right.md +0 -148
  600. package/node_modules/better-dsh/dsh-docs/subsystems/sidebar-right.zh.md +0 -148
  601. package/node_modules/better-dsh/dsh-docs/subsystems/skills.md +0 -354
  602. package/node_modules/better-dsh/dsh-docs/subsystems/skills.zh.md +0 -354
  603. package/node_modules/better-dsh/dsh-docs/subsystems/slots.md +0 -175
  604. package/node_modules/better-dsh/dsh-docs/subsystems/slots.zh.md +0 -175
  605. package/node_modules/better-dsh/dsh-docs/subsystems/spill.md +0 -117
  606. package/node_modules/better-dsh/dsh-docs/subsystems/spill.zh.md +0 -117
  607. package/node_modules/better-dsh/dsh-docs/subsystems/storage.md +0 -260
  608. package/node_modules/better-dsh/dsh-docs/subsystems/storage.zh.md +0 -260
  609. package/node_modules/better-dsh/dsh-docs/subsystems/subagent.md +0 -766
  610. package/node_modules/better-dsh/dsh-docs/subsystems/subagent.zh.md +0 -770
  611. package/node_modules/better-dsh/dsh-docs/subsystems/subprocess.md +0 -324
  612. package/node_modules/better-dsh/dsh-docs/subsystems/subprocess.zh.md +0 -324
  613. package/node_modules/better-dsh/dsh-docs/subsystems/system-prompt.md +0 -220
  614. package/node_modules/better-dsh/dsh-docs/subsystems/system-prompt.zh.md +0 -220
  615. package/node_modules/better-dsh/dsh-docs/subsystems/terminal.md +0 -184
  616. package/node_modules/better-dsh/dsh-docs/subsystems/terminal.zh.md +0 -184
  617. package/node_modules/better-dsh/dsh-docs/subsystems/todo.md +0 -32
  618. package/node_modules/better-dsh/dsh-docs/subsystems/todo.zh.md +0 -32
  619. package/node_modules/better-dsh/dsh-docs/subsystems/token-meter.md +0 -105
  620. package/node_modules/better-dsh/dsh-docs/subsystems/token-meter.zh.md +0 -105
  621. package/node_modules/better-dsh/dsh-docs/subsystems/tools.md +0 -720
  622. package/node_modules/better-dsh/dsh-docs/subsystems/tools.zh.md +0 -720
  623. package/node_modules/better-dsh/dsh-docs/subsystems/typert.md +0 -343
  624. package/node_modules/better-dsh/dsh-docs/subsystems/typert.zh.md +0 -343
  625. package/node_modules/better-dsh/dsh-docs/subsystems/user-questions.md +0 -178
  626. package/node_modules/better-dsh/dsh-docs/subsystems/user-questions.zh.md +0 -178
  627. package/node_modules/better-dsh/dsh-docs/subsystems/web-client.md +0 -95
  628. package/node_modules/better-dsh/dsh-docs/subsystems/web-client.zh.md +0 -95
  629. package/node_modules/better-dsh/dsh-docs/subsystems/web-server.md +0 -154
  630. package/node_modules/better-dsh/dsh-docs/subsystems/web-server.zh.md +0 -154
  631. package/node_modules/better-dsh/dsh-docs/subsystems/web.md +0 -206
  632. package/node_modules/better-dsh/dsh-docs/subsystems/web.zh.md +0 -206
  633. package/node_modules/better-dsh/dsh-docs/subsystems/webhook.md +0 -70
  634. package/node_modules/better-dsh/dsh-docs/subsystems/webhook.zh.md +0 -70
  635. package/node_modules/better-dsh/dsh-docs/subsystems/workflow.md +0 -278
  636. package/node_modules/better-dsh/dsh-docs/subsystems/workflow.zh.md +0 -278
  637. package/node_modules/better-dsh/dsh-docs/subsystems/workspace.md +0 -321
  638. package/node_modules/better-dsh/dsh-docs/subsystems/workspace.zh.md +0 -321
  639. package/node_modules/better-dsh/dsh-docs/testing.md +0 -54
  640. package/node_modules/better-dsh/dsh-docs/testing.zh.md +0 -54
  641. package/node_modules/better-dsh/dsh-docs/tool-catalog.md +0 -2225
  642. package/node_modules/better-dsh/dsh-docs/tool-catalog.zh.md +0 -2233
  643. package/node_modules/better-dsh/dsh-docs/tool-execution-pipeline.md +0 -62
  644. package/node_modules/better-dsh/dsh-docs/tool-execution-pipeline.zh.md +0 -64
  645. package/node_modules/better-dsh/dsh-docs/user/develop/basic/config.md +0 -106
  646. package/node_modules/better-dsh/dsh-docs/user/develop/basic/config.zh.md +0 -106
  647. package/node_modules/better-dsh/dsh-docs/user/develop/basic/index.md +0 -144
  648. package/node_modules/better-dsh/dsh-docs/user/develop/basic/index.zh.md +0 -144
  649. package/node_modules/better-dsh/dsh-docs/user/develop/basic/publish.md +0 -183
  650. package/node_modules/better-dsh/dsh-docs/user/develop/basic/publish.zh.md +0 -183
  651. package/node_modules/better-dsh/dsh-docs/user/develop/basic/tool.md +0 -52
  652. package/node_modules/better-dsh/dsh-docs/user/develop/basic/tool.zh.md +0 -52
  653. package/node_modules/better-dsh/dsh-docs/user/develop/framework/events.md +0 -143
  654. package/node_modules/better-dsh/dsh-docs/user/develop/framework/events.zh.md +0 -143
  655. package/node_modules/better-dsh/dsh-docs/user/develop/framework/index.md +0 -137
  656. package/node_modules/better-dsh/dsh-docs/user/develop/framework/index.zh.md +0 -137
  657. package/node_modules/better-dsh/dsh-docs/user/develop/framework/service.md +0 -148
  658. package/node_modules/better-dsh/dsh-docs/user/develop/framework/service.zh.md +0 -150
  659. package/node_modules/better-dsh/dsh-docs/user/develop/practice/dynamic-cordis.md +0 -15
  660. package/node_modules/better-dsh/dsh-docs/user/develop/practice/dynamic-cordis.zh.md +0 -15
  661. package/node_modules/better-dsh/dsh-docs/user/develop/practice/index.md +0 -155
  662. package/node_modules/better-dsh/dsh-docs/user/develop/practice/index.zh.md +0 -155
  663. package/node_modules/better-dsh/dsh-docs/user/develop/practice/llm-adapter.md +0 -189
  664. package/node_modules/better-dsh/dsh-docs/user/develop/practice/llm-adapter.zh.md +0 -189
  665. package/node_modules/better-dsh/dsh-docs/user/guide/github-review.md +0 -102
  666. package/node_modules/better-dsh/dsh-docs/user/guide/github-review.zh.md +0 -102
  667. package/node_modules/better-dsh/dsh-docs/user/guide/index.md +0 -30
  668. package/node_modules/better-dsh/dsh-docs/user/guide/index.zh.md +0 -30
  669. package/node_modules/better-dsh/dsh-docs/user/guide/mcp-memory.md +0 -101
  670. package/node_modules/better-dsh/dsh-docs/user/guide/mcp-memory.zh.md +0 -101
  671. package/node_modules/better-dsh/dsh-docs/user/guide/network-proxy.md +0 -85
  672. package/node_modules/better-dsh/dsh-docs/user/guide/network-proxy.zh.md +0 -85
  673. package/node_modules/better-dsh/dsh-docs/user/guide/providers.md +0 -190
  674. package/node_modules/better-dsh/dsh-docs/user/guide/providers.zh.md +0 -190
  675. package/node_modules/better-dsh/dsh-docs/user/guide/python-sdk.md +0 -150
  676. package/node_modules/better-dsh/dsh-docs/user/guide/python-sdk.zh.md +0 -150
  677. package/node_modules/better-dsh/dsh-docs/user/guide/schedule.md +0 -21
  678. package/node_modules/better-dsh/dsh-docs/user/guide/schedule.zh.md +0 -21
  679. package/node_modules/better-dsh/dsh-docs/user/index.md +0 -11
  680. package/node_modules/better-dsh/dsh-docs/user/index.zh.md +0 -11
  681. package/node_modules/better-dsh/dsh-docs/web-styling.md +0 -29
  682. package/node_modules/better-dsh/dsh-docs/web-styling.zh.md +0 -29
  683. package/node_modules/better-dsh/eval-description.md +0 -33
  684. package/node_modules/better-dsh/lib/BrowserWebSocketTransport-D1aFReu_.js +0 -4
  685. package/node_modules/better-dsh/lib/BrowserWebSocketTransport-wm99h94r.js +0 -39
  686. package/node_modules/better-dsh/lib/LaunchOptions-B874eBu2.js +0 -4
  687. package/node_modules/better-dsh/lib/LaunchOptions-kGXcZOe0.js +0 -17
  688. package/node_modules/better-dsh/lib/NodeWebSocketTransport-BRLjmu2R.js +0 -4
  689. package/node_modules/better-dsh/lib/NodeWebSocketTransport-D9ysYGLM.js +0 -3634
  690. package/node_modules/better-dsh/lib/ast-assets/ast-grep.wasm +0 -0
  691. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-bash.wasm +0 -0
  692. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-c.wasm +0 -0
  693. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-cpp.wasm +0 -0
  694. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-css.wasm +0 -0
  695. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-go.wasm +0 -0
  696. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-html.wasm +0 -0
  697. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-javascript.wasm +0 -0
  698. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-json.wasm +0 -0
  699. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-python.wasm +0 -0
  700. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-ruby.wasm +0 -0
  701. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-rust.wasm +0 -0
  702. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-tsx.wasm +0 -0
  703. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-typescript.wasm +0 -0
  704. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-yaml.wasm +0 -0
  705. package/node_modules/better-dsh/lib/ast-assets/tree-sitter.wasm +0 -0
  706. package/node_modules/better-dsh/lib/bidi-BalpKaJc.js +0 -16106
  707. package/node_modules/better-dsh/lib/bundle-delivery.d.ts +0 -20
  708. package/node_modules/better-dsh/lib/bundle-delivery.js +0 -209
  709. package/node_modules/better-dsh/lib/chunk-DQxbwPpZ.js +0 -30
  710. package/node_modules/better-dsh/lib/client/index.js +0 -712
  711. package/node_modules/better-dsh/lib/compaction/index.d.ts +0 -57
  712. package/node_modules/better-dsh/lib/compaction/index.js +0 -145
  713. package/node_modules/better-dsh/lib/failover/index.d.ts +0 -59
  714. package/node_modules/better-dsh/lib/failover/index.js +0 -147
  715. package/node_modules/better-dsh/lib/fs-aware/sandbox-plugin.d.ts +0 -71
  716. package/node_modules/better-dsh/lib/fs-aware/sandbox-plugin.js +0 -249
  717. package/node_modules/better-dsh/lib/hmr.d.ts +0 -32
  718. package/node_modules/better-dsh/lib/hmr.js +0 -49
  719. package/node_modules/better-dsh/lib/index-DTDXUe6m.d.ts +0 -208
  720. package/node_modules/better-dsh/lib/index-browser-CysrjMyM.js +0 -21061
  721. package/node_modules/better-dsh/lib/index.d.ts +0 -705
  722. package/node_modules/better-dsh/lib/index.js +0 -3816
  723. package/node_modules/better-dsh/lib/kernel-bridge.py +0 -172
  724. package/node_modules/better-dsh/lib/kernel-env-D8UOWeji.js +0 -195
  725. package/node_modules/better-dsh/lib/kernel-env.d.ts +0 -80
  726. package/node_modules/better-dsh/lib/kernel-env.js +0 -3
  727. package/node_modules/better-dsh/lib/lib-C8_jXvwA.js +0 -894
  728. package/node_modules/better-dsh/lib/lsp-server-registry-BXvUTBY7.js +0 -3
  729. package/node_modules/better-dsh/lib/lsp-server-registry-CH9WNFFt.js +0 -972
  730. package/node_modules/better-dsh/lib/main-BQeFrBM1.js +0 -3
  731. package/node_modules/better-dsh/lib/main-CupOhMp5.js +0 -1432
  732. package/node_modules/better-dsh/lib/mobile/plugin.d.ts +0 -29
  733. package/node_modules/better-dsh/lib/mobile/plugin.js +0 -54
  734. package/node_modules/better-dsh/lib/native-capture-BEByDXYM.js +0 -68
  735. package/node_modules/better-dsh/lib/puppeteer-core-CSk2PtSm.js +0 -1136
  736. package/node_modules/better-dsh/lib/py-sdk-D7klhpWb.js +0 -178
  737. package/node_modules/better-dsh/lib/py-sdk.d.ts +0 -19
  738. package/node_modules/better-dsh/lib/py-sdk.js +0 -3
  739. package/node_modules/better-dsh/lib/remote/plugin.d.ts +0 -24
  740. package/node_modules/better-dsh/lib/remote/plugin.js +0 -1190
  741. package/node_modules/better-dsh/lib/url-schemes/index.d.ts +0 -88
  742. package/node_modules/better-dsh/lib/url-schemes/index.js +0 -12229
  743. package/node_modules/better-dsh/lib/util-BHL_dfV_.js +0 -2953
  744. package/node_modules/better-dsh/lib/wasm_bg-CNXhHjVg.js +0 -1291
  745. package/node_modules/better-dsh/lib/web-password.d.ts +0 -156
  746. package/node_modules/better-dsh/lib/web-password.js +0 -562
  747. package/node_modules/better-dsh/lib/web-tree-sitter-CPrPD4J2.js +0 -3440
  748. package/node_modules/better-dsh/lib/web-trust-D6gJpUMf.js +0 -393
  749. package/node_modules/better-dsh/lib/web-trust-Dej_RI2B.d.ts +0 -113
  750. package/node_modules/better-dsh/lib/web-trust.d.ts +0 -3
  751. package/node_modules/better-dsh/lib/web-trust.js +0 -4
  752. package/node_modules/better-dsh/lib/webserver.d.ts +0 -10
  753. package/node_modules/better-dsh/lib/webserver.js +0 -19
  754. package/node_modules/better-dsh/lib/welcome-notice.d.ts +0 -18
  755. package/node_modules/better-dsh/lib/welcome-notice.js +0 -59
  756. package/node_modules/better-dsh/lib/wrap-T4I0nfPM.js +0 -750
  757. package/node_modules/better-dsh/package.json +0 -430
  758. package/node_modules/better-dsh/scripts/kernel-provision.mjs +0 -35
  759. package/node_modules/better-dsh/scripts/register-bundle.mjs +0 -80
  760. 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 };