better-dsh 0.2.5-c → 0.2.5-d

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (959) hide show
  1. package/THIRD_PARTY_NOTICES.md +3 -0
  2. package/docs/20_specs/ast/spec.md +26 -3
  3. package/docs/20_specs/dvc/spec.md +20 -1
  4. package/docs/50_test-reports/2026-10-03-ast-engine-deomp-4999/345/256/236/346/265/213/346/212/245/345/221/212.md +325 -0
  5. package/docs/50_test-reports/2026-10-03-better-dsh-tool-surface-repl-dvc-browser-ast-lsp-4999/345/256/236/346/265/213/346/212/245/345/221/212.md +1 -1
  6. package/docs/50_test-reports/2026-10-03-docs-packaging-trim/345/256/236/346/265/213/346/212/245/345/221/212.md +82 -0
  7. package/docs/50_test-reports/2026-10-03-remote-BYO-PTY-label/351/207/215/346/236/204/347/254/254/344/270/200/344/272/272/347/247/260/345/256/236/346/265/213/346/212/245/345/221/212.md +1 -1
  8. package/docs/50_test-reports/2026-10-04-ast-engine-deomp-0.2.6/345/217/221/345/270/203/351/252/214/346/224/266/346/212/245/345/221/212.md +216 -0
  9. package/docs/50_test-reports/2026-10-04-ast_grep/344/270/216ast_edit/345/245/221/347/272/246/344/270/216/350/276/271/347/225/214/345/256/236/346/265/213/346/212/245/345/221/212.md +151 -0
  10. package/docs/specs/ast/spec.md +26 -3
  11. package/docs/specs/ast-engine-deomp/spec.md +170 -0
  12. package/docs/specs/docs-packaging-trim/spec.md +110 -0
  13. package/docs/specs/dvc/spec.md +20 -1
  14. package/docs/superpowers/plans/2026-10-03-ast-engine-deomp.md +1214 -0
  15. package/docs/superpowers/plans/2026-10-03-docs-packaging-trim.md +181 -0
  16. package/lib/BrowserWebSocketTransport-D1aFReu_.js +4 -0
  17. package/lib/{BrowserWebSocketTransport-FbPg_VFT.js → BrowserWebSocketTransport-wm99h94r.js} +1 -1
  18. package/lib/LaunchOptions-3peHoOAx.js +4 -0
  19. package/lib/{LaunchOptions-RNO1YIoJ.js → LaunchOptions-DXdeJis3.js} +1 -1
  20. package/lib/NodeWebSocketTransport-BRLjmu2R.js +4 -0
  21. package/lib/{NodeWebSocketTransport-BdrEPUFe.js → NodeWebSocketTransport-D9ysYGLM.js} +9 -4
  22. package/lib/ast-assets/ast-grep.wasm +0 -0
  23. package/lib/ast-assets/tree-sitter-bash.wasm +0 -0
  24. package/lib/ast-assets/tree-sitter-c.wasm +0 -0
  25. package/lib/ast-assets/tree-sitter-cpp.wasm +0 -0
  26. package/lib/ast-assets/tree-sitter-css.wasm +0 -0
  27. package/lib/ast-assets/tree-sitter-go.wasm +0 -0
  28. package/lib/ast-assets/tree-sitter-html.wasm +0 -0
  29. package/lib/ast-assets/tree-sitter-javascript.wasm +0 -0
  30. package/lib/ast-assets/tree-sitter-json.wasm +0 -0
  31. package/lib/ast-assets/tree-sitter-python.wasm +0 -0
  32. package/lib/ast-assets/tree-sitter-ruby.wasm +0 -0
  33. package/lib/ast-assets/tree-sitter-rust.wasm +0 -0
  34. package/lib/ast-assets/tree-sitter-tsx.wasm +0 -0
  35. package/lib/ast-assets/tree-sitter-typescript.wasm +0 -0
  36. package/lib/ast-assets/tree-sitter-yaml.wasm +0 -0
  37. package/lib/ast-assets/tree-sitter.wasm +0 -0
  38. package/lib/{bidi-D0POLRy7.js → bidi-CwtLGgcA.js} +3 -3
  39. package/lib/compaction/index.d.ts +1 -1
  40. package/lib/failover/index.d.ts +1 -1
  41. package/lib/{index-browser-rqlXyoed.js → index-browser-Bp3vxHC3.js} +6 -6
  42. package/lib/index.d.ts +1 -1
  43. package/lib/{lsp-server-registry-LUjrrLxk.js → lsp-server-registry-BcdkHROD.js} +1 -1
  44. package/lib/{main-Dlv0Jm8U.js → main-BXwPLuYr.js} +1 -1
  45. package/lib/mobile/plugin.d.ts +2 -2
  46. package/lib/{puppeteer-core-BIIJGWPE.js → puppeteer-core-Bliv_vNf.js} +8 -8
  47. package/lib/remote/plugin.d.ts +1 -1
  48. package/lib/url-schemes/index.d.ts +11 -11
  49. package/lib/url-schemes/index.js +1188 -386
  50. package/lib/wasm_bg-CNXhHjVg.js +1291 -0
  51. package/lib/web-tree-sitter-CPrPD4J2.js +3440 -0
  52. package/lib/{web-trust-CL9P6jVe.d.ts → web-trust-DBsL1tG4.d.ts} +7 -7
  53. package/lib/web-trust.d.ts +1 -1
  54. package/package.json +40 -18
  55. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/MdxPage-CTY7atqe.js +0 -11
  56. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/extract_omp.mjs +0 -42
  57. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/fetch_pi.py +0 -52
  58. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/jsx-runtime-BHwPObl3.js +0 -13
  59. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/omp_extracted.json +0 -1
  60. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/omp_pages.txt +0 -35
  61. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/package.json +0 -1
  62. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/pi_convert.py +0 -49
  63. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/pi_pages.txt +0 -30
  64. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/.tools/serialize_omp.py +0 -250
  65. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/README.md +0 -80
  66. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/Overview.md +0 -88
  67. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/acp.md +0 -151
  68. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/advisor.md +0 -185
  69. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/agents-and-roles.md +0 -168
  70. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/approvals.md +0 -200
  71. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/cli.md +0 -381
  72. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/code-intelligence.md +0 -225
  73. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/collab.md +0 -207
  74. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/commit.md +0 -169
  75. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/compaction.md +0 -195
  76. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/computer.md +0 -224
  77. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/context-files.md +0 -184
  78. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/custom-models.md +0 -284
  79. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/custom-tools.md +0 -248
  80. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/debugging.md +0 -254
  81. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/editing.md +0 -157
  82. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/env.md +0 -552
  83. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/extension-authoring.md +0 -378
  84. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/files.md +0 -144
  85. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/github.md +0 -175
  86. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/goal.md +0 -156
  87. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/handoff.md +0 -139
  88. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/hooks.md +0 -257
  89. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/keybindings.md +0 -204
  90. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/magic-keywords.md +0 -135
  91. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/marketplace.md +0 -269
  92. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/mcp-authoring.md +0 -243
  93. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/mcp.md +0 -260
  94. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/memory.md +0 -306
  95. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/modes.md +0 -214
  96. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/pages.txt +0 -56
  97. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/plan.md +0 -126
  98. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/plugins.md +0 -287
  99. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/prewalk.md +0 -122
  100. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/prompt-templates.md +0 -149
  101. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/providers.md +0 -229
  102. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/quickstart.md +0 -117
  103. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/review.md +0 -248
  104. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/roles.md +0 -247
  105. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/rpc.md +0 -523
  106. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/sdk.md +0 -260
  107. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/secrets.md +0 -199
  108. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/security.md +0 -260
  109. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/session-format.md +0 -254
  110. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/session-tree.md +0 -135
  111. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/sessions.md +0 -223
  112. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/settings.md +0 -290
  113. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/skills.md +0 -187
  114. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/slash.md +0 -328
  115. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/subagent-authoring.md +0 -165
  116. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/subagents.md +0 -149
  117. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/themes.md +0 -230
  118. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/tools.md +0 -120
  119. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/ttsr.md +0 -242
  120. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/using.md +0 -214
  121. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/vibe.md +0 -187
  122. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/omp/web.md +0 -233
  123. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/compaction.md +0 -427
  124. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/containerization.md +0 -162
  125. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/custom-provider.md +0 -782
  126. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/development.md +0 -96
  127. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/environment-variables.md +0 -104
  128. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/extensions.md +0 -3058
  129. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/index.md +0 -89
  130. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/json.md +0 -105
  131. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/keybindings.md +0 -244
  132. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/llama-cpp.md +0 -106
  133. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/models.md +0 -587
  134. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/packages.md +0 -234
  135. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/pages.txt +0 -30
  136. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/prompt-templates.md +0 -101
  137. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/providers.md +0 -327
  138. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/quickstart.md +0 -172
  139. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/rpc.md +0 -1679
  140. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/sdk.md +0 -1239
  141. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/security.md +0 -64
  142. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/session-format.md +0 -454
  143. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/sessions.md +0 -150
  144. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/settings.md +0 -374
  145. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/shell-aliases.md +0 -18
  146. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/skills.md +0 -241
  147. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/terminal-setup.md +0 -199
  148. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/termux.md +0 -135
  149. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/themes.md +0 -328
  150. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/tmux.md +0 -68
  151. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/tui.md +0 -965
  152. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/usage.md +0 -315
  153. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/pi-and-omp/pi/windows.md +0 -44
  154. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/src-scripts/crawl.py +0 -103
  155. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/src-scripts/docs-tree.json +0 -82965
  156. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/src-scripts/download.py +0 -56
  157. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/src-scripts/gen_mapping.py +0 -125
  158. package/docs/80_upstream-docs-and-skills/dsh-dev-skill/src-scripts/pages.json +0 -232
  159. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/api-plugins.json +0 -1
  160. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/api-skills.json +0 -4
  161. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/_category_.json +0 -8
  162. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/acp-internals.md +0 -181
  163. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/adding-platform-adapters.md +0 -788
  164. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/adding-providers.md +0 -464
  165. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/adding-tools.md +0 -211
  166. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/agent-loop.md +0 -242
  167. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/architecture.md +0 -279
  168. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/billing-lifecycle.md +0 -184
  169. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/browser-provider-plugin.md +0 -153
  170. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/browser-supervisor.md +0 -198
  171. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/chronos-managed-cron-contract.md +0 -227
  172. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/cli-internals.md +0 -85
  173. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/codebase-ownership.md +0 -34
  174. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/completion-backlog-delivery.md +0 -52
  175. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/context-compression-and-caching.md +0 -642
  176. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/context-engine-plugin.md +0 -272
  177. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/contributing.md +0 -303
  178. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/creating-skills.md +0 -438
  179. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/cron-internals.md +0 -380
  180. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/desktop-plugin-sdk.md +0 -952
  181. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/egress-internals.md +0 -319
  182. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/extending-the-cli.md +0 -192
  183. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/gateway-internals.md +0 -297
  184. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/gateway-monitoring.md +0 -309
  185. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/gateway-session-lifecycle.md +0 -621
  186. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/image-gen-provider-plugin.md +0 -316
  187. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/memory-provider-plugin.md +0 -452
  188. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/micro-compaction.md +0 -406
  189. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/middleware.md +0 -266
  190. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/model-provider-plugin.md +0 -327
  191. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/multiplexing-gateway.md +0 -228
  192. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/observer-hooks.md +0 -331
  193. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/plugin-llm-access.md +0 -506
  194. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/plugins/index.md +0 -1775
  195. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/programmatic-integration.md +0 -212
  196. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/prompt-assembly.md +0 -328
  197. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/provider-runtime.md +0 -222
  198. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/relay-connector-contract.md +0 -790
  199. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/relay-shared-metrics.md +0 -487
  200. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/secret-source-plugin.md +0 -192
  201. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/session-storage.md +0 -523
  202. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/state-db-recovery.md +0 -107
  203. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/streaming-tts.md +0 -98
  204. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/subagent-lifecycle-api.md +0 -61
  205. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/terminal-environment-plugin.md +0 -140
  206. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/tools-runtime.md +0 -250
  207. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/trajectory-format.md +0 -232
  208. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/video-gen-provider-plugin.md +0 -231
  209. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/web-search-provider-plugin.md +0 -260
  210. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/developer-guide/worktree-ui-dev.md +0 -168
  211. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/getting-started/_category_.json +0 -8
  212. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/getting-started/installation.md +0 -200
  213. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/getting-started/learning-path.md +0 -169
  214. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/getting-started/nix-setup.md +0 -1234
  215. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/getting-started/platform-support.md +0 -50
  216. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/getting-started/quickstart.md +0 -399
  217. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/getting-started/termux.md +0 -301
  218. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/getting-started/updating.md +0 -374
  219. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/_category_.json +0 -6
  220. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/agent-email-address.md +0 -93
  221. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/automate-with-cron.md +0 -292
  222. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/automation-blueprints.md +0 -595
  223. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/aws-bedrock.md +0 -196
  224. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/azure-foundry.md +0 -334
  225. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/cron-script-only.md +0 -247
  226. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/cron-troubleshooting.md +0 -235
  227. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/daily-briefing-bot.md +0 -272
  228. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/delegation-patterns.md +0 -242
  229. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/desktop-native-signin.md +0 -125
  230. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/github-pr-review-agent.md +0 -303
  231. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/google-gemini.md +0 -270
  232. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/google-vertex.md +0 -148
  233. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/local-llm-on-mac.md +0 -252
  234. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/local-ollama-setup.md +0 -338
  235. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/manage-hermes-cloud-with-mcp.md +0 -176
  236. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/microsoft-graph-app-registration.md +0 -180
  237. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/migrate-from-openclaw.md +0 -252
  238. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/minimax-oauth.md +0 -226
  239. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/oauth-over-ssh.md +0 -172
  240. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/operate-teams-meeting-pipeline.md +0 -295
  241. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/pipe-script-output.md +0 -249
  242. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/python-library.md +0 -333
  243. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/run-hermes-with-nous-portal.md +0 -276
  244. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/run-nemotron-3-ultra-free.md +0 -123
  245. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/secure-hermes-on-a-work-machine.md +0 -182
  246. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/team-telegram-assistant.md +0 -441
  247. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/tips.md +0 -238
  248. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/troubleshooting-agent-quality.md +0 -145
  249. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/use-mcp-with-hermes.md +0 -541
  250. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/use-soul-with-hermes.md +0 -264
  251. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/use-voice-mode-with-hermes.md +0 -473
  252. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/webhook-github-pr-review.md +0 -336
  253. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/work-with-skills.md +0 -290
  254. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/guides/xai-grok-oauth.md +0 -243
  255. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/index.mdx +0 -155
  256. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/integrations/buzz.md +0 -57
  257. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/integrations/index.md +0 -126
  258. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/integrations/nous-portal.md +0 -286
  259. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/integrations/providers.md +0 -1681
  260. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/_category_.json +0 -8
  261. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/automation-blueprints-catalog.mdx +0 -36
  262. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/cli-commands.md +0 -1900
  263. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/cli-symbols.md +0 -126
  264. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/environment-variables.md +0 -952
  265. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/faq.md +0 -874
  266. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/mcp-config-reference.md +0 -439
  267. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/model-catalog.md +0 -121
  268. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/optional-skills-catalog.md +0 -303
  269. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/profile-commands.md +0 -544
  270. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/skills-catalog.md +0 -132
  271. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/slash-commands.md +0 -336
  272. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/tools-reference.md +0 -399
  273. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/reference/toolsets-reference.md +0 -171
  274. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/_category_.json +0 -8
  275. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/bot-mode.md +0 -309
  276. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/checkpoints-and-rollback.md +0 -283
  277. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/cli.md +0 -591
  278. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/configuration.md +0 -2901
  279. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/configuring-models.md +0 -414
  280. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/desktop.md +0 -728
  281. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/docker.md +0 -896
  282. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/egress/index.md +0 -10
  283. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/egress/iron-proxy.md +0 -570
  284. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/egress/network-isolation.md +0 -201
  285. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/_category_.json +0 -8
  286. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/acp.md +0 -407
  287. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/api-server.md +0 -810
  288. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/batch-processing.md +0 -230
  289. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/browser.md +0 -901
  290. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/built-in-plugins.md +0 -366
  291. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/code-execution.md +0 -319
  292. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/codex-app-server-runtime.md +0 -460
  293. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/computer-use.md +0 -636
  294. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/context-files.md +0 -237
  295. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/context-references.md +0 -142
  296. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/credential-pools.md +0 -308
  297. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/credential-vault.md +0 -122
  298. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/cron.md +0 -1262
  299. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/curator.md +0 -409
  300. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/delegation.md +0 -664
  301. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/deliverable-mode.md +0 -134
  302. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/document-extraction.md +0 -58
  303. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/extending-the-dashboard.md +0 -927
  304. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/fallback-providers.md +0 -444
  305. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/goals.md +0 -293
  306. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/heartbeat.md +0 -68
  307. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/honcho.md +0 -276
  308. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/hooks.md +0 -2007
  309. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/image-generation.md +0 -347
  310. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/kanban-multi-gateway.md +0 -52
  311. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/kanban-tutorial.md +0 -310
  312. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/kanban-worker-lanes.md +0 -142
  313. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/kanban.md +0 -1327
  314. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/loops.md +0 -122
  315. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/lsp.md +0 -307
  316. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/mcp.md +0 -957
  317. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/memory-providers.md +0 -699
  318. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/memory.md +0 -466
  319. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/mixture-of-agents.md +0 -246
  320. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/overview.md +0 -57
  321. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/personality.md +0 -289
  322. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/pets.md +0 -236
  323. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/plugin-catalog.md +0 -212
  324. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/plugins.md +0 -847
  325. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/provider-routing.md +0 -229
  326. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/skills.md +0 -1112
  327. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/skins.md +0 -271
  328. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/spotify.md +0 -279
  329. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/subscription-proxy.md +0 -203
  330. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/tool-gateway.md +0 -223
  331. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/tool-search.md +0 -277
  332. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/tools.md +0 -261
  333. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/tts.md +0 -744
  334. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/vision.md +0 -214
  335. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/voice-mode.md +0 -608
  336. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/wake-word.md +0 -343
  337. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/web-dashboard.md +0 -1206
  338. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/web-search.md +0 -506
  339. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/features/x-search.md +0 -167
  340. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/git-worktrees.md +0 -196
  341. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/import-from-other-agents.md +0 -74
  342. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/local-models.md +0 -140
  343. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/managed-scope.md +0 -157
  344. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/_category_.json +0 -8
  345. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/a2a.md +0 -130
  346. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/bluebubbles.md +0 -171
  347. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/buzz.md +0 -162
  348. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/dingtalk.md +0 -283
  349. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/discord.md +0 -936
  350. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/email.md +0 -223
  351. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/feishu.md +0 -599
  352. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/google_chat.md +0 -430
  353. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/homeassistant.md +0 -269
  354. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/index.md +0 -859
  355. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/irc.md +0 -78
  356. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/line.md +0 -201
  357. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/matrix.md +0 -910
  358. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/mattermost.md +0 -340
  359. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/msgraph-webhook.md +0 -142
  360. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/ntfy.md +0 -157
  361. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/open-webui.md +0 -296
  362. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/photon.md +0 -255
  363. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/qqbot.md +0 -123
  364. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/raft.md +0 -70
  365. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/relay.md +0 -212
  366. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/signal.md +0 -262
  367. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/simplex.md +0 -151
  368. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/slack.md +0 -1093
  369. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/sms.md +0 -203
  370. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/teams-meetings.md +0 -242
  371. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/teams.md +0 -288
  372. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/telegram.md +0 -1373
  373. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/webhooks.md +0 -694
  374. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/wecom-callback.md +0 -179
  375. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/wecom.md +0 -306
  376. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/weixin.md +0 -333
  377. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/whatsapp-cloud.md +0 -417
  378. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/whatsapp.md +0 -283
  379. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/messaging/yuanbao.md +0 -342
  380. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/multi-connection-desktop.md +0 -361
  381. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/multi-profile-gateways.md +0 -1062
  382. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/profile-distributions.md +0 -757
  383. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/profiles.md +0 -418
  384. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/secrets/bitwarden.md +0 -155
  385. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/secrets/command.md +0 -50
  386. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/secrets/index.md +0 -50
  387. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/secrets/onepassword.md +0 -169
  388. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/security.md +0 -892
  389. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/sessions.md +0 -990
  390. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/apple/apple-apple-notes.md +0 -110
  391. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/apple/apple-apple-reminders.md +0 -146
  392. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/apple/apple-findmy.md +0 -149
  393. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/apple/apple-imessage.md +0 -118
  394. 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
  395. 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
  396. 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
  397. 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
  398. 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
  399. 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
  400. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-architecture-diagram.md +0 -165
  401. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-ascii-art.md +0 -338
  402. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-ascii-video.md +0 -265
  403. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-baoyu-infographic.md +0 -256
  404. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-claude-design.md +0 -668
  405. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-comfyui.md +0 -616
  406. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-design-md.md +0 -238
  407. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-excalidraw.md +0 -212
  408. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-humanizer.md +0 -663
  409. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-manim-video.md +0 -292
  410. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-p5js.md +0 -576
  411. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-popular-web-designs.md +0 -223
  412. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-pretext.md +0 -238
  413. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/creative/creative-sketch.md +0 -240
  414. 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
  415. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/devops/devops-sdlc-review.md +0 -195
  416. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/email/email-email-inbox-triage.md +0 -115
  417. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/email/email-himalaya.md +0 -319
  418. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/github/github-codebase-inspection.md +0 -132
  419. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/github/github-github-auth.md +0 -265
  420. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/github/github-github-code-review.md +0 -499
  421. 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
  422. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/github/github-github-issues.md +0 -388
  423. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/github/github-github-pr-workflow.md +0 -385
  424. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/github/github-github-repo-management.md +0 -534
  425. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/media/media-gif-search.md +0 -106
  426. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/media/media-songsee.md +0 -98
  427. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/media/media-youtube-content.md +0 -100
  428. 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
  429. 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
  430. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/mlops/mlops-huggingface-hub.md +0 -100
  431. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/mlops/mlops-inference-llama-cpp.md +0 -267
  432. 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
  433. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/note-taking/note-taking-obsidian.md +0 -85
  434. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-airtable.md +0 -243
  435. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-box.md +0 -132
  436. 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
  437. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-docx.md +0 -213
  438. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-google-workspace.md +0 -348
  439. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-maps.md +0 -210
  440. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-meeting-action-items.md +0 -105
  441. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-nano-pdf.md +0 -70
  442. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-notion.md +0 -463
  443. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-ocr-and-documents.md +0 -193
  444. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-pdf.md +0 -142
  445. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-powerpoint.md +0 -237
  446. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-product-price-monitor.md +0 -97
  447. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-session-librarian.md +0 -122
  448. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-teams-meeting-pipeline.md +0 -129
  449. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-weekly-review-planning.md +0 -99
  450. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/productivity/productivity-xlsx.md +0 -213
  451. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/research/research-arxiv.md +0 -300
  452. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/research/research-blocked-page-recovery.md +0 -155
  453. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/research/research-blogwatcher.md +0 -152
  454. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/research/research-competitor-news-monitor.md +0 -106
  455. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/research/research-grounded-citations.md +0 -274
  456. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/research/research-llm-wiki.md +0 -526
  457. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/research/research-research-paper-writing.md +0 -1645
  458. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/smart-home/smart-home-openhue.md +0 -127
  459. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/social-media/social-media-xurl.md +0 -450
  460. 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
  461. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/software-development/software-development-dogfood.md +0 -183
  462. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/software-development/software-development-github.md +0 -73
  463. 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
  464. 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
  465. 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
  466. 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
  467. 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
  468. 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
  469. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/software-development/software-development-spike.md +0 -217
  470. 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
  471. 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
  472. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/bundled/web/web-blocked-page-recovery.md +0 -155
  473. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/google-workspace.md +0 -191
  474. 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
  475. 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
  476. 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
  477. 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
  478. 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
  479. 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
  480. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/blockchain/blockchain-evm.md +0 -227
  481. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/blockchain/blockchain-hyperliquid.md +0 -228
  482. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/blockchain/blockchain-solana.md +0 -225
  483. 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
  484. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-ai-presenter-video.md +0 -211
  485. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-archify.md +0 -66
  486. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-ascii-art.md +0 -338
  487. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-audiocraft-audio-generation.md +0 -588
  488. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-auteur.md +0 -195
  489. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-baoyu-article-illustrator.md +0 -225
  490. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-baoyu-comic.md +0 -264
  491. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-comfyui.md +0 -616
  492. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-concept-diagrams.md +0 -379
  493. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-creative-ideation.md +0 -192
  494. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-draw-your-font.md +0 -169
  495. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-dream-loop.md +0 -297
  496. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-excalidraw.md +0 -212
  497. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-heartmula.md +0 -191
  498. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-hyperframes.md +0 -222
  499. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-impeccable.md +0 -56
  500. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-ip-as-logo.md +0 -171
  501. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-kanban-video-orchestrator.md +0 -220
  502. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-meme-generation.md +0 -147
  503. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-mono-color.md +0 -158
  504. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-pixel-art.md +0 -234
  505. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-pretext.md +0 -238
  506. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-simple-english.md +0 -362
  507. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-sketch.md +0 -240
  508. 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
  509. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-system-atlas.md +0 -105
  510. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-tldraw-offline.md +0 -294
  511. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/creative/creative-unreal-mcp.md +0 -269
  512. 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
  513. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/devops/devops-actual-setup.md +0 -164
  514. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/devops/devops-docker-management.md +0 -298
  515. 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
  516. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/devops/devops-inference-sh-cli.md +0 -173
  517. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/devops/devops-pinggy-tunnel.md +0 -326
  518. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/devops/devops-setup-wizard-generator.md +0 -133
  519. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/devops/devops-watchers.md +0 -126
  520. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/dogfood/dogfood-adversarial-ux-test.md +0 -209
  521. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/email/email-agentmail.md +0 -104
  522. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-3-statement-model.md +0 -451
  523. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-comps-analysis.md +0 -682
  524. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-dcf-model.md +0 -1288
  525. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-excel-author.md +0 -262
  526. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-lbo-model.md +0 -309
  527. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-merger-model.md +0 -162
  528. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-polymarket.md +0 -97
  529. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-pptx-author.md +0 -191
  530. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/finance/finance-stocks.md +0 -112
  531. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/gaming/gaming-minecraft-modpack-server.md +0 -209
  532. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/gaming/gaming-pokemon-player.md +0 -240
  533. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/health/health-fitness-nutrition.md +0 -259
  534. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/health/health-neuroskill-bci.md +0 -470
  535. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mcp/mcp-fastmcp.md +0 -315
  536. 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
  537. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mcp/mcp-mcporter.md +0 -138
  538. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/migration/migration-openclaw-migration.md +0 -316
  539. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-accelerate.md +0 -366
  540. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-chroma.md +0 -425
  541. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-clip.md +0 -272
  542. 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
  543. 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
  544. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-faiss.md +0 -240
  545. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-flash-attention.md +0 -388
  546. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-guidance.md +0 -595
  547. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-huggingface-tokenizers.md +0 -535
  548. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-inference-llama-cpp.md +0 -267
  549. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-inference-outlines.md +0 -679
  550. 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
  551. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-instructor.md +0 -759
  552. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-lambda-labs.md +0 -568
  553. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-llava.md +0 -323
  554. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-modal.md +0 -368
  555. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-models-huggingface-hub.md +0 -100
  556. 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
  557. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-nemo-curator.md +0 -415
  558. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-obliteratus.md +0 -360
  559. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-peft.md +0 -452
  560. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-pinecone.md +0 -396
  561. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-pytorch-fsdp.md +0 -97
  562. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-pytorch-lightning.md +0 -365
  563. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-qdrant.md +0 -522
  564. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-research-dspy.md +0 -609
  565. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-saelens.md +0 -439
  566. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-simpo.md +0 -237
  567. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-slime.md +0 -486
  568. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-stable-diffusion.md +0 -542
  569. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-tensorrt-llm.md +0 -208
  570. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-torchtitan.md +0 -404
  571. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-training-axolotl.md +0 -181
  572. 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
  573. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-training-unsloth.md +0 -98
  574. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/mlops/mlops-whisper.md +0 -336
  575. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/payments/payments-mpp-agent.md +0 -142
  576. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/payments/payments-stripe-link-cli.md +0 -202
  577. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/payments/payments-stripe-projects.md +0 -138
  578. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-canvas.md +0 -114
  579. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-decision-questionnaire.md +0 -133
  580. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-here-now.md +0 -231
  581. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-live-dashboard.md +0 -126
  582. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-memento-flashcards.md +0 -336
  583. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-property-listings.md +0 -121
  584. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-shop.md +0 -238
  585. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-shopify.md +0 -377
  586. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-siyuan.md +0 -305
  587. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/productivity/productivity-telephony.md +0 -435
  588. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-bioinformatics.md +0 -254
  589. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-blogwatcher.md +0 -162
  590. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-darwinian-evolver.md +0 -217
  591. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-domain-intel.md +0 -121
  592. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-drug-discovery.md +0 -237
  593. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-duckduckgo-search.md +0 -255
  594. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-gitnexus-explorer.md +0 -232
  595. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-osint-investigation.md +0 -295
  596. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-parallel-cli.md +0 -411
  597. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-pinecone-research.md +0 -125
  598. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-qmd.md +0 -459
  599. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-research-paper-writing.md +0 -1645
  600. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-rss-feeds.md +0 -114
  601. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-scrapling.md +0 -351
  602. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/research/research-searxng-search.md +0 -212
  603. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/security/security-1password.md +0 -173
  604. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/security/security-godmode.md +0 -421
  605. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/security/security-oss-forensics.md +0 -426
  606. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/security/security-sherlock.md +0 -208
  607. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/security/security-unbroker.md +0 -331
  608. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/security/security-web-pentest.md +0 -337
  609. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/smart-home/smart-home-openhue.md +0 -127
  610. 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
  611. 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
  612. 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
  613. 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
  614. 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
  615. 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
  616. 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
  617. 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
  618. 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
  619. 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
  620. 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
  621. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/web-development/web-development-scrollcraft.md +0 -257
  622. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/skills/optional/yuanbao/yuanbao-yuanbao.md +0 -127
  623. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/tui.md +0 -313
  624. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/which-file-does-what.md +0 -57
  625. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/windows-native.md +0 -326
  626. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-guide/windows-wsl-quickstart.md +0 -358
  627. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docs/user-stories.mdx +0 -10
  628. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/docusaurus.config.ts +0 -210
  629. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/acp-internals.md +0 -181
  630. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/adding-platform-adapters.md +0 -686
  631. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/adding-providers.md +0 -459
  632. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/adding-tools.md +0 -209
  633. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/agent-loop.md +0 -239
  634. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/architecture.md +0 -277
  635. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/browser-supervisor.md +0 -160
  636. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/context-compression-and-caching.md +0 -328
  637. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/context-engine-plugin.md +0 -193
  638. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/contributing.md +0 -253
  639. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/creating-skills.md +0 -375
  640. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/cron-internals.md +0 -236
  641. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/extending-the-cli.md +0 -192
  642. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/gateway-internals.md +0 -267
  643. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/image-gen-provider-plugin.md +0 -288
  644. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/memory-provider-plugin.md +0 -258
  645. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/model-provider-plugin.md +0 -267
  646. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/plugin-llm-access.md +0 -401
  647. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/plugins/index.md +0 -1156
  648. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/programmatic-integration.md +0 -126
  649. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/prompt-assembly.md +0 -273
  650. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/provider-runtime.md +0 -208
  651. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/session-storage.md +0 -420
  652. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/tools-runtime.md +0 -236
  653. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/trajectory-format.md +0 -222
  654. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/video-gen-provider-plugin.md +0 -231
  655. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/developer-guide/web-search-provider-plugin.md +0 -260
  656. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/getting-started/installation.md +0 -204
  657. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/getting-started/learning-path.md +0 -154
  658. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/getting-started/nix-setup.md +0 -975
  659. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/getting-started/quickstart.md +0 -352
  660. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/getting-started/termux.md +0 -236
  661. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/getting-started/updating.md +0 -231
  662. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/automate-with-cron.md +0 -266
  663. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/automation-blueprints.md +0 -595
  664. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/aws-bedrock.md +0 -170
  665. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/azure-foundry.md +0 -334
  666. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/cron-script-only.md +0 -247
  667. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/cron-troubleshooting.md +0 -227
  668. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/daily-briefing-bot.md +0 -268
  669. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/delegation-patterns.md +0 -239
  670. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/github-pr-review-agent.md +0 -303
  671. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/google-gemini.md +0 -254
  672. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/local-llm-on-mac.md +0 -240
  673. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/local-ollama-setup.md +0 -317
  674. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/microsoft-graph-app-registration.md +0 -180
  675. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/migrate-from-openclaw.md +0 -244
  676. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/minimax-oauth.md +0 -228
  677. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/oauth-over-ssh.md +0 -96
  678. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/operate-teams-meeting-pipeline.md +0 -288
  679. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/pipe-script-output.md +0 -217
  680. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/python-library.md +0 -333
  681. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/run-hermes-with-nous-portal.md +0 -273
  682. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/team-telegram-assistant.md +0 -441
  683. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/tips.md +0 -234
  684. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/use-mcp-with-hermes.md +0 -490
  685. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/use-soul-with-hermes.md +0 -264
  686. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/use-voice-mode-with-hermes.md +0 -469
  687. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/webhook-github-pr-review.md +0 -329
  688. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/work-with-skills.md +0 -290
  689. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/guides/xai-grok-oauth.md +0 -243
  690. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/index.mdx +0 -117
  691. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/integrations/buzz.md +0 -57
  692. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/integrations/index.md +0 -100
  693. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/integrations/nous-portal.md +0 -272
  694. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/integrations/providers.md +0 -1433
  695. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/cli-commands.md +0 -1259
  696. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/environment-variables.md +0 -678
  697. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/faq.md +0 -859
  698. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/mcp-config-reference.md +0 -250
  699. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/model-catalog.md +0 -103
  700. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/optional-skills-catalog.md +0 -220
  701. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/profile-commands.md +0 -467
  702. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/skills-catalog.md +0 -156
  703. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/slash-commands.md +0 -272
  704. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/tools-reference.md +0 -261
  705. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/reference/toolsets-reference.md +0 -162
  706. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/checkpoints-and-rollback.md +0 -251
  707. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/cli.md +0 -445
  708. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/configuration.md +0 -1746
  709. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/configuring-models.md +0 -239
  710. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/docker.md +0 -595
  711. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/acp.md +0 -341
  712. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/api-server.md +0 -456
  713. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/batch-processing.md +0 -229
  714. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/browser.md +0 -629
  715. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/built-in-plugins.md +0 -269
  716. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/code-execution.md +0 -240
  717. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/codex-app-server-runtime.md +0 -441
  718. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/computer-use.md +0 -144
  719. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/context-files.md +0 -218
  720. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/context-references.md +0 -142
  721. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/credential-pools.md +0 -240
  722. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/cron.md +0 -761
  723. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/curator.md +0 -248
  724. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/delegation.md +0 -355
  725. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/deliverable-mode.md +0 -91
  726. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/extending-the-dashboard.md +0 -907
  727. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/fallback-providers.md +0 -408
  728. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/goals.md +0 -180
  729. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/honcho.md +0 -233
  730. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/hooks.md +0 -1388
  731. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/image-generation.md +0 -150
  732. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/kanban-tutorial.md +0 -308
  733. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/kanban-worker-lanes.md +0 -117
  734. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/kanban.md +0 -863
  735. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/lsp.md +0 -217
  736. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/mcp.md +0 -591
  737. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/memory-providers.md +0 -570
  738. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/memory.md +0 -233
  739. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/overview.md +0 -52
  740. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/personality.md +0 -271
  741. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/plugins.md +0 -346
  742. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/provider-routing.md +0 -200
  743. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/skills.md +0 -760
  744. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/skins.md +0 -271
  745. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/spotify.md +0 -279
  746. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/subscription-proxy.md +0 -163
  747. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/tool-gateway.md +0 -187
  748. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/tools.md +0 -223
  749. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/tts.md +0 -456
  750. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/vision.md +0 -210
  751. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/voice-mode.md +0 -521
  752. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/web-dashboard.md +0 -351
  753. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/web-search.md +0 -422
  754. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/features/x-search.md +0 -147
  755. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/git-worktrees.md +0 -173
  756. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/bluebubbles.md +0 -143
  757. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/dingtalk.md +0 -283
  758. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/discord.md +0 -843
  759. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/email.md +0 -190
  760. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/feishu.md +0 -538
  761. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/google_chat.md +0 -283
  762. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/homeassistant.md +0 -252
  763. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/index.md +0 -569
  764. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/line.md +0 -199
  765. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/matrix.md +0 -677
  766. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/mattermost.md +0 -340
  767. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/msgraph-webhook.md +0 -137
  768. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/ntfy.md +0 -155
  769. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/open-webui.md +0 -296
  770. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/qqbot.md +0 -123
  771. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/signal.md +0 -257
  772. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/simplex.md +0 -98
  773. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/slack.md +0 -614
  774. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/sms.md +0 -203
  775. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/teams-meetings.md +0 -233
  776. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/teams.md +0 -255
  777. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/telegram.md +0 -1241
  778. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/webhooks.md +0 -601
  779. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/wecom-callback.md +0 -149
  780. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/wecom.md +0 -292
  781. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/weixin.md +0 -312
  782. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/whatsapp.md +0 -236
  783. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/messaging/yuanbao.md +0 -341
  784. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/profile-distributions.md +0 -573
  785. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/profiles.md +0 -272
  786. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/secrets/bitwarden.md +0 -143
  787. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/secrets/index.md +0 -9
  788. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/security.md +0 -664
  789. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/sessions.md +0 -609
  790. 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
  791. 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
  792. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/apple/apple-findmy.md +0 -147
  793. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/apple/apple-imessage.md +0 -118
  794. 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
  795. 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
  796. 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
  797. 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
  798. 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
  799. 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
  800. 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
  801. 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
  802. 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
  803. 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
  804. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-comfyui.md +0 -547
  805. 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
  806. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-excalidraw.md +0 -210
  807. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-humanizer.md +0 -594
  808. 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
  809. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-p5js.md +0 -574
  810. 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
  811. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-pretext.md +0 -238
  812. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/creative/creative-sketch.md +0 -238
  813. 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
  814. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/email/email-himalaya.md +0 -305
  815. 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
  816. 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
  817. 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
  818. 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
  819. 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
  820. 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
  821. 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
  822. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/media/media-songsee.md +0 -98
  823. 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
  824. 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
  825. 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
  826. 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
  827. 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
  828. 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
  829. 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
  830. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/productivity/productivity-airtable.md +0 -243
  831. 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
  832. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/productivity/productivity-maps.md +0 -196
  833. 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
  834. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/productivity/productivity-notion.md +0 -463
  835. 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
  836. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/productivity/productivity-powerpoint.md +0 -257
  837. 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
  838. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/research/research-arxiv.md +0 -300
  839. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/bundled/research/research-blogwatcher.md +0 -152
  840. 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
  841. 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
  842. 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
  843. 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
  844. 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
  845. 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
  846. 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
  847. 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
  848. 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
  849. 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
  850. 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
  851. 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
  852. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/google-workspace.md +0 -191
  853. 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
  854. 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
  855. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/blockchain/blockchain-evm.md +0 -227
  856. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/blockchain/blockchain-hyperliquid.md +0 -210
  857. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/blockchain/blockchain-solana.md +0 -206
  858. 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
  859. 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
  860. 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
  861. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/creative/creative-heartmula.md +0 -189
  862. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/creative/creative-hyperframes.md +0 -205
  863. 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
  864. 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
  865. 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
  866. 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
  867. 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
  868. 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
  869. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/devops/devops-watchers.md +0 -126
  870. 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
  871. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/email/email-agentmail.md +0 -143
  872. 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
  873. 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
  874. 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
  875. 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
  876. 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
  877. 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
  878. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/finance/finance-polymarket.md +0 -94
  879. 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
  880. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/finance/finance-stocks.md +0 -108
  881. 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
  882. 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
  883. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mcp/mcp-fastmcp.md +0 -315
  884. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mcp/mcp-mcporter.md +0 -138
  885. 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
  886. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-accelerate.md +0 -350
  887. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-chroma.md +0 -425
  888. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-clip.md +0 -272
  889. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-faiss.md +0 -240
  890. 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
  891. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-guidance.md +0 -591
  892. 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
  893. 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
  894. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-instructor.md +0 -759
  895. 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
  896. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-llava.md +0 -323
  897. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-modal.md +0 -362
  898. 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
  899. 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
  900. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-peft.md +0 -452
  901. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-pinecone.md +0 -377
  902. 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
  903. 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
  904. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-qdrant.md +0 -514
  905. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-saelens.md +0 -407
  906. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-simpo.md +0 -237
  907. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-slime.md +0 -486
  908. 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
  909. 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
  910. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-torchtitan.md +0 -378
  911. 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
  912. 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
  913. 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
  914. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/mlops/mlops-whisper.md +0 -336
  915. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/productivity/productivity-canvas.md +0 -114
  916. 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
  917. 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
  918. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/productivity/productivity-shop.md +0 -354
  919. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/productivity/productivity-shopify.md +0 -377
  920. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/productivity/productivity-siyuan.md +0 -305
  921. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/productivity/productivity-telephony.md +0 -435
  922. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/research/research-bioinformatics.md +0 -252
  923. 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
  924. 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
  925. 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
  926. 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
  927. 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
  928. 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
  929. 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
  930. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/research/research-qmd.md +0 -435
  931. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/research/research-scrapling.md +0 -351
  932. 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
  933. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/security/security-1password.md +0 -173
  934. 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
  935. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/security/security-sherlock.md +0 -208
  936. 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
  937. 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
  938. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/skills/optional/yuanbao/yuanbao-yuanbao.md +0 -125
  939. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/tui.md +0 -256
  940. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/windows-native.md +0 -325
  941. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-guide/windows-wsl-quickstart.md +0 -332
  942. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/i18n/zh-Hans/user-stories.mdx +0 -10
  943. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/llms-full.txt +0 -88833
  944. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/llms.txt +0 -267
  945. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/site-pages-map.txt +0 -928
  946. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src/site-pages.json +0 -4218
  947. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src-README.md +0 -101
  948. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src-scripts/clone_repo.sh +0 -17
  949. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src-scripts/crawl.py +0 -82
  950. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src-scripts/gen_mapping.py +0 -112
  951. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src-scripts/retry-none.json +0 -305
  952. package/docs/80_upstream-docs-and-skills/hermes-dev-skill/src-scripts/verify_orphans.py +0 -53
  953. package/lib/BrowserWebSocketTransport-Q5SUMk7_.js +0 -4
  954. package/lib/LaunchOptions-DlBKKKLC.js +0 -4
  955. package/lib/NodeWebSocketTransport-DyU2tm5L.js +0 -4
  956. /package/lib/{index-DZQNwO7f.d.ts → index-DTDXUe6m.d.ts} +0 -0
  957. /package/lib/{lsp-server-registry-C05QLdw0.js → lsp-server-registry-D4VLs1Sm.js} +0 -0
  958. /package/lib/{main-7c69ae95.js → main-CKFNYpqT.js} +0 -0
  959. /package/lib/{util-DgR7HQUl.js → util-BHL_dfV_.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.