yepanywhere 0.1.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 (635) hide show
  1. package/bundled/@yep-anywhere/shared/dist/app-types.d.ts +229 -0
  2. package/bundled/@yep-anywhere/shared/dist/app-types.d.ts.map +1 -0
  3. package/bundled/@yep-anywhere/shared/dist/app-types.js +46 -0
  4. package/bundled/@yep-anywhere/shared/dist/app-types.js.map +1 -0
  5. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/content/DocumentContentSchema.d.ts +16 -0
  6. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/content/DocumentContentSchema.d.ts.map +1 -0
  7. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/content/DocumentContentSchema.js +17 -0
  8. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/content/DocumentContentSchema.js.map +1 -0
  9. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/content/ImageContentSchema.d.ts +15 -0
  10. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/content/ImageContentSchema.d.ts.map +1 -0
  11. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/content/ImageContentSchema.js +10 -0
  12. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/content/ImageContentSchema.js.map +1 -0
  13. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/content/TextContentSchema.d.ts +6 -0
  14. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/content/TextContentSchema.d.ts.map +1 -0
  15. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/content/TextContentSchema.js +6 -0
  16. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/content/TextContentSchema.js.map +1 -0
  17. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/content/ThinkingContentSchema.d.ts +7 -0
  18. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/content/ThinkingContentSchema.d.ts.map +1 -0
  19. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/content/ThinkingContentSchema.js +7 -0
  20. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/content/ThinkingContentSchema.js.map +1 -0
  21. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/content/ToolResultContentSchema.d.ts +24 -0
  22. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/content/ToolResultContentSchema.d.ts.map +1 -0
  23. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/content/ToolResultContentSchema.js +13 -0
  24. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/content/ToolResultContentSchema.js.map +1 -0
  25. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/content/ToolUseContentSchema.d.ts +8 -0
  26. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/content/ToolUseContentSchema.d.ts.map +1 -0
  27. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/content/ToolUseContentSchema.js +8 -0
  28. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/content/ToolUseContentSchema.js.map +1 -0
  29. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/AssistantEntrySchema.d.ts +78 -0
  30. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/AssistantEntrySchema.d.ts.map +1 -0
  31. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/AssistantEntrySchema.js +13 -0
  32. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/AssistantEntrySchema.js.map +1 -0
  33. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/BaseEntrySchema.d.ts +18 -0
  34. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/BaseEntrySchema.d.ts.map +1 -0
  35. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/BaseEntrySchema.js +19 -0
  36. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/BaseEntrySchema.js.map +1 -0
  37. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/FileHistorySnapshotEntrySchema.d.ts +13 -0
  38. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/FileHistorySnapshotEntrySchema.d.ts.map +1 -0
  39. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/FileHistorySnapshotEntrySchema.js +14 -0
  40. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/FileHistorySnapshotEntrySchema.js.map +1 -0
  41. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/QueueOperationEntrySchema.d.ts +68 -0
  42. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/QueueOperationEntrySchema.d.ts.map +1 -0
  43. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/QueueOperationEntrySchema.js +37 -0
  44. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/QueueOperationEntrySchema.js.map +1 -0
  45. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/SummaryEntrySchema.d.ts +8 -0
  46. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/SummaryEntrySchema.d.ts.map +1 -0
  47. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/SummaryEntrySchema.js +7 -0
  48. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/SummaryEntrySchema.js.map +1 -0
  49. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/SystemEntrySchema.d.ts +52 -0
  50. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/SystemEntrySchema.d.ts.map +1 -0
  51. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/SystemEntrySchema.js +29 -0
  52. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/SystemEntrySchema.js.map +1 -0
  53. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/UserEntrySchema.d.ts +72 -0
  54. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/UserEntrySchema.d.ts.map +1 -0
  55. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/UserEntrySchema.js +10 -0
  56. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/UserEntrySchema.js.map +1 -0
  57. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/normalizeQueueOperationContent.d.ts +14 -0
  58. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/normalizeQueueOperationContent.d.ts.map +1 -0
  59. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/normalizeQueueOperationContent.js +39 -0
  60. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/entry/normalizeQueueOperationContent.js.map +1 -0
  61. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/guards.d.ts +15 -0
  62. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/guards.d.ts.map +1 -0
  63. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/guards.js +26 -0
  64. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/guards.js.map +1 -0
  65. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/index.d.ts +566 -0
  66. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/index.d.ts.map +1 -0
  67. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/index.js +39 -0
  68. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/index.js.map +1 -0
  69. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/message/AssistantMessageSchema.d.ts +93 -0
  70. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/message/AssistantMessageSchema.d.ts.map +1 -0
  71. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/message/AssistantMessageSchema.js +40 -0
  72. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/message/AssistantMessageSchema.js.map +1 -0
  73. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/message/UserMessageSchema.d.ts +105 -0
  74. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/message/UserMessageSchema.d.ts.map +1 -0
  75. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/message/UserMessageSchema.js +20 -0
  76. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/message/UserMessageSchema.js.map +1 -0
  77. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/tool/CommonToolSchema.d.ts +53 -0
  78. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/tool/CommonToolSchema.d.ts.map +1 -0
  79. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/tool/CommonToolSchema.js +54 -0
  80. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/tool/CommonToolSchema.js.map +1 -0
  81. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/tool/StructuredPatchSchema.d.ts +9 -0
  82. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/tool/StructuredPatchSchema.d.ts.map +1 -0
  83. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/tool/StructuredPatchSchema.js +9 -0
  84. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/tool/StructuredPatchSchema.js.map +1 -0
  85. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/tool/TodoSchema.d.ts +32 -0
  86. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/tool/TodoSchema.d.ts.map +1 -0
  87. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/tool/TodoSchema.js +12 -0
  88. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/tool/TodoSchema.js.map +1 -0
  89. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/tool/ToolResultSchemas.d.ts +288 -0
  90. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/tool/ToolResultSchemas.d.ts.map +1 -0
  91. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/tool/ToolResultSchemas.js +293 -0
  92. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/tool/ToolResultSchemas.js.map +1 -0
  93. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/tool/index.d.ts +83 -0
  94. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/tool/index.d.ts.map +1 -0
  95. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/tool/index.js +10 -0
  96. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/tool/index.js.map +1 -0
  97. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/types.d.ts +42 -0
  98. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/types.d.ts.map +1 -0
  99. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/types.js +11 -0
  100. package/bundled/@yep-anywhere/shared/dist/claude-sdk-schema/types.js.map +1 -0
  101. package/bundled/@yep-anywhere/shared/dist/codex-schema/content.d.ts +99 -0
  102. package/bundled/@yep-anywhere/shared/dist/codex-schema/content.d.ts.map +1 -0
  103. package/bundled/@yep-anywhere/shared/dist/codex-schema/content.js +64 -0
  104. package/bundled/@yep-anywhere/shared/dist/codex-schema/content.js.map +1 -0
  105. package/bundled/@yep-anywhere/shared/dist/codex-schema/index.d.ts +17 -0
  106. package/bundled/@yep-anywhere/shared/dist/codex-schema/index.d.ts.map +1 -0
  107. package/bundled/@yep-anywhere/shared/dist/codex-schema/index.js +17 -0
  108. package/bundled/@yep-anywhere/shared/dist/codex-schema/index.js.map +1 -0
  109. package/bundled/@yep-anywhere/shared/dist/codex-schema/session.d.ts +600 -0
  110. package/bundled/@yep-anywhere/shared/dist/codex-schema/session.d.ts.map +1 -0
  111. package/bundled/@yep-anywhere/shared/dist/codex-schema/session.js +282 -0
  112. package/bundled/@yep-anywhere/shared/dist/codex-schema/session.js.map +1 -0
  113. package/bundled/@yep-anywhere/shared/dist/codex-schema/types.d.ts +7 -0
  114. package/bundled/@yep-anywhere/shared/dist/codex-schema/types.d.ts.map +1 -0
  115. package/bundled/@yep-anywhere/shared/dist/codex-schema/types.js +6 -0
  116. package/bundled/@yep-anywhere/shared/dist/codex-schema/types.js.map +1 -0
  117. package/bundled/@yep-anywhere/shared/dist/dag.d.ts +35 -0
  118. package/bundled/@yep-anywhere/shared/dist/dag.d.ts.map +1 -0
  119. package/bundled/@yep-anywhere/shared/dist/dag.js +75 -0
  120. package/bundled/@yep-anywhere/shared/dist/dag.js.map +1 -0
  121. package/bundled/@yep-anywhere/shared/dist/filePathDetection.d.ts +72 -0
  122. package/bundled/@yep-anywhere/shared/dist/filePathDetection.d.ts.map +1 -0
  123. package/bundled/@yep-anywhere/shared/dist/filePathDetection.js +376 -0
  124. package/bundled/@yep-anywhere/shared/dist/filePathDetection.js.map +1 -0
  125. package/bundled/@yep-anywhere/shared/dist/gemini-schema/content.d.ts +95 -0
  126. package/bundled/@yep-anywhere/shared/dist/gemini-schema/content.d.ts.map +1 -0
  127. package/bundled/@yep-anywhere/shared/dist/gemini-schema/content.js +57 -0
  128. package/bundled/@yep-anywhere/shared/dist/gemini-schema/content.js.map +1 -0
  129. package/bundled/@yep-anywhere/shared/dist/gemini-schema/events.d.ts +174 -0
  130. package/bundled/@yep-anywhere/shared/dist/gemini-schema/events.d.ts.map +1 -0
  131. package/bundled/@yep-anywhere/shared/dist/gemini-schema/events.js +117 -0
  132. package/bundled/@yep-anywhere/shared/dist/gemini-schema/events.js.map +1 -0
  133. package/bundled/@yep-anywhere/shared/dist/gemini-schema/index.d.ts +18 -0
  134. package/bundled/@yep-anywhere/shared/dist/gemini-schema/index.d.ts.map +1 -0
  135. package/bundled/@yep-anywhere/shared/dist/gemini-schema/index.js +18 -0
  136. package/bundled/@yep-anywhere/shared/dist/gemini-schema/index.js.map +1 -0
  137. package/bundled/@yep-anywhere/shared/dist/gemini-schema/session.d.ts +267 -0
  138. package/bundled/@yep-anywhere/shared/dist/gemini-schema/session.d.ts.map +1 -0
  139. package/bundled/@yep-anywhere/shared/dist/gemini-schema/session.js +147 -0
  140. package/bundled/@yep-anywhere/shared/dist/gemini-schema/session.js.map +1 -0
  141. package/bundled/@yep-anywhere/shared/dist/gemini-schema/types.d.ts +7 -0
  142. package/bundled/@yep-anywhere/shared/dist/gemini-schema/types.d.ts.map +1 -0
  143. package/bundled/@yep-anywhere/shared/dist/gemini-schema/types.js +6 -0
  144. package/bundled/@yep-anywhere/shared/dist/gemini-schema/types.js.map +1 -0
  145. package/bundled/@yep-anywhere/shared/dist/ideMetadata.d.ts +30 -0
  146. package/bundled/@yep-anywhere/shared/dist/ideMetadata.d.ts.map +1 -0
  147. package/bundled/@yep-anywhere/shared/dist/ideMetadata.js +58 -0
  148. package/bundled/@yep-anywhere/shared/dist/ideMetadata.js.map +1 -0
  149. package/bundled/@yep-anywhere/shared/dist/index.d.ts +24 -0
  150. package/bundled/@yep-anywhere/shared/dist/index.d.ts.map +1 -0
  151. package/bundled/@yep-anywhere/shared/dist/index.js +17 -0
  152. package/bundled/@yep-anywhere/shared/dist/index.js.map +1 -0
  153. package/bundled/@yep-anywhere/shared/dist/opencode-schema/events.d.ts +457 -0
  154. package/bundled/@yep-anywhere/shared/dist/opencode-schema/events.d.ts.map +1 -0
  155. package/bundled/@yep-anywhere/shared/dist/opencode-schema/events.js +217 -0
  156. package/bundled/@yep-anywhere/shared/dist/opencode-schema/events.js.map +1 -0
  157. package/bundled/@yep-anywhere/shared/dist/opencode-schema/index.d.ts +23 -0
  158. package/bundled/@yep-anywhere/shared/dist/opencode-schema/index.d.ts.map +1 -0
  159. package/bundled/@yep-anywhere/shared/dist/opencode-schema/index.js +23 -0
  160. package/bundled/@yep-anywhere/shared/dist/opencode-schema/index.js.map +1 -0
  161. package/bundled/@yep-anywhere/shared/dist/opencode-schema/session.d.ts +149 -0
  162. package/bundled/@yep-anywhere/shared/dist/opencode-schema/session.d.ts.map +1 -0
  163. package/bundled/@yep-anywhere/shared/dist/opencode-schema/session.js +158 -0
  164. package/bundled/@yep-anywhere/shared/dist/opencode-schema/session.js.map +1 -0
  165. package/bundled/@yep-anywhere/shared/dist/opencode-schema/types.d.ts +7 -0
  166. package/bundled/@yep-anywhere/shared/dist/opencode-schema/types.d.ts.map +1 -0
  167. package/bundled/@yep-anywhere/shared/dist/opencode-schema/types.js +6 -0
  168. package/bundled/@yep-anywhere/shared/dist/opencode-schema/types.js.map +1 -0
  169. package/bundled/@yep-anywhere/shared/dist/projectId.d.ts +48 -0
  170. package/bundled/@yep-anywhere/shared/dist/projectId.d.ts.map +1 -0
  171. package/bundled/@yep-anywhere/shared/dist/projectId.js +74 -0
  172. package/bundled/@yep-anywhere/shared/dist/projectId.js.map +1 -0
  173. package/bundled/@yep-anywhere/shared/dist/session/SessionView.d.ts +171 -0
  174. package/bundled/@yep-anywhere/shared/dist/session/SessionView.d.ts.map +1 -0
  175. package/bundled/@yep-anywhere/shared/dist/session/SessionView.js +189 -0
  176. package/bundled/@yep-anywhere/shared/dist/session/SessionView.js.map +1 -0
  177. package/bundled/@yep-anywhere/shared/dist/session/UnifiedSession.d.ts +31 -0
  178. package/bundled/@yep-anywhere/shared/dist/session/UnifiedSession.d.ts.map +1 -0
  179. package/bundled/@yep-anywhere/shared/dist/session/UnifiedSession.js +2 -0
  180. package/bundled/@yep-anywhere/shared/dist/session/UnifiedSession.js.map +1 -0
  181. package/bundled/@yep-anywhere/shared/dist/session/index.d.ts +3 -0
  182. package/bundled/@yep-anywhere/shared/dist/session/index.d.ts.map +1 -0
  183. package/bundled/@yep-anywhere/shared/dist/session/index.js +2 -0
  184. package/bundled/@yep-anywhere/shared/dist/session/index.js.map +1 -0
  185. package/bundled/@yep-anywhere/shared/dist/types.d.ts +172 -0
  186. package/bundled/@yep-anywhere/shared/dist/types.d.ts.map +1 -0
  187. package/bundled/@yep-anywhere/shared/dist/types.js +33 -0
  188. package/bundled/@yep-anywhere/shared/dist/types.js.map +1 -0
  189. package/bundled/@yep-anywhere/shared/dist/upload.d.ts +58 -0
  190. package/bundled/@yep-anywhere/shared/dist/upload.d.ts.map +1 -0
  191. package/bundled/@yep-anywhere/shared/dist/upload.js +6 -0
  192. package/bundled/@yep-anywhere/shared/dist/upload.js.map +1 -0
  193. package/bundled/@yep-anywhere/shared/package.json +7 -0
  194. package/client-dist/assets/index-C7DeAWG4.css +1 -0
  195. package/client-dist/assets/index-yX0HPwrz.js +147 -0
  196. package/client-dist/badge-96.png +0 -0
  197. package/client-dist/badge.svg +20 -0
  198. package/client-dist/debug-streaming.html +746 -0
  199. package/client-dist/favicon.ico +0 -0
  200. package/client-dist/icon-192.png +0 -0
  201. package/client-dist/icon-512.png +0 -0
  202. package/client-dist/icon.svg +27 -0
  203. package/client-dist/index.html +35 -0
  204. package/client-dist/manifest.json +23 -0
  205. package/client-dist/sw.js +482 -0
  206. package/dist/app.d.ts +67 -0
  207. package/dist/app.d.ts.map +1 -0
  208. package/dist/app.js +236 -0
  209. package/dist/app.js.map +1 -0
  210. package/dist/augments/augment-generator.d.ts +30 -0
  211. package/dist/augments/augment-generator.d.ts.map +1 -0
  212. package/dist/augments/augment-generator.js +171 -0
  213. package/dist/augments/augment-generator.js.map +1 -0
  214. package/dist/augments/block-detector.d.ts +81 -0
  215. package/dist/augments/block-detector.d.ts.map +1 -0
  216. package/dist/augments/block-detector.js +615 -0
  217. package/dist/augments/block-detector.js.map +1 -0
  218. package/dist/augments/edit-augments.d.ts +138 -0
  219. package/dist/augments/edit-augments.d.ts.map +1 -0
  220. package/dist/augments/edit-augments.js +665 -0
  221. package/dist/augments/edit-augments.js.map +1 -0
  222. package/dist/augments/index.d.ts +14 -0
  223. package/dist/augments/index.d.ts.map +1 -0
  224. package/dist/augments/index.js +20 -0
  225. package/dist/augments/index.js.map +1 -0
  226. package/dist/augments/markdown-augments.d.ts +33 -0
  227. package/dist/augments/markdown-augments.d.ts.map +1 -0
  228. package/dist/augments/markdown-augments.js +128 -0
  229. package/dist/augments/markdown-augments.js.map +1 -0
  230. package/dist/augments/read-augments.d.ts +40 -0
  231. package/dist/augments/read-augments.d.ts.map +1 -0
  232. package/dist/augments/read-augments.js +64 -0
  233. package/dist/augments/read-augments.js.map +1 -0
  234. package/dist/augments/stream-coordinator.d.ts +32 -0
  235. package/dist/augments/stream-coordinator.d.ts.map +1 -0
  236. package/dist/augments/stream-coordinator.js +115 -0
  237. package/dist/augments/stream-coordinator.js.map +1 -0
  238. package/dist/augments/write-augments.d.ts +32 -0
  239. package/dist/augments/write-augments.d.ts.map +1 -0
  240. package/dist/augments/write-augments.js +27 -0
  241. package/dist/augments/write-augments.js.map +1 -0
  242. package/dist/auth/AuthService.d.ts +98 -0
  243. package/dist/auth/AuthService.d.ts.map +1 -0
  244. package/dist/auth/AuthService.js +217 -0
  245. package/dist/auth/AuthService.js.map +1 -0
  246. package/dist/auth/index.d.ts +3 -0
  247. package/dist/auth/index.d.ts.map +1 -0
  248. package/dist/auth/index.js +3 -0
  249. package/dist/auth/index.js.map +1 -0
  250. package/dist/auth/routes.d.ts +13 -0
  251. package/dist/auth/routes.d.ts.map +1 -0
  252. package/dist/auth/routes.js +149 -0
  253. package/dist/auth/routes.js.map +1 -0
  254. package/dist/cli.d.ts +19 -0
  255. package/dist/cli.d.ts.map +1 -0
  256. package/dist/cli.js +152 -0
  257. package/dist/cli.js.map +1 -0
  258. package/dist/config.d.ts +76 -0
  259. package/dist/config.d.ts.map +1 -0
  260. package/dist/config.js +124 -0
  261. package/dist/config.js.map +1 -0
  262. package/dist/dev-mock.d.ts +18 -0
  263. package/dist/dev-mock.d.ts.map +1 -0
  264. package/dist/dev-mock.js +260 -0
  265. package/dist/dev-mock.js.map +1 -0
  266. package/dist/frontend/index.d.ts +10 -0
  267. package/dist/frontend/index.d.ts.map +1 -0
  268. package/dist/frontend/index.js +10 -0
  269. package/dist/frontend/index.js.map +1 -0
  270. package/dist/frontend/proxy.d.ts +70 -0
  271. package/dist/frontend/proxy.d.ts.map +1 -0
  272. package/dist/frontend/proxy.js +329 -0
  273. package/dist/frontend/proxy.js.map +1 -0
  274. package/dist/frontend/static.d.ts +16 -0
  275. package/dist/frontend/static.d.ts.map +1 -0
  276. package/dist/frontend/static.js +106 -0
  277. package/dist/frontend/static.js.map +1 -0
  278. package/dist/highlighting/index.d.ts +43 -0
  279. package/dist/highlighting/index.d.ts.map +1 -0
  280. package/dist/highlighting/index.js +224 -0
  281. package/dist/highlighting/index.js.map +1 -0
  282. package/dist/index.d.ts +2 -0
  283. package/dist/index.d.ts.map +1 -0
  284. package/dist/index.js +259 -0
  285. package/dist/index.js.map +1 -0
  286. package/dist/indexes/SessionIndexService.d.ts +106 -0
  287. package/dist/indexes/SessionIndexService.d.ts.map +1 -0
  288. package/dist/indexes/SessionIndexService.js +356 -0
  289. package/dist/indexes/SessionIndexService.js.map +1 -0
  290. package/dist/indexes/index.d.ts +3 -0
  291. package/dist/indexes/index.d.ts.map +1 -0
  292. package/dist/indexes/index.js +2 -0
  293. package/dist/indexes/index.js.map +1 -0
  294. package/dist/indexes/types.d.ts +55 -0
  295. package/dist/indexes/types.d.ts.map +1 -0
  296. package/dist/indexes/types.js +8 -0
  297. package/dist/indexes/types.js.map +1 -0
  298. package/dist/logging/index.d.ts +2 -0
  299. package/dist/logging/index.d.ts.map +1 -0
  300. package/dist/logging/index.js +2 -0
  301. package/dist/logging/index.js.map +1 -0
  302. package/dist/logging/logger.d.ts +81 -0
  303. package/dist/logging/logger.d.ts.map +1 -0
  304. package/dist/logging/logger.js +257 -0
  305. package/dist/logging/logger.js.map +1 -0
  306. package/dist/maintenance/debug-routes.d.ts +39 -0
  307. package/dist/maintenance/debug-routes.d.ts.map +1 -0
  308. package/dist/maintenance/debug-routes.js +561 -0
  309. package/dist/maintenance/debug-routes.js.map +1 -0
  310. package/dist/maintenance/index.d.ts +3 -0
  311. package/dist/maintenance/index.d.ts.map +1 -0
  312. package/dist/maintenance/index.js +3 -0
  313. package/dist/maintenance/index.js.map +1 -0
  314. package/dist/maintenance/server.d.ts +53 -0
  315. package/dist/maintenance/server.d.ts.map +1 -0
  316. package/dist/maintenance/server.js +419 -0
  317. package/dist/maintenance/server.js.map +1 -0
  318. package/dist/metadata/SessionMetadataService.d.ts +96 -0
  319. package/dist/metadata/SessionMetadataService.d.ts.map +1 -0
  320. package/dist/metadata/SessionMetadataService.js +209 -0
  321. package/dist/metadata/SessionMetadataService.js.map +1 -0
  322. package/dist/metadata/index.d.ts +2 -0
  323. package/dist/metadata/index.d.ts.map +1 -0
  324. package/dist/metadata/index.js +2 -0
  325. package/dist/metadata/index.js.map +1 -0
  326. package/dist/middleware/auth.d.ts +18 -0
  327. package/dist/middleware/auth.d.ts.map +1 -0
  328. package/dist/middleware/auth.js +53 -0
  329. package/dist/middleware/auth.js.map +1 -0
  330. package/dist/middleware/security.d.ts +4 -0
  331. package/dist/middleware/security.d.ts.map +1 -0
  332. package/dist/middleware/security.js +28 -0
  333. package/dist/middleware/security.js.map +1 -0
  334. package/dist/notifications/NotificationService.d.ts +76 -0
  335. package/dist/notifications/NotificationService.d.ts.map +1 -0
  336. package/dist/notifications/NotificationService.js +155 -0
  337. package/dist/notifications/NotificationService.js.map +1 -0
  338. package/dist/notifications/index.d.ts +2 -0
  339. package/dist/notifications/index.d.ts.map +1 -0
  340. package/dist/notifications/index.js +2 -0
  341. package/dist/notifications/index.js.map +1 -0
  342. package/dist/projects/codex-scanner.d.ts +52 -0
  343. package/dist/projects/codex-scanner.d.ts.map +1 -0
  344. package/dist/projects/codex-scanner.js +167 -0
  345. package/dist/projects/codex-scanner.js.map +1 -0
  346. package/dist/projects/gemini-project-map.d.ts +54 -0
  347. package/dist/projects/gemini-project-map.d.ts.map +1 -0
  348. package/dist/projects/gemini-project-map.js +116 -0
  349. package/dist/projects/gemini-project-map.js.map +1 -0
  350. package/dist/projects/gemini-scanner.d.ts +58 -0
  351. package/dist/projects/gemini-scanner.d.ts.map +1 -0
  352. package/dist/projects/gemini-scanner.js +210 -0
  353. package/dist/projects/gemini-scanner.js.map +1 -0
  354. package/dist/projects/index.d.ts +16 -0
  355. package/dist/projects/index.d.ts.map +1 -0
  356. package/dist/projects/index.js +17 -0
  357. package/dist/projects/index.js.map +1 -0
  358. package/dist/projects/paths.d.ts +127 -0
  359. package/dist/projects/paths.d.ts.map +1 -0
  360. package/dist/projects/paths.js +185 -0
  361. package/dist/projects/paths.js.map +1 -0
  362. package/dist/projects/scanner.d.ts +45 -0
  363. package/dist/projects/scanner.d.ts.map +1 -0
  364. package/dist/projects/scanner.js +287 -0
  365. package/dist/projects/scanner.js.map +1 -0
  366. package/dist/push/PushNotifier.d.ts +48 -0
  367. package/dist/push/PushNotifier.d.ts.map +1 -0
  368. package/dist/push/PushNotifier.js +145 -0
  369. package/dist/push/PushNotifier.js.map +1 -0
  370. package/dist/push/PushService.d.ts +95 -0
  371. package/dist/push/PushService.d.ts.map +1 -0
  372. package/dist/push/PushService.js +245 -0
  373. package/dist/push/PushService.js.map +1 -0
  374. package/dist/push/index.d.ts +9 -0
  375. package/dist/push/index.d.ts.map +1 -0
  376. package/dist/push/index.js +8 -0
  377. package/dist/push/index.js.map +1 -0
  378. package/dist/push/routes.d.ts +10 -0
  379. package/dist/push/routes.d.ts.map +1 -0
  380. package/dist/push/routes.js +111 -0
  381. package/dist/push/routes.js.map +1 -0
  382. package/dist/push/types.d.ts +80 -0
  383. package/dist/push/types.d.ts.map +1 -0
  384. package/dist/push/types.js +5 -0
  385. package/dist/push/types.js.map +1 -0
  386. package/dist/push/vapid.d.ts +42 -0
  387. package/dist/push/vapid.d.ts.map +1 -0
  388. package/dist/push/vapid.js +132 -0
  389. package/dist/push/vapid.js.map +1 -0
  390. package/dist/recents/RecentsService.d.ts +77 -0
  391. package/dist/recents/RecentsService.d.ts.map +1 -0
  392. package/dist/recents/RecentsService.js +155 -0
  393. package/dist/recents/RecentsService.js.map +1 -0
  394. package/dist/recents/index.d.ts +2 -0
  395. package/dist/recents/index.d.ts.map +1 -0
  396. package/dist/recents/index.js +2 -0
  397. package/dist/recents/index.js.map +1 -0
  398. package/dist/routes/activity.d.ts +7 -0
  399. package/dist/routes/activity.d.ts.map +1 -0
  400. package/dist/routes/activity.js +80 -0
  401. package/dist/routes/activity.js.map +1 -0
  402. package/dist/routes/beads.d.ts +42 -0
  403. package/dist/routes/beads.d.ts.map +1 -0
  404. package/dist/routes/beads.js +101 -0
  405. package/dist/routes/beads.js.map +1 -0
  406. package/dist/routes/debug-streaming.d.ts +7 -0
  407. package/dist/routes/debug-streaming.d.ts.map +1 -0
  408. package/dist/routes/debug-streaming.js +88 -0
  409. package/dist/routes/debug-streaming.js.map +1 -0
  410. package/dist/routes/dev.d.ts +11 -0
  411. package/dist/routes/dev.d.ts.map +1 -0
  412. package/dist/routes/dev.js +55 -0
  413. package/dist/routes/dev.js.map +1 -0
  414. package/dist/routes/files.d.ts +7 -0
  415. package/dist/routes/files.d.ts.map +1 -0
  416. package/dist/routes/files.js +429 -0
  417. package/dist/routes/files.js.map +1 -0
  418. package/dist/routes/global-sessions.d.ts +76 -0
  419. package/dist/routes/global-sessions.d.ts.map +1 -0
  420. package/dist/routes/global-sessions.js +207 -0
  421. package/dist/routes/global-sessions.js.map +1 -0
  422. package/dist/routes/health.d.ts +3 -0
  423. package/dist/routes/health.d.ts.map +1 -0
  424. package/dist/routes/health.js +6 -0
  425. package/dist/routes/health.js.map +1 -0
  426. package/dist/routes/inbox.d.ts +45 -0
  427. package/dist/routes/inbox.d.ts.map +1 -0
  428. package/dist/routes/inbox.js +174 -0
  429. package/dist/routes/inbox.js.map +1 -0
  430. package/dist/routes/processes.d.ts +16 -0
  431. package/dist/routes/processes.d.ts.map +1 -0
  432. package/dist/routes/processes.js +82 -0
  433. package/dist/routes/processes.js.map +1 -0
  434. package/dist/routes/projects.d.ts +30 -0
  435. package/dist/routes/projects.d.ts.map +1 -0
  436. package/dist/routes/projects.js +316 -0
  437. package/dist/routes/projects.js.map +1 -0
  438. package/dist/routes/providers.d.ts +9 -0
  439. package/dist/routes/providers.d.ts.map +1 -0
  440. package/dist/routes/providers.js +63 -0
  441. package/dist/routes/providers.js.map +1 -0
  442. package/dist/routes/recents.d.ts +14 -0
  443. package/dist/routes/recents.d.ts.map +1 -0
  444. package/dist/routes/recents.js +82 -0
  445. package/dist/routes/recents.js.map +1 -0
  446. package/dist/routes/sessions.d.ts +26 -0
  447. package/dist/routes/sessions.d.ts.map +1 -0
  448. package/dist/routes/sessions.js +962 -0
  449. package/dist/routes/sessions.js.map +1 -0
  450. package/dist/routes/stream.d.ts +7 -0
  451. package/dist/routes/stream.d.ts.map +1 -0
  452. package/dist/routes/stream.js +561 -0
  453. package/dist/routes/stream.js.map +1 -0
  454. package/dist/routes/upload.d.ts +14 -0
  455. package/dist/routes/upload.d.ts.map +1 -0
  456. package/dist/routes/upload.js +278 -0
  457. package/dist/routes/upload.js.map +1 -0
  458. package/dist/sdk/cli-detection.d.ts +47 -0
  459. package/dist/sdk/cli-detection.d.ts.map +1 -0
  460. package/dist/sdk/cli-detection.js +122 -0
  461. package/dist/sdk/cli-detection.js.map +1 -0
  462. package/dist/sdk/messageLogger.d.ts +15 -0
  463. package/dist/sdk/messageLogger.d.ts.map +1 -0
  464. package/dist/sdk/messageLogger.js +68 -0
  465. package/dist/sdk/messageLogger.js.map +1 -0
  466. package/dist/sdk/messageQueue.d.ts +49 -0
  467. package/dist/sdk/messageQueue.d.ts.map +1 -0
  468. package/dist/sdk/messageQueue.js +186 -0
  469. package/dist/sdk/messageQueue.js.map +1 -0
  470. package/dist/sdk/mock.d.ts +16 -0
  471. package/dist/sdk/mock.d.ts.map +1 -0
  472. package/dist/sdk/mock.js +81 -0
  473. package/dist/sdk/mock.js.map +1 -0
  474. package/dist/sdk/providers/__mocks__/base.d.ts +78 -0
  475. package/dist/sdk/providers/__mocks__/base.d.ts.map +1 -0
  476. package/dist/sdk/providers/__mocks__/base.js +185 -0
  477. package/dist/sdk/providers/__mocks__/base.js.map +1 -0
  478. package/dist/sdk/providers/__mocks__/claude.d.ts +33 -0
  479. package/dist/sdk/providers/__mocks__/claude.d.ts.map +1 -0
  480. package/dist/sdk/providers/__mocks__/claude.js +146 -0
  481. package/dist/sdk/providers/__mocks__/claude.js.map +1 -0
  482. package/dist/sdk/providers/__mocks__/codex.d.ts +45 -0
  483. package/dist/sdk/providers/__mocks__/codex.d.ts.map +1 -0
  484. package/dist/sdk/providers/__mocks__/codex.js +160 -0
  485. package/dist/sdk/providers/__mocks__/codex.js.map +1 -0
  486. package/dist/sdk/providers/__mocks__/factory.d.ts +40 -0
  487. package/dist/sdk/providers/__mocks__/factory.d.ts.map +1 -0
  488. package/dist/sdk/providers/__mocks__/factory.js +183 -0
  489. package/dist/sdk/providers/__mocks__/factory.js.map +1 -0
  490. package/dist/sdk/providers/__mocks__/gemini.d.ts +43 -0
  491. package/dist/sdk/providers/__mocks__/gemini.d.ts.map +1 -0
  492. package/dist/sdk/providers/__mocks__/gemini.js +198 -0
  493. package/dist/sdk/providers/__mocks__/gemini.js.map +1 -0
  494. package/dist/sdk/providers/__mocks__/index.d.ts +23 -0
  495. package/dist/sdk/providers/__mocks__/index.d.ts.map +1 -0
  496. package/dist/sdk/providers/__mocks__/index.js +25 -0
  497. package/dist/sdk/providers/__mocks__/index.js.map +1 -0
  498. package/dist/sdk/providers/__mocks__/opencode.d.ts +33 -0
  499. package/dist/sdk/providers/__mocks__/opencode.d.ts.map +1 -0
  500. package/dist/sdk/providers/__mocks__/opencode.js +136 -0
  501. package/dist/sdk/providers/__mocks__/opencode.js.map +1 -0
  502. package/dist/sdk/providers/__mocks__/types.d.ts +50 -0
  503. package/dist/sdk/providers/__mocks__/types.d.ts.map +1 -0
  504. package/dist/sdk/providers/__mocks__/types.js +8 -0
  505. package/dist/sdk/providers/__mocks__/types.js.map +1 -0
  506. package/dist/sdk/providers/claude.d.ts +63 -0
  507. package/dist/sdk/providers/claude.d.ts.map +1 -0
  508. package/dist/sdk/providers/claude.js +252 -0
  509. package/dist/sdk/providers/claude.js.map +1 -0
  510. package/dist/sdk/providers/codex-oss.d.ts +108 -0
  511. package/dist/sdk/providers/codex-oss.d.ts.map +1 -0
  512. package/dist/sdk/providers/codex-oss.js +744 -0
  513. package/dist/sdk/providers/codex-oss.js.map +1 -0
  514. package/dist/sdk/providers/codex.d.ts +82 -0
  515. package/dist/sdk/providers/codex.d.ts.map +1 -0
  516. package/dist/sdk/providers/codex.js +597 -0
  517. package/dist/sdk/providers/codex.js.map +1 -0
  518. package/dist/sdk/providers/gemini.d.ts +78 -0
  519. package/dist/sdk/providers/gemini.d.ts.map +1 -0
  520. package/dist/sdk/providers/gemini.js +536 -0
  521. package/dist/sdk/providers/gemini.js.map +1 -0
  522. package/dist/sdk/providers/index.d.ts +22 -0
  523. package/dist/sdk/providers/index.d.ts.map +1 -0
  524. package/dist/sdk/providers/index.js +53 -0
  525. package/dist/sdk/providers/index.js.map +1 -0
  526. package/dist/sdk/providers/opencode.d.ts +95 -0
  527. package/dist/sdk/providers/opencode.d.ts.map +1 -0
  528. package/dist/sdk/providers/opencode.js +586 -0
  529. package/dist/sdk/providers/opencode.js.map +1 -0
  530. package/dist/sdk/providers/types.d.ts +99 -0
  531. package/dist/sdk/providers/types.d.ts.map +1 -0
  532. package/dist/sdk/providers/types.js +2 -0
  533. package/dist/sdk/providers/types.js.map +1 -0
  534. package/dist/sdk/real.d.ts +20 -0
  535. package/dist/sdk/real.d.ts.map +1 -0
  536. package/dist/sdk/real.js +22 -0
  537. package/dist/sdk/real.js.map +1 -0
  538. package/dist/sdk/types.d.ts +113 -0
  539. package/dist/sdk/types.d.ts.map +1 -0
  540. package/dist/sdk/types.js +3 -0
  541. package/dist/sdk/types.js.map +1 -0
  542. package/dist/sessions/Session.d.ts +80 -0
  543. package/dist/sessions/Session.d.ts.map +1 -0
  544. package/dist/sessions/Session.js +119 -0
  545. package/dist/sessions/Session.js.map +1 -0
  546. package/dist/sessions/codex-reader.d.ts +166 -0
  547. package/dist/sessions/codex-reader.d.ts.map +1 -0
  548. package/dist/sessions/codex-reader.js +664 -0
  549. package/dist/sessions/codex-reader.js.map +1 -0
  550. package/dist/sessions/dag.d.ts +62 -0
  551. package/dist/sessions/dag.d.ts.map +1 -0
  552. package/dist/sessions/dag.js +175 -0
  553. package/dist/sessions/dag.js.map +1 -0
  554. package/dist/sessions/fork.d.ts +34 -0
  555. package/dist/sessions/fork.d.ts.map +1 -0
  556. package/dist/sessions/fork.js +58 -0
  557. package/dist/sessions/fork.js.map +1 -0
  558. package/dist/sessions/gemini-reader.d.ts +103 -0
  559. package/dist/sessions/gemini-reader.d.ts.map +1 -0
  560. package/dist/sessions/gemini-reader.js +332 -0
  561. package/dist/sessions/gemini-reader.js.map +1 -0
  562. package/dist/sessions/normalization.d.ts +7 -0
  563. package/dist/sessions/normalization.d.ts.map +1 -0
  564. package/dist/sessions/normalization.js +429 -0
  565. package/dist/sessions/normalization.js.map +1 -0
  566. package/dist/sessions/opencode-reader.d.ts +99 -0
  567. package/dist/sessions/opencode-reader.d.ts.map +1 -0
  568. package/dist/sessions/opencode-reader.js +370 -0
  569. package/dist/sessions/opencode-reader.js.map +1 -0
  570. package/dist/sessions/reader.d.ts +118 -0
  571. package/dist/sessions/reader.d.ts.map +1 -0
  572. package/dist/sessions/reader.js +444 -0
  573. package/dist/sessions/reader.js.map +1 -0
  574. package/dist/sessions/types.d.ts +77 -0
  575. package/dist/sessions/types.d.ts.map +1 -0
  576. package/dist/sessions/types.js +8 -0
  577. package/dist/sessions/types.js.map +1 -0
  578. package/dist/supervisor/ExternalSessionTracker.d.ts +94 -0
  579. package/dist/supervisor/ExternalSessionTracker.d.ts.map +1 -0
  580. package/dist/supervisor/ExternalSessionTracker.js +507 -0
  581. package/dist/supervisor/ExternalSessionTracker.js.map +1 -0
  582. package/dist/supervisor/Process.d.ts +230 -0
  583. package/dist/supervisor/Process.d.ts.map +1 -0
  584. package/dist/supervisor/Process.js +878 -0
  585. package/dist/supervisor/Process.js.map +1 -0
  586. package/dist/supervisor/Supervisor.d.ts +191 -0
  587. package/dist/supervisor/Supervisor.d.ts.map +1 -0
  588. package/dist/supervisor/Supervisor.js +933 -0
  589. package/dist/supervisor/Supervisor.js.map +1 -0
  590. package/dist/supervisor/WorkerQueue.d.ts +113 -0
  591. package/dist/supervisor/WorkerQueue.d.ts.map +1 -0
  592. package/dist/supervisor/WorkerQueue.js +148 -0
  593. package/dist/supervisor/WorkerQueue.js.map +1 -0
  594. package/dist/supervisor/types.d.ts +176 -0
  595. package/dist/supervisor/types.d.ts.map +1 -0
  596. package/dist/supervisor/types.js +7 -0
  597. package/dist/supervisor/types.js.map +1 -0
  598. package/dist/testing/mockProjectData.d.ts +5 -0
  599. package/dist/testing/mockProjectData.d.ts.map +1 -0
  600. package/dist/testing/mockProjectData.js +27 -0
  601. package/dist/testing/mockProjectData.js.map +1 -0
  602. package/dist/uploads/index.d.ts +3 -0
  603. package/dist/uploads/index.d.ts.map +1 -0
  604. package/dist/uploads/index.js +2 -0
  605. package/dist/uploads/index.js.map +1 -0
  606. package/dist/uploads/manager.d.ts +84 -0
  607. package/dist/uploads/manager.d.ts.map +1 -0
  608. package/dist/uploads/manager.js +215 -0
  609. package/dist/uploads/manager.js.map +1 -0
  610. package/dist/utils/fileLock.d.ts +57 -0
  611. package/dist/utils/fileLock.d.ts.map +1 -0
  612. package/dist/utils/fileLock.js +91 -0
  613. package/dist/utils/fileLock.js.map +1 -0
  614. package/dist/watcher/BatchProcessor.d.ts +58 -0
  615. package/dist/watcher/BatchProcessor.d.ts.map +1 -0
  616. package/dist/watcher/BatchProcessor.js +105 -0
  617. package/dist/watcher/BatchProcessor.js.map +1 -0
  618. package/dist/watcher/EventBus.d.ts +157 -0
  619. package/dist/watcher/EventBus.d.ts.map +1 -0
  620. package/dist/watcher/EventBus.js +36 -0
  621. package/dist/watcher/EventBus.js.map +1 -0
  622. package/dist/watcher/FileWatcher.d.ts +42 -0
  623. package/dist/watcher/FileWatcher.d.ts.map +1 -0
  624. package/dist/watcher/FileWatcher.js +165 -0
  625. package/dist/watcher/FileWatcher.js.map +1 -0
  626. package/dist/watcher/SourceWatcher.d.ts +36 -0
  627. package/dist/watcher/SourceWatcher.d.ts.map +1 -0
  628. package/dist/watcher/SourceWatcher.js +97 -0
  629. package/dist/watcher/SourceWatcher.js.map +1 -0
  630. package/dist/watcher/index.d.ts +9 -0
  631. package/dist/watcher/index.d.ts.map +1 -0
  632. package/dist/watcher/index.js +5 -0
  633. package/dist/watcher/index.js.map +1 -0
  634. package/package.json +54 -0
  635. package/scripts/postinstall.js +48 -0
@@ -0,0 +1,444 @@
1
+ import { readFile, readdir, stat } from "node:fs/promises";
2
+ import { join } from "node:path";
3
+ import { SESSION_TITLE_MAX_LENGTH, isIdeMetadata, stripIdeMetadata, } from "@yep-anywhere/shared";
4
+ // Claude model context window size (200K tokens)
5
+ const CONTEXT_WINDOW_SIZE = 200_000;
6
+ import { getMessageContent, isConversationEntry, } from "@yep-anywhere/shared";
7
+ import { buildDag, findOrphanedToolUses } from "./dag.js";
8
+ /**
9
+ * Claude-specific session reader for Claude Code JSONL files.
10
+ *
11
+ * Handles Claude's DAG-based conversation structure with parentUuid,
12
+ * agent sessions, orphaned tool detection, and context window tracking.
13
+ */
14
+ export class ClaudeSessionReader {
15
+ sessionDir;
16
+ constructor(options) {
17
+ this.sessionDir = options.sessionDir;
18
+ }
19
+ async listSessions(projectId) {
20
+ const summaries = [];
21
+ try {
22
+ const files = await readdir(this.sessionDir);
23
+ // Filter out agent-* files (internal subagent warmup sessions)
24
+ const jsonlFiles = files.filter((f) => f.endsWith(".jsonl") && !f.startsWith("agent-"));
25
+ for (const file of jsonlFiles) {
26
+ const sessionId = file.replace(".jsonl", "");
27
+ const summary = await this.getSessionSummary(sessionId, projectId);
28
+ if (summary) {
29
+ summaries.push(summary);
30
+ }
31
+ }
32
+ }
33
+ catch {
34
+ // Directory doesn't exist or not readable
35
+ return [];
36
+ }
37
+ // Sort by updatedAt descending
38
+ summaries.sort((a, b) => new Date(b.updatedAt).getTime() - new Date(a.updatedAt).getTime());
39
+ return summaries;
40
+ }
41
+ async getSessionSummary(sessionId, projectId) {
42
+ const filePath = join(this.sessionDir, `${sessionId}.jsonl`);
43
+ try {
44
+ const content = await readFile(filePath, "utf-8");
45
+ const trimmed = content.trim();
46
+ // Skip empty files
47
+ if (!trimmed) {
48
+ return null;
49
+ }
50
+ const lines = trimmed.split("\n");
51
+ const messages = lines
52
+ .map((line) => {
53
+ try {
54
+ return JSON.parse(line);
55
+ }
56
+ catch {
57
+ return null;
58
+ }
59
+ })
60
+ .filter((m) => m !== null);
61
+ // Build DAG and get active branch (filters out dead branches from rewinds, etc.)
62
+ const { activeBranch } = buildDag(messages);
63
+ // Filter active branch to user/assistant messages only
64
+ const conversationMessages = activeBranch
65
+ .filter((node) => node.raw.type === "user" || node.raw.type === "assistant")
66
+ .map((node) => node.raw);
67
+ // Skip sessions with no actual conversation messages (metadata-only files).
68
+ // Note: Newly created sessions may not have user/assistant messages yet (SDK writes async).
69
+ // These are handled separately in the projects route by adding owned processes.
70
+ if (conversationMessages.length === 0) {
71
+ return null;
72
+ }
73
+ const stats = await stat(filePath);
74
+ const firstUserMessage = this.findFirstUserMessage(messages);
75
+ const fullTitle = firstUserMessage?.trim() || null;
76
+ const contextUsage = this.extractContextUsage(conversationMessages);
77
+ const model = this.extractModel(conversationMessages);
78
+ return {
79
+ id: sessionId,
80
+ projectId,
81
+ title: this.extractTitle(firstUserMessage),
82
+ fullTitle,
83
+ createdAt: stats.birthtime.toISOString(),
84
+ updatedAt: stats.mtime.toISOString(),
85
+ messageCount: conversationMessages.length,
86
+ status: { state: "idle" }, // Will be updated by Supervisor
87
+ contextUsage,
88
+ provider: "claude",
89
+ model,
90
+ };
91
+ }
92
+ catch {
93
+ return null;
94
+ }
95
+ }
96
+ async getSession(sessionId, projectId, afterMessageId, _options) {
97
+ const summary = await this.getSessionSummary(sessionId, projectId);
98
+ if (!summary)
99
+ return null;
100
+ const filePath = join(this.sessionDir, `${sessionId}.jsonl`);
101
+ const content = await readFile(filePath, "utf-8");
102
+ const lines = content.trim().split("\n");
103
+ const rawMessages = [];
104
+ for (const line of lines) {
105
+ try {
106
+ rawMessages.push(JSON.parse(line));
107
+ }
108
+ catch {
109
+ // Skip malformed lines
110
+ }
111
+ }
112
+ // Filter messages for incremental fetching if needed
113
+ // Note: Raw messages might not have UUIDs if they are old format or haven't been normalized.
114
+ // But typically they do.
115
+ let finalMessages = rawMessages;
116
+ if (afterMessageId) {
117
+ const afterIndex = rawMessages.findIndex((m) => "uuid" in m && m.uuid === afterMessageId);
118
+ if (afterIndex !== -1) {
119
+ finalMessages = rawMessages.slice(afterIndex + 1);
120
+ }
121
+ }
122
+ return {
123
+ summary,
124
+ data: {
125
+ provider: "claude",
126
+ session: {
127
+ messages: finalMessages,
128
+ },
129
+ },
130
+ };
131
+ }
132
+ /**
133
+ * Get agent session content for lazy-loading completed Tasks.
134
+ *
135
+ * Agent JSONL files are stored at: {sessionDir}/agent-{agentId}.jsonl
136
+ * They have the same format as parent session JSONL files.
137
+ *
138
+ * @param agentId - The agent session ID (used as filename: agent-{agentId}.jsonl)
139
+ * @returns Agent session with messages and inferred status
140
+ */
141
+ async getAgentSession(agentId) {
142
+ const filePath = join(this.sessionDir, `agent-${agentId}.jsonl`);
143
+ try {
144
+ const content = await readFile(filePath, "utf-8");
145
+ const trimmed = content.trim();
146
+ if (!trimmed) {
147
+ return { messages: [], status: "pending" };
148
+ }
149
+ const lines = trimmed.split("\n");
150
+ const rawMessages = [];
151
+ for (const line of lines) {
152
+ try {
153
+ rawMessages.push(JSON.parse(line));
154
+ }
155
+ catch {
156
+ // Skip malformed lines
157
+ }
158
+ }
159
+ // Build DAG and get active branch (filters out dead branches)
160
+ const { activeBranch } = buildDag(rawMessages);
161
+ // Don't include orphan detection for agent sessions
162
+ // (agents are subprocesses, we don't know their lifecycle)
163
+ const orphanedToolUses = new Set();
164
+ // Convert to Message objects
165
+ const messages = activeBranch.map((node, index) => this.convertMessage(node.raw, index, orphanedToolUses));
166
+ // Infer status from messages
167
+ const status = this.inferAgentStatus(messages);
168
+ return { messages, status };
169
+ }
170
+ catch {
171
+ // File doesn't exist or not readable - agent is pending
172
+ return { messages: [], status: "pending" };
173
+ }
174
+ }
175
+ /**
176
+ * Get mappings of toolUseId → agentId for all agent files in the session directory.
177
+ *
178
+ * This is used to find agent sessions for pending Tasks on page reload.
179
+ * It scans all agent-*.jsonl files and extracts the parent_tool_use_id from
180
+ * the first message or system message.
181
+ *
182
+ * @returns Array of toolUseId → agentId mappings
183
+ */
184
+ async getAgentMappings() {
185
+ const mappings = [];
186
+ try {
187
+ const files = await readdir(this.sessionDir);
188
+ const agentFiles = files.filter((f) => f.startsWith("agent-") && f.endsWith(".jsonl"));
189
+ for (const file of agentFiles) {
190
+ // Extract agentId from filename: agent-{agentId}.jsonl
191
+ const agentId = file.slice(6, -6); // Remove "agent-" prefix and ".jsonl" suffix
192
+ const filePath = join(this.sessionDir, file);
193
+ try {
194
+ const content = await readFile(filePath, "utf-8");
195
+ const trimmed = content.trim();
196
+ if (!trimmed)
197
+ continue;
198
+ // Check first few lines for parent_tool_use_id
199
+ const lines = trimmed.split("\n").slice(0, 5);
200
+ for (const line of lines) {
201
+ try {
202
+ const msg = JSON.parse(line);
203
+ if (msg.parent_tool_use_id) {
204
+ mappings.push({
205
+ toolUseId: msg.parent_tool_use_id,
206
+ agentId,
207
+ });
208
+ break;
209
+ }
210
+ }
211
+ catch {
212
+ // Skip malformed lines
213
+ }
214
+ }
215
+ }
216
+ catch {
217
+ // Skip unreadable files
218
+ }
219
+ }
220
+ }
221
+ catch {
222
+ // Directory doesn't exist or not readable
223
+ }
224
+ return mappings;
225
+ }
226
+ /**
227
+ * Infer agent status from its messages.
228
+ *
229
+ * Status inference:
230
+ * - pending: no messages
231
+ * - failed: last message has is_error or error type
232
+ * - completed: has a 'result' type message
233
+ * - running: has messages but no result (still in progress or interrupted)
234
+ */
235
+ inferAgentStatus(messages) {
236
+ if (messages.length === 0) {
237
+ return "pending";
238
+ }
239
+ // Look for result message
240
+ for (let i = messages.length - 1; i >= 0; i--) {
241
+ const msg = messages[i];
242
+ if (!msg)
243
+ continue;
244
+ // Check for result type message (SDK's final message)
245
+ if (msg.type === "result") {
246
+ // Check for error in result
247
+ if ("is_error" in msg && msg.is_error === true) {
248
+ return "failed";
249
+ }
250
+ return "completed";
251
+ }
252
+ }
253
+ // No result message - still running or interrupted
254
+ return "running";
255
+ }
256
+ findFirstUserMessage(messages) {
257
+ for (const msg of messages) {
258
+ if (msg.type === "user") {
259
+ const content = msg.message.content;
260
+ if (content) {
261
+ // Content can be string or array of content blocks
262
+ if (typeof content === "string") {
263
+ return this.extractTitleContent(content);
264
+ }
265
+ // Filter to object blocks only (skip string items), cast for compatibility
266
+ const objectBlocks = content.filter((b) => typeof b !== "string");
267
+ return this.extractTitleContent(objectBlocks);
268
+ }
269
+ }
270
+ }
271
+ return null;
272
+ }
273
+ /**
274
+ * Extract context usage from the last assistant message.
275
+ * Usage data is stored in message.usage with input_tokens, cache_read_input_tokens, etc.
276
+ */
277
+ extractContextUsage(messages) {
278
+ // Find the last assistant message (iterate backwards)
279
+ for (let i = messages.length - 1; i >= 0; i--) {
280
+ const msg = messages[i];
281
+ if (msg && msg.type === "assistant") {
282
+ const usage = msg.message.usage;
283
+ if (usage) {
284
+ // Total input = fresh tokens + cached tokens + new cache creation
285
+ const inputTokens = (usage.input_tokens ?? 0) +
286
+ (usage.cache_read_input_tokens ?? 0) +
287
+ (usage.cache_creation_input_tokens ?? 0);
288
+ // Skip messages with zero input tokens (incomplete streaming messages)
289
+ if (inputTokens === 0) {
290
+ continue;
291
+ }
292
+ const percentage = Math.round((inputTokens / CONTEXT_WINDOW_SIZE) * 100);
293
+ const result = { inputTokens, percentage };
294
+ // Add optional fields if available
295
+ if (usage.output_tokens !== undefined && usage.output_tokens > 0) {
296
+ result.outputTokens = usage.output_tokens;
297
+ }
298
+ if (usage.cache_read_input_tokens !== undefined &&
299
+ usage.cache_read_input_tokens > 0) {
300
+ result.cacheReadTokens = usage.cache_read_input_tokens;
301
+ }
302
+ if (usage.cache_creation_input_tokens !== undefined &&
303
+ usage.cache_creation_input_tokens > 0) {
304
+ result.cacheCreationTokens = usage.cache_creation_input_tokens;
305
+ }
306
+ return result;
307
+ }
308
+ }
309
+ }
310
+ return undefined;
311
+ }
312
+ /**
313
+ * Extract the model from the first assistant message.
314
+ * The model is stored in message.model (e.g., "claude-opus-4-5-20251101").
315
+ */
316
+ extractModel(messages) {
317
+ // Find the first assistant message with a model field
318
+ for (const msg of messages) {
319
+ if (msg.type === "assistant") {
320
+ const model = msg.message.model;
321
+ if (model) {
322
+ return model;
323
+ }
324
+ }
325
+ }
326
+ return undefined;
327
+ }
328
+ extractTitle(content) {
329
+ if (!content)
330
+ return null;
331
+ const trimmed = content.trim();
332
+ if (trimmed.length <= SESSION_TITLE_MAX_LENGTH)
333
+ return trimmed;
334
+ return `${trimmed.slice(0, SESSION_TITLE_MAX_LENGTH - 3)}...`;
335
+ }
336
+ extractContent(content) {
337
+ if (typeof content === "string")
338
+ return content;
339
+ return content
340
+ .filter((block) => block.type === "text" && typeof block.text === "string")
341
+ .map((block) => block.text)
342
+ .join("\n");
343
+ }
344
+ /**
345
+ * Extract content for title generation, skipping IDE metadata blocks.
346
+ * This ensures session titles show the actual user message, not IDE metadata
347
+ * like <ide_opened_file> or <ide_selection> tags.
348
+ */
349
+ extractTitleContent(content) {
350
+ if (typeof content === "string") {
351
+ return stripIdeMetadata(content);
352
+ }
353
+ return content
354
+ .filter((block) => block.type === "text" &&
355
+ typeof block.text === "string" &&
356
+ !isIdeMetadata(block.text))
357
+ .map((block) => block.text)
358
+ .join("\n");
359
+ }
360
+ /**
361
+ * Get session summary only if the file has changed since the cached values.
362
+ * Used by SessionIndexService for cache invalidation.
363
+ *
364
+ * @param sessionId - The session ID
365
+ * @param projectId - The project ID
366
+ * @param cachedMtime - The mtime (ms since epoch) from the cache
367
+ * @param cachedSize - The file size (bytes) from the cache
368
+ * @returns Summary with file stats if changed, null if unchanged
369
+ */
370
+ async getSessionSummaryIfChanged(sessionId, projectId, cachedMtime, cachedSize) {
371
+ const filePath = join(this.sessionDir, `${sessionId}.jsonl`);
372
+ try {
373
+ const stats = await stat(filePath);
374
+ const mtime = stats.mtimeMs;
375
+ const size = stats.size;
376
+ // If mtime and size match cached values, return null (no change)
377
+ if (mtime === cachedMtime && size === cachedSize) {
378
+ return null;
379
+ }
380
+ // Otherwise parse the file and return { summary, mtime, size }
381
+ const summary = await this.getSessionSummary(sessionId, projectId);
382
+ if (!summary)
383
+ return null;
384
+ return { summary, mtime, size };
385
+ }
386
+ catch {
387
+ return null; // File doesn't exist or error
388
+ }
389
+ }
390
+ /**
391
+ * Convert a raw JSONL message to our Message format.
392
+ *
393
+ * We pass through all fields from JSONL without stripping.
394
+ * This preserves debugging info, DAG structure, and metadata.
395
+ * The only transformation is:
396
+ * - Normalize content blocks (pass through all fields)
397
+ * - Add computed orphanedToolUseIds
398
+ */
399
+ convertMessage(raw, _index, orphanedToolUses = new Set()) {
400
+ // Normalize content blocks - pass through all fields
401
+ let content;
402
+ const rawContent = getMessageContent(raw);
403
+ if (typeof rawContent === "string") {
404
+ content = rawContent;
405
+ }
406
+ else if (Array.isArray(rawContent)) {
407
+ // Pass through all fields from each content block
408
+ // Filter out string items (which can appear in user message content)
409
+ content = rawContent
410
+ .filter((block) => typeof block !== "string")
411
+ .map((block) => ({ ...block }));
412
+ }
413
+ // Build message by spreading all raw fields, then override with normalized values
414
+ // Use type assertion since we're converting to a looser Message type
415
+ const rawAny = raw;
416
+ const message = {
417
+ ...rawAny,
418
+ // Include normalized content if message had content
419
+ ...(isConversationEntry(raw) && {
420
+ message: {
421
+ ...raw.message,
422
+ ...(content !== undefined && { content }),
423
+ },
424
+ }),
425
+ // Ensure type is set
426
+ type: raw.type,
427
+ };
428
+ // Identify orphaned tool_use IDs in this message's content
429
+ if (Array.isArray(content)) {
430
+ const orphanedIds = content
431
+ .filter((b) => b.type === "tool_use" &&
432
+ typeof b.id === "string" &&
433
+ orphanedToolUses.has(b.id))
434
+ .map((b) => b.id);
435
+ if (orphanedIds.length > 0) {
436
+ message.orphanedToolUseIds = orphanedIds;
437
+ }
438
+ }
439
+ return message;
440
+ }
441
+ }
442
+ /** @deprecated Use ClaudeSessionReader */
443
+ export const SessionReader = ClaudeSessionReader;
444
+ //# sourceMappingURL=reader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reader.js","sourceRoot":"","sources":["../../src/sessions/reader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Session reader interface for provider-agnostic session reading.
3
+ *
4
+ * Each provider (Claude, Codex, Gemini) has different JSONL formats,
5
+ * but all readers implement this interface to provide a common API.
6
+ */
7
+ import type { UnifiedSession, UrlProjectId } from "@yep-anywhere/shared";
8
+ import type { Message, SessionSummary } from "../supervisor/types.js";
9
+ /**
10
+ * Options for reading a session.
11
+ */
12
+ export interface GetSessionOptions {
13
+ /** Include orphaned tool use detection (default: true, only applicable for Claude) */
14
+ includeOrphans?: boolean;
15
+ }
16
+ export interface LoadedSession {
17
+ summary: SessionSummary;
18
+ data: UnifiedSession;
19
+ }
20
+ /**
21
+ * Common interface for session readers across providers.
22
+ *
23
+ * Provider-specific readers may have additional methods beyond this interface.
24
+ * For example, ClaudeSessionReader has getAgentSession() for subagent support.
25
+ */
26
+ export interface ISessionReader {
27
+ /**
28
+ * List all sessions in this reader's session directory.
29
+ */
30
+ listSessions(projectId: UrlProjectId): Promise<SessionSummary[]>;
31
+ /**
32
+ * Get summary metadata for a single session.
33
+ */
34
+ getSessionSummary(sessionId: string, projectId: UrlProjectId): Promise<SessionSummary | null>;
35
+ /**
36
+ * Get full session with messages.
37
+ * @param sessionId - The session ID
38
+ * @param projectId - The project ID
39
+ * @param afterMessageId - Only return messages after this ID (for incremental fetching)
40
+ * @param options - Additional options
41
+ */
42
+ getSession(sessionId: string, projectId: UrlProjectId, afterMessageId?: string, options?: GetSessionOptions): Promise<LoadedSession | null>;
43
+ /**
44
+ * Get session summary only if the file has changed since cached values.
45
+ * Used for cache invalidation.
46
+ *
47
+ * @param sessionId - The session ID
48
+ * @param projectId - The project ID
49
+ * @param cachedMtime - The mtime (ms since epoch) from the cache
50
+ * @param cachedSize - The file size (bytes) from the cache
51
+ * @returns Summary with file stats if changed, null if unchanged
52
+ */
53
+ getSessionSummaryIfChanged(sessionId: string, projectId: UrlProjectId, cachedMtime: number, cachedSize: number): Promise<{
54
+ summary: SessionSummary;
55
+ mtime: number;
56
+ size: number;
57
+ } | null>;
58
+ /**
59
+ * Get mappings from tool use IDs to agent session IDs.
60
+ * Used for Claude's Task tool to link tool_use to subagent sessions.
61
+ * Non-Claude providers should return an empty array.
62
+ */
63
+ getAgentMappings(): Promise<{
64
+ toolUseId: string;
65
+ agentId: string;
66
+ }[]>;
67
+ /**
68
+ * Get an agent (subagent) session by ID.
69
+ * Used for Claude's Task tool subagent sessions (agent-*.jsonl files).
70
+ * Non-Claude providers should return null.
71
+ */
72
+ getAgentSession(agentId: string): Promise<{
73
+ messages: Message[];
74
+ status: string;
75
+ } | null>;
76
+ }
77
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sessions/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,KAAK,EAAE,OAAO,EAAW,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,sFAAsF;IACtF,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAGD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE,cAAc,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAEjE;;OAEG;IACH,iBAAiB,CACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,YAAY,GACtB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAElC;;;;;;OAMG;IACH,UAAU,CACR,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,YAAY,EACvB,cAAc,CAAC,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAEjC;;;;;;;;;OASG;IACH,0BAA0B,CACxB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,YAAY,EACvB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;QAAE,OAAO,EAAE,cAAc,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAE5E;;;;OAIG;IACH,gBAAgB,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;IAEtE;;;;OAIG;IACH,eAAe,CACb,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;CAC5D"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Session reader interface for provider-agnostic session reading.
3
+ *
4
+ * Each provider (Claude, Codex, Gemini) has different JSONL formats,
5
+ * but all readers implement this interface to provide a common API.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/sessions/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,94 @@
1
+ import { type DirProjectId, type UrlProjectId } from "@yep-anywhere/shared";
2
+ import type { ProjectScanner } from "../projects/scanner.js";
3
+ import type { EventBus } from "../watcher/EventBus.js";
4
+ import type { Supervisor } from "./Supervisor.js";
5
+ import type { SessionSummary } from "./types.js";
6
+ export interface ExternalSessionTrackerOptions {
7
+ eventBus: EventBus;
8
+ supervisor: Supervisor;
9
+ scanner: ProjectScanner;
10
+ /** Time in ms before external status decays to idle (default: 30000) */
11
+ decayMs?: number;
12
+ /** Grace period in ms after abort before external detection resumes (default: 30000) */
13
+ abortGraceMs?: number;
14
+ /** Optional callback to get session summary for new external sessions */
15
+ getSessionSummary?: (sessionId: string, projectId: UrlProjectId) => Promise<SessionSummary | null>;
16
+ }
17
+ /**
18
+ * Tracks sessions that are being modified by external programs (not owned by this app).
19
+ *
20
+ * Uses file change events to detect when a session file is modified, then checks
21
+ * if we own that session via Supervisor. If not owned, marks as "external" until
22
+ * the decay timeout passes with no activity.
23
+ */
24
+ export declare class ExternalSessionTracker {
25
+ private externalSessions;
26
+ /** Sessions recently aborted by this server - grace period before external detection */
27
+ private recentlyAborted;
28
+ private eventBus;
29
+ private supervisor;
30
+ private scanner;
31
+ private decayMs;
32
+ private abortGraceMs;
33
+ private unsubscribe;
34
+ private getSessionSummary?;
35
+ /** Batches session parsing to prevent OOM from concurrent file reads */
36
+ private sessionParser;
37
+ /** Tracks sessions that have already emitted session-created */
38
+ private createdSessions;
39
+ /** Cache of last known session state for change detection */
40
+ private sessionStateCache;
41
+ constructor(options: ExternalSessionTrackerOptions);
42
+ private handleSessionAborted;
43
+ /**
44
+ * Check if a session is currently marked as external.
45
+ */
46
+ isExternal(sessionId: string): boolean;
47
+ /**
48
+ * Get info about an external session, or null if not external.
49
+ * Returns the directory-format projectId (for internal use only).
50
+ */
51
+ getExternalSessionInfo(sessionId: string): {
52
+ lastActivity: Date;
53
+ dirProjectId: DirProjectId;
54
+ } | null;
55
+ /**
56
+ * Get info about an external session with URL-format projectId.
57
+ * Use this for API responses and events.
58
+ */
59
+ getExternalSessionInfoWithUrlId(sessionId: string): Promise<{
60
+ lastActivity: Date;
61
+ projectId: UrlProjectId;
62
+ } | null>;
63
+ /**
64
+ * Mark a session as recently aborted. During the grace period, file changes
65
+ * won't trigger external session detection (they're from our own cleanup).
66
+ * Called by Supervisor when a process is aborted.
67
+ */
68
+ markAborted(sessionId: string): void;
69
+ /**
70
+ * Check if a session is within the abort grace period.
71
+ */
72
+ private isInAbortGracePeriod;
73
+ /**
74
+ * Get all currently external session IDs.
75
+ */
76
+ getExternalSessions(): string[];
77
+ /**
78
+ * Clean up resources.
79
+ */
80
+ dispose(): void;
81
+ private handleFileChange;
82
+ private parseSessionPath;
83
+ private handleCodexFileChange;
84
+ private extractCodexSessionId;
85
+ private readCodexProjectIdFromFile;
86
+ private readCodexSessionMeta;
87
+ private ensureCodexSessionCreated;
88
+ private markExternal;
89
+ private removeExternal;
90
+ private createDecayTimeout;
91
+ private emitStatusChangeByInfo;
92
+ private resolveProjectForSession;
93
+ }
94
+ //# sourceMappingURL=ExternalSessionTracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExternalSessionTracker.d.ts","sourceRoot":"","sources":["../../src/supervisor/ExternalSessionTracker.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EAElB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,KAAK,EAEV,QAAQ,EAMT,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAiB,cAAc,EAAE,MAAM,YAAY,CAAC;AAiBhE,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,cAAc,CAAC;IACxB,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wFAAwF;IACxF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,iBAAiB,CAAC,EAAE,CAClB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,YAAY,KACpB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CACrC;AAED;;;;;;GAMG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,gBAAgB,CAA+C;IACvE,wFAAwF;IACxF,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,iBAAiB,CAAC,CAGU;IACpC,wEAAwE;IACxE,OAAO,CAAC,aAAa,CAAwC;IAC7D,gEAAgE;IAChE,OAAO,CAAC,eAAe,CAA0B;IACjD,6DAA6D;IAC7D,OAAO,CAAC,iBAAiB,CAGX;gBAEF,OAAO,EAAE,6BAA6B;IAwHlD,OAAO,CAAC,oBAAoB;IAI5B;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAItC;;;OAGG;IACH,sBAAsB,CACpB,SAAS,EAAE,MAAM,GAChB;QAAE,YAAY,EAAE,IAAI,CAAC;QAAC,YAAY,EAAE,YAAY,CAAA;KAAE,GAAG,IAAI;IAO5D;;;OAGG;IACG,+BAA+B,CACnC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,YAAY,EAAE,IAAI,CAAC;QAAC,SAAS,EAAE,YAAY,CAAA;KAAE,GAAG,IAAI,CAAC;IAwBlE;;;;OAIG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAMpC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAa5B;;OAEG;IACH,mBAAmB,IAAI,MAAM,EAAE;IAI/B;;OAEG;IACH,OAAO,IAAI,IAAI;YAiBD,gBAAgB;IA4C9B,OAAO,CAAC,gBAAgB;YAqCV,qBAAqB;IA6BnC,OAAO,CAAC,qBAAqB;YAQf,0BAA0B;YAQ1B,oBAAoB;YAiCpB,yBAAyB;IAqCvC,OAAO,CAAC,YAAY;IAsDpB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,kBAAkB;YAWZ,sBAAsB;YA0CtB,wBAAwB;CAoBvC"}