@zaip-ai/cli 1.3.6 → 1.3.7

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 (33) hide show
  1. package/README.md +1 -1
  2. package/dist/commands/init.d.ts.map +1 -1
  3. package/dist/commands/init.js +7 -0
  4. package/dist/commands/init.js.map +1 -1
  5. package/dist/services/sqlite-bootstrap.d.ts +29 -0
  6. package/dist/services/sqlite-bootstrap.d.ts.map +1 -0
  7. package/dist/services/sqlite-bootstrap.js +141 -0
  8. package/dist/services/sqlite-bootstrap.js.map +1 -0
  9. package/package.json +2 -2
  10. package/templates/.agents/dashboard/.zaip-managed.json +11 -11
  11. package/templates/.agents/dashboard/apps/frontend/dist/assets/{DashboardHelpDialog-3Lrfq645.js → DashboardHelpDialog--czwAlcH.js} +722 -722
  12. package/templates/.agents/dashboard/apps/frontend/dist/assets/{TraceabilityWorkspace-diq9g1L8.js → TraceabilityWorkspace-CAqYVin1.js} +1 -1
  13. package/templates/.agents/dashboard/apps/frontend/dist/assets/{index-Deo_W81f.js → index-CblPpexd.js} +2 -2
  14. package/templates/.agents/dashboard/apps/frontend/dist/index.html +1 -1
  15. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-prerequisites.mjs +5 -5
  16. package/templates/.agents/dashboard/packages/local-runtime/start-dashboard-prerequisites.test.mjs +8 -0
  17. package/templates/.agents/requirements/autonomous-assurance.md +1 -1
  18. package/templates/.agents/requirements/comparative-audit.md +1 -1
  19. package/templates/.agents/requirements/context-engine.md +1 -1
  20. package/templates/.agents/requirements/cost-observability.md +1 -1
  21. package/templates/.agents/requirements/dashboard-launch.md +1 -1
  22. package/templates/.agents/requirements/data-export.md +1 -1
  23. package/templates/.agents/requirements/design-system.md +1 -1
  24. package/templates/.agents/requirements/execution-engine.md +1 -1
  25. package/templates/.agents/requirements/kanban-dashboard.md +1 -1
  26. package/templates/.agents/requirements/model-orchestration.md +1 -1
  27. package/templates/.agents/requirements/public-distribution.md +1 -1
  28. package/templates/.agents/requirements/software-architecture.md +1 -1
  29. package/templates/.agents/requirements/strategic-improvements.md +1 -1
  30. package/templates/.agents/requirements/work-lifecycle.md +1 -1
  31. package/templates/.agents/requirements/zaip-strategic-95.md +1 -1
  32. package/templates/README.md +1 -1
  33. package/templates/template-manifest.json +29 -29
package/README.md CHANGED
@@ -17,7 +17,7 @@ npm install --global @zaip-ai/cli
17
17
  zaip init
18
18
  ```
19
19
 
20
- The CLI requires Node.js 22 or newer. It finds the nearest Git root from the selected directory;
20
+ The CLI requires Node.js 22.16.0 or newer. It finds the nearest Git root from the selected directory;
21
21
  outside Git it installs into that directory and reports the fallback. The implementation targets
22
22
  Windows, macOS and Linux using Node.js filesystem APIs; it also implements CI, Git-worktree and
23
23
  paths-with-spaces flows.
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAe,UAAU,EAAE,MAAM,aAAa,CAAC;AAEvE,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,UAAU,CAAC,CAiCrB"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAe,UAAU,EAAE,MAAM,aAAa,CAAC;AAEvE,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,UAAU,CAAC,CAsCrB"}
@@ -1,6 +1,7 @@
1
1
  import { createInterface } from "node:readline/promises";
2
2
  import { installAgentsTemplate } from "../services/install-agents-template.js";
3
3
  import { printResult } from "../services/logger.js";
4
+ import { assertDashboardBootstrapPreflight, bootstrapDashboardSqlite, } from "../services/sqlite-bootstrap.js";
4
5
  export async function executeInit(directory, command, version, runtime = {}) {
5
6
  const stdin = runtime.stdin ?? process.stdin;
6
7
  const stdout = runtime.stdout ?? process.stdout;
@@ -21,7 +22,13 @@ export async function executeInit(directory, command, version, runtime = {}) {
21
22
  if (command.force && !command.yes) {
22
23
  options.confirmForce = confirmation(stdin, stdout);
23
24
  }
25
+ if (!options.dryRun)
26
+ await assertDashboardBootstrapPreflight();
24
27
  const result = await installAgentsTemplate(options);
28
+ if (result.applied && !result.dryRun) {
29
+ const sqlite = await bootstrapDashboardSqlite({ workspaceRoot: result.root });
30
+ stdout.write(`Dashboard SQLite pronto: ${sqlite.path} (${sqlite.cache}).\n`);
31
+ }
25
32
  printResult(stdout, result, version, command.verbose);
26
33
  if (command.projectOnly) {
27
34
  stdout.write("Modo project-only: nenhum arquivo em ~/.codex foi lido ou alterado.\n");
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ export interface SqliteBootstrapResult {
2
+ path: string;
3
+ cache: string;
4
+ schema: Record<string, unknown>;
5
+ }
6
+ export interface SqliteBootstrapOptions {
7
+ workspaceRoot: string;
8
+ nodeVersion?: string;
9
+ executable?: string;
10
+ scriptPath?: string;
11
+ run?: (command: string, arguments_: readonly string[], options: {
12
+ cwd: string;
13
+ env: NodeJS.ProcessEnv;
14
+ }) => Promise<{
15
+ code: number | null;
16
+ stdout: string;
17
+ stderr: string;
18
+ }>;
19
+ }
20
+ /**
21
+ * Builds the disposable Dashboard SQLite read model using the runtime bundled
22
+ * in the installed template. It deliberately never invokes npm or pnpm: the
23
+ * shipped server.cjs already contains the runtime dependencies.
24
+ */
25
+ export declare function bootstrapDashboardSqlite(options: SqliteBootstrapOptions): Promise<SqliteBootstrapResult>;
26
+ /** Performs only the no-write checks needed before init copies template files. */
27
+ export declare function assertDashboardBootstrapPreflight(version?: string): Promise<void>;
28
+ export declare function assertSupportedNode(version: string): void;
29
+ //# sourceMappingURL=sqlite-bootstrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite-bootstrap.d.ts","sourceRoot":"","sources":["../../src/services/sqlite-bootstrap.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,CACJ,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;KAAE,KAC7C,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvE;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CAiEhC;AAED,kFAAkF;AAClF,wBAAsB,iCAAiC,CACrD,OAAO,SAAwB,GAC9B,OAAO,CAAC,IAAI,CAAC,CASf;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAczD"}
@@ -0,0 +1,141 @@
1
+ import { spawn } from "node:child_process";
2
+ import { access, mkdir } from "node:fs/promises";
3
+ import { join, resolve } from "node:path";
4
+ const MINIMUM_NODE = { major: 22, minor: 16 };
5
+ const MAX_OUTPUT_BYTES = 256 * 1024;
6
+ const BOOTSTRAP_TIMEOUT_MS = 120_000;
7
+ /**
8
+ * Builds the disposable Dashboard SQLite read model using the runtime bundled
9
+ * in the installed template. It deliberately never invokes npm or pnpm: the
10
+ * shipped server.cjs already contains the runtime dependencies.
11
+ */
12
+ export async function bootstrapDashboardSqlite(options) {
13
+ const workspaceRoot = resolve(options.workspaceRoot);
14
+ await assertDashboardBootstrapPreflight(options.nodeVersion ?? process.versions.node);
15
+ const scriptPath = resolve(options.scriptPath ??
16
+ join(workspaceRoot, ".agents/dashboard/packages/local-runtime/scripts/rebuild-sqlite-read-model.mjs"));
17
+ const runtimePath = resolve(scriptPath, "..", "../dist/server.cjs");
18
+ const lifecycleRuntimePath = resolve(workspaceRoot, ".agents/runtime/bin/zaip.mjs");
19
+ await Promise.all([access(scriptPath), access(runtimePath), access(lifecycleRuntimePath)]).catch(() => {
20
+ throw new Error("Dashboard SQLite bootstrap is unavailable because the installed runtime bundle is incomplete. Re-run zaip init to restore the managed Dashboard files.");
21
+ });
22
+ const run = options.run ?? runNode;
23
+ const environment = {
24
+ ...Object.fromEntries(Object.entries(process.env).filter(([key]) => !key.startsWith("ZAIP_SQLITE_"))),
25
+ ZAIP_WORKSPACE: workspaceRoot,
26
+ ZAIP_UI_ROOT: resolve(workspaceRoot, ".agents/dashboard/apps/frontend/dist"),
27
+ ZAIP_SQLITE_DB_PATH: resolve(workspaceRoot, ".local/dashboard-sqlite/read-model.sqlite"),
28
+ ZAIP_SQLITE_REFRESH_CLEANUP: "0",
29
+ ZAIP_SQLITE_CACHE_DIR: resolve(workspaceRoot, ".local/dashboard-sqlite/cache"),
30
+ ZAIP_SQLITE_PREFER_LAST_VALID_SEED: "0",
31
+ };
32
+ const lifecycle = await run(options.executable ?? process.execPath, [lifecycleRuntimePath, "--version"], {
33
+ cwd: workspaceRoot,
34
+ env: environment,
35
+ });
36
+ if (lifecycle.code !== 0) {
37
+ throw bootstrapFailure("could not verify the bundled lifecycle runtime", lifecycle);
38
+ }
39
+ // Empty consumer projects are valid. The read-model generator intentionally
40
+ // consumes an empty records root instead of requiring a development install.
41
+ await mkdir(resolve(workspaceRoot, ".agents/records"), { recursive: true });
42
+ const outcome = await run(options.executable ?? process.execPath, [scriptPath], {
43
+ cwd: workspaceRoot,
44
+ env: environment,
45
+ });
46
+ if (outcome.code !== 0) {
47
+ throw bootstrapFailure("failed", outcome);
48
+ }
49
+ const payload = parseBootstrapResult(outcome.stdout);
50
+ if (typeof payload.path !== "string" ||
51
+ typeof payload.cache !== "string" ||
52
+ payload.storage_mode !== "sqlite_read_model" ||
53
+ !isRecord(payload.schema)) {
54
+ throw new Error("Dashboard SQLite bootstrap returned an invalid validation result.");
55
+ }
56
+ return { path: payload.path, cache: payload.cache, schema: payload.schema };
57
+ }
58
+ /** Performs only the no-write checks needed before init copies template files. */
59
+ export async function assertDashboardBootstrapPreflight(version = process.versions.node) {
60
+ assertSupportedNode(version);
61
+ try {
62
+ await import("node:sqlite");
63
+ }
64
+ catch {
65
+ throw new Error("Dashboard SQLite bootstrap requires Node.js 22.16.0 or newer with the built-in node:sqlite module.");
66
+ }
67
+ }
68
+ export function assertSupportedNode(version) {
69
+ const match = /^(\d+)\.(\d+)\.(\d+)/.exec(version);
70
+ const major = match === null ? Number.NaN : Number(match[1]);
71
+ const minor = match === null ? Number.NaN : Number(match[2]);
72
+ if (!Number.isInteger(major) ||
73
+ !Number.isInteger(minor) ||
74
+ major < MINIMUM_NODE.major ||
75
+ (major === MINIMUM_NODE.major && minor < MINIMUM_NODE.minor)) {
76
+ throw new Error(`Dashboard SQLite bootstrap requires Node.js 22.16.0 or newer; found ${version}.`);
77
+ }
78
+ }
79
+ function parseBootstrapResult(stdout) {
80
+ const line = stdout
81
+ .split(/\r?\n/)
82
+ .map((candidate) => candidate.trim())
83
+ .filter(Boolean)
84
+ .at(-1);
85
+ if (line === undefined)
86
+ throw new Error("Dashboard SQLite bootstrap produced no validation result.");
87
+ try {
88
+ const payload = JSON.parse(line);
89
+ if (!isRecord(payload))
90
+ throw new Error("not an object");
91
+ return payload;
92
+ }
93
+ catch {
94
+ throw new Error("Dashboard SQLite bootstrap produced invalid JSON.");
95
+ }
96
+ }
97
+ function isRecord(value) {
98
+ return typeof value === "object" && value !== null && !Array.isArray(value);
99
+ }
100
+ function bootstrapFailure(phase, outcome) {
101
+ const detail = (outcome.stderr || outcome.stdout).trim();
102
+ return new Error(`Dashboard SQLite bootstrap ${phase}${detail === "" ? "" : `: ${detail}`}. The template was installed safely; rerun "zaip init" after resolving the local runtime issue.`);
103
+ }
104
+ function runNode(command, arguments_, options) {
105
+ return new Promise((resolveRun, reject) => {
106
+ const child = spawn(command, arguments_, {
107
+ cwd: options.cwd,
108
+ env: options.env,
109
+ stdio: ["ignore", "pipe", "pipe"],
110
+ windowsHide: true,
111
+ });
112
+ let stdout = "";
113
+ let stderr = "";
114
+ let timedOut = false;
115
+ const timer = setTimeout(() => {
116
+ timedOut = true;
117
+ child.kill();
118
+ }, BOOTSTRAP_TIMEOUT_MS);
119
+ child.stdout.setEncoding("utf8");
120
+ child.stderr.setEncoding("utf8");
121
+ child.stdout.on("data", (chunk) => (stdout = appendOutput(stdout, chunk)));
122
+ child.stderr.on("data", (chunk) => (stderr = appendOutput(stderr, chunk)));
123
+ child.once("error", (error) => {
124
+ clearTimeout(timer);
125
+ reject(error);
126
+ });
127
+ child.once("close", (code) => {
128
+ clearTimeout(timer);
129
+ resolveRun({
130
+ code: timedOut ? null : code,
131
+ stdout,
132
+ stderr: timedOut ? `${stderr}\nTimed out after ${BOOTSTRAP_TIMEOUT_MS}ms.` : stderr,
133
+ });
134
+ });
135
+ });
136
+ }
137
+ function appendOutput(current, chunk) {
138
+ const remaining = MAX_OUTPUT_BYTES - Buffer.byteLength(current);
139
+ return remaining <= 0 ? current : `${current}${chunk.slice(0, remaining)}`;
140
+ }
141
+ //# sourceMappingURL=sqlite-bootstrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite-bootstrap.js","sourceRoot":"","sources":["../../src/services/sqlite-bootstrap.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zaip-ai/cli",
3
- "version": "1.3.6",
3
+ "version": "1.3.7",
4
4
  "description": "CLI oficial para instalar e configurar o ZAIP-AIOS em qualquer repositório",
5
5
  "type": "module",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -20,7 +20,7 @@
20
20
  "LICENSE"
21
21
  ],
22
22
  "engines": {
23
- "node": ">=22.0.0"
23
+ "node": ">=22.16.0"
24
24
  },
25
25
  "publishConfig": {
26
26
  "access": "public",
@@ -15,8 +15,8 @@
15
15
  "sha256": "f23b037ea7fc6f2637a23fcb26ce98947bf0c010afc210d18b576eb69c823433"
16
16
  },
17
17
  {
18
- "path": "apps/frontend/dist/assets/DashboardHelpDialog-3Lrfq645.js",
19
- "sha256": "b6722579101101a263f7886e95b6f2c43ed7cd882bd575616a2f904a73e56c91"
18
+ "path": "apps/frontend/dist/assets/DashboardHelpDialog--czwAlcH.js",
19
+ "sha256": "4c7db60a41c42384e9b69a4967e4b98e1027c52368c0f5eef8512fc449526dd5"
20
20
  },
21
21
  {
22
22
  "path": "apps/frontend/dist/assets/DashboardHelpDialog-Je5nK-Et.css",
@@ -35,12 +35,12 @@
35
35
  "sha256": "36b1e5da18839d94f78280b5b9e6a4d7b07f2fb8bae757e9496f9ab51ef42e1f"
36
36
  },
37
37
  {
38
- "path": "apps/frontend/dist/assets/TraceabilityWorkspace-DvvavDLY.css",
39
- "sha256": "2dc93c190042edd2f5c585aab941bcaa5506aa1a8b5f26afa6e99996ce957e35"
38
+ "path": "apps/frontend/dist/assets/TraceabilityWorkspace-CAqYVin1.js",
39
+ "sha256": "5f9559e34e723a1c61e0ec689d770c7bd80332a2f754365e722206c8d92e018f"
40
40
  },
41
41
  {
42
- "path": "apps/frontend/dist/assets/TraceabilityWorkspace-diq9g1L8.js",
43
- "sha256": "e2d2b13890f20acae8715646f952eb314947e12ad4e5899ef86b45cfd9e4fb40"
42
+ "path": "apps/frontend/dist/assets/TraceabilityWorkspace-DvvavDLY.css",
43
+ "sha256": "2dc93c190042edd2f5c585aab941bcaa5506aa1a8b5f26afa6e99996ce957e35"
44
44
  },
45
45
  {
46
46
  "path": "apps/frontend/dist/assets/cost-monitor-C09KmlSw.js",
@@ -59,8 +59,8 @@
59
59
  "sha256": "85e0d82ec83ee57fd8a3d32cbf29d0e6c2dc8a987734f733437788c7f3e2e1dc"
60
60
  },
61
61
  {
62
- "path": "apps/frontend/dist/assets/index-Deo_W81f.js",
63
- "sha256": "b59551d7b7166c80617fa81e5935962813c594db4f4ec6efc8a373f77c990add"
62
+ "path": "apps/frontend/dist/assets/index-CblPpexd.js",
63
+ "sha256": "8962739e3b7478cf27771f0d1b0a1c17f07c5ccda90008f793214f37521a5e70"
64
64
  },
65
65
  {
66
66
  "path": "apps/frontend/dist/assets/index-hPPfVGQv.css",
@@ -92,7 +92,7 @@
92
92
  },
93
93
  {
94
94
  "path": "apps/frontend/dist/index.html",
95
- "sha256": "29c1ba097ccd14a91973be2443cc4f353da9120ded68a4f81d00f432aa850b5b"
95
+ "sha256": "34ba95a4f02e4f3b1594d2de59493e59ed4992d53f2c786b928643c2d6349d65"
96
96
  },
97
97
  {
98
98
  "path": "apps/frontend/dist/logo_novo_azul.png",
@@ -1828,11 +1828,11 @@
1828
1828
  },
1829
1829
  {
1830
1830
  "path": "packages/local-runtime/start-dashboard-prerequisites.mjs",
1831
- "sha256": "6ab5f3fd3ef2aaea6eb80ca46d80fc8989f1f0923881eeea08d7897082a17ad5"
1831
+ "sha256": "d4d8db08332fd72409899a1db02191ed1b5a6cfcb1edb4f3b307b465ec761227"
1832
1832
  },
1833
1833
  {
1834
1834
  "path": "packages/local-runtime/start-dashboard-prerequisites.test.mjs",
1835
- "sha256": "29d50f7b6b5aebf0e2e577dad155c27b3631a49a40a6180b782538b216db2c6e"
1835
+ "sha256": "09b45d72d4940849fa64c94ea5e82928a4f1dc0073d57f38cbb30ac6b997467b"
1836
1836
  },
1837
1837
  {
1838
1838
  "path": "packages/local-runtime/start-dashboard-processes.mjs",