@tianshu-ai/tianshu 0.3.55 → 0.4.0

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 (200) hide show
  1. package/node_modules/@tianshu-ai/plugin-sdk/dist/agent-loop.d.ts +11 -0
  2. package/node_modules/@tianshu-ai/plugin-sdk/dist/agent-loop.d.ts.map +1 -1
  3. package/node_modules/@tianshu-ai/plugin-sdk/dist/manifest.d.ts +96 -0
  4. package/node_modules/@tianshu-ai/plugin-sdk/dist/manifest.d.ts.map +1 -1
  5. package/node_modules/@tianshu-ai/plugin-sdk/dist/server.d.ts +75 -0
  6. package/node_modules/@tianshu-ai/plugin-sdk/dist/server.d.ts.map +1 -1
  7. package/node_modules/@tianshu-ai/plugin-sdk/dist/server.js.map +1 -1
  8. package/node_modules/@tianshu-ai/plugin-sdk/dist/session-inbox.d.ts +8 -1
  9. package/node_modules/@tianshu-ai/plugin-sdk/dist/session-inbox.d.ts.map +1 -1
  10. package/node_modules/@tianshu-ai/plugin-sdk/src/agent-loop.ts +11 -0
  11. package/node_modules/@tianshu-ai/plugin-sdk/src/manifest.ts +100 -0
  12. package/node_modules/@tianshu-ai/plugin-sdk/src/server.ts +76 -0
  13. package/node_modules/@tianshu-ai/plugin-sdk/src/session-inbox.ts +8 -1
  14. package/package.json +1 -1
  15. package/packages/plugin-sdk/dist/agent-loop.d.ts +11 -0
  16. package/packages/plugin-sdk/dist/agent-loop.d.ts.map +1 -1
  17. package/packages/plugin-sdk/dist/manifest.d.ts +96 -0
  18. package/packages/plugin-sdk/dist/manifest.d.ts.map +1 -1
  19. package/packages/plugin-sdk/dist/server.d.ts +75 -0
  20. package/packages/plugin-sdk/dist/server.d.ts.map +1 -1
  21. package/packages/plugin-sdk/dist/server.js.map +1 -1
  22. package/packages/plugin-sdk/dist/session-inbox.d.ts +8 -1
  23. package/packages/plugin-sdk/dist/session-inbox.d.ts.map +1 -1
  24. package/packages/server/builtinConfig/plugins/openshell/manifest.json +183 -0
  25. package/packages/server/builtinConfig/plugins/openshell/skills/openshell-exec-howto.md +68 -0
  26. package/packages/server/builtinConfig/plugins/workboard/manifest.json +28 -0
  27. package/packages/server/dist/boot/idle-runner.d.ts +15 -0
  28. package/packages/server/dist/boot/idle-runner.d.ts.map +1 -0
  29. package/packages/server/dist/boot/idle-runner.js +118 -0
  30. package/packages/server/dist/boot/idle-runner.js.map +1 -0
  31. package/packages/server/dist/boot/routes-channels.d.ts +15 -0
  32. package/packages/server/dist/boot/routes-channels.d.ts.map +1 -0
  33. package/packages/server/dist/boot/routes-channels.js +150 -0
  34. package/packages/server/dist/boot/routes-channels.js.map +1 -0
  35. package/packages/server/dist/boot/routes-core.d.ts +10 -0
  36. package/packages/server/dist/boot/routes-core.d.ts.map +1 -0
  37. package/packages/server/dist/boot/routes-core.js +106 -0
  38. package/packages/server/dist/boot/routes-core.js.map +1 -0
  39. package/packages/server/dist/boot/static-spa.d.ts +12 -0
  40. package/packages/server/dist/boot/static-spa.d.ts.map +1 -0
  41. package/packages/server/dist/boot/static-spa.js +86 -0
  42. package/packages/server/dist/boot/static-spa.js.map +1 -0
  43. package/packages/server/dist/boot/ws-upgrade.d.ts +16 -0
  44. package/packages/server/dist/boot/ws-upgrade.d.ts.map +1 -0
  45. package/packages/server/dist/boot/ws-upgrade.js +115 -0
  46. package/packages/server/dist/boot/ws-upgrade.js.map +1 -0
  47. package/packages/server/dist/channels/index.d.ts +2 -0
  48. package/packages/server/dist/channels/index.d.ts.map +1 -1
  49. package/packages/server/dist/channels/index.js +1 -0
  50. package/packages/server/dist/channels/index.js.map +1 -1
  51. package/packages/server/dist/channels/router.d.ts +0 -4
  52. package/packages/server/dist/channels/router.d.ts.map +1 -1
  53. package/packages/server/dist/channels/router.js +25 -50
  54. package/packages/server/dist/channels/router.js.map +1 -1
  55. package/packages/server/dist/channels/stream-sink.d.ts +22 -0
  56. package/packages/server/dist/channels/stream-sink.d.ts.map +1 -0
  57. package/packages/server/dist/channels/stream-sink.js +79 -0
  58. package/packages/server/dist/channels/stream-sink.js.map +1 -0
  59. package/packages/server/dist/chat/agent-loop.d.ts +9 -0
  60. package/packages/server/dist/chat/agent-loop.d.ts.map +1 -1
  61. package/packages/server/dist/chat/agent-loop.js +9 -1
  62. package/packages/server/dist/chat/agent-loop.js.map +1 -1
  63. package/packages/server/dist/chat/compact-decision.d.ts +46 -0
  64. package/packages/server/dist/chat/compact-decision.d.ts.map +1 -0
  65. package/packages/server/dist/chat/compact-decision.js +72 -0
  66. package/packages/server/dist/chat/compact-decision.js.map +1 -0
  67. package/packages/server/dist/chat/handler.d.ts +3 -176
  68. package/packages/server/dist/chat/handler.d.ts.map +1 -1
  69. package/packages/server/dist/chat/handler.js +76 -500
  70. package/packages/server/dist/chat/handler.js.map +1 -1
  71. package/packages/server/dist/chat/host-tools/channel-send-file.d.ts +4 -0
  72. package/packages/server/dist/chat/host-tools/channel-send-file.d.ts.map +1 -0
  73. package/packages/server/dist/chat/host-tools/channel-send-file.js +150 -0
  74. package/packages/server/dist/chat/host-tools/channel-send-file.js.map +1 -0
  75. package/packages/server/dist/chat/host-tools/recovery-tools.d.ts +21 -0
  76. package/packages/server/dist/chat/host-tools/recovery-tools.d.ts.map +1 -0
  77. package/packages/server/dist/chat/host-tools/recovery-tools.js +302 -0
  78. package/packages/server/dist/chat/host-tools/recovery-tools.js.map +1 -0
  79. package/packages/server/dist/chat/recovery-agent.d.ts +56 -0
  80. package/packages/server/dist/chat/recovery-agent.d.ts.map +1 -0
  81. package/packages/server/dist/chat/recovery-agent.js +236 -0
  82. package/packages/server/dist/chat/recovery-agent.js.map +1 -0
  83. package/packages/server/dist/chat/require-home-dir.d.ts +7 -0
  84. package/packages/server/dist/chat/require-home-dir.d.ts.map +1 -0
  85. package/packages/server/dist/chat/require-home-dir.js +40 -0
  86. package/packages/server/dist/chat/require-home-dir.js.map +1 -0
  87. package/packages/server/dist/chat/session-inbox.d.ts.map +1 -1
  88. package/packages/server/dist/chat/session-inbox.js +18 -1
  89. package/packages/server/dist/chat/session-inbox.js.map +1 -1
  90. package/packages/server/dist/chat/system-prompt.d.ts +134 -0
  91. package/packages/server/dist/chat/system-prompt.d.ts.map +1 -0
  92. package/packages/server/dist/chat/system-prompt.js +458 -0
  93. package/packages/server/dist/chat/system-prompt.js.map +1 -0
  94. package/packages/server/dist/core/plugins/manifest.d.ts.map +1 -1
  95. package/packages/server/dist/core/plugins/manifest.js +125 -0
  96. package/packages/server/dist/core/plugins/manifest.js.map +1 -1
  97. package/packages/server/dist/index.js +127 -476
  98. package/packages/server/dist/index.js.map +1 -1
  99. package/packages/server/dist/setup/checks/plugin-setup.d.ts +60 -0
  100. package/packages/server/dist/setup/checks/plugin-setup.d.ts.map +1 -0
  101. package/packages/server/dist/setup/checks/plugin-setup.js +279 -0
  102. package/packages/server/dist/setup/checks/plugin-setup.js.map +1 -0
  103. package/packages/server/dist/setup/cli-agent.d.ts.map +1 -1
  104. package/packages/server/dist/setup/cli-agent.js +344 -0
  105. package/packages/server/dist/setup/cli-agent.js.map +1 -1
  106. package/packages/server/dist/setup/doctor.d.ts.map +1 -1
  107. package/packages/server/dist/setup/doctor.js +13 -0
  108. package/packages/server/dist/setup/doctor.js.map +1 -1
  109. package/packages/server/dist/tools/index.d.ts +23 -1
  110. package/packages/server/dist/tools/index.d.ts.map +1 -1
  111. package/packages/server/dist/tools/index.js +3 -0
  112. package/packages/server/dist/tools/index.js.map +1 -1
  113. package/packages/web/dist/assets/{angular-html-BBttRnO7.js → angular-html-Cvub90Dz.js} +1 -1
  114. package/packages/web/dist/assets/{angular-ts-DEKLKrL5.js → angular-ts-DI1dI61I.js} +1 -1
  115. package/packages/web/dist/assets/{astro-ChYpDv3u.js → astro-Ce5mz0W9.js} +1 -1
  116. package/packages/web/dist/assets/{blade-izMqOI4v.js → blade-CLyXRJDZ.js} +1 -1
  117. package/packages/web/dist/assets/{bundle-web-D7W1PBmI.js → bundle-web-CxQb8-l5.js} +3 -3
  118. package/packages/web/dist/assets/{c-Dq-l-rJm.js → c-As86Lww3.js} +1 -1
  119. package/packages/web/dist/assets/{coffee-BzQnF9Qb.js → coffee-gy4cTilr.js} +1 -1
  120. package/packages/web/dist/assets/{cpp-pAs9swmG.js → cpp-BlCe0wXi.js} +1 -1
  121. package/packages/web/dist/assets/{css-CHXnmTcu.js → css-CXve-siW.js} +1 -1
  122. package/packages/web/dist/assets/{glsl-Cd85JWgX.js → glsl-CXl6tvOm.js} +1 -1
  123. package/packages/web/dist/assets/{graphql-BYzVp7Q6.js → graphql-AORc6ksH.js} +1 -1
  124. package/packages/web/dist/assets/{haml-DFkSvgbz.js → haml-DdfUb-ne.js} +1 -1
  125. package/packages/web/dist/assets/{handlebars-DL6A2U6g.js → handlebars-DSq_FD-9.js} +1 -1
  126. package/packages/web/dist/assets/{html-CBSXshAI.js → html-C7SJ_cNO.js} +1 -1
  127. package/packages/web/dist/assets/{html-derivative-V5pZhej6.js → html-derivative-evOR5SA8.js} +1 -1
  128. package/packages/web/dist/assets/{http-IzwWuBqv.js → http-We-luHhY.js} +1 -1
  129. package/packages/web/dist/assets/{hurl-BuUckrzy.js → hurl-N4vSJmne.js} +1 -1
  130. package/packages/web/dist/assets/{index-BRVBgZDm.js → index-CM0wb7K0.js} +30 -30
  131. package/packages/web/dist/assets/{index-BNIrE3EB.css → index-YR1aGlWo.css} +1 -1
  132. package/packages/web/dist/assets/{java-Bhws2_q0.js → java-BjFwMRAB.js} +1 -1
  133. package/packages/web/dist/assets/{javascript-CKXMA8ST.js → javascript-Mc8Zyzj4.js} +1 -1
  134. package/packages/web/dist/assets/{jinja-BP3DArrP.js → jinja-DUwAWKUy.js} +1 -1
  135. package/packages/web/dist/assets/{jison-C6pHUxo0.js → jison-BeIkQZJr.js} +1 -1
  136. package/packages/web/dist/assets/{jsx-CMc8YXu_.js → jsx-Du6JQ-EF.js} +1 -1
  137. package/packages/web/dist/assets/{julia-CSpFRupo.js → julia-7AZvIVK4.js} +1 -1
  138. package/packages/web/dist/assets/{marko-CROhxcyj.js → marko-B3ZYqTDP.js} +1 -1
  139. package/packages/web/dist/assets/{mdc-BrsOsBGo.js → mdc-B6iWGH1P.js} +1 -1
  140. package/packages/web/dist/assets/{papaparse.min-BZlSp64K.js → papaparse.min-BP6q-ooU.js} +1 -1
  141. package/packages/web/dist/assets/{php-BvqoPLxU.js → php-CnSNWAsA.js} +1 -1
  142. package/packages/web/dist/assets/{pug-gvkWf3tw.js → pug-CFzaFOLA.js} +1 -1
  143. package/packages/web/dist/assets/{regexp-C4qUp6Xk.js → regexp-DXOuShFp.js} +1 -1
  144. package/packages/web/dist/assets/{scss-D2gKlRBd.js → scss-CDgA5HpI.js} +1 -1
  145. package/packages/web/dist/assets/{sql-CbFMPlfF.js → sql-Cd1aIPsP.js} +1 -1
  146. package/packages/web/dist/assets/{svelte-BysWAc-a.js → svelte-cmIwjtUa.js} +1 -1
  147. package/packages/web/dist/assets/{ts-tags-Bp_xZywt.js → ts-tags-D4TcqQGA.js} +1 -1
  148. package/packages/web/dist/assets/{tsx-DPsDfG0D.js → tsx-DkLE1Tnp.js} +1 -1
  149. package/packages/web/dist/assets/{typescript-DD_OaXW3.js → typescript-tBsNrWwg.js} +1 -1
  150. package/packages/web/dist/assets/{vue-BspPsqY6.js → vue-Do7CHdUR.js} +1 -1
  151. package/packages/web/dist/assets/{vue-html-CDVs80o6.js → vue-html-D5kxJZMa.js} +1 -1
  152. package/packages/web/dist/assets/{vue-vine-CWcy2cJQ.js → vue-vine-CjyCoysS.js} +1 -1
  153. package/packages/web/dist/assets/{xml-D2BAp1nr.js → xml-B_L7cZbi.js} +1 -1
  154. package/packages/web/dist/index.html +2 -2
  155. package/plugins/openshell/README.md +290 -0
  156. package/plugins/openshell/dist/runner/gateway-manager.d.ts +66 -0
  157. package/plugins/openshell/dist/runner/gateway-manager.d.ts.map +1 -0
  158. package/plugins/openshell/dist/runner/gateway-manager.js +241 -0
  159. package/plugins/openshell/dist/runner/gateway-manager.js.map +1 -0
  160. package/plugins/openshell/dist/runner/openshell-runner.d.ts +159 -0
  161. package/plugins/openshell/dist/runner/openshell-runner.d.ts.map +1 -0
  162. package/plugins/openshell/dist/runner/openshell-runner.js +776 -0
  163. package/plugins/openshell/dist/runner/openshell-runner.js.map +1 -0
  164. package/plugins/openshell/dist/server.d.ts +7 -0
  165. package/plugins/openshell/dist/server.d.ts.map +1 -0
  166. package/plugins/openshell/dist/server.js +100 -0
  167. package/plugins/openshell/dist/server.js.map +1 -0
  168. package/plugins/openshell/dist/tools/index.d.ts +7 -0
  169. package/plugins/openshell/dist/tools/index.d.ts.map +1 -0
  170. package/plugins/openshell/dist/tools/index.js +611 -0
  171. package/plugins/openshell/dist/tools/index.js.map +1 -0
  172. package/plugins/openshell/manifest.json +183 -0
  173. package/plugins/openshell/package.json +24 -0
  174. package/plugins/openshell/skills/openshell-exec-howto.md +68 -0
  175. package/plugins/wechat/dist/channel.d.ts.map +1 -1
  176. package/plugins/wechat/dist/channel.js +30 -3
  177. package/plugins/wechat/dist/channel.js.map +1 -1
  178. package/plugins/wechat/dist/ilink-api.d.ts +22 -0
  179. package/plugins/wechat/dist/ilink-api.d.ts.map +1 -1
  180. package/plugins/wechat/dist/ilink-api.js +2 -2
  181. package/plugins/wechat/dist/ilink-api.js.map +1 -1
  182. package/plugins/wechat/dist/ilink-media.d.ts +89 -0
  183. package/plugins/wechat/dist/ilink-media.d.ts.map +1 -0
  184. package/plugins/wechat/dist/ilink-media.js +319 -0
  185. package/plugins/wechat/dist/ilink-media.js.map +1 -0
  186. package/plugins/workboard/dist/db/tasks.d.ts +7 -0
  187. package/plugins/workboard/dist/db/tasks.d.ts.map +1 -1
  188. package/plugins/workboard/dist/db/tasks.js +30 -30
  189. package/plugins/workboard/dist/db/tasks.js.map +1 -1
  190. package/plugins/workboard/dist/server.d.ts.map +1 -1
  191. package/plugins/workboard/dist/server.js +19 -0
  192. package/plugins/workboard/dist/server.js.map +1 -1
  193. package/plugins/workboard/dist/worker/pool.d.ts +66 -2
  194. package/plugins/workboard/dist/worker/pool.d.ts.map +1 -1
  195. package/plugins/workboard/dist/worker/pool.js +147 -15
  196. package/plugins/workboard/dist/worker/pool.js.map +1 -1
  197. package/plugins/workboard/dist/worker-agents-page.d.ts.map +1 -1
  198. package/plugins/workboard/dist/worker-agents-page.js +51 -2
  199. package/plugins/workboard/dist/worker-agents-page.js.map +1 -1
  200. package/plugins/workboard/manifest.json +28 -0
@@ -36,6 +36,17 @@ export interface AgentLoopRunnerRequest {
36
36
  * sandbox per `taskId` and stops it once the task terminates.
37
37
  * Absent for chat sessions and ad-hoc agent loops. */
38
38
  taskId?: string | null;
39
+ /** Project slug the task belongs to. Plumbed through to
40
+ * `AgentToolContext.projectSlug` so tools that stage result
41
+ * files on disk (e.g. openshell's `sync_down`) can default to
42
+ * the project's results subtree without the agent having to
43
+ * pass it. Workboard sets this from `tasks.project_slug`;
44
+ * absent for chat sessions and ad-hoc runs. */
45
+ projectSlug?: string | null;
46
+ /** Task title at run-start. Plumbed through to
47
+ * `AgentToolContext.taskTitle`. Treat as user-supplied text —
48
+ * plugins MUST slugify before using it in filesystem paths. */
49
+ taskTitle?: string | null;
39
50
  /** Parent session id (the user's main session that requested
40
51
  * the worker). Lets the UI render worker sessions as children. */
41
52
  parentSessionId?: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-loop.d.ts","sourceRoot":"","sources":["../src/agent-loop.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,sBAAsB;IACrC;;gBAEY;IACZ,MAAM,EAAE,MAAM,CAAC;IACf;6CACyC;IACzC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC7B;;uEAEmE;IACnE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC5B,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC9B,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;uBACmB;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;;;;mCAI+B;IAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;;;;;2DAKuD;IACvD,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;uEACmE;IACnE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,oDAAoD;IACpD,QAAQ,CAAC,EAAE;QACT,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,6BAA6B;IAC7B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C;;;;;;;;;;;;OAYG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EACF,eAAe,GACf,eAAe,GACf,wBAAwB,GACxB,cAAc,GACd,iBAAiB,GACjB,SAAS,GACT,cAAc,GACd,WAAW,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAClE"}
1
+ {"version":3,"file":"agent-loop.d.ts","sourceRoot":"","sources":["../src/agent-loop.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,sBAAsB;IACrC;;gBAEY;IACZ,MAAM,EAAE,MAAM,CAAC;IACf;6CACyC;IACzC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC7B;;uEAEmE;IACnE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC5B,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC9B,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;uBACmB;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;;;;mCAI+B;IAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;;;;;2DAKuD;IACvD,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;;;;oDAKgD;IAChD,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;oEAEgE;IAChE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;uEACmE;IACnE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,oDAAoD;IACpD,QAAQ,CAAC,EAAE;QACT,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,6BAA6B;IAC7B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C;;;;;;;;;;;;OAYG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EACF,eAAe,GACf,eAAe,GACf,wBAAwB,GACxB,cAAc,GACd,iBAAiB,GACjB,SAAS,GACT,cAAc,GACd,WAAW,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAClE"}
@@ -56,6 +56,102 @@ export interface PluginManifest {
56
56
  * verbatim to the plugin via `PluginContext.pluginConfig`.
57
57
  */
58
58
  configSchema?: PluginConfigSchema;
59
+ /**
60
+ * Optional declarative setup spec. When present, the setup
61
+ * agent (`tianshu setup`) and the `run_doctor` tool surface a
62
+ * dedicated section for this plugin: which prerequisites it
63
+ * needs on the host, how to install them, and how to verify
64
+ * they are present.
65
+ *
66
+ * Plugins SHOULD ship a setup spec for any host-side
67
+ * dependency that is not bundled in the npm tarball — native
68
+ * binaries on $PATH, system services, container runtimes,
69
+ * cached images, etc. Plugins that need nothing beyond npm
70
+ * (`@tianshu-builtin/plugin-files`, `web-search`) can omit
71
+ * this entirely.
72
+ */
73
+ setup?: PluginSetupSpec;
74
+ }
75
+ /**
76
+ * Per-plugin setup declaration. Read by `tianshu doctor` and the
77
+ * `tianshu setup` agent to assemble guided installation/verification
78
+ * workflows without each plugin having to hand-write CLI code.
79
+ *
80
+ * Design notes:
81
+ * - Spec is intentionally OS-flat: every check just gets a shell
82
+ * command. The agent / doctor render the same spec on macOS,
83
+ * Linux, and (eventually) Windows; the plugin author tags
84
+ * OS-specific commands via `os` when needed and the runner
85
+ * filters by `process.platform`.
86
+ * - All commands run on the host (NOT inside any sandbox — the
87
+ * point is to check whether the host is ready to run a
88
+ * sandbox at all).
89
+ * - The setup agent NEVER auto-executes mutating install steps;
90
+ * it shows them to the user and waits for confirmation. The
91
+ * read-only `verify` commands can run silently.
92
+ */
93
+ export interface PluginSetupSpec {
94
+ /**
95
+ * One-paragraph summary the setup agent shows before listing
96
+ * prerequisites. Keep under 280 chars; longer prose belongs in
97
+ * the plugin README.
98
+ */
99
+ summary?: string;
100
+ /** Link to the plugin README / docs for the long version. */
101
+ docs?: string;
102
+ /** Ordered list of host requirements. Order matters for the
103
+ * agent's rendered checklist. */
104
+ requirements: PluginSetupRequirement[];
105
+ }
106
+ export interface PluginSetupRequirement {
107
+ /** Stable id (e.g. "docker-daemon", "openshell-cli"). Used in
108
+ * diagnostic output and as a stable key when the doctor caches
109
+ * state. */
110
+ id: string;
111
+ /** Human-friendly label ("Docker daemon", "openshell CLI"). */
112
+ label: string;
113
+ /** One-line description shown next to the label. */
114
+ description?: string;
115
+ /** Whether the plugin will refuse to activate without this.
116
+ * `recommended` means the plugin works but with reduced
117
+ * functionality; `optional` is purely informational. */
118
+ severity: "required" | "recommended" | "optional";
119
+ /** Read-only shell command(s) that probe whether the
120
+ * requirement is satisfied. Each entry is run in order; the
121
+ * first to exit 0 marks the requirement satisfied. The
122
+ * agent / doctor MUST treat these as side-effect-free —
123
+ * authors should write them with that in mind (`--version`,
124
+ * `command -v`, `docker info`, etc.). */
125
+ verify: PluginSetupCommand[];
126
+ /** Install instructions for when verify fails. Multiple entries
127
+ * describe alternative install paths (homebrew, package
128
+ * manager, manual tarball); the agent shows them all and lets
129
+ * the user pick. These commands are NEVER auto-executed — the
130
+ * agent renders them and waits for the user. */
131
+ install?: PluginSetupInstall[];
132
+ }
133
+ export interface PluginSetupCommand {
134
+ /** Shell command, run via `/bin/sh -c` (POSIX) or `cmd /c`
135
+ * (Windows). The runner expands `${HOME}` and `${PATH}` but
136
+ * does not run a full shell init — keep commands self-
137
+ * contained. */
138
+ cmd: string;
139
+ /** Restrict this command to specific platforms. Matches
140
+ * Node's `process.platform`: "darwin", "linux", "win32".
141
+ * Omit for cross-platform commands. */
142
+ os?: Array<"darwin" | "linux" | "win32">;
143
+ /** Optional explanatory text rendered alongside the command.
144
+ * E.g. "This expects Docker Desktop 4.x or newer". */
145
+ note?: string;
146
+ }
147
+ export interface PluginSetupInstall {
148
+ /** Short label for this install path ("Homebrew", "GitHub
149
+ * release", "cargo install", "apt"). */
150
+ label: string;
151
+ /** Commands to run, shown to the user one per line. */
152
+ steps: PluginSetupCommand[];
153
+ /** Optional longer description shown above the steps. */
154
+ description?: string;
59
155
  }
60
156
  export interface PluginConfigSchema {
61
157
  /** Top-level fields. Order is preserved in the UI. */
@@ -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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"}
@@ -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
@@ -229,6 +257,33 @@ export interface AgentToolContext {
229
257
  * Absent for chat sessions and ad-hoc tool invocations.
230
258
  */
231
259
  taskId?: string;
260
+ /**
261
+ * Project slug this task belongs to. Workboard tasks carry one
262
+ * via `tasks.project_slug` (the user's per-project file tree on
263
+ * disk lives at `users/<userId>/projects/<projectSlug>/`); the
264
+ * host populates this from the same row when it builds the
265
+ * tool context for a worker run.
266
+ *
267
+ * Optional for backwards compatibility: chat sessions, ad-hoc
268
+ * tool invocations, and older host versions all set it to
269
+ * undefined and plugins that don't care can ignore it.
270
+ * Plugins that DO care (e.g. the openshell `sync_down` tool
271
+ * which stages results under the project tree) should treat
272
+ * missing as "caller must pass it explicitly".
273
+ */
274
+ projectSlug?: string;
275
+ /**
276
+ * Workboard task title at run start. Carried alongside `taskId`
277
+ * so tools that surface results on disk can name folders with
278
+ * something a human will recognise. Treat as best-effort: it's
279
+ * an untrusted user-supplied string. Plugins that route it into
280
+ * a filesystem path MUST slugify before use (e.g. via the helper
281
+ * used by openshell's SyncDownTool).
282
+ *
283
+ * Optional for backwards compatibility, same reasoning as
284
+ * `projectSlug`.
285
+ */
286
+ taskTitle?: string;
232
287
  /**
233
288
  * Cancellation signal for the current run. The host wires this
234
289
  * from the agent loop's inner abort controller, so a watchdog
@@ -530,6 +585,21 @@ export interface InboundChannelMessage {
530
585
  /** Outbound message handed to the adapter for delivery. The
531
586
  * adapter decides format (plain text vs card vs whatever the
532
587
  * platform supports natively). */
588
+ /** A local file the channel adapter should deliver alongside (or
589
+ * instead of) the text body. The path must already exist on the
590
+ * host filesystem; channels that can't natively render the
591
+ * file kind (image / video / generic file) MAY fall back to a
592
+ * text mention. The optional `kind` is a hint — adapters that
593
+ * sniff MIME from extension themselves can ignore it. */
594
+ export interface OutboundAttachment {
595
+ /** Absolute path on the host filesystem. */
596
+ filePath: string;
597
+ /** Display name for FILE-type messages (defaults to basename). */
598
+ fileName?: string;
599
+ /** Optional hint: "image" / "video" / "file". Adapter MAY use
600
+ * it instead of extension sniffing. */
601
+ kind?: "image" | "video" | "file";
602
+ }
533
603
  export interface OutboundChannelMessage {
534
604
  /** Target chat handle in the channel's native ID space. */
535
605
  target: string;
@@ -539,6 +609,11 @@ export interface OutboundChannelMessage {
539
609
  /** Reply to a specific message id when the channel supports
540
610
  * threading. */
541
611
  replyTo?: string;
612
+ /** Local-file attachments. Adapters that don't support media
613
+ * delivery MAY ignore this and just send `text` — callers
614
+ * should not rely on attachments getting through without
615
+ * checking adapter capabilities. */
616
+ attachments?: OutboundAttachment[];
542
617
  }
543
618
  /** Semantic reactions the host emits to signal processing state
544
619
  * 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;AA+XrE,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"}
@@ -9,7 +9,14 @@
9
9
  * `task_intervention_required`.
10
10
  * - `system_note` — generic kernel/admin note.
11
11
  */
12
- export type InboxMessageKind = "task_done" | "task_intervention_required" | "task_stalled" | "system_note";
12
+ export type InboxMessageKind = "task_done" | "task_intervention_required" | "task_stalled" | "system_note"
13
+ /**
14
+ * Recovery agent telling the broken session what happened and
15
+ * what to do next. Distinct from generic system_note so the
16
+ * chat UI / main agent can render it differently ("⚠️ recovery
17
+ * note" vs a plain background notification).
18
+ */
19
+ | "inbox_recovery_note";
13
20
  export interface InboxMessage {
14
21
  /**
15
22
  * Symbolic kind drives the rendered prefix the agent sees, e.g.
@@ -1 +1 @@
1
- {"version":3,"file":"session-inbox.d.ts","sourceRoot":"","sources":["../src/session-inbox.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;GAUG;AACH,MAAM,MAAM,gBAAgB,GACxB,WAAW,GACX,4BAA4B,GAC5B,cAAc,GACd,aAAa,CAAC;AAElB,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,IAAI,EAAE,gBAAgB,CAAC;IACvB;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1E"}
1
+ {"version":3,"file":"session-inbox.d.ts","sourceRoot":"","sources":["../src/session-inbox.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;GAUG;AACH,MAAM,MAAM,gBAAgB,GACxB,WAAW,GACX,4BAA4B,GAC5B,cAAc,GACd,aAAa;AACf;;;;;GAKG;GACD,qBAAqB,CAAC;AAE1B,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,IAAI,EAAE,gBAAgB,CAAC;IACvB;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1E"}
@@ -46,6 +46,17 @@ export interface AgentLoopRunnerRequest {
46
46
  * sandbox per `taskId` and stops it once the task terminates.
47
47
  * Absent for chat sessions and ad-hoc agent loops. */
48
48
  taskId?: string | null;
49
+ /** Project slug the task belongs to. Plumbed through to
50
+ * `AgentToolContext.projectSlug` so tools that stage result
51
+ * files on disk (e.g. openshell's `sync_down`) can default to
52
+ * the project's results subtree without the agent having to
53
+ * pass it. Workboard sets this from `tasks.project_slug`;
54
+ * absent for chat sessions and ad-hoc runs. */
55
+ projectSlug?: string | null;
56
+ /** Task title at run-start. Plumbed through to
57
+ * `AgentToolContext.taskTitle`. Treat as user-supplied text —
58
+ * plugins MUST slugify before using it in filesystem paths. */
59
+ taskTitle?: string | null;
49
60
  /** Parent session id (the user's main session that requested
50
61
  * the worker). Lets the UI render worker sessions as children. */
51
62
  parentSessionId?: string | null;
@@ -62,6 +62,106 @@ export interface PluginManifest {
62
62
  * verbatim to the plugin via `PluginContext.pluginConfig`.
63
63
  */
64
64
  configSchema?: PluginConfigSchema;
65
+ /**
66
+ * Optional declarative setup spec. When present, the setup
67
+ * agent (`tianshu setup`) and the `run_doctor` tool surface a
68
+ * dedicated section for this plugin: which prerequisites it
69
+ * needs on the host, how to install them, and how to verify
70
+ * they are present.
71
+ *
72
+ * Plugins SHOULD ship a setup spec for any host-side
73
+ * dependency that is not bundled in the npm tarball — native
74
+ * binaries on $PATH, system services, container runtimes,
75
+ * cached images, etc. Plugins that need nothing beyond npm
76
+ * (`@tianshu-builtin/plugin-files`, `web-search`) can omit
77
+ * this entirely.
78
+ */
79
+ setup?: PluginSetupSpec;
80
+ }
81
+
82
+ /**
83
+ * Per-plugin setup declaration. Read by `tianshu doctor` and the
84
+ * `tianshu setup` agent to assemble guided installation/verification
85
+ * workflows without each plugin having to hand-write CLI code.
86
+ *
87
+ * Design notes:
88
+ * - Spec is intentionally OS-flat: every check just gets a shell
89
+ * command. The agent / doctor render the same spec on macOS,
90
+ * Linux, and (eventually) Windows; the plugin author tags
91
+ * OS-specific commands via `os` when needed and the runner
92
+ * filters by `process.platform`.
93
+ * - All commands run on the host (NOT inside any sandbox — the
94
+ * point is to check whether the host is ready to run a
95
+ * sandbox at all).
96
+ * - The setup agent NEVER auto-executes mutating install steps;
97
+ * it shows them to the user and waits for confirmation. The
98
+ * read-only `verify` commands can run silently.
99
+ */
100
+ export interface PluginSetupSpec {
101
+ /**
102
+ * One-paragraph summary the setup agent shows before listing
103
+ * prerequisites. Keep under 280 chars; longer prose belongs in
104
+ * the plugin README.
105
+ */
106
+ summary?: string;
107
+ /** Link to the plugin README / docs for the long version. */
108
+ docs?: string;
109
+ /** Ordered list of host requirements. Order matters for the
110
+ * agent's rendered checklist. */
111
+ requirements: PluginSetupRequirement[];
112
+ }
113
+
114
+ export interface PluginSetupRequirement {
115
+ /** Stable id (e.g. "docker-daemon", "openshell-cli"). Used in
116
+ * diagnostic output and as a stable key when the doctor caches
117
+ * state. */
118
+ id: string;
119
+ /** Human-friendly label ("Docker daemon", "openshell CLI"). */
120
+ label: string;
121
+ /** One-line description shown next to the label. */
122
+ description?: string;
123
+ /** Whether the plugin will refuse to activate without this.
124
+ * `recommended` means the plugin works but with reduced
125
+ * functionality; `optional` is purely informational. */
126
+ severity: "required" | "recommended" | "optional";
127
+ /** Read-only shell command(s) that probe whether the
128
+ * requirement is satisfied. Each entry is run in order; the
129
+ * first to exit 0 marks the requirement satisfied. The
130
+ * agent / doctor MUST treat these as side-effect-free —
131
+ * authors should write them with that in mind (`--version`,
132
+ * `command -v`, `docker info`, etc.). */
133
+ verify: PluginSetupCommand[];
134
+ /** Install instructions for when verify fails. Multiple entries
135
+ * describe alternative install paths (homebrew, package
136
+ * manager, manual tarball); the agent shows them all and lets
137
+ * the user pick. These commands are NEVER auto-executed — the
138
+ * agent renders them and waits for the user. */
139
+ install?: PluginSetupInstall[];
140
+ }
141
+
142
+ export interface PluginSetupCommand {
143
+ /** Shell command, run via `/bin/sh -c` (POSIX) or `cmd /c`
144
+ * (Windows). The runner expands `${HOME}` and `${PATH}` but
145
+ * does not run a full shell init — keep commands self-
146
+ * contained. */
147
+ cmd: string;
148
+ /** Restrict this command to specific platforms. Matches
149
+ * Node's `process.platform`: "darwin", "linux", "win32".
150
+ * Omit for cross-platform commands. */
151
+ os?: Array<"darwin" | "linux" | "win32">;
152
+ /** Optional explanatory text rendered alongside the command.
153
+ * E.g. "This expects Docker Desktop 4.x or newer". */
154
+ note?: string;
155
+ }
156
+
157
+ export interface PluginSetupInstall {
158
+ /** Short label for this install path ("Homebrew", "GitHub
159
+ * release", "cargo install", "apt"). */
160
+ label: string;
161
+ /** Commands to run, shown to the user one per line. */
162
+ steps: PluginSetupCommand[];
163
+ /** Optional longer description shown above the steps. */
164
+ description?: string;
65
165
  }
66
166
 
67
167
  export interface PluginConfigSchema {
@@ -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
@@ -249,6 +277,33 @@ export interface AgentToolContext {
249
277
  * Absent for chat sessions and ad-hoc tool invocations.
250
278
  */
251
279
  taskId?: string;
280
+ /**
281
+ * Project slug this task belongs to. Workboard tasks carry one
282
+ * via `tasks.project_slug` (the user's per-project file tree on
283
+ * disk lives at `users/<userId>/projects/<projectSlug>/`); the
284
+ * host populates this from the same row when it builds the
285
+ * tool context for a worker run.
286
+ *
287
+ * Optional for backwards compatibility: chat sessions, ad-hoc
288
+ * tool invocations, and older host versions all set it to
289
+ * undefined and plugins that don't care can ignore it.
290
+ * Plugins that DO care (e.g. the openshell `sync_down` tool
291
+ * which stages results under the project tree) should treat
292
+ * missing as "caller must pass it explicitly".
293
+ */
294
+ projectSlug?: string;
295
+ /**
296
+ * Workboard task title at run start. Carried alongside `taskId`
297
+ * so tools that surface results on disk can name folders with
298
+ * something a human will recognise. Treat as best-effort: it's
299
+ * an untrusted user-supplied string. Plugins that route it into
300
+ * a filesystem path MUST slugify before use (e.g. via the helper
301
+ * used by openshell's SyncDownTool).
302
+ *
303
+ * Optional for backwards compatibility, same reasoning as
304
+ * `projectSlug`.
305
+ */
306
+ taskTitle?: string;
252
307
  /**
253
308
  * Cancellation signal for the current run. The host wires this
254
309
  * from the agent loop's inner abort controller, so a watchdog
@@ -607,6 +662,22 @@ export interface InboundChannelMessage {
607
662
  /** Outbound message handed to the adapter for delivery. The
608
663
  * adapter decides format (plain text vs card vs whatever the
609
664
  * platform supports natively). */
665
+ /** A local file the channel adapter should deliver alongside (or
666
+ * instead of) the text body. The path must already exist on the
667
+ * host filesystem; channels that can't natively render the
668
+ * file kind (image / video / generic file) MAY fall back to a
669
+ * text mention. The optional `kind` is a hint — adapters that
670
+ * sniff MIME from extension themselves can ignore it. */
671
+ export interface OutboundAttachment {
672
+ /** Absolute path on the host filesystem. */
673
+ filePath: string;
674
+ /** Display name for FILE-type messages (defaults to basename). */
675
+ fileName?: string;
676
+ /** Optional hint: "image" / "video" / "file". Adapter MAY use
677
+ * it instead of extension sniffing. */
678
+ kind?: "image" | "video" | "file";
679
+ }
680
+
610
681
  export interface OutboundChannelMessage {
611
682
  /** Target chat handle in the channel's native ID space. */
612
683
  target: string;
@@ -616,6 +687,11 @@ export interface OutboundChannelMessage {
616
687
  /** Reply to a specific message id when the channel supports
617
688
  * threading. */
618
689
  replyTo?: string;
690
+ /** Local-file attachments. Adapters that don't support media
691
+ * delivery MAY ignore this and just send `text` — callers
692
+ * should not rely on attachments getting through without
693
+ * checking adapter capabilities. */
694
+ attachments?: OutboundAttachment[];
619
695
  }
620
696
 
621
697
  /** Semantic reactions the host emits to signal processing state
@@ -24,7 +24,14 @@ export type InboxMessageKind =
24
24
  | "task_done"
25
25
  | "task_intervention_required"
26
26
  | "task_stalled"
27
- | "system_note";
27
+ | "system_note"
28
+ /**
29
+ * Recovery agent telling the broken session what happened and
30
+ * what to do next. Distinct from generic system_note so the
31
+ * chat UI / main agent can render it differently ("⚠️ recovery
32
+ * note" vs a plain background notification).
33
+ */
34
+ | "inbox_recovery_note";
28
35
 
29
36
  export interface InboxMessage {
30
37
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tianshu-ai/tianshu",
3
- "version": "0.3.55",
3
+ "version": "0.4.0",
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",
@@ -36,6 +36,17 @@ export interface AgentLoopRunnerRequest {
36
36
  * sandbox per `taskId` and stops it once the task terminates.
37
37
  * Absent for chat sessions and ad-hoc agent loops. */
38
38
  taskId?: string | null;
39
+ /** Project slug the task belongs to. Plumbed through to
40
+ * `AgentToolContext.projectSlug` so tools that stage result
41
+ * files on disk (e.g. openshell's `sync_down`) can default to
42
+ * the project's results subtree without the agent having to
43
+ * pass it. Workboard sets this from `tasks.project_slug`;
44
+ * absent for chat sessions and ad-hoc runs. */
45
+ projectSlug?: string | null;
46
+ /** Task title at run-start. Plumbed through to
47
+ * `AgentToolContext.taskTitle`. Treat as user-supplied text —
48
+ * plugins MUST slugify before using it in filesystem paths. */
49
+ taskTitle?: string | null;
39
50
  /** Parent session id (the user's main session that requested
40
51
  * the worker). Lets the UI render worker sessions as children. */
41
52
  parentSessionId?: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-loop.d.ts","sourceRoot":"","sources":["../src/agent-loop.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,sBAAsB;IACrC;;gBAEY;IACZ,MAAM,EAAE,MAAM,CAAC;IACf;6CACyC;IACzC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC7B;;uEAEmE;IACnE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC5B,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC9B,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;uBACmB;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;;;;mCAI+B;IAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;;;;;2DAKuD;IACvD,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;uEACmE;IACnE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,oDAAoD;IACpD,QAAQ,CAAC,EAAE;QACT,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,6BAA6B;IAC7B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C;;;;;;;;;;;;OAYG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EACF,eAAe,GACf,eAAe,GACf,wBAAwB,GACxB,cAAc,GACd,iBAAiB,GACjB,SAAS,GACT,cAAc,GACd,WAAW,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAClE"}
1
+ {"version":3,"file":"agent-loop.d.ts","sourceRoot":"","sources":["../src/agent-loop.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,sBAAsB;IACrC;;gBAEY;IACZ,MAAM,EAAE,MAAM,CAAC;IACf;6CACyC;IACzC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC7B;;uEAEmE;IACnE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC5B,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC9B,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;uBACmB;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;;;;mCAI+B;IAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;;;;;2DAKuD;IACvD,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;;;;oDAKgD;IAChD,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;oEAEgE;IAChE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;uEACmE;IACnE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,oDAAoD;IACpD,QAAQ,CAAC,EAAE;QACT,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,6BAA6B;IAC7B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C;;;;;;;;;;;;OAYG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EACF,eAAe,GACf,eAAe,GACf,wBAAwB,GACxB,cAAc,GACd,iBAAiB,GACjB,SAAS,GACT,cAAc,GACd,WAAW,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAClE"}