devchain-cli 0.25.0 → 0.26.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 (637) hide show
  1. package/README.md +1 -1
  2. package/dist/build-info.json +2 -2
  3. package/dist/cli.js +34 -76
  4. package/dist/drizzle/0094_agent_worktree_lanes.sql +20 -0
  5. package/dist/drizzle/meta/0094_snapshot.json +7810 -0
  6. package/dist/drizzle/meta/_journal.json +7 -0
  7. package/dist/host-cli-pins.json +1 -1
  8. package/dist/host-install/devchain-host-bootstrap.tgz +0 -0
  9. package/dist/host-install/pins.json +2 -1
  10. package/dist/lib/git-owner.js +30 -205
  11. package/dist/lib/git-shim.js +417 -0
  12. package/dist/lib/git-supervisor.js +289 -0
  13. package/dist/lib/host-api-key.js +75 -19
  14. package/dist/lib/local-api.js +4 -2
  15. package/dist/lib/local-app-process.js +77 -0
  16. package/dist/node_modules/@devchain/shared/index.d.ts +1 -0
  17. package/dist/node_modules/@devchain/shared/index.d.ts.map +1 -1
  18. package/dist/node_modules/@devchain/shared/index.js +1 -0
  19. package/dist/node_modules/@devchain/shared/index.js.map +1 -1
  20. package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.d.ts +510 -5
  21. package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.d.ts.map +1 -1
  22. package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.js +55 -0
  23. package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.js.map +1 -1
  24. package/dist/node_modules/@devchain/shared/schemas/index.d.ts +1 -0
  25. package/dist/node_modules/@devchain/shared/schemas/index.d.ts.map +1 -1
  26. package/dist/node_modules/@devchain/shared/schemas/index.js +1 -0
  27. package/dist/node_modules/@devchain/shared/schemas/index.js.map +1 -1
  28. package/dist/node_modules/@devchain/shared/schemas/provider-clis.js +1 -1
  29. package/dist/node_modules/@devchain/shared/schemas/provider-clis.js.map +1 -1
  30. package/dist/node_modules/@devchain/shared/schemas/provider-usage.d.ts +350 -0
  31. package/dist/node_modules/@devchain/shared/schemas/provider-usage.d.ts.map +1 -0
  32. package/dist/node_modules/@devchain/shared/schemas/provider-usage.js +71 -0
  33. package/dist/node_modules/@devchain/shared/schemas/provider-usage.js.map +1 -0
  34. package/dist/node_modules/@devchain/shared/tsconfig.tsbuildinfo +1 -1
  35. package/dist/server/app.module.js +4 -0
  36. package/dist/server/app.module.js.map +1 -1
  37. package/dist/server/common/config/env.config.d.ts +3 -0
  38. package/dist/server/common/config/env.config.js +1 -0
  39. package/dist/server/common/config/env.config.js.map +1 -1
  40. package/dist/server/common/config/host-image.json +3 -3
  41. package/dist/server/common/config/vm-destroy-fence.d.ts +18 -0
  42. package/dist/server/common/config/vm-destroy-fence.js +38 -0
  43. package/dist/server/common/config/vm-destroy-fence.js.map +1 -0
  44. package/dist/server/common/errors/error-types.d.ts +3 -0
  45. package/dist/server/common/errors/error-types.js +10 -1
  46. package/dist/server/common/errors/error-types.js.map +1 -1
  47. package/dist/server/common/git-shim-paths.d.ts +4 -0
  48. package/dist/server/common/git-shim-paths.js +24 -0
  49. package/dist/server/common/git-shim-paths.js.map +1 -0
  50. package/dist/server/common/test/fake-bootstrap.server.d.ts +5 -0
  51. package/dist/server/common/test/fake-bootstrap.server.js +12 -3
  52. package/dist/server/common/test/fake-bootstrap.server.js.map +1 -1
  53. package/dist/server/common/test/shared-vm.stub.d.ts +2 -0
  54. package/dist/server/common/test/shared-vm.stub.js +13 -0
  55. package/dist/server/common/test/shared-vm.stub.js.map +1 -0
  56. package/dist/server/main.js +2 -0
  57. package/dist/server/main.js.map +1 -1
  58. package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js +2 -0
  59. package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js.map +1 -1
  60. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.d.ts +5 -1
  61. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js +11 -2
  62. package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js.map +1 -1
  63. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.d.ts +506 -1
  64. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.js +56 -1
  65. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.js.map +1 -1
  66. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-workspace-access.service.d.ts +1 -0
  67. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-workspace-access.service.js +1 -0
  68. package/dist/server/modules/cloud-tunnel/services/mobile-rpc-workspace-access.service.js.map +1 -1
  69. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js +1 -0
  70. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js.map +1 -1
  71. package/dist/server/modules/events/catalog/broadcast-registry.js +8 -0
  72. package/dist/server/modules/events/catalog/broadcast-registry.js.map +1 -1
  73. package/dist/server/modules/events/catalog/index.d.ts +18 -11
  74. package/dist/server/modules/events/catalog/index.js +3 -0
  75. package/dist/server/modules/events/catalog/index.js.map +1 -1
  76. package/dist/server/modules/events/catalog/provider-usage.updated.d.ts +12 -0
  77. package/dist/server/modules/events/catalog/provider-usage.updated.js +13 -0
  78. package/dist/server/modules/events/catalog/provider-usage.updated.js.map +1 -0
  79. package/dist/server/modules/events/catalog/review.comment.created.d.ts +2 -2
  80. package/dist/server/modules/events/catalog/review.created.d.ts +8 -8
  81. package/dist/server/modules/file-sync/file-sync.dto.d.ts +18 -0
  82. package/dist/server/modules/file-sync/file-sync.dto.js +12 -2
  83. package/dist/server/modules/file-sync/file-sync.dto.js.map +1 -1
  84. package/dist/server/modules/file-sync/file-sync.module.js +17 -2
  85. package/dist/server/modules/file-sync/file-sync.module.js.map +1 -1
  86. package/dist/server/modules/file-sync/file-sync.service.d.ts +4 -0
  87. package/dist/server/modules/file-sync/file-sync.service.js +35 -0
  88. package/dist/server/modules/file-sync/file-sync.service.js.map +1 -1
  89. package/dist/server/modules/file-sync/git-guard.dto.d.ts +0 -21
  90. package/dist/server/modules/file-sync/git-guard.dto.js +1 -7
  91. package/dist/server/modules/file-sync/git-guard.dto.js.map +1 -1
  92. package/dist/server/modules/file-sync/home-git-guard.service.d.ts +3 -0
  93. package/dist/server/modules/file-sync/home-git-guard.service.js +128 -22
  94. package/dist/server/modules/file-sync/home-git-guard.service.js.map +1 -1
  95. package/dist/server/modules/file-sync/host-git-guard.controller.d.ts +3 -1
  96. package/dist/server/modules/file-sync/host-git-guard.controller.js +11 -5
  97. package/dist/server/modules/file-sync/host-git-guard.controller.js.map +1 -1
  98. package/dist/server/modules/file-sync/host-sync.controller.d.ts +11 -7
  99. package/dist/server/modules/file-sync/host-sync.controller.js +53 -20
  100. package/dist/server/modules/file-sync/host-sync.controller.js.map +1 -1
  101. package/dist/server/modules/file-sync/syncthing-launcher.d.ts +1 -0
  102. package/dist/server/modules/file-sync/syncthing-launcher.js +2 -1
  103. package/dist/server/modules/file-sync/syncthing-launcher.js.map +1 -1
  104. package/dist/server/modules/file-sync/testing/fake-file-sync.service.d.ts +2 -1
  105. package/dist/server/modules/file-sync/testing/fake-file-sync.service.js +6 -0
  106. package/dist/server/modules/file-sync/testing/fake-file-sync.service.js.map +1 -1
  107. package/dist/server/modules/git/dtos/git.dto.d.ts +4 -4
  108. package/dist/server/modules/mcp/dtos/mcp.dto.d.ts +95 -1
  109. package/dist/server/modules/mcp/dtos/mcp.dto.js +45 -2
  110. package/dist/server/modules/mcp/dtos/mcp.dto.js.map +1 -1
  111. package/dist/server/modules/mcp/mcp-full.module.js +2 -0
  112. package/dist/server/modules/mcp/mcp-full.module.js.map +1 -1
  113. package/dist/server/modules/mcp/services/handlers/epic-context.d.ts +2 -2
  114. package/dist/server/modules/mcp/services/handlers/epic-tools.js +16 -0
  115. package/dist/server/modules/mcp/services/handlers/epic-tools.js.map +1 -1
  116. package/dist/server/modules/mcp/services/handlers/teams-tools.d.ts +1 -0
  117. package/dist/server/modules/mcp/services/handlers/teams-tools.js +51 -0
  118. package/dist/server/modules/mcp/services/handlers/teams-tools.js.map +1 -1
  119. package/dist/server/modules/mcp/services/handlers/worktree-context.d.ts +6 -0
  120. package/dist/server/modules/mcp/services/handlers/worktree-context.js +3 -0
  121. package/dist/server/modules/mcp/services/handlers/worktree-context.js.map +1 -0
  122. package/dist/server/modules/mcp/services/handlers/worktree-tools.d.ts +7 -0
  123. package/dist/server/modules/mcp/services/handlers/worktree-tools.js +77 -0
  124. package/dist/server/modules/mcp/services/handlers/worktree-tools.js.map +1 -0
  125. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.d.ts +2 -1
  126. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js +6 -2
  127. package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js.map +1 -1
  128. package/dist/server/modules/mcp/tool-descriptors/binding-types.d.ts +4 -2
  129. package/dist/server/modules/mcp/tool-descriptors/binding-types.js.map +1 -1
  130. package/dist/server/modules/mcp/tool-descriptors/epic.metadata.js +2 -2
  131. package/dist/server/modules/mcp/tool-descriptors/epic.metadata.js.map +1 -1
  132. package/dist/server/modules/mcp/tool-descriptors/index.js +2 -0
  133. package/dist/server/modules/mcp/tool-descriptors/index.js.map +1 -1
  134. package/dist/server/modules/mcp/tool-descriptors/runtime-bindings.js +2 -0
  135. package/dist/server/modules/mcp/tool-descriptors/runtime-bindings.js.map +1 -1
  136. package/dist/server/modules/mcp/tool-descriptors/team.bindings.js +1 -0
  137. package/dist/server/modules/mcp/tool-descriptors/team.bindings.js.map +1 -1
  138. package/dist/server/modules/mcp/tool-descriptors/team.metadata.js +33 -0
  139. package/dist/server/modules/mcp/tool-descriptors/team.metadata.js.map +1 -1
  140. package/dist/server/modules/mcp/tool-descriptors/worktree.bindings.d.ts +1 -0
  141. package/dist/server/modules/mcp/tool-descriptors/worktree.bindings.js +20 -0
  142. package/dist/server/modules/mcp/tool-descriptors/worktree.bindings.js.map +1 -0
  143. package/dist/server/modules/mcp/tool-descriptors/worktree.metadata.d.ts +2 -0
  144. package/dist/server/modules/mcp/tool-descriptors/worktree.metadata.js +105 -0
  145. package/dist/server/modules/mcp/tool-descriptors/worktree.metadata.js.map +1 -0
  146. package/dist/server/modules/provider-auth/opencode-credential-family.v2.d.ts +4 -0
  147. package/dist/server/modules/provider-auth/opencode-credential-family.v2.js +41 -0
  148. package/dist/server/modules/provider-auth/opencode-credential-family.v2.js.map +1 -0
  149. package/dist/server/modules/provider-auth/opencode-credentials.d.ts +25 -0
  150. package/dist/server/modules/provider-auth/opencode-credentials.js +102 -0
  151. package/dist/server/modules/provider-auth/opencode-credentials.js.map +1 -0
  152. package/dist/server/modules/provider-auth/opencode-pc-logins.service.d.ts +11 -0
  153. package/dist/server/modules/provider-auth/opencode-pc-logins.service.js +62 -0
  154. package/dist/server/modules/provider-auth/opencode-pc-logins.service.js.map +1 -0
  155. package/dist/server/modules/provider-auth/opencode-pc-logins.v1.d.ts +1 -0
  156. package/dist/server/modules/provider-auth/opencode-pc-logins.v1.js +25 -0
  157. package/dist/server/modules/provider-auth/opencode-pc-logins.v1.js.map +1 -0
  158. package/dist/server/modules/provider-auth/opencode-pc-logins.v2.d.ts +3 -0
  159. package/dist/server/modules/provider-auth/opencode-pc-logins.v2.js +25 -0
  160. package/dist/server/modules/provider-auth/opencode-pc-logins.v2.js.map +1 -0
  161. package/dist/server/modules/provider-auth/provider-auth-adapters.d.ts +4 -1
  162. package/dist/server/modules/provider-auth/provider-auth-adapters.js +65 -33
  163. package/dist/server/modules/provider-auth/provider-auth-adapters.js.map +1 -1
  164. package/dist/server/modules/provider-auth/provider-auth-generator.service.d.ts +3 -1
  165. package/dist/server/modules/provider-auth/provider-auth-generator.service.js +12 -6
  166. package/dist/server/modules/provider-auth/provider-auth-generator.service.js.map +1 -1
  167. package/dist/server/modules/provider-auth/provider-auth-vault.service.d.ts +3 -2
  168. package/dist/server/modules/provider-auth/provider-auth-vault.service.js +8 -25
  169. package/dist/server/modules/provider-auth/provider-auth-vault.service.js.map +1 -1
  170. package/dist/server/modules/provider-auth/provider-auth-watcher.service.d.ts +5 -1
  171. package/dist/server/modules/provider-auth/provider-auth-watcher.service.js +32 -1
  172. package/dist/server/modules/provider-auth/provider-auth-watcher.service.js.map +1 -1
  173. package/dist/server/modules/provider-auth/provider-auth.module.js +4 -0
  174. package/dist/server/modules/provider-auth/provider-auth.module.js.map +1 -1
  175. package/dist/server/modules/provider-usage/checkers/agy.checker.d.ts +15 -0
  176. package/dist/server/modules/provider-usage/checkers/agy.checker.js +129 -0
  177. package/dist/server/modules/provider-usage/checkers/agy.checker.js.map +1 -0
  178. package/dist/server/modules/provider-usage/checkers/checker-helpers.d.ts +4 -0
  179. package/dist/server/modules/provider-usage/checkers/checker-helpers.js +12 -0
  180. package/dist/server/modules/provider-usage/checkers/checker-helpers.js.map +1 -0
  181. package/dist/server/modules/provider-usage/checkers/claude-login.checker.d.ts +10 -0
  182. package/dist/server/modules/provider-usage/checkers/claude-login.checker.js +92 -0
  183. package/dist/server/modules/provider-usage/checkers/claude-login.checker.js.map +1 -0
  184. package/dist/server/modules/provider-usage/checkers/claude-token.checker.d.ts +5 -0
  185. package/dist/server/modules/provider-usage/checkers/claude-token.checker.js +80 -0
  186. package/dist/server/modules/provider-usage/checkers/claude-token.checker.js.map +1 -0
  187. package/dist/server/modules/provider-usage/checkers/claude-usage-parser.d.ts +12 -0
  188. package/dist/server/modules/provider-usage/checkers/claude-usage-parser.js +113 -0
  189. package/dist/server/modules/provider-usage/checkers/claude-usage-parser.js.map +1 -0
  190. package/dist/server/modules/provider-usage/checkers/codex.checker.d.ts +7 -0
  191. package/dist/server/modules/provider-usage/checkers/codex.checker.js +159 -0
  192. package/dist/server/modules/provider-usage/checkers/codex.checker.js.map +1 -0
  193. package/dist/server/modules/provider-usage/checkers/private-cwd.d.ts +1 -0
  194. package/dist/server/modules/provider-usage/checkers/private-cwd.js +8 -0
  195. package/dist/server/modules/provider-usage/checkers/private-cwd.js.map +1 -0
  196. package/dist/server/modules/provider-usage/controllers/provider-usage.controller.d.ts +7 -0
  197. package/dist/server/modules/provider-usage/controllers/provider-usage.controller.js +51 -0
  198. package/dist/server/modules/provider-usage/controllers/provider-usage.controller.js.map +1 -0
  199. package/dist/server/modules/provider-usage/provider-usage.module.d.ts +2 -0
  200. package/dist/server/modules/provider-usage/provider-usage.module.js +58 -0
  201. package/dist/server/modules/provider-usage/provider-usage.module.js.map +1 -0
  202. package/dist/server/modules/provider-usage/provider-usage.types.d.ts +26 -0
  203. package/dist/server/modules/provider-usage/provider-usage.types.js +5 -0
  204. package/dist/server/modules/provider-usage/provider-usage.types.js.map +1 -0
  205. package/dist/server/modules/provider-usage/services/provider-usage-accounts.d.ts +5 -0
  206. package/dist/server/modules/provider-usage/services/provider-usage-accounts.js +94 -0
  207. package/dist/server/modules/provider-usage/services/provider-usage-accounts.js.map +1 -0
  208. package/dist/server/modules/provider-usage/services/provider-usage-accounts.service.d.ts +23 -0
  209. package/dist/server/modules/provider-usage/services/provider-usage-accounts.service.js +81 -0
  210. package/dist/server/modules/provider-usage/services/provider-usage-accounts.service.js.map +1 -0
  211. package/dist/server/modules/provider-usage/services/provider-usage.service.d.ts +37 -0
  212. package/dist/server/modules/provider-usage/services/provider-usage.service.js +262 -0
  213. package/dist/server/modules/provider-usage/services/provider-usage.service.js.map +1 -0
  214. package/dist/server/modules/providers/adapters/capabilities/index.d.ts +2 -2
  215. package/dist/server/modules/providers/adapters/capabilities/index.js +2 -1
  216. package/dist/server/modules/providers/adapters/capabilities/index.js.map +1 -1
  217. package/dist/server/modules/providers/adapters/capabilities/provider-plugin.capability.d.ts +16 -2
  218. package/dist/server/modules/providers/adapters/capabilities/session-command.capability.d.ts +5 -0
  219. package/dist/server/modules/providers/adapters/capabilities/session-command.capability.js +3 -0
  220. package/dist/server/modules/providers/adapters/capabilities/session-command.capability.js.map +1 -0
  221. package/dist/server/modules/providers/adapters/capabilities/type-guards.d.ts +4 -1
  222. package/dist/server/modules/providers/adapters/capabilities/type-guards.js +5 -3
  223. package/dist/server/modules/providers/adapters/capabilities/type-guards.js.map +1 -1
  224. package/dist/server/modules/providers/adapters/claude.adapter.d.ts +6 -3
  225. package/dist/server/modules/providers/adapters/claude.adapter.js +7 -2
  226. package/dist/server/modules/providers/adapters/claude.adapter.js.map +1 -1
  227. package/dist/server/modules/providers/adapters/codex.adapter.d.ts +6 -6
  228. package/dist/server/modules/providers/adapters/codex.adapter.js +47 -41
  229. package/dist/server/modules/providers/adapters/codex.adapter.js.map +1 -1
  230. package/dist/server/modules/providers/adapters/opencode-cli-version.d.ts +13 -0
  231. package/dist/server/modules/providers/adapters/opencode-cli-version.js +24 -0
  232. package/dist/server/modules/providers/adapters/opencode-cli-version.js.map +1 -0
  233. package/dist/server/modules/providers/adapters/opencode-config-content.d.ts +1 -0
  234. package/dist/server/modules/providers/adapters/opencode-config-content.js +43 -0
  235. package/dist/server/modules/providers/adapters/opencode-config-content.js.map +1 -0
  236. package/dist/server/modules/providers/adapters/opencode-launch.v1.d.ts +4 -0
  237. package/dist/server/modules/providers/adapters/opencode-launch.v1.js +10 -0
  238. package/dist/server/modules/providers/adapters/opencode-launch.v1.js.map +1 -0
  239. package/dist/server/modules/providers/adapters/opencode-launch.v2.d.ts +2 -0
  240. package/dist/server/modules/providers/adapters/opencode-launch.v2.js +18 -0
  241. package/dist/server/modules/providers/adapters/opencode-launch.v2.js.map +1 -0
  242. package/dist/server/modules/providers/adapters/opencode.adapter.d.ts +3 -4
  243. package/dist/server/modules/providers/adapters/opencode.adapter.js +11 -42
  244. package/dist/server/modules/providers/adapters/opencode.adapter.js.map +1 -1
  245. package/dist/server/modules/providers/adapters/plugin-catalog.utils.d.ts +3 -0
  246. package/dist/server/modules/providers/adapters/plugin-catalog.utils.js +10 -0
  247. package/dist/server/modules/providers/adapters/plugin-catalog.utils.js.map +1 -1
  248. package/dist/server/modules/providers/adapters/provider-adapter.interface.d.ts +9 -3
  249. package/dist/server/modules/providers/adapters/provider-cli-policy.d.ts +3 -0
  250. package/dist/server/modules/providers/adapters/provider-cli-policy.js +8 -0
  251. package/dist/server/modules/providers/adapters/provider-cli-policy.js.map +1 -1
  252. package/dist/server/modules/providers/controllers/provider-models.controller.d.ts +3 -1
  253. package/dist/server/modules/providers/controllers/provider-models.controller.js +18 -3
  254. package/dist/server/modules/providers/controllers/provider-models.controller.js.map +1 -1
  255. package/dist/server/modules/providers/providers.module.js +5 -0
  256. package/dist/server/modules/providers/providers.module.js.map +1 -1
  257. package/dist/server/modules/providers/services/codex-app-server.client.d.ts +11 -0
  258. package/dist/server/modules/providers/services/codex-app-server.client.js +129 -0
  259. package/dist/server/modules/providers/services/codex-app-server.client.js.map +1 -0
  260. package/dist/server/modules/providers/services/provider-cli-version-probe.module.d.ts +2 -0
  261. package/dist/server/modules/providers/services/provider-cli-version-probe.module.js +23 -0
  262. package/dist/server/modules/providers/services/provider-cli-version-probe.module.js.map +1 -0
  263. package/dist/server/modules/providers/services/provider-cli-version-probe.service.d.ts +8 -0
  264. package/dist/server/modules/providers/services/provider-cli-version-probe.service.js +65 -0
  265. package/dist/server/modules/providers/services/provider-cli-version-probe.service.js.map +1 -0
  266. package/dist/server/modules/providers/services/provider-plugins.service.d.ts +5 -1
  267. package/dist/server/modules/providers/services/provider-plugins.service.js +43 -16
  268. package/dist/server/modules/providers/services/provider-plugins.service.js.map +1 -1
  269. package/dist/server/modules/providers/utils/codex-config.d.ts +9 -0
  270. package/dist/server/modules/providers/utils/codex-config.js +34 -16
  271. package/dist/server/modules/providers/utils/codex-config.js.map +1 -1
  272. package/dist/server/modules/providers/utils/private-cwd.d.ts +1 -0
  273. package/dist/server/modules/providers/utils/private-cwd.js +12 -0
  274. package/dist/server/modules/providers/utils/private-cwd.js.map +1 -0
  275. package/dist/server/modules/remotes/contract/host-routes.d.ts +2180 -35
  276. package/dist/server/modules/remotes/contract/host-routes.js +168 -16
  277. package/dist/server/modules/remotes/contract/host-routes.js.map +1 -1
  278. package/dist/server/modules/remotes/controllers/home-shared-vm-notices.controller.d.ts +10 -0
  279. package/dist/server/modules/remotes/controllers/home-shared-vm-notices.controller.js +59 -0
  280. package/dist/server/modules/remotes/controllers/home-shared-vm-notices.controller.js.map +1 -0
  281. package/dist/server/modules/remotes/controllers/remotes.controller.js +1 -0
  282. package/dist/server/modules/remotes/controllers/remotes.controller.js.map +1 -1
  283. package/dist/server/modules/remotes/dtos/remote-notices.dto.d.ts +4 -0
  284. package/dist/server/modules/remotes/dtos/remote-notices.dto.js +3 -0
  285. package/dist/server/modules/remotes/dtos/remote-notices.dto.js.map +1 -0
  286. package/dist/server/modules/remotes/dtos/remote.dto.d.ts +2 -0
  287. package/dist/server/modules/remotes/dtos/remote.dto.js.map +1 -1
  288. package/dist/server/modules/remotes/dtos/shared-vm.dto.d.ts +488 -0
  289. package/dist/server/modules/remotes/dtos/shared-vm.dto.js +60 -0
  290. package/dist/server/modules/remotes/dtos/shared-vm.dto.js.map +1 -0
  291. package/dist/server/modules/remotes/git-coordinator/git-checkpoint.d.ts +5 -0
  292. package/dist/server/modules/remotes/git-coordinator/git-checkpoint.js +95 -0
  293. package/dist/server/modules/remotes/git-coordinator/git-checkpoint.js.map +1 -0
  294. package/dist/server/modules/remotes/git-coordinator/git-coordinator-index.service.d.ts +18 -0
  295. package/dist/server/modules/remotes/git-coordinator/git-coordinator-index.service.js +192 -0
  296. package/dist/server/modules/remotes/git-coordinator/git-coordinator-index.service.js.map +1 -0
  297. package/dist/server/modules/remotes/git-coordinator/git-coordinator.dto.d.ts +519 -0
  298. package/dist/server/modules/remotes/git-coordinator/git-coordinator.dto.js +104 -0
  299. package/dist/server/modules/remotes/git-coordinator/git-coordinator.dto.js.map +1 -0
  300. package/dist/server/modules/remotes/git-coordinator/git-coordinator.service.d.ts +66 -0
  301. package/dist/server/modules/remotes/git-coordinator/git-coordinator.service.js +555 -0
  302. package/dist/server/modules/remotes/git-coordinator/git-coordinator.service.js.map +1 -0
  303. package/dist/server/modules/remotes/git-coordinator/git-coordinator.store.d.ts +11 -0
  304. package/dist/server/modules/remotes/git-coordinator/git-coordinator.store.js +69 -0
  305. package/dist/server/modules/remotes/git-coordinator/git-coordinator.store.js.map +1 -0
  306. package/dist/server/modules/remotes/git-coordinator/git-process-identity.d.ts +3 -0
  307. package/dist/server/modules/remotes/git-coordinator/git-process-identity.js +71 -0
  308. package/dist/server/modules/remotes/git-coordinator/git-process-identity.js.map +1 -0
  309. package/dist/server/modules/remotes/git-coordinator/host-git-coordinator.controller.d.ts +19 -0
  310. package/dist/server/modules/remotes/git-coordinator/host-git-coordinator.controller.js +181 -0
  311. package/dist/server/modules/remotes/git-coordinator/host-git-coordinator.controller.js.map +1 -0
  312. package/dist/server/modules/remotes/git-coordinator/loopback.d.ts +2 -0
  313. package/dist/server/modules/remotes/git-coordinator/loopback.js +10 -0
  314. package/dist/server/modules/remotes/git-coordinator/loopback.js.map +1 -0
  315. package/dist/server/modules/remotes/git-coordinator/vm-git-coordinator.controller.d.ts +9 -0
  316. package/dist/server/modules/remotes/git-coordinator/vm-git-coordinator.controller.js +66 -0
  317. package/dist/server/modules/remotes/git-coordinator/vm-git-coordinator.controller.js.map +1 -0
  318. package/dist/server/modules/remotes/git-owner.store.d.ts +102 -1
  319. package/dist/server/modules/remotes/git-owner.store.js +37 -11
  320. package/dist/server/modules/remotes/git-owner.store.js.map +1 -1
  321. package/dist/server/modules/remotes/git-shim/git-shim-registry.service.d.ts +31 -0
  322. package/dist/server/modules/remotes/git-shim/git-shim-registry.service.js +175 -0
  323. package/dist/server/modules/remotes/git-shim/git-shim-registry.service.js.map +1 -0
  324. package/dist/server/modules/remotes/git-writes/change-barrier.d.ts +16 -0
  325. package/dist/server/modules/remotes/git-writes/change-barrier.js +40 -0
  326. package/dist/server/modules/remotes/git-writes/change-barrier.js.map +1 -0
  327. package/dist/server/modules/remotes/git-writes/home-git-handover.service.d.ts +42 -0
  328. package/dist/server/modules/remotes/git-writes/home-git-handover.service.js +349 -0
  329. package/dist/server/modules/remotes/git-writes/home-git-handover.service.js.map +1 -0
  330. package/dist/server/modules/remotes/git-writes/home-git-transitions.d.ts +16 -0
  331. package/dist/server/modules/remotes/git-writes/home-git-transitions.js +12 -0
  332. package/dist/server/modules/remotes/git-writes/home-git-transitions.js.map +1 -0
  333. package/dist/server/modules/remotes/git-writes/home-git-write.controller.d.ts +10 -0
  334. package/dist/server/modules/remotes/git-writes/home-git-write.controller.js +74 -0
  335. package/dist/server/modules/remotes/git-writes/home-git-write.controller.js.map +1 -0
  336. package/dist/server/modules/remotes/git-writes/home-git-write.service.d.ts +72 -0
  337. package/dist/server/modules/remotes/git-writes/home-git-write.service.js +481 -0
  338. package/dist/server/modules/remotes/git-writes/home-git-write.service.js.map +1 -0
  339. package/dist/server/modules/remotes/git-writes/home-git-write.store.d.ts +39 -0
  340. package/dist/server/modules/remotes/git-writes/home-git-write.store.js +78 -0
  341. package/dist/server/modules/remotes/git-writes/home-git-write.store.js.map +1 -0
  342. package/dist/server/modules/remotes/host/host-helper.dto.d.ts +4 -0
  343. package/dist/server/modules/remotes/host/host-helper.dto.js +14 -1
  344. package/dist/server/modules/remotes/host/host-helper.dto.js.map +1 -1
  345. package/dist/server/modules/remotes/host/host-helper.service.d.ts +5 -1
  346. package/dist/server/modules/remotes/host/host-helper.service.js +9 -3
  347. package/dist/server/modules/remotes/host/host-helper.service.js.map +1 -1
  348. package/dist/server/modules/remotes/host/host-opencode-credentials.v2.d.ts +7 -0
  349. package/dist/server/modules/remotes/host/host-opencode-credentials.v2.js +46 -0
  350. package/dist/server/modules/remotes/host/host-opencode-credentials.v2.js.map +1 -0
  351. package/dist/server/modules/remotes/host/host-provider-auth.service.d.ts +11 -2
  352. package/dist/server/modules/remotes/host/host-provider-auth.service.js +92 -14
  353. package/dist/server/modules/remotes/host/host-provider-auth.service.js.map +1 -1
  354. package/dist/server/modules/remotes/host/host-provider-usage-revision.d.ts +2 -0
  355. package/dist/server/modules/remotes/host/host-provider-usage-revision.js +11 -0
  356. package/dist/server/modules/remotes/host/host-provider-usage-revision.js.map +1 -0
  357. package/dist/server/modules/remotes/host/host-provider-usage-settings.controller.d.ts +11 -0
  358. package/dist/server/modules/remotes/host/host-provider-usage-settings.controller.js +62 -0
  359. package/dist/server/modules/remotes/host/host-provider-usage-settings.controller.js.map +1 -0
  360. package/dist/server/modules/remotes/host/host-provider-usage-settings.service.d.ts +9 -0
  361. package/dist/server/modules/remotes/host/host-provider-usage-settings.service.js +35 -0
  362. package/dist/server/modules/remotes/host/host-provider-usage-settings.service.js.map +1 -0
  363. package/dist/server/modules/remotes/host/host-shared-vm.controller.d.ts +24 -0
  364. package/dist/server/modules/remotes/host/host-shared-vm.controller.js +183 -0
  365. package/dist/server/modules/remotes/host/host-shared-vm.controller.js.map +1 -0
  366. package/dist/server/modules/remotes/host/host-shared-vm.service.d.ts +28 -0
  367. package/dist/server/modules/remotes/host/host-shared-vm.service.js +159 -0
  368. package/dist/server/modules/remotes/host/host-shared-vm.service.js.map +1 -0
  369. package/dist/server/modules/remotes/host/host-shared-vm.store.d.ts +18 -0
  370. package/dist/server/modules/remotes/host/host-shared-vm.store.js +105 -0
  371. package/dist/server/modules/remotes/host/host-shared-vm.store.js.map +1 -0
  372. package/dist/server/modules/remotes/host/host-update.controller.js +3 -3
  373. package/dist/server/modules/remotes/host/host-update.controller.js.map +1 -1
  374. package/dist/server/modules/remotes/host/host.service.d.ts +3 -1
  375. package/dist/server/modules/remotes/host/host.service.js +9 -2
  376. package/dist/server/modules/remotes/host/host.service.js.map +1 -1
  377. package/dist/server/modules/remotes/host/shared-vm.contract.d.ts +184 -0
  378. package/dist/server/modules/remotes/host/shared-vm.contract.js +44 -0
  379. package/dist/server/modules/remotes/host/shared-vm.contract.js.map +1 -0
  380. package/dist/server/modules/remotes/host-install/host-install-block.d.ts +2 -0
  381. package/dist/server/modules/remotes/host-install/host-install-block.js +3 -2
  382. package/dist/server/modules/remotes/host-install/host-install-block.js.map +1 -1
  383. package/dist/server/modules/remotes/host-install/host-install.service.d.ts +2 -0
  384. package/dist/server/modules/remotes/host-install/host-install.service.js +10 -0
  385. package/dist/server/modules/remotes/host-install/host-install.service.js.map +1 -1
  386. package/dist/server/modules/remotes/host-install/host-join-block.d.ts +16 -0
  387. package/dist/server/modules/remotes/host-install/host-join-block.js +122 -0
  388. package/dist/server/modules/remotes/host-install/host-join-block.js.map +1 -0
  389. package/dist/server/modules/remotes/host-install/ssh-runner.d.ts +1 -0
  390. package/dist/server/modules/remotes/host-install/ssh-runner.js +2 -2
  391. package/dist/server/modules/remotes/host-install/ssh-runner.js.map +1 -1
  392. package/dist/server/modules/remotes/operations/attach.operation.d.ts +9 -2
  393. package/dist/server/modules/remotes/operations/attach.operation.js +38 -11
  394. package/dist/server/modules/remotes/operations/attach.operation.js.map +1 -1
  395. package/dist/server/modules/remotes/operations/claim.operation.d.ts +4 -0
  396. package/dist/server/modules/remotes/operations/claim.operation.js +15 -0
  397. package/dist/server/modules/remotes/operations/claim.operation.js.map +1 -1
  398. package/dist/server/modules/remotes/operations/claude-user-instructions.d.ts +2 -0
  399. package/dist/server/modules/remotes/operations/claude-user-instructions.js +23 -0
  400. package/dist/server/modules/remotes/operations/claude-user-instructions.js.map +1 -0
  401. package/dist/server/modules/remotes/operations/destroy-vm.operation.d.ts +4 -2
  402. package/dist/server/modules/remotes/operations/destroy-vm.operation.js +43 -23
  403. package/dist/server/modules/remotes/operations/destroy-vm.operation.js.map +1 -1
  404. package/dist/server/modules/remotes/operations/detach.operation.d.ts +12 -1
  405. package/dist/server/modules/remotes/operations/detach.operation.js +106 -29
  406. package/dist/server/modules/remotes/operations/detach.operation.js.map +1 -1
  407. package/dist/server/modules/remotes/operations/disconnect-all.operation.d.ts +50 -0
  408. package/dist/server/modules/remotes/operations/disconnect-all.operation.js +222 -0
  409. package/dist/server/modules/remotes/operations/disconnect-all.operation.js.map +1 -0
  410. package/dist/server/modules/remotes/operations/file-sync-handoff.d.ts +3 -1
  411. package/dist/server/modules/remotes/operations/file-sync-handoff.js +69 -68
  412. package/dist/server/modules/remotes/operations/file-sync-handoff.js.map +1 -1
  413. package/dist/server/modules/remotes/operations/git-owner.dto.d.ts +10 -44
  414. package/dist/server/modules/remotes/operations/git-owner.dto.js +1 -12
  415. package/dist/server/modules/remotes/operations/git-owner.dto.js.map +1 -1
  416. package/dist/server/modules/remotes/operations/guarded-vm-destroy.d.ts +2 -0
  417. package/dist/server/modules/remotes/operations/guarded-vm-destroy.js +14 -0
  418. package/dist/server/modules/remotes/operations/guarded-vm-destroy.js.map +1 -1
  419. package/dist/server/modules/remotes/operations/install-host.operation.d.ts +21 -1
  420. package/dist/server/modules/remotes/operations/install-host.operation.js +285 -27
  421. package/dist/server/modules/remotes/operations/install-host.operation.js.map +1 -1
  422. package/dist/server/modules/remotes/operations/remote-host.client.d.ts +51 -12
  423. package/dist/server/modules/remotes/operations/remote-host.client.js +129 -23
  424. package/dist/server/modules/remotes/operations/remote-host.client.js.map +1 -1
  425. package/dist/server/modules/remotes/operations/remote-operation.dto.d.ts +161 -0
  426. package/dist/server/modules/remotes/operations/remote-operation.dto.js +12 -1
  427. package/dist/server/modules/remotes/operations/remote-operation.dto.js.map +1 -1
  428. package/dist/server/modules/remotes/operations/remote-operation.runner.d.ts +4 -2
  429. package/dist/server/modules/remotes/operations/remote-operation.runner.js +53 -9
  430. package/dist/server/modules/remotes/operations/remote-operation.runner.js.map +1 -1
  431. package/dist/server/modules/remotes/operations/remote-operation.types.d.ts +6 -3
  432. package/dist/server/modules/remotes/operations/remote-operation.types.js +10 -1
  433. package/dist/server/modules/remotes/operations/remote-operation.types.js.map +1 -1
  434. package/dist/server/modules/remotes/operations/remote-operations.controller.d.ts +2 -3
  435. package/dist/server/modules/remotes/operations/remote-operations.controller.js +20 -25
  436. package/dist/server/modules/remotes/operations/remote-operations.controller.js.map +1 -1
  437. package/dist/server/modules/remotes/operations/remote-operations.service.d.ts +11 -9
  438. package/dist/server/modules/remotes/operations/remote-operations.service.js +123 -118
  439. package/dist/server/modules/remotes/operations/remote-operations.service.js.map +1 -1
  440. package/dist/server/modules/remotes/operations/remote-worktree-guard.d.ts +16 -0
  441. package/dist/server/modules/remotes/operations/remote-worktree-guard.js +100 -0
  442. package/dist/server/modules/remotes/operations/remote-worktree-guard.js.map +1 -0
  443. package/dist/server/modules/remotes/operations/reset-vm.operation.d.ts +15 -2
  444. package/dist/server/modules/remotes/operations/reset-vm.operation.js +115 -15
  445. package/dist/server/modules/remotes/operations/reset-vm.operation.js.map +1 -1
  446. package/dist/server/modules/remotes/operations/update-host.operation.d.ts +2 -0
  447. package/dist/server/modules/remotes/operations/update-host.operation.js +11 -5
  448. package/dist/server/modules/remotes/operations/update-host.operation.js.map +1 -1
  449. package/dist/server/modules/remotes/operations/vm-operations.controller.d.ts +5 -1
  450. package/dist/server/modules/remotes/operations/vm-operations.controller.js +36 -2
  451. package/dist/server/modules/remotes/operations/vm-operations.controller.js.map +1 -1
  452. package/dist/server/modules/remotes/operations/vm-operations.dto.d.ts +150 -0
  453. package/dist/server/modules/remotes/operations/vm-operations.dto.js +9 -1
  454. package/dist/server/modules/remotes/operations/vm-operations.dto.js.map +1 -1
  455. package/dist/server/modules/remotes/operations/vm-operations.service.d.ts +3 -1
  456. package/dist/server/modules/remotes/operations/vm-operations.service.js +38 -15
  457. package/dist/server/modules/remotes/operations/vm-operations.service.js.map +1 -1
  458. package/dist/server/modules/remotes/ports/remote-health.port.d.ts +2 -0
  459. package/dist/server/modules/remotes/ports/remote-health.port.js.map +1 -1
  460. package/dist/server/modules/remotes/remotes.module.js +53 -2
  461. package/dist/server/modules/remotes/remotes.module.js.map +1 -1
  462. package/dist/server/modules/remotes/services/home-shared-vm-notices.service.d.ts +18 -0
  463. package/dist/server/modules/remotes/services/home-shared-vm-notices.service.js +81 -0
  464. package/dist/server/modules/remotes/services/home-shared-vm-notices.service.js.map +1 -0
  465. package/dist/server/modules/remotes/services/remote-forced-detach.service.d.ts +11 -0
  466. package/dist/server/modules/remotes/services/remote-forced-detach.service.js +69 -0
  467. package/dist/server/modules/remotes/services/remote-forced-detach.service.js.map +1 -0
  468. package/dist/server/modules/remotes/services/remote-forced-detach.store.d.ts +23 -0
  469. package/dist/server/modules/remotes/services/remote-forced-detach.store.js +73 -0
  470. package/dist/server/modules/remotes/services/remote-forced-detach.store.js.map +1 -0
  471. package/dist/server/modules/remotes/services/remote-health.service.d.ts +7 -1
  472. package/dist/server/modules/remotes/services/remote-health.service.js +41 -4
  473. package/dist/server/modules/remotes/services/remote-health.service.js.map +1 -1
  474. package/dist/server/modules/remotes/services/remote-provider-usage-settings.service.d.ts +13 -0
  475. package/dist/server/modules/remotes/services/remote-provider-usage-settings.service.js +57 -0
  476. package/dist/server/modules/remotes/services/remote-provider-usage-settings.service.js.map +1 -0
  477. package/dist/server/modules/remotes/services/remote-shared-vm.service.d.ts +37 -0
  478. package/dist/server/modules/remotes/services/remote-shared-vm.service.js +184 -0
  479. package/dist/server/modules/remotes/services/remote-shared-vm.service.js.map +1 -0
  480. package/dist/server/modules/remotes/services/remote-shared-vm.store.d.ts +11 -0
  481. package/dist/server/modules/remotes/services/remote-shared-vm.store.js +75 -0
  482. package/dist/server/modules/remotes/services/remote-shared-vm.store.js.map +1 -0
  483. package/dist/server/modules/remotes/sync/remote-file-sync.service.d.ts +5 -1
  484. package/dist/server/modules/remotes/sync/remote-file-sync.service.js +95 -41
  485. package/dist/server/modules/remotes/sync/remote-file-sync.service.js.map +1 -1
  486. package/dist/server/modules/remotes/time/project-time-settler.dto.d.ts +2 -2
  487. package/dist/server/modules/remotes/transport/host-transport.d.ts +2 -0
  488. package/dist/server/modules/remotes/transport/host-transport.js +7 -0
  489. package/dist/server/modules/remotes/transport/host-transport.js.map +1 -1
  490. package/dist/server/modules/reviews/dtos/review.dto.d.ts +2 -2
  491. package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.d.ts +5 -1
  492. package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.js +25 -5
  493. package/dist/server/modules/runtime-context-capture/codex-plugin-profile-materializer.service.js.map +1 -1
  494. package/dist/server/modules/session-reader/__fixtures__/opencode-fixture-db.d.ts +6 -4
  495. package/dist/server/modules/session-reader/__fixtures__/opencode-fixture-db.js +17 -20
  496. package/dist/server/modules/session-reader/__fixtures__/opencode-fixture-db.js.map +1 -1
  497. package/dist/server/modules/session-reader/__fixtures__/opencode-v2-fixture-db.d.ts +61 -0
  498. package/dist/server/modules/session-reader/__fixtures__/opencode-v2-fixture-db.js +250 -0
  499. package/dist/server/modules/session-reader/__fixtures__/opencode-v2-fixture-db.js.map +1 -0
  500. package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.d.ts +1 -0
  501. package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.js +1 -0
  502. package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.js.map +1 -1
  503. package/dist/server/modules/session-reader/adapters/opencode-session-reader.adapter.d.ts +3 -1
  504. package/dist/server/modules/session-reader/adapters/opencode-session-reader.adapter.js +34 -13
  505. package/dist/server/modules/session-reader/adapters/opencode-session-reader.adapter.js.map +1 -1
  506. package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.d.ts +1 -0
  507. package/dist/server/modules/session-reader/data/pricing.json +302 -61
  508. package/dist/server/modules/session-reader/readers/opencode-sqlite.db.d.ts +73 -0
  509. package/dist/server/modules/session-reader/readers/opencode-sqlite.db.js +176 -0
  510. package/dist/server/modules/session-reader/readers/opencode-sqlite.db.js.map +1 -0
  511. package/dist/server/modules/session-reader/readers/opencode-sqlite.v1.reader.d.ts +45 -0
  512. package/dist/server/modules/session-reader/readers/{opencode-sqlite.reader.js → opencode-sqlite.v1.reader.js} +171 -164
  513. package/dist/server/modules/session-reader/readers/opencode-sqlite.v1.reader.js.map +1 -0
  514. package/dist/server/modules/session-reader/readers/opencode-sqlite.v2.reader.d.ts +15 -0
  515. package/dist/server/modules/session-reader/readers/opencode-sqlite.v2.reader.js +474 -0
  516. package/dist/server/modules/session-reader/readers/opencode-sqlite.v2.reader.js.map +1 -0
  517. package/dist/server/modules/session-reader/services/pricing.interface.d.ts +1 -0
  518. package/dist/server/modules/session-reader/services/pricing.interface.js.map +1 -1
  519. package/dist/server/modules/session-reader/services/pricing.service.d.ts +1 -0
  520. package/dist/server/modules/session-reader/services/pricing.service.js +3 -0
  521. package/dist/server/modules/session-reader/services/pricing.service.js.map +1 -1
  522. package/dist/server/modules/session-reader/services/session-reader.service.js +6 -1
  523. package/dist/server/modules/session-reader/services/session-reader.service.js.map +1 -1
  524. package/dist/server/modules/sessions/services/message-enqueue.service.d.ts +3 -0
  525. package/dist/server/modules/sessions/services/message-enqueue.service.js +1 -0
  526. package/dist/server/modules/sessions/services/message-enqueue.service.js.map +1 -1
  527. package/dist/server/modules/sessions/services/message-pool.types.d.ts +6 -0
  528. package/dist/server/modules/sessions/services/message-pool.types.js +6 -1
  529. package/dist/server/modules/sessions/services/message-pool.types.js.map +1 -1
  530. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.d.ts +2 -0
  531. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js +18 -1
  532. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js.map +1 -1
  533. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.d.ts +5 -1
  534. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.js +26 -2
  535. package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.js.map +1 -1
  536. package/dist/server/modules/sessions/services/session-lifecycle-facade.service.d.ts +7 -2
  537. package/dist/server/modules/sessions/services/session-lifecycle-facade.service.js +4 -4
  538. package/dist/server/modules/sessions/services/session-lifecycle-facade.service.js.map +1 -1
  539. package/dist/server/modules/sessions/services/sessions-message-pool.service.d.ts +1 -0
  540. package/dist/server/modules/sessions/services/sessions-message-pool.service.js +30 -0
  541. package/dist/server/modules/sessions/services/sessions-message-pool.service.js.map +1 -1
  542. package/dist/server/modules/sessions/sessions.module.js +5 -0
  543. package/dist/server/modules/sessions/sessions.module.js.map +1 -1
  544. package/dist/server/modules/settings/dtos/settings.dto.d.ts +33 -0
  545. package/dist/server/modules/settings/dtos/settings.dto.js +2 -0
  546. package/dist/server/modules/settings/dtos/settings.dto.js.map +1 -1
  547. package/dist/server/modules/settings/local/delegates/core-settings.delegate.d.ts +3 -0
  548. package/dist/server/modules/settings/local/delegates/core-settings.delegate.js +35 -0
  549. package/dist/server/modules/settings/local/delegates/core-settings.delegate.js.map +1 -1
  550. package/dist/server/modules/settings/local/delegates/provider-cli-settings.delegate.js +6 -1
  551. package/dist/server/modules/settings/local/delegates/provider-cli-settings.delegate.js.map +1 -1
  552. package/dist/server/modules/settings/services/settings.service.d.ts +2 -1
  553. package/dist/server/modules/settings/services/settings.service.js +3 -0
  554. package/dist/server/modules/settings/services/settings.service.js.map +1 -1
  555. package/dist/server/modules/storage/db/schema.d.ts +235 -0
  556. package/dist/server/modules/storage/db/schema.js +22 -1
  557. package/dist/server/modules/storage/db/schema.js.map +1 -1
  558. package/dist/server/modules/storage/interfaces/storage.interface.d.ts +10 -2
  559. package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
  560. package/dist/server/modules/storage/local/delegates/project-replica.delegate.js +7 -0
  561. package/dist/server/modules/storage/local/delegates/project-replica.delegate.js.map +1 -1
  562. package/dist/server/modules/storage/local/delegates/worktree.delegate.d.ts +14 -0
  563. package/dist/server/modules/storage/local/delegates/worktree.delegate.js +89 -0
  564. package/dist/server/modules/storage/local/delegates/worktree.delegate.js.map +1 -0
  565. package/dist/server/modules/storage/local/helpers/host-abandoned-projects.d.ts +5 -0
  566. package/dist/server/modules/storage/local/helpers/host-abandoned-projects.js +39 -0
  567. package/dist/server/modules/storage/local/helpers/host-abandoned-projects.js.map +1 -0
  568. package/dist/server/modules/storage/local/local-storage.service.js +2 -0
  569. package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
  570. package/dist/server/modules/storage/local/storage-routes.d.ts +26 -0
  571. package/dist/server/modules/storage/local/storage-routes.js +9 -0
  572. package/dist/server/modules/storage/local/storage-routes.js.map +1 -1
  573. package/dist/server/modules/storage/models/domain.models.d.ts +20 -1
  574. package/dist/server/modules/storage/models/domain.models.js +1 -0
  575. package/dist/server/modules/storage/models/domain.models.js.map +1 -1
  576. package/dist/server/modules/storage/write-gate/storage-write-scope.d.ts +1 -0
  577. package/dist/server/modules/storage/write-gate/storage-write-scope.js +1 -0
  578. package/dist/server/modules/storage/write-gate/storage-write-scope.js.map +1 -1
  579. package/dist/server/modules/teams/services/teams.service.d.ts +46 -6
  580. package/dist/server/modules/teams/services/teams.service.js +129 -8
  581. package/dist/server/modules/teams/services/teams.service.js.map +1 -1
  582. package/dist/server/modules/teams/teams.module.js +14 -1
  583. package/dist/server/modules/teams/teams.module.js.map +1 -1
  584. package/dist/server/modules/vm-providers/proxmox-vm.provider.d.ts +1 -0
  585. package/dist/server/modules/vm-providers/proxmox-vm.provider.js +17 -0
  586. package/dist/server/modules/vm-providers/proxmox-vm.provider.js.map +1 -1
  587. package/dist/server/modules/worktrees/git-output.d.ts +5 -0
  588. package/dist/server/modules/worktrees/git-output.js +53 -0
  589. package/dist/server/modules/worktrees/git-output.js.map +1 -0
  590. package/dist/server/modules/worktrees/host-worktrees.controller.d.ts +10 -0
  591. package/dist/server/modules/worktrees/host-worktrees.controller.js +59 -0
  592. package/dist/server/modules/worktrees/host-worktrees.controller.js.map +1 -0
  593. package/dist/server/modules/worktrees/host-worktrees.dto.d.ts +40 -0
  594. package/dist/server/modules/worktrees/host-worktrees.dto.js +9 -0
  595. package/dist/server/modules/worktrees/host-worktrees.dto.js.map +1 -0
  596. package/dist/server/modules/worktrees/project-git-mutex.d.ts +5 -0
  597. package/dist/server/modules/worktrees/project-git-mutex.js +38 -0
  598. package/dist/server/modules/worktrees/project-git-mutex.js.map +1 -0
  599. package/dist/server/modules/worktrees/worktree-admission.service.d.ts +15 -0
  600. package/dist/server/modules/worktrees/worktree-admission.service.js +87 -0
  601. package/dist/server/modules/worktrees/worktree-admission.service.js.map +1 -0
  602. package/dist/server/modules/worktrees/worktree-git-runner.d.ts +12 -0
  603. package/dist/server/modules/worktrees/worktree-git-runner.js +57 -0
  604. package/dist/server/modules/worktrees/worktree-git-runner.js.map +1 -0
  605. package/dist/server/modules/worktrees/worktrees.errors.d.ts +5 -0
  606. package/dist/server/modules/worktrees/worktrees.errors.js +11 -0
  607. package/dist/server/modules/worktrees/worktrees.errors.js.map +1 -0
  608. package/dist/server/modules/worktrees/worktrees.module.d.ts +2 -0
  609. package/dist/server/modules/worktrees/worktrees.module.js +37 -0
  610. package/dist/server/modules/worktrees/worktrees.module.js.map +1 -0
  611. package/dist/server/modules/worktrees/worktrees.service.d.ts +50 -0
  612. package/dist/server/modules/worktrees/worktrees.service.js +586 -0
  613. package/dist/server/modules/worktrees/worktrees.service.js.map +1 -0
  614. package/dist/server/modules/worktrees/worktrees.types.d.ts +58 -0
  615. package/dist/server/modules/worktrees/worktrees.types.js +3 -0
  616. package/dist/server/modules/worktrees/worktrees.types.js.map +1 -0
  617. package/dist/server/templates/teams-dev.json +6 -6
  618. package/dist/server/tsconfig.build.tsbuildinfo +1 -1
  619. package/dist/server/ui/assets/{ExternalRichEditor-CB-LjWox.js → ExternalRichEditor-NpBNzn_X.js} +1 -1
  620. package/dist/server/ui/assets/{ReviewDetailPage-CpMMjYet.js → ReviewDetailPage-DxVCE1zh.js} +1 -1
  621. package/dist/server/ui/assets/{ReviewsPage-Cw17_agp.js → ReviewsPage-Bx6jkULr.js} +1 -1
  622. package/dist/server/ui/assets/index-BZjQEWOy.css +32 -0
  623. package/dist/server/ui/assets/{index-DmRXRpSy.js → index-CLPZxkZt.js} +263 -263
  624. package/dist/server/ui/assets/{useReviewSubscription-wd5iHNQy.js → useReviewSubscription-BLuFzXjh.js} +1 -1
  625. package/dist/server/ui/index.html +2 -2
  626. package/dist/templates/teams-dev.json +6 -6
  627. package/npm-shrinkwrap.json +6189 -0
  628. package/package.json +19 -13
  629. package/dist/server/modules/file-sync/host-git-index.controller.d.ts +0 -10
  630. package/dist/server/modules/file-sync/host-git-index.controller.js +0 -67
  631. package/dist/server/modules/file-sync/host-git-index.controller.js.map +0 -1
  632. package/dist/server/modules/remotes/operations/git-owner.operation.d.ts +0 -35
  633. package/dist/server/modules/remotes/operations/git-owner.operation.js +0 -216
  634. package/dist/server/modules/remotes/operations/git-owner.operation.js.map +0 -1
  635. package/dist/server/modules/session-reader/readers/opencode-sqlite.reader.d.ts +0 -73
  636. package/dist/server/modules/session-reader/readers/opencode-sqlite.reader.js.map +0 -1
  637. package/dist/server/ui/assets/index-BwuNu70G.css +0 -32
@@ -0,0 +1,474 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OpencodeSqliteV2Reader = void 0;
4
+ const logger_1 = require("../../../common/logging/logger");
5
+ const error_types_1 = require("../../../common/errors/error-types");
6
+ const estimate_content_tokens_1 = require("../adapters/utils/estimate-content-tokens");
7
+ const opencode_sqlite_db_1 = require("./opencode-sqlite.db");
8
+ const logger = (0, logger_1.createLogger)('OpencodeSqliteV2Reader');
9
+ const CATALOG_KV_KEY = 'models-dev:catalog';
10
+ const SESSION_COLUMNS = `id, model, time_created, time_updated, tokens_input, tokens_output,
11
+ tokens_reasoning, tokens_cache_read, tokens_cache_write`;
12
+ const TEXT_MESSAGE_TYPES = {
13
+ user: { role: 'user', isMeta: false },
14
+ synthetic: { role: 'user', isMeta: true },
15
+ skill: { role: 'user', isMeta: true },
16
+ system: { role: 'system', isMeta: true },
17
+ };
18
+ const SQL_WHITESPACE = `char(9, 10, 11, 12, 13, 32)`;
19
+ const BLANK_RE = /^[\t\n\v\f\r ]*$/;
20
+ function sqlNonBlankText(json, path) {
21
+ return `(json_type(${json}, '${path}') = 'text'
22
+ AND length(trim(json_extract(${json}, '${path}'), ${SQL_WHITESPACE})) > 0)`;
23
+ }
24
+ const RENDERED_ROW_PREDICATE = `json_valid(m.data) AND (
25
+ (m.type IN (${Object.keys(TEXT_MESSAGE_TYPES)
26
+ .map((t) => `'${t}'`)
27
+ .join(', ')}) AND ${sqlNonBlankText('m.data', '$.text')})
28
+ OR (m.type = 'shell'
29
+ AND COALESCE(json_type(m.data, '$.metadata.background'), '') <> 'true')
30
+ OR (m.type = 'compaction' AND json_extract(m.data, '$.status') = 'completed')
31
+ OR (m.type = 'assistant' AND json_type(m.data, '$.content') = 'array' AND EXISTS (
32
+ SELECT 1 FROM json_each(m.data, '$.content') c
33
+ WHERE c.type = 'object' AND (
34
+ (json_extract(c.value, '$.type') IN ('text', 'reasoning')
35
+ AND ${sqlNonBlankText('c.value', '$.text')})
36
+ OR json_extract(c.value, '$.type') = 'tool')))
37
+ )`;
38
+ const catalogWindowCache = new Map();
39
+ function lookupCatalogContextWindow(db, dbPath, ref) {
40
+ const unsafe = /["\\\u0000-\u001f]/;
41
+ if (unsafe.test(ref.providerId) || unsafe.test(ref.modelId))
42
+ return null;
43
+ try {
44
+ const stamp = db
45
+ .prepare(`SELECT time_updated AS updatedAt FROM kv WHERE key = ?`)
46
+ .get(CATALOG_KV_KEY);
47
+ if (!stamp)
48
+ return null;
49
+ const cacheKey = `${dbPath}\u0000${ref.providerId}\u0000${ref.modelId}`;
50
+ const hit = catalogWindowCache.get(cacheKey);
51
+ if (hit && hit.updatedAt === stamp.updatedAt)
52
+ return hit.window;
53
+ const row = db
54
+ .prepare(`SELECT json_extract(json_extract(value, '$.body'), ?) AS window FROM kv WHERE key = ?`)
55
+ .get(`$."${ref.providerId}".models."${ref.modelId}".limit.context`, CATALOG_KV_KEY);
56
+ const window = (0, opencode_sqlite_db_1.asContextLimit)(row?.window);
57
+ catalogWindowCache.set(cacheKey, { updatedAt: stamp.updatedAt, window });
58
+ return window;
59
+ }
60
+ catch (error) {
61
+ logger.debug({ error: String(error?.message ?? error) }, 'OpenCode model catalog unavailable — using the fallback window');
62
+ return null;
63
+ }
64
+ }
65
+ function recordedCost(value) {
66
+ return typeof value === 'number' && Number.isFinite(value) ? value : null;
67
+ }
68
+ class OpencodeSqliteV2Reader {
69
+ pricing;
70
+ maxToolOutputChars;
71
+ connection;
72
+ constructor(pricing, options) {
73
+ this.pricing = pricing;
74
+ this.maxToolOutputChars = options?.maxToolOutputChars ?? opencode_sqlite_db_1.DEFAULT_MAX_TOOL_OUTPUT_CHARS;
75
+ this.connection = { busyTimeoutMs: options?.busyTimeoutMs, openRetries: options?.openRetries };
76
+ }
77
+ readSession(dbPath, providerSessionId) {
78
+ return (0, opencode_sqlite_db_1.withOpencodeDb)(dbPath, this.connection, (db) => {
79
+ assertSchema(db);
80
+ const sessionRow = db
81
+ .prepare(`SELECT ${SESSION_COLUMNS} FROM session_v2 WHERE id = ?`)
82
+ .get(providerSessionId);
83
+ if (!sessionRow)
84
+ throw new error_types_1.NotFoundError('OpenCode session', providerSessionId);
85
+ const messageRows = db
86
+ .prepare(`SELECT id, type, seq, time_created, time_updated, data
87
+ FROM session_message WHERE session_id = ? ORDER BY seq`)
88
+ .all(providerSessionId);
89
+ return normalizeOpencodeV2Session(dbPath, sessionRow, messageRows, {
90
+ pricing: this.pricing,
91
+ maxToolOutputChars: this.maxToolOutputChars,
92
+ catalogContextWindow: (ref) => lookupCatalogContextWindow(db, dbPath, ref),
93
+ });
94
+ });
95
+ }
96
+ readSummary(dbPath, providerSessionId) {
97
+ return (0, opencode_sqlite_db_1.withOpencodeDb)(dbPath, this.connection, (db) => {
98
+ assertSchema(db);
99
+ const sessionRow = db
100
+ .prepare(`SELECT ${SESSION_COLUMNS} FROM session_v2 WHERE id = ?`)
101
+ .get(providerSessionId);
102
+ if (!sessionRow)
103
+ throw new error_types_1.NotFoundError('OpenCode session', providerSessionId);
104
+ const shape = db
105
+ .prepare(`SELECT COUNT(*) AS messageCount, MIN(seq) AS firstSeq, MAX(seq) AS lastSeq
106
+ FROM session_message m WHERE m.session_id = ? AND ${RENDERED_ROW_PREDICATE}`)
107
+ .get(providerSessionId);
108
+ const edgeTimes = db
109
+ .prepare(`SELECT seq, time_created AS timeCreated FROM session_message
110
+ WHERE session_id = ? AND seq IN (?, ?)`)
111
+ .all(providerSessionId, shape.firstSeq, shape.lastSeq);
112
+ const timeAt = (seq) => edgeTimes.find((r) => r.seq === seq)?.timeCreated;
113
+ const { compactionCount } = db
114
+ .prepare(`SELECT COUNT(*) AS compactionCount FROM session_message
115
+ WHERE session_id = ? AND type = 'compaction' AND json_valid(data)
116
+ AND json_extract(data, '$.status') = 'completed'`)
117
+ .get(providerSessionId);
118
+ const modelRows = db
119
+ .prepare(`SELECT json_extract(data, '$.model.id') AS model FROM session_message
120
+ WHERE session_id = ? AND type = 'assistant' AND json_valid(data)
121
+ AND json_type(data, '$.model.id') = 'text'
122
+ ORDER BY seq`)
123
+ .all(providerSessionId);
124
+ const models = [...new Set(modelRows.map((row) => row.model).filter(Boolean))];
125
+ const contextRow = db
126
+ .prepare(`SELECT total FROM (
127
+ SELECT seq,
128
+ COALESCE(json_extract(data, '$.tokens.input'), 0)
129
+ + COALESCE(json_extract(data, '$.tokens.output'), 0)
130
+ + COALESCE(json_extract(data, '$.tokens.reasoning'), 0)
131
+ + COALESCE(json_extract(data, '$.tokens.cache.read'), 0)
132
+ + COALESCE(json_extract(data, '$.tokens.cache.write'), 0) AS total
133
+ FROM session_message
134
+ WHERE session_id = ? AND type = 'assistant' AND json_valid(data)
135
+ AND json_type(data, '$.tokens') = 'object')
136
+ WHERE total > 0
137
+ ORDER BY seq DESC LIMIT 1`)
138
+ .get(providerSessionId);
139
+ const lastModel = db
140
+ .prepare(`SELECT json_extract(data, '$.model.providerID') AS providerId,
141
+ json_extract(data, '$.model.id') AS modelId
142
+ FROM session_message
143
+ WHERE session_id = ? AND type = 'assistant' AND json_valid(data)
144
+ AND json_type(data, '$.model.providerID') = 'text'
145
+ AND json_type(data, '$.model.id') = 'text'
146
+ ORDER BY seq DESC LIMIT 1`)
147
+ .get(providerSessionId);
148
+ const firstTime = timeAt(shape.firstSeq);
149
+ const lastTime = timeAt(shape.lastSeq);
150
+ return {
151
+ metrics: buildMetrics({
152
+ sessionRow,
153
+ pricing: this.pricing,
154
+ primaryModel: models[0] ?? (0, opencode_sqlite_db_1.parseSessionModelId)(sessionRow.model),
155
+ models,
156
+ compactionCount,
157
+ totalContextTokens: contextRow?.total ?? 0,
158
+ contextWindowCatalog: lastModel
159
+ ? lookupCatalogContextWindow(db, dbPath, lastModel)
160
+ : null,
161
+ recordedCostUsd: () => {
162
+ const rows = db
163
+ .prepare(`SELECT json_extract(data, '$.cost') AS cost FROM session_message
164
+ WHERE session_id = ? AND type = 'assistant' AND json_valid(data)
165
+ AND json_type(data, '$.cost') IN ('integer', 'real')
166
+ ORDER BY seq`)
167
+ .all(providerSessionId);
168
+ return rows.reduce((sum, row) => sum + row.cost, 0);
169
+ },
170
+ visibleContextTokens: 0,
171
+ messageCount: shape.messageCount,
172
+ spanMs: shape.messageCount >= 2 && firstTime != null && lastTime != null
173
+ ? lastTime - firstTime
174
+ : null,
175
+ }),
176
+ };
177
+ });
178
+ }
179
+ getFreshness(dbPath, providerSessionId) {
180
+ return (0, opencode_sqlite_db_1.withOpencodeDb)(dbPath, this.connection, (db) => {
181
+ assertSchema(db);
182
+ const row = db
183
+ .prepare(`SELECT
184
+ (SELECT count(*) FROM session_message WHERE session_id = @sid) AS count,
185
+ max(
186
+ COALESCE((SELECT max(time_updated) FROM session_message WHERE session_id = @sid), 0),
187
+ COALESCE((SELECT time_updated FROM session_v2 WHERE id = @sid), 0)
188
+ ) AS maxUpdated`)
189
+ .get({ sid: providerSessionId });
190
+ return { count: row?.count ?? 0, maxUpdated: row?.maxUpdated ?? 0 };
191
+ });
192
+ }
193
+ findSessionCandidates(dbPath, params) {
194
+ return (0, opencode_sqlite_db_1.withOpencodeDb)(dbPath, this.connection, (db) => {
195
+ assertSchema(db);
196
+ return db
197
+ .prepare(`SELECT s.id AS providerSessionId, s.directory AS directory,
198
+ s.time_created AS timeCreated, s.time_updated AS timeUpdated
199
+ FROM session_v2 s
200
+ LEFT JOIN project p ON p.id = s.project_id
201
+ WHERE (s.directory = @dir OR p.worktree = @dir)
202
+ AND abs(s.time_created - @startedAt) <= @window
203
+ ORDER BY abs(s.time_created - @startedAt) ASC`)
204
+ .all({
205
+ dir: params.directory,
206
+ startedAt: params.startedAtMs,
207
+ window: params.windowMs,
208
+ });
209
+ });
210
+ }
211
+ }
212
+ exports.OpencodeSqliteV2Reader = OpencodeSqliteV2Reader;
213
+ function assertSchema(db) {
214
+ (0, opencode_sqlite_db_1.assertOpencodeTables)(db, ['session_v2', 'session_message']);
215
+ (0, opencode_sqlite_db_1.assertOpencodeColumns)(db, 'session_v2', [
216
+ 'id',
217
+ 'directory',
218
+ 'project_id',
219
+ 'model',
220
+ 'time_created',
221
+ 'time_updated',
222
+ 'tokens_input',
223
+ 'tokens_output',
224
+ 'tokens_reasoning',
225
+ 'tokens_cache_read',
226
+ 'tokens_cache_write',
227
+ ]);
228
+ (0, opencode_sqlite_db_1.assertOpencodeColumns)(db, 'session_message', [
229
+ 'id',
230
+ 'session_id',
231
+ 'type',
232
+ 'seq',
233
+ 'time_created',
234
+ 'time_updated',
235
+ 'data',
236
+ ]);
237
+ }
238
+ function normalizeOpencodeV2Session(dbPath, sessionRow, messageRows, options) {
239
+ const maxToolOutputChars = options?.maxToolOutputChars ?? opencode_sqlite_db_1.DEFAULT_MAX_TOOL_OUTPUT_CHARS;
240
+ const messages = [];
241
+ const modelsSet = new Set();
242
+ let sizeBytes = 0;
243
+ let maxUpdated = sessionRow.time_updated ?? 0;
244
+ let compactionCount = 0;
245
+ let lastAssistantContextTokens = 0;
246
+ let lastModel;
247
+ let recordedCostUsd = 0;
248
+ for (const row of messageRows) {
249
+ sizeBytes += Buffer.byteLength(row.data, 'utf8');
250
+ if (row.time_updated > maxUpdated)
251
+ maxUpdated = row.time_updated;
252
+ const data = asRecord((0, opencode_sqlite_db_1.parseOpencodeJson)(row.data));
253
+ const base = {
254
+ id: row.id,
255
+ parentId: null,
256
+ timestamp: new Date(row.time_created),
257
+ toolCalls: [],
258
+ toolResults: [],
259
+ isSidechain: false,
260
+ };
261
+ const textType = TEXT_MESSAGE_TYPES[row.type];
262
+ if (textType) {
263
+ if (typeof data.text !== 'string' || BLANK_RE.test(data.text))
264
+ continue;
265
+ messages.push({
266
+ ...base,
267
+ role: textType.role,
268
+ isMeta: textType.isMeta,
269
+ content: [{ type: 'text', text: data.text.trim() }],
270
+ });
271
+ continue;
272
+ }
273
+ switch (row.type) {
274
+ case 'assistant': {
275
+ const modelId = typeof data.model?.id === 'string' ? data.model.id : '';
276
+ if (modelId)
277
+ modelsSet.add(modelId);
278
+ if (modelId && typeof data.model?.providerID === 'string') {
279
+ lastModel = { providerId: data.model.providerID, modelId };
280
+ }
281
+ recordedCostUsd += recordedCost(data.cost) ?? 0;
282
+ let usage;
283
+ if (isRecord(data.tokens)) {
284
+ const tokens = data.tokens;
285
+ usage = {
286
+ input: tokens.input ?? 0,
287
+ output: (tokens.output ?? 0) + (tokens.reasoning ?? 0),
288
+ cacheRead: tokens.cache?.read ?? 0,
289
+ cacheCreation: tokens.cache?.write ?? 0,
290
+ };
291
+ const total = usage.input + usage.output + usage.cacheRead + usage.cacheCreation;
292
+ if (total > 0)
293
+ lastAssistantContextTokens = total;
294
+ }
295
+ const message = {
296
+ ...base,
297
+ role: 'assistant',
298
+ isMeta: false,
299
+ content: [],
300
+ usage,
301
+ model: modelId || undefined,
302
+ stopReason: data.finish === 'tool-calls' ? 'tool_use' : 'end_turn',
303
+ };
304
+ const blocks = Array.isArray(data.content) ? data.content : [];
305
+ for (const block of blocks) {
306
+ mapAssistantBlock(block, message, maxToolOutputChars);
307
+ }
308
+ if (message.content.length > 0)
309
+ messages.push(message);
310
+ break;
311
+ }
312
+ case 'shell': {
313
+ if (data.metadata?.background === true)
314
+ break;
315
+ const command = typeof data.command === 'string' ? data.command : '';
316
+ const output = (0, opencode_sqlite_db_1.capToolOutput)(data.output?.output, maxToolOutputChars).content;
317
+ messages.push({
318
+ ...base,
319
+ role: 'user',
320
+ isMeta: false,
321
+ content: [{ type: 'text', text: output ? `$ ${command}\n${output}` : `$ ${command}` }],
322
+ });
323
+ break;
324
+ }
325
+ case 'compaction': {
326
+ if (data.status !== 'completed')
327
+ break;
328
+ compactionCount++;
329
+ messages.push({
330
+ ...base,
331
+ role: 'user',
332
+ isMeta: false,
333
+ isCompactSummary: true,
334
+ content: [{ type: 'text', text: '[Conversation compacted]' }],
335
+ });
336
+ break;
337
+ }
338
+ default:
339
+ break;
340
+ }
341
+ }
342
+ const visibleContextTokens = (0, estimate_content_tokens_1.estimateVisibleFromMessages)(messages);
343
+ const metrics = buildMetrics({
344
+ sessionRow,
345
+ pricing: options?.pricing,
346
+ primaryModel: modelsSet.values().next().value ?? (0, opencode_sqlite_db_1.parseSessionModelId)(sessionRow.model),
347
+ models: Array.from(modelsSet),
348
+ compactionCount,
349
+ totalContextTokens: lastAssistantContextTokens,
350
+ contextWindowCatalog: lastModel ? (options?.catalogContextWindow?.(lastModel) ?? null) : null,
351
+ recordedCostUsd: () => recordedCostUsd,
352
+ visibleContextTokens,
353
+ messageCount: messages.length,
354
+ spanMs: messages.length >= 2
355
+ ? messages[messages.length - 1].timestamp.getTime() - messages[0].timestamp.getTime()
356
+ : null,
357
+ });
358
+ const session = {
359
+ id: sessionRow.id,
360
+ providerName: opencode_sqlite_db_1.OPENCODE_PROVIDER_NAME,
361
+ filePath: dbPath,
362
+ messages,
363
+ metrics,
364
+ isOngoing: false,
365
+ };
366
+ return { session, sizeBytes, freshness: { count: messageRows.length, maxUpdated } };
367
+ }
368
+ function buildMetrics(args) {
369
+ const { sessionRow: s, pricing, primaryModel } = args;
370
+ const inputTokens = s.tokens_input ?? 0;
371
+ const outputTokens = (s.tokens_output ?? 0) + (s.tokens_reasoning ?? 0);
372
+ const cacheReadTokens = s.tokens_cache_read ?? 0;
373
+ const cacheCreationTokens = s.tokens_cache_write ?? 0;
374
+ return {
375
+ inputTokens,
376
+ outputTokens,
377
+ cacheReadTokens,
378
+ cacheCreationTokens,
379
+ totalTokens: inputTokens + outputTokens + cacheReadTokens + cacheCreationTokens,
380
+ totalContextConsumption: args.visibleContextTokens,
381
+ compactionCount: args.compactionCount,
382
+ phaseBreakdowns: [
383
+ {
384
+ phaseNumber: 1,
385
+ contribution: args.visibleContextTokens,
386
+ peakTokens: args.visibleContextTokens,
387
+ },
388
+ ],
389
+ visibleContextTokens: args.visibleContextTokens,
390
+ totalContextTokens: args.totalContextTokens,
391
+ contextWindowTokens: (0, opencode_sqlite_db_1.resolveContextWindowTokens)(args.contextWindowCatalog, primaryModel, pricing),
392
+ costUsd: (0, opencode_sqlite_db_1.resolveCostUsd)({
393
+ pricing,
394
+ primaryModel,
395
+ tokens: {
396
+ input: inputTokens,
397
+ output: outputTokens,
398
+ cacheRead: cacheReadTokens,
399
+ cacheWrite: cacheCreationTokens,
400
+ },
401
+ recordedCostUsd: args.recordedCostUsd,
402
+ }),
403
+ primaryModel,
404
+ modelsUsed: args.models.length > 1 ? args.models : undefined,
405
+ durationMs: args.spanMs ?? Math.max(0, (s.time_updated ?? 0) - (s.time_created ?? 0)),
406
+ messageCount: args.messageCount,
407
+ isOngoing: false,
408
+ };
409
+ }
410
+ function mapAssistantBlock(raw, message, maxToolOutputChars) {
411
+ if (!isRecord(raw))
412
+ return;
413
+ const block = raw;
414
+ const text = typeof block.text === 'string' && !BLANK_RE.test(block.text) ? block.text.trim() : '';
415
+ switch (block.type) {
416
+ case 'text':
417
+ if (text)
418
+ message.content.push({ type: 'text', text });
419
+ return;
420
+ case 'reasoning':
421
+ if (text)
422
+ message.content.push({ type: 'thinking', thinking: text });
423
+ return;
424
+ case 'tool': {
425
+ const toolCallId = typeof block.id === 'string' ? block.id : '';
426
+ const toolName = typeof block.name === 'string' ? block.name : 'unknown';
427
+ const state = asRecord(block.state);
428
+ const input = asRecord(state.input);
429
+ message.content.push({ type: 'tool_call', toolCallId, toolName, input });
430
+ message.toolCalls.push({ id: toolCallId, name: toolName, input, isTask: false });
431
+ if (state.status !== 'completed' && state.status !== 'error')
432
+ return;
433
+ const isError = state.status === 'error';
434
+ const raw = isError ? errorText(state.error) : toolContentText(state.content);
435
+ const { content, isTruncated, fullLength } = (0, opencode_sqlite_db_1.capToolOutput)(raw, maxToolOutputChars);
436
+ const truncation = isTruncated ? { isTruncated, fullLength } : {};
437
+ const result = {
438
+ type: 'tool_result',
439
+ toolCallId,
440
+ content,
441
+ isError,
442
+ ...truncation,
443
+ };
444
+ message.content.push(result);
445
+ message.toolResults.push({ toolCallId, content, isError, ...truncation });
446
+ return;
447
+ }
448
+ default:
449
+ return;
450
+ }
451
+ }
452
+ function toolContentText(content) {
453
+ if (!Array.isArray(content))
454
+ return content;
455
+ return content
456
+ .map((part) => {
457
+ const p = asRecord(part);
458
+ if (p.type === 'text' && typeof p.text === 'string')
459
+ return p.text;
460
+ return `[${typeof p.type === 'string' ? p.type : 'content'}]`;
461
+ })
462
+ .join('\n');
463
+ }
464
+ function errorText(error) {
465
+ const e = asRecord(error);
466
+ return typeof e.message === 'string' ? e.message : error;
467
+ }
468
+ function isRecord(value) {
469
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
470
+ }
471
+ function asRecord(value) {
472
+ return isRecord(value) ? value : {};
473
+ }
474
+ //# sourceMappingURL=opencode-sqlite.v2.reader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode-sqlite.v2.reader.js","sourceRoot":"","sources":["../../../../src/modules/session-reader/readers/opencode-sqlite.v2.reader.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ export interface PricingServiceInterface {
3
3
  calculateMessageCost(model: string, inputTokens: number, outputTokens: number, cacheReadTokens: number, cacheCreationTokens: number): number;
4
4
  getCatalogContextWindowSize(model: string): number | null;
5
5
  getContextWindowSize(model: string): number;
6
+ hasPricing?(model: string): boolean;
6
7
  }
7
8
  export declare class StubPricingService implements PricingServiceInterface {
8
9
  calculateMessageCost(): number;
@@ -1 +1 @@
1
- {"version":3,"file":"pricing.interface.js","sourceRoot":"","sources":["../../../../src/modules/session-reader/services/pricing.interface.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAE/B,QAAA,eAAe,GAAG,iBAAiB,CAAC;AAuB1C,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,oBAAoB;QAClB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,oBAAoB;QAClB,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,2BAA2B;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAVY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;GACA,kBAAkB,CAU9B"}
1
+ {"version":3,"file":"pricing.interface.js","sourceRoot":"","sources":["../../../../src/modules/session-reader/services/pricing.interface.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAE/B,QAAA,eAAe,GAAG,iBAAiB,CAAC;AAyB1C,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,oBAAoB;QAClB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,oBAAoB;QAClB,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,2BAA2B;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAVY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;GACA,kBAAkB,CAU9B"}
@@ -15,6 +15,7 @@ export declare class PricingService implements PricingServiceInterface {
15
15
  private readonly pricingMap;
16
16
  constructor();
17
17
  getPricing(modelName: string): ModelPricing | null;
18
+ hasPricing(modelName: string): boolean;
18
19
  calculateMessageCost(modelName: string, inputTokens: number, outputTokens: number, cacheReadTokens: number, cacheCreationTokens: number): number;
19
20
  getCatalogContextWindowSize(modelName: string): number | null;
20
21
  getContextWindowSize(modelName: string): number;
@@ -73,6 +73,9 @@ let PricingService = class PricingService {
73
73
  getPricing(modelName) {
74
74
  return this.pricingMap.get(modelName.toLowerCase()) ?? null;
75
75
  }
76
+ hasPricing(modelName) {
77
+ return this.getPricing(modelName) !== null;
78
+ }
76
79
  calculateMessageCost(modelName, inputTokens, outputTokens, cacheReadTokens, cacheCreationTokens) {
77
80
  const pricing = this.getPricing(modelName);
78
81
  if (!pricing) {
@@ -1 +1 @@
1
- {"version":3,"file":"pricing.service.js","sourceRoot":"","sources":["../../../../src/modules/session-reader/services/pricing.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pricing.service.js","sourceRoot":"","sources":["../../../../src/modules/session-reader/services/pricing.service.ts"],"names":[],"mappings":"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"}
@@ -601,6 +601,9 @@ let SessionReaderService = SessionReaderService_1 = class SessionReaderService {
601
601
  const catalogContextWindowTokens = this.pricingService.getCatalogContextWindowSize(metrics.primaryModel);
602
602
  const session = this.sessionsService.getSession(sessionId);
603
603
  const providerNameAtLaunch = session?.providerNameAtLaunch?.toLowerCase() ?? null;
604
+ const providerAdapter = providerNameAtLaunch
605
+ ? this.adapterFactory.getAdapter(providerNameAtLaunch)
606
+ : undefined;
604
607
  const capture = liveContext?.claudeCapture;
605
608
  const eligibleCapture = capture &&
606
609
  providerNameAtLaunch === 'claude' &&
@@ -613,7 +616,9 @@ let SessionReaderService = SessionReaderService_1 = class SessionReaderService {
613
616
  primaryModel: metrics.primaryModel,
614
617
  configuredOverride: liveContext?.configuredOverride ?? null,
615
618
  claudeCapture: eligibleCapture,
616
- providerReportedContextWindowTokens: providerNameAtLaunch === 'codex' ? metrics.contextWindowTokens : null,
619
+ providerReportedContextWindowTokens: providerAdapter?.reportsContextWindow
620
+ ? metrics.contextWindowTokens
621
+ : null,
617
622
  catalogContextWindowTokens,
618
623
  });
619
624
  if (metrics.contextWindowTokens === resolution.contextWindowTokens)