botmux 3.6.0 → 3.7.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 (177) hide show
  1. package/dist/.runtime-build-id +1 -1
  2. package/dist/adapters/backend/riff-backend.d.ts +7 -6
  3. package/dist/adapters/backend/riff-backend.d.ts.map +1 -1
  4. package/dist/adapters/backend/riff-backend.js +8 -7
  5. package/dist/adapters/backend/riff-backend.js.map +1 -1
  6. package/dist/adapters/backend/sandbox.d.ts.map +1 -1
  7. package/dist/adapters/backend/sandbox.js +5 -2
  8. package/dist/adapters/backend/sandbox.js.map +1 -1
  9. package/dist/adapters/cli/codex.d.ts.map +1 -1
  10. package/dist/adapters/cli/codex.js +15 -6
  11. package/dist/adapters/cli/codex.js.map +1 -1
  12. package/dist/adapters/cli/fs-policy.d.ts +62 -6
  13. package/dist/adapters/cli/fs-policy.d.ts.map +1 -1
  14. package/dist/adapters/cli/fs-policy.js +70 -7
  15. package/dist/adapters/cli/fs-policy.js.map +1 -1
  16. package/dist/bot-registry.d.ts +13 -0
  17. package/dist/bot-registry.d.ts.map +1 -1
  18. package/dist/bot-registry.js +15 -7
  19. package/dist/bot-registry.js.map +1 -1
  20. package/dist/cli/daemon-lifecycle-env.d.ts +1 -1
  21. package/dist/cli/daemon-lifecycle-env.d.ts.map +1 -1
  22. package/dist/cli/daemon-lifecycle-env.js +12 -0
  23. package/dist/cli/daemon-lifecycle-env.js.map +1 -1
  24. package/dist/cli.d.ts.map +1 -1
  25. package/dist/cli.js +23 -7
  26. package/dist/cli.js.map +1 -1
  27. package/dist/core/command-handler.d.ts +7 -5
  28. package/dist/core/command-handler.d.ts.map +1 -1
  29. package/dist/core/command-handler.js +37 -21
  30. package/dist/core/command-handler.js.map +1 -1
  31. package/dist/core/cost-calculator.d.ts +3 -0
  32. package/dist/core/cost-calculator.d.ts.map +1 -1
  33. package/dist/core/cost-calculator.js.map +1 -1
  34. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  35. package/dist/core/dashboard-ipc-server.js +12 -9
  36. package/dist/core/dashboard-ipc-server.js.map +1 -1
  37. package/dist/core/dashboard-rows.d.ts.map +1 -1
  38. package/dist/core/dashboard-rows.js +1 -0
  39. package/dist/core/dashboard-rows.js.map +1 -1
  40. package/dist/core/initial-user-turn.d.ts +14 -0
  41. package/dist/core/initial-user-turn.d.ts.map +1 -0
  42. package/dist/core/initial-user-turn.js +65 -0
  43. package/dist/core/initial-user-turn.js.map +1 -0
  44. package/dist/core/maintenance.d.ts.map +1 -1
  45. package/dist/core/maintenance.js +6 -0
  46. package/dist/core/maintenance.js.map +1 -1
  47. package/dist/core/per-bot-env.d.ts.map +1 -1
  48. package/dist/core/per-bot-env.js +10 -0
  49. package/dist/core/per-bot-env.js.map +1 -1
  50. package/dist/core/plugins/pm2.d.ts.map +1 -1
  51. package/dist/core/plugins/pm2.js +4 -0
  52. package/dist/core/plugins/pm2.js.map +1 -1
  53. package/dist/core/session-discovery.d.ts +23 -0
  54. package/dist/core/session-discovery.d.ts.map +1 -1
  55. package/dist/core/session-discovery.js +162 -82
  56. package/dist/core/session-discovery.js.map +1 -1
  57. package/dist/core/session-manager.d.ts.map +1 -1
  58. package/dist/core/session-manager.js +23 -4
  59. package/dist/core/session-manager.js.map +1 -1
  60. package/dist/core/worker-pool.d.ts +2 -0
  61. package/dist/core/worker-pool.d.ts.map +1 -1
  62. package/dist/core/worker-pool.js +27 -4
  63. package/dist/core/worker-pool.js.map +1 -1
  64. package/dist/daemon.d.ts +18 -0
  65. package/dist/daemon.d.ts.map +1 -1
  66. package/dist/daemon.js +205 -39
  67. package/dist/daemon.js.map +1 -1
  68. package/dist/dashboard/bot-onboarding.d.ts.map +1 -1
  69. package/dist/dashboard/bot-onboarding.js +29 -5
  70. package/dist/dashboard/bot-onboarding.js.map +1 -1
  71. package/dist/dashboard/bot-payload.js +3 -3
  72. package/dist/dashboard/bot-payload.js.map +1 -1
  73. package/dist/dashboard/web/bot-defaults-page.js +5 -5
  74. package/dist/dashboard/web/bot-defaults-page.js.map +1 -1
  75. package/dist/dashboard/web/bot-onboarding.d.ts.map +1 -1
  76. package/dist/dashboard/web/bot-onboarding.js +1 -1
  77. package/dist/dashboard/web/bot-onboarding.js.map +1 -1
  78. package/dist/dashboard/web/i18n.js +18 -18
  79. package/dist/dashboard/web/i18n.js.map +1 -1
  80. package/dist/dashboard-web/app.js +1 -1
  81. package/dist/dashboard-web/chunks/{bot-defaults-page-VQMPUJ4Y.js → bot-defaults-page-UKA7K4JV.js} +2 -2
  82. package/dist/dashboard-web/chunks/{chunk-NP4JUBGS.js → chunk-3QAUJXAS.js} +1 -1
  83. package/dist/dashboard-web/chunks/{chunk-JMRGZQDB.js → chunk-FLGXZJTD.js} +1 -1
  84. package/dist/dashboard-web/chunks/chunk-FNPGOZMX.js +1 -0
  85. package/dist/dashboard-web/chunks/{chunk-SNKATZWK.js → chunk-KQB42ML5.js} +4 -4
  86. package/dist/dashboard-web/chunks/{connectors-page-DOY4J3ZL.js → connectors-page-A77YAB5Y.js} +1 -1
  87. package/dist/dashboard-web/chunks/{groups-page-74TS2DIH.js → groups-page-RUZNVXQB.js} +1 -1
  88. package/dist/dashboard-web/chunks/{insights-page-AYCO65JC.js → insights-page-RF7U7RTA.js} +1 -1
  89. package/dist/dashboard-web/chunks/{monitor-room-YKYLTSAN.js → monitor-room-7IVIS75W.js} +1 -1
  90. package/dist/dashboard-web/chunks/{monitoring-page-QBIUNRBR.js → monitoring-page-5SSJRQZF.js} +1 -1
  91. package/dist/dashboard-web/chunks/{office-page-4PH2A26P.js → office-page-EOND3L5D.js} +1 -1
  92. package/dist/dashboard-web/chunks/{overview-page-H73D5UT4.js → overview-page-NISBVBBJ.js} +1 -1
  93. package/dist/dashboard-web/chunks/{roles-page-U4BTOQ7F.js → roles-page-BUMKD7Y4.js} +1 -1
  94. package/dist/dashboard-web/chunks/{schedules-page-RHRHX7R7.js → schedules-page-AVOOKLUH.js} +1 -1
  95. package/dist/dashboard-web/chunks/{sessions-page-VSC6AM5G.js → sessions-page-6HLSEAB7.js} +2 -2
  96. package/dist/dashboard-web/chunks/{settings-page-LF3RKM5P.js → settings-page-MJDZHQ4X.js} +1 -1
  97. package/dist/dashboard-web/chunks/{skills-page-SYOIGGXH.js → skills-page-5MW54PCC.js} +1 -1
  98. package/dist/dashboard-web/chunks/{team-federation-page-RMBLASTW.js → team-federation-page-2SNIMVXI.js} +1 -1
  99. package/dist/dashboard-web/chunks/{v3-page-XJXKKJRN.js → v3-page-W6SBXXQC.js} +1 -1
  100. package/dist/dashboard-web/chunks/{whiteboards-page-K3YVSTHJ.js → whiteboards-page-STC54KTP.js} +1 -1
  101. package/dist/dashboard-web/style.css +5 -0
  102. package/dist/dashboard.js +2 -2
  103. package/dist/dashboard.js.map +1 -1
  104. package/dist/desktop/main/dashboard-compat.js +1 -1
  105. package/dist/i18n/en.js +6 -6
  106. package/dist/i18n/en.js.map +1 -1
  107. package/dist/i18n/zh.js +6 -6
  108. package/dist/i18n/zh.js.map +1 -1
  109. package/dist/im/lark/card-builder.d.ts.map +1 -1
  110. package/dist/im/lark/card-builder.js +5 -4
  111. package/dist/im/lark/card-builder.js.map +1 -1
  112. package/dist/im/lark/card-handler.d.ts.map +1 -1
  113. package/dist/im/lark/card-handler.js +40 -7
  114. package/dist/im/lark/card-handler.js.map +1 -1
  115. package/dist/im/lark/client.d.ts.map +1 -1
  116. package/dist/im/lark/client.js +82 -1
  117. package/dist/im/lark/client.js.map +1 -1
  118. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  119. package/dist/im/lark/event-dispatcher.js +46 -12
  120. package/dist/im/lark/event-dispatcher.js.map +1 -1
  121. package/dist/im/lark/relay-target-routing.d.ts.map +1 -1
  122. package/dist/im/lark/relay-target-routing.js +12 -11
  123. package/dist/im/lark/relay-target-routing.js.map +1 -1
  124. package/dist/im/lark/reply-mode-command.d.ts.map +1 -1
  125. package/dist/im/lark/reply-mode-command.js +4 -3
  126. package/dist/im/lark/reply-mode-command.js.map +1 -1
  127. package/dist/index-daemon.js +6 -1
  128. package/dist/index-daemon.js.map +1 -1
  129. package/dist/mir-runner.js +1 -1
  130. package/dist/mir-runner.js.map +1 -1
  131. package/dist/services/bot-config-store.d.ts +1 -1
  132. package/dist/services/bot-config-store.d.ts.map +1 -1
  133. package/dist/services/bot-config-store.js +1 -1
  134. package/dist/services/bot-config-store.js.map +1 -1
  135. package/dist/services/card-prefs-store.js +8 -8
  136. package/dist/services/card-prefs-store.js.map +1 -1
  137. package/dist/services/chat-reply-mode-store.d.ts.map +1 -1
  138. package/dist/services/chat-reply-mode-store.js +16 -11
  139. package/dist/services/chat-reply-mode-store.js.map +1 -1
  140. package/dist/services/insight/types.d.ts +3 -1
  141. package/dist/services/insight/types.d.ts.map +1 -1
  142. package/dist/services/insight/types.js.map +1 -1
  143. package/dist/services/project-scanner.d.ts +4 -4
  144. package/dist/services/project-scanner.d.ts.map +1 -1
  145. package/dist/services/project-scanner.js +13 -5
  146. package/dist/services/project-scanner.js.map +1 -1
  147. package/dist/services/transcript-resolver.d.ts +4 -0
  148. package/dist/services/transcript-resolver.d.ts.map +1 -1
  149. package/dist/services/transcript-resolver.js +53 -5
  150. package/dist/services/transcript-resolver.js.map +1 -1
  151. package/dist/services/usage-ledger.d.ts.map +1 -1
  152. package/dist/services/usage-ledger.js +1 -0
  153. package/dist/services/usage-ledger.js.map +1 -1
  154. package/dist/setup/bot-config-editor.d.ts +37 -1
  155. package/dist/setup/bot-config-editor.d.ts.map +1 -1
  156. package/dist/setup/bot-config-editor.js +61 -3
  157. package/dist/setup/bot-config-editor.js.map +1 -1
  158. package/dist/setup/setup-args.js +1 -1
  159. package/dist/setup/setup-args.js.map +1 -1
  160. package/dist/types.d.ts +20 -0
  161. package/dist/types.d.ts.map +1 -1
  162. package/dist/utils/allowed-users-apply.d.ts.map +1 -1
  163. package/dist/utils/allowed-users-apply.js +3 -2
  164. package/dist/utils/allowed-users-apply.js.map +1 -1
  165. package/dist/utils/child-env.d.ts +31 -2
  166. package/dist/utils/child-env.d.ts.map +1 -1
  167. package/dist/utils/child-env.js +61 -3
  168. package/dist/utils/child-env.js.map +1 -1
  169. package/dist/utils/file-lock.d.ts +10 -0
  170. package/dist/utils/file-lock.d.ts.map +1 -1
  171. package/dist/utils/file-lock.js +295 -53
  172. package/dist/utils/file-lock.js.map +1 -1
  173. package/dist/worker.js +52 -3
  174. package/dist/worker.js.map +1 -1
  175. package/dist/workflows/v3/run-envelope.d.ts +24 -24
  176. package/package.json +1 -1
  177. package/dist/dashboard-web/chunks/chunk-P327LXOT.js +0 -1
@@ -127,17 +127,17 @@ export declare const V3RunEnvelopeSchema: z.ZodEffects<z.ZodUnion<[z.ZodObject<{
127
127
  }, "strict", z.ZodTypeAny, {
128
128
  larkAppId: string;
129
129
  chatId: string;
130
+ ownerOpenId?: string | undefined;
130
131
  sessionId?: string | undefined;
131
132
  rootMessageId?: string | undefined;
132
133
  chatType?: "group" | "p2p" | undefined;
133
- ownerOpenId?: string | undefined;
134
134
  }, {
135
135
  larkAppId: string;
136
136
  chatId: string;
137
+ ownerOpenId?: string | undefined;
137
138
  sessionId?: string | undefined;
138
139
  rootMessageId?: string | undefined;
139
140
  chatType?: "group" | "p2p" | undefined;
140
- ownerOpenId?: string | undefined;
141
141
  }>>;
142
142
  }, "strict", z.ZodTypeAny, {
143
143
  engine: "workflow-v3";
@@ -172,10 +172,10 @@ export declare const V3RunEnvelopeSchema: z.ZodEffects<z.ZodUnion<[z.ZodObject<{
172
172
  chatBinding?: {
173
173
  larkAppId: string;
174
174
  chatId: string;
175
+ ownerOpenId?: string | undefined;
175
176
  sessionId?: string | undefined;
176
177
  rootMessageId?: string | undefined;
177
178
  chatType?: "group" | "p2p" | undefined;
178
- ownerOpenId?: string | undefined;
179
179
  } | undefined;
180
180
  }, {
181
181
  engine: "workflow-v3";
@@ -210,10 +210,10 @@ export declare const V3RunEnvelopeSchema: z.ZodEffects<z.ZodUnion<[z.ZodObject<{
210
210
  chatBinding?: {
211
211
  larkAppId: string;
212
212
  chatId: string;
213
+ ownerOpenId?: string | undefined;
213
214
  sessionId?: string | undefined;
214
215
  rootMessageId?: string | undefined;
215
216
  chatType?: "group" | "p2p" | undefined;
216
- ownerOpenId?: string | undefined;
217
217
  } | undefined;
218
218
  }>, z.ZodObject<{
219
219
  source: z.ZodObject<{
@@ -365,17 +365,17 @@ export declare const V3RunEnvelopeSchema: z.ZodEffects<z.ZodUnion<[z.ZodObject<{
365
365
  }, "strict", z.ZodTypeAny, {
366
366
  larkAppId: string;
367
367
  chatId: string;
368
+ ownerOpenId?: string | undefined;
368
369
  sessionId?: string | undefined;
369
370
  rootMessageId?: string | undefined;
370
371
  chatType?: "group" | "p2p" | undefined;
371
- ownerOpenId?: string | undefined;
372
372
  }, {
373
373
  larkAppId: string;
374
374
  chatId: string;
375
+ ownerOpenId?: string | undefined;
375
376
  sessionId?: string | undefined;
376
377
  rootMessageId?: string | undefined;
377
378
  chatType?: "group" | "p2p" | undefined;
378
- ownerOpenId?: string | undefined;
379
379
  }>>;
380
380
  }, "strict", z.ZodTypeAny, {
381
381
  engine: "workflow-v3";
@@ -422,10 +422,10 @@ export declare const V3RunEnvelopeSchema: z.ZodEffects<z.ZodUnion<[z.ZodObject<{
422
422
  chatBinding?: {
423
423
  larkAppId: string;
424
424
  chatId: string;
425
+ ownerOpenId?: string | undefined;
425
426
  sessionId?: string | undefined;
426
427
  rootMessageId?: string | undefined;
427
428
  chatType?: "group" | "p2p" | undefined;
428
- ownerOpenId?: string | undefined;
429
429
  } | undefined;
430
430
  }, {
431
431
  engine: "workflow-v3";
@@ -472,10 +472,10 @@ export declare const V3RunEnvelopeSchema: z.ZodEffects<z.ZodUnion<[z.ZodObject<{
472
472
  chatBinding?: {
473
473
  larkAppId: string;
474
474
  chatId: string;
475
+ ownerOpenId?: string | undefined;
475
476
  sessionId?: string | undefined;
476
477
  rootMessageId?: string | undefined;
477
478
  chatType?: "group" | "p2p" | undefined;
478
- ownerOpenId?: string | undefined;
479
479
  } | undefined;
480
480
  }>, z.ZodObject<{
481
481
  source: z.ZodObject<{
@@ -574,17 +574,17 @@ export declare const V3RunEnvelopeSchema: z.ZodEffects<z.ZodUnion<[z.ZodObject<{
574
574
  }, "strict", z.ZodTypeAny, {
575
575
  larkAppId: string;
576
576
  chatId: string;
577
+ ownerOpenId?: string | undefined;
577
578
  sessionId?: string | undefined;
578
579
  rootMessageId?: string | undefined;
579
580
  chatType?: "group" | "p2p" | undefined;
580
- ownerOpenId?: string | undefined;
581
581
  }, {
582
582
  larkAppId: string;
583
583
  chatId: string;
584
+ ownerOpenId?: string | undefined;
584
585
  sessionId?: string | undefined;
585
586
  rootMessageId?: string | undefined;
586
587
  chatType?: "group" | "p2p" | undefined;
587
- ownerOpenId?: string | undefined;
588
588
  }>>;
589
589
  }, "strict", z.ZodTypeAny, {
590
590
  engine: "workflow-v3";
@@ -617,10 +617,10 @@ export declare const V3RunEnvelopeSchema: z.ZodEffects<z.ZodUnion<[z.ZodObject<{
617
617
  chatBinding?: {
618
618
  larkAppId: string;
619
619
  chatId: string;
620
+ ownerOpenId?: string | undefined;
620
621
  sessionId?: string | undefined;
621
622
  rootMessageId?: string | undefined;
622
623
  chatType?: "group" | "p2p" | undefined;
623
- ownerOpenId?: string | undefined;
624
624
  } | undefined;
625
625
  }, {
626
626
  engine: "workflow-v3";
@@ -653,10 +653,10 @@ export declare const V3RunEnvelopeSchema: z.ZodEffects<z.ZodUnion<[z.ZodObject<{
653
653
  chatBinding?: {
654
654
  larkAppId: string;
655
655
  chatId: string;
656
+ ownerOpenId?: string | undefined;
656
657
  sessionId?: string | undefined;
657
658
  rootMessageId?: string | undefined;
658
659
  chatType?: "group" | "p2p" | undefined;
659
- ownerOpenId?: string | undefined;
660
660
  } | undefined;
661
661
  }>, z.ZodObject<{
662
662
  source: z.ZodObject<{
@@ -763,17 +763,17 @@ export declare const V3RunEnvelopeSchema: z.ZodEffects<z.ZodUnion<[z.ZodObject<{
763
763
  }, "strict", z.ZodTypeAny, {
764
764
  larkAppId: string;
765
765
  chatId: string;
766
+ ownerOpenId?: string | undefined;
766
767
  sessionId?: string | undefined;
767
768
  rootMessageId?: string | undefined;
768
769
  chatType?: "group" | "p2p" | undefined;
769
- ownerOpenId?: string | undefined;
770
770
  }, {
771
771
  larkAppId: string;
772
772
  chatId: string;
773
+ ownerOpenId?: string | undefined;
773
774
  sessionId?: string | undefined;
774
775
  rootMessageId?: string | undefined;
775
776
  chatType?: "group" | "p2p" | undefined;
776
- ownerOpenId?: string | undefined;
777
777
  }>>;
778
778
  }, "strict", z.ZodTypeAny, {
779
779
  engine: "workflow-v3";
@@ -809,10 +809,10 @@ export declare const V3RunEnvelopeSchema: z.ZodEffects<z.ZodUnion<[z.ZodObject<{
809
809
  chatBinding?: {
810
810
  larkAppId: string;
811
811
  chatId: string;
812
+ ownerOpenId?: string | undefined;
812
813
  sessionId?: string | undefined;
813
814
  rootMessageId?: string | undefined;
814
815
  chatType?: "group" | "p2p" | undefined;
815
- ownerOpenId?: string | undefined;
816
816
  } | undefined;
817
817
  }, {
818
818
  engine: "workflow-v3";
@@ -848,10 +848,10 @@ export declare const V3RunEnvelopeSchema: z.ZodEffects<z.ZodUnion<[z.ZodObject<{
848
848
  chatBinding?: {
849
849
  larkAppId: string;
850
850
  chatId: string;
851
+ ownerOpenId?: string | undefined;
851
852
  sessionId?: string | undefined;
852
853
  rootMessageId?: string | undefined;
853
854
  chatType?: "group" | "p2p" | undefined;
854
- ownerOpenId?: string | undefined;
855
855
  } | undefined;
856
856
  }>]>, {
857
857
  engine: "workflow-v3";
@@ -886,10 +886,10 @@ export declare const V3RunEnvelopeSchema: z.ZodEffects<z.ZodUnion<[z.ZodObject<{
886
886
  chatBinding?: {
887
887
  larkAppId: string;
888
888
  chatId: string;
889
+ ownerOpenId?: string | undefined;
889
890
  sessionId?: string | undefined;
890
891
  rootMessageId?: string | undefined;
891
892
  chatType?: "group" | "p2p" | undefined;
892
- ownerOpenId?: string | undefined;
893
893
  } | undefined;
894
894
  } | {
895
895
  engine: "workflow-v3";
@@ -936,10 +936,10 @@ export declare const V3RunEnvelopeSchema: z.ZodEffects<z.ZodUnion<[z.ZodObject<{
936
936
  chatBinding?: {
937
937
  larkAppId: string;
938
938
  chatId: string;
939
+ ownerOpenId?: string | undefined;
939
940
  sessionId?: string | undefined;
940
941
  rootMessageId?: string | undefined;
941
942
  chatType?: "group" | "p2p" | undefined;
942
- ownerOpenId?: string | undefined;
943
943
  } | undefined;
944
944
  } | {
945
945
  engine: "workflow-v3";
@@ -972,10 +972,10 @@ export declare const V3RunEnvelopeSchema: z.ZodEffects<z.ZodUnion<[z.ZodObject<{
972
972
  chatBinding?: {
973
973
  larkAppId: string;
974
974
  chatId: string;
975
+ ownerOpenId?: string | undefined;
975
976
  sessionId?: string | undefined;
976
977
  rootMessageId?: string | undefined;
977
978
  chatType?: "group" | "p2p" | undefined;
978
- ownerOpenId?: string | undefined;
979
979
  } | undefined;
980
980
  } | {
981
981
  engine: "workflow-v3";
@@ -1011,10 +1011,10 @@ export declare const V3RunEnvelopeSchema: z.ZodEffects<z.ZodUnion<[z.ZodObject<{
1011
1011
  chatBinding?: {
1012
1012
  larkAppId: string;
1013
1013
  chatId: string;
1014
+ ownerOpenId?: string | undefined;
1014
1015
  sessionId?: string | undefined;
1015
1016
  rootMessageId?: string | undefined;
1016
1017
  chatType?: "group" | "p2p" | undefined;
1017
- ownerOpenId?: string | undefined;
1018
1018
  } | undefined;
1019
1019
  }, {
1020
1020
  engine: "workflow-v3";
@@ -1049,10 +1049,10 @@ export declare const V3RunEnvelopeSchema: z.ZodEffects<z.ZodUnion<[z.ZodObject<{
1049
1049
  chatBinding?: {
1050
1050
  larkAppId: string;
1051
1051
  chatId: string;
1052
+ ownerOpenId?: string | undefined;
1052
1053
  sessionId?: string | undefined;
1053
1054
  rootMessageId?: string | undefined;
1054
1055
  chatType?: "group" | "p2p" | undefined;
1055
- ownerOpenId?: string | undefined;
1056
1056
  } | undefined;
1057
1057
  } | {
1058
1058
  engine: "workflow-v3";
@@ -1099,10 +1099,10 @@ export declare const V3RunEnvelopeSchema: z.ZodEffects<z.ZodUnion<[z.ZodObject<{
1099
1099
  chatBinding?: {
1100
1100
  larkAppId: string;
1101
1101
  chatId: string;
1102
+ ownerOpenId?: string | undefined;
1102
1103
  sessionId?: string | undefined;
1103
1104
  rootMessageId?: string | undefined;
1104
1105
  chatType?: "group" | "p2p" | undefined;
1105
- ownerOpenId?: string | undefined;
1106
1106
  } | undefined;
1107
1107
  } | {
1108
1108
  engine: "workflow-v3";
@@ -1135,10 +1135,10 @@ export declare const V3RunEnvelopeSchema: z.ZodEffects<z.ZodUnion<[z.ZodObject<{
1135
1135
  chatBinding?: {
1136
1136
  larkAppId: string;
1137
1137
  chatId: string;
1138
+ ownerOpenId?: string | undefined;
1138
1139
  sessionId?: string | undefined;
1139
1140
  rootMessageId?: string | undefined;
1140
1141
  chatType?: "group" | "p2p" | undefined;
1141
- ownerOpenId?: string | undefined;
1142
1142
  } | undefined;
1143
1143
  } | {
1144
1144
  engine: "workflow-v3";
@@ -1174,10 +1174,10 @@ export declare const V3RunEnvelopeSchema: z.ZodEffects<z.ZodUnion<[z.ZodObject<{
1174
1174
  chatBinding?: {
1175
1175
  larkAppId: string;
1176
1176
  chatId: string;
1177
+ ownerOpenId?: string | undefined;
1177
1178
  sessionId?: string | undefined;
1178
1179
  rootMessageId?: string | undefined;
1179
1180
  chatType?: "group" | "p2p" | undefined;
1180
- ownerOpenId?: string | undefined;
1181
1181
  } | undefined;
1182
1182
  }>;
1183
1183
  export type V3RunEnvelope = z.infer<typeof V3RunEnvelopeSchema>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "botmux",
3
- "version": "3.6.0",
3
+ "version": "3.7.0",
4
4
  "description": "Bridge between IM platforms and AI coding CLIs — one topic, one CLI session with live streaming",
5
5
  "type": "module",
6
6
  "main": "dist/index-daemon.js",
@@ -1 +0,0 @@
1
- import{p as T}from"./chunk-QFMH6ITB.js";import{u as t}from"./chunk-SNKATZWK.js";import{a as Z,d as B}from"./chunk-5THX4DI2.js";import{c as E}from"./chunk-7SZRL6FY.js";var r=E(Z(),1);var e=E(B(),1),nn="botmux:open-bot-onboarding",L={id:"claude-code",label:"Claude"},G="glm-5.1";function x(){return{options:[L],ttadkModelDefault:G,ttadkModelSuggestions:[],suggestedAppName:"botmux-0",webSession:{status:"checking"}}}function Q(){return{appName:"",cliId:L.id,dirMode:"fixed",workingDir:"~",model:""}}function en(n,o){return n||o==="checking"}function q(n){return n instanceof Error?n.message:String(n)}function X(n){return n.status==="completed"||n.status==="failed"||n.status==="needs_owner"}function N(n){return n==="login_failed"||n==="invalid_session"||n==="identity_unavailable"||n==="session_changed"}function tn(n){return n.status==="waiting_for_scan"?n.registrationMode==="compat"?t("botOnboarding.waitingCompat"):t("botOnboarding.waiting",{name:n.appName??""}):n.status==="verifying"?t("botOnboarding.verifying"):n.status==="configuring_permissions"?n.permissionStatusMsg?`${t("botOnboarding.configuringPermissions")} ${n.permissionStatusMsg}`:t("botOnboarding.configuringPermissions"):n.status==="waiting_for_platform_scan"?t("botOnboarding.platformScanHint"):n.status==="needs_owner"?t("botOnboarding.needsOwnerTitle"):n.status==="completed"?t("botOnboarding.completed",{name:n.appName??t("botOnboarding.botFallback")}):n.status==="failed"?n.appId?t("botOnboarding.partialFailureTitle"):n.error==="qr_expired"?t("botOnboarding.qrExpiredTitle"):N(n.error)?t("botOnboarding.authIncompleteTitle"):t("botOnboarding.createFailedTitle"):t("botOnboarding.starting")}async function on(){try{let n=await fetch("/api/cli-options"),o=await n.json();if(n.ok&&Array.isArray(o?.options)){let a=typeof o.ttadkModelDefault=="string"&&o.ttadkModelDefault.trim()?o.ttadkModelDefault.trim():G,l=Array.isArray(o.ttadkModelSuggestions)?o.ttadkModelSuggestions.filter(f=>typeof f=="string"):[],d=typeof o.suggestedAppName=="string"&&o.suggestedAppName.trim()?o.suggestedAppName.trim():"botmux-0",b=o?.webSession?.identity,c=o?.webSession?.status==="ready"&&typeof b?.userId=="string"&&typeof b?.userName=="string"&&typeof b?.tenantId=="string"&&typeof b?.tenantName=="string"?{status:"ready",source:typeof o.webSession.source=="string"?o.webSession.source:"botmux_cache",identity:{userId:b.userId,userName:b.userName,...typeof b.email=="string"?{email:b.email}:{},tenantId:b.tenantId,tenantName:b.tenantName}}:{status:"scan_required",...typeof o?.webSession?.reason=="string"?{reason:o.webSession.reason}:{}};return{options:o.options,ttadkModelDefault:a,ttadkModelSuggestions:l,suggestedAppName:d,webSession:c}}}catch{}return{...x(),webSession:{status:"scan_required"}}}function K(n,o,a){let l=a.options.find(f=>f.id===o),d=l?.gateway==="ttadk",b=d&&l?.acceptsModel!==!1,c=n.model;return d&&!b?c="":b&&!c.trim()?c=a.ttadkModelDefault:!b&&c.trim()===a.ttadkModelDefault&&(c=""),{...n,cliId:o,model:c}}function an(n,o){let a=o.options.some(l=>l.id===n.cliId)?n.cliId:o.options[0]?.id??L.id;return K({...n},a,o)}async function gn(){window.dispatchEvent(new Event(nn))}function rn(n){let{job:o}=n;if(o.status!=="completed"&&o.status!=="needs_owner"||!o.permission)return null;let a=o.permission;if(a.ok){let d=[t("botOnboarding.permissionOk",{count:a.scopeCount??0})];return a.skippedScopeCount&&a.skippedScopeCount>0&&d.push(t("botOnboarding.permissionSkipped",{count:a.skippedScopeCount})),a.versionId&&d.push(t("botOnboarding.permissionVersion",{version:a.versionId})),(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("p",{className:"hint-ok",children:d.join(" ")}),a.scopeWarning?(0,e.jsx)("p",{className:"hint-warn",children:a.scopeWarning}):null]})}let l=o.remainingSteps??[];return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("p",{className:"hint-warn",children:[t("botOnboarding.permissionManual"),a.message?`\uFF08${a.message}\uFF09`:""]}),l.length?(0,e.jsx)("ol",{className:"onboarding-steps",children:l.map(d=>(0,e.jsx)("li",{children:(0,e.jsx)("a",{href:d.url,target:"_blank",rel:"noopener",children:d.title})},`${d.title}:${d.url}`))}):null]})}function sn(n){let{job:o}=n;return o.appId?(0,e.jsxs)("p",{className:"onboarding-meta",children:[(0,e.jsx)("b",{children:"App ID:"})," ",(0,e.jsx)("code",{children:o.appId}),o.appName?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("span",{children:" / "}),(0,e.jsxs)("b",{children:[t("botOnboarding.appNameLabel"),":"]})," ",(0,e.jsx)("code",{children:o.appName})]}):null,o.cliId?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("span",{children:" / "}),(0,e.jsx)("b",{children:"CLI:"})," ",(0,e.jsx)("code",{children:o.cliId})]}):null,o.workingDir?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("span",{children:" / "}),(0,e.jsxs)("b",{children:[t("botOnboarding.metaDir"),":"]})," ",(0,e.jsx)("code",{children:o.workingDir})]}):null]}):null}function W(n){return(0,e.jsxs)("div",{className:"qr-card",children:[(0,e.jsx)("img",{className:"qr-image",src:n.dataUrl,alt:n.alt}),n.link?(0,e.jsx)("a",{className:"onboarding-link",href:n.link,target:"_blank",rel:"noopener",children:t("botOnboarding.openLink")}):null]})}function z(n,o){return n.find(a=>a.value===o)?.label??o}function ln(n){let{job:o,ownerError:a}=n.view;return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("p",{className:`onboarding-status status-${o.status}`,children:tn(o)}),o.status==="waiting_for_scan"&&o.qrDataUrl?(0,e.jsx)(W,{dataUrl:o.qrDataUrl,alt:t("botOnboarding.qrAlt"),link:o.qrUrl}):null,o.status==="waiting_for_platform_scan"&&o.platformQrDataUrl?(0,e.jsx)(W,{dataUrl:o.platformQrDataUrl,alt:t("botOnboarding.platformQrAlt")}):null,(0,e.jsx)(sn,{job:o}),(0,e.jsx)(rn,{job:o}),o.status==="needs_owner"?(0,e.jsxs)("form",{className:"onboarding-form",id:"ob-owner-form",onSubmit:l=>{l.preventDefault(),n.onSubmitOwner(o,n.ownerInput,n.ownerIdInput)},children:[(0,e.jsxs)("label",{className:"onboarding-field",children:[(0,e.jsx)("span",{children:t("botOnboarding.ownerLabel")}),(0,e.jsx)("input",{id:"ob-owner",type:"email",placeholder:t("botOnboarding.ownerPlaceholder"),autoComplete:"off",spellCheck:!1,value:n.ownerInput,onChange:l=>n.onOwnerInputChange(l.currentTarget.value)})]}),(0,e.jsx)("p",{className:"hint-warn",children:t("botOnboarding.needsOwnerDescription")}),(0,e.jsxs)("details",{className:"onboarding-technical",children:[(0,e.jsx)("summary",{children:t("botOnboarding.ownerUseId")}),(0,e.jsxs)("label",{className:"onboarding-field",children:[(0,e.jsx)("span",{children:t("botOnboarding.ownerIdLabel")}),(0,e.jsx)("input",{id:"ob-owner-id",type:"text",placeholder:t("botOnboarding.ownerIdPlaceholder"),autoComplete:"off",spellCheck:!1,value:n.ownerIdInput,onChange:l=>n.onOwnerIdInputChange(l.currentTarget.value)})]})]}),a?(0,e.jsx)("p",{className:"form-error",children:a}):null,(0,e.jsx)("div",{className:"actions onboarding-actions",children:(0,e.jsx)("button",{type:"submit",className:"primary onboarding-submit",children:t("botOnboarding.ownerSubmit")})})]}):null,o.status==="completed"?(0,e.jsx)("p",{className:"hint-ok",children:o.liveStarted?t("botOnboarding.liveOk"):t("botOnboarding.restartHint")}):null,o.status==="failed"?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("p",{className:"hint-warn",children:o.appId?t("botOnboarding.partialFailureDescription"):o.error==="qr_expired"?t("botOnboarding.qrExpiredDescription"):N(o.error)?t("botOnboarding.authIncompleteDescription"):t("botOnboarding.createFailedDescription")}),(0,e.jsxs)("details",{className:"onboarding-technical",children:[(0,e.jsx)("summary",{children:t("botOnboarding.technicalDetails")}),(0,e.jsx)("code",{children:o.message??o.error??"unknown"})]}),(0,e.jsxs)("div",{className:"actions onboarding-actions",children:[(0,e.jsx)("button",{type:"button",onClick:n.onClose,children:t("botOnboarding.close")}),o.appId?null:(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("button",{type:"button",onClick:()=>n.onRetry("compat"),children:t("botOnboarding.compatibilityMode")}),(0,e.jsx)("button",{type:"button",className:"primary onboarding-submit",onClick:()=>n.onRetry("web"),children:o.error==="qr_expired"?t("botOnboarding.generateQr"):N(o.error)?t("botOnboarding.scanAgain"):t("botOnboarding.retry")})]})]})]}):null,o.status==="completed"?(0,e.jsx)("div",{className:"actions onboarding-actions",children:(0,e.jsx)("button",{type:"button",onClick:n.onClose,children:t("botOnboarding.close")})}):null]})}function dn(n){let o=n.cliState.options.find(s=>s.id===n.form.cliId),a=o?.gateway==="ttadk"&&o.acceptsModel!==!1,l=o?.gateway==="ttadk"&&o.acceptsModel===!1,d=a?t("botOnboarding.modelTtadkPlaceholder").replace("{model}",n.cliState.ttadkModelDefault):t("botOnboarding.modelPlaceholder"),b=n.form.dirMode==="card"?t("botOnboarding.dirLabelCard"):t("botOnboarding.dirLabelFixed"),c=n.form.dirMode==="card"?t("botOnboarding.dirPlaceholderCard"):t("botOnboarding.dirPlaceholderFixed"),f=[...n.cliState.options].sort((s,p)=>s.label.localeCompare(p.label,"en",{sensitivity:"base"})).map(s=>({value:s.id,label:s.available===!1?t("botOnboarding.cliMissingOption",{label:s.label,command:s.command??s.id}):s.label})),S=[{value:"fixed",label:t("botOnboarding.dirModeFixed")},{value:"card",label:t("botOnboarding.dirModeCard")}];return(0,e.jsxs)("form",{id:"onboarding-form",className:"onboarding-form",onSubmit:n.onSubmit,children:[(0,e.jsx)("div",{className:"onboarding-session","aria-live":"polite",children:n.sessionMode==="checking"?(0,e.jsx)("p",{children:t("botOnboarding.sessionChecking")}):n.cliState.webSession.status==="ready"?n.sessionMode==="reuse"?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("div",{children:[(0,e.jsx)("strong",{children:t("botOnboarding.sessionReady",{user:n.cliState.webSession.identity.userName,tenant:n.cliState.webSession.identity.tenantName})}),n.cliState.webSession.identity.email?(0,e.jsx)("small",{children:n.cliState.webSession.identity.email}):null]}),(0,e.jsx)("button",{type:"button",className:"onboarding-session-action",onClick:()=>n.onSessionModeChange("qr"),children:t("botOnboarding.switchAccount")})]}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("div",{children:[(0,e.jsx)("strong",{children:t("botOnboarding.sessionSwitching")}),(0,e.jsx)("small",{children:t("botOnboarding.sessionSwitchingHint")})]}),(0,e.jsx)("button",{type:"button",className:"onboarding-session-action",onClick:()=>n.onSessionModeChange("reuse"),children:t("botOnboarding.reuseCurrentAccount")})]}):(0,e.jsxs)("div",{children:[(0,e.jsx)("strong",{children:t("botOnboarding.sessionScanRequired")}),(0,e.jsx)("small",{children:t("botOnboarding.sessionScanRequiredHint")})]})}),(0,e.jsxs)("label",{className:"onboarding-field",children:[(0,e.jsx)("span",{children:t("botOnboarding.appNameLabel")}),(0,e.jsx)("input",{id:"ob-app-name",type:"text",maxLength:64,value:n.form.appName,placeholder:t("botOnboarding.appNamePlaceholder"),autoComplete:"off",spellCheck:!1,onChange:s=>n.onFormChange({...n.form,appName:s.currentTarget.value})}),(0,e.jsx)("small",{className:"onboarding-field-hint",children:t("botOnboarding.appNameHint",{name:n.cliState.suggestedAppName})})]}),(0,e.jsxs)("div",{className:"onboarding-field",children:[(0,e.jsx)("span",{children:t("botOnboarding.cliLabel")}),(0,e.jsx)(T,{id:"ob-cli",className:"onboarding-menu",ariaLabel:t("botOnboarding.cliLabel"),label:z(f,n.form.cliId),value:n.form.cliId,options:f,searchable:!0,searchPlaceholder:t("common.dropdownSearch"),searchEmptyLabel:t("common.dropdownSearchEmpty"),onChange:s=>{n.onFormChange(K(n.form,s,n.cliState))}}),o?.available===!1?(0,e.jsx)("small",{className:"hint-warn",children:t("botOnboarding.cliMissingHint",{command:o.command??n.form.cliId})}):(0,e.jsx)("small",{className:"onboarding-field-hint",children:n.form.cliId})]}),(0,e.jsxs)("div",{className:"onboarding-field",children:[(0,e.jsx)("span",{children:t("botOnboarding.dirModeLabel")}),(0,e.jsx)(T,{id:"ob-dir-mode",className:"onboarding-menu",ariaLabel:t("botOnboarding.dirModeLabel"),label:z(S,n.form.dirMode),value:n.form.dirMode,options:S,onChange:s=>n.onFormChange({...n.form,dirMode:s})})]}),(0,e.jsxs)("label",{className:"onboarding-field",children:[(0,e.jsx)("span",{children:b}),(0,e.jsx)("input",{id:"ob-dir",type:"text",value:n.form.workingDir,placeholder:c,autoComplete:"off",spellCheck:!1,onChange:s=>n.onFormChange({...n.form,workingDir:s.currentTarget.value})})]}),l?null:(0,e.jsxs)("label",{className:"onboarding-field",children:[(0,e.jsx)("span",{children:t("botOnboarding.modelLabel")}),(0,e.jsx)("input",{id:"ob-model",type:"text",list:a?"ob-model-suggestions":void 0,placeholder:d,autoComplete:"off",spellCheck:!1,value:n.form.model,onChange:s=>n.onFormChange({...n.form,model:s.currentTarget.value})}),a?(0,e.jsx)("datalist",{id:"ob-model-suggestions",children:n.cliState.ttadkModelSuggestions.map(s=>(0,e.jsx)("option",{value:s},s))}):null]}),n.error?(0,e.jsx)("p",{className:"form-error",children:n.error}):null,(0,e.jsxs)("div",{className:"actions onboarding-actions",children:[(0,e.jsx)("button",{type:"button",id:"ob-cancel",disabled:n.submitting,onClick:n.onClose,children:t("botOnboarding.cancel")}),(0,e.jsx)("button",{type:"submit",className:"primary onboarding-submit",disabled:en(n.submitting,n.sessionMode),children:n.submitting?t("botOnboarding.starting"):n.sessionMode==="reuse"?t("botOnboarding.confirmReuse"):t("botOnboarding.startScan")})]})]})}function un(n){let o=(0,r.useRef)(null),a=(0,r.useRef)(null),l=(0,r.useRef)(0),[d,b]=(0,r.useState)(()=>x()),[c,f]=(0,r.useState)(()=>Q()),[S,s]=(0,r.useState)("checking"),[p,w]=(0,r.useState)({kind:"form"}),[P,I]=(0,r.useState)(!1),[A,M]=(0,r.useState)(""),[J,_]=(0,r.useState)(""),g=(0,r.useCallback)(()=>{a.current!==null&&(window.clearInterval(a.current),a.current=null)},[]),v=(0,r.useCallback)(()=>{g(),n.onClose()},[n,g]),y=(0,r.useCallback)(i=>{w({kind:"job",job:i}),i.status==="needs_owner"&&(M(i.suggestedOwner??""),_("")),X(i)&&g()},[g]),j=(0,r.useCallback)(async i=>{let m=await fetch(`/api/bot-onboarding/${encodeURIComponent(i)}`),u=await m.json();if(!m.ok||!u?.job)throw new Error(u?.error??`http_${m.status}`);y(u.job)},[y]),R=(0,r.useCallback)(i=>{g(),a.current=window.setInterval(()=>{j(i).catch(m=>{g(),w({kind:"job",job:{id:i,status:"failed",message:q(m)}})})},1200)},[j,g]),U=(0,r.useCallback)(()=>{g();let i=l.current+1;l.current=i;let m=x();b(m),f(Q()),s("checking"),w({kind:"form"}),I(!1),M(""),_(""),on().then(u=>{l.current===i&&(b(u),f(k=>an(k,u)),s(u.webSession.status==="ready"?"reuse":"qr"))})},[g]);(0,r.useEffect)(()=>{if(n.open){U();return}g(),l.current+=1},[n.open,U,g]),(0,r.useEffect)(()=>{let i=o.current;if(i)if(n.open&&!i.open)try{i.showModal()}catch{}else!n.open&&i.open&&i.close()},[n.open]),(0,r.useEffect)(()=>()=>g(),[g]);let C=(0,r.useCallback)(async(i,m)=>{g(),I(!0),w({kind:"job",job:{id:"",status:"starting"}});try{let u=m??(S==="reuse"?"reuse":"qr"),k=i==="web"&&u==="reuse"&&d.webSession.status==="ready"?{userId:d.webSession.identity.userId,tenantId:d.webSession.identity.tenantId}:void 0,h=await fetch("/api/bot-onboarding/start",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({appName:i==="web"&&c.appName.trim()||void 0,registrationMode:i,...i==="web"?{sessionMode:u,expectedIdentity:k}:{},cliId:c.cliId,workingDir:c.workingDir.trim(),dirMode:c.dirMode,model:c.model.trim()||void 0})}),O=await h.json();if(h.status===400){w({kind:"form",error:O?.message??O?.error??"invalid_input"});return}if(!h.ok||!O?.job?.id)throw new Error(O?.error??`http_${h.status}`);let F=O.job;y(F),X(F)||R(F.id)}catch(u){w({kind:"job",job:{id:"",status:"failed",message:q(u)}})}finally{I(!1)}},[y,d.webSession,c,S,R,g]),H=(0,r.useCallback)(i=>{i.preventDefault(),C("web")},[C]),$=(0,r.useCallback)(i=>{if(i==="compat"&&!window.confirm(t("botOnboarding.compatibilityConfirm")))return;let m=i==="web"&&p.kind==="job"&&N(p.job.error);m&&s("qr"),C(i,m?"qr":void 0)},[C,p]),V=(0,r.useCallback)(async(i,m,u)=>{let k=[m.trim(),u.trim()].filter(Boolean).join(",");if(!k){w({kind:"job",job:i,ownerError:t("botOnboarding.ownerEmpty")});return}try{let h=await fetch(`/api/bot-onboarding/${encodeURIComponent(i.id)}/owner`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({owner:k})}),O=await h.json();if(!h.ok){w({kind:"job",job:i,ownerError:O?.message??O?.error??t("botOnboarding.ownerInvalid")});return}O?.job&&y(O.job)}catch(h){w({kind:"job",job:i,ownerError:q(h)})}},[y]),Y=(0,r.useMemo)(()=>p.kind==="form"?(0,e.jsx)(dn,{cliState:d,form:c,sessionMode:S,error:p.error,submitting:P,onFormChange:f,onSessionModeChange:s,onSubmit:H,onClose:v}):(0,e.jsx)(ln,{view:p,ownerInput:A,ownerIdInput:J,onOwnerInputChange:M,onOwnerIdInputChange:_,onSubmitOwner:V,onRetry:$,onClose:v}),[d,v,c,J,A,$,S,H,V,P,p]),D=p.kind==="form"||p.kind==="job"&&(p.job.status==="completed"||p.job.status==="failed");return(0,e.jsx)("dialog",{className:"onboarding-dialog",ref:o,onCancel:i=>{D||i.preventDefault()},onClose:()=>{D&&v()},onClick:i=>{D&&i.target===i.currentTarget&&v()},children:(0,e.jsxs)("article",{className:"onboarding-card",children:[(0,e.jsxs)("header",{className:"onboarding-header",children:[(0,e.jsx)("h3",{children:t("botOnboarding.title")}),(0,e.jsx)("p",{children:t("botOnboarding.intro")})]}),Y]})})}export{nn as a,gn as b,un as c};