botmux 2.87.0 → 2.88.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 (160) hide show
  1. package/README.en.md +1 -0
  2. package/README.md +1 -0
  3. package/dist/adapters/backend/liveness-gate.d.ts +38 -0
  4. package/dist/adapters/backend/liveness-gate.d.ts.map +1 -0
  5. package/dist/adapters/backend/liveness-gate.js +53 -0
  6. package/dist/adapters/backend/liveness-gate.js.map +1 -0
  7. package/dist/adapters/backend/tmux-backend.d.ts +21 -0
  8. package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
  9. package/dist/adapters/backend/tmux-backend.js +102 -27
  10. package/dist/adapters/backend/tmux-backend.js.map +1 -1
  11. package/dist/adapters/backend/tmux-pipe-backend.d.ts +20 -0
  12. package/dist/adapters/backend/tmux-pipe-backend.d.ts.map +1 -1
  13. package/dist/adapters/backend/tmux-pipe-backend.js +85 -19
  14. package/dist/adapters/backend/tmux-pipe-backend.js.map +1 -1
  15. package/dist/adapters/backend/zellij-observe-backend.d.ts +13 -0
  16. package/dist/adapters/backend/zellij-observe-backend.d.ts.map +1 -1
  17. package/dist/adapters/backend/zellij-observe-backend.js +51 -12
  18. package/dist/adapters/backend/zellij-observe-backend.js.map +1 -1
  19. package/dist/adapters/cli/traex.d.ts.map +1 -1
  20. package/dist/adapters/cli/traex.js +4 -0
  21. package/dist/adapters/cli/traex.js.map +1 -1
  22. package/dist/adapters/cli/types.d.ts +6 -0
  23. package/dist/adapters/cli/types.d.ts.map +1 -1
  24. package/dist/bot-registry.d.ts +13 -0
  25. package/dist/bot-registry.d.ts.map +1 -1
  26. package/dist/bot-registry.js +3 -0
  27. package/dist/bot-registry.js.map +1 -1
  28. package/dist/cli.js +6 -0
  29. package/dist/cli.js.map +1 -1
  30. package/dist/core/command-handler.js +1 -1
  31. package/dist/core/command-handler.js.map +1 -1
  32. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  33. package/dist/core/dashboard-ipc-server.js +165 -5
  34. package/dist/core/dashboard-ipc-server.js.map +1 -1
  35. package/dist/core/dashboard-rows.d.ts +3 -0
  36. package/dist/core/dashboard-rows.d.ts.map +1 -1
  37. package/dist/core/dashboard-rows.js +4 -1
  38. package/dist/core/dashboard-rows.js.map +1 -1
  39. package/dist/core/session-activity.d.ts +1 -0
  40. package/dist/core/session-activity.d.ts.map +1 -1
  41. package/dist/core/session-activity.js +7 -4
  42. package/dist/core/session-activity.js.map +1 -1
  43. package/dist/core/session-create.d.ts +62 -0
  44. package/dist/core/session-create.d.ts.map +1 -0
  45. package/dist/core/session-create.js +131 -0
  46. package/dist/core/session-create.js.map +1 -0
  47. package/dist/core/session-manager.d.ts +40 -0
  48. package/dist/core/session-manager.d.ts.map +1 -1
  49. package/dist/core/session-manager.js +236 -2
  50. package/dist/core/session-manager.js.map +1 -1
  51. package/dist/core/worker-pool.d.ts.map +1 -1
  52. package/dist/core/worker-pool.js +78 -4
  53. package/dist/core/worker-pool.js.map +1 -1
  54. package/dist/daemon.d.ts.map +1 -1
  55. package/dist/daemon.js +11 -5
  56. package/dist/daemon.js.map +1 -1
  57. package/dist/dashboard/bot-payload.d.ts +1 -0
  58. package/dist/dashboard/bot-payload.d.ts.map +1 -1
  59. package/dist/dashboard/bot-payload.js +1 -0
  60. package/dist/dashboard/bot-payload.js.map +1 -1
  61. package/dist/dashboard/session-cleanup.d.ts +30 -0
  62. package/dist/dashboard/session-cleanup.d.ts.map +1 -0
  63. package/dist/dashboard/session-cleanup.js +47 -0
  64. package/dist/dashboard/session-cleanup.js.map +1 -0
  65. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  66. package/dist/dashboard/web/bot-defaults.js +20 -5
  67. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  68. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  69. package/dist/dashboard/web/i18n.js +184 -2
  70. package/dist/dashboard/web/i18n.js.map +1 -1
  71. package/dist/dashboard/web/insights.d.ts.map +1 -1
  72. package/dist/dashboard/web/insights.js +355 -30
  73. package/dist/dashboard/web/insights.js.map +1 -1
  74. package/dist/dashboard/web/sessions.d.ts +2 -0
  75. package/dist/dashboard/web/sessions.d.ts.map +1 -1
  76. package/dist/dashboard/web/sessions.js +457 -30
  77. package/dist/dashboard/web/sessions.js.map +1 -1
  78. package/dist/dashboard-web/app.js +767 -640
  79. package/dist/dashboard-web/style.css +257 -7
  80. package/dist/dashboard.js +213 -2
  81. package/dist/dashboard.js.map +1 -1
  82. package/dist/i18n/en.d.ts.map +1 -1
  83. package/dist/i18n/en.js +21 -1
  84. package/dist/i18n/en.js.map +1 -1
  85. package/dist/i18n/zh.d.ts.map +1 -1
  86. package/dist/i18n/zh.js +21 -1
  87. package/dist/i18n/zh.js.map +1 -1
  88. package/dist/im/lark/card-builder.d.ts +4 -5
  89. package/dist/im/lark/card-builder.d.ts.map +1 -1
  90. package/dist/im/lark/card-builder.js +113 -11
  91. package/dist/im/lark/card-builder.js.map +1 -1
  92. package/dist/im/lark/card-handler.d.ts +3 -2
  93. package/dist/im/lark/card-handler.d.ts.map +1 -1
  94. package/dist/im/lark/card-handler.js +167 -11
  95. package/dist/im/lark/card-handler.js.map +1 -1
  96. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  97. package/dist/im/lark/event-dispatcher.js +19 -5
  98. package/dist/im/lark/event-dispatcher.js.map +1 -1
  99. package/dist/im/lark/grant-pending.d.ts.map +1 -1
  100. package/dist/im/lark/grant-pending.js +9 -2
  101. package/dist/im/lark/grant-pending.js.map +1 -1
  102. package/dist/index-daemon.js +5 -0
  103. package/dist/index-daemon.js.map +1 -1
  104. package/dist/platform/bind.d.ts +2 -0
  105. package/dist/platform/bind.d.ts.map +1 -0
  106. package/dist/platform/bind.js +91 -0
  107. package/dist/platform/bind.js.map +1 -0
  108. package/dist/platform/binding.d.ts +22 -0
  109. package/dist/platform/binding.d.ts.map +1 -0
  110. package/dist/platform/binding.js +33 -0
  111. package/dist/platform/binding.js.map +1 -0
  112. package/dist/platform/tunnel-client.d.ts +15 -0
  113. package/dist/platform/tunnel-client.d.ts.map +1 -0
  114. package/dist/platform/tunnel-client.js +193 -0
  115. package/dist/platform/tunnel-client.js.map +1 -0
  116. package/dist/services/bot-config-store.d.ts.map +1 -1
  117. package/dist/services/bot-config-store.js +1 -0
  118. package/dist/services/bot-config-store.js.map +1 -1
  119. package/dist/services/git-worktree.d.ts +10 -0
  120. package/dist/services/git-worktree.d.ts.map +1 -1
  121. package/dist/services/git-worktree.js +71 -26
  122. package/dist/services/git-worktree.js.map +1 -1
  123. package/dist/services/grant-prefs-store.d.ts +3 -0
  124. package/dist/services/grant-prefs-store.d.ts.map +1 -1
  125. package/dist/services/grant-prefs-store.js +17 -2
  126. package/dist/services/grant-prefs-store.js.map +1 -1
  127. package/dist/services/insight/claude-span-reader.d.ts.map +1 -1
  128. package/dist/services/insight/claude-span-reader.js +18 -2
  129. package/dist/services/insight/claude-span-reader.js.map +1 -1
  130. package/dist/services/insight/codex-span-reader.d.ts.map +1 -1
  131. package/dist/services/insight/codex-span-reader.js +17 -1
  132. package/dist/services/insight/codex-span-reader.js.map +1 -1
  133. package/dist/services/insight/report.d.ts.map +1 -1
  134. package/dist/services/insight/report.js +48 -6
  135. package/dist/services/insight/report.js.map +1 -1
  136. package/dist/services/insight/types.d.ts +9 -0
  137. package/dist/services/insight/types.d.ts.map +1 -1
  138. package/dist/services/insight/types.js.map +1 -1
  139. package/dist/services/worktree-slug-ai.d.ts.map +1 -1
  140. package/dist/services/worktree-slug-ai.js +3 -1
  141. package/dist/services/worktree-slug-ai.js.map +1 -1
  142. package/dist/types.d.ts +12 -0
  143. package/dist/types.d.ts.map +1 -1
  144. package/dist/utils/crash-log.d.ts +22 -0
  145. package/dist/utils/crash-log.d.ts.map +1 -0
  146. package/dist/utils/crash-log.js +37 -0
  147. package/dist/utils/crash-log.js.map +1 -0
  148. package/dist/utils/input-gate.d.ts +10 -0
  149. package/dist/utils/input-gate.d.ts.map +1 -1
  150. package/dist/utils/input-gate.js +7 -0
  151. package/dist/utils/input-gate.js.map +1 -1
  152. package/dist/utils/stdio-epipe-guard.d.ts +39 -0
  153. package/dist/utils/stdio-epipe-guard.d.ts.map +1 -0
  154. package/dist/utils/stdio-epipe-guard.js +67 -0
  155. package/dist/utils/stdio-epipe-guard.js.map +1 -0
  156. package/dist/worker.js +210 -26
  157. package/dist/worker.js.map +1 -1
  158. package/dist/workflows/daemon-spawn.d.ts +2 -0
  159. package/dist/workflows/daemon-spawn.d.ts.map +1 -1
  160. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-rows.d.ts","sourceRoot":"","sources":["../../src/core/dashboard-rows.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAGtD,OAAO,EAAE,KAAK,KAAK,EAAe,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAwB,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEpF,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,MAAM,EAAE,YAAY,GAAG,QAAQ,CAAC;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;gFAG4E;IAC5E,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;4BACwB;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;;8EAG0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB;mDAC+C;IAC/C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;mDAC+C;IAC/C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;wEAIoE;IACpE,cAAc,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9D,6EAA6E;IAC7E,UAAU,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACvC;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,KAAgB,GAAG,MAAM,CAE9E;AAGD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAA0B;AACxE,wBAAgB,UAAU,IAAI,MAAM,CAA0B;AAY9D,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAE1D;AAWD,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,aAAa,GAAG,UAAU,CAmClE;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,OAAO,GAAG,UAAU,CAuB3D"}
1
+ {"version":3,"file":"dashboard-rows.d.ts","sourceRoot":"","sources":["../../src/core/dashboard-rows.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAGtD,OAAO,EAAE,KAAK,KAAK,EAAe,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAwB,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEpF,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,MAAM,EAAE,YAAY,GAAG,QAAQ,CAAC;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;gFAG4E;IAC5E,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;4BACwB;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;;8EAG0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB;mDAC+C;IAC/C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;6CACyC;IACzC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;mDAC+C;IAC/C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;wEAIoE;IACpE,cAAc,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9D,6EAA6E;IAC7E,UAAU,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACvC;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,KAAgB,GAAG,MAAM,CAE9E;AAGD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAA0B;AACxE,wBAAgB,UAAU,IAAI,MAAM,CAA0B;AAY9D,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAE1D;AAWD,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,aAAa,GAAG,UAAU,CAsClE;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,OAAO,GAAG,UAAU,CAuB3D"}
@@ -34,7 +34,9 @@ export function composeRowFromActive(ds) {
34
34
  larkAppId: ds.larkAppId,
35
35
  botName: cachedBotName,
36
36
  cliId: ds.session.cliId ?? 'unknown',
37
- status: ds.lastScreenStatus ?? 'starting',
37
+ // 待办池(queued)会话 CLI 没起,不该算「忙」——报 'idle' 免得 overview 的忙碌
38
+ // 计数/小圆点把它当在跑。看板列由 deriveKanbanColumn 按手动 backlog 定,不受此影响。
39
+ status: ds.session.queued ? 'idle' : (ds.lastScreenStatus ?? 'starting'),
38
40
  adopt: !!ds.adoptedFrom,
39
41
  spawnedAt: sessionCreatedAtMs(ds.session) || ds.spawnedAt,
40
42
  lastMessageAt: sessionLastActivityAtMs(ds.session) || ds.lastMessageAt,
@@ -57,6 +59,7 @@ export function composeRowFromActive(ds) {
57
59
  hasHistory: ds.hasHistory,
58
60
  feishuChatLink: feishuChatLink(ds.chatId, getBotBrand(ds.larkAppId)),
59
61
  pendingRepo: !!ds.pendingRepo,
62
+ queued: !!ds.session.queued,
60
63
  tuiPromptActive: !!ds.tuiPromptCardId,
61
64
  agentAttention: ds.agentAttention
62
65
  ? { kind: ds.agentAttention.kind, reason: ds.agentAttention.reason, at: ds.agentAttention.at }
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-rows.js","sourceRoot":"","sources":["../../src/core/dashboard-rows.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAc,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAA0B,MAAM,sBAAsB,CAAC;AAoDpF,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,QAAe,QAAQ;IACpE,OAAO,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC;AAED,IAAI,aAAa,GAAG,EAAE,CAAC;AACvB,MAAM,UAAU,UAAU,CAAC,IAAY,IAAU,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC;AACxE,MAAM,UAAU,UAAU,KAAa,OAAO,aAAa,CAAC,CAAC,CAAC;AAE9D,SAAS,gBAAgB,CAAC,GAAuB;IAC/C,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC;AAED,SAAS,kBAAkB,CAAC,CAAU;IACpC,OAAO,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,CAAU;IAChD,OAAO,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAU,EAAE,UAAmB;IACxD,OAAO,oBAAoB,CAAC;QAC1B,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS;QAC3B,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,YAAY,EAAE,CAAC,CAAC,YAAY;QAC5B,GAAG,EAAE,UAAU,IAAI,CAAC,CAAC,UAAU;KAChC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EAAiB;IACpD,OAAO;QACL,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS;QAC/B,SAAS,EAAE,EAAE,CAAC,SAAS;QACvB,OAAO,EAAE,aAAa;QACtB,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,SAAS;QACpC,MAAM,EAAE,EAAE,CAAC,gBAAgB,IAAI,UAAU;QACzC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW;QACvB,SAAS,EAAE,kBAAkB,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,SAAS;QACzD,aAAa,EAAE,uBAAuB,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,aAAa;QACtE,UAAU,EAAE,EAAE,CAAC,UAAU;QACzB,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,aAAa,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa;QACvC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK;QACvB,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK;QACvB,YAAY,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY;QACrC,cAAc,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc;QACzC,4DAA4D;QAC5D,mEAAmE;QACnE,sEAAsE;QACtE,qEAAqE;QACrE,oCAAoC;QACpC,WAAW,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW;QACnC,OAAO,EAAE,EAAE,CAAC,UAAU,IAAI,IAAI;QAC9B,SAAS,EAAE,yBAAyB,EAAE,IAAI,SAAS;QACnD,UAAU,EAAE,EAAE,CAAC,UAAU;QACzB,UAAU,EAAE,EAAE,CAAC,UAAU;QACzB,cAAc,EAAE,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QACpE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW;QAC7B,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,eAAe;QACrC,cAAc,EAAE,EAAE,CAAC,cAAc;YAC/B,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE;YAC9F,CAAC,CAAC,SAAS;QACb,UAAU,EAAE,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,CAAU;IAC7C,OAAO;QACL,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE;QAC5B,OAAO,EAAE,aAAa;QACtB,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS;QAC3B,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW;QACtB,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAC;QAChC,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACrH,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;QACzD,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,aAAa,EAAE,CAAC,CAAC,aAAa;QAC9B,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,YAAY,EAAE,CAAC,CAAC,YAAY;QAC5B,cAAc,EAAE,CAAC,CAAC,cAAc;QAChC,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI;QAC1B,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QACxE,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC;KACjC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"dashboard-rows.js","sourceRoot":"","sources":["../../src/core/dashboard-rows.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export declare function markSessionActivity(ds: DaemonSession, at?: number): voi
7
7
  * blindly. */
8
8
  export declare function publishAttentionPatch(ds: DaemonSession): void;
9
9
  export declare function clearAgentAttention(ds: DaemonSession): boolean;
10
+ export declare function announceSessionRow(ds: DaemonSession): void;
10
11
  /** Announce a repo-selection-pending session to dashboard SSE subscribers.
11
12
  *
12
13
  * `session.spawned` is normally published when the worker process spawns —
@@ -1 +1 @@
1
- {"version":3,"file":"session-activity.d.ts","sourceRoot":"","sources":["../../src/core/session-activity.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,aAAa,EAAE,EAAE,GAAE,MAAmB,GAAG,IAAI,CAWpF;AAED;;;;eAIe;AACf,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,aAAa,GAAG,IAAI,CAgB7D;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAK9D;AAED;;;;;;;;2EAQ2E;AAC3E,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,aAAa,GAAG,IAAI,CAMlE"}
1
+ {"version":3,"file":"session-activity.d.ts","sourceRoot":"","sources":["../../src/core/session-activity.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,aAAa,EAAE,EAAE,GAAE,MAAmB,GAAG,IAAI,CAWpF;AAED;;;;eAIe;AACf,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,aAAa,GAAG,IAAI,CAgB7D;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAK9D;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,aAAa,GAAG,IAAI,CAK1D;AAED;;;;;;;;2EAQ2E;AAC3E,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,aAAa,GAAG,IAAI,CAGlE"}
@@ -47,6 +47,12 @@ export function clearAgentAttention(ds) {
47
47
  publishAttentionPatch(ds);
48
48
  return true;
49
49
  }
50
+ export function announceSessionRow(ds) {
51
+ dashboardEventBus.publish({
52
+ type: 'session.spawned',
53
+ body: { session: composeRowFromActive(ds) },
54
+ });
55
+ }
50
56
  /** Announce a repo-selection-pending session to dashboard SSE subscribers.
51
57
  *
52
58
  * `session.spawned` is normally published when the worker process spawns —
@@ -59,9 +65,6 @@ export function clearAgentAttention(ds) {
59
65
  export function announcePendingRepoSession(ds) {
60
66
  if (!ds.pendingRepo)
61
67
  return;
62
- dashboardEventBus.publish({
63
- type: 'session.spawned',
64
- body: { session: composeRowFromActive(ds) },
65
- });
68
+ announceSessionRow(ds);
66
69
  }
67
70
  //# sourceMappingURL=session-activity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-activity.js","sourceRoot":"","sources":["../../src/core/session-activity.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,EAAE;AACF,uEAAuE;AACvE,wEAAwE;AACxE,4EAA4E;AAC5E,OAAO,KAAK,YAAY,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3D,MAAM,UAAU,mBAAmB,CAAC,EAAiB,EAAE,KAAa,IAAI,CAAC,GAAG,EAAE;IAC5E,EAAE,CAAC,aAAa,GAAG,EAAE,CAAC;IACtB,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,EAAE,CAAC,OAAO,CAAC,aAAa,KAAK,GAAG,EAAE,CAAC;QACrC,EAAE,CAAC,OAAO,CAAC,aAAa,GAAG,GAAG,CAAC;QAC/B,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IACD,iBAAiB,CAAC,OAAO,CAAC;QACxB,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE;KACxE,CAAC,CAAC;AACL,CAAC;AAED;;;;eAIe;AACf,MAAM,UAAU,qBAAqB,CAAC,EAAiB;IACrD,iBAAiB,CAAC,OAAO,CAAC;QACxB,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE;YACJ,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS;YAC/B,KAAK,EAAE;gBACL,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW;gBAC7B,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,eAAe;gBACrC,wEAAwE;gBACxE,sEAAsE;gBACtE,cAAc,EAAE,EAAE,CAAC,cAAc;oBAC/B,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE;oBAC9F,CAAC,CAAC,IAAI;aACT;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,EAAiB;IACnD,IAAI,CAAC,EAAE,CAAC,cAAc;QAAE,OAAO,KAAK,CAAC;IACrC,EAAE,CAAC,cAAc,GAAG,SAAS,CAAC;IAC9B,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAC1B,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;2EAQ2E;AAC3E,MAAM,UAAU,0BAA0B,CAAC,EAAiB;IAC1D,IAAI,CAAC,EAAE,CAAC,WAAW;QAAE,OAAO;IAC5B,iBAAiB,CAAC,OAAO,CAAC;QACxB,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,EAAE,OAAO,EAAE,oBAAoB,CAAC,EAAE,CAAC,EAAE;KAC5C,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"session-activity.js","sourceRoot":"","sources":["../../src/core/session-activity.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,EAAE;AACF,uEAAuE;AACvE,wEAAwE;AACxE,4EAA4E;AAC5E,OAAO,KAAK,YAAY,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3D,MAAM,UAAU,mBAAmB,CAAC,EAAiB,EAAE,KAAa,IAAI,CAAC,GAAG,EAAE;IAC5E,EAAE,CAAC,aAAa,GAAG,EAAE,CAAC;IACtB,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,EAAE,CAAC,OAAO,CAAC,aAAa,KAAK,GAAG,EAAE,CAAC;QACrC,EAAE,CAAC,OAAO,CAAC,aAAa,GAAG,GAAG,CAAC;QAC/B,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IACD,iBAAiB,CAAC,OAAO,CAAC;QACxB,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE;KACxE,CAAC,CAAC;AACL,CAAC;AAED;;;;eAIe;AACf,MAAM,UAAU,qBAAqB,CAAC,EAAiB;IACrD,iBAAiB,CAAC,OAAO,CAAC;QACxB,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE;YACJ,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS;YAC/B,KAAK,EAAE;gBACL,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW;gBAC7B,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,eAAe;gBACrC,wEAAwE;gBACxE,sEAAsE;gBACtE,cAAc,EAAE,EAAE,CAAC,cAAc;oBAC/B,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE;oBAC9F,CAAC,CAAC,IAAI;aACT;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,EAAiB;IACnD,IAAI,CAAC,EAAE,CAAC,cAAc;QAAE,OAAO,KAAK,CAAC;IACrC,EAAE,CAAC,cAAc,GAAG,SAAS,CAAC;IAC9B,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAC1B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,EAAiB;IAClD,iBAAiB,CAAC,OAAO,CAAC;QACxB,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,EAAE,OAAO,EAAE,oBAAoB,CAAC,EAAE,CAAC,EAAE;KAC5C,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;2EAQ2E;AAC3E,MAAM,UAAU,0BAA0B,CAAC,EAAiB;IAC1D,IAAI,CAAC,EAAE,CAAC,WAAW;QAAE,OAAO;IAC5B,kBAAkB,CAAC,EAAE,CAAC,CAAC;AACzB,CAAC"}
@@ -0,0 +1,62 @@
1
+ import { type Locale } from '../i18n/index.js';
2
+ /** 协作模式:
3
+ * - 'all' 「一起开工」——每个被选 bot 各起一条会话、拿同一份内容。
4
+ * - 'lead' 「Lead 分配」——只有 lead bot 起会话,内容带编排上下文,由它决定何时
5
+ * 在群里 @ 拉起 sub bot。 */
6
+ export declare const CREATE_SESSION_MODES: readonly ["all", "lead"];
7
+ export type CreateSessionMode = (typeof CREATE_SESSION_MODES)[number];
8
+ /** 入列:建完后会话落在看板哪一列。
9
+ * - 'in_progress' 直接开跑(立即 forkWorker)。
10
+ * - 'backlog' 入待办池(parked,不起 CLI,等激活)。 */
11
+ export declare const CREATE_SESSION_COLUMNS: readonly ["in_progress", "backlog"];
12
+ export type CreateSessionColumn = (typeof CREATE_SESSION_COLUMNS)[number];
13
+ /** 单个 bot 在新群里扮演的角色,决定它的首轮 prompt 怎么包:
14
+ * - 'solo' 只有它一个 worker(单 bot,或 lead 模式下的 lead 且没 sub)。
15
+ * - 'lead' lead 分配模式的 lead,prompt 前置编排上下文(列出 sub bot)。
16
+ * - 'collab' 一起开工模式的并列 worker,prompt 前置一句「还有谁在一起干」。 */
17
+ export type SpawnRole = 'solo' | 'lead' | 'collab';
18
+ export declare const SPAWN_ROLES: readonly SpawnRole[];
19
+ export declare const CREATE_SESSION_CONTENT_MAX = 8000;
20
+ export interface Coworker {
21
+ name: string;
22
+ openId?: string;
23
+ }
24
+ export declare function normalizeCreateMode(value: unknown): CreateSessionMode | null;
25
+ export declare function normalizeCreateColumn(value: unknown): CreateSessionColumn | null;
26
+ /** 会话标题:取内容首个非空行,压空白、限长。空内容回退占位。 */
27
+ export declare function deriveSessionTitleFromContent(content: string): string;
28
+ /** Lead 分配模式下,prepend 到用户内容前的编排上下文块。列出群里可协作的 sub
29
+ * bot(名字 + open_id,便于 @),并交代「你是 lead、自行决定何时拉起谁」。 */
30
+ export declare function buildLeadDispatchPreamble(coworkers: Coworker[], locale?: Locale): string;
31
+ /** 一起开工模式下,prepend 一句「本群还有谁在并行干同一任务」的轻量提示。
32
+ * 没有其他 coworker 时返回空串(退化成 solo)。 */
33
+ export declare function buildCollabNote(coworkers: Coworker[], locale?: Locale): string;
34
+ /** 组装喂给 buildNewTopicPrompt 的「用户内容」——按角色在原始 content 前拼上
35
+ * lead 编排前言 / 协作提示。solo 原样返回。 */
36
+ export declare function composeSpawnUserContent(args: {
37
+ content: string;
38
+ role: SpawnRole;
39
+ coworkers?: Coworker[];
40
+ locale?: Locale;
41
+ }): string;
42
+ export interface SpawnRequest {
43
+ chatId: string;
44
+ content: string;
45
+ column: CreateSessionColumn;
46
+ role: SpawnRole;
47
+ coworkers: Coworker[];
48
+ ownerOpenId?: string;
49
+ ownerUnionId?: string;
50
+ title?: string;
51
+ }
52
+ export type ParseResult<T> = {
53
+ ok: true;
54
+ value: T;
55
+ } | {
56
+ ok: false;
57
+ error: string;
58
+ };
59
+ /** 校验 daemon /api/sessions/spawn 的请求体。content 去尾空白后不能为空、限长;
60
+ * chatId 必须是飞书群 id(oc_ 前缀);column/role 必须合法。 */
61
+ export declare function parseSpawnRequest(body: unknown): ParseResult<SpawnRequest>;
62
+ //# sourceMappingURL=session-create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-create.d.ts","sourceRoot":"","sources":["../../src/core/session-create.ts"],"names":[],"mappings":"AAGA,OAAO,EAAK,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;iCAGiC;AACjC,eAAO,MAAM,oBAAoB,0BAA2B,CAAC;AAC7D,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE;;+CAE+C;AAC/C,eAAO,MAAM,sBAAsB,qCAAsC,CAAC;AAC1E,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E;;;wDAGwD;AACxD,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AACnD,eAAO,MAAM,WAAW,EAAE,SAAS,SAAS,EAA+B,CAAC;AAE5E,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAG/C,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,GAAG,IAAI,CAI5E;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,GAAG,IAAI,CAIhF;AAQD,oCAAoC;AACpC,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIrE;AAQD;qDACqD;AACrD,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAOxF;AAED;qCACqC;AACrC,wBAAgB,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAK9E;AAED;kCACkC;AAClC,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,MAAM,CAWT;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAkBnF;iDACiD;AACjD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,WAAW,CAAC,YAAY,CAAC,CA2B1E"}
@@ -0,0 +1,131 @@
1
+ // Dashboard「创建会话」的纯逻辑层:请求校验、列/模式归一化、lead 编排前言与
2
+ // 协作提示的 prompt 组装、会话标题推导。与 DOM / Lark API / 进程管理解耦,便于
3
+ // 单测。daemon 侧 /api/sessions/spawn 与 session-manager 的 spawn/activate 复用。
4
+ import { t } from '../i18n/index.js';
5
+ /** 协作模式:
6
+ * - 'all' 「一起开工」——每个被选 bot 各起一条会话、拿同一份内容。
7
+ * - 'lead' 「Lead 分配」——只有 lead bot 起会话,内容带编排上下文,由它决定何时
8
+ * 在群里 @ 拉起 sub bot。 */
9
+ export const CREATE_SESSION_MODES = ['all', 'lead'];
10
+ /** 入列:建完后会话落在看板哪一列。
11
+ * - 'in_progress' 直接开跑(立即 forkWorker)。
12
+ * - 'backlog' 入待办池(parked,不起 CLI,等激活)。 */
13
+ export const CREATE_SESSION_COLUMNS = ['in_progress', 'backlog'];
14
+ export const SPAWN_ROLES = ['solo', 'lead', 'collab'];
15
+ export const CREATE_SESSION_CONTENT_MAX = 8000;
16
+ const TITLE_MAX = 50;
17
+ export function normalizeCreateMode(value) {
18
+ return typeof value === 'string' && CREATE_SESSION_MODES.includes(value)
19
+ ? value
20
+ : null;
21
+ }
22
+ export function normalizeCreateColumn(value) {
23
+ return typeof value === 'string' && CREATE_SESSION_COLUMNS.includes(value)
24
+ ? value
25
+ : null;
26
+ }
27
+ function normalizeSpawnRole(value) {
28
+ return typeof value === 'string' && SPAWN_ROLES.includes(value)
29
+ ? value
30
+ : null;
31
+ }
32
+ /** 会话标题:取内容首个非空行,压空白、限长。空内容回退占位。 */
33
+ export function deriveSessionTitleFromContent(content) {
34
+ const firstLine = content.split(/\r?\n/).map(s => s.trim()).find(Boolean) ?? '';
35
+ if (!firstLine)
36
+ return t('cmd.createSession.untitled');
37
+ return firstLine.length > TITLE_MAX ? firstLine.slice(0, TITLE_MAX) + '…' : firstLine;
38
+ }
39
+ function coworkerListBlock(coworkers) {
40
+ return coworkers
41
+ .map(c => c.openId ? `- ${c.name} (open_id: ${c.openId})` : `- ${c.name}`)
42
+ .join('\n');
43
+ }
44
+ /** Lead 分配模式下,prepend 到用户内容前的编排上下文块。列出群里可协作的 sub
45
+ * bot(名字 + open_id,便于 @),并交代「你是 lead、自行决定何时拉起谁」。 */
46
+ export function buildLeadDispatchPreamble(coworkers, locale) {
47
+ const intro = t('cmd.createSession.lead_preamble_intro', undefined, locale);
48
+ const outro = t('cmd.createSession.lead_preamble_outro', undefined, locale);
49
+ const list = coworkers.length > 0
50
+ ? coworkerListBlock(coworkers)
51
+ : t('cmd.createSession.lead_preamble_no_subs', undefined, locale);
52
+ return `<botmux_lead_dispatch>\n${intro}\n${list}\n${outro}\n</botmux_lead_dispatch>`;
53
+ }
54
+ /** 一起开工模式下,prepend 一句「本群还有谁在并行干同一任务」的轻量提示。
55
+ * 没有其他 coworker 时返回空串(退化成 solo)。 */
56
+ export function buildCollabNote(coworkers, locale) {
57
+ const others = coworkers.filter(c => c.name);
58
+ if (others.length === 0)
59
+ return '';
60
+ const names = others.map(c => c.name).join('、');
61
+ return `<botmux_collab>${t('cmd.createSession.collab_note', { peers: names }, locale)}</botmux_collab>`;
62
+ }
63
+ /** 组装喂给 buildNewTopicPrompt 的「用户内容」——按角色在原始 content 前拼上
64
+ * lead 编排前言 / 协作提示。solo 原样返回。 */
65
+ export function composeSpawnUserContent(args) {
66
+ const { content, role, locale } = args;
67
+ const coworkers = args.coworkers ?? [];
68
+ if (role === 'lead') {
69
+ return `${buildLeadDispatchPreamble(coworkers, locale)}\n\n${content}`;
70
+ }
71
+ if (role === 'collab') {
72
+ const note = buildCollabNote(coworkers, locale);
73
+ return note ? `${note}\n\n${content}` : content;
74
+ }
75
+ return content;
76
+ }
77
+ function parseCoworkers(value) {
78
+ if (!Array.isArray(value))
79
+ return [];
80
+ const out = [];
81
+ for (const item of value) {
82
+ if (!item || typeof item !== 'object')
83
+ continue;
84
+ const name = item.name;
85
+ const openId = item.openId;
86
+ if (typeof name !== 'string' || !name.trim())
87
+ continue;
88
+ out.push({
89
+ name: name.trim(),
90
+ openId: typeof openId === 'string' && openId.trim() ? openId.trim() : undefined,
91
+ });
92
+ }
93
+ return out;
94
+ }
95
+ /** 校验 daemon /api/sessions/spawn 的请求体。content 去尾空白后不能为空、限长;
96
+ * chatId 必须是飞书群 id(oc_ 前缀);column/role 必须合法。 */
97
+ export function parseSpawnRequest(body) {
98
+ if (!body || typeof body !== 'object')
99
+ return { ok: false, error: 'bad_request' };
100
+ const b = body;
101
+ const chatId = typeof b.chatId === 'string' ? b.chatId.trim() : '';
102
+ if (!chatId.startsWith('oc_'))
103
+ return { ok: false, error: 'bad_chat_id' };
104
+ const rawContent = typeof b.content === 'string' ? b.content : '';
105
+ const content = rawContent.replace(/\s+$/u, '');
106
+ if (!content.trim())
107
+ return { ok: false, error: 'empty_content' };
108
+ if (content.length > CREATE_SESSION_CONTENT_MAX)
109
+ return { ok: false, error: 'content_too_long' };
110
+ const column = normalizeCreateColumn(b.column);
111
+ if (!column)
112
+ return { ok: false, error: 'bad_column' };
113
+ const role = normalizeSpawnRole(b.role);
114
+ if (!role)
115
+ return { ok: false, error: 'bad_role' };
116
+ const title = typeof b.title === 'string' && b.title.trim() ? b.title.trim().slice(0, 200) : undefined;
117
+ return {
118
+ ok: true,
119
+ value: {
120
+ chatId,
121
+ content,
122
+ column,
123
+ role,
124
+ coworkers: parseCoworkers(b.coworkers),
125
+ ownerOpenId: typeof b.ownerOpenId === 'string' && b.ownerOpenId.trim() ? b.ownerOpenId.trim() : undefined,
126
+ ownerUnionId: typeof b.ownerUnionId === 'string' && b.ownerUnionId.trim() ? b.ownerUnionId.trim() : undefined,
127
+ title,
128
+ },
129
+ };
130
+ }
131
+ //# sourceMappingURL=session-create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-create.js","sourceRoot":"","sources":["../../src/core/session-create.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { expandHome } from './working-dir.js';
2
2
  import type { CliId } from '../adapters/cli/types.js';
3
+ import { type CreateSessionColumn, type SpawnRole, type Coworker } from './session-create.js';
3
4
  import type { BackendType } from '../adapters/backend/types.js';
4
5
  import type { LarkAttachment, LarkMention, ScheduledTask } from '../types.js';
5
6
  import type { MessageResource } from '../im/lark/message-parser.js';
@@ -219,4 +220,43 @@ export declare function resumeSession(sessionId: string, activeSessions: Map<str
219
220
  activeSessionId?: string;
220
221
  }>;
221
222
  export declare function executeScheduledTask(task: ScheduledTask, activeSessions: Map<string, DaemonSession>, refreshCliVersion: (...args: any[]) => boolean): Promise<void>;
223
+ export interface SpawnDashboardSessionArgs {
224
+ larkAppId: string;
225
+ /** 新建的飞书群(chat-scope 锚点)。 */
226
+ chatId: string;
227
+ /** 用户在弹框里写的原始任务内容。 */
228
+ content: string;
229
+ /** in_progress=立即开跑;backlog=入待办池(parked,不起 CLI)。 */
230
+ column: CreateSessionColumn;
231
+ /** 本 bot 在群里的角色,决定首轮 prompt 怎么包(lead 编排 / collab 并列 / solo)。 */
232
+ role: SpawnRole;
233
+ /** 群里其它可协作的 bot(lead 用来列 sub bot、collab 用来提示同伴)。 */
234
+ coworkers?: Coworker[];
235
+ /** 会话标题,缺省取内容首行。 */
236
+ title?: string;
237
+ /** 是否在群里发一条可见的任务横幅(只由 creator/lead 那一次 spawn 发,避免 N 个 bot 重复刷屏)。 */
238
+ postBanner?: boolean;
239
+ /** 会话归属人 open_id(本 bot 作用域);缺省回退本 bot 首个 allowedUser。 */
240
+ ownerOpenId?: string;
241
+ ownerUnionId?: string;
242
+ }
243
+ /** 在新建的飞书群里为某个 bot 拉起一条 chat-scope 会话(dashboard「创建会话」用)。
244
+ * column='in_progress' → 立即 forkWorker 把内容当首轮发给 CLI;
245
+ * column='backlog' → 入待办池(parked:worker:null + session.queued + queuedPrompt),
246
+ * 等被激活(拖到进行中 / 点开始 / 群里来消息)再起 CLI。
247
+ * 与调度器 new-topic spawn 同构,差别只在「可暂存不起」与角色包装。 */
248
+ export declare function spawnDashboardSession(activeSessions: Map<string, DaemonSession>, refreshCliVersion: ((...args: any[]) => boolean) | undefined, args: SpawnDashboardSessionArgs): Promise<{
249
+ ok: true;
250
+ sessionId: string;
251
+ } | {
252
+ ok: false;
253
+ error: string;
254
+ }>;
255
+ /** 激活一条 parked(待办池)会话:把暂存的 queuedPrompt 当首轮发给 CLI,清掉 queued
256
+ * 标记。供「拖到进行中」「点开始」「群里来第一条消息」三个入口复用。已起过的会话
257
+ * (worker 在或 hasHistory)直接返回 already_active,幂等。 */
258
+ export declare function activateQueuedSession(ds: DaemonSession): Promise<{
259
+ ok: boolean;
260
+ error?: string;
261
+ }>;
222
262
  //# sourceMappingURL=session-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/core/session-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/core/session-manager.ts"],"names":[],"mappings":"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"}