@tianshu-ai/tianshu 0.3.35 → 0.3.37

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 (175) hide show
  1. package/README.md +15 -0
  2. package/README.zh-CN.md +11 -0
  3. package/node_modules/@tianshu-ai/plugin-sdk/dist/capabilities.d.ts +4 -0
  4. package/node_modules/@tianshu-ai/plugin-sdk/dist/capabilities.d.ts.map +1 -1
  5. package/node_modules/@tianshu-ai/plugin-sdk/dist/capabilities.js +4 -0
  6. package/node_modules/@tianshu-ai/plugin-sdk/dist/capabilities.js.map +1 -1
  7. package/node_modules/@tianshu-ai/plugin-sdk/dist/channel-bindings.d.ts +47 -0
  8. package/node_modules/@tianshu-ai/plugin-sdk/dist/channel-bindings.d.ts.map +1 -0
  9. package/node_modules/@tianshu-ai/plugin-sdk/dist/channel-bindings.js +18 -0
  10. package/node_modules/@tianshu-ai/plugin-sdk/dist/channel-bindings.js.map +1 -0
  11. package/node_modules/@tianshu-ai/plugin-sdk/dist/client.d.ts +28 -0
  12. package/node_modules/@tianshu-ai/plugin-sdk/dist/client.d.ts.map +1 -1
  13. package/node_modules/@tianshu-ai/plugin-sdk/dist/client.js +39 -0
  14. package/node_modules/@tianshu-ai/plugin-sdk/dist/client.js.map +1 -1
  15. package/node_modules/@tianshu-ai/plugin-sdk/dist/index.d.ts +1 -0
  16. package/node_modules/@tianshu-ai/plugin-sdk/dist/index.d.ts.map +1 -1
  17. package/node_modules/@tianshu-ai/plugin-sdk/dist/index.js +1 -0
  18. package/node_modules/@tianshu-ai/plugin-sdk/dist/index.js.map +1 -1
  19. package/node_modules/@tianshu-ai/plugin-sdk/dist/manifest.d.ts +46 -0
  20. package/node_modules/@tianshu-ai/plugin-sdk/dist/manifest.d.ts.map +1 -1
  21. package/node_modules/@tianshu-ai/plugin-sdk/dist/server.d.ts +120 -0
  22. package/node_modules/@tianshu-ai/plugin-sdk/dist/server.d.ts.map +1 -1
  23. package/node_modules/@tianshu-ai/plugin-sdk/dist/server.js.map +1 -1
  24. package/node_modules/@tianshu-ai/plugin-sdk/src/capabilities.ts +5 -0
  25. package/node_modules/@tianshu-ai/plugin-sdk/src/channel-bindings.ts +63 -0
  26. package/node_modules/@tianshu-ai/plugin-sdk/src/client.ts +106 -0
  27. package/node_modules/@tianshu-ai/plugin-sdk/src/index.ts +1 -0
  28. package/node_modules/@tianshu-ai/plugin-sdk/src/manifest.ts +47 -0
  29. package/node_modules/@tianshu-ai/plugin-sdk/src/server.ts +163 -0
  30. package/package.json +1 -1
  31. package/packages/plugin-sdk/dist/capabilities.d.ts +4 -0
  32. package/packages/plugin-sdk/dist/capabilities.d.ts.map +1 -1
  33. package/packages/plugin-sdk/dist/capabilities.js +4 -0
  34. package/packages/plugin-sdk/dist/capabilities.js.map +1 -1
  35. package/packages/plugin-sdk/dist/channel-bindings.d.ts +47 -0
  36. package/packages/plugin-sdk/dist/channel-bindings.d.ts.map +1 -0
  37. package/packages/plugin-sdk/dist/channel-bindings.js +18 -0
  38. package/packages/plugin-sdk/dist/channel-bindings.js.map +1 -0
  39. package/packages/plugin-sdk/dist/client.d.ts +28 -0
  40. package/packages/plugin-sdk/dist/client.d.ts.map +1 -1
  41. package/packages/plugin-sdk/dist/client.js +39 -0
  42. package/packages/plugin-sdk/dist/client.js.map +1 -1
  43. package/packages/plugin-sdk/dist/index.d.ts +1 -0
  44. package/packages/plugin-sdk/dist/index.d.ts.map +1 -1
  45. package/packages/plugin-sdk/dist/index.js +1 -0
  46. package/packages/plugin-sdk/dist/index.js.map +1 -1
  47. package/packages/plugin-sdk/dist/manifest.d.ts +46 -0
  48. package/packages/plugin-sdk/dist/manifest.d.ts.map +1 -1
  49. package/packages/plugin-sdk/dist/server.d.ts +120 -0
  50. package/packages/plugin-sdk/dist/server.d.ts.map +1 -1
  51. package/packages/plugin-sdk/dist/server.js.map +1 -1
  52. package/packages/server/builtinConfig/plugins/wechat/manifest.json +48 -0
  53. package/packages/server/dist/channels/adapter-manager.d.ts +44 -0
  54. package/packages/server/dist/channels/adapter-manager.d.ts.map +1 -0
  55. package/packages/server/dist/channels/adapter-manager.js +164 -0
  56. package/packages/server/dist/channels/adapter-manager.js.map +1 -0
  57. package/packages/server/dist/channels/bindings.d.ts +35 -0
  58. package/packages/server/dist/channels/bindings.d.ts.map +1 -0
  59. package/packages/server/dist/channels/bindings.js +119 -0
  60. package/packages/server/dist/channels/bindings.js.map +1 -0
  61. package/packages/server/dist/channels/hub.d.ts +48 -0
  62. package/packages/server/dist/channels/hub.d.ts.map +1 -0
  63. package/packages/server/dist/channels/hub.js +106 -0
  64. package/packages/server/dist/channels/hub.js.map +1 -0
  65. package/packages/server/dist/channels/index.d.ts +9 -0
  66. package/packages/server/dist/channels/index.d.ts.map +1 -0
  67. package/packages/server/dist/channels/index.js +11 -0
  68. package/packages/server/dist/channels/index.js.map +1 -0
  69. package/packages/server/dist/channels/router.d.ts +16 -0
  70. package/packages/server/dist/channels/router.d.ts.map +1 -0
  71. package/packages/server/dist/channels/router.js +143 -0
  72. package/packages/server/dist/channels/router.js.map +1 -0
  73. package/packages/server/dist/channels/sessions.d.ts +25 -0
  74. package/packages/server/dist/channels/sessions.d.ts.map +1 -0
  75. package/packages/server/dist/channels/sessions.js +81 -0
  76. package/packages/server/dist/channels/sessions.js.map +1 -0
  77. package/packages/server/dist/channels/types.d.ts +31 -0
  78. package/packages/server/dist/channels/types.d.ts.map +1 -0
  79. package/packages/server/dist/channels/types.js +17 -0
  80. package/packages/server/dist/channels/types.js.map +1 -0
  81. package/packages/server/dist/chat/handler.d.ts +10 -0
  82. package/packages/server/dist/chat/handler.d.ts.map +1 -1
  83. package/packages/server/dist/chat/handler.js +25 -9
  84. package/packages/server/dist/chat/handler.js.map +1 -1
  85. package/packages/server/dist/chat/messages.d.ts +12 -0
  86. package/packages/server/dist/chat/messages.d.ts.map +1 -1
  87. package/packages/server/dist/chat/messages.js +60 -1
  88. package/packages/server/dist/chat/messages.js.map +1 -1
  89. package/packages/server/dist/chat/ws-protocol.d.ts +19 -0
  90. package/packages/server/dist/chat/ws-protocol.d.ts.map +1 -1
  91. package/packages/server/dist/chat/ws-protocol.js.map +1 -1
  92. package/packages/server/dist/core/migrations/010-channels.d.ts +4 -0
  93. package/packages/server/dist/core/migrations/010-channels.d.ts.map +1 -0
  94. package/packages/server/dist/core/migrations/010-channels.js +60 -0
  95. package/packages/server/dist/core/migrations/010-channels.js.map +1 -0
  96. package/packages/server/dist/core/migrations/index.d.ts.map +1 -1
  97. package/packages/server/dist/core/migrations/index.js +2 -0
  98. package/packages/server/dist/core/migrations/index.js.map +1 -1
  99. package/packages/server/dist/core/plugins/manifest.js +16 -0
  100. package/packages/server/dist/core/plugins/manifest.js.map +1 -1
  101. package/packages/server/dist/core/plugins/registry.d.ts +18 -0
  102. package/packages/server/dist/core/plugins/registry.d.ts.map +1 -1
  103. package/packages/server/dist/core/plugins/registry.js +29 -0
  104. package/packages/server/dist/core/plugins/registry.js.map +1 -1
  105. package/packages/server/dist/index.js +147 -0
  106. package/packages/server/dist/index.js.map +1 -1
  107. package/packages/server/dist/plugins-routes.d.ts +3 -3
  108. package/packages/web/dist/assets/{angular-html-CHh9Jf0f.js → angular-html-C0dYPx6r.js} +1 -1
  109. package/packages/web/dist/assets/{angular-ts-DBEBqmsF.js → angular-ts-Oj3r5XKT.js} +1 -1
  110. package/packages/web/dist/assets/{astro-D9PQ6jOh.js → astro-CCOewSfI.js} +1 -1
  111. package/packages/web/dist/assets/{blade-jCcAPpiC.js → blade-CMoBaI-c.js} +1 -1
  112. package/packages/web/dist/assets/{bundle-web-CLb2SHtn.js → bundle-web-CKXVGjGn.js} +3 -3
  113. package/packages/web/dist/assets/{c-C_hjr95Y.js → c-C3xsc8VJ.js} +1 -1
  114. package/packages/web/dist/assets/{coffee-Bkr9tGk3.js → coffee-Bk95m5xZ.js} +1 -1
  115. package/packages/web/dist/assets/{cpp-CnAw1wGQ.js → cpp-BDq9NJ6M.js} +1 -1
  116. package/packages/web/dist/assets/{css-D3llP9o3.js → css-o-wak23w.js} +1 -1
  117. package/packages/web/dist/assets/{glsl-FiLMT21s.js → glsl-C_vdhPcI.js} +1 -1
  118. package/packages/web/dist/assets/{graphql-XsB-g-EJ.js → graphql-CTaScu0D.js} +1 -1
  119. package/packages/web/dist/assets/{haml-R-v_GVjQ.js → haml-DPJlUtZO.js} +1 -1
  120. package/packages/web/dist/assets/{handlebars-CS8GB886.js → handlebars-BOguOpb_.js} +1 -1
  121. package/packages/web/dist/assets/{html-BhnSKwHw.js → html-D-U32qVf.js} +1 -1
  122. package/packages/web/dist/assets/{html-derivative-Bv-KRRMp.js → html-derivative-jL4OI3XO.js} +1 -1
  123. package/packages/web/dist/assets/{http-kBAr2M-u.js → http-BS0vPRn7.js} +1 -1
  124. package/packages/web/dist/assets/{hurl-tL_Tl7F-.js → hurl-B_HjhbX9.js} +1 -1
  125. package/packages/web/dist/assets/index-BNIrE3EB.css +2 -0
  126. package/packages/web/dist/assets/index-uCaxo84h.js +70 -0
  127. package/packages/web/dist/assets/{java-GYVyDpBx.js → java-ChRhPBC6.js} +1 -1
  128. package/packages/web/dist/assets/{javascript-Cmj37bu7.js → javascript-LHwMkPdo.js} +1 -1
  129. package/packages/web/dist/assets/{jinja-CBIRQJZI.js → jinja-CFd74q6T.js} +1 -1
  130. package/packages/web/dist/assets/{jison-BUXJXMiB.js → jison-Ce1sYH7G.js} +1 -1
  131. package/packages/web/dist/assets/{jsx-D1uRu3aK.js → jsx-gt-LpmXz.js} +1 -1
  132. package/packages/web/dist/assets/{julia--MZijHAO.js → julia-C6Y23mvC.js} +1 -1
  133. package/packages/web/dist/assets/{marko-BkBmyCSX.js → marko-P-1kEquO.js} +1 -1
  134. package/packages/web/dist/assets/{mdc-XWZCBukn.js → mdc-2lMXMbYI.js} +1 -1
  135. package/packages/web/dist/assets/{papaparse.min-BSf9tR5F.js → papaparse.min-CsGIlyex.js} +1 -1
  136. package/packages/web/dist/assets/{php-sz_C1yJl.js → php-DwOfEa28.js} +1 -1
  137. package/packages/web/dist/assets/{pug-CREJlqst.js → pug-CM67KWgR.js} +1 -1
  138. package/packages/web/dist/assets/{regexp-Xt1IaOXU.js → regexp-BPbwK-Xq.js} +1 -1
  139. package/packages/web/dist/assets/{scss-CIkGbC-u.js → scss-Cu9uCmMu.js} +1 -1
  140. package/packages/web/dist/assets/{sql-DhupoNN8.js → sql-Crihb3H8.js} +1 -1
  141. package/packages/web/dist/assets/{svelte-BykbKG-B.js → svelte-7M-KmR78.js} +1 -1
  142. package/packages/web/dist/assets/{ts-tags-DG-8A91q.js → ts-tags-DCJuj_w-.js} +1 -1
  143. package/packages/web/dist/assets/{tsx-COuX1AyC.js → tsx-BghSsf5x.js} +1 -1
  144. package/packages/web/dist/assets/{typescript-CGT6b7mJ.js → typescript-DZ9XjC6y.js} +1 -1
  145. package/packages/web/dist/assets/{vue-BvccTTKa.js → vue--cfr4Gjc.js} +1 -1
  146. package/packages/web/dist/assets/{vue-html-CR_QtHjX.js → vue-html-B65J0UBj.js} +1 -1
  147. package/packages/web/dist/assets/{vue-vine-CkXWxUrH.js → vue-vine-D8DvctWg.js} +1 -1
  148. package/packages/web/dist/assets/{xml-BvSer_ob.js → xml-BZQysVLh.js} +1 -1
  149. package/packages/web/dist/index.html +2 -2
  150. package/plugins/wechat/dist/channel.d.ts +58 -0
  151. package/plugins/wechat/dist/channel.d.ts.map +1 -0
  152. package/plugins/wechat/dist/channel.js +306 -0
  153. package/plugins/wechat/dist/channel.js.map +1 -0
  154. package/plugins/wechat/dist/client.d.ts +5 -0
  155. package/plugins/wechat/dist/client.d.ts.map +1 -0
  156. package/plugins/wechat/dist/client.js +280 -0
  157. package/plugins/wechat/dist/client.js.map +1 -0
  158. package/plugins/wechat/dist/ilink-api.d.ts +195 -0
  159. package/plugins/wechat/dist/ilink-api.d.ts.map +1 -0
  160. package/plugins/wechat/dist/ilink-api.js +325 -0
  161. package/plugins/wechat/dist/ilink-api.js.map +1 -0
  162. package/plugins/wechat/dist/server.d.ts +4 -0
  163. package/plugins/wechat/dist/server.d.ts.map +1 -0
  164. package/plugins/wechat/dist/server.js +253 -0
  165. package/plugins/wechat/dist/server.js.map +1 -0
  166. package/plugins/wechat/dist/state.d.ts +18 -0
  167. package/plugins/wechat/dist/state.d.ts.map +1 -0
  168. package/plugins/wechat/dist/state.js +99 -0
  169. package/plugins/wechat/dist/state.js.map +1 -0
  170. package/plugins/wechat/manifest.json +48 -0
  171. package/plugins/wechat/node_modules/typescript/README.md +50 -0
  172. package/plugins/wechat/node_modules/typescript/package.json +120 -0
  173. package/plugins/wechat/package.json +43 -0
  174. package/packages/web/dist/assets/index-BTtkI_wR.js +0 -63
  175. package/packages/web/dist/assets/index-DlQunQDm.css +0 -2
package/README.md CHANGED
@@ -158,6 +158,16 @@ Plus:
158
158
  - 🤖 **Background workers, not "tools."** Dispatch parallel agents
159
159
  onto a Kanban board; watch elapsed time per task; intervene when
160
160
  one stalls.
161
+ - 🔍 **The orchestrator is a supervisor.** The main agent (天枢,
162
+ literally "the pivot") doesn't just dispatch — it reads across
163
+ every worker run on the board (duration, intervention rate,
164
+ failure-reason clusters, token cost) and proposes tuning back
165
+ to you: *“Your `web-research` worker hits the 10-min watchdog
166
+ on 1 in 5 runs — want me to raise its `timeoutMs` to 15 min?”*
167
+ Analytics is a recommendation surface, never an auto-tuning
168
+ control loop — every change still needs your confirm. See
169
+ [ADR-0002 §12](docs/architecture/workers.md#12-orchestrator-side-analytics--continuous-improvement)
170
+ for the full story.
161
171
  - 🏢 **Multi-tenant from row 1.** Every record carries `tenantId`.
162
172
  Sidecars, workspaces, and worker pools are tenant-isolated.
163
173
  - 🧠 **A setup assistant that fixes things.** `tianshu setup` runs a
@@ -354,6 +364,11 @@ the full picture.
354
364
  - [ ] Docker image with sandbox layer baked in
355
365
  - [ ] Linux systemd user service (matches macOS launchd UX)
356
366
  - [ ] Skills marketplace (registry + install command)
367
+ - [ ] **Orchestrator analytics**: `worker_analytics` /
368
+ `worker_task_timeline` /
369
+ `worker_propose_tuning` tools so the main agent
370
+ can read across worker runs and propose concrete
371
+ tuning (see ADR-0002 §12)
357
372
 
358
373
  Tracked in [GitHub Issues](https://github.com/tianshu-ai/tianshu/issues).
359
374
 
package/README.zh-CN.md CHANGED
@@ -136,6 +136,13 @@ Tianshu 是**一个 agent 运行时,不是一个聊天框**。三件事跟同
136
136
 
137
137
  - 🤖 **后台 worker,不是 "tool"**。多个 agent 并行调度到 Kanban
138
138
  看板上,每个任务的耗时实时可见,卡住能介入。
139
+ - 🔍 **主 agent 是个 supervisor**。主 agent(天枢,“中枢”之意)
140
+ 不只是调度——它跨任务读看板上的所有 worker 表现(耗时、干
141
+ 预率、失败原因聚类、token 成本),主动向你提调优建议:
142
+ *“你的 web-research worker 每 5 次跑有 1 次撞 10 分钟 watchdog
143
+ —— 要不要把 `timeoutMs` 改成 15 分钟?”* 分析是推荐面,不是
144
+ 自动调优控制环 —— 每个改动都要你确认。详见
145
+ [ADR-0002 §12](docs/architecture/workers.md#12-orchestrator-side-analytics--continuous-improvement)。
139
146
  - 🏢 **多租户从第一行 schema 起**。每条记录都带 `tenantId`,
140
147
  sidecar、workspace、worker pool 全部按租户隔离。
141
148
  - 🧠 **能修问题的 setup agent**。`tianshu setup` 是个由 Claude/Codex
@@ -324,6 +331,10 @@ Agent 运行时基于
324
331
  - [ ] Docker 镜像(带沙箱层)
325
332
  - [ ] Linux systemd 用户服务(跟 macOS launchd 体验对齐)
326
333
  - [ ] Skills 市场(registry + 安装命令)
334
+ - [ ] **主 agent 分析能力**:`worker_analytics` /
335
+ `worker_task_timeline` / `worker_propose_tuning` 工具,
336
+ 让主 agent 跨 worker 读性能数据、提出具体调优建议
337
+ (见 ADR-0002 §12)
327
338
 
328
339
  进度跟踪:[GitHub Issues](https://github.com/tianshu-ai/tianshu/issues)。
329
340
 
@@ -39,6 +39,10 @@ export declare const KNOWN_CAPABILITIES: {
39
39
  readonly exclusive: true;
40
40
  readonly description: "Diagnose a file via the host's LSP manager after a write/edit. Plugins (notably `files`) call `diagnoseAfterEdit({ filePath, contents })` and append the formatted diagnostic block to their tool result so the model sees compile errors in the same turn that introduced them. Tenant-scoped: the manager refuses files outside the calling tenant's workspace. See ADR-0005.";
41
41
  };
42
+ readonly "host.channelBindings": {
43
+ readonly exclusive: true;
44
+ readonly description: "Manage channel adapter bindings (chat-platform integrations). Plugins contributing a channel (Feishu / Telegram / WeChat / ...) call create/start/stop/delete here so the host's adapter manager actually wires the inbound stream to the agent. The DB row + adapter lifecycle live together behind this capability.";
45
+ };
42
46
  };
43
47
  export type CapabilityName = keyof typeof KNOWN_CAPABILITIES;
44
48
  /** True iff the given string is a registered capability name. */
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CoB,CAAC;AAEpD,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,kBAAkB,CAAC;AAE7D,iEAAiE;AACjE,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,IAAI,cAAc,CAE/D;AAED,2DAA2D;AAC3D,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEvE"}
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDoB,CAAC;AAEpD,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,kBAAkB,CAAC;AAE7D,iEAAiE;AACjE,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,IAAI,cAAc,CAE/D;AAED,2DAA2D;AAC3D,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEvE"}
@@ -49,6 +49,10 @@ export const KNOWN_CAPABILITIES = {
49
49
  exclusive: true,
50
50
  description: "Diagnose a file via the host's LSP manager after a write/edit. Plugins (notably `files`) call `diagnoseAfterEdit({ filePath, contents })` and append the formatted diagnostic block to their tool result so the model sees compile errors in the same turn that introduced them. Tenant-scoped: the manager refuses files outside the calling tenant's workspace. See ADR-0005.",
51
51
  },
52
+ "host.channelBindings": {
53
+ exclusive: true,
54
+ description: "Manage channel adapter bindings (chat-platform integrations). Plugins contributing a channel (Feishu / Telegram / WeChat / ...) call create/start/stop/delete here so the host's adapter manager actually wires the inbound stream to the agent. The DB row + adapter lifecycle live together behind this capability.",
55
+ },
52
56
  };
53
57
  /** True iff the given string is a registered capability name. */
54
58
  export function isCapabilityName(s) {
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,EAAE;AACF,iEAAiE;AACjE,iEAAiE;AACjE,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAC1D,EAAE;AACF,mBAAmB;AACnB,kEAAkE;AAClE,+DAA+D;AAC/D,mCAAmC;AACnC,kEAAkE;AAClE,2DAA2D;AAO3D,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,eAAe,EAAE;QACf,SAAS,EAAE,IAAI;QACf,WAAW,EACT,8EAA8E;KACjF;IACD,kBAAkB,EAAE;QAClB,SAAS,EAAE,IAAI;QACf,WAAW,EACT,0SAA0S;KAC7S;IACD,aAAa,EAAE;QACb,SAAS,EAAE,IAAI;QACf,WAAW,EACT,0HAA0H;KAC7H;IACD,gBAAgB,EAAE;QAChB,SAAS,EAAE,IAAI;QACf,WAAW,EACT,uTAAuT;KAC1T;IACD,mBAAmB,EAAE;QACnB,SAAS,EAAE,IAAI;QACf,WAAW,EACT,sWAAsW;KACzW;IACD,kBAAkB,EAAE;QAClB,SAAS,EAAE,IAAI;QACf,WAAW,EACT,qTAAqT;KACxT;IACD,mBAAmB,EAAE;QACnB,SAAS,EAAE,IAAI;QACf,WAAW,EACT,oNAAoN;KACvN;IACD,mBAAmB,EAAE;QACnB,SAAS,EAAE,IAAI;QACf,WAAW,EACT,sRAAsR;KACzR;IACD,UAAU,EAAE;QACV,SAAS,EAAE,IAAI;QACf,WAAW,EACT,iXAAiX;KACpX;CACgD,CAAC;AAIpD,iEAAiE;AACjE,MAAM,UAAU,gBAAgB,CAAC,CAAS;IACxC,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,EAAE;AACF,iEAAiE;AACjE,iEAAiE;AACjE,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAC1D,EAAE;AACF,mBAAmB;AACnB,kEAAkE;AAClE,+DAA+D;AAC/D,mCAAmC;AACnC,kEAAkE;AAClE,2DAA2D;AAO3D,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,eAAe,EAAE;QACf,SAAS,EAAE,IAAI;QACf,WAAW,EACT,8EAA8E;KACjF;IACD,kBAAkB,EAAE;QAClB,SAAS,EAAE,IAAI;QACf,WAAW,EACT,0SAA0S;KAC7S;IACD,aAAa,EAAE;QACb,SAAS,EAAE,IAAI;QACf,WAAW,EACT,0HAA0H;KAC7H;IACD,gBAAgB,EAAE;QAChB,SAAS,EAAE,IAAI;QACf,WAAW,EACT,uTAAuT;KAC1T;IACD,mBAAmB,EAAE;QACnB,SAAS,EAAE,IAAI;QACf,WAAW,EACT,sWAAsW;KACzW;IACD,kBAAkB,EAAE;QAClB,SAAS,EAAE,IAAI;QACf,WAAW,EACT,qTAAqT;KACxT;IACD,mBAAmB,EAAE;QACnB,SAAS,EAAE,IAAI;QACf,WAAW,EACT,oNAAoN;KACvN;IACD,mBAAmB,EAAE;QACnB,SAAS,EAAE,IAAI;QACf,WAAW,EACT,sRAAsR;KACzR;IACD,UAAU,EAAE;QACV,SAAS,EAAE,IAAI;QACf,WAAW,EACT,iXAAiX;KACpX;IACD,sBAAsB,EAAE;QACtB,SAAS,EAAE,IAAI;QACf,WAAW,EACT,uTAAuT;KAC1T;CACgD,CAAC;AAIpD,iEAAiE;AACjE,MAAM,UAAU,gBAAgB,CAAC,CAAS;IACxC,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC"}
@@ -0,0 +1,47 @@
1
+ /** Subset of the channel_bindings row plugins can see. The full row
2
+ * (status, status_detail, timestamps) is host-internal; the plugin
3
+ * cares about creating / updating identity + config. */
4
+ export interface ChannelBindingView {
5
+ /** Stable id, prefixed `cb_`. */
6
+ id: string;
7
+ /** Tenant this binding belongs to. */
8
+ tenantId: string;
9
+ /** Channel id ("wechat" / "telegram" / ...). */
10
+ channelId: string;
11
+ /** Plugin id that contributes the channel. */
12
+ pluginId: string;
13
+ /** Human-readable label admins set / the login flow inferred. */
14
+ displayName: string | null;
15
+ /** Whether the host's adapter manager should keep it active. */
16
+ enabled: boolean;
17
+ /** Last lifecycle state the adapter reached. */
18
+ status: "idle" | "starting" | "running" | "error" | "stopped";
19
+ /** Free-text last status detail (auth failure, last reconnect, etc.). */
20
+ statusDetail: string | null;
21
+ /** Per-binding adapter config (token + identity, plugin-defined). */
22
+ config: Record<string, unknown>;
23
+ createdAt: number;
24
+ updatedAt: number;
25
+ }
26
+ export interface CreateChannelBindingInput {
27
+ channelId: string;
28
+ pluginId: string;
29
+ displayName?: string;
30
+ config: Record<string, unknown>;
31
+ /** Default true. Set false to create a binding without starting
32
+ * the adapter (admin can flip later). */
33
+ enabled?: boolean;
34
+ }
35
+ export interface ChannelBindingsCapability {
36
+ /** Create + start a binding in one call. Returns the row the
37
+ * host persisted. */
38
+ create(input: CreateChannelBindingInput): Promise<ChannelBindingView>;
39
+ /** Enumerate bindings for the calling tenant. */
40
+ list(opts?: {
41
+ channelId?: string;
42
+ }): ChannelBindingView[];
43
+ /** Stop the adapter, delete the row. Returns true if anything
44
+ * was removed. */
45
+ delete(bindingId: string): Promise<boolean>;
46
+ }
47
+ //# sourceMappingURL=channel-bindings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel-bindings.d.ts","sourceRoot":"","sources":["../src/channel-bindings.ts"],"names":[],"mappings":"AAiBA;;yDAEyD;AACzD,MAAM,WAAW,kBAAkB;IACjC,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gEAAgE;IAChE,OAAO,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IAC9D,yEAAyE;IACzE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC;8CAC0C;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC;0BACsB;IACtB,MAAM,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACtE,iDAAiD;IACjD,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,kBAAkB,EAAE,CAAC;IAC1D;uBACmB;IACnB,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7C"}
@@ -0,0 +1,18 @@
1
+ // Capability-side type for `host.channelBindings`.
2
+ //
3
+ // Channel plugins (wechat / telegram / discord / ...) call into
4
+ // this through `ctx.capabilities.get<ChannelBindingsCapability>(
5
+ // "host.channelBindings")` after a successful login flow to:
6
+ //
7
+ // - persist the binding row (token, account metadata, ...) on
8
+ // `channel_bindings`
9
+ // - kick the adapter manager to actually start the adapter so
10
+ // the long-poll begins immediately, no server restart
11
+ // - list / delete previously-created bindings for the admin UI
12
+ //
13
+ // We keep the wire shape in plugin-sdk (not @tianshu/server) so
14
+ // plugins don't pull a host dep just to register a binding. The
15
+ // host registers a matching impl in index.ts; the registry hooks
16
+ // it under the capability name.
17
+ export {};
18
+ //# sourceMappingURL=channel-bindings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel-bindings.js","sourceRoot":"","sources":["../src/channel-bindings.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,EAAE;AACF,gEAAgE;AAChE,iEAAiE;AACjE,6DAA6D;AAC7D,EAAE;AACF,gEAAgE;AAChE,yBAAyB;AACzB,gEAAgE;AAChE,0DAA0D;AAC1D,iEAAiE;AACjE,EAAE;AACF,gEAAgE;AAChE,gEAAgE;AAChE,iEAAiE;AACjE,gCAAgC"}
@@ -293,4 +293,32 @@ export declare function __resetUseThemeForTest(): void;
293
293
  /** Hook plugins call. Returns the live theme state; re-renders
294
294
  * the consuming component on theme change. */
295
295
  export declare function useTheme(): ThemeApi;
296
+ export interface ChatNavApi {
297
+ /** What the chat area is currently showing. null = webchat. */
298
+ viewingSessionId: string | null;
299
+ /** Pin the chat area to a given session. Pass null to return
300
+ * to the user's webchat thread. */
301
+ setViewingSession: (sessionId: string | null) => void;
302
+ }
303
+ export declare function __installChatNav(fn: () => ChatNavApi): void;
304
+ export declare function __resetChatNavForTest(): void;
305
+ /** Hook returning the host's current chat-navigation state. */
306
+ export declare function useChatNav(): ChatNavApi;
307
+ export interface WsEventApi {
308
+ /** Subscribe to a typed server event. Returns the cleanup
309
+ * function the React effect needs to unsubscribe. Caller
310
+ * is responsible for stable handler identity (React-shaped). */
311
+ subscribe: (type: string, handler: (event: {
312
+ type: string;
313
+ } & Record<string, unknown>) => void) => () => void;
314
+ }
315
+ export declare function __installWsEventApi(api: WsEventApi): void;
316
+ export declare function __resetWsEventApiForTest(): void;
317
+ /** Programmatic subscribe — plugins call this from their own
318
+ * useEffect to receive WebSocket events from the host. Returns the
319
+ * unsubscribe function (or a no-op when the host hasn't installed
320
+ * an API yet, e.g. unit tests or pre-mount probing). */
321
+ export declare function subscribeToWsEvent<TEvent extends {
322
+ type: string;
323
+ }>(type: TEvent["type"], handler: (event: TEvent) => void): () => void;
296
324
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -147,4 +147,43 @@ export function useTheme() {
147
147
  }
148
148
  return fn();
149
149
  }
150
+ function chatNavSlot() {
151
+ return globalThis;
152
+ }
153
+ export function __installChatNav(fn) {
154
+ chatNavSlot().__tianshuPluginSdkChatNavHook__ = fn;
155
+ }
156
+ export function __resetChatNavForTest() {
157
+ delete chatNavSlot().__tianshuPluginSdkChatNavHook__;
158
+ }
159
+ /** Hook returning the host's current chat-navigation state. */
160
+ export function useChatNav() {
161
+ const fn = chatNavSlot().__tianshuPluginSdkChatNavHook__;
162
+ if (!fn) {
163
+ return {
164
+ viewingSessionId: null,
165
+ setViewingSession: () => { },
166
+ };
167
+ }
168
+ return fn();
169
+ }
170
+ function wsEventSlot() {
171
+ return globalThis;
172
+ }
173
+ export function __installWsEventApi(api) {
174
+ wsEventSlot().__tianshuPluginSdkWsEventApi__ = api;
175
+ }
176
+ export function __resetWsEventApiForTest() {
177
+ delete wsEventSlot().__tianshuPluginSdkWsEventApi__;
178
+ }
179
+ /** Programmatic subscribe — plugins call this from their own
180
+ * useEffect to receive WebSocket events from the host. Returns the
181
+ * unsubscribe function (or a no-op when the host hasn't installed
182
+ * an API yet, e.g. unit tests or pre-mount probing). */
183
+ export function subscribeToWsEvent(type, handler) {
184
+ const api = wsEventSlot().__tianshuPluginSdkWsEventApi__;
185
+ if (!api)
186
+ return () => { };
187
+ return api.subscribe(type, handler);
188
+ }
150
189
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,mCAAmC;AACnC,EAAE;AACF,sEAAsE;AACtE,wEAAwE;AACxE,yEAAyE;AA4KzE,SAAS,UAAU;IACjB,kEAAkE;IAClE,OAAO,UAA2C,CAAC;AACrD,CAAC;AAED;;qBAEqB;AACrB,MAAM,UAAU,oBAAoB,CAAC,EAAqB;IACxD,UAAU,EAAE,CAAC,4BAA4B,GAAG,EAAE,CAAC;AACjD,CAAC;AAED;;iBAEiB;AACjB,MAAM,UAAU,yBAAyB;IACvC,OAAO,UAAU,EAAE,CAAC,4BAA4B,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC,4BAA4B,CAAC;IACrD,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CACb,2EAA2E;YACzE,4EAA4E,CAC/E,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,CAAC;AACd,CAAC;AA2BD,SAAS,YAAY;IACnB,OAAO,UAA2C,CAAC;AACrD,CAAC;AAED;;;YAGY;AACZ,MAAM,UAAU,oBAAoB,CAAC,GAAgB;IACnD,YAAY,EAAE,CAAC,4BAA4B,GAAG,GAAG,CAAC;AACpD,CAAC;AAED,mBAAmB;AACnB,MAAM,UAAU,yBAAyB;IACvC,OAAO,YAAY,EAAE,CAAC,4BAA4B,CAAC;AACrD,CAAC;AAED;;;;;gBAKgB;AAChB,gEAAgE;AAChE,gEAAgE;AAChE,+DAA+D;AAC/D,kEAAkE;AAClE,EAAE;AACF,0DAA0D;AAC1D,gEAAgE;AAChE,gEAAgE;AAChE,4DAA4D;AAC5D,yDAAyD;AAEzD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAe/B,SAAS,oBAAoB;IAC3B,OAAO,UAAmD,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,CAA6C;IAE7C,oBAAoB,EAAE,CAAC,oCAAoC,GAAG,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC5C,OAAO,oBAAoB,EAAE,CAAC,oCAAoC,CAAC;AACrE,CAAC;AAED;;iEAEiE;AACjE,MAAM,CAAC,MAAM,gBAAgB,GAC3B,CAAC,KAAK,EAAE,EAAE;IACR,MAAM,CAAC,GAAG,oBAAoB,EAAE,CAAC,oCAAoC,CAAC;IACtE,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACvC,CAAC,CAAC;AAEJ,MAAM,UAAU,WAAW;IACzB,OAAO,CAAC,IAAY,EAAQ,EAAE;QAC5B,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC,4BAA4B,CAAC;QACxD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,2DAA2D;YAC3D,4DAA4D;YAC5D,4DAA4D;YAC5D,6CAA6C;YAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;YACtD,MAAM,GAAG,GAAG,yBAAyB,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;YACnE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,CAAC;AACJ,CAAC;AA4HD,SAAS,gBAAgB;IACvB,OAAO,UAA+C,CAAC;AACzD,CAAC;AAED;4CAC4C;AAC5C,MAAM,UAAU,qBAAqB,CAAC,GAAiB;IACrD,gBAAgB,EAAE,CAAC,gCAAgC,GAAG,GAAG,CAAC;AAC5D,CAAC;AAED,mBAAmB;AACnB,MAAM,UAAU,0BAA0B;IACxC,OAAO,gBAAgB,EAAE,CAAC,gCAAgC,CAAC;AAC7D,CAAC;AAED;;;kDAGkD;AAClD,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,gBAAgB,EAAE,CAAC,gCAAgC,CAAC;IAChE,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,gFAAgF;YAC9E,wHAAwH,CAC3H,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAuDD,SAAS,SAAS;IAChB,OAAO,UAAwC,CAAC;AAClD,CAAC;AAED;;;0CAG0C;AAC1C,MAAM,UAAU,iBAAiB,CAAC,EAAkB;IAClD,SAAS,EAAE,CAAC,6BAA6B,GAAG,EAAE,CAAC;AACjD,CAAC;AAED,mBAAmB;AACnB,MAAM,UAAU,sBAAsB;IACpC,OAAO,SAAS,EAAE,CAAC,6BAA6B,CAAC;AACnD,CAAC;AAED;+CAC+C;AAC/C,MAAM,UAAU,QAAQ;IACtB,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC,6BAA6B,CAAC;IACrD,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,uDAAuD;QACvD,yDAAyD;QACzD,2CAA2C;QAC3C,OAAO;YACL,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;SAClB,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,CAAC;AACd,CAAC;AA2BD,SAAS,WAAW;IAClB,OAAO,UAA0C,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAAoB;IACnD,WAAW,EAAE,CAAC,+BAA+B,GAAG,EAAE,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,WAAW,EAAE,CAAC,+BAA+B,CAAC;AACvD,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,UAAU;IACxB,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC,+BAA+B,CAAC;IACzD,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO;YACL,gBAAgB,EAAE,IAAI;YACtB,iBAAiB,EAAE,GAAG,EAAE,GAAE,CAAC;SAC5B,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,CAAC;AACd,CAAC;AA+BD,SAAS,WAAW;IAClB,OAAO,UAA0C,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAe;IACjD,WAAW,EAAE,CAAC,8BAA8B,GAAG,GAAG,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,WAAW,EAAE,CAAC,8BAA8B,CAAC;AACtD,CAAC;AAED;;;yDAGyD;AACzD,MAAM,UAAU,kBAAkB,CAChC,IAAoB,EACpB,OAAgC;IAEhC,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC,8BAA8B,CAAC;IACzD,IAAI,CAAC,GAAG;QAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAC1B,OAAO,GAAG,CAAC,SAAS,CAClB,IAAI,EACJ,OAAkE,CACnE,CAAC;AACJ,CAAC"}
@@ -5,5 +5,6 @@ export * from "./agent-loop.js";
5
5
  export * from "./session-inbox.js";
6
6
  export * from "./catalog.js";
7
7
  export * from "./lsp.js";
8
+ export * from "./channel-bindings.js";
8
9
  export { McpToolset, textOfMcpContent, type McpEndpointResolver, type McpToolDescriptor, type McpToolFilter, type McpToolsetEntry, type McpToolsetOptions, type McpToolsetSnapshot, type ToolsetProvider, } from "./mcp-toolset.js";
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,eAAe,GACrB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,uBAAuB,CAAC;AACtC,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,eAAe,GACrB,MAAM,kBAAkB,CAAC"}
@@ -15,5 +15,6 @@ export * from "./agent-loop.js";
15
15
  export * from "./session-inbox.js";
16
16
  export * from "./catalog.js";
17
17
  export * from "./lsp.js";
18
+ export * from "./channel-bindings.js";
18
19
  export { McpToolset, textOfMcpContent, } from "./mcp-toolset.js";
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,EAAE;AACF,mEAAmE;AACnE,oEAAoE;AACpE,qEAAqE;AACrE,iCAAiC;AACjC,EAAE;AACF,wEAAwE;AACxE,iEAAiE;AACjE,0BAA0B;AAE1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,OAAO,EACL,UAAU,EACV,gBAAgB,GAQjB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,EAAE;AACF,mEAAmE;AACnE,oEAAoE;AACpE,qEAAqE;AACrE,iCAAiC;AACjC,EAAE;AACF,wEAAwE;AACxE,iEAAiE;AACjE,0BAA0B;AAE1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,uBAAuB,CAAC;AACtC,OAAO,EACL,UAAU,EACV,gBAAgB,GAQjB,MAAM,kBAAkB,CAAC"}
@@ -225,6 +225,20 @@ export interface ContributesV1 {
225
225
  * unique within the plugin.
226
226
  */
227
227
  agentSeeds?: AgentSeedContribution[];
228
+ /**
229
+ * Chat-platform channel adapters the plugin contributes.
230
+ * Each entry registers a `ChannelAdapter` factory (keyed in
231
+ * the plugin's server-exports `channels` map). The host's
232
+ * channel hub picks adapters up by `id`, instantiates one per
233
+ * configured account binding, fans inbound messages into the
234
+ * router, and routes outbound replies back.
235
+ *
236
+ * Examples: feishu / telegram / discord / wechat / slack. The
237
+ * built-in `webchat` channel is not contributed via this
238
+ * mechanism — it sits inside the host directly because it
239
+ * shares the agent's WebSocket transport.
240
+ */
241
+ channels?: ChannelContribution[];
228
242
  /**
229
243
  * Static system-prompt fragments injected into the main chat
230
244
  * agent's prompt when this plugin is active for the current
@@ -438,5 +452,37 @@ export interface WsMessageContribution {
438
452
  /** Key in the plugin's server-exports `wsHandlers` map. */
439
453
  handler: string;
440
454
  }
455
+ /**
456
+ * Channel contribution — register a chat-platform adapter
457
+ * (Feishu / Telegram / WeChat / Discord / Slack / ...) the host's
458
+ * channel hub can instantiate per-binding.
459
+ *
460
+ * The plugin's `server.ts` exports a `channels` map keyed by
461
+ * `module`; each entry is a `ChannelAdapterFactory` (see
462
+ * `server.ts: ChannelAdapterFactory`). The host calls the factory
463
+ * once per binding (an account configured for this tenant), wires
464
+ * the resulting `ChannelAdapter` into the hub, then drives it via
465
+ * `start()` / `stop()` / `send()` / `onMessage()`.
466
+ */
467
+ export interface ChannelContribution {
468
+ /**
469
+ * Stable channel id. MUST be globally unique across plugins
470
+ * because the router uses it as the dispatch key (the
471
+ * "feishu" / "telegram" / "wechat" prefix on session titles
472
+ * and binding rows). Lowercase, no spaces, no version suffix.
473
+ */
474
+ id: string;
475
+ /** Human-readable name for admin / log UIs. */
476
+ displayName: string;
477
+ /** Key in the plugin's server-exports `channels` map. */
478
+ module: string;
479
+ /**
480
+ * Semver string marking the release this channel first
481
+ * appeared in. Same role as ToolContribution.since — the
482
+ * boot-time tool-delta detector treats new channels as a
483
+ * new capability surface worth telling the agent about.
484
+ */
485
+ since?: string;
486
+ }
441
487
  export {};
442
488
  //# sourceMappingURL=manifest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
@@ -92,6 +92,19 @@ export interface PluginServerExports {
92
92
  * itself — plugins do that inside `activate()`.
93
93
  */
94
94
  sandboxes?: Record<string, SandboxRunner>;
95
+ /**
96
+ * Chat-platform channel adapters (Feishu / Telegram / WeChat /
97
+ * ...). Keys match the `module` strings declared in
98
+ * `manifest.contributes.channels[]`. Each entry is a *factory*
99
+ * — the host calls it once per configured binding (account
100
+ * pair) so multiple instances of the same plugin can coexist
101
+ * (e.g. two Feishu apps for two tenants). The factory returns
102
+ * a `ChannelAdapter` the host wires into its channel hub.
103
+ *
104
+ * Plugins that don't contribute any channel adapter leave this
105
+ * undefined.
106
+ */
107
+ channels?: Record<string, ChannelAdapterFactory>;
95
108
  /**
96
109
  * Per-task sandbox lifecycle manager (`sandbox.taskPool`
97
110
  * capability). The host registers it under that capability so
@@ -483,4 +496,111 @@ export interface PluginServerModule {
483
496
  activate(ctx: PluginContext): Promise<PluginServerExports> | PluginServerExports;
484
497
  deactivate?(): Promise<void> | void;
485
498
  }
499
+ /** Identifier of a chat platform. "webchat" is reserved for the
500
+ * host's built-in WebSocket transport; other plugins pick
501
+ * lowercase identifiers like "feishu" / "telegram" / "wechat". */
502
+ export type ChannelId = string;
503
+ /** A normalised inbound message. Adapters convert their native
504
+ * event shapes into this. Everything downstream operates on it. */
505
+ export interface InboundChannelMessage {
506
+ /** Channel that produced this message (e.g. "feishu"). */
507
+ channelId: ChannelId;
508
+ /** Per-channel chat handle. For Feishu this is `chat_id` (group)
509
+ * or the sender's `open_id` (DM). Treat as opaque outside the
510
+ * adapter. */
511
+ chatId: string;
512
+ /** True when the chat is 1:1 with the bot. */
513
+ isDirect: boolean;
514
+ /** Stable identifier for the human/bot that sent the message,
515
+ * in the channel's native ID space. */
516
+ senderId: string;
517
+ /** Display name if the adapter could resolve one. */
518
+ senderName?: string;
519
+ /** Plain-text content. Adapters strip mentions / markup. */
520
+ text: string;
521
+ /** Native message id, used for replies + dedup. */
522
+ messageId: string;
523
+ /** When the channel says it was sent (ms epoch). */
524
+ timestamp: number;
525
+ /** Whether the bot itself was @-mentioned (groups only). */
526
+ mentionsBot?: boolean;
527
+ /** Original payload, for adapters that need extra context. */
528
+ raw?: unknown;
529
+ }
530
+ /** Outbound message handed to the adapter for delivery. The
531
+ * adapter decides format (plain text vs card vs whatever the
532
+ * platform supports natively). */
533
+ export interface OutboundChannelMessage {
534
+ /** Target chat handle in the channel's native ID space. */
535
+ target: string;
536
+ /** Plain-text body. Adapters MAY apply minimal markdown if the
537
+ * platform supports it. */
538
+ text: string;
539
+ /** Reply to a specific message id when the channel supports
540
+ * threading. */
541
+ replyTo?: string;
542
+ }
543
+ /** Semantic reactions the host emits to signal processing state
544
+ * to a remote chat ("received", "working", "done", "error").
545
+ * Each adapter maps these onto the platform's native reaction
546
+ * set; adapters that don't support reactions silently no-op. */
547
+ export type ChannelReactionKind = "received" | "working" | "done" | "error";
548
+ /** Context handed to a channel factory at binding instantiation. */
549
+ export interface ChannelAdapterContext {
550
+ /** Binding row id — a stable key for this account's adapter
551
+ * instance. */
552
+ bindingId: string;
553
+ /** Tenant the binding belongs to. */
554
+ tenantId: string;
555
+ /** Per-binding configuration (account credentials, optional
556
+ * display name, etc.). Schema is plugin-defined and validated
557
+ * by the plugin before mapping to its internal config. */
558
+ config: Record<string, unknown>;
559
+ /** Plugin-scoped logger, same shape as the rest of the SDK. */
560
+ log: {
561
+ info: (msg: string, meta?: Record<string, unknown>) => void;
562
+ warn: (msg: string, meta?: Record<string, unknown>) => void;
563
+ error: (msg: string, meta?: Record<string, unknown>) => void;
564
+ };
565
+ /** State directory the adapter can persist tokens / sync
566
+ * buffers / etc. Created by the host before the factory runs. */
567
+ stateDir: string;
568
+ }
569
+ /** Factory the plugin exports per channel module. The host calls
570
+ * it once per binding. The factory MAY do async work (loading
571
+ * cached tokens etc.); the host awaits it before `start()`. */
572
+ export type ChannelAdapterFactory = (ctx: ChannelAdapterContext) => Promise<ChannelAdapter> | ChannelAdapter;
573
+ /** The runtime interface every channel adapter implements. */
574
+ export interface ChannelAdapter {
575
+ /** Channel identifier; must match `InboundChannelMessage.channelId`. */
576
+ readonly id: ChannelId;
577
+ /** Human-readable name for logs / UI. */
578
+ readonly displayName: string;
579
+ /** Establish whatever connection the channel needs.
580
+ * Idempotent. Resolves when messages can flow. */
581
+ start(): Promise<void>;
582
+ /** Tear down gracefully. Idempotent. */
583
+ stop(): Promise<void>;
584
+ /** Send a message to the channel. */
585
+ send(message: OutboundChannelMessage): Promise<void>;
586
+ /** Add a reaction to a remote message. Returns an opaque id
587
+ * the host can pass back to remove the reaction later, or
588
+ * `null` if the platform doesn't expose one. Adapters that
589
+ * don't support reactions return `null` and no-op. */
590
+ addReaction?(messageId: string, kind: ChannelReactionKind): Promise<string | null>;
591
+ /** Remove a reaction previously added via `addReaction`. */
592
+ removeReaction?(messageId: string, reactionId: string): Promise<void>;
593
+ /** Resolve a human-readable display name for a chat handle.
594
+ * Used by the host to label channel sessions in the sidebar
595
+ * so users see "张三" / "产品群" instead of opaque ids. */
596
+ resolveDisplayName?(handle: string, kind: "user" | "chat"): Promise<string | null>;
597
+ /** Register the inbound-message listener. The hub calls this
598
+ * exactly once at startup; adapters MAY reject duplicates. */
599
+ onMessage(handler: (msg: InboundChannelMessage) => void): void;
600
+ /** Register an error listener. Hub logs into the binding row
601
+ * so admins can see auth failures / reconnect storms / etc.
602
+ * Adapters MUST NOT throw from these handlers — errors that
603
+ * reach the hub are best-effort signals, not transactions. */
604
+ onError(handler: (err: Error) => void): void;
605
+ }
486
606
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,qEAAqE;AA2TrE,wEAAwE;AACxE,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,IAAc;IACnD,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC5E,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,IAAc;IACtD,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,qEAAqE;AAwUrE,wEAAwE;AACxE,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,IAAc;IACnD,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC5E,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,IAAc;IACtD,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC9E,CAAC"}
@@ -64,6 +64,11 @@ export const KNOWN_CAPABILITIES = {
64
64
  description:
65
65
  "Diagnose a file via the host's LSP manager after a write/edit. Plugins (notably `files`) call `diagnoseAfterEdit({ filePath, contents })` and append the formatted diagnostic block to their tool result so the model sees compile errors in the same turn that introduced them. Tenant-scoped: the manager refuses files outside the calling tenant's workspace. See ADR-0005.",
66
66
  },
67
+ "host.channelBindings": {
68
+ exclusive: true,
69
+ description:
70
+ "Manage channel adapter bindings (chat-platform integrations). Plugins contributing a channel (Feishu / Telegram / WeChat / ...) call create/start/stop/delete here so the host's adapter manager actually wires the inbound stream to the agent. The DB row + adapter lifecycle live together behind this capability.",
71
+ },
67
72
  } as const satisfies Record<string, CapabilitySpec>;
68
73
 
69
74
  export type CapabilityName = keyof typeof KNOWN_CAPABILITIES;