botmux 3.2.1 → 3.3.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 (150) hide show
  1. package/dist/adapters/cli/pi.d.ts.map +1 -1
  2. package/dist/adapters/cli/pi.js +4 -0
  3. package/dist/adapters/cli/pi.js.map +1 -1
  4. package/dist/adapters/cli/types.d.ts +8 -1
  5. package/dist/adapters/cli/types.d.ts.map +1 -1
  6. package/dist/cli/deferred-topic-send.d.ts +37 -0
  7. package/dist/cli/deferred-topic-send.d.ts.map +1 -0
  8. package/dist/cli/deferred-topic-send.js +69 -0
  9. package/dist/cli/deferred-topic-send.js.map +1 -0
  10. package/dist/cli.d.ts.map +1 -1
  11. package/dist/cli.js +160 -34
  12. package/dist/cli.js.map +1 -1
  13. package/dist/core/command-handler.d.ts.map +1 -1
  14. package/dist/core/command-handler.js +17 -12
  15. package/dist/core/command-handler.js.map +1 -1
  16. package/dist/core/dashboard-ipc-server.d.ts +4 -1
  17. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  18. package/dist/core/dashboard-ipc-server.js +78 -8
  19. package/dist/core/dashboard-ipc-server.js.map +1 -1
  20. package/dist/core/deferred-schedule-settlement.d.ts +20 -0
  21. package/dist/core/deferred-schedule-settlement.d.ts.map +1 -0
  22. package/dist/core/deferred-schedule-settlement.js +18 -0
  23. package/dist/core/deferred-schedule-settlement.js.map +1 -0
  24. package/dist/core/deferred-topic-binding.d.ts +19 -0
  25. package/dist/core/deferred-topic-binding.d.ts.map +1 -0
  26. package/dist/core/deferred-topic-binding.js +55 -0
  27. package/dist/core/deferred-topic-binding.js.map +1 -0
  28. package/dist/core/scheduler.d.ts +26 -20
  29. package/dist/core/scheduler.d.ts.map +1 -1
  30. package/dist/core/scheduler.js +114 -56
  31. package/dist/core/scheduler.js.map +1 -1
  32. package/dist/core/session-discovery.d.ts.map +1 -1
  33. package/dist/core/session-discovery.js +47 -15
  34. package/dist/core/session-discovery.js.map +1 -1
  35. package/dist/core/session-manager.d.ts +17 -1
  36. package/dist/core/session-manager.d.ts.map +1 -1
  37. package/dist/core/session-manager.js +178 -84
  38. package/dist/core/session-manager.js.map +1 -1
  39. package/dist/core/types.d.ts +4 -0
  40. package/dist/core/types.d.ts.map +1 -1
  41. package/dist/core/types.js +10 -0
  42. package/dist/core/types.js.map +1 -1
  43. package/dist/core/worker-pool.d.ts +7 -0
  44. package/dist/core/worker-pool.d.ts.map +1 -1
  45. package/dist/core/worker-pool.js +51 -1
  46. package/dist/core/worker-pool.js.map +1 -1
  47. package/dist/daemon.d.ts.map +1 -1
  48. package/dist/daemon.js +90 -5
  49. package/dist/daemon.js.map +1 -1
  50. package/dist/dashboard/schedule-card-model.d.ts +12 -3
  51. package/dist/dashboard/schedule-card-model.d.ts.map +1 -1
  52. package/dist/dashboard/schedule-card-model.js +32 -8
  53. package/dist/dashboard/schedule-card-model.js.map +1 -1
  54. package/dist/dashboard/web/dashboard-components.d.ts +7 -0
  55. package/dist/dashboard/web/dashboard-components.d.ts.map +1 -1
  56. package/dist/dashboard/web/dashboard-components.js +11 -2
  57. package/dist/dashboard/web/dashboard-components.js.map +1 -1
  58. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  59. package/dist/dashboard/web/i18n.js +30 -6
  60. package/dist/dashboard/web/i18n.js.map +1 -1
  61. package/dist/dashboard/web/schedules-page.d.ts +2 -0
  62. package/dist/dashboard/web/schedules-page.d.ts.map +1 -1
  63. package/dist/dashboard/web/schedules-page.js +74 -27
  64. package/dist/dashboard/web/schedules-page.js.map +1 -1
  65. package/dist/dashboard-web/app.js +1 -1
  66. package/dist/dashboard-web/chunks/{bot-defaults-page-O37SAQD5.js → bot-defaults-page-B5AY4B2J.js} +1 -1
  67. package/dist/dashboard-web/chunks/{chunk-6QHMLMIM.js → chunk-CUV65BIQ.js} +3 -3
  68. package/dist/dashboard-web/chunks/{chunk-O2DPQL7C.js → chunk-JNRSPKLS.js} +1 -1
  69. package/dist/dashboard-web/chunks/{chunk-FYALHCPG.js → chunk-P6GO5KT4.js} +1 -1
  70. package/dist/dashboard-web/chunks/chunk-QFMH6ITB.js +1 -0
  71. package/dist/dashboard-web/chunks/{chunk-B42PCL5P.js → chunk-UBOLHQCK.js} +1 -1
  72. package/dist/dashboard-web/chunks/{connectors-page-DZBQ42MH.js → connectors-page-KTC2QWNW.js} +1 -1
  73. package/dist/dashboard-web/chunks/{groups-page-3IEGRZKQ.js → groups-page-B3EKGOLY.js} +1 -1
  74. package/dist/dashboard-web/chunks/{insights-page-X3ADRON3.js → insights-page-X6RXNCWX.js} +1 -1
  75. package/dist/dashboard-web/chunks/{monitor-room-IV36RGQY.js → monitor-room-LLRA5LQW.js} +1 -1
  76. package/dist/dashboard-web/chunks/{monitoring-page-ADFKVON4.js → monitoring-page-7MT5FEOS.js} +1 -1
  77. package/dist/dashboard-web/chunks/{office-page-CALAOWNS.js → office-page-KD46D5TD.js} +1 -1
  78. package/dist/dashboard-web/chunks/{overview-page-SLMGLK3M.js → overview-page-JUWNH32O.js} +1 -1
  79. package/dist/dashboard-web/chunks/{roles-page-L7JJ4FFV.js → roles-page-P6F7NLOI.js} +1 -1
  80. package/dist/dashboard-web/chunks/schedules-page-XIHWZST4.js +1 -0
  81. package/dist/dashboard-web/chunks/{sessions-page-OKJ5YWUZ.js → sessions-page-2VECQ27T.js} +1 -1
  82. package/dist/dashboard-web/chunks/{settings-page-P6MI2ZUE.js → settings-page-HMIUE2JA.js} +1 -1
  83. package/dist/dashboard-web/chunks/{skills-page-FT7BVZ6X.js → skills-page-A46KVWBL.js} +1 -1
  84. package/dist/dashboard-web/chunks/{team-federation-page-DEYCPUFB.js → team-federation-page-SDUC56DF.js} +1 -1
  85. package/dist/dashboard-web/chunks/{v3-page-4IOWREZG.js → v3-page-J5JOTUSQ.js} +1 -1
  86. package/dist/dashboard-web/chunks/{whiteboards-page-2VMBETZH.js → whiteboards-page-U7LSOAWI.js} +1 -1
  87. package/dist/dashboard-web/style.css +34 -4
  88. package/dist/dashboard.js +16 -1
  89. package/dist/dashboard.js.map +1 -1
  90. package/dist/i18n/en.d.ts.map +1 -1
  91. package/dist/i18n/en.js +16 -7
  92. package/dist/i18n/en.js.map +1 -1
  93. package/dist/i18n/zh.d.ts.map +1 -1
  94. package/dist/i18n/zh.js +16 -7
  95. package/dist/i18n/zh.js.map +1 -1
  96. package/dist/im/lark/card-handler.d.ts.map +1 -1
  97. package/dist/im/lark/card-handler.js +3 -0
  98. package/dist/im/lark/card-handler.js.map +1 -1
  99. package/dist/im/lark/event-dispatcher.d.ts +1 -0
  100. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  101. package/dist/im/lark/event-dispatcher.js +1 -1
  102. package/dist/im/lark/event-dispatcher.js.map +1 -1
  103. package/dist/im/lark/schedules-card.d.ts +2 -2
  104. package/dist/im/lark/schedules-card.d.ts.map +1 -1
  105. package/dist/im/lark/schedules-card.js +50 -34
  106. package/dist/im/lark/schedules-card.js.map +1 -1
  107. package/dist/index-daemon.js +13 -1
  108. package/dist/index-daemon.js.map +1 -1
  109. package/dist/services/schedule-store.d.ts +6 -2
  110. package/dist/services/schedule-store.d.ts.map +1 -1
  111. package/dist/services/schedule-store.js +19 -4
  112. package/dist/services/schedule-store.js.map +1 -1
  113. package/dist/skills/definitions.d.ts.map +1 -1
  114. package/dist/skills/definitions.js +4 -5
  115. package/dist/skills/definitions.js.map +1 -1
  116. package/dist/types.d.ts +36 -8
  117. package/dist/types.d.ts.map +1 -1
  118. package/dist/utils/child-env.d.ts +40 -1
  119. package/dist/utils/child-env.d.ts.map +1 -1
  120. package/dist/utils/child-env.js +45 -0
  121. package/dist/utils/child-env.js.map +1 -1
  122. package/dist/utils/pending-input-queue.d.ts +10 -0
  123. package/dist/utils/pending-input-queue.d.ts.map +1 -1
  124. package/dist/utils/pending-input-queue.js +15 -0
  125. package/dist/utils/pending-input-queue.js.map +1 -1
  126. package/dist/worker.js +102 -9
  127. package/dist/worker.js.map +1 -1
  128. package/dist/workflows/hostExecutors/botmux-schedule.d.ts +3 -1
  129. package/dist/workflows/hostExecutors/botmux-schedule.d.ts.map +1 -1
  130. package/dist/workflows/hostExecutors/botmux-schedule.js +14 -3
  131. package/dist/workflows/hostExecutors/botmux-schedule.js.map +1 -1
  132. package/dist/workflows/v3/architect.js +1 -1
  133. package/dist/workflows/v3/architect.js.map +1 -1
  134. package/dist/workflows/v3/contract.d.ts +8 -0
  135. package/dist/workflows/v3/contract.d.ts.map +1 -1
  136. package/dist/workflows/v3/contract.js.map +1 -1
  137. package/dist/workflows/v3/daemon-run.d.ts.map +1 -1
  138. package/dist/workflows/v3/daemon-run.js +2 -0
  139. package/dist/workflows/v3/daemon-run.js.map +1 -1
  140. package/dist/workflows/v3/ephemeral-pool.d.ts.map +1 -1
  141. package/dist/workflows/v3/ephemeral-pool.js +10 -2
  142. package/dist/workflows/v3/ephemeral-pool.js.map +1 -1
  143. package/dist/workflows/v3/run-envelope.d.ts +24 -24
  144. package/dist/workflows/v3/runtime.d.ts +5 -0
  145. package/dist/workflows/v3/runtime.d.ts.map +1 -1
  146. package/dist/workflows/v3/runtime.js +1 -0
  147. package/dist/workflows/v3/runtime.js.map +1 -1
  148. package/package.json +1 -1
  149. package/dist/dashboard-web/chunks/chunk-I35DXGM4.js +0 -1
  150. package/dist/dashboard-web/chunks/schedules-page-Z3672POL.js +0 -1
@@ -39,13 +39,12 @@ description: 在当前飞书/Lark 话题里创建、管理定时提醒(用 bot
39
39
  ### 创建
40
40
 
41
41
  \`\`\`
42
- botmux schedule add "<schedule>" "<prompt>" [--name <name>] [--silent] [--new-topic]
42
+ botmux schedule add "<schedule>" "<prompt>" [--name <name>] [--top-level | --topic --root-msg-id <om_...> | --new-topic [--topic-title <标题>]] [--silent]
43
43
  \`\`\`
44
44
 
45
45
  prompt 是到点时会被执行的内容,就像用户新开一个话题向你发送这段 prompt 一样。
46
46
  可选 \`--silent\`:**静默执行**——到点不发「🕐 定时任务执行中」提示,也不发流卡片;由执行会话的模型自行判断,只有满足 prompt 里描述的报警/通知条件才 \`botmux send\`,否则整轮完全静默(适合"每30分钟检查服务,挂了才报警,没事别打扰我"这类监控任务;prompt 里务必写清报警条件)。斜杠命令里可在 prompt 前加"静默"关键字,如 \`/schedule 每30分钟 静默 检查服务状态,挂了才报警\`。
47
- 可选 \`--new-topic\`(等价 \`--deliver new-topic\`):每次触发都在同群开一个**全新话题**、起一个独立 CLI 会话,多次执行互不串扰(适合日报这类"每天一篇、各自独立"的任务)。斜杠命令里也可在 prompt 前加"新话题"关键字,如 \`/schedule 每日9:00 新话题 生成日报\`。
48
- 注意 \`--silent\` 与 \`--new-topic\` **互斥**(新话题必须由首条消息开启);要"有异常才开新话题",在 prompt 里指示模型报警时用 botmux send 顶层发送即可。
47
+ 执行位置是任务级可选项:默认跟随创建时会话;\`--top-level\` 从群消息顶层触发,\`--topic --root-msg-id <om_...>\` 固定在指定话题下执行,\`--new-topic [--topic-title <标题>]\` 每次使用一个全新话题和独立会话。群顶层触发后是否平铺、共享话题或新开独立话题,由 Bot/群级「普通群会话模式」决定;显式 \`--new-topic\` 不受该模式影响。\`--silent --new-topic\` 会先启动独立隐藏会话,无需通知时自动关闭;首次 \`botmux send\` 才创建并绑定新话题。
49
48
 
50
49
  ### 查看
51
50
 
@@ -82,9 +81,9 @@ botmux schedule add "30m" "检查部署状态(调用 kubectl get pods 看看
82
81
 
83
82
  ## 到点会发生什么
84
83
 
85
- - botmux daemon 每 30 秒 tick 一次,到点会在**原话题**里自动续一条消息并把 prompt 喂给一个新的 CLI 会话
84
+ - botmux daemon 每 30 秒 tick 一次,到点会在任务绑定的**群消息顶层、原话题或每次新建的话题**里执行 prompt
86
85
  - 工作目录与创建任务时一致
87
- - 如果原话题的会话还活着,prompt 会直接注入现有会话(不会开新会话)
86
+ - 固定话题或群顶层已有可复用会话时会直接注入;显式「每次新话题」始终创建独立会话
88
87
 
89
88
  ## 跨群发布场景(changelog 群、动态频道等)
90
89
 
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/skills/definitions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/skills/definitions.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -109,6 +109,19 @@ export interface Session {
109
109
  /** This chat-scoped automation deliberately has no topic seed. Prevents the
110
110
  * chat-mode conversion guard from treating chatId as a replyable message id. */
111
111
  externalTriggerTopicless?: boolean;
112
+ /** A silent `executionPosition='new-topic'` schedule starts without a Lark
113
+ * root message. `routingAnchor` is the durable daemon-internal identity for
114
+ * that one run; the first successful `botmux send` materializes a real root
115
+ * and records it in the deferred-topic binding sidecar. Keeping the virtual
116
+ * anchor after materialization prevents this isolated session from
117
+ * collapsing into the ordinary chat-scope slot. */
118
+ deferredScheduleRun?: {
119
+ taskId: string;
120
+ turnId: string;
121
+ routingAnchor: string;
122
+ topicTitle?: string;
123
+ createdAt: string;
124
+ };
112
125
  /** Dedicated VC meeting consumer session identity. These sessions share the
113
126
  * listener chat as their output route, but MUST NOT share the ordinary
114
127
  * chat-scope routing slot (or another meeting/member's CLI context). */
@@ -432,6 +445,7 @@ export interface ParsedSchedule {
432
445
  /** Human-friendly display text */
433
446
  display: string;
434
447
  }
448
+ export type ScheduleExecutionPosition = 'top-level' | 'topic' | 'new-topic';
435
449
  export interface ScheduledTask {
436
450
  id: string;
437
451
  name: string;
@@ -446,10 +460,18 @@ export interface ScheduledTask {
446
460
  * execution replies into this thread instead of creating a new one. */
447
461
  rootMessageId?: string;
448
462
  chatType?: 'group' | 'p2p' | 'topic_group';
449
- /** Mirrors Session.scope. Determines whether the scheduled fire posts as
450
- * reply_in_thread to rootMessageId (thread) or as a plain message to
451
- * chatId (chat). Absent 'thread' for legacy compat. */
463
+ /** Low-level session scope retained for compatibility. `thread` replies
464
+ * under rootMessageId; `chat` starts at group top level and then follows
465
+ * the Bot/chat ordinary-group reply mode. */
452
466
  scope?: 'thread' | 'chat';
467
+ /** Explicit task-level routing. `new-topic` posts a fresh top-level seed on
468
+ * every run and then executes in the new thread, independent of the Bot's
469
+ * ordinary-group reply mode. Older rows derive this from scope/root. */
470
+ executionPosition?: ScheduleExecutionPosition;
471
+ /** Optional first-message text for `new-topic`; Lark uses the seed message
472
+ * as the visible topic title. Blank/absent falls back to the standard task
473
+ * start notice. */
474
+ topicTitle?: string;
453
475
  larkAppId?: string;
454
476
  /** Where the user originally created the task (for cross-thread tasks where
455
477
  * --chat-id / --root-msg-id retarget execution to a different chat).
@@ -472,17 +494,17 @@ export interface ScheduledTask {
472
494
  };
473
495
  /** Delivery target:
474
496
  * - 'origin' (default): reply into the original thread, or post to the chat
475
- * - 'new-topic': every fire opens a brand-new topic in the chat and runs in
476
- * a fresh session (never reuses a prior session / never replies in-thread)
497
+ * - 'new-topic': compatibility input meaning a fresh topic per run;
498
+ * new writes express this as executionPosition='new-topic'
477
499
  * - 'local': log only, no delivery */
478
500
  deliver?: 'origin' | 'local' | 'new-topic';
479
501
  /** Silent execution: fires post NO "🕐 task started" banner / creator notice,
480
502
  * and the spawned turn suppresses daemon-initiated group output (streaming
481
503
  * card, bridge final_output forwarding). The prompt is wrapped with a hint
482
504
  * telling the model to `botmux send` only when its alert condition is met —
483
- * "符合条件报警、不符合条件静默". Incompatible with deliver:'new-topic'
484
- * (a new topic can only be opened by a first message); creation rejects the
485
- * combination and a runtime encounter falls back to a loud fire. */
505
+ * "符合条件报警、不符合条件静默". Supported for chat-scope, retained-topic,
506
+ * and fresh-topic schedules; a silent fresh topic is created lazily by the
507
+ * first successful `botmux send`. */
486
508
  silent?: boolean;
487
509
  type?: 'cron' | 'interval' | 'once';
488
510
  }
@@ -544,6 +566,7 @@ export type DaemonToWorker = {
544
566
  backendConfig?: RiffBackendConfig;
545
567
  riffParentTaskId?: string;
546
568
  riffRepoDirs?: string[];
569
+ deferredScheduleRun?: Session['deferredScheduleRun'];
547
570
  prompt: string;
548
571
  promptCodexAppInput?: CodexAppTurnInput;
549
572
  resume?: boolean;
@@ -803,6 +826,11 @@ export type WorkerToDaemon = {
803
826
  userText: string;
804
827
  assistantText: string;
805
828
  turnId?: string;
829
+ } | {
830
+ type: 'deferred_topic_materialized';
831
+ sessionId: string;
832
+ turnId: string;
833
+ rootMessageId: string;
806
834
  } | {
807
835
  type: 'riff_access_url';
808
836
  accessUrl: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,45 @@
14
14
  * (see SHELL_WRAPPER_SCRIPT in tmux-backend.ts).
15
15
  */
16
16
  export declare const REDACTED_CHILD_ENV_KEYS: readonly ["LARK_APP_ID", "LARK_APP_SECRET", "GITHUB_TOKEN", "GH_TOKEN", "CLAUDECODE"];
17
+ /**
18
+ * Session-level CLI data-root pointers: claude-family → CLAUDE_CONFIG_DIR,
19
+ * codex → CODEX_HOME. Botmux computes these PER SESSION (read isolation pins
20
+ * `<BOT_HOME>/claude|codex`; Seed/Relay pin their fork dirs via adapter
21
+ * spawnEnv), so a value INHERITED from the surrounding environment is always
22
+ * stale. The poisoning path: pm2 persists the env of whichever process ran
23
+ * `botmux start/restart` into every managed app (and into dump.pm2 for
24
+ * resurrect), so one self-upgrade issued from a bot session bakes that
25
+ * session's injected CLAUDE_CONFIG_DIR into ALL daemons and workers — and
26
+ * every non-isolated sibling bot then reads/writes that bot's home. Scrubbed
27
+ * at each process boundary botmux owns: the pm2 invocation env (cli.ts
28
+ * pm2Env), daemon boot (index-daemon.ts) and worker boot (worker.ts) — the
29
+ * boot scrubs cover envs pm2 resurrects from a stale dump. Scrubbing
30
+ * process.env (not just the spawned child's env) keeps worker-side resolvers
31
+ * that consult it dynamically — codex submit confirmation / resume fallback /
32
+ * transcript bridge (services/codex-paths.ts), slash-command discovery
33
+ * (core/command-discovery.ts) — consistent with the CLI child.
34
+ *
35
+ * Do NOT pin a "default" instead of deleting: CLAUDE_CONFIG_DIR=~/.claude is
36
+ * not a no-op — once the var is set, Claude Code reads its state file from
37
+ * $CLAUDE_CONFIG_DIR/.claude.json instead of ~/.claude.json, which lacks
38
+ * hasCompletedOnboarding → every non-isolated session reruns first-run
39
+ * onboarding (theme picker + login).
40
+ *
41
+ * GROK_HOME is deliberately ABSENT: botmux never injects it per session (grok
42
+ * has no per-bot isolation, and per-bot env rejects the key — see
43
+ * core/per-bot-env.ts), so it can never carry a sibling bot's home. Its
44
+ * contract is the opposite of per-session: process-level only, where worker
45
+ * and CLI child must resolve the SAME value (the worker installs ready-gate
46
+ * hooks and drains transcripts under it — see services/grok-paths.ts), so
47
+ * scrubbing it on any single side would split-brain that documented
48
+ * configuration channel.
49
+ */
50
+ export declare const SESSION_CLI_HOME_ENV_KEYS: readonly ["CLAUDE_CONFIG_DIR", "CODEX_HOME"];
51
+ /** Delete inherited session-level CLI data-root pointers from `env` in place
52
+ * (see SESSION_CLI_HOME_ENV_KEYS). Values a session actually needs are
53
+ * computed and re-set AFTER this scrub (worker isolation pins / adapter
54
+ * spawnEnv). */
55
+ export declare function scrubSessionCliHomeEnv(env: NodeJS.ProcessEnv): void;
17
56
  /**
18
57
  * Botmux-managed, session/bot-scoped env keys that reach the CLI pane via the
19
58
  * `/usr/bin/env KEY=VAL` wrapper injection (buildBotmuxEnvAssignments), NOT via
@@ -34,7 +73,7 @@ export declare const REDACTED_CHILD_ENV_KEYS: readonly ["LARK_APP_ID", "LARK_APP
34
73
  * REDACTED_CHILD_ENV_KEYS so a server botmux bootstraps can never seed them
35
74
  * into its global env either.
36
75
  */
37
- export declare const BOTMUX_INJECTED_ENV_KEYS: readonly ["__OWNER_OPEN_ID", "BOTMUX", "SESSION_DATA_DIR", "IS_SANDBOX", "BOTMUX_SESSION_ID", "BOTMUX_CHAT_ID", "BOTMUX_MCP_GATEWAY_SOCKET", "BOTMUX_MCP_GATEWAY_REQUIRED", "BOTMUX_CHAT_TYPE", "BOTMUX_LARK_APP_ID", "BOTMUX_ROOT_MESSAGE_ID", "BOTMUX_TURN_ID", "BOTMUX_DISPATCH_ATTEMPT", "BOTMUX_DAEMON_IPC_PORT", "BOTMUX_LARK_LIST_BOTS_API_ENABLED", "BOTMUX_LARK_LIST_BOTS_API_TIMEOUT_MS", "BOTMUX_READY_COMMAND", "HERMES_HOME", "HERMES_BOTMUX_SOURCE_HOME", "HERMES_BOTMUX_PROFILES_ROOT", "CLAUDE_CONFIG_DIR", "CODEX_HOME", "CLAUDE_CODE_RESUME_TOKEN_THRESHOLD", "CJADK_INTERACTIVE"];
76
+ export declare const BOTMUX_INJECTED_ENV_KEYS: readonly ["__OWNER_OPEN_ID", "BOTMUX", "SESSION_DATA_DIR", "IS_SANDBOX", "BOTMUX_SESSION_ID", "BOTMUX_CHAT_ID", "BOTMUX_MCP_GATEWAY_SOCKET", "BOTMUX_MCP_GATEWAY_REQUIRED", "BOTMUX_CHAT_TYPE", "BOTMUX_LARK_APP_ID", "BOTMUX_ROOT_MESSAGE_ID", "BOTMUX_OWNER_OPEN_ID", "BOTMUX_TURN_ID", "BOTMUX_DISPATCH_ATTEMPT", "BOTMUX_DAEMON_IPC_PORT", "BOTMUX_LARK_LIST_BOTS_API_ENABLED", "BOTMUX_LARK_LIST_BOTS_API_TIMEOUT_MS", "BOTMUX_READY_COMMAND", "HERMES_HOME", "HERMES_BOTMUX_SOURCE_HOME", "HERMES_BOTMUX_PROFILES_ROOT", "CLAUDE_CONFIG_DIR", "CODEX_HOME", "CLAUDE_CODE_RESUME_TOKEN_THRESHOLD", "CJADK_INTERACTIVE"];
38
77
  /** Proxy env vars that must reach the CLI child process so it can dial the
39
78
  * upstream API on hosts without direct internet access. Forwarded explicitly
40
79
  * by buildBotmuxEnvAssignments (tmux/tmux-pipe/zellij backends) and
@@ -1 +1 @@
1
- {"version":3,"file":"child-env.d.ts","sourceRoot":"","sources":["../../src/utils/child-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,uBAAuB,uFAM1B,CAAC;AAEX;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,wBAAwB,skBAuC3B,CAAC;AAEX;;;;;;4DAM4D;AAC5D,eAAO,MAAM,cAAc,uHAGjB,CAAC;AAsBX;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED;;;;;GAKG;AACH,wBAAgB,qCAAqC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE1E;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAIzE"}
1
+ {"version":3,"file":"child-env.d.ts","sourceRoot":"","sources":["../../src/utils/child-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,uBAAuB,uFAM1B,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,yBAAyB,8CAA+C,CAAC;AAEtF;;;iBAGiB;AACjB,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAEnE;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,wBAAwB,8lBA0C3B,CAAC;AAEX;;;;;;4DAM4D;AAC5D,eAAO,MAAM,cAAc,uHAGjB,CAAC;AAsBX;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED;;;;;GAKG;AACH,wBAAgB,qCAAqC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE1E;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAIzE"}
@@ -20,6 +20,48 @@ export const REDACTED_CHILD_ENV_KEYS = [
20
20
  'GH_TOKEN',
21
21
  'CLAUDECODE',
22
22
  ];
23
+ /**
24
+ * Session-level CLI data-root pointers: claude-family → CLAUDE_CONFIG_DIR,
25
+ * codex → CODEX_HOME. Botmux computes these PER SESSION (read isolation pins
26
+ * `<BOT_HOME>/claude|codex`; Seed/Relay pin their fork dirs via adapter
27
+ * spawnEnv), so a value INHERITED from the surrounding environment is always
28
+ * stale. The poisoning path: pm2 persists the env of whichever process ran
29
+ * `botmux start/restart` into every managed app (and into dump.pm2 for
30
+ * resurrect), so one self-upgrade issued from a bot session bakes that
31
+ * session's injected CLAUDE_CONFIG_DIR into ALL daemons and workers — and
32
+ * every non-isolated sibling bot then reads/writes that bot's home. Scrubbed
33
+ * at each process boundary botmux owns: the pm2 invocation env (cli.ts
34
+ * pm2Env), daemon boot (index-daemon.ts) and worker boot (worker.ts) — the
35
+ * boot scrubs cover envs pm2 resurrects from a stale dump. Scrubbing
36
+ * process.env (not just the spawned child's env) keeps worker-side resolvers
37
+ * that consult it dynamically — codex submit confirmation / resume fallback /
38
+ * transcript bridge (services/codex-paths.ts), slash-command discovery
39
+ * (core/command-discovery.ts) — consistent with the CLI child.
40
+ *
41
+ * Do NOT pin a "default" instead of deleting: CLAUDE_CONFIG_DIR=~/.claude is
42
+ * not a no-op — once the var is set, Claude Code reads its state file from
43
+ * $CLAUDE_CONFIG_DIR/.claude.json instead of ~/.claude.json, which lacks
44
+ * hasCompletedOnboarding → every non-isolated session reruns first-run
45
+ * onboarding (theme picker + login).
46
+ *
47
+ * GROK_HOME is deliberately ABSENT: botmux never injects it per session (grok
48
+ * has no per-bot isolation, and per-bot env rejects the key — see
49
+ * core/per-bot-env.ts), so it can never carry a sibling bot's home. Its
50
+ * contract is the opposite of per-session: process-level only, where worker
51
+ * and CLI child must resolve the SAME value (the worker installs ready-gate
52
+ * hooks and drains transcripts under it — see services/grok-paths.ts), so
53
+ * scrubbing it on any single side would split-brain that documented
54
+ * configuration channel.
55
+ */
56
+ export const SESSION_CLI_HOME_ENV_KEYS = ['CLAUDE_CONFIG_DIR', 'CODEX_HOME'];
57
+ /** Delete inherited session-level CLI data-root pointers from `env` in place
58
+ * (see SESSION_CLI_HOME_ENV_KEYS). Values a session actually needs are
59
+ * computed and re-set AFTER this scrub (worker isolation pins / adapter
60
+ * spawnEnv). */
61
+ export function scrubSessionCliHomeEnv(env) {
62
+ for (const key of SESSION_CLI_HOME_ENV_KEYS)
63
+ delete env[key];
64
+ }
23
65
  /**
24
66
  * Botmux-managed, session/bot-scoped env keys that reach the CLI pane via the
25
67
  * `/usr/bin/env KEY=VAL` wrapper injection (buildBotmuxEnvAssignments), NOT via
@@ -58,6 +100,9 @@ export const BOTMUX_INJECTED_ENV_KEYS = [
58
100
  'BOTMUX_CHAT_TYPE',
59
101
  'BOTMUX_LARK_APP_ID',
60
102
  'BOTMUX_ROOT_MESSAGE_ID',
103
+ // Session owner (standard name; `__OWNER_OPEN_ID` above is the legacy
104
+ // channel). Custom CLI wrappers read it for per-user permission isolation.
105
+ 'BOTMUX_OWNER_OPEN_ID',
61
106
  'BOTMUX_TURN_ID',
62
107
  'BOTMUX_DISPATCH_ATTEMPT',
63
108
  // Loopback port of the owning daemon's agent-facing IPC. Read-isolated CLIs
@@ -1 +1 @@
1
- {"version":3,"file":"child-env.js","sourceRoot":"","sources":["../../src/utils/child-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,aAAa;IACb,iBAAiB;IACjB,cAAc;IACd,UAAU;IACV,YAAY;CACJ,CAAC;AAEX;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,iBAAiB;IACjB,QAAQ;IACR,kBAAkB;IAClB,YAAY;IACZ,wEAAwE;IACxE,mEAAmE;IACnE,mBAAmB;IACnB,gBAAgB;IAChB,0EAA0E;IAC1E,wEAAwE;IACxE,wCAAwC;IACxC,2BAA2B;IAC3B,6BAA6B;IAC7B,qEAAqE;IACrE,kBAAkB;IAClB,oBAAoB;IACpB,wBAAwB;IACxB,gBAAgB;IAChB,yBAAyB;IACzB,4EAA4E;IAC5E,uEAAuE;IACvE,yEAAyE;IACzE,6EAA6E;IAC7E,wBAAwB;IACxB,2EAA2E;IAC3E,mCAAmC;IACnC,sCAAsC;IACtC,sBAAsB;IACtB,qEAAqE;IACrE,aAAa;IACb,2BAA2B;IAC3B,6BAA6B;IAC7B,gDAAgD;IAChD,mBAAmB;IACnB,YAAY;IACZ,wDAAwD;IACxD,oCAAoC;IACpC,mBAAmB;CACX,CAAC;AAEX;;;;;;4DAM4D;AAC5D,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa;IACxD,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW;CACxC,CAAC;AAEX,MAAM,sBAAsB,GAAwB,IAAI,GAAG,CAAC;IAC1D,GAAG,wBAAwB;IAC3B,GAAG,uBAAuB;IAC1B,uEAAuE;IACvE,uEAAuE;IACvE,yEAAyE;IACzE,wEAAwE;IACxE,yEAAyE;IACzE,4EAA4E;IAC5E,6BAA6B;IAC7B,GAAG,cAAc;CAClB,CAAC,CAAC;AAEH,MAAM,6BAA6B,GAAwB,IAAI,GAAG,CAAC;IACjE,GAAG,wBAAwB;IAC3B,aAAa;IACb,iBAAiB;IACjB,YAAY;CACb,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAW;IACnD,OAAO,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACrE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qCAAqC,CAAC,GAAW;IAC/D,OAAO,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,6BAA6B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC5E,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,cAAc,CAAC,IAAuB;IACpD,MAAM,GAAG,GAAsB,EAAE,GAAG,IAAI,EAAE,CAAC;IAC3C,KAAK,MAAM,GAAG,IAAI,uBAAuB;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3D,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"child-env.js","sourceRoot":"","sources":["../../src/utils/child-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,aAAa;IACb,iBAAiB;IACjB,cAAc;IACd,UAAU;IACV,YAAY;CACJ,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,mBAAmB,EAAE,YAAY,CAAU,CAAC;AAEtF;;;iBAGiB;AACjB,MAAM,UAAU,sBAAsB,CAAC,GAAsB;IAC3D,KAAK,MAAM,GAAG,IAAI,yBAAyB;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,iBAAiB;IACjB,QAAQ;IACR,kBAAkB;IAClB,YAAY;IACZ,wEAAwE;IACxE,mEAAmE;IACnE,mBAAmB;IACnB,gBAAgB;IAChB,0EAA0E;IAC1E,wEAAwE;IACxE,wCAAwC;IACxC,2BAA2B;IAC3B,6BAA6B;IAC7B,qEAAqE;IACrE,kBAAkB;IAClB,oBAAoB;IACpB,wBAAwB;IACxB,sEAAsE;IACtE,2EAA2E;IAC3E,sBAAsB;IACtB,gBAAgB;IAChB,yBAAyB;IACzB,4EAA4E;IAC5E,uEAAuE;IACvE,yEAAyE;IACzE,6EAA6E;IAC7E,wBAAwB;IACxB,2EAA2E;IAC3E,mCAAmC;IACnC,sCAAsC;IACtC,sBAAsB;IACtB,qEAAqE;IACrE,aAAa;IACb,2BAA2B;IAC3B,6BAA6B;IAC7B,gDAAgD;IAChD,mBAAmB;IACnB,YAAY;IACZ,wDAAwD;IACxD,oCAAoC;IACpC,mBAAmB;CACX,CAAC;AAEX;;;;;;4DAM4D;AAC5D,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa;IACxD,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW;CACxC,CAAC;AAEX,MAAM,sBAAsB,GAAwB,IAAI,GAAG,CAAC;IAC1D,GAAG,wBAAwB;IAC3B,GAAG,uBAAuB;IAC1B,uEAAuE;IACvE,uEAAuE;IACvE,yEAAyE;IACzE,wEAAwE;IACxE,yEAAyE;IACzE,4EAA4E;IAC5E,6BAA6B;IAC7B,GAAG,cAAc;CAClB,CAAC,CAAC;AAEH,MAAM,6BAA6B,GAAwB,IAAI,GAAG,CAAC;IACjE,GAAG,wBAAwB;IAC3B,aAAa;IACb,iBAAiB;IACjB,YAAY;CACb,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAW;IACnD,OAAO,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACrE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qCAAqC,CAAC,GAAW;IAC/D,OAAO,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,6BAA6B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC5E,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,cAAc,CAAC,IAAuB;IACpD,MAAM,GAAG,GAAsB,EAAE,GAAG,IAAI,EAAE,CAAC;IAC3C,KAAK,MAAM,GAAG,IAAI,uBAAuB;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3D,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -21,6 +21,16 @@ export declare function shouldDeferArgsBakedDurablePrompt(opts: {
21
21
  adoptMode: boolean;
22
22
  dispatchAttempt?: number;
23
23
  }): boolean;
24
+ /** Some backends (tmux in particular) reject long launch command strings before
25
+ * the spawned CLI ever sees argv. For adapters that normally bake the first
26
+ * prompt into args, route over-limit prompts through the regular input queue
27
+ * instead. The comparison is strictly `>` so a prompt exactly at the adapter's
28
+ * declared budget keeps legacy args-baked behavior. */
29
+ export declare function shouldDeferInitialPromptForArgLimit(opts: {
30
+ passesInitialPromptViaArgs: boolean;
31
+ prompt?: string;
32
+ maxInitialPromptArgBytes?: number;
33
+ }): boolean;
24
34
  /** Once either side of a queue boundary is durable, stop this batch and wait
25
35
  * for the next reliable idle edge before writing the following turn. */
26
36
  export declare function shouldStopPendingBatch(written: PendingCliInput, next: PendingCliInput | undefined): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"pending-input-queue.d.ts","sourceRoot":"","sources":["../../src/utils/pending-input-queue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAE5E,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,aAAa,CAAC,EAAE,iBAAiB,CAAC;CACnC;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,eAAe,EAAE,EAC1B,IAAI,EAAE,eAAe,GACpB,OAAO,CAcT;AAED;;sEAEsE;AACtE,wBAAgB,2BAA2B,CACzC,wBAAwB,EAAE,OAAO,EACjC,mBAAmB,EAAE,OAAO,EAC5B,IAAI,EAAE,eAAe,GAAG,SAAS,GAChC,OAAO,CAKT;AAED;;;;sEAIsE;AACtE,wBAAgB,iCAAiC,CAAC,IAAI,EAAE;IACtD,0BAA0B,EAAE,OAAO,CAAC;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,OAAO,CAIV;AAED;yEACyE;AACzE,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,eAAe,GAAG,SAAS,GAChC,OAAO,CAKT;AAED;6EAC6E;AAC7E,wBAAgB,oBAAoB,CAAC,mBAAmB,EAAE,OAAO,GAAG,OAAO,CAE1E;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,EACtD,QAAQ,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,GACrD,OAAO,CAIT"}
1
+ {"version":3,"file":"pending-input-queue.d.ts","sourceRoot":"","sources":["../../src/utils/pending-input-queue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAE5E,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,aAAa,CAAC,EAAE,iBAAiB,CAAC;CACnC;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,eAAe,EAAE,EAC1B,IAAI,EAAE,eAAe,GACpB,OAAO,CAcT;AAED;;sEAEsE;AACtE,wBAAgB,2BAA2B,CACzC,wBAAwB,EAAE,OAAO,EACjC,mBAAmB,EAAE,OAAO,EAC5B,IAAI,EAAE,eAAe,GAAG,SAAS,GAChC,OAAO,CAKT;AAED;;;;sEAIsE;AACtE,wBAAgB,iCAAiC,CAAC,IAAI,EAAE;IACtD,0BAA0B,EAAE,OAAO,CAAC;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,OAAO,CAIV;AAED;;;;wDAIwD;AACxD,wBAAgB,mCAAmC,CAAC,IAAI,EAAE;IACxD,0BAA0B,EAAE,OAAO,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC,GAAG,OAAO,CAMV;AAED;yEACyE;AACzE,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,eAAe,GAAG,SAAS,GAChC,OAAO,CAKT;AAED;6EAC6E;AAC7E,wBAAgB,oBAAoB,CAAC,mBAAmB,EAAE,OAAO,GAAG,OAAO,CAE1E;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,EACtD,QAAQ,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,GACrD,OAAO,CAIT"}
@@ -34,6 +34,21 @@ export function shouldDeferArgsBakedDurablePrompt(opts) {
34
34
  && !opts.adoptMode
35
35
  && opts.dispatchAttempt !== undefined;
36
36
  }
37
+ /** Some backends (tmux in particular) reject long launch command strings before
38
+ * the spawned CLI ever sees argv. For adapters that normally bake the first
39
+ * prompt into args, route over-limit prompts through the regular input queue
40
+ * instead. The comparison is strictly `>` so a prompt exactly at the adapter's
41
+ * declared budget keeps legacy args-baked behavior. */
42
+ export function shouldDeferInitialPromptForArgLimit(opts) {
43
+ if (!opts.passesInitialPromptViaArgs)
44
+ return false;
45
+ if (!opts.prompt)
46
+ return false;
47
+ const limit = opts.maxInitialPromptArgBytes;
48
+ if (typeof limit !== 'number' || !Number.isFinite(limit) || limit < 0)
49
+ return false;
50
+ return Buffer.byteLength(opts.prompt, 'utf8') > limit;
51
+ }
37
52
  /** Once either side of a queue boundary is durable, stop this batch and wait
38
53
  * for the next reliable idle edge before writing the following turn. */
39
54
  export function shouldStopPendingBatch(written, next) {
@@ -1 +1 @@
1
- {"version":3,"file":"pending-input-queue.js","sourceRoot":"","sources":["../../src/utils/pending-input-queue.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,mBAAmB,CACjC,OAA0B,EAC1B,IAAqB;IAErB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,0EAA0E;IAC1E,yEAAyE;IACzE,2EAA2E;IAC3E,4EAA4E;IAC5E,wCAAwC;IACxC,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS;WACvE,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,qBAAqB;WACxD,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa;QAAE,OAAO,KAAK,CAAC;IAC5D,IAAI,CAAC,OAAO,GAAG,GAAG,IAAI,CAAC,OAAO,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACpD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;IACzC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;sEAEsE;AACtE,MAAM,UAAU,2BAA2B,CACzC,wBAAiC,EACjC,mBAA4B,EAC5B,IAAiC;IAEjC,OAAO,wBAAwB;WAC1B,CAAC,mBAAmB;WACpB,IAAI,EAAE,eAAe,KAAK,SAAS;WACnC,CAAC,IAAI,EAAE,qBAAqB,CAAC;AACpC,CAAC;AAED;;;;sEAIsE;AACtE,MAAM,UAAU,iCAAiC,CAAC,IAIjD;IACC,OAAO,IAAI,CAAC,0BAA0B;WACjC,CAAC,IAAI,CAAC,SAAS;WACf,IAAI,CAAC,eAAe,KAAK,SAAS,CAAC;AAC1C,CAAC;AAED;yEACyE;AACzE,MAAM,UAAU,sBAAsB,CACpC,OAAwB,EACxB,IAAiC;IAEjC,OAAO,OAAO,CAAC,eAAe,KAAK,SAAS;WACvC,IAAI,EAAE,eAAe,KAAK,SAAS;WACnC,CAAC,CAAC,OAAO,CAAC,qBAAqB;WAC/B,CAAC,CAAC,IAAI,EAAE,qBAAqB,CAAC;AACrC,CAAC;AAED;6EAC6E;AAC7E,MAAM,UAAU,oBAAoB,CAAC,mBAA4B;IAC/D,OAAO,CAAC,mBAAmB,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,OAAsD,EACtD,QAAsD;IAEtD,OAAO,QAAQ,CAAC,eAAe,KAAK,SAAS;WACxC,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;WAClC,OAAO,CAAC,eAAe,KAAK,QAAQ,CAAC,eAAe,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"pending-input-queue.js","sourceRoot":"","sources":["../../src/utils/pending-input-queue.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,mBAAmB,CACjC,OAA0B,EAC1B,IAAqB;IAErB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,0EAA0E;IAC1E,yEAAyE;IACzE,2EAA2E;IAC3E,4EAA4E;IAC5E,wCAAwC;IACxC,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS;WACvE,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,qBAAqB;WACxD,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa;QAAE,OAAO,KAAK,CAAC;IAC5D,IAAI,CAAC,OAAO,GAAG,GAAG,IAAI,CAAC,OAAO,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACpD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;IACzC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;sEAEsE;AACtE,MAAM,UAAU,2BAA2B,CACzC,wBAAiC,EACjC,mBAA4B,EAC5B,IAAiC;IAEjC,OAAO,wBAAwB;WAC1B,CAAC,mBAAmB;WACpB,IAAI,EAAE,eAAe,KAAK,SAAS;WACnC,CAAC,IAAI,EAAE,qBAAqB,CAAC;AACpC,CAAC;AAED;;;;sEAIsE;AACtE,MAAM,UAAU,iCAAiC,CAAC,IAIjD;IACC,OAAO,IAAI,CAAC,0BAA0B;WACjC,CAAC,IAAI,CAAC,SAAS;WACf,IAAI,CAAC,eAAe,KAAK,SAAS,CAAC;AAC1C,CAAC;AAED;;;;wDAIwD;AACxD,MAAM,UAAU,mCAAmC,CAAC,IAInD;IACC,IAAI,CAAC,IAAI,CAAC,0BAA0B;QAAE,OAAO,KAAK,CAAC;IACnD,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,wBAAwB,CAAC;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACpF,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;AACxD,CAAC;AAED;yEACyE;AACzE,MAAM,UAAU,sBAAsB,CACpC,OAAwB,EACxB,IAAiC;IAEjC,OAAO,OAAO,CAAC,eAAe,KAAK,SAAS;WACvC,IAAI,EAAE,eAAe,KAAK,SAAS;WACnC,CAAC,CAAC,OAAO,CAAC,qBAAqB;WAC/B,CAAC,CAAC,IAAI,EAAE,qBAAqB,CAAC;AACrC,CAAC;AAED;6EAC6E;AAC7E,MAAM,UAAU,oBAAoB,CAAC,mBAA4B;IAC/D,OAAO,CAAC,mBAAmB,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,OAAsD,EACtD,QAAsD;IAEtD,OAAO,QAAQ,CAAC,eAAe,KAAK,SAAS;WACxC,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;WAClC,OAAO,CAAC,eAAe,KAAK,QAAQ,CAAC,eAAe,CAAC;AAC5D,CAAC"}
package/dist/worker.js CHANGED
@@ -29,7 +29,7 @@ import { canStartInjectionFlush, shouldDeferUserFlush, shouldFlushInjectionsFirs
29
29
  import { stripAnsiForLog, tailChars } from './utils/crash-log.js';
30
30
  import { CodexUpdateDialogGuard } from './utils/codex-update-dialog.js';
31
31
  import { installStdioEpipeGuard, isIgnorableStreamError } from './utils/stdio-epipe-guard.js';
32
- import { mergeQueuedCliInput, pendingInputMayFlush, pendingInputAllowsTypeAhead, shouldDeferArgsBakedDurablePrompt, shouldStopPendingBatch, terminalReleasesDurableTurn, } from './utils/pending-input-queue.js';
32
+ import { mergeQueuedCliInput, pendingInputMayFlush, pendingInputAllowsTypeAhead, shouldDeferArgsBakedDurablePrompt, shouldDeferInitialPromptForArgLimit, shouldStopPendingBatch, terminalReleasesDurableTurn, } from './utils/pending-input-queue.js';
33
33
  import { ReadyGate, shouldArmReadyGate } from './utils/ready-gate.js';
34
34
  import { shouldRunStartupCommandsOnSpawn, shouldDeferInitialPromptForStartup } from './core/startup-commands.js';
35
35
  import { sanitizePerBotEnv } from './core/per-bot-env.js';
@@ -100,7 +100,7 @@ import { mergeHerdrWebSnapshot, renderHerdrWebHistory, } from './utils/herdr-web
100
100
  import { parseWorkerRequestUrl } from './utils/worker-http.js';
101
101
  import { detectCliUsageLimit, usageLimitStateKey } from './utils/cli-usage-limit.js';
102
102
  import { uploadImageBuffer } from './utils/lark-upload.js';
103
- import { redactChildEnv } from './utils/child-env.js';
103
+ import { redactChildEnv, scrubSessionCliHomeEnv } from './utils/child-env.js';
104
104
  import { decideSubmitConfirmationAction } from './services/submit-confirmation.js';
105
105
  import { config, resolveChatBotDiscoveryConfig } from './config.js';
106
106
  import * as sessionStore from './services/session-store.js';
@@ -114,6 +114,22 @@ import { resolveCodexAppFinalTurnIdentity } from './adapters/cli/codex-app-turn.
114
114
  import { RunnerControlDecoder } from './adapters/cli/runner-control-channel.js';
115
115
  import { hasMatchingManagedOriginCapability, managedOriginCapabilityPath, RELAY_ORIGIN_CAPABILITY_BASENAME, replaceManagedOriginCapabilityFile, } from './core/managed-origin-capability.js';
116
116
  import { CodexRpcEngine } from './codex-rpc-engine.js';
117
+ // A worker must never trust an INHERITED session-level CLI home pointer
118
+ // (CLAUDE_CONFIG_DIR / CODEX_HOME): a stale pm2 dump can resurrect the daemon
119
+ // with a sibling bot's home baked in (see the index-daemon.ts boot scrub —
120
+ // this one covers any worker spawn path that bypasses it). Scrubbing
121
+ // process.env — not just the spawned child's env — matters because worker-side
122
+ // resolvers consult it dynamically (codex submit confirmation / resume
123
+ // fallback / transcript bridge via services/codex-paths.ts, slash-command
124
+ // discovery), and childEnv is seeded from process.env below: cleaning only one
125
+ // side would leave the worker watching a different data root than the CLI
126
+ // writes (the exact failure mode documented at the isolated-codex re-pin in
127
+ // spawnCli). Per-session values are re-pinned AFTER this scrub — isolation
128
+ // sets process.env.CODEX_HOME / childEnv, adapter spawnEnv re-injects fork
129
+ // dirs. See SESSION_CLI_HOME_ENV_KEYS for why deleting beats pinning a
130
+ // default (~/.claude relocates Claude's state file → onboarding rerun) and
131
+ // why GROK_HOME is exempt.
132
+ scrubSessionCliHomeEnv(process.env);
117
133
  // ─── State ───────────────────────────────────────────────────────────────────
118
134
  let cliAdapter = null;
119
135
  let backend = null;
@@ -736,6 +752,8 @@ function ensureZellijAttachConfig() {
736
752
  }
737
753
  let sessionId = '';
738
754
  let lastInitConfig = null;
755
+ let deferredTopicOutputTail = '';
756
+ const reportedDeferredTopicRoots = new Set();
739
757
  const CLI_DISPLAY_NAMES = { 'claude-code': 'Claude', seed: 'Seed', relay: 'Relay', aiden: 'Aiden', coco: 'CoCo', codex: 'Codex', 'codex-app': 'Codex App', cursor: 'Cursor', gemini: 'Gemini', genius: 'Genius', opencode: 'OpenCode', antigravity: 'Antigravity', mtr: 'MTR', hermes: 'Hermes', mira: 'Mira', mir: 'Mir CLI', traex: 'TRAE', pi: 'Pi', copilot: 'Copilot', 'oh-my-pi': 'Oh My Pi', kimi: 'Kimi', grok: 'Grok Build', 'kiro-cli': 'Kiro', riff: 'Riff' };
740
758
  function cliName() { return CLI_DISPLAY_NAMES[lastInitConfig?.cliId ?? ''] ?? 'CLI'; }
741
759
  let isPromptReady = false;
@@ -4370,12 +4388,52 @@ function maybeCaptureKiroSessionId(data) {
4370
4388
  function splitCodexAppControl(data) {
4371
4389
  return appRunnerControlDecoder.push(data, APP_RUNNER_OSC_CLI_IDS.has(lastInitConfig?.cliId ?? ''), handleCodexAppMarker);
4372
4390
  }
4391
+ /** Riff runs `botmux send` in a remote filesystem, so its local binding
4392
+ * sidecar is invisible to the host daemon. The CLI includes the claimed root
4393
+ * in its success JSON; harvest that trusted-session/turn tuple from terminal
4394
+ * output and forward it over worker IPC. The daemon accepts this relay only
4395
+ * for Riff and verifies the claimed root belongs to the target chat; local
4396
+ * backends use the host-visible sidecar directly. */
4397
+ function maybeReportDeferredTopicMaterialization(data) {
4398
+ const run = lastInitConfig?.deferredScheduleRun;
4399
+ if (!run)
4400
+ return;
4401
+ deferredTopicOutputTail = tailChars(deferredTopicOutputTail + stripAnsiForLog(data), 16_000);
4402
+ const lines = deferredTopicOutputTail.split(/\r?\n/);
4403
+ deferredTopicOutputTail = lines.pop() ?? '';
4404
+ for (const line of lines) {
4405
+ const start = line.indexOf('{"success":true');
4406
+ const end = line.lastIndexOf('}');
4407
+ if (start < 0 || end < start)
4408
+ continue;
4409
+ try {
4410
+ const parsed = JSON.parse(line.slice(start, end + 1));
4411
+ const root = parsed.deferredTopicRootMessageId;
4412
+ if (parsed.success !== true
4413
+ || parsed.sessionId !== sessionId
4414
+ || parsed.turnId !== run.turnId
4415
+ || typeof root !== 'string'
4416
+ || !root.startsWith('om_')
4417
+ || reportedDeferredTopicRoots.has(root))
4418
+ continue;
4419
+ reportedDeferredTopicRoots.add(root);
4420
+ send({
4421
+ type: 'deferred_topic_materialized',
4422
+ sessionId,
4423
+ turnId: run.turnId,
4424
+ rootMessageId: root,
4425
+ });
4426
+ }
4427
+ catch { /* not a botmux send JSON line */ }
4428
+ }
4429
+ }
4373
4430
  // ─── Prompt Detection ────────────────────────────────────────────────────────
4374
4431
  function onPtyData(data) {
4375
4432
  data = splitCodexAppControl(data);
4376
4433
  if (data.length === 0)
4377
4434
  return;
4378
4435
  lastPtyActivityAtMs = Date.now();
4436
+ maybeReportDeferredTopicMaterialization(data);
4379
4437
  maybeCaptureKiroSessionId(data);
4380
4438
  captureWorkflowTranscript(data);
4381
4439
  renderer?.write(data);
@@ -5746,6 +5804,15 @@ async function spawnCli(cfg, opts = {}) {
5746
5804
  sessionEnv.BOTMUX_ROOT_MESSAGE_ID = cfg.rootMessageId;
5747
5805
  if (cfg.turnId)
5748
5806
  sessionEnv.BOTMUX_TURN_ID = cfg.turnId;
5807
+ if (cfg.deferredScheduleRun) {
5808
+ sessionEnv.BOTMUX_DEFERRED_SCHEDULE_TASK_ID = cfg.deferredScheduleRun.taskId;
5809
+ sessionEnv.BOTMUX_DEFERRED_SCHEDULE_TURN_ID = cfg.deferredScheduleRun.turnId;
5810
+ sessionEnv.BOTMUX_DEFERRED_SCHEDULE_ROUTING_ANCHOR = cfg.deferredScheduleRun.routingAnchor;
5811
+ sessionEnv.BOTMUX_DEFERRED_SCHEDULE_CREATED_AT = cfg.deferredScheduleRun.createdAt;
5812
+ if (cfg.deferredScheduleRun.topicTitle) {
5813
+ sessionEnv.BOTMUX_DEFERRED_SCHEDULE_TOPIC_TITLE = cfg.deferredScheduleRun.topicTitle;
5814
+ }
5815
+ }
5749
5816
  // Turn sender so `--mention-back` can resolve an @ target in the sandbox.
5750
5817
  if (cfg.ownerOpenId)
5751
5818
  sessionEnv.BOTMUX_OWNER_OPEN_ID = cfg.ownerOpenId;
@@ -6135,6 +6202,8 @@ async function spawnCli(cfg, opts = {}) {
6135
6202
  // Also defer on RESUME for adapters whose initial-prompt launch flag is
6136
6203
  // silently ignored when continuing a session (OpenCode `--prompt` + `-s`):
6137
6204
  // baking it into args would drop the message that triggered the resume.
6205
+ // Finally, defer adapter-declared over-limit prompts to avoid backend command
6206
+ // string limits (tmux "command too long") while preserving short argv prompts.
6138
6207
  const deferInitialPrompt = shouldDeferInitialPromptForStartup({
6139
6208
  hasStartupCommands: !!cfg.startupCommands?.length,
6140
6209
  adoptMode: cfg.adoptMode === true,
@@ -6143,7 +6212,12 @@ async function spawnCli(cfg, opts = {}) {
6143
6212
  passesInitialPromptViaArgs: cliAdapter.passesInitialPromptViaArgs === true,
6144
6213
  adoptMode: cfg.adoptMode === true,
6145
6214
  dispatchAttempt: cfg.dispatchAttempt,
6146
- }) || (effectiveResume && cliAdapter.initialPromptArgsIgnoredOnResume === true);
6215
+ }) || (effectiveResume && cliAdapter.initialPromptArgsIgnoredOnResume === true)
6216
+ || shouldDeferInitialPromptForArgLimit({
6217
+ passesInitialPromptViaArgs: cliAdapter.passesInitialPromptViaArgs === true,
6218
+ prompt: cfg.prompt,
6219
+ maxInitialPromptArgBytes: cliAdapter.maxInitialPromptArgBytes,
6220
+ });
6147
6221
  kiroSessionIdCaptureArmed = cfg.cliId === 'kiro-cli' && !effectiveCliSessionId && !willReattachPersistent;
6148
6222
  kiroSessionIdCaptureBuffer = '';
6149
6223
  // Per-bot local read isolation: assemble the Seatbelt profile context (the gate
@@ -6324,6 +6398,15 @@ async function spawnCli(cfg, opts = {}) {
6324
6398
  delete childEnv.BOTMUX_CHAT_TYPE;
6325
6399
  childEnv.BOTMUX_LARK_APP_ID = cfg.larkAppId;
6326
6400
  childEnv.BOTMUX_ROOT_MESSAGE_ID = cfg.rootMessageId;
6401
+ // Session owner under the standard BOTMUX_* name (the riff backend already
6402
+ // exposes it; `__OWNER_OPEN_ID` stays for back-compat). Custom CLI wrappers
6403
+ // use it for per-user permission isolation. Advisory identity only — botmux's
6404
+ // own authz paths (v3 command authority, host.ts) ignore env owner values and
6405
+ // resolve the current-turn caller from turn provenance instead.
6406
+ if (cfg.ownerOpenId)
6407
+ childEnv.BOTMUX_OWNER_OPEN_ID = cfg.ownerOpenId;
6408
+ else
6409
+ delete childEnv.BOTMUX_OWNER_OPEN_ID;
6327
6410
  // NOTE: under read isolation `botmux send` gets this bot's secret from the worker-
6328
6411
  // written cred FILE in its BOT_HOME (send-cred.json, see sendCredFilePath) located
6329
6412
  // via the BOTMUX_LARK_APP_ID above — NOT from the env. The secret is deliberately kept OUT
@@ -6353,11 +6436,16 @@ async function spawnCli(cfg, opts = {}) {
6353
6436
  // them past the server's global env.
6354
6437
  if (cliAdapter.spawnEnv)
6355
6438
  Object.assign(childEnv, cliAdapter.spawnEnv);
6356
- // v2 read isolation: point the CLI at its PER-BOT config dir (set AFTER spawnEnv so
6357
- // it overrides any adapter default). claude → CLAUDE_CONFIG_DIR, codex → CODEX_HOME.
6358
- // Both are in BOTMUX_INJECTED_ENV_KEYS so the tmux backend forwards them into the
6359
- // pane; without this the CLI falls back to the global ~/.claude|~/.codex which the
6360
- // Seatbelt wrapper denies → it can't read its own data and won't start.
6439
+ // v2 read isolation: point the CLI at its PER-BOT config dir (set AFTER spawnEnv
6440
+ // so it overrides any adapter default). claude → CLAUDE_CONFIG_DIR, codex →
6441
+ // CODEX_HOME. Both are in BOTMUX_INJECTED_ENV_KEYS so the tmux backend forwards
6442
+ // them into the pane; without this the CLI falls back to the global
6443
+ // ~/.claude|~/.codex which the Seatbelt wrapper denies → it can't read its own
6444
+ // data and won't start. Non-isolated sessions get NO explicit value: the
6445
+ // worker-boot scrubSessionCliHomeEnv (module top) plus the pane wrapper's
6446
+ // unset clause (PANE_ENV_UNSET_CLAUSE covers BOTMUX_INJECTED_ENV_KEYS)
6447
+ // already guarantee the pane starts clean, and the CLI's built-in default
6448
+ // preserves stock semantics.
6361
6449
  if (isolationBotHome) {
6362
6450
  if (claudeDataDir)
6363
6451
  childEnv.CLAUDE_CONFIG_DIR = claudeDataDir; // = <BOT_HOME>/claude
@@ -8711,7 +8799,12 @@ process.on('message', async (raw) => {
8711
8799
  passesInitialPromptViaArgs: cliAdapter?.passesInitialPromptViaArgs === true,
8712
8800
  adoptMode: msg.adoptMode === true,
8713
8801
  dispatchAttempt: msg.dispatchAttempt,
8714
- }) || (msg.adoptMode !== true && lastSpawnEffectiveResume && cliAdapter?.initialPromptArgsIgnoredOnResume === true);
8802
+ }) || (msg.adoptMode !== true && lastSpawnEffectiveResume && cliAdapter?.initialPromptArgsIgnoredOnResume === true)
8803
+ || shouldDeferInitialPromptForArgLimit({
8804
+ passesInitialPromptViaArgs: cliAdapter?.passesInitialPromptViaArgs === true,
8805
+ prompt: msg.prompt,
8806
+ maxInitialPromptArgBytes: cliAdapter?.maxInitialPromptArgBytes,
8807
+ });
8715
8808
  if (msg.prompt && cliAdapter?.passesInitialPromptViaArgs && !deferInitialPrompt && codexBridgeFallbackActive()) {
8716
8809
  // Args-baked first prompts (notably Pi) never pass through the normal
8717
8810
  // 'message' IPC path, so the structured bridge would otherwise see the