@zaip-ai/cli 4.9.0 → 5.0.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 (180) hide show
  1. package/dist/services/adapter-hook-sources.d.ts +3 -0
  2. package/dist/services/adapter-hook-sources.d.ts.map +1 -1
  3. package/dist/services/adapter-hook-sources.js +3 -0
  4. package/dist/services/adapter-hook-sources.js.map +1 -1
  5. package/dist/services/adapters.d.ts +1 -1
  6. package/dist/services/adapters.d.ts.map +1 -1
  7. package/dist/services/adapters.js +5 -2
  8. package/dist/services/adapters.js.map +1 -1
  9. package/dist/services/adapters.test.js +1 -1
  10. package/dist/services/adapters.test.js.map +1 -1
  11. package/dist/services/codex-conversation-lifecycle-hook.d.ts.map +1 -1
  12. package/dist/services/codex-conversation-lifecycle-hook.js +16 -6
  13. package/dist/services/codex-conversation-lifecycle-hook.js.map +1 -1
  14. package/dist/services/codex-hook-activation.d.ts +1 -1
  15. package/dist/services/codex-hook-activation.d.ts.map +1 -1
  16. package/dist/services/codex-hook-activation.js +116 -10
  17. package/dist/services/codex-hook-activation.js.map +1 -1
  18. package/dist/services/codex-pre-tool-cli-capture-template.d.ts +2 -0
  19. package/dist/services/codex-pre-tool-cli-capture-template.d.ts.map +1 -0
  20. package/dist/services/codex-pre-tool-cli-capture-template.js +104 -0
  21. package/dist/services/codex-pre-tool-cli-capture-template.js.map +1 -0
  22. package/dist/services/codex-pre-tool-cloud-template.d.ts +2 -0
  23. package/dist/services/codex-pre-tool-cloud-template.d.ts.map +1 -0
  24. package/dist/services/codex-pre-tool-cloud-template.js +190 -0
  25. package/dist/services/codex-pre-tool-cloud-template.js.map +1 -0
  26. package/dist/services/codex-pre-tool-dependencies.test-support.d.ts +2 -0
  27. package/dist/services/codex-pre-tool-dependencies.test-support.d.ts.map +1 -0
  28. package/dist/services/codex-pre-tool-dependencies.test-support.js +9 -0
  29. package/dist/services/codex-pre-tool-dependencies.test-support.js.map +1 -0
  30. package/dist/services/codex-pre-tool-hook-fixture.test-support.d.ts +5 -0
  31. package/dist/services/codex-pre-tool-hook-fixture.test-support.d.ts.map +1 -0
  32. package/dist/services/codex-pre-tool-hook-fixture.test-support.js +19 -0
  33. package/dist/services/codex-pre-tool-hook-fixture.test-support.js.map +1 -0
  34. package/dist/services/codex-pre-tool-hook-template-bootstrap.test.d.ts +2 -0
  35. package/dist/services/codex-pre-tool-hook-template-bootstrap.test.d.ts.map +1 -0
  36. package/dist/services/codex-pre-tool-hook-template-bootstrap.test.js +107 -0
  37. package/dist/services/codex-pre-tool-hook-template-bootstrap.test.js.map +1 -0
  38. package/dist/services/codex-pre-tool-hook-template.d.ts.map +1 -1
  39. package/dist/services/codex-pre-tool-hook-template.js +96 -210
  40. package/dist/services/codex-pre-tool-hook-template.js.map +1 -1
  41. package/dist/services/codex-pre-tool-hook-template.test.js +32 -80
  42. package/dist/services/codex-pre-tool-hook-template.test.js.map +1 -1
  43. package/dist/services/codex-pre-tool-host-context-template.d.ts +2 -0
  44. package/dist/services/codex-pre-tool-host-context-template.d.ts.map +1 -0
  45. package/dist/services/codex-pre-tool-host-context-template.js +139 -0
  46. package/dist/services/codex-pre-tool-host-context-template.js.map +1 -0
  47. package/dist/services/codex-pre-tool-support-template.d.ts.map +1 -1
  48. package/dist/services/codex-pre-tool-support-template.js +61 -101
  49. package/dist/services/codex-pre-tool-support-template.js.map +1 -1
  50. package/dist/services/codex-subagent-hook-template.d.ts +1 -1
  51. package/dist/services/codex-subagent-hook-template.d.ts.map +1 -1
  52. package/dist/services/codex-subagent-hook-template.js +13 -2
  53. package/dist/services/codex-subagent-hook-template.js.map +1 -1
  54. package/dist/services/codex-validation-runtime-template.d.ts.map +1 -1
  55. package/dist/services/codex-validation-runtime-template.js +10 -4
  56. package/dist/services/codex-validation-runtime-template.js.map +1 -1
  57. package/dist/services/runtime-template-test-support.d.ts +1 -0
  58. package/dist/services/runtime-template-test-support.d.ts.map +1 -1
  59. package/dist/services/runtime-template-test-support.js +23 -2
  60. package/dist/services/runtime-template-test-support.js.map +1 -1
  61. package/dist/services/runtime-template.test.js +4 -23
  62. package/dist/services/runtime-template.test.js.map +1 -1
  63. package/package.json +1 -1
  64. package/templates/.agents/README-ENG.md +49 -7
  65. package/templates/.agents/README.md +37 -10
  66. package/templates/.agents/config/agents/discovery.json +1 -1
  67. package/templates/.agents/dashboard/.zaip-managed.json +121 -73
  68. package/templates/.agents/dashboard/apps/frontend/dist/assets/{CostCalculationGuidePage-BW7Vy1cp.js → CostCalculationGuidePage-w6pjt4OM.js} +1 -1
  69. package/templates/.agents/dashboard/apps/frontend/dist/assets/{DashboardHelpDialog-Cp_hEVd8.js → DashboardHelpDialog-DhlntQcR.js} +76 -11
  70. package/templates/.agents/dashboard/apps/frontend/dist/assets/{PricingSettingsDialog-Prcs-ydy.js → PricingSettingsDialog-BHoZT2an.js} +1 -1
  71. package/templates/.agents/dashboard/apps/frontend/dist/assets/{ProjectSettingsPage-Cu40wAFF.js → ProjectSettingsPage-IcncIZ9Y.js} +1 -1
  72. package/templates/.agents/dashboard/apps/frontend/dist/assets/{TraceabilityWorkspace-Bh3YBd3C.js → TraceabilityWorkspace-C6rORjpr.js} +1 -1
  73. package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-uPnOBShc.js +68 -0
  74. package/templates/.agents/dashboard/apps/frontend/dist/assets/{dashboard-localization-CF7B1Hjn.js → dashboard-localization-DWXjEIgc.js} +49 -7
  75. package/templates/.agents/dashboard/apps/frontend/dist/assets/{icons-vendor-DOhy6D2-.js → icons-vendor-Hc9fp_gs.js} +1 -1
  76. package/templates/.agents/dashboard/apps/frontend/dist/assets/{index-qVSJnJ0_.js → index-BqeOEZW5.js} +2 -2
  77. package/templates/.agents/dashboard/apps/frontend/dist/assets/{react-vendor-CkPC-yMz.js → react-vendor-C9ta_O10.js} +1 -1
  78. package/templates/.agents/dashboard/apps/frontend/dist/assets/{traceability-BEdGoIDm.js → traceability-IcefoTOv.js} +1 -1
  79. package/templates/.agents/dashboard/apps/frontend/dist/index.html +5 -5
  80. package/templates/.agents/dashboard/apps/frontend/package.json +1 -1
  81. package/templates/.agents/dashboard/modules/cost-monitor/package.json +1 -1
  82. package/templates/.agents/dashboard/modules/cost-monitor/src/contracts.ts +10 -3
  83. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostFilters.run-page.test.ts +5 -1
  84. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostGroupsTable.period-values.test.tsx +2 -2
  85. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables-keeps-legacy-codex-identity-fields-blank.test.ts +5 -5
  86. package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables.test.ts +36 -43
  87. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-loaders.ts +1 -0
  88. package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-table-formatters.ts +6 -4
  89. package/templates/.agents/dashboard/modules/cost-monitor/src/server/aggregate.ts +2 -2
  90. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-projection.ts +1 -1
  91. package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-summary-projection.ts +11 -25
  92. package/templates/.agents/dashboard/modules/cost-monitor/src/server/cost-summary-defaults.ts +26 -0
  93. package/templates/.agents/dashboard/modules/operations/package.json +1 -1
  94. package/templates/.agents/dashboard/modules/operations/src/contracts.ts +11 -16
  95. package/templates/.agents/dashboard/modules/operations/src/planning-contracts.ts +14 -0
  96. package/templates/.agents/dashboard/modules/operations/src/react/DecisionTable.tsx +65 -0
  97. package/templates/.agents/dashboard/modules/operations/src/react/EntityTables.tsx +5 -71
  98. package/templates/.agents/dashboard/modules/operations/src/react/OperationsPage.tsx +10 -36
  99. package/templates/.agents/dashboard/modules/operations/src/react/operations-overview-period-filter.test.ts +7 -2
  100. package/templates/.agents/dashboard/modules/operations/src/react/use-operations-filter-sync.ts +66 -0
  101. package/templates/.agents/dashboard/modules/traceability/package.json +1 -1
  102. package/templates/.agents/dashboard/packages/branding/package.json +1 -1
  103. package/templates/.agents/dashboard/packages/contracts/package.json +1 -1
  104. package/templates/.agents/dashboard/packages/data-export/package.json +1 -1
  105. package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs +193 -191
  106. package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +169 -169
  107. package/templates/.agents/dashboard/packages/local-runtime/package.json +1 -1
  108. package/templates/.agents/dashboard/packages/local-runtime/server.mjs +193 -191
  109. package/templates/.agents/dashboard/packages/local-runtime/src/active-capture-failure.test.ts +38 -0
  110. package/templates/.agents/dashboard/packages/local-runtime/src/active-capture-failure.ts +35 -0
  111. package/templates/.agents/dashboard/packages/local-runtime/src/active-codex-telemetry.test.ts +53 -2
  112. package/templates/.agents/dashboard/packages/local-runtime/src/active-codex-telemetry.ts +18 -1
  113. package/templates/.agents/dashboard/packages/local-runtime/src/manifest-runs.ts +8 -2
  114. package/templates/.agents/dashboard/packages/local-runtime/src/server-capture-projection-order.test.ts +118 -0
  115. package/templates/.agents/dashboard/packages/local-runtime/src/server-cost-run-search.test.ts +90 -0
  116. package/templates/.agents/dashboard/packages/local-runtime/src/server-cost-run-search.ts +86 -0
  117. package/templates/.agents/dashboard/packages/local-runtime/src/server-operations-routes.ts +8 -1
  118. package/templates/.agents/dashboard/packages/local-runtime/src/server-projection-loaders.ts +13 -0
  119. package/templates/.agents/dashboard/packages/local-runtime/src/server-projections.ts +30 -74
  120. package/templates/.agents/dashboard/packages/local-runtime/src/server-route-handlers.ts +42 -0
  121. package/templates/.agents/dashboard/packages/local-runtime/src/server-routes.test.ts +60 -0
  122. package/templates/.agents/dashboard/packages/local-runtime/src/server-run-projections.test.ts +12 -2
  123. package/templates/.agents/dashboard/packages/local-runtime/src/server-telemetry-command.test.ts +29 -4
  124. package/templates/.agents/dashboard/packages/local-runtime/src/server-telemetry-refresh.ts +7 -0
  125. package/templates/.agents/dashboard/packages/local-runtime/src/server.test.ts +51 -54
  126. package/templates/.agents/dashboard/packages/local-runtime/src/server.ts +28 -45
  127. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-filter-matrix.test.ts +5 -0
  128. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-invocation-page.test.ts +49 -0
  129. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-invocation-page.ts +44 -1
  130. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-cached-cost-page.ts +11 -10
  131. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-summary.ts +1 -1
  132. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-work-item-index.test.ts +18 -1
  133. package/templates/.agents/dashboard/packages/ui/package.json +1 -1
  134. package/templates/.agents/dashboard/tests/e2e/package.json +1 -1
  135. package/templates/.agents/design/.zaip-managed.json +3 -3
  136. package/templates/.agents/design/apps/catalog/package.json +1 -1
  137. package/templates/.agents/design/packages/local-runtime/package.json +1 -1
  138. package/templates/.agents/requirements/autonomous-assurance.md +11 -2
  139. package/templates/.agents/requirements/cloud-hostinger-autonomy.md +1 -1
  140. package/templates/.agents/requirements/comparative-audit.md +1 -1
  141. package/templates/.agents/requirements/context-engine.md +1 -1
  142. package/templates/.agents/requirements/cost-observability.md +1 -1
  143. package/templates/.agents/requirements/dashboard-launch.md +1 -1
  144. package/templates/.agents/requirements/data-export.md +1 -1
  145. package/templates/.agents/requirements/design-system.md +1 -1
  146. package/templates/.agents/requirements/execution-engine.md +1 -1
  147. package/templates/.agents/requirements/kanban-dashboard.md +1 -1
  148. package/templates/.agents/requirements/model-orchestration.md +1 -1
  149. package/templates/.agents/requirements/public-distribution.md +1 -1
  150. package/templates/.agents/requirements/software-architecture.md +1 -1
  151. package/templates/.agents/requirements/strategic-improvements.md +1 -1
  152. package/templates/.agents/requirements/work-lifecycle.md +2 -1
  153. package/templates/.agents/requirements/zaip-strategic-95.md +1 -1
  154. package/templates/.agents/rules/run-lifecycle-closure.md +2 -1
  155. package/templates/.agents/rules/workflow.md +1 -0
  156. package/templates/.agents/runtime/VERSION +1 -1
  157. package/templates/.agents/runtime/bin/zaip.mjs +1178 -764
  158. package/templates/.agents/runtime/checksums.sha256 +6 -6
  159. package/templates/.agents/runtime/manifest.json +1 -1
  160. package/templates/.agents/runtime/pnpm-lock.sha256 +1 -1
  161. package/templates/.agents/runtime/provenance.json +5 -5
  162. package/templates/.agents/runtime/sbom.cdx.json +59 -59
  163. package/templates/.agents/skills/zaip-skill-execution/SKILL.md +1 -1
  164. package/templates/.agents/skills/zaip-skill-execution/references/controlled-release-recovery.md +14 -0
  165. package/templates/.agents/skills/zaip-skill-execution/references/runtime-governance.md +1 -1
  166. package/templates/.agents/skills/zaip-skill-github-deploy/SKILL.md +5 -1
  167. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deploy-contract.mjs +12 -0
  168. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deploy-contract.test.mjs +25 -0
  169. package/templates/.agents/skills/zaip-skill-maintenance-enter/SKILL.md +23 -0
  170. package/templates/.agents/skills/zaip-skill-maintenance-enter/agents/openai.yaml +4 -0
  171. package/templates/.agents/skills/zaip-skill-maintenance-enter/scripts/maintenance.mjs +213 -0
  172. package/templates/.agents/skills/zaip-skill-maintenance-enter/scripts/maintenance.test.mjs +207 -0
  173. package/templates/.agents/skills/zaip-skill-maintenance-exit/SKILL.md +21 -0
  174. package/templates/.agents/skills/zaip-skill-maintenance-exit/agents/openai.yaml +4 -0
  175. package/templates/.agents/skills/zaip-skill-release-qualification/SKILL.md +2 -0
  176. package/templates/.agents/skills/zaip-skill-release-qualification/references/local-preparation.md +37 -8
  177. package/templates/.agents/zaip-aios/VERSION +1 -1
  178. package/templates/.agents/zaip-aios/guides/26-qualidade-e-release.md +38 -0
  179. package/templates/template-manifest.json +188 -116
  180. package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-Co2Jiuzh.js +0 -68
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "version": "4.9.0",
3
+ "version": "5.0.0",
4
4
  "files": [
5
5
  {
6
6
  "path": "DATA-DICTIONARY.md",
@@ -11,32 +11,32 @@
11
11
  "sha256": "3d5a8a4f326ee34cefe23803c2e4f5d30e938933cc85f411c44cb5a746a369f7"
12
12
  },
13
13
  {
14
- "path": "apps/frontend/dist/assets/CostCalculationGuidePage-BW7Vy1cp.js",
15
- "sha256": "5ccc7ae97c10bb21f0ee78d06a76314d7783d1129d44f1c456e0cdffdad5fa7f"
16
- },
17
- {
18
- "path": "apps/frontend/dist/assets/DashboardHelpDialog-Cp_hEVd8.js",
19
- "sha256": "5517978dff37d120956d28d614335296cca7c083a0ce2c7e8ea424590120f213"
14
+ "path": "apps/frontend/dist/assets/CostCalculationGuidePage-w6pjt4OM.js",
15
+ "sha256": "63667bb63f68510eaf228f7f5ddbf0893405c3f0005bc129776a39f7708bb105"
20
16
  },
21
17
  {
22
18
  "path": "apps/frontend/dist/assets/DashboardHelpDialog-DRI_XwUf.css",
23
19
  "sha256": "95dbb5c26ad73831f36f2a51d5e08ef5eee7ca85190764a3e63bf1e700fbadf8"
24
20
  },
25
21
  {
26
- "path": "apps/frontend/dist/assets/PricingSettingsDialog-Prcs-ydy.js",
27
- "sha256": "ee4235b469215b298898968c776f0d800c677023409ee2a03bc9302ab6354afa"
22
+ "path": "apps/frontend/dist/assets/DashboardHelpDialog-DhlntQcR.js",
23
+ "sha256": "18a7679d70a48f9b8f089a245ec8b2cd846d3beb32ba6c0038097d375645d8ae"
24
+ },
25
+ {
26
+ "path": "apps/frontend/dist/assets/PricingSettingsDialog-BHoZT2an.js",
27
+ "sha256": "7f049f7676a875a8679ea7080b7e3d78967aff138128055d236557e02c9e1d0a"
28
28
  },
29
29
  {
30
30
  "path": "apps/frontend/dist/assets/ProjectSettingsPage-CQMhvzvJ.css",
31
31
  "sha256": "10e875c4e3ab6c252983822e25a85db3d707d903c0fcf39812909fdd1d013f48"
32
32
  },
33
33
  {
34
- "path": "apps/frontend/dist/assets/ProjectSettingsPage-Cu40wAFF.js",
35
- "sha256": "8db1e01960b9645e10ed714c5c3051c46986864e978fd6c0adb126b31704e008"
34
+ "path": "apps/frontend/dist/assets/ProjectSettingsPage-IcncIZ9Y.js",
35
+ "sha256": "4db510e0881560caab269514dbcb8c00e58fc67b56de1f589508094777607fc0"
36
36
  },
37
37
  {
38
- "path": "apps/frontend/dist/assets/TraceabilityWorkspace-Bh3YBd3C.js",
39
- "sha256": "93c81207f6772e8fa0448a24d68d19ca5e5b0e965001ca589e409a95d915780a"
38
+ "path": "apps/frontend/dist/assets/TraceabilityWorkspace-C6rORjpr.js",
39
+ "sha256": "26b58fdfdcee5197e14e8cf23dd86e74874d7daecb94636819366d59d5572f07"
40
40
  },
41
41
  {
42
42
  "path": "apps/frontend/dist/assets/TraceabilityWorkspace-DvvavDLY.css",
@@ -47,52 +47,52 @@
47
47
  "sha256": "90be9550e3b6719ffc7a029ac35a93a4f14e95263b3996ad6c06dbfc0490f307"
48
48
  },
49
49
  {
50
- "path": "apps/frontend/dist/assets/cost-monitor-Co2Jiuzh.js",
51
- "sha256": "bee4e6b048a95dcc1c9eab5ac8320cbe790dcb864b96abeb3ec46415adbcd015"
50
+ "path": "apps/frontend/dist/assets/cost-monitor-uPnOBShc.js",
51
+ "sha256": "31765c70b5be9959d58538defd39ea851a77423febfc0ff939b0aa70464e094b"
52
52
  },
53
53
  {
54
- "path": "apps/frontend/dist/assets/dashboard-localization-CF7B1Hjn.js",
55
- "sha256": "b3f247723734af8b8b6ab2717a6fd07cf49fe5da8cf2c0780844d03381ee0f91"
54
+ "path": "apps/frontend/dist/assets/dashboard-localization-DWXjEIgc.js",
55
+ "sha256": "44bc2faca182c3293b896ef367693ca7892e8b8563a14820107e03c3c9040a8a"
56
56
  },
57
57
  {
58
- "path": "apps/frontend/dist/assets/icons-vendor-DOhy6D2-.js",
59
- "sha256": "be8b9c463c68fa0e5923d804befa1f757b582f3491a620a2f83caf64f2e04a31"
58
+ "path": "apps/frontend/dist/assets/icons-vendor-Hc9fp_gs.js",
59
+ "sha256": "1095fad48ec0205b2fc3648b9d8897053d54f45cdedd50cfbb97032bd735f55f"
60
60
  },
61
61
  {
62
- "path": "apps/frontend/dist/assets/index-DZhppOIk.css",
63
- "sha256": "cd290085a95d9108f11e94406b2253bfd2109e116d5d7e82460a2f4aecdaba04"
62
+ "path": "apps/frontend/dist/assets/index-BqeOEZW5.js",
63
+ "sha256": "c87c9087633a04dbaaad992c263a9236d05783b3a3e7372ff21bcbf025b74878"
64
64
  },
65
65
  {
66
- "path": "apps/frontend/dist/assets/index-qVSJnJ0_.js",
67
- "sha256": "ff997b8d9ffb7cee6ad0f713fc0f6eaa5ebf520eaef78e8728e407113bfc9bd4"
66
+ "path": "apps/frontend/dist/assets/index-DZhppOIk.css",
67
+ "sha256": "cd290085a95d9108f11e94406b2253bfd2109e116d5d7e82460a2f4aecdaba04"
68
68
  },
69
69
  {
70
70
  "path": "apps/frontend/dist/assets/logo_novo_azul-BBx5pA2B.png",
71
71
  "sha256": "bb6043bda9fc53a111aaea4d6a004559b9ce8a3569691c060d217a7c6aafa0ae"
72
72
  },
73
73
  {
74
- "path": "apps/frontend/dist/assets/react-vendor-CkPC-yMz.js",
75
- "sha256": "a9f759de008a86f22732bc5076f5b823324bfc0e11424c4c2988b2895a514bc3"
74
+ "path": "apps/frontend/dist/assets/react-vendor-C9ta_O10.js",
75
+ "sha256": "13c2e84f484f0f617d55fc4bcc026c6b930250321fa16156b1c5e36cf437c078"
76
76
  },
77
77
  {
78
78
  "path": "apps/frontend/dist/assets/rolldown-runtime-Bh1tDfsg.js",
79
79
  "sha256": "1b13387cb23dc39bf70e31677c21f6db5cad3377b96f286b6ee444496e5bfea7"
80
80
  },
81
- {
82
- "path": "apps/frontend/dist/assets/traceability-BEdGoIDm.js",
83
- "sha256": "f0df3a08dbd0dcd2532a76a90ff3b8946f826d5f6ff2b89fea663b85f7924b6f"
84
- },
85
81
  {
86
82
  "path": "apps/frontend/dist/assets/traceability-DFY7ZDlu.css",
87
83
  "sha256": "3134c9eb5bbbdb1e48e1001fe6c4b7fd32840db04d9782587f2c4f6eacc21a64"
88
84
  },
85
+ {
86
+ "path": "apps/frontend/dist/assets/traceability-IcefoTOv.js",
87
+ "sha256": "97661785ebef716b37f4ccfa4b07206732248466f22aa3d2bf2d877ed8276943"
88
+ },
89
89
  {
90
90
  "path": "apps/frontend/dist/icon_zaip.png",
91
91
  "sha256": "bb116d61da49fd0d66ff096c3db5e7365b8dae951b7f42fb6f68045aa89bac6e"
92
92
  },
93
93
  {
94
94
  "path": "apps/frontend/dist/index.html",
95
- "sha256": "d589897d8f964a92460ec4f8dc4615883d906fbf3a75b0742c098820e9d6b13d"
95
+ "sha256": "6cc7b72018cd5a19e7ca056fb9897e7033a9f2874eea65b7856a97a1d7072712"
96
96
  },
97
97
  {
98
98
  "path": "apps/frontend/dist/logo_novo_azul.png",
@@ -104,7 +104,7 @@
104
104
  },
105
105
  {
106
106
  "path": "apps/frontend/package.json",
107
- "sha256": "f74d924fb63535fe2d86317d1b8571d5e7adc6ef015125a4001947f86a8fe077"
107
+ "sha256": "68b7db23d0861d587462dfc1e77081fcca08e08a230623a7352915f9cfbde444"
108
108
  },
109
109
  {
110
110
  "path": "apps/frontend/playwright.dom.config.ts",
@@ -592,7 +592,7 @@
592
592
  },
593
593
  {
594
594
  "path": "modules/cost-monitor/package.json",
595
- "sha256": "3cd9ee1c450d146fb783e46f6ea75fad686abd74513eb5110eff323be98676d3"
595
+ "sha256": "b646c87f7eea6d799809181a52665ff19959b8597a30db36a1d2bff1848b5eab"
596
596
  },
597
597
  {
598
598
  "path": "modules/cost-monitor/src/agent-groups.test.ts",
@@ -608,7 +608,7 @@
608
608
  },
609
609
  {
610
610
  "path": "modules/cost-monitor/src/contracts.ts",
611
- "sha256": "58e40a1f43a4a7a19172299044166d86eff64b80b2b428556a8b68f893de26f1"
611
+ "sha256": "a56c81a9d70c743dec39d22a32358944a49bd8b914012d1966f3dd9f3c16854c"
612
612
  },
613
613
  {
614
614
  "path": "modules/cost-monitor/src/duration-estimate.ts",
@@ -664,7 +664,7 @@
664
664
  },
665
665
  {
666
666
  "path": "modules/cost-monitor/src/react/CostFilters.run-page.test.ts",
667
- "sha256": "3c3ced931dac1bd5c533cf7db8c08bf7b457391eb206aab7b2b6192b515a8aaf"
667
+ "sha256": "c487e376c6718b42f13e1aff5210b62be77130162efeebb7e06cd9f48838067e"
668
668
  },
669
669
  {
670
670
  "path": "modules/cost-monitor/src/react/CostFilters.tsx",
@@ -672,7 +672,7 @@
672
672
  },
673
673
  {
674
674
  "path": "modules/cost-monitor/src/react/CostGroupsTable.period-values.test.tsx",
675
- "sha256": "c95ff4c4161dcc8fcf8a215db367065ac0dfbc2bfaa5ff32b4528ae1549a26c3"
675
+ "sha256": "f0a8d58f07d73d85ed4b4b78b5220f25ac29b548e516259197d865b4ec6422a5"
676
676
  },
677
677
  {
678
678
  "path": "modules/cost-monitor/src/react/CostGroupsTable.tsx",
@@ -752,11 +752,11 @@
752
752
  },
753
753
  {
754
754
  "path": "modules/cost-monitor/src/react/CostTables-keeps-legacy-codex-identity-fields-blank.test.ts",
755
- "sha256": "970662f493adb83540b8eabcab66cb38f7cedc12be263411fbf31c405d75aaf5"
755
+ "sha256": "c4cb9b3178bfcba6785ae7da17fa2d47c57c82770d235b075b66dbcf75f3260b"
756
756
  },
757
757
  {
758
758
  "path": "modules/cost-monitor/src/react/CostTables.test.ts",
759
- "sha256": "578d0d0332effb194b0af36e9a2661383f24f6b93caff0bb5cee2e90203cccd4"
759
+ "sha256": "5957ba83486b194ce0d587f70cdb0ccb96a32e2e7349db2885d6c940580fb0ad"
760
760
  },
761
761
  {
762
762
  "path": "modules/cost-monitor/src/react/CostTables.tsx",
@@ -808,7 +808,7 @@
808
808
  },
809
809
  {
810
810
  "path": "modules/cost-monitor/src/react/cost-monitor-loaders.ts",
811
- "sha256": "0655774abfb4d7544ff4594cd4998c45ee77f890aee3ce632300b4f0b86b56eb"
811
+ "sha256": "2be2f5921dbf5cded81350c74eec549796573ae1e9f141f55f2cc34dc1dc62f7"
812
812
  },
813
813
  {
814
814
  "path": "modules/cost-monitor/src/react/cost-monitor-page-actions.ts",
@@ -856,7 +856,7 @@
856
856
  },
857
857
  {
858
858
  "path": "modules/cost-monitor/src/react/cost-table-formatters.ts",
859
- "sha256": "f313643fdea94fcbc0e22f06de895c2135f68ade3da2887a1656be8ef5ae74dd"
859
+ "sha256": "acdb984a9bb11d0366646b97e8ef33c358187229c34aa43ea5f9783b24030324"
860
860
  },
861
861
  {
862
862
  "path": "modules/cost-monitor/src/react/cost-table-metrics.ts",
@@ -904,7 +904,7 @@
904
904
  },
905
905
  {
906
906
  "path": "modules/cost-monitor/src/server/aggregate.ts",
907
- "sha256": "1438519da66cc5152c9f8cd0c481e969f4411bb2583fe8d05c2f800da0a9e118"
907
+ "sha256": "fcb810904134cc25343fe97098993448a445a135b71e2128023b3e716b249eea"
908
908
  },
909
909
  {
910
910
  "path": "modules/cost-monitor/src/server/build-cost-monitor-pricing-fallback.test.ts",
@@ -936,7 +936,7 @@
936
936
  },
937
937
  {
938
938
  "path": "modules/cost-monitor/src/server/build-cost-monitor-projection.ts",
939
- "sha256": "dca85c6f572a96e302121659a893b297e52777516ebd3c57abfac641886dd473"
939
+ "sha256": "c790af6ec9d0706f50435dcafec5f21e772decb88f5112b21de99edafef62b88"
940
940
  },
941
941
  {
942
942
  "path": "modules/cost-monitor/src/server/build-cost-summary-projection.test.ts",
@@ -944,7 +944,7 @@
944
944
  },
945
945
  {
946
946
  "path": "modules/cost-monitor/src/server/build-cost-summary-projection.ts",
947
- "sha256": "45224653ee7cbd220b3b0a41b5db37a5f3afb69ff1c1b4f8b35825948157147e"
947
+ "sha256": "ba1023c6f0463a78418a963eeee37e1c21a13e2258b36c743bab3753ff7bd17f"
948
948
  },
949
949
  {
950
950
  "path": "modules/cost-monitor/src/server/build-cost-summary-terminal-day.test.ts",
@@ -954,6 +954,10 @@
954
954
  "path": "modules/cost-monitor/src/server/cost-monitor-unavailable.test.ts",
955
955
  "sha256": "07318159090329c5709c9c430eb63c0caa2fde2c5c8e894d25e4346b94da4957"
956
956
  },
957
+ {
958
+ "path": "modules/cost-monitor/src/server/cost-summary-defaults.ts",
959
+ "sha256": "d4cf1050430431f8ea6c9451690ba583d4d0502ca2b7aa49ce5280b4f01543a5"
960
+ },
957
961
  {
958
962
  "path": "modules/cost-monitor/src/server/cost-summary-duration.test.ts",
959
963
  "sha256": "c6ac72802d9c6a36d265a2f5dbe7a23e238027cb4db4c3260df1d16e9332fb49"
@@ -1000,11 +1004,11 @@
1000
1004
  },
1001
1005
  {
1002
1006
  "path": "modules/operations/package.json",
1003
- "sha256": "82af063c9f0fadd3a2c064276f02eb4966915a539988228ec156e820d4204aab"
1007
+ "sha256": "d7b5f511f18e92700bd146453fcb207e87115e150ef4ce51f7e9231e47b93968"
1004
1008
  },
1005
1009
  {
1006
1010
  "path": "modules/operations/src/contracts.ts",
1007
- "sha256": "d33a3104bd1a479f5f3db15c66c2b0fdc0484b2fe9c86dd4ceacb46629f44c73"
1011
+ "sha256": "7482ea74ab76797e07aca8aeb8d68e4c55a03332f51c0ebc382e01a29e8adc48"
1008
1012
  },
1009
1013
  {
1010
1014
  "path": "modules/operations/src/duration-population.test.ts",
@@ -1014,6 +1018,14 @@
1014
1018
  "path": "modules/operations/src/duration-population.ts",
1015
1019
  "sha256": "3aa3ad534250f34850797ef8d2536eb41c389ba48f1f4a8a8c221634827648b5"
1016
1020
  },
1021
+ {
1022
+ "path": "modules/operations/src/planning-contracts.ts",
1023
+ "sha256": "0e452b4982169803925cf157018b68ae7144ba8a42410d93f95a227acdee9057"
1024
+ },
1025
+ {
1026
+ "path": "modules/operations/src/react/DecisionTable.tsx",
1027
+ "sha256": "4ca0b62fb96b5ea0315ded045269bc8cbb2b4a038821885b3cf434f9eb2e2ca3"
1028
+ },
1017
1029
  {
1018
1030
  "path": "modules/operations/src/react/DeveloperAttributionPanel.test.ts",
1019
1031
  "sha256": "d87586810a4437806fa734cdd1c16ebff490be727c2c05aec927a96228fc92a8"
@@ -1036,7 +1048,7 @@
1036
1048
  },
1037
1049
  {
1038
1050
  "path": "modules/operations/src/react/EntityTables.tsx",
1039
- "sha256": "8c6cc2e07fd9d7939cbf86799d2cc00efbbc002d8092bf9e8207dfda7834ecc1"
1051
+ "sha256": "b957195f5c5c9a518ae2c75019205102286e472d607cd12f669c748a9d13e97f"
1040
1052
  },
1041
1053
  {
1042
1054
  "path": "modules/operations/src/react/MacroBoard.test.ts",
@@ -1112,7 +1124,7 @@
1112
1124
  },
1113
1125
  {
1114
1126
  "path": "modules/operations/src/react/OperationsPage.tsx",
1115
- "sha256": "e75951e7ec397868705f983b22c9c4f91dcf49ec821d48c9a561551503f51e7d"
1127
+ "sha256": "d6bdb53dc1e484854deb38389c451fd0d4d26e1fcaaa43b54131ab728752df6f"
1116
1128
  },
1117
1129
  {
1118
1130
  "path": "modules/operations/src/react/OperationsPageDetails.tsx",
@@ -1376,7 +1388,7 @@
1376
1388
  },
1377
1389
  {
1378
1390
  "path": "modules/operations/src/react/operations-overview-period-filter.test.ts",
1379
- "sha256": "2fc7c71afaac14804a7802daa3f1ccf8a6831a2dc4ea93f0f9de99b0db5a3461"
1391
+ "sha256": "775417a069d4c7a2ba77168f67b5cfbf46757b761060e8605d49017a5b1c234f"
1380
1392
  },
1381
1393
  {
1382
1394
  "path": "modules/operations/src/react/operations-overview.css",
@@ -1538,6 +1550,10 @@
1538
1550
  "path": "modules/operations/src/react/use-operation-filter-feedback.ts",
1539
1551
  "sha256": "fb56e9549bef6e0daf5e430a3dafa0def4cfa3187361a6b497d91053861c98ef"
1540
1552
  },
1553
+ {
1554
+ "path": "modules/operations/src/react/use-operations-filter-sync.ts",
1555
+ "sha256": "500036fa4136d6b00fa9e1c21054bf6fd8400544630a40222be34957471f099c"
1556
+ },
1541
1557
  {
1542
1558
  "path": "modules/operations/src/react/work-board-model.test.ts",
1543
1559
  "sha256": "50f7983336b00a5262bdf55982c3d2794e1972ac5487c4902e2343ea18356607"
@@ -1716,7 +1732,7 @@
1716
1732
  },
1717
1733
  {
1718
1734
  "path": "modules/traceability/package.json",
1719
- "sha256": "241c26715af83b273f13a4b789072014e8557af133b50193cadd8649484e01df"
1735
+ "sha256": "8e5cf642b0d5880d43d9af64415c7664bd7e15a6fb2fa4eb5c18d6ffaf81272c"
1720
1736
  },
1721
1737
  {
1722
1738
  "path": "modules/traceability/src/contracts.ts",
@@ -1788,7 +1804,7 @@
1788
1804
  },
1789
1805
  {
1790
1806
  "path": "packages/branding/package.json",
1791
- "sha256": "987a1ded791be38fb57b880e14083c78af21db2fe7cc6f77d3d926e689111bf4"
1807
+ "sha256": "e91a1726f748aa2f323836d3a121739193ce2e7356ac4218fae008420ef24881"
1792
1808
  },
1793
1809
  {
1794
1810
  "path": "packages/branding/src/index.ts",
@@ -1800,7 +1816,7 @@
1800
1816
  },
1801
1817
  {
1802
1818
  "path": "packages/contracts/package.json",
1803
- "sha256": "2e17e5026fbee882ac89466e9a1f1a2b136fd126feddd7e397304b34ff72b156"
1819
+ "sha256": "271c2db76dfe1187fedde23203e7d0c4e35e3bf4f03cfdb1e79f6b0be3a09b2f"
1804
1820
  },
1805
1821
  {
1806
1822
  "path": "packages/contracts/src/export.ts",
@@ -1820,7 +1836,7 @@
1820
1836
  },
1821
1837
  {
1822
1838
  "path": "packages/data-export/package.json",
1823
- "sha256": "a23e9ce7afb32f5c3607ae560afb95d3958b29b2043f63b3cc90bacd0a73e978"
1839
+ "sha256": "1fa2f144ae7e92f00d3617453849a8321ca031c23fc7fdadc3d5fffb8d686622"
1824
1840
  },
1825
1841
  {
1826
1842
  "path": "packages/data-export/src/index.test.ts",
@@ -1860,15 +1876,15 @@
1860
1876
  },
1861
1877
  {
1862
1878
  "path": "packages/local-runtime/dist/server.cjs",
1863
- "sha256": "c103201295a4ee683d6da53cd61709f9992e18349f2a54e949043421deaf74de"
1879
+ "sha256": "664e35c29f948afbba1c97911117ede28702d5ce2e6287f8343732251e06099c"
1864
1880
  },
1865
1881
  {
1866
1882
  "path": "packages/local-runtime/dist/sqlite-read-model.cjs",
1867
- "sha256": "f3d9c7d82675e52b4a36d443ea8e33273165a47124240fd050532ff3243faf57"
1883
+ "sha256": "e2b0915ff5050d927e66e24494f6b0a1d704e3456705fb25297dc36168391025"
1868
1884
  },
1869
1885
  {
1870
1886
  "path": "packages/local-runtime/package.json",
1871
- "sha256": "9b3e4cd8b49748439670fde914db7f12ae00f3c43c7f7568fa2f86226cf6741f"
1887
+ "sha256": "0d7ec21d6fe2bad63f0b11b83d3a0944d96f3d378e412e69bff773b79dca68f0"
1872
1888
  },
1873
1889
  {
1874
1890
  "path": "packages/local-runtime/scripts/build-sqlite-dashboard.mjs",
@@ -1920,15 +1936,23 @@
1920
1936
  },
1921
1937
  {
1922
1938
  "path": "packages/local-runtime/server.mjs",
1923
- "sha256": "371ababb369cc01590965a0affdc4174b084bd594f7ef4cfbdca229e40ea85c9"
1939
+ "sha256": "02222c7a208ecd434849d65a5822859883e3b38a59d078b6b4281228f926ea48"
1940
+ },
1941
+ {
1942
+ "path": "packages/local-runtime/src/active-capture-failure.test.ts",
1943
+ "sha256": "fa9517e4122ab9f3eca8f694755aeffa20dedd584fd088d937ea4468f8fe3cd1"
1944
+ },
1945
+ {
1946
+ "path": "packages/local-runtime/src/active-capture-failure.ts",
1947
+ "sha256": "876fb3d3dd543a4f704431095ade90ede33591ca8ffb808f1d9341aeedc58794"
1924
1948
  },
1925
1949
  {
1926
1950
  "path": "packages/local-runtime/src/active-codex-telemetry.test.ts",
1927
- "sha256": "9d3226a5b796fefc091ebb3c0a4db7b44fae1175b8170990aabc8b5fac0788d5"
1951
+ "sha256": "1743a6575b9b3c6f4487a23a19071c1632719019ad56fdcf6be4f8ea93d7b454"
1928
1952
  },
1929
1953
  {
1930
1954
  "path": "packages/local-runtime/src/active-codex-telemetry.ts",
1931
- "sha256": "ca44ac47eb52d78bbd4aa47813ba5a318e913dde9fee27270c3aab8db4c13265"
1955
+ "sha256": "fe02e8485f85ead523c2dedd922f78b289b11cebcb431b9b1038c6f967d3bc2c"
1932
1956
  },
1933
1957
  {
1934
1958
  "path": "packages/local-runtime/src/agent-adapter-sync.ts",
@@ -1960,7 +1984,7 @@
1960
1984
  },
1961
1985
  {
1962
1986
  "path": "packages/local-runtime/src/manifest-runs.ts",
1963
- "sha256": "7fe7a6e6772f86ecde3d791853a877ce9a00286e23cffbf56cc4aad325b8add9"
1987
+ "sha256": "67bc9fc4865fa2da4af9f3ba2ad42f2ffaf30aa85fa5f3f09e082ff0c4329d0e"
1964
1988
  },
1965
1989
  {
1966
1990
  "path": "packages/local-runtime/src/project-installation-summary.test.ts",
@@ -2010,10 +2034,22 @@
2010
2034
  "path": "packages/local-runtime/src/server-browser-lease.ts",
2011
2035
  "sha256": "33e291122c36db8ae72b66ddd9a8747dd0dc518e38a5a249bd1bef39b9ade249"
2012
2036
  },
2037
+ {
2038
+ "path": "packages/local-runtime/src/server-capture-projection-order.test.ts",
2039
+ "sha256": "358f2942eeb46fead859172daba7e660d0f464fab8bce9ba3e6db5aef7e2c55b"
2040
+ },
2013
2041
  {
2014
2042
  "path": "packages/local-runtime/src/server-classification-page.test.ts",
2015
2043
  "sha256": "79d1676e7654233ca1018545faf88e814b9c40386e0c5680e6b83ad400736471"
2016
2044
  },
2045
+ {
2046
+ "path": "packages/local-runtime/src/server-cost-run-search.test.ts",
2047
+ "sha256": "b414830b76bef8069f0ac3f966e438893a5811d009d268c9ef757eee8344b4bd"
2048
+ },
2049
+ {
2050
+ "path": "packages/local-runtime/src/server-cost-run-search.ts",
2051
+ "sha256": "87fc28135b5dd04643fd39d6cf6cf60170a1ee73f0fb4b56d9eaf6843ee6dddf"
2052
+ },
2017
2053
  {
2018
2054
  "path": "packages/local-runtime/src/server-costs-routes.ts",
2019
2055
  "sha256": "10aeaa777e3ad07adbc17ef6989c4e6ffb6223563feedac5455c9b85448b1f85"
@@ -2076,7 +2112,7 @@
2076
2112
  },
2077
2113
  {
2078
2114
  "path": "packages/local-runtime/src/server-operations-routes.ts",
2079
- "sha256": "9a24f02f2d70646db96c59ae76b8153893c5a44da5a1fd56c1719fbe3ff5dd18"
2115
+ "sha256": "b221e7a4912750998123a75f895944aeccb3e0b7f37e258d60743d89f947082e"
2080
2116
  },
2081
2117
  {
2082
2118
  "path": "packages/local-runtime/src/server-operations-runs-route.test.ts",
@@ -2102,9 +2138,13 @@
2102
2138
  "path": "packages/local-runtime/src/server-period.ts",
2103
2139
  "sha256": "96e6e85fdfd39dce0b4764e63f6b2e3b46ec176a32820b399b910941648285c9"
2104
2140
  },
2141
+ {
2142
+ "path": "packages/local-runtime/src/server-projection-loaders.ts",
2143
+ "sha256": "6bd6a8103d5dcba773945129ac043bd79dd13602d5dc58df1fb0aae6a795f3b5"
2144
+ },
2105
2145
  {
2106
2146
  "path": "packages/local-runtime/src/server-projections.ts",
2107
- "sha256": "75b592df892703fc04714f4ba6388a347fa155fec29fa8ec59fdd771570bc89c"
2147
+ "sha256": "f047b0ce8bdd756662564cf441382f58485f7efecb477eb5a9c60f539044b05a"
2108
2148
  },
2109
2149
  {
2110
2150
  "path": "packages/local-runtime/src/server-read-projections.ts",
@@ -2138,9 +2178,17 @@
2138
2178
  "path": "packages/local-runtime/src/server-route-context.ts",
2139
2179
  "sha256": "4bbb90ba8387ffe67d5bf73e26b25b518f5dd3488256857cae240fd585b0e739"
2140
2180
  },
2181
+ {
2182
+ "path": "packages/local-runtime/src/server-route-handlers.ts",
2183
+ "sha256": "28389c187f99d9483fdc6fbc118b665cae3b632d154a93b5f8a735aa3aecafe4"
2184
+ },
2185
+ {
2186
+ "path": "packages/local-runtime/src/server-routes.test.ts",
2187
+ "sha256": "72aa3ba16abd51f461c92a06d9ed4e9a7f839a32e98004d8db729726843b67ea"
2188
+ },
2141
2189
  {
2142
2190
  "path": "packages/local-runtime/src/server-run-projections.test.ts",
2143
- "sha256": "dab919f08ba9f31dcc0ecda3de6352dcd937fc707d514ea7d2701022da838ddc"
2191
+ "sha256": "79f6b42b6123bdefe11eb547d28570c7021fdd83914d647943b548a363945bf1"
2144
2192
  },
2145
2193
  {
2146
2194
  "path": "packages/local-runtime/src/server-settings.test.ts",
@@ -2196,7 +2244,7 @@
2196
2244
  },
2197
2245
  {
2198
2246
  "path": "packages/local-runtime/src/server-telemetry-command.test.ts",
2199
- "sha256": "7eda63784aa3b6c104a53275706320ddf4cc5b5b15e0d85dd5ca72134976cb2f"
2247
+ "sha256": "f1d2efc71763383881a586a1301503595f85c9762114904f48133e0c801aee8d"
2200
2248
  },
2201
2249
  {
2202
2250
  "path": "packages/local-runtime/src/server-telemetry-refresh.test.ts",
@@ -2204,7 +2252,7 @@
2204
2252
  },
2205
2253
  {
2206
2254
  "path": "packages/local-runtime/src/server-telemetry-refresh.ts",
2207
- "sha256": "f9839fca8e734f58737ff3ee2b861753df112754f6987797c476b093fe366aa7"
2255
+ "sha256": "e590e511846bdf63ca1b468f6e5228d81b6cfac04b94d0fc38a5980a32a7eab4"
2208
2256
  },
2209
2257
  {
2210
2258
  "path": "packages/local-runtime/src/server-trace-routes.ts",
@@ -2236,11 +2284,11 @@
2236
2284
  },
2237
2285
  {
2238
2286
  "path": "packages/local-runtime/src/server.test.ts",
2239
- "sha256": "020067b5cda640ddc2b9fbfd32c804b48ee528357d66fe2701e92224fa991b75"
2287
+ "sha256": "56ad69678d0db82c981267d211df0947b8108949638b0e77d38c95bf48130ae0"
2240
2288
  },
2241
2289
  {
2242
2290
  "path": "packages/local-runtime/src/server.ts",
2243
- "sha256": "60e985d6398604a6e81728bb7559873b3f847563d8dc57d5a0179653b08bd02e"
2291
+ "sha256": "27a5052d45d51f205ce508884324175192fc3d52202abbe62468b61c24609406"
2244
2292
  },
2245
2293
  {
2246
2294
  "path": "packages/local-runtime/src/sqlite-agent-productivity.test.ts",
@@ -2288,7 +2336,7 @@
2288
2336
  },
2289
2337
  {
2290
2338
  "path": "packages/local-runtime/src/sqlite-cost-filter-matrix.test.ts",
2291
- "sha256": "abfcb86afdc5e6ab17d260b63665d367611424da4b2f306dc83954a42dc9baf0"
2339
+ "sha256": "bc656e8ddca400bc969d7dba9e70c7fa038bb333ae5f5dde1756e6d5c1d12f30"
2292
2340
  },
2293
2341
  {
2294
2342
  "path": "packages/local-runtime/src/sqlite-cost-group-page.test.ts",
@@ -2308,11 +2356,11 @@
2308
2356
  },
2309
2357
  {
2310
2358
  "path": "packages/local-runtime/src/sqlite-cost-invocation-page.test.ts",
2311
- "sha256": "1feeb41b506b413616abf48de8cdfb7e7701465a8711618f2b1e693dcd727eb0"
2359
+ "sha256": "126b801ea33538b1dfd1492b12fa6bc90ff3fee4c9c4b5981f167f15b1e6a85c"
2312
2360
  },
2313
2361
  {
2314
2362
  "path": "packages/local-runtime/src/sqlite-cost-invocation-page.ts",
2315
- "sha256": "8fee1088899a7271d911362f4a6151343f5f7a8cf7419ce991167236c255079f"
2363
+ "sha256": "fcab7a7a1e060371516097efa18206afad6ba42316c2ed6766b470d1bdf9fcf7"
2316
2364
  },
2317
2365
  {
2318
2366
  "path": "packages/local-runtime/src/sqlite-cost-invocation-projection.ts",
@@ -2448,7 +2496,7 @@
2448
2496
  },
2449
2497
  {
2450
2498
  "path": "packages/local-runtime/src/sqlite-query-cached-cost-page.ts",
2451
- "sha256": "00369b5b9826c591ee709eac554593e025e00e3a89d9ada7f13f0ac4c6fa4b25"
2499
+ "sha256": "421229eef0d24351c1dfbed40137daac86666c54d6b70516728322ca58972532"
2452
2500
  },
2453
2501
  {
2454
2502
  "path": "packages/local-runtime/src/sqlite-query-context.ts",
@@ -2488,7 +2536,7 @@
2488
2536
  },
2489
2537
  {
2490
2538
  "path": "packages/local-runtime/src/sqlite-query-summary.ts",
2491
- "sha256": "2710f983a415b8e38446ba5d773c799573a42d701362de82341e7303b21a6cb2"
2539
+ "sha256": "219d575297d1ce90c6de95b493e8b219ab11575482cfa80531defb8ff773494e"
2492
2540
  },
2493
2541
  {
2494
2542
  "path": "packages/local-runtime/src/sqlite-query-temporal-dimension.ts",
@@ -2656,7 +2704,7 @@
2656
2704
  },
2657
2705
  {
2658
2706
  "path": "packages/local-runtime/src/sqlite-work-item-index.test.ts",
2659
- "sha256": "92a760ec6ea0f4ac73b4f5bd9dd003a1e7844b2e1d07be1ae1f75122c73efa37"
2707
+ "sha256": "76468e651a97b4d715cd263a5aeafea79a0eab6b7d7273b6c9e9feb8aa2d57c7"
2660
2708
  },
2661
2709
  {
2662
2710
  "path": "packages/local-runtime/src/sqlite-work-stages.ts",
@@ -2768,7 +2816,7 @@
2768
2816
  },
2769
2817
  {
2770
2818
  "path": "packages/ui/package.json",
2771
- "sha256": "10dade8d43864244444cc5df780cabc3f921d76ac443dc46b238c4d0df457b65"
2819
+ "sha256": "34d7a095598e4b8e435f752d6698c5e329b3aac2f28feff39e8c7b3c75ded709"
2772
2820
  },
2773
2821
  {
2774
2822
  "path": "packages/ui/src/DashboardHeader.test.mjs",
@@ -2876,7 +2924,7 @@
2876
2924
  },
2877
2925
  {
2878
2926
  "path": "tests/e2e/package.json",
2879
- "sha256": "3db460fd09bd49f205d0ecd164b28c33867721624458c6a14832634dfa4c08e8"
2927
+ "sha256": "f29a6737d162157c67d14ecf2d907adcc3161d824b31b2f9fe3c5a6ffecc6ae5"
2880
2928
  },
2881
2929
  {
2882
2930
  "path": "tests/e2e/playwright.config.ts",
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{E as t,w as n}from"./cost-monitor-Co2Jiuzh.js";var r=e(t(),1),i=n(),a={input:1e5,cache:4e4,output:2e4,reasoning:8e3},o=e=>Math.round(e*1e6)/1e6;function s(e,t,n,r,i){let a=o(Math.max(e.input-e.cache,0)/1e6*t.input*n),s=o(e.cache/1e6*(t.cache??0)*n),c=o(e.output/1e6*t.output*r),l=o(a+s+c);return{usage:e,rates:t,inputMultiplier:n,outputMultiplier:r,inputUsd:a,cacheUsd:s,outputUsd:c,reasoningUsd:0,totalUsd:l,totalBrl:i===null?null:o(l*i)}}function c(e,t){if(t===`standard`)return{input:e.input_per_million_usd,cache:e.cached_input_per_million_usd,output:e.output_per_million_usd};let n=e.priority_input_per_million_usd,r=e.priority_output_per_million_usd;return n==null||r==null?null:{input:n,cache:e.priority_cached_input_per_million_usd??null,output:r}}function l(e,t,n){let r=c(e,t);return r===null?null:s(a,r,1,1,n)}function u(e,t){return e.long_context_threshold_tokens===null?null:s({input:e.long_context_threshold_tokens+5e4,cache:a.cache,output:a.output,reasoning:a.reasoning},c(e,`standard`),e.long_context_input_multiplier,e.long_context_output_multiplier,t)}var d={"pt-BR":{eyebrow:`CONFIGURAÇÕES · TRANSPARÊNCIA`,title:`Como o custo é calculado`,intro:`Do menor grão — uma chamada LLM — até o total: veja quais tokens entram na conta e como modelo, esforço, contexto e velocidade mudam o resultado.`,back:`Voltar ao dashboard`,model:`Modelo usado nos exemplos`,currency:`Moeda`,unavailable:`Indisponível`,millionRate:`por 1 milhão de tokens`,rateTitle:`1. Comece pelas tarifas do modelo`,rateIntro:`O modelo escolhe a tabela de preços. Priority/Fast usa outra tabela quando o catálogo publica essas tarifas.`,standard:`Standard`,priority:`Priority / Fast`,input:`Input`,cache:`Cache`,output:`Output`,reasoning:`Reasoning`,ratio:`Priority ÷ Standard`,included:`Incluído no output (+0)`,noPublishedRate:`Sem tarifa publicada (custo adicional 0)`,conceptsTitle:`2. Entenda cada parte da chamada`,concepts:[[`Chamada LLM`,`É o menor grão do cálculo: uma requisição ao provedor, com um modelo e um tier de serviço.`],[`Input tokens`,`Tudo que entra no modelo: instruções, histórico, contexto, ferramentas e a mensagem atual.`],[`Cache tokens`,`São parte do input, não tokens extras. Primeiro subtraímos o cache do input e depois aplicamos sua tarifa própria.`],[`Output tokens`,`É o total produzido pelo modelo. O custo usa o output total informado pela telemetria.`],[`Reasoning tokens`,`São parte do output. O cálculo atual cobra o output uma vez e mantém reasoningUsd = 0, evitando cobrança dupla.`],[`Modelo e esforço`,`O modelo muda as tarifas. O esforço não tem multiplicador próprio, mas pode gerar mais reasoning, output ou ciclos e aumentar o custo indiretamente.`],[`Multiplicador de contexto`,`Acima do limite do modelo, o multiplicador de input vale também para cache; o multiplicador de output vale para todo o output.`],[`Multiplicador de velocidade`,`É a razão derivada entre o total Priority/Fast e o Standard. Serve para comparar; nunca é multiplicado de novo no total.`]],exampleTitle:`3. Exemplo simples, parcela por parcela`,exampleIntro:`Uma chamada com 100 mil tokens de input, dos quais 40 mil vieram do cache, e 20 mil tokens de output, dos quais 8 mil são reasoning.`,billableInput:`Input faturável`,operation:`Operação`,cost:`Custo`,total:`Total da chamada`,speedMultiplier:`Multiplicador de velocidade derivado`,longTitle:`4. Exemplo com contexto longo`,longIntro:`Para realmente ultrapassar o limite, o exemplo usa o threshold do modelo + 50 mil tokens de input. A conta abaixo continua no tier Standard.`,threshold:`Limite do modelo`,longInput:`Input do exemplo longo`,priorityLong:`Priority/Fast + contexto longo`,priorityLongNote:`Indisponível: sem uma combinação publicada no catálogo, o dashboard não inventa uma tarifa.`,finalNote:`Regra prática: escolha o modelo e o tier, separe input de cache, cobre o output total uma única vez e só então aplique câmbio. Mais esforço só aumenta o custo quando aumenta o uso registrado.`},"en-US":{eyebrow:`SETTINGS · TRANSPARENCY`,title:`How cost is calculated`,intro:`From the smallest grain — one LLM call — to the total: see which tokens enter the calculation and how model, effort, context, and speed affect it.`,back:`Back to dashboard`,model:`Model used in the examples`,currency:`Currency`,unavailable:`Unavailable`,millionRate:`per 1 million tokens`,rateTitle:`1. Start with the model rates`,rateIntro:`The model selects the price table. Priority/Fast uses a different table when the catalog publishes those rates.`,standard:`Standard`,priority:`Priority / Fast`,input:`Input`,cache:`Cache`,output:`Output`,reasoning:`Reasoning`,ratio:`Priority ÷ Standard`,included:`Included in output (+0)`,noPublishedRate:`No published rate (additional cost 0)`,conceptsTitle:`2. Understand each part of the call`,concepts:[[`LLM call`,`The smallest calculation grain: one provider request with one model and one service tier.`],[`Input tokens`,`Everything sent to the model: instructions, history, context, tools, and the current message.`],[`Cache tokens`,`They are part of input, not extra tokens. Cache is subtracted from input first, then its own rate is applied.`],[`Output tokens`,`Everything produced by the model. Cost uses the total output reported by telemetry.`],[`Reasoning tokens`,`They are part of output. Current math charges output once and keeps reasoningUsd = 0, preventing double billing.`],[`Model and effort`,`The model changes rates. Effort has no direct multiplier, but it can produce more reasoning, output, or cycles and indirectly raise cost.`],[`Context multiplier`,`Above the model threshold, the input multiplier also applies to cache; the output multiplier applies to all output.`],[`Speed multiplier`,`It is the derived ratio between Priority/Fast and Standard totals. It is only a comparison and is never multiplied into the total again.`]],exampleTitle:`3. A simple example, component by component`,exampleIntro:`One call with 100 thousand input tokens, including 40 thousand cache tokens, and 20 thousand output tokens, including 8 thousand reasoning tokens.`,billableInput:`Billable input`,operation:`Operation`,cost:`Cost`,total:`Call total`,speedMultiplier:`Derived speed multiplier`,longTitle:`4. Long-context example`,longIntro:`To actually exceed the limit, this example uses the model threshold + 50 thousand input tokens. The calculation remains on Standard tier.`,threshold:`Model threshold`,longInput:`Long-example input`,priorityLong:`Priority/Fast + long context`,priorityLongNote:`Unavailable: without a published combination in the catalog, the dashboard does not invent a rate.`,finalNote:`Rule of thumb: choose model and tier, separate input from cache, charge total output once, then apply FX. Higher effort only raises cost when it raises recorded usage.`}};function f(e,t,n,r){if(t===`BRL`&&n===null)return r;let i=t===`BRL`?e*n:e;return new Intl.NumberFormat(t===`BRL`?`pt-BR`:`en-US`,{style:`currency`,currency:t,minimumFractionDigits:2,maximumFractionDigits:6}).format(i)}function p(e,t,n,r,i){return e==null?i:f(e,t,n,r)}function m(e,t){return new Intl.NumberFormat(t).format(e)}function h({example:e,currency:t,fxRate:n,locale:r,labels:a}){let o=a.unavailable,s=Math.max(e.usage.input-e.usage.cache,0),c=e.inputMultiplier===1?``:` × ${e.inputMultiplier}`,l=e.outputMultiplier===1?``:` × ${e.outputMultiplier}`,u=e.rates.cache??0,d=[{label:a.billableInput,operation:`${m(e.usage.input,r)} − ${m(e.usage.cache,r)} = ${m(s,r)} tokens`,cost:null},{label:a.input,operation:`${m(s,r)} ÷ 1M × ${p(e.rates.input,t,n,o,a.noPublishedRate)}${c}`,cost:e.inputUsd},{label:a.cache,operation:`${m(e.usage.cache,r)} ÷ 1M × ${p(u,t,n,o,a.noPublishedRate)}${c}`,cost:e.cacheUsd},{label:a.output,operation:`${m(e.usage.output,r)} ÷ 1M × ${p(e.rates.output,t,n,o,a.noPublishedRate)}${l}`,cost:e.outputUsd},{label:a.reasoning,operation:`${m(e.usage.reasoning,r)} tokens ⊂ ${a.output} → +0`,cost:e.reasoningUsd}];return(0,i.jsxs)(`div`,{className:`cost-guide-calculation`,children:[(0,i.jsxs)(`div`,{className:`cost-guide-calculation-head`,"aria-hidden":`true`,children:[(0,i.jsx)(`span`,{}),(0,i.jsx)(`span`,{children:a.operation}),(0,i.jsx)(`span`,{children:a.cost})]}),d.map(e=>(0,i.jsxs)(`div`,{className:`cost-guide-calculation-line`,children:[(0,i.jsx)(`strong`,{children:e.label}),(0,i.jsx)(`code`,{children:e.operation}),(0,i.jsx)(`span`,{children:e.cost===null?`—`:f(e.cost,t,n,o)})]},e.label)),(0,i.jsxs)(`div`,{className:`cost-guide-calculation-total`,children:[(0,i.jsx)(`strong`,{children:a.total}),(0,i.jsx)(`span`,{children:f(e.totalUsd,t,n,o)})]})]})}function g({catalog:e,fxRate:t,locale:n,onClose:a}){let o=d[n],[s,c]=(0,r.useState)(e.models[0]?.id??``),[f,g]=(0,r.useState)(`USD`),_=(0,r.useMemo)(()=>e.models.find(e=>e.id===s)??e.models[0]??null,[e.models,s]);if(_===null)return(0,i.jsxs)(`main`,{className:`cost-guide`,children:[(0,i.jsxs)(`button`,{onClick:a,type:`button`,children:[`← `,o.back]}),(0,i.jsx)(`h1`,{children:o.title}),(0,i.jsx)(`p`,{children:o.unavailable})]});let v=t?.rate??null,y=l(_,`standard`,v),b=l(_,`priority`,v),x=u(_,v),S=b!==null&&y.totalUsd>0?b.totalUsd/y.totalUsd:null,C=[{label:o.input,standard:_.input_per_million_usd,priority:_.priority_input_per_million_usd},{label:o.cache,standard:_.cached_input_per_million_usd,priority:_.priority_cached_input_per_million_usd},{label:o.output,standard:_.output_per_million_usd,priority:_.priority_output_per_million_usd}];return(0,i.jsxs)(`main`,{className:`cost-guide`,children:[(0,i.jsxs)(`header`,{children:[(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`small`,{children:o.eyebrow}),(0,i.jsx)(`h1`,{children:o.title}),(0,i.jsx)(`p`,{children:o.intro})]}),(0,i.jsxs)(`button`,{onClick:a,type:`button`,children:[`← `,o.back]})]}),(0,i.jsxs)(`section`,{className:`cost-guide-controls`,"aria-label":o.model,children:[(0,i.jsxs)(`label`,{children:[o.model,(0,i.jsx)(`select`,{value:_.id,onChange:e=>c(e.target.value),children:e.models.map(e=>(0,i.jsx)(`option`,{value:e.id,children:e.id},e.id))})]}),(0,i.jsxs)(`label`,{children:[o.currency,(0,i.jsxs)(`select`,{value:f,onChange:e=>g(e.target.value),children:[(0,i.jsx)(`option`,{value:`USD`,children:`USD`}),(0,i.jsxs)(`option`,{value:`BRL`,children:[`BRL `,v===null?`(${o.unavailable})`:`(1 USD = ${v.toFixed(4)} BRL)`]})]})]})]}),(0,i.jsxs)(`section`,{className:`cost-guide-section`,children:[(0,i.jsxs)(`div`,{className:`cost-guide-section-heading`,children:[(0,i.jsx)(`h2`,{children:o.rateTitle}),(0,i.jsx)(`p`,{children:o.rateIntro})]}),(0,i.jsx)(`div`,{className:`cost-guide-table-wrap`,children:(0,i.jsxs)(`table`,{children:[(0,i.jsxs)(`caption`,{children:[_.id,` · `,o.millionRate]}),(0,i.jsx)(`thead`,{children:(0,i.jsxs)(`tr`,{children:[(0,i.jsx)(`th`,{scope:`col`}),(0,i.jsx)(`th`,{scope:`col`,children:o.standard}),(0,i.jsx)(`th`,{scope:`col`,children:o.priority}),(0,i.jsx)(`th`,{scope:`col`,children:o.ratio})]})}),(0,i.jsxs)(`tbody`,{children:[C.map(e=>(0,i.jsxs)(`tr`,{children:[(0,i.jsx)(`th`,{scope:`row`,children:e.label}),(0,i.jsx)(`td`,{children:p(e.standard,f,v,o.unavailable,o.noPublishedRate)}),(0,i.jsx)(`td`,{children:p(e.priority,f,v,o.unavailable,o.noPublishedRate)}),(0,i.jsx)(`td`,{children:e.standard!==null&&e.standard>0&&e.priority!==null&&e.priority!==void 0?`${(e.priority/e.standard).toFixed(2)}×`:o.unavailable})]},e.label)),(0,i.jsxs)(`tr`,{children:[(0,i.jsx)(`th`,{scope:`row`,children:o.reasoning}),(0,i.jsx)(`td`,{colSpan:3,children:o.included})]})]})]})})]}),(0,i.jsxs)(`section`,{className:`cost-guide-section`,children:[(0,i.jsx)(`div`,{className:`cost-guide-section-heading`,children:(0,i.jsx)(`h2`,{children:o.conceptsTitle})}),(0,i.jsx)(`div`,{className:`cost-guide-blocks`,children:o.concepts.map(([e,t])=>(0,i.jsxs)(`article`,{children:[(0,i.jsx)(`strong`,{children:e}),(0,i.jsx)(`p`,{children:t})]},e))})]}),(0,i.jsxs)(`section`,{className:`cost-guide-section`,children:[(0,i.jsxs)(`div`,{className:`cost-guide-section-heading`,children:[(0,i.jsx)(`h2`,{children:o.exampleTitle}),(0,i.jsx)(`p`,{children:o.exampleIntro})]}),(0,i.jsxs)(`div`,{className:`cost-guide-example-grid`,children:[(0,i.jsxs)(`article`,{className:`cost-guide-example-card`,children:[(0,i.jsx)(`h3`,{children:o.standard}),(0,i.jsx)(h,{example:y,currency:f,fxRate:v,locale:n,labels:o})]}),(0,i.jsxs)(`article`,{className:`cost-guide-example-card`,children:[(0,i.jsx)(`h3`,{children:o.priority}),b===null?(0,i.jsx)(`p`,{className:`cost-guide-unavailable`,children:o.unavailable}):(0,i.jsx)(h,{example:b,currency:f,fxRate:v,locale:n,labels:o})]})]}),(0,i.jsxs)(`div`,{className:`cost-guide-speed`,children:[(0,i.jsx)(`span`,{children:o.speedMultiplier}),(0,i.jsx)(`strong`,{children:S===null?o.unavailable:`${S.toFixed(2)}×`}),(0,i.jsxs)(`code`,{children:[o.priority,` `,o.total,` ÷ `,o.standard,` `,o.total]})]})]}),(0,i.jsxs)(`section`,{className:`cost-guide-section`,children:[(0,i.jsxs)(`div`,{className:`cost-guide-section-heading`,children:[(0,i.jsx)(`h2`,{children:o.longTitle}),(0,i.jsx)(`p`,{children:o.longIntro})]}),(0,i.jsxs)(`div`,{className:`cost-guide-context-summary`,children:[(0,i.jsxs)(`span`,{children:[o.threshold,`:`,` `,(0,i.jsx)(`strong`,{children:_.long_context_threshold_tokens===null?o.unavailable:m(_.long_context_threshold_tokens,n)})]}),(0,i.jsxs)(`span`,{children:[o.longInput,`:`,` `,(0,i.jsx)(`strong`,{children:x===null?o.unavailable:m(x.usage.input,n)})]}),(0,i.jsxs)(`span`,{children:[`Input/cache: `,(0,i.jsxs)(`strong`,{children:[_.long_context_input_multiplier,`×`]})]}),(0,i.jsxs)(`span`,{children:[`Output: `,(0,i.jsxs)(`strong`,{children:[_.long_context_output_multiplier,`×`]})]})]}),x===null?(0,i.jsx)(`p`,{className:`cost-guide-unavailable`,children:o.unavailable}):(0,i.jsx)(h,{example:x,currency:f,fxRate:v,locale:n,labels:o}),(0,i.jsxs)(`div`,{className:`cost-guide-unavailable-combination`,children:[(0,i.jsxs)(`strong`,{children:[o.priorityLong,`: `,o.unavailable]}),(0,i.jsx)(`p`,{children:o.priorityLongNote})]})]}),(0,i.jsx)(`aside`,{className:`cost-guide-final-note`,children:o.finalNote})]})}export{g as CostCalculationGuidePage};
1
+ import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{E as t,w as n}from"./cost-monitor-uPnOBShc.js";var r=e(t(),1),i=n(),a={input:1e5,cache:4e4,output:2e4,reasoning:8e3},o=e=>Math.round(e*1e6)/1e6;function s(e,t,n,r,i){let a=o(Math.max(e.input-e.cache,0)/1e6*t.input*n),s=o(e.cache/1e6*(t.cache??0)*n),c=o(e.output/1e6*t.output*r),l=o(a+s+c);return{usage:e,rates:t,inputMultiplier:n,outputMultiplier:r,inputUsd:a,cacheUsd:s,outputUsd:c,reasoningUsd:0,totalUsd:l,totalBrl:i===null?null:o(l*i)}}function c(e,t){if(t===`standard`)return{input:e.input_per_million_usd,cache:e.cached_input_per_million_usd,output:e.output_per_million_usd};let n=e.priority_input_per_million_usd,r=e.priority_output_per_million_usd;return n==null||r==null?null:{input:n,cache:e.priority_cached_input_per_million_usd??null,output:r}}function l(e,t,n){let r=c(e,t);return r===null?null:s(a,r,1,1,n)}function u(e,t){return e.long_context_threshold_tokens===null?null:s({input:e.long_context_threshold_tokens+5e4,cache:a.cache,output:a.output,reasoning:a.reasoning},c(e,`standard`),e.long_context_input_multiplier,e.long_context_output_multiplier,t)}var d={"pt-BR":{eyebrow:`CONFIGURAÇÕES · TRANSPARÊNCIA`,title:`Como o custo é calculado`,intro:`Do menor grão — uma chamada LLM — até o total: veja quais tokens entram na conta e como modelo, esforço, contexto e velocidade mudam o resultado.`,back:`Voltar ao dashboard`,model:`Modelo usado nos exemplos`,currency:`Moeda`,unavailable:`Indisponível`,millionRate:`por 1 milhão de tokens`,rateTitle:`1. Comece pelas tarifas do modelo`,rateIntro:`O modelo escolhe a tabela de preços. Priority/Fast usa outra tabela quando o catálogo publica essas tarifas.`,standard:`Standard`,priority:`Priority / Fast`,input:`Input`,cache:`Cache`,output:`Output`,reasoning:`Reasoning`,ratio:`Priority ÷ Standard`,included:`Incluído no output (+0)`,noPublishedRate:`Sem tarifa publicada (custo adicional 0)`,conceptsTitle:`2. Entenda cada parte da chamada`,concepts:[[`Chamada LLM`,`É o menor grão do cálculo: uma requisição ao provedor, com um modelo e um tier de serviço.`],[`Input tokens`,`Tudo que entra no modelo: instruções, histórico, contexto, ferramentas e a mensagem atual.`],[`Cache tokens`,`São parte do input, não tokens extras. Primeiro subtraímos o cache do input e depois aplicamos sua tarifa própria.`],[`Output tokens`,`É o total produzido pelo modelo. O custo usa o output total informado pela telemetria.`],[`Reasoning tokens`,`São parte do output. O cálculo atual cobra o output uma vez e mantém reasoningUsd = 0, evitando cobrança dupla.`],[`Modelo e esforço`,`O modelo muda as tarifas. O esforço não tem multiplicador próprio, mas pode gerar mais reasoning, output ou ciclos e aumentar o custo indiretamente.`],[`Multiplicador de contexto`,`Acima do limite do modelo, o multiplicador de input vale também para cache; o multiplicador de output vale para todo o output.`],[`Multiplicador de velocidade`,`É a razão derivada entre o total Priority/Fast e o Standard. Serve para comparar; nunca é multiplicado de novo no total.`]],exampleTitle:`3. Exemplo simples, parcela por parcela`,exampleIntro:`Uma chamada com 100 mil tokens de input, dos quais 40 mil vieram do cache, e 20 mil tokens de output, dos quais 8 mil são reasoning.`,billableInput:`Input faturável`,operation:`Operação`,cost:`Custo`,total:`Total da chamada`,speedMultiplier:`Multiplicador de velocidade derivado`,longTitle:`4. Exemplo com contexto longo`,longIntro:`Para realmente ultrapassar o limite, o exemplo usa o threshold do modelo + 50 mil tokens de input. A conta abaixo continua no tier Standard.`,threshold:`Limite do modelo`,longInput:`Input do exemplo longo`,priorityLong:`Priority/Fast + contexto longo`,priorityLongNote:`Indisponível: sem uma combinação publicada no catálogo, o dashboard não inventa uma tarifa.`,finalNote:`Regra prática: escolha o modelo e o tier, separe input de cache, cobre o output total uma única vez e só então aplique câmbio. Mais esforço só aumenta o custo quando aumenta o uso registrado.`},"en-US":{eyebrow:`SETTINGS · TRANSPARENCY`,title:`How cost is calculated`,intro:`From the smallest grain — one LLM call — to the total: see which tokens enter the calculation and how model, effort, context, and speed affect it.`,back:`Back to dashboard`,model:`Model used in the examples`,currency:`Currency`,unavailable:`Unavailable`,millionRate:`per 1 million tokens`,rateTitle:`1. Start with the model rates`,rateIntro:`The model selects the price table. Priority/Fast uses a different table when the catalog publishes those rates.`,standard:`Standard`,priority:`Priority / Fast`,input:`Input`,cache:`Cache`,output:`Output`,reasoning:`Reasoning`,ratio:`Priority ÷ Standard`,included:`Included in output (+0)`,noPublishedRate:`No published rate (additional cost 0)`,conceptsTitle:`2. Understand each part of the call`,concepts:[[`LLM call`,`The smallest calculation grain: one provider request with one model and one service tier.`],[`Input tokens`,`Everything sent to the model: instructions, history, context, tools, and the current message.`],[`Cache tokens`,`They are part of input, not extra tokens. Cache is subtracted from input first, then its own rate is applied.`],[`Output tokens`,`Everything produced by the model. Cost uses the total output reported by telemetry.`],[`Reasoning tokens`,`They are part of output. Current math charges output once and keeps reasoningUsd = 0, preventing double billing.`],[`Model and effort`,`The model changes rates. Effort has no direct multiplier, but it can produce more reasoning, output, or cycles and indirectly raise cost.`],[`Context multiplier`,`Above the model threshold, the input multiplier also applies to cache; the output multiplier applies to all output.`],[`Speed multiplier`,`It is the derived ratio between Priority/Fast and Standard totals. It is only a comparison and is never multiplied into the total again.`]],exampleTitle:`3. A simple example, component by component`,exampleIntro:`One call with 100 thousand input tokens, including 40 thousand cache tokens, and 20 thousand output tokens, including 8 thousand reasoning tokens.`,billableInput:`Billable input`,operation:`Operation`,cost:`Cost`,total:`Call total`,speedMultiplier:`Derived speed multiplier`,longTitle:`4. Long-context example`,longIntro:`To actually exceed the limit, this example uses the model threshold + 50 thousand input tokens. The calculation remains on Standard tier.`,threshold:`Model threshold`,longInput:`Long-example input`,priorityLong:`Priority/Fast + long context`,priorityLongNote:`Unavailable: without a published combination in the catalog, the dashboard does not invent a rate.`,finalNote:`Rule of thumb: choose model and tier, separate input from cache, charge total output once, then apply FX. Higher effort only raises cost when it raises recorded usage.`}};function f(e,t,n,r){if(t===`BRL`&&n===null)return r;let i=t===`BRL`?e*n:e;return new Intl.NumberFormat(t===`BRL`?`pt-BR`:`en-US`,{style:`currency`,currency:t,minimumFractionDigits:2,maximumFractionDigits:6}).format(i)}function p(e,t,n,r,i){return e==null?i:f(e,t,n,r)}function m(e,t){return new Intl.NumberFormat(t).format(e)}function h({example:e,currency:t,fxRate:n,locale:r,labels:a}){let o=a.unavailable,s=Math.max(e.usage.input-e.usage.cache,0),c=e.inputMultiplier===1?``:` × ${e.inputMultiplier}`,l=e.outputMultiplier===1?``:` × ${e.outputMultiplier}`,u=e.rates.cache??0,d=[{label:a.billableInput,operation:`${m(e.usage.input,r)} − ${m(e.usage.cache,r)} = ${m(s,r)} tokens`,cost:null},{label:a.input,operation:`${m(s,r)} ÷ 1M × ${p(e.rates.input,t,n,o,a.noPublishedRate)}${c}`,cost:e.inputUsd},{label:a.cache,operation:`${m(e.usage.cache,r)} ÷ 1M × ${p(u,t,n,o,a.noPublishedRate)}${c}`,cost:e.cacheUsd},{label:a.output,operation:`${m(e.usage.output,r)} ÷ 1M × ${p(e.rates.output,t,n,o,a.noPublishedRate)}${l}`,cost:e.outputUsd},{label:a.reasoning,operation:`${m(e.usage.reasoning,r)} tokens ⊂ ${a.output} → +0`,cost:e.reasoningUsd}];return(0,i.jsxs)(`div`,{className:`cost-guide-calculation`,children:[(0,i.jsxs)(`div`,{className:`cost-guide-calculation-head`,"aria-hidden":`true`,children:[(0,i.jsx)(`span`,{}),(0,i.jsx)(`span`,{children:a.operation}),(0,i.jsx)(`span`,{children:a.cost})]}),d.map(e=>(0,i.jsxs)(`div`,{className:`cost-guide-calculation-line`,children:[(0,i.jsx)(`strong`,{children:e.label}),(0,i.jsx)(`code`,{children:e.operation}),(0,i.jsx)(`span`,{children:e.cost===null?`—`:f(e.cost,t,n,o)})]},e.label)),(0,i.jsxs)(`div`,{className:`cost-guide-calculation-total`,children:[(0,i.jsx)(`strong`,{children:a.total}),(0,i.jsx)(`span`,{children:f(e.totalUsd,t,n,o)})]})]})}function g({catalog:e,fxRate:t,locale:n,onClose:a}){let o=d[n],[s,c]=(0,r.useState)(e.models[0]?.id??``),[f,g]=(0,r.useState)(`USD`),_=(0,r.useMemo)(()=>e.models.find(e=>e.id===s)??e.models[0]??null,[e.models,s]);if(_===null)return(0,i.jsxs)(`main`,{className:`cost-guide`,children:[(0,i.jsxs)(`button`,{onClick:a,type:`button`,children:[`← `,o.back]}),(0,i.jsx)(`h1`,{children:o.title}),(0,i.jsx)(`p`,{children:o.unavailable})]});let v=t?.rate??null,y=l(_,`standard`,v),b=l(_,`priority`,v),x=u(_,v),S=b!==null&&y.totalUsd>0?b.totalUsd/y.totalUsd:null,C=[{label:o.input,standard:_.input_per_million_usd,priority:_.priority_input_per_million_usd},{label:o.cache,standard:_.cached_input_per_million_usd,priority:_.priority_cached_input_per_million_usd},{label:o.output,standard:_.output_per_million_usd,priority:_.priority_output_per_million_usd}];return(0,i.jsxs)(`main`,{className:`cost-guide`,children:[(0,i.jsxs)(`header`,{children:[(0,i.jsxs)(`div`,{children:[(0,i.jsx)(`small`,{children:o.eyebrow}),(0,i.jsx)(`h1`,{children:o.title}),(0,i.jsx)(`p`,{children:o.intro})]}),(0,i.jsxs)(`button`,{onClick:a,type:`button`,children:[`← `,o.back]})]}),(0,i.jsxs)(`section`,{className:`cost-guide-controls`,"aria-label":o.model,children:[(0,i.jsxs)(`label`,{children:[o.model,(0,i.jsx)(`select`,{value:_.id,onChange:e=>c(e.target.value),children:e.models.map(e=>(0,i.jsx)(`option`,{value:e.id,children:e.id},e.id))})]}),(0,i.jsxs)(`label`,{children:[o.currency,(0,i.jsxs)(`select`,{value:f,onChange:e=>g(e.target.value),children:[(0,i.jsx)(`option`,{value:`USD`,children:`USD`}),(0,i.jsxs)(`option`,{value:`BRL`,children:[`BRL `,v===null?`(${o.unavailable})`:`(1 USD = ${v.toFixed(4)} BRL)`]})]})]})]}),(0,i.jsxs)(`section`,{className:`cost-guide-section`,children:[(0,i.jsxs)(`div`,{className:`cost-guide-section-heading`,children:[(0,i.jsx)(`h2`,{children:o.rateTitle}),(0,i.jsx)(`p`,{children:o.rateIntro})]}),(0,i.jsx)(`div`,{className:`cost-guide-table-wrap`,children:(0,i.jsxs)(`table`,{children:[(0,i.jsxs)(`caption`,{children:[_.id,` · `,o.millionRate]}),(0,i.jsx)(`thead`,{children:(0,i.jsxs)(`tr`,{children:[(0,i.jsx)(`th`,{scope:`col`}),(0,i.jsx)(`th`,{scope:`col`,children:o.standard}),(0,i.jsx)(`th`,{scope:`col`,children:o.priority}),(0,i.jsx)(`th`,{scope:`col`,children:o.ratio})]})}),(0,i.jsxs)(`tbody`,{children:[C.map(e=>(0,i.jsxs)(`tr`,{children:[(0,i.jsx)(`th`,{scope:`row`,children:e.label}),(0,i.jsx)(`td`,{children:p(e.standard,f,v,o.unavailable,o.noPublishedRate)}),(0,i.jsx)(`td`,{children:p(e.priority,f,v,o.unavailable,o.noPublishedRate)}),(0,i.jsx)(`td`,{children:e.standard!==null&&e.standard>0&&e.priority!==null&&e.priority!==void 0?`${(e.priority/e.standard).toFixed(2)}×`:o.unavailable})]},e.label)),(0,i.jsxs)(`tr`,{children:[(0,i.jsx)(`th`,{scope:`row`,children:o.reasoning}),(0,i.jsx)(`td`,{colSpan:3,children:o.included})]})]})]})})]}),(0,i.jsxs)(`section`,{className:`cost-guide-section`,children:[(0,i.jsx)(`div`,{className:`cost-guide-section-heading`,children:(0,i.jsx)(`h2`,{children:o.conceptsTitle})}),(0,i.jsx)(`div`,{className:`cost-guide-blocks`,children:o.concepts.map(([e,t])=>(0,i.jsxs)(`article`,{children:[(0,i.jsx)(`strong`,{children:e}),(0,i.jsx)(`p`,{children:t})]},e))})]}),(0,i.jsxs)(`section`,{className:`cost-guide-section`,children:[(0,i.jsxs)(`div`,{className:`cost-guide-section-heading`,children:[(0,i.jsx)(`h2`,{children:o.exampleTitle}),(0,i.jsx)(`p`,{children:o.exampleIntro})]}),(0,i.jsxs)(`div`,{className:`cost-guide-example-grid`,children:[(0,i.jsxs)(`article`,{className:`cost-guide-example-card`,children:[(0,i.jsx)(`h3`,{children:o.standard}),(0,i.jsx)(h,{example:y,currency:f,fxRate:v,locale:n,labels:o})]}),(0,i.jsxs)(`article`,{className:`cost-guide-example-card`,children:[(0,i.jsx)(`h3`,{children:o.priority}),b===null?(0,i.jsx)(`p`,{className:`cost-guide-unavailable`,children:o.unavailable}):(0,i.jsx)(h,{example:b,currency:f,fxRate:v,locale:n,labels:o})]})]}),(0,i.jsxs)(`div`,{className:`cost-guide-speed`,children:[(0,i.jsx)(`span`,{children:o.speedMultiplier}),(0,i.jsx)(`strong`,{children:S===null?o.unavailable:`${S.toFixed(2)}×`}),(0,i.jsxs)(`code`,{children:[o.priority,` `,o.total,` ÷ `,o.standard,` `,o.total]})]})]}),(0,i.jsxs)(`section`,{className:`cost-guide-section`,children:[(0,i.jsxs)(`div`,{className:`cost-guide-section-heading`,children:[(0,i.jsx)(`h2`,{children:o.longTitle}),(0,i.jsx)(`p`,{children:o.longIntro})]}),(0,i.jsxs)(`div`,{className:`cost-guide-context-summary`,children:[(0,i.jsxs)(`span`,{children:[o.threshold,`:`,` `,(0,i.jsx)(`strong`,{children:_.long_context_threshold_tokens===null?o.unavailable:m(_.long_context_threshold_tokens,n)})]}),(0,i.jsxs)(`span`,{children:[o.longInput,`:`,` `,(0,i.jsx)(`strong`,{children:x===null?o.unavailable:m(x.usage.input,n)})]}),(0,i.jsxs)(`span`,{children:[`Input/cache: `,(0,i.jsxs)(`strong`,{children:[_.long_context_input_multiplier,`×`]})]}),(0,i.jsxs)(`span`,{children:[`Output: `,(0,i.jsxs)(`strong`,{children:[_.long_context_output_multiplier,`×`]})]})]}),x===null?(0,i.jsx)(`p`,{className:`cost-guide-unavailable`,children:o.unavailable}):(0,i.jsx)(h,{example:x,currency:f,fxRate:v,locale:n,labels:o}),(0,i.jsxs)(`div`,{className:`cost-guide-unavailable-combination`,children:[(0,i.jsxs)(`strong`,{children:[o.priorityLong,`: `,o.unavailable]}),(0,i.jsx)(`p`,{children:o.priorityLongNote})]})]}),(0,i.jsx)(`aside`,{className:`cost-guide-final-note`,children:o.finalNote})]})}export{g as CostCalculationGuidePage};