devchain-cli 0.23.2 → 0.23.3

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 (257) hide show
  1. package/dist/drizzle/0083_retire_documents.sql +2 -0
  2. package/dist/drizzle/0084_retire_codebase_overview.sql +1 -0
  3. package/dist/drizzle/0085_clumsy_zodiak.sql +166 -0
  4. package/dist/drizzle/meta/0083_snapshot.json +7422 -0
  5. package/dist/drizzle/meta/0084_snapshot.json +7422 -0
  6. package/dist/drizzle/meta/0085_snapshot.json +7446 -0
  7. package/dist/drizzle/meta/_journal.json +21 -0
  8. package/dist/server/app.main.module.js +0 -4
  9. package/dist/server/app.main.module.js.map +1 -1
  10. package/dist/server/app.normal.module.js +0 -4
  11. package/dist/server/app.normal.module.js.map +1 -1
  12. package/dist/server/modules/epic-time/controllers/external-estimate-log.controller.d.ts +1 -0
  13. package/dist/server/modules/epic-time/controllers/external-estimate-log.controller.js +48 -0
  14. package/dist/server/modules/epic-time/controllers/external-estimate-log.controller.js.map +1 -1
  15. package/dist/server/modules/epic-time/models/epic-time.models.d.ts +10 -0
  16. package/dist/server/modules/epic-time/services/epic-estimate-logging.service.d.ts +4 -1
  17. package/dist/server/modules/epic-time/services/epic-estimate-logging.service.js +43 -1
  18. package/dist/server/modules/epic-time/services/epic-estimate-logging.service.js.map +1 -1
  19. package/dist/server/modules/epics/subscribers/epic-assignment-notifier.subscriber.d.ts +1 -0
  20. package/dist/server/modules/epics/subscribers/epic-assignment-notifier.subscriber.js +31 -1
  21. package/dist/server/modules/epics/subscribers/epic-assignment-notifier.subscriber.js.map +1 -1
  22. package/dist/server/modules/external-integrations/connections/stable-integration-connection.d.ts +14 -0
  23. package/dist/server/modules/external-integrations/connections/stable-integration-connection.js +56 -0
  24. package/dist/server/modules/external-integrations/connections/stable-integration-connection.js.map +1 -0
  25. package/dist/server/modules/external-integrations/my-work/external-edit-session.service.d.ts +2 -1
  26. package/dist/server/modules/external-integrations/my-work/external-edit-session.service.js +51 -33
  27. package/dist/server/modules/external-integrations/my-work/external-edit-session.service.js.map +1 -1
  28. package/dist/server/modules/external-integrations/my-work/external-my-work.controller.js +2 -2
  29. package/dist/server/modules/external-integrations/my-work/external-my-work.controller.js.map +1 -1
  30. package/dist/server/modules/external-integrations/my-work/external-my-work.openapi.d.ts +1 -0
  31. package/dist/server/modules/external-integrations/my-work/external-my-work.openapi.js +33 -1
  32. package/dist/server/modules/external-integrations/my-work/external-my-work.openapi.js.map +1 -1
  33. package/dist/server/modules/external-integrations/my-work/external-my-work.service.d.ts +1 -1
  34. package/dist/server/modules/external-integrations/my-work/external-my-work.service.js +41 -48
  35. package/dist/server/modules/external-integrations/my-work/external-my-work.service.js.map +1 -1
  36. package/dist/server/modules/external-integrations/my-work/external-time-mutation.service.js +24 -11
  37. package/dist/server/modules/external-integrations/my-work/external-time-mutation.service.js.map +1 -1
  38. package/dist/server/modules/external-integrations/sessions/external-edit-session.store.js +3 -1
  39. package/dist/server/modules/external-integrations/sessions/external-edit-session.store.js.map +1 -1
  40. package/dist/server/modules/mcp/constants.d.ts +0 -2
  41. package/dist/server/modules/mcp/constants.js +1 -11
  42. package/dist/server/modules/mcp/constants.js.map +1 -1
  43. package/dist/server/modules/mcp/dtos/mcp.dto.d.ts +0 -165
  44. package/dist/server/modules/mcp/dtos/mcp.dto.js +1 -47
  45. package/dist/server/modules/mcp/dtos/mcp.dto.js.map +1 -1
  46. package/dist/server/modules/mcp/services/instructions-resolver.d.ts +4 -13
  47. package/dist/server/modules/mcp/services/instructions-resolver.js +26 -166
  48. package/dist/server/modules/mcp/services/instructions-resolver.js.map +1 -1
  49. package/dist/server/modules/mcp/services/mappers/dto-mappers.d.ts +2 -4
  50. package/dist/server/modules/mcp/services/mappers/dto-mappers.js +0 -22
  51. package/dist/server/modules/mcp/services/mappers/dto-mappers.js.map +1 -1
  52. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js +1 -2
  53. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js.map +1 -1
  54. package/dist/server/modules/mcp/services/utils/resource-resolver.d.ts +2 -4
  55. package/dist/server/modules/mcp/services/utils/resource-resolver.js +0 -59
  56. package/dist/server/modules/mcp/services/utils/resource-resolver.js.map +1 -1
  57. package/dist/server/modules/mcp/tool-descriptors/index.js +0 -2
  58. package/dist/server/modules/mcp/tool-descriptors/index.js.map +1 -1
  59. package/dist/server/modules/mcp/tool-descriptors/runtime-bindings.js +0 -2
  60. package/dist/server/modules/mcp/tool-descriptors/runtime-bindings.js.map +1 -1
  61. package/dist/server/modules/projects/helpers/project-import.d.ts +0 -33
  62. package/dist/server/modules/projects/helpers/project-import.js +0 -224
  63. package/dist/server/modules/projects/helpers/project-import.js.map +1 -1
  64. package/dist/server/modules/projects/services/project-registry-import.service.d.ts +3 -6
  65. package/dist/server/modules/projects/services/project-registry-import.service.js +7 -28
  66. package/dist/server/modules/projects/services/project-registry-import.service.js.map +1 -1
  67. package/dist/server/modules/projects/template-codec/codecs/teams.codec.js.map +1 -1
  68. package/dist/server/modules/registry/controllers/registry.controller.js +3 -10
  69. package/dist/server/modules/registry/controllers/registry.controller.js.map +1 -1
  70. package/dist/server/modules/registry/services/registry-orchestration.service.d.ts +11 -3
  71. package/dist/server/modules/registry/services/registry-orchestration.service.js +6 -1
  72. package/dist/server/modules/registry/services/registry-orchestration.service.js.map +1 -1
  73. package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.d.ts +8 -0
  74. package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.js +9 -0
  75. package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.js.map +1 -1
  76. package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.d.ts +10 -0
  77. package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.js +13 -0
  78. package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.js.map +1 -1
  79. package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.d.ts +20 -1
  80. package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.js.map +1 -1
  81. package/dist/server/modules/session-reader/data/pricing.json +12 -11
  82. package/dist/server/modules/session-reader/parsers/bounded-line-read.d.ts +2 -0
  83. package/dist/server/modules/session-reader/parsers/bounded-line-read.js +66 -0
  84. package/dist/server/modules/session-reader/parsers/bounded-line-read.js.map +1 -0
  85. package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.d.ts +6 -0
  86. package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.js +44 -13
  87. package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.js.map +1 -1
  88. package/dist/server/modules/session-reader/parsers/codex-jsonl.parser.d.ts +22 -0
  89. package/dist/server/modules/session-reader/parsers/codex-jsonl.parser.js +61 -16
  90. package/dist/server/modules/session-reader/parsers/codex-jsonl.parser.js.map +1 -1
  91. package/dist/server/modules/session-reader/services/bounded-anchor-proof.d.ts +12 -0
  92. package/dist/server/modules/session-reader/services/bounded-anchor-proof.js +103 -0
  93. package/dist/server/modules/session-reader/services/bounded-anchor-proof.js.map +1 -0
  94. package/dist/server/modules/session-reader/services/metrics-merge.d.ts +17 -0
  95. package/dist/server/modules/session-reader/services/metrics-merge.js +114 -0
  96. package/dist/server/modules/session-reader/services/metrics-merge.js.map +1 -0
  97. package/dist/server/modules/session-reader/services/session-cache.service.d.ts +33 -4
  98. package/dist/server/modules/session-reader/services/session-cache.service.js +157 -144
  99. package/dist/server/modules/session-reader/services/session-cache.service.js.map +1 -1
  100. package/dist/server/modules/session-reader/services/session-reader.service.js +0 -1
  101. package/dist/server/modules/session-reader/services/session-reader.service.js.map +1 -1
  102. package/dist/server/modules/session-reader/services/transcript-watcher.service.d.ts +16 -0
  103. package/dist/server/modules/session-reader/services/transcript-watcher.service.js +370 -69
  104. package/dist/server/modules/session-reader/services/transcript-watcher.service.js.map +1 -1
  105. package/dist/server/modules/sessions/controllers/sessions.controller.d.ts +4 -1
  106. package/dist/server/modules/sessions/controllers/sessions.controller.js +32 -0
  107. package/dist/server/modules/sessions/controllers/sessions.controller.js.map +1 -1
  108. package/dist/server/modules/sessions/services/message-pool.types.d.ts +23 -0
  109. package/dist/server/modules/sessions/services/sessions-message-pool.service.d.ts +5 -2
  110. package/dist/server/modules/sessions/services/sessions-message-pool.service.js +82 -4
  111. package/dist/server/modules/sessions/services/sessions-message-pool.service.js.map +1 -1
  112. package/dist/server/modules/storage/db/schema.d.ts +57 -219
  113. package/dist/server/modules/storage/db/schema.js +15 -27
  114. package/dist/server/modules/storage/db/schema.js.map +1 -1
  115. package/dist/server/modules/storage/interfaces/storage.interface.d.ts +6 -23
  116. package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
  117. package/dist/server/modules/storage/local/delegates/external-estimate-log.delegate.d.ts +6 -1
  118. package/dist/server/modules/storage/local/delegates/external-estimate-log.delegate.js +163 -32
  119. package/dist/server/modules/storage/local/delegates/external-estimate-log.delegate.js.map +1 -1
  120. package/dist/server/modules/storage/local/delegates/external-managed-subtask.delegate.js +11 -1
  121. package/dist/server/modules/storage/local/delegates/external-managed-subtask.delegate.js.map +1 -1
  122. package/dist/server/modules/storage/local/delegates/integration.delegate.d.ts +1 -1
  123. package/dist/server/modules/storage/local/delegates/integration.delegate.js +17 -13
  124. package/dist/server/modules/storage/local/delegates/integration.delegate.js.map +1 -1
  125. package/dist/server/modules/storage/local/delegates/project.delegate.js +1 -10
  126. package/dist/server/modules/storage/local/delegates/project.delegate.js.map +1 -1
  127. package/dist/server/modules/storage/local/local-storage.service.d.ts +6 -9
  128. package/dist/server/modules/storage/local/local-storage.service.js +8 -22
  129. package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
  130. package/dist/server/modules/storage/models/domain.models.d.ts +14 -20
  131. package/dist/server/modules/storage/models/domain.models.js +2 -1
  132. package/dist/server/modules/storage/models/domain.models.js.map +1 -1
  133. package/dist/server/modules/terminal/services/human-prompt-state.service.d.ts +7 -0
  134. package/dist/server/modules/terminal/services/human-prompt-state.service.js +26 -0
  135. package/dist/server/modules/terminal/services/human-prompt-state.service.js.map +1 -1
  136. package/dist/server/modules/terminal/services/terminal-session/terminal-session.js +3 -2
  137. package/dist/server/modules/terminal/services/terminal-session/terminal-session.js.map +1 -1
  138. package/dist/server/modules/terminal/utils/terminal-activity.js +8 -1
  139. package/dist/server/modules/terminal/utils/terminal-activity.js.map +1 -1
  140. package/dist/server/templates/teams-dev.json +2 -2
  141. package/dist/server/tsconfig.tsbuildinfo +1 -1
  142. package/dist/server/ui/assets/{ExternalRichEditor-BnzvJiFh.js → ExternalRichEditor-akgwTdms.js} +24 -24
  143. package/dist/server/ui/assets/ReviewDetailPage-10JU-Gdr.js +1 -0
  144. package/dist/server/ui/assets/ReviewsPage-BIVn-pS5.js +6 -0
  145. package/dist/server/ui/assets/index-Bg8fZbSZ.css +32 -0
  146. package/dist/server/ui/assets/index-DHmiffN1.js +1000 -0
  147. package/dist/server/ui/assets/useReviewSubscription-Xua63feT.js +69 -0
  148. package/dist/server/ui/index.html +2 -2
  149. package/dist/templates/teams-dev.json +2 -2
  150. package/package.json +10 -1
  151. package/dist/server/modules/codebase-overview-analyzer/codebase-overview-analyzer.module.d.ts +0 -2
  152. package/dist/server/modules/codebase-overview-analyzer/codebase-overview-analyzer.module.js +0 -52
  153. package/dist/server/modules/codebase-overview-analyzer/codebase-overview-analyzer.module.js.map +0 -1
  154. package/dist/server/modules/codebase-overview-analyzer/controllers/codebase-overview.controller.d.ts +0 -30
  155. package/dist/server/modules/codebase-overview-analyzer/controllers/codebase-overview.controller.js +0 -230
  156. package/dist/server/modules/codebase-overview-analyzer/controllers/codebase-overview.controller.js.map +0 -1
  157. package/dist/server/modules/codebase-overview-analyzer/repositories/overview-scope.repository.d.ts +0 -24
  158. package/dist/server/modules/codebase-overview-analyzer/repositories/overview-scope.repository.js +0 -191
  159. package/dist/server/modules/codebase-overview-analyzer/repositories/overview-scope.repository.js.map +0 -1
  160. package/dist/server/modules/codebase-overview-analyzer/services/codebase-overview-analyzer.service.d.ts +0 -73
  161. package/dist/server/modules/codebase-overview-analyzer/services/codebase-overview-analyzer.service.js +0 -1133
  162. package/dist/server/modules/codebase-overview-analyzer/services/codebase-overview-analyzer.service.js.map +0 -1
  163. package/dist/server/modules/codebase-overview-analyzer/services/dependency-aggregation.service.d.ts +0 -14
  164. package/dist/server/modules/codebase-overview-analyzer/services/dependency-aggregation.service.js +0 -114
  165. package/dist/server/modules/codebase-overview-analyzer/services/dependency-aggregation.service.js.map +0 -1
  166. package/dist/server/modules/codebase-overview-analyzer/services/district-splitting.service.d.ts +0 -8
  167. package/dist/server/modules/codebase-overview-analyzer/services/district-splitting.service.js +0 -200
  168. package/dist/server/modules/codebase-overview-analyzer/services/district-splitting.service.js.map +0 -1
  169. package/dist/server/modules/codebase-overview-analyzer/services/evidence-query.service.d.ts +0 -11
  170. package/dist/server/modules/codebase-overview-analyzer/services/evidence-query.service.js +0 -164
  171. package/dist/server/modules/codebase-overview-analyzer/services/evidence-query.service.js.map +0 -1
  172. package/dist/server/modules/codebase-overview-analyzer/services/go-adapter.d.ts +0 -2
  173. package/dist/server/modules/codebase-overview-analyzer/services/go-adapter.js +0 -166
  174. package/dist/server/modules/codebase-overview-analyzer/services/go-adapter.js.map +0 -1
  175. package/dist/server/modules/codebase-overview-analyzer/services/hotspot-scoring.service.d.ts +0 -21
  176. package/dist/server/modules/codebase-overview-analyzer/services/hotspot-scoring.service.js +0 -253
  177. package/dist/server/modules/codebase-overview-analyzer/services/hotspot-scoring.service.js.map +0 -1
  178. package/dist/server/modules/codebase-overview-analyzer/services/identity-resolver.service.d.ts +0 -24
  179. package/dist/server/modules/codebase-overview-analyzer/services/identity-resolver.service.js +0 -98
  180. package/dist/server/modules/codebase-overview-analyzer/services/identity-resolver.service.js.map +0 -1
  181. package/dist/server/modules/codebase-overview-analyzer/services/java-adapter.d.ts +0 -2
  182. package/dist/server/modules/codebase-overview-analyzer/services/java-adapter.js +0 -155
  183. package/dist/server/modules/codebase-overview-analyzer/services/java-adapter.js.map +0 -1
  184. package/dist/server/modules/codebase-overview-analyzer/services/language-adapter-registry.service.d.ts +0 -19
  185. package/dist/server/modules/codebase-overview-analyzer/services/language-adapter-registry.service.js +0 -88
  186. package/dist/server/modules/codebase-overview-analyzer/services/language-adapter-registry.service.js.map +0 -1
  187. package/dist/server/modules/codebase-overview-analyzer/services/php-adapter.d.ts +0 -2
  188. package/dist/server/modules/codebase-overview-analyzer/services/php-adapter.js +0 -173
  189. package/dist/server/modules/codebase-overview-analyzer/services/php-adapter.js.map +0 -1
  190. package/dist/server/modules/codebase-overview-analyzer/services/python-adapter.d.ts +0 -2
  191. package/dist/server/modules/codebase-overview-analyzer/services/python-adapter.js +0 -171
  192. package/dist/server/modules/codebase-overview-analyzer/services/python-adapter.js.map +0 -1
  193. package/dist/server/modules/codebase-overview-analyzer/services/ruby-adapter.d.ts +0 -2
  194. package/dist/server/modules/codebase-overview-analyzer/services/ruby-adapter.js +0 -158
  195. package/dist/server/modules/codebase-overview-analyzer/services/ruby-adapter.js.map +0 -1
  196. package/dist/server/modules/codebase-overview-analyzer/services/rust-adapter.d.ts +0 -2
  197. package/dist/server/modules/codebase-overview-analyzer/services/rust-adapter.js +0 -222
  198. package/dist/server/modules/codebase-overview-analyzer/services/rust-adapter.js.map +0 -1
  199. package/dist/server/modules/codebase-overview-analyzer/services/scope-auto-detector.service.d.ts +0 -4
  200. package/dist/server/modules/codebase-overview-analyzer/services/scope-auto-detector.service.js +0 -72
  201. package/dist/server/modules/codebase-overview-analyzer/services/scope-auto-detector.service.js.map +0 -1
  202. package/dist/server/modules/codebase-overview-analyzer/services/scope-resolver.service.d.ts +0 -6
  203. package/dist/server/modules/codebase-overview-analyzer/services/scope-resolver.service.js +0 -37
  204. package/dist/server/modules/codebase-overview-analyzer/services/scope-resolver.service.js.map +0 -1
  205. package/dist/server/modules/codebase-overview-analyzer/services/typescript-adapter.d.ts +0 -2
  206. package/dist/server/modules/codebase-overview-analyzer/services/typescript-adapter.js +0 -108
  207. package/dist/server/modules/codebase-overview-analyzer/services/typescript-adapter.js.map +0 -1
  208. package/dist/server/modules/codebase-overview-analyzer/types/index.d.ts +0 -2
  209. package/dist/server/modules/codebase-overview-analyzer/types/index.js +0 -6
  210. package/dist/server/modules/codebase-overview-analyzer/types/index.js.map +0 -1
  211. package/dist/server/modules/codebase-overview-analyzer/types/overview.types.d.ts +0 -231
  212. package/dist/server/modules/codebase-overview-analyzer/types/overview.types.js +0 -3
  213. package/dist/server/modules/codebase-overview-analyzer/types/overview.types.js.map +0 -1
  214. package/dist/server/modules/codebase-overview-analyzer/types/scope-defaults.d.ts +0 -2
  215. package/dist/server/modules/codebase-overview-analyzer/types/scope-defaults.js +0 -13
  216. package/dist/server/modules/codebase-overview-analyzer/types/scope-defaults.js.map +0 -1
  217. package/dist/server/modules/codebase-overview-analyzer/types/scope.schema.d.ts +0 -54
  218. package/dist/server/modules/codebase-overview-analyzer/types/scope.schema.js +0 -27
  219. package/dist/server/modules/codebase-overview-analyzer/types/scope.schema.js.map +0 -1
  220. package/dist/server/modules/codebase-overview-analyzer/types/scope.types.d.ts +0 -12
  221. package/dist/server/modules/codebase-overview-analyzer/types/scope.types.js +0 -3
  222. package/dist/server/modules/codebase-overview-analyzer/types/scope.types.js.map +0 -1
  223. package/dist/server/modules/codebase-overview-analyzer/utils/constants.d.ts +0 -1
  224. package/dist/server/modules/codebase-overview-analyzer/utils/constants.js +0 -5
  225. package/dist/server/modules/codebase-overview-analyzer/utils/constants.js.map +0 -1
  226. package/dist/server/modules/codebase-overview-analyzer/utils/path-matcher.d.ts +0 -2
  227. package/dist/server/modules/codebase-overview-analyzer/utils/path-matcher.js +0 -17
  228. package/dist/server/modules/codebase-overview-analyzer/utils/path-matcher.js.map +0 -1
  229. package/dist/server/modules/documents/controllers/documents.controller.d.ts +0 -12
  230. package/dist/server/modules/documents/controllers/documents.controller.js +0 -174
  231. package/dist/server/modules/documents/controllers/documents.controller.js.map +0 -1
  232. package/dist/server/modules/documents/documents.module.d.ts +0 -2
  233. package/dist/server/modules/documents/documents.module.js +0 -22
  234. package/dist/server/modules/documents/documents.module.js.map +0 -1
  235. package/dist/server/modules/mcp/services/handlers/document-context.d.ts +0 -8
  236. package/dist/server/modules/mcp/services/handlers/document-context.js +0 -3
  237. package/dist/server/modules/mcp/services/handlers/document-context.js.map +0 -1
  238. package/dist/server/modules/mcp/services/handlers/document-tools.d.ts +0 -6
  239. package/dist/server/modules/mcp/services/handlers/document-tools.js +0 -109
  240. package/dist/server/modules/mcp/services/handlers/document-tools.js.map +0 -1
  241. package/dist/server/modules/mcp/services/utils/document-link-resolver.d.ts +0 -10
  242. package/dist/server/modules/mcp/services/utils/document-link-resolver.js +0 -124
  243. package/dist/server/modules/mcp/services/utils/document-link-resolver.js.map +0 -1
  244. package/dist/server/modules/mcp/tool-descriptors/document.bindings.d.ts +0 -1
  245. package/dist/server/modules/mcp/tool-descriptors/document.bindings.js +0 -19
  246. package/dist/server/modules/mcp/tool-descriptors/document.bindings.js.map +0 -1
  247. package/dist/server/modules/mcp/tool-descriptors/document.metadata.d.ts +0 -2
  248. package/dist/server/modules/mcp/tool-descriptors/document.metadata.js +0 -96
  249. package/dist/server/modules/mcp/tool-descriptors/document.metadata.js.map +0 -1
  250. package/dist/server/modules/storage/local/delegates/document.delegate.d.ts +0 -18
  251. package/dist/server/modules/storage/local/delegates/document.delegate.js +0 -275
  252. package/dist/server/modules/storage/local/delegates/document.delegate.js.map +0 -1
  253. package/dist/server/ui/assets/ReviewDetailPage-B6RB_uEX.js +0 -1
  254. package/dist/server/ui/assets/ReviewsPage-6iPnGQ1T.js +0 -6
  255. package/dist/server/ui/assets/index-CV8ydm7w.css +0 -32
  256. package/dist/server/ui/assets/index-DgajOeEy.js +0 -1197
  257. package/dist/server/ui/assets/useReviewSubscription-BfcypysB.js +0 -69
@@ -52,6 +52,9 @@ const session_cache_service_1 = require("./session-cache.service");
52
52
  const session_reader_adapter_factory_1 = require("../adapters/session-reader-adapter.factory");
53
53
  const events_service_1 = require("../../events/services/events.service");
54
54
  const chunk_builder_1 = require("../builders/chunk-builder");
55
+ const bounded_anchor_proof_1 = require("./bounded-anchor-proof");
56
+ const metrics_merge_1 = require("./metrics-merge");
57
+ const estimate_content_tokens_1 = require("../adapters/utils/estimate-content-tokens");
55
58
  const transcript_cursor_1 = require("./transcript-cursor");
56
59
  const transcript_truncation_1 = require("./transcript-truncation");
57
60
  const transcript_serialization_1 = require("./transcript-serialization");
@@ -78,6 +81,13 @@ function requiresCanonicalRefetch(sourceChangeKind) {
78
81
  function assertNever(value) {
79
82
  throw new Error(`Unhandled source change kind: ${String(value)}`);
80
83
  }
84
+ function toFreshnessSnapshot(stat) {
85
+ return {
86
+ size: stat.size,
87
+ mtimeMs: stat.mtime.getTime(),
88
+ fileIdentity: `${stat.dev}:${stat.ino}`,
89
+ };
90
+ }
81
91
  let TranscriptWatcherService = TranscriptWatcherService_1 = class TranscriptWatcherService {
82
92
  cacheService;
83
93
  adapterFactory;
@@ -146,6 +156,8 @@ let TranscriptWatcherService = TranscriptWatcherService_1 = class TranscriptWatc
146
156
  lastSourceVersion: 0,
147
157
  lastMetrics: { totalTokens: 0, inputTokens: 0, outputTokens: 0, costUsd: 0, messageCount: 0 },
148
158
  lastSummaryMetrics: null,
159
+ inLane: false,
160
+ costlyLanePass: false,
149
161
  };
150
162
  this.endingWatchers.delete(sessionId);
151
163
  this.watchers.set(sessionId, state);
@@ -180,14 +192,17 @@ let TranscriptWatcherService = TranscriptWatcherService_1 = class TranscriptWatc
180
192
  }
181
193
  try {
182
194
  if (adapter && (sourceKind === 'db' || (stat && stat.size > 0))) {
183
- const { session, sourceVersion } = await this.cacheService.getOrParseWithMeta(sessionId, sourceRef ?? filePath, adapter);
195
+ const seeded = this.isLaneEligible(adapter) && !this.cacheService.getEntry(sessionId)
196
+ ? await this.buildLaneFromSummary(state, adapter)
197
+ : false;
184
198
  if (!this.isCurrent(state))
185
199
  return;
186
- state.lastMessageCount = session.metrics.messageCount;
187
- state.lastChunkCount = (0, chunk_builder_1.buildChunks)(session.messages).length;
188
- state.lastSourceVersion = sourceVersion;
189
- state.lastMetrics = this.toMetricsSnapshot(session.metrics);
190
- state.lastSummaryMetrics = session.metrics;
200
+ if (!seeded) {
201
+ const result = await this.cacheService.getOrParseWithMeta(sessionId, sourceRef ?? filePath, adapter);
202
+ if (!this.isCurrent(state))
203
+ return;
204
+ this.applyBodyResultToState(state, adapter, result, stat);
205
+ }
191
206
  if (sourceRef && adapter.getFreshnessToken) {
192
207
  const token = await adapter.getFreshnessToken(sourceRef);
193
208
  if (!this.isCurrent(state))
@@ -236,9 +251,14 @@ let TranscriptWatcherService = TranscriptWatcherService_1 = class TranscriptWatc
236
251
  try {
237
252
  const adapter = this.adapterFactory.getAdapter(providerName);
238
253
  if (adapter) {
239
- const source = state.sourceKind === 'db' && state.sourceRef ? state.sourceRef : filePath;
240
- const session = await this.cacheService.getOrParse(sessionId, source, adapter);
241
- finalMetrics = this.toMetricsSnapshot(session.metrics);
254
+ if (this.isLaneEligible(adapter) && !this.cacheService.getEntry(sessionId)) {
255
+ finalMetrics = await this.finalizeLaneMetrics(state, adapter, lastMetrics);
256
+ }
257
+ else {
258
+ const source = state.sourceKind === 'db' && state.sourceRef ? state.sourceRef : filePath;
259
+ const session = await this.cacheService.getOrParse(sessionId, source, adapter);
260
+ finalMetrics = this.toMetricsSnapshot(session.metrics);
261
+ }
242
262
  }
243
263
  }
244
264
  catch (error) {
@@ -279,6 +299,10 @@ let TranscriptWatcherService = TranscriptWatcherService_1 = class TranscriptWatc
279
299
  isCurrent(state) {
280
300
  return this.watchers.get(state.sessionId) === state;
281
301
  }
302
+ laneOwned(state, ending) {
303
+ const map = ending ? this.endingWatchers : this.watchers;
304
+ return map.get(state.sessionId) === state;
305
+ }
282
306
  requestRefresh(state, poll = false) {
283
307
  if (!this.isCurrent(state))
284
308
  return;
@@ -287,20 +311,29 @@ let TranscriptWatcherService = TranscriptWatcherService_1 = class TranscriptWatc
287
311
  return;
288
312
  const remaining = state.nextEligibleAt - performance.now();
289
313
  if (poll && remaining <= 0) {
290
- void this.runRefresh(state, true);
314
+ this.launchRefresh(state, true);
291
315
  return;
292
316
  }
293
317
  const delay = remaining > 0 ? remaining : DEBOUNCE_MS;
294
318
  state.debounceTimer = setTimeout(() => {
295
319
  state.debounceTimer = null;
296
- void this.runRefresh(state, false);
320
+ this.launchRefresh(state, false);
297
321
  }, delay);
298
322
  }
323
+ launchRefresh(state, poll) {
324
+ const pass = this.runRefresh(state, poll);
325
+ state.activeRefresh = pass;
326
+ void pass.finally(() => {
327
+ if (state.activeRefresh === pass)
328
+ state.activeRefresh = undefined;
329
+ });
330
+ }
299
331
  async runRefresh(state, poll) {
300
332
  if (!this.isCurrent(state))
301
333
  return;
302
334
  state.active = true;
303
335
  state.pending = false;
336
+ state.costlyLanePass = false;
304
337
  const startedAt = performance.now();
305
338
  try {
306
339
  if (poll) {
@@ -324,10 +357,8 @@ let TranscriptWatcherService = TranscriptWatcherService_1 = class TranscriptWatc
324
357
  state.active = false;
325
358
  if (!poll && state.sourceKind === 'file') {
326
359
  const completedAt = performance.now();
327
- state.nextEligibleAt =
328
- completedAt - startedAt >= COSTLY_REFRESH_MS
329
- ? completedAt + FILE_REFRESH_COOLDOWN_MS
330
- : 0;
360
+ const costly = completedAt - startedAt >= COSTLY_REFRESH_MS || state.costlyLanePass;
361
+ state.nextEligibleAt = costly ? completedAt + FILE_REFRESH_COOLDOWN_MS : 0;
331
362
  }
332
363
  if (state.pending)
333
364
  this.requestRefresh(state);
@@ -434,68 +465,338 @@ let TranscriptWatcherService = TranscriptWatcherService_1 = class TranscriptWatc
434
465
  this.logger.error({ sessionId, providerName: state.providerName }, 'No adapter found');
435
466
  return;
436
467
  }
437
- const { session, sourceChangeKind, sourceVersion, boundaryFold } = await this.cacheService.getOrParseWithMeta(sessionId, state.filePath, adapter);
468
+ if (this.isLaneEligible(adapter)) {
469
+ const outcome = await this.cacheService.refreshIfPresent(sessionId, state.filePath, adapter);
470
+ if (!this.isCurrent(state))
471
+ return;
472
+ if (!outcome.present) {
473
+ const last = outcome.lastFullParse;
474
+ const readerPaidCostlyFullParse = last !== undefined &&
475
+ last.seq !== state.lastFullParseSeqSeen &&
476
+ last.durationMs >= COSTLY_REFRESH_MS;
477
+ state.lastFullParseSeqSeen = last?.seq;
478
+ await this.runFileLane(state, stat, adapter, isReplacement, {
479
+ readerPaidCostlyFullParse,
480
+ });
481
+ return;
482
+ }
483
+ if (state.inLane) {
484
+ state.lastSourceVersion = outcome.preParse.sourceVersion;
485
+ state.lastMessageCount = outcome.preParse.messageCount;
486
+ state.lastChunkCount = outcome.preParse.chunkCount;
487
+ state.inLane = false;
488
+ }
489
+ await this.publishBodyResult(state, stat, adapter, outcome.result, isReplacement);
490
+ return;
491
+ }
492
+ const result = await this.cacheService.getOrParseWithMeta(sessionId, state.filePath, adapter);
438
493
  if (!this.isCurrent(state))
439
494
  return;
440
- const changedCacheHit = sourceChangeKind === 'cache-hit' && sourceVersion !== state.lastSourceVersion;
441
- const newMessageCount = session.metrics.messageCount - state.lastMessageCount;
442
- const isFullRefresh = isReplacement || session.metrics.messageCount < state.lastMessageCount;
443
- if (isFullRefresh) {
444
- this.logger.debug({
445
- sessionId,
446
- isReplacement,
447
- previousMessageCount: state.lastMessageCount,
448
- messageCount: session.metrics.messageCount,
449
- }, 'Transcript source replaced or messageCount deflated — requiring canonical refetch');
495
+ await this.publishBodyResult(state, stat, adapter, result, isReplacement);
496
+ }
497
+ catch (error) {
498
+ this.logger.error({ error, sessionId }, 'File change handler failed — watcher continues');
499
+ }
500
+ }
501
+ isLaneEligible(adapter) {
502
+ return (adapter.sourceKind ?? 'file') === 'file' && adapter.incrementalMode === 'delta';
503
+ }
504
+ laneRef(state) {
505
+ return (state.sourceRef ?? {
506
+ filePath: state.filePath,
507
+ providerName: state.providerName,
508
+ kind: 'file',
509
+ });
510
+ }
511
+ async laneFreshness(filePath) {
512
+ try {
513
+ return toFreshnessSnapshot(await fsPromises.stat(filePath));
514
+ }
515
+ catch {
516
+ return undefined;
517
+ }
518
+ }
519
+ async tryHashAnchors(filePath, expected, offset, allowGrowth = false) {
520
+ try {
521
+ return await (0, bounded_anchor_proof_1.hashFileAnchors)(filePath, expected, offset, allowGrowth);
522
+ }
523
+ catch (error) {
524
+ this.logger.debug({ error, filePath }, 'Lane anchor proof unavailable — rescanning');
525
+ return undefined;
526
+ }
527
+ }
528
+ async buildLaneFromSummary(state, adapter, ending = false) {
529
+ if (!adapter.getSummary)
530
+ return false;
531
+ const summary = await adapter.getSummary(this.laneRef(state));
532
+ if (!this.laneOwned(state, ending))
533
+ return true;
534
+ if (!summary?.laneSeed)
535
+ return false;
536
+ const seed = summary.laneSeed;
537
+ const fresh = await this.laneFreshness(state.filePath);
538
+ if (!this.laneOwned(state, ending))
539
+ return true;
540
+ const anchors = fresh
541
+ ? await this.tryHashAnchors(state.filePath, fresh, seed.endOffset)
542
+ : undefined;
543
+ if (!this.laneOwned(state, ending))
544
+ return true;
545
+ state.lane = {
546
+ offset: seed.endOffset,
547
+ anchors,
548
+ fileIdentity: fresh?.fileIdentity,
549
+ revision: fresh?.mtimeMs,
550
+ metrics: { ...summary.metrics },
551
+ tail: seed.tail,
552
+ visibleContextTokens: seed.visibleContextTokens,
553
+ firstMessageTimestamp: seed.firstMessageTimestamp,
554
+ lastMessageTimestamp: seed.lastMessageTimestamp,
555
+ continuationState: seed.continuationState,
556
+ messageCount: seed.messageCount,
557
+ };
558
+ state.inLane = true;
559
+ this.applyLaneToState(state);
560
+ return true;
561
+ }
562
+ markStatConsumed(state, stat) {
563
+ state.lastSize = stat.size;
564
+ state.lastDev = stat.dev;
565
+ state.lastIno = stat.ino;
566
+ state.replacementPending = false;
567
+ }
568
+ applyLaneToState(state) {
569
+ const lane = state.lane;
570
+ if (!lane)
571
+ return;
572
+ state.lastMessageCount = lane.messageCount;
573
+ state.lastMetrics = this.toMetricsSnapshot(lane.metrics);
574
+ state.lastSummaryMetrics = lane.metrics;
575
+ }
576
+ refreshLaneFromResult(state, result, stat) {
577
+ const msgs = result.session.messages;
578
+ const last = msgs[msgs.length - 1];
579
+ const visibleContextTokens = result.sourceChangeKind === 'same-file-append'
580
+ ? result.session.metrics.visibleContextTokens
581
+ : (0, estimate_content_tokens_1.estimateVisibleFromMessages)(msgs);
582
+ const fresh = toFreshnessSnapshot(stat);
583
+ state.lane = {
584
+ offset: result.lastOffset,
585
+ anchors: result.fileContentAnchors,
586
+ fileIdentity: fresh.fileIdentity,
587
+ revision: fresh.mtimeMs,
588
+ metrics: result.session.metrics,
589
+ tail: (0, metrics_merge_1.describeTail)(last),
590
+ visibleContextTokens,
591
+ firstMessageTimestamp: msgs.length > 0 ? msgs[0].timestamp.getTime() : undefined,
592
+ lastMessageTimestamp: last ? last.timestamp.getTime() : undefined,
593
+ continuationState: result.continuationState,
594
+ messageCount: msgs.length,
595
+ };
596
+ }
597
+ advanceVisible(base, messages) {
598
+ let visible = base;
599
+ for (const m of messages) {
600
+ if (m.isCompactSummary) {
601
+ visible = 0;
602
+ continue;
450
603
  }
451
- const chunks = (0, chunk_builder_1.buildChunks)(session.messages);
452
- const prevCursor = (0, transcript_cursor_1.encodeCursor)(state.lastSourceVersion, state.lastMessageCount, state.lastChunkCount);
453
- const cursor = (0, transcript_cursor_1.encodeCursor)(sourceVersion, session.metrics.messageCount, chunks.length);
454
- const replaceFromChunkIndex = isFullRefresh ? 0 : Math.max(0, state.lastChunkCount - 1);
455
- const sliceFromMessage = isFullRefresh ? 0 : state.lastMessageCount;
456
- const newChunkIds = chunks.slice(replaceFromChunkIndex).map((c) => c.id);
457
- const truncatedDeltaMessages = (0, transcript_truncation_1.truncateMessages)(session.messages.slice(sliceFromMessage));
458
- const truncatedDeltaChunks = (0, transcript_truncation_1.truncateChunks)(chunks.slice(replaceFromChunkIndex));
459
- const deltaChunks = truncatedDeltaChunks.map(transcript_serialization_1.serializeChunk);
460
- const deltaMessages = truncatedDeltaMessages.map(transcript_serialization_1.serializeMessage);
461
- state.lastSize = stat.size;
462
- state.lastSourceVersion = sourceVersion;
463
- state.lastDev = stat.dev;
464
- state.lastIno = stat.ino;
465
- state.replacementPending = false;
466
- state.lastMessageCount = session.metrics.messageCount;
467
- state.lastChunkCount = chunks.length;
468
- state.lastMetrics = this.toMetricsSnapshot(session.metrics);
469
- state.lastSummaryMetrics = session.metrics;
470
- if (isReplacement || changedCacheHit || requiresCanonicalRefetch(sourceChangeKind)) {
471
- await this.events.publish('session.transcript.updated', {
472
- kind: 'full-refetch-required',
473
- sessionId,
474
- transcriptPath: state.filePath,
475
- sourceChangeKind,
604
+ if (m.isSidechain)
605
+ continue;
606
+ visible += (0, estimate_content_tokens_1.estimateMessageTokens)(m.content);
607
+ }
608
+ return visible;
609
+ }
610
+ advanceLaneWithSlice(lane, slice, proofAnchors, fresh) {
611
+ const newMessages = slice.entries;
612
+ const fold = (0, metrics_merge_1.computeLeadingContinuationFold)(lane.tail, newMessages);
613
+ const netNew = newMessages.length - fold.foldCount;
614
+ const newCount = lane.messageCount + netNew;
615
+ const newVisible = this.advanceVisible(lane.visibleContextTokens, newMessages);
616
+ const firstTs = lane.firstMessageTimestamp ??
617
+ (newMessages.length > 0 ? newMessages[0].timestamp.getTime() : undefined);
618
+ const lastTs = netNew > 0
619
+ ? newMessages[newMessages.length - 1].timestamp.getTime()
620
+ : lane.lastMessageTimestamp;
621
+ let durationMs = lane.metrics.durationMs;
622
+ if (newCount >= 2 && firstTs !== undefined && lastTs !== undefined) {
623
+ durationMs = lastTs - firstTs;
624
+ }
625
+ const derived = { messageCount: newCount, visibleContextTokens: newVisible, durationMs };
626
+ lane.metrics = slice.metrics
627
+ ? (0, metrics_merge_1.mergeMetrics)(lane.metrics, slice.metrics, derived)
628
+ : { ...lane.metrics, ...derived };
629
+ lane.offset = slice.nextByteOffset;
630
+ lane.anchors = proofAnchors;
631
+ lane.fileIdentity = fresh.fileIdentity;
632
+ lane.revision = fresh.mtimeMs;
633
+ lane.tail = fold.newTail;
634
+ lane.visibleContextTokens = newVisible;
635
+ lane.firstMessageTimestamp = firstTs;
636
+ lane.lastMessageTimestamp = lastTs;
637
+ lane.continuationState = slice.continuationState;
638
+ lane.messageCount = newCount;
639
+ return netNew > 0 || fold.tailMutatedWithoutNewMessage;
640
+ }
641
+ async runFileLane(state, stat, adapter, isReplacement, { readerPaidCostlyFullParse = false, ending = false, } = {}) {
642
+ state.inLane = true;
643
+ const fresh = toFreshnessSnapshot(stat);
644
+ const lane = state.lane;
645
+ if (!isReplacement &&
646
+ lane !== undefined &&
647
+ lane.fileIdentity === fresh.fileIdentity &&
648
+ lane.revision === fresh.mtimeMs &&
649
+ fresh.size === lane.offset) {
650
+ this.markStatConsumed(state, stat);
651
+ return;
652
+ }
653
+ const canAppend = !isReplacement &&
654
+ lane !== undefined &&
655
+ lane.anchors !== undefined &&
656
+ lane.fileIdentity === fresh.fileIdentity &&
657
+ fresh.size > lane.offset;
658
+ let advanced = false;
659
+ let changed = false;
660
+ if (canAppend && lane) {
661
+ const preAnchors = await this.tryHashAnchors(state.filePath, fresh, lane.offset);
662
+ if (!this.laneOwned(state, ending))
663
+ return;
664
+ if ((0, bounded_anchor_proof_1.anchorsEqual)(preAnchors, lane.anchors)) {
665
+ const slice = await adapter.parseIncremental(state.filePath, {
666
+ byteOffset: lane.offset,
667
+ endByteOffset: fresh.size,
668
+ includeToolCalls: true,
669
+ continuationState: lane.continuationState,
476
670
  });
671
+ if (!this.laneOwned(state, ending))
672
+ return;
673
+ const newOffset = slice.nextByteOffset;
674
+ const prefixHeld = newOffset >= lane.offset &&
675
+ (0, bounded_anchor_proof_1.anchorsEqual)(await this.tryHashAnchors(state.filePath, fresh, lane.offset, true), lane.anchors);
676
+ if (!this.laneOwned(state, ending))
677
+ return;
678
+ const proofAnchors = prefixHeld
679
+ ? await this.tryHashAnchors(state.filePath, fresh, newOffset, true)
680
+ : undefined;
681
+ if (!this.laneOwned(state, ending))
682
+ return;
683
+ if (proofAnchors) {
684
+ changed = this.advanceLaneWithSlice(lane, slice, proofAnchors, fresh);
685
+ advanced = true;
686
+ }
687
+ }
688
+ }
689
+ if (!advanced) {
690
+ const reseeded = await this.buildLaneFromSummary(state, adapter, ending);
691
+ if (!this.laneOwned(state, ending))
477
692
  return;
693
+ if (!reseeded)
694
+ return;
695
+ changed = true;
696
+ }
697
+ this.markStatConsumed(state, stat);
698
+ this.applyLaneToState(state);
699
+ if (changed && !ending) {
700
+ if (readerPaidCostlyFullParse)
701
+ state.costlyLanePass = true;
702
+ await this.events.publish('session.transcript.updated', {
703
+ kind: 'full-refetch-required',
704
+ sessionId: state.sessionId,
705
+ transcriptPath: state.filePath,
706
+ sourceChangeKind: 'unknown-full-parse',
707
+ });
708
+ }
709
+ }
710
+ async finalizeLaneMetrics(state, adapter, fallback) {
711
+ const statIfOwned = async () => {
712
+ try {
713
+ const stat = await fsPromises.stat(state.filePath);
714
+ return this.laneOwned(state, true) ? stat : undefined;
478
715
  }
479
- const isInPlaceTailFold = boundaryFold && newMessageCount === 0 && !isFullRefresh;
480
- if (newMessageCount > 0 || isFullRefresh || isInPlaceTailFold) {
481
- await this.events.publish('session.transcript.updated', {
482
- kind: 'delta',
483
- sessionId,
484
- transcriptPath: state.filePath,
485
- newMessageCount: Math.max(0, newMessageCount),
486
- metrics: state.lastMetrics,
487
- cursor,
488
- prevCursor,
489
- replaceFromChunkIndex,
490
- newChunkIds,
491
- totalChunkCount: chunks.length,
492
- deltaChunks,
493
- deltaMessages,
494
- });
716
+ catch {
717
+ return undefined;
495
718
  }
719
+ };
720
+ let stat = await statIfOwned();
721
+ if (!stat)
722
+ return fallback;
723
+ const inflight = state.activeRefresh;
724
+ if (inflight) {
725
+ await inflight.catch(() => undefined);
726
+ stat = await statIfOwned();
727
+ if (!stat)
728
+ return fallback;
729
+ }
730
+ await this.runFileLane(state, stat, adapter, false, { ending: true });
731
+ return this.laneOwned(state, true) ? state.lastMetrics : fallback;
732
+ }
733
+ applyBodyResultToState(state, adapter, result, stat) {
734
+ state.lastMessageCount = result.session.metrics.messageCount;
735
+ state.lastChunkCount = (0, chunk_builder_1.buildChunks)(result.session.messages).length;
736
+ state.lastSourceVersion = result.sourceVersion;
737
+ state.lastMetrics = this.toMetricsSnapshot(result.session.metrics);
738
+ state.lastSummaryMetrics = result.session.metrics;
739
+ state.inLane = false;
740
+ if (stat && this.isLaneEligible(adapter))
741
+ this.refreshLaneFromResult(state, result, stat);
742
+ }
743
+ async publishBodyResult(state, stat, adapter, result, isReplacement) {
744
+ const { sessionId } = state;
745
+ const { session, sourceChangeKind, sourceVersion, boundaryFold } = result;
746
+ const changedCacheHit = sourceChangeKind === 'cache-hit' && sourceVersion !== state.lastSourceVersion;
747
+ const newMessageCount = session.metrics.messageCount - state.lastMessageCount;
748
+ const isFullRefresh = isReplacement || session.metrics.messageCount < state.lastMessageCount;
749
+ if (isFullRefresh) {
750
+ this.logger.debug({
751
+ sessionId,
752
+ isReplacement,
753
+ previousMessageCount: state.lastMessageCount,
754
+ messageCount: session.metrics.messageCount,
755
+ }, 'Transcript source replaced or messageCount deflated — requiring canonical refetch');
756
+ }
757
+ const chunks = (0, chunk_builder_1.buildChunks)(session.messages);
758
+ const prevCursor = (0, transcript_cursor_1.encodeCursor)(state.lastSourceVersion, state.lastMessageCount, state.lastChunkCount);
759
+ const cursor = (0, transcript_cursor_1.encodeCursor)(sourceVersion, session.metrics.messageCount, chunks.length);
760
+ const replaceFromChunkIndex = isFullRefresh ? 0 : Math.max(0, state.lastChunkCount - 1);
761
+ const sliceFromMessage = isFullRefresh ? 0 : state.lastMessageCount;
762
+ const newChunkIds = chunks.slice(replaceFromChunkIndex).map((c) => c.id);
763
+ const truncatedDeltaMessages = (0, transcript_truncation_1.truncateMessages)(session.messages.slice(sliceFromMessage));
764
+ const truncatedDeltaChunks = (0, transcript_truncation_1.truncateChunks)(chunks.slice(replaceFromChunkIndex));
765
+ const deltaChunks = truncatedDeltaChunks.map(transcript_serialization_1.serializeChunk);
766
+ const deltaMessages = truncatedDeltaMessages.map(transcript_serialization_1.serializeMessage);
767
+ this.markStatConsumed(state, stat);
768
+ state.lastSourceVersion = sourceVersion;
769
+ state.lastMessageCount = session.metrics.messageCount;
770
+ state.lastChunkCount = chunks.length;
771
+ state.lastMetrics = this.toMetricsSnapshot(session.metrics);
772
+ state.lastSummaryMetrics = session.metrics;
773
+ if (this.isLaneEligible(adapter))
774
+ this.refreshLaneFromResult(state, result, stat);
775
+ if (isReplacement || changedCacheHit || requiresCanonicalRefetch(sourceChangeKind)) {
776
+ await this.events.publish('session.transcript.updated', {
777
+ kind: 'full-refetch-required',
778
+ sessionId,
779
+ transcriptPath: state.filePath,
780
+ sourceChangeKind,
781
+ });
782
+ return;
496
783
  }
497
- catch (error) {
498
- this.logger.error({ error, sessionId }, 'File change handler failed — watcher continues');
784
+ const isInPlaceTailFold = boundaryFold && newMessageCount === 0 && !isFullRefresh;
785
+ if (newMessageCount > 0 || isFullRefresh || isInPlaceTailFold) {
786
+ await this.events.publish('session.transcript.updated', {
787
+ kind: 'delta',
788
+ sessionId,
789
+ transcriptPath: state.filePath,
790
+ newMessageCount: Math.max(0, newMessageCount),
791
+ metrics: state.lastMetrics,
792
+ cursor,
793
+ prevCursor,
794
+ replaceFromChunkIndex,
795
+ newChunkIds,
796
+ totalChunkCount: chunks.length,
797
+ deltaChunks,
798
+ deltaMessages,
799
+ });
499
800
  }
500
801
  }
501
802
  async handleDbChanged(state) {
@@ -1 +1 @@
1
- {"version":3,"file":"transcript-watcher.service.js","sourceRoot":"","sources":["../../../../src/modules/session-reader/services/transcript-watcher.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transcript-watcher.service.js","sourceRoot":"","sources":["../../../../src/modules/session-reader/services/transcript-watcher.service.ts"],"names":[],"mappings":"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"}