@cmssy/cli 0.16.0 → 0.18.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 (37) hide show
  1. package/dist/cli.js +46 -1
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/lib.d.ts +17 -0
  4. package/dist/commands/lib.d.ts.map +1 -0
  5. package/dist/commands/lib.js +132 -0
  6. package/dist/commands/lib.js.map +1 -0
  7. package/dist/commands/publish-block-buildtime.d.ts +8 -0
  8. package/dist/commands/publish-block-buildtime.d.ts.map +1 -0
  9. package/dist/commands/publish-block-buildtime.js +255 -0
  10. package/dist/commands/publish-block-buildtime.js.map +1 -0
  11. package/dist/commands/publish.js +3 -13
  12. package/dist/commands/publish.js.map +1 -1
  13. package/dist/types/publish-job.d.ts +61 -0
  14. package/dist/types/publish-job.d.ts.map +1 -0
  15. package/dist/types/publish-job.js +13 -0
  16. package/dist/types/publish-job.js.map +1 -0
  17. package/dist/utils/block-config.d.ts +1 -0
  18. package/dist/utils/block-config.d.ts.map +1 -1
  19. package/dist/utils/block-config.js +1 -1
  20. package/dist/utils/block-config.js.map +1 -1
  21. package/dist/utils/graphql.d.ts +4 -0
  22. package/dist/utils/graphql.d.ts.map +1 -1
  23. package/dist/utils/graphql.js +78 -0
  24. package/dist/utils/graphql.js.map +1 -1
  25. package/dist/utils/lib-manifest.d.ts +7 -0
  26. package/dist/utils/lib-manifest.d.ts.map +1 -0
  27. package/dist/utils/lib-manifest.js +59 -0
  28. package/dist/utils/lib-manifest.js.map +1 -0
  29. package/dist/utils/resolve-workspace.d.ts +6 -0
  30. package/dist/utils/resolve-workspace.d.ts.map +1 -0
  31. package/dist/utils/resolve-workspace.js +32 -0
  32. package/dist/utils/resolve-workspace.js.map +1 -0
  33. package/dist/utils/source-collector.d.ts +19 -0
  34. package/dist/utils/source-collector.d.ts.map +1 -0
  35. package/dist/utils/source-collector.js +563 -0
  36. package/dist/utils/source-collector.js.map +1 -0
  37. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import chalk from "chalk";
3
- import { Command } from "commander";
3
+ import { Command, Option } from "commander";
4
4
  import { buildCommand } from "./commands/build.js";
5
5
  import { codegenCommand } from "./commands/codegen.js";
6
6
  import { configureCommand } from "./commands/configure.js";
@@ -13,6 +13,8 @@ import { testCommand } from "./commands/test.js";
13
13
  import { syncCommand } from "./commands/sync.js";
14
14
  import { migrateCommand } from "./commands/migrate.js";
15
15
  import { publishCommand } from "./commands/publish.js";
16
+ import { publishBlockBuildtimeCommand } from "./commands/publish-block-buildtime.js";
17
+ import { libInstallCommand, libSyncCommand } from "./commands/lib.js";
16
18
  import { packageCommand } from "./commands/package.js";
17
19
  import { skillsInstallCommand, skillsListCommand } from "./commands/skills.js";
18
20
  import { uploadCommand } from "./commands/upload.js";
@@ -220,6 +222,49 @@ Content preservation:
220
222
  from config.ts / preview.json.
221
223
  `)
222
224
  .action(publishCommand);
225
+ program
226
+ .command("publish-block")
227
+ .description("Publish a single block via the build pipeline (Vercel Sandbox + Inngest).\n\n" +
228
+ " Sends the block source tree to the backend, which packs it as tar.gz,\n" +
229
+ " uploads to Vercel Blob, then enqueues an Inngest job that bundles in\n" +
230
+ " a sandbox and stores artifacts back to Blob.")
231
+ .argument("<name>", "Block directory name under blocks/")
232
+ .option("-w, --workspace [id]", "Workspace id (defaults to .env)")
233
+ .option("--entry <path>", "Entry path inside block dir (default: src/index.tsx)")
234
+ .option("--dry-run", "Collect files and print plan without uploading")
235
+ .addHelpText("after", `
236
+ Examples:
237
+ $ cmssy publish-block hero Publish blocks/hero
238
+ $ cmssy publish-block hero --dry-run Show what would be sent
239
+ $ cmssy publish-block faq -w 65f... Override workspace
240
+
241
+ Limits per block: 200 files, 10 MB total.
242
+ Build polling: 1.5s interval, 10 minute cap, gives up after 5 consecutive errors.
243
+ `)
244
+ .action((name, options) => publishBlockBuildtimeCommand(name, options));
245
+ const lib = program
246
+ .command("lib")
247
+ .description("Manage the workspace's npm dependency manifest");
248
+ lib
249
+ .command("install")
250
+ .description("Install npm package(s) locally and sync the manifest")
251
+ .argument("<packages...>", "npm package specs (e.g. lodash zod@^4)")
252
+ .option("-w, --workspace [id]", "Workspace id (defaults to .env)")
253
+ .addOption(new Option("--package-manager <pm>", "Force the package manager").choices([
254
+ "npm",
255
+ "pnpm",
256
+ "yarn",
257
+ "bun",
258
+ ]))
259
+ .option("--skip-install", "Skip local install; only sync from package.json")
260
+ .option("--dry-run", "Don't push manifest, just print it")
261
+ .action((packages, options) => libInstallCommand(packages, options));
262
+ lib
263
+ .command("sync")
264
+ .description("Push current package.json deps to the workspace manifest")
265
+ .option("-w, --workspace [id]", "Workspace id (defaults to .env)")
266
+ .option("--dry-run", "Don't push manifest, just print it")
267
+ .action((options) => libSyncCommand(options));
223
268
  // cmssy sync
224
269
  program
225
270
  .command("sync")
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ type PackageManager = "npm" | "pnpm" | "yarn" | "bun";
2
+ interface LibInstallOptions {
3
+ workspace?: string | boolean;
4
+ packageManager?: PackageManager;
5
+ skipInstall?: boolean;
6
+ dryRun?: boolean;
7
+ }
8
+ interface LibSyncOptions {
9
+ workspace?: string | boolean;
10
+ dryRun?: boolean;
11
+ }
12
+ export declare function libInstallCommand(packages: string[], options: LibInstallOptions): Promise<void>;
13
+ export declare function libSyncCommand(options: LibSyncOptions): Promise<void>;
14
+ export declare function detectPackageManager(cwd: string): PackageManager;
15
+ export declare function buildAddArgs(pm: PackageManager, packages: string[]): string[];
16
+ export {};
17
+ //# sourceMappingURL=lib.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/commands/lib.ts"],"names":[],"mappings":"AAoBA,KAAK,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAEtD,UAAU,iBAAiB;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,cAAc;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CA4Ff;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB3E;AAqCD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAMhE;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAG7E"}
@@ -0,0 +1,132 @@
1
+ import chalk from "chalk";
2
+ import { spawnSync } from "child_process";
3
+ import fs from "fs-extra";
4
+ import ora from "ora";
5
+ import path from "path";
6
+ import { hasConfig, loadConfig } from "../utils/config.js";
7
+ import { createClient, UPDATE_WORKSPACE_LIBS_MUTATION, } from "../utils/graphql.js";
8
+ import { loadLibManifestFromProject, RESERVED_PEERS, } from "../utils/lib-manifest.js";
9
+ import { resolveWorkspaceId, warnIfWorkspaceIdLooksWrong, } from "../utils/resolve-workspace.js";
10
+ export async function libInstallCommand(packages, options) {
11
+ console.log(chalk.blue.bold("\n📚 Cmssy - lib install\n"));
12
+ if (!hasConfig()) {
13
+ console.error(chalk.red("✖ Not configured. Run: cmssy link\n"));
14
+ process.exit(1);
15
+ }
16
+ const config = loadConfig();
17
+ if (!config.apiToken) {
18
+ console.error(chalk.red("✖ CMSSY_API_TOKEN missing in .env. Run: cmssy link\n"));
19
+ process.exit(1);
20
+ }
21
+ if (packages.length === 0) {
22
+ console.error(chalk.red("✖ No packages specified. Example: cmssy lib install lodash"));
23
+ process.exit(1);
24
+ }
25
+ const reserved = packages.filter((p) => RESERVED_PEERS.has(stripVersion(p)));
26
+ if (reserved.length > 0) {
27
+ console.log(chalk.yellow(`⚠ Skipping reserved peer dep(s) (managed by build worker): ${reserved.join(", ")}`));
28
+ }
29
+ const filtered = packages.filter((p) => !RESERVED_PEERS.has(stripVersion(p)));
30
+ if (filtered.length === 0 && !options.skipInstall) {
31
+ console.error(chalk.red("✖ Nothing to install after filtering reserved peers."));
32
+ process.exit(1);
33
+ }
34
+ const cwd = process.cwd();
35
+ const pm = options.packageManager ?? detectPackageManager(cwd);
36
+ if (!options.skipInstall) {
37
+ const args = buildAddArgs(pm, filtered);
38
+ console.log(chalk.gray(`▶ ${pm} ${args.join(" ")}`));
39
+ const result = spawnSync(pm, args, {
40
+ cwd,
41
+ stdio: "inherit",
42
+ shell: false,
43
+ });
44
+ if (result.error) {
45
+ console.error(chalk.red(`✖ ${pm} not found on PATH (${result.error.message}). Install it or pass --package-manager.`));
46
+ process.exit(1);
47
+ }
48
+ if (result.signal) {
49
+ console.error(chalk.red(`✖ ${pm} ${args.join(" ")} terminated by signal ${result.signal}`));
50
+ process.exit(1);
51
+ }
52
+ if (typeof result.status === "number" && result.status !== 0) {
53
+ console.error(chalk.red(`✖ ${pm} ${args.join(" ")} exited with code ${result.status}`));
54
+ process.exit(1);
55
+ }
56
+ if (result.status === null) {
57
+ console.error(chalk.red(`✖ ${pm} ${args.join(" ")} ended without an exit code (no signal reported)`));
58
+ process.exit(1);
59
+ }
60
+ console.log(chalk.green(`✔ ${pm} install complete`));
61
+ }
62
+ else {
63
+ console.log(chalk.gray(`Skipping local install (--skip-install). Reading manifest from existing package.json.`));
64
+ }
65
+ const manifest = await loadLibManifestFromProject(cwd);
66
+ await pushManifestToBackend(manifest, options, config);
67
+ }
68
+ export async function libSyncCommand(options) {
69
+ console.log(chalk.blue.bold("\n📚 Cmssy - lib sync\n"));
70
+ if (!hasConfig()) {
71
+ console.error(chalk.red("✖ Not configured. Run: cmssy link\n"));
72
+ process.exit(1);
73
+ }
74
+ const config = loadConfig();
75
+ if (!config.apiToken) {
76
+ console.error(chalk.red("✖ CMSSY_API_TOKEN missing in .env. Run: cmssy link\n"));
77
+ process.exit(1);
78
+ }
79
+ const cwd = process.cwd();
80
+ const manifest = await loadLibManifestFromProject(cwd);
81
+ await pushManifestToBackend(manifest, options, config);
82
+ }
83
+ async function pushManifestToBackend(manifest, options, config) {
84
+ const workspaceId = await resolveWorkspaceId(options.workspace, config);
85
+ warnIfWorkspaceIdLooksWrong(workspaceId);
86
+ const depsCount = Object.keys(manifest.dependencies).length;
87
+ console.log(chalk.gray(`\nManifest: ${depsCount} dependency(ies)`));
88
+ for (const [name, spec] of Object.entries(manifest.dependencies)) {
89
+ console.log(` ${name}@${spec}`);
90
+ }
91
+ if (options.dryRun) {
92
+ console.log(chalk.cyan(`\nDry run - not pushing to ${config.apiUrl}.`));
93
+ return;
94
+ }
95
+ const client = createClient();
96
+ client.setHeader("x-workspace-id", workspaceId);
97
+ const spinner = ora(`Updating workspace lib manifest`).start();
98
+ try {
99
+ await client.request(UPDATE_WORKSPACE_LIBS_MUTATION, {
100
+ input: { dependencies: manifest.dependencies },
101
+ });
102
+ spinner.succeed(`Lib manifest updated for workspace ${workspaceId}`);
103
+ }
104
+ catch (err) {
105
+ spinner.fail(`updateWorkspaceLibs failed: ${err instanceof Error ? err.message : String(err)}`);
106
+ process.exit(1);
107
+ }
108
+ }
109
+ export function detectPackageManager(cwd) {
110
+ if (fs.existsSync(path.join(cwd, "pnpm-lock.yaml")))
111
+ return "pnpm";
112
+ if (fs.existsSync(path.join(cwd, "yarn.lock")))
113
+ return "yarn";
114
+ if (fs.existsSync(path.join(cwd, "bun.lockb")))
115
+ return "bun";
116
+ if (fs.existsSync(path.join(cwd, "bun.lock")))
117
+ return "bun";
118
+ return "npm";
119
+ }
120
+ export function buildAddArgs(pm, packages) {
121
+ const verb = pm === "npm" ? "install" : "add";
122
+ return [verb, ...packages];
123
+ }
124
+ function stripVersion(spec) {
125
+ if (spec.startsWith("@")) {
126
+ const idx = spec.indexOf("@", 1);
127
+ return idx === -1 ? spec : spec.slice(0, idx);
128
+ }
129
+ const idx = spec.indexOf("@");
130
+ return idx === -1 ? spec : spec.slice(0, idx);
131
+ }
132
+ //# sourceMappingURL=lib.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/commands/lib.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ interface PublishBuildtimeOptions {
2
+ workspace?: string | boolean;
3
+ entry?: string;
4
+ dryRun?: boolean;
5
+ }
6
+ export declare function publishBlockBuildtimeCommand(blockName: string, options: PublishBuildtimeOptions): Promise<void>;
7
+ export {};
8
+ //# sourceMappingURL=publish-block-buildtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish-block-buildtime.d.ts","sourceRoot":"","sources":["../../src/commands/publish-block-buildtime.ts"],"names":[],"mappings":"AAoCA,UAAU,uBAAuB;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,4BAA4B,CAChD,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAsLf"}
@@ -0,0 +1,255 @@
1
+ import chalk from "chalk";
2
+ import fs from "fs-extra";
3
+ import ora from "ora";
4
+ import path from "path";
5
+ import { hasConfig, loadConfig } from "../utils/config.js";
6
+ import { createClient, PUBLISH_BLOCK_MUTATION, PUBLISH_JOB_FULL_QUERY, PUBLISH_JOB_STATUS_QUERY, } from "../utils/graphql.js";
7
+ import { collectBlockSources, } from "../utils/source-collector.js";
8
+ import { extractDefaultContent, loadBlockConfig, } from "../utils/block-config.js";
9
+ import { resolveWorkspaceId, warnIfWorkspaceIdLooksWrong, } from "../utils/resolve-workspace.js";
10
+ import { BLOCK_BUILD_STATUS, PUBLISH_JOB_STATUS, } from "../types/publish-job.js";
11
+ const BLOCK_TYPE_REGEX = /^[a-z][a-z0-9-]*$/;
12
+ const BLOCK_VERSION_REGEX = /^\d/;
13
+ const POLL_INTERVAL_MS = 1500;
14
+ const POLL_MAX_MS = 10 * 60 * 1000;
15
+ const POLL_MAX_CONSECUTIVE_ERRORS = 5;
16
+ export async function publishBlockBuildtimeCommand(blockName, options) {
17
+ console.log(chalk.blue.bold("\n📦 Cmssy - Publish (build pipeline)\n"));
18
+ if (!hasConfig()) {
19
+ console.error(chalk.red("✖ Not configured. Run: cmssy link\n"));
20
+ process.exit(1);
21
+ }
22
+ const config = loadConfig();
23
+ if (!config.apiToken) {
24
+ console.error(chalk.red("✖ CMSSY_API_TOKEN missing in .env. Run: cmssy link\n"));
25
+ process.exit(1);
26
+ }
27
+ if (!BLOCK_TYPE_REGEX.test(blockName)) {
28
+ console.error(chalk.red(`✖ Block name "${blockName}" must match /^[a-z][a-z0-9-]*$/ for the build pipeline (rejects path separators, traversal, uppercase)`));
29
+ process.exit(1);
30
+ }
31
+ const workspaceId = await resolveWorkspaceId(options.workspace, config);
32
+ warnIfWorkspaceIdLooksWrong(workspaceId);
33
+ const cwd = process.cwd();
34
+ const blocksRoot = path.resolve(cwd, "blocks");
35
+ const blockDir = path.resolve(blocksRoot, blockName);
36
+ if (blockDir !== blocksRoot && !blockDir.startsWith(blocksRoot + path.sep)) {
37
+ console.error(chalk.red(`✖ Block path "${blockDir}" escapes blocks/ root (refusing to read).`));
38
+ process.exit(1);
39
+ }
40
+ if (!(await fs.pathExists(blockDir))) {
41
+ console.error(chalk.red(`✖ Block "${blockName}" not found at ${blockDir}`));
42
+ process.exit(1);
43
+ }
44
+ const pkgPath = path.join(blockDir, "package.json");
45
+ if (!(await fs.pathExists(pkgPath))) {
46
+ console.error(chalk.red(`✖ ${pkgPath} not found - block must declare name+version`));
47
+ process.exit(1);
48
+ }
49
+ const pkg = (await fs.readJson(pkgPath));
50
+ if (typeof pkg.version !== "string") {
51
+ console.error(chalk.red(`✖ "version" field missing or not a string in ${pkgPath}`));
52
+ process.exit(1);
53
+ }
54
+ if (typeof pkg.name === "string" && pkg.name !== blockName) {
55
+ console.log(chalk.yellow(`⚠ package.json name "${pkg.name}" differs from directory "${blockName}"; using directory name as block type.`));
56
+ }
57
+ const blockType = blockName;
58
+ const blockVersion = pkg.version;
59
+ if (!BLOCK_VERSION_REGEX.test(blockVersion)) {
60
+ console.error(chalk.red(`✖ Block version "${blockVersion}" must start with a digit (loose semver)`));
61
+ process.exit(1);
62
+ }
63
+ const spinnerCollect = ora(`Collecting source files from blocks/${blockName}/`).start();
64
+ let collected;
65
+ try {
66
+ collected = await collectBlockSources({
67
+ blockDir,
68
+ entryRel: options.entry,
69
+ });
70
+ spinnerCollect.succeed(`Collected ${collected.files.length} source file(s) (entry: ${collected.entryPath})`);
71
+ }
72
+ catch (err) {
73
+ spinnerCollect.fail(err instanceof Error ? err.message : String(err));
74
+ process.exit(1);
75
+ }
76
+ if (options.dryRun) {
77
+ console.log(chalk.cyan(`\nDry run - would publish ${blockType}@${blockVersion} (${collected.files.length} file(s)):`));
78
+ for (const f of collected.files) {
79
+ console.log(` ${f.relPath}`);
80
+ }
81
+ console.log(chalk.gray(`\nTarget API: ${config.apiUrl}`));
82
+ console.log(chalk.gray(`Target workspace: ${workspaceId}\n`));
83
+ return;
84
+ }
85
+ // Extract defaultContent from config.ts so the backend smoke test
86
+ // can render the block with realistic props instead of a sentinel
87
+ // object. Null is fine - backend falls back to the legacy smoke
88
+ // sentinel. Deferred until after the dry-run short-circuit so the
89
+ // dry-run preview never executes the block's config.ts (which may
90
+ // have side effects: cache files, network, etc.).
91
+ let defaultContent = null;
92
+ try {
93
+ const blockConfig = await loadBlockConfig(blockDir);
94
+ if (blockConfig?.schema) {
95
+ defaultContent = extractDefaultContent(blockConfig.schema);
96
+ }
97
+ }
98
+ catch {
99
+ // Non-fatal - publish continues without defaultContent and the
100
+ // smoke test runs against the legacy sentinel content.
101
+ defaultContent = null;
102
+ }
103
+ const client = createClient();
104
+ client.setHeader("x-workspace-id", workspaceId);
105
+ const spinnerEnqueue = ora(`Enqueueing publish for ${blockType}@${blockVersion}`).start();
106
+ let job;
107
+ try {
108
+ const data = await client.request(PUBLISH_BLOCK_MUTATION, {
109
+ input: {
110
+ blockType,
111
+ blockVersion,
112
+ entryPath: collected.entryPath,
113
+ defaultContent,
114
+ files: collected.files.map((f) => ({
115
+ path: f.relPath,
116
+ contentBase64: f.contentBase64,
117
+ })),
118
+ },
119
+ });
120
+ job = data.publishBlock;
121
+ spinnerEnqueue.succeed(`Job queued: ${job.id}`);
122
+ }
123
+ catch (err) {
124
+ spinnerEnqueue.fail(err instanceof Error ? err.message : String(err));
125
+ process.exit(1);
126
+ }
127
+ let finalJob;
128
+ try {
129
+ finalJob = await pollJobUntilTerminal(client, job.id);
130
+ }
131
+ catch (err) {
132
+ console.error(chalk.red(`✖ ${err instanceof Error ? err.message : String(err)}`));
133
+ process.exit(1);
134
+ }
135
+ try {
136
+ const full = await client.request(PUBLISH_JOB_FULL_QUERY, { jobId: job.id });
137
+ if (full.publishJobStatus)
138
+ finalJob = full.publishJobStatus;
139
+ }
140
+ catch {
141
+ void 0;
142
+ }
143
+ printJobReport(finalJob);
144
+ if (finalJob.status !== PUBLISH_JOB_STATUS.COMPLETED) {
145
+ process.exit(1);
146
+ }
147
+ }
148
+ async function pollJobUntilTerminal(client, jobId) {
149
+ const spinner = ora("Building...").start();
150
+ const start = Date.now();
151
+ let last = null;
152
+ let consecutiveErrors = 0;
153
+ try {
154
+ while (Date.now() - start < POLL_MAX_MS) {
155
+ let res = null;
156
+ try {
157
+ res = await client.request(PUBLISH_JOB_STATUS_QUERY, { jobId });
158
+ consecutiveErrors = 0;
159
+ }
160
+ catch (err) {
161
+ consecutiveErrors += 1;
162
+ if (consecutiveErrors >= POLL_MAX_CONSECUTIVE_ERRORS) {
163
+ spinner.fail(`Polling failed ${consecutiveErrors} times in a row; giving up.`);
164
+ throw err;
165
+ }
166
+ spinner.text = `Polling error ${consecutiveErrors}/${POLL_MAX_CONSECUTIVE_ERRORS} (will retry): ${err instanceof Error ? err.message : String(err)}`;
167
+ await sleep(POLL_INTERVAL_MS);
168
+ continue;
169
+ }
170
+ if (!res.publishJobStatus) {
171
+ spinner.fail(`Job ${jobId} not visible (workspace mismatch or job deleted).`);
172
+ throw new Error(`publishJobStatus returned null for job ${jobId} - check workspace context`);
173
+ }
174
+ last = res.publishJobStatus;
175
+ spinner.text = renderProgress(last);
176
+ if (last.status === PUBLISH_JOB_STATUS.COMPLETED ||
177
+ last.status === PUBLISH_JOB_STATUS.FAILED) {
178
+ if (last.status === PUBLISH_JOB_STATUS.COMPLETED) {
179
+ spinner.succeed(`Job completed: ${jobId}`);
180
+ }
181
+ else {
182
+ spinner.fail(`Job failed: ${jobId}`);
183
+ }
184
+ return last;
185
+ }
186
+ await sleep(POLL_INTERVAL_MS);
187
+ }
188
+ const lastStatus = last?.status ?? "unknown";
189
+ spinner.fail(`Polling timed out after ${Math.round(POLL_MAX_MS / 1000)}s (job ${jobId}, last status: ${lastStatus})`);
190
+ throw new Error(`publish job ${jobId} did not reach a terminal state within ${Math.round(POLL_MAX_MS / 1000)}s (last status: ${lastStatus}). Check the workspace publish jobs UI for progress.`);
191
+ }
192
+ finally {
193
+ if (spinner.isSpinning)
194
+ spinner.stop();
195
+ }
196
+ }
197
+ function renderProgress(job) {
198
+ const phases = [];
199
+ const t = job.timings;
200
+ if (t.spawnMs)
201
+ phases.push(`spawn ${t.spawnMs}ms`);
202
+ if (t.networkLockdownMs)
203
+ phases.push(`netlock ${t.networkLockdownMs}ms`);
204
+ if (t.pnpmInstallMs)
205
+ phases.push(`pnpm ${t.pnpmInstallMs}ms`);
206
+ if (t.snapshotMs)
207
+ phases.push(`snap ${t.snapshotMs}ms`);
208
+ const blockBits = job.blocks.map((b) => `${b.type}=${b.status}${b.bundleMs ? `(${b.bundleMs}ms)` : ""}`);
209
+ return [
210
+ `Status: ${job.status}`,
211
+ phases.length ? phases.join(", ") : null,
212
+ blockBits.join(", "),
213
+ ]
214
+ .filter(Boolean)
215
+ .join(" | ");
216
+ }
217
+ function printJobReport(job) {
218
+ console.log("");
219
+ if (job.error) {
220
+ console.log(chalk.red(`✖ Fatal: ${job.error.code} (${job.error.stage}): ${job.error.message}`));
221
+ }
222
+ for (const b of job.blocks) {
223
+ const head = `${b.type}@${b.version}`;
224
+ if (b.status === BLOCK_BUILD_STATUS.PUBLISHED) {
225
+ const sizes = b.bundleSizes
226
+ ? ` server=${b.bundleSizes.server}B client=${b.bundleSizes.client}B styles=${b.bundleSizes.styles}B`
227
+ : "";
228
+ console.log(chalk.green(` ✔ ${head} - published${sizes}`));
229
+ if (b.bundleUrls) {
230
+ console.log(chalk.gray(` server: ${b.bundleUrls.server}`));
231
+ console.log(chalk.gray(` client: ${b.bundleUrls.client}`));
232
+ console.log(chalk.gray(` styles: ${b.bundleUrls.styles}`));
233
+ }
234
+ }
235
+ else {
236
+ const reason = b.error
237
+ ? `${b.error.code} (${b.error.stage}): ${b.error.message}`
238
+ : b.status;
239
+ console.log(chalk.red(` ✖ ${head} - ${reason}`));
240
+ }
241
+ }
242
+ const t = job.timings;
243
+ const anyTiming = t.spawnMs != null ||
244
+ t.networkLockdownMs != null ||
245
+ t.pnpmInstallMs != null ||
246
+ t.snapshotMs != null;
247
+ if (anyTiming) {
248
+ console.log(chalk.gray(`\nTimings: spawn=${t.spawnMs ?? 0}ms netlock=${t.networkLockdownMs ?? 0}ms pnpm=${t.pnpmInstallMs ?? 0}ms snap=${t.snapshotMs ?? 0}ms`));
249
+ }
250
+ console.log("");
251
+ }
252
+ function sleep(ms) {
253
+ return new Promise((res) => setTimeout(res, ms));
254
+ }
255
+ //# sourceMappingURL=publish-block-buildtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish-block-buildtime.js","sourceRoot":"","sources":["../../src/commands/publish-block-buildtime.ts"],"names":[],"mappings":"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"}
@@ -1014,17 +1014,7 @@ async function publishToWorkspace(pkg, workspaceId, apiToken, apiUrl, preserveCo
1014
1014
  // Re-export from publish-helpers (single source of truth)
1015
1015
  // DO NOT duplicate convertSchemaToFields here
1016
1016
  import { convertSchemaToFields } from "../utils/publish-helpers.js";
1017
- // Helper: Extract default content from schema
1018
- function extractDefaultContent(schema) {
1019
- const content = {};
1020
- Object.entries(schema).forEach(([key, field]) => {
1021
- if (field.defaultValue !== undefined) {
1022
- content[key] = field.defaultValue;
1023
- }
1024
- else if (field.type === "repeater") {
1025
- content[key] = [];
1026
- }
1027
- });
1028
- return content;
1029
- }
1017
+ // Single source of truth shared with publish-block-buildtime so the
1018
+ // two publish paths can't drift on what "default content" means.
1019
+ import { extractDefaultContent } from "../utils/block-config.js";
1030
1020
  //# sourceMappingURL=publish.js.map