better-dsh 0.2.5 → 0.3.0-c

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 (1002) hide show
  1. package/README.md +27 -3
  2. package/THIRD_PARTY_NOTICES.md +52 -0
  3. package/cordis.patch.yml +44 -0
  4. package/docs/20_specs/ast/spec.md +26 -3
  5. package/docs/20_specs/dvc/spec.md +20 -1
  6. package/docs/50_test-reports/2026-10-02-better-dsh-schemastery/344/276/235/350/265/226/345/243/260/346/230/216/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +62 -0
  7. 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
  8. 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 +185 -0
  9. 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
  10. package/docs/50_test-reports/2026-10-03-physical-import/344/270/216llm-completion-ast/347/233/270/345/257/271/350/267/257/345/276/204/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +101 -0
  11. package/docs/50_test-reports/2026-10-03-pnpm11/345/271/264/351/276/204/351/227/250/351/224/201/346/226/207/344/273/266/347/233/270/344/275/215/345/256/236/350/257/201.md +54 -0
  12. 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 +447 -0
  13. package/docs/50_test-reports/2026-10-03-schemastery-cosmokit/346/272/220/347/240/201/345/206/205/350/201/224/345/256/236/346/265/213/346/212/245/345/221/212.md +63 -0
  14. package/docs/50_test-reports/2026-10-03-zero-npm-runtime-deps/345/256/236/346/265/213/346/212/245/345/221/212.md +82 -0
  15. 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
  16. 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
  17. package/docs/50_test-reports/2026-10-06-authentication-only-web-admission-4999.md +63 -0
  18. package/docs/50_test-reports/2026-10-07-better-dsh-welcome-self-contained-4999.md +52 -0
  19. package/docs/dev-test-environment-notes.md +137 -0
  20. package/docs/specs/ast/spec.md +26 -3
  21. package/docs/specs/ast-engine-deomp/spec.md +170 -0
  22. package/docs/specs/authentication-only-web-admission/spec.md +51 -0
  23. package/docs/specs/docs-packaging-trim/spec.md +110 -0
  24. package/docs/specs/dvc/spec.md +20 -1
  25. package/docs/specs/remote-pty-label/spec.md +126 -0
  26. package/docs/specs/welcome-self-contained/spec.md +13 -0
  27. package/docs/specs/zero-npm-runtime-deps/spec.md +85 -0
  28. package/docs/superpowers/plans/2026-10-03-ast-engine-deomp.md +1214 -0
  29. package/docs/superpowers/plans/2026-10-03-docs-packaging-trim.md +181 -0
  30. package/dsh-docs/baseline.md +13 -0
  31. package/dsh-docs/subsystems/invariants.md +3 -0
  32. package/dsh-docs/subsystems/invariants.zh.md +3 -0
  33. package/lib/BrowserWebSocketTransport-D1aFReu_.js +4 -0
  34. package/lib/BrowserWebSocketTransport-wm99h94r.js +39 -0
  35. package/lib/LaunchOptions-B874eBu2.js +4 -0
  36. package/lib/LaunchOptions-kGXcZOe0.js +17 -0
  37. package/lib/NodeWebSocketTransport-BRLjmu2R.js +4 -0
  38. package/lib/NodeWebSocketTransport-D9ysYGLM.js +3634 -0
  39. package/lib/ast-assets/ast-grep.wasm +0 -0
  40. package/lib/ast-assets/tree-sitter-bash.wasm +0 -0
  41. package/lib/ast-assets/tree-sitter-c.wasm +0 -0
  42. package/lib/ast-assets/tree-sitter-cpp.wasm +0 -0
  43. package/lib/ast-assets/tree-sitter-css.wasm +0 -0
  44. package/lib/ast-assets/tree-sitter-go.wasm +0 -0
  45. package/lib/ast-assets/tree-sitter-html.wasm +0 -0
  46. package/lib/ast-assets/tree-sitter-javascript.wasm +0 -0
  47. package/lib/ast-assets/tree-sitter-json.wasm +0 -0
  48. package/lib/ast-assets/tree-sitter-python.wasm +0 -0
  49. package/lib/ast-assets/tree-sitter-ruby.wasm +0 -0
  50. package/lib/ast-assets/tree-sitter-rust.wasm +0 -0
  51. package/lib/ast-assets/tree-sitter-tsx.wasm +0 -0
  52. package/lib/ast-assets/tree-sitter-typescript.wasm +0 -0
  53. package/lib/ast-assets/tree-sitter-yaml.wasm +0 -0
  54. package/lib/ast-assets/tree-sitter.wasm +0 -0
  55. package/lib/bidi-BalpKaJc.js +16106 -0
  56. package/lib/bundle-delivery.d.ts +20 -0
  57. package/lib/bundle-delivery.js +212 -0
  58. package/lib/chunk-DQxbwPpZ.js +30 -0
  59. package/lib/client/index.js +2 -2
  60. package/lib/compaction/index.d.ts +3 -3
  61. package/lib/compaction/index.js +4 -4
  62. package/lib/failover/index.d.ts +3 -3
  63. package/lib/failover/index.js +5 -5
  64. package/lib/fs-aware/sandbox-plugin.js +22 -22
  65. package/lib/hmr.d.ts +32 -0
  66. package/lib/hmr.js +49 -0
  67. package/lib/index-DTDXUe6m.d.ts +208 -0
  68. package/lib/index-browser-CysrjMyM.js +21061 -0
  69. package/lib/index.d.ts +4 -4
  70. package/lib/index.js +399 -151
  71. package/lib/kernel-bridge.py +172 -0
  72. package/lib/{kernel-env-hxaihi9C.js → kernel-env-D8UOWeji.js} +2 -2
  73. package/lib/kernel-env.js +1 -1
  74. package/lib/lib-C8_jXvwA.js +894 -0
  75. package/lib/{lsp-server-registry-XU6aHSqZ.js → lsp-server-registry-BXvUTBY7.js} +1 -1
  76. package/lib/{lsp-server-registry-946ysdqg.js → lsp-server-registry-CH9WNFFt.js} +13 -13
  77. package/lib/main-BQeFrBM1.js +3 -0
  78. package/lib/main-CupOhMp5.js +1432 -0
  79. package/lib/mobile/plugin.d.ts +4 -4
  80. package/lib/mobile/plugin.js +10 -10
  81. package/lib/puppeteer-core-CSk2PtSm.js +1136 -0
  82. package/lib/py-sdk.js +1 -1
  83. package/lib/remote/plugin.d.ts +3 -3
  84. package/lib/remote/plugin.js +151 -56
  85. package/lib/url-schemes/index.d.ts +11 -11
  86. package/lib/url-schemes/index.js +5269 -501
  87. package/lib/util-BHL_dfV_.js +2953 -0
  88. package/lib/wasm_bg-CNXhHjVg.js +1291 -0
  89. package/lib/web-password.d.ts +7 -7
  90. package/lib/web-password.js +2 -2
  91. package/lib/web-tree-sitter-CPrPD4J2.js +3440 -0
  92. package/lib/{web-trust-BO66y72w.js → web-trust-D6gJpUMf.js} +41 -9
  93. package/lib/{web-trust-BihHCelF.d.ts → web-trust-Dej_RI2B.d.ts} +19 -12
  94. package/lib/web-trust.d.ts +2 -1
  95. package/lib/web-trust.js +2 -1
  96. package/lib/webserver.d.ts +10 -0
  97. package/lib/webserver.js +19 -0
  98. package/lib/welcome-notice.d.ts +18 -0
  99. package/lib/welcome-notice.js +59 -0
  100. package/lib/{wrap-Bzdimp4p.js → wrap-T4I0nfPM.js} +55 -52
  101. package/package.json +93 -46
  102. package/scripts/register-bundle.mjs +80 -0
  103. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/MdxPage-CTY7atqe.js +0 -11
  104. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/extract_omp.mjs +0 -42
  105. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/fetch_pi.py +0 -52
  106. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/jsx-runtime-BHwPObl3.js +0 -13
  107. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/omp_extracted.json +0 -1
  108. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/omp_pages.txt +0 -35
  109. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/package.json +0 -1
  110. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/pi_convert.py +0 -49
  111. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/pi_pages.txt +0 -30
  112. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/serialize_omp.py +0 -250
  113. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/README.md +0 -80
  114. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/Overview.md +0 -88
  115. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/acp.md +0 -151
  116. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/advisor.md +0 -185
  117. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/agents-and-roles.md +0 -168
  118. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/approvals.md +0 -200
  119. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/cli.md +0 -381
  120. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/code-intelligence.md +0 -225
  121. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/collab.md +0 -207
  122. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/commit.md +0 -169
  123. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/compaction.md +0 -195
  124. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/computer.md +0 -224
  125. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/context-files.md +0 -184
  126. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/custom-models.md +0 -284
  127. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/custom-tools.md +0 -248
  128. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/debugging.md +0 -254
  129. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/editing.md +0 -157
  130. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/env.md +0 -552
  131. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/extension-authoring.md +0 -378
  132. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/files.md +0 -144
  133. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/github.md +0 -175
  134. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/goal.md +0 -156
  135. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/handoff.md +0 -139
  136. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/hooks.md +0 -257
  137. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/keybindings.md +0 -204
  138. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/magic-keywords.md +0 -135
  139. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/marketplace.md +0 -269
  140. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/mcp-authoring.md +0 -243
  141. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/mcp.md +0 -260
  142. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/memory.md +0 -306
  143. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/modes.md +0 -214
  144. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/pages.txt +0 -56
  145. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/plan.md +0 -126
  146. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/plugins.md +0 -287
  147. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/prewalk.md +0 -122
  148. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/prompt-templates.md +0 -149
  149. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/providers.md +0 -229
  150. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/quickstart.md +0 -117
  151. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/review.md +0 -248
  152. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/roles.md +0 -247
  153. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/rpc.md +0 -523
  154. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/sdk.md +0 -260
  155. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/secrets.md +0 -199
  156. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/security.md +0 -260
  157. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/session-format.md +0 -254
  158. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/session-tree.md +0 -135
  159. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/sessions.md +0 -223
  160. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/settings.md +0 -290
  161. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/skills.md +0 -187
  162. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/slash.md +0 -328
  163. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/subagent-authoring.md +0 -165
  164. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/subagents.md +0 -149
  165. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/themes.md +0 -230
  166. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/tools.md +0 -120
  167. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/ttsr.md +0 -242
  168. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/using.md +0 -214
  169. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/vibe.md +0 -187
  170. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/web.md +0 -233
  171. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/compaction.md +0 -427
  172. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/containerization.md +0 -162
  173. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/custom-provider.md +0 -782
  174. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/development.md +0 -96
  175. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/environment-variables.md +0 -104
  176. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/extensions.md +0 -3058
  177. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/index.md +0 -89
  178. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/json.md +0 -105
  179. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/keybindings.md +0 -244
  180. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/llama-cpp.md +0 -106
  181. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/models.md +0 -587
  182. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/packages.md +0 -234
  183. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/pages.txt +0 -30
  184. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/prompt-templates.md +0 -101
  185. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/providers.md +0 -327
  186. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/quickstart.md +0 -172
  187. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/rpc.md +0 -1679
  188. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/sdk.md +0 -1239
  189. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/security.md +0 -64
  190. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/session-format.md +0 -454
  191. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/sessions.md +0 -150
  192. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/settings.md +0 -374
  193. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/shell-aliases.md +0 -18
  194. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/skills.md +0 -241
  195. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/terminal-setup.md +0 -199
  196. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/termux.md +0 -135
  197. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/themes.md +0 -328
  198. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/tmux.md +0 -68
  199. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/tui.md +0 -965
  200. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/usage.md +0 -315
  201. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/windows.md +0 -44
  202. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/src-scripts/crawl.py +0 -103
  203. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/src-scripts/docs-tree.json +0 -82965
  204. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/src-scripts/download.py +0 -56
  205. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/src-scripts/gen_mapping.py +0 -125
  206. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/src-scripts/pages.json +0 -232
  207. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/api-plugins.json +0 -1
  208. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/api-skills.json +0 -4
  209. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/_category_.json +0 -8
  210. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/acp-internals.md +0 -181
  211. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/adding-platform-adapters.md +0 -788
  212. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/adding-providers.md +0 -464
  213. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/adding-tools.md +0 -211
  214. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/agent-loop.md +0 -242
  215. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/architecture.md +0 -279
  216. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/billing-lifecycle.md +0 -184
  217. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/browser-provider-plugin.md +0 -153
  218. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/browser-supervisor.md +0 -198
  219. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/chronos-managed-cron-contract.md +0 -227
  220. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/cli-internals.md +0 -85
  221. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/codebase-ownership.md +0 -34
  222. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/completion-backlog-delivery.md +0 -52
  223. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/context-compression-and-caching.md +0 -642
  224. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/context-engine-plugin.md +0 -272
  225. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/contributing.md +0 -303
  226. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/creating-skills.md +0 -438
  227. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/cron-internals.md +0 -380
  228. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/desktop-plugin-sdk.md +0 -952
  229. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/egress-internals.md +0 -319
  230. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/extending-the-cli.md +0 -192
  231. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/gateway-internals.md +0 -297
  232. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/gateway-monitoring.md +0 -309
  233. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/gateway-session-lifecycle.md +0 -621
  234. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/image-gen-provider-plugin.md +0 -316
  235. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/memory-provider-plugin.md +0 -452
  236. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/micro-compaction.md +0 -406
  237. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/middleware.md +0 -266
  238. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/model-provider-plugin.md +0 -327
  239. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/multiplexing-gateway.md +0 -228
  240. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/observer-hooks.md +0 -331
  241. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/plugin-llm-access.md +0 -506
  242. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/plugins/index.md +0 -1775
  243. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/programmatic-integration.md +0 -212
  244. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/prompt-assembly.md +0 -328
  245. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/provider-runtime.md +0 -222
  246. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/relay-connector-contract.md +0 -790
  247. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/relay-shared-metrics.md +0 -487
  248. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/secret-source-plugin.md +0 -192
  249. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/session-storage.md +0 -523
  250. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/state-db-recovery.md +0 -107
  251. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/streaming-tts.md +0 -98
  252. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/subagent-lifecycle-api.md +0 -61
  253. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/terminal-environment-plugin.md +0 -140
  254. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/tools-runtime.md +0 -250
  255. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/trajectory-format.md +0 -232
  256. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/video-gen-provider-plugin.md +0 -231
  257. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/web-search-provider-plugin.md +0 -260
  258. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/worktree-ui-dev.md +0 -168
  259. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/getting-started/_category_.json +0 -8
  260. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/getting-started/installation.md +0 -200
  261. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/getting-started/learning-path.md +0 -169
  262. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/getting-started/nix-setup.md +0 -1234
  263. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/getting-started/platform-support.md +0 -50
  264. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/getting-started/quickstart.md +0 -399
  265. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/getting-started/termux.md +0 -301
  266. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/getting-started/updating.md +0 -374
  267. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/_category_.json +0 -6
  268. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/agent-email-address.md +0 -93
  269. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/automate-with-cron.md +0 -292
  270. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/automation-blueprints.md +0 -595
  271. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/aws-bedrock.md +0 -196
  272. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/azure-foundry.md +0 -334
  273. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/cron-script-only.md +0 -247
  274. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/cron-troubleshooting.md +0 -235
  275. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/daily-briefing-bot.md +0 -272
  276. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/delegation-patterns.md +0 -242
  277. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/desktop-native-signin.md +0 -125
  278. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/github-pr-review-agent.md +0 -303
  279. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/google-gemini.md +0 -270
  280. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/google-vertex.md +0 -148
  281. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/local-llm-on-mac.md +0 -252
  282. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/local-ollama-setup.md +0 -338
  283. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/manage-hermes-cloud-with-mcp.md +0 -176
  284. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/microsoft-graph-app-registration.md +0 -180
  285. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/migrate-from-openclaw.md +0 -252
  286. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/minimax-oauth.md +0 -226
  287. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/oauth-over-ssh.md +0 -172
  288. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/operate-teams-meeting-pipeline.md +0 -295
  289. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/pipe-script-output.md +0 -249
  290. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/python-library.md +0 -333
  291. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/run-hermes-with-nous-portal.md +0 -276
  292. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/run-nemotron-3-ultra-free.md +0 -123
  293. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/secure-hermes-on-a-work-machine.md +0 -182
  294. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/team-telegram-assistant.md +0 -441
  295. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/tips.md +0 -238
  296. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/troubleshooting-agent-quality.md +0 -145
  297. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/use-mcp-with-hermes.md +0 -541
  298. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/use-soul-with-hermes.md +0 -264
  299. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/use-voice-mode-with-hermes.md +0 -473
  300. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/webhook-github-pr-review.md +0 -336
  301. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/work-with-skills.md +0 -290
  302. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/xai-grok-oauth.md +0 -243
  303. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/index.mdx +0 -155
  304. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/integrations/buzz.md +0 -57
  305. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/integrations/index.md +0 -126
  306. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/integrations/nous-portal.md +0 -286
  307. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/integrations/providers.md +0 -1681
  308. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/_category_.json +0 -8
  309. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/automation-blueprints-catalog.mdx +0 -36
  310. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/cli-commands.md +0 -1900
  311. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/cli-symbols.md +0 -126
  312. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/environment-variables.md +0 -952
  313. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/faq.md +0 -874
  314. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/mcp-config-reference.md +0 -439
  315. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/model-catalog.md +0 -121
  316. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/optional-skills-catalog.md +0 -303
  317. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/profile-commands.md +0 -544
  318. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/skills-catalog.md +0 -132
  319. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/slash-commands.md +0 -336
  320. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/tools-reference.md +0 -399
  321. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/toolsets-reference.md +0 -171
  322. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/_category_.json +0 -8
  323. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/bot-mode.md +0 -309
  324. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/checkpoints-and-rollback.md +0 -283
  325. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/cli.md +0 -591
  326. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/configuration.md +0 -2901
  327. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/configuring-models.md +0 -414
  328. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/desktop.md +0 -728
  329. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/docker.md +0 -896
  330. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/egress/index.md +0 -10
  331. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/egress/iron-proxy.md +0 -570
  332. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/egress/network-isolation.md +0 -201
  333. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/_category_.json +0 -8
  334. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/acp.md +0 -407
  335. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/api-server.md +0 -810
  336. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/batch-processing.md +0 -230
  337. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/browser.md +0 -901
  338. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/built-in-plugins.md +0 -366
  339. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/code-execution.md +0 -319
  340. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/codex-app-server-runtime.md +0 -460
  341. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/computer-use.md +0 -636
  342. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/context-files.md +0 -237
  343. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/context-references.md +0 -142
  344. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/credential-pools.md +0 -308
  345. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/credential-vault.md +0 -122
  346. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/cron.md +0 -1262
  347. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/curator.md +0 -409
  348. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/delegation.md +0 -664
  349. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/deliverable-mode.md +0 -134
  350. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/document-extraction.md +0 -58
  351. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/extending-the-dashboard.md +0 -927
  352. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/fallback-providers.md +0 -444
  353. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/goals.md +0 -293
  354. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/heartbeat.md +0 -68
  355. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/honcho.md +0 -276
  356. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/hooks.md +0 -2007
  357. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/image-generation.md +0 -347
  358. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/kanban-multi-gateway.md +0 -52
  359. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/kanban-tutorial.md +0 -310
  360. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/kanban-worker-lanes.md +0 -142
  361. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/kanban.md +0 -1327
  362. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/loops.md +0 -122
  363. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/lsp.md +0 -307
  364. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/mcp.md +0 -957
  365. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/memory-providers.md +0 -699
  366. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/memory.md +0 -466
  367. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/mixture-of-agents.md +0 -246
  368. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/overview.md +0 -57
  369. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/personality.md +0 -289
  370. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/pets.md +0 -236
  371. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/plugin-catalog.md +0 -212
  372. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/plugins.md +0 -847
  373. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/provider-routing.md +0 -229
  374. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/skills.md +0 -1112
  375. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/skins.md +0 -271
  376. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/spotify.md +0 -279
  377. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/subscription-proxy.md +0 -203
  378. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/tool-gateway.md +0 -223
  379. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/tool-search.md +0 -277
  380. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/tools.md +0 -261
  381. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/tts.md +0 -744
  382. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/vision.md +0 -214
  383. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/voice-mode.md +0 -608
  384. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/wake-word.md +0 -343
  385. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/web-dashboard.md +0 -1206
  386. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/web-search.md +0 -506
  387. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/x-search.md +0 -167
  388. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/git-worktrees.md +0 -196
  389. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/import-from-other-agents.md +0 -74
  390. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/local-models.md +0 -140
  391. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/managed-scope.md +0 -157
  392. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/_category_.json +0 -8
  393. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/a2a.md +0 -130
  394. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/bluebubbles.md +0 -171
  395. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/buzz.md +0 -162
  396. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/dingtalk.md +0 -283
  397. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/discord.md +0 -936
  398. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/email.md +0 -223
  399. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/feishu.md +0 -599
  400. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/google_chat.md +0 -430
  401. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/homeassistant.md +0 -269
  402. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/index.md +0 -859
  403. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/irc.md +0 -78
  404. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/line.md +0 -201
  405. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/matrix.md +0 -910
  406. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/mattermost.md +0 -340
  407. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/msgraph-webhook.md +0 -142
  408. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/ntfy.md +0 -157
  409. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/open-webui.md +0 -296
  410. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/photon.md +0 -255
  411. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/qqbot.md +0 -123
  412. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/raft.md +0 -70
  413. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/relay.md +0 -212
  414. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/signal.md +0 -262
  415. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/simplex.md +0 -151
  416. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/slack.md +0 -1093
  417. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/sms.md +0 -203
  418. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/teams-meetings.md +0 -242
  419. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/teams.md +0 -288
  420. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/telegram.md +0 -1373
  421. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/webhooks.md +0 -694
  422. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/wecom-callback.md +0 -179
  423. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/wecom.md +0 -306
  424. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/weixin.md +0 -333
  425. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/whatsapp-cloud.md +0 -417
  426. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/whatsapp.md +0 -283
  427. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/yuanbao.md +0 -342
  428. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/multi-connection-desktop.md +0 -361
  429. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/multi-profile-gateways.md +0 -1062
  430. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/profile-distributions.md +0 -757
  431. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/profiles.md +0 -418
  432. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/secrets/bitwarden.md +0 -155
  433. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/secrets/command.md +0 -50
  434. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/secrets/index.md +0 -50
  435. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/secrets/onepassword.md +0 -169
  436. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/security.md +0 -892
  437. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/sessions.md +0 -990
  438. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/apple/apple-apple-notes.md +0 -110
  439. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/apple/apple-apple-reminders.md +0 -146
  440. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/apple/apple-findmy.md +0 -149
  441. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/apple/apple-imessage.md +0 -118
  442. 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
  443. 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
  444. 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
  445. 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
  446. 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
  447. 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
  448. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-architecture-diagram.md +0 -165
  449. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-ascii-art.md +0 -338
  450. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-ascii-video.md +0 -265
  451. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-baoyu-infographic.md +0 -256
  452. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-claude-design.md +0 -668
  453. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-comfyui.md +0 -616
  454. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-design-md.md +0 -238
  455. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-excalidraw.md +0 -212
  456. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-humanizer.md +0 -663
  457. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-manim-video.md +0 -292
  458. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-p5js.md +0 -576
  459. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-popular-web-designs.md +0 -223
  460. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-pretext.md +0 -238
  461. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-sketch.md +0 -240
  462. 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
  463. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/devops/devops-sdlc-review.md +0 -195
  464. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/email/email-email-inbox-triage.md +0 -115
  465. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/email/email-himalaya.md +0 -319
  466. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/github/github-codebase-inspection.md +0 -132
  467. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/github/github-github-auth.md +0 -265
  468. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/github/github-github-code-review.md +0 -499
  469. 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
  470. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/github/github-github-issues.md +0 -388
  471. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/github/github-github-pr-workflow.md +0 -385
  472. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/github/github-github-repo-management.md +0 -534
  473. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/media/media-gif-search.md +0 -106
  474. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/media/media-songsee.md +0 -98
  475. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/media/media-youtube-content.md +0 -100
  476. 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
  477. 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
  478. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/mlops/mlops-huggingface-hub.md +0 -100
  479. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/mlops/mlops-inference-llama-cpp.md +0 -267
  480. 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
  481. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/note-taking/note-taking-obsidian.md +0 -85
  482. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-airtable.md +0 -243
  483. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-box.md +0 -132
  484. 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
  485. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-docx.md +0 -213
  486. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-google-workspace.md +0 -348
  487. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-maps.md +0 -210
  488. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-meeting-action-items.md +0 -105
  489. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-nano-pdf.md +0 -70
  490. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-notion.md +0 -463
  491. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-ocr-and-documents.md +0 -193
  492. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-pdf.md +0 -142
  493. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-powerpoint.md +0 -237
  494. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-product-price-monitor.md +0 -97
  495. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-session-librarian.md +0 -122
  496. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-teams-meeting-pipeline.md +0 -129
  497. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-weekly-review-planning.md +0 -99
  498. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-xlsx.md +0 -213
  499. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/research/research-arxiv.md +0 -300
  500. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/research/research-blocked-page-recovery.md +0 -155
  501. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/research/research-blogwatcher.md +0 -152
  502. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/research/research-competitor-news-monitor.md +0 -106
  503. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/research/research-grounded-citations.md +0 -274
  504. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/research/research-llm-wiki.md +0 -526
  505. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/research/research-research-paper-writing.md +0 -1645
  506. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/smart-home/smart-home-openhue.md +0 -127
  507. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/social-media/social-media-xurl.md +0 -450
  508. 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
  509. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/software-development/software-development-dogfood.md +0 -183
  510. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/software-development/software-development-github.md +0 -73
  511. 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
  512. 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
  513. 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
  514. 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
  515. 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
  516. 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
  517. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/software-development/software-development-spike.md +0 -217
  518. 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
  519. 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
  520. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/web/web-blocked-page-recovery.md +0 -155
  521. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/google-workspace.md +0 -191
  522. 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
  523. 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
  524. 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
  525. 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
  526. 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
  527. 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
  528. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/blockchain/blockchain-evm.md +0 -227
  529. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/blockchain/blockchain-hyperliquid.md +0 -228
  530. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/blockchain/blockchain-solana.md +0 -225
  531. 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
  532. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-ai-presenter-video.md +0 -211
  533. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-archify.md +0 -66
  534. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-ascii-art.md +0 -338
  535. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-audiocraft-audio-generation.md +0 -588
  536. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-auteur.md +0 -195
  537. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-baoyu-article-illustrator.md +0 -225
  538. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-baoyu-comic.md +0 -264
  539. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-comfyui.md +0 -616
  540. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-concept-diagrams.md +0 -379
  541. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-creative-ideation.md +0 -192
  542. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-draw-your-font.md +0 -169
  543. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-dream-loop.md +0 -297
  544. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-excalidraw.md +0 -212
  545. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-heartmula.md +0 -191
  546. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-hyperframes.md +0 -222
  547. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-impeccable.md +0 -56
  548. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-ip-as-logo.md +0 -171
  549. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-kanban-video-orchestrator.md +0 -220
  550. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-meme-generation.md +0 -147
  551. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-mono-color.md +0 -158
  552. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-pixel-art.md +0 -234
  553. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-pretext.md +0 -238
  554. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-simple-english.md +0 -362
  555. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-sketch.md +0 -240
  556. 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
  557. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-system-atlas.md +0 -105
  558. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-tldraw-offline.md +0 -294
  559. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-unreal-mcp.md +0 -269
  560. 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
  561. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/devops/devops-actual-setup.md +0 -164
  562. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/devops/devops-docker-management.md +0 -298
  563. 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
  564. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/devops/devops-inference-sh-cli.md +0 -173
  565. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/devops/devops-pinggy-tunnel.md +0 -326
  566. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/devops/devops-setup-wizard-generator.md +0 -133
  567. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/devops/devops-watchers.md +0 -126
  568. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/dogfood/dogfood-adversarial-ux-test.md +0 -209
  569. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/email/email-agentmail.md +0 -104
  570. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-3-statement-model.md +0 -451
  571. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-comps-analysis.md +0 -682
  572. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-dcf-model.md +0 -1288
  573. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-excel-author.md +0 -262
  574. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-lbo-model.md +0 -309
  575. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-merger-model.md +0 -162
  576. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-polymarket.md +0 -97
  577. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-pptx-author.md +0 -191
  578. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-stocks.md +0 -112
  579. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/gaming/gaming-minecraft-modpack-server.md +0 -209
  580. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/gaming/gaming-pokemon-player.md +0 -240
  581. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/health/health-fitness-nutrition.md +0 -259
  582. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/health/health-neuroskill-bci.md +0 -470
  583. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mcp/mcp-fastmcp.md +0 -315
  584. 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
  585. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mcp/mcp-mcporter.md +0 -138
  586. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/migration/migration-openclaw-migration.md +0 -316
  587. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-accelerate.md +0 -366
  588. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-chroma.md +0 -425
  589. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-clip.md +0 -272
  590. 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
  591. 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
  592. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-faiss.md +0 -240
  593. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-flash-attention.md +0 -388
  594. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-guidance.md +0 -595
  595. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-huggingface-tokenizers.md +0 -535
  596. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-inference-llama-cpp.md +0 -267
  597. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-inference-outlines.md +0 -679
  598. 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
  599. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-instructor.md +0 -759
  600. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-lambda-labs.md +0 -568
  601. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-llava.md +0 -323
  602. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-modal.md +0 -368
  603. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-models-huggingface-hub.md +0 -100
  604. 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
  605. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-nemo-curator.md +0 -415
  606. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-obliteratus.md +0 -360
  607. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-peft.md +0 -452
  608. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-pinecone.md +0 -396
  609. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-pytorch-fsdp.md +0 -97
  610. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-pytorch-lightning.md +0 -365
  611. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-qdrant.md +0 -522
  612. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-research-dspy.md +0 -609
  613. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-saelens.md +0 -439
  614. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-simpo.md +0 -237
  615. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-slime.md +0 -486
  616. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-stable-diffusion.md +0 -542
  617. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-tensorrt-llm.md +0 -208
  618. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-torchtitan.md +0 -404
  619. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-training-axolotl.md +0 -181
  620. 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
  621. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-training-unsloth.md +0 -98
  622. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-whisper.md +0 -336
  623. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/payments/payments-mpp-agent.md +0 -142
  624. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/payments/payments-stripe-link-cli.md +0 -202
  625. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/payments/payments-stripe-projects.md +0 -138
  626. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-canvas.md +0 -114
  627. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-decision-questionnaire.md +0 -133
  628. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-here-now.md +0 -231
  629. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-live-dashboard.md +0 -126
  630. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-memento-flashcards.md +0 -336
  631. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-property-listings.md +0 -121
  632. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-shop.md +0 -238
  633. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-shopify.md +0 -377
  634. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-siyuan.md +0 -305
  635. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-telephony.md +0 -435
  636. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-bioinformatics.md +0 -254
  637. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-blogwatcher.md +0 -162
  638. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-darwinian-evolver.md +0 -217
  639. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-domain-intel.md +0 -121
  640. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-drug-discovery.md +0 -237
  641. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-duckduckgo-search.md +0 -255
  642. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-gitnexus-explorer.md +0 -232
  643. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-osint-investigation.md +0 -295
  644. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-parallel-cli.md +0 -411
  645. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-pinecone-research.md +0 -125
  646. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-qmd.md +0 -459
  647. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-research-paper-writing.md +0 -1645
  648. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-rss-feeds.md +0 -114
  649. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-scrapling.md +0 -351
  650. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-searxng-search.md +0 -212
  651. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/security/security-1password.md +0 -173
  652. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/security/security-godmode.md +0 -421
  653. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/security/security-oss-forensics.md +0 -426
  654. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/security/security-sherlock.md +0 -208
  655. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/security/security-unbroker.md +0 -331
  656. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/security/security-web-pentest.md +0 -337
  657. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/smart-home/smart-home-openhue.md +0 -127
  658. 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
  659. 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
  660. 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
  661. 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
  662. 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
  663. 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
  664. 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
  665. 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
  666. 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
  667. 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
  668. 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
  669. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/web-development/web-development-scrollcraft.md +0 -257
  670. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/yuanbao/yuanbao-yuanbao.md +0 -127
  671. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/tui.md +0 -313
  672. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/which-file-does-what.md +0 -57
  673. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/windows-native.md +0 -326
  674. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/windows-wsl-quickstart.md +0 -358
  675. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-stories.mdx +0 -10
  676. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docusaurus.config.ts +0 -210
  677. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/acp-internals.md +0 -181
  678. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/adding-platform-adapters.md +0 -686
  679. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/adding-providers.md +0 -459
  680. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/adding-tools.md +0 -209
  681. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/agent-loop.md +0 -239
  682. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/architecture.md +0 -277
  683. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/browser-supervisor.md +0 -160
  684. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/context-compression-and-caching.md +0 -328
  685. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/context-engine-plugin.md +0 -193
  686. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/contributing.md +0 -253
  687. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/creating-skills.md +0 -375
  688. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/cron-internals.md +0 -236
  689. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/extending-the-cli.md +0 -192
  690. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/gateway-internals.md +0 -267
  691. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/image-gen-provider-plugin.md +0 -288
  692. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/memory-provider-plugin.md +0 -258
  693. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/model-provider-plugin.md +0 -267
  694. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/plugin-llm-access.md +0 -401
  695. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/plugins/index.md +0 -1156
  696. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/programmatic-integration.md +0 -126
  697. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/prompt-assembly.md +0 -273
  698. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/provider-runtime.md +0 -208
  699. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/session-storage.md +0 -420
  700. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/tools-runtime.md +0 -236
  701. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/trajectory-format.md +0 -222
  702. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/video-gen-provider-plugin.md +0 -231
  703. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/web-search-provider-plugin.md +0 -260
  704. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/getting-started/installation.md +0 -204
  705. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/getting-started/learning-path.md +0 -154
  706. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/getting-started/nix-setup.md +0 -975
  707. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/getting-started/quickstart.md +0 -352
  708. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/getting-started/termux.md +0 -236
  709. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/getting-started/updating.md +0 -231
  710. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/automate-with-cron.md +0 -266
  711. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/automation-blueprints.md +0 -595
  712. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/aws-bedrock.md +0 -170
  713. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/azure-foundry.md +0 -334
  714. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/cron-script-only.md +0 -247
  715. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/cron-troubleshooting.md +0 -227
  716. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/daily-briefing-bot.md +0 -268
  717. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/delegation-patterns.md +0 -239
  718. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/github-pr-review-agent.md +0 -303
  719. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/google-gemini.md +0 -254
  720. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/local-llm-on-mac.md +0 -240
  721. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/local-ollama-setup.md +0 -317
  722. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/microsoft-graph-app-registration.md +0 -180
  723. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/migrate-from-openclaw.md +0 -244
  724. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/minimax-oauth.md +0 -228
  725. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/oauth-over-ssh.md +0 -96
  726. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/operate-teams-meeting-pipeline.md +0 -288
  727. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/pipe-script-output.md +0 -217
  728. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/python-library.md +0 -333
  729. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/run-hermes-with-nous-portal.md +0 -273
  730. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/team-telegram-assistant.md +0 -441
  731. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/tips.md +0 -234
  732. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/use-mcp-with-hermes.md +0 -490
  733. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/use-soul-with-hermes.md +0 -264
  734. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/use-voice-mode-with-hermes.md +0 -469
  735. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/webhook-github-pr-review.md +0 -329
  736. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/work-with-skills.md +0 -290
  737. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/xai-grok-oauth.md +0 -243
  738. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/index.mdx +0 -117
  739. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/integrations/buzz.md +0 -57
  740. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/integrations/index.md +0 -100
  741. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/integrations/nous-portal.md +0 -272
  742. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/integrations/providers.md +0 -1433
  743. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/cli-commands.md +0 -1259
  744. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/environment-variables.md +0 -678
  745. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/faq.md +0 -859
  746. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/mcp-config-reference.md +0 -250
  747. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/model-catalog.md +0 -103
  748. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/optional-skills-catalog.md +0 -220
  749. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/profile-commands.md +0 -467
  750. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/skills-catalog.md +0 -156
  751. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/slash-commands.md +0 -272
  752. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/tools-reference.md +0 -261
  753. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/toolsets-reference.md +0 -162
  754. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/checkpoints-and-rollback.md +0 -251
  755. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/cli.md +0 -445
  756. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/configuration.md +0 -1746
  757. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/configuring-models.md +0 -239
  758. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/docker.md +0 -595
  759. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/acp.md +0 -341
  760. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/api-server.md +0 -456
  761. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/batch-processing.md +0 -229
  762. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/browser.md +0 -629
  763. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/built-in-plugins.md +0 -269
  764. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/code-execution.md +0 -240
  765. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/codex-app-server-runtime.md +0 -441
  766. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/computer-use.md +0 -144
  767. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/context-files.md +0 -218
  768. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/context-references.md +0 -142
  769. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/credential-pools.md +0 -240
  770. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/cron.md +0 -761
  771. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/curator.md +0 -248
  772. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/delegation.md +0 -355
  773. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/deliverable-mode.md +0 -91
  774. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/extending-the-dashboard.md +0 -907
  775. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/fallback-providers.md +0 -408
  776. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/goals.md +0 -180
  777. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/honcho.md +0 -233
  778. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/hooks.md +0 -1388
  779. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/image-generation.md +0 -150
  780. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/kanban-tutorial.md +0 -308
  781. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/kanban-worker-lanes.md +0 -117
  782. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/kanban.md +0 -863
  783. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/lsp.md +0 -217
  784. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/mcp.md +0 -591
  785. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/memory-providers.md +0 -570
  786. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/memory.md +0 -233
  787. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/overview.md +0 -52
  788. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/personality.md +0 -271
  789. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/plugins.md +0 -346
  790. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/provider-routing.md +0 -200
  791. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/skills.md +0 -760
  792. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/skins.md +0 -271
  793. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/spotify.md +0 -279
  794. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/subscription-proxy.md +0 -163
  795. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/tool-gateway.md +0 -187
  796. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/tools.md +0 -223
  797. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/tts.md +0 -456
  798. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/vision.md +0 -210
  799. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/voice-mode.md +0 -521
  800. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/web-dashboard.md +0 -351
  801. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/web-search.md +0 -422
  802. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/x-search.md +0 -147
  803. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/git-worktrees.md +0 -173
  804. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/bluebubbles.md +0 -143
  805. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/dingtalk.md +0 -283
  806. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/discord.md +0 -843
  807. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/email.md +0 -190
  808. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/feishu.md +0 -538
  809. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/google_chat.md +0 -283
  810. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/homeassistant.md +0 -252
  811. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/index.md +0 -569
  812. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/line.md +0 -199
  813. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/matrix.md +0 -677
  814. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/mattermost.md +0 -340
  815. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/msgraph-webhook.md +0 -137
  816. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/ntfy.md +0 -155
  817. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/open-webui.md +0 -296
  818. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/qqbot.md +0 -123
  819. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/signal.md +0 -257
  820. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/simplex.md +0 -98
  821. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/slack.md +0 -614
  822. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/sms.md +0 -203
  823. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/teams-meetings.md +0 -233
  824. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/teams.md +0 -255
  825. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/telegram.md +0 -1241
  826. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/webhooks.md +0 -601
  827. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/wecom-callback.md +0 -149
  828. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/wecom.md +0 -292
  829. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/weixin.md +0 -312
  830. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/whatsapp.md +0 -236
  831. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/yuanbao.md +0 -341
  832. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/profile-distributions.md +0 -573
  833. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/profiles.md +0 -272
  834. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/secrets/bitwarden.md +0 -143
  835. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/secrets/index.md +0 -9
  836. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/security.md +0 -664
  837. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/sessions.md +0 -609
  838. 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
  839. 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
  840. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/apple/apple-findmy.md +0 -147
  841. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/apple/apple-imessage.md +0 -118
  842. 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
  843. 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
  844. 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
  845. 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
  846. 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
  847. 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
  848. 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
  849. 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
  850. 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
  851. 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
  852. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-comfyui.md +0 -547
  853. 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
  854. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-excalidraw.md +0 -210
  855. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-humanizer.md +0 -594
  856. 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
  857. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-p5js.md +0 -574
  858. 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
  859. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-pretext.md +0 -238
  860. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-sketch.md +0 -238
  861. 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
  862. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/email/email-himalaya.md +0 -305
  863. 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
  864. 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
  865. 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
  866. 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
  867. 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
  868. 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
  869. 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
  870. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/media/media-songsee.md +0 -98
  871. 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
  872. 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
  873. 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
  874. 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
  875. 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
  876. 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
  877. 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
  878. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/productivity/productivity-airtable.md +0 -243
  879. 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
  880. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/productivity/productivity-maps.md +0 -196
  881. 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
  882. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/productivity/productivity-notion.md +0 -463
  883. 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
  884. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/productivity/productivity-powerpoint.md +0 -257
  885. 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
  886. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/research/research-arxiv.md +0 -300
  887. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/research/research-blogwatcher.md +0 -152
  888. 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
  889. 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
  890. 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
  891. 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
  892. 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
  893. 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
  894. 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
  895. 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
  896. 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
  897. 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
  898. 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
  899. 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
  900. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/google-workspace.md +0 -191
  901. 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
  902. 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
  903. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/blockchain/blockchain-evm.md +0 -227
  904. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/blockchain/blockchain-hyperliquid.md +0 -210
  905. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/blockchain/blockchain-solana.md +0 -206
  906. 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
  907. 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
  908. 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
  909. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/creative/creative-heartmula.md +0 -189
  910. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/creative/creative-hyperframes.md +0 -205
  911. 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
  912. 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
  913. 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
  914. 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
  915. 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
  916. 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
  917. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/devops/devops-watchers.md +0 -126
  918. 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
  919. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/email/email-agentmail.md +0 -143
  920. 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
  921. 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
  922. 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
  923. 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
  924. 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
  925. 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
  926. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/finance/finance-polymarket.md +0 -94
  927. 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
  928. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/finance/finance-stocks.md +0 -108
  929. 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
  930. 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
  931. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mcp/mcp-fastmcp.md +0 -315
  932. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mcp/mcp-mcporter.md +0 -138
  933. 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
  934. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-accelerate.md +0 -350
  935. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-chroma.md +0 -425
  936. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-clip.md +0 -272
  937. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-faiss.md +0 -240
  938. 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
  939. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-guidance.md +0 -591
  940. 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
  941. 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
  942. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-instructor.md +0 -759
  943. 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
  944. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-llava.md +0 -323
  945. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-modal.md +0 -362
  946. 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
  947. 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
  948. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-peft.md +0 -452
  949. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-pinecone.md +0 -377
  950. 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
  951. 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
  952. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-qdrant.md +0 -514
  953. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-saelens.md +0 -407
  954. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-simpo.md +0 -237
  955. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-slime.md +0 -486
  956. 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
  957. 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
  958. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-torchtitan.md +0 -378
  959. 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
  960. 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
  961. 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
  962. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-whisper.md +0 -336
  963. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/productivity/productivity-canvas.md +0 -114
  964. 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
  965. 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
  966. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/productivity/productivity-shop.md +0 -354
  967. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/productivity/productivity-shopify.md +0 -377
  968. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/productivity/productivity-siyuan.md +0 -305
  969. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/productivity/productivity-telephony.md +0 -435
  970. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/research/research-bioinformatics.md +0 -252
  971. 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
  972. 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
  973. 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
  974. 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
  975. 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
  976. 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
  977. 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
  978. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/research/research-qmd.md +0 -435
  979. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/research/research-scrapling.md +0 -351
  980. 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
  981. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/security/security-1password.md +0 -173
  982. 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
  983. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/security/security-sherlock.md +0 -208
  984. 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
  985. 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
  986. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/yuanbao/yuanbao-yuanbao.md +0 -125
  987. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/tui.md +0 -256
  988. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/windows-native.md +0 -325
  989. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/windows-wsl-quickstart.md +0 -332
  990. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-stories.mdx +0 -10
  991. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/llms-full.txt +0 -88833
  992. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/llms.txt +0 -267
  993. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/site-pages-map.txt +0 -928
  994. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/site-pages.json +0 -4218
  995. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src-README.md +0 -101
  996. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src-scripts/clone_repo.sh +0 -17
  997. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src-scripts/crawl.py +0 -82
  998. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src-scripts/gen_mapping.py +0 -112
  999. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src-scripts/retry-none.json +0 -305
  1000. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src-scripts/verify_orphans.py +0 -53
  1001. /package/lib/{native-capture-x_Hos2e8.js → native-capture-BEByDXYM.js} +0 -0
  1002. /package/lib/{py-sdk-Chvy92MB.js → py-sdk-D7klhpWb.js} +0 -0
@@ -1,790 +0,0 @@
1
- ---
2
- title: "Relay ↔ Connector Contract"
3
- description: "Wire contract between the Hermes gateway relay adapter and external connectors (experimental)"
4
- ---
5
-
6
- # Relay ↔ Connector Contract (v1, EXPERIMENTAL)
7
-
8
- > **Status:** EXPERIMENTAL. This contract MAY CHANGE without a deprecation
9
- > cycle until at least two real Class-1 platforms (Discord + Telegram) have
10
- > validated it. Evolution during the experimental phase is **additive-only**,
11
- > gated by `contract_version`. A breaking change updates both repos in lockstep.
12
-
13
- This document is the formal interface between the **Hermes gateway** (Python,
14
- `gateway/relay/`) and the **connector** (Node/TypeScript,
15
- `NousResearch/gateway-gateway`). The connector implementer's first action is to
16
- read this file.
17
-
18
- The gateway runs a generic `RelayAdapter` that dials **out** to the connector,
19
- receives a `CapabilityDescriptor` at handshake, then exchanges normalized
20
- `MessageEvent`s (inbound) and actions (outbound) over a per-turn bidirectional
21
- WebSocket. The gateway never learns which concrete platform is fronting it; the
22
- connector owns all platform-specific socket/identity logic.
23
-
24
- ---
25
-
26
- ## 1. Handshake
27
-
28
- 1. Gateway opens the transport (`connect`).
29
- 2. Gateway calls `handshake()`; connector returns a `CapabilityDescriptor`
30
- (section 2) describing the platform this adapter instance fronts.
31
- 3. Gateway configures the adapter from the descriptor (char limit, length unit,
32
- draft/edit/thread/markdown capabilities) and registers an inbound handler.
33
- 4. Connector then streams inbound events and accepts outbound actions.
34
-
35
- `contract_version` (currently `1`) is carried in the descriptor. The gateway
36
- ignores unknown descriptor fields (forward-compat) and fills missing optional
37
- fields from defaults.
38
-
39
- ---
40
-
41
- ## 2. CapabilityDescriptor (handshake payload)
42
-
43
- JSON object. Source of truth: `gateway/relay/descriptor.py`.
44
-
45
- | Field | Type | Required | Meaning |
46
- | --- | --- | --- | --- |
47
- | `contract_version` | int | yes | Contract version (additive-only within a version). |
48
- | `platform` | string | yes | Platform name (e.g. `"discord"`, `"telegram"`). |
49
- | `label` | string | yes | Human-readable label. |
50
- | `max_message_length` | int | yes | Char limit; gateway exposes as `MAX_MESSAGE_LENGTH`. 0 → treat as 4096. |
51
- | `supports_draft_streaming` | bool | yes | Native draft-streaming preview support. |
52
- | `supports_edit` | bool | yes | Edit-based streaming possible; if false, consumer degrades to one-message-per-segment. |
53
- | `supports_threads` | bool | yes | `create_handoff_thread` capability. |
54
- | `markdown_dialect` | string | yes | `"plain"`, `"markdown_v2"`, `"discord"`, … (drives `supports_code_blocks`). |
55
- | `len_unit` | string | yes | `"chars"` (builtin len) or `"utf16"` (Telegram UTF-16 code units). |
56
- | `emoji` | string | no | Display emoji (default 🔌). |
57
- | `platform_hint` | string | no | System-prompt platform hint. |
58
- | `pii_safe` | bool | no | Redact PII in session descriptions. |
59
- | `supports_context` | bool | no | Whether the connector can supply surrounding channel/group **context** for an addressed turn on this platform (Model A on-demand history fetch — Discord/Slack/Matrix; Model B passive buffer — Telegram/Signal/WhatsApp). Default false ⇒ no `context` is attached to inbound events. See §3. |
60
- | `supports_inchannel_continuable` | bool | no | Whether the platform can host a **flat continuable cron surface** (native Slack's `cron_continuable_surface: in_channel`): the brief posts top-level in the channel/DM and a plain reply continues the job via the flat `(platform, chat_id, None)` session. Default false ⇒ the gateway's scheduler fails safe to thread mode (D6 gate), so an older connector keeps today's thread behavior. |
61
- | `supports_block_formatting` | bool | no | Whether this platform's sender renders **block-level formatting** from raw markdown when the gateway stamps `metadata.format_hints` on `send`/`edit` frames (Slack: native `markdown` block for tables/lists/code, mrkdwn text kept as fallback). Default false ⇒ the gateway never stamps hints, so an older connector never receives the metadata. |
62
- | `supported_ops` | string[] | no | Op-level capability discovery: the outbound op names the connector's sender for this platform actually implements (e.g. `["send", "edit", "typing", "follow_up", "get_chat_info"]`). Absent/empty ⇒ the connector predates the field and the gateway assumes the legacy op set (`send`/`edit`/`typing`/`follow_up`); a NEW op is used only when explicitly advertised. |
63
-
64
- Most fields are a projection of the gateway's existing `PlatformEntry`; the
65
- runtime-only fields (`len_unit`, `supports_*`, `markdown_dialect`) come from the
66
- live platform adapter's capability methods.
67
-
68
- ---
69
-
70
- ## 3. Inbound: `MessageEvent` envelope
71
-
72
- The connector normalizes each platform wire event into a `MessageEvent`
73
- (`gateway/platforms/base.py`) and delivers it to the gateway. **Inbound is
74
- delivered over the gateway's OUTBOUND `/relay` WebSocket** (see the transport
75
- note below) — the connector pushes an `inbound` frame down the socket the
76
- gateway already dialed. The gateway keys the session via `build_session_key()`
77
- from the embedded `SessionSource` — so populating the right discriminators is
78
- the single highest-correctness responsibility of the connector.
79
-
80
- ### Inbound transport (WS back-channel, not HTTP)
81
-
82
- The gateway dials **out** to the connector's `/relay` WebSocket for the
83
- handshake + outbound actions (§4) + its own `/stop` egress (§5). Inbound rides
84
- the **same socket** in the other direction: the connector pushes an `inbound`
85
- frame (and `interrupt_inbound` for §5) down the gateway's outbound WS. There is
86
- **no gateway-side inbound HTTP endpoint** — a gateway need not (and, when hosted,
87
- cannot) expose any inbound port; everything flows over the connection it
88
- initiated.
89
-
90
- **Multi-instance routing.** The connector instance that owns a platform's socket
91
- (and thus produces inbound events) is generally **not** the instance the gateway
92
- dialed its outbound WS into. The producing instance therefore publishes the
93
- event on the connector's internal **relay bus** (Redis pub/sub; `RelayBus` in
94
- `src/core/relayBus.ts`) keyed by tenant. Every connector instance subscribes and
95
- routes each message to its **local** sessions for that tenant
96
- (`RelayServer.routeBusMessage`); the single instance that actually holds the
97
- gateway's socket delivers it, and instances with no local session for the tenant
98
- no-op. Cross-instance delivery is thus an in-cluster Redis hop, not a public
99
- HTTP call.
100
-
101
- Frames (connector → gateway, over the WS):
102
-
103
- - `{"type":"inbound", "event": <MessageEvent>, "bufferId"?}`
104
- - `{"type":"interrupt_inbound", "session_key", "chat_id"}` (§5)
105
- - `{"type":"passthrough_forward", "forward": <PassthroughForward>, "bufferId"?}` (§5.1)
106
-
107
- **Channel context on inbound (design relay-channel-context).** When the source
108
- platform's descriptor advertised `supports_context` (§2) and the chat is
109
- multi-party (`chat_type` ∈ group/channel/thread/forum, never `dm`), the
110
- connector MAY attach two optional, additive fields to the inbound `MessageEvent`:
111
-
112
- - `context`: an array of read-only surrounding messages (same channel, oldest→
113
- newest) — nearby non-addressed chatter the connector fetched (Model A) or
114
- buffered (Model B). REFERENCE ONLY: it never triggers the agent (the trigger
115
- decision was already made connector-side on the addressed event alone). The
116
- gateway renders it into `MessageEvent.channel_context` (the same read-only
117
- injection path history-backfill uses).
118
- - `context_error`: bool, true when the platform is context-capable but the
119
- fetch/buffer failed and the connector fail-opened to an empty `context`
120
- (observability marker; surfaced connector-side via the delivery span).
121
-
122
- Both absent ⇒ byte-identical to today. A connector that never sends them, or a
123
- `dm`, or a no-context platform, yields no `channel_context`.
124
-
125
- `PassthroughForward` is the wire form of a forwarded passthrough-plane request
126
- (Class-2/3 webhooks — Discord interactions, Twilio): `{platform, botId, method, path, headers: [[k,v],…], bodyB64, profile?}`. `profile` is optional — the
127
- connector stamps it when NAS resolves the target profile for a Team-Gateway
128
- interaction; omitting it (single-profile gateways) preserves legacy routing to
129
- the default `agent:main` session namespace, mirroring the `profile` field the
130
- `inbound` frame's `SessionSource` already carries (#60586). The body is
131
- base64-encoded so arbitrary bytes survive the newline-delimited-JSON transport;
132
- the gateway base64-decodes
133
- back to the exact bytes the connector forwarded (the connector already verified
134
- the provider signature and stripped any shared-identity credential at the edge —
135
- §6 — so the gateway re-processes a sanitized, token-free body and acts on it via
136
- the token-less `follow_up` path). See §3.1.
137
-
138
- **Trust.** The WS upgrade is authenticated with the gateway's per-gateway secret
139
- (§6.1), so the channel is trusted end to end — inbound frames are not separately
140
- HMAC-signed (the authenticated socket subsumes the per-delivery origin proof the
141
- old HTTP path needed). The relay-bus hop is inside the connector trust domain
142
- (same as the lease/buffer/capability stores).
143
-
144
- > Earlier drafts of this contract delivered inbound over a signed **HTTP POST**
145
- > to a `gatewayEndpoint` (`HttpGatewayDelivery` + a gateway-side
146
- > `inbound_receiver`), HMAC-signed with a per-tenant delivery key. That required
147
- > every gateway to expose a reachable inbound URL — impossible for hosted
148
- > gateways, which have no public IP. The WS back-channel above replaces it; the
149
- > per-tenant delivery key is retained at provision for forward-compat but is no
150
- > longer used for inbound. The **passthrough plane** (Class-2/3 webhooks like
151
- > Discord interactions / Twilio) historically still used `gatewayEndpoint` for
152
- > its post-ACK forward; Phase 5 §5.1 moves that forward onto the WS too (the
153
- > `passthrough_forward` frame above), so a hosted gateway needs zero public
154
- > inbound surface and `gatewayEndpoint` is retired once the cutover lands.
155
-
156
- ### 3.1 Passthrough-plane forward (§5.1)
157
-
158
- The passthrough plane answers the provider's latency-critical ACK at the
159
- connector EDGE (e.g. Discord's deferred interaction response within ~3s), then
160
- does a **fire-and-forget** forward of the real request to the gateway. That
161
- forward needs no response back (the provider was already satisfied), so it rides
162
- the same outbound WS as `inbound` via a `passthrough_forward` frame rather than
163
- an HTTP POST. The gateway processes the decoded request through its normal agent
164
- path (a Discord interaction is decoded to a `MessageEvent` and handled like a
165
- message; the reply egresses over the outbound / `follow_up` path). `bufferId` is
166
- present when the forward was buffered (Phase 5 §5.3 buffered-only flip) and the
167
- gateway acks it after durable handoff.
168
-
169
-
170
-
171
- ### SessionSource fields (the wire surface)
172
-
173
- Source of truth: `SessionSource.to_dict()` in `gateway/session.py`. These are
174
- every key the gateway accepts on the wire. `platform`, `chat_id`, `chat_type`,
175
- `user_id`, `user_name`, `thread_id`, `chat_name`, and `chat_topic` are always
176
- present (may be `null`); the rest are included only when set.
177
-
178
- | Field | Type | Always sent | Meaning |
179
- | --- | --- | --- | --- |
180
- | `platform` | string | yes | Platform name (matches the descriptor's `platform`). |
181
- | `chat_id` | string | yes | Primary conversation id (channel/chat). Session-key discriminator. |
182
- | `chat_type` | string | yes | `dm` / `group` / `channel` / `thread` / `forum`. |
183
- | `chat_name` | string\|null | yes | Human-readable chat name. |
184
- | `user_id` | string\|null | yes | Message author id. Session-key discriminator. |
185
- | `user_name` | string\|null | yes | Author display name. |
186
- | `thread_id` | string\|null | yes | Thread/forum-topic id when in a thread. Session-key discriminator. |
187
- | `chat_topic` | string\|null | yes | Channel topic/description (Discord, Slack). |
188
- | `user_id_alt` | string | no | Platform-specific stable alt id (Signal UUID, Feishu union_id). |
189
- | `chat_id_alt` | string | no | Alternate chat id (e.g. Signal group internal id). |
190
- | `scope_id` | string | no | Platform-neutral **scope** discriminator: Discord guild / Slack workspace / Matrix server. **REQUIRED for Discord/Slack scope isolation.** Session-key discriminator. (Canonical name as of the D-Q2.5 wire migration.) |
191
- | `guild_id` | string | no | **Legacy alias, no longer read by the connector.** As of D-Q2.5c the connector reads and writes only `scope_id`; the gateway's agent-wide `SessionSource.to_dict()` still emits `guild_id` (mirrored to `scope_id`) for non-relay session persistence, so it may still appear on the wire but the connector ignores it. Do not depend on it. |
192
- | `parent_chat_id` | string | no | Parent channel when `chat_id` refers to a thread. |
193
- | `message_id` | string | no | Id of the triggering message (for pin/reply/react). |
194
-
195
- > `is_bot` (author-is-a-bot/webhook classification) exists on the gateway-side
196
- > dataclass but is **intentionally NOT on the wire** in v1 — it is not part of
197
- > `to_dict()`. Do not add it to the connector's `SessionSource` until it is
198
- > first added here and to `to_dict()` (additive bump).
199
-
200
- ### SessionSource discriminators per platform
201
-
202
- | Platform | chat_id | chat_type | user_id | thread_id | scope_id |
203
- | --- | --- | --- | --- | --- | --- |
204
- | **Discord** | channel id | `dm`/`group`/`thread` | author id | thread channel id (threads) | **guild id** (REQUIRED for server isolation) |
205
- | **Telegram** | chat id | `dm`/`group`/`forum` | from id | forum topic id (forums) | — |
206
-
207
- **Get Discord's `guild_id` wrong and two servers collide into one session.**
208
- This is the #1 High-severity risk. The gateway's `build_session_key()` is the
209
- conformance oracle: for a given `SessionSource`, the connector's normalization
210
- must produce the same key the Python adapter would. (The Phase-1 stub tests
211
- assert known-input → known-key.)
212
-
213
- ### Bot identity vs tenant (single-bot consolidation, Appendix A)
214
-
215
- The envelope carries the **originating bot identity** as a field **distinct from
216
- tenant**. Tenant is resolved from the event's own discriminator (Discord
217
- `guild_id`, Telegram `chat_id`, webhook path/subdomain) — **never** from which
218
- token/socket/process delivered it. This keeps one shared bot able to front many
219
- tenants (Phase 6) without overloading an existing field.
220
-
221
- ### Author-first resolution + the account-link (DM) path (Phase 7)
222
-
223
- Phase 7 adds **self-serve, per-user onboarding to a shared bot**, which changes
224
- *which* discriminator resolves the instance for a routed inbound message — and
225
- adds a management path for users to bind their own account.
226
-
227
- **Author-first resolution (the multi-tenant-guild rule, D-7.2).** A single
228
- Discord guild may hold **many** tenants — different members each linked to their
229
- own agent. So for delivery the connector resolves the destination instance from
230
- the **authenticated author binding** (`user_instance_binding`, keyed by
231
- `(tenant, platform, platform_user_id)` via `resolveByUser`), **NOT** by a
232
- guild→instance route. Concretely:
233
-
234
- - A routed message authored by a **linked** user reaches **only that user's**
235
- instance — even when a second linked user in the **same guild** is served by a
236
- different instance (each reaches only their own).
237
- - A message authored by an **unlinked** user resolves to **no** instance and is
238
- dropped (**fail-closed** — never broadcast to the guild's other tenants).
239
- - The author id used is the **authentic `user_id` off the observed event**, the
240
- same `SessionSource.user_id` documented above — never a value asserted by a
241
- gateway or carried in a management frame.
242
-
243
- This is the per-`user_id` owner-only routing the connector enforces in
244
- `WsGatewayDelivery` (the gateway-side multi-tenant-guild E2E driver
245
- `gateway_multitenant_guild_driver.py` is the cross-repo oracle).
246
-
247
- **The account-link (DM) path.** A user binds their account to an instance with a
248
- one-time code, redeemed by DMing the shared bot:
249
-
250
- 1. The owner triggers a link from the Portal (or a self-hosted CLI). The
251
- connector mints a short-lived **link code** for the **authenticated**
252
- instance (`POST /manage/link`; instanceId comes from the caller's principal —
253
- a NAS-signed `aud=agent:{instanceId}` token or the instance's own per-gateway
254
- secret — **never** the request body).
255
- 2. The user sends `/link <code>` as a **direct message** to the shared bot from
256
- the account they want to bind.
257
- 3. The connector's inbound observer **consumes** that DM (it is not routed to any
258
- agent) and writes the `user_instance_binding` using the **authentic
259
- `user_id`** off the observed DM event. From then on, author-first resolution
260
- routes that user's messages to the bound instance.
261
-
262
- **Opt-out is connector-authoritative.** Deprovisioning an instance
263
- (`POST /manage/deprovision`) drops its author bindings (so its users stop
264
- resolving to it) **and** revokes its per-gateway secret (so its socket can no
265
- longer authenticate — the next WS upgrade is closed **4401**). A gateway that
266
- sees a **4401 close after a previously-successful handshake** treats it as a
267
- terminal revocation: it stops reconnecting and reports the relay platform as
268
- **disabled** (not a retryable error). A 4401 *before* any successful handshake
269
- stays retryable (a cold-start / not-yet-provisioned race, not a revocation).
270
-
271
- ### 3.2 Going-idle / buffered-flip primitive (§5.3)
272
-
273
- A scale-to-zero PRIMITIVE (not the behaviour — nothing here decides to sleep or
274
- suspends a machine; a later workstream consumes these frames). It lets a gateway
275
- enter a drain/idle transition without losing inbound that arrives while it is
276
- gone, by making the connector buffer for that instance and replay on reconnect.
277
-
278
- Three frames (all keyed by the connection's **authenticated** per-instance id —
279
- read off the stored secret record at the WS upgrade, never asserted in a frame):
280
-
281
- - `{"type":"going_idle"}` (gateway → connector) — emitted as part of the
282
- gateway's EXISTING drain transition (the adapter sends it before tearing down
283
- the socket). Asks the connector to flip this instance to **buffered-only**.
284
- - `{"type":"going_idle_ack"}` (connector → gateway) — the connector has flipped:
285
- live delivery has stopped and subsequent inbound for this instance buffers
286
- durably. The gateway **stays serving until this ack** (so an event landing in
287
- the flip window is delivered live, not lost — the same SUBSCRIBE-before-serve
288
- ordering discipline as the bus). Only after the ack is it safe to close.
289
- - `{"type":"inbound_ack", "bufferId"}` (gateway → connector) — durable receipt of
290
- a buffered `inbound` delivery (which carries its `bufferId`) replayed on
291
- reconnect. The connector acks the buffer entry only after this, giving
292
- drain-without-dup on the **delivery leg**: an instance that dies mid-drain
293
- redelivers exactly the unacked tail; an acked entry never redelivers.
294
-
295
- **Buffer + drain.** While flipped, the connector appends inbound to a durable
296
- per-instance delivery-leg buffer (`delivery:<instanceId>`) instead of pushing it
297
- live. On the gateway's **reconnect** (a NET-NEW reconnect loop re-dials +
298
- re-handshakes after an unexpected close), the new handshake triggers the
299
- connector to drain that backlog over the new socket **in order, ack-gated**,
300
- then clear the flip so live delivery resumes. This reuses the same
301
- `drainWithoutDup` machinery as the Discord→connector ingest leg, applied to the
302
- connector→gateway delivery leg. Connector-authoritative throughout: a gateway can
303
- only flip/drain ITS OWN instance.
304
-
305
- > NOT in scope (deferred behaviour): the autonomous idle timer that DECIDES to
306
- > drain, the actual machine suspend, and the NAS suspended-health model. The
307
- > primitive is "when the gateway drains, relay flips to buffered + replays on
308
- > reconnect, with no loss/dup"; WHAT triggers the drain is out of scope.
309
-
310
- ### 3.3 Wake poke (§5.2)
311
-
312
- The other half of the sleep/wake loop: how a SUSPENDED gateway finds out it has
313
- buffered work waiting. A PRIMITIVE — nothing here suspends a machine; it wires
314
- the wake SIGNAL so a future scale-to-zero behaviour layer can rely on "buffered
315
- ⇒ wake poked."
316
-
317
- - **Registration.** The gateway registers a **wake URL** at enroll/provision —
318
- any reachable URL the connector can GET to wake it (a Fly autostart hostname,
319
- a dashboard host). Self-hosted: `hermes gateway enroll --wake-url <url>` (or
320
- `GATEWAY_RELAY_WAKE_URL` / `gateway.relay_wake_url`). Managed/NAS: stamped into
321
- the container env beside `GATEWAY_RELAY_URL`. Forwarded in the
322
- `/relay/provision` body as `wakeUrl` and stored per-instance on the connector's
323
- secret record (gateway-asserted but safely scoped — same posture as
324
- `instanceId`; the org/tenant stays token-verified, so a gateway can only
325
- register a wake target for ITS OWN instance). DISTINCT from the retired
326
- `gatewayEndpoint`: a **poke target**, not a delivery target.
327
- - **The poke.** When a buffered-only (going-idle) destination receives its FIRST
328
- buffered event, the connector issues a **payload-free, unsigned GET** to that
329
- instance's registered `wakeUrl`, **directly** (NOT NAS-mediated — relay stays
330
- NAS-independent). It carries no tenant data and no inbound: it only says "you
331
- have buffered work, reconnect." Tenant authority is re-established the normal
332
- way when the gateway re-dials (the authenticated WS upgrade), so a leaked/
333
- guessed wake URL can at worst cause a spurious reconnect of ITS OWN instance.
334
- Rate-limited per instance (one poke per cooldown window, not per event), and
335
- best-effort — a failed poke is swallowed; the gateway still drains whenever it
336
- next reconnects on its own. No new frame: the wake is an out-of-band HTTP GET,
337
- not a relay-WS message (the socket is down — that's the whole point).
338
-
339
- > NOT in scope (deferred behaviour): the actual machine suspend (Fly
340
- > `autostop:"suspend"`) and the autonomous idle timer that decides to sleep. The
341
- > primitive is "buffered event for a sleeping instance ⇒ its wakeUrl gets poked";
342
- > WHAT makes the instance sleep (and wake-to-serve) is the behaviour layer.
343
-
344
- ### 3.4 Obligations on a future scale-to-zero behaviour layer
345
-
346
- §3.2 and §3.3 ship the **primitives**; this section is the **contract a separate
347
- scale-to-zero behaviour workstream must honour to consume them safely.** It owns
348
- the *decision* to suspend, the actual machine suspend, and the platform/health
349
- model — none of which live here — but it MUST hold these guarantees, which the
350
- primitives assume:
351
-
352
- 1. **Register a `wakeUrl` before the instance can ever be suspended.** A
353
- suspended instance with no registered `wakeUrl` is a black hole — buffered
354
- inbound never triggers a poke, so it sleeps through its own traffic until
355
- something else reconnects it. The behaviour layer MUST ensure a reachable
356
- wake target is registered (self-hosted: `--wake-url`; managed: stamped) as a
357
- precondition of allowing suspend. A wake URL that is unreachable while the
358
- machine is suspended (e.g. points at the suspended machine itself with no
359
- platform autostart in front) is equivalent to none.
360
- 2. **Drain through `going_idle` → await `going_idle_ack` BEFORE tearing down the
361
- socket or suspending.** Never suspend with an un-acked flip in flight. The
362
- ack is the connector's confirmation that delivery for this instance is now
363
- buffered-only; a machine that suspends after sending `going_idle` but before
364
- the ack can drop the inbound that races the flip. The gateway already gates
365
- socket teardown on the ack (Q-5.3c); the suspend step MUST sit *after* a
366
- clean drain completes, not race it.
367
- 3. **Keep the NET-NEW reconnect loop live as a precondition of suspend.** The
368
- wake→drain contract is "poke ⇒ the gateway re-dials ⇒ the connector drains on
369
- the reconnect handshake." If the reconnect loop is disabled, a poke lands on a
370
- machine that never re-dials and the buffer strands. The behaviour layer must
371
- not suspend an instance whose relay transport won't reconnect on wake.
372
- 4. **Treat suspended ≠ down in the health model (Q-5.3b).** A suspended instance
373
- is healthy-asleep, not failed. The health/monitoring layer MUST distinguish
374
- the two (e.g. via the platform machine-state) so a suspended instance is not
375
- restarted, alerted on, or reaped as unhealthy — that would defeat the suspend
376
- and can race the wake/drain.
377
- 5. **The wake poke is best-effort and rate-limited — do not assume exactly-once
378
- or immediate wake.** At most one poke per cooldown window per instance, and a
379
- failed poke is swallowed. The behaviour layer must not rely on the poke as a
380
- guaranteed/prompt signal; correctness still rests on "the gateway drains
381
- whenever it next reconnects." A belt-and-suspenders wake (e.g. a scheduled
382
- job that also reconnects) is the behaviour layer's call, not the primitive's.
383
- 6. **Suspend only when genuinely idle — and idle is connector-observable, not
384
- gateway-guessed.** WHAT counts as idle (no in-flight turn + no inbound for N
385
- min) is the behaviour layer's policy, but it must compose with the existing
386
- drain machinery (`gateway_state` running→draining) rather than introduce a
387
- parallel relay-only idle path — the same integration constraint §3.2 places
388
- on `going_idle`.
389
-
390
- These are guarantees the behaviour layer OWES the primitives; the primitives owe
391
- the behaviour layer only what §3.2/§3.3 already specify (a flip-on-going_idle,
392
- a durable per-instance buffer + ack-gated reconnect drain, and a poke on the
393
- first buffered event for a flipped instance).
394
-
395
- ---
396
-
397
- ## 4. Outbound: action set
398
-
399
- The gateway calls the transport with action dicts. Source of truth:
400
- `gateway/relay/transport.py` + `gateway/relay/adapter.py`.
401
-
402
- | `op` | Fields | Result |
403
- | --- | --- | --- |
404
- | `send` | `chat_id`, `content`, `reply_to?`, `metadata?` | `{success: bool, message_id?, error?}` |
405
- | `edit` | `chat_id`, `message_id`, `content`, `metadata?` | `{success: bool, error?}` |
406
- | `typing` | `chat_id`, `content?`, `metadata?` | `{success: bool}` |
407
- | `follow_up` | `session_key`, `kind`, `content`, `metadata?` | `{success: bool, message_id?, error?}` |
408
- | `send_media` | `chat_id`, `media_kind`, `source_url`, `content?` (caption), `filename?`, `reply_to?`, `metadata?` | `{success: bool, message_id?, error?}` |
409
- | `prompt` | `chat_id`, `prompt_kind`, `prompt_id`, `content` (the question), `options[]{id,label,style?}`, `timeout_s?`, `reply_to?`, `metadata?` | `{success: bool, message_id?, error?}` |
410
- | `react` | `chat_id`, `message_id`, `emoji`, `remove?`, `metadata?` | `{success: bool, error?}` |
411
- | `thread_create` | `chat_id` (parent), `thread_name`, `message_id?` (anchor), `metadata?` | `{success: bool, thread_id?, error?}` |
412
- | `thread_rename` | `chat_id` (parent), `message_id` (the THREAD id), `thread_name`, `only_if_current_name?`, `metadata?` | `{success: bool, error?}` |
413
-
414
- `get_chat_info(chat_id)` is a separate proxied call returning at least
415
- `{name, type}`.
416
-
417
- **`send_media` (Phase 2 media egress).** Media crosses the wire BY REFERENCE:
418
- `source_url` is either (a) a **connector re-host** the gateway previously
419
- uploaded via `POST {connector}/relay/media` (raw bytes body, `Content-Type` +
420
- optional `X-Media-Filename` headers, per-gateway HMAC bearer — the same token
421
- scheme as the WS upgrade; response `{id, size}` → reference
422
- `{connector}/relay/media/{id}`), or (b) a **public http(s) URL** (e.g. a
423
- fal.media generation) the connector downloads directly. `media_kind` is one of
424
- `image` / `voice` / `audio` / `video` / `document` and selects the
425
- platform-native upload lane (Telegram `sendPhoto`/`sendVoice`/…, Discord
426
- multipart attachment, Slack external upload, WhatsApp media upload + media
427
- message). The caption rides `content` and renders through the platform's
428
- normal markdown lane; platforms without native captions get a follow-up text
429
- send (connector-side). Both routes and the op are gated on `supported_ops`
430
- advertising `send_media` — a legacy connector never sees the op (the gateway's
431
- media sends degrade to their pre-media text fallbacks). Size cap 25 MB
432
- (connector `mediaStore.ts` MEDIA_MAX_BYTES; uploads over it are rejected 413).
433
-
434
- **Inbound media (Phase 2 media ingress).** An inbound event's `media_urls`
435
- carry fetchable references: platform-public URLs pass through (Discord CDN);
436
- auth-gated/expiring platform URLs (Telegram file API, Slack `url_private`,
437
- WhatsApp Graph media) are downloaded connector-side with the PLATFORM
438
- credential and re-hosted as `{connector}/relay/media/{id}` — the platform
439
- credential never crosses the wire. Re-host references are readable by any
440
- authenticated gateway (capability-URL semantics: the id is 128-bit random and
441
- was already delivered to every admitted recipient); the gateway downloads each
442
- reference with its per-gateway bearer and presents LOCAL file paths to the
443
- agent, mirroring native adapters. Re-hosts expire (TTL ~1h) — download on
444
- receipt, not lazily. A parallel `media` array (same order) adds `kind`, `mime`,
445
- `size`, `filename`, `caption` metadata; `message_type` reflects the first
446
- attachment's kind (`image`/`audio`/`document`).
447
-
448
- **`prompt` (Phase 3 interactive).** One platform-abstract op renders the
449
- gateway's highest-stakes interactions (exec approvals, slash confirms,
450
- clarify pickers) with NATIVE controls: Discord button components, Telegram
451
- inline keyboards, Slack Block Kit actions, WhatsApp button messages (≤3
452
- options) / list messages (4–10; >10 degrades to the numbered-text fallback).
453
- `prompt_kind` (`approval`/`clarify`/`choice`) is a styling hint only.
454
- `prompt_id` is gateway-minted and opaque to the connector; each
455
- option's callback payload carries the token `hp1:<prompt_id>:<option_id>`
456
- (≤64 bytes — Telegram's `callback_data` cap binds every lane; option ids are
457
- `[A-Za-z0-9_.-]`, ≤32 chars). The gateway mints the prompt id as
458
- `<per-process nonce>.<8 hex>` within that same alphabet and budget: the
459
- connector fans a passthrough forward (a Discord press) out to EVERY live
460
- gateway session of the tenant, unlike a message, which it narrows to the
461
- admitted instance set, so the nonce is how a gateway tells its OWN prompt
462
- from a sibling's. `style` maps per-platform
463
- (primary/success/danger/secondary). `timeout_s` is advisory on the wire —
464
- expiry is enforced GATEWAY-side (the pending-prompt registry drops expired
465
- entries; the owning gateway then replies with a short "no longer waiting"
466
- notice).
467
-
468
- **`prompt_response` (Phase 3 inbound).** The user's press crosses back as a
469
- normal inbound MessageEvent carrying
470
- `prompt_response: {prompt_id, option_id, label?, prompt_message_id?}` — never
471
- a bare platform `custom_id`. The event's `text` mirrors `/{option_id}` with
472
- `message_type: "command"` so a gateway predating the field routes the press
473
- as a typed reply instead of dropping it. A gateway that DOES understand the
474
- field always consumes the press instead: a prompt id it did not mint belongs
475
- to a sibling gateway that the same fan-out also reached, and letting the
476
- `/{option_id}` text reach the chat lane made every sibling answer
477
- "Unknown command" under the owner's single ack. The SOURCE is the authentic
478
- CLICKING user (connector-observed: Telegram `callback_query.from`, Slack
479
- `block_actions.user`, WhatsApp `messages[].from`, Discord interaction
480
- member/user), so gateway-side authorization gates apply to a button press
481
- exactly as to a typed `/approve`. Ingest lanes: Telegram `callback_query`
482
- (polled, `allowed_updates` widened; best-effort `answerCallbackQuery`
483
- spinner-stop), Slack `POST /slack/interactions` (raw-bytes HMAC + replay
484
- window, same posture as `/slack/commands`), WhatsApp interactive
485
- `button_reply`/`list_reply` (webhook normalize arm), Discord type-3
486
- component interactions (passthrough §5.1 sanitized forward; the type-3 edge
487
- ack is `DEFERRED_UPDATE` so no visible "thinking…" reply). Foreign
488
- callback payloads (another integration's buttons) never become prompt
489
- events: Telegram/Slack/WhatsApp drop them at the connector; Discord type-3
490
- forwards keep the legacy custom_id-as-text shape.
491
-
492
- **`react` (Phase 3 ack lifecycle).** Adds/removes the bot's own `emoji`
493
- reaction on `message_id` — restoring the native adapters' 👀→✅/❌
494
- processing-lifecycle acks over the relay. Unicode emoji on the wire; the
495
- Slack sender maps to Slack's name vocabulary (`eyes`, `white_check_mark`, …)
496
- and treats `already_reacted`/`no_reaction` as success (idempotent). Telegram
497
- uses `setMessageReaction` (empty set = remove; Telegram's curated-emoji
498
- restriction can reject glyphs — the failure is structured and the gateway
499
- treats reactions as cosmetic). WhatsApp sends a reaction message (empty
500
- emoji = remove). Reactions are best-effort by contract: a `react` failure
501
- must never fail a turn.
502
-
503
- **`thread_create` / `thread_rename` (Phase 4 thread lifecycle).** One
504
- platform-abstract pair covers handoff threads, Telegram DM/forum topics, and
505
- LLM-title semantic renames. `thread_create`: Discord posts a channel thread
506
- (type 11) or a message-anchored thread when `message_id` is set; Telegram
507
- `createForumTopic` (topic id returned); Slack posts a NAMED seed root
508
- message and returns its `ts` (threads there are message-anchored — an
509
- explicit `message_id` anchor is echoed back verbatim). The created id rides
510
- `SendResult.thread_id`. `thread_rename`: Discord PATCHes the thread channel;
511
- Telegram `editForumTopic`. The **`only_if_current_name` no-clobber guard**
512
- is the native adapters' human-rename-wins semantics, enforced
513
- CONNECTOR-side: Discord reads the current name first and no-ops (structured
514
- `success:false`) on mismatch; Telegram has no topic-name read, so a GUARDED
515
- rename is unsatisfiable and fails safe (unguarded renames proceed). Slack
516
- does not advertise `thread_rename` (a root message's text is content, not a
517
- name). WhatsApp advertises neither (no threads).
518
-
519
- **Auto-thread markers + gateway-declared command manifest (Phase 4
520
- inbound/handshake).** When the connector's auto-thread egress policy creates
521
- a Discord thread, later inbound events from that thread carry
522
- `source.auto_thread_created: true` + `source.auto_thread_initial_name` — the
523
- connector-observed evidence that lights the gateway's semantic-rename lane
524
- (the LLM session title renames the thread via a GUARDED `thread_rename`;
525
- per-instance memory, so in an N>1 fleet a miss simply never lights the
526
- lane). The gateway may also declare its slash-command set on the Discord
527
- `hello` frame (`command_manifest: [{name, description, options?}]`); the
528
- connector reconciles Discord's GLOBAL application-command registration
529
- against it (GET → diff → bulk PUT overwrite; idempotent, debounced,
530
- best-effort — a registration failure never affects the handshake). Commands
531
- still dispatch through the passthrough plane as before; the manifest only
532
- keeps Discord's registry in sync with what the gateway's dispatcher handles.
533
-
534
- **Inbound `reply_to` enrichment (Phase 4).** A platform reply may carry
535
- `reply_to: {text?, author?, is_own?}` alongside `reply_to_message_id` — what
536
- the user QUOTED, populated only from data the connector already had in hand
537
- (Discord's inline `referenced_message`, Telegram's inline
538
- `reply_to_message`, WhatsApp `context.from` + a bounded per-instance
539
- inbound-text cache for the text leg). Absent fields mean the platform didn't
540
- carry the data — never triggers an extra platform API call. `is_own` = the
541
- quoted message was authored by the fronted bot (same evidence as the
542
- `is_reply_to_bot` relevance marker). The gateway maps these onto the same
543
- MessageEvent reply-context fields native adapters populate.
544
-
545
- **`typing` `content?` (Slack status clear).** A `typing` frame normally omits
546
- `content` — the connector renders its platform's active indicator ("is
547
- typing…" Assistant status on Slack, one-shot typing elsewhere). An **empty
548
- string** `content` is an explicit *clear* request: on Slack the connector sets
549
- the Assistant thread status to `""`, dismissing it. The gateway emits the
550
- clear only for Slack (persistent status); one-shot platforms never receive it.
551
- Additive within `contract_version` 1, but note the deploy order: a connector
552
- predating gateway-gateway #154 ignores `content` and would *set* "is typing…"
553
- on a clear frame — deploy the connector first.
554
-
555
- **`follow_up` (A2 capability action).** Some inbound payloads carry a credential
556
- that acts on the **shared** bot identity (e.g. a Discord interaction follow-up
557
- token). Per §6 the connector strips that at the edge and binds it in its
558
- capability vault keyed by the session; it **never reaches the gateway**. To use
559
- it, the gateway issues `follow_up` naming the **session it is already in**
560
- (`session_key`) plus the capability `kind` (e.g. `discord.interaction_token`) —
561
- **never a token**. The connector resolves the real value from its vault,
562
- enforces the tenant match (tenant B can never wield tenant A's capability), and
563
- egresses. `success: false` when the capability is absent/expired or the tenant
564
- doesn't match — the gateway has nothing to retry with, by design (a leaked
565
- gateway holds zero capability material). Source of truth:
566
- `gateway/relay/transport.py` (`send_follow_up`) + `gateway/relay/adapter.py`.
567
-
568
- ---
569
-
570
- ## 5. Interrupt (`/stop`) routing
571
-
572
- - **Gateway → connector:** `send_interrupt(session_key, reason?)` egresses a
573
- mid-turn `/stop` over the outbound WS. The connector MUST forward it to the
574
- gateway instance running that `session_key` (the routing invariant).
575
- - **Connector → gateway:** an inbound interrupt for a `session_key` is delivered
576
- as an `interrupt_inbound` frame down the gateway's outbound WS (§3 transport
577
- note) — routed cross-instance via the relay bus to whichever instance holds
578
- the socket — and bridged by the adapter's `on_interrupt(session_key, chat_id)`
579
- into the existing per-session interrupt mechanism, cancelling exactly that turn
580
- (siblings untouched).
581
-
582
- Both directions ride the gateway's outbound WS: the gateway→connector `/stop`
583
- egresses over it, and the connector→gateway interrupt rides the same `inbound`
584
- back-channel as a normalized event.
585
-
586
- ---
587
-
588
- ## 6. Trust boundary & signed-body handling (A2)
589
-
590
- **The connector is the sole crypto/identity boundary. The gateway re-validates
591
- nothing.**
592
-
593
- Webhook signatures (Discord ed25519, Twilio HMAC, WeCom BizMsgCrypt) are
594
- computed over exact raw bytes, and some payloads are *encrypted* with a shared
595
- secret. The connector fronts a **shared** bot for many tenants and holds every
596
- tenant's platform secrets, so it:
597
-
598
- - **verifies / decrypts at the edge** (the only place the secrets live),
599
- - **normalizes** the payload into a tenant-scoped `MessageEvent` (§3),
600
- - **strips any shared-identity capability** out of the payload and binds it in
601
- its capability vault, keyed by the session (see §4 `follow_up`),
602
- - **forwards only the sanitized `MessageEvent`** — never the raw signed body.
603
-
604
- The gateway therefore performs **no** platform signature/crypto verification on
605
- the relay path; it trusts the normalized event. This is an enforced invariant on
606
- the gateway side (`tests/gateway/relay/test_relay_sheds_crypto.py`: the relay
607
- package imports/calls no platform-crypto).
608
-
609
- **Why not "forward the signed body byte-for-byte so the gateway re-validates"?**
610
- That earlier model is incoherent under an untrusted, disposable tenant gateway:
611
-
612
- - Re-validating Twilio HMAC / WeCom crypto would require handing the gateway the
613
- **shared signing secret** — which is itself the leak, and on a shared bot it's
614
- a *cross-tenant* leak.
615
- - WeCom payloads are encrypted with the shared secret; the connector must decrypt
616
- at the edge just to route, so forwarding ciphertext would again require giving
617
- the gateway the secret.
618
- - A Discord interaction token lives **inside** the signed JSON body — you cannot
619
- both preserve the bytes and strip the credential; they are the same bytes.
620
-
621
- So byte-preservation is abandoned deliberately: the connector re-serializes the
622
- sanitized event and the gateway trusts it. This also unifies the passthrough and
623
- relay planes — both are "verify at the edge → emit a normalized event," differing
624
- only in transport. See `docs/capability-trust-boundary.md` (connector repo:
625
- `gateway-gateway`) for the full A2 rationale and the connector-side vault.
626
-
627
- ### 6.1 Channel authentication (the connector⇄gateway link itself)
628
-
629
- A2 makes the connector the sole holder of platform secrets while the gateway may
630
- be **customer-managed and internet-exposed**, so the connector⇄gateway channel
631
- is itself authenticated. The gateway holds an enrollment- or provision-issued
632
- **per-gateway secret** (`hermes gateway enroll` → connector `/relay/enroll`, or
633
- managed self-provision → `/relay/provision`) that authenticates its outbound WS
634
- upgrade. It is an HMAC-SHA256 scheme with a multi-secret rotation verify list
635
- (gateway side: `gateway/relay/auth.py`; connector side:
636
- `src/core/relayAuthToken.ts`).
637
-
638
- | Leg | Credential | Mechanism |
639
- |-----|-----------|-----------|
640
- | Gateway → connector WS upgrade | per-gateway secret | An `Authorization` bearer header on the `/relay` upgrade. The token is `base64url(payload:exp:sig)` where `payload = gatewayId` and `sig = HMAC(payload:exp, secret)`. Connector verifies and rejects the upgrade (**close 4401**) on mismatch/absence/revocation. The authenticated tenant comes from the connector's store, never the `hello` frame. |
641
- | Connector → gateway inbound (`inbound` / `interrupt_inbound` frames) | — (rides the authenticated WS) | Inbound is pushed down the gateway's already-authenticated outbound socket (§3), so no per-message signature is needed. A **per-tenant delivery key** is still issued at enroll/provision and retained for forward-compat, but is no longer used to sign inbound. |
642
-
643
- This is the **channel** authenticator — distinct from platform crypto, which the
644
- relay path still sheds entirely (§6). The gateway holds zero platform secrets;
645
- the per-gateway secret authenticates only the connector link. Full threat model +
646
- enrollment/rotation/kill-switch design: `docs/connector-gateway-auth-design.md`
647
- (connector repo).
648
-
649
- ---
650
-
651
- ## 7. Per-instance delivery & the management plane (Phase 6)
652
-
653
- Phases 1–5 treat the connector as a single-tenant front: inbound events for a
654
- tenant fan out to that tenant's gateway socket(s). **Phase 6 makes delivery
655
- per-INSTANCE** — a shared bot can front many users/agents in one tenant (one
656
- Discord guild, one Telegram bot) without cross-delivery — and adds a small
657
- **management plane** the agent (or a managed Portal) uses to declare who-sees-what
658
- and what's-relevant. All of this lives **connector-side**; the gateway's only new
659
- responsibility is to **declare its relevance policy** at boot (§7.3).
660
-
661
- ### 7.1 The delivery gate (connector-side, informational)
662
-
663
- For each inbound event the connector decides which instances receive it by
664
- composing three AND-ed filters. The gateway does not implement these — they run
665
- in the connector — but they define the delivery semantics the gateway relies on:
666
-
667
- | Layer | Question | Source of truth |
668
- | --- | --- | --- |
669
- | **owner / scope ∧ principal** | May this instance *see* this author here? | per-user `user_id → instance` bindings (the owner floor) + per-instance `(guild, channel)` scope grants + an `owner-only` / `allow-list` / `any` principal policy. |
670
- | **visibility floor** | Can the instance's bound owner actually `VIEW_CHANNEL` this in Discord? | live Discord ACL (effective permissions), fail-closed. Narrows an over-broad scope grant downward. |
671
- | **relevance** | *Given* it may see it, should the agent engage? | the relevance policy declared in §7.3 (address-gating / free-response / allow-bots). |
672
-
673
- The composition only ever **narrows** delivery (`deliver ⇔ authorized ∧ visible
674
- ∧ relevant`); the **owner floor bypasses the relevance layer** (an author's own
675
- message always reaches their own instance — you don't @mention your own agent).
676
- A message authored by an unbound user reaches no instance (fail-closed). The
677
- full design + invariants live in the connector repo
678
- (`NousResearch/gateway-gateway`); this section is the gateway-facing summary.
679
-
680
- ### 7.2 Management routes (connector-side, authenticated)
681
-
682
- The connector mounts authenticated management routes. They share the **same
683
- dual-auth** as the WS upgrade: either a managed NAS-signed `aud=agent:{instanceId}`
684
- RS256 JWT, **or** the gateway's own per-gateway secret bearer (§6.1
685
- `make_upgrade_token`). In both cases the connector resolves the authoritative
686
- `{tenant, instanceId}` from its **stored** record — **never** from the request
687
- body (a body-asserted `instanceId` is ignored).
688
-
689
- | Route | Purpose |
690
- | --- | --- |
691
- | `POST /manage/link` | Issue a short-lived code to bind a platform account to the authenticated instance (the `/link <code>` flow; the connector reads the authentic `user_id` off the inbound event). |
692
- | `POST /manage/scope`, `/manage/scope/release` | Claim / release a `(guild, channel)` scope for the authenticated instance. A channel is owned by at most one instance (non-overlap is a PK constraint). |
693
- | `POST /manage/principal` | Set the instance's principal policy (`owner-only` \| `allow-list` \| `any`). |
694
- | `POST /manage/dm-default` | Set the user's DM-default instance (DM tie-break when a user linked more than one). |
695
- | `POST /relay/policy` | Declare the instance's **relevance policy** (§7.3). |
696
-
697
- These are connector-owned (the management plane is not part of the gateway's
698
- agent path); the gateway only calls `POST /relay/policy` (§7.3). The others are
699
- driven by the managed Portal / `hermes` CLI.
700
-
701
- ### 7.3 Relevance-policy declaration (the gateway's responsibility)
702
-
703
- The relevance layer (§7.1) is the per-tenant parity for the gateway's own
704
- behaviour knobs (`require_mention`, `free_response_channels`,
705
- `{PLATFORM}_ALLOW_BOTS`). So the **same** behaviour governs relay delivery, the
706
- gateway projects those knobs into a **platform-agnostic** policy and POSTs it to
707
- `POST /relay/policy` at boot (after its per-gateway secret is resolved).
708
-
709
- Body (`gateway/relay/__init__.py` `relay_relevance_policy()` → `send_relay_policy()`):
710
-
711
- | Field | Type | Projected from | Meaning |
712
- | --- | --- | --- | --- |
713
- | `platform` | string | the fronted platform (`relay_platform_identity`) | which platform this policy applies to. |
714
- | `requireAddress` | bool | `require_mention` | a non-owner message must @mention / reply-to the bot to be relevant. |
715
- | `freeResponseScopes` | string[] | `free_response_channels` | scope (channel) ids where `requireAddress` is waived. Same scope vocabulary as §7.1's scope grants. |
716
- | `allowOtherBots` | bool | `{PLATFORM}_ALLOW_BOTS ∈ {mentions, all}` | admit bot-authored messages (default off). |
717
-
718
- Auth is the per-gateway upgrade token (§6.1), so the connector attaches the
719
- policy to the authenticated instance. The gateway is the **source of truth** and
720
- re-declares **every boot** (a full replace, mirroring the `routeKeys` upsert at
721
- provision — self-healing). When the projected policy is all-default the gateway
722
- sends nothing (the connector's absent-row default already matches). The POST is
723
- **fail-soft**: a failure logs and boot proceeds — relevance is an optimization
724
- layered on the authorization gate (§7.1), never a boot dependency. There is **no
725
- new gateway inbound surface** and **no new credential** — it reuses the
726
- per-gateway secret and the same host as `/relay/provision`.
727
-
728
- > A relevance drop happens **before** the connector wakes a scaled-to-zero agent
729
- > (Phase 5), so excluded chatter never spins an agent up — relevance is the
730
- > primary scale-to-zero lever as well as a correctness filter.
731
-
732
- ---
733
-
734
- ## 8. Gateway-side platform behavior controls (enterprise)
735
-
736
- Enterprise deployments configure fronted-platform behavior on the GATEWAY
737
- side, under `platforms.relay.extra.<platform>` — a supported subset of that
738
- platform's native options. The native platform block (e.g. `platforms.slack`)
739
- is not read on the relay lane; the connector receives the *outcome* of these
740
- controls as frame metadata (§4) and executes mechanically — it holds no
741
- platform behavior policy of its own.
742
-
743
- ```yaml
744
- platforms:
745
- relay:
746
- extra:
747
- slack:
748
- reply_in_thread: true # default
749
- ```
750
-
751
- Resolution: nested `extra.<platform>` object wins → legacy flat key on
752
- `extra` honored as fallback → default. Source of truth:
753
- `RelayAdapter._effective_reply_in_thread` (`gateway/relay/adapter.py`).
754
- Values coerce exactly as the native Slack adapter's do — `1/true/yes/on`
755
- (case-insensitive, whitespace-trimmed) are ON, anything else is OFF — so a
756
- YAML-quoted `"false"` turns a knob off rather than being read as a truthy
757
- string.
758
-
759
- Current controls (Slack):
760
-
761
- | Key | Default | Effect |
762
- | --- | --- | --- |
763
- | `reply_in_thread` | `true` | `true`: thread-per-message — each top-level DM message anchors its own thread (status, progress, prompts, final reply all carry that `metadata.thread_id`). `false`: flat rolling DM — send-lane frames carry NO thread anchor (stripped, not omitted), one shared session per DM. |
764
- | `dm_top_level_threads_as_sessions` | `true` | Native-parity escape hatch (mirrors `platforms.slack.extra.dm_top_level_threads_as_sessions`). `true`: in thread-per-message mode each top-level DM message keys its own session, so concurrent messages run in parallel. `false`: threaded reply placement is kept but the session stamp is skipped — one rolling DM session (legacy steer/queue posture). No effect in flat mode, which always keeps the single rolling session. |
765
-
766
- Typing/status frames always carry the triggering-ts anchor when one is known
767
- (liveliness is unconditional, both modes): Slack's status line is
768
- thread-scoped, and in flat mode the send-side anchor strip guarantees the
769
- status anchor can never leak into reply placement. Semantics of the native
770
- key: see [Slack](/user-guide/messaging/slack).
771
-
772
- Thread-anchor resolution applies to EVERY send lane — text (`send`) and media
773
- (`send_media`) alike — through one choke point
774
- (`RelayAdapter._apply_slack_thread_anchor`). Media frames egress via the same
775
- connector-side Slack sender, which threads on `metadata.thread_id` only, so an
776
- attachment resolves its anchor identically to a text reply: promoted into
777
- metadata in thread-per-message mode, stripped in flat mode.
778
-
779
- Changes take effect on gateway restart; no connector involvement.
780
-
781
- ---
782
-
783
- ## 9. Versioning policy
784
-
785
- - `contract_version` is an int; bump **only** for additive changes during the
786
- experimental phase (new optional fields, new `op`s).
787
- - A breaking change (renamed/removed field, changed semantics) requires a
788
- coordinated update of both repos and a version bump.
789
- - The connector's first PR references the commit SHA of this file it implements
790
- against.