botmux 2.93.1 → 2.95.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 (290) hide show
  1. package/dist/adapters/backend/tmux-backend.d.ts +18 -2
  2. package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
  3. package/dist/adapters/backend/tmux-backend.js +45 -3
  4. package/dist/adapters/backend/tmux-backend.js.map +1 -1
  5. package/dist/adapters/backend/tmux-pipe-backend.js +1 -1
  6. package/dist/adapters/backend/tmux-pipe-backend.js.map +1 -1
  7. package/dist/adapters/backend/types.d.ts +8 -0
  8. package/dist/adapters/backend/types.d.ts.map +1 -1
  9. package/dist/adapters/backend/types.js.map +1 -1
  10. package/dist/adapters/backend/zellij-backend.js +1 -1
  11. package/dist/adapters/backend/zellij-backend.js.map +1 -1
  12. package/dist/adapters/cli/claude-code.d.ts.map +1 -1
  13. package/dist/adapters/cli/claude-code.js +6 -1
  14. package/dist/adapters/cli/claude-code.js.map +1 -1
  15. package/dist/bot-registry.d.ts +50 -1
  16. package/dist/bot-registry.d.ts.map +1 -1
  17. package/dist/bot-registry.js +30 -0
  18. package/dist/bot-registry.js.map +1 -1
  19. package/dist/cli/workflow.d.ts.map +1 -1
  20. package/dist/cli/workflow.js +11 -4
  21. package/dist/cli/workflow.js.map +1 -1
  22. package/dist/cli.d.ts.map +1 -1
  23. package/dist/cli.js +146 -1
  24. package/dist/cli.js.map +1 -1
  25. package/dist/core/command-handler.d.ts.map +1 -1
  26. package/dist/core/command-handler.js +28 -3
  27. package/dist/core/command-handler.js.map +1 -1
  28. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  29. package/dist/core/dashboard-ipc-server.js +92 -0
  30. package/dist/core/dashboard-ipc-server.js.map +1 -1
  31. package/dist/core/inherit-peer.d.ts +5 -0
  32. package/dist/core/inherit-peer.d.ts.map +1 -1
  33. package/dist/core/inherit-peer.js +3 -0
  34. package/dist/core/inherit-peer.js.map +1 -1
  35. package/dist/core/session-discovery.d.ts +9 -0
  36. package/dist/core/session-discovery.d.ts.map +1 -1
  37. package/dist/core/session-discovery.js +24 -0
  38. package/dist/core/session-discovery.js.map +1 -1
  39. package/dist/core/session-manager.d.ts.map +1 -1
  40. package/dist/core/session-manager.js +7 -6
  41. package/dist/core/session-manager.js.map +1 -1
  42. package/dist/core/terminal-url.d.ts.map +1 -1
  43. package/dist/core/terminal-url.js +15 -0
  44. package/dist/core/terminal-url.js.map +1 -1
  45. package/dist/core/trigger-session.js +2 -2
  46. package/dist/core/trigger-session.js.map +1 -1
  47. package/dist/core/worker-pool.d.ts.map +1 -1
  48. package/dist/core/worker-pool.js +30 -0
  49. package/dist/core/worker-pool.js.map +1 -1
  50. package/dist/daemon.d.ts.map +1 -1
  51. package/dist/daemon.js +296 -23
  52. package/dist/daemon.js.map +1 -1
  53. package/dist/dashboard/aggregator.d.ts +5 -0
  54. package/dist/dashboard/aggregator.d.ts.map +1 -1
  55. package/dist/dashboard/aggregator.js +7 -0
  56. package/dist/dashboard/aggregator.js.map +1 -1
  57. package/dist/dashboard/auth.d.ts.map +1 -1
  58. package/dist/dashboard/auth.js +7 -1
  59. package/dist/dashboard/auth.js.map +1 -1
  60. package/dist/dashboard/bot-payload.d.ts +2 -0
  61. package/dist/dashboard/bot-payload.d.ts.map +1 -1
  62. package/dist/dashboard/bot-payload.js +2 -0
  63. package/dist/dashboard/bot-payload.js.map +1 -1
  64. package/dist/dashboard/connector-api.d.ts.map +1 -1
  65. package/dist/dashboard/connector-api.js +14 -3
  66. package/dist/dashboard/connector-api.js.map +1 -1
  67. package/dist/dashboard/settings-write-applier.d.ts +2 -1
  68. package/dist/dashboard/settings-write-applier.d.ts.map +1 -1
  69. package/dist/dashboard/settings-write-applier.js +7 -0
  70. package/dist/dashboard/settings-write-applier.js.map +1 -1
  71. package/dist/dashboard/v3-runs-api.d.ts +26 -0
  72. package/dist/dashboard/v3-runs-api.d.ts.map +1 -0
  73. package/dist/dashboard/v3-runs-api.js +67 -0
  74. package/dist/dashboard/v3-runs-api.js.map +1 -0
  75. package/dist/dashboard/web/app.js +21 -9
  76. package/dist/dashboard/web/app.js.map +1 -1
  77. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  78. package/dist/dashboard/web/bot-defaults.js +128 -33
  79. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  80. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  81. package/dist/dashboard/web/i18n.js +42 -6
  82. package/dist/dashboard/web/i18n.js.map +1 -1
  83. package/dist/dashboard/web/legacy-workflow-link.d.ts +2 -0
  84. package/dist/dashboard/web/legacy-workflow-link.d.ts.map +1 -0
  85. package/dist/dashboard/web/legacy-workflow-link.js +12 -0
  86. package/dist/dashboard/web/legacy-workflow-link.js.map +1 -0
  87. package/dist/dashboard/web/settings.d.ts.map +1 -1
  88. package/dist/dashboard/web/settings.js +11 -0
  89. package/dist/dashboard/web/settings.js.map +1 -1
  90. package/dist/dashboard/web/v3-terminal.d.ts +11 -0
  91. package/dist/dashboard/web/v3-terminal.d.ts.map +1 -0
  92. package/dist/dashboard/web/v3-terminal.js +143 -0
  93. package/dist/dashboard/web/v3-terminal.js.map +1 -0
  94. package/dist/dashboard/web/v3.d.ts +2 -0
  95. package/dist/dashboard/web/v3.d.ts.map +1 -0
  96. package/dist/dashboard/web/v3.js +564 -0
  97. package/dist/dashboard/web/v3.js.map +1 -0
  98. package/dist/dashboard/web/whiteboards.d.ts.map +1 -1
  99. package/dist/dashboard/web/whiteboards.js +14 -5
  100. package/dist/dashboard/web/whiteboards.js.map +1 -1
  101. package/dist/dashboard/web/workflows.d.ts.map +1 -1
  102. package/dist/dashboard/web/workflows.js +12 -8
  103. package/dist/dashboard/web/workflows.js.map +1 -1
  104. package/dist/dashboard-web/app.js +834 -724
  105. package/dist/dashboard-web/apple-touch-icon.png +0 -0
  106. package/dist/dashboard-web/favicon.png +0 -0
  107. package/dist/dashboard-web/index.html +3 -1
  108. package/dist/dashboard-web/style.css +223 -0
  109. package/dist/dashboard.js +170 -10
  110. package/dist/dashboard.js.map +1 -1
  111. package/dist/global-config.d.ts +10 -0
  112. package/dist/global-config.d.ts.map +1 -1
  113. package/dist/global-config.js +8 -0
  114. package/dist/global-config.js.map +1 -1
  115. package/dist/i18n/en.d.ts.map +1 -1
  116. package/dist/i18n/en.js +23 -3
  117. package/dist/i18n/en.js.map +1 -1
  118. package/dist/i18n/zh.d.ts.map +1 -1
  119. package/dist/i18n/zh.js +23 -3
  120. package/dist/i18n/zh.js.map +1 -1
  121. package/dist/im/lark/card-handler.d.ts +12 -0
  122. package/dist/im/lark/card-handler.d.ts.map +1 -1
  123. package/dist/im/lark/card-handler.js +28 -0
  124. package/dist/im/lark/card-handler.js.map +1 -1
  125. package/dist/im/lark/client.d.ts.map +1 -1
  126. package/dist/im/lark/client.js +3 -12
  127. package/dist/im/lark/client.js.map +1 -1
  128. package/dist/im/lark/event-dispatcher.d.ts +2 -1
  129. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  130. package/dist/im/lark/event-dispatcher.js +20 -6
  131. package/dist/im/lark/event-dispatcher.js.map +1 -1
  132. package/dist/im/lark/grant-command.js +4 -4
  133. package/dist/im/lark/grant-command.js.map +1 -1
  134. package/dist/im/lark/message-parser.d.ts +29 -1
  135. package/dist/im/lark/message-parser.d.ts.map +1 -1
  136. package/dist/im/lark/message-parser.js +35 -1
  137. package/dist/im/lark/message-parser.js.map +1 -1
  138. package/dist/im/lark/v3-blocked-card-handler.d.ts +28 -0
  139. package/dist/im/lark/v3-blocked-card-handler.d.ts.map +1 -0
  140. package/dist/im/lark/v3-blocked-card-handler.js +134 -0
  141. package/dist/im/lark/v3-blocked-card-handler.js.map +1 -0
  142. package/dist/im/lark/v3-blocked-card.d.ts +75 -0
  143. package/dist/im/lark/v3-blocked-card.d.ts.map +1 -0
  144. package/dist/im/lark/v3-blocked-card.js +206 -0
  145. package/dist/im/lark/v3-blocked-card.js.map +1 -0
  146. package/dist/im/lark/v3-gate-card-handler.d.ts +31 -0
  147. package/dist/im/lark/v3-gate-card-handler.d.ts.map +1 -0
  148. package/dist/im/lark/v3-gate-card-handler.js +110 -0
  149. package/dist/im/lark/v3-gate-card-handler.js.map +1 -0
  150. package/dist/im/lark/v3-gate-card.d.ts +47 -0
  151. package/dist/im/lark/v3-gate-card.d.ts.map +1 -0
  152. package/dist/im/lark/v3-gate-card.js +119 -0
  153. package/dist/im/lark/v3-gate-card.js.map +1 -0
  154. package/dist/im/lark/v3-loop-grant-card-handler.d.ts +28 -0
  155. package/dist/im/lark/v3-loop-grant-card-handler.d.ts.map +1 -0
  156. package/dist/im/lark/v3-loop-grant-card-handler.js +90 -0
  157. package/dist/im/lark/v3-loop-grant-card-handler.js.map +1 -0
  158. package/dist/im/lark/v3-loop-grant-card.d.ts +46 -0
  159. package/dist/im/lark/v3-loop-grant-card.d.ts.map +1 -0
  160. package/dist/im/lark/v3-loop-grant-card.js +119 -0
  161. package/dist/im/lark/v3-loop-grant-card.js.map +1 -0
  162. package/dist/im/lark/v3-revisit-grant-card-handler.d.ts +29 -0
  163. package/dist/im/lark/v3-revisit-grant-card-handler.d.ts.map +1 -0
  164. package/dist/im/lark/v3-revisit-grant-card-handler.js +96 -0
  165. package/dist/im/lark/v3-revisit-grant-card-handler.js.map +1 -0
  166. package/dist/im/lark/v3-revisit-grant-card.d.ts +52 -0
  167. package/dist/im/lark/v3-revisit-grant-card.d.ts.map +1 -0
  168. package/dist/im/lark/v3-revisit-grant-card.js +123 -0
  169. package/dist/im/lark/v3-revisit-grant-card.js.map +1 -0
  170. package/dist/im/lark/workflow-cards.d.ts.map +1 -1
  171. package/dist/im/lark/workflow-cards.js +5 -1
  172. package/dist/im/lark/workflow-cards.js.map +1 -1
  173. package/dist/im/lark/workflow-progress-card.d.ts +1 -1
  174. package/dist/im/lark/workflow-progress-card.js +1 -1
  175. package/dist/im/lark/workflow-slash-command.d.ts +28 -0
  176. package/dist/im/lark/workflow-slash-command.d.ts.map +1 -1
  177. package/dist/im/lark/workflow-slash-command.js +61 -5
  178. package/dist/im/lark/workflow-slash-command.js.map +1 -1
  179. package/dist/platform/binding.d.ts +6 -0
  180. package/dist/platform/binding.d.ts.map +1 -1
  181. package/dist/platform/binding.js +17 -0
  182. package/dist/platform/binding.js.map +1 -1
  183. package/dist/platform/tunnel-client.d.ts +2 -0
  184. package/dist/platform/tunnel-client.d.ts.map +1 -1
  185. package/dist/platform/tunnel-client.js.map +1 -1
  186. package/dist/services/bot-config-store.d.ts.map +1 -1
  187. package/dist/services/bot-config-store.js +1 -0
  188. package/dist/services/bot-config-store.js.map +1 -1
  189. package/dist/services/card-prefs-store.d.ts +4 -0
  190. package/dist/services/card-prefs-store.d.ts.map +1 -1
  191. package/dist/services/card-prefs-store.js +19 -0
  192. package/dist/services/card-prefs-store.js.map +1 -1
  193. package/dist/services/oncall-store.d.ts +25 -0
  194. package/dist/services/oncall-store.d.ts.map +1 -1
  195. package/dist/services/oncall-store.js +56 -0
  196. package/dist/services/oncall-store.js.map +1 -1
  197. package/dist/services/transcript-resolver.d.ts.map +1 -1
  198. package/dist/services/transcript-resolver.js +21 -4
  199. package/dist/services/transcript-resolver.js.map +1 -1
  200. package/dist/setup/bot-config-editor.d.ts +7 -0
  201. package/dist/setup/bot-config-editor.d.ts.map +1 -1
  202. package/dist/setup/bot-config-editor.js +33 -0
  203. package/dist/setup/bot-config-editor.js.map +1 -1
  204. package/dist/skills/definitions.d.ts.map +1 -1
  205. package/dist/skills/definitions.js +208 -4
  206. package/dist/skills/definitions.js.map +1 -1
  207. package/dist/types.d.ts +1 -0
  208. package/dist/types.d.ts.map +1 -1
  209. package/dist/utils/terminal-favicon.d.ts +2 -0
  210. package/dist/utils/terminal-favicon.d.ts.map +1 -0
  211. package/dist/utils/terminal-favicon.js +5 -0
  212. package/dist/utils/terminal-favicon.js.map +1 -0
  213. package/dist/worker.js +152 -8
  214. package/dist/worker.js.map +1 -1
  215. package/dist/workflows/definition.d.ts +80 -80
  216. package/dist/workflows/events/payloads.d.ts +4 -4
  217. package/dist/workflows/events/schema.d.ts +16 -16
  218. package/dist/workflows/v3/architect.d.ts +37 -0
  219. package/dist/workflows/v3/architect.d.ts.map +1 -0
  220. package/dist/workflows/v3/architect.js +226 -0
  221. package/dist/workflows/v3/architect.js.map +1 -0
  222. package/dist/workflows/v3/bot-resolve.d.ts +21 -0
  223. package/dist/workflows/v3/bot-resolve.d.ts.map +1 -0
  224. package/dist/workflows/v3/bot-resolve.js +48 -0
  225. package/dist/workflows/v3/bot-resolve.js.map +1 -0
  226. package/dist/workflows/v3/cli-run.d.ts +24 -0
  227. package/dist/workflows/v3/cli-run.d.ts.map +1 -0
  228. package/dist/workflows/v3/cli-run.js +265 -0
  229. package/dist/workflows/v3/cli-run.js.map +1 -0
  230. package/dist/workflows/v3/contract.d.ts +302 -0
  231. package/dist/workflows/v3/contract.d.ts.map +1 -0
  232. package/dist/workflows/v3/contract.js +91 -0
  233. package/dist/workflows/v3/contract.js.map +1 -0
  234. package/dist/workflows/v3/daemon-run.d.ts +311 -0
  235. package/dist/workflows/v3/daemon-run.d.ts.map +1 -0
  236. package/dist/workflows/v3/daemon-run.js +775 -0
  237. package/dist/workflows/v3/daemon-run.js.map +1 -0
  238. package/dist/workflows/v3/dag.d.ts +332 -0
  239. package/dist/workflows/v3/dag.d.ts.map +1 -0
  240. package/dist/workflows/v3/dag.js +1040 -0
  241. package/dist/workflows/v3/dag.js.map +1 -0
  242. package/dist/workflows/v3/ephemeral-pool.d.ts +29 -0
  243. package/dist/workflows/v3/ephemeral-pool.d.ts.map +1 -0
  244. package/dist/workflows/v3/ephemeral-pool.js +331 -0
  245. package/dist/workflows/v3/ephemeral-pool.js.map +1 -0
  246. package/dist/workflows/v3/grill-state.d.ts +92 -0
  247. package/dist/workflows/v3/grill-state.d.ts.map +1 -0
  248. package/dist/workflows/v3/grill-state.js +151 -0
  249. package/dist/workflows/v3/grill-state.js.map +1 -0
  250. package/dist/workflows/v3/host.d.ts +88 -0
  251. package/dist/workflows/v3/host.d.ts.map +1 -0
  252. package/dist/workflows/v3/host.js +349 -0
  253. package/dist/workflows/v3/host.js.map +1 -0
  254. package/dist/workflows/v3/human-gate.d.ts +85 -0
  255. package/dist/workflows/v3/human-gate.d.ts.map +1 -0
  256. package/dist/workflows/v3/human-gate.js +153 -0
  257. package/dist/workflows/v3/human-gate.js.map +1 -0
  258. package/dist/workflows/v3/journal.d.ts +207 -0
  259. package/dist/workflows/v3/journal.d.ts.map +1 -0
  260. package/dist/workflows/v3/journal.js +74 -0
  261. package/dist/workflows/v3/journal.js.map +1 -0
  262. package/dist/workflows/v3/manifest.d.ts +17 -0
  263. package/dist/workflows/v3/manifest.d.ts.map +1 -0
  264. package/dist/workflows/v3/manifest.js +266 -0
  265. package/dist/workflows/v3/manifest.js.map +1 -0
  266. package/dist/workflows/v3/ops-projection.d.ts +110 -0
  267. package/dist/workflows/v3/ops-projection.d.ts.map +1 -0
  268. package/dist/workflows/v3/ops-projection.js +0 -0
  269. package/dist/workflows/v3/ops-projection.js.map +1 -0
  270. package/dist/workflows/v3/orchestrator.d.ts +168 -0
  271. package/dist/workflows/v3/orchestrator.d.ts.map +1 -0
  272. package/dist/workflows/v3/orchestrator.js +417 -0
  273. package/dist/workflows/v3/orchestrator.js.map +1 -0
  274. package/dist/workflows/v3/runtime.d.ts +193 -0
  275. package/dist/workflows/v3/runtime.d.ts.map +1 -0
  276. package/dist/workflows/v3/runtime.js +1284 -0
  277. package/dist/workflows/v3/runtime.js.map +1 -0
  278. package/dist/workflows/v3/spec.d.ts +32 -0
  279. package/dist/workflows/v3/spec.d.ts.map +1 -0
  280. package/dist/workflows/v3/spec.js +173 -0
  281. package/dist/workflows/v3/spec.js.map +1 -0
  282. package/dist/workflows/v3/state.d.ts +74 -0
  283. package/dist/workflows/v3/state.d.ts.map +1 -0
  284. package/dist/workflows/v3/state.js +353 -0
  285. package/dist/workflows/v3/state.js.map +1 -0
  286. package/package.json +2 -2
  287. package/dist/dashboard/web/workflow-catalog.d.ts +0 -2
  288. package/dist/dashboard/web/workflow-catalog.d.ts.map +0 -1
  289. package/dist/dashboard/web/workflow-catalog.js +0 -323
  290. package/dist/dashboard/web/workflow-catalog.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/skills/definitions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4FtB,CAAC;AAEF,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6DrB,CAAC;AAEF,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CpB,CAAC;AAEF,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkOlB,CAAC;AAEF,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6ClB,CAAC;AAEF,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCrB,CAAC;AAEF,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6Y7B,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiExB,CAAC;AAEF,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuEzB,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoH/B,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC;AAE3C;;;;;4DAK4D;AAC5D,MAAM,CAAC,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AAEzD,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,cAAc,EAAE;IACpD,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,EAAE;IAClD,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,EAAE;IAChD,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE;IAC5C,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE;IAC5C,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,EAAE;IAClD,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,qBAAqB,EAAE;IAClE,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,iBAAiB,EAAE;CAC3D,CAAC;AAEF;;qCAEqC;AACrC,MAAM,CAAC,MAAM,mBAAmB,GAAa;IAC3C,wBAAwB;IACxB,8EAA8E;IAC9E,wBAAwB;IACxB,mBAAmB;IACnB,qEAAqE;IACrE,yEAAyE;IACzE,gFAAgF;IAChF,sBAAsB;CACvB,CAAC"}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/skills/definitions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAS5F,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4FtB,CAAC;AAEF,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6DrB,CAAC;AAEF,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CpB,CAAC;AAEF,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkOlB,CAAC;AAEF,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6ClB,CAAC;AAEF,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCrB,CAAC;AAEF,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6Y7B,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiExB,CAAC;AAEF,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDpB,QAAQ,CAAC,WAAW,IAAI,aAAa;;;;;;GAMrC,QAAQ,CAAC,aAAa;;;;;;;;;;;;eAYV,oBAAoB;;;;;;;;;;;;GAYhC,QAAQ,CAAC,WAAW;;;;;;;;;;CAUtB,CAAC;AAEF,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuEzB,CAAC;AAEF,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+GzB,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoH/B,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC;AAE3C;;;;;4DAK4D;AAC5D,MAAM,CAAC,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AAEzD,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,cAAc,EAAE;IACpD,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,EAAE;IAClD,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,EAAE;IAChD,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE;IAC5C,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE;IAC5C,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,EAAE;IAClD,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,qBAAqB,EAAE;IAClE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,EAAE;IACvD,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,cAAc,EAAE;IACpD,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,iBAAiB,EAAE;CAC3D,CAAC;AAEF;;qCAEqC;AACrC,MAAM,CAAC,MAAM,mBAAmB,GAAa;IAC3C,wBAAwB;IACxB,8EAA8E;IAC9E,wBAAwB;IACxB,mBAAmB;IACnB,qEAAqE;IACrE,yEAAyE;IACzE,gFAAgF;IAChF,sBAAsB;CACvB,CAAC"}
package/dist/types.d.ts CHANGED
@@ -281,6 +281,7 @@ export type DaemonToWorker = {
281
281
  cliId: string;
282
282
  cliPathOverride?: string;
283
283
  wrapperCli?: string;
284
+ launchShell?: string;
284
285
  model?: string;
285
286
  disableCliBypass?: boolean;
286
287
  startupCommands?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,6DAA6D;AAC7D,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;AACxE,8EAA8E;AAC9E,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,UAAU,CAAC;AAErD,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAC3B;;2EAEuE;IACvE,aAAa,EAAE,MAAM,CAAC;IACtB;;;qEAGiE;IACjE,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B;yCACqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;gEAG4D;IAC5D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;sDACkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;kEAK8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;8EAM0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;oEAGgE;IAChE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;mBAGe;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE;QAAE,CAAC,aAAa,EAAE,MAAM,GAAG;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IAC5F;;;;OAIG;IACH,kBAAkB,CAAC,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAClF;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACnJ,6EAA6E;IAC7E,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC;kDAC8C;IAC9C,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;2DACuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uFAAuF;IACvF,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wDAAwD;IACxD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,2FAA2F;IAC3F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8GAA8G;IAC9G,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kGAAkG;IAClG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;OAQG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,2FAA2F;IAC3F,KAAK,CAAC,EAAE,OAAO,yBAAyB,EAAE,KAAK,CAAC;IAChD;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B;mFAC+E;IAC/E,WAAW,CAAC,EAAE;QACZ,iFAAiF;QACjF,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;QACrC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,uEAAuE;QACvE,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;qEAEiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;uEACmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;qBAIiB;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;IACnC,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf;4EACwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,aAAa,CAAC;IAC3C;;8DAE0D;IAC1D,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;8EAG0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mFAAmF;IACnF,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD;;;;2CAIuC;IACvC,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,WAAW,CAAC;IAE3C,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;CACrC;AAID,mDAAmD;AACnD,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,YAAY,CAAC;AAElD,iFAAiF;AACjF,MAAM,MAAM,aAAa,GACrB,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,GAC3C,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAChC,cAAc,GAAG,gBAAgB,CAAC;AAEtC,0CAA0C;AAC1C,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,yBAAyB,CAAC,EAAE,OAAO,CAAA;CAAE,GACphC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;AACvD;;;;+DAI+D;GAC7D;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GAInB;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAC3B;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAMxD;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,iBAAiB,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACrG;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,IAAI,GAAG,IAAI,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,GAAG,EAAE,aAAa,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAI1B;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/C,0CAA0C;AAC1C,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/D;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAE,GAClH;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,GACxB;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,YAAY,CAAC;IAAC,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAClH;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACxL;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,YAAY,CAAC;IAAC,UAAU,CAAC,EAAE,kBAAkB,CAAA;CAAE,GACxG;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACzD;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IAOf,IAAI,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,qBAAqB,CAAC;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACD;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const TERMINAL_FAVICON_DATA_URI = "data:image/png;base64,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";
2
+ //# sourceMappingURL=terminal-favicon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-favicon.d.ts","sourceRoot":"","sources":["../../src/utils/terminal-favicon.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,yBAAyB,m2OAC4zO,CAAC"}
@@ -0,0 +1,5 @@
1
+ // botmux 网页终端 favicon —— 暗色终端主题图标(bn 标 + `>_` 提示符)。
2
+ // worker 的终端页是 `res.end(getTerminalHtml(...))` 直出的 HTML,不经静态资源服务,
3
+ // 故把图标内联为 data URI(64x64 PNG)。如需换图,用同源图重新生成此常量即可。
4
+ export const TERMINAL_FAVICON_DATA_URI = 'data:image/png;base64,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';
5
+ //# sourceMappingURL=terminal-favicon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-favicon.js","sourceRoot":"","sources":["../../src/utils/terminal-favicon.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,kEAAkE;AAClE,kDAAkD;AAClD,MAAM,CAAC,MAAM,yBAAyB,GACpC,g2OAAg2O,CAAC"}
package/dist/worker.js CHANGED
@@ -15,7 +15,7 @@
15
15
  import { randomBytes } from 'node:crypto';
16
16
  import { mkdirSync, writeFileSync, unlinkSync, existsSync, statSync, readdirSync, readlinkSync, readFileSync, watch as fsWatch, createWriteStream } from 'node:fs';
17
17
  import { atomicWriteFileSync } from './utils/atomic-write.js';
18
- import { isAbsolute, join } from 'node:path';
18
+ import { isAbsolute, join, basename } from 'node:path';
19
19
  import { drainTranscript, joinAssistantText, trailingAssistantText, findJsonlContainingFingerprint, findJsonlsContainingExactContent, findLatestJsonl, extractLastAssistantTurn, extractTurnStartText, splitTranscriptEventsByCutoff } from './services/claude-transcript.js';
20
20
  import { BridgeTurnQueue, makeFingerprint, normaliseForFingerprint } from './services/bridge-turn-queue.js';
21
21
  import { shouldSuppressBridgeEmit } from './services/bridge-fallback-gate.js';
@@ -41,12 +41,13 @@ import { dirname } from 'node:path';
41
41
  import { createServer as createHttpServer } from 'node:http';
42
42
  import { WebSocketServer, WebSocket } from 'ws';
43
43
  import { listenWebTerminalWithFallback } from './utils/web-terminal-listen.js';
44
+ import { TERMINAL_FAVICON_DATA_URI } from './utils/terminal-favicon.js';
44
45
  import { t, setDefaultLocale } from './i18n/index.js';
45
46
  import { TerminalRenderer } from './utils/terminal-renderer.js';
46
47
  import { DEFAULT_RENDER_COLS, DEFAULT_RENDER_ROWS, MAX_RENDER_COLS, MAX_RENDER_ROWS, MIN_RENDER_COLS, MIN_RENDER_ROWS, clamp, resolveRenderDimensions, } from './utils/render-dimensions.js';
47
48
  import { createCliAdapterSync, locateOnPath } from './adapters/cli/registry.js';
48
49
  import { buildWrappedLaunch, parseWrapperCli, isTtadkWrapper } from './setup/cli-selection.js';
49
- import { findLaunchedCliPid, scheduleWrapperRealCliPid } from './core/session-discovery.js';
50
+ import { findLaunchedCliPid, scheduleWrapperRealCliPid, readComm, isBareShellComm, bareShellLaunchKind } from './core/session-discovery.js';
50
51
  import { claudeJsonlPathForSession, resolveJsonlFromPid, findOpenClaudeSessionIds, DEFAULT_CLAUDE_DATA_DIR } from './adapters/cli/claude-code.js';
51
52
  import { mtrSessionIdForBotmuxSession } from './adapters/cli/mtr.js';
52
53
  import { HerdrBackend } from './adapters/backend/herdr-backend.js';
@@ -134,6 +135,24 @@ const authedClients = new WeakSet();
134
135
  /** Per-WS-client tmux/zellij attach PTYs. */
135
136
  const clientPtys = new Map();
136
137
  const writeToken = randomBytes(16).toString('hex');
138
+ /**
139
+ * Resolve terminal write permission for one request, honoring a platform-injected
140
+ * `X-Botmux-Role` header. The central platform fronts `/s/*` and sets the role
141
+ * (owner | teammate | guest) after authenticating the viewer, stripping any
142
+ * client-supplied header; it reaches the worker via dashboard /s bridge →
143
+ * terminal-proxy → here. When the header is present we trust it (platform-fronted
144
+ * access): only `owner` may drive the terminal; everything else (teammate / guest
145
+ * / anything else) is read-only. When the header is absent (local direct access,
146
+ * no platform in front), fall back to the legacy write-token query param.
147
+ */
148
+ function resolveTerminalWrite(req, tokenMatches) {
149
+ const role = req.headers['x-botmux-role'];
150
+ if (typeof role === 'string' && role) {
151
+ const hasWrite = role === 'owner';
152
+ return { hasWrite, platformReadonly: !hasWrite };
153
+ }
154
+ return { hasWrite: tokenMatches, platformReadonly: false };
155
+ }
137
156
  /** Lazily-written locked-mode zellij config for per-WS web-terminal attach
138
157
  * clients: cleared keybinds + locked mode so every keystroke passes straight
139
158
  * to the focused (codex) pane, never intercepted as a zellij shortcut. */
@@ -164,6 +183,19 @@ let isFlushing = false;
164
183
  * when the CLI restarts. Consumed inside flushPending right before the first
165
184
  * user prompt is drained, so the commands always precede it (see runStartupCommands). */
166
185
  let hasRunStartupCommands = false;
186
+ /** Per-spawn latch: set once the launch-failure detector has decided the pane
187
+ * leaf is a bare shell (the CLI never launched — e.g. a user rcfile that
188
+ * `exec`-trampolines into another shell pre-empted the wrapper's `exec <cli>`).
189
+ * Once set, flushPending refuses to type prompts into the bare shell (which
190
+ * would just produce `zsh: parse error`) and the user gets one diagnostic
191
+ * instead. Reset per spawn in spawnCli. */
192
+ let bareShellLaunchBlocked = false;
193
+ /** Per-spawn one-shot: has the bare-shell launch check already run for this
194
+ * spawn? Gates detectBareShellLaunch() to the FIRST flush only (the
195
+ * "about to type the first prompt" moment), independent of the startup-commands
196
+ * one-shot so it also covers a reattach onto a pane that degraded to a bare
197
+ * shell. Reset per spawn in spawnCli. */
198
+ let bareShellChecked = false;
167
199
  /** Ready-gate (Claude-family): holds the first prompt until the SessionStart
168
200
  * hook fires a true-ready signal, so a cjadk-style startup selector's ❯ (which
169
201
  * falsely matches readyPattern) can't eat the first message. Recreated + armed
@@ -253,7 +285,16 @@ async function sendRawCommandLine(be, content) {
253
285
  be.sendSpecialKeys('Enter');
254
286
  }
255
287
  else {
256
- be.write(content + '\r');
288
+ // PtyBackend has no sendText/sendSpecialKeys, so write the keystrokes
289
+ // directly — but still beat between the text and the Enter. Writing
290
+ // `content + '\r'` in one chunk submits before the CLI's slash-command
291
+ // parser has registered the `/cmd` match, so the command is left
292
+ // unsent in the input box (observed with `/goal <text>` on a pty
293
+ // workflow worker: typed but never executed). Mirror the tmux path's
294
+ // 200ms beat.
295
+ be.write(content);
296
+ await new Promise(r => setTimeout(r, 200));
297
+ be.write('\r');
257
298
  }
258
299
  }
259
300
  /** Resolve once the PTY has been quiet for `quietMs`, or after `capMs` total.
@@ -3255,6 +3296,69 @@ function scheduleSubmitFailureNotify(msg, recheck, transcriptLabel, bridgeTurnId
3255
3296
  });
3256
3297
  }, SUBMIT_DEFERRED_RECHECK_MS);
3257
3298
  }
3299
+ /**
3300
+ * Launch-failure guard. Right before the FIRST prompt is typed, confirm the
3301
+ * pane's leaf process is the agent CLI — not a bare interactive shell. The
3302
+ * failure this catches: a user's login `$SHELL` (e.g. bash) whose rcfile
3303
+ * `exec`-trampolines into another shell (`[ -t 1 ] && exec zsh`). botmux's
3304
+ * tmux wrapper launches `<shell> -i -c '… exec /usr/bin/env <cli>'`; the `-i`
3305
+ * sources the rcfile, the `exec zsh` replaces the shell BEFORE the `-c` body
3306
+ * runs, and the pane is left at a bare shell. Typing the multi-line prompt into
3307
+ * it just yields `zsh: parse error near '\n'` and the user is stuck (the exact
3308
+ * bug this guards). Instead of typing into the shell we surface ONE actionable
3309
+ * diagnostic and latch the session so no further prompt is mis-typed.
3310
+ *
3311
+ * Why this is the right moment / low false-positive: the first prompt is held
3312
+ * until the CLI signals ready OR the 15s/45s first-prompt timeout fires, so by
3313
+ * the time we get here a healthy CLI has long since `exec`'d (leaf comm =
3314
+ * codex/node/…) — only a trampolined/failed launch is still a bare shell. We
3315
+ * skip wrapperCli/adopt (their leaf is legitimately a launcher/observed pane)
3316
+ * and the pty/herdr backends (which `exec` the CLI directly — getChildPid is the
3317
+ * CLI itself, never a shell).
3318
+ *
3319
+ * Returns true when a bare-shell launch was detected (caller must NOT flush).
3320
+ */
3321
+ function detectBareShellLaunch() {
3322
+ if (bareShellLaunchBlocked)
3323
+ return true;
3324
+ if (lastInitConfig?.adoptMode)
3325
+ return false; // observing an existing pane, not launching
3326
+ if (lastInitConfig?.wrapperCli)
3327
+ return false; // launcher legitimately wraps the CLI (transient shell shim)
3328
+ const pid = backend?.getChildPid?.();
3329
+ if (!pid)
3330
+ return false;
3331
+ const comm = readComm(pid);
3332
+ if (!isBareShellComm(comm))
3333
+ return false; // CLI (rust/go/node) is running — healthy launch
3334
+ // Bare shell is the pane leaf → the CLI never launched. Tier the message on
3335
+ // whether the leaf shell differs from the one botmux launched with: a
3336
+ // mismatch is the unmistakable signature of an rcfile `exec`-trampoline.
3337
+ const launchShell = (lastInitConfig?.launchShell || process.env.SHELL || '').trim();
3338
+ const expectedShell = launchShell ? basename(launchShell) : '';
3339
+ const trampolined = bareShellLaunchKind(comm, expectedShell) === 'trampoline';
3340
+ bareShellLaunchBlocked = true;
3341
+ log(`Bare-shell launch detected: pane leaf comm=${comm}, expected launch shell=${expectedShell || '?'}, ` +
3342
+ `cli=${lastInitConfig?.cliId}; suppressing first-prompt write (${trampolined ? 'rc trampoline' : 'CLI did not start'})`);
3343
+ const cli = cliName();
3344
+ let message;
3345
+ if (trampolined) {
3346
+ message =
3347
+ `⚠️ 会话没能启动:pane 里现在是裸 \`${comm}\`,${cli} 没真正跑起来——所以我没把你的消息打进去(否则会被当 shell 命令执行,报 \`parse error\`)。\n\n` +
3348
+ `最可能原因:botmux 用 \`${expectedShell}\` 启动 CLI,但 pane 落到了 \`${comm}\`。通常是 rc 文件(如 \`~/.${expectedShell}rc\`)里有 \`exec ${comm}\` 这类跳转——\`${expectedShell} -i\` 会 source rc,于是 shell 被顶替,CLI 的启动命令没机会跑。\n\n` +
3349
+ `两种修法(任选其一,改完重启 daemon 再发一条消息):\n` +
3350
+ `① 给那行加守卫,只在手动开终端时切:\`[ -z "$BASH_EXECUTION_STRING" ] && [ -t 1 ] && exec ${comm}\`(注意 PATH/nvm 等导出放在它之前)\n` +
3351
+ `② 给这个 bot 配 \`launchShell: ${comm}\`(dashboard 机器人配置,或 \`/config launchShell ${comm}\`),直接用 \`${comm}\` 启动绕开 \`${expectedShell}\` 的 rc——但要确保 PATH/nvm 在 \`${comm}\` 的 rc 里。`;
3352
+ }
3353
+ else {
3354
+ message =
3355
+ `⚠️ 会话没能启动:pane 里还停在 \`${comm}\`,${cli} 没真正跑起来——我没把消息打进去(否则会被当 shell 命令执行)。\n\n` +
3356
+ `可能原因:rc 文件启动过慢/报错,或 \`${cli}\` 的可执行文件不在 PATH 上(CLI 没找到)。\n` +
3357
+ `建议:在 web 终端里手动敲一下启动命令看报什么错;确认 CLI 二进制能在 PATH 上找到;或精简 rc 启动逻辑后重启 daemon 再试。`;
3358
+ }
3359
+ send({ type: 'user_notify', turnId: currentBotmuxTurnId, message });
3360
+ return true;
3361
+ }
3258
3362
  /**
3259
3363
  * Drain the pending message queue sequentially.
3260
3364
  * Async with isFlushing mutex: awaits each writeInput, then immediately
@@ -3268,6 +3372,8 @@ async function flushPending() {
3268
3372
  return;
3269
3373
  if (pendingMessages.length === 0)
3270
3374
  return; // nothing to flush — keep isPromptReady
3375
+ if (bareShellLaunchBlocked)
3376
+ return; // launch failed into a bare shell — don't type prompts into it
3271
3377
  // Ready-gate: hold the FIRST prompt until the SessionStart hook fires a true-
3272
3378
  // ready signal. A cjadk-style startup selector's ❯ falsely matches readyPattern
3273
3379
  // and would otherwise eat this message. releaseReadyGate() re-invokes us once
@@ -3317,6 +3423,21 @@ async function flushPending() {
3317
3423
  idleDetector?.reset();
3318
3424
  }
3319
3425
  try {
3426
+ // Launch-failure guard, run ONCE per spawn on the first flush, BEFORE startup
3427
+ // commands or any user prompt: if the pane leaf is a bare shell (the CLI never
3428
+ // launched — e.g. a user rcfile that `exec`-trampolines into another shell, or
3429
+ // a reattached persistent pane that has dropped back to a shell), don't type
3430
+ // anything into it (it would just be `zsh: parse error`); surface one
3431
+ // diagnostic and bail. Gated by its own one-shot (NOT hasRunStartupCommands)
3432
+ // so it also covers reattach, where startup commands are intentionally
3433
+ // skipped. Must precede runStartupCommands so a bot with startupCommands
3434
+ // doesn't get them typed into the bare shell first.
3435
+ if (!bareShellChecked) {
3436
+ bareShellChecked = true;
3437
+ if (detectBareShellLaunch()) {
3438
+ return; // finally{} releases the mutex; pendingMessages stay queued, untouched
3439
+ }
3440
+ }
3320
3441
  // One-shot per spawn: type the bot's startup commands (e.g. `/effort
3321
3442
  // ultracode`) into the CLI before the first user prompt drains. Both ready
3322
3443
  // paths funnel through flushPending — the ready-gate settle for Claude-family
@@ -3989,6 +4110,13 @@ function spawnCli(cfg) {
3989
4110
  // arm it. spawnCli is synchronous up to backend spawn, so this lands before
3990
4111
  // any flushPending consumes the flag.
3991
4112
  hasRunStartupCommands = !shouldRunStartupCommandsOnSpawn({ willReattachPersistent });
4113
+ // Re-arm the bare-shell launch detector for this spawn (fresh OR reattach). It
4114
+ // runs once on the first flush and only fires when the pane leaf is actually a
4115
+ // bare shell, so a healthy reattach (leaf = the live CLI) self-excludes while a
4116
+ // reattach onto a pane that has degraded to a bare shell still gets the
4117
+ // diagnostic instead of having the prompt typed into it.
4118
+ bareShellLaunchBlocked = false;
4119
+ bareShellChecked = false;
3992
4120
  // ── Resume pre-flight check + two-tier fallback ──────────────────────────
3993
4121
  // Tier 1 (adapter probe): adapter.checkResumeTargetExists returns false
3994
4122
  // → skip --resume, spawn FRESH.
@@ -4356,6 +4484,7 @@ function spawnCli(cfg) {
4356
4484
  rows: PTY_ROWS,
4357
4485
  env: childEnv,
4358
4486
  injectEnv: perBotInjectKeys.length ? perBotInjectEnv : undefined,
4487
+ launchShell: lastInitConfig?.launchShell,
4359
4488
  });
4360
4489
  // Write CLI PID marker so agent-facing subcommands (`botmux send`, etc.)
4361
4490
  // can verify they were spawned inside a botmux session by walking the
@@ -4756,9 +4885,12 @@ function startWebServer(host, preferredPort) {
4756
4885
  res.end('Bad Request');
4757
4886
  return;
4758
4887
  }
4759
- const hasWrite = url.searchParams.get('token') === writeToken;
4888
+ const tokenMatches = url.searchParams.get('token') === writeToken;
4889
+ const { hasWrite, platformReadonly } = resolveTerminalWrite(req, tokenMatches);
4890
+ const loginHdr = req.headers['x-botmux-login-url'];
4891
+ const loginUrl = typeof loginHdr === 'string' && /^https?:\/\/[^"'<>\s]+$/.test(loginHdr) ? loginHdr : '';
4760
4892
  res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
4761
- res.end(getTerminalHtml(hasWrite));
4893
+ res.end(getTerminalHtml(hasWrite, platformReadonly, loginUrl));
4762
4894
  });
4763
4895
  wss = new WebSocketServer({ server: httpServer });
4764
4896
  wss.on('connection', (ws, req) => {
@@ -4771,7 +4903,8 @@ function startWebServer(host, preferredPort) {
4771
4903
  ws.close(1008, 'Bad Request');
4772
4904
  return;
4773
4905
  }
4774
- const hasWrite = url.searchParams.get('token') === writeToken;
4906
+ const tokenMatches = url.searchParams.get('token') === writeToken;
4907
+ const { hasWrite } = resolveTerminalWrite(req, tokenMatches);
4775
4908
  if (hasWrite)
4776
4909
  authedClients.add(ws);
4777
4910
  log(`WS client connected (total: ${wsClients.size}, write: ${hasWrite})`);
@@ -5017,7 +5150,7 @@ function startWebServer(host, preferredPort) {
5017
5150
  .then(resolve, reject);
5018
5151
  });
5019
5152
  }
5020
- function getTerminalHtml(hasWrite) {
5153
+ function getTerminalHtml(hasWrite, platformReadonly = false, loginUrl = '') {
5021
5154
  const label = sessionId.substring(0, 8);
5022
5155
  return `<!DOCTYPE html>
5023
5156
  <html>
@@ -5025,6 +5158,7 @@ function getTerminalHtml(hasWrite) {
5025
5158
  <meta charset="utf-8">
5026
5159
  <meta id="vp" name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover">
5027
5160
  <title>${cliName()} - ${label}</title>
5161
+ <link rel="icon" type="image/png" href="${TERMINAL_FAVICON_DATA_URI}">
5028
5162
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@xterm/xterm@5/css/xterm.min.css">
5029
5163
  <style>
5030
5164
  *{margin:0;padding:0;box-sizing:border-box}
@@ -5064,11 +5198,17 @@ body.touch #terminal .xterm-screen *{
5064
5198
  background:rgba(247,118,142,0.12);border:1px solid rgba(247,118,142,0.35);border-radius:4px;
5065
5199
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
5066
5200
  #readonly-banner.show{display:inline-block}
5201
+ #login-banner{display:none;position:fixed;top:8px;left:50%;transform:translateX(-50%);z-index:50;
5202
+ padding:4px 10px;font:12px monospace;color:#e0af68;white-space:nowrap;text-decoration:none;cursor:pointer;
5203
+ background:rgba(224,175,104,0.12);border:1px solid rgba(224,175,104,0.35);border-radius:4px;
5204
+ backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
5205
+ #login-banner.show{display:inline-block}
5067
5206
  </style>
5068
5207
  </head>
5069
5208
  <body>
5070
5209
  <div id="terminal"></div>
5071
5210
  <div id="readonly-banner">只读模式 · 无写入权限</div>
5211
+ ${loginUrl ? `<a id="login-banner" href="${loginUrl}" target="_top" rel="noopener">owner 登录后可操作 →</a>` : '<div id="login-banner">owner 登录后可操作</div>'}
5072
5212
  <div id="toolbar">
5073
5213
  <button data-k="esc">Esc</button>
5074
5214
  <button data-k="ctrlc">^C</button>
@@ -5090,7 +5230,11 @@ body.touch #terminal .xterm-screen *{
5090
5230
  var isTouch='ontouchstart'in window||navigator.maxTouchPoints>0;
5091
5231
  if(isTouch){document.getElementById('vp').content='width=1100,viewport-fit=cover';document.body.classList.add('touch');}
5092
5232
  var hasToken=${hasWrite};
5093
- if(!hasToken){var _rb=document.getElementById('readonly-banner');_rb.classList.add('show');_rb.addEventListener('click',function(){_rb.classList.remove('show')});}
5233
+ var platformReadonly=${platformReadonly};
5234
+ if(!hasToken){
5235
+ if(platformReadonly){var _lb=document.getElementById('login-banner');_lb.classList.add('show');}
5236
+ else{var _rb=document.getElementById('readonly-banner');_rb.classList.add('show');_rb.addEventListener('click',function(){_rb.classList.remove('show')});}
5237
+ }
5094
5238
 
5095
5239
  var term=new Terminal({
5096
5240
  theme:{background:'#1a1b26',foreground:'#a9b1d6',cursor:'#c0caf5',