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