@zaip-ai/cli 6.2.0 → 6.3.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/adapter-hook-sources.d.ts +4 -4
- package/dist/services/adapter-hook-sources.d.ts.map +1 -1
- package/dist/services/adapter-hook-sources.js +4 -4
- package/dist/services/adapter-hook-sources.js.map +1 -1
- package/dist/services/adapters.d.ts +1 -1
- package/dist/services/adapters.js +2 -2
- package/dist/services/adapters.js.map +1 -1
- package/dist/services/codex-pre-tool-dependencies.test-support.js +1 -1
- package/dist/services/codex-pre-tool-dependencies.test-support.js.map +1 -1
- package/dist/services/codex-pre-tool-hook-template-bootstrap.test.js +2 -2
- package/dist/services/codex-pre-tool-hook-template-bootstrap.test.js.map +1 -1
- package/package.json +1 -1
- package/templates/.agents/README-ENG.md +2 -0
- package/templates/.agents/README.md +2 -0
- package/templates/.agents/config/agents/discovery.json +1 -1
- package/templates/.agents/dashboard/.zaip-managed.json +28 -28
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{DashboardHelpDialog-tg6j_0De.js → DashboardHelpDialog-BQOQCvcJ.js} +26 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{PricingSettingsDialog-DlkxF4w_.js → PricingSettingsDialog-CGET1J8Q.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{ProjectSettingsPage-Dr5Cw6py.js → ProjectSettingsPage-1gE8RHel.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{TraceabilityWorkspace-B-5yP5Jx.js → TraceabilityWorkspace-Bw6xnXUN.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{dashboard-localization-CqicG5jJ.js → dashboard-localization-BZf8HWmm.js} +2 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{index-CPcBwWeO.js → index-DtLrd13g.js} +2 -2
- package/templates/.agents/dashboard/apps/frontend/dist/index.html +1 -1
- package/templates/.agents/dashboard/apps/frontend/package.json +1 -1
- 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/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/package.json +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/design/.zaip-managed.json +3 -3
- package/templates/.agents/design/apps/catalog/package.json +1 -1
- 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 +5 -5
- package/templates/.agents/runtime/checksums.sha256 +5 -5
- package/templates/.agents/runtime/manifest.json +1 -1
- package/templates/.agents/runtime/provenance.json +4 -4
- package/templates/.agents/runtime/sbom.cdx.json +1 -1
- package/templates/.agents/skills/zaip-skill-release-qualification/SKILL.md +7 -0
- package/templates/.agents/zaip-aios/README.md +6 -0
- package/templates/.agents/zaip-aios/VERSION +1 -1
- package/templates/.agents/zaip-aios/guides/26-qualidade-e-release.md +23 -0
- package/templates/template-manifest.json +64 -64
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export { CODEX_CONVERSATION_LIFECYCLE_HOOK } from "./codex-conversation-lifecycle-hook.js";
|
|
2
|
+
export { CODEX_PRE_TOOL_CLI_CAPTURE_HOOK } from "./codex-pre-tool-cli-capture-template.js";
|
|
3
|
+
export { CODEX_PRE_TOOL_CLOUD_HOOK } from "./codex-pre-tool-cloud-template.js";
|
|
2
4
|
export { CODEX_PRE_TOOL_HOOK } from "./codex-pre-tool-hook-template.js";
|
|
3
|
-
export {
|
|
5
|
+
export { CODEX_PRE_TOOL_HOST_CONTEXT_HOOK } from "./codex-pre-tool-host-context-template.js";
|
|
4
6
|
export { CODEX_PRE_TOOL_RELEASE_REVIEW } from "./codex-pre-tool-release-review-template.js";
|
|
7
|
+
export { CODEX_PRE_TOOL_SUPPORT_HOOK } from "./codex-pre-tool-support-template.js";
|
|
5
8
|
export { CODEX_SUBAGENT_LIFECYCLE_HOOK } from "./codex-subagent-hook-template.js";
|
|
6
|
-
export { CODEX_PRE_TOOL_CLOUD_HOOK } from "./codex-pre-tool-cloud-template.js";
|
|
7
|
-
export { CODEX_PRE_TOOL_HOST_CONTEXT_HOOK } from "./codex-pre-tool-host-context-template.js";
|
|
8
|
-
export { CODEX_PRE_TOOL_CLI_CAPTURE_HOOK } from "./codex-pre-tool-cli-capture-template.js";
|
|
9
9
|
//# sourceMappingURL=adapter-hook-sources.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-hook-sources.d.ts","sourceRoot":"","sources":["../../src/services/adapter-hook-sources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"adapter-hook-sources.d.ts","sourceRoot":"","sources":["../../src/services/adapter-hook-sources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAC3F,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAC7F,OAAO,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;AAC5F,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export { CODEX_CONVERSATION_LIFECYCLE_HOOK } from "./codex-conversation-lifecycle-hook.js";
|
|
2
|
+
export { CODEX_PRE_TOOL_CLI_CAPTURE_HOOK } from "./codex-pre-tool-cli-capture-template.js";
|
|
3
|
+
export { CODEX_PRE_TOOL_CLOUD_HOOK } from "./codex-pre-tool-cloud-template.js";
|
|
2
4
|
export { CODEX_PRE_TOOL_HOOK } from "./codex-pre-tool-hook-template.js";
|
|
3
|
-
export {
|
|
5
|
+
export { CODEX_PRE_TOOL_HOST_CONTEXT_HOOK } from "./codex-pre-tool-host-context-template.js";
|
|
4
6
|
export { CODEX_PRE_TOOL_RELEASE_REVIEW } from "./codex-pre-tool-release-review-template.js";
|
|
7
|
+
export { CODEX_PRE_TOOL_SUPPORT_HOOK } from "./codex-pre-tool-support-template.js";
|
|
5
8
|
export { CODEX_SUBAGENT_LIFECYCLE_HOOK } from "./codex-subagent-hook-template.js";
|
|
6
|
-
export { CODEX_PRE_TOOL_CLOUD_HOOK } from "./codex-pre-tool-cloud-template.js";
|
|
7
|
-
export { CODEX_PRE_TOOL_HOST_CONTEXT_HOOK } from "./codex-pre-tool-host-context-template.js";
|
|
8
|
-
export { CODEX_PRE_TOOL_CLI_CAPTURE_HOOK } from "./codex-pre-tool-cli-capture-template.js";
|
|
9
9
|
//# sourceMappingURL=adapter-hook-sources.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-hook-sources.js","sourceRoot":"","sources":["../../src/services/adapter-hook-sources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"adapter-hook-sources.js","sourceRoot":"","sources":["../../src/services/adapter-hook-sources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAC3F,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAC7F,OAAO,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;AAC5F,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type PublicAgentCatalog } from "./agent-adapters.js";
|
|
2
2
|
export { isManagedAdapter } from "./managed-adapter.js";
|
|
3
|
-
export declare const ADAPTERS_VERSION = "6.
|
|
3
|
+
export declare const ADAPTERS_VERSION = "6.3.0";
|
|
4
4
|
export interface AdapterFile {
|
|
5
5
|
path: string;
|
|
6
6
|
content: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { readFile } from "node:fs/promises";
|
|
2
2
|
import { resolve } from "node:path";
|
|
3
|
-
import { CODEX_CONVERSATION_LIFECYCLE_HOOK,
|
|
3
|
+
import { CODEX_CONVERSATION_LIFECYCLE_HOOK, CODEX_PRE_TOOL_CLI_CAPTURE_HOOK, CODEX_PRE_TOOL_CLOUD_HOOK, CODEX_PRE_TOOL_HOOK, CODEX_PRE_TOOL_HOST_CONTEXT_HOOK, CODEX_PRE_TOOL_RELEASE_REVIEW, CODEX_PRE_TOOL_SUPPORT_HOOK, CODEX_SUBAGENT_LIFECYCLE_HOOK, } from "./adapter-hook-sources.js";
|
|
4
4
|
import { codexAgentConfig, parsePublicAgentCatalog, publicAgentAdapterFiles, } from "./agent-adapters.js";
|
|
5
5
|
import { serializeAgentDiscovery } from "./agent-discovery.js";
|
|
6
6
|
import { isReconciledCodexConfig, reconcileCodexConfig } from "./codex-config-overlay.js";
|
|
@@ -11,7 +11,7 @@ export { isManagedAdapter } from "./managed-adapter.js";
|
|
|
11
11
|
import { CODEX_GITHUB_DEPLOY_RULES, CODEX_SECURITY_RULES } from "./codex-rules.js";
|
|
12
12
|
import { codexWindowsHookCommand } from "./codex-windows-hook-command.js";
|
|
13
13
|
import { applyTransactionalChanges, assertSafeDestination } from "./transactional-files.js";
|
|
14
|
-
export const ADAPTERS_VERSION = "6.
|
|
14
|
+
export const ADAPTERS_VERSION = "6.3.0";
|
|
15
15
|
const ROOT_GUIDANCE = `# ZAIP-AIOS
|
|
16
16
|
|
|
17
17
|
Read \`.agents/config/project.yaml\` first. Apply ZAIP only for literal boolean \`zaip.enabled: true\`, except framework maintenance or \`zaip enable\`. \`AGENTS.md\` is a bootstrap; canonical guidance lives in \`.agents/\`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../src/services/adapters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,iCAAiC,EACjC,mBAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../src/services/adapters.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { CODEX_PRE_TOOL_CLI_CAPTURE_HOOK } from "./codex-pre-tool-cli-capture-template.js";
|
|
1
2
|
import { CODEX_PRE_TOOL_CLOUD_HOOK } from "./codex-pre-tool-cloud-template.js";
|
|
2
3
|
import { CODEX_PRE_TOOL_HOST_CONTEXT_HOOK } from "./codex-pre-tool-host-context-template.js";
|
|
3
|
-
import { CODEX_PRE_TOOL_CLI_CAPTURE_HOOK } from "./codex-pre-tool-cli-capture-template.js";
|
|
4
4
|
import { CODEX_PRE_TOOL_RELEASE_REVIEW } from "./codex-pre-tool-release-review-template.js";
|
|
5
5
|
export async function writePreToolDependencies(write) {
|
|
6
6
|
await write("zaip-pre-tool-cloud.mjs", CODEX_PRE_TOOL_CLOUD_HOOK);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-pre-tool-dependencies.test-support.js","sourceRoot":"","sources":["../../src/services/codex-pre-tool-dependencies.test-support.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"codex-pre-tool-dependencies.test-support.js","sourceRoot":"","sources":["../../src/services/codex-pre-tool-dependencies.test-support.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAC3F,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAC7F,OAAO,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;AAE5F,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,KAAuD;IAEvD,MAAM,KAAK,CAAC,yBAAyB,EAAE,yBAAyB,CAAC,CAAC;IAClE,MAAM,KAAK,CAAC,gCAAgC,EAAE,gCAAgC,CAAC,CAAC;IAChF,MAAM,KAAK,CAAC,+BAA+B,EAAE,+BAA+B,CAAC,CAAC;IAC9E,MAAM,KAAK,CAAC,kCAAkC,EAAE,6BAA6B,CAAC,CAAC;AACjF,CAAC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { spawnSync } from "node:child_process";
|
|
2
2
|
import { mkdir, mkdtemp, rm, writeFile } from "node:fs/promises";
|
|
3
|
-
import {
|
|
3
|
+
import { tmpdir } from "node:os";
|
|
4
4
|
import { join } from "node:path";
|
|
5
5
|
import { afterEach, expect, it } from "vitest";
|
|
6
6
|
import { CODEX_HOOK_ACTIVATION } from "./codex-hook-activation.js";
|
|
7
7
|
import { CODEX_NATIVE_TOOL_AUTHORITY_HOOK } from "./codex-native-tool-authority-template.js";
|
|
8
|
+
import { writePreToolDependencies } from "./codex-pre-tool-dependencies.test-support.js";
|
|
8
9
|
import { CODEX_PRE_TOOL_HOOK } from "./codex-pre-tool-hook-template.js";
|
|
9
10
|
import { CODEX_PRE_TOOL_SUPPORT_HOOK } from "./codex-pre-tool-support-template.js";
|
|
10
|
-
import { writePreToolDependencies } from "./codex-pre-tool-dependencies.test-support.js";
|
|
11
11
|
const roots = [];
|
|
12
12
|
afterEach(async () => {
|
|
13
13
|
await Promise.all(roots.splice(0).map((root) => rm(root, { recursive: true, force: true })));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-pre-tool-hook-template-bootstrap.test.js","sourceRoot":"","sources":["../../src/services/codex-pre-tool-hook-template-bootstrap.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"codex-pre-tool-hook-template-bootstrap.test.js","sourceRoot":"","sources":["../../src/services/codex-pre-tool-hook-template-bootstrap.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -6,6 +6,8 @@ English | [Português](README.md)
|
|
|
6
6
|
|
|
7
7
|
## Quick overview
|
|
8
8
|
|
|
9
|
+
The [test reuse and early lint correction](https://github.com/zaip-ai/zaip-aios/blob/main/docs/quality/v63-reuso-testes-e-lint.md) preserves passed test groups when a later group fails, provided the candidate, inputs, tools, and dependencies remain valid. Public CLI lint joins the 21 essential gates and runs before expensive contracts and builds. The retry test demonstrates two avoided repeat executions in a fixture; it does not promise hours saved or approve a partially failed release.
|
|
10
|
+
|
|
9
11
|
The [v6.2 model and publication contract](https://github.com/zaip-ai/zaip-aios/blob/main/docs/quality/v62-modelos-e-publicacao.md) covers new Sol 6.1 routes, configuration migration that preserves history, Luna/high evaluation criteria, and direct requests combining adjustments with publication. Local version identity does not prove a published Release or npm package.
|
|
10
12
|
|
|
11
13
|
Version 6.0 addresses [partial-state recovery and sequential closure](https://github.com/zaip-ai/zaip-aios/blob/main/docs/quality/v60-recuperacao.md), [installation identity in validation caching](https://github.com/zaip-ai/zaip-aios/blob/main/docs/quality/v60-eficiencia.md), and [explicit major-version planning](https://github.com/zaip-ai/zaip-aios/blob/main/docs/quality/v60-ciclo-major.md). The [acceptance plan](https://github.com/zaip-ai/zaip-aios/blob/main/docs/quality/v60-plano-de-aceite.md) separates local tests, candidate evidence, publication, and historical closure; grades and savings require observed results.
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
|
|
7
7
|
## Visão rápida
|
|
8
8
|
|
|
9
|
+
A [correção de reuso e lint antecipado](https://github.com/zaip-ai/zaip-aios/blob/main/docs/quality/v63-reuso-testes-e-lint.md) preserva grupos de testes aprovados quando um grupo posterior falha, desde que candidato, entradas, ferramentas e dependências permaneçam válidos. O lint público passa a integrar os 21 gates essenciais e executa antes dos contratos e builds caros. O teste de retomada demonstra duas execuções repetidas evitadas em uma fixture; não representa uma promessa de economia em horas nem aprovação parcial de release.
|
|
10
|
+
|
|
9
11
|
As mudanças da v6.2 estão descritas no [contrato de modelos e publicação](https://github.com/zaip-ai/zaip-aios/blob/main/docs/quality/v62-modelos-e-publicacao.md): novas rotas Sol 6.1, migração de configurações com preservação do histórico, critérios de Luna/high e reconhecimento dos pedidos diretos de ajustes com publicação. A identidade local não substitui a verificação da Release e do pacote npm.
|
|
10
12
|
|
|
11
13
|
A v6.0 trata a [recuperação de estados parciais e fechamentos sequenciais](https://github.com/zaip-ai/zaip-aios/blob/main/docs/quality/v60-recuperacao.md), a [identidade da instalação no cache](https://github.com/zaip-ai/zaip-aios/blob/main/docs/quality/v60-eficiencia.md) e o [planejamento explícito de major](https://github.com/zaip-ai/zaip-aios/blob/main/docs/quality/v60-ciclo-major.md). O [plano de aceite](https://github.com/zaip-ai/zaip-aios/blob/main/docs/quality/v60-plano-de-aceite.md) distingue testes locais, provas do candidato, publicação e fechamento histórico; notas e economia exigem resultados observados.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"_zaip_managed": "zaip-managed generated-do-not-edit source=agent-discovery version=6.
|
|
2
|
+
"_zaip_managed": "zaip-managed generated-do-not-edit source=agent-discovery version=6.3.0 sha256=93ccb5a4f3ba0be3fc0f492277fa828dcb9593111101ed4b7913af8fbf99be65",
|
|
3
3
|
"schema_version": 1,
|
|
4
4
|
"source": {
|
|
5
5
|
"path": ".agents/config/agents/catalog.yaml",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.3.0",
|
|
4
4
|
"files": [
|
|
5
5
|
{
|
|
6
6
|
"path": "DATA-DICTIONARY.md",
|
|
@@ -14,29 +14,29 @@
|
|
|
14
14
|
"path": "apps/frontend/dist/assets/CostCalculationGuidePage-uR-asJv_.js",
|
|
15
15
|
"sha256": "d0366ee0d847fe681de0971a14c80ee3a6af1430c0e9c5eb4f84f14a4b734b82"
|
|
16
16
|
},
|
|
17
|
+
{
|
|
18
|
+
"path": "apps/frontend/dist/assets/DashboardHelpDialog-BQOQCvcJ.js",
|
|
19
|
+
"sha256": "7bb6f8ba7c9561d51e42d4b851d876ed7ea26431971db085095e4846fd187bb8"
|
|
20
|
+
},
|
|
17
21
|
{
|
|
18
22
|
"path": "apps/frontend/dist/assets/DashboardHelpDialog-DRI_XwUf.css",
|
|
19
23
|
"sha256": "95dbb5c26ad73831f36f2a51d5e08ef5eee7ca85190764a3e63bf1e700fbadf8"
|
|
20
24
|
},
|
|
21
25
|
{
|
|
22
|
-
"path": "apps/frontend/dist/assets/
|
|
23
|
-
"sha256": "
|
|
26
|
+
"path": "apps/frontend/dist/assets/PricingSettingsDialog-CGET1J8Q.js",
|
|
27
|
+
"sha256": "fe63cb80772ff298895ef2396726fa705de9a74e80262ae0d6473a18720ca94b"
|
|
24
28
|
},
|
|
25
29
|
{
|
|
26
|
-
"path": "apps/frontend/dist/assets/
|
|
27
|
-
"sha256": "
|
|
30
|
+
"path": "apps/frontend/dist/assets/ProjectSettingsPage-1gE8RHel.js",
|
|
31
|
+
"sha256": "aba891d12eaf40836dd0436c921595801c8e133933e996bbf76496dbc0dccb43"
|
|
28
32
|
},
|
|
29
33
|
{
|
|
30
34
|
"path": "apps/frontend/dist/assets/ProjectSettingsPage-CQMhvzvJ.css",
|
|
31
35
|
"sha256": "10e875c4e3ab6c252983822e25a85db3d707d903c0fcf39812909fdd1d013f48"
|
|
32
36
|
},
|
|
33
37
|
{
|
|
34
|
-
"path": "apps/frontend/dist/assets/
|
|
35
|
-
"sha256": "
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
"path": "apps/frontend/dist/assets/TraceabilityWorkspace-B-5yP5Jx.js",
|
|
39
|
-
"sha256": "e6b1421d80e30fbe655504e0a5d890d46f463062c04ccefba1335668478fd84e"
|
|
38
|
+
"path": "apps/frontend/dist/assets/TraceabilityWorkspace-Bw6xnXUN.js",
|
|
39
|
+
"sha256": "0de5b62f39007c9948600f68a00ae755d3be4111160565b9a075cf69a0146417"
|
|
40
40
|
},
|
|
41
41
|
{
|
|
42
42
|
"path": "apps/frontend/dist/assets/TraceabilityWorkspace-DvvavDLY.css",
|
|
@@ -51,21 +51,21 @@
|
|
|
51
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-BZf8HWmm.js",
|
|
55
|
+
"sha256": "9ae3a3bb115de115d4367e2bcc0eb65a759cced7011216130969f7928c5529bf"
|
|
56
56
|
},
|
|
57
57
|
{
|
|
58
58
|
"path": "apps/frontend/dist/assets/icons-vendor-CjGGux6h.js",
|
|
59
59
|
"sha256": "0f615bc6eaeb21d12fc0457867d6acbfe9434ebae0ebecea9444262e46b972e9"
|
|
60
60
|
},
|
|
61
|
-
{
|
|
62
|
-
"path": "apps/frontend/dist/assets/index-CPcBwWeO.js",
|
|
63
|
-
"sha256": "48c653c4667a4df5a7ac276f1a57a5177bc1fe3faea2dc3f5c44dfabb879fde9"
|
|
64
|
-
},
|
|
65
61
|
{
|
|
66
62
|
"path": "apps/frontend/dist/assets/index-DZhppOIk.css",
|
|
67
63
|
"sha256": "cd290085a95d9108f11e94406b2253bfd2109e116d5d7e82460a2f4aecdaba04"
|
|
68
64
|
},
|
|
65
|
+
{
|
|
66
|
+
"path": "apps/frontend/dist/assets/index-DtLrd13g.js",
|
|
67
|
+
"sha256": "ef200b3e00925ad9f4d77bf9b6bd9133ac0aab3dbad8a0cea342f16a124d1481"
|
|
68
|
+
},
|
|
69
69
|
{
|
|
70
70
|
"path": "apps/frontend/dist/assets/logo_novo_azul-BBx5pA2B.png",
|
|
71
71
|
"sha256": "bb6043bda9fc53a111aaea4d6a004559b9ce8a3569691c060d217a7c6aafa0ae"
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
},
|
|
93
93
|
{
|
|
94
94
|
"path": "apps/frontend/dist/index.html",
|
|
95
|
-
"sha256": "
|
|
95
|
+
"sha256": "e447cfa3cae7d715627417152a631fe757193be1cdc08feb302aaae346fd861b"
|
|
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": "a02d5f9b3ade41e1058e1732f98add5ea5228bc0dafdb06e0f7850abf7c82b63"
|
|
108
108
|
},
|
|
109
109
|
{
|
|
110
110
|
"path": "apps/frontend/playwright.dom.config.ts",
|
|
@@ -600,7 +600,7 @@
|
|
|
600
600
|
},
|
|
601
601
|
{
|
|
602
602
|
"path": "modules/cost-monitor/package.json",
|
|
603
|
-
"sha256": "
|
|
603
|
+
"sha256": "b0ef5e99bb00ef8b3211f05810bcf0c145f0d896086d19eb657e02cedc92fcb8"
|
|
604
604
|
},
|
|
605
605
|
{
|
|
606
606
|
"path": "modules/cost-monitor/src/agent-groups.test.ts",
|
|
@@ -1012,7 +1012,7 @@
|
|
|
1012
1012
|
},
|
|
1013
1013
|
{
|
|
1014
1014
|
"path": "modules/operations/package.json",
|
|
1015
|
-
"sha256": "
|
|
1015
|
+
"sha256": "966325cd89f80e4664fd126bb92b40c7923b6ae75be4bb7d97a0b1b882807a27"
|
|
1016
1016
|
},
|
|
1017
1017
|
{
|
|
1018
1018
|
"path": "modules/operations/src/contracts.ts",
|
|
@@ -1752,7 +1752,7 @@
|
|
|
1752
1752
|
},
|
|
1753
1753
|
{
|
|
1754
1754
|
"path": "modules/traceability/package.json",
|
|
1755
|
-
"sha256": "
|
|
1755
|
+
"sha256": "b25a7fe31a8962135c32332e959a931af8867b5fe1ee3954226e78621e717794"
|
|
1756
1756
|
},
|
|
1757
1757
|
{
|
|
1758
1758
|
"path": "modules/traceability/src/contracts.ts",
|
|
@@ -1824,7 +1824,7 @@
|
|
|
1824
1824
|
},
|
|
1825
1825
|
{
|
|
1826
1826
|
"path": "packages/branding/package.json",
|
|
1827
|
-
"sha256": "
|
|
1827
|
+
"sha256": "a7b719373dbdacb3af5e8db7a7d1ed54e1d92e2057ef11d0f8485be162ad0102"
|
|
1828
1828
|
},
|
|
1829
1829
|
{
|
|
1830
1830
|
"path": "packages/branding/src/index.ts",
|
|
@@ -1836,7 +1836,7 @@
|
|
|
1836
1836
|
},
|
|
1837
1837
|
{
|
|
1838
1838
|
"path": "packages/contracts/package.json",
|
|
1839
|
-
"sha256": "
|
|
1839
|
+
"sha256": "bffb6dc3f20202dc65f9d7fc2a843c282c5be575b53ff0ff7537d86a231ee215"
|
|
1840
1840
|
},
|
|
1841
1841
|
{
|
|
1842
1842
|
"path": "packages/contracts/src/export.ts",
|
|
@@ -1856,7 +1856,7 @@
|
|
|
1856
1856
|
},
|
|
1857
1857
|
{
|
|
1858
1858
|
"path": "packages/data-export/package.json",
|
|
1859
|
-
"sha256": "
|
|
1859
|
+
"sha256": "b45932308448ff16aac24e793ec37733bc53169a1eef71d35b7aa67eb412c233"
|
|
1860
1860
|
},
|
|
1861
1861
|
{
|
|
1862
1862
|
"path": "packages/data-export/src/index.test.ts",
|
|
@@ -1912,7 +1912,7 @@
|
|
|
1912
1912
|
},
|
|
1913
1913
|
{
|
|
1914
1914
|
"path": "packages/local-runtime/package.json",
|
|
1915
|
-
"sha256": "
|
|
1915
|
+
"sha256": "ba6a94192e789c325579861aeaa0100005138a43bb71be1f771173893be7c9c0"
|
|
1916
1916
|
},
|
|
1917
1917
|
{
|
|
1918
1918
|
"path": "packages/local-runtime/scripts/build-frontend.mjs",
|
|
@@ -2848,7 +2848,7 @@
|
|
|
2848
2848
|
},
|
|
2849
2849
|
{
|
|
2850
2850
|
"path": "packages/ui/package.json",
|
|
2851
|
-
"sha256": "
|
|
2851
|
+
"sha256": "c8c2b22d87571061f26627676e5634347085b5dacc6c5f93c22e5d923941da3d"
|
|
2852
2852
|
},
|
|
2853
2853
|
{
|
|
2854
2854
|
"path": "packages/ui/src/DashboardHeader.test.mjs",
|
|
@@ -2956,7 +2956,7 @@
|
|
|
2956
2956
|
},
|
|
2957
2957
|
{
|
|
2958
2958
|
"path": "tests/e2e/package.json",
|
|
2959
|
-
"sha256": "
|
|
2959
|
+
"sha256": "42f72a18265c13ca089c3a8c95c91a1d506dbd2ccd5cee57244c31896755f681"
|
|
2960
2960
|
},
|
|
2961
2961
|
{
|
|
2962
2962
|
"path": "tests/e2e/playwright.config.ts",
|
|
@@ -1,4 +1,4 @@
|
|
|
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-
|
|
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-BZf8HWmm.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.
|
|
@@ -1907,6 +1907,29 @@ Registro local de consulta em 15 de julho de 2026. Valores operacionais ficam no
|
|
|
1907
1907
|
6. Preserve modelo, tier e effort efetivos como indisponíveis quando não forem retornados por fonte observada; defaults de configuração não os substituem.
|
|
1908
1908
|
`,k=`# Qualidade e qualificação de release
|
|
1909
1909
|
|
|
1910
|
+
## Reuso parcial e lint antecipado
|
|
1911
|
+
|
|
1912
|
+
O perfil essencial inclui o lint raiz e o lint do CLI público antes dos contratos
|
|
1913
|
+
de workflow e builds caros: são 21 gates obrigatórios. O perfil estendido conserva
|
|
1914
|
+
seus testes adicionais e executa esse lint público uma única vez. Uma falha de lint
|
|
1915
|
+
interrompe a preparação antes dos testes de paridade do pacote.
|
|
1916
|
+
|
|
1917
|
+
No rapid, um grupo aprovado não precisa ser marcado como falho só porque outro
|
|
1918
|
+
grupo falhou depois. Sua aprovação é consolidada somente após revalidar candidato,
|
|
1919
|
+
entradas de política, ferramentas e instalação. A execução completa permanece
|
|
1920
|
+
reprovada e o grupo realmente falho mantém seu registro de falha. Na retomada,
|
|
1921
|
+
somente uma prova autenticada com identidade compatível recebe HIT. Mudança de
|
|
1922
|
+
código, dependências, política, ferramenta ou prova incompleta impede o reuso;
|
|
1923
|
+
grupos que exigem SHA exato continuam exigindo checkout limpo.
|
|
1924
|
+
|
|
1925
|
+
O cenário automatizado A aprovado/B falho preservou A nas duas retomadas, evitando
|
|
1926
|
+
duas execuções repetidas de A. Esse resultado é de uma fixture com processos reais,
|
|
1927
|
+
não uma estimativa de horas ou tokens economizados em produção. A medição final de
|
|
1928
|
+
dependências é compartilhada pelos grupos pendentes; não se repete após cada grupo.
|
|
1929
|
+
Interrupção sem prova final não produz aprovação. Nunca edite o cache ou remova
|
|
1930
|
+
registros de falha para forçar um HIT; a qualificação assinada do TGZ permanece
|
|
1931
|
+
independente e obrigatória para publicação.
|
|
1932
|
+
|
|
1910
1933
|
## Ajustes e publicação na v6.2
|
|
1911
1934
|
|
|
1912
1935
|
Pedidos diretos de finalizar pendências, atualizar documentação e publicar uma
|
|
@@ -2526,6 +2549,8 @@ matriz de performance aprovada apenas porque consultas focadas passaram.
|
|
|
2526
2549
|
|
|
2527
2550
|
## Visão rápida
|
|
2528
2551
|
|
|
2552
|
+
A [correção de reuso e lint antecipado](docs/quality/v63-reuso-testes-e-lint.md) preserva grupos de testes aprovados quando um grupo posterior falha, desde que candidato, entradas, ferramentas e dependências permaneçam válidos. O lint público passa a integrar os 21 gates essenciais e executa antes dos contratos e builds caros. O teste de retomada demonstra duas execuções repetidas evitadas em uma fixture; não representa uma promessa de economia em horas nem aprovação parcial de release.
|
|
2553
|
+
|
|
2529
2554
|
As mudanças da v6.2 estão descritas no [contrato de modelos e publicação](docs/quality/v62-modelos-e-publicacao.md): novas rotas Sol 6.1, migração de configurações com preservação do histórico, critérios de Luna/high e reconhecimento dos pedidos diretos de ajustes com publicação. A identidade local não substitui a verificação da Release e do pacote npm.
|
|
2530
2555
|
|
|
2531
2556
|
A v6.0 trata a [recuperação de estados parciais e fechamentos sequenciais](docs/quality/v60-recuperacao.md), a [identidade da instalação no cache](docs/quality/v60-eficiencia.md) e o [planejamento explícito de major](docs/quality/v60-ciclo-major.md). O [plano de aceite](docs/quality/v60-plano-de-aceite.md) distingue testes locais, provas do candidato, publicação e fechamento histórico; notas e economia exigem resultados observados.
|
|
@@ -1 +1 @@
|
|
|
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-
|
|
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-BZf8HWmm.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};
|