@zaip-ai/cli 3.3.0 → 3.4.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.d.ts.map +1 -1
- package/dist/services/adapters.js +4 -3
- package/dist/services/adapters.js.map +1 -1
- package/dist/services/agent-catalog-upgrade.d.ts +3 -0
- package/dist/services/agent-catalog-upgrade.d.ts.map +1 -0
- package/dist/services/agent-catalog-upgrade.js +35 -0
- package/dist/services/agent-catalog-upgrade.js.map +1 -0
- package/dist/services/install-agents-template.d.ts.map +1 -1
- package/dist/services/install-agents-template.js +22 -22
- package/dist/services/install-agents-template.js.map +1 -1
- package/dist/services/install-template-policy.d.ts +3 -0
- package/dist/services/install-template-policy.d.ts.map +1 -0
- package/dist/services/install-template-policy.js +21 -0
- package/dist/services/install-template-policy.js.map +1 -0
- package/dist/services/logger.test.js +12 -2
- package/dist/services/logger.test.js.map +1 -1
- package/dist/services/sqlite-bootstrap.d.ts +1 -0
- package/dist/services/sqlite-bootstrap.d.ts.map +1 -1
- package/dist/services/sqlite-bootstrap.js +10 -1
- package/dist/services/sqlite-bootstrap.js.map +1 -1
- package/package.json +2 -2
- package/templates/.agents/config/agents/discovery.json +1 -1
- package/templates/.agents/dashboard/.zaip-managed.json +260 -116
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{CostCalculationGuidePage-BBFDrn64.js → CostCalculationGuidePage-C5NgEcVh.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{DashboardHelpDialog-Cd-qo9w7.js → DashboardHelpDialog-CCMVnkkI.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{PricingSettingsDialog-J7L5m8lk.js → PricingSettingsDialog-CGYcJ5EB.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{ProjectSettingsPage-BpsAFy0g.js → ProjectSettingsPage-DVCPPV75.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{TraceabilityWorkspace-BzVtGLWS.js → TraceabilityWorkspace-CqK3Psfy.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{cost-monitor-PoJA2PI1.css → cost-monitor-BsMfGfQi.css} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor-j3aUYH5G.js +68 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{icons-vendor-CWzf_RiP.js → icons-vendor-x8xxL9yW.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/index-Cl5EWx8R.js +2 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/index-Cwylbh_N.css +1 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{react-vendor-CtHdbZk3.js → react-vendor-CNOXIJHN.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{traceability-BKrDH2TR.js → traceability-CcpbpT1s.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/index.html +7 -7
- package/templates/.agents/dashboard/apps/frontend/package.json +1 -1
- package/templates/.agents/dashboard/apps/frontend/src/App.tsx +12 -1
- package/templates/.agents/dashboard/apps/frontend/src/WorkspaceStatus.test.tsx +33 -0
- package/templates/.agents/dashboard/apps/frontend/src/WorkspaceStatus.tsx +58 -0
- package/templates/.agents/dashboard/apps/frontend/src/app-work-board-options.ts +41 -0
- package/templates/.agents/dashboard/apps/frontend/src/dashboard-runtime-status.ts +25 -0
- package/templates/.agents/dashboard/apps/frontend/src/snapshot-coherence.test.ts +1 -1
- package/templates/.agents/dashboard/apps/frontend/src/use-app-cost-loaders.ts +5 -1
- package/templates/.agents/dashboard/apps/frontend/src/use-app-work-board.test.ts +140 -0
- package/templates/.agents/dashboard/apps/frontend/src/use-app-work-board.ts +28 -41
- package/templates/.agents/dashboard/apps/frontend/src/use-runtime-status.ts +38 -0
- package/templates/.agents/dashboard/apps/frontend/src/workspace-status.css +33 -0
- package/templates/.agents/dashboard/modules/cost-monitor/package.json +1 -1
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CompactLifecycleCostTable.test.ts +25 -3
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CompactLifecycleCostTable.tsx +17 -19
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostFilters.tsx +13 -167
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostGroupsTable.tsx +2 -9
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorPage.test.ts +8 -8
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostMonitorPage.tsx +29 -52
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTableLoading.test.ts +1 -1
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables-keeps-legacy-codex-identity-fields-blank.test.ts +2 -2
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/CostTables.test.ts +4 -27
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/MacroCostTable.test.ts +2 -2
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/MacroCostTable.tsx +4 -3
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/agent-model-presentation.test.ts +26 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-embedded.css +7 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-loaders.ts +173 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-page-props.ts +47 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-monitor-page-selectors.ts +1 -7
- package/templates/.agents/dashboard/modules/cost-monitor/src/react/cost-page-range.ts +3 -9
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-projection.test.ts +44 -83
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-monitor-projection.ts +11 -111
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-summary-projection.test.ts +47 -181
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/build-cost-summary-projection.ts +63 -91
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/cost-monitor-unavailable.test.ts +55 -0
- package/templates/.agents/dashboard/modules/cost-monitor/src/server/cost-summary-duration.test.ts +189 -0
- package/templates/.agents/dashboard/modules/operations/package.json +1 -1
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsEntityFilters.tsx +82 -0
- package/templates/.agents/dashboard/modules/operations/src/react/OperationsPage.tsx +22 -31
- package/templates/.agents/dashboard/modules/operations/src/react/PagedWorkList.test.tsx +13 -1
- package/templates/.agents/dashboard/modules/operations/src/react/PagedWorkList.tsx +16 -3
- package/templates/.agents/dashboard/modules/operations/src/react/export/ExcelExportAction.test.ts +11 -27
- package/templates/.agents/dashboard/modules/operations/src/react/export/ExcelExportAction.tsx +44 -193
- package/templates/.agents/dashboard/modules/operations/src/react/export/ExcelExportColumns.ts +186 -0
- package/templates/.agents/dashboard/modules/operations/src/react/export/excel-agent-participations.test.ts +28 -0
- package/templates/.agents/dashboard/modules/operations/src/react/export/export-layout.test.ts +2 -1
- package/templates/.agents/dashboard/modules/operations/src/react/operations-export-duration.ts +13 -0
- package/templates/.agents/dashboard/modules/operations/src/react/operations-filter-panel.css +4 -0
- package/templates/.agents/dashboard/modules/operations/src/react/use-operation-filter-feedback.ts +18 -0
- package/templates/.agents/dashboard/modules/operations/src/react/work-board-model.test.ts +11 -0
- package/templates/.agents/dashboard/modules/operations/src/react/work-board-model.ts +10 -2
- package/templates/.agents/dashboard/modules/operations/src/work-board-model.ts +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/dist/server.cjs +395 -341
- package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +346 -294
- package/templates/.agents/dashboard/packages/local-runtime/package.json +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/scripts/rebuild-sqlite-read-model.mjs +2 -1
- package/templates/.agents/dashboard/packages/local-runtime/scripts/validate-sqlite-read-model.mjs +4 -2
- package/templates/.agents/dashboard/packages/local-runtime/server.mjs +395 -341
- package/templates/.agents/dashboard/packages/local-runtime/src/active-codex-telemetry.test.ts +95 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/active-codex-telemetry.ts +102 -12
- package/templates/.agents/dashboard/packages/local-runtime/src/server-board.test.ts +75 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/server-costs-routes.ts +10 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-lifecycle-diagnostics.ts +50 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-macro-population.test.ts +165 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-operations-page-filters.ts +65 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-operations-pages.test.ts +111 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/server-operations-pages.ts +53 -63
- package/templates/.agents/dashboard/packages/local-runtime/src/server-operations-runs-route.ts +19 -5
- package/templates/.agents/dashboard/packages/local-runtime/src/server-period-macro-metric.ts +11 -2
- package/templates/.agents/dashboard/packages/local-runtime/src/server-read-projections.ts +16 -9
- package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot-refresh.test.ts +46 -2
- package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot-synchronization.test.ts +10 -2
- package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot-synchronization.ts +4 -3
- package/templates/.agents/dashboard/packages/local-runtime/src/server.test.ts +43 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/server.ts +46 -11
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-filter-matrix.test.ts +188 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-summary-details.test.ts +85 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-summary-details.ts +147 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-first-fold-cache.ts +64 -54
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-macro-classification.test.ts +172 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-materialize-projections.ts +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-operations-projection.ts +2 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-operations-work-list.test.ts +7 -7
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-operations-work-list.ts +2 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-period-averages.ts +10 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-agent-dimension.ts +18 -82
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-cached-cost-page.ts +169 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-developer.ts +205 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-entity-group.ts +13 -4
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-filtered-dimension.ts +22 -23
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-financial.ts +42 -209
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-model-dimension.ts +18 -4
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-provider-dimension.ts +9 -2
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-summary.ts +76 -83
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-query-view-page.ts +25 -161
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-canonical.ts +18 -45
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-counts-every-root-execution-day-returns.test.ts +2 -2
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-filesystem.ts +16 -16
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-multi-provider.test.ts +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-rebuild.ts +47 -22
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model-schema.ts +3 -2
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-read-model.test.ts +11 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-rebuild-result.ts +15 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-schema-base-views.ts +4 -4
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-schema-dashboard-views.ts +15 -56
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-schema-macro-classification.ts +48 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-summary-cursor.ts +15 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-token-active-allocation.ts +46 -0
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-work-stages.ts +60 -0
- package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-history.mjs +5 -1
- package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-launch-claims.test.mjs +7 -1
- package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-launch-page.mjs +17 -2
- package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-ownership.mjs +65 -0
- package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-ownership.test.mjs +72 -0
- package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-processes.mjs +32 -9
- package/templates/.agents/dashboard/packages/local-runtime/start-dashboard.mjs +39 -45
- package/templates/.agents/dashboard/packages/local-runtime/start-dashboard.test.mjs +5 -2
- 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/specs/dashboard-performance-matrix.spec.ts +1 -18
- package/templates/.agents/dashboard/tests/e2e/specs/export-row-identity.spec.ts +20 -0
- package/templates/.agents/dashboard/tests/e2e/specs/export-row-identity.ts +20 -0
- package/templates/.agents/design/.zaip-managed.json +82 -74
- package/templates/.agents/design/apps/catalog/dist/assets/index-0W0Gj_Gs.css +1 -0
- package/templates/.agents/design/apps/catalog/dist/assets/index-32GZO95T.js +72 -0
- package/templates/.agents/design/apps/catalog/dist/assets/{index-D_lfqoyx.js → index-BP8IxOxt.js} +3 -3
- package/templates/.agents/design/apps/catalog/dist/assets/{index-BOjCcUaU.js → index-QJsgr9Ht.js} +3 -3
- package/templates/.agents/design/apps/catalog/dist/index.html +2 -2
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/CatalogShell-CvaciY0C.js +1 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{Color-6AOWCN3U-Cm-yJJz_.js → Color-6AOWCN3U-DwBV1A1Y.js} +1 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/Components.stories-3dqK5g3e.js +142 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/DesignSystem.stories-2OCgtT0I.js +1 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{DocsRenderer-JROSPFPF-Belk4jRr.js → DocsRenderer-JROSPFPF-CODg0rSl.js} +4 -4
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/Primitives-BmeKjJW4.js +1 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{WithTooltip-7X4HQR7L-DoPvjkS1.js → WithTooltip-7X4HQR7L-C5MI-3uZ.js} +1 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/WorkspaceStatus.stories-Tb_iQqVK.js +17 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/WorkspaceStatusSpecimen-CD54pw0-.js +1 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{chunk-DRQKCCAG-B1itKXEN.js → chunk-DRQKCCAG-KSn75jcy.js} +1 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{chunk-W22LQPXL-C-Eb5SPY.js → chunk-W22LQPXL-C4LS1Thf.js} +1 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{components-DnyKLwhj.js → components-DV1BRgMY.js} +5 -5
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/formatter-L2YTDE3Q-BU_68im1.js +1 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/iframe-0W0Gj_Gs.css +1 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{iframe-DcXBsFPz.js → iframe-CBbPFx5G.js} +4 -4
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{react-18-CRM89QRf.js → react-18-C9IPGXtb.js} +1 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/react-CEv2qkJT.js +1 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{syntaxhighlighter-YFXUGROL-B03jQGTF.js → syntaxhighlighter-YFXUGROL-ZgDQjyWI.js} +1 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/{theming-4ZyufAga.js → theming-Cx9-gH6l.js} +1 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/iframe.html +2 -2
- package/templates/.agents/design/apps/catalog/dist/storybook/index.json +1 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/sb-addons/a11y-2/manager-bundle.js +3 -3
- package/templates/.agents/design/apps/catalog/dist/storybook/sb-addons/docs-1/manager-bundle.js +4 -4
- package/templates/.agents/design/apps/catalog/dist/storybook/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +60 -60
- package/templates/.agents/design/apps/catalog/package.json +1 -1
- package/templates/.agents/design/apps/catalog/src/components/DashboardFiltersSpecimen.tsx +61 -0
- package/templates/.agents/design/apps/catalog/src/components/Primitives.tsx +24 -0
- package/templates/.agents/design/apps/catalog/src/components/WorkspaceStatusSpecimen.tsx +26 -0
- package/templates/.agents/design/apps/catalog/src/design-contract.test.ts +27 -13
- package/templates/.agents/design/apps/catalog/src/pages/ComponentsPage.tsx +38 -0
- package/templates/.agents/design/apps/catalog/src/pages/DesignSystemPage.tsx +15 -1
- package/templates/.agents/design/apps/catalog/src/stories/Components.stories.tsx +18 -0
- package/templates/.agents/design/apps/catalog/src/stories/DashboardFilters.stories.tsx +7 -0
- package/templates/.agents/design/apps/catalog/src/stories/WorkspaceStatus.stories.tsx +9 -0
- package/templates/.agents/design/apps/catalog/src/styles/components.css +83 -2
- package/templates/.agents/design/apps/catalog/src/styles.css +2 -0
- package/templates/.agents/design/packages/local-runtime/package.json +1 -1
- package/templates/.agents/design/tokens.json +32 -0
- 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 +9 -3
- 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/rules/autonomy-decision.md +1 -0
- package/templates/.agents/rules/workflow.md +1 -1
- package/templates/.agents/runtime/VERSION +1 -1
- package/templates/.agents/runtime/bin/zaip.mjs +25 -24
- 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-execution/SKILL.md +13 -0
- package/templates/.agents/skills/zaip-skill-execution/references/autonomous-continuation.md +17 -0
- package/templates/.agents/skills/zaip-skill-execution/references/correction-cycle.md +2 -2
- package/templates/.agents/skills/zaip-skill-github-deploy/SKILL.md +4 -2
- package/templates/.agents/skills/zaip-skill-github-deploy/references/deployment-workflow.md +4 -2
- package/templates/.agents/skills/zaip-skill-github-deploy/references/release-identity.md +2 -2
- package/templates/.agents/skills/zaip-skill-move-prd/SKILL.md +4 -0
- package/templates/.agents/skills/zaip-skill-move-spec/SKILL.md +4 -0
- package/templates/.agents/skills/zaip-skill-prd/SKILL.md +3 -3
- package/templates/.agents/skills/zaip-skill-release-qualification/SKILL.md +11 -8
- package/templates/.agents/skills/zaip-skill-release-qualification/references/local-preparation.md +13 -12
- package/templates/.agents/skills/zaip-skill-setup/SKILL.md +17 -2
- package/templates/.agents/skills/zaip-skill-setup/agents/openai.yaml +1 -1
- package/templates/.agents/skills/zaip-skill-spec/SKILL.md +2 -2
- package/templates/.agents/zaip-aios/VERSION +1 -1
- package/templates/template-manifest.json +392 -236
- package/templates/.agents/dashboard/apps/frontend/dist/assets/cost-monitor--iPcnZdx.js +0 -68
- package/templates/.agents/dashboard/apps/frontend/dist/assets/index-Cmlx8OYH.css +0 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/index-DfdlGa7c.js +0 -2
- package/templates/.agents/design/apps/catalog/dist/assets/index-BEmIE7WE.css +0 -1
- package/templates/.agents/design/apps/catalog/dist/assets/index-BJV597iq.js +0 -72
- package/templates/.agents/design/apps/catalog/dist/assets/index-B_WhrCZe.js +0 -72
- package/templates/.agents/design/apps/catalog/dist/assets/index-CqqYWY2f.js +0 -9
- package/templates/.agents/design/apps/catalog/dist/assets/index-CqtYXZfV.js +0 -72
- package/templates/.agents/design/apps/catalog/dist/assets/index-D9pj7Jlf.js +0 -9
- package/templates/.agents/design/apps/catalog/dist/assets/index-i_PO2k9R.js +0 -9
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/CatalogShell-Cstn1UwA.js +0 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/Components.stories-D1WopB2L.js +0 -137
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/DesignSystem.stories-DQ9PJ3N3.js +0 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/formatter-L2YTDE3Q-D0OSgxWz.js +0 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/iframe-BEmIE7WE.css +0 -1
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/react-C3tkVMIp.js +0 -1
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { useState } from "react";
|
|
2
|
+
import { Card } from "./Primitives.js";
|
|
3
|
+
|
|
4
|
+
export const dashboardFilterFixtures = [
|
|
5
|
+
{ name: "Operação", labels: ["Busca", "Status", "Risco", "Origem"] },
|
|
6
|
+
{
|
|
7
|
+
name: "Custos",
|
|
8
|
+
labels: [
|
|
9
|
+
"Buscar custos",
|
|
10
|
+
"Provider",
|
|
11
|
+
"Agente",
|
|
12
|
+
"Modelo",
|
|
13
|
+
"Status",
|
|
14
|
+
"Prioridade",
|
|
15
|
+
"Risco",
|
|
16
|
+
"Fase",
|
|
17
|
+
"Entrada",
|
|
18
|
+
"Trabalho",
|
|
19
|
+
],
|
|
20
|
+
},
|
|
21
|
+
] as const;
|
|
22
|
+
/** Native catalog adapter: business modules keep the query and lifecycle contracts. */
|
|
23
|
+
export function DashboardFiltersSpecimen({
|
|
24
|
+
fixture = dashboardFilterFixtures[0],
|
|
25
|
+
}: {
|
|
26
|
+
fixture?: (typeof dashboardFilterFixtures)[number];
|
|
27
|
+
}) {
|
|
28
|
+
const [values, setValues] = useState<Record<string, string>>({});
|
|
29
|
+
return (
|
|
30
|
+
<Card>
|
|
31
|
+
<h3>{fixture.name}</h3>
|
|
32
|
+
<details open>
|
|
33
|
+
<summary>Filtros de {fixture.name.toLowerCase()}</summary>
|
|
34
|
+
{fixture.labels.map((label) => (
|
|
35
|
+
<label key={label} style={{ display: "block", marginBlock: 8 }}>
|
|
36
|
+
{label}
|
|
37
|
+
{label.startsWith("Busca") ? (
|
|
38
|
+
<input
|
|
39
|
+
aria-label={label}
|
|
40
|
+
value={values[label] ?? ""}
|
|
41
|
+
onChange={(e) => setValues({ ...values, [label]: e.target.value })}
|
|
42
|
+
/>
|
|
43
|
+
) : (
|
|
44
|
+
<select
|
|
45
|
+
aria-label={label}
|
|
46
|
+
value={values[label] ?? ""}
|
|
47
|
+
onChange={(e) => setValues({ ...values, [label]: e.target.value })}
|
|
48
|
+
>
|
|
49
|
+
<option value="">Todos</option>
|
|
50
|
+
<option value="example">{label === "Status" ? "Bloqueado" : "Exemplo"}</option>
|
|
51
|
+
</select>
|
|
52
|
+
)}
|
|
53
|
+
</label>
|
|
54
|
+
))}
|
|
55
|
+
<button type="button" onClick={() => setValues({})}>
|
|
56
|
+
Limpar filtros
|
|
57
|
+
</button>
|
|
58
|
+
</details>
|
|
59
|
+
</Card>
|
|
60
|
+
);
|
|
61
|
+
}
|
|
@@ -34,6 +34,30 @@ export function Card({ children, accent = false }: { children: ReactNode; accent
|
|
|
34
34
|
return <article className={accent ? "card card-accent" : "card"}>{children}</article>;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
+
export function EditorialHero({
|
|
38
|
+
eyebrow,
|
|
39
|
+
title,
|
|
40
|
+
description,
|
|
41
|
+
children,
|
|
42
|
+
}: {
|
|
43
|
+
eyebrow?: string;
|
|
44
|
+
title: string;
|
|
45
|
+
description: string;
|
|
46
|
+
children?: ReactNode;
|
|
47
|
+
}) {
|
|
48
|
+
return (
|
|
49
|
+
<section className="editorial-hero">
|
|
50
|
+
<div className="editorial-hero-copy">
|
|
51
|
+
{eyebrow ? <p className="eyebrow">{eyebrow}</p> : null}
|
|
52
|
+
<h2>{title}</h2>
|
|
53
|
+
<p>{description}</p>
|
|
54
|
+
{children ? <div className="editorial-hero-actions">{children}</div> : null}
|
|
55
|
+
</div>
|
|
56
|
+
<div aria-hidden="true" className="editorial-hero-orbit" />
|
|
57
|
+
</section>
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
|
|
37
61
|
export function Metric({ label, value, change }: { label: string; value: string; change: string }) {
|
|
38
62
|
return (
|
|
39
63
|
<Card>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Card } from "./Primitives.js";
|
|
2
|
+
|
|
3
|
+
export const workspaceStatusFixtures = [
|
|
4
|
+
{ name: "Inicializado", message: "Lifecycle inicializado" },
|
|
5
|
+
{ name: "Ausente", message: "Lifecycle não inicializado" },
|
|
6
|
+
{ name: "Inválido", message: "Manifesto do lifecycle inválido" },
|
|
7
|
+
{ name: "Indisponível", message: "Não foi possível consultar a saúde do Dashboard" },
|
|
8
|
+
] as const;
|
|
9
|
+
|
|
10
|
+
/** Native adapter: the catalog cannot depend on the Dashboard application. */
|
|
11
|
+
export function WorkspaceStatusSpecimen({
|
|
12
|
+
fixture = workspaceStatusFixtures[0],
|
|
13
|
+
}: {
|
|
14
|
+
fixture?: (typeof workspaceStatusFixtures)[number];
|
|
15
|
+
}) {
|
|
16
|
+
return (
|
|
17
|
+
<Card>
|
|
18
|
+
<h3>{fixture.name}</h3>
|
|
19
|
+
<aside aria-label="Workspace do Dashboard" style={{ overflowWrap: "anywhere" }}>
|
|
20
|
+
<strong>zaip-growth</strong>
|
|
21
|
+
<p>C:/projetos/zaip-growth</p>
|
|
22
|
+
<p>{fixture.message}</p>
|
|
23
|
+
</aside>
|
|
24
|
+
</Card>
|
|
25
|
+
);
|
|
26
|
+
}
|
|
@@ -7,19 +7,28 @@ const designRoot = resolve(import.meta.dirname, "../../..");
|
|
|
7
7
|
|
|
8
8
|
describe("design contract", () => {
|
|
9
9
|
it("keeps structured tokens aligned with DESIGN.md frontmatter", async () => {
|
|
10
|
-
const [
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
10
|
+
const [
|
|
11
|
+
markdown,
|
|
12
|
+
tokensSource,
|
|
13
|
+
designSystemPage,
|
|
14
|
+
componentsPage,
|
|
15
|
+
primitives,
|
|
16
|
+
stories,
|
|
17
|
+
app,
|
|
18
|
+
...styles
|
|
19
|
+
] = await Promise.all([
|
|
20
|
+
readFile(resolve(designRoot, "DESIGN.md"), "utf8"),
|
|
21
|
+
readFile(resolve(designRoot, "tokens.json"), "utf8"),
|
|
22
|
+
readFile(resolve(import.meta.dirname, "pages/DesignSystemPage.tsx"), "utf8"),
|
|
23
|
+
readFile(resolve(import.meta.dirname, "pages/ComponentsPage.tsx"), "utf8"),
|
|
24
|
+
readFile(resolve(import.meta.dirname, "components/Primitives.tsx"), "utf8"),
|
|
25
|
+
readFile(resolve(import.meta.dirname, "stories/Components.stories.tsx"), "utf8"),
|
|
26
|
+
readFile(resolve(import.meta.dirname, "App.tsx"), "utf8"),
|
|
27
|
+
readFile(resolve(import.meta.dirname, "styles.css"), "utf8"),
|
|
28
|
+
readFile(resolve(import.meta.dirname, "styles/catalog.css"), "utf8"),
|
|
29
|
+
readFile(resolve(import.meta.dirname, "styles/design-system.css"), "utf8"),
|
|
30
|
+
readFile(resolve(import.meta.dirname, "styles/components.css"), "utf8"),
|
|
31
|
+
]);
|
|
23
32
|
const css = styles.join("\n");
|
|
24
33
|
const match = /^---\n([\s\S]+?)\n---/.exec(markdown);
|
|
25
34
|
expect(match?.[1]).toBeDefined();
|
|
@@ -30,6 +39,7 @@ describe("design contract", () => {
|
|
|
30
39
|
expect(tokens.dark).toEqual(design.dark);
|
|
31
40
|
expect(tokens.effects).toEqual(design.effects);
|
|
32
41
|
expect(tokens.neutral).toEqual(design.neutral);
|
|
42
|
+
expect(tokens.typography).toEqual(design.typography);
|
|
33
43
|
expect(tokens.rounded).toEqual(design.rounded);
|
|
34
44
|
expect(tokens.spacing).toEqual(design.spacing);
|
|
35
45
|
for (const value of Object.values(tokens.colors as Record<string, string>)) {
|
|
@@ -58,5 +68,9 @@ describe("design contract", () => {
|
|
|
58
68
|
expect(componentsPage).toContain(`<${specimen}`);
|
|
59
69
|
expect(stories).toContain(`<${specimen}`);
|
|
60
70
|
}
|
|
71
|
+
expect(primitives).toContain("function EditorialHero");
|
|
72
|
+
expect(designSystemPage).toContain("<EditorialHero");
|
|
73
|
+
expect(componentsPage).toContain("<EditorialHero");
|
|
74
|
+
expect(stories).toContain("<EditorialHero");
|
|
61
75
|
});
|
|
62
76
|
});
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { AutonomySpecimen, autonomyFixtures } from "../components/AutonomySpecimen.js";
|
|
2
|
+
import {
|
|
3
|
+
DashboardFiltersSpecimen,
|
|
4
|
+
dashboardFilterFixtures,
|
|
5
|
+
} from "../components/DashboardFiltersSpecimen.js";
|
|
2
6
|
import { PageIntro, Section } from "../components/CatalogShell.js";
|
|
3
7
|
import {
|
|
4
8
|
CostPopulationSpecimen,
|
|
@@ -15,6 +19,7 @@ import {
|
|
|
15
19
|
ChartPanel,
|
|
16
20
|
DataTable,
|
|
17
21
|
DialogSpecimen,
|
|
22
|
+
EditorialHero,
|
|
18
23
|
Field,
|
|
19
24
|
FilterForm,
|
|
20
25
|
Metric,
|
|
@@ -25,6 +30,10 @@ import {
|
|
|
25
30
|
ProjectStatusSpecimen,
|
|
26
31
|
projectStatusFixtures,
|
|
27
32
|
} from "../components/ProjectStatusSpecimen.js";
|
|
33
|
+
import {
|
|
34
|
+
WorkspaceStatusSpecimen,
|
|
35
|
+
workspaceStatusFixtures,
|
|
36
|
+
} from "../components/WorkspaceStatusSpecimen.js";
|
|
28
37
|
|
|
29
38
|
const dashboardFamilies = [
|
|
30
39
|
["Dialogs e popups", "TaskDetailsDialog, TraceStageDialog", "Foco, contexto e saída explícita"],
|
|
@@ -44,6 +53,35 @@ export function ComponentsPage() {
|
|
|
44
53
|
title="Components"
|
|
45
54
|
description="Famílias reais do dashboard representadas por espécimes compartilhados com o Storybook. O catálogo documenta o contrato; os componentes de negócio continuam em seus módulos."
|
|
46
55
|
/>
|
|
56
|
+
<Section
|
|
57
|
+
title="Filtros do Dashboard"
|
|
58
|
+
description="Operação expõe busca, status, risco e origem no cabeçalho visível. Custos mantém seus filtros dimensionais acessíveis na área integrada; Desenvolvedores usa somente o período. Adaptadores nativos com limpeza e foco de teclado."
|
|
59
|
+
>
|
|
60
|
+
{dashboardFilterFixtures.map((fixture) => (
|
|
61
|
+
<DashboardFiltersSpecimen key={fixture.name} fixture={fixture} />
|
|
62
|
+
))}
|
|
63
|
+
</Section>
|
|
64
|
+
<Section
|
|
65
|
+
title="Hero editorial"
|
|
66
|
+
description="Componente público para promessa, explicação e até duas ações; a variação de ação secundária permanece legível sobre navy."
|
|
67
|
+
>
|
|
68
|
+
<EditorialHero
|
|
69
|
+
eyebrow="Componente central"
|
|
70
|
+
title="Uma direção pública que chama para a ação."
|
|
71
|
+
description="Use em abertura de páginas de marca; mantenha a prova detalhada e a lógica comercial no conteúdo local."
|
|
72
|
+
>
|
|
73
|
+
<Button>Ação principal</Button>
|
|
74
|
+
<Button variant="secondary">Ação secundária</Button>
|
|
75
|
+
</EditorialHero>
|
|
76
|
+
</Section>
|
|
77
|
+
<Section
|
|
78
|
+
title="Workspace do Dashboard"
|
|
79
|
+
description="Nome e caminho absolutos sempre visíveis; lifecycle ausente ou inválido impede a exibição de zeros como dados válidos. Adaptador nativo do componente WorkspaceStatus."
|
|
80
|
+
>
|
|
81
|
+
{workspaceStatusFixtures.map((fixture) => (
|
|
82
|
+
<WorkspaceStatusSpecimen key={fixture.name} fixture={fixture} />
|
|
83
|
+
))}
|
|
84
|
+
</Section>
|
|
47
85
|
<Section
|
|
48
86
|
title="Dialogs e popups"
|
|
49
87
|
description="Superfícies focadas com nome acessível, contexto, Escape e ação de fechamento."
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { PageIntro, Section } from "../components/CatalogShell.js";
|
|
2
|
-
import { Badge, Button, Card, Field } from "../components/Primitives.js";
|
|
2
|
+
import { Badge, Button, Card, EditorialHero, Field } from "../components/Primitives.js";
|
|
3
3
|
|
|
4
4
|
const primaryColors = [
|
|
5
5
|
["Primary", "#00B0F0", "Ação, foco e identidade"],
|
|
6
6
|
["Primary strong", "#018abb", "Hover e ênfase reforçada"],
|
|
7
7
|
["Primary ink", "#006b91", "Texto e ícones sobre fundos claros"],
|
|
8
|
+
["Primary soft", "#dffcff", "Base breve para badge e ênfase"],
|
|
8
9
|
] as const;
|
|
9
10
|
|
|
10
11
|
const secondaryColors = [
|
|
@@ -87,6 +88,19 @@ export function DesignSystemPage() {
|
|
|
87
88
|
))}
|
|
88
89
|
</div>
|
|
89
90
|
</Section>
|
|
91
|
+
<Section
|
|
92
|
+
title="Hero editorial público"
|
|
93
|
+
description="Hero de alto contraste para comunicar uma promessa verificável, com ações claras e espaço para leitura."
|
|
94
|
+
>
|
|
95
|
+
<EditorialHero
|
|
96
|
+
eyebrow="Direção pública"
|
|
97
|
+
title="Mais contraste para decisões mais claras."
|
|
98
|
+
description="Navy estabelece profundidade; tipografia expressiva e CTAs pill deixam a próxima ação inequívoca."
|
|
99
|
+
>
|
|
100
|
+
<Button>Começar agora</Button>
|
|
101
|
+
<Button variant="secondary">Entender o sistema</Button>
|
|
102
|
+
</EditorialHero>
|
|
103
|
+
</Section>
|
|
90
104
|
<Section
|
|
91
105
|
title="Tipografia"
|
|
92
106
|
description="Hierarquia compacta para produto e escala expressiva para superfícies públicas."
|
|
@@ -14,6 +14,7 @@ import {
|
|
|
14
14
|
ChartPanel,
|
|
15
15
|
DataTable,
|
|
16
16
|
DialogSpecimen,
|
|
17
|
+
EditorialHero,
|
|
17
18
|
FilterForm,
|
|
18
19
|
Metric,
|
|
19
20
|
StateGallery,
|
|
@@ -75,6 +76,23 @@ export const DialogsAndPopups: Story = {
|
|
|
75
76
|
render: () => <DialogSpecimen />,
|
|
76
77
|
};
|
|
77
78
|
|
|
79
|
+
export const EditorialHeroes: Story = {
|
|
80
|
+
render: () => (
|
|
81
|
+
<EditorialHero
|
|
82
|
+
eyebrow="Componente central"
|
|
83
|
+
title="Contraste e direção para páginas públicas."
|
|
84
|
+
description="Mantenha uma promessa verificável e no máximo duas ações, inclusive em telas estreitas."
|
|
85
|
+
>
|
|
86
|
+
<button className="button button-primary" type="button">
|
|
87
|
+
Ação principal
|
|
88
|
+
</button>
|
|
89
|
+
<button className="button button-secondary" type="button">
|
|
90
|
+
Ação secundária
|
|
91
|
+
</button>
|
|
92
|
+
</EditorialHero>
|
|
93
|
+
),
|
|
94
|
+
};
|
|
95
|
+
|
|
78
96
|
export const CardsAndMetrics: Story = {
|
|
79
97
|
render: () => (
|
|
80
98
|
<div className="metric-grid">
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DashboardFiltersSpecimen,
|
|
3
|
+
dashboardFilterFixtures,
|
|
4
|
+
} from "../components/DashboardFiltersSpecimen.js";
|
|
5
|
+
export default { title: "Components/Filtros do Dashboard", component: DashboardFiltersSpecimen };
|
|
6
|
+
export const Operations = { args: { fixture: dashboardFilterFixtures[0] } };
|
|
7
|
+
export const Costs = { args: { fixture: dashboardFilterFixtures[1] } };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import {
|
|
2
|
+
WorkspaceStatusSpecimen,
|
|
3
|
+
workspaceStatusFixtures,
|
|
4
|
+
} from "../components/WorkspaceStatusSpecimen.js";
|
|
5
|
+
export default { title: "Components/Workspace do Dashboard", component: WorkspaceStatusSpecimen };
|
|
6
|
+
export const Initialized = { args: { fixture: workspaceStatusFixtures[0] } };
|
|
7
|
+
export const Missing = { args: { fixture: workspaceStatusFixtures[1] } };
|
|
8
|
+
export const Invalid = { args: { fixture: workspaceStatusFixtures[2] } };
|
|
9
|
+
export const Unavailable = { args: { fixture: workspaceStatusFixtures[3] } };
|
|
@@ -6,7 +6,74 @@
|
|
|
6
6
|
box-shadow: 0 18px 48px rgba(15, 23, 42, 0.08);
|
|
7
7
|
}
|
|
8
8
|
.card-accent {
|
|
9
|
-
background: linear-gradient(180deg,
|
|
9
|
+
background: linear-gradient(180deg, var(--primary-soft) 0%, #ffffff 100%);
|
|
10
|
+
}
|
|
11
|
+
.editorial-hero {
|
|
12
|
+
position: relative;
|
|
13
|
+
isolation: isolate;
|
|
14
|
+
display: grid;
|
|
15
|
+
min-height: 380px;
|
|
16
|
+
align-items: center;
|
|
17
|
+
overflow: hidden;
|
|
18
|
+
border: 1px solid rgba(255, 255, 255, 0.12);
|
|
19
|
+
border-radius: 32px;
|
|
20
|
+
padding: clamp(32px, 7vw, 76px);
|
|
21
|
+
background:
|
|
22
|
+
radial-gradient(circle at 82% 20%, rgba(0, 176, 240, 0.24), transparent 24%),
|
|
23
|
+
linear-gradient(135deg, var(--secondary) 0%, var(--secondary-elevated) 100%);
|
|
24
|
+
color: #f1f5f9;
|
|
25
|
+
box-shadow: 0 26px 70px rgba(15, 23, 42, 0.22);
|
|
26
|
+
}
|
|
27
|
+
.editorial-hero-copy {
|
|
28
|
+
position: relative;
|
|
29
|
+
z-index: 1;
|
|
30
|
+
max-width: 720px;
|
|
31
|
+
}
|
|
32
|
+
.editorial-hero .eyebrow {
|
|
33
|
+
color: #72f4fb;
|
|
34
|
+
}
|
|
35
|
+
.editorial-hero h2 {
|
|
36
|
+
max-width: 680px;
|
|
37
|
+
margin: 14px 0 18px;
|
|
38
|
+
font-family: Inter, Poppins, ui-sans-serif, system-ui, sans-serif;
|
|
39
|
+
font-size: clamp(2.5rem, 6vw, 4.25rem);
|
|
40
|
+
font-weight: 650;
|
|
41
|
+
line-height: 1.05;
|
|
42
|
+
letter-spacing: -0.05em;
|
|
43
|
+
}
|
|
44
|
+
.editorial-hero-copy > p:not(.eyebrow) {
|
|
45
|
+
max-width: 620px;
|
|
46
|
+
margin: 0;
|
|
47
|
+
color: #cbd5e1;
|
|
48
|
+
font-size: clamp(1rem, 2vw, 1.2rem);
|
|
49
|
+
line-height: 1.65;
|
|
50
|
+
}
|
|
51
|
+
.editorial-hero-actions {
|
|
52
|
+
display: flex;
|
|
53
|
+
flex-wrap: wrap;
|
|
54
|
+
gap: 12px;
|
|
55
|
+
margin-top: 30px;
|
|
56
|
+
}
|
|
57
|
+
.editorial-hero .button-secondary {
|
|
58
|
+
border-color: rgba(255, 255, 255, 0.3);
|
|
59
|
+
color: #f1f5f9;
|
|
60
|
+
}
|
|
61
|
+
.editorial-hero .button-secondary:hover {
|
|
62
|
+
border-color: var(--primary);
|
|
63
|
+
background: rgba(0, 176, 240, 0.12);
|
|
64
|
+
}
|
|
65
|
+
.editorial-hero-orbit {
|
|
66
|
+
position: absolute;
|
|
67
|
+
z-index: 0;
|
|
68
|
+
width: min(48vw, 540px);
|
|
69
|
+
aspect-ratio: 1;
|
|
70
|
+
right: -12%;
|
|
71
|
+
bottom: -42%;
|
|
72
|
+
border: 1px solid rgba(114, 244, 251, 0.28);
|
|
73
|
+
border-radius: 50%;
|
|
74
|
+
box-shadow:
|
|
75
|
+
0 0 0 46px rgba(0, 176, 240, 0.05),
|
|
76
|
+
0 0 0 112px rgba(0, 176, 240, 0.035);
|
|
10
77
|
}
|
|
11
78
|
.card h3 {
|
|
12
79
|
margin: 24px 0 8px;
|
|
@@ -201,7 +268,7 @@ tbody tr:last-child td {
|
|
|
201
268
|
height: 64px;
|
|
202
269
|
place-items: center;
|
|
203
270
|
border-radius: 24px;
|
|
204
|
-
background:
|
|
271
|
+
background: var(--primary-soft);
|
|
205
272
|
color: #006b91;
|
|
206
273
|
font-size: 2rem;
|
|
207
274
|
}
|
|
@@ -404,6 +471,17 @@ tbody tr:last-child td {
|
|
|
404
471
|
}
|
|
405
472
|
|
|
406
473
|
@media (max-width: 560px) {
|
|
474
|
+
.editorial-hero {
|
|
475
|
+
min-height: 0;
|
|
476
|
+
border-radius: 24px;
|
|
477
|
+
}
|
|
478
|
+
.editorial-hero-actions {
|
|
479
|
+
align-items: stretch;
|
|
480
|
+
flex-direction: column;
|
|
481
|
+
}
|
|
482
|
+
.editorial-hero-actions .button {
|
|
483
|
+
width: 100%;
|
|
484
|
+
}
|
|
407
485
|
.filter-form {
|
|
408
486
|
grid-template-columns: 1fr;
|
|
409
487
|
}
|
|
@@ -422,6 +500,9 @@ tbody tr:last-child td {
|
|
|
422
500
|
}
|
|
423
501
|
|
|
424
502
|
@media (prefers-reduced-motion: reduce) {
|
|
503
|
+
.editorial-hero-orbit {
|
|
504
|
+
box-shadow: none;
|
|
505
|
+
}
|
|
425
506
|
.loading-spinner {
|
|
426
507
|
animation: none;
|
|
427
508
|
border-color: var(--primary);
|
|
@@ -5,7 +5,9 @@
|
|
|
5
5
|
"primary": "#00B0F0",
|
|
6
6
|
"primary-strong": "#018abb",
|
|
7
7
|
"primary-ink": "#006b91",
|
|
8
|
+
"primary-soft": "#dffcff",
|
|
8
9
|
"secondary": "#0a0e17",
|
|
10
|
+
"secondary-elevated": "#111827",
|
|
9
11
|
"surface": "#ffffff",
|
|
10
12
|
"surface-muted": "#f5f7fb",
|
|
11
13
|
"text": "#0f172a",
|
|
@@ -43,6 +45,36 @@
|
|
|
43
45
|
"canvas": "#f5f7fb",
|
|
44
46
|
"white": "#ffffff"
|
|
45
47
|
},
|
|
48
|
+
"typography": {
|
|
49
|
+
"display": {
|
|
50
|
+
"fontFamily": "Inter, Poppins, ui-sans-serif, system-ui, sans-serif",
|
|
51
|
+
"fontSize": "clamp(2.5rem, 6vw, 4.25rem)",
|
|
52
|
+
"fontWeight": "650",
|
|
53
|
+
"lineHeight": "1.05",
|
|
54
|
+
"letterSpacing": "-0.05em"
|
|
55
|
+
},
|
|
56
|
+
"heading": {
|
|
57
|
+
"fontFamily": "Inter, Poppins, ui-sans-serif, system-ui, sans-serif",
|
|
58
|
+
"fontSize": "clamp(1.75rem, 4vw, 2.5rem)",
|
|
59
|
+
"fontWeight": "650",
|
|
60
|
+
"lineHeight": "1.15",
|
|
61
|
+
"letterSpacing": "-0.035em"
|
|
62
|
+
},
|
|
63
|
+
"body": {
|
|
64
|
+
"fontFamily": "Inter, ui-sans-serif, system-ui, sans-serif",
|
|
65
|
+
"fontSize": "1rem",
|
|
66
|
+
"fontWeight": "400",
|
|
67
|
+
"lineHeight": "1.65",
|
|
68
|
+
"letterSpacing": "0"
|
|
69
|
+
},
|
|
70
|
+
"label": {
|
|
71
|
+
"fontFamily": "Inter, ui-sans-serif, system-ui, sans-serif",
|
|
72
|
+
"fontSize": "0.75rem",
|
|
73
|
+
"fontWeight": "700",
|
|
74
|
+
"lineHeight": "1.3",
|
|
75
|
+
"letterSpacing": "0.12em"
|
|
76
|
+
}
|
|
77
|
+
},
|
|
46
78
|
"rounded": {
|
|
47
79
|
"sm": "8px",
|
|
48
80
|
"md": "16px",
|
|
@@ -4,9 +4,9 @@ id: REQUIREMENTS-PUBLIC-DISTRIBUTION
|
|
|
4
4
|
area: public-distribution
|
|
5
5
|
title: Distribuição pública e ativação
|
|
6
6
|
status: active
|
|
7
|
-
version:
|
|
7
|
+
version: 8
|
|
8
8
|
source_change: null
|
|
9
|
-
source_release: "3.
|
|
9
|
+
source_release: "3.4.0"
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
# Distribuição pública e ativação
|
|
@@ -26,7 +26,7 @@ A distribuição pública só pode ser candidata quando fonte canônica, templat
|
|
|
26
26
|
|
|
27
27
|
A skill portátil de publicação é `zaip-skill-github-deploy`. A publicação npm do framework pertence exclusivamente ao GitHub Actions do repositório mantenedor, com versão alinhada ao tag GitHub e canal explícito. Workflow mantenedor e skill legada de publicação npm não entram no template nem no pacote. Atualizações removem arquivos obsoletos comprovadamente gerenciados e inalterados, preservando personalizações e arquivos sem prova de ownership.
|
|
28
28
|
|
|
29
|
-
- `AC-DIST-002-01`: o gate de release
|
|
29
|
+
- `AC-DIST-002-01`: o gate padrão de release usa o perfil `essential-v3`: sync reproduzível, integridade e paridade, audit de dependências, typecheck, regressões prioritárias de instalação/rollback e contratos de release, pack, doctor e smoke do runtime/SQLite/API sobre o candidato exato. O recibo assinado vincula perfil, gates, SHA e hashes do pacote; falha ou timeout não produz aprovação. Validação de cada aba do Dashboard, XLSX, cobertura completa e matriz estendida ficam no perfil full solicitado explicitamente, sem bloquear uma nova versão por padrão. Mudança funcional nesses componentes exige somente os testes pertinentes ao impacto.
|
|
30
30
|
- `AC-DIST-002-02`: o manifest registra versão, hashes e conteúdo efetivo de `.agents`, incluindo o runtime; qualquer divergência entre fonte, template e pacote bloqueia a candidatura.
|
|
31
31
|
- `AC-DIST-002-03`: README, guias de instalação, versão pública e comandos documentados permanecem alinhados ao pacote qualificado e não prometem capability ausente.
|
|
32
32
|
|
|
@@ -38,6 +38,12 @@ classificação explícita. Dependências, compatibilidade, schemas, migrações
|
|
|
38
38
|
históricas conservam seus próprios números. Igualdade de versão não substitui paridade
|
|
39
39
|
de bytes, hashes, instalação real nem prova da versão publicada.
|
|
40
40
|
|
|
41
|
+
Pedidos simples de atualização usam `npx --yes @zaip-ai/cli@latest init --force --yes --profile full`
|
|
42
|
+
(`npx.cmd` no Windows), com backup antes de sobrescrever e instalação das dependências ausentes.
|
|
43
|
+
Restrições explícitas prevalecem. No init sem force, catálogo oficial legado reconhecido pode
|
|
44
|
+
ser atualizado e passa a integrar o lock; catálogo personalizado permanece protegido. Discovery
|
|
45
|
+
gerenciada é uma projeção única, regenerada a partir do catálogo da versão instalada.
|
|
46
|
+
|
|
41
47
|
## REQ-DIST-003 — Configuração global portátil do Codex
|
|
42
48
|
|
|
43
49
|
O CLI público deve descobrir o diretório inicial do usuário em execução e reconciliar a proteção
|