@ai-devkit/agent-manager 0.36.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 (618) 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/openai.test.js +12 -14
  14. package/dist/__tests__/capacity/openai.test.js.map +1 -1
  15. package/dist/__tests__/harnesses/BoundedSummarySkip.test.js +568 -0
  16. package/dist/__tests__/harnesses/BoundedSummarySkip.test.js.map +1 -0
  17. package/dist/__tests__/harnesses/SessionSummaryEquivalence.test.js +1089 -0
  18. package/dist/__tests__/harnesses/SessionSummaryEquivalence.test.js.map +1 -0
  19. package/dist/__tests__/harnesses/antigravity/AntigravityCliAdapter.subprocess.test.js +143 -0
  20. package/dist/__tests__/harnesses/antigravity/AntigravityCliAdapter.subprocess.test.js.map +1 -0
  21. package/dist/__tests__/{adapters → harnesses/antigravity}/AntigravityCliAdapter.test.js +103 -22
  22. package/dist/__tests__/harnesses/antigravity/AntigravityCliAdapter.test.js.map +1 -0
  23. package/dist/__tests__/harnesses/builtinAdapters.test.js +33 -0
  24. package/dist/__tests__/harnesses/builtinAdapters.test.js.map +1 -0
  25. package/dist/__tests__/{providers → harnesses}/claude/ClaudeAgentMapper.test.js +4 -4
  26. package/dist/__tests__/harnesses/claude/ClaudeAgentMapper.test.js.map +1 -0
  27. package/dist/__tests__/{adapters → harnesses/claude}/ClaudeCodeAdapter.test.js +47 -19
  28. package/dist/__tests__/harnesses/claude/ClaudeCodeAdapter.test.js.map +1 -0
  29. package/dist/__tests__/{providers → harnesses}/claude/ClaudeSessionLocator.test.js +1 -12
  30. package/dist/__tests__/{providers → harnesses}/claude/ClaudeSessionLocator.test.js.map +1 -1
  31. package/dist/__tests__/{utils → harnesses/claude}/ClaudeSessionParser.test.js +2 -2
  32. package/dist/__tests__/harnesses/claude/ClaudeSessionParser.test.js.map +1 -0
  33. package/dist/__tests__/{print → harnesses/claude/durable}/ClaudeCliProbe.test.js +1 -1
  34. package/dist/__tests__/harnesses/claude/durable/ClaudeCliProbe.test.js.map +1 -0
  35. package/dist/__tests__/{print → harnesses/claude/durable}/ClaudePrintAgent.integration.test.js +1 -1
  36. package/dist/__tests__/harnesses/claude/durable/ClaudePrintAgent.integration.test.js.map +1 -0
  37. package/dist/__tests__/{print → harnesses/claude/durable}/ClaudePrintAgentService.test.js +4 -4
  38. package/dist/__tests__/harnesses/claude/durable/ClaudePrintAgentService.test.js.map +1 -0
  39. package/dist/__tests__/{print → harnesses/claude/durable}/ClaudePrintRunner.test.js +1 -1
  40. package/dist/__tests__/harnesses/claude/durable/ClaudePrintRunner.test.js.map +1 -0
  41. package/dist/__tests__/{adapters → harnesses/codex}/CodexAdapter.test.js +304 -10
  42. package/dist/__tests__/harnesses/codex/CodexAdapter.test.js.map +1 -0
  43. package/dist/__tests__/harnesses/codex/CodexSessionLocator.test.js +463 -0
  44. package/dist/__tests__/harnesses/codex/CodexSessionLocator.test.js.map +1 -0
  45. package/dist/__tests__/{providers → harnesses}/codex/CodexSessionMapping.test.js +1 -1
  46. package/dist/__tests__/{providers → harnesses}/codex/CodexSessionMapping.test.js.map +1 -1
  47. package/dist/__tests__/{providers → harnesses}/codex/CodexSessionParser.test.js +1 -1
  48. package/dist/__tests__/{providers → harnesses}/codex/CodexSessionParser.test.js.map +1 -1
  49. package/dist/__tests__/{durable → harnesses/codex/durable}/CodexCliProbe.test.js +4 -4
  50. package/dist/__tests__/harnesses/codex/durable/CodexCliProbe.test.js.map +1 -0
  51. package/dist/__tests__/{durable → harnesses/codex/durable}/CodexDurableAgentRepository.test.js +1 -1
  52. package/dist/__tests__/harnesses/codex/durable/CodexDurableAgentRepository.test.js.map +1 -0
  53. package/dist/__tests__/{durable → harnesses/codex/durable}/CodexPrintAgent.integration.test.js +1 -1
  54. package/dist/__tests__/harnesses/codex/durable/CodexPrintAgent.integration.test.js.map +1 -0
  55. package/dist/__tests__/{durable → harnesses/codex/durable}/CodexPrintAgentService.test.js +8 -18
  56. package/dist/__tests__/harnesses/codex/durable/CodexPrintAgentService.test.js.map +1 -0
  57. package/dist/__tests__/{durable → harnesses/codex/durable}/CodexPrintRunner.test.js +2 -7
  58. package/dist/__tests__/harnesses/codex/durable/CodexPrintRunner.test.js.map +1 -0
  59. package/dist/__tests__/{providers → harnesses}/copilot/CopilotAdapter.test.js +1 -1
  60. package/dist/__tests__/{providers → harnesses}/copilot/CopilotAdapter.test.js.map +1 -1
  61. package/dist/__tests__/harnesses/copilot/CopilotRefreshIO.test.js +290 -0
  62. package/dist/__tests__/harnesses/copilot/CopilotRefreshIO.test.js.map +1 -0
  63. package/dist/__tests__/{providers → harnesses}/gemini/GeminiCliAdapter.test.js +34 -25
  64. package/dist/__tests__/harnesses/gemini/GeminiCliAdapter.test.js.map +1 -0
  65. package/dist/__tests__/harnesses/gemini/GeminiSessionJsonl.test.js +491 -0
  66. package/dist/__tests__/harnesses/gemini/GeminiSessionJsonl.test.js.map +1 -0
  67. package/dist/__tests__/harnesses/gemini/GeminiSessionLocator.test.js +399 -0
  68. package/dist/__tests__/harnesses/gemini/GeminiSessionLocator.test.js.map +1 -0
  69. package/dist/__tests__/{providers → harnesses}/grok/GrokAgentMapper.test.js +1 -1
  70. package/dist/__tests__/{providers → harnesses}/grok/GrokAgentMapper.test.js.map +1 -1
  71. package/dist/__tests__/{providers → harnesses}/grok/GrokCliAdapter.test.js +1 -1
  72. package/dist/__tests__/{providers → harnesses}/grok/GrokCliAdapter.test.js.map +1 -1
  73. package/dist/__tests__/harnesses/grok/GrokIncrementalRefresh.test.js +167 -0
  74. package/dist/__tests__/harnesses/grok/GrokIncrementalRefresh.test.js.map +1 -0
  75. package/dist/__tests__/{providers → harnesses}/grok/GrokSessionLocator.test.js +1 -1
  76. package/dist/__tests__/{providers → harnesses}/grok/GrokSessionLocator.test.js.map +1 -1
  77. package/dist/__tests__/harnesses/grok/GrokSessionParser.test.js +301 -0
  78. package/dist/__tests__/harnesses/grok/GrokSessionParser.test.js.map +1 -0
  79. package/dist/__tests__/{adapters → harnesses/kiro}/KiroAdapter.test.js +137 -82
  80. package/dist/__tests__/harnesses/kiro/KiroAdapter.test.js.map +1 -0
  81. package/dist/__tests__/{providers → harnesses}/opencode/OpenCodeAdapter.test.js +1 -1
  82. package/dist/__tests__/{providers → harnesses}/opencode/OpenCodeAdapter.test.js.map +1 -1
  83. package/dist/__tests__/{providers → harnesses}/opencode/OpenCodeAgentMapper.test.js +1 -1
  84. package/dist/__tests__/{providers → harnesses}/opencode/OpenCodeAgentMapper.test.js.map +1 -1
  85. package/dist/__tests__/{providers → harnesses}/opencode/OpenCodeSessionLocator.test.js +2 -2
  86. package/dist/__tests__/{providers → harnesses}/opencode/OpenCodeSessionLocator.test.js.map +1 -1
  87. package/dist/__tests__/{providers → harnesses}/opencode/OpenCodeSessionParser.test.js +1 -1
  88. package/dist/__tests__/{providers → harnesses}/opencode/OpenCodeSessionParser.test.js.map +1 -1
  89. package/dist/__tests__/{providers → harnesses}/pi/PiAdapter.test.js +1 -1
  90. package/dist/__tests__/{providers → harnesses}/pi/PiAdapter.test.js.map +1 -1
  91. package/dist/__tests__/harnesses/pi/PiDiscoveryIO.test.js +382 -0
  92. package/dist/__tests__/harnesses/pi/PiDiscoveryIO.test.js.map +1 -0
  93. package/dist/__tests__/{providers → harnesses}/pi/PiSessionParser.test.js +171 -1
  94. package/dist/__tests__/harnesses/pi/PiSessionParser.test.js.map +1 -0
  95. package/dist/__tests__/{providers → harnesses}/pi/PiSessionTracker.test.js +1 -1
  96. package/dist/__tests__/{providers → harnesses}/pi/PiSessionTracker.test.js.map +1 -1
  97. package/dist/__tests__/{providers → harnesses}/pi/durable/PiCliProbe.test.js.map +1 -1
  98. package/dist/__tests__/{providers → harnesses}/pi/durable/PiDurableAgentRepository.test.js.map +1 -1
  99. package/dist/__tests__/{providers → harnesses}/pi/durable/PiPrintAgentService.test.js.map +1 -1
  100. package/dist/__tests__/{providers → harnesses}/pi/durable/PiPrintProtocol.test.js +1 -1
  101. package/dist/__tests__/{providers → harnesses}/pi/durable/PiPrintProtocol.test.js.map +1 -1
  102. package/dist/__tests__/{providers → harnesses}/pi/durable/PiPrintRunner.test.js.map +1 -1
  103. package/dist/__tests__/{providers → harnesses}/pi/durable/PiStreamParser.test.js +1 -1
  104. package/dist/__tests__/{providers → harnesses}/pi/durable/PiStreamParser.test.js.map +1 -1
  105. package/dist/__tests__/readiness/AgentReadiness.test.js +20 -0
  106. package/dist/__tests__/readiness/AgentReadiness.test.js.map +1 -1
  107. package/dist/__tests__/runtime/ManagedAgentRuntime.test.js +49 -0
  108. package/dist/__tests__/runtime/ManagedAgentRuntime.test.js.map +1 -1
  109. package/dist/__tests__/utils/IncrementalJsonlSummary.test.js +650 -0
  110. package/dist/__tests__/utils/IncrementalJsonlSummary.test.js.map +1 -0
  111. package/dist/__tests__/utils/agents.test.js +66 -2
  112. package/dist/__tests__/utils/agents.test.js.map +1 -1
  113. package/dist/__tests__/utils/conversationTail.bench.test.js +258 -0
  114. package/dist/__tests__/utils/conversationTail.bench.test.js.map +1 -0
  115. package/dist/__tests__/utils/conversationTailParity.test.js +588 -0
  116. package/dist/__tests__/utils/conversationTailParity.test.js.map +1 -0
  117. package/dist/__tests__/utils/jsonlTail.test.js +360 -0
  118. package/dist/__tests__/utils/jsonlTail.test.js.map +1 -0
  119. package/dist/__tests__/utils/matchingConstants.test.js +35 -0
  120. package/dist/__tests__/utils/matchingConstants.test.js.map +1 -0
  121. package/dist/__tests__/utils/process.test.js +436 -2
  122. package/dist/__tests__/utils/process.test.js.map +1 -1
  123. package/dist/adapters/AgentAdapter.d.ts +25 -6
  124. package/dist/adapters/AgentAdapter.d.ts.map +1 -1
  125. package/dist/adapters/AgentAdapter.js +12 -3
  126. package/dist/adapters/AgentAdapter.js.map +1 -1
  127. package/dist/capacity/openai.d.ts +0 -1
  128. package/dist/capacity/openai.d.ts.map +1 -1
  129. package/dist/capacity/openai.js +0 -5
  130. package/dist/capacity/openai.js.map +1 -1
  131. package/dist/harnesses/antigravity/AntigravityAgentMapper.d.ts +13 -0
  132. package/dist/harnesses/antigravity/AntigravityAgentMapper.d.ts.map +1 -0
  133. package/dist/harnesses/antigravity/AntigravityAgentMapper.js +30 -0
  134. package/dist/harnesses/antigravity/AntigravityAgentMapper.js.map +1 -0
  135. package/dist/harnesses/antigravity/AntigravityCliAdapter.d.ts +32 -0
  136. package/dist/harnesses/antigravity/AntigravityCliAdapter.d.ts.map +1 -0
  137. package/dist/harnesses/antigravity/AntigravityCliAdapter.js +97 -0
  138. package/dist/harnesses/antigravity/AntigravityCliAdapter.js.map +1 -0
  139. package/dist/harnesses/antigravity/AntigravitySessionLocator.d.ts +30 -0
  140. package/dist/harnesses/antigravity/AntigravitySessionLocator.d.ts.map +1 -0
  141. package/dist/harnesses/antigravity/AntigravitySessionLocator.js +56 -0
  142. package/dist/harnesses/antigravity/AntigravitySessionLocator.js.map +1 -0
  143. package/dist/harnesses/antigravity/AntigravitySessionParser.d.ts +75 -0
  144. package/dist/harnesses/antigravity/AntigravitySessionParser.d.ts.map +1 -0
  145. package/dist/harnesses/antigravity/AntigravitySessionParser.js +174 -0
  146. package/dist/harnesses/antigravity/AntigravitySessionParser.js.map +1 -0
  147. package/dist/{providers → harnesses}/claude/ClaudeAgentMapper.d.ts.map +1 -1
  148. package/dist/{providers → harnesses}/claude/ClaudeAgentMapper.js +4 -10
  149. package/dist/harnesses/claude/ClaudeAgentMapper.js.map +1 -0
  150. package/dist/{providers → harnesses}/claude/ClaudeCodeAdapter.d.ts +5 -6
  151. package/dist/harnesses/claude/ClaudeCodeAdapter.d.ts.map +1 -0
  152. package/dist/{providers → harnesses}/claude/ClaudeCodeAdapter.js +17 -15
  153. package/dist/harnesses/claude/ClaudeCodeAdapter.js.map +1 -0
  154. package/dist/{providers → harnesses}/claude/ClaudeSessionLocator.d.ts.map +1 -1
  155. package/dist/{providers → harnesses}/claude/ClaudeSessionLocator.js +3 -3
  156. package/dist/harnesses/claude/ClaudeSessionLocator.js.map +1 -0
  157. package/dist/{providers → harnesses}/claude/ClaudeSessionParser.d.ts +40 -6
  158. package/dist/harnesses/claude/ClaudeSessionParser.d.ts.map +1 -0
  159. package/dist/{providers → harnesses}/claude/ClaudeSessionParser.js +141 -85
  160. package/dist/harnesses/claude/ClaudeSessionParser.js.map +1 -0
  161. package/dist/{providers → harnesses}/claude/durable/ClaudeCliProbe.d.ts.map +1 -1
  162. package/dist/{providers → harnesses}/claude/durable/ClaudeCliProbe.js.map +1 -1
  163. package/dist/{providers → harnesses}/claude/durable/ClaudePrintAgentService.d.ts.map +1 -1
  164. package/dist/{providers → harnesses}/claude/durable/ClaudePrintAgentService.js.map +1 -1
  165. package/dist/{providers → harnesses}/claude/durable/ClaudePrintRunner.d.ts.map +1 -1
  166. package/dist/{providers → harnesses}/claude/durable/ClaudePrintRunner.js.map +1 -1
  167. package/dist/{providers → harnesses}/claude/durable/ClaudeStreamParser.d.ts.map +1 -1
  168. package/dist/{providers → harnesses}/claude/durable/ClaudeStreamParser.js.map +1 -1
  169. package/dist/{providers → harnesses}/codex/CodexAdapter.d.ts +5 -4
  170. package/dist/harnesses/codex/CodexAdapter.d.ts.map +1 -0
  171. package/dist/{providers → harnesses}/codex/CodexAdapter.js +139 -19
  172. package/dist/harnesses/codex/CodexAdapter.js.map +1 -0
  173. package/dist/{providers → harnesses}/codex/CodexAgentMapper.d.ts.map +1 -1
  174. package/dist/{providers → harnesses}/codex/CodexAgentMapper.js +4 -11
  175. package/dist/harnesses/codex/CodexAgentMapper.js.map +1 -0
  176. package/dist/harnesses/codex/CodexSessionLocator.d.ts +74 -0
  177. package/dist/harnesses/codex/CodexSessionLocator.d.ts.map +1 -0
  178. package/dist/harnesses/codex/CodexSessionLocator.js +359 -0
  179. package/dist/harnesses/codex/CodexSessionLocator.js.map +1 -0
  180. package/dist/{providers → harnesses}/codex/CodexSessionMapping.d.ts.map +1 -1
  181. package/dist/{providers → harnesses}/codex/CodexSessionMapping.js +3 -3
  182. package/dist/harnesses/codex/CodexSessionMapping.js.map +1 -0
  183. package/dist/harnesses/codex/CodexSessionParser.d.ts +89 -0
  184. package/dist/harnesses/codex/CodexSessionParser.d.ts.map +1 -0
  185. package/dist/{providers → harnesses}/codex/CodexSessionParser.js +124 -78
  186. package/dist/harnesses/codex/CodexSessionParser.js.map +1 -0
  187. package/dist/{providers → harnesses}/codex/durable/CodexCliProbe.d.ts.map +1 -1
  188. package/dist/{providers → harnesses}/codex/durable/CodexCliProbe.js.map +1 -1
  189. package/dist/{providers → harnesses}/codex/durable/CodexPrintAgentService.d.ts.map +1 -1
  190. package/dist/{providers → harnesses}/codex/durable/CodexPrintAgentService.js.map +1 -1
  191. package/dist/{providers → harnesses}/codex/durable/CodexPrintRunner.d.ts.map +1 -1
  192. package/dist/{providers → harnesses}/codex/durable/CodexPrintRunner.js.map +1 -1
  193. package/dist/{providers → harnesses}/codex/durable/CodexStreamParser.d.ts.map +1 -1
  194. package/dist/{providers → harnesses}/codex/durable/CodexStreamParser.js.map +1 -1
  195. package/dist/{providers → harnesses}/copilot/CopilotAdapter.d.ts +7 -6
  196. package/dist/harnesses/copilot/CopilotAdapter.d.ts.map +1 -0
  197. package/dist/{providers → harnesses}/copilot/CopilotAdapter.js +19 -14
  198. package/dist/harnesses/copilot/CopilotAdapter.js.map +1 -0
  199. package/dist/{providers → harnesses}/copilot/CopilotAgentMapper.d.ts.map +1 -1
  200. package/dist/{providers → harnesses}/copilot/CopilotAgentMapper.js +4 -11
  201. package/dist/harnesses/copilot/CopilotAgentMapper.js.map +1 -0
  202. package/dist/harnesses/copilot/CopilotSessionLocator.d.ts +42 -0
  203. package/dist/harnesses/copilot/CopilotSessionLocator.d.ts.map +1 -0
  204. package/dist/harnesses/copilot/CopilotSessionLocator.js +126 -0
  205. package/dist/harnesses/copilot/CopilotSessionLocator.js.map +1 -0
  206. package/dist/harnesses/copilot/CopilotSessionParser.d.ts +62 -0
  207. package/dist/harnesses/copilot/CopilotSessionParser.d.ts.map +1 -0
  208. package/dist/harnesses/copilot/CopilotSessionParser.js +236 -0
  209. package/dist/harnesses/copilot/CopilotSessionParser.js.map +1 -0
  210. package/dist/{providers → harnesses}/gemini/GeminiAgentMapper.d.ts.map +1 -1
  211. package/dist/{providers → harnesses}/gemini/GeminiAgentMapper.js +4 -11
  212. package/dist/harnesses/gemini/GeminiAgentMapper.js.map +1 -0
  213. package/dist/{providers → harnesses}/gemini/GeminiCliAdapter.d.ts +4 -5
  214. package/dist/harnesses/gemini/GeminiCliAdapter.d.ts.map +1 -0
  215. package/dist/{providers → harnesses}/gemini/GeminiCliAdapter.js +6 -7
  216. package/dist/harnesses/gemini/GeminiCliAdapter.js.map +1 -0
  217. package/dist/harnesses/gemini/GeminiSessionLocator.d.ts +72 -0
  218. package/dist/harnesses/gemini/GeminiSessionLocator.d.ts.map +1 -0
  219. package/dist/harnesses/gemini/GeminiSessionLocator.js +300 -0
  220. package/dist/harnesses/gemini/GeminiSessionLocator.js.map +1 -0
  221. package/dist/{providers → harnesses}/gemini/GeminiSessionParser.d.ts +34 -7
  222. package/dist/harnesses/gemini/GeminiSessionParser.d.ts.map +1 -0
  223. package/dist/harnesses/gemini/GeminiSessionParser.js +272 -0
  224. package/dist/harnesses/gemini/GeminiSessionParser.js.map +1 -0
  225. package/dist/harnesses/gemini/fileSignature.d.ts +8 -0
  226. package/dist/harnesses/gemini/fileSignature.d.ts.map +1 -0
  227. package/dist/harnesses/gemini/fileSignature.js +9 -0
  228. package/dist/harnesses/gemini/fileSignature.js.map +1 -0
  229. package/dist/{providers → harnesses}/grok/GrokAgentMapper.d.ts.map +1 -1
  230. package/dist/{providers → harnesses}/grok/GrokAgentMapper.js +4 -10
  231. package/dist/harnesses/grok/GrokAgentMapper.js.map +1 -0
  232. package/dist/{providers → harnesses}/grok/GrokCliAdapter.d.ts +5 -5
  233. package/dist/harnesses/grok/GrokCliAdapter.d.ts.map +1 -0
  234. package/dist/{providers → harnesses}/grok/GrokCliAdapter.js +14 -10
  235. package/dist/harnesses/grok/GrokCliAdapter.js.map +1 -0
  236. package/dist/{providers → harnesses}/grok/GrokSessionLocator.d.ts.map +1 -1
  237. package/dist/{providers → harnesses}/grok/GrokSessionLocator.js +2 -2
  238. package/dist/harnesses/grok/GrokSessionLocator.js.map +1 -0
  239. package/dist/harnesses/grok/GrokSessionParser.d.ts +87 -0
  240. package/dist/harnesses/grok/GrokSessionParser.d.ts.map +1 -0
  241. package/dist/harnesses/grok/GrokSessionParser.js +185 -0
  242. package/dist/harnesses/grok/GrokSessionParser.js.map +1 -0
  243. package/dist/harnesses/index.d.ts +7 -0
  244. package/dist/harnesses/index.d.ts.map +1 -0
  245. package/dist/harnesses/index.js +27 -0
  246. package/dist/harnesses/index.js.map +1 -0
  247. package/dist/harnesses/kiro/KiroAdapter.d.ts +31 -0
  248. package/dist/harnesses/kiro/KiroAdapter.d.ts.map +1 -0
  249. package/dist/harnesses/kiro/KiroAdapter.js +125 -0
  250. package/dist/harnesses/kiro/KiroAdapter.js.map +1 -0
  251. package/dist/harnesses/kiro/KiroAgentMapper.d.ts +13 -0
  252. package/dist/harnesses/kiro/KiroAgentMapper.d.ts.map +1 -0
  253. package/dist/harnesses/kiro/KiroAgentMapper.js +29 -0
  254. package/dist/harnesses/kiro/KiroAgentMapper.js.map +1 -0
  255. package/dist/harnesses/kiro/KiroSessionLocator.d.ts +38 -0
  256. package/dist/harnesses/kiro/KiroSessionLocator.d.ts.map +1 -0
  257. package/dist/harnesses/kiro/KiroSessionLocator.js +95 -0
  258. package/dist/harnesses/kiro/KiroSessionLocator.js.map +1 -0
  259. package/dist/harnesses/kiro/KiroSessionParser.d.ts +81 -0
  260. package/dist/harnesses/kiro/KiroSessionParser.d.ts.map +1 -0
  261. package/dist/harnesses/kiro/KiroSessionParser.js +251 -0
  262. package/dist/harnesses/kiro/KiroSessionParser.js.map +1 -0
  263. package/dist/{providers → harnesses}/opencode/OpenCodeAdapter.d.ts +2 -4
  264. package/dist/harnesses/opencode/OpenCodeAdapter.d.ts.map +1 -0
  265. package/dist/{providers → harnesses}/opencode/OpenCodeAdapter.js +4 -7
  266. package/dist/harnesses/opencode/OpenCodeAdapter.js.map +1 -0
  267. package/dist/{providers → harnesses}/opencode/OpenCodeAgentMapper.d.ts.map +1 -1
  268. package/dist/{providers → harnesses}/opencode/OpenCodeAgentMapper.js +5 -13
  269. package/dist/harnesses/opencode/OpenCodeAgentMapper.js.map +1 -0
  270. package/dist/{providers → harnesses}/opencode/OpenCodeSessionLocator.d.ts.map +1 -1
  271. package/dist/{providers → harnesses}/opencode/OpenCodeSessionLocator.js +2 -2
  272. package/dist/harnesses/opencode/OpenCodeSessionLocator.js.map +1 -0
  273. package/dist/{providers → harnesses}/opencode/OpenCodeSessionParser.d.ts +2 -4
  274. package/dist/harnesses/opencode/OpenCodeSessionParser.d.ts.map +1 -0
  275. package/dist/{providers → harnesses}/opencode/OpenCodeSessionParser.js +2 -1
  276. package/dist/harnesses/opencode/OpenCodeSessionParser.js.map +1 -0
  277. package/dist/{providers → harnesses}/pi/PiAdapter.d.ts +5 -4
  278. package/dist/harnesses/pi/PiAdapter.d.ts.map +1 -0
  279. package/dist/{providers → harnesses}/pi/PiAdapter.js +16 -12
  280. package/dist/harnesses/pi/PiAdapter.js.map +1 -0
  281. package/dist/{providers → harnesses}/pi/PiAgentMapper.d.ts.map +1 -1
  282. package/dist/{providers → harnesses}/pi/PiAgentMapper.js +4 -11
  283. package/dist/harnesses/pi/PiAgentMapper.js.map +1 -0
  284. package/dist/harnesses/pi/PiSessionLocator.d.ts +61 -0
  285. package/dist/harnesses/pi/PiSessionLocator.d.ts.map +1 -0
  286. package/dist/harnesses/pi/PiSessionLocator.js +212 -0
  287. package/dist/harnesses/pi/PiSessionLocator.js.map +1 -0
  288. package/dist/harnesses/pi/PiSessionParser.d.ts +88 -0
  289. package/dist/harnesses/pi/PiSessionParser.d.ts.map +1 -0
  290. package/dist/harnesses/pi/PiSessionParser.js +318 -0
  291. package/dist/harnesses/pi/PiSessionParser.js.map +1 -0
  292. package/dist/{providers → harnesses}/pi/PiSessionTracker.d.ts.map +1 -1
  293. package/dist/{providers → harnesses}/pi/PiSessionTracker.js +2 -2
  294. package/dist/harnesses/pi/PiSessionTracker.js.map +1 -0
  295. package/dist/{providers → harnesses}/pi/durable/PiCliProbe.d.ts.map +1 -1
  296. package/dist/{providers → harnesses}/pi/durable/PiCliProbe.js.map +1 -1
  297. package/dist/{providers → harnesses}/pi/durable/PiPrintAgentService.d.ts.map +1 -1
  298. package/dist/{providers → harnesses}/pi/durable/PiPrintAgentService.js.map +1 -1
  299. package/dist/{providers → harnesses}/pi/durable/PiPrintProtocol.d.ts.map +1 -1
  300. package/dist/{providers → harnesses}/pi/durable/PiPrintProtocol.js.map +1 -1
  301. package/dist/{providers → harnesses}/pi/durable/PiPrintRunner.d.ts.map +1 -1
  302. package/dist/{providers → harnesses}/pi/durable/PiPrintRunner.js.map +1 -1
  303. package/dist/{providers → harnesses}/pi/durable/PiStreamParser.d.ts.map +1 -1
  304. package/dist/{providers → harnesses}/pi/durable/PiStreamParser.js.map +1 -1
  305. package/dist/harnesses/shared.d.ts +41 -0
  306. package/dist/harnesses/shared.d.ts.map +1 -0
  307. package/dist/harnesses/shared.js +71 -0
  308. package/dist/harnesses/shared.js.map +1 -0
  309. package/dist/index.d.ts +26 -25
  310. package/dist/index.d.ts.map +1 -1
  311. package/dist/index.js +18 -17
  312. package/dist/index.js.map +1 -1
  313. package/dist/utils/IncrementalJsonlSummary.d.ts +100 -0
  314. package/dist/utils/IncrementalJsonlSummary.d.ts.map +1 -0
  315. package/dist/utils/IncrementalJsonlSummary.js +209 -0
  316. package/dist/utils/IncrementalJsonlSummary.js.map +1 -0
  317. package/dist/utils/agents.d.ts +3 -2
  318. package/dist/utils/agents.d.ts.map +1 -1
  319. package/dist/utils/agents.js +50 -15
  320. package/dist/utils/agents.js.map +1 -1
  321. package/dist/utils/index.d.ts +2 -1
  322. package/dist/utils/index.d.ts.map +1 -1
  323. package/dist/utils/index.js +1 -1
  324. package/dist/utils/index.js.map +1 -1
  325. package/dist/utils/jsonlTail.d.ts +73 -0
  326. package/dist/utils/jsonlTail.d.ts.map +1 -0
  327. package/dist/utils/jsonlTail.js +238 -0
  328. package/dist/utils/jsonlTail.js.map +1 -0
  329. package/dist/utils/matching.d.ts +2 -0
  330. package/dist/utils/matching.d.ts.map +1 -1
  331. package/dist/utils/matching.js +3 -2
  332. package/dist/utils/matching.js.map +1 -1
  333. package/dist/utils/matchingConstants.d.ts +15 -0
  334. package/dist/utils/matchingConstants.d.ts.map +1 -0
  335. package/dist/utils/matchingConstants.js +14 -0
  336. package/dist/utils/matchingConstants.js.map +1 -0
  337. package/dist/utils/process.d.ts +38 -2
  338. package/dist/utils/process.d.ts.map +1 -1
  339. package/dist/utils/process.js +131 -43
  340. package/dist/utils/process.js.map +1 -1
  341. package/package.json +2 -1
  342. package/scripts/benchmark-cold-start.mjs +350 -0
  343. package/src/AgentManager.ts +26 -5
  344. package/src/__tests__/AgentManager.test.ts +141 -3
  345. package/src/__tests__/adapters/IncrementalSessionRefresh.test.ts +437 -0
  346. package/src/__tests__/adapters/adapterProcessImports.test.ts +58 -0
  347. package/src/__tests__/adapters/adapterSnapshotCandidates.test.ts +243 -0
  348. package/src/__tests__/capacity/openai.test.ts +5 -15
  349. package/src/__tests__/harnesses/BoundedSummarySkip.test.ts +496 -0
  350. package/src/__tests__/harnesses/SessionSummaryEquivalence.test.ts +726 -0
  351. package/src/__tests__/harnesses/antigravity/AntigravityCliAdapter.subprocess.test.ts +133 -0
  352. package/src/__tests__/{adapters → harnesses/antigravity}/AntigravityCliAdapter.test.ts +97 -25
  353. package/src/__tests__/harnesses/builtinAdapters.test.ts +33 -0
  354. package/src/__tests__/{providers → harnesses}/claude/ClaudeAgentMapper.test.ts +5 -5
  355. package/src/__tests__/{adapters → harnesses/claude}/ClaudeCodeAdapter.test.ts +54 -24
  356. package/src/__tests__/{providers → harnesses}/claude/ClaudeSessionLocator.test.ts +1 -12
  357. package/src/__tests__/{utils → harnesses/claude}/ClaudeSessionParser.test.ts +2 -2
  358. package/src/__tests__/{print → harnesses/claude/durable}/ClaudeCliProbe.test.ts +1 -1
  359. package/src/__tests__/{print → harnesses/claude/durable}/ClaudePrintAgent.integration.test.ts +1 -1
  360. package/src/__tests__/{print → harnesses/claude/durable}/ClaudePrintAgentService.test.ts +4 -4
  361. package/src/__tests__/{print → harnesses/claude/durable}/ClaudePrintRunner.test.ts +2 -2
  362. package/src/__tests__/{adapters → harnesses/codex}/CodexAdapter.test.ts +277 -12
  363. package/src/__tests__/harnesses/codex/CodexSessionLocator.test.ts +419 -0
  364. package/src/__tests__/{providers → harnesses}/codex/CodexSessionMapping.test.ts +1 -1
  365. package/src/__tests__/{providers → harnesses}/codex/CodexSessionParser.test.ts +1 -1
  366. package/src/__tests__/{durable → harnesses/codex/durable}/CodexCliProbe.test.ts +4 -4
  367. package/src/__tests__/{durable → harnesses/codex/durable}/CodexDurableAgentRepository.test.ts +1 -1
  368. package/src/__tests__/{durable → harnesses/codex/durable}/CodexPrintAgent.integration.test.ts +1 -1
  369. package/src/__tests__/{durable → harnesses/codex/durable}/CodexPrintAgentService.test.ts +8 -18
  370. package/src/__tests__/{durable → harnesses/codex/durable}/CodexPrintRunner.test.ts +3 -9
  371. package/src/__tests__/{providers → harnesses}/copilot/CopilotAdapter.test.ts +1 -1
  372. package/src/__tests__/harnesses/copilot/CopilotRefreshIO.test.ts +270 -0
  373. package/src/__tests__/{providers → harnesses}/gemini/GeminiCliAdapter.test.ts +27 -23
  374. package/src/__tests__/harnesses/gemini/GeminiSessionJsonl.test.ts +402 -0
  375. package/src/__tests__/harnesses/gemini/GeminiSessionLocator.test.ts +396 -0
  376. package/src/__tests__/{providers → harnesses}/grok/GrokAgentMapper.test.ts +2 -2
  377. package/src/__tests__/{providers → harnesses}/grok/GrokCliAdapter.test.ts +1 -1
  378. package/src/__tests__/harnesses/grok/GrokIncrementalRefresh.test.ts +170 -0
  379. package/src/__tests__/{providers → harnesses}/grok/GrokSessionLocator.test.ts +1 -1
  380. package/src/__tests__/harnesses/grok/GrokSessionParser.test.ts +230 -0
  381. package/src/__tests__/{adapters → harnesses/kiro}/KiroAdapter.test.ts +127 -109
  382. package/src/__tests__/{providers → harnesses}/opencode/OpenCodeAdapter.test.ts +1 -1
  383. package/src/__tests__/{providers → harnesses}/opencode/OpenCodeAgentMapper.test.ts +1 -1
  384. package/src/__tests__/{providers → harnesses}/opencode/OpenCodeSessionLocator.test.ts +2 -2
  385. package/src/__tests__/{providers → harnesses}/opencode/OpenCodeSessionParser.test.ts +1 -1
  386. package/src/__tests__/{providers → harnesses}/pi/PiAdapter.test.ts +1 -1
  387. package/src/__tests__/harnesses/pi/PiDiscoveryIO.test.ts +337 -0
  388. package/src/__tests__/{providers → harnesses}/pi/PiSessionParser.test.ts +91 -1
  389. package/src/__tests__/{providers → harnesses}/pi/PiSessionTracker.test.ts +1 -1
  390. package/src/__tests__/{providers → harnesses}/pi/durable/PiPrintProtocol.test.ts +1 -1
  391. package/src/__tests__/{providers → harnesses}/pi/durable/PiStreamParser.test.ts +1 -1
  392. package/src/__tests__/readiness/AgentReadiness.test.ts +16 -0
  393. package/src/__tests__/runtime/ManagedAgentRuntime.test.ts +30 -0
  394. package/src/__tests__/utils/IncrementalJsonlSummary.test.ts +414 -0
  395. package/src/__tests__/utils/agents.test.ts +76 -2
  396. package/src/__tests__/utils/conversationTail.bench.test.ts +193 -0
  397. package/src/__tests__/utils/conversationTailParity.test.ts +365 -0
  398. package/src/__tests__/utils/jsonlTail.test.ts +317 -0
  399. package/src/__tests__/utils/matchingConstants.test.ts +40 -0
  400. package/src/__tests__/utils/process.test.ts +254 -0
  401. package/src/adapters/AgentAdapter.ts +37 -14
  402. package/src/capacity/openai.ts +0 -6
  403. package/src/harnesses/antigravity/AntigravityAgentMapper.ts +34 -0
  404. package/src/harnesses/antigravity/AntigravityCliAdapter.ts +126 -0
  405. package/src/harnesses/antigravity/AntigravitySessionLocator.ts +75 -0
  406. package/src/harnesses/antigravity/AntigravitySessionParser.ts +252 -0
  407. package/src/{providers → harnesses}/claude/ClaudeAgentMapper.ts +2 -10
  408. package/src/{providers → harnesses}/claude/ClaudeCodeAdapter.ts +22 -20
  409. package/src/{providers → harnesses}/claude/ClaudeSessionLocator.ts +3 -3
  410. package/src/{providers → harnesses}/claude/ClaudeSessionParser.ts +189 -97
  411. package/src/{providers → harnesses}/codex/CodexAdapter.ts +153 -29
  412. package/src/{providers → harnesses}/codex/CodexAgentMapper.ts +2 -11
  413. package/src/harnesses/codex/CodexSessionLocator.ts +509 -0
  414. package/src/{providers → harnesses}/codex/CodexSessionMapping.ts +3 -3
  415. package/src/{providers → harnesses}/codex/CodexSessionParser.ts +169 -92
  416. package/src/{providers → harnesses}/copilot/CopilotAdapter.ts +22 -22
  417. package/src/{providers → harnesses}/copilot/CopilotAgentMapper.ts +2 -11
  418. package/src/harnesses/copilot/CopilotSessionLocator.ts +161 -0
  419. package/src/harnesses/copilot/CopilotSessionParser.ts +380 -0
  420. package/src/{providers → harnesses}/gemini/GeminiAgentMapper.ts +2 -11
  421. package/src/{providers → harnesses}/gemini/GeminiCliAdapter.ts +7 -9
  422. package/src/harnesses/gemini/GeminiSessionLocator.ts +394 -0
  423. package/src/{providers → harnesses}/gemini/GeminiSessionParser.ts +155 -31
  424. package/src/harnesses/gemini/fileSignature.ts +10 -0
  425. package/src/{providers → harnesses}/grok/GrokAgentMapper.ts +2 -11
  426. package/src/{providers → harnesses}/grok/GrokCliAdapter.ts +16 -15
  427. package/src/{providers → harnesses}/grok/GrokSessionLocator.ts +2 -2
  428. package/src/harnesses/grok/GrokSessionParser.ts +251 -0
  429. package/src/harnesses/index.ts +28 -0
  430. package/src/harnesses/kiro/KiroAdapter.ts +143 -0
  431. package/src/harnesses/kiro/KiroAgentMapper.ts +34 -0
  432. package/src/harnesses/kiro/KiroSessionLocator.ts +143 -0
  433. package/src/harnesses/kiro/KiroSessionParser.ts +376 -0
  434. package/src/{providers → harnesses}/opencode/OpenCodeAdapter.ts +5 -11
  435. package/src/{providers → harnesses}/opencode/OpenCodeAgentMapper.ts +3 -13
  436. package/src/{providers → harnesses}/opencode/OpenCodeSessionLocator.ts +2 -2
  437. package/src/{providers → harnesses}/opencode/OpenCodeSessionParser.ts +4 -3
  438. package/src/{providers → harnesses}/pi/PiAdapter.ts +20 -18
  439. package/src/{providers → harnesses}/pi/PiAgentMapper.ts +2 -11
  440. package/src/harnesses/pi/PiSessionLocator.ts +288 -0
  441. package/src/harnesses/pi/PiSessionParser.ts +488 -0
  442. package/src/{providers → harnesses}/pi/PiSessionTracker.ts +2 -2
  443. package/src/harnesses/shared.ts +119 -0
  444. package/src/index.ts +26 -24
  445. package/src/utils/IncrementalJsonlSummary.ts +306 -0
  446. package/src/utils/agents.ts +60 -28
  447. package/src/utils/index.ts +2 -0
  448. package/src/utils/jsonlTail.ts +349 -0
  449. package/src/utils/matching.ts +3 -3
  450. package/src/utils/matchingConstants.ts +15 -0
  451. package/src/utils/process.ts +189 -45
  452. package/dist/__tests__/adapters/AntigravityCliAdapter.test.js.map +0 -1
  453. package/dist/__tests__/adapters/ClaudeCodeAdapter.test.js.map +0 -1
  454. package/dist/__tests__/adapters/CodexAdapter.test.js.map +0 -1
  455. package/dist/__tests__/adapters/KiroAdapter.test.js.map +0 -1
  456. package/dist/__tests__/durable/CodexCliProbe.test.js.map +0 -1
  457. package/dist/__tests__/durable/CodexDurableAgentRepository.test.js.map +0 -1
  458. package/dist/__tests__/durable/CodexPrintAgent.integration.test.js.map +0 -1
  459. package/dist/__tests__/durable/CodexPrintAgentService.test.js.map +0 -1
  460. package/dist/__tests__/durable/CodexPrintRunner.test.js.map +0 -1
  461. package/dist/__tests__/print/ClaudeCliProbe.test.js.map +0 -1
  462. package/dist/__tests__/print/ClaudePrintAgent.integration.test.js.map +0 -1
  463. package/dist/__tests__/print/ClaudePrintAgentService.test.js.map +0 -1
  464. package/dist/__tests__/print/ClaudePrintRunner.test.js.map +0 -1
  465. package/dist/__tests__/providers/claude/ClaudeAgentMapper.test.js.map +0 -1
  466. package/dist/__tests__/providers/codex/CodexSessionLocator.test.js +0 -194
  467. package/dist/__tests__/providers/codex/CodexSessionLocator.test.js.map +0 -1
  468. package/dist/__tests__/providers/gemini/GeminiCliAdapter.test.js.map +0 -1
  469. package/dist/__tests__/providers/pi/PiSessionParser.test.js.map +0 -1
  470. package/dist/__tests__/utils/ClaudeSessionParser.test.js.map +0 -1
  471. package/dist/adapters/AntigravityCliAdapter.d.ts +0 -57
  472. package/dist/adapters/AntigravityCliAdapter.d.ts.map +0 -1
  473. package/dist/adapters/AntigravityCliAdapter.js +0 -273
  474. package/dist/adapters/AntigravityCliAdapter.js.map +0 -1
  475. package/dist/adapters/KiroAdapter.d.ts +0 -46
  476. package/dist/adapters/KiroAdapter.d.ts.map +0 -1
  477. package/dist/adapters/KiroAdapter.js +0 -344
  478. package/dist/adapters/KiroAdapter.js.map +0 -1
  479. package/dist/adapters/index.d.ts +0 -12
  480. package/dist/adapters/index.d.ts.map +0 -1
  481. package/dist/adapters/index.js +0 -12
  482. package/dist/adapters/index.js.map +0 -1
  483. package/dist/providers/claude/ClaudeAgentMapper.js.map +0 -1
  484. package/dist/providers/claude/ClaudeCodeAdapter.d.ts.map +0 -1
  485. package/dist/providers/claude/ClaudeCodeAdapter.js.map +0 -1
  486. package/dist/providers/claude/ClaudeSessionLocator.js.map +0 -1
  487. package/dist/providers/claude/ClaudeSessionParser.d.ts.map +0 -1
  488. package/dist/providers/claude/ClaudeSessionParser.js.map +0 -1
  489. package/dist/providers/codex/CodexAdapter.d.ts.map +0 -1
  490. package/dist/providers/codex/CodexAdapter.js.map +0 -1
  491. package/dist/providers/codex/CodexAgentMapper.js.map +0 -1
  492. package/dist/providers/codex/CodexSessionLocator.d.ts +0 -44
  493. package/dist/providers/codex/CodexSessionLocator.d.ts.map +0 -1
  494. package/dist/providers/codex/CodexSessionLocator.js +0 -207
  495. package/dist/providers/codex/CodexSessionLocator.js.map +0 -1
  496. package/dist/providers/codex/CodexSessionMapping.js.map +0 -1
  497. package/dist/providers/codex/CodexSessionParser.d.ts +0 -58
  498. package/dist/providers/codex/CodexSessionParser.d.ts.map +0 -1
  499. package/dist/providers/codex/CodexSessionParser.js.map +0 -1
  500. package/dist/providers/copilot/CopilotAdapter.d.ts.map +0 -1
  501. package/dist/providers/copilot/CopilotAdapter.js.map +0 -1
  502. package/dist/providers/copilot/CopilotAgentMapper.js.map +0 -1
  503. package/dist/providers/copilot/CopilotSessionLocator.d.ts +0 -20
  504. package/dist/providers/copilot/CopilotSessionLocator.d.ts.map +0 -1
  505. package/dist/providers/copilot/CopilotSessionLocator.js +0 -49
  506. package/dist/providers/copilot/CopilotSessionLocator.js.map +0 -1
  507. package/dist/providers/copilot/CopilotSessionParser.d.ts +0 -30
  508. package/dist/providers/copilot/CopilotSessionParser.d.ts.map +0 -1
  509. package/dist/providers/copilot/CopilotSessionParser.js +0 -181
  510. package/dist/providers/copilot/CopilotSessionParser.js.map +0 -1
  511. package/dist/providers/gemini/GeminiAgentMapper.js.map +0 -1
  512. package/dist/providers/gemini/GeminiCliAdapter.d.ts.map +0 -1
  513. package/dist/providers/gemini/GeminiCliAdapter.js.map +0 -1
  514. package/dist/providers/gemini/GeminiSessionLocator.d.ts +0 -30
  515. package/dist/providers/gemini/GeminiSessionLocator.d.ts.map +0 -1
  516. package/dist/providers/gemini/GeminiSessionLocator.js +0 -142
  517. package/dist/providers/gemini/GeminiSessionLocator.js.map +0 -1
  518. package/dist/providers/gemini/GeminiSessionParser.d.ts.map +0 -1
  519. package/dist/providers/gemini/GeminiSessionParser.js +0 -166
  520. package/dist/providers/gemini/GeminiSessionParser.js.map +0 -1
  521. package/dist/providers/grok/GrokAgentMapper.js.map +0 -1
  522. package/dist/providers/grok/GrokCliAdapter.d.ts.map +0 -1
  523. package/dist/providers/grok/GrokCliAdapter.js.map +0 -1
  524. package/dist/providers/grok/GrokSessionLocator.js.map +0 -1
  525. package/dist/providers/grok/GrokSessionParser.d.ts +0 -54
  526. package/dist/providers/grok/GrokSessionParser.d.ts.map +0 -1
  527. package/dist/providers/grok/GrokSessionParser.js +0 -122
  528. package/dist/providers/grok/GrokSessionParser.js.map +0 -1
  529. package/dist/providers/opencode/OpenCodeAdapter.d.ts.map +0 -1
  530. package/dist/providers/opencode/OpenCodeAdapter.js.map +0 -1
  531. package/dist/providers/opencode/OpenCodeAgentMapper.js.map +0 -1
  532. package/dist/providers/opencode/OpenCodeSessionLocator.js.map +0 -1
  533. package/dist/providers/opencode/OpenCodeSessionParser.d.ts.map +0 -1
  534. package/dist/providers/opencode/OpenCodeSessionParser.js.map +0 -1
  535. package/dist/providers/pi/PiAdapter.d.ts.map +0 -1
  536. package/dist/providers/pi/PiAdapter.js.map +0 -1
  537. package/dist/providers/pi/PiAgentMapper.js.map +0 -1
  538. package/dist/providers/pi/PiSessionLocator.d.ts +0 -24
  539. package/dist/providers/pi/PiSessionLocator.d.ts.map +0 -1
  540. package/dist/providers/pi/PiSessionLocator.js +0 -86
  541. package/dist/providers/pi/PiSessionLocator.js.map +0 -1
  542. package/dist/providers/pi/PiSessionParser.d.ts +0 -36
  543. package/dist/providers/pi/PiSessionParser.d.ts.map +0 -1
  544. package/dist/providers/pi/PiSessionParser.js +0 -191
  545. package/dist/providers/pi/PiSessionParser.js.map +0 -1
  546. package/dist/providers/pi/PiSessionTracker.js.map +0 -1
  547. package/src/__tests__/fixtures/fake-claude.cjs +0 -31
  548. package/src/__tests__/fixtures/fake-codex.cjs +0 -56
  549. package/src/__tests__/providers/codex/CodexSessionLocator.test.ts +0 -182
  550. package/src/adapters/AntigravityCliAdapter.ts +0 -356
  551. package/src/adapters/KiroAdapter.ts +0 -456
  552. package/src/adapters/index.ts +0 -17
  553. package/src/providers/codex/CodexSessionLocator.ts +0 -279
  554. package/src/providers/copilot/CopilotSessionLocator.ts +0 -63
  555. package/src/providers/copilot/CopilotSessionParser.ts +0 -289
  556. package/src/providers/gemini/GeminiSessionLocator.ts +0 -183
  557. package/src/providers/grok/GrokSessionParser.ts +0 -166
  558. package/src/providers/pi/PiSessionLocator.ts +0 -110
  559. package/src/providers/pi/PiSessionParser.ts +0 -284
  560. /package/dist/__tests__/{providers → harnesses}/pi/durable/PiCliProbe.test.js +0 -0
  561. /package/dist/__tests__/{providers → harnesses}/pi/durable/PiDurableAgentRepository.test.js +0 -0
  562. /package/dist/__tests__/{providers → harnesses}/pi/durable/PiPrintAgentService.test.js +0 -0
  563. /package/dist/__tests__/{providers → harnesses}/pi/durable/PiPrintRunner.test.js +0 -0
  564. /package/dist/{providers → harnesses}/claude/ClaudeAgentMapper.d.ts +0 -0
  565. /package/dist/{providers → harnesses}/claude/ClaudeSessionLocator.d.ts +0 -0
  566. /package/dist/{providers → harnesses}/claude/durable/ClaudeCliProbe.d.ts +0 -0
  567. /package/dist/{providers → harnesses}/claude/durable/ClaudeCliProbe.js +0 -0
  568. /package/dist/{providers → harnesses}/claude/durable/ClaudePrintAgentService.d.ts +0 -0
  569. /package/dist/{providers → harnesses}/claude/durable/ClaudePrintAgentService.js +0 -0
  570. /package/dist/{providers → harnesses}/claude/durable/ClaudePrintRunner.d.ts +0 -0
  571. /package/dist/{providers → harnesses}/claude/durable/ClaudePrintRunner.js +0 -0
  572. /package/dist/{providers → harnesses}/claude/durable/ClaudeStreamParser.d.ts +0 -0
  573. /package/dist/{providers → harnesses}/claude/durable/ClaudeStreamParser.js +0 -0
  574. /package/dist/{providers → harnesses}/codex/CodexAgentMapper.d.ts +0 -0
  575. /package/dist/{providers → harnesses}/codex/CodexSessionMapping.d.ts +0 -0
  576. /package/dist/{providers → harnesses}/codex/durable/CodexCliProbe.d.ts +0 -0
  577. /package/dist/{providers → harnesses}/codex/durable/CodexCliProbe.js +0 -0
  578. /package/dist/{providers → harnesses}/codex/durable/CodexPrintAgentService.d.ts +0 -0
  579. /package/dist/{providers → harnesses}/codex/durable/CodexPrintAgentService.js +0 -0
  580. /package/dist/{providers → harnesses}/codex/durable/CodexPrintRunner.d.ts +0 -0
  581. /package/dist/{providers → harnesses}/codex/durable/CodexPrintRunner.js +0 -0
  582. /package/dist/{providers → harnesses}/codex/durable/CodexStreamParser.d.ts +0 -0
  583. /package/dist/{providers → harnesses}/codex/durable/CodexStreamParser.js +0 -0
  584. /package/dist/{providers → harnesses}/copilot/CopilotAgentMapper.d.ts +0 -0
  585. /package/dist/{providers → harnesses}/gemini/GeminiAgentMapper.d.ts +0 -0
  586. /package/dist/{providers → harnesses}/grok/GrokAgentMapper.d.ts +0 -0
  587. /package/dist/{providers → harnesses}/grok/GrokSessionLocator.d.ts +0 -0
  588. /package/dist/{providers → harnesses}/opencode/OpenCodeAgentMapper.d.ts +0 -0
  589. /package/dist/{providers → harnesses}/opencode/OpenCodeSessionLocator.d.ts +0 -0
  590. /package/dist/{providers → harnesses}/pi/PiAgentMapper.d.ts +0 -0
  591. /package/dist/{providers → harnesses}/pi/PiSessionTracker.d.ts +0 -0
  592. /package/dist/{providers → harnesses}/pi/durable/PiCliProbe.d.ts +0 -0
  593. /package/dist/{providers → harnesses}/pi/durable/PiCliProbe.js +0 -0
  594. /package/dist/{providers → harnesses}/pi/durable/PiPrintAgentService.d.ts +0 -0
  595. /package/dist/{providers → harnesses}/pi/durable/PiPrintAgentService.js +0 -0
  596. /package/dist/{providers → harnesses}/pi/durable/PiPrintProtocol.d.ts +0 -0
  597. /package/dist/{providers → harnesses}/pi/durable/PiPrintProtocol.js +0 -0
  598. /package/dist/{providers → harnesses}/pi/durable/PiPrintRunner.d.ts +0 -0
  599. /package/dist/{providers → harnesses}/pi/durable/PiPrintRunner.js +0 -0
  600. /package/dist/{providers → harnesses}/pi/durable/PiStreamParser.d.ts +0 -0
  601. /package/dist/{providers → harnesses}/pi/durable/PiStreamParser.js +0 -0
  602. /package/src/__tests__/{providers → harnesses}/pi/durable/PiCliProbe.test.ts +0 -0
  603. /package/src/__tests__/{providers → harnesses}/pi/durable/PiDurableAgentRepository.test.ts +0 -0
  604. /package/src/__tests__/{providers → harnesses}/pi/durable/PiPrintAgentService.test.ts +0 -0
  605. /package/src/__tests__/{providers → harnesses}/pi/durable/PiPrintRunner.test.ts +0 -0
  606. /package/src/{providers → harnesses}/claude/durable/ClaudeCliProbe.ts +0 -0
  607. /package/src/{providers → harnesses}/claude/durable/ClaudePrintAgentService.ts +0 -0
  608. /package/src/{providers → harnesses}/claude/durable/ClaudePrintRunner.ts +0 -0
  609. /package/src/{providers → harnesses}/claude/durable/ClaudeStreamParser.ts +0 -0
  610. /package/src/{providers → harnesses}/codex/durable/CodexCliProbe.ts +0 -0
  611. /package/src/{providers → harnesses}/codex/durable/CodexPrintAgentService.ts +0 -0
  612. /package/src/{providers → harnesses}/codex/durable/CodexPrintRunner.ts +0 -0
  613. /package/src/{providers → harnesses}/codex/durable/CodexStreamParser.ts +0 -0
  614. /package/src/{providers → harnesses}/pi/durable/PiCliProbe.ts +0 -0
  615. /package/src/{providers → harnesses}/pi/durable/PiPrintAgentService.ts +0 -0
  616. /package/src/{providers → harnesses}/pi/durable/PiPrintProtocol.ts +0 -0
  617. /package/src/{providers → harnesses}/pi/durable/PiPrintRunner.ts +0 -0
  618. /package/src/{providers → harnesses}/pi/durable/PiStreamParser.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"AntigravityCliAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/AntigravityCliAdapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AA6D3B,qBAAa,qBAAsB,YAAW,YAAY;IACxD,QAAQ,CAAC,IAAI,EAAG,iBAAiB,CAAU;IAE3C,OAAO,CAAC,IAAI,CAAS;;IASrB,SAAS,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO;IAI5C,OAAO,CAAC,eAAe;IAMjB,YAAY,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IA0B1C;;;OAGG;IACH,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,mBAAmB;IAc3B,eAAe,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,mBAAmB,EAAE;IAO1F,YAAY,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IA0BzE;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAoBnB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAWvB;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IAqDvB,kFAAkF;IAClF,OAAO,CAAC,WAAW;IAgBnB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAO1B,sFAAsF;IACtF,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,cAAc;CAKvB"}
@@ -1,273 +0,0 @@
1
- import * as path from "path";
2
- import { AgentStatus } from "./AgentAdapter.js";
3
- import { listAgentProcesses, enrichProcesses } from "../utils/process.js";
4
- import { safeReadFile, safeStat } from "../utils/session.js";
5
- import { generateAgentName } from "../utils/matching.js";
6
- /**
7
- * Antigravity CLI Adapter
8
- *
9
- * Detects running Antigravity CLI agents (Google's Gemini-family `agy` CLI) by:
10
- * 1. Finding running `agy` processes via shared listAgentProcesses() — Antigravity
11
- * ships a native binary (argv[0] basename `agy`).
12
- * 2. Resolving each live process to its conversation via
13
- * ~/.gemini/antigravity-cli/cache/last_conversations.json, which the CLI
14
- * maintains as a `{ <cwd>: <conversationId> }` map of the current conversation
15
- * per workspace. The process cwd is the join key.
16
- * 3. Reading the transcript from
17
- * brain/<conversationId>/.system_generated/logs/transcript.jsonl. User turns are
18
- * USER_INPUT records (prompt inside <USER_REQUEST>...</USER_REQUEST>) and the
19
- * model's reply is a PLANNER_RESPONSE record; tool calls (RUN_COMMAND, ...) are
20
- * skipped. The last user turn is the summary; each record's created_at gives the
21
- * last-activity time.
22
- *
23
- * This is the runtime/agent side of Antigravity; it is independent of the
24
- * `antigravity` environment (which configures the Antigravity IDE), the same way
25
- * GeminiCliAdapter is independent of the `gemini` environment.
26
- */ const REGISTRY_FILE = path.join("cache", "last_conversations.json");
27
- const BRAIN_DIR = "brain";
28
- const TRANSCRIPT_REL = path.join(".system_generated", "logs", "transcript.jsonl");
29
- const IDLE_THRESHOLD_MINUTES = 5;
30
- export class AntigravityCliAdapter {
31
- type = "antigravity_cli";
32
- base;
33
- constructor(){
34
- // ANTIGRAVITY_CLI_HOME overrides the ~/.gemini/antigravity-cli base dir.
35
- const homeDir = process.env.HOME || process.env.USERPROFILE || "";
36
- this.base = process.env.ANTIGRAVITY_CLI_HOME || path.join(homeDir, ".gemini", "antigravity-cli");
37
- }
38
- canHandle(processInfo) {
39
- return this.isAgyExecutable(processInfo.command);
40
- }
41
- isAgyExecutable(command) {
42
- const executable = command.trim().split(/\s+/)[0] || "";
43
- const base = path.basename(executable).toLowerCase();
44
- return base === "agy" || base === "agy.exe";
45
- }
46
- async detectAgents() {
47
- const processes = enrichProcesses(listAgentProcesses("agy"));
48
- if (processes.length === 0) {
49
- return [];
50
- }
51
- // last_conversations.json maps a workspace cwd to its current
52
- // conversation id; the live process cwd is the join key.
53
- const cwdToConversation = this.readRegistry();
54
- const agents = [];
55
- for (const proc of processes){
56
- const cwd = proc.cwd || "";
57
- const conversationId = cwd ? cwdToConversation.get(cwd) : undefined;
58
- const session = conversationId ? this.readSession(conversationId, cwd) : null;
59
- if (session) {
60
- agents.push(this.mapSessionToAgent(session, proc));
61
- } else {
62
- agents.push(this.mapProcessOnlyAgent(proc, cwd));
63
- }
64
- }
65
- return agents;
66
- }
67
- /**
68
- * Read cache/last_conversations.json into a cwd -> conversationId map. The
69
- * CLI rewrites this as the current conversation per workspace changes.
70
- */ readRegistry() {
71
- const map = new Map();
72
- const content = safeReadFile(path.join(this.base, REGISTRY_FILE));
73
- if (content === undefined) return map;
74
- let parsed;
75
- try {
76
- parsed = JSON.parse(content);
77
- } catch {
78
- return map;
79
- }
80
- if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) return map;
81
- for (const [cwd, conversationId] of Object.entries(parsed)){
82
- if (cwd && typeof conversationId === "string" && conversationId) {
83
- map.set(cwd, conversationId);
84
- }
85
- }
86
- return map;
87
- }
88
- transcriptPath(conversationId) {
89
- return path.join(this.base, BRAIN_DIR, conversationId, TRANSCRIPT_REL);
90
- }
91
- mapSessionToAgent(session, processInfo) {
92
- const projectPath = session.projectPath || processInfo.cwd || "";
93
- return {
94
- name: generateAgentName(projectPath, processInfo.pid),
95
- type: this.type,
96
- status: this.determineStatus(session),
97
- summary: session.summary || "Antigravity CLI session active",
98
- pid: processInfo.pid,
99
- projectPath,
100
- sessionId: session.sessionId,
101
- lastActive: session.lastActive,
102
- sessionFilePath: this.transcriptPath(session.sessionId)
103
- };
104
- }
105
- mapProcessOnlyAgent(processInfo, cwd) {
106
- const projectPath = cwd || processInfo.cwd || "";
107
- return {
108
- name: generateAgentName(projectPath, processInfo.pid),
109
- type: this.type,
110
- status: AgentStatus.RUNNING,
111
- summary: "Antigravity CLI process running",
112
- pid: processInfo.pid,
113
- projectPath,
114
- sessionId: `pid-${processInfo.pid}`,
115
- lastActive: new Date()
116
- };
117
- }
118
- getConversation(sessionFilePath, options) {
119
- return this.parseTranscript(this.resolveTranscriptPath(sessionFilePath), options?.verbose ?? false).messages;
120
- }
121
- async listSessions(opts) {
122
- const filterCwd = opts?.cwd;
123
- const summaries = [];
124
- for (const [cwd, conversationId] of this.readRegistry()){
125
- if (filterCwd !== undefined && cwd !== filterCwd) continue;
126
- const session = this.readSession(conversationId, cwd);
127
- if (!session) continue;
128
- summaries.push({
129
- type: this.type,
130
- sessionId: session.sessionId,
131
- cwd: session.projectPath || cwd,
132
- firstUserMessage: session.firstUserMessage || "",
133
- lastActive: session.lastActive,
134
- startedAt: session.sessionStart,
135
- sessionFilePath: this.transcriptPath(conversationId)
136
- });
137
- }
138
- return summaries;
139
- }
140
- // --- Session parsing (transcript.jsonl) ---
141
- /**
142
- * Parse a conversation into an {@link AntigravitySession} from its
143
- * transcript.jsonl. Returns null when the transcript is missing — i.e. there
144
- * is no real session to surface.
145
- */ readSession(conversationId, defaultCwd) {
146
- const transcriptPath = this.transcriptPath(conversationId);
147
- const stat = safeStat(transcriptPath);
148
- if (!stat) return null;
149
- const scan = this.parseTranscript(transcriptPath, false);
150
- const lastActive = scan.lastActive || stat.mtime;
151
- return {
152
- sessionId: conversationId,
153
- projectPath: defaultCwd || "",
154
- summary: scan.lastUserMessage || "Antigravity CLI session active",
155
- sessionStart: stat.birthtime || lastActive,
156
- lastActive,
157
- firstUserMessage: scan.firstUserMessage,
158
- lastUserMessage: scan.lastUserMessage,
159
- lastRole: scan.lastRole
160
- };
161
- }
162
- /**
163
- * Determine agent status from parsed session state.
164
- *
165
- * - past the idle threshold → IDLE
166
- * - last transcript turn is an assistant message → WAITING (awaiting user)
167
- * - otherwise (last turn was a user message, or unknown) → RUNNING
168
- */ determineStatus(session) {
169
- const diffMinutes = (Date.now() - session.lastActive.getTime()) / 60000;
170
- if (diffMinutes > IDLE_THRESHOLD_MINUTES) {
171
- return AgentStatus.IDLE;
172
- }
173
- if (session.lastRole === "assistant") {
174
- return AgentStatus.WAITING;
175
- }
176
- return AgentStatus.RUNNING;
177
- }
178
- /**
179
- * Single pass over transcript.jsonl. Each line is a
180
- * { source, type, created_at, content } record. User turns are
181
- * `type: 'USER_INPUT'` with the real prompt wrapped in
182
- * <USER_REQUEST>...</USER_REQUEST>; the model's reply is `type:
183
- * 'PLANNER_RESPONSE'`. Other MODEL records (tool calls like RUN_COMMAND) and
184
- * SYSTEM records (conversation history, checkpoints) are execution detail and
185
- * are skipped unless verbose.
186
- */ parseTranscript(transcriptPath, verbose) {
187
- const empty = {
188
- messages: []
189
- };
190
- const content = safeReadFile(transcriptPath);
191
- if (content === undefined) return empty;
192
- const messages = [];
193
- let lastRole;
194
- let lastActive;
195
- for (const line of content.trim().split("\n")){
196
- if (!line.trim()) continue;
197
- let record;
198
- try {
199
- record = JSON.parse(line);
200
- } catch {
201
- continue;
202
- }
203
- const at = this.parseTimestamp(record.created_at);
204
- if (at && (!lastActive || at.getTime() > lastActive.getTime())) lastActive = at;
205
- const text = this.extractText(record.content);
206
- if (record.type === "USER_INPUT") {
207
- const request = this.extractUserRequest(text);
208
- if (request === null) continue; // not a real prompt
209
- messages.push({
210
- role: "user",
211
- content: request
212
- });
213
- lastRole = "user";
214
- } else if (record.type === "PLANNER_RESPONSE") {
215
- // The model's user-facing reply. Other MODEL records (tool calls
216
- // such as RUN_COMMAND, empty planning steps) are execution detail,
217
- // not conversation, so they are excluded from the normal view.
218
- if (!text) continue;
219
- messages.push({
220
- role: "assistant",
221
- content: text
222
- });
223
- lastRole = "assistant";
224
- } else if (verbose) {
225
- // Tool calls (MODEL/RUN_COMMAND, ...) and SYSTEM records surface
226
- // only in verbose mode.
227
- if (!text) continue;
228
- messages.push({
229
- role: "system",
230
- content: text
231
- });
232
- }
233
- }
234
- const userTurns = messages.filter((m)=>m.role === "user");
235
- return {
236
- messages,
237
- firstUserMessage: userTurns[0]?.content,
238
- lastUserMessage: userTurns[userTurns.length - 1]?.content,
239
- lastRole,
240
- lastActive
241
- };
242
- }
243
- /** Flatten a transcript record's content (string or text-block array) to text. */ extractText(content) {
244
- if (typeof content === "string") return content;
245
- if (Array.isArray(content)) {
246
- return content.map((block)=>block && typeof block === "object" && typeof block.text === "string" ? block.text : "").join("");
247
- }
248
- return "";
249
- }
250
- /**
251
- * Extract the prompt inside <USER_REQUEST>...</USER_REQUEST>. Returns null when
252
- * the record has no such tag (context injection rather than a prompt). Falls
253
- * back to the trimmed text when a USER_INPUT record has no wrapper.
254
- */ extractUserRequest(text) {
255
- const match = text.match(/<USER_REQUEST>\s*([\s\S]*?)\s*<\/USER_REQUEST>/);
256
- if (match) return match[1].trim();
257
- const trimmed = text.trim();
258
- return trimmed ? trimmed : null;
259
- }
260
- /** Resolve a conversation dir, transcript path, or bare id to the transcript file. */ resolveTranscriptPath(sessionPath) {
261
- if (sessionPath.endsWith(".jsonl")) return sessionPath;
262
- // A bare conversation id (no separator) resolves under the brain dir.
263
- if (!sessionPath.includes(path.sep)) return this.transcriptPath(sessionPath);
264
- return path.join(sessionPath, TRANSCRIPT_REL);
265
- }
266
- parseTimestamp(value) {
267
- if (!value) return null;
268
- const ts = new Date(value);
269
- return Number.isNaN(ts.getTime()) ? null : ts;
270
- }
271
- }
272
-
273
- //# sourceMappingURL=AntigravityCliAdapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/adapters/AntigravityCliAdapter.ts"],"sourcesContent":["import * as path from \"path\";\nimport type {\n AgentAdapter,\n AgentInfo,\n ProcessInfo,\n ConversationMessage,\n SessionSummary,\n ListSessionsOptions,\n} from \"./AgentAdapter.js\";\nimport { AgentStatus } from \"./AgentAdapter.js\";\nimport { listAgentProcesses, enrichProcesses } from \"../utils/process.js\";\nimport { safeReadFile, safeStat } from \"../utils/session.js\";\nimport { generateAgentName } from \"../utils/matching.js\";\n\n/**\n * Antigravity CLI Adapter\n *\n * Detects running Antigravity CLI agents (Google's Gemini-family `agy` CLI) by:\n * 1. Finding running `agy` processes via shared listAgentProcesses() — Antigravity\n * ships a native binary (argv[0] basename `agy`).\n * 2. Resolving each live process to its conversation via\n * ~/.gemini/antigravity-cli/cache/last_conversations.json, which the CLI\n * maintains as a `{ <cwd>: <conversationId> }` map of the current conversation\n * per workspace. The process cwd is the join key.\n * 3. Reading the transcript from\n * brain/<conversationId>/.system_generated/logs/transcript.jsonl. User turns are\n * USER_INPUT records (prompt inside <USER_REQUEST>...</USER_REQUEST>) and the\n * model's reply is a PLANNER_RESPONSE record; tool calls (RUN_COMMAND, ...) are\n * skipped. The last user turn is the summary; each record's created_at gives the\n * last-activity time.\n *\n * This is the runtime/agent side of Antigravity; it is independent of the\n * `antigravity` environment (which configures the Antigravity IDE), the same way\n * GeminiCliAdapter is independent of the `gemini` environment.\n */\n\nconst REGISTRY_FILE = path.join(\"cache\", \"last_conversations.json\");\nconst BRAIN_DIR = \"brain\";\nconst TRANSCRIPT_REL = path.join(\".system_generated\", \"logs\", \"transcript.jsonl\");\nconst IDLE_THRESHOLD_MINUTES = 5;\n\n/** One line of transcript.jsonl. */\ninterface TranscriptRecord {\n source?: string;\n type?: string;\n created_at?: string;\n content?: unknown;\n}\n\ninterface TranscriptScan {\n messages: ConversationMessage[];\n firstUserMessage?: string;\n lastUserMessage?: string;\n lastRole?: ConversationMessage[\"role\"];\n lastActive?: Date;\n}\n\n/** Parsed state for a single conversation. */\ninterface AntigravitySession {\n sessionId: string;\n projectPath: string;\n summary: string;\n sessionStart: Date;\n lastActive: Date;\n firstUserMessage?: string;\n lastUserMessage?: string;\n lastRole?: ConversationMessage[\"role\"];\n}\n\nexport class AntigravityCliAdapter implements AgentAdapter {\n readonly type = \"antigravity_cli\" as const;\n\n private base: string;\n\n constructor() {\n // ANTIGRAVITY_CLI_HOME overrides the ~/.gemini/antigravity-cli base dir.\n const homeDir = process.env.HOME || process.env.USERPROFILE || \"\";\n this.base =\n process.env.ANTIGRAVITY_CLI_HOME || path.join(homeDir, \".gemini\", \"antigravity-cli\");\n }\n\n canHandle(processInfo: ProcessInfo): boolean {\n return this.isAgyExecutable(processInfo.command);\n }\n\n private isAgyExecutable(command: string): boolean {\n const executable = command.trim().split(/\\s+/)[0] || \"\";\n const base = path.basename(executable).toLowerCase();\n return base === \"agy\" || base === \"agy.exe\";\n }\n\n async detectAgents(): Promise<AgentInfo[]> {\n const processes = enrichProcesses(listAgentProcesses(\"agy\"));\n if (processes.length === 0) {\n return [];\n }\n\n // last_conversations.json maps a workspace cwd to its current\n // conversation id; the live process cwd is the join key.\n const cwdToConversation = this.readRegistry();\n\n const agents: AgentInfo[] = [];\n for (const proc of processes) {\n const cwd = proc.cwd || \"\";\n const conversationId = cwd ? cwdToConversation.get(cwd) : undefined;\n const session = conversationId ? this.readSession(conversationId, cwd) : null;\n\n if (session) {\n agents.push(this.mapSessionToAgent(session, proc));\n } else {\n agents.push(this.mapProcessOnlyAgent(proc, cwd));\n }\n }\n\n return agents;\n }\n\n /**\n * Read cache/last_conversations.json into a cwd -> conversationId map. The\n * CLI rewrites this as the current conversation per workspace changes.\n */\n private readRegistry(): Map<string, string> {\n const map = new Map<string, string>();\n const content = safeReadFile(path.join(this.base, REGISTRY_FILE));\n if (content === undefined) return map;\n\n let parsed: unknown;\n try {\n parsed = JSON.parse(content);\n } catch {\n return map;\n }\n if (!parsed || typeof parsed !== \"object\" || Array.isArray(parsed)) return map;\n\n for (const [cwd, conversationId] of Object.entries(parsed as Record<string, unknown>)) {\n if (cwd && typeof conversationId === \"string\" && conversationId) {\n map.set(cwd, conversationId);\n }\n }\n return map;\n }\n\n private transcriptPath(conversationId: string): string {\n return path.join(this.base, BRAIN_DIR, conversationId, TRANSCRIPT_REL);\n }\n\n private mapSessionToAgent(session: AntigravitySession, processInfo: ProcessInfo): AgentInfo {\n const projectPath = session.projectPath || processInfo.cwd || \"\";\n return {\n name: generateAgentName(projectPath, processInfo.pid),\n type: this.type,\n status: this.determineStatus(session),\n summary: session.summary || \"Antigravity CLI session active\",\n pid: processInfo.pid,\n projectPath,\n sessionId: session.sessionId,\n lastActive: session.lastActive,\n sessionFilePath: this.transcriptPath(session.sessionId),\n };\n }\n\n private mapProcessOnlyAgent(processInfo: ProcessInfo, cwd: string): AgentInfo {\n const projectPath = cwd || processInfo.cwd || \"\";\n return {\n name: generateAgentName(projectPath, processInfo.pid),\n type: this.type,\n status: AgentStatus.RUNNING,\n summary: \"Antigravity CLI process running\",\n pid: processInfo.pid,\n projectPath,\n sessionId: `pid-${processInfo.pid}`,\n lastActive: new Date(),\n };\n }\n\n getConversation(sessionFilePath: string, options?: { verbose?: boolean }): ConversationMessage[] {\n return this.parseTranscript(\n this.resolveTranscriptPath(sessionFilePath),\n options?.verbose ?? false,\n ).messages;\n }\n\n async listSessions(opts?: ListSessionsOptions): Promise<SessionSummary[]> {\n const filterCwd = opts?.cwd;\n const summaries: SessionSummary[] = [];\n\n for (const [cwd, conversationId] of this.readRegistry()) {\n if (filterCwd !== undefined && cwd !== filterCwd) continue;\n\n const session = this.readSession(conversationId, cwd);\n if (!session) continue;\n\n summaries.push({\n type: this.type,\n sessionId: session.sessionId,\n cwd: session.projectPath || cwd,\n firstUserMessage: session.firstUserMessage || \"\",\n lastActive: session.lastActive,\n startedAt: session.sessionStart,\n sessionFilePath: this.transcriptPath(conversationId),\n });\n }\n\n return summaries;\n }\n\n // --- Session parsing (transcript.jsonl) ---\n\n /**\n * Parse a conversation into an {@link AntigravitySession} from its\n * transcript.jsonl. Returns null when the transcript is missing — i.e. there\n * is no real session to surface.\n */\n private readSession(conversationId: string, defaultCwd: string): AntigravitySession | null {\n const transcriptPath = this.transcriptPath(conversationId);\n const stat = safeStat(transcriptPath);\n if (!stat) return null;\n\n const scan = this.parseTranscript(transcriptPath, false);\n const lastActive = scan.lastActive || stat.mtime;\n\n return {\n sessionId: conversationId,\n projectPath: defaultCwd || \"\",\n summary: scan.lastUserMessage || \"Antigravity CLI session active\",\n sessionStart: stat.birthtime || lastActive,\n lastActive,\n firstUserMessage: scan.firstUserMessage,\n lastUserMessage: scan.lastUserMessage,\n lastRole: scan.lastRole,\n };\n }\n\n /**\n * Determine agent status from parsed session state.\n *\n * - past the idle threshold → IDLE\n * - last transcript turn is an assistant message → WAITING (awaiting user)\n * - otherwise (last turn was a user message, or unknown) → RUNNING\n */\n private determineStatus(session: AntigravitySession): AgentStatus {\n const diffMinutes = (Date.now() - session.lastActive.getTime()) / 60000;\n if (diffMinutes > IDLE_THRESHOLD_MINUTES) {\n return AgentStatus.IDLE;\n }\n if (session.lastRole === \"assistant\") {\n return AgentStatus.WAITING;\n }\n return AgentStatus.RUNNING;\n }\n\n /**\n * Single pass over transcript.jsonl. Each line is a\n * { source, type, created_at, content } record. User turns are\n * `type: 'USER_INPUT'` with the real prompt wrapped in\n * <USER_REQUEST>...</USER_REQUEST>; the model's reply is `type:\n * 'PLANNER_RESPONSE'`. Other MODEL records (tool calls like RUN_COMMAND) and\n * SYSTEM records (conversation history, checkpoints) are execution detail and\n * are skipped unless verbose.\n */\n private parseTranscript(transcriptPath: string, verbose: boolean): TranscriptScan {\n const empty: TranscriptScan = { messages: [] };\n const content = safeReadFile(transcriptPath);\n if (content === undefined) return empty;\n\n const messages: ConversationMessage[] = [];\n let lastRole: ConversationMessage[\"role\"] | undefined;\n let lastActive: Date | undefined;\n\n for (const line of content.trim().split(\"\\n\")) {\n if (!line.trim()) continue;\n\n let record: TranscriptRecord;\n try {\n record = JSON.parse(line);\n } catch {\n continue;\n }\n\n const at = this.parseTimestamp(record.created_at);\n if (at && (!lastActive || at.getTime() > lastActive.getTime())) lastActive = at;\n\n const text = this.extractText(record.content);\n if (record.type === \"USER_INPUT\") {\n const request = this.extractUserRequest(text);\n if (request === null) continue; // not a real prompt\n messages.push({ role: \"user\", content: request });\n lastRole = \"user\";\n } else if (record.type === \"PLANNER_RESPONSE\") {\n // The model's user-facing reply. Other MODEL records (tool calls\n // such as RUN_COMMAND, empty planning steps) are execution detail,\n // not conversation, so they are excluded from the normal view.\n if (!text) continue;\n messages.push({ role: \"assistant\", content: text });\n lastRole = \"assistant\";\n } else if (verbose) {\n // Tool calls (MODEL/RUN_COMMAND, ...) and SYSTEM records surface\n // only in verbose mode.\n if (!text) continue;\n messages.push({ role: \"system\", content: text });\n }\n }\n\n const userTurns = messages.filter((m) => m.role === \"user\");\n return {\n messages,\n firstUserMessage: userTurns[0]?.content,\n lastUserMessage: userTurns[userTurns.length - 1]?.content,\n lastRole,\n lastActive,\n };\n }\n\n /** Flatten a transcript record's content (string or text-block array) to text. */\n private extractText(content: unknown): string {\n if (typeof content === \"string\") return content;\n if (Array.isArray(content)) {\n return content\n .map((block) =>\n block &&\n typeof block === \"object\" &&\n typeof (block as { text?: unknown }).text === \"string\"\n ? (block as { text: string }).text\n : \"\",\n )\n .join(\"\");\n }\n return \"\";\n }\n\n /**\n * Extract the prompt inside <USER_REQUEST>...</USER_REQUEST>. Returns null when\n * the record has no such tag (context injection rather than a prompt). Falls\n * back to the trimmed text when a USER_INPUT record has no wrapper.\n */\n private extractUserRequest(text: string): string | null {\n const match = text.match(/<USER_REQUEST>\\s*([\\s\\S]*?)\\s*<\\/USER_REQUEST>/);\n if (match) return match[1].trim();\n const trimmed = text.trim();\n return trimmed ? trimmed : null;\n }\n\n /** Resolve a conversation dir, transcript path, or bare id to the transcript file. */\n private resolveTranscriptPath(sessionPath: string): string {\n if (sessionPath.endsWith(\".jsonl\")) return sessionPath;\n // A bare conversation id (no separator) resolves under the brain dir.\n if (!sessionPath.includes(path.sep)) return this.transcriptPath(sessionPath);\n return path.join(sessionPath, TRANSCRIPT_REL);\n }\n\n private parseTimestamp(value?: string): Date | null {\n if (!value) return null;\n const ts = new Date(value);\n return Number.isNaN(ts.getTime()) ? null : ts;\n }\n}\n"],"names":["path","AgentStatus","listAgentProcesses","enrichProcesses","safeReadFile","safeStat","generateAgentName","REGISTRY_FILE","join","BRAIN_DIR","TRANSCRIPT_REL","IDLE_THRESHOLD_MINUTES","AntigravityCliAdapter","type","base","homeDir","process","env","HOME","USERPROFILE","ANTIGRAVITY_CLI_HOME","canHandle","processInfo","isAgyExecutable","command","executable","trim","split","basename","toLowerCase","detectAgents","processes","length","cwdToConversation","readRegistry","agents","proc","cwd","conversationId","get","undefined","session","readSession","push","mapSessionToAgent","mapProcessOnlyAgent","map","Map","content","parsed","JSON","parse","Array","isArray","Object","entries","set","transcriptPath","projectPath","name","pid","status","determineStatus","summary","sessionId","lastActive","sessionFilePath","RUNNING","Date","getConversation","options","parseTranscript","resolveTranscriptPath","verbose","messages","listSessions","opts","filterCwd","summaries","firstUserMessage","startedAt","sessionStart","defaultCwd","stat","scan","mtime","lastUserMessage","birthtime","lastRole","diffMinutes","now","getTime","IDLE","WAITING","empty","line","record","at","parseTimestamp","created_at","text","extractText","request","extractUserRequest","role","userTurns","filter","m","block","match","trimmed","sessionPath","endsWith","includes","sep","value","ts","Number","isNaN"],"mappings":"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"}
@@ -1,46 +0,0 @@
1
- /**
2
- * Kiro Adapter
3
- *
4
- * Detects running Kiro agents by matching process IDs from
5
- * ~/.kiro/sessions/cli/<session-id>.lock to the sibling metadata and transcript files.
6
- */
7
- import type { AgentAdapter, AgentInfo, ProcessInfo, ConversationMessage, SessionSummary, ListSessionsOptions, AgentDetectionContext } from "./AgentAdapter.js";
8
- export declare class KiroAdapter implements AgentAdapter {
9
- readonly type: "kiro";
10
- readonly processNames: readonly ["kiro-cli", "kiro", "kiro-cli-chat", "node"];
11
- private kiroSessionsDir;
12
- constructor();
13
- canHandle(processInfo: ProcessInfo): boolean;
14
- detectAgents(context?: AgentDetectionContext): Promise<AgentInfo[]>;
15
- getConversation(sessionFilePath: string, options?: {
16
- verbose?: boolean;
17
- }): ConversationMessage[];
18
- listSessions(opts?: ListSessionsOptions): Promise<SessionSummary[]>;
19
- private discoverActiveLocks;
20
- private readSession;
21
- private readMetadata;
22
- private readJsonl;
23
- private entriesToMessages;
24
- private entryToMessage;
25
- private textContent;
26
- private toolUseContent;
27
- private toolResultContent;
28
- private contentBlocks;
29
- private hasContentKind;
30
- private entryTimestamp;
31
- private entryDate;
32
- private mapSessionToAgent;
33
- private mapProcessOnlyAgent;
34
- private determineStatus;
35
- private resolveLockProcess;
36
- private matchSoleTopLevelOnTty;
37
- private isKiroExecutable;
38
- private kiroBasename;
39
- private toPid;
40
- private parseDate;
41
- private firstString;
42
- private asRecord;
43
- private formatValue;
44
- private truncate;
45
- }
46
- //# sourceMappingURL=KiroAdapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"KiroAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/KiroAdapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,mBAAmB,CAAC;AA+C3B,qBAAa,WAAY,YAAW,YAAY;IAC9C,QAAQ,CAAC,IAAI,EAAG,MAAM,CAAU;IAChC,QAAQ,CAAC,YAAY,yDAA0D;IAE/E,OAAO,CAAC,eAAe,CAAS;;IAOhC,SAAS,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO;IAItC,YAAY,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IA8BzE,eAAe,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,mBAAmB,EAAE;IAI1F,YAAY,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAyBzE,OAAO,CAAC,mBAAmB;IA2B3B,OAAO,CAAC,WAAW;IAiCnB,OAAO,CAAC,YAAY;IA0BpB,OAAO,CAAC,SAAS;IAkBjB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,cAAc;IA2BtB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,kBAAkB;IAqB1B,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,KAAK;IAOb,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,QAAQ;CAIjB"}