@ai-devkit/agent-manager 0.35.0 → 0.37.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 (651) hide show
  1. package/dist/AgentManager.d.ts +9 -4
  2. package/dist/AgentManager.d.ts.map +1 -1
  3. package/dist/AgentManager.js +21 -2
  4. package/dist/AgentManager.js.map +1 -1
  5. package/dist/__tests__/AgentManager.test.js +151 -3
  6. package/dist/__tests__/AgentManager.test.js.map +1 -1
  7. package/dist/__tests__/adapters/IncrementalSessionRefresh.test.js +486 -0
  8. package/dist/__tests__/adapters/IncrementalSessionRefresh.test.js.map +1 -0
  9. package/dist/__tests__/adapters/adapterProcessImports.test.js +52 -0
  10. package/dist/__tests__/adapters/adapterProcessImports.test.js.map +1 -0
  11. package/dist/__tests__/adapters/adapterSnapshotCandidates.test.js +247 -0
  12. package/dist/__tests__/adapters/adapterSnapshotCandidates.test.js.map +1 -0
  13. package/dist/__tests__/capacity/claude.test.js +485 -0
  14. package/dist/__tests__/capacity/claude.test.js.map +1 -0
  15. package/dist/__tests__/capacity/openai.test.js +670 -0
  16. package/dist/__tests__/capacity/openai.test.js.map +1 -0
  17. package/dist/__tests__/capacity/wham.test.js +144 -0
  18. package/dist/__tests__/capacity/wham.test.js.map +1 -0
  19. package/dist/__tests__/harnesses/BoundedSummarySkip.test.js +568 -0
  20. package/dist/__tests__/harnesses/BoundedSummarySkip.test.js.map +1 -0
  21. package/dist/__tests__/harnesses/SessionSummaryEquivalence.test.js +1089 -0
  22. package/dist/__tests__/harnesses/SessionSummaryEquivalence.test.js.map +1 -0
  23. package/dist/__tests__/harnesses/antigravity/AntigravityCliAdapter.subprocess.test.js +143 -0
  24. package/dist/__tests__/harnesses/antigravity/AntigravityCliAdapter.subprocess.test.js.map +1 -0
  25. package/dist/__tests__/harnesses/antigravity/AntigravityCliAdapter.test.js +462 -0
  26. package/dist/__tests__/harnesses/antigravity/AntigravityCliAdapter.test.js.map +1 -0
  27. package/dist/__tests__/harnesses/builtinAdapters.test.js +33 -0
  28. package/dist/__tests__/harnesses/builtinAdapters.test.js.map +1 -0
  29. package/dist/__tests__/{providers → harnesses}/claude/ClaudeAgentMapper.test.js +4 -4
  30. package/dist/__tests__/harnesses/claude/ClaudeAgentMapper.test.js.map +1 -0
  31. package/dist/__tests__/{adapters → harnesses/claude}/ClaudeCodeAdapter.test.js +47 -19
  32. package/dist/__tests__/harnesses/claude/ClaudeCodeAdapter.test.js.map +1 -0
  33. package/dist/__tests__/{providers → harnesses}/claude/ClaudeSessionLocator.test.js +1 -12
  34. package/dist/__tests__/{providers → harnesses}/claude/ClaudeSessionLocator.test.js.map +1 -1
  35. package/dist/__tests__/{utils → harnesses/claude}/ClaudeSessionParser.test.js +2 -2
  36. package/dist/__tests__/harnesses/claude/ClaudeSessionParser.test.js.map +1 -0
  37. package/dist/__tests__/{print → harnesses/claude/durable}/ClaudeCliProbe.test.js +1 -1
  38. package/dist/__tests__/harnesses/claude/durable/ClaudeCliProbe.test.js.map +1 -0
  39. package/dist/__tests__/{print → harnesses/claude/durable}/ClaudePrintAgent.integration.test.js +1 -1
  40. package/dist/__tests__/harnesses/claude/durable/ClaudePrintAgent.integration.test.js.map +1 -0
  41. package/dist/__tests__/{print → harnesses/claude/durable}/ClaudePrintAgentService.test.js +4 -4
  42. package/dist/__tests__/harnesses/claude/durable/ClaudePrintAgentService.test.js.map +1 -0
  43. package/dist/__tests__/{print → harnesses/claude/durable}/ClaudePrintRunner.test.js +1 -1
  44. package/dist/__tests__/harnesses/claude/durable/ClaudePrintRunner.test.js.map +1 -0
  45. package/dist/__tests__/{adapters → harnesses/codex}/CodexAdapter.test.js +304 -10
  46. package/dist/__tests__/harnesses/codex/CodexAdapter.test.js.map +1 -0
  47. package/dist/__tests__/harnesses/codex/CodexSessionLocator.test.js +463 -0
  48. package/dist/__tests__/harnesses/codex/CodexSessionLocator.test.js.map +1 -0
  49. package/dist/__tests__/{providers → harnesses}/codex/CodexSessionMapping.test.js +1 -1
  50. package/dist/__tests__/{providers → harnesses}/codex/CodexSessionMapping.test.js.map +1 -1
  51. package/dist/__tests__/{providers → harnesses}/codex/CodexSessionParser.test.js +1 -1
  52. package/dist/__tests__/{providers → harnesses}/codex/CodexSessionParser.test.js.map +1 -1
  53. package/dist/__tests__/{durable → harnesses/codex/durable}/CodexCliProbe.test.js +4 -4
  54. package/dist/__tests__/harnesses/codex/durable/CodexCliProbe.test.js.map +1 -0
  55. package/dist/__tests__/{durable → harnesses/codex/durable}/CodexDurableAgentRepository.test.js +1 -1
  56. package/dist/__tests__/harnesses/codex/durable/CodexDurableAgentRepository.test.js.map +1 -0
  57. package/dist/__tests__/{durable → harnesses/codex/durable}/CodexPrintAgent.integration.test.js +1 -1
  58. package/dist/__tests__/harnesses/codex/durable/CodexPrintAgent.integration.test.js.map +1 -0
  59. package/dist/__tests__/{durable → harnesses/codex/durable}/CodexPrintAgentService.test.js +8 -18
  60. package/dist/__tests__/harnesses/codex/durable/CodexPrintAgentService.test.js.map +1 -0
  61. package/dist/__tests__/{durable → harnesses/codex/durable}/CodexPrintRunner.test.js +2 -7
  62. package/dist/__tests__/harnesses/codex/durable/CodexPrintRunner.test.js.map +1 -0
  63. package/dist/__tests__/{providers → harnesses}/copilot/CopilotAdapter.test.js +1 -1
  64. package/dist/__tests__/{providers → harnesses}/copilot/CopilotAdapter.test.js.map +1 -1
  65. package/dist/__tests__/harnesses/copilot/CopilotRefreshIO.test.js +290 -0
  66. package/dist/__tests__/harnesses/copilot/CopilotRefreshIO.test.js.map +1 -0
  67. package/dist/__tests__/{providers → harnesses}/gemini/GeminiCliAdapter.test.js +34 -25
  68. package/dist/__tests__/harnesses/gemini/GeminiCliAdapter.test.js.map +1 -0
  69. package/dist/__tests__/harnesses/gemini/GeminiSessionJsonl.test.js +491 -0
  70. package/dist/__tests__/harnesses/gemini/GeminiSessionJsonl.test.js.map +1 -0
  71. package/dist/__tests__/harnesses/gemini/GeminiSessionLocator.test.js +399 -0
  72. package/dist/__tests__/harnesses/gemini/GeminiSessionLocator.test.js.map +1 -0
  73. package/dist/__tests__/{providers → harnesses}/grok/GrokAgentMapper.test.js +1 -1
  74. package/dist/__tests__/{providers → harnesses}/grok/GrokAgentMapper.test.js.map +1 -1
  75. package/dist/__tests__/{providers → harnesses}/grok/GrokCliAdapter.test.js +1 -1
  76. package/dist/__tests__/{providers → harnesses}/grok/GrokCliAdapter.test.js.map +1 -1
  77. package/dist/__tests__/harnesses/grok/GrokIncrementalRefresh.test.js +167 -0
  78. package/dist/__tests__/harnesses/grok/GrokIncrementalRefresh.test.js.map +1 -0
  79. package/dist/__tests__/{providers → harnesses}/grok/GrokSessionLocator.test.js +1 -1
  80. package/dist/__tests__/{providers → harnesses}/grok/GrokSessionLocator.test.js.map +1 -1
  81. package/dist/__tests__/harnesses/grok/GrokSessionParser.test.js +301 -0
  82. package/dist/__tests__/harnesses/grok/GrokSessionParser.test.js.map +1 -0
  83. package/dist/__tests__/harnesses/kiro/KiroAdapter.test.js +662 -0
  84. package/dist/__tests__/harnesses/kiro/KiroAdapter.test.js.map +1 -0
  85. package/dist/__tests__/{providers → harnesses}/opencode/OpenCodeAdapter.test.js +1 -1
  86. package/dist/__tests__/{providers → harnesses}/opencode/OpenCodeAdapter.test.js.map +1 -1
  87. package/dist/__tests__/{providers → harnesses}/opencode/OpenCodeAgentMapper.test.js +1 -1
  88. package/dist/__tests__/{providers → harnesses}/opencode/OpenCodeAgentMapper.test.js.map +1 -1
  89. package/dist/__tests__/{providers → harnesses}/opencode/OpenCodeSessionLocator.test.js +2 -2
  90. package/dist/__tests__/{providers → harnesses}/opencode/OpenCodeSessionLocator.test.js.map +1 -1
  91. package/dist/__tests__/{providers → harnesses}/opencode/OpenCodeSessionParser.test.js +1 -1
  92. package/dist/__tests__/{providers → harnesses}/opencode/OpenCodeSessionParser.test.js.map +1 -1
  93. package/dist/__tests__/{providers → harnesses}/pi/PiAdapter.test.js +1 -1
  94. package/dist/__tests__/{providers → harnesses}/pi/PiAdapter.test.js.map +1 -1
  95. package/dist/__tests__/harnesses/pi/PiDiscoveryIO.test.js +382 -0
  96. package/dist/__tests__/harnesses/pi/PiDiscoveryIO.test.js.map +1 -0
  97. package/dist/__tests__/{providers → harnesses}/pi/PiSessionParser.test.js +171 -1
  98. package/dist/__tests__/harnesses/pi/PiSessionParser.test.js.map +1 -0
  99. package/dist/__tests__/{providers → harnesses}/pi/PiSessionTracker.test.js +1 -1
  100. package/dist/__tests__/{providers → harnesses}/pi/PiSessionTracker.test.js.map +1 -1
  101. package/dist/__tests__/{providers → harnesses}/pi/durable/PiCliProbe.test.js.map +1 -1
  102. package/dist/__tests__/{providers → harnesses}/pi/durable/PiDurableAgentRepository.test.js.map +1 -1
  103. package/dist/__tests__/{providers → harnesses}/pi/durable/PiPrintAgentService.test.js.map +1 -1
  104. package/dist/__tests__/{providers → harnesses}/pi/durable/PiPrintProtocol.test.js +1 -1
  105. package/dist/__tests__/{providers → harnesses}/pi/durable/PiPrintProtocol.test.js.map +1 -1
  106. package/dist/__tests__/{providers → harnesses}/pi/durable/PiPrintRunner.test.js.map +1 -1
  107. package/dist/__tests__/{providers → harnesses}/pi/durable/PiStreamParser.test.js +1 -1
  108. package/dist/__tests__/{providers → harnesses}/pi/durable/PiStreamParser.test.js.map +1 -1
  109. package/dist/__tests__/readiness/AgentReadiness.test.js +20 -0
  110. package/dist/__tests__/readiness/AgentReadiness.test.js.map +1 -1
  111. package/dist/__tests__/runtime/ManagedAgentRuntime.test.js +49 -0
  112. package/dist/__tests__/runtime/ManagedAgentRuntime.test.js.map +1 -1
  113. package/dist/__tests__/utils/IncrementalJsonlSummary.test.js +650 -0
  114. package/dist/__tests__/utils/IncrementalJsonlSummary.test.js.map +1 -0
  115. package/dist/__tests__/utils/agents.test.js +72 -2
  116. package/dist/__tests__/utils/agents.test.js.map +1 -1
  117. package/dist/__tests__/utils/conversationTail.bench.test.js +258 -0
  118. package/dist/__tests__/utils/conversationTail.bench.test.js.map +1 -0
  119. package/dist/__tests__/utils/conversationTailParity.test.js +588 -0
  120. package/dist/__tests__/utils/conversationTailParity.test.js.map +1 -0
  121. package/dist/__tests__/utils/jsonlTail.test.js +360 -0
  122. package/dist/__tests__/utils/jsonlTail.test.js.map +1 -0
  123. package/dist/__tests__/utils/matchingConstants.test.js +35 -0
  124. package/dist/__tests__/utils/matchingConstants.test.js.map +1 -0
  125. package/dist/__tests__/utils/process.test.js +436 -2
  126. package/dist/__tests__/utils/process.test.js.map +1 -1
  127. package/dist/adapters/AgentAdapter.d.ts +25 -6
  128. package/dist/adapters/AgentAdapter.d.ts.map +1 -1
  129. package/dist/adapters/AgentAdapter.js +12 -3
  130. package/dist/adapters/AgentAdapter.js.map +1 -1
  131. package/dist/capacity/claude.d.ts +17 -0
  132. package/dist/capacity/claude.d.ts.map +1 -0
  133. package/dist/capacity/claude.js +271 -0
  134. package/dist/capacity/claude.js.map +1 -0
  135. package/dist/capacity/codex.d.ts +1 -2
  136. package/dist/capacity/codex.d.ts.map +1 -1
  137. package/dist/capacity/codex.js +5 -47
  138. package/dist/capacity/codex.js.map +1 -1
  139. package/dist/capacity/index.d.ts +11 -0
  140. package/dist/capacity/index.d.ts.map +1 -1
  141. package/dist/capacity/index.js +17 -0
  142. package/dist/capacity/index.js.map +1 -1
  143. package/dist/capacity/openai.d.ts +47 -0
  144. package/dist/capacity/openai.d.ts.map +1 -0
  145. package/dist/capacity/openai.js +307 -0
  146. package/dist/capacity/openai.js.map +1 -0
  147. package/dist/capacity/wham.d.ts +16 -0
  148. package/dist/capacity/wham.d.ts.map +1 -0
  149. package/dist/capacity/wham.js +66 -0
  150. package/dist/capacity/wham.js.map +1 -0
  151. package/dist/harnesses/antigravity/AntigravityAgentMapper.d.ts +13 -0
  152. package/dist/harnesses/antigravity/AntigravityAgentMapper.d.ts.map +1 -0
  153. package/dist/harnesses/antigravity/AntigravityAgentMapper.js +30 -0
  154. package/dist/harnesses/antigravity/AntigravityAgentMapper.js.map +1 -0
  155. package/dist/harnesses/antigravity/AntigravityCliAdapter.d.ts +32 -0
  156. package/dist/harnesses/antigravity/AntigravityCliAdapter.d.ts.map +1 -0
  157. package/dist/harnesses/antigravity/AntigravityCliAdapter.js +97 -0
  158. package/dist/harnesses/antigravity/AntigravityCliAdapter.js.map +1 -0
  159. package/dist/harnesses/antigravity/AntigravitySessionLocator.d.ts +30 -0
  160. package/dist/harnesses/antigravity/AntigravitySessionLocator.d.ts.map +1 -0
  161. package/dist/harnesses/antigravity/AntigravitySessionLocator.js +56 -0
  162. package/dist/harnesses/antigravity/AntigravitySessionLocator.js.map +1 -0
  163. package/dist/harnesses/antigravity/AntigravitySessionParser.d.ts +75 -0
  164. package/dist/harnesses/antigravity/AntigravitySessionParser.d.ts.map +1 -0
  165. package/dist/harnesses/antigravity/AntigravitySessionParser.js +174 -0
  166. package/dist/harnesses/antigravity/AntigravitySessionParser.js.map +1 -0
  167. package/dist/{providers → harnesses}/claude/ClaudeAgentMapper.d.ts.map +1 -1
  168. package/dist/{providers → harnesses}/claude/ClaudeAgentMapper.js +4 -10
  169. package/dist/harnesses/claude/ClaudeAgentMapper.js.map +1 -0
  170. package/dist/{providers → harnesses}/claude/ClaudeCodeAdapter.d.ts +5 -6
  171. package/dist/harnesses/claude/ClaudeCodeAdapter.d.ts.map +1 -0
  172. package/dist/{providers → harnesses}/claude/ClaudeCodeAdapter.js +17 -15
  173. package/dist/harnesses/claude/ClaudeCodeAdapter.js.map +1 -0
  174. package/dist/{providers → harnesses}/claude/ClaudeSessionLocator.d.ts.map +1 -1
  175. package/dist/{providers → harnesses}/claude/ClaudeSessionLocator.js +3 -3
  176. package/dist/harnesses/claude/ClaudeSessionLocator.js.map +1 -0
  177. package/dist/{providers → harnesses}/claude/ClaudeSessionParser.d.ts +40 -6
  178. package/dist/harnesses/claude/ClaudeSessionParser.d.ts.map +1 -0
  179. package/dist/{providers → harnesses}/claude/ClaudeSessionParser.js +141 -85
  180. package/dist/harnesses/claude/ClaudeSessionParser.js.map +1 -0
  181. package/dist/{providers → harnesses}/claude/durable/ClaudeCliProbe.d.ts.map +1 -1
  182. package/dist/{providers → harnesses}/claude/durable/ClaudeCliProbe.js.map +1 -1
  183. package/dist/{providers → harnesses}/claude/durable/ClaudePrintAgentService.d.ts.map +1 -1
  184. package/dist/{providers → harnesses}/claude/durable/ClaudePrintAgentService.js.map +1 -1
  185. package/dist/{providers → harnesses}/claude/durable/ClaudePrintRunner.d.ts.map +1 -1
  186. package/dist/{providers → harnesses}/claude/durable/ClaudePrintRunner.js.map +1 -1
  187. package/dist/{providers → harnesses}/claude/durable/ClaudeStreamParser.d.ts.map +1 -1
  188. package/dist/{providers → harnesses}/claude/durable/ClaudeStreamParser.js.map +1 -1
  189. package/dist/{providers → harnesses}/codex/CodexAdapter.d.ts +5 -4
  190. package/dist/harnesses/codex/CodexAdapter.d.ts.map +1 -0
  191. package/dist/{providers → harnesses}/codex/CodexAdapter.js +139 -19
  192. package/dist/harnesses/codex/CodexAdapter.js.map +1 -0
  193. package/dist/{providers → harnesses}/codex/CodexAgentMapper.d.ts.map +1 -1
  194. package/dist/{providers → harnesses}/codex/CodexAgentMapper.js +4 -11
  195. package/dist/harnesses/codex/CodexAgentMapper.js.map +1 -0
  196. package/dist/harnesses/codex/CodexSessionLocator.d.ts +74 -0
  197. package/dist/harnesses/codex/CodexSessionLocator.d.ts.map +1 -0
  198. package/dist/harnesses/codex/CodexSessionLocator.js +359 -0
  199. package/dist/harnesses/codex/CodexSessionLocator.js.map +1 -0
  200. package/dist/{providers → harnesses}/codex/CodexSessionMapping.d.ts.map +1 -1
  201. package/dist/{providers → harnesses}/codex/CodexSessionMapping.js +3 -3
  202. package/dist/harnesses/codex/CodexSessionMapping.js.map +1 -0
  203. package/dist/harnesses/codex/CodexSessionParser.d.ts +89 -0
  204. package/dist/harnesses/codex/CodexSessionParser.d.ts.map +1 -0
  205. package/dist/{providers → harnesses}/codex/CodexSessionParser.js +124 -78
  206. package/dist/harnesses/codex/CodexSessionParser.js.map +1 -0
  207. package/dist/{providers → harnesses}/codex/durable/CodexCliProbe.d.ts.map +1 -1
  208. package/dist/{providers → harnesses}/codex/durable/CodexCliProbe.js.map +1 -1
  209. package/dist/{providers → harnesses}/codex/durable/CodexPrintAgentService.d.ts.map +1 -1
  210. package/dist/{providers → harnesses}/codex/durable/CodexPrintAgentService.js.map +1 -1
  211. package/dist/{providers → harnesses}/codex/durable/CodexPrintRunner.d.ts.map +1 -1
  212. package/dist/{providers → harnesses}/codex/durable/CodexPrintRunner.js.map +1 -1
  213. package/dist/{providers → harnesses}/codex/durable/CodexStreamParser.d.ts.map +1 -1
  214. package/dist/{providers → harnesses}/codex/durable/CodexStreamParser.js.map +1 -1
  215. package/dist/{providers → harnesses}/copilot/CopilotAdapter.d.ts +7 -6
  216. package/dist/harnesses/copilot/CopilotAdapter.d.ts.map +1 -0
  217. package/dist/{providers → harnesses}/copilot/CopilotAdapter.js +19 -14
  218. package/dist/harnesses/copilot/CopilotAdapter.js.map +1 -0
  219. package/dist/{providers → harnesses}/copilot/CopilotAgentMapper.d.ts.map +1 -1
  220. package/dist/{providers → harnesses}/copilot/CopilotAgentMapper.js +4 -11
  221. package/dist/harnesses/copilot/CopilotAgentMapper.js.map +1 -0
  222. package/dist/harnesses/copilot/CopilotSessionLocator.d.ts +42 -0
  223. package/dist/harnesses/copilot/CopilotSessionLocator.d.ts.map +1 -0
  224. package/dist/harnesses/copilot/CopilotSessionLocator.js +126 -0
  225. package/dist/harnesses/copilot/CopilotSessionLocator.js.map +1 -0
  226. package/dist/harnesses/copilot/CopilotSessionParser.d.ts +62 -0
  227. package/dist/harnesses/copilot/CopilotSessionParser.d.ts.map +1 -0
  228. package/dist/harnesses/copilot/CopilotSessionParser.js +236 -0
  229. package/dist/harnesses/copilot/CopilotSessionParser.js.map +1 -0
  230. package/dist/{providers → harnesses}/gemini/GeminiAgentMapper.d.ts.map +1 -1
  231. package/dist/{providers → harnesses}/gemini/GeminiAgentMapper.js +4 -11
  232. package/dist/harnesses/gemini/GeminiAgentMapper.js.map +1 -0
  233. package/dist/{providers → harnesses}/gemini/GeminiCliAdapter.d.ts +4 -5
  234. package/dist/harnesses/gemini/GeminiCliAdapter.d.ts.map +1 -0
  235. package/dist/{providers → harnesses}/gemini/GeminiCliAdapter.js +6 -7
  236. package/dist/harnesses/gemini/GeminiCliAdapter.js.map +1 -0
  237. package/dist/harnesses/gemini/GeminiSessionLocator.d.ts +72 -0
  238. package/dist/harnesses/gemini/GeminiSessionLocator.d.ts.map +1 -0
  239. package/dist/harnesses/gemini/GeminiSessionLocator.js +300 -0
  240. package/dist/harnesses/gemini/GeminiSessionLocator.js.map +1 -0
  241. package/dist/{providers → harnesses}/gemini/GeminiSessionParser.d.ts +34 -7
  242. package/dist/harnesses/gemini/GeminiSessionParser.d.ts.map +1 -0
  243. package/dist/harnesses/gemini/GeminiSessionParser.js +272 -0
  244. package/dist/harnesses/gemini/GeminiSessionParser.js.map +1 -0
  245. package/dist/harnesses/gemini/fileSignature.d.ts +8 -0
  246. package/dist/harnesses/gemini/fileSignature.d.ts.map +1 -0
  247. package/dist/harnesses/gemini/fileSignature.js +9 -0
  248. package/dist/harnesses/gemini/fileSignature.js.map +1 -0
  249. package/dist/{providers → harnesses}/grok/GrokAgentMapper.d.ts.map +1 -1
  250. package/dist/{providers → harnesses}/grok/GrokAgentMapper.js +4 -10
  251. package/dist/harnesses/grok/GrokAgentMapper.js.map +1 -0
  252. package/dist/{providers → harnesses}/grok/GrokCliAdapter.d.ts +5 -5
  253. package/dist/harnesses/grok/GrokCliAdapter.d.ts.map +1 -0
  254. package/dist/{providers → harnesses}/grok/GrokCliAdapter.js +14 -10
  255. package/dist/harnesses/grok/GrokCliAdapter.js.map +1 -0
  256. package/dist/{providers → harnesses}/grok/GrokSessionLocator.d.ts.map +1 -1
  257. package/dist/{providers → harnesses}/grok/GrokSessionLocator.js +2 -2
  258. package/dist/harnesses/grok/GrokSessionLocator.js.map +1 -0
  259. package/dist/harnesses/grok/GrokSessionParser.d.ts +87 -0
  260. package/dist/harnesses/grok/GrokSessionParser.d.ts.map +1 -0
  261. package/dist/harnesses/grok/GrokSessionParser.js +185 -0
  262. package/dist/harnesses/grok/GrokSessionParser.js.map +1 -0
  263. package/dist/harnesses/index.d.ts +7 -0
  264. package/dist/harnesses/index.d.ts.map +1 -0
  265. package/dist/harnesses/index.js +27 -0
  266. package/dist/harnesses/index.js.map +1 -0
  267. package/dist/harnesses/kiro/KiroAdapter.d.ts +31 -0
  268. package/dist/harnesses/kiro/KiroAdapter.d.ts.map +1 -0
  269. package/dist/harnesses/kiro/KiroAdapter.js +125 -0
  270. package/dist/harnesses/kiro/KiroAdapter.js.map +1 -0
  271. package/dist/harnesses/kiro/KiroAgentMapper.d.ts +13 -0
  272. package/dist/harnesses/kiro/KiroAgentMapper.d.ts.map +1 -0
  273. package/dist/harnesses/kiro/KiroAgentMapper.js +29 -0
  274. package/dist/harnesses/kiro/KiroAgentMapper.js.map +1 -0
  275. package/dist/harnesses/kiro/KiroSessionLocator.d.ts +38 -0
  276. package/dist/harnesses/kiro/KiroSessionLocator.d.ts.map +1 -0
  277. package/dist/harnesses/kiro/KiroSessionLocator.js +95 -0
  278. package/dist/harnesses/kiro/KiroSessionLocator.js.map +1 -0
  279. package/dist/harnesses/kiro/KiroSessionParser.d.ts +81 -0
  280. package/dist/harnesses/kiro/KiroSessionParser.d.ts.map +1 -0
  281. package/dist/harnesses/kiro/KiroSessionParser.js +251 -0
  282. package/dist/harnesses/kiro/KiroSessionParser.js.map +1 -0
  283. package/dist/{providers → harnesses}/opencode/OpenCodeAdapter.d.ts +2 -4
  284. package/dist/harnesses/opencode/OpenCodeAdapter.d.ts.map +1 -0
  285. package/dist/{providers → harnesses}/opencode/OpenCodeAdapter.js +4 -7
  286. package/dist/harnesses/opencode/OpenCodeAdapter.js.map +1 -0
  287. package/dist/{providers → harnesses}/opencode/OpenCodeAgentMapper.d.ts.map +1 -1
  288. package/dist/{providers → harnesses}/opencode/OpenCodeAgentMapper.js +5 -13
  289. package/dist/harnesses/opencode/OpenCodeAgentMapper.js.map +1 -0
  290. package/dist/{providers → harnesses}/opencode/OpenCodeSessionLocator.d.ts.map +1 -1
  291. package/dist/{providers → harnesses}/opencode/OpenCodeSessionLocator.js +2 -2
  292. package/dist/harnesses/opencode/OpenCodeSessionLocator.js.map +1 -0
  293. package/dist/{providers → harnesses}/opencode/OpenCodeSessionParser.d.ts +2 -4
  294. package/dist/harnesses/opencode/OpenCodeSessionParser.d.ts.map +1 -0
  295. package/dist/{providers → harnesses}/opencode/OpenCodeSessionParser.js +2 -1
  296. package/dist/harnesses/opencode/OpenCodeSessionParser.js.map +1 -0
  297. package/dist/{providers → harnesses}/pi/PiAdapter.d.ts +5 -4
  298. package/dist/harnesses/pi/PiAdapter.d.ts.map +1 -0
  299. package/dist/{providers → harnesses}/pi/PiAdapter.js +16 -12
  300. package/dist/harnesses/pi/PiAdapter.js.map +1 -0
  301. package/dist/{providers → harnesses}/pi/PiAgentMapper.d.ts.map +1 -1
  302. package/dist/{providers → harnesses}/pi/PiAgentMapper.js +4 -11
  303. package/dist/harnesses/pi/PiAgentMapper.js.map +1 -0
  304. package/dist/harnesses/pi/PiSessionLocator.d.ts +61 -0
  305. package/dist/harnesses/pi/PiSessionLocator.d.ts.map +1 -0
  306. package/dist/harnesses/pi/PiSessionLocator.js +212 -0
  307. package/dist/harnesses/pi/PiSessionLocator.js.map +1 -0
  308. package/dist/harnesses/pi/PiSessionParser.d.ts +88 -0
  309. package/dist/harnesses/pi/PiSessionParser.d.ts.map +1 -0
  310. package/dist/harnesses/pi/PiSessionParser.js +318 -0
  311. package/dist/harnesses/pi/PiSessionParser.js.map +1 -0
  312. package/dist/{providers → harnesses}/pi/PiSessionTracker.d.ts.map +1 -1
  313. package/dist/{providers → harnesses}/pi/PiSessionTracker.js +2 -2
  314. package/dist/harnesses/pi/PiSessionTracker.js.map +1 -0
  315. package/dist/{providers → harnesses}/pi/durable/PiCliProbe.d.ts.map +1 -1
  316. package/dist/{providers → harnesses}/pi/durable/PiCliProbe.js.map +1 -1
  317. package/dist/{providers → harnesses}/pi/durable/PiPrintAgentService.d.ts.map +1 -1
  318. package/dist/{providers → harnesses}/pi/durable/PiPrintAgentService.js.map +1 -1
  319. package/dist/{providers → harnesses}/pi/durable/PiPrintProtocol.d.ts.map +1 -1
  320. package/dist/{providers → harnesses}/pi/durable/PiPrintProtocol.js.map +1 -1
  321. package/dist/{providers → harnesses}/pi/durable/PiPrintRunner.d.ts.map +1 -1
  322. package/dist/{providers → harnesses}/pi/durable/PiPrintRunner.js.map +1 -1
  323. package/dist/{providers → harnesses}/pi/durable/PiStreamParser.d.ts.map +1 -1
  324. package/dist/{providers → harnesses}/pi/durable/PiStreamParser.js.map +1 -1
  325. package/dist/harnesses/shared.d.ts +41 -0
  326. package/dist/harnesses/shared.d.ts.map +1 -0
  327. package/dist/harnesses/shared.js +71 -0
  328. package/dist/harnesses/shared.js.map +1 -0
  329. package/dist/index.d.ts +28 -25
  330. package/dist/index.d.ts.map +1 -1
  331. package/dist/index.js +19 -16
  332. package/dist/index.js.map +1 -1
  333. package/dist/readiness/AgentReadiness.d.ts +1 -1
  334. package/dist/readiness/AgentReadiness.d.ts.map +1 -1
  335. package/dist/readiness/AgentReadiness.js.map +1 -1
  336. package/dist/runtime/ManagedAgentRuntime.js +3 -1
  337. package/dist/runtime/ManagedAgentRuntime.js.map +1 -1
  338. package/dist/runtime/herdr/HerdrAgentDiscovery.js +10 -0
  339. package/dist/runtime/herdr/HerdrAgentDiscovery.js.map +1 -1
  340. package/dist/utils/IncrementalJsonlSummary.d.ts +100 -0
  341. package/dist/utils/IncrementalJsonlSummary.d.ts.map +1 -0
  342. package/dist/utils/IncrementalJsonlSummary.js +209 -0
  343. package/dist/utils/IncrementalJsonlSummary.js.map +1 -0
  344. package/dist/utils/agents.d.ts +3 -2
  345. package/dist/utils/agents.d.ts.map +1 -1
  346. package/dist/utils/agents.js +61 -15
  347. package/dist/utils/agents.js.map +1 -1
  348. package/dist/utils/index.d.ts +2 -1
  349. package/dist/utils/index.d.ts.map +1 -1
  350. package/dist/utils/index.js +1 -1
  351. package/dist/utils/index.js.map +1 -1
  352. package/dist/utils/jsonlTail.d.ts +73 -0
  353. package/dist/utils/jsonlTail.d.ts.map +1 -0
  354. package/dist/utils/jsonlTail.js +238 -0
  355. package/dist/utils/jsonlTail.js.map +1 -0
  356. package/dist/utils/matching.d.ts +2 -0
  357. package/dist/utils/matching.d.ts.map +1 -1
  358. package/dist/utils/matching.js +3 -2
  359. package/dist/utils/matching.js.map +1 -1
  360. package/dist/utils/matchingConstants.d.ts +15 -0
  361. package/dist/utils/matchingConstants.d.ts.map +1 -0
  362. package/dist/utils/matchingConstants.js +14 -0
  363. package/dist/utils/matchingConstants.js.map +1 -0
  364. package/dist/utils/process.d.ts +38 -2
  365. package/dist/utils/process.d.ts.map +1 -1
  366. package/dist/utils/process.js +131 -43
  367. package/dist/utils/process.js.map +1 -1
  368. package/package.json +2 -1
  369. package/scripts/benchmark-cold-start.mjs +350 -0
  370. package/src/AgentManager.ts +26 -5
  371. package/src/__tests__/AgentManager.test.ts +141 -3
  372. package/src/__tests__/adapters/IncrementalSessionRefresh.test.ts +437 -0
  373. package/src/__tests__/adapters/adapterProcessImports.test.ts +58 -0
  374. package/src/__tests__/adapters/adapterSnapshotCandidates.test.ts +243 -0
  375. package/src/__tests__/capacity/claude.test.ts +467 -0
  376. package/src/__tests__/capacity/fixtures/claude-credentials.json +7 -0
  377. package/src/__tests__/capacity/fixtures/claude-usage-malformed.json +1 -0
  378. package/src/__tests__/capacity/fixtures/claude-usage-partial.json +15 -0
  379. package/src/__tests__/capacity/fixtures/claude-usage.json +63 -0
  380. package/src/__tests__/capacity/fixtures/openai-auth.json +6 -0
  381. package/src/__tests__/capacity/fixtures/openai-codex-auth.json +9 -0
  382. package/src/__tests__/capacity/fixtures/openai-usage-completions.json +67 -0
  383. package/src/__tests__/capacity/fixtures/openai-usage-responses.json +20 -0
  384. package/src/__tests__/capacity/fixtures/wham-usage.json +32 -0
  385. package/src/__tests__/capacity/openai.test.ts +560 -0
  386. package/src/__tests__/capacity/wham.test.ts +104 -0
  387. package/src/__tests__/harnesses/BoundedSummarySkip.test.ts +496 -0
  388. package/src/__tests__/harnesses/SessionSummaryEquivalence.test.ts +726 -0
  389. package/src/__tests__/harnesses/antigravity/AntigravityCliAdapter.subprocess.test.ts +133 -0
  390. package/src/__tests__/harnesses/antigravity/AntigravityCliAdapter.test.ts +396 -0
  391. package/src/__tests__/harnesses/builtinAdapters.test.ts +33 -0
  392. package/src/__tests__/{providers → harnesses}/claude/ClaudeAgentMapper.test.ts +5 -5
  393. package/src/__tests__/{adapters → harnesses/claude}/ClaudeCodeAdapter.test.ts +54 -24
  394. package/src/__tests__/{providers → harnesses}/claude/ClaudeSessionLocator.test.ts +1 -12
  395. package/src/__tests__/{utils → harnesses/claude}/ClaudeSessionParser.test.ts +2 -2
  396. package/src/__tests__/{print → harnesses/claude/durable}/ClaudeCliProbe.test.ts +1 -1
  397. package/src/__tests__/{print → harnesses/claude/durable}/ClaudePrintAgent.integration.test.ts +1 -1
  398. package/src/__tests__/{print → harnesses/claude/durable}/ClaudePrintAgentService.test.ts +4 -4
  399. package/src/__tests__/{print → harnesses/claude/durable}/ClaudePrintRunner.test.ts +2 -2
  400. package/src/__tests__/{adapters → harnesses/codex}/CodexAdapter.test.ts +277 -12
  401. package/src/__tests__/harnesses/codex/CodexSessionLocator.test.ts +419 -0
  402. package/src/__tests__/{providers → harnesses}/codex/CodexSessionMapping.test.ts +1 -1
  403. package/src/__tests__/{providers → harnesses}/codex/CodexSessionParser.test.ts +1 -1
  404. package/src/__tests__/{durable → harnesses/codex/durable}/CodexCliProbe.test.ts +4 -4
  405. package/src/__tests__/{durable → harnesses/codex/durable}/CodexDurableAgentRepository.test.ts +1 -1
  406. package/src/__tests__/{durable → harnesses/codex/durable}/CodexPrintAgent.integration.test.ts +1 -1
  407. package/src/__tests__/{durable → harnesses/codex/durable}/CodexPrintAgentService.test.ts +8 -18
  408. package/src/__tests__/{durable → harnesses/codex/durable}/CodexPrintRunner.test.ts +3 -9
  409. package/src/__tests__/{providers → harnesses}/copilot/CopilotAdapter.test.ts +1 -1
  410. package/src/__tests__/harnesses/copilot/CopilotRefreshIO.test.ts +270 -0
  411. package/src/__tests__/{providers → harnesses}/gemini/GeminiCliAdapter.test.ts +27 -23
  412. package/src/__tests__/harnesses/gemini/GeminiSessionJsonl.test.ts +402 -0
  413. package/src/__tests__/harnesses/gemini/GeminiSessionLocator.test.ts +396 -0
  414. package/src/__tests__/{providers → harnesses}/grok/GrokAgentMapper.test.ts +2 -2
  415. package/src/__tests__/{providers → harnesses}/grok/GrokCliAdapter.test.ts +1 -1
  416. package/src/__tests__/harnesses/grok/GrokIncrementalRefresh.test.ts +170 -0
  417. package/src/__tests__/{providers → harnesses}/grok/GrokSessionLocator.test.ts +1 -1
  418. package/src/__tests__/harnesses/grok/GrokSessionParser.test.ts +230 -0
  419. package/src/__tests__/harnesses/kiro/KiroAdapter.test.ts +552 -0
  420. package/src/__tests__/{providers → harnesses}/opencode/OpenCodeAdapter.test.ts +1 -1
  421. package/src/__tests__/{providers → harnesses}/opencode/OpenCodeAgentMapper.test.ts +1 -1
  422. package/src/__tests__/{providers → harnesses}/opencode/OpenCodeSessionLocator.test.ts +2 -2
  423. package/src/__tests__/{providers → harnesses}/opencode/OpenCodeSessionParser.test.ts +1 -1
  424. package/src/__tests__/{providers → harnesses}/pi/PiAdapter.test.ts +1 -1
  425. package/src/__tests__/harnesses/pi/PiDiscoveryIO.test.ts +337 -0
  426. package/src/__tests__/{providers → harnesses}/pi/PiSessionParser.test.ts +91 -1
  427. package/src/__tests__/{providers → harnesses}/pi/PiSessionTracker.test.ts +1 -1
  428. package/src/__tests__/{providers → harnesses}/pi/durable/PiPrintProtocol.test.ts +1 -1
  429. package/src/__tests__/{providers → harnesses}/pi/durable/PiStreamParser.test.ts +1 -1
  430. package/src/__tests__/readiness/AgentReadiness.test.ts +16 -0
  431. package/src/__tests__/runtime/ManagedAgentRuntime.test.ts +30 -0
  432. package/src/__tests__/utils/IncrementalJsonlSummary.test.ts +414 -0
  433. package/src/__tests__/utils/agents.test.ts +83 -2
  434. package/src/__tests__/utils/conversationTail.bench.test.ts +193 -0
  435. package/src/__tests__/utils/conversationTailParity.test.ts +365 -0
  436. package/src/__tests__/utils/jsonlTail.test.ts +317 -0
  437. package/src/__tests__/utils/matchingConstants.test.ts +40 -0
  438. package/src/__tests__/utils/process.test.ts +254 -0
  439. package/src/adapters/AgentAdapter.ts +37 -12
  440. package/src/capacity/claude.ts +313 -0
  441. package/src/capacity/codex.ts +25 -134
  442. package/src/capacity/index.ts +33 -4
  443. package/src/capacity/openai.ts +355 -0
  444. package/src/capacity/wham.ts +84 -0
  445. package/src/harnesses/antigravity/AntigravityAgentMapper.ts +34 -0
  446. package/src/harnesses/antigravity/AntigravityCliAdapter.ts +126 -0
  447. package/src/harnesses/antigravity/AntigravitySessionLocator.ts +75 -0
  448. package/src/harnesses/antigravity/AntigravitySessionParser.ts +252 -0
  449. package/src/{providers → harnesses}/claude/ClaudeAgentMapper.ts +2 -10
  450. package/src/{providers → harnesses}/claude/ClaudeCodeAdapter.ts +22 -20
  451. package/src/{providers → harnesses}/claude/ClaudeSessionLocator.ts +3 -3
  452. package/src/{providers → harnesses}/claude/ClaudeSessionParser.ts +189 -97
  453. package/src/{providers → harnesses}/codex/CodexAdapter.ts +153 -29
  454. package/src/{providers → harnesses}/codex/CodexAgentMapper.ts +2 -11
  455. package/src/harnesses/codex/CodexSessionLocator.ts +509 -0
  456. package/src/{providers → harnesses}/codex/CodexSessionMapping.ts +3 -3
  457. package/src/{providers → harnesses}/codex/CodexSessionParser.ts +169 -92
  458. package/src/{providers → harnesses}/copilot/CopilotAdapter.ts +22 -22
  459. package/src/{providers → harnesses}/copilot/CopilotAgentMapper.ts +2 -11
  460. package/src/harnesses/copilot/CopilotSessionLocator.ts +161 -0
  461. package/src/harnesses/copilot/CopilotSessionParser.ts +380 -0
  462. package/src/{providers → harnesses}/gemini/GeminiAgentMapper.ts +2 -11
  463. package/src/{providers → harnesses}/gemini/GeminiCliAdapter.ts +7 -9
  464. package/src/harnesses/gemini/GeminiSessionLocator.ts +394 -0
  465. package/src/{providers → harnesses}/gemini/GeminiSessionParser.ts +155 -31
  466. package/src/harnesses/gemini/fileSignature.ts +10 -0
  467. package/src/{providers → harnesses}/grok/GrokAgentMapper.ts +2 -11
  468. package/src/{providers → harnesses}/grok/GrokCliAdapter.ts +16 -15
  469. package/src/{providers → harnesses}/grok/GrokSessionLocator.ts +2 -2
  470. package/src/harnesses/grok/GrokSessionParser.ts +251 -0
  471. package/src/harnesses/index.ts +28 -0
  472. package/src/harnesses/kiro/KiroAdapter.ts +143 -0
  473. package/src/harnesses/kiro/KiroAgentMapper.ts +34 -0
  474. package/src/harnesses/kiro/KiroSessionLocator.ts +143 -0
  475. package/src/harnesses/kiro/KiroSessionParser.ts +376 -0
  476. package/src/{providers → harnesses}/opencode/OpenCodeAdapter.ts +5 -11
  477. package/src/{providers → harnesses}/opencode/OpenCodeAgentMapper.ts +3 -13
  478. package/src/{providers → harnesses}/opencode/OpenCodeSessionLocator.ts +2 -2
  479. package/src/{providers → harnesses}/opencode/OpenCodeSessionParser.ts +4 -3
  480. package/src/{providers → harnesses}/pi/PiAdapter.ts +20 -18
  481. package/src/{providers → harnesses}/pi/PiAgentMapper.ts +2 -11
  482. package/src/harnesses/pi/PiSessionLocator.ts +288 -0
  483. package/src/harnesses/pi/PiSessionParser.ts +488 -0
  484. package/src/{providers → harnesses}/pi/PiSessionTracker.ts +2 -2
  485. package/src/harnesses/shared.ts +119 -0
  486. package/src/index.ts +34 -23
  487. package/src/readiness/AgentReadiness.ts +4 -1
  488. package/src/runtime/ManagedAgentRuntime.ts +2 -0
  489. package/src/runtime/herdr/HerdrAgentDiscovery.ts +5 -1
  490. package/src/utils/IncrementalJsonlSummary.ts +306 -0
  491. package/src/utils/agents.ts +62 -20
  492. package/src/utils/index.ts +2 -0
  493. package/src/utils/jsonlTail.ts +349 -0
  494. package/src/utils/matching.ts +3 -3
  495. package/src/utils/matchingConstants.ts +15 -0
  496. package/src/utils/process.ts +189 -45
  497. package/dist/__tests__/adapters/ClaudeCodeAdapter.test.js.map +0 -1
  498. package/dist/__tests__/adapters/CodexAdapter.test.js.map +0 -1
  499. package/dist/__tests__/durable/CodexCliProbe.test.js.map +0 -1
  500. package/dist/__tests__/durable/CodexDurableAgentRepository.test.js.map +0 -1
  501. package/dist/__tests__/durable/CodexPrintAgent.integration.test.js.map +0 -1
  502. package/dist/__tests__/durable/CodexPrintAgentService.test.js.map +0 -1
  503. package/dist/__tests__/durable/CodexPrintRunner.test.js.map +0 -1
  504. package/dist/__tests__/print/ClaudeCliProbe.test.js.map +0 -1
  505. package/dist/__tests__/print/ClaudePrintAgent.integration.test.js.map +0 -1
  506. package/dist/__tests__/print/ClaudePrintAgentService.test.js.map +0 -1
  507. package/dist/__tests__/print/ClaudePrintRunner.test.js.map +0 -1
  508. package/dist/__tests__/providers/claude/ClaudeAgentMapper.test.js.map +0 -1
  509. package/dist/__tests__/providers/codex/CodexSessionLocator.test.js +0 -194
  510. package/dist/__tests__/providers/codex/CodexSessionLocator.test.js.map +0 -1
  511. package/dist/__tests__/providers/gemini/GeminiCliAdapter.test.js.map +0 -1
  512. package/dist/__tests__/providers/pi/PiSessionParser.test.js.map +0 -1
  513. package/dist/__tests__/utils/ClaudeSessionParser.test.js.map +0 -1
  514. package/dist/adapters/index.d.ts +0 -10
  515. package/dist/adapters/index.d.ts.map +0 -1
  516. package/dist/adapters/index.js +0 -10
  517. package/dist/adapters/index.js.map +0 -1
  518. package/dist/providers/claude/ClaudeAgentMapper.js.map +0 -1
  519. package/dist/providers/claude/ClaudeCodeAdapter.d.ts.map +0 -1
  520. package/dist/providers/claude/ClaudeCodeAdapter.js.map +0 -1
  521. package/dist/providers/claude/ClaudeSessionLocator.js.map +0 -1
  522. package/dist/providers/claude/ClaudeSessionParser.d.ts.map +0 -1
  523. package/dist/providers/claude/ClaudeSessionParser.js.map +0 -1
  524. package/dist/providers/codex/CodexAdapter.d.ts.map +0 -1
  525. package/dist/providers/codex/CodexAdapter.js.map +0 -1
  526. package/dist/providers/codex/CodexAgentMapper.js.map +0 -1
  527. package/dist/providers/codex/CodexSessionLocator.d.ts +0 -44
  528. package/dist/providers/codex/CodexSessionLocator.d.ts.map +0 -1
  529. package/dist/providers/codex/CodexSessionLocator.js +0 -207
  530. package/dist/providers/codex/CodexSessionLocator.js.map +0 -1
  531. package/dist/providers/codex/CodexSessionMapping.js.map +0 -1
  532. package/dist/providers/codex/CodexSessionParser.d.ts +0 -58
  533. package/dist/providers/codex/CodexSessionParser.d.ts.map +0 -1
  534. package/dist/providers/codex/CodexSessionParser.js.map +0 -1
  535. package/dist/providers/copilot/CopilotAdapter.d.ts.map +0 -1
  536. package/dist/providers/copilot/CopilotAdapter.js.map +0 -1
  537. package/dist/providers/copilot/CopilotAgentMapper.js.map +0 -1
  538. package/dist/providers/copilot/CopilotSessionLocator.d.ts +0 -20
  539. package/dist/providers/copilot/CopilotSessionLocator.d.ts.map +0 -1
  540. package/dist/providers/copilot/CopilotSessionLocator.js +0 -49
  541. package/dist/providers/copilot/CopilotSessionLocator.js.map +0 -1
  542. package/dist/providers/copilot/CopilotSessionParser.d.ts +0 -30
  543. package/dist/providers/copilot/CopilotSessionParser.d.ts.map +0 -1
  544. package/dist/providers/copilot/CopilotSessionParser.js +0 -181
  545. package/dist/providers/copilot/CopilotSessionParser.js.map +0 -1
  546. package/dist/providers/gemini/GeminiAgentMapper.js.map +0 -1
  547. package/dist/providers/gemini/GeminiCliAdapter.d.ts.map +0 -1
  548. package/dist/providers/gemini/GeminiCliAdapter.js.map +0 -1
  549. package/dist/providers/gemini/GeminiSessionLocator.d.ts +0 -30
  550. package/dist/providers/gemini/GeminiSessionLocator.d.ts.map +0 -1
  551. package/dist/providers/gemini/GeminiSessionLocator.js +0 -142
  552. package/dist/providers/gemini/GeminiSessionLocator.js.map +0 -1
  553. package/dist/providers/gemini/GeminiSessionParser.d.ts.map +0 -1
  554. package/dist/providers/gemini/GeminiSessionParser.js +0 -166
  555. package/dist/providers/gemini/GeminiSessionParser.js.map +0 -1
  556. package/dist/providers/grok/GrokAgentMapper.js.map +0 -1
  557. package/dist/providers/grok/GrokCliAdapter.d.ts.map +0 -1
  558. package/dist/providers/grok/GrokCliAdapter.js.map +0 -1
  559. package/dist/providers/grok/GrokSessionLocator.js.map +0 -1
  560. package/dist/providers/grok/GrokSessionParser.d.ts +0 -54
  561. package/dist/providers/grok/GrokSessionParser.d.ts.map +0 -1
  562. package/dist/providers/grok/GrokSessionParser.js +0 -122
  563. package/dist/providers/grok/GrokSessionParser.js.map +0 -1
  564. package/dist/providers/opencode/OpenCodeAdapter.d.ts.map +0 -1
  565. package/dist/providers/opencode/OpenCodeAdapter.js.map +0 -1
  566. package/dist/providers/opencode/OpenCodeAgentMapper.js.map +0 -1
  567. package/dist/providers/opencode/OpenCodeSessionLocator.js.map +0 -1
  568. package/dist/providers/opencode/OpenCodeSessionParser.d.ts.map +0 -1
  569. package/dist/providers/opencode/OpenCodeSessionParser.js.map +0 -1
  570. package/dist/providers/pi/PiAdapter.d.ts.map +0 -1
  571. package/dist/providers/pi/PiAdapter.js.map +0 -1
  572. package/dist/providers/pi/PiAgentMapper.js.map +0 -1
  573. package/dist/providers/pi/PiSessionLocator.d.ts +0 -24
  574. package/dist/providers/pi/PiSessionLocator.d.ts.map +0 -1
  575. package/dist/providers/pi/PiSessionLocator.js +0 -86
  576. package/dist/providers/pi/PiSessionLocator.js.map +0 -1
  577. package/dist/providers/pi/PiSessionParser.d.ts +0 -36
  578. package/dist/providers/pi/PiSessionParser.d.ts.map +0 -1
  579. package/dist/providers/pi/PiSessionParser.js +0 -191
  580. package/dist/providers/pi/PiSessionParser.js.map +0 -1
  581. package/dist/providers/pi/PiSessionTracker.js.map +0 -1
  582. package/src/__tests__/fixtures/fake-claude.cjs +0 -31
  583. package/src/__tests__/fixtures/fake-codex.cjs +0 -56
  584. package/src/__tests__/providers/codex/CodexSessionLocator.test.ts +0 -182
  585. package/src/adapters/index.ts +0 -15
  586. package/src/providers/codex/CodexSessionLocator.ts +0 -279
  587. package/src/providers/copilot/CopilotSessionLocator.ts +0 -63
  588. package/src/providers/copilot/CopilotSessionParser.ts +0 -289
  589. package/src/providers/gemini/GeminiSessionLocator.ts +0 -183
  590. package/src/providers/grok/GrokSessionParser.ts +0 -166
  591. package/src/providers/pi/PiSessionLocator.ts +0 -110
  592. package/src/providers/pi/PiSessionParser.ts +0 -284
  593. /package/dist/__tests__/{providers → harnesses}/pi/durable/PiCliProbe.test.js +0 -0
  594. /package/dist/__tests__/{providers → harnesses}/pi/durable/PiDurableAgentRepository.test.js +0 -0
  595. /package/dist/__tests__/{providers → harnesses}/pi/durable/PiPrintAgentService.test.js +0 -0
  596. /package/dist/__tests__/{providers → harnesses}/pi/durable/PiPrintRunner.test.js +0 -0
  597. /package/dist/{providers → harnesses}/claude/ClaudeAgentMapper.d.ts +0 -0
  598. /package/dist/{providers → harnesses}/claude/ClaudeSessionLocator.d.ts +0 -0
  599. /package/dist/{providers → harnesses}/claude/durable/ClaudeCliProbe.d.ts +0 -0
  600. /package/dist/{providers → harnesses}/claude/durable/ClaudeCliProbe.js +0 -0
  601. /package/dist/{providers → harnesses}/claude/durable/ClaudePrintAgentService.d.ts +0 -0
  602. /package/dist/{providers → harnesses}/claude/durable/ClaudePrintAgentService.js +0 -0
  603. /package/dist/{providers → harnesses}/claude/durable/ClaudePrintRunner.d.ts +0 -0
  604. /package/dist/{providers → harnesses}/claude/durable/ClaudePrintRunner.js +0 -0
  605. /package/dist/{providers → harnesses}/claude/durable/ClaudeStreamParser.d.ts +0 -0
  606. /package/dist/{providers → harnesses}/claude/durable/ClaudeStreamParser.js +0 -0
  607. /package/dist/{providers → harnesses}/codex/CodexAgentMapper.d.ts +0 -0
  608. /package/dist/{providers → harnesses}/codex/CodexSessionMapping.d.ts +0 -0
  609. /package/dist/{providers → harnesses}/codex/durable/CodexCliProbe.d.ts +0 -0
  610. /package/dist/{providers → harnesses}/codex/durable/CodexCliProbe.js +0 -0
  611. /package/dist/{providers → harnesses}/codex/durable/CodexPrintAgentService.d.ts +0 -0
  612. /package/dist/{providers → harnesses}/codex/durable/CodexPrintAgentService.js +0 -0
  613. /package/dist/{providers → harnesses}/codex/durable/CodexPrintRunner.d.ts +0 -0
  614. /package/dist/{providers → harnesses}/codex/durable/CodexPrintRunner.js +0 -0
  615. /package/dist/{providers → harnesses}/codex/durable/CodexStreamParser.d.ts +0 -0
  616. /package/dist/{providers → harnesses}/codex/durable/CodexStreamParser.js +0 -0
  617. /package/dist/{providers → harnesses}/copilot/CopilotAgentMapper.d.ts +0 -0
  618. /package/dist/{providers → harnesses}/gemini/GeminiAgentMapper.d.ts +0 -0
  619. /package/dist/{providers → harnesses}/grok/GrokAgentMapper.d.ts +0 -0
  620. /package/dist/{providers → harnesses}/grok/GrokSessionLocator.d.ts +0 -0
  621. /package/dist/{providers → harnesses}/opencode/OpenCodeAgentMapper.d.ts +0 -0
  622. /package/dist/{providers → harnesses}/opencode/OpenCodeSessionLocator.d.ts +0 -0
  623. /package/dist/{providers → harnesses}/pi/PiAgentMapper.d.ts +0 -0
  624. /package/dist/{providers → harnesses}/pi/PiSessionTracker.d.ts +0 -0
  625. /package/dist/{providers → harnesses}/pi/durable/PiCliProbe.d.ts +0 -0
  626. /package/dist/{providers → harnesses}/pi/durable/PiCliProbe.js +0 -0
  627. /package/dist/{providers → harnesses}/pi/durable/PiPrintAgentService.d.ts +0 -0
  628. /package/dist/{providers → harnesses}/pi/durable/PiPrintAgentService.js +0 -0
  629. /package/dist/{providers → harnesses}/pi/durable/PiPrintProtocol.d.ts +0 -0
  630. /package/dist/{providers → harnesses}/pi/durable/PiPrintProtocol.js +0 -0
  631. /package/dist/{providers → harnesses}/pi/durable/PiPrintRunner.d.ts +0 -0
  632. /package/dist/{providers → harnesses}/pi/durable/PiPrintRunner.js +0 -0
  633. /package/dist/{providers → harnesses}/pi/durable/PiStreamParser.d.ts +0 -0
  634. /package/dist/{providers → harnesses}/pi/durable/PiStreamParser.js +0 -0
  635. /package/src/__tests__/{providers → harnesses}/pi/durable/PiCliProbe.test.ts +0 -0
  636. /package/src/__tests__/{providers → harnesses}/pi/durable/PiDurableAgentRepository.test.ts +0 -0
  637. /package/src/__tests__/{providers → harnesses}/pi/durable/PiPrintAgentService.test.ts +0 -0
  638. /package/src/__tests__/{providers → harnesses}/pi/durable/PiPrintRunner.test.ts +0 -0
  639. /package/src/{providers → harnesses}/claude/durable/ClaudeCliProbe.ts +0 -0
  640. /package/src/{providers → harnesses}/claude/durable/ClaudePrintAgentService.ts +0 -0
  641. /package/src/{providers → harnesses}/claude/durable/ClaudePrintRunner.ts +0 -0
  642. /package/src/{providers → harnesses}/claude/durable/ClaudeStreamParser.ts +0 -0
  643. /package/src/{providers → harnesses}/codex/durable/CodexCliProbe.ts +0 -0
  644. /package/src/{providers → harnesses}/codex/durable/CodexPrintAgentService.ts +0 -0
  645. /package/src/{providers → harnesses}/codex/durable/CodexPrintRunner.ts +0 -0
  646. /package/src/{providers → harnesses}/codex/durable/CodexStreamParser.ts +0 -0
  647. /package/src/{providers → harnesses}/pi/durable/PiCliProbe.ts +0 -0
  648. /package/src/{providers → harnesses}/pi/durable/PiPrintAgentService.ts +0 -0
  649. /package/src/{providers → harnesses}/pi/durable/PiPrintProtocol.ts +0 -0
  650. /package/src/{providers → harnesses}/pi/durable/PiPrintRunner.ts +0 -0
  651. /package/src/{providers → harnesses}/pi/durable/PiStreamParser.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/providers/pi/durable/PiPrintRunner.ts"],"sourcesContent":["import {\n spawn as nodeSpawn,\n type ChildProcessWithoutNullStreams,\n type SpawnOptionsWithoutStdio,\n} from \"child_process\";\nimport type { PiDurableAgent, ProcessIdentity } from \"../../../durable/DurableAgent.js\";\nimport { PiPrintError } from \"../../../durable/DurableAgent.js\";\nimport { LocalProcessInspector, type ProcessInspector } from \"../../../durable/process.js\";\nimport { waitForChildClose } from \"../../../durable/utils.js\";\nimport { buildPiPrintArgs } from \"./PiPrintProtocol.js\";\nimport { PiStreamParser } from \"./PiStreamParser.js\";\n\ntype Spawn = (\n command: string,\n args: readonly string[],\n options: SpawnOptionsWithoutStdio & { stdio: [\"pipe\", \"pipe\", \"pipe\"] },\n) => ChildProcessWithoutNullStreams;\n\nexport interface PiPrintRunRequest {\n agent: PiDurableAgent;\n prompt: string;\n executable?: string;\n onSpawn(identity: ProcessIdentity): Promise<void>;\n}\n\nexport interface PiPrintRunResult {\n sessionId: string;\n result: string;\n messages: string[];\n exitCode: number;\n}\n\nexport interface PiPrintRunnerOptions {\n spawn?: Spawn;\n processInspector?: ProcessInspector;\n maxLineBytes?: number;\n}\n\nexport class PiPrintRunner {\n private readonly spawn: Spawn;\n private readonly processInspector: ProcessInspector;\n private readonly maxLineBytes: number;\n\n constructor(options: PiPrintRunnerOptions = {}) {\n this.spawn = options.spawn ?? (nodeSpawn as Spawn);\n this.processInspector = options.processInspector ?? new LocalProcessInspector();\n this.maxLineBytes = options.maxLineBytes ?? 1024 * 1024;\n }\n\n async run(request: PiPrintRunRequest): Promise<PiPrintRunResult> {\n const args = buildPiPrintArgs(\n request.agent.providerSessionId,\n request.agent.sessionHealth === \"uninitialized\",\n );\n const child = this.spawn(request.executable ?? \"pi\", args, {\n cwd: request.agent.cwd,\n shell: false,\n stdio: [\"pipe\", \"pipe\", \"pipe\"],\n });\n if (!child.pid) {\n child.kill();\n throw new PiPrintError(\"Pi process did not provide a PID.\", \"PI_PROCESS\");\n }\n const identity = this.processInspector.getIdentity(child.pid);\n if (!identity) {\n child.kill();\n throw new PiPrintError(\"Cannot verify Pi process identity.\", \"PI_PROCESS\");\n }\n\n const parser = new PiStreamParser(request.agent.providerSessionId, this.maxLineBytes);\n child.stdout.on(\"data\", (chunk: Buffer | string) => {\n if (parser.hasFailed()) return;\n try {\n parser.accept(chunk);\n } catch (error) {\n parser.fail(error);\n }\n });\n child.stderr.resume();\n\n const closed = waitForChildClose(child);\n try {\n await request.onSpawn(identity);\n } catch (error) {\n child.kill();\n throw error;\n }\n\n child.stdin.end(request.prompt);\n const close = await closed.catch(() => {\n throw new PiPrintError(\"Pi process failed to start or communicate.\", \"PI_PROCESS\");\n });\n return parser.result(close);\n }\n}\n"],"names":["spawn","nodeSpawn","PiPrintError","LocalProcessInspector","waitForChildClose","buildPiPrintArgs","PiStreamParser","PiPrintRunner","processInspector","maxLineBytes","options","run","request","args","agent","providerSessionId","sessionHealth","child","executable","cwd","shell","stdio","pid","kill","identity","getIdentity","parser","stdout","on","chunk","hasFailed","accept","error","fail","stderr","resume","closed","onSpawn","stdin","end","prompt","close","catch","result"],"mappings":"AAAA,SACEA,SAASC,SAAS,QAGb,gBAAgB;AAEvB,SAASC,YAAY,QAAQ,mCAAmC;AAChE,SAASC,qBAAqB,QAA+B,8BAA8B;AAC3F,SAASC,iBAAiB,QAAQ,4BAA4B;AAC9D,SAASC,gBAAgB,QAAQ,uBAAuB;AACxD,SAASC,cAAc,QAAQ,sBAAsB;AA4BrD,OAAO,MAAMC;IACMP,MAAa;IACbQ,iBAAmC;IACnCC,aAAqB;IAEtC,YAAYC,UAAgC,CAAC,CAAC,CAAE;QAC9C,IAAI,CAACV,KAAK,GAAGU,QAAQV,KAAK,IAAKC;QAC/B,IAAI,CAACO,gBAAgB,GAAGE,QAAQF,gBAAgB,IAAI,IAAIL;QACxD,IAAI,CAACM,YAAY,GAAGC,QAAQD,YAAY,IAAI,OAAO;IACrD;IAEA,MAAME,IAAIC,OAA0B,EAA6B;QAC/D,MAAMC,OAAOR,iBACXO,QAAQE,KAAK,CAACC,iBAAiB,EAC/BH,QAAQE,KAAK,CAACE,aAAa,KAAK;QAElC,MAAMC,QAAQ,IAAI,CAACjB,KAAK,CAACY,QAAQM,UAAU,IAAI,MAAML,MAAM;YACzDM,KAAKP,QAAQE,KAAK,CAACK,GAAG;YACtBC,OAAO;YACPC,OAAO;gBAAC;gBAAQ;gBAAQ;aAAO;QACjC;QACA,IAAI,CAACJ,MAAMK,GAAG,EAAE;YACdL,MAAMM,IAAI;YACV,MAAM,IAAIrB,aAAa,qCAAqC;QAC9D;QACA,MAAMsB,WAAW,IAAI,CAAChB,gBAAgB,CAACiB,WAAW,CAACR,MAAMK,GAAG;QAC5D,IAAI,CAACE,UAAU;YACbP,MAAMM,IAAI;YACV,MAAM,IAAIrB,aAAa,sCAAsC;QAC/D;QAEA,MAAMwB,SAAS,IAAIpB,eAAeM,QAAQE,KAAK,CAACC,iBAAiB,EAAE,IAAI,CAACN,YAAY;QACpFQ,MAAMU,MAAM,CAACC,EAAE,CAAC,QAAQ,CAACC;YACvB,IAAIH,OAAOI,SAAS,IAAI;YACxB,IAAI;gBACFJ,OAAOK,MAAM,CAACF;YAChB,EAAE,OAAOG,OAAO;gBACdN,OAAOO,IAAI,CAACD;YACd;QACF;QACAf,MAAMiB,MAAM,CAACC,MAAM;QAEnB,MAAMC,SAAShC,kBAAkBa;QACjC,IAAI;YACF,MAAML,QAAQyB,OAAO,CAACb;QACxB,EAAE,OAAOQ,OAAO;YACdf,MAAMM,IAAI;YACV,MAAMS;QACR;QAEAf,MAAMqB,KAAK,CAACC,GAAG,CAAC3B,QAAQ4B,MAAM;QAC9B,MAAMC,QAAQ,MAAML,OAAOM,KAAK,CAAC;YAC/B,MAAM,IAAIxC,aAAa,8CAA8C;QACvE;QACA,OAAOwB,OAAOiB,MAAM,CAACF;IACvB;AACF"}
1
+ {"version":3,"sources":["../../../../src/harnesses/pi/durable/PiPrintRunner.ts"],"sourcesContent":["import {\n spawn as nodeSpawn,\n type ChildProcessWithoutNullStreams,\n type SpawnOptionsWithoutStdio,\n} from \"child_process\";\nimport type { PiDurableAgent, ProcessIdentity } from \"../../../durable/DurableAgent.js\";\nimport { PiPrintError } from \"../../../durable/DurableAgent.js\";\nimport { LocalProcessInspector, type ProcessInspector } from \"../../../durable/process.js\";\nimport { waitForChildClose } from \"../../../durable/utils.js\";\nimport { buildPiPrintArgs } from \"./PiPrintProtocol.js\";\nimport { PiStreamParser } from \"./PiStreamParser.js\";\n\ntype Spawn = (\n command: string,\n args: readonly string[],\n options: SpawnOptionsWithoutStdio & { stdio: [\"pipe\", \"pipe\", \"pipe\"] },\n) => ChildProcessWithoutNullStreams;\n\nexport interface PiPrintRunRequest {\n agent: PiDurableAgent;\n prompt: string;\n executable?: string;\n onSpawn(identity: ProcessIdentity): Promise<void>;\n}\n\nexport interface PiPrintRunResult {\n sessionId: string;\n result: string;\n messages: string[];\n exitCode: number;\n}\n\nexport interface PiPrintRunnerOptions {\n spawn?: Spawn;\n processInspector?: ProcessInspector;\n maxLineBytes?: number;\n}\n\nexport class PiPrintRunner {\n private readonly spawn: Spawn;\n private readonly processInspector: ProcessInspector;\n private readonly maxLineBytes: number;\n\n constructor(options: PiPrintRunnerOptions = {}) {\n this.spawn = options.spawn ?? (nodeSpawn as Spawn);\n this.processInspector = options.processInspector ?? new LocalProcessInspector();\n this.maxLineBytes = options.maxLineBytes ?? 1024 * 1024;\n }\n\n async run(request: PiPrintRunRequest): Promise<PiPrintRunResult> {\n const args = buildPiPrintArgs(\n request.agent.providerSessionId,\n request.agent.sessionHealth === \"uninitialized\",\n );\n const child = this.spawn(request.executable ?? \"pi\", args, {\n cwd: request.agent.cwd,\n shell: false,\n stdio: [\"pipe\", \"pipe\", \"pipe\"],\n });\n if (!child.pid) {\n child.kill();\n throw new PiPrintError(\"Pi process did not provide a PID.\", \"PI_PROCESS\");\n }\n const identity = this.processInspector.getIdentity(child.pid);\n if (!identity) {\n child.kill();\n throw new PiPrintError(\"Cannot verify Pi process identity.\", \"PI_PROCESS\");\n }\n\n const parser = new PiStreamParser(request.agent.providerSessionId, this.maxLineBytes);\n child.stdout.on(\"data\", (chunk: Buffer | string) => {\n if (parser.hasFailed()) return;\n try {\n parser.accept(chunk);\n } catch (error) {\n parser.fail(error);\n }\n });\n child.stderr.resume();\n\n const closed = waitForChildClose(child);\n try {\n await request.onSpawn(identity);\n } catch (error) {\n child.kill();\n throw error;\n }\n\n child.stdin.end(request.prompt);\n const close = await closed.catch(() => {\n throw new PiPrintError(\"Pi process failed to start or communicate.\", \"PI_PROCESS\");\n });\n return parser.result(close);\n }\n}\n"],"names":["spawn","nodeSpawn","PiPrintError","LocalProcessInspector","waitForChildClose","buildPiPrintArgs","PiStreamParser","PiPrintRunner","processInspector","maxLineBytes","options","run","request","args","agent","providerSessionId","sessionHealth","child","executable","cwd","shell","stdio","pid","kill","identity","getIdentity","parser","stdout","on","chunk","hasFailed","accept","error","fail","stderr","resume","closed","onSpawn","stdin","end","prompt","close","catch","result"],"mappings":"AAAA,SACEA,SAASC,SAAS,QAGb,gBAAgB;AAEvB,SAASC,YAAY,QAAQ,mCAAmC;AAChE,SAASC,qBAAqB,QAA+B,8BAA8B;AAC3F,SAASC,iBAAiB,QAAQ,4BAA4B;AAC9D,SAASC,gBAAgB,QAAQ,uBAAuB;AACxD,SAASC,cAAc,QAAQ,sBAAsB;AA4BrD,OAAO,MAAMC;IACMP,MAAa;IACbQ,iBAAmC;IACnCC,aAAqB;IAEtC,YAAYC,UAAgC,CAAC,CAAC,CAAE;QAC9C,IAAI,CAACV,KAAK,GAAGU,QAAQV,KAAK,IAAKC;QAC/B,IAAI,CAACO,gBAAgB,GAAGE,QAAQF,gBAAgB,IAAI,IAAIL;QACxD,IAAI,CAACM,YAAY,GAAGC,QAAQD,YAAY,IAAI,OAAO;IACrD;IAEA,MAAME,IAAIC,OAA0B,EAA6B;QAC/D,MAAMC,OAAOR,iBACXO,QAAQE,KAAK,CAACC,iBAAiB,EAC/BH,QAAQE,KAAK,CAACE,aAAa,KAAK;QAElC,MAAMC,QAAQ,IAAI,CAACjB,KAAK,CAACY,QAAQM,UAAU,IAAI,MAAML,MAAM;YACzDM,KAAKP,QAAQE,KAAK,CAACK,GAAG;YACtBC,OAAO;YACPC,OAAO;gBAAC;gBAAQ;gBAAQ;aAAO;QACjC;QACA,IAAI,CAACJ,MAAMK,GAAG,EAAE;YACdL,MAAMM,IAAI;YACV,MAAM,IAAIrB,aAAa,qCAAqC;QAC9D;QACA,MAAMsB,WAAW,IAAI,CAAChB,gBAAgB,CAACiB,WAAW,CAACR,MAAMK,GAAG;QAC5D,IAAI,CAACE,UAAU;YACbP,MAAMM,IAAI;YACV,MAAM,IAAIrB,aAAa,sCAAsC;QAC/D;QAEA,MAAMwB,SAAS,IAAIpB,eAAeM,QAAQE,KAAK,CAACC,iBAAiB,EAAE,IAAI,CAACN,YAAY;QACpFQ,MAAMU,MAAM,CAACC,EAAE,CAAC,QAAQ,CAACC;YACvB,IAAIH,OAAOI,SAAS,IAAI;YACxB,IAAI;gBACFJ,OAAOK,MAAM,CAACF;YAChB,EAAE,OAAOG,OAAO;gBACdN,OAAOO,IAAI,CAACD;YACd;QACF;QACAf,MAAMiB,MAAM,CAACC,MAAM;QAEnB,MAAMC,SAAShC,kBAAkBa;QACjC,IAAI;YACF,MAAML,QAAQyB,OAAO,CAACb;QACxB,EAAE,OAAOQ,OAAO;YACdf,MAAMM,IAAI;YACV,MAAMS;QACR;QAEAf,MAAMqB,KAAK,CAACC,GAAG,CAAC3B,QAAQ4B,MAAM;QAC9B,MAAMC,QAAQ,MAAML,OAAOM,KAAK,CAAC;YAC/B,MAAM,IAAIxC,aAAa,8CAA8C;QACvE;QACA,OAAOwB,OAAOiB,MAAM,CAACF;IACvB;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"PiStreamParser.d.ts","sourceRoot":"","sources":["../../../../src/providers/pi/durable/PiStreamParser.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG9E,qBAAa,cAAc;IAQvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAPpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,OAAO,CAA6B;gBAGzB,iBAAiB,EAAE,MAAM,EAC1C,YAAY,EAAE,MAAM;IAQtB,SAAS,IAAI,OAAO;IAIpB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAOpC,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAO1B,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG;QAC/B,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;KAClB;IA2BD,OAAO,CAAC,UAAU;CAsBnB"}
1
+ {"version":3,"file":"PiStreamParser.d.ts","sourceRoot":"","sources":["../../../../src/harnesses/pi/durable/PiStreamParser.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG9E,qBAAa,cAAc;IAQvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAPpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,OAAO,CAA6B;gBAGzB,iBAAiB,EAAE,MAAM,EAC1C,YAAY,EAAE,MAAM;IAQtB,SAAS,IAAI,OAAO;IAIpB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAOpC,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAO1B,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG;QAC/B,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;KAClB;IA2BD,OAAO,CAAC,UAAU;CAsBnB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/providers/pi/durable/PiStreamParser.ts"],"sourcesContent":["import { PiPrintError } from \"../../../durable/DurableAgent.js\";\nimport { LineBuffer, type ChildCloseResult } from \"../../../durable/utils.js\";\nimport { readPiAssistantText, readPiSessionId } from \"./PiPrintProtocol.js\";\n\nexport class PiStreamParser {\n private readonly lines: LineBuffer;\n private sessionId: string | null = null;\n private ended = false;\n private readonly messages: string[] = [];\n private failure: PiPrintError | null = null;\n\n constructor(\n private readonly expectedSessionId: string,\n maxLineBytes: number,\n ) {\n this.lines = new LineBuffer(\n maxLineBytes,\n () => new PiPrintError(\"Pi stream line exceeded the safety limit.\", \"PI_PROTOCOL\"),\n );\n }\n\n hasFailed(): boolean {\n return this.failure !== null;\n }\n\n accept(chunk: Buffer | string): void {\n for (const line of this.lines.accept(chunk)) {\n if (line.length === 0) continue;\n this.acceptLine(line);\n }\n }\n\n fail(error: unknown): void {\n this.failure =\n error instanceof PiPrintError\n ? error\n : new PiPrintError(\"Pi stream processing failed.\", \"PI_PROTOCOL\");\n }\n\n result(close: ChildCloseResult): {\n sessionId: string;\n result: string;\n messages: string[];\n exitCode: number;\n } {\n if (this.failure) throw this.failure;\n this.lines.assertComplete(\n () => new PiPrintError(\"Pi stream ended with incomplete JSON.\", \"PI_PROTOCOL\"),\n );\n if (close.code !== 0) {\n throw new PiPrintError(\n `Pi print run failed${close.signal ? ` (${close.signal})` : \".\"}`,\n \"PI_PROCESS\",\n );\n }\n if (this.sessionId === null) {\n throw new PiPrintError(\"Pi stream ended without a session identity.\", \"PI_PROTOCOL\");\n }\n if (!this.ended)\n throw new PiPrintError(\"Pi stream ended before agent completion.\", \"PI_PROTOCOL\");\n if (this.messages.length === 0) {\n throw new PiPrintError(\"Pi stream ended without an assistant result.\", \"PI_RESULT_MISSING\");\n }\n return {\n sessionId: this.sessionId,\n result: this.messages.at(-1)!,\n messages: this.messages,\n exitCode: close.code,\n };\n }\n\n private acceptLine(line: Buffer): void {\n let value: unknown;\n try {\n value = JSON.parse(line.toString(\"utf8\"));\n } catch {\n throw new PiPrintError(\"Pi emitted malformed stream JSON.\", \"PI_PROTOCOL\");\n }\n if (!value || typeof value !== \"object\" || Array.isArray(value)) {\n throw new PiPrintError(\"Pi emitted a non-object stream message.\", \"PI_PROTOCOL\");\n }\n const event = value as Record<string, unknown>;\n if (event.type === \"session\") {\n this.sessionId = readPiSessionId(event, this.sessionId, this.expectedSessionId);\n return;\n }\n if (event.type === \"agent_end\") {\n this.ended = true;\n return;\n }\n const text = readPiAssistantText(event);\n if (text !== null) this.messages.push(text);\n }\n}\n"],"names":["PiPrintError","LineBuffer","readPiAssistantText","readPiSessionId","PiStreamParser","lines","sessionId","ended","messages","failure","expectedSessionId","maxLineBytes","hasFailed","accept","chunk","line","length","acceptLine","fail","error","result","close","assertComplete","code","signal","at","exitCode","value","JSON","parse","toString","Array","isArray","event","type","text","push"],"mappings":"AAAA,SAASA,YAAY,QAAQ,mCAAmC;AAChE,SAASC,UAAU,QAA+B,4BAA4B;AAC9E,SAASC,mBAAmB,EAAEC,eAAe,QAAQ,uBAAuB;AAE5E,OAAO,MAAMC;;IACMC,MAAkB;IAC3BC,YAA2B,KAAK;IAChCC,QAAQ,MAAM;IACLC,WAAqB,EAAE,CAAC;IACjCC,UAA+B,KAAK;IAE5C,YACE,AAAiBC,iBAAyB,EAC1CC,YAAoB,CACpB;aAFiBD,oBAAAA;QAGjB,IAAI,CAACL,KAAK,GAAG,IAAIJ,WACfU,cACA,IAAM,IAAIX,aAAa,6CAA6C;IAExE;IAEAY,YAAqB;QACnB,OAAO,IAAI,CAACH,OAAO,KAAK;IAC1B;IAEAI,OAAOC,KAAsB,EAAQ;QACnC,KAAK,MAAMC,QAAQ,IAAI,CAACV,KAAK,CAACQ,MAAM,CAACC,OAAQ;YAC3C,IAAIC,KAAKC,MAAM,KAAK,GAAG;YACvB,IAAI,CAACC,UAAU,CAACF;QAClB;IACF;IAEAG,KAAKC,KAAc,EAAQ;QACzB,IAAI,CAACV,OAAO,GACVU,iBAAiBnB,eACbmB,QACA,IAAInB,aAAa,gCAAgC;IACzD;IAEAoB,OAAOC,KAAuB,EAK5B;QACA,IAAI,IAAI,CAACZ,OAAO,EAAE,MAAM,IAAI,CAACA,OAAO;QACpC,IAAI,CAACJ,KAAK,CAACiB,cAAc,CACvB,IAAM,IAAItB,aAAa,yCAAyC;QAElE,IAAIqB,MAAME,IAAI,KAAK,GAAG;YACpB,MAAM,IAAIvB,aACR,CAAC,mBAAmB,EAAEqB,MAAMG,MAAM,GAAG,CAAC,EAAE,EAAEH,MAAMG,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,EACjE;QAEJ;QACA,IAAI,IAAI,CAAClB,SAAS,KAAK,MAAM;YAC3B,MAAM,IAAIN,aAAa,+CAA+C;QACxE;QACA,IAAI,CAAC,IAAI,CAACO,KAAK,EACb,MAAM,IAAIP,aAAa,4CAA4C;QACrE,IAAI,IAAI,CAACQ,QAAQ,CAACQ,MAAM,KAAK,GAAG;YAC9B,MAAM,IAAIhB,aAAa,gDAAgD;QACzE;QACA,OAAO;YACLM,WAAW,IAAI,CAACA,SAAS;YACzBc,QAAQ,IAAI,CAACZ,QAAQ,CAACiB,EAAE,CAAC,CAAC;YAC1BjB,UAAU,IAAI,CAACA,QAAQ;YACvBkB,UAAUL,MAAME,IAAI;QACtB;IACF;IAEQN,WAAWF,IAAY,EAAQ;QACrC,IAAIY;QACJ,IAAI;YACFA,QAAQC,KAAKC,KAAK,CAACd,KAAKe,QAAQ,CAAC;QACnC,EAAE,OAAM;YACN,MAAM,IAAI9B,aAAa,qCAAqC;QAC9D;QACA,IAAI,CAAC2B,SAAS,OAAOA,UAAU,YAAYI,MAAMC,OAAO,CAACL,QAAQ;YAC/D,MAAM,IAAI3B,aAAa,2CAA2C;QACpE;QACA,MAAMiC,QAAQN;QACd,IAAIM,MAAMC,IAAI,KAAK,WAAW;YAC5B,IAAI,CAAC5B,SAAS,GAAGH,gBAAgB8B,OAAO,IAAI,CAAC3B,SAAS,EAAE,IAAI,CAACI,iBAAiB;YAC9E;QACF;QACA,IAAIuB,MAAMC,IAAI,KAAK,aAAa;YAC9B,IAAI,CAAC3B,KAAK,GAAG;YACb;QACF;QACA,MAAM4B,OAAOjC,oBAAoB+B;QACjC,IAAIE,SAAS,MAAM,IAAI,CAAC3B,QAAQ,CAAC4B,IAAI,CAACD;IACxC;AACF"}
1
+ {"version":3,"sources":["../../../../src/harnesses/pi/durable/PiStreamParser.ts"],"sourcesContent":["import { PiPrintError } from \"../../../durable/DurableAgent.js\";\nimport { LineBuffer, type ChildCloseResult } from \"../../../durable/utils.js\";\nimport { readPiAssistantText, readPiSessionId } from \"./PiPrintProtocol.js\";\n\nexport class PiStreamParser {\n private readonly lines: LineBuffer;\n private sessionId: string | null = null;\n private ended = false;\n private readonly messages: string[] = [];\n private failure: PiPrintError | null = null;\n\n constructor(\n private readonly expectedSessionId: string,\n maxLineBytes: number,\n ) {\n this.lines = new LineBuffer(\n maxLineBytes,\n () => new PiPrintError(\"Pi stream line exceeded the safety limit.\", \"PI_PROTOCOL\"),\n );\n }\n\n hasFailed(): boolean {\n return this.failure !== null;\n }\n\n accept(chunk: Buffer | string): void {\n for (const line of this.lines.accept(chunk)) {\n if (line.length === 0) continue;\n this.acceptLine(line);\n }\n }\n\n fail(error: unknown): void {\n this.failure =\n error instanceof PiPrintError\n ? error\n : new PiPrintError(\"Pi stream processing failed.\", \"PI_PROTOCOL\");\n }\n\n result(close: ChildCloseResult): {\n sessionId: string;\n result: string;\n messages: string[];\n exitCode: number;\n } {\n if (this.failure) throw this.failure;\n this.lines.assertComplete(\n () => new PiPrintError(\"Pi stream ended with incomplete JSON.\", \"PI_PROTOCOL\"),\n );\n if (close.code !== 0) {\n throw new PiPrintError(\n `Pi print run failed${close.signal ? ` (${close.signal})` : \".\"}`,\n \"PI_PROCESS\",\n );\n }\n if (this.sessionId === null) {\n throw new PiPrintError(\"Pi stream ended without a session identity.\", \"PI_PROTOCOL\");\n }\n if (!this.ended)\n throw new PiPrintError(\"Pi stream ended before agent completion.\", \"PI_PROTOCOL\");\n if (this.messages.length === 0) {\n throw new PiPrintError(\"Pi stream ended without an assistant result.\", \"PI_RESULT_MISSING\");\n }\n return {\n sessionId: this.sessionId,\n result: this.messages.at(-1)!,\n messages: this.messages,\n exitCode: close.code,\n };\n }\n\n private acceptLine(line: Buffer): void {\n let value: unknown;\n try {\n value = JSON.parse(line.toString(\"utf8\"));\n } catch {\n throw new PiPrintError(\"Pi emitted malformed stream JSON.\", \"PI_PROTOCOL\");\n }\n if (!value || typeof value !== \"object\" || Array.isArray(value)) {\n throw new PiPrintError(\"Pi emitted a non-object stream message.\", \"PI_PROTOCOL\");\n }\n const event = value as Record<string, unknown>;\n if (event.type === \"session\") {\n this.sessionId = readPiSessionId(event, this.sessionId, this.expectedSessionId);\n return;\n }\n if (event.type === \"agent_end\") {\n this.ended = true;\n return;\n }\n const text = readPiAssistantText(event);\n if (text !== null) this.messages.push(text);\n }\n}\n"],"names":["PiPrintError","LineBuffer","readPiAssistantText","readPiSessionId","PiStreamParser","lines","sessionId","ended","messages","failure","expectedSessionId","maxLineBytes","hasFailed","accept","chunk","line","length","acceptLine","fail","error","result","close","assertComplete","code","signal","at","exitCode","value","JSON","parse","toString","Array","isArray","event","type","text","push"],"mappings":"AAAA,SAASA,YAAY,QAAQ,mCAAmC;AAChE,SAASC,UAAU,QAA+B,4BAA4B;AAC9E,SAASC,mBAAmB,EAAEC,eAAe,QAAQ,uBAAuB;AAE5E,OAAO,MAAMC;;IACMC,MAAkB;IAC3BC,YAA2B,KAAK;IAChCC,QAAQ,MAAM;IACLC,WAAqB,EAAE,CAAC;IACjCC,UAA+B,KAAK;IAE5C,YACE,AAAiBC,iBAAyB,EAC1CC,YAAoB,CACpB;aAFiBD,oBAAAA;QAGjB,IAAI,CAACL,KAAK,GAAG,IAAIJ,WACfU,cACA,IAAM,IAAIX,aAAa,6CAA6C;IAExE;IAEAY,YAAqB;QACnB,OAAO,IAAI,CAACH,OAAO,KAAK;IAC1B;IAEAI,OAAOC,KAAsB,EAAQ;QACnC,KAAK,MAAMC,QAAQ,IAAI,CAACV,KAAK,CAACQ,MAAM,CAACC,OAAQ;YAC3C,IAAIC,KAAKC,MAAM,KAAK,GAAG;YACvB,IAAI,CAACC,UAAU,CAACF;QAClB;IACF;IAEAG,KAAKC,KAAc,EAAQ;QACzB,IAAI,CAACV,OAAO,GACVU,iBAAiBnB,eACbmB,QACA,IAAInB,aAAa,gCAAgC;IACzD;IAEAoB,OAAOC,KAAuB,EAK5B;QACA,IAAI,IAAI,CAACZ,OAAO,EAAE,MAAM,IAAI,CAACA,OAAO;QACpC,IAAI,CAACJ,KAAK,CAACiB,cAAc,CACvB,IAAM,IAAItB,aAAa,yCAAyC;QAElE,IAAIqB,MAAME,IAAI,KAAK,GAAG;YACpB,MAAM,IAAIvB,aACR,CAAC,mBAAmB,EAAEqB,MAAMG,MAAM,GAAG,CAAC,EAAE,EAAEH,MAAMG,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,EACjE;QAEJ;QACA,IAAI,IAAI,CAAClB,SAAS,KAAK,MAAM;YAC3B,MAAM,IAAIN,aAAa,+CAA+C;QACxE;QACA,IAAI,CAAC,IAAI,CAACO,KAAK,EACb,MAAM,IAAIP,aAAa,4CAA4C;QACrE,IAAI,IAAI,CAACQ,QAAQ,CAACQ,MAAM,KAAK,GAAG;YAC9B,MAAM,IAAIhB,aAAa,gDAAgD;QACzE;QACA,OAAO;YACLM,WAAW,IAAI,CAACA,SAAS;YACzBc,QAAQ,IAAI,CAACZ,QAAQ,CAACiB,EAAE,CAAC,CAAC;YAC1BjB,UAAU,IAAI,CAACA,QAAQ;YACvBkB,UAAUL,MAAME,IAAI;QACtB;IACF;IAEQN,WAAWF,IAAY,EAAQ;QACrC,IAAIY;QACJ,IAAI;YACFA,QAAQC,KAAKC,KAAK,CAACd,KAAKe,QAAQ,CAAC;QACnC,EAAE,OAAM;YACN,MAAM,IAAI9B,aAAa,qCAAqC;QAC9D;QACA,IAAI,CAAC2B,SAAS,OAAOA,UAAU,YAAYI,MAAMC,OAAO,CAACL,QAAQ;YAC/D,MAAM,IAAI3B,aAAa,2CAA2C;QACpE;QACA,MAAMiC,QAAQN;QACd,IAAIM,MAAMC,IAAI,KAAK,WAAW;YAC5B,IAAI,CAAC5B,SAAS,GAAGH,gBAAgB8B,OAAO,IAAI,CAAC3B,SAAS,EAAE,IAAI,CAACI,iBAAiB;YAC9E;QACF;QACA,IAAIuB,MAAMC,IAAI,KAAK,aAAa;YAC9B,IAAI,CAAC3B,KAAK,GAAG;YACb;QACF;QACA,MAAM4B,OAAOjC,oBAAoB+B;QACjC,IAAIE,SAAS,MAAM,IAAI,CAAC3B,QAAQ,CAAC4B,IAAI,CAACD;IACxC;AACF"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Helpers shared by the harness adapters. Each harness keeps its own session
3
+ * matching and parsing; these cover the parts that are the same everywhere.
4
+ */
5
+ import type { AgentAdapter, AgentDetectionContext, AgentInfo, AgentType, ProcessInfo } from "../adapters/AgentAdapter.js";
6
+ /** A session untouched for longer than this is IDLE. */
7
+ export declare const IDLE_THRESHOLD_MINUTES = 5;
8
+ /** Maximum length of a session summary derived from a user prompt. */
9
+ export declare const SUMMARY_MAX_LENGTH = 120;
10
+ export interface HarnessProcesses {
11
+ /** Every process whose executable is one of the adapter's `processNames`. */
12
+ relevant: ProcessInfo[];
13
+ /** The subset `canHandle` accepts (deduplicated by PID): the agents. */
14
+ processes: ProcessInfo[];
15
+ }
16
+ /**
17
+ * The adapter's processes from the manager's shared snapshot, or from its own
18
+ * capture when called standalone. `relevant` also keeps helper processes
19
+ * (e.g. a harness's child runtime) that detection may need to walk through.
20
+ */
21
+ export declare function findHarnessProcesses(adapter: Pick<AgentAdapter, "canHandle"> & {
22
+ readonly processNames: readonly string[];
23
+ }, context?: AgentDetectionContext): Promise<HarnessProcesses>;
24
+ /** Whether argv[0]'s basename is `name` or `name.exe`. */
25
+ export declare function matchesExecutable(command: string, name: string): boolean;
26
+ /**
27
+ * The placeholder agent for a running process with no matched session:
28
+ * RUNNING, with a `pid-<pid>` session id.
29
+ */
30
+ export declare function processOnlyAgent(type: AgentType, processInfo: ProcessInfo, { summary, cwd }: {
31
+ summary: string;
32
+ cwd?: string;
33
+ }): AgentInfo;
34
+ export declare function isIdle(lastActive: Date, now?: number): boolean;
35
+ export declare function homeDir(): string;
36
+ /** ISO strings, or epoch numbers in seconds or milliseconds; null when invalid. */
37
+ export declare function parseTimestamp(value: unknown): Date | null;
38
+ export declare function truncate(value: string, maxLength: number): string;
39
+ /** Flatten a string, or an array of `{ text }` blocks, to plain text. */
40
+ export declare function flattenTextBlocks(content: unknown): string;
41
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/harnesses/shared.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,qBAAqB,EACrB,SAAS,EACT,SAAS,EACT,WAAW,EACZ,MAAM,6BAA6B,CAAC;AASrC,wDAAwD;AACxD,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,sEAAsE;AACtE,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC,MAAM,WAAW,gBAAgB;IAC/B,6EAA6E;IAC7E,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,wEAAwE;IACxE,SAAS,EAAE,WAAW,EAAE,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG;IAAE,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,EACvF,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,gBAAgB,CAAC,CAa3B;AAED,0DAA0D;AAC1D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAGxE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,WAAW,EACxB,EAAE,OAAO,EAAE,GAAqB,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GACpE,SAAS,CAWX;AAED,wBAAgB,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,SAAa,GAAG,OAAO,CAElE;AAED,wBAAgB,OAAO,IAAI,MAAM,CAEhC;AAED,mFAAmF;AACnF,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAQ1D;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAGjE;AAED,yEAAyE;AACzE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAU1D"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Helpers shared by the harness adapters. Each harness keeps its own session
3
+ * matching and parsing; these cover the parts that are the same everywhere.
4
+ */ import { AgentStatus } from "../adapters/AgentAdapter.js";
5
+ import { generateAgentName } from "../utils/matching.js";
6
+ import { captureProcessSnapshot, executableBasename, filterByProcessNames } from "../utils/process.js";
7
+ /** A session untouched for longer than this is IDLE. */ export const IDLE_THRESHOLD_MINUTES = 5;
8
+ /** Maximum length of a session summary derived from a user prompt. */ export const SUMMARY_MAX_LENGTH = 120;
9
+ /**
10
+ * The adapter's processes from the manager's shared snapshot, or from its own
11
+ * capture when called standalone. `relevant` also keeps helper processes
12
+ * (e.g. a harness's child runtime) that detection may need to walk through.
13
+ */ export async function findHarnessProcesses(adapter, context) {
14
+ const snapshot = context?.processes ?? await captureProcessSnapshot(adapter.processNames, {
15
+ isCandidate: (process1)=>adapter.canHandle(process1)
16
+ });
17
+ const relevant = filterByProcessNames(snapshot, adapter.processNames);
18
+ const byPid = new Map();
19
+ for (const process1 of relevant){
20
+ if (!byPid.has(process1.pid) && adapter.canHandle(process1)) byPid.set(process1.pid, process1);
21
+ }
22
+ return {
23
+ relevant,
24
+ processes: Array.from(byPid.values())
25
+ };
26
+ }
27
+ /** Whether argv[0]'s basename is `name` or `name.exe`. */ export function matchesExecutable(command, name) {
28
+ const base = executableBasename(command);
29
+ return base === name || base === `${name}.exe`;
30
+ }
31
+ /**
32
+ * The placeholder agent for a running process with no matched session:
33
+ * RUNNING, with a `pid-<pid>` session id.
34
+ */ export function processOnlyAgent(type, processInfo, { summary, cwd = processInfo.cwd }) {
35
+ return {
36
+ name: generateAgentName(cwd, processInfo.pid),
37
+ type,
38
+ status: AgentStatus.RUNNING,
39
+ summary,
40
+ pid: processInfo.pid,
41
+ projectPath: cwd,
42
+ sessionId: `pid-${processInfo.pid}`,
43
+ lastActive: new Date()
44
+ };
45
+ }
46
+ export function isIdle(lastActive, now = Date.now()) {
47
+ return (now - lastActive.getTime()) / 60000 > IDLE_THRESHOLD_MINUTES;
48
+ }
49
+ export function homeDir() {
50
+ return process.env.HOME || process.env.USERPROFILE || "";
51
+ }
52
+ /** ISO strings, or epoch numbers in seconds or milliseconds; null when invalid. */ export function parseTimestamp(value) {
53
+ if (typeof value === "number") {
54
+ const date = new Date(value < 1_000_000_000_000 ? value * 1000 : value);
55
+ return Number.isNaN(date.getTime()) ? null : date;
56
+ }
57
+ if (typeof value !== "string" || !value) return null;
58
+ const date = new Date(value);
59
+ return Number.isNaN(date.getTime()) ? null : date;
60
+ }
61
+ export function truncate(value, maxLength) {
62
+ if (value.length <= maxLength) return value;
63
+ return `${value.slice(0, maxLength - 3)}...`;
64
+ }
65
+ /** Flatten a string, or an array of `{ text }` blocks, to plain text. */ export function flattenTextBlocks(content) {
66
+ if (typeof content === "string") return content;
67
+ if (!Array.isArray(content)) return "";
68
+ return content.map((block)=>block && typeof block === "object" && typeof block.text === "string" ? block.text : "").join("");
69
+ }
70
+
71
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/harnesses/shared.ts"],"sourcesContent":["/**\n * Helpers shared by the harness adapters. Each harness keeps its own session\n * matching and parsing; these cover the parts that are the same everywhere.\n */\n\nimport type {\n AgentAdapter,\n AgentDetectionContext,\n AgentInfo,\n AgentType,\n ProcessInfo,\n} from \"../adapters/AgentAdapter.js\";\nimport { AgentStatus } from \"../adapters/AgentAdapter.js\";\nimport { generateAgentName } from \"../utils/matching.js\";\nimport {\n captureProcessSnapshot,\n executableBasename,\n filterByProcessNames,\n} from \"../utils/process.js\";\n\n/** A session untouched for longer than this is IDLE. */\nexport const IDLE_THRESHOLD_MINUTES = 5;\n\n/** Maximum length of a session summary derived from a user prompt. */\nexport const SUMMARY_MAX_LENGTH = 120;\n\nexport interface HarnessProcesses {\n /** Every process whose executable is one of the adapter's `processNames`. */\n relevant: ProcessInfo[];\n /** The subset `canHandle` accepts (deduplicated by PID): the agents. */\n processes: ProcessInfo[];\n}\n\n/**\n * The adapter's processes from the manager's shared snapshot, or from its own\n * capture when called standalone. `relevant` also keeps helper processes\n * (e.g. a harness's child runtime) that detection may need to walk through.\n */\nexport async function findHarnessProcesses(\n adapter: Pick<AgentAdapter, \"canHandle\"> & { readonly processNames: readonly string[] },\n context?: AgentDetectionContext,\n): Promise<HarnessProcesses> {\n const snapshot =\n context?.processes ??\n (await captureProcessSnapshot(adapter.processNames, {\n isCandidate: (process) => adapter.canHandle(process),\n }));\n const relevant = filterByProcessNames(snapshot, adapter.processNames);\n\n const byPid = new Map<number, ProcessInfo>();\n for (const process of relevant) {\n if (!byPid.has(process.pid) && adapter.canHandle(process)) byPid.set(process.pid, process);\n }\n return { relevant, processes: Array.from(byPid.values()) };\n}\n\n/** Whether argv[0]'s basename is `name` or `name.exe`. */\nexport function matchesExecutable(command: string, name: string): boolean {\n const base = executableBasename(command);\n return base === name || base === `${name}.exe`;\n}\n\n/**\n * The placeholder agent for a running process with no matched session:\n * RUNNING, with a `pid-<pid>` session id.\n */\nexport function processOnlyAgent(\n type: AgentType,\n processInfo: ProcessInfo,\n { summary, cwd = processInfo.cwd }: { summary: string; cwd?: string },\n): AgentInfo {\n return {\n name: generateAgentName(cwd, processInfo.pid),\n type,\n status: AgentStatus.RUNNING,\n summary,\n pid: processInfo.pid,\n projectPath: cwd,\n sessionId: `pid-${processInfo.pid}`,\n lastActive: new Date(),\n };\n}\n\nexport function isIdle(lastActive: Date, now = Date.now()): boolean {\n return (now - lastActive.getTime()) / 60000 > IDLE_THRESHOLD_MINUTES;\n}\n\nexport function homeDir(): string {\n return process.env.HOME || process.env.USERPROFILE || \"\";\n}\n\n/** ISO strings, or epoch numbers in seconds or milliseconds; null when invalid. */\nexport function parseTimestamp(value: unknown): Date | null {\n if (typeof value === \"number\") {\n const date = new Date(value < 1_000_000_000_000 ? value * 1000 : value);\n return Number.isNaN(date.getTime()) ? null : date;\n }\n if (typeof value !== \"string\" || !value) return null;\n const date = new Date(value);\n return Number.isNaN(date.getTime()) ? null : date;\n}\n\nexport function truncate(value: string, maxLength: number): string {\n if (value.length <= maxLength) return value;\n return `${value.slice(0, maxLength - 3)}...`;\n}\n\n/** Flatten a string, or an array of `{ text }` blocks, to plain text. */\nexport function flattenTextBlocks(content: unknown): string {\n if (typeof content === \"string\") return content;\n if (!Array.isArray(content)) return \"\";\n return content\n .map((block) =>\n block && typeof block === \"object\" && typeof (block as { text?: unknown }).text === \"string\"\n ? (block as { text: string }).text\n : \"\",\n )\n .join(\"\");\n}\n"],"names":["AgentStatus","generateAgentName","captureProcessSnapshot","executableBasename","filterByProcessNames","IDLE_THRESHOLD_MINUTES","SUMMARY_MAX_LENGTH","findHarnessProcesses","adapter","context","snapshot","processes","processNames","isCandidate","process","canHandle","relevant","byPid","Map","has","pid","set","Array","from","values","matchesExecutable","command","name","base","processOnlyAgent","type","processInfo","summary","cwd","status","RUNNING","projectPath","sessionId","lastActive","Date","isIdle","now","getTime","homeDir","env","HOME","USERPROFILE","parseTimestamp","value","date","Number","isNaN","truncate","maxLength","length","slice","flattenTextBlocks","content","isArray","map","block","text","join"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,17 +1,20 @@
1
1
  export { AgentManager, AgentNotRunningError } from "./AgentManager.js";
2
- export { getCodexCapacityReport, getZaiCapacityReport } from "./capacity/index.js";
3
- export type { CapacityProbeOptions, CapacityReport, CapacityWindow, ZaiCapacityOptions, } from "./capacity/index.js";
2
+ export { getClaudeCapacityReport, getCodexCapacityReport, getOpenAiCapacityReport, getZaiCapacityReport, } from "./capacity/index.js";
3
+ export type { ClaudeCapacityOptions, CapacityProbeOptions, CapacityReport, CapacityWindow, OpenAiCapacityOptions, ZaiCapacityOptions, } from "./capacity/index.js";
4
4
  export { getAgentReadinessReport, getAgentReadinessReports, worstReadinessStatus, } from "./readiness/AgentReadiness.js";
5
5
  export type { AgentReadinessOptions, AgentReadinessReport, AuthReadinessCheck, BuiltInSkillsReadinessCheck, DirectoryReadinessCheck, ExecutableReadinessCheck, IntegrationReadinessCheck, ReadinessAgentType, ReadinessAuthState, ReadinessCheck, ReadinessStatus, } from "./readiness/AgentReadiness.js";
6
- export { ClaudeCodeAdapter } from "./providers/claude/ClaudeCodeAdapter.js";
7
- export { CodexAdapter } from "./providers/codex/CodexAdapter.js";
8
- export { CopilotAdapter } from "./providers/copilot/CopilotAdapter.js";
9
- export { GeminiCliAdapter } from "./providers/gemini/GeminiCliAdapter.js";
10
- export { GrokCliAdapter } from "./providers/grok/GrokCliAdapter.js";
11
- export { OpenCodeAdapter } from "./providers/opencode/OpenCodeAdapter.js";
12
- export { PiAdapter } from "./providers/pi/PiAdapter.js";
13
- export { AgentStatus } from "./adapters/AgentAdapter.js";
14
- export type { AgentAdapter, AgentType, AgentInfo, ProcessInfo, ConversationMessage, SessionSummary, ListSessionsOptions, AgentDetectionContext, } from "./adapters/AgentAdapter.js";
6
+ export { ClaudeCodeAdapter } from "./harnesses/claude/ClaudeCodeAdapter.js";
7
+ export { CodexAdapter } from "./harnesses/codex/CodexAdapter.js";
8
+ export { CopilotAdapter } from "./harnesses/copilot/CopilotAdapter.js";
9
+ export { GeminiCliAdapter } from "./harnesses/gemini/GeminiCliAdapter.js";
10
+ export { GrokCliAdapter } from "./harnesses/grok/GrokCliAdapter.js";
11
+ export { AntigravityCliAdapter } from "./harnesses/antigravity/AntigravityCliAdapter.js";
12
+ export { KiroAdapter } from "./harnesses/kiro/KiroAdapter.js";
13
+ export { OpenCodeAdapter } from "./harnesses/opencode/OpenCodeAdapter.js";
14
+ export { PiAdapter } from "./harnesses/pi/PiAdapter.js";
15
+ export { createBuiltinAdapters } from "./harnesses/index.js";
16
+ export { AGENT_TYPES, AgentStatus } from "./adapters/AgentAdapter.js";
17
+ export type { AgentAdapter, AgentType, AgentInfo, ProcessInfo, ConversationMessage, ConversationOptions, SessionSummary, ListSessionsOptions, AgentDetectionContext, } from "./adapters/AgentAdapter.js";
15
18
  export { TerminalFocusManager, TerminalType } from "./terminal/TerminalFocusManager.js";
16
19
  export type { TerminalLocation } from "./terminal/TerminalFocusManager.js";
17
20
  export { TtyWriter } from "./terminal/TtyWriter.js";
@@ -32,18 +35,18 @@ export { AGENT_MODES, DurableAgentError, DurableAgentBusyError, DurableAgentNotF
32
35
  export type { DurableAgent, DurableAgentBase, ClaudeDurableAgent, CodexDurableAgent, PiDurableAgent, DurableProvider, CodexPrintErrorCode, DurableAgentState, DurableSessionHealth, DurableRunStatus, DurableActiveRun, DurableLastResult, PiPrintErrorCode, ProcessIdentity, } from "./durable/DurableAgent.js";
33
36
  export { DurableAgentRepository } from "./durable/DurableAgentRepository.js";
34
37
  export type { CreateDurableAgentInput, DurableAgentRepositoryOptions, ProcessInspector, DurableRunCompletion, } from "./durable/DurableAgentRepository.js";
35
- export { ClaudePrintAgentService } from "./providers/claude/durable/ClaudePrintAgentService.js";
36
- export type { ClaudePrintAgentServiceOptions, ClaudePrintSendResult, } from "./providers/claude/durable/ClaudePrintAgentService.js";
37
- export { CodexCliProbe } from "./providers/codex/durable/CodexCliProbe.js";
38
- export type { CodexCliProbeOptions } from "./providers/codex/durable/CodexCliProbe.js";
39
- export { CodexPrintRunner } from "./providers/codex/durable/CodexPrintRunner.js";
40
- export type { CodexPrintRunnerOptions, CodexPrintRunRequest, CodexPrintRunResult, } from "./providers/codex/durable/CodexPrintRunner.js";
41
- export { CodexPrintAgentService } from "./providers/codex/durable/CodexPrintAgentService.js";
42
- export type { CodexPrintAgentServiceOptions, CodexPrintSendResult, } from "./providers/codex/durable/CodexPrintAgentService.js";
43
- export { PiCliProbe } from "./providers/pi/durable/PiCliProbe.js";
44
- export type { PiCliProbeOptions } from "./providers/pi/durable/PiCliProbe.js";
45
- export { PiPrintRunner } from "./providers/pi/durable/PiPrintRunner.js";
46
- export type { PiPrintRunnerOptions, PiPrintRunRequest, PiPrintRunResult, } from "./providers/pi/durable/PiPrintRunner.js";
47
- export { PiPrintAgentService } from "./providers/pi/durable/PiPrintAgentService.js";
48
- export type { PiPrintAgentServiceOptions, PiPrintSendResult, } from "./providers/pi/durable/PiPrintAgentService.js";
38
+ export { ClaudePrintAgentService } from "./harnesses/claude/durable/ClaudePrintAgentService.js";
39
+ export type { ClaudePrintAgentServiceOptions, ClaudePrintSendResult, } from "./harnesses/claude/durable/ClaudePrintAgentService.js";
40
+ export { CodexCliProbe } from "./harnesses/codex/durable/CodexCliProbe.js";
41
+ export type { CodexCliProbeOptions } from "./harnesses/codex/durable/CodexCliProbe.js";
42
+ export { CodexPrintRunner } from "./harnesses/codex/durable/CodexPrintRunner.js";
43
+ export type { CodexPrintRunnerOptions, CodexPrintRunRequest, CodexPrintRunResult, } from "./harnesses/codex/durable/CodexPrintRunner.js";
44
+ export { CodexPrintAgentService } from "./harnesses/codex/durable/CodexPrintAgentService.js";
45
+ export type { CodexPrintAgentServiceOptions, CodexPrintSendResult, } from "./harnesses/codex/durable/CodexPrintAgentService.js";
46
+ export { PiCliProbe } from "./harnesses/pi/durable/PiCliProbe.js";
47
+ export type { PiCliProbeOptions } from "./harnesses/pi/durable/PiCliProbe.js";
48
+ export { PiPrintRunner } from "./harnesses/pi/durable/PiPrintRunner.js";
49
+ export type { PiPrintRunnerOptions, PiPrintRunRequest, PiPrintRunResult, } from "./harnesses/pi/durable/PiPrintRunner.js";
50
+ export { PiPrintAgentService } from "./harnesses/pi/durable/PiPrintAgentService.js";
51
+ export type { PiPrintAgentServiceOptions, PiPrintSendResult, } from "./harnesses/pi/durable/PiPrintAgentService.js";
49
52
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACnF,YAAY,EACV,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,2BAA2B,EAC3B,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,eAAe,GAChB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,YAAY,EACV,YAAY,EACZ,SAAS,EACT,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACxF,YAAY,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,wCAAwC,CAAC;AAChD,YAAY,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAE7E,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACpB,cAAc,GACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,YAAY,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EACL,UAAU,EACV,SAAS,EACT,UAAU,EACV,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,4BAA4B,EAC5B,0BAA0B,EAC1B,4BAA4B,EAC5B,2BAA2B,GAC5B,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACV,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEzE,YAAY,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,qBAAqB,EACrB,yBAAyB,EACzB,2BAA2B,EAC3B,6BAA6B,EAC7B,gBAAgB,EAChB,eAAe,EACf,YAAY,GACb,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,GAChB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,YAAY,EACV,uBAAuB,EACvB,6BAA6B,EAC7B,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,uDAAuD,CAAC;AAChG,YAAY,EACV,8BAA8B,EAC9B,qBAAqB,GACtB,MAAM,uDAAuD,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,YAAY,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AACjF,YAAY,EACV,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAC;AAC7F,YAAY,EACV,6BAA6B,EAC7B,oBAAoB,GACrB,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAClE,YAAY,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,YAAY,EACV,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,YAAY,EACV,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,+CAA+C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,14 +1,17 @@
1
1
  export { AgentManager, AgentNotRunningError } from "./AgentManager.js";
2
- export { getCodexCapacityReport, getZaiCapacityReport } from "./capacity/index.js";
2
+ export { getClaudeCapacityReport, getCodexCapacityReport, getOpenAiCapacityReport, getZaiCapacityReport } from "./capacity/index.js";
3
3
  export { getAgentReadinessReport, getAgentReadinessReports, worstReadinessStatus } from "./readiness/AgentReadiness.js";
4
- export { ClaudeCodeAdapter } from "./providers/claude/ClaudeCodeAdapter.js";
5
- export { CodexAdapter } from "./providers/codex/CodexAdapter.js";
6
- export { CopilotAdapter } from "./providers/copilot/CopilotAdapter.js";
7
- export { GeminiCliAdapter } from "./providers/gemini/GeminiCliAdapter.js";
8
- export { GrokCliAdapter } from "./providers/grok/GrokCliAdapter.js";
9
- export { OpenCodeAdapter } from "./providers/opencode/OpenCodeAdapter.js";
10
- export { PiAdapter } from "./providers/pi/PiAdapter.js";
11
- export { AgentStatus } from "./adapters/AgentAdapter.js";
4
+ export { ClaudeCodeAdapter } from "./harnesses/claude/ClaudeCodeAdapter.js";
5
+ export { CodexAdapter } from "./harnesses/codex/CodexAdapter.js";
6
+ export { CopilotAdapter } from "./harnesses/copilot/CopilotAdapter.js";
7
+ export { GeminiCliAdapter } from "./harnesses/gemini/GeminiCliAdapter.js";
8
+ export { GrokCliAdapter } from "./harnesses/grok/GrokCliAdapter.js";
9
+ export { AntigravityCliAdapter } from "./harnesses/antigravity/AntigravityCliAdapter.js";
10
+ export { KiroAdapter } from "./harnesses/kiro/KiroAdapter.js";
11
+ export { OpenCodeAdapter } from "./harnesses/opencode/OpenCodeAdapter.js";
12
+ export { PiAdapter } from "./harnesses/pi/PiAdapter.js";
13
+ export { createBuiltinAdapters } from "./harnesses/index.js";
14
+ export { AGENT_TYPES, AgentStatus } from "./adapters/AgentAdapter.js";
12
15
  export { TerminalFocusManager, TerminalType } from "./terminal/TerminalFocusManager.js";
13
16
  export { TtyWriter } from "./terminal/TtyWriter.js";
14
17
  export { extractHerdrAgentPanes, fetchHerdrAgentPanes, findMatchingHerdrPane, herdrPaneToRuntimeRef } from "./runtime/herdr/HerdrAgentDiscovery.js";
@@ -19,12 +22,12 @@ export { AGENTS } from "./utils/agents.js";
19
22
  export { getAgentRequestPath, readLatestAgentRequest, writeAgentRequest } from "./utils/agent-requests.js";
20
23
  export { AGENT_MODES, DurableAgentError, DurableAgentBusyError, DurableAgentNotFoundError, DurableAgentRepositoryError, DurableAgentNameConflictError, ClaudePrintError, CodexPrintError, PiPrintError } from "./durable/DurableAgent.js";
21
24
  export { DurableAgentRepository } from "./durable/DurableAgentRepository.js";
22
- export { ClaudePrintAgentService } from "./providers/claude/durable/ClaudePrintAgentService.js";
23
- export { CodexCliProbe } from "./providers/codex/durable/CodexCliProbe.js";
24
- export { CodexPrintRunner } from "./providers/codex/durable/CodexPrintRunner.js";
25
- export { CodexPrintAgentService } from "./providers/codex/durable/CodexPrintAgentService.js";
26
- export { PiCliProbe } from "./providers/pi/durable/PiCliProbe.js";
27
- export { PiPrintRunner } from "./providers/pi/durable/PiPrintRunner.js";
28
- export { PiPrintAgentService } from "./providers/pi/durable/PiPrintAgentService.js";
25
+ export { ClaudePrintAgentService } from "./harnesses/claude/durable/ClaudePrintAgentService.js";
26
+ export { CodexCliProbe } from "./harnesses/codex/durable/CodexCliProbe.js";
27
+ export { CodexPrintRunner } from "./harnesses/codex/durable/CodexPrintRunner.js";
28
+ export { CodexPrintAgentService } from "./harnesses/codex/durable/CodexPrintAgentService.js";
29
+ export { PiCliProbe } from "./harnesses/pi/durable/PiCliProbe.js";
30
+ export { PiPrintRunner } from "./harnesses/pi/durable/PiPrintRunner.js";
31
+ export { PiPrintAgentService } from "./harnesses/pi/durable/PiPrintAgentService.js";
29
32
 
30
33
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export { AgentManager, AgentNotRunningError } from \"./AgentManager.js\";\nexport { getCodexCapacityReport, getZaiCapacityReport } from \"./capacity/index.js\";\nexport type {\n CapacityProbeOptions,\n CapacityReport,\n CapacityWindow,\n ZaiCapacityOptions,\n} from \"./capacity/index.js\";\nexport {\n getAgentReadinessReport,\n getAgentReadinessReports,\n worstReadinessStatus,\n} from \"./readiness/AgentReadiness.js\";\nexport type {\n AgentReadinessOptions,\n AgentReadinessReport,\n AuthReadinessCheck,\n BuiltInSkillsReadinessCheck,\n DirectoryReadinessCheck,\n ExecutableReadinessCheck,\n IntegrationReadinessCheck,\n ReadinessAgentType,\n ReadinessAuthState,\n ReadinessCheck,\n ReadinessStatus,\n} from \"./readiness/AgentReadiness.js\";\n\nexport { ClaudeCodeAdapter } from \"./providers/claude/ClaudeCodeAdapter.js\";\nexport { CodexAdapter } from \"./providers/codex/CodexAdapter.js\";\nexport { CopilotAdapter } from \"./providers/copilot/CopilotAdapter.js\";\nexport { GeminiCliAdapter } from \"./providers/gemini/GeminiCliAdapter.js\";\nexport { GrokCliAdapter } from \"./providers/grok/GrokCliAdapter.js\";\nexport { OpenCodeAdapter } from \"./providers/opencode/OpenCodeAdapter.js\";\nexport { PiAdapter } from \"./providers/pi/PiAdapter.js\";\nexport { AgentStatus } from \"./adapters/AgentAdapter.js\";\nexport type {\n AgentAdapter,\n AgentType,\n AgentInfo,\n ProcessInfo,\n ConversationMessage,\n SessionSummary,\n ListSessionsOptions,\n AgentDetectionContext,\n} from \"./adapters/AgentAdapter.js\";\n\nexport { TerminalFocusManager, TerminalType } from \"./terminal/TerminalFocusManager.js\";\nexport type { TerminalLocation } from \"./terminal/TerminalFocusManager.js\";\nexport { TtyWriter } from \"./terminal/TtyWriter.js\";\n\nexport type { AgentManagerOptions, ListAgentsOptions } from \"./AgentManager.js\";\nexport {\n extractHerdrAgentPanes,\n fetchHerdrAgentPanes,\n findMatchingHerdrPane,\n herdrPaneToRuntimeRef,\n} from \"./runtime/herdr/HerdrAgentDiscovery.js\";\nexport type { HerdrAgentPane } from \"./runtime/herdr/HerdrAgentDiscovery.js\";\n\nexport {\n AgentRegistry,\n RenameNotFoundError,\n RenameConflictError,\n AGENT_RUNTIME_PROVIDERS,\n parseTmuxRuntimeRef,\n} from \"./utils/AgentRegistry.js\";\nexport type {\n AgentRegistryOptions,\n RegistryEntry,\n AgentRuntimeProvider,\n TmuxRuntimeRef,\n} from \"./utils/AgentRegistry.js\";\nexport { TmuxManager } from \"./terminal/TmuxManager.js\";\nexport type { AgentRuntimeAvailability, InteractiveAgentRuntime } from \"./runtime/types.js\";\nexport {\n startAgent,\n stopAgent,\n focusAgent,\n sendAgentPrompt,\n TmuxUnavailableError,\n AgentNameInUseError,\n AgentPidPollTimeoutError,\n AgentRuntimeUnavailableError,\n AgentTerminalNotFoundError,\n DEFAULT_PID_POLL_INTERVAL_MS,\n DEFAULT_PID_POLL_TIMEOUT_MS,\n} from \"./runtime/ManagedAgentRuntime.js\";\nexport type {\n FocusAgentDeps,\n StartAgentDeps,\n StartAgentOptions,\n StopAgentDeps,\n StopAgentResult,\n FocusAgentResult,\n SendAgentPromptDeps,\n} from \"./runtime/ManagedAgentRuntime.js\";\nexport { AGENTS } from \"./utils/agents.js\";\nexport type { AgentConfig, StartableAgentType } from \"./utils/agents.js\";\n\nexport type { AgentRequest } from \"./utils/agent-requests.js\";\nexport {\n getAgentRequestPath,\n readLatestAgentRequest,\n writeAgentRequest,\n} from \"./utils/agent-requests.js\";\n\nexport {\n AGENT_MODES,\n DurableAgentError,\n DurableAgentBusyError,\n DurableAgentNotFoundError,\n DurableAgentRepositoryError,\n DurableAgentNameConflictError,\n ClaudePrintError,\n CodexPrintError,\n PiPrintError,\n} from \"./durable/DurableAgent.js\";\nexport type {\n DurableAgent,\n DurableAgentBase,\n ClaudeDurableAgent,\n CodexDurableAgent,\n PiDurableAgent,\n DurableProvider,\n CodexPrintErrorCode,\n DurableAgentState,\n DurableSessionHealth,\n DurableRunStatus,\n DurableActiveRun,\n DurableLastResult,\n PiPrintErrorCode,\n ProcessIdentity,\n} from \"./durable/DurableAgent.js\";\nexport { DurableAgentRepository } from \"./durable/DurableAgentRepository.js\";\nexport type {\n CreateDurableAgentInput,\n DurableAgentRepositoryOptions,\n ProcessInspector,\n DurableRunCompletion,\n} from \"./durable/DurableAgentRepository.js\";\nexport { ClaudePrintAgentService } from \"./providers/claude/durable/ClaudePrintAgentService.js\";\nexport type {\n ClaudePrintAgentServiceOptions,\n ClaudePrintSendResult,\n} from \"./providers/claude/durable/ClaudePrintAgentService.js\";\nexport { CodexCliProbe } from \"./providers/codex/durable/CodexCliProbe.js\";\nexport type { CodexCliProbeOptions } from \"./providers/codex/durable/CodexCliProbe.js\";\nexport { CodexPrintRunner } from \"./providers/codex/durable/CodexPrintRunner.js\";\nexport type {\n CodexPrintRunnerOptions,\n CodexPrintRunRequest,\n CodexPrintRunResult,\n} from \"./providers/codex/durable/CodexPrintRunner.js\";\nexport { CodexPrintAgentService } from \"./providers/codex/durable/CodexPrintAgentService.js\";\nexport type {\n CodexPrintAgentServiceOptions,\n CodexPrintSendResult,\n} from \"./providers/codex/durable/CodexPrintAgentService.js\";\nexport { PiCliProbe } from \"./providers/pi/durable/PiCliProbe.js\";\nexport type { PiCliProbeOptions } from \"./providers/pi/durable/PiCliProbe.js\";\nexport { PiPrintRunner } from \"./providers/pi/durable/PiPrintRunner.js\";\nexport type {\n PiPrintRunnerOptions,\n PiPrintRunRequest,\n PiPrintRunResult,\n} from \"./providers/pi/durable/PiPrintRunner.js\";\nexport { PiPrintAgentService } from \"./providers/pi/durable/PiPrintAgentService.js\";\nexport type {\n PiPrintAgentServiceOptions,\n PiPrintSendResult,\n} from \"./providers/pi/durable/PiPrintAgentService.js\";\n"],"names":["AgentManager","AgentNotRunningError","getCodexCapacityReport","getZaiCapacityReport","getAgentReadinessReport","getAgentReadinessReports","worstReadinessStatus","ClaudeCodeAdapter","CodexAdapter","CopilotAdapter","GeminiCliAdapter","GrokCliAdapter","OpenCodeAdapter","PiAdapter","AgentStatus","TerminalFocusManager","TerminalType","TtyWriter","extractHerdrAgentPanes","fetchHerdrAgentPanes","findMatchingHerdrPane","herdrPaneToRuntimeRef","AgentRegistry","RenameNotFoundError","RenameConflictError","AGENT_RUNTIME_PROVIDERS","parseTmuxRuntimeRef","TmuxManager","startAgent","stopAgent","focusAgent","sendAgentPrompt","TmuxUnavailableError","AgentNameInUseError","AgentPidPollTimeoutError","AgentRuntimeUnavailableError","AgentTerminalNotFoundError","DEFAULT_PID_POLL_INTERVAL_MS","DEFAULT_PID_POLL_TIMEOUT_MS","AGENTS","getAgentRequestPath","readLatestAgentRequest","writeAgentRequest","AGENT_MODES","DurableAgentError","DurableAgentBusyError","DurableAgentNotFoundError","DurableAgentRepositoryError","DurableAgentNameConflictError","ClaudePrintError","CodexPrintError","PiPrintError","DurableAgentRepository","ClaudePrintAgentService","CodexCliProbe","CodexPrintRunner","CodexPrintAgentService","PiCliProbe","PiPrintRunner","PiPrintAgentService"],"mappings":"AAAA,SAASA,YAAY,EAAEC,oBAAoB,QAAQ,oBAAoB;AACvE,SAASC,sBAAsB,EAAEC,oBAAoB,QAAQ,sBAAsB;AAOnF,SACEC,uBAAuB,EACvBC,wBAAwB,EACxBC,oBAAoB,QACf,gCAAgC;AAevC,SAASC,iBAAiB,QAAQ,0CAA0C;AAC5E,SAASC,YAAY,QAAQ,oCAAoC;AACjE,SAASC,cAAc,QAAQ,wCAAwC;AACvE,SAASC,gBAAgB,QAAQ,yCAAyC;AAC1E,SAASC,cAAc,QAAQ,qCAAqC;AACpE,SAASC,eAAe,QAAQ,0CAA0C;AAC1E,SAASC,SAAS,QAAQ,8BAA8B;AACxD,SAASC,WAAW,QAAQ,6BAA6B;AAYzD,SAASC,oBAAoB,EAAEC,YAAY,QAAQ,qCAAqC;AAExF,SAASC,SAAS,QAAQ,0BAA0B;AAGpD,SACEC,sBAAsB,EACtBC,oBAAoB,EACpBC,qBAAqB,EACrBC,qBAAqB,QAChB,yCAAyC;AAGhD,SACEC,aAAa,EACbC,mBAAmB,EACnBC,mBAAmB,EACnBC,uBAAuB,EACvBC,mBAAmB,QACd,2BAA2B;AAOlC,SAASC,WAAW,QAAQ,4BAA4B;AAExD,SACEC,UAAU,EACVC,SAAS,EACTC,UAAU,EACVC,eAAe,EACfC,oBAAoB,EACpBC,mBAAmB,EACnBC,wBAAwB,EACxBC,4BAA4B,EAC5BC,0BAA0B,EAC1BC,4BAA4B,EAC5BC,2BAA2B,QACtB,mCAAmC;AAU1C,SAASC,MAAM,QAAQ,oBAAoB;AAI3C,SACEC,mBAAmB,EACnBC,sBAAsB,EACtBC,iBAAiB,QACZ,4BAA4B;AAEnC,SACEC,WAAW,EACXC,iBAAiB,EACjBC,qBAAqB,EACrBC,yBAAyB,EACzBC,2BAA2B,EAC3BC,6BAA6B,EAC7BC,gBAAgB,EAChBC,eAAe,EACfC,YAAY,QACP,4BAA4B;AAiBnC,SAASC,sBAAsB,QAAQ,sCAAsC;AAO7E,SAASC,uBAAuB,QAAQ,wDAAwD;AAKhG,SAASC,aAAa,QAAQ,6CAA6C;AAE3E,SAASC,gBAAgB,QAAQ,gDAAgD;AAMjF,SAASC,sBAAsB,QAAQ,sDAAsD;AAK7F,SAASC,UAAU,QAAQ,uCAAuC;AAElE,SAASC,aAAa,QAAQ,0CAA0C;AAMxE,SAASC,mBAAmB,QAAQ,gDAAgD"}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export { AgentManager, AgentNotRunningError } from \"./AgentManager.js\";\nexport {\n getClaudeCapacityReport,\n getCodexCapacityReport,\n getOpenAiCapacityReport,\n getZaiCapacityReport,\n} from \"./capacity/index.js\";\nexport type {\n ClaudeCapacityOptions,\n CapacityProbeOptions,\n CapacityReport,\n CapacityWindow,\n OpenAiCapacityOptions,\n ZaiCapacityOptions,\n} from \"./capacity/index.js\";\nexport {\n getAgentReadinessReport,\n getAgentReadinessReports,\n worstReadinessStatus,\n} from \"./readiness/AgentReadiness.js\";\nexport type {\n AgentReadinessOptions,\n AgentReadinessReport,\n AuthReadinessCheck,\n BuiltInSkillsReadinessCheck,\n DirectoryReadinessCheck,\n ExecutableReadinessCheck,\n IntegrationReadinessCheck,\n ReadinessAgentType,\n ReadinessAuthState,\n ReadinessCheck,\n ReadinessStatus,\n} from \"./readiness/AgentReadiness.js\";\n\nexport { ClaudeCodeAdapter } from \"./harnesses/claude/ClaudeCodeAdapter.js\";\nexport { CodexAdapter } from \"./harnesses/codex/CodexAdapter.js\";\nexport { CopilotAdapter } from \"./harnesses/copilot/CopilotAdapter.js\";\nexport { GeminiCliAdapter } from \"./harnesses/gemini/GeminiCliAdapter.js\";\nexport { GrokCliAdapter } from \"./harnesses/grok/GrokCliAdapter.js\";\nexport { AntigravityCliAdapter } from \"./harnesses/antigravity/AntigravityCliAdapter.js\";\nexport { KiroAdapter } from \"./harnesses/kiro/KiroAdapter.js\";\nexport { OpenCodeAdapter } from \"./harnesses/opencode/OpenCodeAdapter.js\";\nexport { PiAdapter } from \"./harnesses/pi/PiAdapter.js\";\nexport { createBuiltinAdapters } from \"./harnesses/index.js\";\nexport { AGENT_TYPES, AgentStatus } from \"./adapters/AgentAdapter.js\";\nexport type {\n AgentAdapter,\n AgentType,\n AgentInfo,\n ProcessInfo,\n ConversationMessage,\n ConversationOptions,\n SessionSummary,\n ListSessionsOptions,\n AgentDetectionContext,\n} from \"./adapters/AgentAdapter.js\";\n\nexport { TerminalFocusManager, TerminalType } from \"./terminal/TerminalFocusManager.js\";\nexport type { TerminalLocation } from \"./terminal/TerminalFocusManager.js\";\nexport { TtyWriter } from \"./terminal/TtyWriter.js\";\n\nexport type { AgentManagerOptions, ListAgentsOptions } from \"./AgentManager.js\";\nexport {\n extractHerdrAgentPanes,\n fetchHerdrAgentPanes,\n findMatchingHerdrPane,\n herdrPaneToRuntimeRef,\n} from \"./runtime/herdr/HerdrAgentDiscovery.js\";\nexport type { HerdrAgentPane } from \"./runtime/herdr/HerdrAgentDiscovery.js\";\n\nexport {\n AgentRegistry,\n RenameNotFoundError,\n RenameConflictError,\n AGENT_RUNTIME_PROVIDERS,\n parseTmuxRuntimeRef,\n} from \"./utils/AgentRegistry.js\";\nexport type {\n AgentRegistryOptions,\n RegistryEntry,\n AgentRuntimeProvider,\n TmuxRuntimeRef,\n} from \"./utils/AgentRegistry.js\";\nexport { TmuxManager } from \"./terminal/TmuxManager.js\";\nexport type { AgentRuntimeAvailability, InteractiveAgentRuntime } from \"./runtime/types.js\";\nexport {\n startAgent,\n stopAgent,\n focusAgent,\n sendAgentPrompt,\n TmuxUnavailableError,\n AgentNameInUseError,\n AgentPidPollTimeoutError,\n AgentRuntimeUnavailableError,\n AgentTerminalNotFoundError,\n DEFAULT_PID_POLL_INTERVAL_MS,\n DEFAULT_PID_POLL_TIMEOUT_MS,\n} from \"./runtime/ManagedAgentRuntime.js\";\nexport type {\n FocusAgentDeps,\n StartAgentDeps,\n StartAgentOptions,\n StopAgentDeps,\n StopAgentResult,\n FocusAgentResult,\n SendAgentPromptDeps,\n} from \"./runtime/ManagedAgentRuntime.js\";\nexport { AGENTS } from \"./utils/agents.js\";\nexport type { AgentConfig, StartableAgentType } from \"./utils/agents.js\";\n\nexport type { AgentRequest } from \"./utils/agent-requests.js\";\nexport {\n getAgentRequestPath,\n readLatestAgentRequest,\n writeAgentRequest,\n} from \"./utils/agent-requests.js\";\n\nexport {\n AGENT_MODES,\n DurableAgentError,\n DurableAgentBusyError,\n DurableAgentNotFoundError,\n DurableAgentRepositoryError,\n DurableAgentNameConflictError,\n ClaudePrintError,\n CodexPrintError,\n PiPrintError,\n} from \"./durable/DurableAgent.js\";\nexport type {\n DurableAgent,\n DurableAgentBase,\n ClaudeDurableAgent,\n CodexDurableAgent,\n PiDurableAgent,\n DurableProvider,\n CodexPrintErrorCode,\n DurableAgentState,\n DurableSessionHealth,\n DurableRunStatus,\n DurableActiveRun,\n DurableLastResult,\n PiPrintErrorCode,\n ProcessIdentity,\n} from \"./durable/DurableAgent.js\";\nexport { DurableAgentRepository } from \"./durable/DurableAgentRepository.js\";\nexport type {\n CreateDurableAgentInput,\n DurableAgentRepositoryOptions,\n ProcessInspector,\n DurableRunCompletion,\n} from \"./durable/DurableAgentRepository.js\";\nexport { ClaudePrintAgentService } from \"./harnesses/claude/durable/ClaudePrintAgentService.js\";\nexport type {\n ClaudePrintAgentServiceOptions,\n ClaudePrintSendResult,\n} from \"./harnesses/claude/durable/ClaudePrintAgentService.js\";\nexport { CodexCliProbe } from \"./harnesses/codex/durable/CodexCliProbe.js\";\nexport type { CodexCliProbeOptions } from \"./harnesses/codex/durable/CodexCliProbe.js\";\nexport { CodexPrintRunner } from \"./harnesses/codex/durable/CodexPrintRunner.js\";\nexport type {\n CodexPrintRunnerOptions,\n CodexPrintRunRequest,\n CodexPrintRunResult,\n} from \"./harnesses/codex/durable/CodexPrintRunner.js\";\nexport { CodexPrintAgentService } from \"./harnesses/codex/durable/CodexPrintAgentService.js\";\nexport type {\n CodexPrintAgentServiceOptions,\n CodexPrintSendResult,\n} from \"./harnesses/codex/durable/CodexPrintAgentService.js\";\nexport { PiCliProbe } from \"./harnesses/pi/durable/PiCliProbe.js\";\nexport type { PiCliProbeOptions } from \"./harnesses/pi/durable/PiCliProbe.js\";\nexport { PiPrintRunner } from \"./harnesses/pi/durable/PiPrintRunner.js\";\nexport type {\n PiPrintRunnerOptions,\n PiPrintRunRequest,\n PiPrintRunResult,\n} from \"./harnesses/pi/durable/PiPrintRunner.js\";\nexport { PiPrintAgentService } from \"./harnesses/pi/durable/PiPrintAgentService.js\";\nexport type {\n PiPrintAgentServiceOptions,\n PiPrintSendResult,\n} from \"./harnesses/pi/durable/PiPrintAgentService.js\";\n"],"names":["AgentManager","AgentNotRunningError","getClaudeCapacityReport","getCodexCapacityReport","getOpenAiCapacityReport","getZaiCapacityReport","getAgentReadinessReport","getAgentReadinessReports","worstReadinessStatus","ClaudeCodeAdapter","CodexAdapter","CopilotAdapter","GeminiCliAdapter","GrokCliAdapter","AntigravityCliAdapter","KiroAdapter","OpenCodeAdapter","PiAdapter","createBuiltinAdapters","AGENT_TYPES","AgentStatus","TerminalFocusManager","TerminalType","TtyWriter","extractHerdrAgentPanes","fetchHerdrAgentPanes","findMatchingHerdrPane","herdrPaneToRuntimeRef","AgentRegistry","RenameNotFoundError","RenameConflictError","AGENT_RUNTIME_PROVIDERS","parseTmuxRuntimeRef","TmuxManager","startAgent","stopAgent","focusAgent","sendAgentPrompt","TmuxUnavailableError","AgentNameInUseError","AgentPidPollTimeoutError","AgentRuntimeUnavailableError","AgentTerminalNotFoundError","DEFAULT_PID_POLL_INTERVAL_MS","DEFAULT_PID_POLL_TIMEOUT_MS","AGENTS","getAgentRequestPath","readLatestAgentRequest","writeAgentRequest","AGENT_MODES","DurableAgentError","DurableAgentBusyError","DurableAgentNotFoundError","DurableAgentRepositoryError","DurableAgentNameConflictError","ClaudePrintError","CodexPrintError","PiPrintError","DurableAgentRepository","ClaudePrintAgentService","CodexCliProbe","CodexPrintRunner","CodexPrintAgentService","PiCliProbe","PiPrintRunner","PiPrintAgentService"],"mappings":"AAAA,SAASA,YAAY,EAAEC,oBAAoB,QAAQ,oBAAoB;AACvE,SACEC,uBAAuB,EACvBC,sBAAsB,EACtBC,uBAAuB,EACvBC,oBAAoB,QACf,sBAAsB;AAS7B,SACEC,uBAAuB,EACvBC,wBAAwB,EACxBC,oBAAoB,QACf,gCAAgC;AAevC,SAASC,iBAAiB,QAAQ,0CAA0C;AAC5E,SAASC,YAAY,QAAQ,oCAAoC;AACjE,SAASC,cAAc,QAAQ,wCAAwC;AACvE,SAASC,gBAAgB,QAAQ,yCAAyC;AAC1E,SAASC,cAAc,QAAQ,qCAAqC;AACpE,SAASC,qBAAqB,QAAQ,mDAAmD;AACzF,SAASC,WAAW,QAAQ,kCAAkC;AAC9D,SAASC,eAAe,QAAQ,0CAA0C;AAC1E,SAASC,SAAS,QAAQ,8BAA8B;AACxD,SAASC,qBAAqB,QAAQ,uBAAuB;AAC7D,SAASC,WAAW,EAAEC,WAAW,QAAQ,6BAA6B;AAatE,SAASC,oBAAoB,EAAEC,YAAY,QAAQ,qCAAqC;AAExF,SAASC,SAAS,QAAQ,0BAA0B;AAGpD,SACEC,sBAAsB,EACtBC,oBAAoB,EACpBC,qBAAqB,EACrBC,qBAAqB,QAChB,yCAAyC;AAGhD,SACEC,aAAa,EACbC,mBAAmB,EACnBC,mBAAmB,EACnBC,uBAAuB,EACvBC,mBAAmB,QACd,2BAA2B;AAOlC,SAASC,WAAW,QAAQ,4BAA4B;AAExD,SACEC,UAAU,EACVC,SAAS,EACTC,UAAU,EACVC,eAAe,EACfC,oBAAoB,EACpBC,mBAAmB,EACnBC,wBAAwB,EACxBC,4BAA4B,EAC5BC,0BAA0B,EAC1BC,4BAA4B,EAC5BC,2BAA2B,QACtB,mCAAmC;AAU1C,SAASC,MAAM,QAAQ,oBAAoB;AAI3C,SACEC,mBAAmB,EACnBC,sBAAsB,EACtBC,iBAAiB,QACZ,4BAA4B;AAEnC,SACEC,WAAW,EACXC,iBAAiB,EACjBC,qBAAqB,EACrBC,yBAAyB,EACzBC,2BAA2B,EAC3BC,6BAA6B,EAC7BC,gBAAgB,EAChBC,eAAe,EACfC,YAAY,QACP,4BAA4B;AAiBnC,SAASC,sBAAsB,QAAQ,sCAAsC;AAO7E,SAASC,uBAAuB,QAAQ,wDAAwD;AAKhG,SAASC,aAAa,QAAQ,6CAA6C;AAE3E,SAASC,gBAAgB,QAAQ,gDAAgD;AAMjF,SAASC,sBAAsB,QAAQ,sDAAsD;AAK7F,SAASC,UAAU,QAAQ,uCAAuC;AAElE,SAASC,aAAa,QAAQ,0CAA0C;AAMxE,SAASC,mBAAmB,QAAQ,gDAAgD"}
@@ -1,7 +1,7 @@
1
1
  import { type StartableAgentType } from "../utils/agents.js";
2
2
  export type ReadinessStatus = "pass" | "warn" | "fail";
3
3
  export type ReadinessAuthState = "authenticated" | "unauthenticated" | "unknown";
4
- export type ReadinessAgentType = Exclude<StartableAgentType, "gemini_cli">;
4
+ export type ReadinessAgentType = Exclude<StartableAgentType, "gemini_cli" | "kiro" | "antigravity_cli">;
5
5
  type ReadinessInfoStatus = ReadinessStatus | "info";
6
6
  type CommandResult = {
7
7
  stdout: string;
@@ -1 +1 @@
1
- {"version":3,"file":"AgentReadiness.d.ts","sourceRoot":"","sources":["../../src/readiness/AgentReadiness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentReadiness.d.ts","sourceRoot":"","sources":["../../src/readiness/AgentReadiness.ts"],"names":[],"mappings":"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"}