devchain-cli 0.14.1 → 0.16.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 (521) hide show
  1. package/README.md +11 -8
  2. package/dist/cli.js +19 -16
  3. package/dist/drizzle/0065_next_lady_bullseye.sql +11 -0
  4. package/dist/drizzle/meta/0065_snapshot.json +5691 -0
  5. package/dist/drizzle/meta/_journal.json +7 -0
  6. package/dist/node_modules/@devchain/codebase-overview/tsconfig.tsbuildinfo +1 -1
  7. package/dist/node_modules/@devchain/codebase-overview/types.d.ts.map +1 -1
  8. package/dist/node_modules/@devchain/shared/__fixtures__/phase2-frames.d.ts +20 -0
  9. package/dist/node_modules/@devchain/shared/__fixtures__/phase2-frames.d.ts.map +1 -0
  10. package/dist/node_modules/@devchain/shared/__fixtures__/phase2-frames.js +77 -0
  11. package/dist/node_modules/@devchain/shared/__fixtures__/phase2-frames.js.map +1 -0
  12. package/dist/node_modules/@devchain/shared/device-key/index.d.ts +2 -0
  13. package/dist/node_modules/@devchain/shared/device-key/index.d.ts.map +1 -0
  14. package/dist/node_modules/@devchain/shared/device-key/index.js +2 -0
  15. package/dist/node_modules/@devchain/shared/device-key/index.js.map +1 -0
  16. package/dist/node_modules/@devchain/shared/device-key/keypair.d.ts +23 -0
  17. package/dist/node_modules/@devchain/shared/device-key/keypair.d.ts.map +1 -0
  18. package/dist/node_modules/@devchain/shared/device-key/keypair.js +54 -0
  19. package/dist/node_modules/@devchain/shared/device-key/keypair.js.map +1 -0
  20. package/dist/node_modules/@devchain/shared/e2ee/aad.d.ts +3 -0
  21. package/dist/node_modules/@devchain/shared/e2ee/aad.d.ts.map +1 -0
  22. package/dist/node_modules/@devchain/shared/e2ee/aad.js +0 -0
  23. package/dist/node_modules/@devchain/shared/e2ee/aad.js.map +1 -0
  24. package/dist/node_modules/@devchain/shared/e2ee/base64.d.ts +6 -0
  25. package/dist/node_modules/@devchain/shared/e2ee/base64.d.ts.map +1 -0
  26. package/dist/node_modules/@devchain/shared/e2ee/base64.js +69 -0
  27. package/dist/node_modules/@devchain/shared/e2ee/base64.js.map +1 -0
  28. package/dist/node_modules/@devchain/shared/e2ee/crypto-envelope.service.d.ts +9 -0
  29. package/dist/node_modules/@devchain/shared/e2ee/crypto-envelope.service.d.ts.map +1 -0
  30. package/dist/node_modules/@devchain/shared/e2ee/crypto-envelope.service.js +78 -0
  31. package/dist/node_modules/@devchain/shared/e2ee/crypto-envelope.service.js.map +1 -0
  32. package/dist/node_modules/@devchain/shared/e2ee/envelope.d.ts +63 -0
  33. package/dist/node_modules/@devchain/shared/e2ee/envelope.d.ts.map +1 -0
  34. package/dist/node_modules/@devchain/shared/e2ee/envelope.js +64 -0
  35. package/dist/node_modules/@devchain/shared/e2ee/envelope.js.map +1 -0
  36. package/dist/node_modules/@devchain/shared/e2ee/index.d.ts +10 -0
  37. package/dist/node_modules/@devchain/shared/e2ee/index.d.ts.map +1 -0
  38. package/dist/node_modules/@devchain/shared/e2ee/index.js +10 -0
  39. package/dist/node_modules/@devchain/shared/e2ee/index.js.map +1 -0
  40. package/dist/node_modules/@devchain/shared/e2ee/key-exchange.d.ts +17 -0
  41. package/dist/node_modules/@devchain/shared/e2ee/key-exchange.d.ts.map +1 -0
  42. package/dist/node_modules/@devchain/shared/e2ee/key-exchange.js +72 -0
  43. package/dist/node_modules/@devchain/shared/e2ee/key-exchange.js.map +1 -0
  44. package/dist/node_modules/@devchain/shared/e2ee/keypair.d.ts +13 -0
  45. package/dist/node_modules/@devchain/shared/e2ee/keypair.d.ts.map +1 -0
  46. package/dist/node_modules/@devchain/shared/e2ee/keypair.js +34 -0
  47. package/dist/node_modules/@devchain/shared/e2ee/keypair.js.map +1 -0
  48. package/dist/node_modules/@devchain/shared/e2ee/negotiation.d.ts +30 -0
  49. package/dist/node_modules/@devchain/shared/e2ee/negotiation.d.ts.map +1 -0
  50. package/dist/node_modules/@devchain/shared/e2ee/negotiation.js +70 -0
  51. package/dist/node_modules/@devchain/shared/e2ee/negotiation.js.map +1 -0
  52. package/dist/node_modules/@devchain/shared/e2ee/safety-number.d.ts +3 -0
  53. package/dist/node_modules/@devchain/shared/e2ee/safety-number.d.ts.map +1 -0
  54. package/dist/node_modules/@devchain/shared/e2ee/safety-number.js +33 -0
  55. package/dist/node_modules/@devchain/shared/e2ee/safety-number.js.map +1 -0
  56. package/dist/node_modules/@devchain/shared/e2ee/trust.d.ts +22 -0
  57. package/dist/node_modules/@devchain/shared/e2ee/trust.d.ts.map +1 -0
  58. package/dist/node_modules/@devchain/shared/e2ee/trust.js +25 -0
  59. package/dist/node_modules/@devchain/shared/e2ee/trust.js.map +1 -0
  60. package/dist/node_modules/@devchain/shared/index.d.ts +3 -0
  61. package/dist/node_modules/@devchain/shared/index.d.ts.map +1 -1
  62. package/dist/node_modules/@devchain/shared/index.js +3 -0
  63. package/dist/node_modules/@devchain/shared/index.js.map +1 -1
  64. package/dist/node_modules/@devchain/shared/schemas/export-schema.d.ts +14 -6
  65. package/dist/node_modules/@devchain/shared/schemas/export-schema.d.ts.map +1 -1
  66. package/dist/node_modules/@devchain/shared/schemas/export-schema.js +1 -0
  67. package/dist/node_modules/@devchain/shared/schemas/export-schema.js.map +1 -1
  68. package/dist/node_modules/@devchain/shared/tsconfig.tsbuildinfo +1 -1
  69. package/dist/node_modules/@devchain/shared/tunnel-protocol.d.ts +99 -0
  70. package/dist/node_modules/@devchain/shared/tunnel-protocol.d.ts.map +1 -0
  71. package/dist/node_modules/@devchain/shared/tunnel-protocol.js +148 -0
  72. package/dist/node_modules/@devchain/shared/tunnel-protocol.js.map +1 -0
  73. package/dist/server/app.main.module.js +2 -0
  74. package/dist/server/app.main.module.js.map +1 -1
  75. package/dist/server/app.normal.module.js +2 -0
  76. package/dist/server/app.normal.module.js.map +1 -1
  77. package/dist/server/common/config/env.config.js +5 -7
  78. package/dist/server/common/config/env.config.js.map +1 -1
  79. package/dist/server/common/test/app-bootstrap.helper.js +5 -1
  80. package/dist/server/common/test/app-bootstrap.helper.js.map +1 -1
  81. package/dist/server/modules/agent-message-delivery/adapters/legacy-delivery-formatter.adapter.js +4 -0
  82. package/dist/server/modules/agent-message-delivery/adapters/legacy-delivery-formatter.adapter.js.map +1 -1
  83. package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.d.ts +3 -1
  84. package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.js +16 -3
  85. package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.js.map +1 -1
  86. package/dist/server/modules/agent-message-delivery/dtos/delivery.types.d.ts +4 -0
  87. package/dist/server/modules/cloud/cloud.module.js +8 -1
  88. package/dist/server/modules/cloud/cloud.module.js.map +1 -1
  89. package/dist/server/modules/cloud/controllers/auth-callback.controller.js +5 -4
  90. package/dist/server/modules/cloud/controllers/auth-callback.controller.js.map +1 -1
  91. package/dist/server/modules/cloud/controllers/devices-proxy.controller.js +1 -1
  92. package/dist/server/modules/cloud/controllers/devices-proxy.controller.js.map +1 -1
  93. package/dist/server/modules/cloud/controllers/preferences-proxy.controller.js +1 -1
  94. package/dist/server/modules/cloud/controllers/preferences-proxy.controller.js.map +1 -1
  95. package/dist/server/modules/cloud/controllers/qr-initiate-proxy.controller.js +1 -1
  96. package/dist/server/modules/cloud/controllers/qr-initiate-proxy.controller.js.map +1 -1
  97. package/dist/server/modules/cloud/controllers/store-tokens-error.d.ts +4 -0
  98. package/dist/server/modules/cloud/controllers/store-tokens-error.js +103 -0
  99. package/dist/server/modules/cloud/controllers/store-tokens-error.js.map +1 -0
  100. package/dist/server/modules/cloud/services/cloud-session-manager.service.js +18 -8
  101. package/dist/server/modules/cloud/services/cloud-session-manager.service.js.map +1 -1
  102. package/dist/server/modules/cloud/services/egress-queue.service.js +2 -2
  103. package/dist/server/modules/cloud/services/egress-queue.service.js.map +1 -1
  104. package/dist/server/modules/cloud/services/event-mapper.service.d.ts +9 -1
  105. package/dist/server/modules/cloud/services/event-mapper.service.js +18 -2
  106. package/dist/server/modules/cloud/services/event-mapper.service.js.map +1 -1
  107. package/dist/server/modules/cloud/services/project-activity-reporter.service.js +1 -1
  108. package/dist/server/modules/cloud/services/project-activity-reporter.service.js.map +1 -1
  109. package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js +57 -2
  110. package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js.map +1 -1
  111. package/dist/server/modules/cloud-tunnel/services/ask-user-question-push-gate.service.d.ts +20 -0
  112. package/dist/server/modules/cloud-tunnel/services/ask-user-question-push-gate.service.js +84 -0
  113. package/dist/server/modules/cloud-tunnel/services/ask-user-question-push-gate.service.js.map +1 -0
  114. package/dist/server/modules/cloud-tunnel/services/epic-dto.util.d.ts +3 -0
  115. package/dist/server/modules/cloud-tunnel/services/epic-dto.util.js +43 -0
  116. package/dist/server/modules/cloud-tunnel/services/epic-dto.util.js.map +1 -0
  117. package/dist/server/modules/cloud-tunnel/services/jsonrpc-error.util.d.ts +11 -0
  118. package/dist/server/modules/cloud-tunnel/services/jsonrpc-error.util.js +32 -0
  119. package/dist/server/modules/cloud-tunnel/services/jsonrpc-error.util.js.map +1 -0
  120. package/dist/server/modules/cloud-tunnel/services/lifecycle-operation-tracker.d.ts +30 -0
  121. package/dist/server/modules/cloud-tunnel/services/lifecycle-operation-tracker.js +80 -0
  122. package/dist/server/modules/cloud-tunnel/services/lifecycle-operation-tracker.js.map +1 -0
  123. package/dist/server/modules/cloud-tunnel/services/mobile-board-rpc.service.d.ts +16 -0
  124. package/dist/server/modules/cloud-tunnel/services/mobile-board-rpc.service.js +78 -0
  125. package/dist/server/modules/cloud-tunnel/services/mobile-board-rpc.service.js.map +1 -0
  126. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.d.ts +112 -0
  127. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js +457 -0
  128. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js.map +1 -0
  129. package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.d.ts +28 -2
  130. package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.js +143 -5
  131. package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.js.map +1 -1
  132. package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.d.ts +21 -0
  133. package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.js +171 -0
  134. package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.js.map +1 -0
  135. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.d.ts +12 -5
  136. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js +209 -54
  137. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js.map +1 -1
  138. package/dist/server/modules/cloud-tunnel/services/tunnel-push-crypto.service.d.ts +21 -0
  139. package/dist/server/modules/cloud-tunnel/services/tunnel-push-crypto.service.js +117 -0
  140. package/dist/server/modules/cloud-tunnel/services/tunnel-push-crypto.service.js.map +1 -0
  141. package/dist/server/modules/cloud-tunnel/services/tunnel-rpc-crypto.service.d.ts +45 -0
  142. package/dist/server/modules/cloud-tunnel/services/tunnel-rpc-crypto.service.js +126 -0
  143. package/dist/server/modules/cloud-tunnel/services/tunnel-rpc-crypto.service.js.map +1 -0
  144. package/dist/server/modules/cloud-tunnel/services/tunnel-viewport-crypto.service.d.ts +20 -0
  145. package/dist/server/modules/cloud-tunnel/services/tunnel-viewport-crypto.service.js +114 -0
  146. package/dist/server/modules/cloud-tunnel/services/tunnel-viewport-crypto.service.js.map +1 -0
  147. package/dist/server/modules/cloud-tunnel/services/viewport-frame-sink.d.ts +6 -0
  148. package/dist/server/modules/cloud-tunnel/services/viewport-frame-sink.js +7 -0
  149. package/dist/server/modules/cloud-tunnel/services/viewport-frame-sink.js.map +1 -0
  150. package/dist/server/modules/cloud-tunnel/services/viewport-streamer.service.d.ts +30 -0
  151. package/dist/server/modules/cloud-tunnel/services/viewport-streamer.service.js +228 -0
  152. package/dist/server/modules/cloud-tunnel/services/viewport-streamer.service.js.map +1 -0
  153. package/dist/server/modules/core/core-normal.module.js +2 -9
  154. package/dist/server/modules/core/core-normal.module.js.map +1 -1
  155. package/dist/server/modules/core/services/antigravity-trusted-workspaces.module.d.ts +2 -0
  156. package/dist/server/modules/core/services/antigravity-trusted-workspaces.module.js +21 -0
  157. package/dist/server/modules/core/services/antigravity-trusted-workspaces.module.js.map +1 -0
  158. package/dist/server/modules/core/services/antigravity-trusted-workspaces.service.d.ts +21 -0
  159. package/dist/server/modules/core/services/antigravity-trusted-workspaces.service.js +249 -0
  160. package/dist/server/modules/core/services/antigravity-trusted-workspaces.service.js.map +1 -0
  161. package/dist/server/modules/core/services/copilot-auth-probe.module.d.ts +2 -0
  162. package/dist/server/modules/core/services/copilot-auth-probe.module.js +21 -0
  163. package/dist/server/modules/core/services/copilot-auth-probe.module.js.map +1 -0
  164. package/dist/server/modules/core/services/copilot-auth-probe.service.d.ts +7 -0
  165. package/dist/server/modules/core/services/copilot-auth-probe.service.js +63 -0
  166. package/dist/server/modules/core/services/copilot-auth-probe.service.js.map +1 -0
  167. package/dist/server/modules/core/services/copilot-trusted-folders.module.d.ts +2 -0
  168. package/dist/server/modules/core/services/{gemini-trusted-folders.module.js → copilot-trusted-folders.module.js} +9 -9
  169. package/dist/server/modules/core/services/copilot-trusted-folders.module.js.map +1 -0
  170. package/dist/server/modules/core/services/copilot-trusted-folders.service.d.ts +22 -0
  171. package/dist/server/modules/core/services/copilot-trusted-folders.service.js +228 -0
  172. package/dist/server/modules/core/services/copilot-trusted-folders.service.js.map +1 -0
  173. package/dist/server/modules/core/services/preflight.service.d.ts +1 -0
  174. package/dist/server/modules/core/services/preflight.service.js +35 -3
  175. package/dist/server/modules/core/services/preflight.service.js.map +1 -1
  176. package/dist/server/modules/core/services/trust-folders-logic.d.ts +11 -0
  177. package/dist/server/modules/core/services/trust-folders-logic.js +33 -0
  178. package/dist/server/modules/core/services/trust-folders-logic.js.map +1 -0
  179. package/dist/server/modules/e2ee/controllers/e2ee-pairing.controller.d.ts +19 -0
  180. package/dist/server/modules/e2ee/controllers/e2ee-pairing.controller.js +63 -0
  181. package/dist/server/modules/e2ee/controllers/e2ee-pairing.controller.js.map +1 -0
  182. package/dist/server/modules/e2ee/controllers/e2ee-trust.controller.d.ts +19 -0
  183. package/dist/server/modules/e2ee/controllers/e2ee-trust.controller.js +85 -0
  184. package/dist/server/modules/e2ee/controllers/e2ee-trust.controller.js.map +1 -0
  185. package/dist/server/modules/e2ee/e2ee.module.d.ts +2 -0
  186. package/dist/server/modules/e2ee/e2ee.module.js +27 -0
  187. package/dist/server/modules/e2ee/e2ee.module.js.map +1 -0
  188. package/dist/server/modules/e2ee/services/e2ee-device-store.service.d.ts +36 -0
  189. package/dist/server/modules/e2ee/services/e2ee-device-store.service.js +165 -0
  190. package/dist/server/modules/e2ee/services/e2ee-device-store.service.js.map +1 -0
  191. package/dist/server/modules/e2ee/services/e2ee-keypair.service.d.ts +21 -0
  192. package/dist/server/modules/e2ee/services/e2ee-keypair.service.js +152 -0
  193. package/dist/server/modules/e2ee/services/e2ee-keypair.service.js.map +1 -0
  194. package/dist/server/modules/e2ee/services/e2ee-pairing.service.d.ts +29 -0
  195. package/dist/server/modules/e2ee/services/e2ee-pairing.service.js +108 -0
  196. package/dist/server/modules/e2ee/services/e2ee-pairing.service.js.map +1 -0
  197. package/dist/server/modules/e2ee/services/e2ee-trust.service.d.ts +36 -0
  198. package/dist/server/modules/e2ee/services/e2ee-trust.service.js +121 -0
  199. package/dist/server/modules/e2ee/services/e2ee-trust.service.js.map +1 -0
  200. package/dist/server/modules/epics/services/epics.service.d.ts +1 -0
  201. package/dist/server/modules/epics/services/epics.service.js +10 -0
  202. package/dist/server/modules/epics/services/epics.service.js.map +1 -1
  203. package/dist/server/modules/events/catalog/broadcast-metadata.d.ts +6 -2
  204. package/dist/server/modules/events/catalog/broadcast-registry.d.ts +2 -2
  205. package/dist/server/modules/events/catalog/broadcast-registry.js +58 -1
  206. package/dist/server/modules/events/catalog/broadcast-registry.js.map +1 -1
  207. package/dist/server/modules/events/catalog/claude.hooks.ask_user_question.pending.d.ts +122 -0
  208. package/dist/server/modules/events/catalog/claude.hooks.ask_user_question.pending.js +28 -0
  209. package/dist/server/modules/events/catalog/claude.hooks.ask_user_question.pending.js.map +1 -0
  210. package/dist/server/modules/events/catalog/claude.hooks.ask_user_question.resolved.d.ts +18 -0
  211. package/dist/server/modules/events/catalog/claude.hooks.ask_user_question.resolved.js +13 -0
  212. package/dist/server/modules/events/catalog/claude.hooks.ask_user_question.resolved.js.map +1 -0
  213. package/dist/server/modules/events/catalog/claude.hooks.session.started.d.ts +6 -0
  214. package/dist/server/modules/events/catalog/claude.hooks.session.started.js +2 -0
  215. package/dist/server/modules/events/catalog/claude.hooks.session.started.js.map +1 -1
  216. package/dist/server/modules/events/catalog/index.d.ts +106 -10
  217. package/dist/server/modules/events/catalog/index.js +4 -0
  218. package/dist/server/modules/events/catalog/index.js.map +1 -1
  219. package/dist/server/modules/events/catalog/project-broadcast.d.ts +7 -0
  220. package/dist/server/modules/events/catalog/project-broadcast.js +10 -0
  221. package/dist/server/modules/events/catalog/project-broadcast.js.map +1 -0
  222. package/dist/server/modules/events/catalog/session.activity.changed.d.ts +2 -2
  223. package/dist/server/modules/events/catalog/session.transcript.discovered.d.ts +5 -2
  224. package/dist/server/modules/events/catalog/session.transcript.discovered.js +1 -0
  225. package/dist/server/modules/events/catalog/session.transcript.discovered.js.map +1 -1
  226. package/dist/server/modules/events/catalog/session.transcript.ended.d.ts +2 -2
  227. package/dist/server/modules/events/catalog/session.transcript.updated.d.ts +2 -2
  228. package/dist/server/modules/events/catalog/terminal.watcher.triggered.d.ts +2 -2
  229. package/dist/server/modules/events/services/catalog-broadcaster.service.js +3 -4
  230. package/dist/server/modules/events/services/catalog-broadcaster.service.js.map +1 -1
  231. package/dist/server/modules/hooks/dtos/ask-user-question.dto.d.ts +5 -0
  232. package/dist/server/modules/hooks/dtos/ask-user-question.dto.js +51 -0
  233. package/dist/server/modules/hooks/dtos/ask-user-question.dto.js.map +1 -0
  234. package/dist/server/modules/hooks/dtos/hook-event.dto.d.ts +324 -7
  235. package/dist/server/modules/hooks/dtos/hook-event.dto.js +57 -9
  236. package/dist/server/modules/hooks/dtos/hook-event.dto.js.map +1 -1
  237. package/dist/server/modules/hooks/hooks.module.js +14 -2
  238. package/dist/server/modules/hooks/hooks.module.js.map +1 -1
  239. package/dist/server/modules/hooks/services/copilot-hooks-config.service.d.ts +13 -0
  240. package/dist/server/modules/hooks/services/copilot-hooks-config.service.js +185 -0
  241. package/dist/server/modules/hooks/services/copilot-hooks-config.service.js.map +1 -0
  242. package/dist/server/modules/hooks/services/hooks-config.service.d.ts +1 -0
  243. package/dist/server/modules/hooks/services/hooks-config.service.js +52 -33
  244. package/dist/server/modules/hooks/services/hooks-config.service.js.map +1 -1
  245. package/dist/server/modules/hooks/services/hooks.service.d.ts +6 -1
  246. package/dist/server/modules/hooks/services/hooks.service.js +86 -3
  247. package/dist/server/modules/hooks/services/hooks.service.js.map +1 -1
  248. package/dist/server/modules/hooks/services/pending-ask-user-question.service.d.ts +38 -0
  249. package/dist/server/modules/hooks/services/pending-ask-user-question.service.js +105 -0
  250. package/dist/server/modules/hooks/services/pending-ask-user-question.service.js.map +1 -0
  251. package/dist/server/modules/mcp/dtos/mcp.dto.d.ts +2 -2
  252. package/dist/server/modules/orchestrator/docker/services/docker.service.js +16 -3
  253. package/dist/server/modules/orchestrator/docker/services/docker.service.js.map +1 -1
  254. package/dist/server/modules/orchestrator/worktrees/services/worktrees.service.js +3 -0
  255. package/dist/server/modules/orchestrator/worktrees/services/worktrees.service.js.map +1 -1
  256. package/dist/server/modules/projects/controllers/projects.controller.d.ts +7 -0
  257. package/dist/server/modules/projects/dtos/export.dto.d.ts +8 -0
  258. package/dist/server/modules/projects/dtos/export.dto.js +1 -0
  259. package/dist/server/modules/projects/dtos/export.dto.js.map +1 -1
  260. package/dist/server/modules/projects/helpers/project-export.d.ts +1 -0
  261. package/dist/server/modules/projects/helpers/project-export.js +19 -5
  262. package/dist/server/modules/projects/helpers/project-export.js.map +1 -1
  263. package/dist/server/modules/projects/helpers/project-import-sessions.d.ts +11 -0
  264. package/dist/server/modules/projects/helpers/project-import-sessions.js +47 -0
  265. package/dist/server/modules/projects/helpers/project-import-sessions.js.map +1 -0
  266. package/dist/server/modules/projects/helpers/project-import.d.ts +4 -0
  267. package/dist/server/modules/projects/helpers/project-import.js +12 -2
  268. package/dist/server/modules/projects/helpers/project-import.js.map +1 -1
  269. package/dist/server/modules/projects/services/projects.service.d.ts +5 -0
  270. package/dist/server/modules/providers/adapters/antigravity.adapter.d.ts +22 -0
  271. package/dist/server/modules/providers/adapters/antigravity.adapter.js +81 -0
  272. package/dist/server/modules/providers/adapters/antigravity.adapter.js.map +1 -0
  273. package/dist/server/modules/providers/adapters/capabilities/index.d.ts +2 -2
  274. package/dist/server/modules/providers/adapters/capabilities/index.js +3 -1
  275. package/dist/server/modules/providers/adapters/capabilities/index.js.map +1 -1
  276. package/dist/server/modules/providers/adapters/capabilities/type-guards.d.ts +16 -1
  277. package/dist/server/modules/providers/adapters/capabilities/type-guards.js +8 -0
  278. package/dist/server/modules/providers/adapters/capabilities/type-guards.js.map +1 -1
  279. package/dist/server/modules/providers/adapters/claude.adapter.d.ts +1 -0
  280. package/dist/server/modules/providers/adapters/claude.adapter.js +1 -0
  281. package/dist/server/modules/providers/adapters/claude.adapter.js.map +1 -1
  282. package/dist/server/modules/providers/adapters/codex.adapter.d.ts +1 -0
  283. package/dist/server/modules/providers/adapters/codex.adapter.js +10 -4
  284. package/dist/server/modules/providers/adapters/codex.adapter.js.map +1 -1
  285. package/dist/server/modules/providers/adapters/copilot.adapter.d.ts +31 -0
  286. package/dist/server/modules/providers/adapters/copilot.adapter.js +122 -0
  287. package/dist/server/modules/providers/adapters/copilot.adapter.js.map +1 -0
  288. package/dist/server/modules/providers/adapters/index.d.ts +1 -1
  289. package/dist/server/modules/providers/adapters/index.js +1 -1
  290. package/dist/server/modules/providers/adapters/index.js.map +1 -1
  291. package/dist/server/modules/providers/adapters/opencode.adapter.d.ts +4 -1
  292. package/dist/server/modules/providers/adapters/opencode.adapter.js +3 -0
  293. package/dist/server/modules/providers/adapters/opencode.adapter.js.map +1 -1
  294. package/dist/server/modules/providers/adapters/provider-adapter.factory.d.ts +3 -2
  295. package/dist/server/modules/providers/adapters/provider-adapter.factory.js +8 -5
  296. package/dist/server/modules/providers/adapters/provider-adapter.factory.js.map +1 -1
  297. package/dist/server/modules/providers/adapters/provider-adapter.interface.d.ts +6 -0
  298. package/dist/server/modules/providers/adapters/provider-adapters.module.js +19 -4
  299. package/dist/server/modules/providers/adapters/provider-adapters.module.js.map +1 -1
  300. package/dist/server/modules/providers/controllers/provider-models.controller.js +3 -2
  301. package/dist/server/modules/providers/controllers/provider-models.controller.js.map +1 -1
  302. package/dist/server/modules/providers/controllers/providers.controller.d.ts +50 -3
  303. package/dist/server/modules/providers/controllers/providers.controller.js +12 -3
  304. package/dist/server/modules/providers/controllers/providers.controller.js.map +1 -1
  305. package/dist/server/modules/providers/providers.module.js +1 -0
  306. package/dist/server/modules/providers/providers.module.js.map +1 -1
  307. package/dist/server/modules/providers/services/mcp-registration/antigravity-mcp-registration.adapter.d.ts +17 -0
  308. package/dist/server/modules/providers/services/mcp-registration/antigravity-mcp-registration.adapter.js +264 -0
  309. package/dist/server/modules/providers/services/mcp-registration/antigravity-mcp-registration.adapter.js.map +1 -0
  310. package/dist/server/modules/providers/services/mcp-registration/cli-mcp-registration.adapter.js +5 -6
  311. package/dist/server/modules/providers/services/mcp-registration/cli-mcp-registration.adapter.js.map +1 -1
  312. package/dist/server/modules/providers/services/mcp-registration/index.d.ts +1 -0
  313. package/dist/server/modules/providers/services/mcp-registration/index.js +3 -1
  314. package/dist/server/modules/providers/services/mcp-registration/index.js.map +1 -1
  315. package/dist/server/modules/providers/services/mcp-registration/mcp-registration.port.d.ts +3 -1
  316. package/dist/server/modules/providers/services/mcp-registration/mcp-registration.port.js +6 -1
  317. package/dist/server/modules/providers/services/mcp-registration/mcp-registration.port.js.map +1 -1
  318. package/dist/server/modules/providers/services/provider-state-manager.service.d.ts +2 -1
  319. package/dist/server/modules/providers/services/provider-state-manager.service.js +43 -1
  320. package/dist/server/modules/providers/services/provider-state-manager.service.js.map +1 -1
  321. package/dist/server/modules/registry/controllers/templates.controller.d.ts +2 -1
  322. package/dist/server/modules/registry/services/template-cache.service.d.ts +2 -0
  323. package/dist/server/modules/registry/services/template-cache.service.js +5 -0
  324. package/dist/server/modules/registry/services/template-cache.service.js.map +1 -1
  325. package/dist/server/modules/registry/services/unified-template.service.d.ts +1 -0
  326. package/dist/server/modules/registry/services/unified-template.service.js +9 -1
  327. package/dist/server/modules/registry/services/unified-template.service.js.map +1 -1
  328. package/dist/server/modules/seeders/seeders/0009_seed_remove_gemini_provider.d.ts +3 -0
  329. package/dist/server/modules/seeders/seeders/0009_seed_remove_gemini_provider.js +64 -0
  330. package/dist/server/modules/seeders/seeders/0009_seed_remove_gemini_provider.js.map +1 -0
  331. package/dist/server/modules/seeders/services/data-seeder.service.js +2 -0
  332. package/dist/server/modules/seeders/services/data-seeder.service.js.map +1 -1
  333. package/dist/server/modules/session-reader/__fixtures__/antigravity-fixture-db.d.ts +12 -0
  334. package/dist/server/modules/session-reader/__fixtures__/antigravity-fixture-db.js +41 -0
  335. package/dist/server/modules/session-reader/__fixtures__/antigravity-fixture-db.js.map +1 -0
  336. package/dist/server/modules/session-reader/__fixtures__/opencode-fixture-db.d.ts +44 -0
  337. package/dist/server/modules/session-reader/__fixtures__/opencode-fixture-db.js +85 -0
  338. package/dist/server/modules/session-reader/__fixtures__/opencode-fixture-db.js.map +1 -0
  339. package/dist/server/modules/session-reader/adapters/antigravity-session-reader.adapter.d.ts +30 -0
  340. package/dist/server/modules/session-reader/adapters/antigravity-session-reader.adapter.js +268 -0
  341. package/dist/server/modules/session-reader/adapters/antigravity-session-reader.adapter.js.map +1 -0
  342. package/dist/server/modules/session-reader/adapters/{gemini-session-reader.adapter.d.ts → copilot-session-reader.adapter.d.ts} +4 -5
  343. package/dist/server/modules/session-reader/adapters/{gemini-session-reader.adapter.js → copilot-session-reader.adapter.js} +35 -68
  344. package/dist/server/modules/session-reader/adapters/copilot-session-reader.adapter.js.map +1 -0
  345. package/dist/server/modules/session-reader/adapters/opencode-session-reader.adapter.d.ts +23 -0
  346. package/dist/server/modules/session-reader/adapters/opencode-session-reader.adapter.js +150 -0
  347. package/dist/server/modules/session-reader/adapters/opencode-session-reader.adapter.js.map +1 -0
  348. package/dist/server/modules/session-reader/adapters/session-reader-adapter.factory.js.map +1 -1
  349. package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.d.ts +16 -2
  350. package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.js +39 -0
  351. package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.js.map +1 -1
  352. package/dist/server/modules/session-reader/adapters/utils/coalesce-turns.d.ts +11 -0
  353. package/dist/server/modules/session-reader/adapters/utils/coalesce-turns.js +81 -0
  354. package/dist/server/modules/session-reader/adapters/utils/coalesce-turns.js.map +1 -0
  355. package/dist/server/modules/session-reader/adapters/utils/tool-result-fold.d.ts +2 -0
  356. package/dist/server/modules/session-reader/adapters/utils/tool-result-fold.js +9 -0
  357. package/dist/server/modules/session-reader/adapters/utils/tool-result-fold.js.map +1 -0
  358. package/dist/server/modules/session-reader/builders/chunk-builder.js +0 -2
  359. package/dist/server/modules/session-reader/builders/chunk-builder.js.map +1 -1
  360. package/dist/server/modules/session-reader/builders/semantic-step-extractor.js +2 -0
  361. package/dist/server/modules/session-reader/builders/semantic-step-extractor.js.map +1 -1
  362. package/dist/server/modules/session-reader/controllers/session-reader.controller.d.ts +1 -0
  363. package/dist/server/modules/session-reader/data/pricing.json +513 -44
  364. package/dist/server/modules/session-reader/dtos/unified-message.types.d.ts +1 -0
  365. package/dist/server/modules/session-reader/dtos/unified-session.types.d.ts +6 -0
  366. package/dist/server/modules/session-reader/dtos/unified-session.types.js.map +1 -1
  367. package/dist/server/modules/session-reader/parsers/antigravity-jsonl.parser.d.ts +16 -0
  368. package/dist/server/modules/session-reader/parsers/antigravity-jsonl.parser.js +307 -0
  369. package/dist/server/modules/session-reader/parsers/antigravity-jsonl.parser.js.map +1 -0
  370. package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.js +46 -0
  371. package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.js.map +1 -1
  372. package/dist/server/modules/session-reader/parsers/codex-jsonl.parser.js +35 -17
  373. package/dist/server/modules/session-reader/parsers/codex-jsonl.parser.js.map +1 -1
  374. package/dist/server/modules/session-reader/parsers/{gemini-json.parser.d.ts → copilot-jsonl.parser.d.ts} +4 -3
  375. package/dist/server/modules/session-reader/parsers/copilot-jsonl.parser.js +432 -0
  376. package/dist/server/modules/session-reader/parsers/copilot-jsonl.parser.js.map +1 -0
  377. package/dist/server/modules/session-reader/readers/antigravity-metrics.reader.d.ts +25 -0
  378. package/dist/server/modules/session-reader/readers/antigravity-metrics.reader.js +142 -0
  379. package/dist/server/modules/session-reader/readers/antigravity-metrics.reader.js.map +1 -0
  380. package/dist/server/modules/session-reader/readers/antigravity-model-pricing.d.ts +6 -0
  381. package/dist/server/modules/session-reader/readers/antigravity-model-pricing.js +35 -0
  382. package/dist/server/modules/session-reader/readers/antigravity-model-pricing.js.map +1 -0
  383. package/dist/server/modules/session-reader/readers/antigravity-transcript.reader.d.ts +24 -0
  384. package/dist/server/modules/session-reader/readers/antigravity-transcript.reader.js +80 -0
  385. package/dist/server/modules/session-reader/readers/antigravity-transcript.reader.js.map +1 -0
  386. package/dist/server/modules/session-reader/readers/copilot-model-pricing.d.ts +10 -0
  387. package/dist/server/modules/session-reader/readers/copilot-model-pricing.js +37 -0
  388. package/dist/server/modules/session-reader/readers/copilot-model-pricing.js.map +1 -0
  389. package/dist/server/modules/session-reader/readers/opencode-sqlite.reader.d.ts +69 -0
  390. package/dist/server/modules/session-reader/readers/opencode-sqlite.reader.js +378 -0
  391. package/dist/server/modules/session-reader/readers/opencode-sqlite.reader.js.map +1 -0
  392. package/dist/server/modules/session-reader/readers/protobuf-wire.d.ts +13 -0
  393. package/dist/server/modules/session-reader/readers/protobuf-wire.js +94 -0
  394. package/dist/server/modules/session-reader/readers/protobuf-wire.js.map +1 -0
  395. package/dist/server/modules/session-reader/services/session-cache.service.d.ts +12 -3
  396. package/dist/server/modules/session-reader/services/session-cache.service.js +104 -19
  397. package/dist/server/modules/session-reader/services/session-cache.service.js.map +1 -1
  398. package/dist/server/modules/session-reader/services/session-reader.service.d.ts +5 -0
  399. package/dist/server/modules/session-reader/services/session-reader.service.js +51 -16
  400. package/dist/server/modules/session-reader/services/session-reader.service.js.map +1 -1
  401. package/dist/server/modules/session-reader/services/transcript-path-validator.service.js +3 -1
  402. package/dist/server/modules/session-reader/services/transcript-path-validator.service.js.map +1 -1
  403. package/dist/server/modules/session-reader/services/transcript-persistence.listener.d.ts +4 -0
  404. package/dist/server/modules/session-reader/services/transcript-persistence.listener.js +109 -8
  405. package/dist/server/modules/session-reader/services/transcript-persistence.listener.js.map +1 -1
  406. package/dist/server/modules/session-reader/services/transcript-watcher-rehydrator.service.d.ts +10 -0
  407. package/dist/server/modules/session-reader/services/transcript-watcher-rehydrator.service.js +47 -0
  408. package/dist/server/modules/session-reader/services/transcript-watcher-rehydrator.service.js.map +1 -0
  409. package/dist/server/modules/session-reader/services/transcript-watcher.service.d.ts +7 -1
  410. package/dist/server/modules/session-reader/services/transcript-watcher.service.js +177 -28
  411. package/dist/server/modules/session-reader/services/transcript-watcher.service.js.map +1 -1
  412. package/dist/server/modules/session-reader/session-reader.module.d.ts +7 -3
  413. package/dist/server/modules/session-reader/session-reader.module.js +21 -7
  414. package/dist/server/modules/session-reader/session-reader.module.js.map +1 -1
  415. package/dist/server/modules/sessions/controllers/sessions.controller.js +2 -22
  416. package/dist/server/modules/sessions/controllers/sessions.controller.js.map +1 -1
  417. package/dist/server/modules/sessions/dtos/sessions.dto.d.ts +1 -0
  418. package/dist/server/modules/sessions/dtos/sessions.dto.js.map +1 -1
  419. package/dist/server/modules/sessions/services/active-session-lookup.service.d.ts +5 -0
  420. package/dist/server/modules/sessions/services/active-session-lookup.service.js +12 -0
  421. package/dist/server/modules/sessions/services/active-session-lookup.service.js.map +1 -1
  422. package/dist/server/modules/sessions/services/message-enqueue.service.d.ts +2 -0
  423. package/dist/server/modules/sessions/services/message-enqueue.service.js +2 -0
  424. package/dist/server/modules/sessions/services/message-enqueue.service.js.map +1 -1
  425. package/dist/server/modules/sessions/services/message-pool.types.d.ts +2 -0
  426. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.d.ts +2 -0
  427. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js +14 -1
  428. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js.map +1 -1
  429. package/dist/server/modules/sessions/services/session-lifecycle-facade.service.d.ts +18 -0
  430. package/dist/server/modules/sessions/services/session-lifecycle-facade.service.js +74 -0
  431. package/dist/server/modules/sessions/services/session-lifecycle-facade.service.js.map +1 -0
  432. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.d.ts +12 -2
  433. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js +12 -3
  434. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js.map +1 -1
  435. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.d.ts +5 -1
  436. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js +44 -7
  437. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js.map +1 -1
  438. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js +3 -2
  439. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js.map +1 -1
  440. package/dist/server/modules/sessions/services/sessions-message-pool.service.js +15 -3
  441. package/dist/server/modules/sessions/services/sessions-message-pool.service.js.map +1 -1
  442. package/dist/server/modules/sessions/services/sessions.service.d.ts +8 -0
  443. package/dist/server/modules/sessions/services/sessions.service.js +52 -1
  444. package/dist/server/modules/sessions/services/sessions.service.js.map +1 -1
  445. package/dist/server/modules/sessions/sessions-lifecycle.module.d.ts +2 -0
  446. package/dist/server/modules/sessions/sessions-lifecycle.module.js +23 -0
  447. package/dist/server/modules/sessions/sessions-lifecycle.module.js.map +1 -0
  448. package/dist/server/modules/settings/local/delegates/core-settings.delegate.js.map +1 -1
  449. package/dist/server/modules/storage/db/schema.d.ts +83 -0
  450. package/dist/server/modules/storage/db/schema.js +15 -2
  451. package/dist/server/modules/storage/db/schema.js.map +1 -1
  452. package/dist/server/modules/storage/interfaces/storage.interface.d.ts +13 -2
  453. package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
  454. package/dist/server/modules/storage/local/delegates/epic.delegate.d.ts +1 -0
  455. package/dist/server/modules/storage/local/delegates/epic.delegate.js +8 -0
  456. package/dist/server/modules/storage/local/delegates/epic.delegate.js.map +1 -1
  457. package/dist/server/modules/storage/local/delegates/provider.delegate.d.ts +5 -1
  458. package/dist/server/modules/storage/local/delegates/provider.delegate.js +122 -0
  459. package/dist/server/modules/storage/local/delegates/provider.delegate.js.map +1 -1
  460. package/dist/server/modules/storage/local/delegates/session.delegate.d.ts +9 -0
  461. package/dist/server/modules/storage/local/delegates/session.delegate.js +115 -0
  462. package/dist/server/modules/storage/local/delegates/session.delegate.js.map +1 -0
  463. package/dist/server/modules/storage/local/local-storage.service.d.ts +10 -0
  464. package/dist/server/modules/storage/local/local-storage.service.js +20 -0
  465. package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
  466. package/dist/server/modules/storage/models/domain.models.d.ts +1 -0
  467. package/dist/server/modules/subscribers/events/event-fields-catalog.js +5 -3
  468. package/dist/server/modules/subscribers/events/event-fields-catalog.js.map +1 -1
  469. package/dist/server/modules/subscribers/services/automation-scheduler.service.js.map +1 -1
  470. package/dist/server/modules/teams/services/teams.service.d.ts +28 -2
  471. package/dist/server/modules/teams/services/teams.service.js +175 -0
  472. package/dist/server/modules/teams/services/teams.service.js.map +1 -1
  473. package/dist/server/modules/teams/storage/teams.store.d.ts +5 -0
  474. package/dist/server/modules/teams/storage/teams.store.js +34 -0
  475. package/dist/server/modules/teams/storage/teams.store.js.map +1 -1
  476. package/dist/server/modules/terminal/gateways/terminal.gateway.d.ts +5 -0
  477. package/dist/server/modules/terminal/gateways/terminal.gateway.js +38 -0
  478. package/dist/server/modules/terminal/gateways/terminal.gateway.js.map +1 -1
  479. package/dist/server/modules/terminal/services/pty.service.js +11 -3
  480. package/dist/server/modules/terminal/services/pty.service.js.map +1 -1
  481. package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.d.ts +1 -1
  482. package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.js +9 -2
  483. package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.js.map +1 -1
  484. package/dist/server/modules/terminal/services/terminal-io/viewport-capture.d.ts +12 -0
  485. package/dist/server/modules/terminal/services/terminal-io/viewport-capture.js +50 -0
  486. package/dist/server/modules/terminal/services/terminal-io/viewport-capture.js.map +1 -0
  487. package/dist/server/modules/terminal/services/terminal-session/terminal-session.d.ts +2 -0
  488. package/dist/server/modules/terminal/services/terminal-session/terminal-session.js +10 -4
  489. package/dist/server/modules/terminal/services/terminal-session/terminal-session.js.map +1 -1
  490. package/dist/server/modules/terminal/services/terminal-viewport/terminal-viewport.facade.d.ts +12 -0
  491. package/dist/server/modules/terminal/services/terminal-viewport/terminal-viewport.facade.js +55 -0
  492. package/dist/server/modules/terminal/services/terminal-viewport/terminal-viewport.facade.js.map +1 -0
  493. package/dist/server/modules/terminal/terminal-viewport.module.d.ts +2 -0
  494. package/dist/server/modules/terminal/terminal-viewport.module.js +24 -0
  495. package/dist/server/modules/terminal/terminal-viewport.module.js.map +1 -0
  496. package/dist/server/templates/3-agents-dev.json +198 -160
  497. package/dist/server/templates/teams-dev.json +285 -225
  498. package/dist/server/tsconfig.tsbuildinfo +1 -1
  499. package/dist/server/ui/assets/{ReviewDetailPage-CobRKQBn.js → ReviewDetailPage-BDisSE9l.js} +1 -1
  500. package/dist/server/ui/assets/{ReviewsPage-Bb6ZmriH.js → ReviewsPage-3puoJiOQ.js} +1 -1
  501. package/dist/server/ui/assets/index-CzMrWNAV.css +32 -0
  502. package/dist/server/ui/assets/index-zlQ1ekQ2.js +1103 -0
  503. package/dist/server/ui/assets/{useReviewSubscription-DzaIaXy7.js → useReviewSubscription-wTrdkdi0.js} +1 -1
  504. package/dist/server/ui/favicon.svg +2 -16
  505. package/dist/server/ui/index.html +2 -2
  506. package/dist/templates/3-agents-dev.json +198 -160
  507. package/dist/templates/teams-dev.json +285 -225
  508. package/package.json +31 -8
  509. package/dist/server/modules/core/services/gemini-trusted-folders.module.d.ts +0 -2
  510. package/dist/server/modules/core/services/gemini-trusted-folders.module.js.map +0 -1
  511. package/dist/server/modules/core/services/gemini-trusted-folders.service.d.ts +0 -26
  512. package/dist/server/modules/core/services/gemini-trusted-folders.service.js +0 -181
  513. package/dist/server/modules/core/services/gemini-trusted-folders.service.js.map +0 -1
  514. package/dist/server/modules/providers/adapters/gemini.adapter.d.ts +0 -27
  515. package/dist/server/modules/providers/adapters/gemini.adapter.js +0 -119
  516. package/dist/server/modules/providers/adapters/gemini.adapter.js.map +0 -1
  517. package/dist/server/modules/session-reader/adapters/gemini-session-reader.adapter.js.map +0 -1
  518. package/dist/server/modules/session-reader/parsers/gemini-json.parser.js +0 -380
  519. package/dist/server/modules/session-reader/parsers/gemini-json.parser.js.map +0 -1
  520. package/dist/server/ui/assets/index-BV_-Jlz8.js +0 -1095
  521. package/dist/server/ui/assets/index-C_ZOt0it.css +0 -32
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.AntigravityMetricsReader = void 0;
7
+ const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
8
+ const logger_1 = require("../../../common/logging/logger");
9
+ const protobuf_wire_1 = require("./protobuf-wire");
10
+ const logger = (0, logger_1.createLogger)('AntigravityMetricsReader');
11
+ const DEFAULT_BUSY_TIMEOUT_MS = 5_000;
12
+ const DEFAULT_OPEN_RETRIES = 3;
13
+ const OPEN_RETRY_DELAY_MS = 50;
14
+ const WRAPPER_FIELD = 1;
15
+ const USAGE_FIELD = 4;
16
+ const USAGE_INPUT = 2;
17
+ const USAGE_OUTPUT_TOTAL = 3;
18
+ const MODEL_ID_FIELD = 19;
19
+ const DISPLAY_NAME_FIELD = 21;
20
+ class AntigravityMetricsReader {
21
+ constructor(options) {
22
+ this.busyTimeoutMs = options?.busyTimeoutMs ?? DEFAULT_BUSY_TIMEOUT_MS;
23
+ this.openRetries = options?.openRetries ?? DEFAULT_OPEN_RETRIES;
24
+ }
25
+ decode(dbPath, providerSessionId) {
26
+ const result = emptyMetrics();
27
+ try {
28
+ this.withDb(dbPath, (db) => {
29
+ if (!this.hasTable(db, 'gen_metadata') || !this.hasTable(db, 'trajectory_meta')) {
30
+ result.warnings.push('agy metrics: DB schema drift — gen_metadata/trajectory_meta missing (token usage unavailable)');
31
+ return;
32
+ }
33
+ const cascade = db.prepare('SELECT cascade_id FROM trajectory_meta LIMIT 1').get();
34
+ if (cascade?.cascade_id && cascade.cascade_id !== providerSessionId) {
35
+ result.warnings.push(`agy metrics: .db conversation id mismatch (cascade_id=${cascade.cascade_id} ≠ providerSessionId=${providerSessionId}) — token usage NOT trusted`);
36
+ return;
37
+ }
38
+ const rows = db
39
+ .prepare('SELECT idx, data FROM gen_metadata ORDER BY idx')
40
+ .all();
41
+ if (rows.length === 0) {
42
+ result.warnings.push('agy metrics: no generation metadata rows — token usage unavailable');
43
+ return;
44
+ }
45
+ let decodedRows = 0;
46
+ for (const row of rows) {
47
+ try {
48
+ const usage = this.decodeRowUsage(row.data, result);
49
+ if (!usage)
50
+ continue;
51
+ result.inputTokens += usage.input;
52
+ result.outputTokens += usage.output;
53
+ result.lastContextTokens = usage.input + usage.output;
54
+ if (usage.modelId)
55
+ result.modelId = usage.modelId;
56
+ if (usage.displayName)
57
+ result.displayName = usage.displayName;
58
+ decodedRows++;
59
+ }
60
+ catch (error) {
61
+ if (error instanceof protobuf_wire_1.ProtobufDecodeError) {
62
+ result.warnings.push(`agy metrics: undecodable protobuf at gen_metadata[${row.idx}] (possible version drift): ${error.message}`);
63
+ continue;
64
+ }
65
+ throw error;
66
+ }
67
+ }
68
+ result.generationCount = decodedRows;
69
+ if (decodedRows === 0 && result.warnings.length === 0) {
70
+ result.warnings.push('agy metrics: no Usage submessage found in any generation — token usage unavailable');
71
+ }
72
+ });
73
+ }
74
+ catch (error) {
75
+ result.warnings.push(`agy metrics: cannot read .db (${String(error?.message ?? error)})`);
76
+ logger.debug({ dbPath, error }, 'agy metrics decode failed');
77
+ }
78
+ return result;
79
+ }
80
+ decodeRowUsage(data, _result) {
81
+ const top = (0, protobuf_wire_1.decodeMessage)(data);
82
+ const wrapper = (0, protobuf_wire_1.getMessage)(top, WRAPPER_FIELD);
83
+ if (!wrapper)
84
+ return null;
85
+ const usage = (0, protobuf_wire_1.getMessage)(wrapper, USAGE_FIELD);
86
+ if (!usage)
87
+ return null;
88
+ return {
89
+ input: (0, protobuf_wire_1.getVarint)(usage, USAGE_INPUT) ?? 0,
90
+ output: (0, protobuf_wire_1.getVarint)(usage, USAGE_OUTPUT_TOTAL) ?? 0,
91
+ modelId: (0, protobuf_wire_1.getString)(wrapper, MODEL_ID_FIELD),
92
+ displayName: (0, protobuf_wire_1.getString)(wrapper, DISPLAY_NAME_FIELD),
93
+ };
94
+ }
95
+ withDb(dbPath, fn) {
96
+ let lastError;
97
+ for (let attempt = 0; attempt <= this.openRetries; attempt++) {
98
+ let db;
99
+ try {
100
+ db = new better_sqlite3_1.default(dbPath, { readonly: true, fileMustExist: true });
101
+ db.pragma(`busy_timeout = ${this.busyTimeoutMs}`);
102
+ return fn(db);
103
+ }
104
+ catch (error) {
105
+ lastError = error;
106
+ const code = error?.code;
107
+ const transient = code === 'SQLITE_BUSY' || code === 'SQLITE_LOCKED';
108
+ if (!transient || attempt === this.openRetries)
109
+ throw error;
110
+ this.sleep(OPEN_RETRY_DELAY_MS * (attempt + 1));
111
+ }
112
+ finally {
113
+ db?.close();
114
+ }
115
+ }
116
+ throw lastError;
117
+ }
118
+ hasTable(db, name) {
119
+ const row = db
120
+ .prepare("SELECT name FROM sqlite_master WHERE type='table' AND name = ?")
121
+ .get(name);
122
+ return row !== undefined;
123
+ }
124
+ sleep(ms) {
125
+ const end = Date.now() + ms;
126
+ while (Date.now() < end) {
127
+ }
128
+ }
129
+ }
130
+ exports.AntigravityMetricsReader = AntigravityMetricsReader;
131
+ function emptyMetrics() {
132
+ return {
133
+ inputTokens: 0,
134
+ outputTokens: 0,
135
+ cacheReadTokens: 0,
136
+ cacheCreationTokens: 0,
137
+ generationCount: 0,
138
+ lastContextTokens: 0,
139
+ warnings: [],
140
+ };
141
+ }
142
+ //# sourceMappingURL=antigravity-metrics.reader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"antigravity-metrics.reader.js","sourceRoot":"","sources":["../../../../src/modules/session-reader/readers/antigravity-metrics.reader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export interface AgyPricingMapping {
2
+ pricingKey: string | null;
3
+ isFree: boolean;
4
+ freeContextWindow?: number;
5
+ }
6
+ export declare function mapAgyModelToPricing(displayName?: string, modelId?: string): AgyPricingMapping | null;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mapAgyModelToPricing = mapAgyModelToPricing;
4
+ const GPT_OSS_CONTEXT_WINDOW = 131_072;
5
+ const FAMILY_RULES = [
6
+ {
7
+ test: /gemini.*3\.5.*flash|gemini-3-flash/,
8
+ mapping: { pricingKey: 'gemini-3.5-flash', isFree: false },
9
+ },
10
+ {
11
+ test: /gemini.*3\.1.*pro|gemini-3-pro/,
12
+ mapping: { pricingKey: 'gemini-3.1-pro-preview', isFree: false },
13
+ },
14
+ {
15
+ test: /claude.*sonnet.*4\.6|sonnet-4-6/,
16
+ mapping: { pricingKey: 'claude-sonnet-4-6', isFree: false },
17
+ },
18
+ {
19
+ test: /claude.*opus.*4\.6|opus-4-6/,
20
+ mapping: { pricingKey: 'claude-opus-4-6', isFree: false },
21
+ },
22
+ {
23
+ test: /gpt-?oss.*120b/,
24
+ mapping: { pricingKey: null, isFree: true, freeContextWindow: GPT_OSS_CONTEXT_WINDOW },
25
+ },
26
+ ];
27
+ function mapAgyModelToPricing(displayName, modelId) {
28
+ const haystack = `${displayName ?? ''} ${modelId ?? ''}`.toLowerCase();
29
+ for (const rule of FAMILY_RULES) {
30
+ if (rule.test.test(haystack))
31
+ return rule.mapping;
32
+ }
33
+ return null;
34
+ }
35
+ //# sourceMappingURL=antigravity-model-pricing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"antigravity-model-pricing.js","sourceRoot":"","sources":["../../../../src/modules/session-reader/readers/antigravity-model-pricing.ts"],"names":[],"mappings":";;AA6DA,oDASC;AAjDD,MAAM,sBAAsB,GAAG,OAAO,CAAC;AAYvC,MAAM,YAAY,GAAwD;IACxE;QACE,IAAI,EAAE,oCAAoC;QAC1C,OAAO,EAAE,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE;KAC3D;IACD;QACE,IAAI,EAAE,gCAAgC;QACtC,OAAO,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,EAAE,KAAK,EAAE;KACjE;IACD;QACE,IAAI,EAAE,iCAAiC;QACvC,OAAO,EAAE,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,EAAE,KAAK,EAAE;KAC5D;IACD;QACE,IAAI,EAAE,6BAA6B;QACnC,OAAO,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,EAAE,KAAK,EAAE;KAC1D;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,sBAAsB,EAAE;KACvF;CACF,CAAC;AAOF,SAAgB,oBAAoB,CAClC,WAAoB,EACpB,OAAgB;IAEhB,MAAM,QAAQ,GAAG,GAAG,WAAW,IAAI,EAAE,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC;IACvE,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC;IACpD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { UnifiedSession } from '../dtos/unified-session.types';
2
+ import type { PricingServiceInterface } from '../services/pricing.interface';
3
+ export interface AntigravityFileStat {
4
+ mtimeMs: number;
5
+ size: number;
6
+ }
7
+ export interface AntigravityFreshness {
8
+ maxUpdated: number;
9
+ jsonl: AntigravityFileStat;
10
+ db: AntigravityFileStat;
11
+ }
12
+ export interface AntigravitySessionRead {
13
+ session: UnifiedSession;
14
+ sizeBytes: number;
15
+ freshness: AntigravityFreshness;
16
+ }
17
+ export declare class AntigravityTranscriptReader {
18
+ private readonly pricing?;
19
+ constructor(pricing?: PricingServiceInterface | undefined);
20
+ resolveJsonlPath(dbPath: string, convId: string): string;
21
+ readSession(dbPath: string, convId: string): Promise<AntigravitySessionRead>;
22
+ getFreshness(dbPath: string, convId: string): Promise<AntigravityFreshness>;
23
+ private statSafe;
24
+ }
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.AntigravityTranscriptReader = void 0;
37
+ const fs = __importStar(require("node:fs/promises"));
38
+ const path = __importStar(require("node:path"));
39
+ const antigravity_jsonl_parser_1 = require("../parsers/antigravity-jsonl.parser");
40
+ const PROVIDER_NAME = 'agy';
41
+ class AntigravityTranscriptReader {
42
+ constructor(pricing) {
43
+ this.pricing = pricing;
44
+ }
45
+ resolveJsonlPath(dbPath, convId) {
46
+ const agyRoot = path.dirname(path.dirname(dbPath));
47
+ return path.join(agyRoot, 'brain', convId, '.system_generated', 'logs', 'transcript_full.jsonl');
48
+ }
49
+ async readSession(dbPath, convId) {
50
+ const jsonlPath = this.resolveJsonlPath(dbPath, convId);
51
+ const parsed = await (0, antigravity_jsonl_parser_1.parseAntigravityJsonl)(jsonlPath, { pricingService: this.pricing });
52
+ const session = {
53
+ id: convId,
54
+ providerName: PROVIDER_NAME,
55
+ filePath: dbPath,
56
+ messages: parsed.messages,
57
+ metrics: parsed.metrics,
58
+ isOngoing: parsed.metrics.isOngoing,
59
+ warnings: parsed.warnings,
60
+ };
61
+ const freshness = await this.getFreshness(dbPath, convId);
62
+ return { session, sizeBytes: parsed.bytesRead, freshness };
63
+ }
64
+ async getFreshness(dbPath, convId) {
65
+ const jsonlPath = this.resolveJsonlPath(dbPath, convId);
66
+ const [jsonl, db] = await Promise.all([this.statSafe(jsonlPath), this.statSafe(dbPath)]);
67
+ return { maxUpdated: Math.max(jsonl.mtimeMs, db.mtimeMs), jsonl, db };
68
+ }
69
+ async statSafe(filePath) {
70
+ try {
71
+ const stat = await fs.stat(filePath);
72
+ return { mtimeMs: stat.mtime.getTime(), size: stat.size };
73
+ }
74
+ catch {
75
+ return { mtimeMs: 0, size: 0 };
76
+ }
77
+ }
78
+ }
79
+ exports.AntigravityTranscriptReader = AntigravityTranscriptReader;
80
+ //# sourceMappingURL=antigravity-transcript.reader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"antigravity-transcript.reader.js","sourceRoot":"","sources":["../../../../src/modules/session-reader/readers/antigravity-transcript.reader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,qDAAuC;AACvC,gDAAkC;AAGlC,kFAA4E;AAE5E,MAAM,aAAa,GAAG,KAAK,CAAC;AA8B5B,MAAa,2BAA2B;IACtC,YAA6B,OAAiC;QAAjC,YAAO,GAAP,OAAO,CAA0B;IAAG,CAAC;IAOlE,gBAAgB,CAAC,MAAc,EAAE,MAAc;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,IAAI,CACd,OAAO,EACP,OAAO,EACP,MAAM,EACN,mBAAmB,EACnB,MAAM,EACN,uBAAuB,CACxB,CAAC;IACJ,CAAC;IAGD,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,MAAc;QAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,MAAM,IAAA,gDAAqB,EAAC,SAAS,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAExF,MAAM,OAAO,GAAmB;YAC9B,EAAE,EAAE,MAAM;YACV,YAAY,EAAE,aAAa;YAE3B,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS;YACnC,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1D,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC;IAC7D,CAAC;IAMD,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,MAAc;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxD,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACzF,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACxE,CAAC;IAGO,KAAK,CAAC,QAAQ,CAAC,QAAgB;QACrC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACjC,CAAC;IACH,CAAC;CACF;AA3DD,kEA2DC"}
@@ -0,0 +1,10 @@
1
+ import { Logger } from '@nestjs/common';
2
+ import type { PricingServiceInterface } from '../services/pricing.interface';
3
+ export declare function mapCopilotModelToPricing(modelId?: string | null): string | null;
4
+ export interface CopilotPricingUsage {
5
+ inputTokens: number;
6
+ outputTokens: number;
7
+ cacheReadTokens: number;
8
+ cacheCreationTokens: number;
9
+ }
10
+ export declare function calculateCopilotMessageCost(modelId: string | null | undefined, usage: CopilotPricingUsage, pricingService: PricingServiceInterface, log?: Pick<Logger, 'warn'>): number;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mapCopilotModelToPricing = mapCopilotModelToPricing;
4
+ exports.calculateCopilotMessageCost = calculateCopilotMessageCost;
5
+ const common_1 = require("@nestjs/common");
6
+ const logger = new common_1.Logger('CopilotModelPricing');
7
+ const FAMILY_RULES = [
8
+ { test: /claude.*haiku.*4[.\-]?5|haiku-4-5/, pricingKey: 'claude-haiku-4-5' },
9
+ { test: /claude.*sonnet.*4[.\-]?5|sonnet-4-5/, pricingKey: 'claude-sonnet-4-5' },
10
+ { test: /claude.*opus.*4[.\-]?5|opus-4-5/, pricingKey: 'claude-opus-4-5' },
11
+ { test: /gpt-?5-?mini/, pricingKey: 'gpt-5-mini' },
12
+ { test: /gpt-?5/, pricingKey: 'gpt-5' },
13
+ { test: /gemini.*2[.\-]?5.*pro/, pricingKey: 'gemini-2.5-pro' },
14
+ { test: /gemini.*2[.\-]?5.*flash/, pricingKey: 'gemini-2.5-flash' },
15
+ ];
16
+ function mapCopilotModelToPricing(modelId) {
17
+ if (!modelId)
18
+ return null;
19
+ const haystack = modelId.trim().toLowerCase();
20
+ if (haystack.length === 0 || haystack === 'auto')
21
+ return null;
22
+ for (const rule of FAMILY_RULES) {
23
+ if (rule.test.test(haystack))
24
+ return rule.pricingKey;
25
+ }
26
+ return null;
27
+ }
28
+ function calculateCopilotMessageCost(modelId, usage, pricingService, log = logger) {
29
+ const pricingKey = mapCopilotModelToPricing(modelId);
30
+ if (!pricingKey) {
31
+ log.warn(`No USD pricing mapping for Copilot model "${modelId ?? ''}" — cost reported as $0 ` +
32
+ `(not folded into parity). Add a family rule in copilot-model-pricing.ts.`);
33
+ return 0;
34
+ }
35
+ return pricingService.calculateMessageCost(pricingKey, usage.inputTokens, usage.outputTokens, usage.cacheReadTokens, usage.cacheCreationTokens);
36
+ }
37
+ //# sourceMappingURL=copilot-model-pricing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copilot-model-pricing.js","sourceRoot":"","sources":["../../../../src/modules/session-reader/readers/copilot-model-pricing.ts"],"names":[],"mappings":";;AAmDA,4DAQC;AAiBD,kEAqBC;AAjGD,2CAAwC;AA2BxC,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,qBAAqB,CAAC,CAAC;AAOjD,MAAM,YAAY,GAAgD;IAGhE,EAAE,IAAI,EAAE,mCAAmC,EAAE,UAAU,EAAE,kBAAkB,EAAE;IAC7E,EAAE,IAAI,EAAE,qCAAqC,EAAE,UAAU,EAAE,mBAAmB,EAAE;IAChF,EAAE,IAAI,EAAE,iCAAiC,EAAE,UAAU,EAAE,iBAAiB,EAAE;IAC1E,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE;IAClD,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE;IACvC,EAAE,IAAI,EAAE,uBAAuB,EAAE,UAAU,EAAE,gBAAgB,EAAE;IAC/D,EAAE,IAAI,EAAE,yBAAyB,EAAE,UAAU,EAAE,kBAAkB,EAAE;CACpE,CAAC;AAOF,SAAgB,wBAAwB,CAAC,OAAuB;IAC9D,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAC9D,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC;IACvD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAiBD,SAAgB,2BAA2B,CACzC,OAAkC,EAClC,KAA0B,EAC1B,cAAuC,EACvC,MAA4B,MAAM;IAElC,MAAM,UAAU,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACrD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,GAAG,CAAC,IAAI,CACN,6CAA6C,OAAO,IAAI,EAAE,0BAA0B;YAClF,0EAA0E,CAC7E,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,cAAc,CAAC,oBAAoB,CACxC,UAAU,EACV,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,eAAe,EACrB,KAAK,CAAC,mBAAmB,CAC1B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,69 @@
1
+ import type { UnifiedSession } from '../dtos/unified-session.types';
2
+ import type { PricingServiceInterface } from '../services/pricing.interface';
3
+ export interface OpencodeFreshness {
4
+ count: number;
5
+ maxUpdated: number;
6
+ }
7
+ export interface OpencodeSessionRead {
8
+ session: UnifiedSession;
9
+ sizeBytes: number;
10
+ freshness: OpencodeFreshness;
11
+ }
12
+ export interface OpencodeSessionCandidate {
13
+ providerSessionId: string;
14
+ directory: string;
15
+ timeCreated: number;
16
+ timeUpdated: number;
17
+ }
18
+ export interface OpencodeReaderOptions {
19
+ maxToolOutputChars?: number;
20
+ busyTimeoutMs?: number;
21
+ openRetries?: number;
22
+ }
23
+ interface SessionRow {
24
+ id: string;
25
+ title: string | null;
26
+ model: string | null;
27
+ agent: string | null;
28
+ parent_id: string | null;
29
+ time_created: number;
30
+ time_updated: number;
31
+ }
32
+ interface MessageRow {
33
+ id: string;
34
+ time_created: number;
35
+ time_updated: number;
36
+ data: string;
37
+ }
38
+ interface PartRow {
39
+ id: string;
40
+ message_id: string;
41
+ time_updated: number;
42
+ data: string;
43
+ }
44
+ export declare class OpencodeSqliteReader {
45
+ private readonly pricing?;
46
+ private readonly maxToolOutputChars;
47
+ private readonly busyTimeoutMs;
48
+ private readonly openRetries;
49
+ constructor(pricing?: PricingServiceInterface | undefined, options?: OpencodeReaderOptions);
50
+ readSession(dbPath: string, providerSessionId: string): OpencodeSessionRead;
51
+ getFreshness(dbPath: string, providerSessionId: string): OpencodeFreshness;
52
+ findSessionCandidates(dbPath: string, params: {
53
+ directory: string;
54
+ startedAtMs: number;
55
+ windowMs: number;
56
+ }): OpencodeSessionCandidate[];
57
+ private withDb;
58
+ private isTransientLock;
59
+ private wrapOpenError;
60
+ private sleep;
61
+ private assertSchema;
62
+ private assertColumns;
63
+ }
64
+ interface NormalizeOptions {
65
+ pricing?: PricingServiceInterface;
66
+ maxToolOutputChars?: number;
67
+ }
68
+ export declare function normalizeOpencodeSession(dbPath: string, sessionRow: SessionRow, messageRows: MessageRow[], partRows: PartRow[], options?: NormalizeOptions): OpencodeSessionRead;
69
+ export {};