aicodeman 1.14.2 → 1.16.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 (190) hide show
  1. package/README.zh-CN.md +91 -21
  2. package/dist/cli.d.ts +32 -0
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +19 -8
  5. package/dist/cli.js.map +1 -1
  6. package/dist/hooks-config.d.ts +23 -2
  7. package/dist/hooks-config.d.ts.map +1 -1
  8. package/dist/hooks-config.js +118 -52
  9. package/dist/hooks-config.js.map +1 -1
  10. package/dist/mux-interface.d.ts +10 -0
  11. package/dist/mux-interface.d.ts.map +1 -1
  12. package/dist/respawn-patterns.d.ts.map +1 -1
  13. package/dist/respawn-patterns.js +7 -2
  14. package/dist/respawn-patterns.js.map +1 -1
  15. package/dist/session-activity.d.ts +73 -0
  16. package/dist/session-activity.d.ts.map +1 -0
  17. package/dist/session-activity.js +74 -0
  18. package/dist/session-activity.js.map +1 -0
  19. package/dist/session-cli-builder.d.ts +33 -1
  20. package/dist/session-cli-builder.d.ts.map +1 -1
  21. package/dist/session-cli-builder.js +51 -1
  22. package/dist/session-cli-builder.js.map +1 -1
  23. package/dist/session-trust-dialog.d.ts +62 -0
  24. package/dist/session-trust-dialog.d.ts.map +1 -0
  25. package/dist/session-trust-dialog.js +83 -0
  26. package/dist/session-trust-dialog.js.map +1 -0
  27. package/dist/session.d.ts +67 -0
  28. package/dist/session.d.ts.map +1 -1
  29. package/dist/session.js +199 -60
  30. package/dist/session.js.map +1 -1
  31. package/dist/tmux-manager.d.ts +18 -0
  32. package/dist/tmux-manager.d.ts.map +1 -1
  33. package/dist/tmux-manager.js +48 -6
  34. package/dist/tmux-manager.js.map +1 -1
  35. package/dist/types/api.d.ts +1 -1
  36. package/dist/types/api.d.ts.map +1 -1
  37. package/dist/types/api.js.map +1 -1
  38. package/dist/utils/index.d.ts +1 -1
  39. package/dist/utils/index.d.ts.map +1 -1
  40. package/dist/utils/index.js +1 -1
  41. package/dist/utils/index.js.map +1 -1
  42. package/dist/utils/regex-patterns.d.ts +17 -0
  43. package/dist/utils/regex-patterns.d.ts.map +1 -1
  44. package/dist/utils/regex-patterns.js +17 -0
  45. package/dist/utils/regex-patterns.js.map +1 -1
  46. package/dist/web/approval-inbox.d.ts +159 -0
  47. package/dist/web/approval-inbox.d.ts.map +1 -0
  48. package/dist/web/approval-inbox.js +322 -0
  49. package/dist/web/approval-inbox.js.map +1 -0
  50. package/dist/web/public/admin-ui.js.gz +0 -0
  51. package/dist/web/public/api-client.c9b1cddc.js.gz +0 -0
  52. package/dist/web/public/app.c8e6e44e.js +36 -0
  53. package/dist/web/public/app.c8e6e44e.js.br +0 -0
  54. package/dist/web/public/app.c8e6e44e.js.gz +0 -0
  55. package/dist/web/public/approvals-ui.js +242 -0
  56. package/dist/web/public/approvals-ui.js.br +0 -0
  57. package/dist/web/public/approvals-ui.js.gz +0 -0
  58. package/dist/web/public/{constants.e7175b95.js → constants.7d0f4047.js} +86 -0
  59. package/dist/web/public/constants.7d0f4047.js.br +0 -0
  60. package/dist/web/public/constants.7d0f4047.js.gz +0 -0
  61. package/dist/web/public/cron-ui.js.gz +0 -0
  62. package/dist/web/public/entrance-animations.js.gz +0 -0
  63. package/dist/web/public/i18n.75cf29d4.js +1 -0
  64. package/dist/web/public/i18n.75cf29d4.js.br +0 -0
  65. package/dist/web/public/i18n.75cf29d4.js.gz +0 -0
  66. package/dist/web/public/image-input.ee16ad88.js.gz +0 -0
  67. package/dist/web/public/index.html +81 -12
  68. package/dist/web/public/index.html.br +0 -0
  69. package/dist/web/public/index.html.gz +0 -0
  70. package/dist/web/public/input-cjk.63794d0b.js.gz +0 -0
  71. package/dist/web/public/{keyboard-accessory.9936227d.js → keyboard-accessory.d6c3ad11.js} +50 -0
  72. package/dist/web/public/keyboard-accessory.d6c3ad11.js.br +0 -0
  73. package/dist/web/public/keyboard-accessory.d6c3ad11.js.gz +0 -0
  74. package/dist/web/public/mobile-handlers.32fdd57f.js.gz +0 -0
  75. package/dist/web/public/mobile-overview.js +49 -0
  76. package/dist/web/public/mobile-overview.js.br +0 -0
  77. package/dist/web/public/mobile-overview.js.gz +0 -0
  78. package/dist/web/public/mobile.8a2651ba.css +1 -0
  79. package/dist/web/public/mobile.8a2651ba.css.br +0 -0
  80. package/dist/web/public/mobile.8a2651ba.css.gz +0 -0
  81. package/dist/web/public/notification-manager.5d229063.js.gz +0 -0
  82. package/dist/web/public/orchestrator-panel.js.gz +0 -0
  83. package/dist/web/public/{panels-ui.1d4203e0.js → panels-ui.3df9cd95.js} +5 -5
  84. package/dist/web/public/panels-ui.3df9cd95.js.br +0 -0
  85. package/dist/web/public/panels-ui.3df9cd95.js.gz +0 -0
  86. package/dist/web/public/ralph-panel.6de2d0f8.js.gz +0 -0
  87. package/dist/web/public/ralph-wizard.13a1831e.js.gz +0 -0
  88. package/dist/web/public/respawn-ui.ff0dae4c.js.gz +0 -0
  89. package/dist/web/public/sanitize-html.bc7078d6.js.gz +0 -0
  90. package/dist/web/public/session-ui.1356a4f4.js.gz +0 -0
  91. package/dist/web/public/{settings-ui.b41d33a5.js → settings-ui.20f9c723.js} +10 -10
  92. package/dist/web/public/settings-ui.20f9c723.js.br +0 -0
  93. package/dist/web/public/settings-ui.20f9c723.js.gz +0 -0
  94. package/dist/web/public/{styles.c4e58e13.css → styles.e33fc754.css} +1 -1
  95. package/dist/web/public/styles.e33fc754.css.br +0 -0
  96. package/dist/web/public/styles.e33fc754.css.gz +0 -0
  97. package/dist/web/public/subagent-windows.4cc8b005.js.gz +0 -0
  98. package/dist/web/public/sw.js +45 -20
  99. package/dist/web/public/sw.js.br +0 -0
  100. package/dist/web/public/sw.js.gz +0 -0
  101. package/dist/web/public/terminal-ui.430395be.js +4 -0
  102. package/dist/web/public/terminal-ui.430395be.js.br +0 -0
  103. package/dist/web/public/terminal-ui.430395be.js.gz +0 -0
  104. package/dist/web/public/ultracode-panel.js.gz +0 -0
  105. package/dist/web/public/ultracode-windows.js.gz +0 -0
  106. package/dist/web/public/upload.html.gz +0 -0
  107. package/dist/web/public/vendor/dompurify.min.js.gz +0 -0
  108. package/dist/web/public/vendor/marked.min.js.gz +0 -0
  109. package/dist/web/public/vendor/xterm-addon-fit.min.js.gz +0 -0
  110. package/dist/web/public/vendor/xterm-addon-serialize.min.js.gz +0 -0
  111. package/dist/web/public/vendor/xterm-addon-unicode11.min.js.gz +0 -0
  112. package/dist/web/public/vendor/xterm-addon-webgl.min.js.gz +0 -0
  113. package/dist/web/public/vendor/xterm-predictive-echo.6cec0fba.js +4 -0
  114. package/dist/web/public/vendor/xterm-predictive-echo.6cec0fba.js.br +0 -0
  115. package/dist/web/public/vendor/xterm-predictive-echo.6cec0fba.js.gz +0 -0
  116. package/dist/web/public/vendor/xterm-zerolag-input.137ad9f0.js.gz +0 -0
  117. package/dist/web/public/vendor/xterm.css.gz +0 -0
  118. package/dist/web/public/vendor/xterm.min.js.gz +0 -0
  119. package/dist/web/public/{voice-input.085e9e73.js → voice-input.e5461859.js} +3 -0
  120. package/dist/web/public/voice-input.e5461859.js.br +0 -0
  121. package/dist/web/public/{voice-input.085e9e73.js.gz → voice-input.e5461859.js.gz} +0 -0
  122. package/dist/web/public/webview-tabs.js.gz +0 -0
  123. package/dist/web/route-helpers.d.ts.map +1 -1
  124. package/dist/web/route-helpers.js +10 -0
  125. package/dist/web/route-helpers.js.map +1 -1
  126. package/dist/web/routes/approval-routes.d.ts +19 -0
  127. package/dist/web/routes/approval-routes.d.ts.map +1 -0
  128. package/dist/web/routes/approval-routes.js +119 -0
  129. package/dist/web/routes/approval-routes.js.map +1 -0
  130. package/dist/web/routes/file-routes.d.ts.map +1 -1
  131. package/dist/web/routes/file-routes.js +24 -8
  132. package/dist/web/routes/file-routes.js.map +1 -1
  133. package/dist/web/routes/hook-event-routes.d.ts +3 -0
  134. package/dist/web/routes/hook-event-routes.d.ts.map +1 -1
  135. package/dist/web/routes/hook-event-routes.js +61 -3
  136. package/dist/web/routes/hook-event-routes.js.map +1 -1
  137. package/dist/web/routes/index.d.ts +1 -0
  138. package/dist/web/routes/index.d.ts.map +1 -1
  139. package/dist/web/routes/index.js +1 -0
  140. package/dist/web/routes/index.js.map +1 -1
  141. package/dist/web/routes/session-routes.d.ts.map +1 -1
  142. package/dist/web/routes/session-routes.js +30 -2
  143. package/dist/web/routes/session-routes.js.map +1 -1
  144. package/dist/web/schemas.d.ts +26 -0
  145. package/dist/web/schemas.d.ts.map +1 -1
  146. package/dist/web/schemas.js +40 -1
  147. package/dist/web/schemas.js.map +1 -1
  148. package/dist/web/sensitive-path.d.ts +12 -0
  149. package/dist/web/sensitive-path.d.ts.map +1 -1
  150. package/dist/web/sensitive-path.js +49 -4
  151. package/dist/web/sensitive-path.js.map +1 -1
  152. package/dist/web/server.d.ts.map +1 -1
  153. package/dist/web/server.js +31 -3
  154. package/dist/web/server.js.map +1 -1
  155. package/dist/web/session-listener-wiring.d.ts.map +1 -1
  156. package/dist/web/session-listener-wiring.js +9 -0
  157. package/dist/web/session-listener-wiring.js.map +1 -1
  158. package/dist/web/sse-events.d.ts +18 -2
  159. package/dist/web/sse-events.d.ts.map +1 -1
  160. package/dist/web/sse-events.js +20 -2
  161. package/dist/web/sse-events.js.map +1 -1
  162. package/package.json +3 -1
  163. package/scripts/postinstall.js +29 -0
  164. package/skills/codeman/SKILL.md +109 -15
  165. package/skills/codeman/reference/endpoints.md +66 -8
  166. package/skills/codeman/reference/messaging.md +216 -0
  167. package/skills/codeman/reference/recipes.md +59 -5
  168. package/dist/web/public/app.94825d85.js +0 -36
  169. package/dist/web/public/app.94825d85.js.br +0 -0
  170. package/dist/web/public/app.94825d85.js.gz +0 -0
  171. package/dist/web/public/constants.e7175b95.js.br +0 -0
  172. package/dist/web/public/constants.e7175b95.js.gz +0 -0
  173. package/dist/web/public/i18n.da34cfaf.js +0 -1
  174. package/dist/web/public/i18n.da34cfaf.js.br +0 -0
  175. package/dist/web/public/i18n.da34cfaf.js.gz +0 -0
  176. package/dist/web/public/keyboard-accessory.9936227d.js.br +0 -0
  177. package/dist/web/public/keyboard-accessory.9936227d.js.gz +0 -0
  178. package/dist/web/public/mobile.32cacde5.css +0 -1
  179. package/dist/web/public/mobile.32cacde5.css.br +0 -0
  180. package/dist/web/public/mobile.32cacde5.css.gz +0 -0
  181. package/dist/web/public/panels-ui.1d4203e0.js.br +0 -0
  182. package/dist/web/public/panels-ui.1d4203e0.js.gz +0 -0
  183. package/dist/web/public/settings-ui.b41d33a5.js.br +0 -0
  184. package/dist/web/public/settings-ui.b41d33a5.js.gz +0 -0
  185. package/dist/web/public/styles.c4e58e13.css.br +0 -0
  186. package/dist/web/public/styles.c4e58e13.css.gz +0 -0
  187. package/dist/web/public/terminal-ui.bc6819a9.js +0 -4
  188. package/dist/web/public/terminal-ui.bc6819a9.js.br +0 -0
  189. package/dist/web/public/terminal-ui.bc6819a9.js.gz +0 -0
  190. package/dist/web/public/voice-input.085e9e73.js.br +0 -0
@@ -11,12 +11,14 @@
11
11
  * - `generateHooksConfig()` — returns hooks object for settings.local.json
12
12
  * - `writeHooksConfig(casePath)` — writes hooks + env config to disk
13
13
  * - `ensureCodemanHooks(casePath)` — safely installs/updates hooks for a managed case
14
+ * (no production call site yet; see its doc comment before wiring one)
14
15
  * - `updateCaseEnvVars(casePath, envVars)` — merges env vars into settings
15
16
  *
16
17
  * Hook events generated: `idle_prompt`, `permission_prompt`, `elicitation_dialog`,
17
- * `stop`, `teammate_idle`, `task_completed`
18
+ * `elicitation_complete`, `elicitation_response`, `stop`, `teammate_idle`,
19
+ * `task_completed`
18
20
  *
19
- * Hook categories: `Notification` (3 matchers), `Stop` (1), `SubagentStop` (1),
21
+ * Hook categories: `Notification` (5 matchers), `Stop` (1), `SubagentStop` (1),
20
22
  * `TeammateIdle` (1), `TaskCompleted` (1), `PostToolUse` (1 self-contained
21
23
  * background Bash rewake)
22
24
  *
@@ -25,8 +27,9 @@
25
27
  *
26
28
  * @module hooks-config
27
29
  */
30
+ import { randomBytes } from 'node:crypto';
28
31
  import { existsSync } from 'node:fs';
29
- import { readFile, writeFile, mkdir, lstat, readdir, unlink, rmdir } from 'node:fs/promises';
32
+ import { readFile, writeFile, mkdir, lstat, readdir, rename, unlink, rmdir } from 'node:fs/promises';
30
33
  import { join, dirname } from 'node:path';
31
34
  import { fileURLToPath } from 'node:url';
32
35
  import { HOOK_TIMEOUT_SECONDS } from './config/auth-config.js';
@@ -37,6 +40,9 @@ import { HOOK_TIMEOUT_SECONDS } from './config/auth-config.js';
37
40
  * while an App-Settings toggle injects the statusLine into the same repo — can't
38
41
  * lose each other's changes through interleaved read-then-write. Per-path chains
39
42
  * are independent; the map self-prunes when a path's chain goes idle.
43
+ *
44
+ * The agent-skill injector keys the same map on its skill DIRECTORY, which can never
45
+ * collide with a settings-file path, so those writers serialize against each other too.
40
46
  */
41
47
  const settingsWriteLocks = new Map();
42
48
  /**
@@ -315,6 +321,16 @@ export function generateHooksConfig() {
315
321
  matcher: 'elicitation_dialog',
316
322
  hooks: [{ type: 'command', command: curlCmd('elicitation_dialog'), timeout: HOOK_TIMEOUT_SECONDS }],
317
323
  },
324
+ // The two dialog-closed notifications resolve Approvals Inbox items the
325
+ // moment a question is answered IN the terminal (long before `stop`).
326
+ {
327
+ matcher: 'elicitation_complete',
328
+ hooks: [{ type: 'command', command: curlCmd('elicitation_complete'), timeout: HOOK_TIMEOUT_SECONDS }],
329
+ },
330
+ {
331
+ matcher: 'elicitation_response',
332
+ hooks: [{ type: 'command', command: curlCmd('elicitation_response'), timeout: HOOK_TIMEOUT_SECONDS }],
333
+ },
318
334
  ],
319
335
  Stop: [
320
336
  {
@@ -554,6 +570,16 @@ export async function writeHooksConfig(casePath) {
554
570
  * user-owned settings file. It is therefore reserved for case quick-starts,
555
571
  * where the user has explicitly asked Codeman to manage that workspace. A
556
572
  * malformed existing file is left untouched rather than replaced.
573
+ *
574
+ * ⚠️ It has NO production call site: PR #233 landed it with the hook scripts and never
575
+ * wired it up, and knip can't flag it (`test/**` are entry points, so its tests count as
576
+ * a use). Kept anyway, because it is redundant with neither sibling: `writeHooksConfig`
577
+ * REPLACES a malformed settings file and rewrites unconditionally, and
578
+ * `refreshStaleCodemanHooks` deliberately never adds hooks to a case that has none. The
579
+ * one place it fits is quick-start's existing-case branch in session-routes.ts, and
580
+ * moving that branch onto this function is a POLICY change (hooks would come back for a
581
+ * user who deleted them from their case, and linked cases would start getting a hooks
582
+ * block they have never had), so that call is left to the owner rather than made here.
557
583
  */
558
584
  export async function ensureCodemanHooks(casePath) {
559
585
  const claudeDir = join(casePath, '.claude');
@@ -621,7 +647,11 @@ export async function refreshStaleCodemanHooks(casePath) {
621
647
  // on a self-signed HTTPS install.
622
648
  const hasTlsFlaglessCurl = hooksJson.includes('curl -s -X POST');
623
649
  const hasSubagentStopGuard = hooksJson.includes(SUBAGENT_STOP_GUARD_MARKER);
624
- if (!isOurs || (hasSecret && hasBackgroundWake && hasSubagentStopGuard && !hasTlsFlaglessCurl))
650
+ // Approvals Inbox needs the elicitation_complete/elicitation_response
651
+ // matchers; their absence marks a pre-inbox hooks block.
652
+ const hasElicitationComplete = hooksJson.includes('elicitation_complete');
653
+ if (!isOurs ||
654
+ (hasSecret && hasBackgroundWake && hasSubagentStopGuard && hasElicitationComplete && !hasTlsFlaglessCurl))
625
655
  return;
626
656
  const generated = generateHooksConfig();
627
657
  const merged = {
@@ -736,6 +766,29 @@ async function readAgentSkillSource() {
736
766
  }
737
767
  return files;
738
768
  }
769
+ /**
770
+ * Publish one skill file with a temp + rename, never a bare overwrite.
771
+ *
772
+ * Claude Code reads SKILL.md whole when it loads the skill, so an in-place rewrite of
773
+ * the file (20KB+, several write() syscalls) lets a load that lands mid-write see a
774
+ * TRUNCATED skill. rename() swaps the finished file in one step, so a
775
+ * reader sees either the old copy or the new one. The pid+random temp name matters
776
+ * because `codeman skill install` writes these same paths from a DIFFERENT process than
777
+ * the server, where the in-process lock cannot help: a shared temp name would let the
778
+ * two tear each other's payload (same reasoning as user-store.ts).
779
+ */
780
+ async function writeSkillFileAtomic(target, content) {
781
+ // `.tmp` last, so a leftover temp is never picked up as a `.md` skill file.
782
+ const tmpPath = `${target}.${process.pid}.${randomBytes(6).toString('hex')}.tmp`;
783
+ try {
784
+ await writeFile(tmpPath, content);
785
+ await rename(tmpPath, target);
786
+ }
787
+ catch (err) {
788
+ await unlink(tmpPath).catch(() => { });
789
+ throw err;
790
+ }
791
+ }
739
792
  async function isSymlink(path) {
740
793
  try {
741
794
  return (await lstat(path)).isSymbolicLink();
@@ -757,68 +810,81 @@ async function isSymlink(path) {
757
810
  *
758
811
  * Idempotent and cheap: unchanged files are not rewritten, so calling on every
759
812
  * session create causes no mtime churn.
813
+ *
814
+ * Serialized on the skill dir through the same lock the settings writers use: two
815
+ * sessions created at once in one repo both inject this skill, and interleaving their
816
+ * ownership read with the other's write reports a bogus result (an 'unchanged' for a
817
+ * copy the other writer had not finished). Writes go out via temp + rename, which is
818
+ * what protects a concurrent skill LOAD, in this process or the CLI's.
760
819
  */
761
820
  export async function installAgentSkillInto(skillDir) {
762
- if ((await isSymlink(dirname(skillDir))) || (await isSymlink(skillDir)))
763
- return 'symlink';
764
- let existing = null;
765
- try {
766
- existing = await readFile(join(skillDir, 'SKILL.md'), 'utf-8');
767
- }
768
- catch {
769
- // absent: fresh install
770
- }
771
- if (existing !== null && !existing.includes(AGENT_SKILL_MARKER_PREFIX))
772
- return 'foreign';
773
- const files = await readAgentSkillSource();
774
- let changed = false;
775
- for (const file of files) {
776
- const target = join(skillDir, file.relPath);
777
- let current = null;
821
+ return withSettingsLock(skillDir, async () => {
822
+ if ((await isSymlink(dirname(skillDir))) || (await isSymlink(skillDir)))
823
+ return 'symlink';
824
+ let existing = null;
778
825
  try {
779
- current = await readFile(target, 'utf-8');
826
+ existing = await readFile(join(skillDir, 'SKILL.md'), 'utf-8');
780
827
  }
781
828
  catch {
782
- // missing: will be written
829
+ // absent: fresh install
783
830
  }
784
- if (current === file.content)
785
- continue;
786
- await mkdir(dirname(target), { recursive: true });
787
- await writeFile(target, file.content);
788
- changed = true;
789
- }
790
- if (!changed)
791
- return 'unchanged';
792
- return existing === null ? 'installed' : 'refreshed';
831
+ if (existing !== null && !existing.includes(AGENT_SKILL_MARKER_PREFIX))
832
+ return 'foreign';
833
+ const files = await readAgentSkillSource();
834
+ let changed = false;
835
+ for (const file of files) {
836
+ const target = join(skillDir, file.relPath);
837
+ let current = null;
838
+ try {
839
+ current = await readFile(target, 'utf-8');
840
+ }
841
+ catch {
842
+ // missing: will be written
843
+ }
844
+ if (current === file.content)
845
+ continue;
846
+ await mkdir(dirname(target), { recursive: true });
847
+ await writeSkillFileAtomic(target, file.content);
848
+ changed = true;
849
+ }
850
+ if (!changed)
851
+ return 'unchanged';
852
+ return existing === null ? 'installed' : 'refreshed';
853
+ });
793
854
  }
794
855
  /**
795
856
  * Remove a Codeman-managed skill copy from `skillDir`. Same ownership and symlink
796
857
  * refusals as the install path. Deletes only files the packaged source would have
797
858
  * written (never `rm -rf`, so a user's extra files in the directory survive), then
798
859
  * prunes the directories bottom-up if they emptied.
860
+ *
861
+ * Shares the install path's per-dir lock so an uninstall can't run between an install's
862
+ * ownership read and its writes, which would leave half the skill back on disk.
799
863
  */
800
864
  export async function removeAgentSkillFrom(skillDir) {
801
- if ((await isSymlink(dirname(skillDir))) || (await isSymlink(skillDir)))
802
- return 'symlink';
803
- let existing = null;
804
- try {
805
- existing = await readFile(join(skillDir, 'SKILL.md'), 'utf-8');
806
- }
807
- catch {
808
- return 'absent';
809
- }
810
- if (!existing.includes(AGENT_SKILL_MARKER_PREFIX))
811
- return 'foreign';
812
- // Manifest-based, with SKILL.md as the fallback when the packaged source is
813
- // unreadable: removal must still work on an install whose skills/ dir went missing.
814
- const files = await readAgentSkillSource().catch(() => [{ relPath: 'SKILL.md', content: '' }]);
815
- for (const file of files) {
816
- await unlink(join(skillDir, file.relPath)).catch(() => { });
817
- }
818
- await rmdir(join(skillDir, 'reference')).catch(() => { }); // fails when non-empty, fine
819
- await rmdir(skillDir).catch(() => { });
820
- await rmdir(dirname(skillDir)).catch(() => { }); // prune `.claude/skills` if now empty
821
- return 'removed';
865
+ return withSettingsLock(skillDir, async () => {
866
+ if ((await isSymlink(dirname(skillDir))) || (await isSymlink(skillDir)))
867
+ return 'symlink';
868
+ let existing = null;
869
+ try {
870
+ existing = await readFile(join(skillDir, 'SKILL.md'), 'utf-8');
871
+ }
872
+ catch {
873
+ return 'absent';
874
+ }
875
+ if (!existing.includes(AGENT_SKILL_MARKER_PREFIX))
876
+ return 'foreign';
877
+ // Manifest-based, with SKILL.md as the fallback when the packaged source is
878
+ // unreadable: removal must still work on an install whose skills/ dir went missing.
879
+ const files = await readAgentSkillSource().catch(() => [{ relPath: 'SKILL.md', content: '' }]);
880
+ for (const file of files) {
881
+ await unlink(join(skillDir, file.relPath)).catch(() => { });
882
+ }
883
+ await rmdir(join(skillDir, 'reference')).catch(() => { }); // fails when non-empty, fine
884
+ await rmdir(skillDir).catch(() => { });
885
+ await rmdir(dirname(skillDir)).catch(() => { }); // prune `.claude/skills` if now empty
886
+ return 'removed';
887
+ });
822
888
  }
823
889
  /**
824
890
  * Add or remove the Codeman agent skill in `<case>/.claude/skills/codeman`,
@@ -1 +1 @@
1
- {"version":3,"file":"hooks-config.js","sourceRoot":"","sources":["../src/hooks-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks-config.js","sourceRoot":"","sources":["../src/hooks-config.ts"],"names":[],"mappings":"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"}
@@ -79,6 +79,8 @@ export interface RespawnPaneOptions {
79
79
  sessionId: string;
80
80
  workingDir: string;
81
81
  mode: SessionMode;
82
+ /** Session display name; a respawned claude keeps its `--name` peer name (version-gated, local only). */
83
+ name?: string;
82
84
  niceConfig?: NiceConfig;
83
85
  model?: string;
84
86
  claudeMode?: ClaudeMode;
@@ -213,5 +215,13 @@ export interface TerminalMultiplexer extends EventEmitter {
213
215
  * Pass `{ fullHistory: true }` to capture the entire scrollback (COD-47).
214
216
  */
215
217
  captureActivePaneBuffer?(muxName: string, opts?: PaneCaptureOptions): string | null;
218
+ /**
219
+ * Plain text of the visible frame: no styles, no cursor query, no repaint
220
+ * reconstruction. Deliberately cheaper than `capturePaneBuffer` because idle
221
+ * detection calls it on a timer: it only needs to read what the CLI is
222
+ * currently rendering, never to replay it into an xterm. Returns null when the
223
+ * pane cannot be read.
224
+ */
225
+ capturePaneText?(muxName: string, paneTarget?: string): string | null;
216
226
  }
217
227
  //# sourceMappingURL=mux-interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mux-interface.d.ts","sourceRoot":"","sources":["../src/mux-interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mux-interface.d.ts","sourceRoot":"","sources":["../src/mux-interface.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"respawn-patterns.d.ts","sourceRoot":"","sources":["../src/respawn-patterns.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAgBH;;;GAGG;AACH,eAAO,MAAM,eAAe,UAI3B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,UAkD5B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAU7D"}
1
+ {"version":3,"file":"respawn-patterns.d.ts","sourceRoot":"","sources":["../src/respawn-patterns.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAgBH;;;GAGG;AACH,eAAO,MAAM,eAAe,UAI3B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,UAkD5B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAOzD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAU7D"}
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * @module respawn-patterns
9
9
  */
10
- import { TOKEN_PATTERN } from './utils/index.js';
10
+ import { TOKEN_PATTERN, CLAUDE_WORKING_LINE_PATTERN } from './utils/index.js';
11
11
  // ========== Constants ==========
12
12
  /**
13
13
  * Pattern to detect completion messages from Claude Code.
@@ -101,7 +101,12 @@ export function isCompletionMessage(data) {
101
101
  * @returns True if any working pattern is found in the window
102
102
  */
103
103
  export function hasWorkingPattern(window) {
104
- return WORKING_PATTERNS.some((pattern) => window.includes(pattern));
104
+ // Current Claude randomizes the gerund ("Actualizing…", "Finagling…"), so the
105
+ // list above catches only a fraction of turns. The live status line's own shape
106
+ // (`… (13m 23s · ↓ 47.5k tokens)`) is what identifies the rest. Kept as an
107
+ // extra signal rather than a replacement: this window is RAW terminal data, and
108
+ // a partial repaint can split the line across chunks.
109
+ return CLAUDE_WORKING_LINE_PATTERN.test(window) || WORKING_PATTERNS.some((pattern) => window.includes(pattern));
105
110
  }
106
111
  /**
107
112
  * Extract token count from data if present.
@@ -1 +1 @@
1
- {"version":3,"file":"respawn-patterns.js","sourceRoot":"","sources":["../src/respawn-patterns.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,kCAAkC;AAElC;;;;;;;GAOG;AACH,MAAM,uBAAuB,GAAG,0CAA0C,CAAC;AAE3E;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,GAAG,EAAE,kBAAkB;IACvB,QAAQ,EAAE,kBAAkB;IAC5B,GAAG,EAAE,6BAA6B;CACnC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,WAAW;IACX,SAAS;IACT,UAAU;IACV,UAAU;IACV,WAAW;IACX,WAAW;IACX,cAAc;IACd,SAAS,EAAE,iCAAiC;IAC5C,WAAW;IACX,UAAU;IACV,YAAY;IACZ,UAAU;IACV,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,SAAS;IACT,UAAU;IACV,UAAU;IACV,UAAU;IACV,YAAY;IACZ,SAAS;IACT,YAAY;IACZ,SAAS;IACT,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG,EAAE,gBAAgB;IACrB,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG,EAAE,uBAAuB;IAC5B,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG,EAAE,mBAAmB;CACzB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AACtE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,IAAI,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;IACvC,IAAI,MAAM,KAAK,GAAG;QAAE,KAAK,IAAI,IAAI,CAAC;SAC7B,IAAI,MAAM,KAAK,GAAG;QAAE,KAAK,IAAI,OAAO,CAAC;IAE1C,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"respawn-patterns.js","sourceRoot":"","sources":["../src/respawn-patterns.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,aAAa,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAE9E,kCAAkC;AAElC;;;;;;;GAOG;AACH,MAAM,uBAAuB,GAAG,0CAA0C,CAAC;AAE3E;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,GAAG,EAAE,kBAAkB;IACvB,QAAQ,EAAE,kBAAkB;IAC5B,GAAG,EAAE,6BAA6B;CACnC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,WAAW;IACX,SAAS;IACT,UAAU;IACV,UAAU;IACV,WAAW;IACX,WAAW;IACX,cAAc;IACd,SAAS,EAAE,iCAAiC;IAC5C,WAAW;IACX,UAAU;IACV,YAAY;IACZ,UAAU;IACV,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,SAAS;IACT,UAAU;IACV,UAAU;IACV,UAAU;IACV,YAAY;IACZ,SAAS;IACT,YAAY;IACZ,SAAS;IACT,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG,EAAE,gBAAgB;IACrB,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG,EAAE,uBAAuB;IAC5B,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG,EAAE,mBAAmB;CACzB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,8EAA8E;IAC9E,gFAAgF;IAChF,2EAA2E;IAC3E,gFAAgF;IAChF,sDAAsD;IACtD,OAAO,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAClH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,IAAI,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;IACvC,IAAI,MAAM,KAAK,GAAG;QAAE,KAAK,IAAI,IAAI,CAAC;SAC7B,IAAI,MAAM,KAAK,GAAG;QAAE,KAAK,IAAI,OAAO,CAAC;IAE1C,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * @fileoverview Pure working/idle heuristics for a Claude interactive pane.
3
+ *
4
+ * Split out of `session.ts` so the thresholds and the state math are unit
5
+ * testable without a PTY (same reasoning as `session-order.ts` /
6
+ * `usage-limit-patterns.ts`).
7
+ *
8
+ * **Why activity and not the status line.** Claude Code's working indicator is
9
+ * `✻ Actualizing… (13m 23s · ↓ 47.5k tokens)`, where the glyph animates through
10
+ * `· ✢ ✳ ∗ ✻ ✽` and the gerund is randomized per turn. Neither the braille
11
+ * spinner (`SPINNER_PATTERN`) nor the old keyword list (`Thinking|Writing|
12
+ * Reading|Running`) matches any of that, so the pane looked idle for a whole
13
+ * turn. Matching the new line does not rescue the stream either: tmux ships
14
+ * PARTIAL repaints, so measured on a live worker the complete line reached the
15
+ * PTY roughly once every 20 seconds, while the composer's `❯` (which is what
16
+ * ARMS idle detection) arrived every single second.
17
+ *
18
+ * What is left is the one thing measured to separate the two states cleanly: a
19
+ * working pane repaints, an idle pane emits nothing at all. Sampled once per
20
+ * second for 12s across six live sessions, the two working ones produced output
21
+ * in 12/12 windows and the four idle ones in 0/12.
22
+ */
23
+ /**
24
+ * A gap longer than this ends a run of continuous output. Claude repaints at
25
+ * least once a second while working, so this leaves generous headroom.
26
+ */
27
+ export declare const ACTIVITY_GAP_MS = 2000;
28
+ /**
29
+ * Continuous output for this long means the pane is working. Long enough that a
30
+ * one-off repaint (an update-check line, a rotating tip) cannot reach it.
31
+ */
32
+ export declare const WORKING_STREAK_MS = 2000;
33
+ /**
34
+ * Silence for this long is what confirms the pane really went idle. Must stay
35
+ * above ACTIVITY_GAP_MS, or a pause between two repaints of one turn would
36
+ * read as the end of the turn.
37
+ */
38
+ export declare const IDLE_SILENCE_MS = 2500;
39
+ /** How often a pending idle confirmation re-checks a pane that is still noisy. */
40
+ export declare const IDLE_RECHECK_MS = 500;
41
+ /**
42
+ * Floor between two pane probes for one session. The probe shells out to tmux,
43
+ * so this is what keeps a screenful of busy sessions from turning idle detection
44
+ * into a subprocess storm.
45
+ */
46
+ export declare const PANE_PROBE_MIN_INTERVAL_MS = 1500;
47
+ /**
48
+ * How long to wait before looking again at a pane the probe just called working.
49
+ * Claude can sit silent for tens of seconds inside one tool call, so this is the
50
+ * cadence that carries a long quiet turn, so it is deliberately slow.
51
+ */
52
+ export declare const PANE_PROBE_RECHECK_MS = 5000;
53
+ /** An unbroken run of PTY output. */
54
+ export interface ActivityStreak {
55
+ /** When this run began. */
56
+ startedAt: number;
57
+ /** The most recent chunk in it. */
58
+ lastAt: number;
59
+ }
60
+ /**
61
+ * Fold one output chunk into the current streak, starting a new one when the
62
+ * pane has been quiet longer than `gapMs`.
63
+ */
64
+ export declare function trackActivityStreak(streak: ActivityStreak | null, now: number, gapMs?: number): ActivityStreak;
65
+ /**
66
+ * True once a streak has been running long enough to mean work rather than a
67
+ * single repaint. Measured on the streak's own span (`lastAt - startedAt`), not
68
+ * against the caller's clock, so a stale streak cannot age into a true.
69
+ */
70
+ export declare function isSustainedActivity(streak: ActivityStreak | null, streakMs?: number): boolean;
71
+ /** True when the pane has produced nothing for long enough to call it idle. */
72
+ export declare function isPaneQuiet(lastActivityAt: number, now: number, silenceMs?: number): boolean;
73
+ //# sourceMappingURL=session-activity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-activity.d.ts","sourceRoot":"","sources":["../src/session-activity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH;;;GAGG;AACH,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC;;;GAGG;AACH,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC;;;;GAIG;AACH,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,kFAAkF;AAClF,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C,qCAAqC;AACrC,MAAM,WAAW,cAAc;IAC7B,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,cAAc,GAAG,IAAI,EAC7B,GAAG,EAAE,MAAM,EACX,KAAK,GAAE,MAAwB,GAC9B,cAAc,CAGhB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,EAAE,QAAQ,GAAE,MAA0B,GAAG,OAAO,CAEhH;AAED,+EAA+E;AAC/E,wBAAgB,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,GAAE,MAAwB,GAAG,OAAO,CAE7G"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * @fileoverview Pure working/idle heuristics for a Claude interactive pane.
3
+ *
4
+ * Split out of `session.ts` so the thresholds and the state math are unit
5
+ * testable without a PTY (same reasoning as `session-order.ts` /
6
+ * `usage-limit-patterns.ts`).
7
+ *
8
+ * **Why activity and not the status line.** Claude Code's working indicator is
9
+ * `✻ Actualizing… (13m 23s · ↓ 47.5k tokens)`, where the glyph animates through
10
+ * `· ✢ ✳ ∗ ✻ ✽` and the gerund is randomized per turn. Neither the braille
11
+ * spinner (`SPINNER_PATTERN`) nor the old keyword list (`Thinking|Writing|
12
+ * Reading|Running`) matches any of that, so the pane looked idle for a whole
13
+ * turn. Matching the new line does not rescue the stream either: tmux ships
14
+ * PARTIAL repaints, so measured on a live worker the complete line reached the
15
+ * PTY roughly once every 20 seconds, while the composer's `❯` (which is what
16
+ * ARMS idle detection) arrived every single second.
17
+ *
18
+ * What is left is the one thing measured to separate the two states cleanly: a
19
+ * working pane repaints, an idle pane emits nothing at all. Sampled once per
20
+ * second for 12s across six live sessions, the two working ones produced output
21
+ * in 12/12 windows and the four idle ones in 0/12.
22
+ */
23
+ /**
24
+ * A gap longer than this ends a run of continuous output. Claude repaints at
25
+ * least once a second while working, so this leaves generous headroom.
26
+ */
27
+ export const ACTIVITY_GAP_MS = 2000;
28
+ /**
29
+ * Continuous output for this long means the pane is working. Long enough that a
30
+ * one-off repaint (an update-check line, a rotating tip) cannot reach it.
31
+ */
32
+ export const WORKING_STREAK_MS = 2000;
33
+ /**
34
+ * Silence for this long is what confirms the pane really went idle. Must stay
35
+ * above ACTIVITY_GAP_MS, or a pause between two repaints of one turn would
36
+ * read as the end of the turn.
37
+ */
38
+ export const IDLE_SILENCE_MS = 2500;
39
+ /** How often a pending idle confirmation re-checks a pane that is still noisy. */
40
+ export const IDLE_RECHECK_MS = 500;
41
+ /**
42
+ * Floor between two pane probes for one session. The probe shells out to tmux,
43
+ * so this is what keeps a screenful of busy sessions from turning idle detection
44
+ * into a subprocess storm.
45
+ */
46
+ export const PANE_PROBE_MIN_INTERVAL_MS = 1500;
47
+ /**
48
+ * How long to wait before looking again at a pane the probe just called working.
49
+ * Claude can sit silent for tens of seconds inside one tool call, so this is the
50
+ * cadence that carries a long quiet turn, so it is deliberately slow.
51
+ */
52
+ export const PANE_PROBE_RECHECK_MS = 5000;
53
+ /**
54
+ * Fold one output chunk into the current streak, starting a new one when the
55
+ * pane has been quiet longer than `gapMs`.
56
+ */
57
+ export function trackActivityStreak(streak, now, gapMs = ACTIVITY_GAP_MS) {
58
+ if (!streak || now - streak.lastAt > gapMs)
59
+ return { startedAt: now, lastAt: now };
60
+ return { startedAt: streak.startedAt, lastAt: now };
61
+ }
62
+ /**
63
+ * True once a streak has been running long enough to mean work rather than a
64
+ * single repaint. Measured on the streak's own span (`lastAt - startedAt`), not
65
+ * against the caller's clock, so a stale streak cannot age into a true.
66
+ */
67
+ export function isSustainedActivity(streak, streakMs = WORKING_STREAK_MS) {
68
+ return !!streak && streak.lastAt - streak.startedAt >= streakMs;
69
+ }
70
+ /** True when the pane has produced nothing for long enough to call it idle. */
71
+ export function isPaneQuiet(lastActivityAt, now, silenceMs = IDLE_SILENCE_MS) {
72
+ return now - lastActivityAt >= silenceMs;
73
+ }
74
+ //# sourceMappingURL=session-activity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-activity.js","sourceRoot":"","sources":["../src/session-activity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AAEpC;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAEtC;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AAEpC,kFAAkF;AAClF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC;AAEnC;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAE/C;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAU1C;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAA6B,EAC7B,GAAW,EACX,QAAgB,eAAe;IAE/B,IAAI,CAAC,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK;QAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IACnF,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACtD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAA6B,EAAE,WAAmB,iBAAiB;IACrG,OAAO,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,IAAI,QAAQ,CAAC;AAClE,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,WAAW,CAAC,cAAsB,EAAE,GAAW,EAAE,YAAoB,eAAe;IAClG,OAAO,GAAG,GAAG,cAAc,IAAI,SAAS,CAAC;AAC3C,CAAC"}
@@ -21,6 +21,36 @@ import type { ClaudeMode, EffortLevel } from './types.js';
21
21
  * claude >= 2.1.154; rejected by the --effort flag)
22
22
  */
23
23
  export declare function buildEffortCliArgs(effort?: EffortLevel): string[];
24
+ /**
25
+ * Minimum Claude CLI version for passing `--name` at spawn. 2.1.224 is the release
26
+ * that ships cross-session messaging (the feature that makes the peer name matter),
27
+ * and the flag's presence at exactly this version was verified against the installed
28
+ * binary (`2.1.224 --help` lists `-n, --name`). The gate MUST stay fail-closed: an
29
+ * older or unknown CLI aborts startup on an unknown flag ("error: unknown option"),
30
+ * which would kill every session spawn: so no version means no flag, and the
31
+ * command line stays byte-identical to the pre-`--name` one.
32
+ */
33
+ export declare const CLAUDE_NAME_FLAG_MIN_VERSION = "2.1.224";
34
+ /**
35
+ * Reduce a Codeman session name to a string safe to pass as the Claude CLI
36
+ * `--name` value. Allowlist, not escaping: keeps Unicode letters/digits (CJK
37
+ * session names survive) plus ` . _ : -`, which excludes every character that is
38
+ * special inside the double-quoted shell interpolation buildSpawnCommand uses
39
+ * (`"`, `$`, backslash, backtick) as well as newlines. Leading dashes/punctuation
40
+ * are stripped so the value can never be parsed as another CLI option, and the
41
+ * result is capped at 64 chars. Returns undefined when nothing safe remains;
42
+ * callers must then omit the flag entirely (never send `--name ""`).
43
+ */
44
+ export declare function sanitizeCliSessionName(name?: string): string | undefined;
45
+ /**
46
+ * Build the `--name <session name>` args pair, version-gated and fail-closed.
47
+ * Returns [] unless the CLI version is KNOWN to support the flag (>= 2.1.224):
48
+ * a null/undefined version (probe failed, or running under vitest where
49
+ * getClaudeCliVersion() is hermetically null) yields [], keeping the spawn
50
+ * command identical to a Codeman without this feature. The name itself is a
51
+ * SOFT default, exactly like model and effort: `/rename` in-session still works.
52
+ */
53
+ export declare function buildNameCliArgs(sessionName: string | undefined, cliVersion: string | null | undefined): string[];
24
54
  /**
25
55
  * Build args for an interactive Claude CLI session (direct PTY, non-mux fallback).
26
56
  *
@@ -29,9 +59,11 @@ export declare function buildEffortCliArgs(effort?: EffortLevel): string[];
29
59
  * @param model - Optional model override (e.g., 'opus', 'sonnet')
30
60
  * @param allowedTools - Optional comma-separated allowed tools list
31
61
  * @param effort - Optional effort level, injected via --settings (overridable in-session)
62
+ * @param sessionName - Optional Codeman session name, passed as `--name` (version-gated)
63
+ * @param cliVersion - Installed Claude CLI version for the `--name` gate (null = omit the flag)
32
64
  * @returns Array of CLI arguments
33
65
  */
34
- export declare function buildInteractiveArgs(sessionId: string, claudeMode: ClaudeMode, model?: string, allowedTools?: string, effort?: EffortLevel): string[];
66
+ export declare function buildInteractiveArgs(sessionId: string, claudeMode: ClaudeMode, model?: string, allowedTools?: string, effort?: EffortLevel, sessionName?: string, cliVersion?: string | null): string[];
35
67
  /**
36
68
  * Build args for a one-shot Claude CLI prompt (runPrompt mode).
37
69
  *