@zaip-ai/cli 3.5.0 → 3.7.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-conversation-lifecycle-hook.d.ts.map +1 -1
- package/dist/services/codex-conversation-lifecycle-hook.js +37 -6
- package/dist/services/codex-conversation-lifecycle-hook.js.map +1 -1
- package/dist/services/stack-install.d.ts.map +1 -1
- package/dist/services/stack-install.js +19 -9
- package/dist/services/stack-install.js.map +1 -1
- package/dist/services/stack-node.d.ts.map +1 -1
- package/dist/services/stack-node.js +1 -1
- package/dist/services/stack-node.js.map +1 -1
- package/package.json +1 -1
- package/templates/.agents/config/agents/discovery.json +1 -1
- package/templates/.agents/dashboard/.zaip-managed.json +47 -43
- package/templates/.agents/dashboard/apps/frontend/dist/assets/DashboardHelpDialog-DRI_XwUf.css +1 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-OulA4CoX.js +3 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{TraceabilityWorkspace-BKBpJyLh.js → TraceabilityWorkspace-Ckxk_izu.js} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/index-CqfSgtk9.js +2 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/{index-CxrG_wRI.css → index-OBJXZOwe.css} +1 -1
- package/templates/.agents/dashboard/apps/frontend/dist/index.html +2 -2
- package/templates/.agents/dashboard/apps/frontend/package.json +1 -1
- package/templates/.agents/dashboard/apps/frontend/src/AppDashboardContent.tsx +0 -2
- package/templates/.agents/dashboard/apps/frontend/src/DashboardGlobalSettings.tsx +7 -0
- package/templates/.agents/dashboard/apps/frontend/src/ProjectSettingsCard.tsx +15 -2
- package/templates/.agents/dashboard/apps/frontend/src/ProjectSettingsPage.tsx +1 -1
- package/templates/.agents/dashboard/apps/frontend/src/cost-calculation-guide.css +1 -1
- package/templates/.agents/dashboard/apps/frontend/src/dashboard-help-dialog.css +2 -2
- package/templates/.agents/dashboard/apps/frontend/src/operations-entity-page-projection.ts +4 -1
- package/templates/.agents/dashboard/apps/frontend/src/operations-period-contract.test.ts +20 -9
- package/templates/.agents/dashboard/apps/frontend/src/pricing-settings-dialog.css +5 -5
- package/templates/.agents/dashboard/apps/frontend/src/use-app-work-board.test.ts +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/operations/src/react/OperationsEntityFilters.tsx +1 -1
- package/templates/.agents/dashboard/modules/operations/src/react/PagedWorkList.tsx +2 -2
- 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 +122 -122
- package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +2 -2
- package/templates/.agents/dashboard/packages/local-runtime/package.json +2 -2
- package/templates/.agents/dashboard/packages/local-runtime/server.mjs +124 -124
- package/templates/.agents/dashboard/packages/local-runtime/src/project-settings.test.ts +3 -3
- package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot-refresh.test.ts +2 -2
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-filter-matrix.test.ts +1 -1
- package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-pricing-provenance.test.ts +49 -13
- 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.spec.ts +4 -6
- package/templates/.agents/dashboard/tests/e2e/specs/work-board-hydration.ts +38 -0
- package/templates/.agents/design/.zaip-managed.json +11 -7
- package/templates/.agents/design/apps/catalog/dist/assets/index-Cv4VfxTQ.js +72 -0
- package/templates/.agents/design/apps/catalog/dist/index.html +1 -1
- package/templates/.agents/design/apps/catalog/package.json +2 -2
- package/templates/.agents/design/apps/catalog/src/components/DashboardFiltersSpecimen.tsx +26 -21
- package/templates/.agents/design/apps/catalog/src/components/StackVersionFieldSpecimen.tsx +1 -5
- package/templates/.agents/design/apps/catalog/src/styles/stack-version-field.css +75 -13
- 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 +58 -27
- 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 +144 -162
- package/templates/.agents/skills/zaip-skill-execution/SKILL.md +1 -0
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/github-deploy-contract.test.mjs +3 -1
- package/templates/.agents/zaip-aios/VERSION +1 -1
- package/templates/template-manifest.json +89 -81
- package/templates/.agents/dashboard/apps/frontend/dist/assets/DashboardHelpDialog-Je5nK-Et.css +0 -1
- package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-D46WWIKr.js +0 -3
- package/templates/.agents/dashboard/apps/frontend/dist/assets/index-Bas2TVju.js +0 -2
- /package/templates/.agents/dashboard/apps/frontend/dist/assets/{DashboardHelpDialog-CCMVnkkI.js → DashboardHelpDialog-BDQR0U4a.js} +0 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { OperationsProjection } from "@zaip-ai/dashboard-operations/contracts";
|
|
1
2
|
import { describe, expect, it } from "vitest";
|
|
2
3
|
import {
|
|
3
4
|
isCurrentOperationsPageRequest,
|
|
@@ -5,6 +6,7 @@ import {
|
|
|
5
6
|
isCurrentPeriodTransition,
|
|
6
7
|
mergeBoardPages,
|
|
7
8
|
} from "./App.js";
|
|
9
|
+
import type { OperationsBoardPage } from "./dashboard-api.js";
|
|
8
10
|
import { requestPeriodForOperations } from "./operations-period.js";
|
|
9
11
|
|
|
10
12
|
describe("Operations period request contract", () => {
|
|
@@ -90,14 +92,18 @@ describe("Operations period request contract", () => {
|
|
|
90
92
|
const pending = [a, b, c].map(() => Promise.withResolvers<void>());
|
|
91
93
|
const applied: string[] = [];
|
|
92
94
|
const reply = async (version: number, period: typeof a, label: string, slot: number) => {
|
|
93
|
-
|
|
95
|
+
const deferred = pending[slot];
|
|
96
|
+
if (deferred === undefined) throw new Error(`Missing deferred reply for slot ${slot}.`);
|
|
97
|
+
await deferred.promise;
|
|
94
98
|
if (isCurrentOperationsPeriodRequest(version, 3, period, c)) applied.push(label);
|
|
95
99
|
};
|
|
96
100
|
const requests = [reply(1, a, "A", 0), reply(2, b, "B", 1), reply(3, c, "C", 2)];
|
|
97
101
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
102
|
+
for (const slot of [2, 1, 0]) {
|
|
103
|
+
const deferred = pending[slot];
|
|
104
|
+
if (deferred === undefined) throw new Error(`Missing deferred reply for slot ${slot}.`);
|
|
105
|
+
deferred.resolve();
|
|
106
|
+
}
|
|
101
107
|
await Promise.all(requests);
|
|
102
108
|
|
|
103
109
|
expect(applied).toEqual(["C"]);
|
|
@@ -114,7 +120,9 @@ describe("Operations period request contract", () => {
|
|
|
114
120
|
controller: AbortController,
|
|
115
121
|
slot: number,
|
|
116
122
|
) => {
|
|
117
|
-
|
|
123
|
+
const deferred = pending[slot];
|
|
124
|
+
if (deferred === undefined) throw new Error(`Missing deferred reply for slot ${slot}.`);
|
|
125
|
+
await deferred.promise;
|
|
118
126
|
if (isCurrentOperationsPageRequest(version, 2, controller.signal)) applied.push(label);
|
|
119
127
|
};
|
|
120
128
|
const requests = [
|
|
@@ -123,8 +131,11 @@ describe("Operations period request contract", () => {
|
|
|
123
131
|
];
|
|
124
132
|
|
|
125
133
|
oldRequest.abort();
|
|
126
|
-
|
|
127
|
-
|
|
134
|
+
for (const slot of [1, 0]) {
|
|
135
|
+
const deferred = pending[slot];
|
|
136
|
+
if (deferred === undefined) throw new Error(`Missing deferred reply for slot ${slot}.`);
|
|
137
|
+
deferred.resolve();
|
|
138
|
+
}
|
|
128
139
|
await Promise.all(requests);
|
|
129
140
|
|
|
130
141
|
expect(applied).toEqual(["new-filter-page"]);
|
|
@@ -137,14 +148,14 @@ describe("Operations period request contract", () => {
|
|
|
137
148
|
tasks: [],
|
|
138
149
|
changes: [],
|
|
139
150
|
summary: { overview_metrics: { partial: false, total_tasks: 5 } },
|
|
140
|
-
} as
|
|
151
|
+
} as unknown as OperationsProjection;
|
|
141
152
|
const board = {
|
|
142
153
|
prds: [],
|
|
143
154
|
specs: [],
|
|
144
155
|
tasks: [{ id: "TASK-1" }],
|
|
145
156
|
changes: [],
|
|
146
157
|
overview_metrics: { partial: false, total_tasks: 999 },
|
|
147
|
-
} as
|
|
158
|
+
} as unknown as OperationsBoardPage;
|
|
148
159
|
expect(mergeBoardPages(quick, [board]).summary.overview_metrics).toEqual(
|
|
149
160
|
quick.summary.overview_metrics,
|
|
150
161
|
);
|
|
@@ -30,6 +30,9 @@
|
|
|
30
30
|
.pricing-dialog > header > div {
|
|
31
31
|
max-width: 820px;
|
|
32
32
|
}
|
|
33
|
+
.pricing-dialog small {
|
|
34
|
+
color: #8391a7;
|
|
35
|
+
}
|
|
33
36
|
.pricing-dialog > header small {
|
|
34
37
|
color: #77bff2;
|
|
35
38
|
font-size: 11px;
|
|
@@ -46,9 +49,6 @@
|
|
|
46
49
|
color: #94a3b8;
|
|
47
50
|
line-height: 1.55;
|
|
48
51
|
}
|
|
49
|
-
.pricing-dialog small {
|
|
50
|
-
color: #8391a7;
|
|
51
|
-
}
|
|
52
52
|
.pricing-dialog button {
|
|
53
53
|
border: 1px solid #34445e;
|
|
54
54
|
border-radius: 11px;
|
|
@@ -103,8 +103,8 @@
|
|
|
103
103
|
color: #edf5ff;
|
|
104
104
|
font-size: 15px;
|
|
105
105
|
}
|
|
106
|
-
.pricing-fx-copy p,
|
|
107
|
-
.pricing-table-heading p {
|
|
106
|
+
.pricing-dialog .pricing-fx-copy p,
|
|
107
|
+
.pricing-dialog .pricing-table-heading p {
|
|
108
108
|
margin: 7px 0 0;
|
|
109
109
|
color: #8e9bb1;
|
|
110
110
|
font-size: 13px;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
2
1
|
import type { OperationsProjection } from "@zaip-ai/dashboard-operations/contracts";
|
|
2
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
3
3
|
import type { DashboardApiClient, OperationsPageFilters, WorkBoardStage } from "./dashboard-api.js";
|
|
4
4
|
import type { OperationsPeriodState } from "./operations-period.js";
|
|
5
5
|
import { useAppWorkBoard } from "./use-app-work-board.js";
|
package/templates/.agents/dashboard/modules/operations/src/react/OperationsEntityFilters.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { OperationsLocale } from "./status-labels.js";
|
|
2
2
|
import { riskLabel } from "./status-labels.js";
|
|
3
|
-
import { taskOriginLabel, taskOriginOptions
|
|
3
|
+
import { type TaskOrigin, taskOriginLabel, taskOriginOptions } from "./task-origin.js";
|
|
4
4
|
import { workStageLabel, workStages } from "./work-board-model.js";
|
|
5
5
|
|
|
6
6
|
/** Work filters belong to the visible shared header, not the retired hero. */
|
|
@@ -4,10 +4,10 @@ import { formatRoundedDuration } from "./format-rounded-duration.js";
|
|
|
4
4
|
import type { OperationsLocale } from "./status-labels.js";
|
|
5
5
|
import { WorkTypeFilters } from "./UnifiedWorkBoard.js";
|
|
6
6
|
import {
|
|
7
|
-
workStageLabel,
|
|
8
|
-
workStages,
|
|
9
7
|
type WorkStage,
|
|
10
8
|
type WorkTypeFilter,
|
|
9
|
+
workStageLabel,
|
|
10
|
+
workStages,
|
|
11
11
|
} from "./work-board-model.js";
|
|
12
12
|
|
|
13
13
|
export type PagedWorkListRow = Record<string, unknown>;
|