@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.
Files changed (90) hide show
  1. package/dist/services/adapters.d.ts +1 -1
  2. package/dist/services/adapters.js +1 -1
  3. package/dist/services/codex-conversation-lifecycle-hook.d.ts.map +1 -1
  4. package/dist/services/codex-conversation-lifecycle-hook.js +37 -6
  5. package/dist/services/codex-conversation-lifecycle-hook.js.map +1 -1
  6. package/dist/services/stack-install.d.ts.map +1 -1
  7. package/dist/services/stack-install.js +19 -9
  8. package/dist/services/stack-install.js.map +1 -1
  9. package/dist/services/stack-node.d.ts.map +1 -1
  10. package/dist/services/stack-node.js +1 -1
  11. package/dist/services/stack-node.js.map +1 -1
  12. package/package.json +1 -1
  13. package/templates/.agents/config/agents/discovery.json +1 -1
  14. package/templates/.agents/dashboard/.zaip-managed.json +47 -43
  15. package/templates/.agents/dashboard/apps/frontend/dist/assets/DashboardHelpDialog-DRI_XwUf.css +1 -0
  16. package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-OulA4CoX.js +3 -0
  17. package/templates/.agents/dashboard/apps/frontend/dist/assets/{TraceabilityWorkspace-BKBpJyLh.js → TraceabilityWorkspace-Ckxk_izu.js} +1 -1
  18. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-CqfSgtk9.js +2 -0
  19. package/templates/.agents/dashboard/apps/frontend/dist/assets/{index-CxrG_wRI.css → index-OBJXZOwe.css} +1 -1
  20. package/templates/.agents/dashboard/apps/frontend/dist/index.html +2 -2
  21. package/templates/.agents/dashboard/apps/frontend/package.json +1 -1
  22. package/templates/.agents/dashboard/apps/frontend/src/AppDashboardContent.tsx +0 -2
  23. package/templates/.agents/dashboard/apps/frontend/src/DashboardGlobalSettings.tsx +7 -0
  24. package/templates/.agents/dashboard/apps/frontend/src/ProjectSettingsCard.tsx +15 -2
  25. package/templates/.agents/dashboard/apps/frontend/src/ProjectSettingsPage.tsx +1 -1
  26. package/templates/.agents/dashboard/apps/frontend/src/cost-calculation-guide.css +1 -1
  27. package/templates/.agents/dashboard/apps/frontend/src/dashboard-help-dialog.css +2 -2
  28. package/templates/.agents/dashboard/apps/frontend/src/operations-entity-page-projection.ts +4 -1
  29. package/templates/.agents/dashboard/apps/frontend/src/operations-period-contract.test.ts +20 -9
  30. package/templates/.agents/dashboard/apps/frontend/src/pricing-settings-dialog.css +5 -5
  31. package/templates/.agents/dashboard/apps/frontend/src/use-app-work-board.test.ts +1 -1
  32. package/templates/.agents/dashboard/modules/cost-monitor/package.json +1 -1
  33. package/templates/.agents/dashboard/modules/operations/package.json +1 -1
  34. package/templates/.agents/dashboard/modules/operations/src/react/OperationsEntityFilters.tsx +1 -1
  35. package/templates/.agents/dashboard/modules/operations/src/react/PagedWorkList.tsx +2 -2
  36. package/templates/.agents/dashboard/modules/traceability/package.json +1 -1
  37. package/templates/.agents/dashboard/packages/branding/package.json +1 -1
  38. package/templates/.agents/dashboard/packages/contracts/package.json +1 -1
  39. package/templates/.agents/dashboard/packages/data-export/package.json +1 -1
  40. package/templates/.agents/dashboard/packages/local-runtime/dist/server.cjs +122 -122
  41. package/templates/.agents/dashboard/packages/local-runtime/dist/sqlite-read-model.cjs +2 -2
  42. package/templates/.agents/dashboard/packages/local-runtime/package.json +2 -2
  43. package/templates/.agents/dashboard/packages/local-runtime/server.mjs +124 -124
  44. package/templates/.agents/dashboard/packages/local-runtime/src/project-settings.test.ts +3 -3
  45. package/templates/.agents/dashboard/packages/local-runtime/src/server-snapshot-refresh.test.ts +2 -2
  46. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-cost-filter-matrix.test.ts +1 -1
  47. package/templates/.agents/dashboard/packages/local-runtime/src/sqlite-pricing-provenance.test.ts +49 -13
  48. package/templates/.agents/dashboard/packages/ui/package.json +1 -1
  49. package/templates/.agents/dashboard/tests/e2e/package.json +1 -1
  50. package/templates/.agents/dashboard/tests/e2e/specs/dashboard.spec.ts +4 -6
  51. package/templates/.agents/dashboard/tests/e2e/specs/work-board-hydration.ts +38 -0
  52. package/templates/.agents/design/.zaip-managed.json +11 -7
  53. package/templates/.agents/design/apps/catalog/dist/assets/index-Cv4VfxTQ.js +72 -0
  54. package/templates/.agents/design/apps/catalog/dist/index.html +1 -1
  55. package/templates/.agents/design/apps/catalog/package.json +2 -2
  56. package/templates/.agents/design/apps/catalog/src/components/DashboardFiltersSpecimen.tsx +26 -21
  57. package/templates/.agents/design/apps/catalog/src/components/StackVersionFieldSpecimen.tsx +1 -5
  58. package/templates/.agents/design/apps/catalog/src/styles/stack-version-field.css +75 -13
  59. package/templates/.agents/design/packages/local-runtime/package.json +1 -1
  60. package/templates/.agents/requirements/autonomous-assurance.md +1 -1
  61. package/templates/.agents/requirements/cloud-hostinger-autonomy.md +1 -1
  62. package/templates/.agents/requirements/comparative-audit.md +1 -1
  63. package/templates/.agents/requirements/context-engine.md +1 -1
  64. package/templates/.agents/requirements/cost-observability.md +1 -1
  65. package/templates/.agents/requirements/dashboard-launch.md +1 -1
  66. package/templates/.agents/requirements/data-export.md +1 -1
  67. package/templates/.agents/requirements/design-system.md +1 -1
  68. package/templates/.agents/requirements/execution-engine.md +1 -1
  69. package/templates/.agents/requirements/kanban-dashboard.md +1 -1
  70. package/templates/.agents/requirements/model-orchestration.md +1 -1
  71. package/templates/.agents/requirements/public-distribution.md +1 -1
  72. package/templates/.agents/requirements/software-architecture.md +1 -1
  73. package/templates/.agents/requirements/strategic-improvements.md +1 -1
  74. package/templates/.agents/requirements/work-lifecycle.md +1 -1
  75. package/templates/.agents/requirements/zaip-strategic-95.md +1 -1
  76. package/templates/.agents/runtime/VERSION +1 -1
  77. package/templates/.agents/runtime/bin/zaip.mjs +58 -27
  78. package/templates/.agents/runtime/checksums.sha256 +6 -6
  79. package/templates/.agents/runtime/manifest.json +1 -1
  80. package/templates/.agents/runtime/pnpm-lock.sha256 +1 -1
  81. package/templates/.agents/runtime/provenance.json +5 -5
  82. package/templates/.agents/runtime/sbom.cdx.json +144 -162
  83. package/templates/.agents/skills/zaip-skill-execution/SKILL.md +1 -0
  84. package/templates/.agents/skills/zaip-skill-github-deploy/scripts/github-deploy-contract.test.mjs +3 -1
  85. package/templates/.agents/zaip-aios/VERSION +1 -1
  86. package/templates/template-manifest.json +89 -81
  87. package/templates/.agents/dashboard/apps/frontend/dist/assets/DashboardHelpDialog-Je5nK-Et.css +0 -1
  88. package/templates/.agents/dashboard/apps/frontend/dist/assets/ProjectSettingsPage-D46WWIKr.js +0 -3
  89. package/templates/.agents/dashboard/apps/frontend/dist/assets/index-Bas2TVju.js +0 -2
  90. /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
- await pending[slot]!.promise;
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
- pending[2]!.resolve();
99
- pending[1]!.resolve();
100
- pending[0]!.resolve();
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
- await pending[slot]!.promise;
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
- pending[1]!.resolve();
127
- pending[0]!.resolve();
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 any;
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 any;
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";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zaip-ai/dashboard-cost-monitor",
3
- "version": "3.5.0",
3
+ "version": "3.7.0",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zaip-ai/dashboard-operations",
3
- "version": "3.5.0",
3
+ "version": "3.7.0",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "exports": {
@@ -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, type TaskOrigin } from "./task-origin.js";
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>;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zaip-ai/dashboard-traceability",
3
- "version": "3.5.0",
3
+ "version": "3.7.0",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zaip-ai/dashboard-branding",
3
- "version": "3.5.0",
3
+ "version": "3.7.0",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zaip-ai/dashboard-contracts",
3
- "version": "3.5.0",
3
+ "version": "3.7.0",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zaip-ai/dashboard-data-export",
3
- "version": "3.5.0",
3
+ "version": "3.7.0",
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "exports": {