aicodeman 1.23.2 → 1.24.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 (154) hide show
  1. package/README.md +10 -10
  2. package/README.zh-CN.md +2 -2
  3. package/dist/config/dependency-registry.d.ts.map +1 -1
  4. package/dist/config/dependency-registry.js +25 -0
  5. package/dist/config/dependency-registry.js.map +1 -1
  6. package/dist/docker-hosts.d.ts.map +1 -1
  7. package/dist/docker-hosts.js +17 -0
  8. package/dist/docker-hosts.js.map +1 -1
  9. package/dist/mux-interface.d.ts +3 -1
  10. package/dist/mux-interface.d.ts.map +1 -1
  11. package/dist/omp-transcript.d.ts +46 -0
  12. package/dist/omp-transcript.d.ts.map +1 -0
  13. package/dist/omp-transcript.js +174 -0
  14. package/dist/omp-transcript.js.map +1 -0
  15. package/dist/remote-hosts.d.ts.map +1 -1
  16. package/dist/remote-hosts.js +2 -0
  17. package/dist/remote-hosts.js.map +1 -1
  18. package/dist/services/unified-session-service.d.ts +7 -0
  19. package/dist/services/unified-session-service.d.ts.map +1 -1
  20. package/dist/services/unified-session-service.js +4 -0
  21. package/dist/services/unified-session-service.js.map +1 -1
  22. package/dist/session.d.ts +29 -1
  23. package/dist/session.d.ts.map +1 -1
  24. package/dist/session.js +119 -6
  25. package/dist/session.js.map +1 -1
  26. package/dist/tmux-manager.d.ts +2 -1
  27. package/dist/tmux-manager.d.ts.map +1 -1
  28. package/dist/tmux-manager.js +45 -5
  29. package/dist/tmux-manager.js.map +1 -1
  30. package/dist/types/session.d.ts +15 -4
  31. package/dist/types/session.d.ts.map +1 -1
  32. package/dist/types/session.js +1 -1
  33. package/dist/types/session.js.map +1 -1
  34. package/dist/utils/index.d.ts +1 -0
  35. package/dist/utils/index.d.ts.map +1 -1
  36. package/dist/utils/index.js +1 -0
  37. package/dist/utils/index.js.map +1 -1
  38. package/dist/utils/omp-cli-resolver.d.ts +50 -0
  39. package/dist/utils/omp-cli-resolver.d.ts.map +1 -0
  40. package/dist/utils/omp-cli-resolver.js +123 -0
  41. package/dist/utils/omp-cli-resolver.js.map +1 -0
  42. package/dist/utils/omp-session-resolver.d.ts +55 -0
  43. package/dist/utils/omp-session-resolver.d.ts.map +1 -0
  44. package/dist/utils/omp-session-resolver.js +195 -0
  45. package/dist/utils/omp-session-resolver.js.map +1 -0
  46. package/dist/web/public/admin-ui.js.gz +0 -0
  47. package/dist/web/public/api-client.c9b1cddc.js.gz +0 -0
  48. package/dist/web/public/{app.3734fd6f.js → app.616de349.js} +7 -7
  49. package/dist/web/public/app.616de349.js.br +0 -0
  50. package/dist/web/public/app.616de349.js.gz +0 -0
  51. package/dist/web/public/approvals-ui.js.gz +0 -0
  52. package/dist/web/public/constants.f4ea0a19.js.gz +0 -0
  53. package/dist/web/public/cron-ui.js.gz +0 -0
  54. package/dist/web/public/entrance-animations.js.gz +0 -0
  55. package/dist/web/public/home-sessions.js +1 -0
  56. package/dist/web/public/home-sessions.js.br +0 -0
  57. package/dist/web/public/home-sessions.js.gz +0 -0
  58. package/dist/web/public/i18n.9ae15b51.js.gz +0 -0
  59. package/dist/web/public/image-input.ee16ad88.js.gz +0 -0
  60. package/dist/web/public/index.html +17 -8
  61. package/dist/web/public/index.html.br +0 -0
  62. package/dist/web/public/index.html.gz +0 -0
  63. package/dist/web/public/input-cjk.87f14251.js.gz +0 -0
  64. package/dist/web/public/keyboard-accessory.0454a3e9.js.gz +0 -0
  65. package/dist/web/public/mobile-handlers.0f83a608.js.gz +0 -0
  66. package/dist/web/public/mobile-overview.js +2 -1
  67. package/dist/web/public/mobile-overview.js.br +0 -0
  68. package/dist/web/public/mobile-overview.js.gz +0 -0
  69. package/dist/web/public/mobile.87674154.css +1 -0
  70. package/dist/web/public/mobile.87674154.css.br +0 -0
  71. package/dist/web/public/mobile.87674154.css.gz +0 -0
  72. package/dist/web/public/notification-manager.5d229063.js.gz +0 -0
  73. package/dist/web/public/orchestrator-panel.js.gz +0 -0
  74. package/dist/web/public/{panels-ui.344de87d.js → panels-ui.e6e06034.js} +2 -2
  75. package/dist/web/public/panels-ui.e6e06034.js.br +0 -0
  76. package/dist/web/public/panels-ui.e6e06034.js.gz +0 -0
  77. package/dist/web/public/ralph-panel.6de2d0f8.js.gz +0 -0
  78. package/dist/web/public/ralph-wizard.13a1831e.js.gz +0 -0
  79. package/dist/web/public/readmymind-ui.js.gz +0 -0
  80. package/dist/web/public/respawn-ui.ff0dae4c.js.gz +0 -0
  81. package/dist/web/public/sanitize-html.bc7078d6.js.gz +0 -0
  82. package/dist/web/public/session-lineage.js.gz +0 -0
  83. package/dist/web/public/session-ui.c558f981.js +68 -0
  84. package/dist/web/public/session-ui.c558f981.js.br +0 -0
  85. package/dist/web/public/session-ui.c558f981.js.gz +0 -0
  86. package/dist/web/public/{settings-ui.3261b896.js → settings-ui.2a814a17.js} +1 -1
  87. package/dist/web/public/settings-ui.2a814a17.js.br +0 -0
  88. package/dist/web/public/settings-ui.2a814a17.js.gz +0 -0
  89. package/dist/web/public/styles.dd7e411f.css +1 -0
  90. package/dist/web/public/styles.dd7e411f.css.br +0 -0
  91. package/dist/web/public/styles.dd7e411f.css.gz +0 -0
  92. package/dist/web/public/subagent-windows.e6ca799f.js.gz +0 -0
  93. package/dist/web/public/sw.js.gz +0 -0
  94. package/dist/web/public/tab-rail-resize.42c24949.js.gz +0 -0
  95. package/dist/web/public/{terminal-ui.5e0c230c.js → terminal-ui.70445f81.js} +2 -2
  96. package/dist/web/public/terminal-ui.70445f81.js.br +0 -0
  97. package/dist/web/public/terminal-ui.70445f81.js.gz +0 -0
  98. package/dist/web/public/ultracode-panel.js.gz +0 -0
  99. package/dist/web/public/ultracode-windows.js.gz +0 -0
  100. package/dist/web/public/upload.html.gz +0 -0
  101. package/dist/web/public/vendor/dompurify.min.js.gz +0 -0
  102. package/dist/web/public/vendor/marked.min.js.gz +0 -0
  103. package/dist/web/public/vendor/xterm-addon-fit.min.js.gz +0 -0
  104. package/dist/web/public/vendor/xterm-addon-serialize.min.js.gz +0 -0
  105. package/dist/web/public/vendor/xterm-addon-unicode11.min.js.gz +0 -0
  106. package/dist/web/public/vendor/xterm-addon-webgl.min.js.gz +0 -0
  107. package/dist/web/public/vendor/xterm-predictive-echo.bd6882b8.js.gz +0 -0
  108. package/dist/web/public/vendor/xterm-zerolag-input.6fee72f2.js.gz +0 -0
  109. package/dist/web/public/vendor/xterm.css.gz +0 -0
  110. package/dist/web/public/vendor/xterm.min.js.gz +0 -0
  111. package/dist/web/public/voice-input.4ec670b0.js.gz +0 -0
  112. package/dist/web/public/voice-pcm-worklet.js.gz +0 -0
  113. package/dist/web/public/webview-tabs.js.gz +0 -0
  114. package/dist/web/route-helpers.d.ts +13 -1
  115. package/dist/web/route-helpers.d.ts.map +1 -1
  116. package/dist/web/route-helpers.js +32 -6
  117. package/dist/web/route-helpers.js.map +1 -1
  118. package/dist/web/routes/session-routes.d.ts +14 -1
  119. package/dist/web/routes/session-routes.d.ts.map +1 -1
  120. package/dist/web/routes/session-routes.js +121 -19
  121. package/dist/web/routes/session-routes.js.map +1 -1
  122. package/dist/web/routes/system-routes.d.ts.map +1 -1
  123. package/dist/web/routes/system-routes.js +9 -0
  124. package/dist/web/routes/system-routes.js.map +1 -1
  125. package/dist/web/schemas.d.ts +14 -0
  126. package/dist/web/schemas.d.ts.map +1 -1
  127. package/dist/web/schemas.js +29 -4
  128. package/dist/web/schemas.js.map +1 -1
  129. package/dist/web/server.d.ts.map +1 -1
  130. package/dist/web/server.js +4 -1
  131. package/dist/web/server.js.map +1 -1
  132. package/package.json +1 -1
  133. package/skills/codeman/SKILL.md +1 -1
  134. package/skills/codeman/reference/endpoints.md +12 -12
  135. package/skills/codeman/reference/messaging.md +2 -2
  136. package/skills/codeman/reference/recipes.md +1 -1
  137. package/skills/codeman/reference/verbs.md +3 -3
  138. package/dist/web/public/app.3734fd6f.js.br +0 -0
  139. package/dist/web/public/app.3734fd6f.js.gz +0 -0
  140. package/dist/web/public/mobile.cab92e3f.css +0 -1
  141. package/dist/web/public/mobile.cab92e3f.css.br +0 -0
  142. package/dist/web/public/mobile.cab92e3f.css.gz +0 -0
  143. package/dist/web/public/panels-ui.344de87d.js.br +0 -0
  144. package/dist/web/public/panels-ui.344de87d.js.gz +0 -0
  145. package/dist/web/public/session-ui.103656d3.js +0 -68
  146. package/dist/web/public/session-ui.103656d3.js.br +0 -0
  147. package/dist/web/public/session-ui.103656d3.js.gz +0 -0
  148. package/dist/web/public/settings-ui.3261b896.js.br +0 -0
  149. package/dist/web/public/settings-ui.3261b896.js.gz +0 -0
  150. package/dist/web/public/styles.0d71ea9a.css +0 -1
  151. package/dist/web/public/styles.0d71ea9a.css.br +0 -0
  152. package/dist/web/public/styles.0d71ea9a.css.gz +0 -0
  153. package/dist/web/public/terminal-ui.5e0c230c.js.br +0 -0
  154. package/dist/web/public/terminal-ui.5e0c230c.js.gz +0 -0
@@ -8,7 +8,7 @@
8
8
  * - SessionConfig — creation-time config (id, workingDir, createdAt)
9
9
  * - SessionOutput — captured stdout/stderr/exitCode
10
10
  * - SessionStatus — 'idle' | 'busy' | 'stopped' | 'error'
11
- * - SessionMode — 'claude' | 'shell' | 'opencode' | 'codex' | 'gemini' | 'antigravity' | 'pi' | 'grok' | 'deepseek' (which CLI backend)
11
+ * - SessionMode — 'claude' | 'shell' | 'opencode' | 'codex' | 'gemini' | 'antigravity' | 'pi' | 'grok' | 'deepseek' | 'omp' (which CLI backend)
12
12
  * - ClaudeMode — CLI permission mode ('dangerously-skip-permissions' | 'auto' | 'normal' | 'allowedTools')
13
13
  * - SessionColor — visual differentiation color
14
14
  * - OpenCodeConfig — OpenCode-specific settings (model, autoAllowTools, continueSession)
@@ -42,8 +42,8 @@ export type SessionStatus = 'idle' | 'busy' | 'stopped' | 'error';
42
42
  */
43
43
  export type ClaudeMode = 'dangerously-skip-permissions' | 'auto' | 'normal' | 'allowedTools';
44
44
  /** Session mode: which CLI backend a session runs */
45
- export type SessionMode = 'claude' | 'shell' | 'opencode' | 'codex' | 'gemini' | 'antigravity' | 'pi' | 'grok' | 'deepseek';
46
- export type RemoteCommandMode = Extract<SessionMode, 'shell' | 'claude' | 'opencode' | 'codex' | 'gemini' | 'antigravity' | 'pi' | 'grok' | 'deepseek'>;
45
+ export type SessionMode = 'claude' | 'shell' | 'opencode' | 'codex' | 'gemini' | 'antigravity' | 'pi' | 'grok' | 'deepseek' | 'omp';
46
+ export type RemoteCommandMode = Extract<SessionMode, 'shell' | 'claude' | 'opencode' | 'codex' | 'gemini' | 'antigravity' | 'pi' | 'grok' | 'deepseek' | 'omp'>;
47
47
  /**
48
48
  * Advanced SSH connection options shared by RemoteHost and SessionRemote.
49
49
  *
@@ -134,7 +134,7 @@ export interface RemoteSessionInfo {
134
134
  windows: number;
135
135
  }
136
136
  /** Which CLI backends a Docker case can run (same set as remote). */
137
- export type DockerCommandMode = Extract<SessionMode, 'shell' | 'claude' | 'opencode' | 'codex' | 'gemini' | 'antigravity' | 'pi' | 'grok' | 'deepseek'>;
137
+ export type DockerCommandMode = Extract<SessionMode, 'shell' | 'claude' | 'opencode' | 'codex' | 'gemini' | 'antigravity' | 'pi' | 'grok' | 'deepseek' | 'omp'>;
138
138
  /** Container engine. Docker and Podman differ in the uid/userns + host-gateway alias. */
139
139
  export type DockerEngine = 'docker' | 'podman';
140
140
  /**
@@ -291,6 +291,15 @@ export interface AntigravityConfig {
291
291
  /** Resume a previous conversation by ID (passed via --conversation). */
292
292
  resumeConversationId?: string;
293
293
  }
294
+ /** OMP CLI session configuration */
295
+ export interface OmpConfig {
296
+ /** Model identifier (e.g., "crof/glm-5.2"). Passed via --model. */
297
+ model?: string;
298
+ /** Resume a previous conversation (passed via --resume). */
299
+ resumeSessionId?: string;
300
+ /** Continue the most recent session in this directory (passed via --continue). */
301
+ continueSession?: boolean;
302
+ }
294
303
  /**
295
304
  * Pi CLI (pi.dev) session configuration.
296
305
  *
@@ -563,6 +572,8 @@ export interface SessionState {
563
572
  grokConfig?: GrokConfig;
564
573
  /** DeepSeek Harness configuration (only for mode === 'deepseek') */
565
574
  deepSeekConfig?: DeepSeekConfig;
575
+ /** OMP-specific configuration (only for mode === 'omp') */
576
+ ompConfig?: OmpConfig;
566
577
  /** Claude conversation session ID to resume after reboot (set by restore script) */
567
578
  resumeSessionId?: string;
568
579
  /** Claude CLI effort level (soft default via --settings, switchable in-session via /effort) */
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/types/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/types/session.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@
8
8
  * - SessionConfig — creation-time config (id, workingDir, createdAt)
9
9
  * - SessionOutput — captured stdout/stderr/exitCode
10
10
  * - SessionStatus — 'idle' | 'busy' | 'stopped' | 'error'
11
- * - SessionMode — 'claude' | 'shell' | 'opencode' | 'codex' | 'gemini' | 'antigravity' | 'pi' | 'grok' | 'deepseek' (which CLI backend)
11
+ * - SessionMode — 'claude' | 'shell' | 'opencode' | 'codex' | 'gemini' | 'antigravity' | 'pi' | 'grok' | 'deepseek' | 'omp' (which CLI backend)
12
12
  * - ClaudeMode — CLI permission mode ('dangerously-skip-permissions' | 'auto' | 'normal' | 'allowedTools')
13
13
  * - SessionColor — visual differentiation color
14
14
  * - OpenCodeConfig — OpenCode-specific settings (model, autoAllowTools, continueSession)
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/types/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAyPH;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,CAAU,CAAC;AAK7F,qDAAqD;AACrD,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,OAAO,KAAK,KAAK,SAAS,IAAK,aAAmC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrF,CAAC;AAgWD;;GAEG"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/types/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AA0PH;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,CAAU,CAAC;AAK7F,qDAAqD;AACrD,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,OAAO,KAAK,KAAK,SAAS,IAAK,aAAmC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrF,CAAC;AA4WD;;GAEG"}
@@ -30,4 +30,5 @@ export { resolveDeepSeekDir, isDeepSeekAvailable, isDeepSeekRunnable, getDeepSee
30
30
  export type { DeepSeekProfile, DeepSeekProfileKind } from './deepseek-cli-resolver.js';
31
31
  export { compileFileQuery, matchFileQuery } from './file-query.js';
32
32
  export type { FileQueryMatcher } from './file-query.js';
33
+ export { resolveOmpDir, isOmpAvailable, getOmpNotFoundMessage, getOmpCliVersion } from './omp-cli-resolver.js';
33
34
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,aAAa,EACb,eAAe,EACf,2BAA2B,EAC3B,SAAS,EACT,iBAAiB,EACjB,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAC5F,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACzG,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACpH,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,6BAA6B,EAC7B,mBAAmB,EACnB,cAAc,EACd,aAAa,GACd,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACnE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,aAAa,EACb,eAAe,EACf,2BAA2B,EAC3B,SAAS,EACT,iBAAiB,EACjB,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAC5F,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACzG,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACpH,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,6BAA6B,EAC7B,mBAAmB,EACnB,cAAc,EACd,aAAa,GACd,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACnE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -27,4 +27,5 @@ export { resolvePiDir, isPiAvailable, getPiCliVersion, getPiNotFoundMessage } fr
27
27
  export { resolveGrokDir, isGrokAvailable, getGrokCliVersion, getGrokNotFoundMessage } from './grok-cli-resolver.js';
28
28
  export { resolveDeepSeekDir, isDeepSeekAvailable, isDeepSeekRunnable, getDeepSeekCliVersion, getDeepSeekNotFoundMessage, listDeepSeekProfiles, resolveDefaultDeepSeekProfile, isLaunchableProfile, resolveDshHome, profileExists, } from './deepseek-cli-resolver.js';
29
29
  export { compileFileQuery, matchFileQuery } from './file-query.js';
30
+ export { resolveOmpDir, isOmpAvailable, getOmpNotFoundMessage, getOmpCliVersion } from './omp-cli-resolver.js';
30
31
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,aAAa,EACb,eAAe,EACf,2BAA2B,EAC3B,SAAS,EACT,iBAAiB,EACjB,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAC5F,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACzG,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACpH,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,6BAA6B,EAC7B,mBAAmB,EACnB,cAAc,EACd,aAAa,GACd,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,aAAa,EACb,eAAe,EACf,2BAA2B,EAC3B,SAAS,EACT,iBAAiB,EACjB,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAC5F,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACzG,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACpH,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,6BAA6B,EAC7B,mBAAmB,EACnB,cAAc,EACd,aAAa,GACd,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * @fileoverview Resolve the OMP CLI binary across common install paths.
3
+ *
4
+ * Uses the shared `createCliExecutableResolver` (cli-executable-resolver.ts),
5
+ * same as the sibling claude/opencode/codex/gemini/antigravity/pi resolvers:
6
+ * server process PATH first, then common install directories, then — last,
7
+ * because it is the only step that spawns anything — an interactive login
8
+ * shell, which is what finds nvm/Homebrew/user-npm installs when Codeman runs
9
+ * as a systemd/launchd service with a minimal PATH.
10
+ *
11
+ * Provides an augmented PATH directory for tmux sessions.
12
+ *
13
+ * @module utils/omp-cli-resolver
14
+ */
15
+ import { type CliResolverHost } from './cli-executable-resolver.js';
16
+ /**
17
+ * A real `omp --version` prints `omp/<semver>` (e.g. `omp/17.4.0`).
18
+ *
19
+ * Shape mirrors PI_VERSION_REGEX: a capturing group and a leading boundary so
20
+ * `omp/17.4.0` matches while an unrelated `omp` (some other program) does not.
21
+ */
22
+ export declare const OMP_VERSION_REGEX: RegExp;
23
+ type OmpVersionProbe = (binPath: string) => string | null;
24
+ /**
25
+ * Creates an isolated OMP wrapper around an injected host, version probe and
26
+ * clock. Omitting `versionProbe` keeps the ambient (VITEST-gated) probe, which
27
+ * is exactly what the hermeticity test exercises.
28
+ */
29
+ export declare function createOmpResolverForTest(host: CliResolverHost, versionProbe?: OmpVersionProbe, now?: () => number): import("./cli-executable-resolver.js").CliExecutableResolver<string>;
30
+ /**
31
+ * Finds the directory containing a verified `omp` binary.
32
+ * Checks `which omp` first, then falls back to common install locations. Every
33
+ * candidate must pass the `omp --version` sanity probe before it is accepted.
34
+ *
35
+ * @returns Directory path, or null if not found
36
+ */
37
+ export declare function resolveOmpDir(): string | null;
38
+ /**
39
+ * Check if the OMP CLI is available on the system.
40
+ */
41
+ export declare function isOmpAvailable(): boolean;
42
+ export declare function getOmpNotFoundMessage(): string;
43
+ /**
44
+ * Version reported by the resolved `omp` binary, or null when omp is
45
+ * unavailable. Surfaced through `GET /api/omp/status` so a misresolution is
46
+ * diagnosable from the UI.
47
+ */
48
+ export declare function getOmpCliVersion(): string | null;
49
+ export {};
50
+ //# sourceMappingURL=omp-cli-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"omp-cli-resolver.d.ts","sourceRoot":"","sources":["../../src/utils/omp-cli-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,8BAA8B,CAAC;AAkBtC;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,QAAiC,CAAC;AAmChE,KAAK,eAAe,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;AAqB1D;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,eAAe,EAAE,YAAY,CAAC,EAAE,eAAe,EAAE,GAAG,CAAC,EAAE,MAAM,MAAM,wEAEjH;AAID;;;;;;GAMG;AACH,wBAAgB,aAAa,IAAI,MAAM,GAAG,IAAI,CAE7C;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAEhD"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * @fileoverview Resolve the OMP CLI binary across common install paths.
3
+ *
4
+ * Uses the shared `createCliExecutableResolver` (cli-executable-resolver.ts),
5
+ * same as the sibling claude/opencode/codex/gemini/antigravity/pi resolvers:
6
+ * server process PATH first, then common install directories, then — last,
7
+ * because it is the only step that spawns anything — an interactive login
8
+ * shell, which is what finds nvm/Homebrew/user-npm installs when Codeman runs
9
+ * as a systemd/launchd service with a minimal PATH.
10
+ *
11
+ * Provides an augmented PATH directory for tmux sessions.
12
+ *
13
+ * @module utils/omp-cli-resolver
14
+ */
15
+ import { execFileSync } from 'node:child_process';
16
+ import { join } from 'node:path';
17
+ import { homedir } from 'node:os';
18
+ import { EXEC_TIMEOUT_MS } from '../config/exec-timeout.js';
19
+ import { createCliExecutableResolver, formatCliNotFoundMessage, } from './cli-executable-resolver.js';
20
+ /**
21
+ * Common directories where the OMP CLI binary may be installed. `~/.local/bin`
22
+ * leads: omp.sh's installer targets `$HOME/.local/bin` with no `--dir`
23
+ * override (verified against a real `--no-cache` Docker build — see
24
+ * docker/agent.Dockerfile); `~/.omp/bin` was an unverified guess that turned
25
+ * out wrong, kept after `~/.local/bin` only as a defensive fallback.
26
+ */
27
+ const OMP_SEARCH_DIRS = [
28
+ join(homedir(), '.local', 'bin'),
29
+ join(homedir(), '.omp', 'bin'),
30
+ '/usr/local/bin',
31
+ join(homedir(), '.bun', 'bin'),
32
+ join(homedir(), '.npm-global', 'bin'),
33
+ join(homedir(), 'bin'),
34
+ ];
35
+ /**
36
+ * A real `omp --version` prints `omp/<semver>` (e.g. `omp/17.4.0`).
37
+ *
38
+ * Shape mirrors PI_VERSION_REGEX: a capturing group and a leading boundary so
39
+ * `omp/17.4.0` matches while an unrelated `omp` (some other program) does not.
40
+ */
41
+ export const OMP_VERSION_REGEX = /(?:^|\s)omp\/(\d+\.\d+\.\d+)/;
42
+ const OMP_NOT_FOUND = 'OMP CLI not found. Install with: curl -fsSL https://omp.sh/install | sh';
43
+ /**
44
+ * Run `omp --version` on a candidate path and return the trimmed version when
45
+ * it looks like the coding agent. Returns null for anything else — a missing
46
+ * binary, a non-zero exit, a hang (timeout), or output that is not
47
+ * `omp/<semver>`-shaped (which is how an unrelated `omp` on PATH gets rejected).
48
+ *
49
+ * Never runs under vitest: the suites must stay hermetic and must not depend on
50
+ * whether the dev box happens to have omp installed. The shared resolver host
51
+ * is already inert under vitest, so this gate is defense in depth for any
52
+ * opted-in host that still carries the default probe.
53
+ */
54
+ function probeOmpVersion(binPath) {
55
+ if (process.env.VITEST)
56
+ return null;
57
+ try {
58
+ const out = execFileSync(binPath, ['--version'], {
59
+ encoding: 'utf-8',
60
+ timeout: EXEC_TIMEOUT_MS,
61
+ stdio: ['ignore', 'pipe', 'ignore'],
62
+ // A stuck or hostile `omp` that ignores SIGTERM would survive the timeout
63
+ // and block the server (execFileSync keeps waiting after the signal).
64
+ killSignal: 'SIGKILL',
65
+ }).trim();
66
+ const candidate = OMP_VERSION_REGEX.exec(out)?.[1];
67
+ if (candidate)
68
+ return candidate;
69
+ console.warn(`[OmpResolver] Ignoring ${binPath}: "omp --version" printed ${JSON.stringify(out.slice(0, 80))}`);
70
+ }
71
+ catch (err) {
72
+ console.warn(`[OmpResolver] Ignoring ${binPath}: "omp --version" failed (${err.message})`);
73
+ }
74
+ return null;
75
+ }
76
+ function createOmpResolver(host, versionProbe = probeOmpVersion, now) {
77
+ return createCliExecutableResolver({
78
+ binary: 'omp',
79
+ searchDirs: OMP_SEARCH_DIRS,
80
+ validateCandidate: (binPath) => {
81
+ const version = versionProbe(binPath);
82
+ return version ? { accepted: true, metadata: version } : { accepted: false };
83
+ },
84
+ now,
85
+ }, host);
86
+ }
87
+ /**
88
+ * Creates an isolated OMP wrapper around an injected host, version probe and
89
+ * clock. Omitting `versionProbe` keeps the ambient (VITEST-gated) probe, which
90
+ * is exactly what the hermeticity test exercises.
91
+ */
92
+ export function createOmpResolverForTest(host, versionProbe, now) {
93
+ return createOmpResolver(host, versionProbe ?? probeOmpVersion, now);
94
+ }
95
+ const ompResolver = createOmpResolver();
96
+ /**
97
+ * Finds the directory containing a verified `omp` binary.
98
+ * Checks `which omp` first, then falls back to common install locations. Every
99
+ * candidate must pass the `omp --version` sanity probe before it is accepted.
100
+ *
101
+ * @returns Directory path, or null if not found
102
+ */
103
+ export function resolveOmpDir() {
104
+ return ompResolver.resolve()?.directory ?? null;
105
+ }
106
+ /**
107
+ * Check if the OMP CLI is available on the system.
108
+ */
109
+ export function isOmpAvailable() {
110
+ return resolveOmpDir() !== null;
111
+ }
112
+ export function getOmpNotFoundMessage() {
113
+ return formatCliNotFoundMessage(OMP_NOT_FOUND, ompResolver.diagnostics());
114
+ }
115
+ /**
116
+ * Version reported by the resolved `omp` binary, or null when omp is
117
+ * unavailable. Surfaced through `GET /api/omp/status` so a misresolution is
118
+ * diagnosable from the UI.
119
+ */
120
+ export function getOmpCliVersion() {
121
+ return ompResolver.resolve()?.metadata ?? null;
122
+ }
123
+ //# sourceMappingURL=omp-cli-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"omp-cli-resolver.js","sourceRoot":"","sources":["../../src/utils/omp-cli-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * @fileoverview Resolve the real OMP session id for a working directory, so a
3
+ * relaunch can pass `--resume <id>` instead of the ambiguous `--continue`.
4
+ *
5
+ * `omp` persists each conversation as its own file under
6
+ * `~/.omp/agent/sessions/<mangled-workingDir>/<ISO-timestamp>_<session-uuid>.jsonl`
7
+ * (workingDir mangled the same way Claude Code mangles `~/.claude/projects/*`:
8
+ * every `/` replaced with `-`). `--continue` picks whichever file in that
9
+ * directory is newest, which silently drifts to the WRONG conversation the
10
+ * moment two Codeman sessions ever touch the same directory — exactly what a
11
+ * closed-then-resumed row plus a still-running duplicate produces. Resolving
12
+ * the id once and pinning it with `--resume` removes that ambiguity for every
13
+ * later relaunch of the same Codeman session.
14
+ *
15
+ * @module utils/omp-session-resolver
16
+ */
17
+ /**
18
+ * Mirrors `omp`'s own directory mangling. Confirmed empirically against real
19
+ * `~/.omp/agent/sessions/` directory names (2026-08-27): unlike Claude Code's
20
+ * `~/.claude/projects/*`, which keeps the home prefix (`-home-user-dev-foo`),
21
+ * omp collapses a home-relative workingDir to its home-relative remainder
22
+ * FIRST (`/home/user/dev/foo` -> `/dev/foo`) and only then dash-replaces
23
+ * (`-dev-foo`) — a path outside $HOME (e.g. `/tmp/...`) is dash-replaced as-is.
24
+ * Getting this wrong doesn't error, it just silently returns an empty
25
+ * directory listing: findLatestOmpSessionId() below then always falls through
26
+ * to null, so continuation pinning quietly degrades to omp's own ambiguous
27
+ * `--continue` for every case under $HOME (i.e. virtually all real Codeman
28
+ * cases) while appearing to work in `/tmp`-based manual testing.
29
+ * Pure so it's unit-testable without touching the filesystem.
30
+ */
31
+ export declare function mangleOmpWorkingDir(workingDir: string): string;
32
+ /**
33
+ * Newest OMP session id for this working directory, or null when the
34
+ * directory doesn't exist yet (never launched) or holds no session files.
35
+ *
36
+ * Deliberately "newest file, full stop" rather than a time-windowed match:
37
+ * callers only invoke this at a moment where that's unambiguous by
38
+ * construction — right after the file that answers it was the only thing
39
+ * that could have just been written (a dead pane's process already exited,
40
+ * or a session being resumed has no live sibling in the same directory yet).
41
+ */
42
+ export declare function findLatestOmpSessionId(workingDir: string): string | null;
43
+ /**
44
+ * Safe variant of {@link findLatestOmpSessionId} for callers where two omp
45
+ * sessions CAN share the same case directory — a dead-pane respawn, a
46
+ * boot-recovery reattach, or a first-idle capture — instead of the narrower
47
+ * cases where "newest file" is unambiguous by construction. Verifies each
48
+ * candidate's own header `cwd` against `workingDir` (mangling is a lossy
49
+ * one-way transform — see {@link mangleOmpWorkingDir} — so trusting the
50
+ * filename-derived id alone isn't enough) and skips any id a sibling session
51
+ * has already claimed. Claims the id it returns so a concurrent caller
52
+ * resolving the same directory in the same tick can't double-claim it.
53
+ */
54
+ export declare function resolveAndClaimOmpSessionId(workingDir: string): string | null;
55
+ //# sourceMappingURL=omp-session-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"omp-session-resolver.d.ts","sourceRoot":"","sources":["../../src/utils/omp-session-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AASH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAY9D;AAaD;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA0BxE;AAqDD;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA4B7E"}
@@ -0,0 +1,195 @@
1
+ /**
2
+ * @fileoverview Resolve the real OMP session id for a working directory, so a
3
+ * relaunch can pass `--resume <id>` instead of the ambiguous `--continue`.
4
+ *
5
+ * `omp` persists each conversation as its own file under
6
+ * `~/.omp/agent/sessions/<mangled-workingDir>/<ISO-timestamp>_<session-uuid>.jsonl`
7
+ * (workingDir mangled the same way Claude Code mangles `~/.claude/projects/*`:
8
+ * every `/` replaced with `-`). `--continue` picks whichever file in that
9
+ * directory is newest, which silently drifts to the WRONG conversation the
10
+ * moment two Codeman sessions ever touch the same directory — exactly what a
11
+ * closed-then-resumed row plus a still-running duplicate produces. Resolving
12
+ * the id once and pinning it with `--resume` removes that ambiguity for every
13
+ * later relaunch of the same Codeman session.
14
+ *
15
+ * @module utils/omp-session-resolver
16
+ */
17
+ import { closeSync, openSync, readdirSync, readSync, statSync } from 'node:fs';
18
+ import { homedir } from 'node:os';
19
+ import { join, sep } from 'node:path';
20
+ /** A real OMP session file is `<ISO-ish-timestamp>_<uuid>.jsonl`; only the uuid matters here. */
21
+ const OMP_SESSION_FILE_PATTERN = /^.+_([a-zA-Z0-9-]+)\.jsonl$/;
22
+ /**
23
+ * Mirrors `omp`'s own directory mangling. Confirmed empirically against real
24
+ * `~/.omp/agent/sessions/` directory names (2026-08-27): unlike Claude Code's
25
+ * `~/.claude/projects/*`, which keeps the home prefix (`-home-user-dev-foo`),
26
+ * omp collapses a home-relative workingDir to its home-relative remainder
27
+ * FIRST (`/home/user/dev/foo` -> `/dev/foo`) and only then dash-replaces
28
+ * (`-dev-foo`) — a path outside $HOME (e.g. `/tmp/...`) is dash-replaced as-is.
29
+ * Getting this wrong doesn't error, it just silently returns an empty
30
+ * directory listing: findLatestOmpSessionId() below then always falls through
31
+ * to null, so continuation pinning quietly degrades to omp's own ambiguous
32
+ * `--continue` for every case under $HOME (i.e. virtually all real Codeman
33
+ * cases) while appearing to work in `/tmp`-based manual testing.
34
+ * Pure so it's unit-testable without touching the filesystem.
35
+ */
36
+ export function mangleOmpWorkingDir(workingDir) {
37
+ // UNVERIFIED EDGE CASE: if $HOME is itself a symlink, this compares against
38
+ // the literal homedir() string, not a realpath()-resolved one. Whether that
39
+ // matches omp's own behavior is unconfirmed — we only empirically verified
40
+ // omp strips a literal $HOME prefix (2026-08-27), not that it canonicalizes
41
+ // symlinks first. Do not "fix" this with realpathSync() without confirming
42
+ // omp's actual behavior on a symlinked-home setup; guessing wrong here would
43
+ // trade one silent mismatch for a different one.
44
+ const home = homedir();
45
+ const relative = workingDir === home || workingDir.startsWith(home + sep) ? workingDir.slice(home.length) : workingDir;
46
+ return relative.replace(/\//g, '-');
47
+ }
48
+ /**
49
+ * `~/.omp` — omp's own env overrides are mostly `PI_*` (shared with pi mode, already
50
+ * allowlisted in schemas.ts), and `PI_CONFIG_DIR` in particular can move this root.
51
+ * That is not honored here: a session with a redirected `PI_CONFIG_DIR` silently
52
+ * degrades pinning/history to omp's own ambiguous `--continue` instead of erroring,
53
+ * a known gap (found in Ark0N/Codeman#353 review) shared with pi and not fixed here.
54
+ */
55
+ function resolveOmpHome() {
56
+ return join(homedir(), '.omp');
57
+ }
58
+ /**
59
+ * Newest OMP session id for this working directory, or null when the
60
+ * directory doesn't exist yet (never launched) or holds no session files.
61
+ *
62
+ * Deliberately "newest file, full stop" rather than a time-windowed match:
63
+ * callers only invoke this at a moment where that's unambiguous by
64
+ * construction — right after the file that answers it was the only thing
65
+ * that could have just been written (a dead pane's process already exited,
66
+ * or a session being resumed has no live sibling in the same directory yet).
67
+ */
68
+ export function findLatestOmpSessionId(workingDir) {
69
+ const dir = join(resolveOmpHome(), 'agent', 'sessions', mangleOmpWorkingDir(workingDir));
70
+ let entries;
71
+ try {
72
+ entries = readdirSync(dir);
73
+ }
74
+ catch {
75
+ return null;
76
+ }
77
+ let newestMtime = -Infinity;
78
+ let newestId = null;
79
+ for (const entry of entries) {
80
+ const match = OMP_SESSION_FILE_PATTERN.exec(entry);
81
+ if (!match)
82
+ continue;
83
+ let mtimeMs;
84
+ try {
85
+ mtimeMs = statSync(join(dir, entry)).mtimeMs;
86
+ }
87
+ catch {
88
+ continue;
89
+ }
90
+ if (mtimeMs > newestMtime) {
91
+ newestMtime = mtimeMs;
92
+ newestId = match[1];
93
+ }
94
+ }
95
+ return newestId;
96
+ }
97
+ /**
98
+ * The session header line is always near the top of the file (the
99
+ * transcript's own "second line" — see omp-transcript.ts), so identifying a
100
+ * file never needs reading the whole thing (up to multi-MB, per that same
101
+ * module's size cap). Bounded read only.
102
+ */
103
+ const HEADER_READ_BYTES = 8 * 1024;
104
+ function readOmpSessionHeader(filePath) {
105
+ let raw;
106
+ try {
107
+ const fd = openSync(filePath, 'r');
108
+ try {
109
+ const buf = Buffer.alloc(HEADER_READ_BYTES);
110
+ const bytesRead = readSync(fd, buf, 0, HEADER_READ_BYTES, 0);
111
+ raw = buf.toString('utf-8', 0, bytesRead);
112
+ }
113
+ finally {
114
+ closeSync(fd);
115
+ }
116
+ }
117
+ catch {
118
+ return null;
119
+ }
120
+ for (const line of raw.split('\n')) {
121
+ if (!line)
122
+ continue;
123
+ let entry;
124
+ try {
125
+ entry = JSON.parse(line);
126
+ }
127
+ catch {
128
+ continue;
129
+ }
130
+ if (!entry || typeof entry !== 'object')
131
+ continue;
132
+ const e = entry;
133
+ if (e.type === 'session' && typeof e.id === 'string' && typeof e.cwd === 'string') {
134
+ return { id: e.id, cwd: e.cwd };
135
+ }
136
+ }
137
+ return null;
138
+ }
139
+ /**
140
+ * Process-wide registry of OMP session ids already pinned to a live Codeman
141
+ * session. Two omp tabs in the same case dir (`w1-foo`, `w2-foo`) resolve
142
+ * against the SAME directory on disk — without this, both could pick the
143
+ * newest file and alias onto each other's conversation (found in upstream PR
144
+ * review, Ark0N/Codeman#353). Never released: this holds at most a handful of
145
+ * short ids per real omp conversation ever pinned in this process's lifetime,
146
+ * immaterial memory even after weeks of uptime — correctness here matters
147
+ * more than reclaiming it.
148
+ */
149
+ const claimedOmpSessionIds = new Set();
150
+ /**
151
+ * Safe variant of {@link findLatestOmpSessionId} for callers where two omp
152
+ * sessions CAN share the same case directory — a dead-pane respawn, a
153
+ * boot-recovery reattach, or a first-idle capture — instead of the narrower
154
+ * cases where "newest file" is unambiguous by construction. Verifies each
155
+ * candidate's own header `cwd` against `workingDir` (mangling is a lossy
156
+ * one-way transform — see {@link mangleOmpWorkingDir} — so trusting the
157
+ * filename-derived id alone isn't enough) and skips any id a sibling session
158
+ * has already claimed. Claims the id it returns so a concurrent caller
159
+ * resolving the same directory in the same tick can't double-claim it.
160
+ */
161
+ export function resolveAndClaimOmpSessionId(workingDir) {
162
+ const dir = join(resolveOmpHome(), 'agent', 'sessions', mangleOmpWorkingDir(workingDir));
163
+ let entries;
164
+ try {
165
+ entries = readdirSync(dir);
166
+ }
167
+ catch {
168
+ return null;
169
+ }
170
+ let newestMtime = -Infinity;
171
+ let newestId = null;
172
+ for (const entry of entries) {
173
+ if (!OMP_SESSION_FILE_PATTERN.test(entry))
174
+ continue;
175
+ const filePath = join(dir, entry);
176
+ let mtimeMs;
177
+ try {
178
+ mtimeMs = statSync(filePath).mtimeMs;
179
+ }
180
+ catch {
181
+ continue;
182
+ }
183
+ if (mtimeMs <= newestMtime)
184
+ continue;
185
+ const header = readOmpSessionHeader(filePath);
186
+ if (!header || header.cwd !== workingDir || claimedOmpSessionIds.has(header.id))
187
+ continue;
188
+ newestMtime = mtimeMs;
189
+ newestId = header.id;
190
+ }
191
+ if (newestId)
192
+ claimedOmpSessionIds.add(newestId);
193
+ return newestId;
194
+ }
195
+ //# sourceMappingURL=omp-session-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"omp-session-resolver.js","sourceRoot":"","sources":["../../src/utils/omp-session-resolver.ts"],"names":[],"mappings":"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"}
Binary file