@zaip-ai/cli 5.0.0 → 5.2.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.
- package/dist/services/adapters.d.ts +1 -1
- package/dist/services/adapters.js +1 -1
- package/dist/services/codex-native-tool-authority-template.d.ts.map +1 -1
- package/dist/services/codex-native-tool-authority-template.js +19 -12
- package/dist/services/codex-native-tool-authority-template.js.map +1 -1
- package/dist/services/codex-pre-tool-hook-template.js +6 -6
- package/dist/services/codex-pre-tool-host-context-template.d.ts.map +1 -1
- package/dist/services/codex-pre-tool-host-context-template.js +34 -3
- package/dist/services/codex-pre-tool-host-context-template.js.map +1 -1
- package/dist/services/codex-pre-tool-support-template.d.ts.map +1 -1
- package/dist/services/codex-pre-tool-support-template.js +24 -0
- package/dist/services/codex-pre-tool-support-template.js.map +1 -1
- package/dist/services/codex-windows-hook-command.d.ts.map +1 -1
- package/dist/services/codex-windows-hook-command.js +21 -2
- package/dist/services/codex-windows-hook-command.js.map +1 -1
- package/package.json +1 -1
- package/templates/.agents/README-ENG.md +19 -0
- package/templates/.agents/README.md +20 -0
- package/templates/.agents/config/agents/discovery.json +1 -1
- package/templates/.agents/dashboard/.zaip-managed.json +98 -58
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{CostCalculationGuidePage-w6pjt4OM.js → CostCalculationGuidePage-uR-asJv_.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{DashboardHelpDialog-DhlntQcR.js → DashboardHelpDialog-CDUKVlrH.js} +23 -3
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{PricingSettingsDialog-BHoZT2an.js → PricingSettingsDialog-Czs55K79.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{ProjectSettingsPage-IcncIZ9Y.js → ProjectSettingsPage-DhpaKwjC.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{TraceabilityWorkspace-C6rORjpr.js → TraceabilityWorkspace-DPxfH469.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{cost-monitor-uPnOBShc.js → cost-monitor-B0Jwz_rk.js} +4 -4
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{dashboard-localization-DWXjEIgc.js → dashboard-localization-BE_Zqtym.js} +19 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{icons-vendor-Hc9fp_gs.js → icons-vendor-CjGGux6h.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/index-D5HmMZ27.js +2 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{react-vendor-C9ta_O10.js → react-vendor-B9jZSAKf.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{traceability-IcefoTOv.js → traceability-DFpwb0TN.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/index.html +5 -5
- package/templates/.agents/dashboard/apps/frontend/package.json +2 -2
- package/templates/.agents/dashboard/apps/frontend/src/AppDashboardContent.tsx +3 -0
- package/templates/.agents/dashboard/apps/frontend/src/AppOverlays.tsx +16 -7
- package/templates/.agents/dashboard/apps/frontend/src/__tests__/app-composition-support.ts +1 -0
- package/templates/.agents/dashboard/apps/frontend/src/cost-period-refresh.test.ts +1 -1
- package/templates/.agents/dashboard/apps/frontend/src/operations-period-render.test.ts +2 -0
- package/templates/.agents/dashboard/apps/frontend/src/use-app-trace-documents.navigation.test.tsx +125 -0
- package/templates/.agents/dashboard/apps/frontend/src/use-app-trace-documents.ts +67 -9
- package/templates/.agents/dashboard/apps/frontend/src/use-dashboard-app-model.tsx +15 -15
- package/templates/.agents/dashboard/apps/frontend/src/use-dashboard-locale.ts +18 -0
- package/templates/.agents/dashboard/modules/cost-monitor/package.json +1 -1
- package/templates/.agents/dashboard/modules/operations/package.json +1 -1
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverview.tsx +4 -39
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverviewTopPanel.navigation.test.tsx +150 -0
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsOverviewTopPanel.tsx +7 -3
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsPage.tsx +4 -7
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsPageOverview.tsx +3 -0
- package/templates/.agents/dashboard/modules/operations/src/react/operations-overview-contract.ts +51 -0
- package/templates/.agents/dashboard/modules/operations/src/react/operations-overview-period-filter.test.ts +5 -1
- package/templates/.agents/dashboard/modules/operations/src/react/operations-page-contract.ts +1 -0
- package/templates/.agents/dashboard/modules/operations/src/react/use-operations-default-range.ts +16 -0
- package/templates/.agents/dashboard/modules/traceability/package.json +1 -1
- package/templates/.agents/dashboard/packages/branding/package.json +1 -1
- package/templates/.agents/dashboard/packages/contracts/package.json +1 -1
- package/templates/.agents/dashboard/packages/data-export/package.json +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/dashboard-build-fingerprint.mjs +87 -0
- package/templates/.agents/dashboard/packages/local-runtime/dashboard-build-fingerprint.test.mjs +48 -0
- package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs +160 -160
- package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +110 -110
- package/templates/.agents/dashboard/packages/local-runtime/package.json +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/scripts/build-frontend.mjs +29 -0
- package/templates/.agents/dashboard/packages/local-runtime/scripts/build-sqlite-runtime.mjs +5 -0
- package/templates/.agents/dashboard/packages/local-runtime/server.mjs +163 -163
- package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-build.mjs +12 -5
- package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-paths.mjs +8 -0
- package/templates/.agents/dashboard/packages/local-runtime/start-dashboard.test.mjs +1 -1
- package/templates/.agents/dashboard/packages/ui/package.json +1 -1
- package/templates/.agents/dashboard/tests/e2e/package.json +1 -1
- package/templates/.agents/dashboard/tests/e2e/qualify-top-five-trace.mjs +53 -0
- package/templates/.agents/dashboard/tests/e2e/verify-top-five-served.mjs +78 -0
- package/templates/.agents/design/.zaip-managed.json +14 -6
- package/templates/.agents/design/apps/catalog/dist/assets/index-BGxXxXTo.js +72 -0
- package/templates/.agents/design/apps/catalog/dist/index.html +1 -1
- package/templates/.agents/design/apps/catalog/package.json +1 -1
- package/templates/.agents/design/apps/catalog/src/components/TopEntitiesSpecimen.tsx +45 -0
- package/templates/.agents/design/apps/catalog/src/pages/ComponentsPage.tsx +3 -1
- package/templates/.agents/design/apps/catalog/src/stories/Components.stories.tsx +2 -0
- package/templates/.agents/design/packages/local-runtime/package.json +1 -1
- package/templates/.agents/requirements/autonomous-assurance.md +1 -1
- package/templates/.agents/requirements/cloud-hostinger-autonomy.md +1 -1
- package/templates/.agents/requirements/comparative-audit.md +1 -1
- package/templates/.agents/requirements/context-engine.md +1 -1
- package/templates/.agents/requirements/cost-observability.md +1 -1
- package/templates/.agents/requirements/dashboard-launch.md +1 -1
- package/templates/.agents/requirements/data-export.md +1 -1
- package/templates/.agents/requirements/design-system.md +1 -1
- package/templates/.agents/requirements/execution-engine.md +1 -1
- package/templates/.agents/requirements/kanban-dashboard.md +1 -1
- package/templates/.agents/requirements/model-orchestration.md +1 -1
- package/templates/.agents/requirements/public-distribution.md +1 -1
- package/templates/.agents/requirements/software-architecture.md +1 -1
- package/templates/.agents/requirements/strategic-improvements.md +1 -1
- package/templates/.agents/requirements/work-lifecycle.md +1 -1
- package/templates/.agents/requirements/zaip-strategic-95.md +1 -1
- package/templates/.agents/runtime/VERSION +1 -1
- package/templates/.agents/runtime/bin/zaip.mjs +118 -56
- package/templates/.agents/runtime/checksums.sha256 +6 -6
- package/templates/.agents/runtime/manifest.json +1 -1
- package/templates/.agents/runtime/pnpm-lock.sha256 +1 -1
- package/templates/.agents/runtime/provenance.json +5 -5
- package/templates/.agents/runtime/sbom.cdx.json +1 -1
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deploy-contract-cli.test.mjs +53 -0
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/deploy-contract.test.mjs +1 -32
- package/templates/.agents/zaip-aios/VERSION +1 -1
- package/templates/.agents/zaip-aios/guides/10-seguranca.md +2 -2
- package/templates/template-manifest.json +149 -97
- package/templates/.agents/dashboard/apps/frontend/dist/assets/index-BqeOEZW5.js +0 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.2.0",
|
|
4
4
|
"files": [
|
|
5
5
|
{
|
|
6
6
|
"path": "DATA-DICTIONARY.md",
|
|
@@ -11,56 +11,56 @@
|
|
|
11
11
|
"sha256": "3d5a8a4f326ee34cefe23803c2e4f5d30e938933cc85f411c44cb5a746a369f7"
|
|
12
12
|
},
|
|
13
13
|
{
|
|
14
|
-
"path": "apps/frontend/dist/assets/CostCalculationGuidePage-
|
|
15
|
-
"sha256": "
|
|
14
|
+
"path": "apps/frontend/dist/assets/CostCalculationGuidePage-uR-asJv_.js",
|
|
15
|
+
"sha256": "d0366ee0d847fe681de0971a14c80ee3a6af1430c0e9c5eb4f84f14a4b734b82"
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
|
-
"path": "apps/frontend/dist/assets/DashboardHelpDialog-
|
|
19
|
-
"sha256": "
|
|
18
|
+
"path": "apps/frontend/dist/assets/DashboardHelpDialog-CDUKVlrH.js",
|
|
19
|
+
"sha256": "bbf13f0ff0788e92a3497eebfbf55ba50d4d5049a232ce8a1bf76eddf5ce2f27"
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
|
-
"path": "apps/frontend/dist/assets/DashboardHelpDialog-
|
|
23
|
-
"sha256": "
|
|
22
|
+
"path": "apps/frontend/dist/assets/DashboardHelpDialog-DRI_XwUf.css",
|
|
23
|
+
"sha256": "95dbb5c26ad73831f36f2a51d5e08ef5eee7ca85190764a3e63bf1e700fbadf8"
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
|
-
"path": "apps/frontend/dist/assets/PricingSettingsDialog-
|
|
27
|
-
"sha256": "
|
|
26
|
+
"path": "apps/frontend/dist/assets/PricingSettingsDialog-Czs55K79.js",
|
|
27
|
+
"sha256": "a7b033808de2f224ef57a25f54cd010248409aee921739d8d9aaf2c0350a3866"
|
|
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-
|
|
35
|
-
"sha256": "
|
|
34
|
+
"path": "apps/frontend/dist/assets/ProjectSettingsPage-DhpaKwjC.js",
|
|
35
|
+
"sha256": "1a5c8c57b23ab8348c5538644dbb3b7067e8c17db6207a3b8ab473d16abe458e"
|
|
36
36
|
},
|
|
37
37
|
{
|
|
38
|
-
"path": "apps/frontend/dist/assets/TraceabilityWorkspace-
|
|
39
|
-
"sha256": "
|
|
38
|
+
"path": "apps/frontend/dist/assets/TraceabilityWorkspace-DPxfH469.js",
|
|
39
|
+
"sha256": "869219fb3134c6bedc64160bb34dd9ae3e08b10d5026b3e6744d423dd0967d44"
|
|
40
40
|
},
|
|
41
41
|
{
|
|
42
42
|
"path": "apps/frontend/dist/assets/TraceabilityWorkspace-DvvavDLY.css",
|
|
43
43
|
"sha256": "2dc93c190042edd2f5c585aab941bcaa5506aa1a8b5f26afa6e99996ce957e35"
|
|
44
44
|
},
|
|
45
45
|
{
|
|
46
|
-
"path": "apps/frontend/dist/assets/cost-monitor-
|
|
47
|
-
"sha256": "
|
|
46
|
+
"path": "apps/frontend/dist/assets/cost-monitor-B0Jwz_rk.js",
|
|
47
|
+
"sha256": "44a66ad6e38e9f722c28c2d3aa3c32f867456aa7a430a5e449f6b853e10c8f2c"
|
|
48
48
|
},
|
|
49
49
|
{
|
|
50
|
-
"path": "apps/frontend/dist/assets/cost-monitor-
|
|
51
|
-
"sha256": "
|
|
50
|
+
"path": "apps/frontend/dist/assets/cost-monitor-C2AFYBu_.css",
|
|
51
|
+
"sha256": "90be9550e3b6719ffc7a029ac35a93a4f14e95263b3996ad6c06dbfc0490f307"
|
|
52
52
|
},
|
|
53
53
|
{
|
|
54
|
-
"path": "apps/frontend/dist/assets/dashboard-localization-
|
|
55
|
-
"sha256": "
|
|
54
|
+
"path": "apps/frontend/dist/assets/dashboard-localization-BE_Zqtym.js",
|
|
55
|
+
"sha256": "ca81cef8daca1266f83cc5eaeb114418031b51b531c7ecc9725d29c508f713f1"
|
|
56
56
|
},
|
|
57
57
|
{
|
|
58
|
-
"path": "apps/frontend/dist/assets/icons-vendor-
|
|
59
|
-
"sha256": "
|
|
58
|
+
"path": "apps/frontend/dist/assets/icons-vendor-CjGGux6h.js",
|
|
59
|
+
"sha256": "0f615bc6eaeb21d12fc0457867d6acbfe9434ebae0ebecea9444262e46b972e9"
|
|
60
60
|
},
|
|
61
61
|
{
|
|
62
|
-
"path": "apps/frontend/dist/assets/index-
|
|
63
|
-
"sha256": "
|
|
62
|
+
"path": "apps/frontend/dist/assets/index-D5HmMZ27.js",
|
|
63
|
+
"sha256": "116813c811425cbddd8daeaf10f685529bd39f1addf13ad0817e200eb92e4da4"
|
|
64
64
|
},
|
|
65
65
|
{
|
|
66
66
|
"path": "apps/frontend/dist/assets/index-DZhppOIk.css",
|
|
@@ -71,8 +71,8 @@
|
|
|
71
71
|
"sha256": "bb6043bda9fc53a111aaea4d6a004559b9ce8a3569691c060d217a7c6aafa0ae"
|
|
72
72
|
},
|
|
73
73
|
{
|
|
74
|
-
"path": "apps/frontend/dist/assets/react-vendor-
|
|
75
|
-
"sha256": "
|
|
74
|
+
"path": "apps/frontend/dist/assets/react-vendor-B9jZSAKf.js",
|
|
75
|
+
"sha256": "a86fcd2aaf3c97aab540447bafdd4c034ea5a450a3a7fb373dda885290fcf301"
|
|
76
76
|
},
|
|
77
77
|
{
|
|
78
78
|
"path": "apps/frontend/dist/assets/rolldown-runtime-Bh1tDfsg.js",
|
|
@@ -83,8 +83,8 @@
|
|
|
83
83
|
"sha256": "3134c9eb5bbbdb1e48e1001fe6c4b7fd32840db04d9782587f2c4f6eacc21a64"
|
|
84
84
|
},
|
|
85
85
|
{
|
|
86
|
-
"path": "apps/frontend/dist/assets/traceability-
|
|
87
|
-
"sha256": "
|
|
86
|
+
"path": "apps/frontend/dist/assets/traceability-DFpwb0TN.js",
|
|
87
|
+
"sha256": "b6abae1a3eaa756c4508be4925c1177dbcffab0e0b4f1e2108c5399cab642564"
|
|
88
88
|
},
|
|
89
89
|
{
|
|
90
90
|
"path": "apps/frontend/dist/icon_zaip.png",
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
},
|
|
93
93
|
{
|
|
94
94
|
"path": "apps/frontend/dist/index.html",
|
|
95
|
-
"sha256": "
|
|
95
|
+
"sha256": "afa794b12e75a74533290aaacad53a7cedf0195915b59adf97c66614ab200df2"
|
|
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": "
|
|
107
|
+
"sha256": "4d7ac554045ecc7a746ca6ab08ba7e648937d287e63b7de3ce168c0f5ed5dd41"
|
|
108
108
|
},
|
|
109
109
|
{
|
|
110
110
|
"path": "apps/frontend/playwright.dom.config.ts",
|
|
@@ -124,7 +124,7 @@
|
|
|
124
124
|
},
|
|
125
125
|
{
|
|
126
126
|
"path": "apps/frontend/src/AppDashboardContent.tsx",
|
|
127
|
-
"sha256": "
|
|
127
|
+
"sha256": "0a83bf71484c74ea9e229ec04890191190bf830caf0bd26fc01695fe8a01188c"
|
|
128
128
|
},
|
|
129
129
|
{
|
|
130
130
|
"path": "apps/frontend/src/AppLoadingBoundary.tsx",
|
|
@@ -136,7 +136,7 @@
|
|
|
136
136
|
},
|
|
137
137
|
{
|
|
138
138
|
"path": "apps/frontend/src/AppOverlays.tsx",
|
|
139
|
-
"sha256": "
|
|
139
|
+
"sha256": "e5588af454db90e6503a28274c53572cb5e385d2f7fd7cef733fa188d7b6b01f"
|
|
140
140
|
},
|
|
141
141
|
{
|
|
142
142
|
"path": "apps/frontend/src/AppRequestGuards.tsx",
|
|
@@ -228,7 +228,7 @@
|
|
|
228
228
|
},
|
|
229
229
|
{
|
|
230
230
|
"path": "apps/frontend/src/__tests__/app-composition-support.ts",
|
|
231
|
-
"sha256": "
|
|
231
|
+
"sha256": "100a5990de21b074729580e915bc04e805e32a537fa5693da687de30521f94bd"
|
|
232
232
|
},
|
|
233
233
|
{
|
|
234
234
|
"path": "apps/frontend/src/app-loading-boundary.css",
|
|
@@ -260,7 +260,7 @@
|
|
|
260
260
|
},
|
|
261
261
|
{
|
|
262
262
|
"path": "apps/frontend/src/cost-period-refresh.test.ts",
|
|
263
|
-
"sha256": "
|
|
263
|
+
"sha256": "33e035285f19b6b21109c7da51cf3cc5859cc0a87b813e4bc6f313891bf497df"
|
|
264
264
|
},
|
|
265
265
|
{
|
|
266
266
|
"path": "apps/frontend/src/dashboard-api-reconciliation.ts",
|
|
@@ -372,7 +372,7 @@
|
|
|
372
372
|
},
|
|
373
373
|
{
|
|
374
374
|
"path": "apps/frontend/src/operations-period-render.test.ts",
|
|
375
|
-
"sha256": "
|
|
375
|
+
"sha256": "6e8a12ffa0246fa7923d52303aa7b29042e354cc4c95a02211942300b5c1d83c"
|
|
376
376
|
},
|
|
377
377
|
{
|
|
378
378
|
"path": "apps/frontend/src/operations-period.test.ts",
|
|
@@ -514,9 +514,13 @@
|
|
|
514
514
|
"path": "apps/frontend/src/use-app-operations-pages.ts",
|
|
515
515
|
"sha256": "14f14a7fb7a7a575ef45ac096bc236172d74cff3d91a69fa3844f9853f588f91"
|
|
516
516
|
},
|
|
517
|
+
{
|
|
518
|
+
"path": "apps/frontend/src/use-app-trace-documents.navigation.test.tsx",
|
|
519
|
+
"sha256": "984eba7cfb0e0cf66768370af226bc43a2281e47aa3cd103d987e5d63b1fd2ee"
|
|
520
|
+
},
|
|
517
521
|
{
|
|
518
522
|
"path": "apps/frontend/src/use-app-trace-documents.ts",
|
|
519
|
-
"sha256": "
|
|
523
|
+
"sha256": "a0599954ddf9436790c70beb1605be2bef652877b64fb73b901209b0a83b4e63"
|
|
520
524
|
},
|
|
521
525
|
{
|
|
522
526
|
"path": "apps/frontend/src/use-app-trace-task-pagination.ts",
|
|
@@ -540,7 +544,11 @@
|
|
|
540
544
|
},
|
|
541
545
|
{
|
|
542
546
|
"path": "apps/frontend/src/use-dashboard-app-model.tsx",
|
|
543
|
-
"sha256": "
|
|
547
|
+
"sha256": "bfc128cc0fb30a0400edfb90e0803894db396f39140c169694dc50e855944863"
|
|
548
|
+
},
|
|
549
|
+
{
|
|
550
|
+
"path": "apps/frontend/src/use-dashboard-locale.ts",
|
|
551
|
+
"sha256": "0974ff5c189902bbf2b3849cb7dc4b5fc3b9221c7d171bbe92d1ffcfc8ba705a"
|
|
544
552
|
},
|
|
545
553
|
{
|
|
546
554
|
"path": "apps/frontend/src/use-operations-detail-export.ts",
|
|
@@ -592,7 +600,7 @@
|
|
|
592
600
|
},
|
|
593
601
|
{
|
|
594
602
|
"path": "modules/cost-monitor/package.json",
|
|
595
|
-
"sha256": "
|
|
603
|
+
"sha256": "cb6e9ea88e67bc2d995ab1f8e3e5b094cef307789767565ac8aaafd5863d3413"
|
|
596
604
|
},
|
|
597
605
|
{
|
|
598
606
|
"path": "modules/cost-monitor/src/agent-groups.test.ts",
|
|
@@ -1004,7 +1012,7 @@
|
|
|
1004
1012
|
},
|
|
1005
1013
|
{
|
|
1006
1014
|
"path": "modules/operations/package.json",
|
|
1007
|
-
"sha256": "
|
|
1015
|
+
"sha256": "1cdade9fcf22258e1d3a381cc44b296b85c0fa470ef735fdf013bf6b912f7783"
|
|
1008
1016
|
},
|
|
1009
1017
|
{
|
|
1010
1018
|
"path": "modules/operations/src/contracts.ts",
|
|
@@ -1108,7 +1116,7 @@
|
|
|
1108
1116
|
},
|
|
1109
1117
|
{
|
|
1110
1118
|
"path": "modules/operations/src/react/OperationsOverview.tsx",
|
|
1111
|
-
"sha256": "
|
|
1119
|
+
"sha256": "b2fb79f3ef46e6f3255846d37db0e88531668cfd5b49e52f88db3287693ae855"
|
|
1112
1120
|
},
|
|
1113
1121
|
{
|
|
1114
1122
|
"path": "modules/operations/src/react/OperationsOverviewCharts.tsx",
|
|
@@ -1118,13 +1126,17 @@
|
|
|
1118
1126
|
"path": "modules/operations/src/react/OperationsOverviewPanels.tsx",
|
|
1119
1127
|
"sha256": "79df76f9024c06d0aa8f2af0430f96992194c968571e6abda6ff992d3c3144ee"
|
|
1120
1128
|
},
|
|
1129
|
+
{
|
|
1130
|
+
"path": "modules/operations/src/react/OperationsOverviewTopPanel.navigation.test.tsx",
|
|
1131
|
+
"sha256": "478e6b6a48e3dd9fed5ca188daef2ce063f6f7eba17a37c7034b05b04e172d87"
|
|
1132
|
+
},
|
|
1121
1133
|
{
|
|
1122
1134
|
"path": "modules/operations/src/react/OperationsOverviewTopPanel.tsx",
|
|
1123
|
-
"sha256": "
|
|
1135
|
+
"sha256": "0417466cfc39d141d81fb860ac45c840aa8cbbc926ebd1213c0dc4358eb2f47b"
|
|
1124
1136
|
},
|
|
1125
1137
|
{
|
|
1126
1138
|
"path": "modules/operations/src/react/OperationsPage.tsx",
|
|
1127
|
-
"sha256": "
|
|
1139
|
+
"sha256": "31d7c5a22c57e451c5445b969bae10be59aae1e7f044a37ae239012fc04744d8"
|
|
1128
1140
|
},
|
|
1129
1141
|
{
|
|
1130
1142
|
"path": "modules/operations/src/react/OperationsPageDetails.tsx",
|
|
@@ -1136,7 +1148,7 @@
|
|
|
1136
1148
|
},
|
|
1137
1149
|
{
|
|
1138
1150
|
"path": "modules/operations/src/react/OperationsPageOverview.tsx",
|
|
1139
|
-
"sha256": "
|
|
1151
|
+
"sha256": "c9b68e05c060cf102c3a94c4bf800ad2a69e7ffb2ded7b55d6cef850f4b671c4"
|
|
1140
1152
|
},
|
|
1141
1153
|
{
|
|
1142
1154
|
"path": "modules/operations/src/react/OverviewCostKpi.tsx",
|
|
@@ -1386,9 +1398,13 @@
|
|
|
1386
1398
|
"path": "modules/operations/src/react/operations-layout.test.ts",
|
|
1387
1399
|
"sha256": "fca68240f20fffb58c8c207159b4b4c7a1a4f255d41dfa51bfd2fd30623cad98"
|
|
1388
1400
|
},
|
|
1401
|
+
{
|
|
1402
|
+
"path": "modules/operations/src/react/operations-overview-contract.ts",
|
|
1403
|
+
"sha256": "a199f199d4f83e0a80a6e6d087643bb01f9c63f3a994763019b5e72e5c79b41b"
|
|
1404
|
+
},
|
|
1389
1405
|
{
|
|
1390
1406
|
"path": "modules/operations/src/react/operations-overview-period-filter.test.ts",
|
|
1391
|
-
"sha256": "
|
|
1407
|
+
"sha256": "05fd8bc770a2a7ed557773ecb71fc4a6ad8ef5252ca94372ce8029cefcb5b68f"
|
|
1392
1408
|
},
|
|
1393
1409
|
{
|
|
1394
1410
|
"path": "modules/operations/src/react/operations-overview.css",
|
|
@@ -1400,7 +1416,7 @@
|
|
|
1400
1416
|
},
|
|
1401
1417
|
{
|
|
1402
1418
|
"path": "modules/operations/src/react/operations-page-contract.ts",
|
|
1403
|
-
"sha256": "
|
|
1419
|
+
"sha256": "75e0155bfdeb0ca381792c4a24d9a2759c92bfbc8ff6181c3317e9918abfcc4b"
|
|
1404
1420
|
},
|
|
1405
1421
|
{
|
|
1406
1422
|
"path": "modules/operations/src/react/operations-page-filters.ts",
|
|
@@ -1550,6 +1566,10 @@
|
|
|
1550
1566
|
"path": "modules/operations/src/react/use-operation-filter-feedback.ts",
|
|
1551
1567
|
"sha256": "fb56e9549bef6e0daf5e430a3dafa0def4cfa3187361a6b497d91053861c98ef"
|
|
1552
1568
|
},
|
|
1569
|
+
{
|
|
1570
|
+
"path": "modules/operations/src/react/use-operations-default-range.ts",
|
|
1571
|
+
"sha256": "28901645d3fc8a4adc547d5c3e99d2975fbae960f801ab6a87684552d2cf7bc7"
|
|
1572
|
+
},
|
|
1553
1573
|
{
|
|
1554
1574
|
"path": "modules/operations/src/react/use-operations-filter-sync.ts",
|
|
1555
1575
|
"sha256": "500036fa4136d6b00fa9e1c21054bf6fd8400544630a40222be34957471f099c"
|
|
@@ -1732,7 +1752,7 @@
|
|
|
1732
1752
|
},
|
|
1733
1753
|
{
|
|
1734
1754
|
"path": "modules/traceability/package.json",
|
|
1735
|
-
"sha256": "
|
|
1755
|
+
"sha256": "a567d3b79ed93f40f32b8e869abae93b839588c3d376f985a41f8e070a17a032"
|
|
1736
1756
|
},
|
|
1737
1757
|
{
|
|
1738
1758
|
"path": "modules/traceability/src/contracts.ts",
|
|
@@ -1804,7 +1824,7 @@
|
|
|
1804
1824
|
},
|
|
1805
1825
|
{
|
|
1806
1826
|
"path": "packages/branding/package.json",
|
|
1807
|
-
"sha256": "
|
|
1827
|
+
"sha256": "c87a2648416f60079b50642a5eda2522b6166b2215e2bbfe0d3f204e2aa34828"
|
|
1808
1828
|
},
|
|
1809
1829
|
{
|
|
1810
1830
|
"path": "packages/branding/src/index.ts",
|
|
@@ -1816,7 +1836,7 @@
|
|
|
1816
1836
|
},
|
|
1817
1837
|
{
|
|
1818
1838
|
"path": "packages/contracts/package.json",
|
|
1819
|
-
"sha256": "
|
|
1839
|
+
"sha256": "e92b8965d8158388abb46266bab5dd8b9f3f9cffe1ea4fa11f0730b38fdf1c72"
|
|
1820
1840
|
},
|
|
1821
1841
|
{
|
|
1822
1842
|
"path": "packages/contracts/src/export.ts",
|
|
@@ -1836,7 +1856,7 @@
|
|
|
1836
1856
|
},
|
|
1837
1857
|
{
|
|
1838
1858
|
"path": "packages/data-export/package.json",
|
|
1839
|
-
"sha256": "
|
|
1859
|
+
"sha256": "5f964cfadd84f8b2acd652ef30fe9994eedb95c3d9882eb8f0fab4748c9ae161"
|
|
1840
1860
|
},
|
|
1841
1861
|
{
|
|
1842
1862
|
"path": "packages/data-export/src/index.test.ts",
|
|
@@ -1862,6 +1882,14 @@
|
|
|
1862
1882
|
"path": "packages/local-runtime/DIAGNOSTICS.md",
|
|
1863
1883
|
"sha256": "13d81d82783e00cd973ae1bf5b78f5be95bebc7f103cc7575cc6dd9c8fc7524b"
|
|
1864
1884
|
},
|
|
1885
|
+
{
|
|
1886
|
+
"path": "packages/local-runtime/dashboard-build-fingerprint.mjs",
|
|
1887
|
+
"sha256": "648235365a3d65305549c527cc604453c1c78a0144bfcf2b9ada235e56bbfe93"
|
|
1888
|
+
},
|
|
1889
|
+
{
|
|
1890
|
+
"path": "packages/local-runtime/dashboard-build-fingerprint.test.mjs",
|
|
1891
|
+
"sha256": "4f2b60e686a6de627890b9431afe2f3224e6fe5e696b34a4be249d21c60019fa"
|
|
1892
|
+
},
|
|
1865
1893
|
{
|
|
1866
1894
|
"path": "packages/local-runtime/dashboard-diagnostics.d.mts",
|
|
1867
1895
|
"sha256": "d8d75179651f3580cbe2b010d9f3427b3a8c76badbbca797faae565900963cb9"
|
|
@@ -1876,15 +1904,19 @@
|
|
|
1876
1904
|
},
|
|
1877
1905
|
{
|
|
1878
1906
|
"path": "packages/local-runtime/dist/server.cjs",
|
|
1879
|
-
"sha256": "
|
|
1907
|
+
"sha256": "b120e6413f119dbb495680c4656d794951049d6b4800f6df4d6be882778dafbe"
|
|
1880
1908
|
},
|
|
1881
1909
|
{
|
|
1882
1910
|
"path": "packages/local-runtime/dist/sqlite-read-model.cjs",
|
|
1883
|
-
"sha256": "
|
|
1911
|
+
"sha256": "3a39825058ef54ddf71b1d4c9234b25a97ae8135b58ca1467e20d9dbe6d4dab3"
|
|
1884
1912
|
},
|
|
1885
1913
|
{
|
|
1886
1914
|
"path": "packages/local-runtime/package.json",
|
|
1887
|
-
"sha256": "
|
|
1915
|
+
"sha256": "8da451715ec125a910f6982fde8f70ff001c0e91deeb97022dddcd373b5eb2c2"
|
|
1916
|
+
},
|
|
1917
|
+
{
|
|
1918
|
+
"path": "packages/local-runtime/scripts/build-frontend.mjs",
|
|
1919
|
+
"sha256": "484471bc080c22c289afc7fea7f24684b483b549360737be4a3d6871daf7998e"
|
|
1888
1920
|
},
|
|
1889
1921
|
{
|
|
1890
1922
|
"path": "packages/local-runtime/scripts/build-sqlite-dashboard.mjs",
|
|
@@ -1892,7 +1924,7 @@
|
|
|
1892
1924
|
},
|
|
1893
1925
|
{
|
|
1894
1926
|
"path": "packages/local-runtime/scripts/build-sqlite-runtime.mjs",
|
|
1895
|
-
"sha256": "
|
|
1927
|
+
"sha256": "74311b5c6b4d94dc93024f16fddf0927c53363837b05123af23d62f28686e1d7"
|
|
1896
1928
|
},
|
|
1897
1929
|
{
|
|
1898
1930
|
"path": "packages/local-runtime/scripts/rebuild-sqlite-read-model.mjs",
|
|
@@ -1936,7 +1968,7 @@
|
|
|
1936
1968
|
},
|
|
1937
1969
|
{
|
|
1938
1970
|
"path": "packages/local-runtime/server.mjs",
|
|
1939
|
-
"sha256": "
|
|
1971
|
+
"sha256": "034097a697015e5c364f6f9714484e40797b5c407e36049c15b5f8950a0912c7"
|
|
1940
1972
|
},
|
|
1941
1973
|
{
|
|
1942
1974
|
"path": "packages/local-runtime/src/active-capture-failure.test.ts",
|
|
@@ -2724,7 +2756,7 @@
|
|
|
2724
2756
|
},
|
|
2725
2757
|
{
|
|
2726
2758
|
"path": "packages/local-runtime/start-dashboard-build.mjs",
|
|
2727
|
-
"sha256": "
|
|
2759
|
+
"sha256": "a2660945d83afd06c4881315a52bf08ec7195d02c58302272aa1f02e087d9491"
|
|
2728
2760
|
},
|
|
2729
2761
|
{
|
|
2730
2762
|
"path": "packages/local-runtime/start-dashboard-history.mjs",
|
|
@@ -2768,7 +2800,7 @@
|
|
|
2768
2800
|
},
|
|
2769
2801
|
{
|
|
2770
2802
|
"path": "packages/local-runtime/start-dashboard-paths.mjs",
|
|
2771
|
-
"sha256": "
|
|
2803
|
+
"sha256": "605fb451a3ac88e0586fa2a3bb30910d5201a962fb7f950424a963fd4a7638fc"
|
|
2772
2804
|
},
|
|
2773
2805
|
{
|
|
2774
2806
|
"path": "packages/local-runtime/start-dashboard-prerequisites.mjs",
|
|
@@ -2804,7 +2836,7 @@
|
|
|
2804
2836
|
},
|
|
2805
2837
|
{
|
|
2806
2838
|
"path": "packages/local-runtime/start-dashboard.test.mjs",
|
|
2807
|
-
"sha256": "
|
|
2839
|
+
"sha256": "2bced928062f23b88e2aedc25b41ce5639a21ba05154261c2e0db192fead7875"
|
|
2808
2840
|
},
|
|
2809
2841
|
{
|
|
2810
2842
|
"path": "packages/local-runtime/tsconfig.json",
|
|
@@ -2816,7 +2848,7 @@
|
|
|
2816
2848
|
},
|
|
2817
2849
|
{
|
|
2818
2850
|
"path": "packages/ui/package.json",
|
|
2819
|
-
"sha256": "
|
|
2851
|
+
"sha256": "02b9926927d97b3c09b1676c42f83a938082dae5f46f2d5b02e6ecddce7e4935"
|
|
2820
2852
|
},
|
|
2821
2853
|
{
|
|
2822
2854
|
"path": "packages/ui/src/DashboardHeader.test.mjs",
|
|
@@ -2924,7 +2956,7 @@
|
|
|
2924
2956
|
},
|
|
2925
2957
|
{
|
|
2926
2958
|
"path": "tests/e2e/package.json",
|
|
2927
|
-
"sha256": "
|
|
2959
|
+
"sha256": "c0239143bafab4cafcae58d1224748fecd0ab4d6270b753bc6ab718b0b2b20d5"
|
|
2928
2960
|
},
|
|
2929
2961
|
{
|
|
2930
2962
|
"path": "tests/e2e/playwright.config.ts",
|
|
@@ -2934,6 +2966,10 @@
|
|
|
2934
2966
|
"path": "tests/e2e/qualify-kanban-popup.mjs",
|
|
2935
2967
|
"sha256": "5ef85223147649f0a2dccd52449fdfcfa878fe2505337142ecebd7ffce137fe5"
|
|
2936
2968
|
},
|
|
2969
|
+
{
|
|
2970
|
+
"path": "tests/e2e/qualify-top-five-trace.mjs",
|
|
2971
|
+
"sha256": "04615b5212948674ef7d427d75bb878235c6f392c53b2b29276670ef7b69153c"
|
|
2972
|
+
},
|
|
2937
2973
|
{
|
|
2938
2974
|
"path": "tests/e2e/specs/cost-monitor-loading.spec.ts",
|
|
2939
2975
|
"sha256": "a5413ed22b6b8e76b585d77d10b353682bab8f0cb4b82ee211f82a740af017d1"
|
|
@@ -2990,6 +3026,10 @@
|
|
|
2990
3026
|
"path": "tests/e2e/tsconfig.json",
|
|
2991
3027
|
"sha256": "4560f8b1567a27cc4d506d504f221f154c51c5e831352c9450be15d3d57f67f7"
|
|
2992
3028
|
},
|
|
3029
|
+
{
|
|
3030
|
+
"path": "tests/e2e/verify-top-five-served.mjs",
|
|
3031
|
+
"sha256": "c48cc285527bc03f582fa50a64817072fef75bdec4d63cb0fe445e5328c6be46"
|
|
3032
|
+
},
|
|
2993
3033
|
{
|
|
2994
3034
|
"path": "tests/observability-fixture.mjs",
|
|
2995
3035
|
"sha256": "b03e31e3fc9f6f12f5a587207160517fc16e7af6e6935403eeb709bc678be928"
|
|
@@ -1 +1 @@
|
|
|
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};
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{E as t,w as n}from"./cost-monitor-B0Jwz_rk.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,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{E as t,w as n}from"./cost-monitor-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{E as t,w as n}from"./cost-monitor-B0Jwz_rk.js";import{t as r}from"./dashboard-localization-BE_Zqtym.js";var i=`# Primeiros passos
|
|
2
2
|
|
|
3
3
|
1. Leia \`.agents/config/project.yaml\` e \`.agents/rules/core.md\`.
|
|
4
4
|
2. Consulte \`.agents/records/lifecycle/\` para descobrir o estado atual pelos manifests canônicos.
|
|
@@ -361,7 +361,7 @@ sistema operacional.
|
|
|
361
361
|
execução de comandos dentro do perfil. Isso não é uma autorização de negócio ou
|
|
362
362
|
de escopo: deploy, push/publicação, ações remotas, gastos, exclusões relevantes
|
|
363
363
|
e mudanças fora do objetivo continuam exigindo pedido explícito do usuário no
|
|
364
|
-
|
|
364
|
+
contexto vigente da sessão; a autorização continua válida enquanto seu escopo não mudar. Apps e MCPs podem manter seu próprio
|
|
365
365
|
\`default_tools_approval_mode = "approve"\`; esse ajuste é independente da
|
|
366
366
|
política de aprovação de comandos.
|
|
367
367
|
|
|
@@ -485,7 +485,7 @@ O acesso completo é mitigado por defesa em profundidade, mas nenhuma camada tor
|
|
|
485
485
|
\`zaip-aios-full-access\` equivalente ao perfil restrito:
|
|
486
486
|
|
|
487
487
|
1. **Autorização explícita do usuário:** mudanças externas, destrutivas, publicação, deploy,
|
|
488
|
-
gasto e mutações remotas exigem pedido explícito no
|
|
488
|
+
gasto e mutações remotas exigem pedido explícito válido no contexto da sessão.
|
|
489
489
|
2. **Escopo do repositório:** \`AGENTS.md\`, Rules e skills limitam o trabalho ao objetivo e
|
|
490
490
|
proíbem inferir autoridade adicional a partir do acesso técnico.
|
|
491
491
|
3. **Hook \`PreToolUse\` ativo nos dois perfis:** valida comandos e patches antes da execução; bloqueia escapes do
|
|
@@ -2343,6 +2343,23 @@ matriz de performance aprovada apenas porque consultas focadas passaram.
|
|
|
2343
2343
|
|
|
2344
2344
|
## Visão rápida
|
|
2345
2345
|
|
|
2346
|
+
O [guia de prevenção de retrabalho](docs/quality/v51-eficiencia-e-publicacao.md)
|
|
2347
|
+
documenta o pré-check completo antes da finalização, as leituras limitadas de Runs,
|
|
2348
|
+
o reuso conservador de testes, o build do Dashboard por conteúdo e a confirmação
|
|
2349
|
+
separada do npm. Manutenção autorizada suspende a governança com telemetria ativa;
|
|
2350
|
+
ao terminar, a governança é reativada e os hooks são verificados.
|
|
2351
|
+
|
|
2352
|
+
O [guia de correção dos hooks](docs/quality/hooks-leitura-e-orcamento.md) descreve
|
|
2353
|
+
as sequências Git de leitura permitidas, os limites de tempo da validação e as
|
|
2354
|
+
proteções preservadas. Sequências Git de leitura usam o prefixo
|
|
2355
|
+
\`git --no-pager -c core.fsmonitor=false\` e as opções seguras documentadas;
|
|
2356
|
+
alterações Git continuam exigindo comandos separados.
|
|
2357
|
+
|
|
2358
|
+
O [plano de confiabilidade da v5.2](docs/quality/v52-confiabilidade-e-eficiencia.md)
|
|
2359
|
+
registra a descoberta Git limitada no launcher Windows, a retomada da observação
|
|
2360
|
+
após manutenção, a consulta de Runs por chat e a medição do cache de validação.
|
|
2361
|
+
As evidências distinguem testes locais, revisão e publicação do pacote.
|
|
2362
|
+
|
|
2346
2363
|
> **Fonte, candidato e publicação:** este README descreve os contratos e recursos
|
|
2347
2364
|
> do checkout. A [matriz de evolução](docs/quality/v50-documentacao-editorial.md)
|
|
2348
2365
|
> identifica a implementação e suas provas. Qualificação local, ativação dos
|
|
@@ -3291,6 +3308,9 @@ Ao encerrar frente isolada, o ZAIP inventaria arquivos, verifica bundle e snapsh
|
|
|
3291
3308
|
\`.agents/config/release-cycle.json\` define o release executável. PRD/SPEC futuros podem ficar em draft; seu início exige o ciclo corrente. Para publicar, concilie e feche as frentes atuais, congele e audite o SHA candidato, execute os checks locais, envie apenas \`main\` e espere CI verde nesse SHA antes da Release. Branch remota candidata não é criada. Tag, GitHub Release, npm e destino de deploy aplicável têm provas distintas.
|
|
3292
3309
|
|
|
3293
3310
|
A Task de coordenação do corte pode continuar executando durante publicação e avanço somente nos modos previstos: raiz integrada com IDs explícitos no manifesto frozen e \`release_mode: integrated_task\`, ou coordenação delegada de SPEC com ancestralidade validada. As demais Tasks correntes precisam estar terminais. O gate confere os records no SHA candidato, e o responsável conclui Evidence, revisão aplicável e Gui depois das provas de publicação. A coordenação simples, sem esses modos, precisa estar concluída antes da auditoria. Veja os [contratos e comandos do corte](.agents/zaip-aios/guides/26-qualidade-e-release.md#ciclo-corrente-limpeza-e-ci-da-main-antes-da-release). Não declarar a Task concluída antes do finalizador para conseguir publicar.
|
|
3311
|
+
## Nota operacional após a publicação v5.0
|
|
3312
|
+
|
|
3313
|
+
A recuperação do publisher, o timeout explícito da validação parental e o reconhecimento das Evidence parentais na barreira final estão documentados em [Recuperação do publisher v5.0](docs/quality/v50-publisher-recovery.md). A SPEC v5.0 está entregue, com dez Tasks concluídas. São correções operacionais posteriores na main; o pacote npm 5.0.0 e a tag v5.0 permanecem imutáveis.
|
|
3294
3314
|
`,P=n(),F=Object.assign({"../../../../zaip-aios/guides/01-primeiros-passos.md":i,"../../../../zaip-aios/guides/02-requirements.md":a,"../../../../zaip-aios/guides/03-tasks.md":o,"../../../../zaip-aios/guides/04-specs.md":s,"../../../../zaip-aios/guides/05-prds.md":c,"../../../../zaip-aios/guides/06-execucao.md":l,"../../../../zaip-aios/guides/07-revisao-e-validacao.md":u,"../../../../zaip-aios/guides/08-contexto-e-tokens.md":d,"../../../../zaip-aios/guides/09-agentes-e-squads.md":f,"../../../../zaip-aios/guides/10-seguranca.md":p,"../../../../zaip-aios/guides/11-observabilidade-e-custos.md":m,"../../../../zaip-aios/guides/12-instalacao-e-upgrade.md":h,"../../../../zaip-aios/guides/13-boas-praticas.md":g,"../../../../zaip-aios/guides/14-troubleshooting.md":_,"../../../../zaip-aios/guides/15-tools-e-codex.md":v,"../../../../zaip-aios/guides/16-lifecycle-e-reconciliacao.md":y,"../../../../zaip-aios/guides/17-como-o-custo-e-calculado.md":b,"../../../../zaip-aios/guides/18-catalogo-de-agentes.md":x,"../../../../zaip-aios/guides/19-assurance-e-autonomia.md":S,"../../../../zaip-aios/guides/20-instalacao-detalhada.md":C,"../../../../zaip-aios/guides/21-telemetria-monitor-custos.md":w,"../../../../zaip-aios/guides/22-fluxos-e-roteamento.md":T,"../../../../zaip-aios/guides/23-orquestracao-de-modelos.md":E,"../../../../zaip-aios/guides/24-calculo-de-custos-openai.md":D,"../../../../zaip-aios/guides/25-fontes-de-precos-openai.md":O,"../../../../zaip-aios/guides/26-qualidade-e-release.md":k,"../../../../zaip-aios/guides/27-telemetria-git-native.md":A,"../../../../zaip-aios/guides/28-lifecycle-completo.md":j});function I({locale:e,onClose:t}){let n=(0,M.useMemo)(()=>r(e,N,F),[e]),i=n.filter(e=>e.id!==`readme`),[a,o]=(0,M.useState)(`readme`),[s,c]=(0,M.useState)(`rendered`),l=n.find(e=>e.id===a)??n[0];return(0,P.jsx)(`div`,{className:`dashboard-help-backdrop`,children:(0,P.jsxs)(`section`,{"aria-label":e===`pt-BR`?`Ajuda do ZAIP-AIOS`:`ZAIP-AIOS help`,"aria-modal":`true`,className:`dashboard-help`,role:`dialog`,children:[(0,P.jsxs)(`header`,{children:[(0,P.jsxs)(`div`,{children:[(0,P.jsx)(`span`,{children:e===`pt-BR`?`Documentação local`:`Local documentation`}),(0,P.jsx)(`h2`,{children:e===`pt-BR`?`Ajuda e guides do framework`:`Framework help and guides`})]}),(0,P.jsx)(`button`,{"aria-label":e===`pt-BR`?`Fechar ajuda`:`Close help`,onClick:t,type:`button`,children:`×`})]}),(0,P.jsxs)(`div`,{className:`dashboard-help-layout`,children:[(0,P.jsxs)(`nav`,{"aria-label":e===`pt-BR`?`Documentos de ajuda`:`Help documents`,children:[(0,P.jsx)(`strong`,{children:e===`pt-BR`?`Visão geral`:`Overview`}),(0,P.jsx)(`button`,{className:a===`readme`?`is-active`:void 0,onClick:()=>o(`readme`),type:`button`,children:`README · ZAIP-AIOS`}),(0,P.jsx)(`strong`,{children:e===`pt-BR`?`Aprofundar no framework`:`Framework guides`}),i.map(e=>(0,P.jsx)(`button`,{className:a===e.id?`is-active`:void 0,onClick:()=>o(e.id),type:`button`,children:e.title},e.id))]}),(0,P.jsxs)(`article`,{children:[(0,P.jsxs)(`div`,{className:`dashboard-help-document-header`,children:[(0,P.jsx)(`h3`,{children:l?.title}),(0,P.jsxs)(`fieldset`,{"aria-label":e===`pt-BR`?`Visualização do documento`:`Document view`,children:[(0,P.jsx)(`button`,{"aria-pressed":s===`rendered`,className:s===`rendered`?`is-active`:void 0,onClick:()=>c(`rendered`),type:`button`,children:e===`pt-BR`?`Renderizado`:`Rendered`}),(0,P.jsx)(`button`,{"aria-pressed":s===`source`,className:s===`source`?`is-active`:void 0,onClick:()=>c(`source`),type:`button`,children:`Markdown`})]})]}),(0,P.jsx)(`div`,{className:`dashboard-help-sections`,children:W(l?.content??``,e).map(e=>(0,P.jsxs)(`section`,{children:[(0,P.jsx)(`h4`,{children:e.title}),s===`rendered`?(0,P.jsx)(L,{content:e.content}):(0,P.jsx)(`pre`,{children:e.content})]},e.title))})]})]})]})})}function L({content:e}){return U(R(e),H).map(({key:e,value:t})=>t.kind===`table`?(0,P.jsx)(`div`,{className:`dashboard-help-table-scroll`,children:(0,P.jsxs)(`table`,{children:[(0,P.jsx)(`thead`,{children:(0,P.jsx)(`tr`,{children:U(t.headers,e=>e).map(({key:e,value:t})=>(0,P.jsx)(`th`,{children:V(t)},e))})}),(0,P.jsx)(`tbody`,{children:U(t.rows,e=>e.join(``)).map(({key:e,value:t})=>(0,P.jsx)(`tr`,{children:U(t,e=>e).map(({key:e,value:t})=>(0,P.jsx)(`td`,{children:V(t)},e))},e))})]})},e):(0,P.jsx)(`pre`,{children:t.content},e))}function R(e){let t=e.split(`
|
|
3295
3315
|
`),n=[],r=[],i=()=>{let e=r.join(`
|
|
3296
3316
|
`).trim();e&&n.push({kind:`text`,content:e}),r=[]};for(let e=0;e<t.length;e+=1){let a=t[e],o=t[e+1];if(a?.includes(`|`)&&o&&z(o)){i();let r=B(a),o=[];for(e+=2;e<t.length&&t[e]?.includes(`|`);)o.push(B(t[e]??``)),e+=1;--e,n.push({kind:`table`,headers:r,rows:o});continue}r.push(a??``)}return i(),n}function z(e){return B(e).every(e=>/^:?-{3,}:?$/.test(e.replace(/\s/g,``)))}function B(e){return e.trim().replace(/^\|/,``).replace(/\|$/,``).split(`|`).map(e=>e.trim())}function V(e){return U(e.split(/(\*\*[^*]+\*\*)/g),e=>e).map(({key:e,value:t})=>t.startsWith(`**`)&&t.endsWith(`**`)?(0,P.jsx)(`strong`,{children:t.slice(2,-2)},e):(0,P.jsx)(M.Fragment,{children:t},e))}function H(e){return e.kind===`text`?`text:${e.content}`:`table:${e.headers.join(``)}:${e.rows.map(e=>e.join(``)).join(``)}`}function U(e,t){let n=new Map;return e.map(e=>{let r=t(e),i=(n.get(r)??0)+1;return n.set(r,i),{key:`${r}#${i}`,value:e}})}function W(e,t){return e.split(/\n(?=##?\s)/).filter(Boolean).map((e,n)=>{let r=e.trim().split(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{E as t,w as n}from"./cost-monitor-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{E as t,w as n}from"./cost-monitor-B0Jwz_rk.js";import{n as r}from"./dashboard-localization-BE_Zqtym.js";var i=e(t(),1),a=n();function o({catalog:e,fxRate:t,locale:n,onClose:o,onSave:c,onSaveFxRate:l}){let u=r[n],[d,f]=(0,i.useState)(e),[p,m]=(0,i.useState)(t?.rate??0),[h,g]=(0,i.useState)(!1),_=(e,t)=>f(n=>({...n,models:n.models.map((n,r)=>r===e?{...n,...t}:n)})),v=e=>Math.max(0,Number(e)||0);return(0,a.jsx)(`main`,{className:`pricing-backdrop`,children:(0,a.jsxs)(`section`,{"aria-labelledby":`pricing-page-title`,className:`pricing-dialog`,children:[(0,a.jsxs)(`header`,{children:[(0,a.jsxs)(`div`,{children:[(0,a.jsx)(`small`,{children:u.eyebrow}),(0,a.jsx)(`h1`,{id:`pricing-page-title`,children:u.title}),(0,a.jsx)(`p`,{children:u.description})]}),(0,a.jsxs)(`button`,{className:`pricing-back-button`,onClick:o,type:`button`,children:[(0,a.jsx)(`span`,{"aria-hidden":`true`,children:`←`}),` `,u.back]})]}),(0,a.jsxs)(`div`,{className:`pricing-fx-settings`,children:[(0,a.jsxs)(`div`,{className:`pricing-fx-copy`,children:[(0,a.jsx)(`strong`,{children:u.fxTitle}),(0,a.jsx)(`p`,{children:u.fxDescription})]}),(0,a.jsxs)(`label`,{children:[(0,a.jsx)(`span`,{children:u.fxLabel}),(0,a.jsxs)(`div`,{className:`pricing-fx-input`,children:[(0,a.jsx)(`span`,{children:`R$`}),(0,a.jsx)(`input`,{"aria-label":u.fxAriaLabel,min:`0.0001`,onChange:e=>m(Math.max(1e-4,Number(e.target.value)||0)),step:`0.0001`,type:`number`,value:p})]})]})]}),(0,a.jsxs)(`div`,{className:`pricing-table-heading`,children:[(0,a.jsxs)(`div`,{children:[(0,a.jsx)(`strong`,{children:u.catalog}),(0,a.jsx)(`p`,{children:u.pricesPerMillion})]}),(0,a.jsxs)(`span`,{children:[d.models.length,` `,u.models]})]}),(0,a.jsx)(`div`,{className:`pricing-table-wrap`,children:(0,a.jsxs)(`table`,{children:[(0,a.jsx)(`thead`,{children:(0,a.jsxs)(`tr`,{children:[(0,a.jsx)(`th`,{children:u.model}),(0,a.jsx)(`th`,{children:u.provider}),(0,a.jsx)(`th`,{children:u.input}),(0,a.jsx)(`th`,{children:u.cache}),(0,a.jsx)(`th`,{children:u.output}),(0,a.jsx)(`th`,{children:u.reasoning}),(0,a.jsx)(`th`,{children:u.priorityInput}),(0,a.jsx)(`th`,{children:u.priorityCache}),(0,a.jsx)(`th`,{children:u.priorityOutput}),(0,a.jsx)(`th`,{children:u.priorityReasoning}),(0,a.jsx)(`th`,{children:u.contextLimit}),(0,a.jsx)(`th`,{children:u.inputMultiplier}),(0,a.jsx)(`th`,{children:u.outputMultiplier}),(0,a.jsx)(`th`,{})]})}),(0,a.jsx)(`tbody`,{children:d.models.map((e,t)=>(0,a.jsxs)(`tr`,{children:[(0,a.jsxs)(`td`,{children:[(0,a.jsx)(`input`,{"aria-label":u.model,onChange:e=>_(t,{id:e.target.value}),value:e.id}),(0,a.jsx)(`small`,{children:e.aliases.join(`, `)||u.noAliases})]}),(0,a.jsx)(`td`,{children:(0,a.jsxs)(`select`,{onChange:e=>_(t,{provider:e.target.value}),value:e.provider,children:[(0,a.jsx)(`option`,{value:`openai`,children:`OpenAI`}),(0,a.jsx)(`option`,{value:`anthropic`,children:`Anthropic`})]})}),(0,a.jsx)(`td`,{children:(0,a.jsx)(`input`,{min:`0`,onChange:e=>_(t,{input_per_million_usd:v(e.target.value)}),step:`0.001`,type:`number`,value:e.input_per_million_usd})}),(0,a.jsx)(`td`,{children:(0,a.jsx)(`input`,{min:`0`,onChange:e=>_(t,{cached_input_per_million_usd:v(e.target.value)}),step:`0.001`,type:`number`,value:e.cached_input_per_million_usd??0})}),(0,a.jsx)(`td`,{children:(0,a.jsx)(`input`,{min:`0`,onChange:e=>_(t,{output_per_million_usd:v(e.target.value)}),step:`0.001`,type:`number`,value:e.output_per_million_usd})}),(0,a.jsx)(`td`,{children:(0,a.jsx)(`input`,{min:`0`,onChange:e=>_(t,{reasoning_per_million_usd:v(e.target.value)}),step:`0.001`,type:`number`,value:e.reasoning_per_million_usd??0})}),[`priority_input_per_million_usd`,`priority_cached_input_per_million_usd`,`priority_output_per_million_usd`,`priority_reasoning_per_million_usd`].map(n=>(0,a.jsx)(`td`,{children:(0,a.jsx)(`input`,{min:`0`,onChange:e=>_(t,{[n]:v(e.target.value)}),step:`0.001`,type:`number`,value:e[n]??0})},n)),(0,a.jsx)(`td`,{children:(0,a.jsx)(`input`,{min:`0`,onChange:e=>_(t,{long_context_threshold_tokens:v(e.target.value)||null}),step:`1`,type:`number`,value:e.long_context_threshold_tokens??0})}),(0,a.jsx)(`td`,{children:(0,a.jsx)(`input`,{min:`0.001`,onChange:e=>_(t,{long_context_input_multiplier:Math.max(.001,Number(e.target.value)||1)}),step:`0.1`,type:`number`,value:e.long_context_input_multiplier})}),(0,a.jsx)(`td`,{children:(0,a.jsx)(`input`,{min:`0.001`,onChange:e=>_(t,{long_context_output_multiplier:Math.max(.001,Number(e.target.value)||1)}),step:`0.1`,type:`number`,value:e.long_context_output_multiplier})}),(0,a.jsx)(`td`,{children:(0,a.jsx)(`button`,{"aria-label":u.removeModel,onClick:()=>f(e=>({...e,models:e.models.filter((e,n)=>n!==t)})),type:`button`,children:`×`})})]},e.id))})]})}),(0,a.jsxs)(`footer`,{children:[(0,a.jsxs)(`button`,{onClick:()=>f(e=>({...e,models:[...e.models,s(n)]})),type:`button`,children:[`+ `,u.addModel]}),(0,a.jsxs)(`div`,{children:[(0,a.jsx)(`button`,{onClick:o,type:`button`,children:u.cancel}),(0,a.jsx)(`button`,{disabled:h,onClick:async()=>{g(!0);try{await c(d),await l(p),o()}finally{g(!1)}},type:`button`,children:h?u.saving:u.save})]})]})]})})}function s(e=`pt-BR`){let t=r[e];return{id:t.newModel,provider:`openai`,aliases:[],input_per_million_usd:0,cached_input_per_million_usd:0,output_per_million_usd:0,reasoning_per_million_usd:0,priority_input_per_million_usd:null,priority_cached_input_per_million_usd:null,priority_output_per_million_usd:null,priority_reasoning_per_million_usd:null,reasoning_billed_separately:!1,long_context_threshold_tokens:null,long_context_input_multiplier:1,long_context_output_multiplier:1,source_label:t.manualOverride,source_url:`https://developers.openai.com/api/docs/pricing`,notes:[t.editedNote]}}export{o as PricingSettingsPage};
|