devchain-cli 0.15.0 → 0.16.1

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 (192) hide show
  1. package/README.md +5 -4
  2. package/dist/cli.js +14 -5
  3. package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.js +1 -1
  4. package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.js.map +1 -1
  5. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.d.ts +3 -1
  6. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js +17 -4
  7. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js.map +1 -1
  8. package/dist/server/modules/cloud-tunnel/services/tunnel-rpc-crypto.service.d.ts +5 -1
  9. package/dist/server/modules/cloud-tunnel/services/tunnel-rpc-crypto.service.js +12 -2
  10. package/dist/server/modules/cloud-tunnel/services/tunnel-rpc-crypto.service.js.map +1 -1
  11. package/dist/server/modules/core/core-normal.module.js +2 -9
  12. package/dist/server/modules/core/core-normal.module.js.map +1 -1
  13. package/dist/server/modules/core/services/antigravity-trusted-workspaces.module.d.ts +2 -0
  14. package/dist/server/modules/core/services/antigravity-trusted-workspaces.module.js +21 -0
  15. package/dist/server/modules/core/services/antigravity-trusted-workspaces.module.js.map +1 -0
  16. package/dist/server/modules/core/services/antigravity-trusted-workspaces.service.d.ts +21 -0
  17. package/dist/server/modules/core/services/antigravity-trusted-workspaces.service.js +249 -0
  18. package/dist/server/modules/core/services/antigravity-trusted-workspaces.service.js.map +1 -0
  19. package/dist/server/modules/core/services/copilot-auth-probe.module.d.ts +2 -0
  20. package/dist/server/modules/core/services/copilot-auth-probe.module.js +21 -0
  21. package/dist/server/modules/core/services/copilot-auth-probe.module.js.map +1 -0
  22. package/dist/server/modules/core/services/copilot-auth-probe.service.d.ts +7 -0
  23. package/dist/server/modules/core/services/copilot-auth-probe.service.js +63 -0
  24. package/dist/server/modules/core/services/copilot-auth-probe.service.js.map +1 -0
  25. package/dist/server/modules/core/services/copilot-trusted-folders.module.d.ts +2 -0
  26. package/dist/server/modules/core/services/{gemini-trusted-folders.module.js → copilot-trusted-folders.module.js} +9 -9
  27. package/dist/server/modules/core/services/copilot-trusted-folders.module.js.map +1 -0
  28. package/dist/server/modules/core/services/copilot-trusted-folders.service.d.ts +22 -0
  29. package/dist/server/modules/core/services/copilot-trusted-folders.service.js +228 -0
  30. package/dist/server/modules/core/services/copilot-trusted-folders.service.js.map +1 -0
  31. package/dist/server/modules/core/services/preflight.service.d.ts +1 -0
  32. package/dist/server/modules/core/services/preflight.service.js +35 -3
  33. package/dist/server/modules/core/services/preflight.service.js.map +1 -1
  34. package/dist/server/modules/core/services/trust-folders-logic.d.ts +11 -0
  35. package/dist/server/modules/core/services/trust-folders-logic.js +33 -0
  36. package/dist/server/modules/core/services/trust-folders-logic.js.map +1 -0
  37. package/dist/server/modules/e2ee/controllers/e2ee-pairing.controller.d.ts +1 -0
  38. package/dist/server/modules/e2ee/controllers/e2ee-pairing.controller.js +1 -0
  39. package/dist/server/modules/e2ee/controllers/e2ee-pairing.controller.js.map +1 -1
  40. package/dist/server/modules/e2ee/services/e2ee-device-store.service.d.ts +8 -1
  41. package/dist/server/modules/e2ee/services/e2ee-device-store.service.js +31 -4
  42. package/dist/server/modules/e2ee/services/e2ee-device-store.service.js.map +1 -1
  43. package/dist/server/modules/e2ee/services/e2ee-pairing.service.d.ts +1 -0
  44. package/dist/server/modules/e2ee/services/e2ee-pairing.service.js +2 -1
  45. package/dist/server/modules/e2ee/services/e2ee-pairing.service.js.map +1 -1
  46. package/dist/server/modules/e2ee/services/e2ee-trust.service.d.ts +1 -1
  47. package/dist/server/modules/e2ee/services/e2ee-trust.service.js +5 -2
  48. package/dist/server/modules/e2ee/services/e2ee-trust.service.js.map +1 -1
  49. package/dist/server/modules/events/catalog/claude.hooks.session.started.d.ts +6 -0
  50. package/dist/server/modules/events/catalog/claude.hooks.session.started.js +2 -0
  51. package/dist/server/modules/events/catalog/claude.hooks.session.started.js.map +1 -1
  52. package/dist/server/modules/events/catalog/index.d.ts +16 -10
  53. package/dist/server/modules/events/catalog/session.activity.changed.d.ts +2 -2
  54. package/dist/server/modules/events/catalog/session.transcript.discovered.d.ts +2 -2
  55. package/dist/server/modules/events/catalog/session.transcript.ended.d.ts +2 -2
  56. package/dist/server/modules/events/catalog/session.transcript.updated.d.ts +2 -2
  57. package/dist/server/modules/events/catalog/terminal.watcher.triggered.d.ts +2 -2
  58. package/dist/server/modules/hooks/dtos/hook-event.dto.d.ts +126 -10
  59. package/dist/server/modules/hooks/dtos/hook-event.dto.js +22 -6
  60. package/dist/server/modules/hooks/dtos/hook-event.dto.js.map +1 -1
  61. package/dist/server/modules/hooks/hooks.module.js +13 -2
  62. package/dist/server/modules/hooks/hooks.module.js.map +1 -1
  63. package/dist/server/modules/hooks/services/copilot-hooks-config.service.d.ts +13 -0
  64. package/dist/server/modules/hooks/services/copilot-hooks-config.service.js +185 -0
  65. package/dist/server/modules/hooks/services/copilot-hooks-config.service.js.map +1 -0
  66. package/dist/server/modules/hooks/services/hooks.service.d.ts +1 -0
  67. package/dist/server/modules/hooks/services/hooks.service.js +18 -1
  68. package/dist/server/modules/hooks/services/hooks.service.js.map +1 -1
  69. package/dist/server/modules/mcp/dtos/mcp.dto.d.ts +2 -2
  70. package/dist/server/modules/orchestrator/docker/services/docker.service.js +16 -3
  71. package/dist/server/modules/orchestrator/docker/services/docker.service.js.map +1 -1
  72. package/dist/server/modules/providers/adapters/antigravity.adapter.d.ts +22 -0
  73. package/dist/server/modules/providers/adapters/antigravity.adapter.js +81 -0
  74. package/dist/server/modules/providers/adapters/antigravity.adapter.js.map +1 -0
  75. package/dist/server/modules/providers/adapters/capabilities/index.d.ts +2 -2
  76. package/dist/server/modules/providers/adapters/capabilities/index.js +3 -1
  77. package/dist/server/modules/providers/adapters/capabilities/index.js.map +1 -1
  78. package/dist/server/modules/providers/adapters/capabilities/type-guards.d.ts +16 -1
  79. package/dist/server/modules/providers/adapters/capabilities/type-guards.js +8 -0
  80. package/dist/server/modules/providers/adapters/capabilities/type-guards.js.map +1 -1
  81. package/dist/server/modules/providers/adapters/codex.adapter.d.ts +1 -0
  82. package/dist/server/modules/providers/adapters/codex.adapter.js +10 -4
  83. package/dist/server/modules/providers/adapters/codex.adapter.js.map +1 -1
  84. package/dist/server/modules/providers/adapters/copilot.adapter.d.ts +31 -0
  85. package/dist/server/modules/providers/adapters/copilot.adapter.js +122 -0
  86. package/dist/server/modules/providers/adapters/copilot.adapter.js.map +1 -0
  87. package/dist/server/modules/providers/adapters/index.d.ts +1 -1
  88. package/dist/server/modules/providers/adapters/index.js +1 -1
  89. package/dist/server/modules/providers/adapters/index.js.map +1 -1
  90. package/dist/server/modules/providers/adapters/provider-adapter.factory.d.ts +3 -2
  91. package/dist/server/modules/providers/adapters/provider-adapter.factory.js +8 -5
  92. package/dist/server/modules/providers/adapters/provider-adapter.factory.js.map +1 -1
  93. package/dist/server/modules/providers/adapters/provider-adapter.interface.d.ts +4 -0
  94. package/dist/server/modules/providers/adapters/provider-adapters.module.js +19 -4
  95. package/dist/server/modules/providers/adapters/provider-adapters.module.js.map +1 -1
  96. package/dist/server/modules/providers/controllers/provider-models.controller.js +3 -2
  97. package/dist/server/modules/providers/controllers/provider-models.controller.js.map +1 -1
  98. package/dist/server/modules/providers/providers.module.js +1 -0
  99. package/dist/server/modules/providers/providers.module.js.map +1 -1
  100. package/dist/server/modules/providers/services/mcp-registration/antigravity-mcp-registration.adapter.d.ts +17 -0
  101. package/dist/server/modules/providers/services/mcp-registration/antigravity-mcp-registration.adapter.js +264 -0
  102. package/dist/server/modules/providers/services/mcp-registration/antigravity-mcp-registration.adapter.js.map +1 -0
  103. package/dist/server/modules/providers/services/mcp-registration/cli-mcp-registration.adapter.js +5 -6
  104. package/dist/server/modules/providers/services/mcp-registration/cli-mcp-registration.adapter.js.map +1 -1
  105. package/dist/server/modules/providers/services/mcp-registration/index.d.ts +1 -0
  106. package/dist/server/modules/providers/services/mcp-registration/index.js +3 -1
  107. package/dist/server/modules/providers/services/mcp-registration/index.js.map +1 -1
  108. package/dist/server/modules/providers/services/mcp-registration/mcp-registration.port.d.ts +3 -1
  109. package/dist/server/modules/providers/services/mcp-registration/mcp-registration.port.js +6 -1
  110. package/dist/server/modules/providers/services/mcp-registration/mcp-registration.port.js.map +1 -1
  111. package/dist/server/modules/seeders/seeders/0009_seed_remove_gemini_provider.d.ts +3 -0
  112. package/dist/server/modules/seeders/seeders/0009_seed_remove_gemini_provider.js +64 -0
  113. package/dist/server/modules/seeders/seeders/0009_seed_remove_gemini_provider.js.map +1 -0
  114. package/dist/server/modules/seeders/services/data-seeder.service.js +2 -0
  115. package/dist/server/modules/seeders/services/data-seeder.service.js.map +1 -1
  116. package/dist/server/modules/session-reader/__fixtures__/antigravity-fixture-db.d.ts +12 -0
  117. package/dist/server/modules/session-reader/__fixtures__/antigravity-fixture-db.js +41 -0
  118. package/dist/server/modules/session-reader/__fixtures__/antigravity-fixture-db.js.map +1 -0
  119. package/dist/server/modules/session-reader/adapters/antigravity-session-reader.adapter.d.ts +30 -0
  120. package/dist/server/modules/session-reader/adapters/antigravity-session-reader.adapter.js +268 -0
  121. package/dist/server/modules/session-reader/adapters/antigravity-session-reader.adapter.js.map +1 -0
  122. package/dist/server/modules/session-reader/adapters/{gemini-session-reader.adapter.d.ts → copilot-session-reader.adapter.d.ts} +4 -5
  123. package/dist/server/modules/session-reader/adapters/{gemini-session-reader.adapter.js → copilot-session-reader.adapter.js} +35 -68
  124. package/dist/server/modules/session-reader/adapters/copilot-session-reader.adapter.js.map +1 -0
  125. package/dist/server/modules/session-reader/adapters/session-reader-adapter.factory.js.map +1 -1
  126. package/dist/server/modules/session-reader/data/pricing.json +126 -10
  127. package/dist/server/modules/session-reader/dtos/unified-session.types.d.ts +6 -0
  128. package/dist/server/modules/session-reader/dtos/unified-session.types.js.map +1 -1
  129. package/dist/server/modules/session-reader/parsers/antigravity-jsonl.parser.d.ts +16 -0
  130. package/dist/server/modules/session-reader/parsers/antigravity-jsonl.parser.js +307 -0
  131. package/dist/server/modules/session-reader/parsers/antigravity-jsonl.parser.js.map +1 -0
  132. package/dist/server/modules/session-reader/parsers/{gemini-json.parser.d.ts → copilot-jsonl.parser.d.ts} +4 -3
  133. package/dist/server/modules/session-reader/parsers/copilot-jsonl.parser.js +432 -0
  134. package/dist/server/modules/session-reader/parsers/copilot-jsonl.parser.js.map +1 -0
  135. package/dist/server/modules/session-reader/readers/antigravity-metrics.reader.d.ts +25 -0
  136. package/dist/server/modules/session-reader/readers/antigravity-metrics.reader.js +142 -0
  137. package/dist/server/modules/session-reader/readers/antigravity-metrics.reader.js.map +1 -0
  138. package/dist/server/modules/session-reader/readers/antigravity-model-pricing.d.ts +6 -0
  139. package/dist/server/modules/session-reader/readers/antigravity-model-pricing.js +35 -0
  140. package/dist/server/modules/session-reader/readers/antigravity-model-pricing.js.map +1 -0
  141. package/dist/server/modules/session-reader/readers/antigravity-transcript.reader.d.ts +24 -0
  142. package/dist/server/modules/session-reader/readers/antigravity-transcript.reader.js +80 -0
  143. package/dist/server/modules/session-reader/readers/antigravity-transcript.reader.js.map +1 -0
  144. package/dist/server/modules/session-reader/readers/copilot-model-pricing.d.ts +10 -0
  145. package/dist/server/modules/session-reader/readers/copilot-model-pricing.js +37 -0
  146. package/dist/server/modules/session-reader/readers/copilot-model-pricing.js.map +1 -0
  147. package/dist/server/modules/session-reader/readers/protobuf-wire.d.ts +13 -0
  148. package/dist/server/modules/session-reader/readers/protobuf-wire.js +94 -0
  149. package/dist/server/modules/session-reader/readers/protobuf-wire.js.map +1 -0
  150. package/dist/server/modules/session-reader/services/transcript-path-validator.service.js +2 -1
  151. package/dist/server/modules/session-reader/services/transcript-path-validator.service.js.map +1 -1
  152. package/dist/server/modules/session-reader/services/transcript-persistence.listener.d.ts +1 -0
  153. package/dist/server/modules/session-reader/services/transcript-persistence.listener.js +40 -8
  154. package/dist/server/modules/session-reader/services/transcript-persistence.listener.js.map +1 -1
  155. package/dist/server/modules/session-reader/session-reader.module.d.ts +5 -3
  156. package/dist/server/modules/session-reader/session-reader.module.js +14 -8
  157. package/dist/server/modules/session-reader/session-reader.module.js.map +1 -1
  158. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.d.ts +2 -0
  159. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js +13 -0
  160. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js.map +1 -1
  161. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.d.ts +8 -0
  162. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js +8 -1
  163. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js.map +1 -1
  164. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.d.ts +5 -1
  165. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js +42 -5
  166. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js.map +1 -1
  167. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js +1 -0
  168. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js.map +1 -1
  169. package/dist/server/modules/subscribers/events/event-fields-catalog.js +5 -3
  170. package/dist/server/modules/subscribers/events/event-fields-catalog.js.map +1 -1
  171. package/dist/server/templates/3-agents-dev.json +172 -139
  172. package/dist/server/templates/teams-dev.json +271 -183
  173. package/dist/server/tsconfig.tsbuildinfo +1 -1
  174. package/dist/server/ui/assets/{ReviewDetailPage-BpPjTAgL.js → ReviewDetailPage-BDisSE9l.js} +1 -1
  175. package/dist/server/ui/assets/{ReviewsPage-CAs14WVx.js → ReviewsPage-3puoJiOQ.js} +1 -1
  176. package/dist/server/ui/assets/{index-DhGz-UAr.js → index-zlQ1ekQ2.js} +43 -40
  177. package/dist/server/ui/assets/{useReviewSubscription-CscSQD7B.js → useReviewSubscription-wTrdkdi0.js} +1 -1
  178. package/dist/server/ui/index.html +1 -1
  179. package/dist/templates/3-agents-dev.json +172 -139
  180. package/dist/templates/teams-dev.json +271 -183
  181. package/package.json +12 -1
  182. package/dist/server/modules/core/services/gemini-trusted-folders.module.d.ts +0 -2
  183. package/dist/server/modules/core/services/gemini-trusted-folders.module.js.map +0 -1
  184. package/dist/server/modules/core/services/gemini-trusted-folders.service.d.ts +0 -26
  185. package/dist/server/modules/core/services/gemini-trusted-folders.service.js +0 -181
  186. package/dist/server/modules/core/services/gemini-trusted-folders.service.js.map +0 -1
  187. package/dist/server/modules/providers/adapters/gemini.adapter.d.ts +0 -27
  188. package/dist/server/modules/providers/adapters/gemini.adapter.js +0 -119
  189. package/dist/server/modules/providers/adapters/gemini.adapter.js.map +0 -1
  190. package/dist/server/modules/session-reader/adapters/gemini-session-reader.adapter.js.map +0 -1
  191. package/dist/server/modules/session-reader/parsers/gemini-json.parser.js +0 -380
  192. package/dist/server/modules/session-reader/parsers/gemini-json.parser.js.map +0 -1
@@ -283,6 +283,54 @@
283
283
  "max_input_tokens": 1000000,
284
284
  "max_output_tokens": 128000
285
285
  },
286
+ "anthropic.claude-sonnet-5": {
287
+ "input_cost_per_token": 0.000003,
288
+ "output_cost_per_token": 0.000015,
289
+ "cache_read_input_token_cost": 3e-7,
290
+ "cache_creation_input_token_cost": 0.00000375,
291
+ "max_input_tokens": 1000000,
292
+ "max_output_tokens": 128000
293
+ },
294
+ "global.anthropic.claude-sonnet-5": {
295
+ "input_cost_per_token": 0.000003,
296
+ "output_cost_per_token": 0.000015,
297
+ "cache_read_input_token_cost": 3e-7,
298
+ "cache_creation_input_token_cost": 0.00000375,
299
+ "max_input_tokens": 1000000,
300
+ "max_output_tokens": 128000
301
+ },
302
+ "us.anthropic.claude-sonnet-5": {
303
+ "input_cost_per_token": 0.0000033,
304
+ "output_cost_per_token": 0.0000165,
305
+ "cache_read_input_token_cost": 3.3e-7,
306
+ "cache_creation_input_token_cost": 0.000004125,
307
+ "max_input_tokens": 1000000,
308
+ "max_output_tokens": 128000
309
+ },
310
+ "eu.anthropic.claude-sonnet-5": {
311
+ "input_cost_per_token": 0.0000033,
312
+ "output_cost_per_token": 0.0000165,
313
+ "cache_read_input_token_cost": 3.3e-7,
314
+ "cache_creation_input_token_cost": 0.000004125,
315
+ "max_input_tokens": 1000000,
316
+ "max_output_tokens": 128000
317
+ },
318
+ "au.anthropic.claude-sonnet-5": {
319
+ "input_cost_per_token": 0.0000033,
320
+ "output_cost_per_token": 0.0000165,
321
+ "cache_read_input_token_cost": 3.3e-7,
322
+ "cache_creation_input_token_cost": 0.000004125,
323
+ "max_input_tokens": 1000000,
324
+ "max_output_tokens": 128000
325
+ },
326
+ "jp.anthropic.claude-sonnet-5": {
327
+ "input_cost_per_token": 0.0000033,
328
+ "output_cost_per_token": 0.0000165,
329
+ "cache_read_input_token_cost": 3.3e-7,
330
+ "cache_creation_input_token_cost": 0.000004125,
331
+ "max_input_tokens": 1000000,
332
+ "max_output_tokens": 128000
333
+ },
286
334
  "anthropic.claude-sonnet-4-6": {
287
335
  "input_cost_per_token": 0.000003,
288
336
  "output_cost_per_token": 0.000015,
@@ -508,6 +556,14 @@
508
556
  "max_input_tokens": 200000,
509
557
  "max_output_tokens": 64000
510
558
  },
559
+ "azure_ai/claude-sonnet-5": {
560
+ "input_cost_per_token": 0.000003,
561
+ "output_cost_per_token": 0.000015,
562
+ "cache_read_input_token_cost": 3e-7,
563
+ "cache_creation_input_token_cost": 0.00000375,
564
+ "max_input_tokens": 1000000,
565
+ "max_output_tokens": 128000
566
+ },
511
567
  "azure_ai/claude-sonnet-4-6": {
512
568
  "input_cost_per_token": 0.000003,
513
569
  "output_cost_per_token": 0.000015,
@@ -1874,6 +1930,14 @@
1874
1930
  "max_input_tokens": 200000,
1875
1931
  "max_output_tokens": 64000
1876
1932
  },
1933
+ "claude-sonnet-5": {
1934
+ "input_cost_per_token": 0.000003,
1935
+ "output_cost_per_token": 0.000015,
1936
+ "cache_read_input_token_cost": 3e-7,
1937
+ "cache_creation_input_token_cost": 0.00000375,
1938
+ "max_input_tokens": 1000000,
1939
+ "max_output_tokens": 128000
1940
+ },
1877
1941
  "claude-sonnet-4-6": {
1878
1942
  "input_cost_per_token": 0.000003,
1879
1943
  "output_cost_per_token": 0.000015,
@@ -2332,12 +2396,24 @@
2332
2396
  "max_input_tokens": 32768,
2333
2397
  "max_output_tokens": 32768
2334
2398
  },
2399
+ "gemini-3-pro-image": {
2400
+ "input_cost_per_token": 0.000002,
2401
+ "output_cost_per_token": 0.000012,
2402
+ "max_input_tokens": 65536,
2403
+ "max_output_tokens": 32768
2404
+ },
2335
2405
  "gemini-3-pro-image-preview": {
2336
2406
  "input_cost_per_token": 0.000002,
2337
2407
  "output_cost_per_token": 0.000012,
2338
2408
  "max_input_tokens": 65536,
2339
2409
  "max_output_tokens": 32768
2340
2410
  },
2411
+ "gemini-3.1-flash-image": {
2412
+ "input_cost_per_token": 5e-7,
2413
+ "output_cost_per_token": 0.000003,
2414
+ "max_input_tokens": 65536,
2415
+ "max_output_tokens": 32768
2416
+ },
2341
2417
  "gemini-3.1-flash-image-preview": {
2342
2418
  "input_cost_per_token": 5e-7,
2343
2419
  "output_cost_per_token": 0.000003,
@@ -2609,12 +2685,24 @@
2609
2685
  "max_input_tokens": 32768,
2610
2686
  "max_output_tokens": 32768
2611
2687
  },
2688
+ "gemini/gemini-3-pro-image": {
2689
+ "input_cost_per_token": 0.000002,
2690
+ "output_cost_per_token": 0.000012,
2691
+ "max_input_tokens": 65536,
2692
+ "max_output_tokens": 32768
2693
+ },
2612
2694
  "gemini/gemini-3-pro-image-preview": {
2613
2695
  "input_cost_per_token": 0.000002,
2614
2696
  "output_cost_per_token": 0.000012,
2615
2697
  "max_input_tokens": 65536,
2616
2698
  "max_output_tokens": 32768
2617
2699
  },
2700
+ "gemini/gemini-3.1-flash-image": {
2701
+ "input_cost_per_token": 2.5e-7,
2702
+ "output_cost_per_token": 0.0000015,
2703
+ "max_input_tokens": 65536,
2704
+ "max_output_tokens": 32768
2705
+ },
2618
2706
  "gemini/gemini-3.1-flash-image-preview": {
2619
2707
  "input_cost_per_token": 2.5e-7,
2620
2708
  "output_cost_per_token": 0.0000015,
@@ -3381,41 +3469,41 @@
3381
3469
  "input_cost_per_token": 7.5e-7,
3382
3470
  "output_cost_per_token": 0.0000045,
3383
3471
  "cache_read_input_token_cost": 7.5e-8,
3384
- "max_input_tokens": 272000,
3472
+ "max_input_tokens": 1050000,
3385
3473
  "max_output_tokens": 128000
3386
3474
  },
3387
3475
  "gpt-5.4-mini-2026-03-17": {
3388
3476
  "input_cost_per_token": 7.5e-7,
3389
3477
  "output_cost_per_token": 0.0000045,
3390
3478
  "cache_read_input_token_cost": 7.5e-8,
3391
- "max_input_tokens": 272000,
3479
+ "max_input_tokens": 1050000,
3392
3480
  "max_output_tokens": 128000
3393
3481
  },
3394
3482
  "gpt-5.4-nano": {
3395
3483
  "input_cost_per_token": 2e-7,
3396
3484
  "output_cost_per_token": 0.00000125,
3397
3485
  "cache_read_input_token_cost": 2e-8,
3398
- "max_input_tokens": 272000,
3486
+ "max_input_tokens": 1050000,
3399
3487
  "max_output_tokens": 128000
3400
3488
  },
3401
3489
  "gpt-5.4-nano-2026-03-17": {
3402
3490
  "input_cost_per_token": 2e-7,
3403
3491
  "output_cost_per_token": 0.00000125,
3404
3492
  "cache_read_input_token_cost": 2e-8,
3405
- "max_input_tokens": 272000,
3493
+ "max_input_tokens": 1050000,
3406
3494
  "max_output_tokens": 128000
3407
3495
  },
3408
3496
  "gpt-5-pro": {
3409
3497
  "input_cost_per_token": 0.000015,
3410
3498
  "output_cost_per_token": 0.00012,
3411
- "max_input_tokens": 128000,
3412
- "max_output_tokens": 272000
3499
+ "max_input_tokens": 400000,
3500
+ "max_output_tokens": 128000
3413
3501
  },
3414
3502
  "gpt-5-pro-2025-10-06": {
3415
3503
  "input_cost_per_token": 0.000015,
3416
3504
  "output_cost_per_token": 0.00012,
3417
- "max_input_tokens": 128000,
3418
- "max_output_tokens": 272000
3505
+ "max_input_tokens": 400000,
3506
+ "max_output_tokens": 128000
3419
3507
  },
3420
3508
  "gpt-5-2025-08-07": {
3421
3509
  "input_cost_per_token": 0.00000125,
@@ -4186,8 +4274,8 @@
4186
4274
  "output_cost_per_token": 7.2e-7
4187
4275
  },
4188
4276
  "sambanova/gpt-oss-120b": {
4189
- "input_cost_per_token": 0.000003,
4190
- "output_cost_per_token": 0.0000045,
4277
+ "input_cost_per_token": 2.2e-7,
4278
+ "output_cost_per_token": 5.9e-7,
4191
4279
  "max_input_tokens": 131072,
4192
4280
  "max_output_tokens": 131072
4193
4281
  },
@@ -4849,6 +4937,14 @@
4849
4937
  "max_input_tokens": 200000,
4850
4938
  "max_output_tokens": 64000
4851
4939
  },
4940
+ "vertex_ai/claude-sonnet-5": {
4941
+ "input_cost_per_token": 0.000003,
4942
+ "output_cost_per_token": 0.000015,
4943
+ "cache_read_input_token_cost": 3e-7,
4944
+ "cache_creation_input_token_cost": 0.00000375,
4945
+ "max_input_tokens": 1000000,
4946
+ "max_output_tokens": 128000
4947
+ },
4852
4948
  "vertex_ai/claude-sonnet-4-6": {
4853
4949
  "input_cost_per_token": 0.000003,
4854
4950
  "output_cost_per_token": 0.000015,
@@ -4908,12 +5004,24 @@
4908
5004
  "max_input_tokens": 32768,
4909
5005
  "max_output_tokens": 32768
4910
5006
  },
5007
+ "vertex_ai/gemini-3-pro-image": {
5008
+ "input_cost_per_token": 0.000002,
5009
+ "output_cost_per_token": 0.000012,
5010
+ "max_input_tokens": 65536,
5011
+ "max_output_tokens": 32768
5012
+ },
4911
5013
  "vertex_ai/gemini-3-pro-image-preview": {
4912
5014
  "input_cost_per_token": 0.000002,
4913
5015
  "output_cost_per_token": 0.000012,
4914
5016
  "max_input_tokens": 65536,
4915
5017
  "max_output_tokens": 32768
4916
5018
  },
5019
+ "vertex_ai/gemini-3.1-flash-image": {
5020
+ "input_cost_per_token": 5e-7,
5021
+ "output_cost_per_token": 0.000003,
5022
+ "max_input_tokens": 65536,
5023
+ "max_output_tokens": 32768
5024
+ },
4917
5025
  "vertex_ai/gemini-3.1-flash-image-preview": {
4918
5026
  "input_cost_per_token": 5e-7,
4919
5027
  "output_cost_per_token": 0.000003,
@@ -5190,6 +5298,14 @@
5190
5298
  "max_input_tokens": 1048576,
5191
5299
  "max_output_tokens": 65535
5192
5300
  },
5301
+ "vertex_ai/claude-sonnet-5@default": {
5302
+ "input_cost_per_token": 0.000003,
5303
+ "output_cost_per_token": 0.000015,
5304
+ "cache_read_input_token_cost": 3e-7,
5305
+ "cache_creation_input_token_cost": 0.00000375,
5306
+ "max_input_tokens": 1000000,
5307
+ "max_output_tokens": 128000
5308
+ },
5193
5309
  "vertex_ai/claude-sonnet-4-6@default": {
5194
5310
  "input_cost_per_token": 0.000003,
5195
5311
  "output_cost_per_token": 0.000015,
@@ -19,7 +19,13 @@ export interface UnifiedMetrics {
19
19
  visibleContextTokens: number;
20
20
  totalContextTokens: number;
21
21
  contextWindowTokens: number;
22
+ contextBreakdown?: {
23
+ system: number;
24
+ conversation: number;
25
+ toolDefinitions: number;
26
+ };
22
27
  costUsd: number;
28
+ nativeCost?: number;
23
29
  primaryModel: string;
24
30
  modelsUsed?: string[];
25
31
  durationMs: number;
@@ -1 +1 @@
1
- {"version":3,"file":"unified-session.types.js","sourceRoot":"","sources":["../../../../src/modules/session-reader/dtos/unified-session.types.ts"],"names":[],"mappings":";;AAwIA,sCAEC;AAED,8CAEC;AAED,8CAEC;AAED,kDAEC;AAED,wCAEC;AAlBD,SAAgB,aAAa,CAAC,KAA0B;IACtD,OAAO,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC;AAC/B,CAAC;AAED,SAAgB,iBAAiB,CAAC,KAA0B;IAC1D,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC;AACnC,CAAC;AAED,SAAgB,iBAAiB,CAAC,KAA0B;IAC1D,OAAO,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC;AACpC,CAAC;AAED,SAAgB,mBAAmB,CAAC,KAA0B;IAC5D,OAAO,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC;AACtC,CAAC;AAED,SAAgB,cAAc,CAAC,KAA0B;IACvD,OAAO,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"unified-session.types.js","sourceRoot":"","sources":["../../../../src/modules/session-reader/dtos/unified-session.types.ts"],"names":[],"mappings":";;AAyJA,sCAEC;AAED,8CAEC;AAED,8CAEC;AAED,kDAEC;AAED,wCAEC;AAlBD,SAAgB,aAAa,CAAC,KAA0B;IACtD,OAAO,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC;AAC/B,CAAC;AAED,SAAgB,iBAAiB,CAAC,KAA0B;IAC1D,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC;AACnC,CAAC;AAED,SAAgB,iBAAiB,CAAC,KAA0B;IAC1D,OAAO,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC;AACpC,CAAC;AAED,SAAgB,mBAAmB,CAAC,KAA0B;IAC5D,OAAO,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC;AACtC,CAAC;AAED,SAAgB,cAAc,CAAC,KAA0B;IACvD,OAAO,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC;AAChC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { UnifiedMessage, UnifiedMetrics } from '../dtos/unified-session.types';
2
+ import type { PricingServiceInterface } from '../services/pricing.interface';
3
+ export interface AntigravityParseResult {
4
+ messages: UnifiedMessage[];
5
+ metrics: UnifiedMetrics;
6
+ bytesRead: number;
7
+ warnings?: string[];
8
+ }
9
+ export interface AntigravityParseOptions {
10
+ maxMessages?: number;
11
+ includeToolCalls?: boolean;
12
+ maxToolOutputChars?: number;
13
+ pricingService?: PricingServiceInterface;
14
+ }
15
+ export declare function parseAntigravityJsonl(filePath: string, options?: AntigravityParseOptions): Promise<AntigravityParseResult>;
16
+ export declare function parseAntigravitySteps(rawLines: string[], bytesRead: number, options?: AntigravityParseOptions): AntigravityParseResult;
@@ -0,0 +1,307 @@
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.parseAntigravityJsonl = parseAntigravityJsonl;
37
+ exports.parseAntigravitySteps = parseAntigravitySteps;
38
+ const fs = __importStar(require("node:fs/promises"));
39
+ const logger_1 = require("../../../common/logging/logger");
40
+ const estimate_content_tokens_1 = require("../adapters/utils/estimate-content-tokens");
41
+ const logger = (0, logger_1.createLogger)('AntigravityJsonlParser');
42
+ const DEFAULT_CONTEXT_WINDOW_TOKENS = 1_000_000;
43
+ const DEFAULT_MAX_TOOL_OUTPUT_CHARS = 100_000;
44
+ const TOOL_RESULT_TYPES = new Set(['RUN_COMMAND', 'VIEW_FILE', 'GREP_SEARCH', 'GENERIC']);
45
+ async function parseAntigravityJsonl(filePath, options) {
46
+ let fileContent;
47
+ let bytesRead;
48
+ try {
49
+ const stat = await fs.stat(filePath);
50
+ bytesRead = stat.size;
51
+ fileContent = await fs.readFile(filePath, 'utf8');
52
+ }
53
+ catch (error) {
54
+ logger.warn({ filePath, error }, 'Failed to read agy transcript_full.jsonl');
55
+ return emptyResult(0, ['Transcript file could not be read — session data unavailable']);
56
+ }
57
+ return parseAntigravitySteps(splitJsonlLines(fileContent), bytesRead, options);
58
+ }
59
+ function parseAntigravitySteps(rawLines, bytesRead, options) {
60
+ const maxMessages = options?.maxMessages;
61
+ const includeToolCalls = options?.includeToolCalls ?? true;
62
+ const maxToolOutputChars = options?.maxToolOutputChars ?? DEFAULT_MAX_TOOL_OUTPUT_CHARS;
63
+ const messages = [];
64
+ const warnings = [];
65
+ const pendingToolCalls = [];
66
+ let msgSeq = 0;
67
+ let compactionCount = 0;
68
+ let firstTimestamp;
69
+ let lastTimestamp;
70
+ const nextId = () => `agy-msg-${msgSeq++}`;
71
+ const parentOf = () => messages.length > 0 ? messages[messages.length - 1].id : null;
72
+ const trackTimestamp = (ts) => {
73
+ if (Number.isNaN(ts.getTime()))
74
+ return;
75
+ if (!firstTimestamp || ts < firstTimestamp)
76
+ firstTimestamp = ts;
77
+ if (!lastTimestamp || ts > lastTimestamp)
78
+ lastTimestamp = ts;
79
+ };
80
+ for (const line of rawLines) {
81
+ if (maxMessages && messages.length >= maxMessages)
82
+ break;
83
+ const step = safeParse(line);
84
+ if (!step || !step.type)
85
+ continue;
86
+ const ts = step.created_at ? new Date(step.created_at) : new Date(0);
87
+ trackTimestamp(ts);
88
+ switch (step.type) {
89
+ case 'USER_INPUT': {
90
+ const text = extractUserRequest(step.content);
91
+ if (!text)
92
+ break;
93
+ messages.push({
94
+ id: nextId(),
95
+ parentId: parentOf(),
96
+ role: 'user',
97
+ timestamp: ts,
98
+ content: [{ type: 'text', text }],
99
+ toolCalls: [],
100
+ toolResults: [],
101
+ isMeta: false,
102
+ isSidechain: false,
103
+ });
104
+ break;
105
+ }
106
+ case 'PLANNER_RESPONSE': {
107
+ const content = [];
108
+ const toolCalls = [];
109
+ const thinking = step.thinking?.trim();
110
+ if (thinking)
111
+ content.push({ type: 'thinking', thinking });
112
+ const text = step.content?.trim();
113
+ if (text)
114
+ content.push({ type: 'text', text });
115
+ const rawToolCalls = includeToolCalls && Array.isArray(step.tool_calls) ? step.tool_calls : [];
116
+ rawToolCalls.forEach((tc, i) => {
117
+ if (!tc?.name)
118
+ return;
119
+ const toolCallId = `agy-tc-${step.step_index ?? msgSeq}-${i}`;
120
+ const input = (tc.args ?? {});
121
+ content.push({ type: 'tool_call', toolCallId, toolName: tc.name, input });
122
+ toolCalls.push({ id: toolCallId, name: tc.name, input, isTask: false });
123
+ });
124
+ if (content.length === 0)
125
+ break;
126
+ const messageIndex = messages.length;
127
+ messages.push({
128
+ id: nextId(),
129
+ parentId: parentOf(),
130
+ role: 'assistant',
131
+ timestamp: ts,
132
+ content,
133
+ toolCalls,
134
+ toolResults: [],
135
+ isMeta: false,
136
+ isSidechain: false,
137
+ stopReason: toolCalls.length > 0 ? 'tool_use' : 'end_turn',
138
+ });
139
+ for (const call of toolCalls) {
140
+ pendingToolCalls.push({ messageIndex, toolCallId: call.id });
141
+ }
142
+ break;
143
+ }
144
+ case 'CHECKPOINT': {
145
+ const text = step.content?.trim();
146
+ compactionCount++;
147
+ messages.push({
148
+ id: nextId(),
149
+ parentId: parentOf(),
150
+ role: 'system',
151
+ timestamp: ts,
152
+ content: [{ type: 'text', text: text || '[Conversation compacted]' }],
153
+ toolCalls: [],
154
+ toolResults: [],
155
+ isMeta: true,
156
+ isSidechain: false,
157
+ isCompactSummary: true,
158
+ });
159
+ break;
160
+ }
161
+ case 'CONVERSATION_HISTORY':
162
+ break;
163
+ default: {
164
+ if (TOOL_RESULT_TYPES.has(step.type)) {
165
+ foldToolResult(step, messages, pendingToolCalls, maxToolOutputChars, nextId, parentOf, ts);
166
+ break;
167
+ }
168
+ const text = step.content?.trim();
169
+ if (text) {
170
+ messages.push({
171
+ id: nextId(),
172
+ parentId: parentOf(),
173
+ role: 'system',
174
+ timestamp: ts,
175
+ content: [{ type: 'text', text }],
176
+ toolCalls: [],
177
+ toolResults: [],
178
+ isMeta: true,
179
+ isSidechain: false,
180
+ });
181
+ }
182
+ else {
183
+ logger.debug({ type: step.type }, 'Skipping agy step with no renderable content');
184
+ }
185
+ break;
186
+ }
187
+ }
188
+ }
189
+ const durationMs = firstTimestamp && lastTimestamp ? lastTimestamp.getTime() - firstTimestamp.getTime() : 0;
190
+ const visibleContextTokens = (0, estimate_content_tokens_1.estimateVisibleFromMessages)(messages);
191
+ const phaseBreakdowns = [
192
+ { phaseNumber: 1, contribution: visibleContextTokens, peakTokens: visibleContextTokens },
193
+ ];
194
+ const metrics = {
195
+ inputTokens: 0,
196
+ outputTokens: 0,
197
+ cacheReadTokens: 0,
198
+ cacheCreationTokens: 0,
199
+ totalTokens: 0,
200
+ totalContextConsumption: visibleContextTokens,
201
+ compactionCount,
202
+ phaseBreakdowns,
203
+ visibleContextTokens,
204
+ totalContextTokens: 0,
205
+ contextWindowTokens: DEFAULT_CONTEXT_WINDOW_TOKENS,
206
+ costUsd: 0,
207
+ primaryModel: '',
208
+ durationMs,
209
+ messageCount: messages.length,
210
+ isOngoing: false,
211
+ };
212
+ return {
213
+ messages,
214
+ metrics,
215
+ bytesRead,
216
+ warnings: warnings.length > 0 ? warnings : undefined,
217
+ };
218
+ }
219
+ function foldToolResult(step, messages, pendingToolCalls, maxToolOutputChars, nextId, parentOf, ts) {
220
+ const isError = step.status === 'ERROR' || step.status === 'FAILED';
221
+ const { content: outContent, isTruncated, fullLength, } = capOutput(step.content ?? '', maxToolOutputChars);
222
+ const pending = pendingToolCalls.shift();
223
+ if (pending) {
224
+ const owner = messages[pending.messageIndex];
225
+ const block = {
226
+ type: 'tool_result',
227
+ toolCallId: pending.toolCallId,
228
+ content: outContent,
229
+ isError,
230
+ ...(isTruncated ? { isTruncated, fullLength } : {}),
231
+ };
232
+ owner.content.push(block);
233
+ owner.toolResults.push({
234
+ toolCallId: pending.toolCallId,
235
+ content: outContent,
236
+ isError,
237
+ ...(isTruncated ? { isTruncated, fullLength } : {}),
238
+ });
239
+ return;
240
+ }
241
+ const text = outContent.trim();
242
+ if (!text)
243
+ return;
244
+ messages.push({
245
+ id: nextId(),
246
+ parentId: parentOf(),
247
+ role: 'system',
248
+ timestamp: ts,
249
+ content: [{ type: 'text', text }],
250
+ toolCalls: [],
251
+ toolResults: [],
252
+ isMeta: true,
253
+ isSidechain: false,
254
+ });
255
+ }
256
+ function extractUserRequest(content) {
257
+ if (!content)
258
+ return '';
259
+ const match = content.match(/<USER_REQUEST>\s*([\s\S]*?)\s*<\/USER_REQUEST>/);
260
+ if (match)
261
+ return match[1].trim();
262
+ return content.trim();
263
+ }
264
+ function capOutput(raw, maxChars) {
265
+ if (raw.length > maxChars) {
266
+ return { content: raw.slice(0, maxChars), isTruncated: true, fullLength: raw.length };
267
+ }
268
+ return { content: raw, isTruncated: false };
269
+ }
270
+ function splitJsonlLines(fileContent) {
271
+ return fileContent.split('\n').filter((l) => l.trim().length > 0);
272
+ }
273
+ function safeParse(line) {
274
+ try {
275
+ return JSON.parse(line);
276
+ }
277
+ catch {
278
+ logger.debug('Failed to parse agy transcript line — skipping');
279
+ return null;
280
+ }
281
+ }
282
+ function emptyResult(bytesRead, warnings) {
283
+ return {
284
+ messages: [],
285
+ metrics: {
286
+ inputTokens: 0,
287
+ outputTokens: 0,
288
+ cacheReadTokens: 0,
289
+ cacheCreationTokens: 0,
290
+ totalTokens: 0,
291
+ totalContextConsumption: 0,
292
+ compactionCount: 0,
293
+ phaseBreakdowns: [],
294
+ visibleContextTokens: 0,
295
+ totalContextTokens: 0,
296
+ contextWindowTokens: DEFAULT_CONTEXT_WINDOW_TOKENS,
297
+ costUsd: 0,
298
+ primaryModel: '',
299
+ durationMs: 0,
300
+ messageCount: 0,
301
+ isOngoing: false,
302
+ },
303
+ bytesRead,
304
+ warnings,
305
+ };
306
+ }
307
+ //# sourceMappingURL=antigravity-jsonl.parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"antigravity-jsonl.parser.js","sourceRoot":"","sources":["../../../../src/modules/session-reader/parsers/antigravity-jsonl.parser.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,16 @@
1
1
  import type { UnifiedMessage, UnifiedMetrics } from '../dtos/unified-session.types';
2
2
  import type { PricingServiceInterface } from '../services/pricing.interface';
3
- export interface GeminiParseResult {
3
+ export interface CopilotParseResult {
4
4
  messages: UnifiedMessage[];
5
5
  metrics: UnifiedMetrics;
6
6
  bytesRead: number;
7
7
  sessionId?: string;
8
8
  warnings?: string[];
9
9
  }
10
- export interface GeminiParseOptions {
10
+ export interface CopilotParseOptions {
11
11
  maxMessages?: number;
12
+ byteOffset?: number;
12
13
  includeToolCalls?: boolean;
13
14
  pricingService?: PricingServiceInterface;
14
15
  }
15
- export declare function parseGeminiJson(filePath: string, options?: GeminiParseOptions): Promise<GeminiParseResult>;
16
+ export declare function parseCopilotJsonl(filePath: string, options?: CopilotParseOptions): Promise<CopilotParseResult>;