@tianshu-ai/tianshu 0.3.55 → 0.3.56

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 (80) hide show
  1. package/node_modules/@tianshu-ai/plugin-sdk/dist/server.d.ts +48 -0
  2. package/node_modules/@tianshu-ai/plugin-sdk/dist/server.d.ts.map +1 -1
  3. package/node_modules/@tianshu-ai/plugin-sdk/dist/server.js.map +1 -1
  4. package/node_modules/@tianshu-ai/plugin-sdk/src/server.ts +49 -0
  5. package/package.json +1 -1
  6. package/packages/plugin-sdk/dist/server.d.ts +48 -0
  7. package/packages/plugin-sdk/dist/server.d.ts.map +1 -1
  8. package/packages/plugin-sdk/dist/server.js.map +1 -1
  9. package/packages/server/dist/boot/idle-runner.d.ts +15 -0
  10. package/packages/server/dist/boot/idle-runner.d.ts.map +1 -0
  11. package/packages/server/dist/boot/idle-runner.js +118 -0
  12. package/packages/server/dist/boot/idle-runner.js.map +1 -0
  13. package/packages/server/dist/boot/routes-channels.d.ts +15 -0
  14. package/packages/server/dist/boot/routes-channels.d.ts.map +1 -0
  15. package/packages/server/dist/boot/routes-channels.js +150 -0
  16. package/packages/server/dist/boot/routes-channels.js.map +1 -0
  17. package/packages/server/dist/boot/routes-core.d.ts +10 -0
  18. package/packages/server/dist/boot/routes-core.d.ts.map +1 -0
  19. package/packages/server/dist/boot/routes-core.js +106 -0
  20. package/packages/server/dist/boot/routes-core.js.map +1 -0
  21. package/packages/server/dist/boot/static-spa.d.ts +12 -0
  22. package/packages/server/dist/boot/static-spa.d.ts.map +1 -0
  23. package/packages/server/dist/boot/static-spa.js +86 -0
  24. package/packages/server/dist/boot/static-spa.js.map +1 -0
  25. package/packages/server/dist/boot/ws-upgrade.d.ts +16 -0
  26. package/packages/server/dist/boot/ws-upgrade.d.ts.map +1 -0
  27. package/packages/server/dist/boot/ws-upgrade.js +115 -0
  28. package/packages/server/dist/boot/ws-upgrade.js.map +1 -0
  29. package/packages/server/dist/channels/index.d.ts +2 -0
  30. package/packages/server/dist/channels/index.d.ts.map +1 -1
  31. package/packages/server/dist/channels/index.js +1 -0
  32. package/packages/server/dist/channels/index.js.map +1 -1
  33. package/packages/server/dist/channels/router.d.ts +0 -4
  34. package/packages/server/dist/channels/router.d.ts.map +1 -1
  35. package/packages/server/dist/channels/router.js +25 -50
  36. package/packages/server/dist/channels/router.js.map +1 -1
  37. package/packages/server/dist/channels/stream-sink.d.ts +22 -0
  38. package/packages/server/dist/channels/stream-sink.d.ts.map +1 -0
  39. package/packages/server/dist/channels/stream-sink.js +79 -0
  40. package/packages/server/dist/channels/stream-sink.js.map +1 -0
  41. package/packages/server/dist/chat/agent-loop.d.ts.map +1 -1
  42. package/packages/server/dist/chat/agent-loop.js +2 -1
  43. package/packages/server/dist/chat/agent-loop.js.map +1 -1
  44. package/packages/server/dist/chat/compact-decision.d.ts +46 -0
  45. package/packages/server/dist/chat/compact-decision.d.ts.map +1 -0
  46. package/packages/server/dist/chat/compact-decision.js +72 -0
  47. package/packages/server/dist/chat/compact-decision.js.map +1 -0
  48. package/packages/server/dist/chat/handler.d.ts +3 -176
  49. package/packages/server/dist/chat/handler.d.ts.map +1 -1
  50. package/packages/server/dist/chat/handler.js +42 -500
  51. package/packages/server/dist/chat/handler.js.map +1 -1
  52. package/packages/server/dist/chat/host-tools/channel-send-file.d.ts +4 -0
  53. package/packages/server/dist/chat/host-tools/channel-send-file.d.ts.map +1 -0
  54. package/packages/server/dist/chat/host-tools/channel-send-file.js +150 -0
  55. package/packages/server/dist/chat/host-tools/channel-send-file.js.map +1 -0
  56. package/packages/server/dist/chat/require-home-dir.d.ts +7 -0
  57. package/packages/server/dist/chat/require-home-dir.d.ts.map +1 -0
  58. package/packages/server/dist/chat/require-home-dir.js +40 -0
  59. package/packages/server/dist/chat/require-home-dir.js.map +1 -0
  60. package/packages/server/dist/chat/system-prompt.d.ts +134 -0
  61. package/packages/server/dist/chat/system-prompt.d.ts.map +1 -0
  62. package/packages/server/dist/chat/system-prompt.js +458 -0
  63. package/packages/server/dist/chat/system-prompt.js.map +1 -0
  64. package/packages/server/dist/index.js +94 -476
  65. package/packages/server/dist/index.js.map +1 -1
  66. package/packages/server/dist/tools/index.d.ts +10 -1
  67. package/packages/server/dist/tools/index.d.ts.map +1 -1
  68. package/packages/server/dist/tools/index.js +1 -0
  69. package/packages/server/dist/tools/index.js.map +1 -1
  70. package/plugins/wechat/dist/channel.d.ts.map +1 -1
  71. package/plugins/wechat/dist/channel.js +30 -3
  72. package/plugins/wechat/dist/channel.js.map +1 -1
  73. package/plugins/wechat/dist/ilink-api.d.ts +22 -0
  74. package/plugins/wechat/dist/ilink-api.d.ts.map +1 -1
  75. package/plugins/wechat/dist/ilink-api.js +2 -2
  76. package/plugins/wechat/dist/ilink-api.js.map +1 -1
  77. package/plugins/wechat/dist/ilink-media.d.ts +89 -0
  78. package/plugins/wechat/dist/ilink-media.d.ts.map +1 -0
  79. package/plugins/wechat/dist/ilink-media.js +319 -0
  80. package/plugins/wechat/dist/ilink-media.js.map +1 -0
@@ -219,6 +219,34 @@ export interface AgentToolContext {
219
219
  * scheduled jobs) won't have one.
220
220
  */
221
221
  sessionId?: string;
222
+ /**
223
+ * Channel-session tagging when the session this tool runs inside
224
+ * is bound to a chat platform (wechat / telegram / ...). Tools that
225
+ * only make sense inside a channel session — e.g. `channel_send_file`,
226
+ * which delivers media through the platform's native upload path —
227
+ * gate their `available()` on this so webchat sessions don't see
228
+ * them at all.
229
+ *
230
+ * Set by the host (chat handler + worker agent-loop) by reading
231
+ * `sessions.channel_binding_id / channel_id / channel_chat_id` for
232
+ * the active session row. Absent when the session is plain webchat
233
+ * or there's no session at all.
234
+ *
235
+ * Adapters that consume `OutboundChannelMessage.attachments`
236
+ * receive the actual binding through channelHub; this field is
237
+ * purely a hint for tool visibility + system-prompt awareness.
238
+ */
239
+ channelSession?: {
240
+ /** Stable id of the channel binding (one wechat scan / telegram
241
+ * bot). Useful when a tool wants to dispatch outbound messages
242
+ * via channelHub.send(bindingId, ...). */
243
+ bindingId: string;
244
+ /** Channel id string ("wechat", "telegram", ...). */
245
+ channelId: string;
246
+ /** Channel-native chat id (a wechat ilink user id, a telegram
247
+ * chat id, etc.). */
248
+ chatId: string;
249
+ };
222
250
  /**
223
251
  * Workboard task id when this tool call is driven by a worker
224
252
  * pool run. Lets per-task tools scope their resources to a
@@ -530,6 +558,21 @@ export interface InboundChannelMessage {
530
558
  /** Outbound message handed to the adapter for delivery. The
531
559
  * adapter decides format (plain text vs card vs whatever the
532
560
  * platform supports natively). */
561
+ /** A local file the channel adapter should deliver alongside (or
562
+ * instead of) the text body. The path must already exist on the
563
+ * host filesystem; channels that can't natively render the
564
+ * file kind (image / video / generic file) MAY fall back to a
565
+ * text mention. The optional `kind` is a hint — adapters that
566
+ * sniff MIME from extension themselves can ignore it. */
567
+ export interface OutboundAttachment {
568
+ /** Absolute path on the host filesystem. */
569
+ filePath: string;
570
+ /** Display name for FILE-type messages (defaults to basename). */
571
+ fileName?: string;
572
+ /** Optional hint: "image" / "video" / "file". Adapter MAY use
573
+ * it instead of extension sniffing. */
574
+ kind?: "image" | "video" | "file";
575
+ }
533
576
  export interface OutboundChannelMessage {
534
577
  /** Target chat handle in the channel's native ID space. */
535
578
  target: string;
@@ -539,6 +582,11 @@ export interface OutboundChannelMessage {
539
582
  /** Reply to a specific message id when the channel supports
540
583
  * threading. */
541
584
  replyTo?: string;
585
+ /** Local-file attachments. Adapters that don't support media
586
+ * delivery MAY ignore this and just send `text` — callers
587
+ * should not rely on attachments getting through without
588
+ * checking adapter capabilities. */
589
+ attachments?: OutboundAttachment[];
542
590
  }
543
591
  /** Semantic reactions the host emits to signal processing state
544
592
  * to a remote chat ("received", "working", "done", "error").
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,sEAAsE;AACtE,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,EAAE,EAAE,cAAc,CAAC;IACnB,gDAAgD;IAChD,YAAY,EAAE,mBAAmB,CAAC;IAClC,uEAAuE;IACvE,MAAM,EAAE,mBAAmB,CAAC;IAC5B,0DAA0D;IAC1D,GAAG,EAAE,YAAY,CAAC;IAClB,6CAA6C;IAC7C,YAAY,EAAE,MAAM,CAAC;IACrB;;wEAEoE;IACpE,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,6EAA6E;IAC7E,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAChD;;;;;;OAMG;IACH,YAAY,EAAE,gBAAgB,CAAC;IAC/B;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE,CAAC,GAAG,OAAO,EAClD,GAAG,EAAE,MAAM,GACV;QACD,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC;QAC3B,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;QACjC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;KACxB,CAAC;IACF,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9C;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACxD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACxD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC1D;AAED,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvF,MAAM,MAAM,eAAe,GAAG,CAC5B,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/C,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,aAAa,KACf,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1B,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC7C;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC1C;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACjD;;;;;;;;;;OAUG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClC;;;;;;;;;;;;OAYG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CACpD;AAID,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,cAAc,GAAG,CAAC,GAAG,SAAS,CAAC;IACtD,mEAAmE;IACnE,GAAG,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC;IACnC;;;;;OAKG;IACH,EAAE,CACA,IAAI,EAAE,cAAc,EACpB,EAAE,EAAE,YAAY,GAAG,cAAc,EACjC,EAAE,EAAE,MAAM,IAAI,GACb,MAAM,IAAI,CAAC;CACf;AAID;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf;;;qEAGiE;IACjE,YAAY,EAAE,wBAAwB,CAAC;IACvC,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB;uEACmE;IACnE,aAAa,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;;;;;;;;;OAkBG;IACH,UAAU,CAAC,EACP;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAChB;QACE,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB;;;;iEAIyD;QACzD,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACN,GAAG,EAAE,YAAY,CAAC;IAClB;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,0DAA0D;AAC1D,MAAM,WAAW,wBAAwB;IACvC,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,cAAc,GAAG,CAAC,GAAG,SAAS,CAAC;IACtD,GAAG,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,UAAU;IACzB;sDACkD;IAClD,EAAE,EAAE,OAAO,CAAC;IACZ;;yCAEqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,sDAAsD;IACtD,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,SAAS;IACxB,sDAAsD;IACtD,MAAM,EAAE,OAAO,uBAAuB,EAAE,IAAI,CAAC;IAC7C;;wBAEoB;IACpB,SAAS,CAAC,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9D,iDAAiD;IACjD,OAAO,CACL,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,gBAAgB,GACpB,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC;CACzD;AAED,wEAAwE;AACxE,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,CAEjE;AAED,yEAAyE;AACzE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,CAEpE;AAID;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAG3B,IAAI,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAG5C,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3C,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,8DAA8D;IAC9D,aAAa,IAAI,MAAM,CAAC;IAGxB;;6BAEyB;IACzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB;4CACwC;IACxC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,gEAAgE;IAChE,MAAM,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IAGjC;;yEAEqE;IACrE,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;CACnC;AAED,MAAM,WAAW,WAAW;IAC1B,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;iEAC6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;sCAMkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;uEAEmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;4BAGwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;wBAMoB;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,QAAQ,EAAE,OAAO,CAAC;IAClB;;gDAE4C;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;AAElF,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,YAAY,CAAC;IACpB,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;OAMG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D;;;;;;;;OAQG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAClD;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C;;;;OAIG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,cAAc;IAC7B,+DAA+D;IAC/D,WAAW,IAAI,MAAM,GAAG,SAAS,CAAC;IAClC,iEAAiE;IACjE,WAAW,IAAI,MAAM,GAAG,SAAS,CAAC;IAClC,wDAAwD;IACxD,WAAW,IAAI,MAAM,GAAG,SAAS,CAAC;IAClC;4EACwE;IACxE,eAAe,CAAC,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC5D,eAAe,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IACjE;4CACwC;IACxC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5B;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB;wCACoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;6BAGyB;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;oEACgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;6BAC6B;AAC7B,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAAC;IACjF,UAAU,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACrC;AA8BD;;mEAEmE;AACnE,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B;oEACoE;AACpE,MAAM,WAAW,qBAAqB;IACpC,0DAA0D;IAC1D,SAAS,EAAE,SAAS,CAAC;IACrB;;mBAEe;IACf,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,QAAQ,EAAE,OAAO,CAAC;IAClB;4CACwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,8DAA8D;IAC9D,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;mCAEmC;AACnC,MAAM,WAAW,sBAAsB;IACrC,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf;gCAC4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb;qBACiB;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;iEAGiE;AACjE,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAE5E,oEAAoE;AACpE,MAAM,WAAW,qBAAqB;IACpC;oBACgB;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB;;+DAE2D;IAC3D,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,+DAA+D;IAC/D,GAAG,EAAE;QACH,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;QAC5D,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;QAC5D,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;KAC9D,CAAC;IACF;sEACkE;IAClE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;gEAEgE;AAChE,MAAM,MAAM,qBAAqB,GAAG,CAClC,GAAG,EAAE,qBAAqB,KACvB,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,CAAC;AAE9C,8DAA8D;AAC9D,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IACvB,yCAAyC;IACzC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;uDACmD;IACnD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,wCAAwC;IACxC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,qCAAqC;IACrC,IAAI,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD;;;2DAGuD;IACvD,WAAW,CAAC,CACV,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC1B,4DAA4D;IAC5D,cAAc,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE;;2DAEuD;IACvD,kBAAkB,CAAC,CACjB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GAAG,MAAM,GACpB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC1B;mEAC+D;IAC/D,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,qBAAqB,KAAK,IAAI,GAAG,IAAI,CAAC;IAC/D;;;mEAG+D;IAC/D,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;CAC9C"}
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;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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,qEAAqE;AAoWrE,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"}
@@ -239,6 +239,34 @@ export interface AgentToolContext {
239
239
  * scheduled jobs) won't have one.
240
240
  */
241
241
  sessionId?: string;
242
+ /**
243
+ * Channel-session tagging when the session this tool runs inside
244
+ * is bound to a chat platform (wechat / telegram / ...). Tools that
245
+ * only make sense inside a channel session — e.g. `channel_send_file`,
246
+ * which delivers media through the platform's native upload path —
247
+ * gate their `available()` on this so webchat sessions don't see
248
+ * them at all.
249
+ *
250
+ * Set by the host (chat handler + worker agent-loop) by reading
251
+ * `sessions.channel_binding_id / channel_id / channel_chat_id` for
252
+ * the active session row. Absent when the session is plain webchat
253
+ * or there's no session at all.
254
+ *
255
+ * Adapters that consume `OutboundChannelMessage.attachments`
256
+ * receive the actual binding through channelHub; this field is
257
+ * purely a hint for tool visibility + system-prompt awareness.
258
+ */
259
+ channelSession?: {
260
+ /** Stable id of the channel binding (one wechat scan / telegram
261
+ * bot). Useful when a tool wants to dispatch outbound messages
262
+ * via channelHub.send(bindingId, ...). */
263
+ bindingId: string;
264
+ /** Channel id string ("wechat", "telegram", ...). */
265
+ channelId: string;
266
+ /** Channel-native chat id (a wechat ilink user id, a telegram
267
+ * chat id, etc.). */
268
+ chatId: string;
269
+ };
242
270
  /**
243
271
  * Workboard task id when this tool call is driven by a worker
244
272
  * pool run. Lets per-task tools scope their resources to a
@@ -607,6 +635,22 @@ export interface InboundChannelMessage {
607
635
  /** Outbound message handed to the adapter for delivery. The
608
636
  * adapter decides format (plain text vs card vs whatever the
609
637
  * platform supports natively). */
638
+ /** A local file the channel adapter should deliver alongside (or
639
+ * instead of) the text body. The path must already exist on the
640
+ * host filesystem; channels that can't natively render the
641
+ * file kind (image / video / generic file) MAY fall back to a
642
+ * text mention. The optional `kind` is a hint — adapters that
643
+ * sniff MIME from extension themselves can ignore it. */
644
+ export interface OutboundAttachment {
645
+ /** Absolute path on the host filesystem. */
646
+ filePath: string;
647
+ /** Display name for FILE-type messages (defaults to basename). */
648
+ fileName?: string;
649
+ /** Optional hint: "image" / "video" / "file". Adapter MAY use
650
+ * it instead of extension sniffing. */
651
+ kind?: "image" | "video" | "file";
652
+ }
653
+
610
654
  export interface OutboundChannelMessage {
611
655
  /** Target chat handle in the channel's native ID space. */
612
656
  target: string;
@@ -616,6 +660,11 @@ export interface OutboundChannelMessage {
616
660
  /** Reply to a specific message id when the channel supports
617
661
  * threading. */
618
662
  replyTo?: string;
663
+ /** Local-file attachments. Adapters that don't support media
664
+ * delivery MAY ignore this and just send `text` — callers
665
+ * should not rely on attachments getting through without
666
+ * checking adapter capabilities. */
667
+ attachments?: OutboundAttachment[];
619
668
  }
620
669
 
621
670
  /** Semantic reactions the host emits to signal processing state
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tianshu-ai/tianshu",
3
- "version": "0.3.55",
3
+ "version": "0.3.56",
4
4
  "description": "An open AI agent platform with a sidecar browser. Built in public.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/tianshu-ai/tianshu",
@@ -219,6 +219,34 @@ export interface AgentToolContext {
219
219
  * scheduled jobs) won't have one.
220
220
  */
221
221
  sessionId?: string;
222
+ /**
223
+ * Channel-session tagging when the session this tool runs inside
224
+ * is bound to a chat platform (wechat / telegram / ...). Tools that
225
+ * only make sense inside a channel session — e.g. `channel_send_file`,
226
+ * which delivers media through the platform's native upload path —
227
+ * gate their `available()` on this so webchat sessions don't see
228
+ * them at all.
229
+ *
230
+ * Set by the host (chat handler + worker agent-loop) by reading
231
+ * `sessions.channel_binding_id / channel_id / channel_chat_id` for
232
+ * the active session row. Absent when the session is plain webchat
233
+ * or there's no session at all.
234
+ *
235
+ * Adapters that consume `OutboundChannelMessage.attachments`
236
+ * receive the actual binding through channelHub; this field is
237
+ * purely a hint for tool visibility + system-prompt awareness.
238
+ */
239
+ channelSession?: {
240
+ /** Stable id of the channel binding (one wechat scan / telegram
241
+ * bot). Useful when a tool wants to dispatch outbound messages
242
+ * via channelHub.send(bindingId, ...). */
243
+ bindingId: string;
244
+ /** Channel id string ("wechat", "telegram", ...). */
245
+ channelId: string;
246
+ /** Channel-native chat id (a wechat ilink user id, a telegram
247
+ * chat id, etc.). */
248
+ chatId: string;
249
+ };
222
250
  /**
223
251
  * Workboard task id when this tool call is driven by a worker
224
252
  * pool run. Lets per-task tools scope their resources to a
@@ -530,6 +558,21 @@ export interface InboundChannelMessage {
530
558
  /** Outbound message handed to the adapter for delivery. The
531
559
  * adapter decides format (plain text vs card vs whatever the
532
560
  * platform supports natively). */
561
+ /** A local file the channel adapter should deliver alongside (or
562
+ * instead of) the text body. The path must already exist on the
563
+ * host filesystem; channels that can't natively render the
564
+ * file kind (image / video / generic file) MAY fall back to a
565
+ * text mention. The optional `kind` is a hint — adapters that
566
+ * sniff MIME from extension themselves can ignore it. */
567
+ export interface OutboundAttachment {
568
+ /** Absolute path on the host filesystem. */
569
+ filePath: string;
570
+ /** Display name for FILE-type messages (defaults to basename). */
571
+ fileName?: string;
572
+ /** Optional hint: "image" / "video" / "file". Adapter MAY use
573
+ * it instead of extension sniffing. */
574
+ kind?: "image" | "video" | "file";
575
+ }
533
576
  export interface OutboundChannelMessage {
534
577
  /** Target chat handle in the channel's native ID space. */
535
578
  target: string;
@@ -539,6 +582,11 @@ export interface OutboundChannelMessage {
539
582
  /** Reply to a specific message id when the channel supports
540
583
  * threading. */
541
584
  replyTo?: string;
585
+ /** Local-file attachments. Adapters that don't support media
586
+ * delivery MAY ignore this and just send `text` — callers
587
+ * should not rely on attachments getting through without
588
+ * checking adapter capabilities. */
589
+ attachments?: OutboundAttachment[];
542
590
  }
543
591
  /** Semantic reactions the host emits to signal processing state
544
592
  * to a remote chat ("received", "working", "done", "error").
@@ -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;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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,qEAAqE;AAoWrE,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"}
@@ -0,0 +1,15 @@
1
+ import type { GlobalOps } from "../core/global-ops.js";
2
+ import type { PluginRegistry } from "../core/plugins/registry.js";
3
+ export interface InstallIdleRunnerDeps {
4
+ globalOps: GlobalOps;
5
+ pluginRegistry: PluginRegistry;
6
+ }
7
+ /**
8
+ * Install the idle-runner. Idempotent in practice (bindIdleRunner is
9
+ * a one-shot module setter), but conceptually call once at boot.
10
+ *
11
+ * Deps are captured by closure so this module doesn't need a
12
+ * mutable singleton.
13
+ */
14
+ export declare function installIdleRunner(deps: InstallIdleRunnerDeps): void;
15
+ //# sourceMappingURL=idle-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idle-runner.d.ts","sourceRoot":"","sources":["../../src/boot/idle-runner.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAGlE,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,cAAc,CAAC;CAChC;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI,CAyGnE"}
@@ -0,0 +1,118 @@
1
+ // Wire the session-inbox idle runner.
2
+ //
3
+ // When a worker pool finishes a task and the parent chat session is
4
+ // idle (no active harness), the inbox module kicks a background
5
+ // `runPrompt` turn so the agent reacts to the notification
6
+ // immediately instead of waiting for the user to send something.
7
+ //
8
+ // We bind once at startup (`bindIdleRunner` is process-wide) so the
9
+ // inbox module doesn't have to import the host registry directly. The
10
+ // runner closure resolves the tenant from globalOps at call time \u2014
11
+ // the session row already lives in some tenant DB; the closure is
12
+ // tenant-agnostic.
13
+ //
14
+ // Two delivery paths matter inside the runner:
15
+ // - webchat session \u2192 broadcastToUser to every open WS tab
16
+ // - channel-bound session \u2192 buildChannelStreamSink \u2192 channelHub
17
+ //
18
+ // Without that split a background turn on a wechat-bound session ends
19
+ // up only on the user's webchat tabs (if any) and never crosses back
20
+ // to the platform user. See memory/2026-06-27 for the original bug.
21
+ import { bindIdleRunner } from "../chat/session-inbox.js";
22
+ import { runPrompt } from "../chat/handler.js";
23
+ import { broadcastToUser } from "../chat/active-harnesses.js";
24
+ import { buildChannelStreamSink, channelHub } from "../channels/index.js";
25
+ /**
26
+ * Install the idle-runner. Idempotent in practice (bindIdleRunner is
27
+ * a one-shot module setter), but conceptually call once at boot.
28
+ *
29
+ * Deps are captured by closure so this module doesn't need a
30
+ * mutable singleton.
31
+ */
32
+ export function installIdleRunner(deps) {
33
+ const { globalOps, pluginRegistry } = deps;
34
+ bindIdleRunner(async ({ sessionId, userId, promptText }) => {
35
+ // Find which tenant owns this session, and pick up the channel
36
+ // tagging columns at the same time so we know whether to fan
37
+ // replies out to WS tabs (webchat) or push them through the
38
+ // channel adapter (wechat / telegram / ...). If no tenant
39
+ // claims this session, give up silently \u2014 the inbox row stays
40
+ // delivered=false and will be flushed on the next user prompt.
41
+ let owningCtx = null;
42
+ let channelBindingId = null;
43
+ let channelChatId = null;
44
+ for (const tenantId of globalOps.list()) {
45
+ const ctx = globalOps.open(tenantId);
46
+ const row = ctx.db
47
+ .prepare(`SELECT id, channel_binding_id, channel_chat_id
48
+ FROM sessions WHERE id = ?`)
49
+ .get(sessionId);
50
+ if (row) {
51
+ owningCtx = ctx;
52
+ channelBindingId = row.channel_binding_id;
53
+ channelChatId = row.channel_chat_id;
54
+ break;
55
+ }
56
+ }
57
+ if (!owningCtx) {
58
+ console.warn(`[idle-runner] no tenant found for session ${sessionId}; skipping`);
59
+ return;
60
+ }
61
+ const ctx = owningCtx;
62
+ const isChannelSession = channelBindingId !== null && channelChatId !== null;
63
+ const channelSink = isChannelSession
64
+ ? buildChannelStreamSink({ sessionId, userId })
65
+ : null;
66
+ let errorReason = "";
67
+ const send = (msg) => {
68
+ if (channelSink) {
69
+ channelSink.push(msg);
70
+ }
71
+ else {
72
+ broadcastToUser(userId, msg);
73
+ }
74
+ };
75
+ // Wedge guard: a stuck provider can't pin the inbox queue
76
+ // forever. No user-facing abort button for an inbox turn \u2014
77
+ // generous deadline only.
78
+ const controller = new AbortController();
79
+ const deadline = setTimeout(() => controller.abort(), 5 * 60 * 1000);
80
+ try {
81
+ await runPrompt({
82
+ ctx,
83
+ userId,
84
+ send,
85
+ content: promptText,
86
+ signal: controller.signal,
87
+ pluginRegistry,
88
+ homeDir: ctx.workspaceDir,
89
+ });
90
+ }
91
+ catch (err) {
92
+ errorReason = err instanceof Error ? err.message : String(err);
93
+ }
94
+ finally {
95
+ clearTimeout(deadline);
96
+ }
97
+ if (channelSink && channelBindingId && channelChatId) {
98
+ const sinkError = channelSink.getErrorReason();
99
+ if (sinkError)
100
+ errorReason = sinkError;
101
+ for (const body of channelSink.assistantQueue) {
102
+ try {
103
+ await channelHub.send(channelBindingId, {
104
+ target: channelChatId,
105
+ text: body,
106
+ });
107
+ }
108
+ catch (err) {
109
+ console.error(`[idle-runner] adapter send failed (${channelBindingId} \u2192 ${channelChatId}): ${err instanceof Error ? err.message : String(err)}`);
110
+ }
111
+ }
112
+ if (errorReason.length > 0) {
113
+ console.warn(`[idle-runner] background turn errored on channel session ${sessionId}: ${errorReason}`);
114
+ }
115
+ }
116
+ });
117
+ }
118
+ //# sourceMappingURL=idle-runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idle-runner.js","sourceRoot":"","sources":["../../src/boot/idle-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { Express } from "express";
2
+ import type { ChannelBinding } from "../channels/index.js";
3
+ import type { ChannelBindingView } from "@tianshu-ai/plugin-sdk";
4
+ /** Map an internal binding row to the SDK-shaped view. Same wire
5
+ * shape host.channelBindings.list() emits, so plugin UIs and admin
6
+ * routes don't diverge. */
7
+ export declare function toView(row: ChannelBinding): ChannelBindingView;
8
+ /**
9
+ * Mount all `/api/channel-{sessions,bindings}/*` routes on the
10
+ * provided Express app. Call once during boot, after the tenant
11
+ * middleware has been installed (these routes assume `req.ctx`
12
+ * exists).
13
+ */
14
+ export declare function mountChannelRoutes(app: Express): void;
15
+ //# sourceMappingURL=routes-channels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes-channels.d.ts","sourceRoot":"","sources":["../../src/boot/routes-channels.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAqB,MAAM,SAAS,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE;;4BAE4B;AAC5B,wBAAgB,MAAM,CAAC,GAAG,EAAE,cAAc,GAAG,kBAAkB,CAe9D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAUrD"}
@@ -0,0 +1,150 @@
1
+ // Channel admin routes: read-only `/api/channel-sessions/*` for the
2
+ // sidebar + UI controls, plus `PATCH /api/channel-bindings/:id/model`
3
+ // so a user can flip the LLM behind their wechat / telegram thread
4
+ // without re-binding.
5
+ //
6
+ // These all live behind the tenant middleware so `req.ctx` is
7
+ // available; each route enforces user scoping (sessions.user_id /
8
+ // bindings.owner_user_id) so two users in the same tenant can't read
9
+ // each other's channel state.
10
+ import { getBinding, updateBinding } from "../channels/index.js";
11
+ /** Map an internal binding row to the SDK-shaped view. Same wire
12
+ * shape host.channelBindings.list() emits, so plugin UIs and admin
13
+ * routes don't diverge. */
14
+ export function toView(row) {
15
+ return {
16
+ id: row.id,
17
+ tenantId: row.tenantId,
18
+ ownerUserId: row.ownerUserId,
19
+ channelId: row.channelId,
20
+ pluginId: row.pluginId,
21
+ displayName: row.displayName,
22
+ enabled: row.enabled,
23
+ status: row.status,
24
+ statusDetail: row.statusDetail,
25
+ config: row.config,
26
+ createdAt: row.createdAt,
27
+ updatedAt: row.updatedAt,
28
+ };
29
+ }
30
+ /**
31
+ * Mount all `/api/channel-{sessions,bindings}/*` routes on the
32
+ * provided Express app. Call once during boot, after the tenant
33
+ * middleware has been installed (these routes assume `req.ctx`
34
+ * exists).
35
+ */
36
+ export function mountChannelRoutes(app) {
37
+ app.get("/api/channel-sessions", listChannelSessions);
38
+ app.get("/api/channel-sessions/:sessionId/binding", getChannelSessionBinding);
39
+ app.patch("/api/channel-bindings/:bindingId/model", patchChannelBindingModel);
40
+ }
41
+ function listChannelSessions(req, res) {
42
+ if (!req.ctx) {
43
+ res.status(500).json({ error: "no_ctx" });
44
+ return;
45
+ }
46
+ // Scope to the calling user: channel sessions are personal (one
47
+ // user's wechat scan shouldn't surface to other users on the same
48
+ // tenant). user_id on the session row already tracks this because
49
+ // ensureChannelSession stamps it from the binding's owner_user_id.
50
+ const rows = req.ctx.tenant.db
51
+ .prepare(`SELECT id, channel_id, channel_chat_id, channel_binding_id,
52
+ title, created_at
53
+ FROM sessions
54
+ WHERE channel_id IS NOT NULL
55
+ AND kind = 'user'
56
+ AND user_id = ?
57
+ ORDER BY created_at DESC`)
58
+ .all(req.ctx.userId);
59
+ res.json({
60
+ sessions: rows.map((r) => ({
61
+ id: r.id,
62
+ channelId: r.channel_id,
63
+ channelChatId: r.channel_chat_id,
64
+ channelBindingId: r.channel_binding_id,
65
+ title: r.title,
66
+ createdAt: r.created_at,
67
+ })),
68
+ });
69
+ }
70
+ /**
71
+ * Return the binding row a channel session belongs to. Channel UIs
72
+ * use this to populate per-session controls (model selector, etc.)
73
+ * keyed off the session the user is viewing. Filtered by user_id so
74
+ * users can't read each other's bindings.
75
+ */
76
+ function getChannelSessionBinding(req, res) {
77
+ if (!req.ctx) {
78
+ res.status(500).json({ error: "no_ctx" });
79
+ return;
80
+ }
81
+ const rawSid = req.params.sessionId;
82
+ const sessionId = Array.isArray(rawSid) ? rawSid[0] : rawSid;
83
+ if (!sessionId) {
84
+ res.status(400).json({ error: "missing session id" });
85
+ return;
86
+ }
87
+ const row = req.ctx.tenant.db
88
+ .prepare(`SELECT channel_binding_id AS binding_id
89
+ FROM sessions
90
+ WHERE id = ? AND user_id = ?
91
+ LIMIT 1`)
92
+ .get(sessionId, req.ctx.userId);
93
+ if (!row?.binding_id) {
94
+ res.status(404).json({ error: "no binding for session" });
95
+ return;
96
+ }
97
+ const binding = getBinding(req.ctx.tenant.db, row.binding_id);
98
+ if (!binding ||
99
+ binding.tenantId !== req.ctx.tenant.tenantId ||
100
+ binding.ownerUserId !== req.ctx.userId) {
101
+ res.status(404).json({ error: "binding not found" });
102
+ return;
103
+ }
104
+ res.json({
105
+ binding: {
106
+ id: binding.id,
107
+ channelId: binding.channelId,
108
+ modelId: typeof binding.config.modelId === "string" &&
109
+ binding.config.modelId.trim().length > 0
110
+ ? binding.config.modelId.trim()
111
+ : null,
112
+ },
113
+ });
114
+ }
115
+ /**
116
+ * Update a binding's model. PATCH so the body is the partial we
117
+ * want to merge. Only `modelId` is patchable through this route
118
+ * today; future channel-config edits can land on the same surface.
119
+ */
120
+ function patchChannelBindingModel(req, res) {
121
+ if (!req.ctx) {
122
+ res.status(500).json({ error: "no_ctx" });
123
+ return;
124
+ }
125
+ const rawBid = req.params.bindingId;
126
+ const bindingId = Array.isArray(rawBid) ? rawBid[0] : rawBid;
127
+ if (!bindingId) {
128
+ res.status(400).json({ error: "missing binding id" });
129
+ return;
130
+ }
131
+ const body = (req.body ?? {});
132
+ const newModelId = typeof body.modelId === "string" && body.modelId.trim().length > 0
133
+ ? body.modelId.trim()
134
+ : null;
135
+ const binding = getBinding(req.ctx.tenant.db, bindingId);
136
+ if (!binding ||
137
+ binding.tenantId !== req.ctx.tenant.tenantId ||
138
+ binding.ownerUserId !== req.ctx.userId) {
139
+ res.status(404).json({ error: "binding not found" });
140
+ return;
141
+ }
142
+ const nextConfig = { ...binding.config };
143
+ if (newModelId)
144
+ nextConfig.modelId = newModelId;
145
+ else
146
+ delete nextConfig.modelId;
147
+ updateBinding(req.ctx.tenant.db, bindingId, { config: nextConfig });
148
+ res.json({ ok: true, modelId: newModelId });
149
+ }
150
+ //# sourceMappingURL=routes-channels.js.map