better-dsh 0.2.5-c → 0.2.5-e

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (967) hide show
  1. package/THIRD_PARTY_NOTICES.md +3 -0
  2. package/docs/20_specs/ast/spec.md +26 -3
  3. package/docs/20_specs/dvc/spec.md +20 -1
  4. package/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
  5. package/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 +1 -1
  6. package/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
  7. package/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 +1 -1
  8. package/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
  9. package/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
  10. package/docs/dev-test-environment-notes.md +137 -0
  11. package/docs/specs/ast/spec.md +26 -3
  12. package/docs/specs/ast-engine-deomp/spec.md +170 -0
  13. package/docs/specs/authentication-only-web-admission/spec.md +51 -0
  14. package/docs/specs/docs-packaging-trim/spec.md +110 -0
  15. package/docs/specs/dvc/spec.md +20 -1
  16. package/docs/superpowers/plans/2026-10-03-ast-engine-deomp.md +1214 -0
  17. package/docs/superpowers/plans/2026-10-03-docs-packaging-trim.md +181 -0
  18. package/lib/BrowserWebSocketTransport-D1aFReu_.js +4 -0
  19. package/lib/{BrowserWebSocketTransport-FbPg_VFT.js → BrowserWebSocketTransport-wm99h94r.js} +1 -1
  20. package/lib/LaunchOptions-3peHoOAx.js +4 -0
  21. package/lib/{LaunchOptions-RNO1YIoJ.js → LaunchOptions-DXdeJis3.js} +1 -1
  22. package/lib/NodeWebSocketTransport-BRLjmu2R.js +4 -0
  23. package/lib/{NodeWebSocketTransport-BdrEPUFe.js → NodeWebSocketTransport-D9ysYGLM.js} +9 -4
  24. package/lib/ast-assets/ast-grep.wasm +0 -0
  25. package/lib/ast-assets/tree-sitter-bash.wasm +0 -0
  26. package/lib/ast-assets/tree-sitter-c.wasm +0 -0
  27. package/lib/ast-assets/tree-sitter-cpp.wasm +0 -0
  28. package/lib/ast-assets/tree-sitter-css.wasm +0 -0
  29. package/lib/ast-assets/tree-sitter-go.wasm +0 -0
  30. package/lib/ast-assets/tree-sitter-html.wasm +0 -0
  31. package/lib/ast-assets/tree-sitter-javascript.wasm +0 -0
  32. package/lib/ast-assets/tree-sitter-json.wasm +0 -0
  33. package/lib/ast-assets/tree-sitter-python.wasm +0 -0
  34. package/lib/ast-assets/tree-sitter-ruby.wasm +0 -0
  35. package/lib/ast-assets/tree-sitter-rust.wasm +0 -0
  36. package/lib/ast-assets/tree-sitter-tsx.wasm +0 -0
  37. package/lib/ast-assets/tree-sitter-typescript.wasm +0 -0
  38. package/lib/ast-assets/tree-sitter-yaml.wasm +0 -0
  39. package/lib/ast-assets/tree-sitter.wasm +0 -0
  40. package/lib/{bidi-D0POLRy7.js → bidi-CwtLGgcA.js} +3 -3
  41. package/lib/compaction/index.d.ts +1 -1
  42. package/lib/failover/index.d.ts +1 -1
  43. package/lib/fs-aware/sandbox-plugin.js +2 -2
  44. package/lib/{index-browser-rqlXyoed.js → index-browser-Bp3vxHC3.js} +6 -6
  45. package/lib/index.d.ts +1 -1
  46. package/lib/{lsp-server-registry-LUjrrLxk.js → lsp-server-registry-BcdkHROD.js} +1 -1
  47. package/lib/{main-Dlv0Jm8U.js → main-BXwPLuYr.js} +1 -1
  48. package/lib/mobile/plugin.d.ts +2 -2
  49. package/lib/mobile/plugin.js +1 -1
  50. package/lib/{puppeteer-core-BIIJGWPE.js → puppeteer-core-Bliv_vNf.js} +8 -8
  51. package/lib/remote/plugin.d.ts +1 -1
  52. package/lib/url-schemes/index.d.ts +11 -11
  53. package/lib/url-schemes/index.js +1191 -389
  54. package/lib/wasm_bg-CNXhHjVg.js +1291 -0
  55. package/lib/web-password.d.ts +7 -7
  56. package/lib/web-tree-sitter-CPrPD4J2.js +3440 -0
  57. package/lib/{web-trust-CL9P6jVe.d.ts → web-trust-D9jFaQbH.d.ts} +15 -8
  58. package/lib/{web-trust-B27wcZEw.js → web-trust-jR0o70JS.js} +35 -3
  59. package/lib/web-trust.d.ts +1 -1
  60. package/lib/web-trust.js +1 -1
  61. package/lib/{wrap-0VA0uFx8.js → wrap-kTohEeis.js} +115 -115
  62. package/package.json +40 -18
  63. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/MdxPage-CTY7atqe.js +0 -11
  64. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/extract_omp.mjs +0 -42
  65. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/fetch_pi.py +0 -52
  66. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/jsx-runtime-BHwPObl3.js +0 -13
  67. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/omp_extracted.json +0 -1
  68. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/omp_pages.txt +0 -35
  69. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/package.json +0 -1
  70. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/pi_convert.py +0 -49
  71. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/pi_pages.txt +0 -30
  72. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/serialize_omp.py +0 -250
  73. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/README.md +0 -80
  74. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/Overview.md +0 -88
  75. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/acp.md +0 -151
  76. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/advisor.md +0 -185
  77. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/agents-and-roles.md +0 -168
  78. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/approvals.md +0 -200
  79. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/cli.md +0 -381
  80. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/code-intelligence.md +0 -225
  81. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/collab.md +0 -207
  82. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/commit.md +0 -169
  83. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/compaction.md +0 -195
  84. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/computer.md +0 -224
  85. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/context-files.md +0 -184
  86. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/custom-models.md +0 -284
  87. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/custom-tools.md +0 -248
  88. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/debugging.md +0 -254
  89. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/editing.md +0 -157
  90. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/env.md +0 -552
  91. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/extension-authoring.md +0 -378
  92. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/files.md +0 -144
  93. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/github.md +0 -175
  94. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/goal.md +0 -156
  95. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/handoff.md +0 -139
  96. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/hooks.md +0 -257
  97. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/keybindings.md +0 -204
  98. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/magic-keywords.md +0 -135
  99. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/marketplace.md +0 -269
  100. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/mcp-authoring.md +0 -243
  101. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/mcp.md +0 -260
  102. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/memory.md +0 -306
  103. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/modes.md +0 -214
  104. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/pages.txt +0 -56
  105. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/plan.md +0 -126
  106. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/plugins.md +0 -287
  107. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/prewalk.md +0 -122
  108. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/prompt-templates.md +0 -149
  109. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/providers.md +0 -229
  110. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/quickstart.md +0 -117
  111. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/review.md +0 -248
  112. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/roles.md +0 -247
  113. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/rpc.md +0 -523
  114. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/sdk.md +0 -260
  115. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/secrets.md +0 -199
  116. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/security.md +0 -260
  117. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/session-format.md +0 -254
  118. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/session-tree.md +0 -135
  119. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/sessions.md +0 -223
  120. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/settings.md +0 -290
  121. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/skills.md +0 -187
  122. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/slash.md +0 -328
  123. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/subagent-authoring.md +0 -165
  124. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/subagents.md +0 -149
  125. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/themes.md +0 -230
  126. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/tools.md +0 -120
  127. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/ttsr.md +0 -242
  128. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/using.md +0 -214
  129. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/vibe.md +0 -187
  130. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/web.md +0 -233
  131. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/compaction.md +0 -427
  132. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/containerization.md +0 -162
  133. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/custom-provider.md +0 -782
  134. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/development.md +0 -96
  135. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/environment-variables.md +0 -104
  136. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/extensions.md +0 -3058
  137. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/index.md +0 -89
  138. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/json.md +0 -105
  139. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/keybindings.md +0 -244
  140. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/llama-cpp.md +0 -106
  141. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/models.md +0 -587
  142. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/packages.md +0 -234
  143. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/pages.txt +0 -30
  144. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/prompt-templates.md +0 -101
  145. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/providers.md +0 -327
  146. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/quickstart.md +0 -172
  147. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/rpc.md +0 -1679
  148. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/sdk.md +0 -1239
  149. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/security.md +0 -64
  150. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/session-format.md +0 -454
  151. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/sessions.md +0 -150
  152. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/settings.md +0 -374
  153. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/shell-aliases.md +0 -18
  154. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/skills.md +0 -241
  155. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/terminal-setup.md +0 -199
  156. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/termux.md +0 -135
  157. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/themes.md +0 -328
  158. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/tmux.md +0 -68
  159. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/tui.md +0 -965
  160. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/usage.md +0 -315
  161. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/windows.md +0 -44
  162. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/src-scripts/crawl.py +0 -103
  163. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/src-scripts/docs-tree.json +0 -82965
  164. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/src-scripts/download.py +0 -56
  165. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/src-scripts/gen_mapping.py +0 -125
  166. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/src-scripts/pages.json +0 -232
  167. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/api-plugins.json +0 -1
  168. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/api-skills.json +0 -4
  169. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/_category_.json +0 -8
  170. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/acp-internals.md +0 -181
  171. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/adding-platform-adapters.md +0 -788
  172. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/adding-providers.md +0 -464
  173. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/adding-tools.md +0 -211
  174. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/agent-loop.md +0 -242
  175. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/architecture.md +0 -279
  176. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/billing-lifecycle.md +0 -184
  177. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/browser-provider-plugin.md +0 -153
  178. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/browser-supervisor.md +0 -198
  179. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/chronos-managed-cron-contract.md +0 -227
  180. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/cli-internals.md +0 -85
  181. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/codebase-ownership.md +0 -34
  182. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/completion-backlog-delivery.md +0 -52
  183. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/context-compression-and-caching.md +0 -642
  184. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/context-engine-plugin.md +0 -272
  185. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/contributing.md +0 -303
  186. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/creating-skills.md +0 -438
  187. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/cron-internals.md +0 -380
  188. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/desktop-plugin-sdk.md +0 -952
  189. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/egress-internals.md +0 -319
  190. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/extending-the-cli.md +0 -192
  191. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/gateway-internals.md +0 -297
  192. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/gateway-monitoring.md +0 -309
  193. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/gateway-session-lifecycle.md +0 -621
  194. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/image-gen-provider-plugin.md +0 -316
  195. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/memory-provider-plugin.md +0 -452
  196. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/micro-compaction.md +0 -406
  197. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/middleware.md +0 -266
  198. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/model-provider-plugin.md +0 -327
  199. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/multiplexing-gateway.md +0 -228
  200. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/observer-hooks.md +0 -331
  201. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/plugin-llm-access.md +0 -506
  202. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/plugins/index.md +0 -1775
  203. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/programmatic-integration.md +0 -212
  204. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/prompt-assembly.md +0 -328
  205. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/provider-runtime.md +0 -222
  206. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/relay-connector-contract.md +0 -790
  207. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/relay-shared-metrics.md +0 -487
  208. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/secret-source-plugin.md +0 -192
  209. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/session-storage.md +0 -523
  210. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/state-db-recovery.md +0 -107
  211. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/streaming-tts.md +0 -98
  212. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/subagent-lifecycle-api.md +0 -61
  213. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/terminal-environment-plugin.md +0 -140
  214. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/tools-runtime.md +0 -250
  215. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/trajectory-format.md +0 -232
  216. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/video-gen-provider-plugin.md +0 -231
  217. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/web-search-provider-plugin.md +0 -260
  218. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/worktree-ui-dev.md +0 -168
  219. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/getting-started/_category_.json +0 -8
  220. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/getting-started/installation.md +0 -200
  221. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/getting-started/learning-path.md +0 -169
  222. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/getting-started/nix-setup.md +0 -1234
  223. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/getting-started/platform-support.md +0 -50
  224. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/getting-started/quickstart.md +0 -399
  225. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/getting-started/termux.md +0 -301
  226. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/getting-started/updating.md +0 -374
  227. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/_category_.json +0 -6
  228. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/agent-email-address.md +0 -93
  229. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/automate-with-cron.md +0 -292
  230. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/automation-blueprints.md +0 -595
  231. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/aws-bedrock.md +0 -196
  232. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/azure-foundry.md +0 -334
  233. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/cron-script-only.md +0 -247
  234. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/cron-troubleshooting.md +0 -235
  235. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/daily-briefing-bot.md +0 -272
  236. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/delegation-patterns.md +0 -242
  237. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/desktop-native-signin.md +0 -125
  238. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/github-pr-review-agent.md +0 -303
  239. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/google-gemini.md +0 -270
  240. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/google-vertex.md +0 -148
  241. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/local-llm-on-mac.md +0 -252
  242. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/local-ollama-setup.md +0 -338
  243. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/manage-hermes-cloud-with-mcp.md +0 -176
  244. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/microsoft-graph-app-registration.md +0 -180
  245. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/migrate-from-openclaw.md +0 -252
  246. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/minimax-oauth.md +0 -226
  247. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/oauth-over-ssh.md +0 -172
  248. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/operate-teams-meeting-pipeline.md +0 -295
  249. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/pipe-script-output.md +0 -249
  250. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/python-library.md +0 -333
  251. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/run-hermes-with-nous-portal.md +0 -276
  252. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/run-nemotron-3-ultra-free.md +0 -123
  253. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/secure-hermes-on-a-work-machine.md +0 -182
  254. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/team-telegram-assistant.md +0 -441
  255. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/tips.md +0 -238
  256. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/troubleshooting-agent-quality.md +0 -145
  257. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/use-mcp-with-hermes.md +0 -541
  258. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/use-soul-with-hermes.md +0 -264
  259. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/use-voice-mode-with-hermes.md +0 -473
  260. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/webhook-github-pr-review.md +0 -336
  261. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/work-with-skills.md +0 -290
  262. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/xai-grok-oauth.md +0 -243
  263. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/index.mdx +0 -155
  264. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/integrations/buzz.md +0 -57
  265. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/integrations/index.md +0 -126
  266. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/integrations/nous-portal.md +0 -286
  267. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/integrations/providers.md +0 -1681
  268. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/_category_.json +0 -8
  269. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/automation-blueprints-catalog.mdx +0 -36
  270. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/cli-commands.md +0 -1900
  271. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/cli-symbols.md +0 -126
  272. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/environment-variables.md +0 -952
  273. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/faq.md +0 -874
  274. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/mcp-config-reference.md +0 -439
  275. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/model-catalog.md +0 -121
  276. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/optional-skills-catalog.md +0 -303
  277. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/profile-commands.md +0 -544
  278. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/skills-catalog.md +0 -132
  279. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/slash-commands.md +0 -336
  280. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/tools-reference.md +0 -399
  281. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/toolsets-reference.md +0 -171
  282. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/_category_.json +0 -8
  283. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/bot-mode.md +0 -309
  284. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/checkpoints-and-rollback.md +0 -283
  285. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/cli.md +0 -591
  286. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/configuration.md +0 -2901
  287. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/configuring-models.md +0 -414
  288. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/desktop.md +0 -728
  289. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/docker.md +0 -896
  290. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/egress/index.md +0 -10
  291. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/egress/iron-proxy.md +0 -570
  292. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/egress/network-isolation.md +0 -201
  293. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/_category_.json +0 -8
  294. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/acp.md +0 -407
  295. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/api-server.md +0 -810
  296. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/batch-processing.md +0 -230
  297. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/browser.md +0 -901
  298. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/built-in-plugins.md +0 -366
  299. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/code-execution.md +0 -319
  300. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/codex-app-server-runtime.md +0 -460
  301. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/computer-use.md +0 -636
  302. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/context-files.md +0 -237
  303. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/context-references.md +0 -142
  304. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/credential-pools.md +0 -308
  305. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/credential-vault.md +0 -122
  306. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/cron.md +0 -1262
  307. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/curator.md +0 -409
  308. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/delegation.md +0 -664
  309. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/deliverable-mode.md +0 -134
  310. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/document-extraction.md +0 -58
  311. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/extending-the-dashboard.md +0 -927
  312. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/fallback-providers.md +0 -444
  313. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/goals.md +0 -293
  314. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/heartbeat.md +0 -68
  315. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/honcho.md +0 -276
  316. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/hooks.md +0 -2007
  317. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/image-generation.md +0 -347
  318. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/kanban-multi-gateway.md +0 -52
  319. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/kanban-tutorial.md +0 -310
  320. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/kanban-worker-lanes.md +0 -142
  321. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/kanban.md +0 -1327
  322. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/loops.md +0 -122
  323. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/lsp.md +0 -307
  324. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/mcp.md +0 -957
  325. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/memory-providers.md +0 -699
  326. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/memory.md +0 -466
  327. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/mixture-of-agents.md +0 -246
  328. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/overview.md +0 -57
  329. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/personality.md +0 -289
  330. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/pets.md +0 -236
  331. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/plugin-catalog.md +0 -212
  332. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/plugins.md +0 -847
  333. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/provider-routing.md +0 -229
  334. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/skills.md +0 -1112
  335. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/skins.md +0 -271
  336. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/spotify.md +0 -279
  337. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/subscription-proxy.md +0 -203
  338. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/tool-gateway.md +0 -223
  339. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/tool-search.md +0 -277
  340. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/tools.md +0 -261
  341. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/tts.md +0 -744
  342. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/vision.md +0 -214
  343. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/voice-mode.md +0 -608
  344. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/wake-word.md +0 -343
  345. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/web-dashboard.md +0 -1206
  346. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/web-search.md +0 -506
  347. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/x-search.md +0 -167
  348. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/git-worktrees.md +0 -196
  349. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/import-from-other-agents.md +0 -74
  350. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/local-models.md +0 -140
  351. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/managed-scope.md +0 -157
  352. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/_category_.json +0 -8
  353. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/a2a.md +0 -130
  354. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/bluebubbles.md +0 -171
  355. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/buzz.md +0 -162
  356. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/dingtalk.md +0 -283
  357. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/discord.md +0 -936
  358. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/email.md +0 -223
  359. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/feishu.md +0 -599
  360. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/google_chat.md +0 -430
  361. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/homeassistant.md +0 -269
  362. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/index.md +0 -859
  363. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/irc.md +0 -78
  364. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/line.md +0 -201
  365. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/matrix.md +0 -910
  366. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/mattermost.md +0 -340
  367. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/msgraph-webhook.md +0 -142
  368. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/ntfy.md +0 -157
  369. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/open-webui.md +0 -296
  370. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/photon.md +0 -255
  371. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/qqbot.md +0 -123
  372. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/raft.md +0 -70
  373. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/relay.md +0 -212
  374. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/signal.md +0 -262
  375. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/simplex.md +0 -151
  376. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/slack.md +0 -1093
  377. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/sms.md +0 -203
  378. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/teams-meetings.md +0 -242
  379. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/teams.md +0 -288
  380. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/telegram.md +0 -1373
  381. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/webhooks.md +0 -694
  382. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/wecom-callback.md +0 -179
  383. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/wecom.md +0 -306
  384. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/weixin.md +0 -333
  385. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/whatsapp-cloud.md +0 -417
  386. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/whatsapp.md +0 -283
  387. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/yuanbao.md +0 -342
  388. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/multi-connection-desktop.md +0 -361
  389. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/multi-profile-gateways.md +0 -1062
  390. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/profile-distributions.md +0 -757
  391. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/profiles.md +0 -418
  392. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/secrets/bitwarden.md +0 -155
  393. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/secrets/command.md +0 -50
  394. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/secrets/index.md +0 -50
  395. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/secrets/onepassword.md +0 -169
  396. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/security.md +0 -892
  397. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/sessions.md +0 -990
  398. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/apple/apple-apple-notes.md +0 -110
  399. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/apple/apple-apple-reminders.md +0 -146
  400. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/apple/apple-findmy.md +0 -149
  401. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/apple/apple-imessage.md +0 -118
  402. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/autonomous-ai-agents/autonomous-ai-agents-claude-code.md +0 -763
  403. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/autonomous-ai-agents/autonomous-ai-agents-codex.md +0 -169
  404. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/autonomous-ai-agents/autonomous-ai-agents-computer-use.md +0 -355
  405. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/autonomous-ai-agents/autonomous-ai-agents-hermes-agent.md +0 -230
  406. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/autonomous-ai-agents/autonomous-ai-agents-merge-reconciler.md +0 -176
  407. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/autonomous-ai-agents/autonomous-ai-agents-opencode.md +0 -237
  408. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-architecture-diagram.md +0 -165
  409. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-ascii-art.md +0 -338
  410. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-ascii-video.md +0 -265
  411. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-baoyu-infographic.md +0 -256
  412. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-claude-design.md +0 -668
  413. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-comfyui.md +0 -616
  414. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-design-md.md +0 -238
  415. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-excalidraw.md +0 -212
  416. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-humanizer.md +0 -663
  417. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-manim-video.md +0 -292
  418. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-p5js.md +0 -576
  419. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-popular-web-designs.md +0 -223
  420. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-pretext.md +0 -238
  421. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-sketch.md +0 -240
  422. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-songwriting-and-ai-music.md +0 -319
  423. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/devops/devops-sdlc-review.md +0 -195
  424. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/email/email-email-inbox-triage.md +0 -115
  425. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/email/email-himalaya.md +0 -319
  426. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/github/github-codebase-inspection.md +0 -132
  427. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/github/github-github-auth.md +0 -265
  428. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/github/github-github-code-review.md +0 -499
  429. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/github/github-github-issue-to-pr.md +0 -95
  430. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/github/github-github-issues.md +0 -388
  431. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/github/github-github-pr-workflow.md +0 -385
  432. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/github/github-github-repo-management.md +0 -534
  433. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/media/media-gif-search.md +0 -106
  434. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/media/media-songsee.md +0 -98
  435. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/media/media-youtube-content.md +0 -100
  436. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/mlops/mlops-evaluation-evaluating-llms-harness.md +0 -512
  437. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/mlops/mlops-evaluation-weights-and-biases.md +0 -613
  438. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/mlops/mlops-huggingface-hub.md +0 -100
  439. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/mlops/mlops-inference-llama-cpp.md +0 -267
  440. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/mlops/mlops-inference-serving-llms-vllm.md +0 -387
  441. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/note-taking/note-taking-obsidian.md +0 -85
  442. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-airtable.md +0 -243
  443. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-box.md +0 -132
  444. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-document-to-action-items.md +0 -99
  445. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-docx.md +0 -213
  446. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-google-workspace.md +0 -348
  447. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-maps.md +0 -210
  448. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-meeting-action-items.md +0 -105
  449. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-nano-pdf.md +0 -70
  450. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-notion.md +0 -463
  451. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-ocr-and-documents.md +0 -193
  452. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-pdf.md +0 -142
  453. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-powerpoint.md +0 -237
  454. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-product-price-monitor.md +0 -97
  455. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-session-librarian.md +0 -122
  456. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-teams-meeting-pipeline.md +0 -129
  457. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-weekly-review-planning.md +0 -99
  458. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-xlsx.md +0 -213
  459. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/research/research-arxiv.md +0 -300
  460. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/research/research-blocked-page-recovery.md +0 -155
  461. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/research/research-blogwatcher.md +0 -152
  462. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/research/research-competitor-news-monitor.md +0 -106
  463. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/research/research-grounded-citations.md +0 -274
  464. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/research/research-llm-wiki.md +0 -526
  465. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/research/research-research-paper-writing.md +0 -1645
  466. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/smart-home/smart-home-openhue.md +0 -127
  467. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/social-media/social-media-xurl.md +0 -450
  468. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/software-development/software-development-codebase-inspection.md +0 -132
  469. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/software-development/software-development-dogfood.md +0 -183
  470. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/software-development/software-development-github.md +0 -73
  471. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/software-development/software-development-hermes-agent-skill-authoring.md +0 -230
  472. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/software-development/software-development-inspecting-hermes-desktop-dom.md +0 -177
  473. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/software-development/software-development-node-inspect-debugger.md +0 -337
  474. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/software-development/software-development-python-debugpy.md +0 -391
  475. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/software-development/software-development-requesting-code-review.md +0 -298
  476. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/software-development/software-development-simplify-code.md +0 -288
  477. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/software-development/software-development-spike.md +0 -217
  478. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/software-development/software-development-systematic-debugging.md +0 -429
  479. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/software-development/software-development-test-driven-development.md +0 -380
  480. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/web/web-blocked-page-recovery.md +0 -155
  481. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/google-workspace.md +0 -191
  482. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/autonomous-ai-agents/autonomous-ai-agents-antigravity-cli.md +0 -259
  483. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/autonomous-ai-agents/autonomous-ai-agents-blackbox.md +0 -161
  484. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/autonomous-ai-agents/autonomous-ai-agents-dynamic-workflow.md +0 -198
  485. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/autonomous-ai-agents/autonomous-ai-agents-grok.md +0 -326
  486. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/autonomous-ai-agents/autonomous-ai-agents-honcho.md +0 -446
  487. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/autonomous-ai-agents/autonomous-ai-agents-openhands.md +0 -167
  488. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/blockchain/blockchain-evm.md +0 -227
  489. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/blockchain/blockchain-hyperliquid.md +0 -228
  490. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/blockchain/blockchain-solana.md +0 -225
  491. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/communication/communication-one-three-one-rule.md +0 -114
  492. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-ai-presenter-video.md +0 -211
  493. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-archify.md +0 -66
  494. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-ascii-art.md +0 -338
  495. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-audiocraft-audio-generation.md +0 -588
  496. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-auteur.md +0 -195
  497. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-baoyu-article-illustrator.md +0 -225
  498. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-baoyu-comic.md +0 -264
  499. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-comfyui.md +0 -616
  500. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-concept-diagrams.md +0 -379
  501. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-creative-ideation.md +0 -192
  502. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-draw-your-font.md +0 -169
  503. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-dream-loop.md +0 -297
  504. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-excalidraw.md +0 -212
  505. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-heartmula.md +0 -191
  506. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-hyperframes.md +0 -222
  507. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-impeccable.md +0 -56
  508. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-ip-as-logo.md +0 -171
  509. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-kanban-video-orchestrator.md +0 -220
  510. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-meme-generation.md +0 -147
  511. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-mono-color.md +0 -158
  512. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-pixel-art.md +0 -234
  513. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-pretext.md +0 -238
  514. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-simple-english.md +0 -362
  515. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-sketch.md +0 -240
  516. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-social-media-content-calendar.md +0 -88
  517. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-system-atlas.md +0 -105
  518. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-tldraw-offline.md +0 -294
  519. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-unreal-mcp.md +0 -269
  520. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/data-science/data-science-jupyter-notebook.md +0 -195
  521. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/devops/devops-actual-setup.md +0 -164
  522. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/devops/devops-docker-management.md +0 -298
  523. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/devops/devops-hermes-s6-container-supervision.md +0 -198
  524. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/devops/devops-inference-sh-cli.md +0 -173
  525. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/devops/devops-pinggy-tunnel.md +0 -326
  526. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/devops/devops-setup-wizard-generator.md +0 -133
  527. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/devops/devops-watchers.md +0 -126
  528. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/dogfood/dogfood-adversarial-ux-test.md +0 -209
  529. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/email/email-agentmail.md +0 -104
  530. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-3-statement-model.md +0 -451
  531. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-comps-analysis.md +0 -682
  532. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-dcf-model.md +0 -1288
  533. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-excel-author.md +0 -262
  534. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-lbo-model.md +0 -309
  535. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-merger-model.md +0 -162
  536. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-polymarket.md +0 -97
  537. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-pptx-author.md +0 -191
  538. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-stocks.md +0 -112
  539. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/gaming/gaming-minecraft-modpack-server.md +0 -209
  540. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/gaming/gaming-pokemon-player.md +0 -240
  541. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/health/health-fitness-nutrition.md +0 -259
  542. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/health/health-neuroskill-bci.md +0 -470
  543. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mcp/mcp-fastmcp.md +0 -315
  544. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mcp/mcp-mcp-oauth-remote-gateway.md +0 -389
  545. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mcp/mcp-mcporter.md +0 -138
  546. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/migration/migration-openclaw-migration.md +0 -316
  547. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-accelerate.md +0 -366
  548. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-chroma.md +0 -425
  549. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-clip.md +0 -272
  550. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-evaluation-evaluating-llms-harness.md +0 -512
  551. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-evaluation-weights-and-biases.md +0 -613
  552. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-faiss.md +0 -240
  553. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-flash-attention.md +0 -388
  554. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-guidance.md +0 -595
  555. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-huggingface-tokenizers.md +0 -535
  556. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-inference-llama-cpp.md +0 -267
  557. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-inference-outlines.md +0 -679
  558. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-inference-serving-llms-vllm.md +0 -387
  559. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-instructor.md +0 -759
  560. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-lambda-labs.md +0 -568
  561. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-llava.md +0 -323
  562. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-modal.md +0 -368
  563. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-models-huggingface-hub.md +0 -100
  564. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-models-segment-anything-model.md +0 -525
  565. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-nemo-curator.md +0 -415
  566. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-obliteratus.md +0 -360
  567. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-peft.md +0 -452
  568. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-pinecone.md +0 -396
  569. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-pytorch-fsdp.md +0 -97
  570. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-pytorch-lightning.md +0 -365
  571. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-qdrant.md +0 -522
  572. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-research-dspy.md +0 -609
  573. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-saelens.md +0 -439
  574. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-simpo.md +0 -237
  575. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-slime.md +0 -486
  576. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-stable-diffusion.md +0 -542
  577. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-tensorrt-llm.md +0 -208
  578. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-torchtitan.md +0 -404
  579. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-training-axolotl.md +0 -181
  580. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-training-trl-fine-tuning.md +0 -512
  581. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-training-unsloth.md +0 -98
  582. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-whisper.md +0 -336
  583. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/payments/payments-mpp-agent.md +0 -142
  584. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/payments/payments-stripe-link-cli.md +0 -202
  585. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/payments/payments-stripe-projects.md +0 -138
  586. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-canvas.md +0 -114
  587. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-decision-questionnaire.md +0 -133
  588. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-here-now.md +0 -231
  589. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-live-dashboard.md +0 -126
  590. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-memento-flashcards.md +0 -336
  591. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-property-listings.md +0 -121
  592. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-shop.md +0 -238
  593. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-shopify.md +0 -377
  594. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-siyuan.md +0 -305
  595. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-telephony.md +0 -435
  596. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-bioinformatics.md +0 -254
  597. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-blogwatcher.md +0 -162
  598. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-darwinian-evolver.md +0 -217
  599. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-domain-intel.md +0 -121
  600. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-drug-discovery.md +0 -237
  601. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-duckduckgo-search.md +0 -255
  602. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-gitnexus-explorer.md +0 -232
  603. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-osint-investigation.md +0 -295
  604. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-parallel-cli.md +0 -411
  605. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-pinecone-research.md +0 -125
  606. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-qmd.md +0 -459
  607. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-research-paper-writing.md +0 -1645
  608. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-rss-feeds.md +0 -114
  609. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-scrapling.md +0 -351
  610. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-searxng-search.md +0 -212
  611. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/security/security-1password.md +0 -173
  612. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/security/security-godmode.md +0 -421
  613. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/security/security-oss-forensics.md +0 -426
  614. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/security/security-sherlock.md +0 -208
  615. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/security/security-unbroker.md +0 -331
  616. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/security/security-web-pentest.md +0 -337
  617. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/smart-home/smart-home-openhue.md +0 -127
  618. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/social-media/social-media-reddit-reading.md +0 -146
  619. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/software-development/software-development-ast-grep.md +0 -307
  620. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/software-development/software-development-code-wiki.md +0 -463
  621. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/software-development/software-development-grill-me.md +0 -135
  622. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/software-development/software-development-pr-lens.md +0 -160
  623. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/software-development/software-development-rest-graphql-debug.md +0 -532
  624. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/software-development/software-development-subagent-driven-development.md +0 -370
  625. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/web-development/web-development-cloudflare-temporary-deploy.md +0 -144
  626. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/web-development/web-development-har-derived-api-client.md +0 -180
  627. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/web-development/web-development-page-agent.md +0 -207
  628. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/web-development/web-development-publish-site.md +0 -174
  629. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/web-development/web-development-scrollcraft.md +0 -257
  630. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/yuanbao/yuanbao-yuanbao.md +0 -127
  631. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/tui.md +0 -313
  632. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/which-file-does-what.md +0 -57
  633. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/windows-native.md +0 -326
  634. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/windows-wsl-quickstart.md +0 -358
  635. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-stories.mdx +0 -10
  636. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docusaurus.config.ts +0 -210
  637. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/acp-internals.md +0 -181
  638. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/adding-platform-adapters.md +0 -686
  639. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/adding-providers.md +0 -459
  640. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/adding-tools.md +0 -209
  641. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/agent-loop.md +0 -239
  642. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/architecture.md +0 -277
  643. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/browser-supervisor.md +0 -160
  644. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/context-compression-and-caching.md +0 -328
  645. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/context-engine-plugin.md +0 -193
  646. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/contributing.md +0 -253
  647. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/creating-skills.md +0 -375
  648. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/cron-internals.md +0 -236
  649. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/extending-the-cli.md +0 -192
  650. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/gateway-internals.md +0 -267
  651. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/image-gen-provider-plugin.md +0 -288
  652. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/memory-provider-plugin.md +0 -258
  653. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/model-provider-plugin.md +0 -267
  654. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/plugin-llm-access.md +0 -401
  655. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/plugins/index.md +0 -1156
  656. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/programmatic-integration.md +0 -126
  657. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/prompt-assembly.md +0 -273
  658. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/provider-runtime.md +0 -208
  659. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/session-storage.md +0 -420
  660. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/tools-runtime.md +0 -236
  661. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/trajectory-format.md +0 -222
  662. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/video-gen-provider-plugin.md +0 -231
  663. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/web-search-provider-plugin.md +0 -260
  664. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/getting-started/installation.md +0 -204
  665. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/getting-started/learning-path.md +0 -154
  666. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/getting-started/nix-setup.md +0 -975
  667. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/getting-started/quickstart.md +0 -352
  668. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/getting-started/termux.md +0 -236
  669. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/getting-started/updating.md +0 -231
  670. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/automate-with-cron.md +0 -266
  671. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/automation-blueprints.md +0 -595
  672. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/aws-bedrock.md +0 -170
  673. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/azure-foundry.md +0 -334
  674. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/cron-script-only.md +0 -247
  675. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/cron-troubleshooting.md +0 -227
  676. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/daily-briefing-bot.md +0 -268
  677. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/delegation-patterns.md +0 -239
  678. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/github-pr-review-agent.md +0 -303
  679. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/google-gemini.md +0 -254
  680. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/local-llm-on-mac.md +0 -240
  681. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/local-ollama-setup.md +0 -317
  682. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/microsoft-graph-app-registration.md +0 -180
  683. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/migrate-from-openclaw.md +0 -244
  684. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/minimax-oauth.md +0 -228
  685. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/oauth-over-ssh.md +0 -96
  686. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/operate-teams-meeting-pipeline.md +0 -288
  687. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/pipe-script-output.md +0 -217
  688. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/python-library.md +0 -333
  689. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/run-hermes-with-nous-portal.md +0 -273
  690. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/team-telegram-assistant.md +0 -441
  691. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/tips.md +0 -234
  692. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/use-mcp-with-hermes.md +0 -490
  693. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/use-soul-with-hermes.md +0 -264
  694. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/use-voice-mode-with-hermes.md +0 -469
  695. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/webhook-github-pr-review.md +0 -329
  696. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/work-with-skills.md +0 -290
  697. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/xai-grok-oauth.md +0 -243
  698. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/index.mdx +0 -117
  699. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/integrations/buzz.md +0 -57
  700. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/integrations/index.md +0 -100
  701. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/integrations/nous-portal.md +0 -272
  702. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/integrations/providers.md +0 -1433
  703. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/cli-commands.md +0 -1259
  704. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/environment-variables.md +0 -678
  705. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/faq.md +0 -859
  706. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/mcp-config-reference.md +0 -250
  707. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/model-catalog.md +0 -103
  708. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/optional-skills-catalog.md +0 -220
  709. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/profile-commands.md +0 -467
  710. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/skills-catalog.md +0 -156
  711. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/slash-commands.md +0 -272
  712. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/tools-reference.md +0 -261
  713. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/toolsets-reference.md +0 -162
  714. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/checkpoints-and-rollback.md +0 -251
  715. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/cli.md +0 -445
  716. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/configuration.md +0 -1746
  717. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/configuring-models.md +0 -239
  718. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/docker.md +0 -595
  719. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/acp.md +0 -341
  720. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/api-server.md +0 -456
  721. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/batch-processing.md +0 -229
  722. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/browser.md +0 -629
  723. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/built-in-plugins.md +0 -269
  724. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/code-execution.md +0 -240
  725. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/codex-app-server-runtime.md +0 -441
  726. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/computer-use.md +0 -144
  727. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/context-files.md +0 -218
  728. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/context-references.md +0 -142
  729. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/credential-pools.md +0 -240
  730. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/cron.md +0 -761
  731. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/curator.md +0 -248
  732. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/delegation.md +0 -355
  733. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/deliverable-mode.md +0 -91
  734. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/extending-the-dashboard.md +0 -907
  735. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/fallback-providers.md +0 -408
  736. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/goals.md +0 -180
  737. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/honcho.md +0 -233
  738. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/hooks.md +0 -1388
  739. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/image-generation.md +0 -150
  740. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/kanban-tutorial.md +0 -308
  741. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/kanban-worker-lanes.md +0 -117
  742. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/kanban.md +0 -863
  743. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/lsp.md +0 -217
  744. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/mcp.md +0 -591
  745. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/memory-providers.md +0 -570
  746. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/memory.md +0 -233
  747. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/overview.md +0 -52
  748. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/personality.md +0 -271
  749. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/plugins.md +0 -346
  750. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/provider-routing.md +0 -200
  751. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/skills.md +0 -760
  752. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/skins.md +0 -271
  753. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/spotify.md +0 -279
  754. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/subscription-proxy.md +0 -163
  755. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/tool-gateway.md +0 -187
  756. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/tools.md +0 -223
  757. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/tts.md +0 -456
  758. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/vision.md +0 -210
  759. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/voice-mode.md +0 -521
  760. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/web-dashboard.md +0 -351
  761. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/web-search.md +0 -422
  762. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/x-search.md +0 -147
  763. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/git-worktrees.md +0 -173
  764. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/bluebubbles.md +0 -143
  765. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/dingtalk.md +0 -283
  766. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/discord.md +0 -843
  767. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/email.md +0 -190
  768. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/feishu.md +0 -538
  769. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/google_chat.md +0 -283
  770. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/homeassistant.md +0 -252
  771. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/index.md +0 -569
  772. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/line.md +0 -199
  773. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/matrix.md +0 -677
  774. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/mattermost.md +0 -340
  775. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/msgraph-webhook.md +0 -137
  776. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/ntfy.md +0 -155
  777. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/open-webui.md +0 -296
  778. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/qqbot.md +0 -123
  779. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/signal.md +0 -257
  780. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/simplex.md +0 -98
  781. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/slack.md +0 -614
  782. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/sms.md +0 -203
  783. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/teams-meetings.md +0 -233
  784. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/teams.md +0 -255
  785. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/telegram.md +0 -1241
  786. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/webhooks.md +0 -601
  787. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/wecom-callback.md +0 -149
  788. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/wecom.md +0 -292
  789. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/weixin.md +0 -312
  790. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/whatsapp.md +0 -236
  791. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/yuanbao.md +0 -341
  792. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/profile-distributions.md +0 -573
  793. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/profiles.md +0 -272
  794. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/secrets/bitwarden.md +0 -143
  795. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/secrets/index.md +0 -9
  796. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/security.md +0 -664
  797. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/sessions.md +0 -609
  798. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/apple/apple-apple-notes.md +0 -106
  799. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/apple/apple-apple-reminders.md +0 -114
  800. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/apple/apple-findmy.md +0 -147
  801. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/apple/apple-imessage.md +0 -118
  802. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/apple/apple-macos-computer-use.md +0 -175
  803. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/autonomous-ai-agents/autonomous-ai-agents-claude-code.md +0 -763
  804. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/autonomous-ai-agents/autonomous-ai-agents-codex.md +0 -143
  805. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/autonomous-ai-agents/autonomous-ai-agents-hermes-agent.md +0 -947
  806. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/autonomous-ai-agents/autonomous-ai-agents-opencode.md +0 -237
  807. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-architecture-diagram.md +0 -165
  808. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-ascii-art.md +0 -338
  809. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-ascii-video.md +0 -261
  810. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-baoyu-infographic.md +0 -256
  811. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-claude-design.md +0 -609
  812. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-comfyui.md +0 -547
  813. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-design-md.md +0 -189
  814. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-excalidraw.md +0 -210
  815. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-humanizer.md +0 -594
  816. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-manim-video.md +0 -289
  817. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-p5js.md +0 -574
  818. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-popular-web-designs.md +0 -211
  819. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-pretext.md +0 -238
  820. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-sketch.md +0 -238
  821. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-songwriting-and-ai-music.md +0 -305
  822. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/email/email-himalaya.md +0 -305
  823. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/github/github-codebase-inspection.md +0 -132
  824. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/github/github-github-auth.md +0 -265
  825. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/github/github-github-code-review.md +0 -499
  826. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/github/github-github-issues.md +0 -388
  827. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/github/github-github-pr-workflow.md +0 -385
  828. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/github/github-github-repo-management.md +0 -534
  829. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/media/media-gif-search.md +0 -106
  830. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/media/media-songsee.md +0 -98
  831. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/media/media-youtube-content.md +0 -93
  832. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/mlops/mlops-evaluation-evaluating-llms-harness.md +0 -512
  833. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/mlops/mlops-evaluation-weights-and-biases.md +0 -609
  834. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/mlops/mlops-huggingface-hub.md +0 -100
  835. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/mlops/mlops-inference-llama-cpp.md +0 -267
  836. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/mlops/mlops-inference-serving-llms-vllm.md +0 -386
  837. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/note-taking/note-taking-obsidian.md +0 -81
  838. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/productivity/productivity-airtable.md +0 -243
  839. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/productivity/productivity-google-workspace.md +0 -325
  840. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/productivity/productivity-maps.md +0 -196
  841. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/productivity/productivity-nano-pdf.md +0 -69
  842. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/productivity/productivity-notion.md +0 -463
  843. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/productivity/productivity-ocr-and-documents.md +0 -190
  844. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/productivity/productivity-powerpoint.md +0 -257
  845. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/productivity/productivity-teams-meeting-pipeline.md +0 -127
  846. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/research/research-arxiv.md +0 -300
  847. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/research/research-blogwatcher.md +0 -152
  848. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/research/research-llm-wiki.md +0 -469
  849. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/research/research-research-paper-writing.md +0 -2395
  850. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/smart-home/smart-home-openhue.md +0 -124
  851. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/social-media/social-media-xurl.md +0 -428
  852. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/software-development/software-development-dogfood.md +0 -181
  853. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/software-development/software-development-hermes-agent-skill-authoring.md +0 -183
  854. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/software-development/software-development-node-inspect-debugger.md +0 -337
  855. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/software-development/software-development-python-debugpy.md +0 -391
  856. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/software-development/software-development-requesting-code-review.md +0 -287
  857. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/software-development/software-development-spike.md +0 -217
  858. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/software-development/software-development-systematic-debugging.md +0 -385
  859. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/software-development/software-development-test-driven-development.md +0 -361
  860. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/google-workspace.md +0 -191
  861. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/autonomous-ai-agents/autonomous-ai-agents-blackbox.md +0 -162
  862. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/autonomous-ai-agents/autonomous-ai-agents-honcho.md +0 -446
  863. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/blockchain/blockchain-evm.md +0 -227
  864. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/blockchain/blockchain-hyperliquid.md +0 -210
  865. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/blockchain/blockchain-solana.md +0 -206
  866. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/communication/communication-one-three-one-rule.md +0 -114
  867. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/creative/creative-audiocraft-audio-generation.md +0 -588
  868. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/creative/creative-concept-diagrams.md +0 -379
  869. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/creative/creative-heartmula.md +0 -189
  870. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/creative/creative-hyperframes.md +0 -205
  871. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/creative/creative-kanban-video-orchestrator.md +0 -173
  872. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/creative/creative-meme-generation.md +0 -147
  873. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/data-science/data-science-jupyter-notebook.md +0 -180
  874. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/devops/devops-docker-management.md +0 -297
  875. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/devops/devops-inference-sh-cli.md +0 -173
  876. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/devops/devops-pinggy-tunnel.md +0 -327
  877. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/devops/devops-watchers.md +0 -126
  878. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/dogfood/dogfood-adversarial-ux-test.md +0 -209
  879. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/email/email-agentmail.md +0 -143
  880. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/finance/finance-3-statement-model.md +0 -451
  881. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/finance/finance-comps-analysis.md +0 -682
  882. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/finance/finance-dcf-model.md +0 -1288
  883. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/finance/finance-excel-author.md +0 -262
  884. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/finance/finance-lbo-model.md +0 -309
  885. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/finance/finance-merger-model.md +0 -162
  886. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/finance/finance-polymarket.md +0 -94
  887. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/finance/finance-pptx-author.md +0 -191
  888. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/finance/finance-stocks.md +0 -108
  889. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/health/health-fitness-nutrition.md +0 -255
  890. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/health/health-neuroskill-bci.md +0 -431
  891. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mcp/mcp-fastmcp.md +0 -315
  892. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mcp/mcp-mcporter.md +0 -138
  893. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/migration/migration-openclaw-migration.md +0 -316
  894. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-accelerate.md +0 -350
  895. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-chroma.md +0 -425
  896. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-clip.md +0 -272
  897. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-faiss.md +0 -240
  898. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-flash-attention.md +0 -381
  899. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-guidance.md +0 -591
  900. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-huggingface-tokenizers.md +0 -535
  901. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-inference-outlines.md +0 -671
  902. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-instructor.md +0 -759
  903. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-lambda-labs.md +0 -568
  904. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-llava.md +0 -323
  905. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-modal.md +0 -362
  906. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-models-segment-anything-model.md +0 -525
  907. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-nemo-curator.md +0 -401
  908. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-peft.md +0 -452
  909. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-pinecone.md +0 -377
  910. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-pytorch-fsdp.md +0 -145
  911. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-pytorch-lightning.md +0 -365
  912. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-qdrant.md +0 -514
  913. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-saelens.md +0 -407
  914. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-simpo.md +0 -237
  915. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-slime.md +0 -486
  916. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-stable-diffusion.md +0 -542
  917. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-tensorrt-llm.md +0 -206
  918. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-torchtitan.md +0 -378
  919. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-training-axolotl.md +0 -181
  920. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-training-trl-fine-tuning.md +0 -477
  921. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-training-unsloth.md +0 -98
  922. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-whisper.md +0 -336
  923. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/productivity/productivity-canvas.md +0 -114
  924. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/productivity/productivity-here-now.md +0 -231
  925. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/productivity/productivity-memento-flashcards.md +0 -336
  926. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/productivity/productivity-shop.md +0 -354
  927. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/productivity/productivity-shopify.md +0 -377
  928. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/productivity/productivity-siyuan.md +0 -305
  929. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/productivity/productivity-telephony.md +0 -435
  930. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/research/research-bioinformatics.md +0 -252
  931. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/research/research-darwinian-evolver.md +0 -188
  932. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/research/research-domain-intel.md +0 -117
  933. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/research/research-drug-discovery.md +0 -237
  934. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/research/research-duckduckgo-search.md +0 -255
  935. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/research/research-gitnexus-explorer.md +0 -213
  936. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/research/research-osint-investigation.md +0 -243
  937. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/research/research-parallel-cli.md +0 -411
  938. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/research/research-qmd.md +0 -435
  939. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/research/research-scrapling.md +0 -351
  940. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/research/research-searxng-search.md +0 -229
  941. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/security/security-1password.md +0 -173
  942. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/security/security-oss-forensics.md +0 -421
  943. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/security/security-sherlock.md +0 -208
  944. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/software-development/software-development-rest-graphql-debug.md +0 -531
  945. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/web-development/web-development-page-agent.md +0 -207
  946. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/yuanbao/yuanbao-yuanbao.md +0 -125
  947. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/tui.md +0 -256
  948. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/windows-native.md +0 -325
  949. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/windows-wsl-quickstart.md +0 -332
  950. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-stories.mdx +0 -10
  951. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/llms-full.txt +0 -88833
  952. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/llms.txt +0 -267
  953. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/site-pages-map.txt +0 -928
  954. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/site-pages.json +0 -4218
  955. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src-README.md +0 -101
  956. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src-scripts/clone_repo.sh +0 -17
  957. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src-scripts/crawl.py +0 -82
  958. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src-scripts/gen_mapping.py +0 -112
  959. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src-scripts/retry-none.json +0 -305
  960. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src-scripts/verify_orphans.py +0 -53
  961. package/lib/BrowserWebSocketTransport-Q5SUMk7_.js +0 -4
  962. package/lib/LaunchOptions-DlBKKKLC.js +0 -4
  963. package/lib/NodeWebSocketTransport-DyU2tm5L.js +0 -4
  964. /package/lib/{index-DZQNwO7f.d.ts → index-DTDXUe6m.d.ts} +0 -0
  965. /package/lib/{lsp-server-registry-C05QLdw0.js → lsp-server-registry-D4VLs1Sm.js} +0 -0
  966. /package/lib/{main-7c69ae95.js → main-CKFNYpqT.js} +0 -0
  967. /package/lib/{util-DgR7HQUl.js → util-BHL_dfV_.js} +0 -0
@@ -1,11 +1,13 @@
1
+ import { r as __toESM, t as __commonJS } from "../chunk-DQxbwPpZ.js";
1
2
  import { t as Schema } from "../lib-C8_jXvwA.js";
2
3
  import { a as PACKAGE_ROOT } from "../kernel-env-BLPZE-I3.js";
3
4
  import { n as captureNativeTools } from "../native-capture-BEByDXYM.js";
4
- import { a as createHttpHandler, c as listDvcDevices, d as UrlResolver, f as UrlSchemesError, h as SCHEME_NAMES, i as HTTP_SCHEMES, l as registerDvcDevice, m as parseUrl, n as wrapFsWithSchemes, o as createDvcHandler, p as applySelector, r as resolveDocsDir, s as dispatchDvcWrite, u as createDshHandler } from "../wrap-0VA0uFx8.js";
5
- import { a as primaryServerForFile, c as serversForFile, n as findWorkspaceRoot, o as resolveCommandPath, r as installHintFor, s as serverByName } from "../lsp-server-registry-C05QLdw0.js";
5
+ import { a as createDshHandler, c as createDvcHandler, d as registerDvcDevice, f as UrlSchemesError, h as SCHEME_NAMES, i as createHttpHandler, l as dispatchDvcWrite, m as parseUrl, n as wrapFsWithSchemes, o as UrlResolver, p as applySelector, r as HTTP_SCHEMES, s as resolveDocsDir, u as listDvcDevices } from "../wrap-kTohEeis.js";
6
+ import { n as Parser } from "../web-tree-sitter-CPrPD4J2.js";
7
+ import { a as primaryServerForFile, c as serversForFile, n as findWorkspaceRoot, o as resolveCommandPath, r as installHintFor, s as serverByName } from "../lsp-server-registry-D4VLs1Sm.js";
6
8
  import { createRequire } from "node:module";
7
9
  import { createHash, randomUUID } from "node:crypto";
8
- import { accessSync, constants, existsSync, readFileSync, statSync } from "node:fs";
10
+ import { accessSync, constants, existsSync, readFileSync, readdirSync, statSync, writeFileSync } from "node:fs";
9
11
  import * as path$1 from "node:path";
10
12
  import { dirname, isAbsolute, join, posix, relative, resolve, sep } from "node:path";
11
13
  import { spawn } from "node:child_process";
@@ -14,14 +16,1183 @@ import { fileURLToPath, pathToFileURL } from "node:url";
14
16
  import { defineTool } from "@deepseek-ai/dsh-tools";
15
17
  import * as fsPromises from "node:fs/promises";
16
18
  import { mkdir, mkdtemp, readFile, readdir, rename, rm, stat, unlink, writeFile } from "node:fs/promises";
17
- import { FsError } from "@deepseek-ai/dsh-fs";
18
- import { ESCALATION_TARGETS, approveEscalation, escalationHintMarker, sandboxDenialMarker, validateEscalationArgs } from "@deepseek-ai/dsh-sandbox";
19
19
  import { gunzipSync } from "node:zlib";
20
20
  import { SessionId } from "@deepseek-ai/dsh-session";
21
21
  import { resolveDshHome } from "@deepseek-ai/dsh-home-paths";
22
22
  import { DatabaseSync } from "node:sqlite";
23
23
  import { AsyncLocalStorage } from "node:async_hooks";
24
+ import { FsError } from "@deepseek-ai/dsh-fs";
25
+ import { ESCALATION_TARGETS, approveEscalation, escalationHintMarker, sandboxDenialMarker, validateEscalationArgs } from "@deepseek-ai/dsh-sandbox";
26
+
27
+ //#region src/devices/ast/engine/grammar-manifest.mjs
28
+ /**
29
+ * AST 引擎的资产清单 —— 拷贝脚本(scripts/copy-ast-assets.mjs)与运行时注册表
30
+ * (engine/grammars.ts)的单一真相源。三个包都无 install script、无传递依赖。
31
+ * ABI 锁步:@lumis-sh/wasm-* 与 web-tree-sitter 必须同为主版本 0.26(dylink.0)。
32
+ */
33
+ const ENGINE_ASSETS = [{
34
+ file: "ast-grep.wasm",
35
+ subpath: "@ast-grep/wasm/wasm_bg.wasm"
36
+ }, {
37
+ file: "tree-sitter.wasm",
38
+ subpath: "web-tree-sitter/web-tree-sitter.wasm"
39
+ }];
40
+ const GRAMMAR_PACKAGES = {
41
+ python: "@lumis-sh/wasm-python",
42
+ javascript: "@lumis-sh/wasm-javascript",
43
+ typescript: "@lumis-sh/wasm-typescript",
44
+ tsx: "@lumis-sh/wasm-tsx",
45
+ rust: "@lumis-sh/wasm-rust",
46
+ go: "@lumis-sh/wasm-go",
47
+ c: "@lumis-sh/wasm-c",
48
+ cpp: "@lumis-sh/wasm-cpp",
49
+ html: "@lumis-sh/wasm-html",
50
+ css: "@lumis-sh/wasm-css",
51
+ json: "@lumis-sh/wasm-json",
52
+ yaml: "@lumis-sh/wasm-yaml",
53
+ bash: "@lumis-sh/wasm-bash",
54
+ ruby: "@lumis-sh/wasm-ruby"
55
+ };
56
+ /** lang → { file: 包内资产名, subpath: 可 require.resolve 的完整子路径 } */
57
+ const GRAMMAR_ASSETS = Object.fromEntries(Object.entries(GRAMMAR_PACKAGES).map(([lang, pkg]) => [lang, {
58
+ file: `tree-sitter-${lang}.wasm`,
59
+ subpath: `${pkg}/tree-sitter-${lang}.wasm`
60
+ }]));
61
+
62
+ //#endregion
63
+ //#region src/devices/ast/engine/language-map.ts
64
+ /**
65
+ * 扩展名 → 内置 tree-sitter 语法。AST 语言面的单一真相源:
66
+ * walker 的语言推断与 ast-reminder 的提醒集合都从这里派生,
67
+ * 不再各自维护(也不再"对 shipped 二进制实测")。
68
+ */
69
+ const EXTENSION_TO_LANGUAGE = {
70
+ ".py": "python",
71
+ ".pyi": "python",
72
+ ".js": "javascript",
73
+ ".jsx": "javascript",
74
+ ".mjs": "javascript",
75
+ ".cjs": "javascript",
76
+ ".ts": "typescript",
77
+ ".mts": "typescript",
78
+ ".cts": "typescript",
79
+ ".tsx": "tsx",
80
+ ".rs": "rust",
81
+ ".go": "go",
82
+ ".c": "c",
83
+ ".h": "c",
84
+ ".cpp": "cpp",
85
+ ".hpp": "cpp",
86
+ ".html": "html",
87
+ ".css": "css",
88
+ ".json": "json",
89
+ ".yaml": "yaml",
90
+ ".yml": "yaml",
91
+ ".sh": "bash",
92
+ ".rb": "ruby"
93
+ };
94
+ /** 该设备支持的全部语法(去重、稳定序)。 */
95
+ const AST_LANGUAGES = [...new Set(Object.values(EXTENSION_TO_LANGUAGE))];
96
+ /** 小写扩展名 → 语法;未知扩展名返回 undefined。 */
97
+ function languageForPath(filePath) {
98
+ const dot = filePath.lastIndexOf(".");
99
+ if (dot <= filePath.lastIndexOf("/")) return void 0;
100
+ return EXTENSION_TO_LANGUAGE[filePath.slice(dot).toLowerCase()];
101
+ }
102
+
103
+ //#endregion
104
+ //#region src/devices/ast/engine/wasm.ts
105
+ const ASTGREP_WASM = ENGINE_ASSETS[0];
106
+ const TREE_SITTER_WASM = ENGINE_ASSETS[1];
107
+ /**
108
+ * WebAssembly 运行时全局。本仓 tsconfig 无 DOM lib,@types/node 也未声明该全局值
109
+ * (TS2708:仅存类型命名空间),故经 globalThis 取类型化句柄 —— 运行时是同一全局对象。
110
+ */
111
+ const WebAssemblyGlobal = globalThis.WebAssembly;
112
+ /**
113
+ * 资产解析的唯一机制,逐文件生效:构建产物 `lib/ast-assets/` 在场 → 用它(发布面);
114
+ * 否则 dev 下按 manifest subpath 在 node_modules 直解析(不要求先跑过 build)。
115
+ * 14 个语法分属 14 个 `@lumis-sh/wasm-*` 包、tree-sitter.wasm 在 web-tree-sitter ——
116
+ * 不存在装下全部资产的单一 dev 目录,故不做目录级回落。
117
+ */
118
+ function assetPath(file) {
119
+ const bundled = join(PACKAGE_ROOT, "lib", "ast-assets");
120
+ if (existsSync(bundled)) return join(bundled, file);
121
+ return createRequire(import.meta.url).resolve(subpathOf(file));
122
+ }
123
+ async function readAsset(file) {
124
+ return readFile(assetPath(file));
125
+ }
126
+ function subpathOf(file) {
127
+ return ENGINE_ASSETS.find((a) => a.file === file)?.subpath ?? Object.values(GRAMMAR_ASSETS).find((a) => a.file === file).subpath;
128
+ }
129
+ let enginePromise;
130
+ /** Boot the engine once per process; every later call returns the same instance. */
131
+ function astEngine() {
132
+ enginePromise ??= boot();
133
+ return enginePromise;
134
+ }
135
+ async function boot() {
136
+ const bg = await import("../wasm_bg-CNXhHjVg.js");
137
+ const bytes = await readAsset(ASTGREP_WASM.file);
138
+ const { instance } = await WebAssemblyGlobal.instantiate(bytes, { "./wasm_bg.js": bg });
139
+ bg.__wbg_set_wasm(instance.exports);
140
+ instance.exports.__wbindgen_start();
141
+ await Parser.init({ locateFile: () => assetPath(TREE_SITTER_WASM.file) });
142
+ await bg.initializeTreeSitter();
143
+ return {
144
+ parse: (lang, source) => bg.parse(lang, source),
145
+ registerLanguages: (entries) => bg.registerDynamicLanguage(entries)
146
+ };
147
+ }
148
+
149
+ //#endregion
150
+ //#region src/devices/ast/engine/grammars.ts
151
+ /** ast-grep 的元变量引导字符;所有语言统一用 µ(实测全语言可用)。 */
152
+ const EXPANDO_CHAR = "µ";
153
+ const broken = /* @__PURE__ */ new Set();
154
+ let registered;
155
+ function ensureLanguages() {
156
+ registered ??= (async () => {
157
+ const engine = await astEngine();
158
+ const entries = {};
159
+ for (const lang of AST_LANGUAGES) entries[lang] = {
160
+ libraryPath: assetPath(GRAMMAR_ASSETS[lang].file),
161
+ expandoChar: EXPANDO_CHAR
162
+ };
163
+ await engine.registerLanguages(entries);
164
+ for (const lang of AST_LANGUAGES) try {
165
+ engine.parse(lang, "");
166
+ } catch {
167
+ broken.add(lang);
168
+ }
169
+ })();
170
+ return registered;
171
+ }
172
+ /** 该语法是否注册成功(失败的语言由 walker 跳过并计入 parseErrors)。 */
173
+ function isLanguageAvailable(lang) {
174
+ return !broken.has(lang);
175
+ }
176
+
177
+ //#endregion
178
+ //#region src/devices/ast/engine/edit.ts
179
+ const META_TOKEN = /\$\$\$([A-Z_][A-Z0-9_]*)|\$([A-Z_][A-Z0-9_]*)/g;
180
+ const MULTI_NODE$1 = "Multiple AST nodes are detected";
181
+ /**
182
+ * 把模板里的元变量替换成该次命中的捕获文本(`$_`-匿名 → 空串)。
183
+ * `$$$A` 取整个多捕获区间的**源文本**(首捕获节点起点 → 末捕获节点终点,
184
+ * 空捕获 → 空串)——这才是 native 的实测行为(`greet( 1,2 , 3 )` → `log(1,2 , 3)`、
185
+ * `greet()` → `log()`,A/B 复核 2026-10-03);对逐节点文本做 naive join 会得到
186
+ * `1, ,, 2, ,, 3`,与 native 的 `1, 2, 3` 不符。
187
+ */
188
+ function expand(template, source, node) {
189
+ return template.replace(META_TOKEN, (whole, multi, single) => {
190
+ if (multi !== void 0) {
191
+ const parts = node.getMultipleMatches(multi);
192
+ if (parts.length === 0) return "";
193
+ const start = parts[0].range().start.index;
194
+ const end = parts[parts.length - 1].range().end.index;
195
+ return source.slice(start, end);
196
+ }
197
+ if (single === void 0) return whole;
198
+ if (single.startsWith("_")) return "";
199
+ return node.getMatch(single)?.text() ?? "";
200
+ });
201
+ }
202
+ async function editSource(source, lang, rewrites) {
203
+ await ensureLanguages();
204
+ if (!isLanguageAvailable(lang) || Object.keys(rewrites).length === 0) return {
205
+ changes: [],
206
+ rewritten: source,
207
+ totalReplacements: 0,
208
+ parseErrorCount: 0,
209
+ overlapping: 0
210
+ };
211
+ const root = (await astEngine()).parse(lang, source).root();
212
+ const edits = [];
213
+ const patternErrors = {};
214
+ for (const [pattern, template] of Object.entries(rewrites)) {
215
+ let hits;
216
+ try {
217
+ hits = root.findAll(pattern);
218
+ } catch (error) {
219
+ if (error instanceof Error && error.message.includes(MULTI_NODE$1)) {
220
+ patternErrors[pattern] = error.message;
221
+ continue;
222
+ }
223
+ throw error;
224
+ }
225
+ for (const node of hits) {
226
+ const range = node.range();
227
+ const replacement = expand(template, source, node);
228
+ const byteStart = Buffer.byteLength(source.slice(0, range.start.index), "utf8");
229
+ edits.push({
230
+ edit: {
231
+ start_pos: range.start.index,
232
+ end_pos: range.end.index,
233
+ inserted_text: replacement
234
+ },
235
+ change: {
236
+ path: "",
237
+ before: node.text(),
238
+ after: replacement,
239
+ byteStart,
240
+ byteEnd: byteStart + Buffer.byteLength(node.text(), "utf8"),
241
+ deletedLength: Buffer.byteLength(node.text(), "utf8"),
242
+ startLine: range.start.line + 1,
243
+ startColumn: range.start.column + 1,
244
+ endLine: range.end.line + 1,
245
+ endColumn: range.end.column + 1
246
+ }
247
+ });
248
+ }
249
+ }
250
+ edits.sort((a, b) => a.edit.start_pos - b.edit.start_pos);
251
+ const accepted = [];
252
+ let overlapping = 0;
253
+ let lastEnd = -1;
254
+ for (const candidate of edits) {
255
+ if (candidate.edit.start_pos < lastEnd) {
256
+ overlapping += 1;
257
+ continue;
258
+ }
259
+ accepted.push(candidate);
260
+ lastEnd = Math.max(lastEnd, candidate.edit.end_pos);
261
+ }
262
+ accepted.sort((a, b) => b.edit.start_pos - a.edit.start_pos);
263
+ const rewritten = root.commitEdits(accepted.map((e$1) => e$1.edit));
264
+ return {
265
+ changes: accepted.map((e$1) => e$1.change),
266
+ rewritten,
267
+ totalReplacements: accepted.length,
268
+ parseErrorCount: 0,
269
+ overlapping,
270
+ ...Object.keys(patternErrors).length > 0 ? { patternErrors } : {}
271
+ };
272
+ }
273
+
274
+ //#endregion
275
+ //#region src/devices/ast/engine/match.ts
276
+ const MULTI_NODE = "Multiple AST nodes are detected";
277
+ /** 字符偏移 → UTF-8 字节偏移。 */
278
+ function byteOffsetOf(source, charIndex) {
279
+ return Buffer.byteLength(source.slice(0, charIndex), "utf8");
280
+ }
281
+ function toMatch(source, node, meta) {
282
+ const range = node.range();
283
+ const byteStart = byteOffsetOf(source, range.start.index);
284
+ return {
285
+ path: "",
286
+ text: node.text(),
287
+ byteStart,
288
+ byteEnd: byteStart + Buffer.byteLength(node.text(), "utf8"),
289
+ startLine: range.start.line + 1,
290
+ startColumn: range.start.column + 1,
291
+ endLine: range.end.line + 1,
292
+ endColumn: range.end.column + 1,
293
+ ...meta !== void 0 && Object.keys(meta).length > 0 ? { metaVariables: meta } : {}
294
+ };
295
+ }
296
+ /** 单 metavar → 捕获文本;多 metavar → 复刻 native 的 Rust Debug 数组串。 */
297
+ function collectMeta(node, pattern, includeMeta) {
298
+ if (!includeMeta) return void 0;
299
+ const meta = {};
300
+ for (const raw of pattern.matchAll(/\$+\$?([A-Z_][A-Z0-9_]*)/g)) {
301
+ const token = raw[0];
302
+ const name$1 = raw[1];
303
+ if (token === `$$$${name$1}`) {
304
+ const parts = node.getMultipleMatches(name$1).map((n) => n.text());
305
+ if (parts.length > 0) meta[name$1] = `[${parts.join(", ")}]`;
306
+ } else if (!token.startsWith("$$")) {
307
+ const bound = node.getMatch(name$1);
308
+ if (bound !== void 0) meta[name$1] = bound.text();
309
+ }
310
+ }
311
+ return meta;
312
+ }
313
+ async function findInSource(source, lang, pattern, options) {
314
+ await ensureLanguages();
315
+ if (!isLanguageAvailable(lang)) return {
316
+ matches: [],
317
+ unavailable: true
318
+ };
319
+ const root = (await astEngine()).parse(lang, source).root();
320
+ let hits;
321
+ try {
322
+ hits = root.findAll(pattern);
323
+ } catch (error) {
324
+ if (error instanceof Error && error.message.includes(MULTI_NODE)) return {
325
+ matches: [],
326
+ unavailable: false,
327
+ patternError: error.message
328
+ };
329
+ throw error;
330
+ }
331
+ return {
332
+ matches: hits.map((node) => toMatch(source, node, collectMeta(node, pattern, options.includeMeta === true))),
333
+ unavailable: false
334
+ };
335
+ }
336
+
337
+ //#endregion
338
+ //#region node_modules/ignore/index.js
339
+ var require_ignore = /* @__PURE__ */ __commonJS({ "node_modules/ignore/index.js": ((exports, module) => {
340
+ function makeArray(subject) {
341
+ return Array.isArray(subject) ? subject : [subject];
342
+ }
343
+ const UNDEFINED = void 0;
344
+ const EMPTY = "";
345
+ const SPACE = " ";
346
+ const ESCAPE = "\\";
347
+ const REGEX_LITERAL_SPECIAL = /[.*+?()[\]{}^$|\\/]/;
348
+ const BOM = "";
349
+ const REGEX_INVALID_TRAILING_BACKSLASH = /(?:[^\\]|^)\\$/;
350
+ const REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION = /^\\!/;
351
+ const REGEX_REPLACE_LEADING_EXCAPED_HASH = /^\\#/;
352
+ const REGEX_SPLITALL_CRLF = /\r?\n/g;
353
+ const DOUBLE_SLASH = "//";
354
+ const SLASH_CODE = 47;
355
+ const DOT_CODE = 46;
356
+ const SLASH = "/";
357
+ let TMP_KEY_IGNORE = "node-ignore";
358
+ /* istanbul ignore else */
359
+ if (typeof Symbol !== "undefined") TMP_KEY_IGNORE = Symbol.for("node-ignore");
360
+ const KEY_IGNORE = TMP_KEY_IGNORE;
361
+ const define = (object, key, value) => {
362
+ Object.defineProperty(object, key, { value });
363
+ return value;
364
+ };
365
+ const RETURN_FALSE = () => false;
366
+ const cleanRangeBackSlash = (slashes) => {
367
+ const { length } = slashes;
368
+ return slashes.slice(0, length - length % 2);
369
+ };
370
+ const POSIX_CLASSES = {
371
+ alnum: "0-9A-Za-z",
372
+ alpha: "A-Za-z",
373
+ blank: " \\t",
374
+ cntrl: "\\x00-\\x1f\\x7f",
375
+ digit: "0-9",
376
+ graph: "!-.0-~",
377
+ lower: "a-z",
378
+ print: " -.0-~",
379
+ punct: "!-.:-@\\[-`{-~",
380
+ space: " \\t\\n\\r",
381
+ upper: "A-Z",
382
+ xdigit: "0-9A-Fa-f"
383
+ };
384
+ const CLASS_MEMBERS_TO_ESCAPE = "\\]^-[";
385
+ const escapeMember = (char) => CLASS_MEMBERS_TO_ESCAPE.indexOf(char) < 0 ? char : ESCAPE + char;
386
+ const NON_SLASH = "(?!\\/)";
387
+ const classSource = (negated, body) => {
388
+ if (negated) return `[^\\/${body}]`;
389
+ const source = `[${body}]`;
390
+ return new RegExp(source).test("/") ? NON_SLASH + source : source;
391
+ };
392
+ const scanBracket = (pattern, start) => {
393
+ const { length } = pattern;
394
+ let index = start + 1;
395
+ let negated = EMPTY;
396
+ const lead = pattern[index];
397
+ if (lead === "!" || lead === "^") {
398
+ negated = "^";
399
+ index++;
400
+ }
401
+ let body = EMPTY;
402
+ let prev = EMPTY;
403
+ for (;;) {
404
+ const char = pattern[index];
405
+ if (char === UNDEFINED) return null;
406
+ if (char === ESCAPE) {
407
+ const escaped = pattern[index + 1];
408
+ if (escaped === UNDEFINED) return null;
409
+ body += escapeMember(escaped);
410
+ prev = escaped;
411
+ index++;
412
+ } else if (char === "-" && prev && index + 1 < length && pattern[index + 1] !== "]") {
413
+ index++;
414
+ let to = pattern[index];
415
+ if (to === ESCAPE) to = pattern[index += 1];
416
+ if (prev <= to) body += `-${escapeMember(to)}`;
417
+ prev = EMPTY;
418
+ } else if (char === "[" && pattern[index + 1] === ":") {
419
+ const nameStart = index + 2;
420
+ let end = nameStart;
421
+ while (end < length && pattern[end] !== "]") end++;
422
+ if (end === length) return null;
423
+ if (end > nameStart && pattern[end - 1] === ":") {
424
+ const expanded = POSIX_CLASSES[pattern.slice(nameStart, end - 1)];
425
+ if (expanded === UNDEFINED) return null;
426
+ body += expanded;
427
+ prev = EMPTY;
428
+ index = end;
429
+ } else {
430
+ body += escapeMember("[");
431
+ prev = "[";
432
+ index = nameStart - 2;
433
+ }
434
+ } else {
435
+ body += escapeMember(char);
436
+ prev = char;
437
+ }
438
+ index++;
439
+ if (pattern[index] === "]") return {
440
+ end: index,
441
+ source: classSource(negated, body)
442
+ };
443
+ }
444
+ };
445
+ const NEVER_MATCH = "[]";
446
+ const PLACEHOLDER = "\0";
447
+ const REGEX_RESTORE_PLACEHOLDER = new RegExp(`${PLACEHOLDER}(\\d+)${PLACEHOLDER}`, "g");
448
+ const TRAILING_WILDCARD = "";
449
+ const TRAILING_DOUBLESTAR = "";
450
+ const extractBrackets = (pattern) => {
451
+ const sources = [];
452
+ const hold = (source) => `${PLACEHOLDER}${sources.push(source) - 1}${PLACEHOLDER}`;
453
+ const { length } = pattern;
454
+ let out = EMPTY;
455
+ let index = 0;
456
+ while (index < length) {
457
+ const char = pattern[index];
458
+ if (char === ESCAPE) {
459
+ const escaped = pattern[index + 1];
460
+ if (escaped === UNDEFINED || escaped === SLASH && index + 2 === length) out += hold(NEVER_MATCH);
461
+ else if (escaped === "*" || escaped === "[" || escaped === SPACE || escaped === ESCAPE) out += pattern.slice(index, index + 2);
462
+ else out += hold(REGEX_LITERAL_SPECIAL.test(escaped) ? ESCAPE + escaped : escaped);
463
+ index += 2;
464
+ } else if (char === PLACEHOLDER) {
465
+ out += hold(`[${PLACEHOLDER}]`);
466
+ index++;
467
+ } else if (char === "[") {
468
+ const scanned = scanBracket(pattern, index);
469
+ if (scanned === null) {
470
+ out += hold(NEVER_MATCH);
471
+ index = length;
472
+ } else {
473
+ out += hold(scanned.source);
474
+ index = scanned.end + 1;
475
+ }
476
+ } else {
477
+ out += char;
478
+ index++;
479
+ }
480
+ }
481
+ return {
482
+ source: out,
483
+ sources
484
+ };
485
+ };
486
+ const DIRECT = null;
487
+ const REGEX_INNER_SLASH = /\/(?!$)/;
488
+ const REPLACERS = [
489
+ [
490
+ /(\\+)( ?)/g,
491
+ (_, run, space) => space ? run.slice(0, run.length - run.length % 2) + SPACE : run,
492
+ ESCAPE + SPACE
493
+ ],
494
+ [/[\\$.|*+(){^]/g, (match) => `\\${match}`],
495
+ [
496
+ /(?!\\)\?/g,
497
+ () => "[^/]",
498
+ "?"
499
+ ],
500
+ [
501
+ /^\//,
502
+ () => "^",
503
+ SLASH
504
+ ],
505
+ [
506
+ /\//g,
507
+ () => "\\/",
508
+ SLASH
509
+ ],
510
+ [
511
+ /^\^*(?:\\\*\\\*\\\/)+/,
512
+ () => "^(?:.*\\/)?",
513
+ "*"
514
+ ],
515
+ [DIRECT, (source, pattern) => {
516
+ if (!source || source[0] === "^") return source;
517
+ return (!REGEX_INNER_SLASH.test(pattern) ? "(?:^|\\/)" : "^") + source;
518
+ }],
519
+ [
520
+ /\\\/\\\*\\\*(?=\\\/|$)/g,
521
+ (_, index, str) => index + 6 < str.length ? str.slice(index + 6) === "\\/" ? "(?:\\/[^\\/]+)+" : "(?:\\/[^\\/]+)*" : `\\/${TRAILING_DOUBLESTAR}`,
522
+ "*"
523
+ ],
524
+ [
525
+ /(^|[^\\]+)(\\\*)+(?=.+)/g,
526
+ (_, p1, p2) => {
527
+ return p1 + p2.replace(/\\\*/g, "[^\\/]*");
528
+ },
529
+ "*"
530
+ ],
531
+ [
532
+ /(^|[^\\])((?:\\\\)*)\\\*$/,
533
+ (match, p1, p2) => p2.length / 2 % 2 === 0 ? p1 + p2 + TRAILING_WILDCARD : match,
534
+ "*"
535
+ ],
536
+ [
537
+ /\\\\\\(?=[$.|*+(){^])/g,
538
+ () => ESCAPE,
539
+ ESCAPE + ESCAPE
540
+ ],
541
+ [
542
+ /\\\\/g,
543
+ () => ESCAPE,
544
+ ESCAPE + ESCAPE
545
+ ],
546
+ [
547
+ /\\\[([^\]/]*?)(\\*)($|\])/g,
548
+ (match, range, endEscape, close) => `\\[${range}${cleanRangeBackSlash(endEscape)}${close}`,
549
+ "["
550
+ ],
551
+ [DIRECT, (source) => {
552
+ const last = source[source.length - 1];
553
+ if (!last || last === TRAILING_WILDCARD || last === TRAILING_DOUBLESTAR) return source;
554
+ return last === SLASH ? `${source}$` : `${source}(?=$|\\/$)`;
555
+ }]
556
+ ];
557
+ const REGEX_REPLACE_TRAILING_WILDCARD = /(^|\\\/)?\uE000$/;
558
+ const MODE_IGNORE = "regex";
559
+ const MODE_CHECK_IGNORE = "checkRegex";
560
+ const UNDERSCORE = "_";
561
+ const replaceTrailingWildcard = (_, p1) => {
562
+ return `${p1 ? `${p1}[^/]+` : "[^/]*"}(?=$|\\/$)`;
563
+ };
564
+ const REGEX_REPLACE_TRAILING_DOUBLESTAR = /\uE001$/;
565
+ const replaceTrailingDoublestar = () => ".+(?=$|\\/$)";
566
+ const WILDCARD = "[^\\/]*";
567
+ const separatorAfter = (run, at) => {
568
+ let separator = EMPTY;
569
+ for (let index = at + 1; index < run.length && !run[index].wildcard; index++) separator += run[index].single;
570
+ return separator;
571
+ };
572
+ const pinWildcards = (source) => {
573
+ if (source.indexOf(WILDCARD) < 0) return source;
574
+ const tokens = [];
575
+ const { length } = source;
576
+ let index = 0;
577
+ while (index < length) {
578
+ const char = source[index];
579
+ if (source.startsWith(WILDCARD, index)) {
580
+ tokens.push({ wildcard: true });
581
+ index += 6;
582
+ } else if (char === "[") {
583
+ let end = index + 1;
584
+ if (source[end] === "^") end++;
585
+ if (source[end] === "]") end++;
586
+ while (end < length && source[end] !== "]") end += source[end] === ESCAPE ? 2 : 1;
587
+ end++;
588
+ tokens.push({ single: source.slice(index, end) });
589
+ index = end;
590
+ } else if (char === ESCAPE) {
591
+ tokens.push({ single: source.slice(index, index + 2) });
592
+ index += 2;
593
+ } else if (char === "(") {
594
+ let depth = 0;
595
+ let end = index;
596
+ do {
597
+ if (source[end] === ESCAPE) end++;
598
+ else if (source[end] === "(") depth++;
599
+ else if (source[end] === ")") depth--;
600
+ end++;
601
+ } while (end < length && depth > 0);
602
+ if ("*+?".indexOf(source[end]) >= 0) end++;
603
+ tokens.push({ boundary: source.slice(index, end) });
604
+ index = end;
605
+ } else if (char === "^" || char === "$") {
606
+ tokens.push({ boundary: char });
607
+ index++;
608
+ } else {
609
+ tokens.push({ single: char });
610
+ index++;
611
+ }
612
+ }
613
+ let out = EMPTY;
614
+ let run = [];
615
+ const flush = () => {
616
+ let lastWildcard;
617
+ run.forEach((token, at) => {
618
+ if (token.wildcard) lastWildcard = at;
619
+ });
620
+ run.forEach((token, at) => {
621
+ if (!token.wildcard) {
622
+ out += token.single;
623
+ return;
624
+ }
625
+ out += at === lastWildcard ? WILDCARD : `(?:(?!${separatorAfter(run, at)})[^\\/])*`;
626
+ });
627
+ run = [];
628
+ };
629
+ tokens.forEach((token) => {
630
+ if (token.boundary === void 0) {
631
+ run.push(token);
632
+ return;
633
+ }
634
+ flush();
635
+ out += token.boundary;
636
+ });
637
+ flush();
638
+ return out;
639
+ };
640
+ const makeRegexPrefix = (pattern) => {
641
+ const { source, sources } = extractBrackets(pattern);
642
+ const replaced = REPLACERS.reduce((prev, [matcher, replacer, required]) => {
643
+ if (matcher === DIRECT) return replacer(prev, pattern);
644
+ if (required !== UNDEFINED && prev.indexOf(required) < 0) return prev;
645
+ return matcher.test(prev) ? prev.replace(matcher, replacer.bind(pattern)) : prev;
646
+ }, source);
647
+ return sources.length ? replaced.replace(REGEX_RESTORE_PLACEHOLDER, (match, index) => sources[index]) : replaced;
648
+ };
649
+ const checkSourceOf = (body, prefix) => {
650
+ if (body[body.length - 1] === SLASH) prefix = makeRegexPrefix(body.slice(0, -1));
651
+ const head = prefix.slice(0, -1);
652
+ const last = prefix[prefix.length - 1];
653
+ return last === TRAILING_WILDCARD ? `${head}$` : last === TRAILING_DOUBLESTAR ? `${head}.*$` : NEVER_MATCH;
654
+ };
655
+ const matchesBasename = (body) => {
656
+ const index = body.indexOf(SLASH);
657
+ return index < 0 || index === body.length - 1;
658
+ };
659
+ const basenameOf = (path$2) => {
660
+ const end = path$2.length - 1;
661
+ const index = path$2.lastIndexOf(SLASH, path$2[end] === SLASH ? end - 1 : end);
662
+ return index < 0 ? path$2 : path$2.slice(index + 1);
663
+ };
664
+ const parentOf = (path$2) => {
665
+ if (path$2.charCodeAt(0) === SLASH_CODE || path$2.indexOf(DOUBLE_SLASH) >= 0) {
666
+ const slices = path$2.split(SLASH).filter(Boolean);
667
+ slices.pop();
668
+ return slices.length ? slices.join(SLASH) + SLASH : EMPTY;
669
+ }
670
+ const end = path$2.length - 1;
671
+ const cut = path$2.lastIndexOf(SLASH, path$2.charCodeAt(end) === SLASH_CODE ? end - 1 : end);
672
+ return cut < 0 ? EMPTY : path$2.slice(0, cut + 1);
673
+ };
674
+ const isString = (subject) => typeof subject === "string";
675
+ const checkPattern = (pattern) => pattern && isString(pattern) && !REGEX_INVALID_TRAILING_BACKSLASH.test(pattern);
676
+ const splitPattern = (pattern) => pattern.split(REGEX_SPLITALL_CRLF).filter(Boolean);
677
+ var IgnoreRule = class {
678
+ constructor(pattern, mark, body, ignoreCase, negative, prefix) {
679
+ this.pattern = pattern;
680
+ this.mark = mark;
681
+ this.negative = negative;
682
+ define(this, "body", body);
683
+ define(this, "ignoreCase", ignoreCase);
684
+ define(this, "regexPrefix", prefix);
685
+ }
686
+ get _basenameOnly() {
687
+ return define(this, "_basenameOnly", matchesBasename(this.body));
688
+ }
689
+ get regex() {
690
+ const key = UNDERSCORE + MODE_IGNORE;
691
+ if (this[key]) return this[key];
692
+ return this._make(MODE_IGNORE, key);
693
+ }
694
+ get checkRegex() {
695
+ const key = UNDERSCORE + MODE_CHECK_IGNORE;
696
+ if (this[key]) return this[key];
697
+ return this._make(MODE_CHECK_IGNORE, key);
698
+ }
699
+ _make(mode, key) {
700
+ const str = pinWildcards(mode === MODE_IGNORE ? this.regexPrefix.replace(REGEX_REPLACE_TRAILING_WILDCARD, replaceTrailingWildcard).replace(REGEX_REPLACE_TRAILING_DOUBLESTAR, replaceTrailingDoublestar) : checkSourceOf(this.body, this.regexPrefix));
701
+ const regex = this.ignoreCase ? new RegExp(str, "i") : new RegExp(str);
702
+ return define(this, key, regex);
703
+ }
704
+ };
705
+ const isLineEnd = (char) => char === "\r" || char === "\n";
706
+ const trimEnd = (body) => {
707
+ let end = body.length;
708
+ while (end && isLineEnd(body[end - 1])) end--;
709
+ const lineEnd = end;
710
+ while (end && body[end - 1] === SPACE) end--;
711
+ if (end === lineEnd) return body.slice(0, end);
712
+ let backslashes = 0;
713
+ while (backslashes < end && body[end - backslashes - 1] === ESCAPE) backslashes++;
714
+ return backslashes % 2 ? body.slice(0, end - 1) + SPACE : body.slice(0, end);
715
+ };
716
+ const createRule = ({ pattern, mark }, ignoreCase) => {
717
+ let body = pattern[0] === BOM ? pattern.slice(1) : pattern;
718
+ if (body[0] === "#") return;
719
+ let negative = false;
720
+ if (body[0] === "!") {
721
+ negative = true;
722
+ body = body.slice(1);
723
+ }
724
+ const last = body[body.length - 1];
725
+ if (last === SPACE || last === "\r" || last === "\n") body = trimEnd(body);
726
+ if (!body) return;
727
+ body = body.replace(REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION, "!").replace(REGEX_REPLACE_LEADING_EXCAPED_HASH, "#");
728
+ const regexPrefix = makeRegexPrefix(body);
729
+ return new IgnoreRule(pattern, mark, body, ignoreCase, negative, regexPrefix);
730
+ };
731
+ var RuleManager = class {
732
+ constructor(ignoreCase) {
733
+ this._ignoreCase = ignoreCase;
734
+ this._rules = [];
735
+ this._basenameCount = 0;
736
+ }
737
+ _add(pattern) {
738
+ if (pattern && pattern[KEY_IGNORE]) {
739
+ this._rules = this._rules.concat(pattern._rules._rules);
740
+ this._basenameCount += pattern._rules._basenameCount;
741
+ this._added = true;
742
+ return;
743
+ }
744
+ if (isString(pattern)) pattern = { pattern };
745
+ const rule = checkPattern(pattern.pattern) && createRule(pattern, this._ignoreCase);
746
+ if (rule) {
747
+ this._added = true;
748
+ this._rules.push(rule);
749
+ if (matchesBasename(rule.body)) this._basenameCount++;
750
+ }
751
+ }
752
+ add(pattern) {
753
+ this._added = false;
754
+ makeArray(isString(pattern) ? splitPattern(pattern) : pattern).forEach(this._add, this);
755
+ if (this._added) this._literalRules = UNDEFINED;
756
+ return this._added;
757
+ }
758
+ testLiteral(path$2) {
759
+ const rules = this._literalRules || (this._literalRules = this._rules.filter(({ body }) => body[body.length - (body[body.length - 1] === SLASH ? 2 : 1)] === "*"));
760
+ let ignored = false;
761
+ let unignored = false;
762
+ let matchedRule;
763
+ for (let index = rules.length - 1; index >= 0; index--) {
764
+ const rule = rules[index];
765
+ if (rule.checkRegex.test(path$2)) {
766
+ ignored = !rule.negative;
767
+ unignored = rule.negative;
768
+ matchedRule = rule.negative ? UNDEFINED : rule;
769
+ break;
770
+ }
771
+ }
772
+ const ret = {
773
+ ignored,
774
+ unignored
775
+ };
776
+ if (matchedRule) ret.rule = matchedRule;
777
+ return ret;
778
+ }
779
+ test(path$2, checkUnignored, mode) {
780
+ let ignored = false;
781
+ let unignored = false;
782
+ let matchedRule;
783
+ const rules = this._rules;
784
+ const { length } = rules;
785
+ const shortcut = this._basenameCount * 2 >= length;
786
+ const basename = shortcut ? basenameOf(path$2) : path$2;
787
+ for (let index = 0; index < length; index++) {
788
+ const rule = rules[index];
789
+ const { negative } = rule;
790
+ if (!(unignored === negative && ignored !== unignored || negative && !ignored && !unignored && !checkUnignored) && rule[mode].test(shortcut && rule._basenameOnly ? basename : path$2)) {
791
+ ignored = !negative;
792
+ unignored = negative;
793
+ matchedRule = negative ? UNDEFINED : rule;
794
+ }
795
+ }
796
+ const ret = {
797
+ ignored,
798
+ unignored
799
+ };
800
+ if (matchedRule) ret.rule = matchedRule;
801
+ return ret;
802
+ }
803
+ };
804
+ const throwError = (message, Ctor) => {
805
+ throw new Ctor(message);
806
+ };
807
+ const checkPath = (path$2, originalPath, doThrow) => {
808
+ if (!isString(path$2)) return doThrow(`path must be a string, but got \`${originalPath}\``, TypeError);
809
+ if (!path$2) return doThrow(`path must not be empty`, TypeError);
810
+ if (checkPath.isNotRelative(path$2)) return doThrow(`path should be a \`path.relative()\`d string, but got "${originalPath}"`, RangeError);
811
+ return true;
812
+ };
813
+ const isNotRelative = (path$2) => {
814
+ const first = path$2.charCodeAt(0);
815
+ if (first === SLASH_CODE) return true;
816
+ if (first !== DOT_CODE) return false;
817
+ if (path$2.length === 1) return true;
818
+ const second = path$2.charCodeAt(1);
819
+ if (second === SLASH_CODE) return true;
820
+ if (second !== DOT_CODE) return false;
821
+ return path$2.length === 2 || path$2.charCodeAt(2) === SLASH_CODE;
822
+ };
823
+ checkPath.isNotRelative = isNotRelative;
824
+ /* istanbul ignore next */
825
+ checkPath.convert = (p) => p;
826
+ var Ignore = class {
827
+ constructor({ ignorecase = true, ignoreCase = ignorecase, allowRelativePaths = false } = {}) {
828
+ define(this, KEY_IGNORE, true);
829
+ this._rules = new RuleManager(ignoreCase);
830
+ this._strictPathCheck = !allowRelativePaths;
831
+ this._initCache();
832
+ }
833
+ _initCache() {
834
+ this._ignoreCache = Object.create(null);
835
+ this._testCache = Object.create(null);
836
+ }
837
+ add(pattern) {
838
+ if (this._rules.add(pattern)) this._initCache();
839
+ return this;
840
+ }
841
+ addPattern(pattern) {
842
+ return this.add(pattern);
843
+ }
844
+ _test(originalPath, cache, checkUnignored) {
845
+ const path$2 = originalPath && checkPath.convert(originalPath);
846
+ checkPath(path$2, originalPath, this._strictPathCheck ? throwError : RETURN_FALSE);
847
+ return this._t(path$2, cache, checkUnignored);
848
+ }
849
+ checkIgnore(path$2) {
850
+ if (path$2.charCodeAt(path$2.length - 1) !== SLASH_CODE) return this.test(path$2);
851
+ const dir = this._t(path$2, this._testCache, true);
852
+ if (dir.ignored) return dir;
853
+ const literal = this._rules.testLiteral(path$2);
854
+ return literal.ignored || literal.unignored ? literal : dir;
855
+ }
856
+ _t(path$2, cache, checkUnignored) {
857
+ if (path$2 in cache) return cache[path$2];
858
+ const parentPath = parentOf(path$2);
859
+ const parent = parentPath ? this._t(parentPath, cache, checkUnignored) : UNDEFINED;
860
+ return cache[path$2] = parent && parent.ignored ? parent : this._rules.test(path$2, checkUnignored, MODE_IGNORE);
861
+ }
862
+ ignores(path$2) {
863
+ return this._test(path$2, this._ignoreCache, false).ignored;
864
+ }
865
+ createFilter() {
866
+ return (path$2) => !this.ignores(path$2);
867
+ }
868
+ filter(paths) {
869
+ return makeArray(paths).filter(this.createFilter());
870
+ }
871
+ test(path$2) {
872
+ return this._test(path$2, this._testCache, true);
873
+ }
874
+ };
875
+ const factory = (options) => new Ignore(options);
876
+ const isPathValid = (path$2) => checkPath(path$2 && checkPath.convert(path$2), path$2, RETURN_FALSE);
877
+ /* istanbul ignore next */
878
+ const setupWindows = () => {
879
+ const makePosix = (str) => /^\\\\\?\\/.test(str) || /["<>|\u0000-\u001F]+/u.test(str) ? str : str.replace(/\\/g, "/");
880
+ checkPath.convert = makePosix;
881
+ const REGEX_TEST_WINDOWS_PATH_ABSOLUTE = /^[a-z]:\//i;
882
+ checkPath.isNotRelative = (path$2) => REGEX_TEST_WINDOWS_PATH_ABSOLUTE.test(path$2) || isNotRelative(path$2);
883
+ };
884
+ /* istanbul ignore next */
885
+ if (typeof process !== "undefined" && process.platform === "win32") setupWindows();
886
+ module.exports = factory;
887
+ factory.default = factory;
888
+ module.exports.isPathValid = isPathValid;
889
+ define(module.exports, Symbol.for("setupWindows"), setupWindows);
890
+ }) });
24
891
 
892
+ //#endregion
893
+ //#region src/devices/ast/walker.ts
894
+ var import_ignore = /* @__PURE__ */ __toESM(require_ignore(), 1);
895
+ const ALWAYS_SKIP = new Set(["node_modules", ".git"]);
896
+ function ignoresFor(root) {
897
+ const ig = (0, import_ignore.default)();
898
+ let dir = root;
899
+ const chain = [];
900
+ for (;;) {
901
+ const gitignore = path$1.join(dir, ".gitignore");
902
+ try {
903
+ ig.add(readFileSync(gitignore, "utf8"));
904
+ chain.unshift(path$1.relative(root, dir) || ".");
905
+ } catch {}
906
+ const parent = path$1.dirname(dir);
907
+ if (parent === dir) break;
908
+ dir = parent;
909
+ }
910
+ return ig;
911
+ }
912
+ function matchesGlob(root, abs, glob) {
913
+ if (glob === void 0) return true;
914
+ const rel$1 = path$1.relative(root, abs).split(path$1.sep).join("/");
915
+ const ig = (0, import_ignore.default)();
916
+ ig.add(glob.startsWith("!") ? glob : glob);
917
+ return ig.ignores(rel$1);
918
+ }
919
+ async function walkSources(root, options) {
920
+ const maxFiles = options.maxFiles ?? 1e3;
921
+ const ig = ignoresFor(root);
922
+ const out = [];
923
+ let limitReached = false;
924
+ const visit = (dir) => {
925
+ if (limitReached) return;
926
+ let entries;
927
+ try {
928
+ entries = readdirSync(dir, { withFileTypes: true });
929
+ } catch {
930
+ return;
931
+ }
932
+ for (const entry of entries.sort((a, b) => a.name.localeCompare(b.name))) {
933
+ if (limitReached) return;
934
+ if (entry.name.startsWith(".") || ALWAYS_SKIP.has(entry.name)) continue;
935
+ if (entry.name.startsWith(".")) continue;
936
+ const abs = path$1.join(dir, entry.name);
937
+ const relFromRoot = path$1.relative(root, abs);
938
+ if (relFromRoot && ig.ignores(relFromRoot.split(path$1.sep).join("/"))) continue;
939
+ if (entry.isDirectory()) {
940
+ visit(abs);
941
+ continue;
942
+ }
943
+ if (languageForPath(entry.name) === void 0) continue;
944
+ if (!matchesGlob(root, abs, options.glob)) continue;
945
+ if (out.length >= maxFiles) {
946
+ limitReached = true;
947
+ return;
948
+ }
949
+ out.push(abs);
950
+ }
951
+ };
952
+ try {
953
+ if (statSync(root).isFile()) out.push(root);
954
+ else visit(root);
955
+ } catch {}
956
+ return {
957
+ files: out.sort(),
958
+ limitReached
959
+ };
960
+ }
961
+
962
+ //#endregion
963
+ //#region src/devices/ast/ast-device.ts
964
+ /** Per-run cap on distinct scanned files (upstream `PI_MAX_AST_FILES` default). */
965
+ const MAX_FILES = 1e3;
966
+ /** Glob metacharacters that mark a path segment as a pattern (upstream `GLOB_PATH_CHARS`). */
967
+ const GLOB_CHARS = /[*?[{]/;
968
+ /** The working directory for relative paths: `ctx.cwd` when threaded through, else `process.cwd()`. */
969
+ function ctxCwd(ctx) {
970
+ if (ctx !== null && typeof ctx === "object" && typeof ctx.cwd === "string") return ctx.cwd;
971
+ return process.cwd();
972
+ }
973
+ /** The cwd-relative POSIX display path for an absolute walked file. */
974
+ function rel(file, cwd) {
975
+ return path$1.relative(cwd, file).split(path$1.sep).join("/");
976
+ }
977
+ /** A validated args object for a device call. */
978
+ function argsRecord(args, device) {
979
+ if (args === null || typeof args !== "object" || Array.isArray(args)) throw new Error(`${device}: args must be a JSON object`);
980
+ return args;
981
+ }
982
+ /** A non-empty array of non-empty strings. */
983
+ function stringArray(value, field, device) {
984
+ if (!Array.isArray(value) || value.length === 0) throw new Error(`${device}: \`${field}\` must be a non-empty array of strings`);
985
+ for (const entry of value) if (typeof entry !== "string" || entry.length === 0) throw new Error(`${device}: \`${field}\` entries must be non-empty strings`);
986
+ return value;
987
+ }
988
+ /** An optional boolean field. */
989
+ function optionalBoolean(value, field, device) {
990
+ if (value === void 0) return void 0;
991
+ if (typeof value !== "boolean") throw new Error(`${device}: \`${field}\` must be a boolean`);
992
+ return value;
993
+ }
994
+ /** An optional non-negative integer field. */
995
+ function optionalCount(value, field, device) {
996
+ if (value === void 0) return void 0;
997
+ if (typeof value !== "number" || !Number.isInteger(value) || value < 0) throw new Error(`${device}: \`${field}\` must be a non-negative integer`);
998
+ return value;
999
+ }
1000
+ /**
1001
+ * Resolve one `paths` entry against `cwd`. An existing literal file or
1002
+ * directory wins as-is (upstream `parseSearchPathPreferringLiteral`);
1003
+ * otherwise the entry splits at the first glob-ish segment into
1004
+ * `{basePath, glob}` (upstream `parseSearchPath`), so a recursive glob
1005
+ * under `src` scans `src` as the root with the double-star pattern as the
1006
+ * glob tail.
1007
+ */
1008
+ function resolveTarget(entry, cwd) {
1009
+ const absolute = path$1.resolve(cwd, entry);
1010
+ try {
1011
+ statSync(absolute);
1012
+ return { root: absolute };
1013
+ } catch {}
1014
+ const normalized = entry.replace(/\\/g, "/");
1015
+ const segments = normalized.split("/");
1016
+ const globIndex = segments.findIndex((segment$1) => GLOB_CHARS.test(segment$1));
1017
+ if (globIndex === -1) return { root: absolute };
1018
+ const basePath = globIndex === 0 ? "." : segments.slice(0, globIndex).join("/");
1019
+ const glob = globIndex === 0 ? normalized : segments.slice(globIndex).join("/");
1020
+ return {
1021
+ root: path$1.resolve(cwd, basePath),
1022
+ glob
1023
+ };
1024
+ }
1025
+ /** `ast_edit` — run the validated rewrite across every target, aggregating like upstream's `runAstEditTargets`. */
1026
+ async function executeAstEdit(args, ctx) {
1027
+ await ensureLanguages();
1028
+ const cwd = ctxCwd(ctx);
1029
+ const record = argsRecord(args, "ast_edit");
1030
+ const rawOps = record.ops;
1031
+ if (!Array.isArray(rawOps) || rawOps.length === 0) throw new Error("ast_edit: `ops` must be a non-empty array of {pat, out} objects");
1032
+ const rewrites = {};
1033
+ const opIndexOf = /* @__PURE__ */ new Map();
1034
+ rawOps.forEach((rawOp, index) => {
1035
+ if (rawOp === null || typeof rawOp !== "object" || Array.isArray(rawOp)) throw new Error(`ast_edit: ops[${index}] must be a {pat, out} object`);
1036
+ const op = rawOp;
1037
+ if (typeof op.pat !== "string" || op.pat.length === 0) throw new Error(`ast_edit: ops[${index}].pat must be a non-empty pattern`);
1038
+ if (typeof op.out !== "string") throw new Error(`ast_edit: ops[${index}].out must be a string`);
1039
+ rewrites[op.pat] = op.out;
1040
+ opIndexOf.set(op.pat, index);
1041
+ });
1042
+ const targets = stringArray(record.paths, "paths", "ast_edit").map((entry) => resolveTarget(entry, cwd));
1043
+ const dryRun = optionalBoolean(record.dryRun, "dryRun", "ast_edit") ?? true;
1044
+ const pathNotFound = targets.some((target) => !existsSync(target.root));
1045
+ const changes = [];
1046
+ const fileCounts = /* @__PURE__ */ new Map();
1047
+ const parseErrors = [];
1048
+ const patternErrors = [];
1049
+ const patternErrorSeen = /* @__PURE__ */ new Set();
1050
+ let overlapping = 0;
1051
+ let totalReplacements = 0;
1052
+ let filesSearched = 0;
1053
+ let limitReached = false;
1054
+ const applied = !dryRun;
1055
+ for (const target of targets) {
1056
+ const walked = await walkSources(target.root, {
1057
+ glob: target.glob,
1058
+ maxFiles: MAX_FILES
1059
+ });
1060
+ filesSearched += walked.files.length;
1061
+ limitReached = limitReached || walked.limitReached;
1062
+ for (const file of walked.files) {
1063
+ const lang = languageForPath(file);
1064
+ if (lang === void 0) continue;
1065
+ if (!isLanguageAvailable(lang)) {
1066
+ parseErrors.push(`${rel(file, cwd)}: language unavailable`);
1067
+ continue;
1068
+ }
1069
+ let source;
1070
+ try {
1071
+ source = readFileSync(file, "utf8");
1072
+ } catch {
1073
+ continue;
1074
+ }
1075
+ const result = await editSource(source, lang, rewrites);
1076
+ for (const [pattern, message] of Object.entries(result.patternErrors ?? {})) {
1077
+ if (patternErrorSeen.has(pattern)) continue;
1078
+ patternErrorSeen.add(pattern);
1079
+ patternErrors.push(`pattern ${opIndexOf.get(pattern)} ("${pattern}"): ${message}`);
1080
+ }
1081
+ overlapping += result.overlapping;
1082
+ if (result.parseErrorCount > 0) parseErrors.push(`${rel(file, cwd)}: ${result.parseErrorCount} parse error(s)`);
1083
+ if (result.changes.length === 0) continue;
1084
+ const display = rel(file, cwd);
1085
+ changes.push(...result.changes.map((change) => ({
1086
+ ...change,
1087
+ path: display
1088
+ })));
1089
+ fileCounts.set(display, (fileCounts.get(display) ?? 0) + result.totalReplacements);
1090
+ totalReplacements += result.totalReplacements;
1091
+ if (!dryRun) writeFileSync(file, result.rewritten, "utf8");
1092
+ }
1093
+ }
1094
+ const fileChanges = [...fileCounts].map(([filePath, count]) => ({
1095
+ path: filePath,
1096
+ count
1097
+ }));
1098
+ return {
1099
+ changes,
1100
+ fileChanges,
1101
+ totalReplacements,
1102
+ filesTouched: fileChanges.length,
1103
+ filesSearched,
1104
+ applied,
1105
+ limitReached,
1106
+ ...parseErrors.length > 0 ? { parseErrors } : {},
1107
+ ...patternErrors.length > 0 ? { patternErrors } : {},
1108
+ ...overlapping > 0 ? { overlapping } : {},
1109
+ ...pathNotFound ? { pathNotFound: true } : {}
1110
+ };
1111
+ }
1112
+ /** `ast_grep` — walk the target, run every pattern per file (OR), merge, then page. */
1113
+ async function executeAstGrep(args, ctx) {
1114
+ await ensureLanguages();
1115
+ const cwd = ctxCwd(ctx);
1116
+ const record = argsRecord(args, "ast_grep");
1117
+ const patterns = stringArray(record.patterns, "patterns", "ast_grep");
1118
+ const rawPath = record.path;
1119
+ if (rawPath !== void 0 && typeof rawPath !== "string") throw new Error("ast_grep: `path` must be a string");
1120
+ const target = resolveTarget(rawPath !== void 0 && rawPath.length > 0 ? rawPath : ".", cwd);
1121
+ const pathNotFound = !existsSync(target.root);
1122
+ const offset = optionalCount(record.offset, "offset", "ast_grep");
1123
+ const limit = optionalCount(record.limit, "limit", "ast_grep");
1124
+ const includeMeta = optionalBoolean(record.includeMeta, "includeMeta", "ast_grep");
1125
+ const walked = await walkSources(target.root, {
1126
+ glob: target.glob,
1127
+ maxFiles: MAX_FILES
1128
+ });
1129
+ const matches = [];
1130
+ const parseErrors = [];
1131
+ const patternErrors = [];
1132
+ const patternErrorSeen = /* @__PURE__ */ new Set();
1133
+ let filesWithMatches = 0;
1134
+ for (const file of walked.files) {
1135
+ const lang = languageForPath(file);
1136
+ if (lang === void 0) continue;
1137
+ if (!isLanguageAvailable(lang)) {
1138
+ parseErrors.push(`${rel(file, cwd)}: language unavailable`);
1139
+ continue;
1140
+ }
1141
+ let source;
1142
+ try {
1143
+ source = readFileSync(file, "utf8");
1144
+ } catch {
1145
+ continue;
1146
+ }
1147
+ const perFile = [];
1148
+ for (const [index, pattern] of patterns.entries()) {
1149
+ const found = await findInSource(source, lang, pattern, { includeMeta });
1150
+ if (found.patternError !== void 0 && !patternErrorSeen.has(index)) {
1151
+ patternErrorSeen.add(index);
1152
+ patternErrors.push(`pattern ${index} ("${pattern}"): ${found.patternError}`);
1153
+ }
1154
+ perFile.push(...found.matches);
1155
+ }
1156
+ if (perFile.length === 0) continue;
1157
+ filesWithMatches += 1;
1158
+ perFile.sort((a, b) => a.byteStart - b.byteStart || a.byteEnd - b.byteEnd);
1159
+ matches.push(...perFile.map((match) => ({
1160
+ ...match,
1161
+ path: rel(file, cwd)
1162
+ })));
1163
+ }
1164
+ const totalMatches = matches.length;
1165
+ const start = offset ?? 0;
1166
+ const paged = matches.slice(start, start + (limit ?? Infinity));
1167
+ return {
1168
+ matches: paged,
1169
+ totalMatches,
1170
+ filesWithMatches,
1171
+ filesSearched: walked.files.length,
1172
+ limitReached: totalMatches > paged.length,
1173
+ ...parseErrors.length > 0 ? { parseErrors } : {},
1174
+ ...patternErrors.length > 0 ? { patternErrors } : {},
1175
+ ...pathNotFound ? { pathNotFound: true } : {}
1176
+ };
1177
+ }
1178
+ /** Mount both ast devices on the registry (defaults to the real dvc registry). */
1179
+ function registerAstDevices(registry = { registerDvcDevice }) {
1180
+ registry.registerDvcDevice("ast_edit", {
1181
+ summary: summaries.ast_edit,
1182
+ execute: executeAstEdit
1183
+ });
1184
+ registry.registerDvcDevice("ast_grep", {
1185
+ summary: summaries.ast_grep,
1186
+ execute: executeAstGrep
1187
+ });
1188
+ }
1189
+ /** Roster summaries for the device nameplate — one line per device. */
1190
+ const summaries = {
1191
+ ast_edit: "AST-aware structural rewrite: {ops: [{pat, out}], paths: string[], dryRun?: boolean} — ast-grep patterns; dryRun defaults true, set false to write files; performs no workspace boundary check (boundary is the approval/policy layer) and writes whatever paths it is given",
1192
+ ast_grep: "AST pattern search: {patterns: string[], path?: string, offset?: number, limit?: number, includeMeta?: boolean} — returns structured matches with optional meta variables; performs no workspace boundary check (boundary is the approval/policy layer)"
1193
+ };
1194
+
1195
+ //#endregion
25
1196
  //#region src/vendor.ts
26
1197
  /**
27
1198
  * Plugin-owned vendor root: `<packageRoot>/.vendor`, beside the managed kernel
@@ -251,351 +1422,6 @@ function satisfies(version, range) {
251
1422
  return version === range;
252
1423
  }
253
1424
 
254
- //#endregion
255
- //#region src/devices/ast/natives-loader.ts
256
- /** Platform tags with a published leaf package (mirrors the upstream loader). */
257
- const SUPPORTED_PLATFORM_TAGS = [
258
- "linux-x64",
259
- "linux-arm64",
260
- "darwin-x64",
261
- "darwin-arm64",
262
- "win32-x64"
263
- ];
264
- /** The supported platform tag for the given (or current) platform/arch, or `undefined`. */
265
- function piNativesPlatformTag(platform = process.platform, arch = process.arch) {
266
- const tag = `${platform}-${arch}`;
267
- return SUPPORTED_PLATFORM_TAGS.includes(tag) ? tag : void 0;
268
- }
269
- /** The npm leaf-package name for the given (or current) platform, or `undefined`. */
270
- function piNativesPackageName(platform = process.platform, arch = process.arch) {
271
- const tag = piNativesPlatformTag(platform, arch);
272
- return tag === void 0 ? void 0 : `@oh-my-pi/pi-natives-${tag}`;
273
- }
274
- /**
275
- * Candidate addon filenames inside the leaf package, most-preferred first
276
- * (mirrors the upstream `getAddonFilenames`): x64 ships modern/baseline CPU
277
- * variants, other arches a single default binary.
278
- */
279
- function piNativesAddonFilenames(tag, arch, preferModern = true) {
280
- const defaultFilename = `pi_natives.${tag}.node`;
281
- if (arch !== "x64") return [defaultFilename];
282
- const baseline = `pi_natives.${tag}-baseline.node`;
283
- const modern = `pi_natives.${tag}-modern.node`;
284
- return preferModern ? [
285
- modern,
286
- baseline,
287
- defaultFilename
288
- ] : [
289
- baseline,
290
- modern,
291
- defaultFilename
292
- ];
293
- }
294
- /**
295
- * AVX2 probe for the modern/baseline choice on x64. Linux reads
296
- * `/proc/cpuinfo` (upstream does the same); darwin/win32 x64 assume modern —
297
- * effectively universal there — and a dlopen failure still falls through to
298
- * the baseline candidate.
299
- */
300
- function detectAvx2(platform, arch) {
301
- if (arch !== "x64") return false;
302
- if (platform === "linux") try {
303
- return /\bavx2\b/i.test(readFileSync("/proc/cpuinfo", "utf8"));
304
- } catch {
305
- return false;
306
- }
307
- return platform === "darwin" || platform === "win32";
308
- }
309
- const here = path$1.dirname(fileURLToPath(import.meta.url));
310
- /** `require` anchored at this module — used to dlopen absolute `.node` paths. */
311
- const requireHere = createRequire(import.meta.url);
312
- /**
313
- * Locate the leaf package directory with an explicit node_modules-walk upward
314
- * from `fromDir` — the ONLY mechanism. `require.resolve` is deliberately not
315
- * used here: its fallback through the process global paths (which include the
316
- * pnpm virtual-store hoist root `.pnpm/node_modules`) can resolve the leaf
317
- * package from ANY anchor, defeating the anchor-bounded contract this loader
318
- * guarantees for its degradation tests and unsupported-platform probes.
319
- * Returns `undefined` when absent.
320
- */
321
- function findPackageDir(packageName, fromDir) {
322
- let dir = fromDir;
323
- for (;;) {
324
- const candidate = path$1.join(dir, "node_modules", packageName);
325
- if (existsSync(path$1.join(candidate, "package.json"))) return candidate;
326
- const parent = path$1.dirname(dir);
327
- if (parent === dir) return void 0;
328
- dir = parent;
329
- }
330
- }
331
- /**
332
- * Exact vendor-dir lookup. Deliberately NOT `findPackageDir`: that helper
333
- * walks `node_modules` upward, which from `<packageRoot>/.vendor` would escape
334
- * into the package's own (or the profile's) tree and defeat the anchor-bounded
335
- * contract this loader guarantees. The vendor root is flat by construction.
336
- */
337
- function vendoredPackageDir(packageName) {
338
- const candidate = path$1.join(VENDOR_ROOT, "node_modules", packageName);
339
- return existsSync(path$1.join(candidate, "package.json")) ? candidate : void 0;
340
- }
341
- /** Pinned addon release; bumping it is an explicit, tested change. */
342
- const PI_NATIVES_VERSION = "18.0.6";
343
- /**
344
- * Make the platform addon available without touching any package manager:
345
- * a package already resolvable from `fromDir` (dev checkout, legacy install)
346
- * wins; otherwise the pinned leaf package is fetched into the plugin's vendor
347
- * directory. Never throws — failure leaves `loadPiNatives()` reporting the
348
- * addon as unavailable, which the device layer turns into a structured error.
349
- * @param options - platform/arch/anchor overrides, as in `loadPiNatives`.
350
- */
351
- async function ensurePiNatives(options = {}) {
352
- const packageName = piNativesPackageName(options.platform ?? process.platform, options.arch ?? process.arch);
353
- if (packageName === void 0) return;
354
- if (findPackageDir(packageName, options.fromDir ?? here) !== void 0) return;
355
- if (options.fromDir !== void 0) return;
356
- try {
357
- await ensureVendored({
358
- name: packageName,
359
- version: PI_NATIVES_VERSION
360
- }, VENDOR_ROOT);
361
- } catch {}
362
- }
363
- /** Memoized default-args outcome: `undefined` = not attempted, `null` = attempted and unavailable. */
364
- let cachedDefaultLoad;
365
- /**
366
- * Load the pi-natives platform addon. Never throws: a missing package, an
367
- * unsupported platform, or a failed dlopen all resolve to `undefined` (the
368
- * next variant is tried first). Only default-args calls are memoized, so
369
- * option-bearing probes (tests) never pollute the cache.
370
- */
371
- function loadPiNatives(options = {}) {
372
- const isDefaultLoad = options.platform === void 0 && options.arch === void 0 && options.fromDir === void 0;
373
- if (isDefaultLoad && cachedDefaultLoad !== void 0) return cachedDefaultLoad === null ? void 0 : cachedDefaultLoad;
374
- const platform = options.platform ?? process.platform;
375
- const arch = options.arch ?? process.arch;
376
- const tag = piNativesPlatformTag(platform, arch);
377
- if (tag === void 0) {
378
- if (isDefaultLoad) cachedDefaultLoad = null;
379
- return;
380
- }
381
- const packageName = `@oh-my-pi/pi-natives-${tag}`;
382
- const packageDir = findPackageDir(packageName, options.fromDir ?? here) ?? (options.fromDir === void 0 ? vendoredPackageDir(packageName) : void 0);
383
- if (packageDir === void 0) {
384
- if (isDefaultLoad) cachedDefaultLoad = null;
385
- return;
386
- }
387
- const preferModern = detectAvx2(platform, arch);
388
- for (const filename of piNativesAddonFilenames(tag, arch, preferModern)) {
389
- const addonPath = path$1.join(packageDir, filename);
390
- if (!existsSync(addonPath)) continue;
391
- try {
392
- const bindings = requireHere(addonPath);
393
- if (typeof bindings.astGrep !== "function" || typeof bindings.astEdit !== "function") continue;
394
- const natives = {
395
- astGrep: bindings.astGrep.bind(bindings),
396
- astEdit: bindings.astEdit.bind(bindings)
397
- };
398
- if (isDefaultLoad) cachedDefaultLoad = natives;
399
- return natives;
400
- } catch {}
401
- }
402
- if (isDefaultLoad) cachedDefaultLoad = null;
403
- }
404
-
405
- //#endregion
406
- //#region src/devices/ast/ast-device.ts
407
- /** Per-run cap on distinct rewritten files (upstream `PI_MAX_AST_FILES` default). */
408
- const MAX_FILES = 1e3;
409
- /** Glob metacharacters that mark a path segment as a pattern (upstream `GLOB_PATH_CHARS`). */
410
- const GLOB_CHARS = /[*?[{]/;
411
- /**
412
- * Load the native bindings or fail the device call with an actionable
413
- * message — the dvc dispatcher wraps this into `DVC_DEVICE_ERROR`.
414
- */
415
- async function nativesOrThrow() {
416
- await ensurePiNatives();
417
- const natives = loadPiNatives();
418
- if (natives !== void 0) return natives;
419
- const tag = piNativesPlatformTag();
420
- throw new Error(tag === void 0 ? `pi-natives addon unavailable: platform ${process.platform}-${process.arch} has no published @oh-my-pi/pi-natives@18.0.6 binary` : `pi-natives addon unavailable: the plugin could not fetch @oh-my-pi/pi-natives-${tag}@18.0.6 into its own vendor dir (registry unreachable or blocked); retry with network access`);
421
- }
422
- /** The working directory for relative paths: `ctx.cwd` when threaded through, else `process.cwd()`. */
423
- function ctxCwd(ctx) {
424
- if (ctx !== null && typeof ctx === "object" && typeof ctx.cwd === "string") return ctx.cwd;
425
- return process.cwd();
426
- }
427
- /** A validated args object for a device call. */
428
- function argsRecord(args, device) {
429
- if (args === null || typeof args !== "object" || Array.isArray(args)) throw new Error(`${device}: args must be a JSON object`);
430
- return args;
431
- }
432
- /** A non-empty array of non-empty strings. */
433
- function stringArray(value, field, device) {
434
- if (!Array.isArray(value) || value.length === 0) throw new Error(`${device}: \`${field}\` must be a non-empty array of strings`);
435
- for (const entry of value) if (typeof entry !== "string" || entry.length === 0) throw new Error(`${device}: \`${field}\` entries must be non-empty strings`);
436
- return value;
437
- }
438
- /** An optional boolean field. */
439
- function optionalBoolean(value, field, device) {
440
- if (value === void 0) return void 0;
441
- if (typeof value !== "boolean") throw new Error(`${device}: \`${field}\` must be a boolean`);
442
- return value;
443
- }
444
- /** An optional non-negative integer field. */
445
- function optionalCount(value, field, device) {
446
- if (value === void 0) return void 0;
447
- if (typeof value !== "number" || !Number.isInteger(value) || value < 0) throw new Error(`${device}: \`${field}\` must be a non-negative integer`);
448
- return value;
449
- }
450
- /**
451
- * Resolve one `paths` entry against `cwd`. An existing literal file or
452
- * directory wins as-is (upstream `parseSearchPathPreferringLiteral`);
453
- * otherwise the entry splits at the first glob-ish segment into
454
- * `{basePath, glob}` (upstream `parseSearchPath`), so a recursive glob
455
- * under `src` scans `src` as the root with the double-star pattern as the
456
- * glob tail. For file targets the native reports paths relative to the
457
- * file's directory, so `rebaseBase` tracks that.
458
- */
459
- function resolveTarget(entry, cwd) {
460
- const absolute = path$1.resolve(cwd, entry);
461
- try {
462
- return statSync(absolute).isFile() ? {
463
- root: absolute,
464
- rebaseBase: path$1.dirname(absolute)
465
- } : {
466
- root: absolute,
467
- rebaseBase: absolute
468
- };
469
- } catch {}
470
- const normalized = entry.replace(/\\/g, "/");
471
- const segments = normalized.split("/");
472
- const globIndex = segments.findIndex((segment$1) => GLOB_CHARS.test(segment$1));
473
- if (globIndex === -1) return {
474
- root: absolute,
475
- rebaseBase: absolute
476
- };
477
- const basePath = globIndex === 0 ? "." : segments.slice(0, globIndex).join("/");
478
- const glob = globIndex === 0 ? normalized : segments.slice(globIndex).join("/");
479
- const root = path$1.resolve(cwd, basePath);
480
- return {
481
- root,
482
- glob,
483
- rebaseBase: root
484
- };
485
- }
486
- /** Rebase a native-reported file path (relative to the target) to a cwd-relative POSIX path. */
487
- function rebaseNativePath(filePath, target, cwd) {
488
- const relative$1 = path$1.relative(cwd, path$1.resolve(target.rebaseBase, filePath));
489
- return (relative$1 === "" ? "." : relative$1).split(path$1.sep).join("/");
490
- }
491
- /** `ast_edit` — run the validated rewrite across every target, aggregating like upstream's `runAstEditTargets`. */
492
- async function executeAstEdit(args, ctx) {
493
- const natives = await nativesOrThrow();
494
- const cwd = ctxCwd(ctx);
495
- const record = argsRecord(args, "ast_edit");
496
- const rawOps = record.ops;
497
- if (!Array.isArray(rawOps) || rawOps.length === 0) throw new Error("ast_edit: `ops` must be a non-empty array of {pat, out} objects");
498
- const rewrites = {};
499
- rawOps.forEach((rawOp, index) => {
500
- if (rawOp === null || typeof rawOp !== "object" || Array.isArray(rawOp)) throw new Error(`ast_edit: ops[${index}] must be a {pat, out} object`);
501
- const op = rawOp;
502
- if (typeof op.pat !== "string" || op.pat.length === 0) throw new Error(`ast_edit: ops[${index}].pat must be a non-empty pattern`);
503
- if (typeof op.out !== "string") throw new Error(`ast_edit: ops[${index}].out must be a string`);
504
- rewrites[op.pat] = op.out;
505
- });
506
- const targets = stringArray(record.paths, "paths", "ast_edit").map((entry) => resolveTarget(entry, cwd));
507
- const dryRun = optionalBoolean(record.dryRun, "dryRun", "ast_edit") ?? true;
508
- const changes = [];
509
- const fileCounts = /* @__PURE__ */ new Map();
510
- const parseErrors = [];
511
- let totalReplacements = 0;
512
- let filesSearched = 0;
513
- let limitReached = false;
514
- let applied = !dryRun;
515
- for (const target of targets) {
516
- const result = await natives.astEdit({
517
- rewrites,
518
- path: target.root,
519
- glob: target.glob,
520
- dryRun,
521
- maxFiles: MAX_FILES,
522
- failOnParseError: false
523
- });
524
- totalReplacements += result.totalReplacements;
525
- filesSearched += result.filesSearched;
526
- limitReached = limitReached || result.limitReached;
527
- applied = applied && result.applied;
528
- if (result.parseErrors !== void 0) parseErrors.push(...result.parseErrors);
529
- for (const change of result.changes) changes.push({
530
- ...change,
531
- path: rebaseNativePath(change.path, target, cwd)
532
- });
533
- for (const fileChange of result.fileChanges) {
534
- const rebased = rebaseNativePath(fileChange.path, target, cwd);
535
- fileCounts.set(rebased, (fileCounts.get(rebased) ?? 0) + fileChange.count);
536
- }
537
- }
538
- const fileChanges = [...fileCounts].map(([filePath, count]) => ({
539
- path: filePath,
540
- count
541
- }));
542
- return {
543
- changes,
544
- fileChanges,
545
- totalReplacements,
546
- filesTouched: fileChanges.length,
547
- filesSearched,
548
- applied,
549
- limitReached,
550
- ...parseErrors.length > 0 ? { parseErrors } : {}
551
- };
552
- }
553
- /** `ast_grep` — pass patterns/path/offset/limit/includeMeta straight to the native, rebase match paths. */
554
- async function executeAstGrep(args, ctx) {
555
- const natives = await nativesOrThrow();
556
- const cwd = ctxCwd(ctx);
557
- const record = argsRecord(args, "ast_grep");
558
- const patterns = stringArray(record.patterns, "patterns", "ast_grep");
559
- const rawPath = record.path;
560
- if (rawPath !== void 0 && typeof rawPath !== "string") throw new Error("ast_grep: `path` must be a string");
561
- const target = resolveTarget(rawPath !== void 0 && rawPath.length > 0 ? rawPath : ".", cwd);
562
- const offset = optionalCount(record.offset, "offset", "ast_grep");
563
- const limit = optionalCount(record.limit, "limit", "ast_grep");
564
- const includeMeta = optionalBoolean(record.includeMeta, "includeMeta", "ast_grep");
565
- const result = await natives.astGrep({
566
- patterns,
567
- path: target.root,
568
- ...target.glob !== void 0 ? { glob: target.glob } : {},
569
- ...offset !== void 0 ? { offset } : {},
570
- ...limit !== void 0 ? { limit } : {},
571
- ...includeMeta !== void 0 ? { includeMeta } : {}
572
- });
573
- const matches = result.matches.map((match) => ({
574
- ...match,
575
- path: rebaseNativePath(match.path, target, cwd)
576
- }));
577
- return {
578
- ...result,
579
- matches
580
- };
581
- }
582
- /** Mount both ast devices on the registry (defaults to the real dvc registry). */
583
- function registerAstDevices(registry = { registerDvcDevice }) {
584
- registry.registerDvcDevice("ast_edit", {
585
- summary: summaries.ast_edit,
586
- execute: executeAstEdit
587
- });
588
- registry.registerDvcDevice("ast_grep", {
589
- summary: summaries.ast_grep,
590
- execute: executeAstGrep
591
- });
592
- }
593
- /** Roster summaries for the device nameplate — one line per device. */
594
- const summaries = {
595
- ast_edit: "AST-aware structural rewrite: {ops: [{pat, out}], paths: string[], dryRun?: boolean} — ast-grep patterns; dryRun defaults true, set false to write files",
596
- ast_grep: "AST pattern search: {patterns: string[], path?: string, offset?: number, limit?: number, includeMeta?: boolean} — returns structured matches with optional meta variables"
597
- };
598
-
599
1425
  //#endregion
600
1426
  //#region src/devices/browser/browser-device.ts
601
1427
  let puppeteerModule;
@@ -609,7 +1435,7 @@ const PUPPETEER_CORE_VERSION = "25.3.0";
609
1435
  */
610
1436
  async function loadPuppeteer() {
611
1437
  if (puppeteerModule === void 0) try {
612
- puppeteerModule = await import("../puppeteer-core-BIIJGWPE.js");
1438
+ puppeteerModule = await import("../puppeteer-core-Bliv_vNf.js");
613
1439
  } catch {
614
1440
  try {
615
1441
  puppeteerModule = await import(pathToFileURL((await ensureVendored({
@@ -1674,7 +2500,7 @@ function ensureMustHave(gate, language) {
1674
2500
  if (!MUST_HAVE.has(language) || gate.installTried.has(language)) return;
1675
2501
  gate.installTried.add(language);
1676
2502
  (async () => {
1677
- const registry = await import("../lsp-server-registry-LUjrrLxk.js");
2503
+ const registry = await import("../lsp-server-registry-BcdkHROD.js");
1678
2504
  const probePath = `/tmp/x.${language === "python" ? "py" : "ts"}`;
1679
2505
  const primary = registry.primaryServerForFile(probePath);
1680
2506
  if (primary === null) return;
@@ -2363,7 +3189,7 @@ async function lspDeviceRead(subpath, session) {
2363
3189
  if (parsed === void 0) return `unknown read path dvc://lsp/${subpath} — reads: status | diagnostics?file=…[&all=1] | definition?file=&line=[&character=|&symbol=] | references?… | hover?…`;
2364
3190
  if (parsed.action === "status") {
2365
3191
  const availability = {};
2366
- const registry = await import("../lsp-server-registry-LUjrrLxk.js");
3192
+ const registry = await import("../lsp-server-registry-BcdkHROD.js");
2367
3193
  for (const language of [
2368
3194
  "python",
2369
3195
  "typescript",
@@ -2419,35 +3245,11 @@ function installLspDevices(registry = registerDvcDevice) {
2419
3245
  //#endregion
2420
3246
  //#region src/devices/ast/ast-reminder.ts
2421
3247
  /**
2422
- * AST-capable extension set — empirically probed against the shipped
2423
- * pi-natives binary (2026-09-27): grouped by grammar family. TS family and
2424
- * header files ride the same grammars as their proven siblings.
3248
+ * AST-capable extension set —— 从引擎的语言面**派生**(spec:单一真相源)。
3249
+ * 2026-09-27 那版是对 shipped 二进制逐扩展实测的快照;引擎内置后两者必然
3250
+ * 一致,不再人工维护第二份。
2425
3251
  */
2426
- const AST_CODE_EXTENSIONS = new Set([
2427
- ".py",
2428
- ".pyi",
2429
- ".js",
2430
- ".jsx",
2431
- ".mjs",
2432
- ".cjs",
2433
- ".ts",
2434
- ".tsx",
2435
- ".mts",
2436
- ".cts",
2437
- ".rs",
2438
- ".go",
2439
- ".c",
2440
- ".cpp",
2441
- ".h",
2442
- ".hpp",
2443
- ".html",
2444
- ".css",
2445
- ".json",
2446
- ".yaml",
2447
- ".yml",
2448
- ".sh",
2449
- ".rb"
2450
- ]);
3252
+ const AST_CODE_EXTENSIONS = new Set(Object.keys(EXTENSION_TO_LANGUAGE));
2451
3253
  /** Reminders per agent session (user ruling 2026-09-27: five is enough). */
2452
3254
  const AST_REMINDER_CAP = 5;
2453
3255
  /** The one-line availability notice (single line, both dvc:// devices). */
@@ -3223,14 +4025,14 @@ const SECTION_FILE = "url-schemes-instruction.md";
3223
4025
  * when the package's own file is absent.
3224
4026
  */
3225
4027
  function loadSectionText() {
3226
- const here$1 = fileURLToPath(import.meta.url);
3227
- let dir = dirname(here$1);
4028
+ const here = fileURLToPath(import.meta.url);
4029
+ let dir = dirname(here);
3228
4030
  for (;;) {
3229
4031
  try {
3230
4032
  return readFileSync(join(dir, SECTION_FILE), "utf8");
3231
4033
  } catch {}
3232
4034
  const parent = dirname(dir);
3233
- if (parent === dir) throw new Error(`${SECTION_FILE} not found from ${here$1} — it must ship with the package (package.json "files")`);
4035
+ if (parent === dir) throw new Error(`${SECTION_FILE} not found from ${here} — it must ship with the package (package.json "files")`);
3234
4036
  dir = parent;
3235
4037
  }
3236
4038
  }
@@ -3263,8 +4065,8 @@ function splitSkillPath(path$2) {
3263
4065
  /** Join `subpath` under the skill's resource directory, rejecting escapes. */
3264
4066
  function resolveResourcePath(baseDir, subpath) {
3265
4067
  const full = join(baseDir, subpath);
3266
- const rel = relative(baseDir, full);
3267
- if (rel === "" || rel === ".." || rel.startsWith("../")) throw new UrlSchemesError("URL_SKILL_RESOURCE_ESCAPE", `skill resource path "${subpath}" escapes its directory`);
4068
+ const rel$1 = relative(baseDir, full);
4069
+ if (rel$1 === "" || rel$1 === ".." || rel$1.startsWith("../")) throw new UrlSchemesError("URL_SKILL_RESOURCE_ESCAPE", `skill resource path "${subpath}" escapes its directory`);
3268
4070
  return full;
3269
4071
  }
3270
4072
  /**
@@ -11407,10 +12209,10 @@ function apply(ctx, config) {
11407
12209
  installLspDevices();
11408
12210
  const httpHandler = createHttpHandler();
11409
12211
  for (const scheme of HTTP_SCHEMES) resolver.register(scheme, httpHandler);
11410
- const registered = /* @__PURE__ */ new WeakSet();
12212
+ const registered$1 = /* @__PURE__ */ new WeakSet();
11411
12213
  ctx.on("agent/created", ({ agent }) => {
11412
- if (registered.has(agent)) return void 0;
11413
- registered.add(agent);
12214
+ if (registered$1.has(agent)) return void 0;
12215
+ registered$1.add(agent);
11414
12216
  installAgentTools(ctx, agent, resolver, resolveGates(config)).catch((error) => {
11415
12217
  ctx.logger("dsh-url-schemes").warn(`failed to install URL-aware tools for agent ${agent.id}: ${error instanceof Error ? error.message : String(error)}`);
11416
12218
  });