super-dsh 0.1.12 → 0.3.0

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 (856) hide show
  1. package/README.md +50 -13
  2. package/agent-agy/dist/world-plugin.d.ts +1 -1
  3. package/agent-agy/dist/world-plugin.js +14 -27
  4. package/agent-agy-sdk/dist/world-plugin.d.ts +1 -1
  5. package/agent-agy-sdk/dist/world-plugin.js +14 -27
  6. package/agent-codex/dist/world-plugin.js +14 -27
  7. package/agent-codex-sdk/dist/world-plugin.js +14 -43
  8. package/agent-hermes/dist/world-plugin.js +14 -27
  9. package/agent-omp/dist/world-plugin.js +14 -39
  10. package/agent-omp/lib/client/index.js +258 -0
  11. package/agent-omp-sdk/dist/world-plugin.d.ts +1 -1
  12. package/agent-omp-sdk/dist/world-plugin.js +14 -43
  13. package/agent-pi/dist/world-plugin.js +14 -27
  14. package/bundles/better-dsh.tgz +0 -0
  15. package/bundles/manifest.json +10 -0
  16. package/client/index.js +434 -307
  17. package/cordis.patch.yml +7 -16
  18. package/node_modules/better-dsh/LICENSE +24 -0
  19. package/node_modules/better-dsh/README.md +323 -0
  20. package/node_modules/better-dsh/THIRD_PARTY_NOTICES.md +52 -0
  21. package/node_modules/better-dsh/cordis.patch.yml +139 -0
  22. package/node_modules/better-dsh/docs/00_adr/0001-bridge-tool-layer-not-service-layer.md +14 -0
  23. package/node_modules/better-dsh/docs/00_adr/0002-masking-is-presentation-only.md +15 -0
  24. package/node_modules/better-dsh/docs/10_plans/2026-09-23-remote-execution-framework.md +236 -0
  25. package/node_modules/better-dsh/docs/10_plans/2026-09-23-remote-framework-impl.md +2083 -0
  26. package/node_modules/better-dsh/docs/10_plans/2026-09-26-lsp-ast-reminder.md +64 -0
  27. package/node_modules/better-dsh/docs/10_plans/A2A-messaging-channel-test-archive.md +256 -0
  28. package/node_modules/better-dsh/docs/10_plans/code-mode-vs-rlm-ipython-comparison.md +137 -0
  29. package/node_modules/better-dsh/docs/10_plans/dashr-blueprint-review.md +201 -0
  30. package/node_modules/better-dsh/docs/10_plans/dashr-blueprint.md +561 -0
  31. package/node_modules/better-dsh/docs/10_plans/dashr-compaction-window-and-archive.md +307 -0
  32. package/node_modules/better-dsh/docs/10_plans/dashr-profile-layer-feasibility.md +367 -0
  33. package/node_modules/better-dsh/docs/10_plans/dashr-sandbox-escalation-semantics-gap.md +171 -0
  34. package/node_modules/better-dsh/docs/10_plans/dashr-security-sandbox-analysis.md +187 -0
  35. package/node_modules/better-dsh/docs/10_plans/dashr-surface-invariant-and-omp-imports.md +97 -0
  36. package/node_modules/better-dsh/docs/10_plans/ipython-kernel-interactive-interface-test-report.md +152 -0
  37. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft.md +146 -0
  38. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft_v3.md +50 -0
  39. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft_v4.md +79 -0
  40. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-vs-PrimeAgent-systemprompt-toolcatalog-comparison.md +138 -0
  41. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/RLM-system-prompt-injection-gap-report.md +161 -0
  42. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/V0.1.5-development-plan.md +109 -0
  43. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/actinoable-surface-to-llm-in-agent-runtime_dsh.md +50 -0
  44. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/actinoable-surface-to-llm-in-agent-runtime_prime.md +113 -0
  45. package/node_modules/better-dsh/docs/10_plans/recallable-compaction.md +147 -0
  46. package/node_modules/better-dsh/docs/10_plans/spike-tag-repro.mjs +102 -0
  47. package/node_modules/better-dsh/docs/10_plans/upstream-analysis.md +128 -0
  48. package/node_modules/better-dsh/docs/20_specs/agent/spec.md +54 -0
  49. package/node_modules/better-dsh/docs/20_specs/ast/spec.md +57 -0
  50. package/node_modules/better-dsh/docs/20_specs/compaction-recall/spec.md +46 -0
  51. package/node_modules/better-dsh/docs/20_specs/ctx/spec.md +107 -0
  52. package/node_modules/better-dsh/docs/20_specs/dsh/spec.md +47 -0
  53. package/node_modules/better-dsh/docs/20_specs/dvc/spec.md +106 -0
  54. package/node_modules/better-dsh/docs/20_specs/escalation-guidance/spec.md +44 -0
  55. package/node_modules/better-dsh/docs/20_specs/fs-scheme-resolution/spec.md +37 -0
  56. package/node_modules/better-dsh/docs/20_specs/hash-edit/spec.md +41 -0
  57. package/node_modules/better-dsh/docs/20_specs/http-read/spec.md +73 -0
  58. package/node_modules/better-dsh/docs/20_specs/kernel-provisioning/spec.md +53 -0
  59. package/node_modules/better-dsh/docs/20_specs/lsp/spec.md +121 -0
  60. package/node_modules/better-dsh/docs/20_specs/mobile-layout/spec.md +108 -0
  61. package/node_modules/better-dsh/docs/20_specs/model-failover/spec.md +20 -0
  62. package/node_modules/better-dsh/docs/20_specs/plugins-page-components/spec.md +79 -0
  63. package/node_modules/better-dsh/docs/20_specs/preact-ui-shell/spec.md +22 -0
  64. package/node_modules/better-dsh/docs/20_specs/repl-dispatch-resilience/spec.md +21 -0
  65. package/node_modules/better-dsh/docs/20_specs/skill/spec.md +58 -0
  66. package/node_modules/better-dsh/docs/20_specs/tool-surface/spec.md +222 -0
  67. package/node_modules/better-dsh/docs/20_specs/url-schema/spec.md +148 -0
  68. package/node_modules/better-dsh/docs/20_specs/web-trust-fence/spec.md +43 -0
  69. 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 +176 -0
  70. 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 +226 -0
  71. 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 +222 -0
  72. 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 +81 -0
  73. 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 +234 -0
  74. 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 +160 -0
  75. 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 +44 -0
  76. 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 +89 -0
  77. 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 +198 -0
  78. 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 +246 -0
  79. 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 +50 -0
  80. 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 +63 -0
  81. 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 +76 -0
  82. 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 +76 -0
  83. 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 +134 -0
  84. 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 +92 -0
  85. 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 +125 -0
  86. 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 +207 -0
  87. 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 +65 -0
  88. 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 +53 -0
  89. 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 +155 -0
  90. 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 +105 -0
  91. 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 +62 -0
  92. 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 +137 -0
  93. 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 +38 -0
  94. 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 +325 -0
  95. 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 +185 -0
  96. 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 +82 -0
  97. 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 +101 -0
  98. 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 +54 -0
  99. 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 +447 -0
  100. 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 +63 -0
  101. 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 +82 -0
  102. 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 +220 -0
  103. 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 +151 -0
  104. package/node_modules/better-dsh/docs/50_test-reports/2026-10-06-authentication-only-web-admission-4999.md +63 -0
  105. package/node_modules/better-dsh/docs/50_test-reports/2026-10-07-better-dsh-welcome-self-contained-4999.md +52 -0
  106. 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 +110 -0
  107. package/node_modules/better-dsh/docs/50_test-reports/kernel-provisioning.md +44 -0
  108. package/node_modules/better-dsh/docs/50_test-reports/repl-kernel-provisioning-test-report.md +87 -0
  109. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.2-alpha.5-local-test-report.md +81 -0
  110. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.2-alpha.5-report.md +93 -0
  111. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.3-alpha.2-local-test-report.md +44 -0
  112. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.3-alpha.2-report.md +110 -0
  113. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.5-rc.2-local-test-report.md +79 -0
  114. 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 +142 -0
  115. 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 +193 -0
  116. 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 +96 -0
  117. 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 +127 -0
  118. 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 +150 -0
  119. 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 +224 -0
  120. 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 +168 -0
  121. 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 +123 -0
  122. 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 +110 -0
  123. 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 +86 -0
  124. 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 +66 -0
  125. 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 +67 -0
  126. 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 +136 -0
  127. package/node_modules/better-dsh/docs/50_test-reports/v0.2.1ef-dev-audit-report.md +73 -0
  128. 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 +102 -0
  129. 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 +73 -0
  130. 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 +47 -0
  131. 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 +158 -0
  132. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/SKILL.md +147 -0
  133. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch01-user-guide.md +123 -0
  134. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch02-plugin-basics.md +127 -0
  135. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch03-plugin-framework-practice.md +120 -0
  136. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch04-cordis-fundamentals.md +129 -0
  137. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch05-cordis-api.md +115 -0
  138. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch06-architecture.md +109 -0
  139. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch07-capability-seams.md +97 -0
  140. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch08-internals-pipelines.md +111 -0
  141. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch09-api-gateway.md +106 -0
  142. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch10-config-catalog.md +97 -0
  143. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch11-tool-catalog.md +121 -0
  144. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch12-persistence-catalog.md +109 -0
  145. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch13-subsystems-core-session.md +106 -0
  146. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch14-subsystems-agent-loop.md +111 -0
  147. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch15-subsystems-tool-execution.md +106 -0
  148. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch16-subsystems-session-data.md +132 -0
  149. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch17-subsystems-llm-streaming.md +128 -0
  150. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch18-subsystems-web-ui.md +142 -0
  151. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch19-cookbook.md +149 -0
  152. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch20-development-testing.md +87 -0
  153. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch21-postmortems.md +82 -0
  154. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch22-i18n.md +86 -0
  155. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/cheatsheet.md +67 -0
  156. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/glossary.md +57 -0
  157. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/patterns.md +88 -0
  158. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/AGENTS.md +75 -0
  159. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/agent-lifecycle.md +84 -0
  160. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/agent-lifecycle.zh.md +86 -0
  161. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/api-gateway.md +164 -0
  162. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/api-gateway.zh.md +164 -0
  163. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/architecture.md +150 -0
  164. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/architecture.zh.md +154 -0
  165. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/capability-seams.md +543 -0
  166. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/capability-seams.zh.md +545 -0
  167. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/config-catalog.md +3473 -0
  168. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/config-catalog.zh.md +3474 -0
  169. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-package.md +117 -0
  170. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-package.zh.md +119 -0
  171. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-remote-api.md +197 -0
  172. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-remote-api.zh.md +197 -0
  173. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-settings-card.md +102 -0
  174. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-settings-card.zh.md +102 -0
  175. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-tool.md +101 -0
  176. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-tool.zh.md +103 -0
  177. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-vendored-package.md +59 -0
  178. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-vendored-package.zh.md +59 -0
  179. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-an-llm-adapter.md +43 -0
  180. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-an-llm-adapter.zh.md +43 -0
  181. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/extension-cookbook.md +132 -0
  182. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/extension-cookbook.zh.md +136 -0
  183. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/maintaining-dsh-code-review.md +64 -0
  184. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/maintaining-dsh-code-review.zh.md +64 -0
  185. 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 +32 -0
  186. 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 +32 -0
  187. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/context.md +364 -0
  188. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/context.zh.md +366 -0
  189. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/events.md +207 -0
  190. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/events.zh.md +209 -0
  191. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/fiber.md +375 -0
  192. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/fiber.zh.md +377 -0
  193. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/inherited.md +39 -0
  194. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/registry.md +152 -0
  195. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/registry.zh.md +154 -0
  196. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/service.md +102 -0
  197. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/service.zh.md +104 -0
  198. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-primer.md +45 -0
  199. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-primer.zh.md +51 -0
  200. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/01-first-plugin.md +95 -0
  201. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/01-first-plugin.zh.md +95 -0
  202. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/02-lifecycle-and-effects.md +98 -0
  203. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/02-lifecycle-and-effects.zh.md +98 -0
  204. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/03-services.md +98 -0
  205. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/03-services.zh.md +98 -0
  206. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/04-events.md +144 -0
  207. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/04-events.zh.md +144 -0
  208. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/05-config.md +84 -0
  209. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/05-config.zh.md +84 -0
  210. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/06-composition-and-hmr.md +113 -0
  211. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/06-composition-and-hmr.zh.md +113 -0
  212. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/07-into-the-harness.md +108 -0
  213. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/07-into-the-harness.zh.md +108 -0
  214. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/index.md +60 -0
  215. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/index.zh.md +62 -0
  216. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/deepseek-llm-api-wire-extensions.md +163 -0
  217. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/deepseek-llm-api-wire-extensions.zh.md +163 -0
  218. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/defensive-patterns.md +33 -0
  219. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/defensive-patterns.zh.md +35 -0
  220. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/development.md +167 -0
  221. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/development.zh.md +173 -0
  222. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/event-producer-consumer.md +86 -0
  223. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/event-producer-consumer.zh.md +88 -0
  224. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/glossary.md +45 -0
  225. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/glossary.zh.md +45 -0
  226. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/graph-atlas.md +22 -0
  227. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/graph-atlas.zh.md +24 -0
  228. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/README.md +60 -0
  229. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/README.zh.md +62 -0
  230. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/style-samples.md +87 -0
  231. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/terminology.md +214 -0
  232. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-prompt.md +263 -0
  233. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-rules.md +69 -0
  234. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-rules.zh.md +69 -0
  235. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/module-graph.md +1411 -0
  236. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/module-graph.zh.md +1413 -0
  237. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/persistence-catalog.md +1075 -0
  238. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/persistence-catalog.zh.md +1077 -0
  239. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0001-acp-default-export-drops-inject.md +113 -0
  240. 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 +113 -0
  241. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0002-js-expression-disabled-filesystem-tools.md +47 -0
  242. 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 +47 -0
  243. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0003-web-agent-gui-feedback-loop.md +53 -0
  244. 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 +53 -0
  245. 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 +55 -0
  246. 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 +55 -0
  247. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/README.md +18 -0
  248. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/README.zh.md +18 -0
  249. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/rescope.md +53 -0
  250. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/rescope.zh.md +53 -0
  251. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/README.md +61 -0
  252. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/README.zh.md +61 -0
  253. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/agent-team.md +207 -0
  254. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/agent-team.zh.md +207 -0
  255. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/approval.md +170 -0
  256. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/approval.zh.md +170 -0
  257. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/attachment.md +351 -0
  258. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/attachment.zh.md +351 -0
  259. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/client-modules.md +168 -0
  260. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/client-modules.zh.md +168 -0
  261. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/code-runtime.md +195 -0
  262. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/code-runtime.zh.md +195 -0
  263. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/commands.md +219 -0
  264. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/commands.zh.md +219 -0
  265. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/compaction.md +238 -0
  266. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/compaction.zh.md +238 -0
  267. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/conversation.md +258 -0
  268. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/conversation.zh.md +258 -0
  269. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/core.md +1209 -0
  270. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/core.zh.md +1219 -0
  271. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/credentials.md +329 -0
  272. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/credentials.zh.md +329 -0
  273. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/extensions.md +382 -0
  274. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/extensions.zh.md +382 -0
  275. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/feedback.md +266 -0
  276. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/feedback.zh.md +266 -0
  277. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/filesystem.md +505 -0
  278. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/filesystem.zh.md +505 -0
  279. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/goal.md +277 -0
  280. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/goal.zh.md +277 -0
  281. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/invariants.md +88 -0
  282. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/invariants.zh.md +88 -0
  283. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/jobs.md +290 -0
  284. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/jobs.zh.md +290 -0
  285. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/llm-streaming.md +1080 -0
  286. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/llm-streaming.zh.md +1086 -0
  287. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/lsp.md +202 -0
  288. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/lsp.zh.md +202 -0
  289. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/permission-presets.md +131 -0
  290. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/permission-presets.zh.md +131 -0
  291. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/persistence.md +395 -0
  292. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/persistence.zh.md +395 -0
  293. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/plan.md +87 -0
  294. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/plan.zh.md +87 -0
  295. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/sandbox.md +220 -0
  296. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/sandbox.zh.md +220 -0
  297. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/schedule.md +192 -0
  298. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/schedule.zh.md +192 -0
  299. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/scope.md +59 -0
  300. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/scope.zh.md +59 -0
  301. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-projection.md +354 -0
  302. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-projection.zh.md +354 -0
  303. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-query.md +509 -0
  304. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-query.zh.md +509 -0
  305. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-reference.md +219 -0
  306. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-reference.zh.md +219 -0
  307. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-telemetry.md +194 -0
  308. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-telemetry.zh.md +194 -0
  309. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-title.md +204 -0
  310. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-title.zh.md +204 -0
  311. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session.md +1155 -0
  312. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session.zh.md +1159 -0
  313. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/settings.md +405 -0
  314. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/settings.zh.md +405 -0
  315. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/shell.md +303 -0
  316. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/shell.zh.md +303 -0
  317. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/skills.md +354 -0
  318. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/skills.zh.md +354 -0
  319. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/slots.md +175 -0
  320. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/slots.zh.md +175 -0
  321. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/spill.md +117 -0
  322. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/spill.zh.md +117 -0
  323. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/storage.md +260 -0
  324. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/storage.zh.md +260 -0
  325. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subagent.md +766 -0
  326. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subagent.zh.md +770 -0
  327. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subprocess.md +324 -0
  328. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subprocess.zh.md +324 -0
  329. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/system-prompt.md +220 -0
  330. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/system-prompt.zh.md +220 -0
  331. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/terminal.md +184 -0
  332. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/terminal.zh.md +184 -0
  333. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/todo.md +32 -0
  334. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/todo.zh.md +32 -0
  335. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/token-meter.md +105 -0
  336. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/token-meter.zh.md +105 -0
  337. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/tools.md +720 -0
  338. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/tools.zh.md +720 -0
  339. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/typert.md +343 -0
  340. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/typert.zh.md +343 -0
  341. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/user-questions.md +178 -0
  342. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/user-questions.zh.md +178 -0
  343. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-client.md +95 -0
  344. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-client.zh.md +95 -0
  345. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-server.md +154 -0
  346. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-server.zh.md +154 -0
  347. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web.md +206 -0
  348. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web.zh.md +206 -0
  349. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/webhook.md +70 -0
  350. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/webhook.zh.md +70 -0
  351. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workflow.md +278 -0
  352. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workflow.zh.md +278 -0
  353. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workspace.md +321 -0
  354. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workspace.zh.md +321 -0
  355. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/testing.md +54 -0
  356. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/testing.zh.md +54 -0
  357. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-catalog.md +2225 -0
  358. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-catalog.zh.md +2233 -0
  359. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-execution-pipeline.md +62 -0
  360. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-execution-pipeline.zh.md +64 -0
  361. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/config.md +106 -0
  362. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/config.zh.md +106 -0
  363. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/index.md +144 -0
  364. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/index.zh.md +144 -0
  365. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/publish.md +183 -0
  366. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/publish.zh.md +183 -0
  367. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/tool.md +52 -0
  368. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/tool.zh.md +52 -0
  369. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/events.md +143 -0
  370. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/events.zh.md +143 -0
  371. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/index.md +137 -0
  372. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/index.zh.md +137 -0
  373. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/service.md +148 -0
  374. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/service.zh.md +150 -0
  375. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/dynamic-cordis.md +15 -0
  376. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/dynamic-cordis.zh.md +15 -0
  377. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/index.md +155 -0
  378. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/index.zh.md +155 -0
  379. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/llm-adapter.md +189 -0
  380. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/llm-adapter.zh.md +189 -0
  381. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/github-review.md +102 -0
  382. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/github-review.zh.md +102 -0
  383. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/index.md +30 -0
  384. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/index.zh.md +30 -0
  385. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/mcp-memory.md +101 -0
  386. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/mcp-memory.zh.md +101 -0
  387. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/network-proxy.md +85 -0
  388. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/network-proxy.zh.md +85 -0
  389. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/providers.md +190 -0
  390. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/providers.zh.md +190 -0
  391. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/python-sdk.md +150 -0
  392. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/python-sdk.zh.md +150 -0
  393. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/schedule.md +21 -0
  394. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/schedule.zh.md +21 -0
  395. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/index.md +11 -0
  396. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/index.zh.md +11 -0
  397. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/web-styling.md +29 -0
  398. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/web-styling.zh.md +29 -0
  399. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/site-pages-map.txt +234 -0
  400. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/site-pages.json +232 -0
  401. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src-README.md +63 -0
  402. package/node_modules/better-dsh/docs/dev-test-environment-notes.md +137 -0
  403. package/node_modules/better-dsh/docs/distro-blueprint.md +81 -0
  404. package/node_modules/better-dsh/docs/dsh-webUI-with-rlm-mode.png +0 -0
  405. package/node_modules/better-dsh/docs/repositioning-and-rebranding.md +102 -0
  406. package/node_modules/better-dsh/docs/specs/agent/spec.md +54 -0
  407. package/node_modules/better-dsh/docs/specs/ast/spec.md +57 -0
  408. package/node_modules/better-dsh/docs/specs/ast-engine-deomp/spec.md +170 -0
  409. package/node_modules/better-dsh/docs/specs/authentication-only-web-admission/spec.md +51 -0
  410. package/node_modules/better-dsh/docs/specs/compaction-recall/spec.md +46 -0
  411. package/node_modules/better-dsh/docs/specs/ctx/spec.md +179 -0
  412. package/node_modules/better-dsh/docs/specs/docs-packaging-trim/spec.md +110 -0
  413. package/node_modules/better-dsh/docs/specs/dsh/spec.md +47 -0
  414. package/node_modules/better-dsh/docs/specs/dvc/spec.md +106 -0
  415. package/node_modules/better-dsh/docs/specs/escalation-guidance/spec.md +44 -0
  416. package/node_modules/better-dsh/docs/specs/fs-scheme-resolution/spec.md +37 -0
  417. package/node_modules/better-dsh/docs/specs/hash-edit/spec.md +41 -0
  418. package/node_modules/better-dsh/docs/specs/http-read/spec.md +73 -0
  419. package/node_modules/better-dsh/docs/specs/kernel-provisioning/spec.md +53 -0
  420. package/node_modules/better-dsh/docs/specs/lsp/spec.md +121 -0
  421. package/node_modules/better-dsh/docs/specs/mobile-layout/spec.md +108 -0
  422. package/node_modules/better-dsh/docs/specs/model-failover/spec.md +20 -0
  423. package/node_modules/better-dsh/docs/specs/model-picker-ios-blur/spec.md +168 -0
  424. package/node_modules/better-dsh/docs/specs/plugins-page-components/spec.md +79 -0
  425. package/node_modules/better-dsh/docs/specs/preact-ui-shell/spec.md +22 -0
  426. package/node_modules/better-dsh/docs/specs/remote-pty-label/spec.md +126 -0
  427. package/node_modules/better-dsh/docs/specs/repl-dispatch-resilience/spec.md +21 -0
  428. package/node_modules/better-dsh/docs/specs/skill/spec.md +58 -0
  429. package/node_modules/better-dsh/docs/specs/tool-surface/spec.md +222 -0
  430. package/node_modules/better-dsh/docs/specs/url-schema/spec.md +148 -0
  431. package/node_modules/better-dsh/docs/specs/web-trust-fence/spec.md +43 -0
  432. package/node_modules/better-dsh/docs/specs/welcome-self-contained/spec.md +13 -0
  433. package/node_modules/better-dsh/docs/specs/zero-npm-runtime-deps/spec.md +85 -0
  434. package/node_modules/better-dsh/docs/superpowers/plans/2026-10-02-ctx-navigation.md +319 -0
  435. package/node_modules/better-dsh/docs/superpowers/plans/2026-10-03-ast-engine-deomp.md +1214 -0
  436. package/node_modules/better-dsh/docs/superpowers/plans/2026-10-03-docs-packaging-trim.md +181 -0
  437. package/node_modules/better-dsh/docs/superpowers/specs/2026-10-02-ctx-navigation-design.md +209 -0
  438. package/node_modules/better-dsh/docs/upstream-dsh-0.1.5-rc.2-report.md +156 -0
  439. package/node_modules/better-dsh/dsh-docs/AGENTS.md +75 -0
  440. package/node_modules/better-dsh/dsh-docs/agent-lifecycle.md +84 -0
  441. package/node_modules/better-dsh/dsh-docs/agent-lifecycle.zh.md +86 -0
  442. package/node_modules/better-dsh/dsh-docs/api-gateway.md +164 -0
  443. package/node_modules/better-dsh/dsh-docs/api-gateway.zh.md +164 -0
  444. package/node_modules/better-dsh/dsh-docs/architecture.md +150 -0
  445. package/node_modules/better-dsh/dsh-docs/architecture.zh.md +154 -0
  446. package/node_modules/better-dsh/dsh-docs/capability-seams.md +543 -0
  447. package/node_modules/better-dsh/dsh-docs/capability-seams.zh.md +545 -0
  448. package/node_modules/better-dsh/dsh-docs/config-catalog.md +3473 -0
  449. package/node_modules/better-dsh/dsh-docs/config-catalog.zh.md +3474 -0
  450. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-package.md +117 -0
  451. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-package.zh.md +119 -0
  452. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-remote-api.md +197 -0
  453. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-remote-api.zh.md +197 -0
  454. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-session-format-version.md +109 -0
  455. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-session-format-version.zh.md +109 -0
  456. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-settings-card.md +102 -0
  457. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-settings-card.zh.md +102 -0
  458. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-tool.md +101 -0
  459. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-tool.zh.md +103 -0
  460. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-vendored-package.md +59 -0
  461. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-vendored-package.zh.md +59 -0
  462. package/node_modules/better-dsh/dsh-docs/cookbook/adding-an-llm-adapter.md +43 -0
  463. package/node_modules/better-dsh/dsh-docs/cookbook/adding-an-llm-adapter.zh.md +43 -0
  464. package/node_modules/better-dsh/dsh-docs/cookbook/extension-cookbook.md +132 -0
  465. package/node_modules/better-dsh/dsh-docs/cookbook/extension-cookbook.zh.md +136 -0
  466. package/node_modules/better-dsh/dsh-docs/cookbook/maintaining-dsh-code-review.md +64 -0
  467. package/node_modules/better-dsh/dsh-docs/cookbook/maintaining-dsh-code-review.zh.md +64 -0
  468. package/node_modules/better-dsh/dsh-docs/cookbook/responding-to-pr-review-on-a-stack.md +32 -0
  469. package/node_modules/better-dsh/dsh-docs/cookbook/responding-to-pr-review-on-a-stack.zh.md +32 -0
  470. package/node_modules/better-dsh/dsh-docs/cordis-api/context.md +364 -0
  471. package/node_modules/better-dsh/dsh-docs/cordis-api/context.zh.md +366 -0
  472. package/node_modules/better-dsh/dsh-docs/cordis-api/events.md +207 -0
  473. package/node_modules/better-dsh/dsh-docs/cordis-api/events.zh.md +209 -0
  474. package/node_modules/better-dsh/dsh-docs/cordis-api/fiber.md +375 -0
  475. package/node_modules/better-dsh/dsh-docs/cordis-api/fiber.zh.md +377 -0
  476. package/node_modules/better-dsh/dsh-docs/cordis-api/inherited.md +39 -0
  477. package/node_modules/better-dsh/dsh-docs/cordis-api/registry.md +152 -0
  478. package/node_modules/better-dsh/dsh-docs/cordis-api/registry.zh.md +154 -0
  479. package/node_modules/better-dsh/dsh-docs/cordis-api/service.md +102 -0
  480. package/node_modules/better-dsh/dsh-docs/cordis-api/service.zh.md +104 -0
  481. package/node_modules/better-dsh/dsh-docs/cordis-primer.md +45 -0
  482. package/node_modules/better-dsh/dsh-docs/cordis-primer.zh.md +51 -0
  483. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/01-first-plugin.md +95 -0
  484. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/01-first-plugin.zh.md +95 -0
  485. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/02-lifecycle-and-effects.md +98 -0
  486. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/02-lifecycle-and-effects.zh.md +98 -0
  487. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/03-services.md +98 -0
  488. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/03-services.zh.md +98 -0
  489. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/04-events.md +144 -0
  490. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/04-events.zh.md +144 -0
  491. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/05-config.md +84 -0
  492. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/05-config.zh.md +84 -0
  493. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/06-composition-and-hmr.md +113 -0
  494. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/06-composition-and-hmr.zh.md +113 -0
  495. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/07-into-the-harness.md +108 -0
  496. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/07-into-the-harness.zh.md +108 -0
  497. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/index.md +60 -0
  498. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/index.zh.md +62 -0
  499. package/node_modules/better-dsh/dsh-docs/deepseek-llm-api-wire-extensions.md +163 -0
  500. package/node_modules/better-dsh/dsh-docs/deepseek-llm-api-wire-extensions.zh.md +163 -0
  501. package/node_modules/better-dsh/dsh-docs/defensive-patterns.md +33 -0
  502. package/node_modules/better-dsh/dsh-docs/defensive-patterns.zh.md +35 -0
  503. package/node_modules/better-dsh/dsh-docs/development.md +167 -0
  504. package/node_modules/better-dsh/dsh-docs/development.zh.md +173 -0
  505. package/node_modules/better-dsh/dsh-docs/event-producer-consumer.md +86 -0
  506. package/node_modules/better-dsh/dsh-docs/event-producer-consumer.zh.md +88 -0
  507. package/node_modules/better-dsh/dsh-docs/glossary.md +45 -0
  508. package/node_modules/better-dsh/dsh-docs/glossary.zh.md +45 -0
  509. package/node_modules/better-dsh/dsh-docs/graph-atlas.md +22 -0
  510. package/node_modules/better-dsh/dsh-docs/graph-atlas.zh.md +24 -0
  511. package/node_modules/better-dsh/dsh-docs/i18n/README.md +60 -0
  512. package/node_modules/better-dsh/dsh-docs/i18n/README.zh.md +62 -0
  513. package/node_modules/better-dsh/dsh-docs/i18n/style-samples.md +87 -0
  514. package/node_modules/better-dsh/dsh-docs/i18n/terminology.md +214 -0
  515. package/node_modules/better-dsh/dsh-docs/i18n/translation-prompt.md +263 -0
  516. package/node_modules/better-dsh/dsh-docs/i18n/translation-rules.md +69 -0
  517. package/node_modules/better-dsh/dsh-docs/i18n/translation-rules.zh.md +69 -0
  518. package/node_modules/better-dsh/dsh-docs/module-graph.md +1411 -0
  519. package/node_modules/better-dsh/dsh-docs/module-graph.zh.md +1413 -0
  520. package/node_modules/better-dsh/dsh-docs/persistence-catalog.md +1075 -0
  521. package/node_modules/better-dsh/dsh-docs/persistence-catalog.zh.md +1077 -0
  522. package/node_modules/better-dsh/dsh-docs/postmortem/0001-acp-default-export-drops-inject.md +113 -0
  523. package/node_modules/better-dsh/dsh-docs/postmortem/0001-acp-default-export-drops-inject.zh.md +113 -0
  524. package/node_modules/better-dsh/dsh-docs/postmortem/0002-js-expression-disabled-filesystem-tools.md +47 -0
  525. package/node_modules/better-dsh/dsh-docs/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +47 -0
  526. package/node_modules/better-dsh/dsh-docs/postmortem/0003-web-agent-gui-feedback-loop.md +53 -0
  527. package/node_modules/better-dsh/dsh-docs/postmortem/0003-web-agent-gui-feedback-loop.zh.md +53 -0
  528. package/node_modules/better-dsh/dsh-docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.md +55 -0
  529. package/node_modules/better-dsh/dsh-docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +55 -0
  530. package/node_modules/better-dsh/dsh-docs/postmortem/README.md +18 -0
  531. package/node_modules/better-dsh/dsh-docs/postmortem/README.zh.md +18 -0
  532. package/node_modules/better-dsh/dsh-docs/rescope.md +53 -0
  533. package/node_modules/better-dsh/dsh-docs/rescope.zh.md +53 -0
  534. package/node_modules/better-dsh/dsh-docs/session-format-status.md +47 -0
  535. package/node_modules/better-dsh/dsh-docs/session-format-status.zh.md +47 -0
  536. package/node_modules/better-dsh/dsh-docs/subsystems/README.md +61 -0
  537. package/node_modules/better-dsh/dsh-docs/subsystems/README.zh.md +61 -0
  538. package/node_modules/better-dsh/dsh-docs/subsystems/agent-team.md +207 -0
  539. package/node_modules/better-dsh/dsh-docs/subsystems/agent-team.zh.md +207 -0
  540. package/node_modules/better-dsh/dsh-docs/subsystems/approval.md +170 -0
  541. package/node_modules/better-dsh/dsh-docs/subsystems/approval.zh.md +170 -0
  542. package/node_modules/better-dsh/dsh-docs/subsystems/attachment.md +351 -0
  543. package/node_modules/better-dsh/dsh-docs/subsystems/attachment.zh.md +351 -0
  544. package/node_modules/better-dsh/dsh-docs/subsystems/client-modules.md +168 -0
  545. package/node_modules/better-dsh/dsh-docs/subsystems/client-modules.zh.md +168 -0
  546. package/node_modules/better-dsh/dsh-docs/subsystems/client-resources.md +91 -0
  547. package/node_modules/better-dsh/dsh-docs/subsystems/client-resources.zh.md +91 -0
  548. package/node_modules/better-dsh/dsh-docs/subsystems/code-runtime.md +195 -0
  549. package/node_modules/better-dsh/dsh-docs/subsystems/code-runtime.zh.md +195 -0
  550. package/node_modules/better-dsh/dsh-docs/subsystems/commands.md +219 -0
  551. package/node_modules/better-dsh/dsh-docs/subsystems/commands.zh.md +219 -0
  552. package/node_modules/better-dsh/dsh-docs/subsystems/compaction.md +238 -0
  553. package/node_modules/better-dsh/dsh-docs/subsystems/compaction.zh.md +238 -0
  554. package/node_modules/better-dsh/dsh-docs/subsystems/conversation.md +258 -0
  555. package/node_modules/better-dsh/dsh-docs/subsystems/conversation.zh.md +258 -0
  556. package/node_modules/better-dsh/dsh-docs/subsystems/core.md +1209 -0
  557. package/node_modules/better-dsh/dsh-docs/subsystems/core.zh.md +1219 -0
  558. package/node_modules/better-dsh/dsh-docs/subsystems/credentials.md +329 -0
  559. package/node_modules/better-dsh/dsh-docs/subsystems/credentials.zh.md +329 -0
  560. package/node_modules/better-dsh/dsh-docs/subsystems/extensions.md +382 -0
  561. package/node_modules/better-dsh/dsh-docs/subsystems/extensions.zh.md +382 -0
  562. package/node_modules/better-dsh/dsh-docs/subsystems/feedback.md +266 -0
  563. package/node_modules/better-dsh/dsh-docs/subsystems/feedback.zh.md +266 -0
  564. package/node_modules/better-dsh/dsh-docs/subsystems/filesystem.md +505 -0
  565. package/node_modules/better-dsh/dsh-docs/subsystems/filesystem.zh.md +505 -0
  566. package/node_modules/better-dsh/dsh-docs/subsystems/goal.md +277 -0
  567. package/node_modules/better-dsh/dsh-docs/subsystems/goal.zh.md +277 -0
  568. package/node_modules/better-dsh/dsh-docs/subsystems/invariants.md +88 -0
  569. package/node_modules/better-dsh/dsh-docs/subsystems/invariants.zh.md +88 -0
  570. package/node_modules/better-dsh/dsh-docs/subsystems/jobs.md +290 -0
  571. package/node_modules/better-dsh/dsh-docs/subsystems/jobs.zh.md +290 -0
  572. package/node_modules/better-dsh/dsh-docs/subsystems/llm-streaming.md +1080 -0
  573. package/node_modules/better-dsh/dsh-docs/subsystems/llm-streaming.zh.md +1086 -0
  574. package/node_modules/better-dsh/dsh-docs/subsystems/lsp.md +202 -0
  575. package/node_modules/better-dsh/dsh-docs/subsystems/lsp.zh.md +202 -0
  576. package/node_modules/better-dsh/dsh-docs/subsystems/permission-presets.md +131 -0
  577. package/node_modules/better-dsh/dsh-docs/subsystems/permission-presets.zh.md +131 -0
  578. package/node_modules/better-dsh/dsh-docs/subsystems/persistence.md +395 -0
  579. package/node_modules/better-dsh/dsh-docs/subsystems/persistence.zh.md +395 -0
  580. package/node_modules/better-dsh/dsh-docs/subsystems/plan.md +87 -0
  581. package/node_modules/better-dsh/dsh-docs/subsystems/plan.zh.md +87 -0
  582. package/node_modules/better-dsh/dsh-docs/subsystems/sandbox.md +220 -0
  583. package/node_modules/better-dsh/dsh-docs/subsystems/sandbox.zh.md +220 -0
  584. package/node_modules/better-dsh/dsh-docs/subsystems/schedule.md +192 -0
  585. package/node_modules/better-dsh/dsh-docs/subsystems/schedule.zh.md +192 -0
  586. package/node_modules/better-dsh/dsh-docs/subsystems/scope.md +59 -0
  587. package/node_modules/better-dsh/dsh-docs/subsystems/scope.zh.md +59 -0
  588. package/node_modules/better-dsh/dsh-docs/subsystems/session-projection.md +354 -0
  589. package/node_modules/better-dsh/dsh-docs/subsystems/session-projection.zh.md +354 -0
  590. package/node_modules/better-dsh/dsh-docs/subsystems/session-query.md +509 -0
  591. package/node_modules/better-dsh/dsh-docs/subsystems/session-query.zh.md +509 -0
  592. package/node_modules/better-dsh/dsh-docs/subsystems/session-reference.md +219 -0
  593. package/node_modules/better-dsh/dsh-docs/subsystems/session-reference.zh.md +219 -0
  594. package/node_modules/better-dsh/dsh-docs/subsystems/session-telemetry.md +194 -0
  595. package/node_modules/better-dsh/dsh-docs/subsystems/session-telemetry.zh.md +194 -0
  596. package/node_modules/better-dsh/dsh-docs/subsystems/session-title.md +204 -0
  597. package/node_modules/better-dsh/dsh-docs/subsystems/session-title.zh.md +204 -0
  598. package/node_modules/better-dsh/dsh-docs/subsystems/session.md +1155 -0
  599. package/node_modules/better-dsh/dsh-docs/subsystems/session.zh.md +1159 -0
  600. package/node_modules/better-dsh/dsh-docs/subsystems/settings.md +405 -0
  601. package/node_modules/better-dsh/dsh-docs/subsystems/settings.zh.md +405 -0
  602. package/node_modules/better-dsh/dsh-docs/subsystems/shell.md +303 -0
  603. package/node_modules/better-dsh/dsh-docs/subsystems/shell.zh.md +303 -0
  604. package/node_modules/better-dsh/dsh-docs/subsystems/sidebar-right.md +148 -0
  605. package/node_modules/better-dsh/dsh-docs/subsystems/sidebar-right.zh.md +148 -0
  606. package/node_modules/better-dsh/dsh-docs/subsystems/skills.md +354 -0
  607. package/node_modules/better-dsh/dsh-docs/subsystems/skills.zh.md +354 -0
  608. package/node_modules/better-dsh/dsh-docs/subsystems/slots.md +175 -0
  609. package/node_modules/better-dsh/dsh-docs/subsystems/slots.zh.md +175 -0
  610. package/node_modules/better-dsh/dsh-docs/subsystems/spill.md +117 -0
  611. package/node_modules/better-dsh/dsh-docs/subsystems/spill.zh.md +117 -0
  612. package/node_modules/better-dsh/dsh-docs/subsystems/storage.md +260 -0
  613. package/node_modules/better-dsh/dsh-docs/subsystems/storage.zh.md +260 -0
  614. package/node_modules/better-dsh/dsh-docs/subsystems/subagent.md +766 -0
  615. package/node_modules/better-dsh/dsh-docs/subsystems/subagent.zh.md +770 -0
  616. package/node_modules/better-dsh/dsh-docs/subsystems/subprocess.md +324 -0
  617. package/node_modules/better-dsh/dsh-docs/subsystems/subprocess.zh.md +324 -0
  618. package/node_modules/better-dsh/dsh-docs/subsystems/system-prompt.md +220 -0
  619. package/node_modules/better-dsh/dsh-docs/subsystems/system-prompt.zh.md +220 -0
  620. package/node_modules/better-dsh/dsh-docs/subsystems/terminal.md +184 -0
  621. package/node_modules/better-dsh/dsh-docs/subsystems/terminal.zh.md +184 -0
  622. package/node_modules/better-dsh/dsh-docs/subsystems/todo.md +32 -0
  623. package/node_modules/better-dsh/dsh-docs/subsystems/todo.zh.md +32 -0
  624. package/node_modules/better-dsh/dsh-docs/subsystems/token-meter.md +105 -0
  625. package/node_modules/better-dsh/dsh-docs/subsystems/token-meter.zh.md +105 -0
  626. package/node_modules/better-dsh/dsh-docs/subsystems/tools.md +720 -0
  627. package/node_modules/better-dsh/dsh-docs/subsystems/tools.zh.md +720 -0
  628. package/node_modules/better-dsh/dsh-docs/subsystems/typert.md +343 -0
  629. package/node_modules/better-dsh/dsh-docs/subsystems/typert.zh.md +343 -0
  630. package/node_modules/better-dsh/dsh-docs/subsystems/user-questions.md +178 -0
  631. package/node_modules/better-dsh/dsh-docs/subsystems/user-questions.zh.md +178 -0
  632. package/node_modules/better-dsh/dsh-docs/subsystems/web-client.md +95 -0
  633. package/node_modules/better-dsh/dsh-docs/subsystems/web-client.zh.md +95 -0
  634. package/node_modules/better-dsh/dsh-docs/subsystems/web-server.md +154 -0
  635. package/node_modules/better-dsh/dsh-docs/subsystems/web-server.zh.md +154 -0
  636. package/node_modules/better-dsh/dsh-docs/subsystems/web.md +206 -0
  637. package/node_modules/better-dsh/dsh-docs/subsystems/web.zh.md +206 -0
  638. package/node_modules/better-dsh/dsh-docs/subsystems/webhook.md +70 -0
  639. package/node_modules/better-dsh/dsh-docs/subsystems/webhook.zh.md +70 -0
  640. package/node_modules/better-dsh/dsh-docs/subsystems/workflow.md +278 -0
  641. package/node_modules/better-dsh/dsh-docs/subsystems/workflow.zh.md +278 -0
  642. package/node_modules/better-dsh/dsh-docs/subsystems/workspace.md +321 -0
  643. package/node_modules/better-dsh/dsh-docs/subsystems/workspace.zh.md +321 -0
  644. package/node_modules/better-dsh/dsh-docs/testing.md +54 -0
  645. package/node_modules/better-dsh/dsh-docs/testing.zh.md +54 -0
  646. package/node_modules/better-dsh/dsh-docs/tool-catalog.md +2225 -0
  647. package/node_modules/better-dsh/dsh-docs/tool-catalog.zh.md +2233 -0
  648. package/node_modules/better-dsh/dsh-docs/tool-execution-pipeline.md +62 -0
  649. package/node_modules/better-dsh/dsh-docs/tool-execution-pipeline.zh.md +64 -0
  650. package/node_modules/better-dsh/dsh-docs/user/develop/basic/config.md +106 -0
  651. package/node_modules/better-dsh/dsh-docs/user/develop/basic/config.zh.md +106 -0
  652. package/node_modules/better-dsh/dsh-docs/user/develop/basic/index.md +144 -0
  653. package/node_modules/better-dsh/dsh-docs/user/develop/basic/index.zh.md +144 -0
  654. package/node_modules/better-dsh/dsh-docs/user/develop/basic/publish.md +183 -0
  655. package/node_modules/better-dsh/dsh-docs/user/develop/basic/publish.zh.md +183 -0
  656. package/node_modules/better-dsh/dsh-docs/user/develop/basic/tool.md +52 -0
  657. package/node_modules/better-dsh/dsh-docs/user/develop/basic/tool.zh.md +52 -0
  658. package/node_modules/better-dsh/dsh-docs/user/develop/framework/events.md +143 -0
  659. package/node_modules/better-dsh/dsh-docs/user/develop/framework/events.zh.md +143 -0
  660. package/node_modules/better-dsh/dsh-docs/user/develop/framework/index.md +137 -0
  661. package/node_modules/better-dsh/dsh-docs/user/develop/framework/index.zh.md +137 -0
  662. package/node_modules/better-dsh/dsh-docs/user/develop/framework/service.md +148 -0
  663. package/node_modules/better-dsh/dsh-docs/user/develop/framework/service.zh.md +150 -0
  664. package/node_modules/better-dsh/dsh-docs/user/develop/practice/dynamic-cordis.md +15 -0
  665. package/node_modules/better-dsh/dsh-docs/user/develop/practice/dynamic-cordis.zh.md +15 -0
  666. package/node_modules/better-dsh/dsh-docs/user/develop/practice/index.md +155 -0
  667. package/node_modules/better-dsh/dsh-docs/user/develop/practice/index.zh.md +155 -0
  668. package/node_modules/better-dsh/dsh-docs/user/develop/practice/llm-adapter.md +189 -0
  669. package/node_modules/better-dsh/dsh-docs/user/develop/practice/llm-adapter.zh.md +189 -0
  670. package/node_modules/better-dsh/dsh-docs/user/guide/github-review.md +102 -0
  671. package/node_modules/better-dsh/dsh-docs/user/guide/github-review.zh.md +102 -0
  672. package/node_modules/better-dsh/dsh-docs/user/guide/index.md +30 -0
  673. package/node_modules/better-dsh/dsh-docs/user/guide/index.zh.md +30 -0
  674. package/node_modules/better-dsh/dsh-docs/user/guide/mcp-memory.md +101 -0
  675. package/node_modules/better-dsh/dsh-docs/user/guide/mcp-memory.zh.md +101 -0
  676. package/node_modules/better-dsh/dsh-docs/user/guide/network-proxy.md +85 -0
  677. package/node_modules/better-dsh/dsh-docs/user/guide/network-proxy.zh.md +85 -0
  678. package/node_modules/better-dsh/dsh-docs/user/guide/providers.md +190 -0
  679. package/node_modules/better-dsh/dsh-docs/user/guide/providers.zh.md +190 -0
  680. package/node_modules/better-dsh/dsh-docs/user/guide/python-sdk.md +150 -0
  681. package/node_modules/better-dsh/dsh-docs/user/guide/python-sdk.zh.md +150 -0
  682. package/node_modules/better-dsh/dsh-docs/user/guide/schedule.md +21 -0
  683. package/node_modules/better-dsh/dsh-docs/user/guide/schedule.zh.md +21 -0
  684. package/node_modules/better-dsh/dsh-docs/user/index.md +11 -0
  685. package/node_modules/better-dsh/dsh-docs/user/index.zh.md +11 -0
  686. package/node_modules/better-dsh/dsh-docs/web-styling.md +29 -0
  687. package/node_modules/better-dsh/dsh-docs/web-styling.zh.md +29 -0
  688. package/node_modules/better-dsh/eval-description.md +33 -0
  689. package/node_modules/better-dsh/lib/BrowserWebSocketTransport-D1aFReu_.js +4 -0
  690. package/node_modules/better-dsh/lib/BrowserWebSocketTransport-wm99h94r.js +39 -0
  691. package/node_modules/better-dsh/lib/LaunchOptions-B874eBu2.js +4 -0
  692. package/node_modules/better-dsh/lib/LaunchOptions-kGXcZOe0.js +17 -0
  693. package/node_modules/better-dsh/lib/NodeWebSocketTransport-BRLjmu2R.js +4 -0
  694. package/node_modules/better-dsh/lib/NodeWebSocketTransport-D9ysYGLM.js +3634 -0
  695. package/node_modules/better-dsh/lib/ast-assets/ast-grep.wasm +0 -0
  696. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-bash.wasm +0 -0
  697. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-c.wasm +0 -0
  698. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-cpp.wasm +0 -0
  699. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-css.wasm +0 -0
  700. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-go.wasm +0 -0
  701. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-html.wasm +0 -0
  702. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-javascript.wasm +0 -0
  703. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-json.wasm +0 -0
  704. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-python.wasm +0 -0
  705. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-ruby.wasm +0 -0
  706. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-rust.wasm +0 -0
  707. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-tsx.wasm +0 -0
  708. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-typescript.wasm +0 -0
  709. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-yaml.wasm +0 -0
  710. package/node_modules/better-dsh/lib/ast-assets/tree-sitter.wasm +0 -0
  711. package/node_modules/better-dsh/lib/bidi-BalpKaJc.js +16106 -0
  712. package/node_modules/better-dsh/lib/bundle-delivery.d.ts +20 -0
  713. package/node_modules/better-dsh/lib/bundle-delivery.js +209 -0
  714. package/node_modules/better-dsh/lib/chunk-DQxbwPpZ.js +30 -0
  715. package/node_modules/better-dsh/lib/client/index.js +712 -0
  716. package/node_modules/better-dsh/lib/compaction/index.d.ts +57 -0
  717. package/node_modules/better-dsh/lib/compaction/index.js +145 -0
  718. package/node_modules/better-dsh/lib/failover/index.d.ts +59 -0
  719. package/node_modules/better-dsh/lib/failover/index.js +147 -0
  720. package/node_modules/better-dsh/lib/fs-aware/sandbox-plugin.d.ts +71 -0
  721. package/node_modules/better-dsh/lib/fs-aware/sandbox-plugin.js +249 -0
  722. package/node_modules/better-dsh/lib/hmr.d.ts +32 -0
  723. package/node_modules/better-dsh/lib/hmr.js +49 -0
  724. package/node_modules/better-dsh/lib/index-DTDXUe6m.d.ts +208 -0
  725. package/node_modules/better-dsh/lib/index-browser-CysrjMyM.js +21061 -0
  726. package/node_modules/better-dsh/lib/index.d.ts +705 -0
  727. package/node_modules/better-dsh/lib/index.js +3816 -0
  728. package/node_modules/better-dsh/lib/kernel-bridge.py +172 -0
  729. package/node_modules/better-dsh/lib/kernel-env-D8UOWeji.js +195 -0
  730. package/node_modules/better-dsh/lib/kernel-env.d.ts +80 -0
  731. package/node_modules/better-dsh/lib/kernel-env.js +3 -0
  732. package/node_modules/better-dsh/lib/lib-C8_jXvwA.js +894 -0
  733. package/node_modules/better-dsh/lib/lsp-server-registry-BXvUTBY7.js +3 -0
  734. package/node_modules/better-dsh/lib/lsp-server-registry-CH9WNFFt.js +972 -0
  735. package/node_modules/better-dsh/lib/main-BQeFrBM1.js +3 -0
  736. package/node_modules/better-dsh/lib/main-CupOhMp5.js +1432 -0
  737. package/node_modules/better-dsh/lib/mobile/plugin.d.ts +29 -0
  738. package/node_modules/better-dsh/lib/mobile/plugin.js +54 -0
  739. package/node_modules/better-dsh/lib/native-capture-BEByDXYM.js +68 -0
  740. package/node_modules/better-dsh/lib/puppeteer-core-CSk2PtSm.js +1136 -0
  741. package/node_modules/better-dsh/lib/py-sdk-D7klhpWb.js +178 -0
  742. package/node_modules/better-dsh/lib/py-sdk.d.ts +19 -0
  743. package/node_modules/better-dsh/lib/py-sdk.js +3 -0
  744. package/node_modules/better-dsh/lib/remote/plugin.d.ts +24 -0
  745. package/node_modules/better-dsh/lib/remote/plugin.js +1190 -0
  746. package/node_modules/better-dsh/lib/url-schemes/index.d.ts +88 -0
  747. package/node_modules/better-dsh/lib/url-schemes/index.js +12229 -0
  748. package/node_modules/better-dsh/lib/util-BHL_dfV_.js +2953 -0
  749. package/node_modules/better-dsh/lib/wasm_bg-CNXhHjVg.js +1291 -0
  750. package/node_modules/better-dsh/lib/web-password.d.ts +156 -0
  751. package/node_modules/better-dsh/lib/web-password.js +562 -0
  752. package/node_modules/better-dsh/lib/web-tree-sitter-CPrPD4J2.js +3440 -0
  753. package/node_modules/better-dsh/lib/web-trust-D6gJpUMf.js +393 -0
  754. package/node_modules/better-dsh/lib/web-trust-Dej_RI2B.d.ts +113 -0
  755. package/node_modules/better-dsh/lib/web-trust.d.ts +3 -0
  756. package/node_modules/better-dsh/lib/web-trust.js +4 -0
  757. package/node_modules/better-dsh/lib/webserver.d.ts +10 -0
  758. package/node_modules/better-dsh/lib/webserver.js +19 -0
  759. package/node_modules/better-dsh/lib/welcome-notice.d.ts +18 -0
  760. package/node_modules/better-dsh/lib/welcome-notice.js +59 -0
  761. package/node_modules/better-dsh/lib/wrap-T4I0nfPM.js +750 -0
  762. package/node_modules/better-dsh/package.json +430 -0
  763. package/node_modules/better-dsh/scripts/kernel-provision.mjs +35 -0
  764. package/node_modules/better-dsh/scripts/register-bundle.mjs +80 -0
  765. package/node_modules/better-dsh/url-schemes-instruction.md +22 -0
  766. package/package.json +21 -6
  767. package/superd-hub/assets/icons/README.md +20 -0
  768. package/superd-hub/assets/icons/amp.png +0 -0
  769. package/superd-hub/assets/icons/ante.png +0 -0
  770. package/superd-hub/assets/icons/antigravity.png +0 -0
  771. package/superd-hub/assets/icons/aug.png +0 -0
  772. package/superd-hub/assets/icons/autohand.png +0 -0
  773. package/superd-hub/assets/icons/claude.svg +1 -0
  774. package/superd-hub/assets/icons/cline.png +0 -0
  775. package/superd-hub/assets/icons/codebuddy.png +0 -0
  776. package/superd-hub/assets/icons/codebuff.png +0 -0
  777. package/superd-hub/assets/icons/codex.svg +1 -0
  778. package/superd-hub/assets/icons/command-code.png +0 -0
  779. package/superd-hub/assets/icons/continue.png +0 -0
  780. package/superd-hub/assets/icons/copilot.png +0 -0
  781. package/superd-hub/assets/icons/crush.png +0 -0
  782. package/superd-hub/assets/icons/cursor.png +0 -0
  783. package/superd-hub/assets/icons/devin.png +0 -0
  784. package/superd-hub/assets/icons/droid.png +0 -0
  785. package/superd-hub/assets/icons/dsh-fish.svg +3 -0
  786. package/superd-hub/assets/icons/dsh.png +0 -0
  787. package/superd-hub/assets/icons/freebuff.png +0 -0
  788. package/superd-hub/assets/icons/gemini.png +0 -0
  789. package/superd-hub/assets/icons/goose.png +0 -0
  790. package/superd-hub/assets/icons/grok.png +0 -0
  791. package/superd-hub/assets/icons/hermes.png +0 -0
  792. package/superd-hub/assets/icons/jcode.png +0 -0
  793. package/superd-hub/assets/icons/kilo.png +0 -0
  794. package/superd-hub/assets/icons/kimi.png +0 -0
  795. package/superd-hub/assets/icons/kiro.png +0 -0
  796. package/superd-hub/assets/icons/manifest.json +20 -0
  797. package/superd-hub/assets/icons/mimo-code.png +0 -0
  798. package/superd-hub/assets/icons/mistral-vibe.png +0 -0
  799. package/superd-hub/assets/icons/muse.png +0 -0
  800. package/superd-hub/assets/icons/omp.svg +1 -0
  801. package/superd-hub/assets/icons/openclaude.png +0 -0
  802. package/superd-hub/assets/icons/openclaw.png +0 -0
  803. package/superd-hub/assets/icons/opencode.png +0 -0
  804. package/superd-hub/assets/icons/pi.svg +1 -0
  805. package/superd-hub/assets/icons/prime-agent.png +0 -0
  806. package/superd-hub/assets/icons/qoder-cn.png +0 -0
  807. package/superd-hub/assets/icons/qoder.png +0 -0
  808. package/superd-hub/assets/icons/qwen-code.png +0 -0
  809. package/superd-hub/assets/icons/rovo.png +0 -0
  810. package/superd-hub/assets/icons/trae.png +0 -0
  811. package/superd-hub/assets/icons/zcode.png +0 -0
  812. package/superd-hub/dist/a2a-row.js +1 -1
  813. package/superd-hub/dist/agent-roster.d.ts +8 -3
  814. package/superd-hub/dist/agent-roster.js +19 -7
  815. package/superd-hub/dist/bundle-setup.d.ts +2 -0
  816. package/superd-hub/dist/bundle-setup.js +2 -0
  817. package/superd-hub/dist/client/icon-assets.gen.d.ts +16 -0
  818. package/superd-hub/dist/client/icon-assets.gen.js +54 -0
  819. package/superd-hub/dist/client/mesh-api.d.ts +28 -17
  820. package/superd-hub/dist/client/mesh-api.js +44 -31
  821. package/superd-hub/dist/client/mesh-groups.d.ts +13 -11
  822. package/superd-hub/dist/client/mesh-groups.js +30 -10
  823. package/superd-hub/dist/client/roster.d.ts +7 -16
  824. package/superd-hub/dist/client/roster.js +5 -3
  825. package/superd-hub/dist/fusion-transport.d.ts +11 -10
  826. package/superd-hub/dist/fusion-transport.js +21 -11
  827. package/superd-hub/dist/index.d.ts +0 -1
  828. package/superd-hub/dist/index.js +0 -1
  829. package/superd-hub/dist/machines.d.ts +6 -3
  830. package/superd-hub/dist/machines.js +15 -3
  831. package/superd-hub/dist/mesh-federate.d.ts +18 -8
  832. package/superd-hub/dist/mesh-federate.js +14 -9
  833. package/superd-hub/dist/mesh-link.d.ts +37 -3
  834. package/superd-hub/dist/mesh-link.js +49 -4
  835. package/superd-hub/dist/mesh-rpc.d.ts +48 -16
  836. package/superd-hub/dist/mesh-rpc.js +139 -14
  837. package/superd-hub/dist/roster.d.ts +20 -0
  838. package/superd-hub/dist/roster.js +24 -0
  839. package/superd-hub/dist/switch-core.d.ts +3 -2
  840. package/superd-hub/dist/switch-core.js +1 -1
  841. package/superd-hub/dist/world-entry.d.ts +3 -0
  842. package/superd-hub/dist/world-entry.js +4 -1
  843. package/superd-hub/dist/world-host.d.ts +5 -2
  844. package/superd-hub/dist/world-host.js +6 -2
  845. package/superd-hub/dist/world-join.d.ts +1 -1
  846. package/superd-hub/dist/world-join.js +14 -32
  847. package/superd-hub/dist/world-lifecycle.d.ts +20 -0
  848. package/superd-hub/dist/world-lifecycle.js +69 -0
  849. package/superd-hub/dist/world-mount.d.ts +1 -1
  850. package/superd-hub/dist/world-mount.js +2 -2
  851. package/superd-hub/lib/client/index.js +434 -307
  852. package/superd-hub/package.json +3 -2
  853. package/superd-hub/dist/connection-trust.d.ts +0 -8
  854. package/superd-hub/dist/connection-trust.js +0 -16
  855. package/superd-hub/dist/web-trust.d.ts +0 -84
  856. package/superd-hub/dist/web-trust.js +0 -101
@@ -0,0 +1,1136 @@
1
+ import { _ as Browser$1, a as TimeoutError$1, c as computeSystemExecutablePath, f as detectBrowserPlatform, h as resolveBuildId, l as launch$1, n as uninstall, o as WEBDRIVER_BIDI_WEBSOCKET_ENDPOINT_REGEX, p as createProfile, r as CDP_WEBSOCKET_ENDPOINT_REGEX, s as computeExecutablePath, t as getInstalledBrowsers } from "./main-CupOhMp5.js";
2
+ import { C as unitToPixels, Ct as getCapturedLogs, E as paperFormats, F as bufferCount, J as fromEvent, K as firstValueFrom, M as assert, Q as map, S as timeout, St as debug, T as withSourcePuppeteerURLIfNone, Tt as environment, W as filter, Z as lastValueFrom, _ as isNumber, _t as PuppeteerError, a as UTILITY_WORLD_NAME, at as race, b as isString, bt as TouchError, c as evaluationString, d as fromEmitterEvent, dt as takeUntil, f as getReadableAsTypedArray, ft as tap, g as isDate, gt as ProtocolError, h as getSourceUrlComment, ht as ConnectionClosedError, i as SOURCE_URL_REGEX, l as filterAsync, m as getSourcePuppeteerURLIfAvailable, mt as timer, n as NETWORK_IDLE_TIME, o as debugCatchError, p as getReadableFromProtocolStream, q as from, r as PuppeteerURL, s as debugError, t as DEFAULT_VIEWPORT, u as fromAbortSignal, v as isPlainObject, vt as TargetCloseError, w as validateDialogType, wt as setLogCapture, x as parsePDFOptions, xt as UnsupportedOperation, y as isRegExp, yt as TimeoutError, z as concatMap } from "./util-BHL_dfV_.js";
3
+ import { $ as pageBindingInitString, $n as Deferred, $t as scriptInjector, A as NetworkManager, An as guarded, At as DEFAULT_INTERCEPT_RESOLUTION_PRIORITY, B as MAIN_WORLD, Bn as AsyncDisposableStack, Bt as throwIfDetached, C as WebMCPToolCall, Cn as NodeLocator, Ct as WebWorkerEvent, D as CdpTouchscreen, Dn as DeviceRequestPrompt, Dt as normalizeHeaderValue, E as CdpTouchHandle, En as TimeoutSettings, Et as WaitTask, F as CdpFrame, Fn as Browser, Ft as headersArray, G as CdpJSHandle, Gn as asyncDisposeSymbol, Gt as XPathQueryHandler, H as FrameManagerEvent, Hn as DisposableStack, Ht as bindIsolatedHandle, I as referrerPolicyToProtocol, In as WEB_PERMISSION_TO_PROTOCOL_PERMISSION, It as Dialog, J as addPageBinding, Jn as CallbackRegistry, Jt as PQueryHandler, K as releaseObject, Kn as disposeSymbol, Kt as TextQueryHandler, L as LifecycleWatcher, Ln as CDPSession, Lt as Accessibility, M as CdpHTTPResponse, Mt as InterceptResolutionAction, N as CdpHTTPRequest, Nt as STATUS_TEXTS, O as _keyDefinitions, On as BrowserContext, Ot as SecurityDetails, P as FrameTree, Pn as Mutex, Pt as handleError, Q as createEvaluationError, Qn as rewriteError, Qt as ScriptInjector, R as IsolatedWorld, Rn as CDPSessionEvent, Rt as Frame, S as WebMCPTool, Sn as MappedLocator, St as WebWorker, T as CdpMouse, Tn as RaceLocator, Tt as TaskManager, U as ExecutionContext, Un as DisposableStackPolyfill, Ut as JSHandle, V as PUPPETEER_WORLD, Vn as AsyncDisposableStackPolyfill, Vt as ElementHandle, W as CdpElementHandle, Wn as SuppressedError, Wt as getQueryHandlerAndSelector, X as createClientError, Xn as isErrnoException, Xt as CustomQueryHandlerRegistry, Y as convertConsoleMessageLevel, Yn as createProtocolErrorMessage, Yt as PierceQueryHandler, Z as createConsoleMessage, Zn as isErrorLike, Zt as customQueryHandlers, _ as CdpBrowserContext, _n as DelegatedLocator, _t as Mouse, a as KnownDevices, at as CdpPreloadScript, b as convertSameSiteFromPuppeteerToCdp, bn as Locator, bt as createIncrementalIdGenerator, c as _connectToCdpBrowser, cn as Tracing, ct as isTargetClosedError, d as CdpTarget, dn as CSSCoverage, dt as ConsoleMessage, en as ARIAQueryHandler, et as valueFromJSHandle, f as DevToolsTarget, fn as Coverage, ft as CdpBluetoothEmulation, g as WorkerTarget, gn as supportedMetrics, gt as Keyboard, h as PageTarget, hn as setDefaultScreenshotOptions, ht as TargetType, i as assertSupportedUrlRestrictions, it as CdpDeviceRequestPromptManager, j as NetworkEventManager, jt as HTTPRequest, k as FrameManager, kt as HTTPResponse, l as CdpBrowser, ln as EmulatedState, lt as CdpCDPSession, m as OtherTarget, mn as Page, mt as Target, n as TaskQueue, nn as LazyArg, nt as valueFromRemoteObjectReference, o as PredefinedNetworkConditions, on as AsyncIterableUtil, ot as CdpDialog, p as InitializationStatus, pn as JSCoverage, pt as Binding, q as CDP_BINDING_PREFIX, qn as Callback, qt as parsePSelectors, r as Puppeteer, rn as transposeIterableHandle, rt as CdpDeviceRequestPrompt, s as ExtensionTransport, sn as FileChooser, st as Connection, t as PUPPETEER_REVISIONS, tn as QueryHandler, tt as valueFromPrimitiveRemoteObject, u as TargetManager, un as EmulationManager, ut as NetworkManagerEvent, v as CdpPage, vn as FilteredLocator, vt as MouseButton, w as CdpKeyboard, wn as RETRY_DELAY, wt as Realm, x as WebMCP, xn as LocatorEvent, xt as Extension, y as convertCookiesPartitionKeyFromPuppeteerToCdp, yn as FunctionLocator, yt as Touchscreen, z as CdpWebWorker, zn as EventEmitter, zt as FrameEvent } from "./index-browser-CysrjMyM.js";
4
+ import { t as BrowserWebSocketTransport } from "./BrowserWebSocketTransport-wm99h94r.js";
5
+ import { t as convertPuppeteerChannelToBrowsersChannel } from "./LaunchOptions-kGXcZOe0.js";
6
+ import { t as NodeWebSocketTransport } from "./NodeWebSocketTransport-D9ysYGLM.js";
7
+ import { spawn, spawnSync } from "node:child_process";
8
+ import { mkdtemp, rename, unlink } from "node:fs/promises";
9
+ import path, { dirname, join } from "node:path";
10
+ import fs, { existsSync } from "node:fs";
11
+ import os, { tmpdir } from "node:os";
12
+ import { debuglog } from "node:util";
13
+ import { PassThrough } from "node:stream";
14
+
15
+ //#region node_modules/puppeteer-core/lib/puppeteer/node-env-setup.js
16
+ environment.value = {
17
+ fs,
18
+ path,
19
+ debuglog,
20
+ ScreenRecorder: environment.value.ScreenRecorder
21
+ };
22
+
23
+ //#endregion
24
+ //#region node_modules/puppeteer-core/lib/puppeteer/node/PipeTransport.js
25
+ /**
26
+ * @internal
27
+ */
28
+ var PipeTransport = class {
29
+ #pipeWrite;
30
+ #subscriptions = new DisposableStack();
31
+ #isClosed = false;
32
+ #pendingMessage = [];
33
+ onclose;
34
+ onmessage;
35
+ constructor(pipeWrite, pipeRead) {
36
+ this.#pipeWrite = pipeWrite;
37
+ const pipeReadEmitter = this.#subscriptions.use(new EventEmitter(pipeRead));
38
+ pipeReadEmitter.on("data", (buffer) => {
39
+ return this.#dispatch(buffer);
40
+ });
41
+ pipeReadEmitter.on("close", () => {
42
+ if (this.onclose) this.onclose.call(null);
43
+ });
44
+ pipeReadEmitter.on("error", debugCatchError);
45
+ this.#subscriptions.use(new EventEmitter(pipeWrite)).on("error", debugCatchError);
46
+ }
47
+ send(message) {
48
+ assert(!this.#isClosed, "`PipeTransport` is closed.");
49
+ this.#pipeWrite.write(message);
50
+ this.#pipeWrite.write("\0");
51
+ }
52
+ #dispatch(buffer) {
53
+ assert(!this.#isClosed, "`PipeTransport` is closed.");
54
+ this.#pendingMessage.push(buffer);
55
+ if (buffer.indexOf("\0") === -1) return;
56
+ const concatBuffer = Buffer.concat(this.#pendingMessage);
57
+ let start = 0;
58
+ let end = concatBuffer.indexOf("\0");
59
+ while (end !== -1) {
60
+ const message = concatBuffer.toString(void 0, start, end);
61
+ setImmediate(() => {
62
+ if (this.onmessage) this.onmessage.call(null, message);
63
+ });
64
+ start = end + 1;
65
+ end = concatBuffer.indexOf("\0", start);
66
+ }
67
+ if (start >= concatBuffer.length) this.#pendingMessage = [];
68
+ else this.#pendingMessage = [concatBuffer.subarray(start)];
69
+ }
70
+ close() {
71
+ this.#isClosed = true;
72
+ this.#subscriptions.dispose();
73
+ }
74
+ };
75
+
76
+ //#endregion
77
+ //#region node_modules/puppeteer-core/lib/puppeteer/node/BrowserLauncher.js
78
+ /**
79
+ * @internal
80
+ */
81
+ function getBrowserTypeDisplayName(browserType) {
82
+ switch (browserType) {
83
+ case Browser$1.FIREFOX:
84
+ case Browser$1.CHROME: return browserType.charAt(0).toUpperCase() + browserType.slice(1);
85
+ default: return browserType;
86
+ }
87
+ }
88
+ /**
89
+ * Describes a launcher - a class that is able to create and launch a browser instance.
90
+ *
91
+ * @public
92
+ */
93
+ var BrowserLauncher = class {
94
+ #browser;
95
+ /**
96
+ * @internal
97
+ */
98
+ puppeteer;
99
+ /**
100
+ * @internal
101
+ */
102
+ constructor(puppeteer$1, browser) {
103
+ this.puppeteer = puppeteer$1;
104
+ this.#browser = browser;
105
+ }
106
+ get browser() {
107
+ return this.#browser;
108
+ }
109
+ async launch(options = {}) {
110
+ const { dumpio = false, enableExtensions = false, extensionsEnabledInIncognito = [], env = process.env, handleSIGINT = true, handleSIGTERM = true, handleSIGHUP = true, acceptInsecureCerts = false, networkEnabled = true, issuesEnabled = true, defaultViewport = DEFAULT_VIEWPORT, downloadBehavior, slowMo = 0, timeout: timeout$1 = 3e4, waitForInitialPage = true, protocolTimeout, handleDevToolsAsPage, idGenerator = createIncrementalIdGenerator(), blocklist, allowlist } = options;
111
+ let { protocol } = options;
112
+ if (this.#browser === "firefox" && protocol === void 0) protocol = "webDriverBiDi";
113
+ assertSupportedUrlRestrictions({
114
+ allowlist,
115
+ blocklist,
116
+ protocol
117
+ });
118
+ if (this.#browser === "firefox" && protocol === "cdp") throw new Error("Connecting to Firefox using CDP is no longer supported");
119
+ const launchArgs = await this.computeLaunchArguments({
120
+ ...options,
121
+ protocol
122
+ });
123
+ if (!existsSync(launchArgs.executablePath)) throw new Error(`Browser was not found at the configured executablePath (${launchArgs.executablePath})`);
124
+ const usePipe = launchArgs.args.includes("--remote-debugging-pipe");
125
+ const onProcessExit = async () => {
126
+ await this.cleanUserDataDir(launchArgs.userDataDir, { isTemp: launchArgs.isTempUserDataDir });
127
+ };
128
+ if (this.#browser === "firefox" && protocol === "webDriverBiDi" && usePipe) throw new Error("Pipe connections are not supported with Firefox and WebDriver BiDi");
129
+ const browserProcess = launch$1({
130
+ executablePath: launchArgs.executablePath,
131
+ args: launchArgs.args,
132
+ handleSIGHUP,
133
+ handleSIGTERM,
134
+ handleSIGINT,
135
+ dumpio,
136
+ env,
137
+ pipe: usePipe,
138
+ onExit: onProcessExit,
139
+ signal: options.signal
140
+ });
141
+ let browser;
142
+ let cdpConnection;
143
+ let closing = false;
144
+ const browserCloseCallback = async () => {
145
+ if (closing) return;
146
+ closing = true;
147
+ await this.closeBrowser(browserProcess, cdpConnection);
148
+ };
149
+ try {
150
+ if (this.#browser === "firefox") browser = await this.createBiDiBrowser(browserProcess, browserCloseCallback, {
151
+ timeout: timeout$1,
152
+ protocolTimeout,
153
+ slowMo,
154
+ defaultViewport,
155
+ acceptInsecureCerts,
156
+ networkEnabled,
157
+ idGenerator
158
+ });
159
+ else {
160
+ if (usePipe) cdpConnection = await this.createCdpPipeConnection(browserProcess, {
161
+ timeout: timeout$1,
162
+ protocolTimeout,
163
+ slowMo,
164
+ idGenerator
165
+ });
166
+ else cdpConnection = await this.createCdpSocketConnection(browserProcess, {
167
+ timeout: timeout$1,
168
+ protocolTimeout,
169
+ slowMo,
170
+ idGenerator
171
+ });
172
+ if (protocol === "webDriverBiDi") browser = await this.createBiDiOverCdpBrowser(browserProcess, cdpConnection, browserCloseCallback, {
173
+ defaultViewport,
174
+ acceptInsecureCerts,
175
+ networkEnabled,
176
+ issuesEnabled
177
+ });
178
+ else browser = await CdpBrowser._create(cdpConnection, [], acceptInsecureCerts, defaultViewport, downloadBehavior, browserProcess.nodeProcess, browserCloseCallback, options.targetFilter, void 0, void 0, networkEnabled, issuesEnabled, handleDevToolsAsPage, blocklist, allowlist);
179
+ }
180
+ } catch (error) {
181
+ browserCloseCallback();
182
+ const logs = browserProcess.getRecentLogs().join("\n");
183
+ if (logs.includes("Failed to create a ProcessSingleton for your profile directory") || process.platform === "win32" && existsSync(join(launchArgs.userDataDir, "lockfile"))) throw new Error(`The browser is already running for ${launchArgs.userDataDir}. Use a different \`userDataDir\` or stop the running browser first.`);
184
+ if (logs.includes("Missing X server") && options.headless === false) throw new Error(`Missing X server to start the headful browser. Either set headless to true or use xvfb-run to run your Puppeteer script.`);
185
+ if (error instanceof TimeoutError$1) throw new TimeoutError(error.message);
186
+ throw error;
187
+ }
188
+ if (Array.isArray(enableExtensions)) await Promise.all([enableExtensions.map((path$1) => {
189
+ return browser.installExtension(path$1, { enabledInIncognito: extensionsEnabledInIncognito.includes(path$1) });
190
+ })]);
191
+ if (waitForInitialPage) await this.waitForPageTarget(browser, timeout$1);
192
+ return browser;
193
+ }
194
+ /**
195
+ * @internal
196
+ */
197
+ async closeBrowser(browserProcess, cdpConnection) {
198
+ if (cdpConnection) try {
199
+ await cdpConnection.closeBrowser();
200
+ await browserProcess.hasClosed();
201
+ } catch (error) {
202
+ debugError?.(error);
203
+ await browserProcess.close();
204
+ }
205
+ else await firstValueFrom(race(from(browserProcess.hasClosed()), timer(5e3).pipe(map(() => {
206
+ return from(browserProcess.close());
207
+ }))));
208
+ }
209
+ /**
210
+ * @internal
211
+ */
212
+ async waitForPageTarget(browser, timeout$1) {
213
+ try {
214
+ await browser.waitForTarget((t) => {
215
+ return t.type() === "page";
216
+ }, { timeout: timeout$1 });
217
+ } catch (error) {
218
+ await browser.close();
219
+ throw error;
220
+ }
221
+ }
222
+ /**
223
+ * @internal
224
+ */
225
+ async createCdpSocketConnection(browserProcess, opts) {
226
+ const browserWSEndpoint = await browserProcess.waitForLineOutput(CDP_WEBSOCKET_ENDPOINT_REGEX, opts.timeout);
227
+ return new Connection(browserWSEndpoint, await NodeWebSocketTransport.create(browserWSEndpoint), opts.slowMo, opts.protocolTimeout, false, opts.idGenerator);
228
+ }
229
+ /**
230
+ * @internal
231
+ */
232
+ async createCdpPipeConnection(browserProcess, opts) {
233
+ const { 3: pipeWrite, 4: pipeRead } = browserProcess.nodeProcess.stdio;
234
+ return new Connection("", new PipeTransport(pipeWrite, pipeRead), opts.slowMo, opts.protocolTimeout, false, opts.idGenerator);
235
+ }
236
+ /**
237
+ * @internal
238
+ */
239
+ async createBiDiOverCdpBrowser(browserProcess, cdpConnection, closeCallback, opts) {
240
+ const bidiOnly = process.env["PUPPETEER_WEBDRIVER_BIDI_ONLY"] === "true";
241
+ const BiDi = await import(
242
+ /* webpackIgnore: true */
243
+ "./bidi-BalpKaJc.js"
244
+ );
245
+ const bidiConnection = await BiDi.connectBidiOverCdp(cdpConnection);
246
+ return await BiDi.BidiBrowser.create({
247
+ connection: bidiConnection,
248
+ cdpConnection: bidiOnly ? void 0 : cdpConnection,
249
+ closeCallback,
250
+ process: browserProcess.nodeProcess,
251
+ defaultViewport: opts.defaultViewport,
252
+ acceptInsecureCerts: opts.acceptInsecureCerts,
253
+ networkEnabled: opts.networkEnabled,
254
+ issuesEnabled: opts.issuesEnabled
255
+ });
256
+ }
257
+ /**
258
+ * @internal
259
+ */
260
+ async createBiDiBrowser(browserProcess, closeCallback, opts) {
261
+ const browserWSEndpoint = await browserProcess.waitForLineOutput(WEBDRIVER_BIDI_WEBSOCKET_ENDPOINT_REGEX, opts.timeout) + "/session";
262
+ const transport = await NodeWebSocketTransport.create(browserWSEndpoint);
263
+ const BiDi = await import(
264
+ /* webpackIgnore: true */
265
+ "./bidi-BalpKaJc.js"
266
+ );
267
+ const bidiConnection = new BiDi.BidiConnection(browserWSEndpoint, transport, opts.idGenerator, opts.slowMo, opts.protocolTimeout);
268
+ return await BiDi.BidiBrowser.create({
269
+ connection: bidiConnection,
270
+ closeCallback,
271
+ process: browserProcess.nodeProcess,
272
+ defaultViewport: opts.defaultViewport,
273
+ acceptInsecureCerts: opts.acceptInsecureCerts,
274
+ networkEnabled: opts.networkEnabled ?? true,
275
+ issuesEnabled: opts.issuesEnabled ?? true
276
+ });
277
+ }
278
+ /**
279
+ * @internal
280
+ */
281
+ async getProfilePath() {
282
+ return join((await this.puppeteer.configuration()).temporaryDirectory ?? tmpdir(), `puppeteer_dev_${this.browser}_profile-`);
283
+ }
284
+ /**
285
+ * @internal
286
+ */
287
+ async resolveExecutablePath(headless, validatePath = true) {
288
+ const config = await this.puppeteer.configuration();
289
+ let executablePath$1 = config.executablePath;
290
+ if (executablePath$1) {
291
+ if (validatePath && !existsSync(executablePath$1)) throw new Error(`Tried to find the browser at the configured path (${executablePath$1}), but no executable was found.`);
292
+ return executablePath$1;
293
+ }
294
+ function puppeteerBrowserToInstalledBrowser(browser, headless$1) {
295
+ switch (browser) {
296
+ case "chrome":
297
+ if (headless$1 === "shell") return Browser$1.CHROMEHEADLESSSHELL;
298
+ return Browser$1.CHROME;
299
+ case "firefox": return Browser$1.FIREFOX;
300
+ }
301
+ return Browser$1.CHROME;
302
+ }
303
+ const browserType = puppeteerBrowserToInstalledBrowser(this.browser, headless);
304
+ const defaultDownloadPath = await this.puppeteer.defaultDownloadPath();
305
+ const browserVersion = await this.puppeteer.browserVersion();
306
+ executablePath$1 = computeExecutablePath({
307
+ cacheDir: defaultDownloadPath,
308
+ browser: browserType,
309
+ buildId: browserVersion
310
+ });
311
+ if (validatePath && !existsSync(executablePath$1)) {
312
+ const configVersion = config?.[this.browser]?.version;
313
+ if (configVersion) throw new Error(`Tried to find the browser at the configured path (${executablePath$1}) for version ${configVersion}, but no executable was found.`);
314
+ throw new Error(`Could not find ${getBrowserTypeDisplayName(browserType)} (ver. ${browserVersion}). This can occur if either\n 1. you did not perform an installation before running the script (e.g. \`npx puppeteer browsers install ${browserType}\`) or\n 2. your cache path is incorrectly configured (which is: ${config.cacheDirectory}).\nFor (2), check out our guide on configuring puppeteer at https://pptr.dev/guides/configuration.`);
315
+ }
316
+ return executablePath$1;
317
+ }
318
+ };
319
+
320
+ //#endregion
321
+ //#region node_modules/puppeteer-core/lib/puppeteer/node/util/fs.js
322
+ const rmOptions = {
323
+ force: true,
324
+ recursive: true,
325
+ maxRetries: 5
326
+ };
327
+ /**
328
+ * @internal
329
+ */
330
+ async function rm$1(path$1) {
331
+ await fs.promises.rm(path$1, rmOptions);
332
+ }
333
+
334
+ //#endregion
335
+ //#region node_modules/puppeteer-core/lib/puppeteer/node/ChromeLauncher.js
336
+ /**
337
+ * @internal
338
+ */
339
+ var ChromeLauncher = class extends BrowserLauncher {
340
+ constructor(puppeteer$1) {
341
+ super(puppeteer$1, "chrome");
342
+ }
343
+ async launch(options = {}) {
344
+ if ((await this.puppeteer.configuration()).logLevel === "warn" && process.platform === "darwin" && process.arch === "x64") {
345
+ if (os.cpus()[0]?.model.includes("Apple")) console.warn([
346
+ "\x1B[1m\x1B[43m\x1B[30m",
347
+ "Degraded performance warning:\x1B[0m\x1B[33m",
348
+ "Launching Chrome on Mac Silicon (arm64) from an x64 Node installation results in",
349
+ "Rosetta translating the Chrome binary, even if Chrome is already arm64. This would",
350
+ "result in huge performance issues. To resolve this, you must run Puppeteer with",
351
+ "a version of Node built for arm64."
352
+ ].join("\n "));
353
+ }
354
+ return await super.launch(options);
355
+ }
356
+ /**
357
+ * @internal
358
+ */
359
+ async computeLaunchArguments(options = {}) {
360
+ const { ignoreDefaultArgs = false, args = [], pipe = false, debuggingPort, channel, executablePath: executablePath$1 } = options;
361
+ const chromeArguments = [];
362
+ if (!ignoreDefaultArgs) chromeArguments.push(...this.defaultArgs(options));
363
+ else if (Array.isArray(ignoreDefaultArgs)) chromeArguments.push(...this.defaultArgs(options).filter((arg) => {
364
+ return !ignoreDefaultArgs.includes(arg);
365
+ }));
366
+ else chromeArguments.push(...args);
367
+ if (!chromeArguments.some((argument) => {
368
+ return argument.startsWith("--remote-debugging-");
369
+ })) if (pipe) {
370
+ assert(!debuggingPort, "Browser should be launched with either pipe or debugging port - not both.");
371
+ chromeArguments.push("--remote-debugging-pipe");
372
+ } else chromeArguments.push(`--remote-debugging-port=${debuggingPort || 0}`);
373
+ let isTempUserDataDir = false;
374
+ const userDataDirIndex = chromeArguments.findIndex((arg) => {
375
+ return arg.startsWith("--user-data-dir");
376
+ });
377
+ let userDataDir;
378
+ if (userDataDirIndex < 0) {
379
+ isTempUserDataDir = true;
380
+ userDataDir = await mkdtemp(await this.getProfilePath());
381
+ chromeArguments.push(`--user-data-dir=${userDataDir}`);
382
+ } else {
383
+ const parsedUserDataDir = chromeArguments[userDataDirIndex].split("=", 2)[1];
384
+ assert(typeof parsedUserDataDir === "string", "`--user-data-dir` is malformed");
385
+ userDataDir = parsedUserDataDir;
386
+ }
387
+ let chromeExecutable = executablePath$1;
388
+ if (!chromeExecutable) {
389
+ assert(channel || !this.puppeteer._isPuppeteerCore, `An \`executablePath\` or \`channel\` must be specified for \`puppeteer-core\``);
390
+ chromeExecutable = channel ? await this.executablePath(channel) : await this.resolveExecutablePath(options.headless ?? true);
391
+ }
392
+ return {
393
+ executablePath: chromeExecutable,
394
+ args: chromeArguments,
395
+ isTempUserDataDir,
396
+ userDataDir
397
+ };
398
+ }
399
+ /**
400
+ * @internal
401
+ */
402
+ async cleanUserDataDir(path$1, opts) {
403
+ if (opts.isTemp) try {
404
+ await rm$1(path$1);
405
+ } catch (error) {
406
+ debugError?.(error);
407
+ throw error;
408
+ }
409
+ }
410
+ defaultArgs(options = {}) {
411
+ const userDisabledFeatures = getFeatures("--disable-features", options.args);
412
+ if (options.args && userDisabledFeatures.length > 0) removeMatchingFlags(options.args, "--disable-features");
413
+ const turnOnExperimentalFeaturesForTesting = process.env["PUPPETEER_TEST_EXPERIMENTAL_CHROME_FEATURES"] === "true";
414
+ const userEnabledFeatures = getFeatures("--enable-features", options.args);
415
+ if (options.args && userEnabledFeatures.length > 0) removeMatchingFlags(options.args, "--enable-features");
416
+ const enabledFeatures = ["PdfOopif", ...userEnabledFeatures].filter((feature) => {
417
+ return feature !== "";
418
+ });
419
+ const chromeArguments = [
420
+ "--allow-pre-commit-input",
421
+ "--disable-background-networking",
422
+ "--disable-background-timer-throttling",
423
+ "--disable-backgrounding-occluded-windows",
424
+ "--disable-breakpad",
425
+ "--disable-client-side-phishing-detection",
426
+ "--disable-component-extensions-with-background-pages",
427
+ "--disable-crash-reporter",
428
+ "--disable-default-apps",
429
+ "--disable-dev-shm-usage",
430
+ "--disable-hang-monitor",
431
+ "--disable-infobars",
432
+ "--disable-ipc-flooding-protection",
433
+ "--disable-popup-blocking",
434
+ "--disable-prompt-on-repost",
435
+ "--disable-renderer-backgrounding",
436
+ "--disable-search-engine-choice-screen",
437
+ "--disable-sync",
438
+ "--enable-automation",
439
+ "--export-tagged-pdf",
440
+ "--force-color-profile=srgb",
441
+ "--generate-pdf-document-outline",
442
+ "--metrics-recording-only",
443
+ "--no-first-run",
444
+ "--password-store=basic",
445
+ "--use-mock-keychain",
446
+ `--disable-features=${[
447
+ "Translate",
448
+ "AcceptCHFrame",
449
+ "MediaRouter",
450
+ "OptimizationHints",
451
+ "WebUIReloadButton",
452
+ ...turnOnExperimentalFeaturesForTesting ? [] : ["ProcessPerSiteUpToMainFrameThreshold", "IsolateSandboxedIframes"],
453
+ ...userDisabledFeatures
454
+ ].filter((feature) => {
455
+ return feature !== "";
456
+ }).filter((disabledFeature) => {
457
+ return !enabledFeatures.includes(disabledFeature);
458
+ }).join(",")}`,
459
+ `--enable-features=${enabledFeatures.join(",")}`
460
+ ].filter((arg) => {
461
+ return arg !== "";
462
+ });
463
+ const { devtools = false, headless = !devtools, args = [], userDataDir, enableExtensions = false } = options;
464
+ if (process.env["PUPPETEER_DANGEROUS_NO_SANDBOX"] === "true" && !args.includes("--no-sandbox")) chromeArguments.push("--no-sandbox");
465
+ if (userDataDir) chromeArguments.push(`--user-data-dir=${path.posix.isAbsolute(userDataDir) || path.win32.isAbsolute(userDataDir) ? userDataDir : path.resolve(userDataDir)}`);
466
+ if (devtools) chromeArguments.push("--auto-open-devtools-for-tabs");
467
+ if (headless) chromeArguments.push(headless === "shell" ? "--headless" : "--headless=new", "--hide-scrollbars", "--mute-audio");
468
+ if (!enableExtensions) chromeArguments.push("--disable-extensions");
469
+ if (args.every((arg) => {
470
+ return arg.startsWith("-");
471
+ })) chromeArguments.push("about:blank");
472
+ chromeArguments.push(...args);
473
+ return chromeArguments;
474
+ }
475
+ async executablePath(channel, validatePath = true) {
476
+ if (channel) return computeSystemExecutablePath({
477
+ browser: Browser$1.CHROME,
478
+ channel: convertPuppeteerChannelToBrowsersChannel(channel)
479
+ });
480
+ else return await this.resolveExecutablePath(void 0, validatePath);
481
+ }
482
+ };
483
+ /**
484
+ * Extracts all features from the given command-line flag
485
+ * (e.g. `--enable-features`, `--enable-features=`).
486
+ *
487
+ * Example input:
488
+ * ["--enable-features=NetworkService,NetworkServiceInProcess", "--enable-features=Foo"]
489
+ *
490
+ * Example output:
491
+ * ["NetworkService", "NetworkServiceInProcess", "Foo"]
492
+ *
493
+ * @internal
494
+ */
495
+ function getFeatures(flag, options = []) {
496
+ const prefix = flag.endsWith("=") ? flag : `${flag}=`;
497
+ return options.filter((s) => {
498
+ return s.startsWith(prefix);
499
+ }).flatMap((s) => {
500
+ return s.substring(s.indexOf("=") + 1).trim().split(",").map((feature) => {
501
+ return feature.trim();
502
+ });
503
+ }).filter((s) => {
504
+ return s;
505
+ });
506
+ }
507
+ /**
508
+ * Removes all elements in-place from the given string array
509
+ * that match the given command-line flag.
510
+ *
511
+ * @internal
512
+ */
513
+ function removeMatchingFlags(array, flag) {
514
+ const prefix = flag.endsWith("=") ? flag : `${flag}=`;
515
+ let i = 0;
516
+ while (i < array.length) if (array[i].startsWith(prefix)) array.splice(i, 1);
517
+ else i++;
518
+ return array;
519
+ }
520
+
521
+ //#endregion
522
+ //#region node_modules/puppeteer-core/lib/puppeteer/node/FirefoxLauncher.js
523
+ /**
524
+ * @internal
525
+ */
526
+ var FirefoxLauncher = class FirefoxLauncher extends BrowserLauncher {
527
+ constructor(puppeteer$1) {
528
+ super(puppeteer$1, "firefox");
529
+ }
530
+ static getPreferences(extraPrefsFirefox) {
531
+ return {
532
+ ...extraPrefsFirefox,
533
+ "fission.webContentIsolationStrategy": 0
534
+ };
535
+ }
536
+ /**
537
+ * @internal
538
+ */
539
+ async computeLaunchArguments(options = {}) {
540
+ const { ignoreDefaultArgs = false, args = [], executablePath: executablePath$1, pipe = false, extraPrefsFirefox = {}, debuggingPort = null } = options;
541
+ const firefoxArguments = [];
542
+ if (!ignoreDefaultArgs) firefoxArguments.push(...this.defaultArgs(options));
543
+ else if (Array.isArray(ignoreDefaultArgs)) firefoxArguments.push(...this.defaultArgs(options).filter((arg) => {
544
+ return !ignoreDefaultArgs.includes(arg);
545
+ }));
546
+ else firefoxArguments.push(...args);
547
+ if (!firefoxArguments.some((argument) => {
548
+ return argument.startsWith("--remote-debugging-");
549
+ })) {
550
+ if (pipe) assert(debuggingPort === null, "Browser should be launched with either pipe or debugging port - not both.");
551
+ firefoxArguments.push(`--remote-debugging-port=${debuggingPort || 0}`);
552
+ }
553
+ let userDataDir;
554
+ let isTempUserDataDir = true;
555
+ const profileArgIndex = firefoxArguments.findIndex((arg) => {
556
+ return ["-profile", "--profile"].includes(arg);
557
+ });
558
+ if (profileArgIndex !== -1) {
559
+ userDataDir = firefoxArguments[profileArgIndex + 1];
560
+ if (!userDataDir) throw new Error(`Missing value for profile command line argument`);
561
+ isTempUserDataDir = false;
562
+ } else {
563
+ userDataDir = await mkdtemp(await this.getProfilePath());
564
+ firefoxArguments.push("--profile");
565
+ firefoxArguments.push(userDataDir);
566
+ }
567
+ await createProfile(Browser$1.FIREFOX, {
568
+ path: userDataDir,
569
+ preferences: FirefoxLauncher.getPreferences(extraPrefsFirefox)
570
+ });
571
+ let firefoxExecutable;
572
+ if (this.puppeteer._isPuppeteerCore || executablePath$1) {
573
+ assert(executablePath$1, `An \`executablePath\` must be specified for \`puppeteer-core\``);
574
+ firefoxExecutable = executablePath$1;
575
+ } else firefoxExecutable = await this.executablePath(void 0);
576
+ return {
577
+ isTempUserDataDir,
578
+ userDataDir,
579
+ args: firefoxArguments,
580
+ executablePath: firefoxExecutable
581
+ };
582
+ }
583
+ /**
584
+ * @internal
585
+ */
586
+ async cleanUserDataDir(userDataDir, opts) {
587
+ if (opts.isTemp) try {
588
+ await rm$1(userDataDir);
589
+ } catch (error) {
590
+ debugError?.(error);
591
+ throw error;
592
+ }
593
+ else try {
594
+ const backupSuffix = ".puppeteer";
595
+ const results = await Promise.allSettled(["prefs.js", "user.js"].map(async (file) => {
596
+ const prefsBackupPath = path.join(userDataDir, file + backupSuffix);
597
+ if (fs.existsSync(prefsBackupPath)) {
598
+ const prefsPath = path.join(userDataDir, file);
599
+ await unlink(prefsPath);
600
+ await rename(prefsBackupPath, prefsPath);
601
+ }
602
+ }));
603
+ for (const result of results) if (result.status === "rejected") throw result.reason;
604
+ } catch (error) {
605
+ debugError?.(error);
606
+ }
607
+ }
608
+ async executablePath(_, validatePath = true) {
609
+ return await this.resolveExecutablePath(void 0, validatePath);
610
+ }
611
+ defaultArgs(options = {}) {
612
+ const { devtools = false, headless = !devtools, args = [], userDataDir = null } = options;
613
+ const firefoxArguments = [];
614
+ switch (os.platform()) {
615
+ case "darwin":
616
+ firefoxArguments.push("--foreground");
617
+ break;
618
+ case "win32":
619
+ firefoxArguments.push("--wait-for-browser");
620
+ break;
621
+ }
622
+ if (userDataDir) {
623
+ firefoxArguments.push("--profile");
624
+ firefoxArguments.push(userDataDir);
625
+ }
626
+ if (headless) firefoxArguments.push("--headless");
627
+ if (devtools) firefoxArguments.push("--devtools");
628
+ if (args.every((arg) => {
629
+ return arg.startsWith("-");
630
+ })) firefoxArguments.push("about:blank");
631
+ firefoxArguments.push(...args);
632
+ return firefoxArguments;
633
+ }
634
+ };
635
+
636
+ //#endregion
637
+ //#region node_modules/puppeteer-core/lib/puppeteer/node/PuppeteerNode.js
638
+ /**
639
+ * Extends the main {@link Puppeteer} class with Node specific behaviour for
640
+ * fetching and downloading browsers.
641
+ *
642
+ * If you're using Puppeteer in a Node environment, this is the class you'll get
643
+ * when you run `import puppeteer from 'puppeteer'`.
644
+ *
645
+ * @remarks
646
+ * The most common method to use is {@link PuppeteerNode.launch | launch}, which
647
+ * is used to launch and connect to a new browser instance.
648
+ *
649
+ * See {@link Puppeteer | the main Puppeteer class} for methods common to all
650
+ * environments, such as {@link Puppeteer.connect}.
651
+ *
652
+ * @example
653
+ * The following is a typical example of using Puppeteer to drive automation:
654
+ *
655
+ * ```ts
656
+ * import puppeteer from 'puppeteer';
657
+ *
658
+ * const browser = await puppeteer.launch();
659
+ * const page = await browser.newPage();
660
+ * await page.goto('https://www.google.com');
661
+ * // other actions...
662
+ * await browser.close();
663
+ * ```
664
+ *
665
+ * Once you have created a `page` you have access to a large API to interact
666
+ * with the page, navigate, or find certain elements in that page.
667
+ * The {@link Page | `page` documentation} lists all the available methods.
668
+ *
669
+ * @public
670
+ */
671
+ var PuppeteerNode = class extends Puppeteer {
672
+ #launcher;
673
+ #lastLaunchedBrowser;
674
+ configuration;
675
+ /**
676
+ * @internal
677
+ */
678
+ constructor(settings) {
679
+ const { configuration,...commonSettings } = settings;
680
+ super(commonSettings);
681
+ if (configuration) this.configuration = configuration;
682
+ else this.configuration = () => {
683
+ return Promise.resolve({});
684
+ };
685
+ this.connect = this.connect.bind(this);
686
+ this.launch = this.launch.bind(this);
687
+ this.executablePath = this.executablePath.bind(this);
688
+ this.defaultArgs = this.defaultArgs.bind(this);
689
+ this.trimCache = this.trimCache.bind(this);
690
+ }
691
+ /**
692
+ * This method attaches Puppeteer to an existing browser instance.
693
+ *
694
+ * @param options - Set of configurable options to set on the browser.
695
+ * @returns Promise which resolves to browser instance.
696
+ */
697
+ connect(options) {
698
+ return super.connect(options);
699
+ }
700
+ /**
701
+ * Launches a browser instance with given arguments and options when
702
+ * specified.
703
+ *
704
+ * When using with `puppeteer-core`,
705
+ * {@link LaunchOptions.executablePath | options.executablePath} or
706
+ * {@link LaunchOptions.channel | options.channel} must be provided.
707
+ *
708
+ * @example
709
+ * You can use {@link LaunchOptions.ignoreDefaultArgs | options.ignoreDefaultArgs}
710
+ * to filter out `--mute-audio` from default arguments:
711
+ *
712
+ * ```ts
713
+ * const browser = await puppeteer.launch({
714
+ * ignoreDefaultArgs: ['--mute-audio'],
715
+ * });
716
+ * ```
717
+ *
718
+ * @remarks
719
+ * Puppeteer can also be used to control the Chrome browser, but it works best
720
+ * with the version of Chrome for Testing downloaded by default.
721
+ * There is no guarantee it will work with any other version. If Google Chrome
722
+ * (rather than Chrome for Testing) is preferred, a
723
+ * {@link https://www.google.com/chrome/browser/canary.html | Chrome Canary}
724
+ * or
725
+ * {@link https://www.chromium.org/getting-involved/dev-channel | Dev Channel}
726
+ * build is suggested. See
727
+ * {@link https://www.howtogeek.com/202825/what%E2%80%99s-the-difference-between-chromium-and-chrome/ | this article}
728
+ * for a description of the differences between Chromium and Chrome.
729
+ * {@link https://chromium.googlesource.com/chromium/src/+/lkgr/docs/chromium_browser_vs_google_chrome.md | This article}
730
+ * describes some differences for Linux users. See
731
+ * {@link https://developer.chrome.com/blog/chrome-for-testing/ | this doc} for the description
732
+ * of Chrome for Testing.
733
+ *
734
+ * @param options - Options to configure launching behavior.
735
+ */
736
+ async launch(options = {}) {
737
+ const { browser = await this.defaultBrowser() } = options;
738
+ this.#lastLaunchedBrowser = browser;
739
+ if (!["chrome", "firefox"].includes(browser)) throw new Error(`Unknown product: ${browser}`);
740
+ this.#launcher = this.#getLauncher(browser);
741
+ return await this.#launcher.launch(options);
742
+ }
743
+ /**
744
+ * @internal
745
+ */
746
+ #getLauncher(browser) {
747
+ if (this.#launcher && this.#launcher.browser === browser) return this.#launcher;
748
+ switch (browser) {
749
+ case "chrome": return new ChromeLauncher(this);
750
+ case "firefox": return new FirefoxLauncher(this);
751
+ default: throw new Error(`Unknown product: ${browser}`);
752
+ }
753
+ }
754
+ async executablePath(optsOrChannel) {
755
+ if (optsOrChannel === void 0) return await this.#getLauncher(await this.lastLaunchedBrowser()).executablePath(void 0, false);
756
+ if (typeof optsOrChannel === "string") return await this.#getLauncher("chrome").executablePath(optsOrChannel, false);
757
+ return await this.#getLauncher(optsOrChannel.browser ?? await this.lastLaunchedBrowser()).resolveExecutablePath(optsOrChannel.headless, false);
758
+ }
759
+ /**
760
+ * @internal
761
+ */
762
+ async browserVersion() {
763
+ const config = await this.configuration();
764
+ const lastLaunched = await this.lastLaunchedBrowser();
765
+ return config?.[lastLaunched]?.version ?? PUPPETEER_REVISIONS[lastLaunched];
766
+ }
767
+ /**
768
+ * The default download path for puppeteer. For puppeteer-core, this
769
+ * code should never be called as it is never defined.
770
+ *
771
+ * @internal
772
+ */
773
+ async defaultDownloadPath() {
774
+ return (await this.configuration()).cacheDirectory;
775
+ }
776
+ /**
777
+ * The name of the browser that was last launched.
778
+ */
779
+ async lastLaunchedBrowser() {
780
+ return this.#lastLaunchedBrowser ?? await this.defaultBrowser();
781
+ }
782
+ /**
783
+ * The name of the browser that will be launched by default. For
784
+ * `puppeteer`, this is influenced by your configuration. Otherwise, it's
785
+ * `chrome`.
786
+ */
787
+ async defaultBrowser() {
788
+ return (await this.configuration()).defaultBrowser ?? "chrome";
789
+ }
790
+ /**
791
+ * @param options - Set of configurable options to set on the browser.
792
+ *
793
+ * @returns The default arguments that the browser will be launched with.
794
+ */
795
+ async defaultArgs(options = {}) {
796
+ return this.#getLauncher(options.browser ?? await this.lastLaunchedBrowser()).defaultArgs(options);
797
+ }
798
+ /**
799
+ * Removes all non-current Firefox and Chrome binaries in the cache directory
800
+ * identified by the provided Puppeteer configuration. The current browser
801
+ * version is determined by resolving PUPPETEER_REVISIONS from Puppeteer
802
+ * unless `configuration.browserRevision` is provided.
803
+ *
804
+ * @remarks
805
+ *
806
+ * Note that the method does not check if any other Puppeteer versions
807
+ * installed on the host that use the same cache directory require the
808
+ * non-current binaries.
809
+ *
810
+ * @public
811
+ */
812
+ async trimCache() {
813
+ const platform = detectBrowserPlatform();
814
+ if (!platform) throw new Error("The current platform is not supported.");
815
+ const config = await this.configuration();
816
+ const cacheDir = config.cacheDirectory;
817
+ const installedBrowsers = await getInstalledBrowsers({ cacheDir });
818
+ const puppeteerBrowsers = [{
819
+ product: "chrome",
820
+ browser: Browser$1.CHROME,
821
+ currentBuildId: ""
822
+ }, {
823
+ product: "firefox",
824
+ browser: Browser$1.FIREFOX,
825
+ currentBuildId: ""
826
+ }];
827
+ await Promise.all(puppeteerBrowsers.map(async (item) => {
828
+ const tag = config?.[item.product]?.version ?? PUPPETEER_REVISIONS[item.product];
829
+ item.currentBuildId = await resolveBuildId(item.browser, platform, tag);
830
+ }));
831
+ const currentBrowserBuilds = new Set(puppeteerBrowsers.map((browser) => {
832
+ return `${browser.browser}_${browser.currentBuildId}`;
833
+ }));
834
+ const currentBrowsers = new Set(puppeteerBrowsers.map((browser) => {
835
+ return browser.browser;
836
+ }));
837
+ for (const installedBrowser of installedBrowsers) {
838
+ if (!currentBrowsers.has(installedBrowser.browser)) continue;
839
+ if (currentBrowserBuilds.has(`${installedBrowser.browser}_${installedBrowser.buildId}`)) continue;
840
+ await uninstall({
841
+ browser: installedBrowser.browser,
842
+ platform,
843
+ cacheDir,
844
+ buildId: installedBrowser.buildId
845
+ });
846
+ }
847
+ }
848
+ };
849
+
850
+ //#endregion
851
+ //#region node_modules/puppeteer-core/lib/puppeteer/node/ScreenRecorder.js
852
+ /**
853
+ * @license
854
+ * Copyright 2023 Google Inc.
855
+ * SPDX-License-Identifier: Apache-2.0
856
+ */
857
+ var __runInitializers = void 0 && (void 0).__runInitializers || function(thisArg, initializers, value) {
858
+ var useValue = arguments.length > 2;
859
+ for (var i = 0; i < initializers.length; i++) value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
860
+ return useValue ? value : void 0;
861
+ };
862
+ var __esDecorate = void 0 && (void 0).__esDecorate || function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
863
+ function accept(f) {
864
+ if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
865
+ return f;
866
+ }
867
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
868
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
869
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
870
+ var _, done = false;
871
+ for (var i = decorators.length - 1; i >= 0; i--) {
872
+ var context = {};
873
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
874
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
875
+ context.addInitializer = function(f) {
876
+ if (done) throw new TypeError("Cannot add initializers after decoration has completed");
877
+ extraInitializers.push(accept(f || null));
878
+ };
879
+ var result = (0, decorators[i])(kind === "accessor" ? {
880
+ get: descriptor.get,
881
+ set: descriptor.set
882
+ } : descriptor[key], context);
883
+ if (kind === "accessor") {
884
+ if (result === void 0) continue;
885
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
886
+ if (_ = accept(result.get)) descriptor.get = _;
887
+ if (_ = accept(result.set)) descriptor.set = _;
888
+ if (_ = accept(result.init)) initializers.unshift(_);
889
+ } else if (_ = accept(result)) if (kind === "field") initializers.unshift(_);
890
+ else descriptor[key] = _;
891
+ }
892
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
893
+ done = true;
894
+ };
895
+ var __setFunctionName = void 0 && (void 0).__setFunctionName || function(f, name, prefix) {
896
+ if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
897
+ return Object.defineProperty(f, "name", {
898
+ configurable: true,
899
+ value: prefix ? "".concat(prefix, " ", name) : name
900
+ });
901
+ };
902
+ const CRF_VALUE = 30;
903
+ const DEFAULT_FPS = 30;
904
+ const debugFfmpeg = debug("puppeteer:ffmpeg");
905
+ /**
906
+ * Computes how many encoder frames to emit for a captured frame that spans
907
+ * `[previousTimestamp, timestamp]`, so that the cumulative number of emitted
908
+ * frames tracks a constant-`fps` grid anchored at `startTimestamp`.
909
+ *
910
+ * Counting each interval independently with
911
+ * `Math.round(fps * (timestamp - previousTimestamp))` is wrong when frames are
912
+ * captured faster than `fps`: every sub-`1/fps` interval still rounds up to a
913
+ * whole frame, so the emitted frame count grows with the capture rate instead
914
+ * of staying at `fps * duration`, which stretches playback (and, for very high
915
+ * capture rates, the per-interval value rounds down to 0 and frames are
916
+ * dropped). Differencing the rounded cumulative position keeps the total at
917
+ * `Math.round(fps * (lastTimestamp - startTimestamp))`, independent of the
918
+ * capture rate.
919
+ *
920
+ * Timestamps are in seconds (CDP `Page.screencastFrame` metadata timestamps).
921
+ *
922
+ * @internal
923
+ */
924
+ function countFrames(startTimestamp, previousTimestamp, timestamp, fps) {
925
+ const end = Math.round((timestamp - startTimestamp) * fps);
926
+ const start = Math.round((previousTimestamp - startTimestamp) * fps);
927
+ return Math.max(0, end - start);
928
+ }
929
+ /**
930
+ * @public
931
+ */
932
+ let ScreenRecorder = (() => {
933
+ let _classSuper = PassThrough;
934
+ let _instanceExtraInitializers = [];
935
+ let _private_writeFrame_decorators;
936
+ let _private_writeFrame_descriptor;
937
+ let _stop_decorators;
938
+ return class ScreenRecorder$1 extends _classSuper {
939
+ static {
940
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
941
+ __esDecorate(this, _private_writeFrame_descriptor = { value: __setFunctionName(async function(buffer) {
942
+ const error = await new Promise((resolve$1) => {
943
+ this.#process.stdin.write(buffer, resolve$1);
944
+ });
945
+ if (error) console.log(`ffmpeg failed to write: ${error.message}.`);
946
+ }, "#writeFrame") }, _private_writeFrame_decorators, {
947
+ kind: "method",
948
+ name: "#writeFrame",
949
+ static: false,
950
+ private: true,
951
+ access: {
952
+ has: (obj) => #writeFrame in obj,
953
+ get: (obj) => obj.#writeFrame
954
+ },
955
+ metadata: _metadata
956
+ }, null, _instanceExtraInitializers);
957
+ __esDecorate(this, null, _stop_decorators, {
958
+ kind: "method",
959
+ name: "stop",
960
+ static: false,
961
+ private: false,
962
+ access: {
963
+ has: (obj) => "stop" in obj,
964
+ get: (obj) => obj.stop
965
+ },
966
+ metadata: _metadata
967
+ }, null, _instanceExtraInitializers);
968
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, {
969
+ enumerable: true,
970
+ configurable: true,
971
+ writable: true,
972
+ value: _metadata
973
+ });
974
+ }
975
+ #page = __runInitializers(this, _instanceExtraInitializers);
976
+ #process;
977
+ #controller = new AbortController();
978
+ #lastFrame;
979
+ #fps;
980
+ /**
981
+ * @internal
982
+ */
983
+ constructor(page, width, height, { ffmpegPath, speed, scale, crop, format, fps, loop, delay, quality, colors, path: path$1, overwrite } = {}) {
984
+ super({ allowHalfOpen: false });
985
+ ffmpegPath ??= "ffmpeg";
986
+ format ??= "webm";
987
+ fps ??= DEFAULT_FPS;
988
+ loop ||= -1;
989
+ delay ??= -1;
990
+ quality ??= CRF_VALUE;
991
+ colors ??= 256;
992
+ overwrite ??= true;
993
+ this.#fps = fps;
994
+ const { error } = spawnSync(ffmpegPath);
995
+ if (error) throw error;
996
+ const filters = [`crop='min(${width},iw):min(${height},ih):0:0'`, `pad=${width}:${height}:0:0`];
997
+ if (speed) filters.push(`setpts=${1 / speed}*PTS`);
998
+ if (crop) filters.push(`crop=${crop.width}:${crop.height}:${crop.x}:${crop.y}`);
999
+ if (scale) filters.push(`scale=iw*${scale}:-1:flags=lanczos`);
1000
+ const formatArgs = this.#getFormatArgs(format, fps, loop, delay, quality, colors);
1001
+ const vf = formatArgs.indexOf("-vf");
1002
+ if (vf !== -1) filters.push(formatArgs.splice(vf, 2).at(-1) ?? "");
1003
+ if (path$1) fs.mkdirSync(dirname(path$1), { recursive: overwrite });
1004
+ this.#process = spawn(ffmpegPath, [
1005
+ ["-loglevel", "error"],
1006
+ ["-avioflags", "direct"],
1007
+ [
1008
+ "-fpsprobesize",
1009
+ "0",
1010
+ "-probesize",
1011
+ "32",
1012
+ "-analyzeduration",
1013
+ "0",
1014
+ "-fflags",
1015
+ "nobuffer"
1016
+ ],
1017
+ [
1018
+ "-framerate",
1019
+ `${fps}`,
1020
+ "-f",
1021
+ "image2pipe",
1022
+ "-vcodec",
1023
+ "png",
1024
+ "-i",
1025
+ "pipe:0"
1026
+ ],
1027
+ ["-an"],
1028
+ ["-threads", "1"],
1029
+ ["-b:v", "0"],
1030
+ formatArgs,
1031
+ ["-vf", filters.join()],
1032
+ [overwrite ? "-y" : "-n"],
1033
+ "pipe:1"
1034
+ ].flat(), { stdio: [
1035
+ "pipe",
1036
+ "pipe",
1037
+ "pipe"
1038
+ ] });
1039
+ this.#process.stdout.pipe(this);
1040
+ this.#process.stderr.on("data", (data) => {
1041
+ debugFfmpeg?.(data.toString("utf8"));
1042
+ });
1043
+ this.#page = page;
1044
+ const { client } = this.#page.mainFrame();
1045
+ client.once(CDPSessionEvent.Disconnected, () => {
1046
+ this.stop().catch(debugCatchError);
1047
+ });
1048
+ let startTimestamp;
1049
+ this.#lastFrame = lastValueFrom(fromEmitterEvent(client, "Page.screencastFrame").pipe(tap((event) => {
1050
+ client.send("Page.screencastFrameAck", { sessionId: event.sessionId });
1051
+ }), filter((event) => {
1052
+ return event.metadata.timestamp !== void 0;
1053
+ }), map((event) => {
1054
+ return {
1055
+ buffer: Buffer.from(event.data, "base64"),
1056
+ timestamp: event.metadata.timestamp
1057
+ };
1058
+ }), bufferCount(2, 1), concatMap(([{ timestamp: previousTimestamp, buffer }, { timestamp }]) => {
1059
+ startTimestamp ??= previousTimestamp;
1060
+ return from(Array(countFrames(startTimestamp, previousTimestamp, timestamp, fps)).fill(buffer));
1061
+ }), map((buffer) => {
1062
+ this.#writeFrame(buffer);
1063
+ return [buffer, performance.now()];
1064
+ }), takeUntil(fromEvent(this.#controller.signal, "abort"))), { defaultValue: [Buffer.from([]), performance.now()] });
1065
+ }
1066
+ #getFormatArgs(format, fps, loop, delay, quality, colors) {
1067
+ const libvpx = [
1068
+ ["-vcodec", "vp9"],
1069
+ ["-crf", `${quality}`],
1070
+ [
1071
+ "-deadline",
1072
+ "realtime",
1073
+ "-cpu-used",
1074
+ `${Math.min(os.cpus().length / 2, 8)}`
1075
+ ]
1076
+ ];
1077
+ switch (format) {
1078
+ case "webm": return [...libvpx, ["-f", "webm"]].flat();
1079
+ case "gif":
1080
+ fps = DEFAULT_FPS === fps ? 20 : "source_fps";
1081
+ if (loop === Infinity) loop = 0;
1082
+ if (delay !== -1) delay /= 10;
1083
+ return [
1084
+ ["-vf", `fps=${fps},split[s0][s1];[s0]palettegen=stats_mode=diff:max_colors=${colors}[p];[s1][p]paletteuse=dither=bayer`],
1085
+ ["-loop", `${loop}`],
1086
+ ["-final_delay", `${delay}`],
1087
+ ["-f", "gif"]
1088
+ ].flat();
1089
+ case "mp4": return [
1090
+ ...libvpx,
1091
+ ["-movflags", "hybrid_fragmented"],
1092
+ ["-f", "mp4"]
1093
+ ].flat();
1094
+ }
1095
+ }
1096
+ get #writeFrame() {
1097
+ return _private_writeFrame_descriptor.value;
1098
+ }
1099
+ /**
1100
+ * Stops the recorder.
1101
+ *
1102
+ * @public
1103
+ */
1104
+ async stop() {
1105
+ if (this.#controller.signal.aborted) return;
1106
+ await this.#page._stopScreencast().catch(debugCatchError);
1107
+ this.#controller.abort();
1108
+ const [buffer, timestamp] = await this.#lastFrame;
1109
+ await Promise.all(Array(Math.max(1, Math.round(this.#fps * (performance.now() - timestamp) / 1e3))).fill(buffer).map(this.#writeFrame.bind(this)));
1110
+ this.#process.stdin.end();
1111
+ await new Promise((resolve$1) => {
1112
+ this.#process.once("close", resolve$1);
1113
+ });
1114
+ }
1115
+ /**
1116
+ * @internal
1117
+ */
1118
+ async [(_private_writeFrame_decorators = [guarded()], _stop_decorators = [guarded()], asyncDisposeSymbol)]() {
1119
+ await this.stop();
1120
+ await super[asyncDisposeSymbol]();
1121
+ }
1122
+ };
1123
+ })();
1124
+
1125
+ //#endregion
1126
+ //#region node_modules/puppeteer-core/lib/puppeteer/puppeteer-core.js
1127
+ environment.value.ScreenRecorder = ScreenRecorder;
1128
+ /**
1129
+ * @public
1130
+ */
1131
+ const puppeteer = new PuppeteerNode({ isPuppeteerCore: true });
1132
+ const { connect, defaultArgs, executablePath, launch } = puppeteer;
1133
+ var puppeteer_core_default = puppeteer;
1134
+
1135
+ //#endregion
1136
+ export { ARIAQueryHandler, Accessibility, AsyncDisposableStack, AsyncDisposableStackPolyfill, AsyncIterableUtil, Binding, Browser, BrowserContext, BrowserLauncher, BrowserWebSocketTransport, CDPSession, CDPSessionEvent, CDP_BINDING_PREFIX, CSSCoverage, Callback, CallbackRegistry, CdpBluetoothEmulation, CdpBrowser, CdpBrowserContext, CdpCDPSession, CdpDeviceRequestPrompt, CdpDeviceRequestPromptManager, CdpDialog, CdpElementHandle, CdpFrame, CdpHTTPRequest, CdpHTTPResponse, CdpJSHandle, CdpKeyboard, CdpMouse, CdpPage, CdpPreloadScript, CdpTarget, CdpTouchHandle, CdpTouchscreen, CdpWebWorker, ChromeLauncher, Connection, ConnectionClosedError, ConsoleMessage, Coverage, CustomQueryHandlerRegistry, DEFAULT_INTERCEPT_RESOLUTION_PRIORITY, DEFAULT_VIEWPORT, Deferred, DelegatedLocator, DevToolsTarget, DeviceRequestPrompt, Dialog, DisposableStack, DisposableStackPolyfill, ElementHandle, EmulatedState, EmulationManager, EventEmitter, ExecutionContext, Extension, ExtensionTransport, FileChooser, FilteredLocator, FirefoxLauncher, Frame, FrameEvent, FrameManager, FrameManagerEvent, FrameTree, FunctionLocator, HTTPRequest, HTTPResponse, InitializationStatus, InterceptResolutionAction, IsolatedWorld, JSCoverage, JSHandle, Keyboard, KnownDevices, LazyArg, LifecycleWatcher, Locator, LocatorEvent, MAIN_WORLD, MappedLocator, Mouse, MouseButton, Mutex, NETWORK_IDLE_TIME, NetworkEventManager, NetworkManager, NetworkManagerEvent, NodeLocator, OtherTarget, PQueryHandler, PUPPETEER_REVISIONS, PUPPETEER_WORLD, Page, PageTarget, PierceQueryHandler, PipeTransport, PredefinedNetworkConditions, ProtocolError, Puppeteer, PuppeteerError, PuppeteerNode, PuppeteerURL, QueryHandler, RETRY_DELAY, RaceLocator, Realm, SOURCE_URL_REGEX, STATUS_TEXTS, ScreenRecorder, ScriptInjector, SecurityDetails, SuppressedError, Target, TargetCloseError, TargetManager, TargetType, TaskManager, TaskQueue, TextQueryHandler, TimeoutError, TimeoutSettings, TouchError, Touchscreen, Tracing, UTILITY_WORLD_NAME, UnsupportedOperation, WEB_PERMISSION_TO_PROTOCOL_PERMISSION, WaitTask, WebMCP, WebMCPTool, WebMCPToolCall, WebWorker, WebWorkerEvent, WorkerTarget, XPathQueryHandler, _connectToCdpBrowser, _keyDefinitions, addPageBinding, assert, asyncDisposeSymbol, bindIsolatedHandle, connect, convertConsoleMessageLevel, convertCookiesPartitionKeyFromPuppeteerToCdp, convertSameSiteFromPuppeteerToCdp, countFrames, createClientError, createConsoleMessage, createEvaluationError, createIncrementalIdGenerator, createProtocolErrorMessage, customQueryHandlers, debug, debugCatchError, debugError, puppeteer_core_default as default, defaultArgs, disposeSymbol, evaluationString, executablePath, filterAsync, fromAbortSignal, fromEmitterEvent, getBrowserTypeDisplayName, getCapturedLogs, getFeatures, getQueryHandlerAndSelector, getReadableAsTypedArray, getReadableFromProtocolStream, getSourcePuppeteerURLIfAvailable, getSourceUrlComment, handleError, headersArray, isDate, isErrnoException, isErrorLike, isNumber, isPlainObject, isRegExp, isString, isTargetClosedError, launch, normalizeHeaderValue, pageBindingInitString, paperFormats, parsePDFOptions, parsePSelectors, referrerPolicyToProtocol, releaseObject, removeMatchingFlags, rewriteError, scriptInjector, setDefaultScreenshotOptions, setLogCapture, supportedMetrics, throwIfDetached, timeout, transposeIterableHandle, unitToPixels, validateDialogType, valueFromJSHandle, valueFromPrimitiveRemoteObject, valueFromRemoteObjectReference, withSourcePuppeteerURLIfNone };