@clickraft/cli 0.7.1 → 0.7.3

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/CHANGELOG.md CHANGED
@@ -1,9 +1,21 @@
1
- ## [0.7.1](https://github.com/clickraft/cli/compare/v0.7.0...v0.7.1) (2026-05-26)
1
+ ## [0.7.3](https://github.com/clickraft/cli/compare/v0.7.2...v0.7.3) (2026-05-26)
2
2
 
3
3
  ### Bug Fixes
4
4
 
5
- * **workflows:** declared_params is an array, not a record ([59c6d6e](https://github.com/clickraft/cli/commit/59c6d6eaf17d46dde16e541c95dd391c0704fde5))
5
+ * **docs:** correct workflow examples — previous docs taught fictional node types ([bc45a97](https://github.com/clickraft/cli/commit/bc45a975c216120d753bea8fb92dbed14646cbc0))
6
6
 
7
7
  # Changelog
8
8
 
9
9
  All notable changes to the Clickraft CLI are documented here.
10
+
11
+ ## Unreleased
12
+
13
+ ### Fixed
14
+
15
+ - **Workflow docs taught fictional node types and port names.** All examples in
16
+ `docs/workflows.md` and `README.md` now use real node types from the server
17
+ registry (`textPrompt`, `imageGeneration`, `assistant`, etc.) and kebab-case
18
+ handle IDs (`text-output`, `prompt-input`, `image-output`, `image-input`).
19
+ Users who were following the old examples with `generate`/`upload` node types
20
+ or `image`/`file` port names will need to switch to the canonical values
21
+ listed in the new reference table in `docs/workflows.md`.
package/README.md CHANGED
@@ -60,7 +60,7 @@ clickraft workflow apply <workflow-id> --auto-rev --from-file ops.json
60
60
 
61
61
  # Or inline a single operation
62
62
  clickraft workflow apply <workflow-id> --auto-rev \
63
- --op '{"op":"add_node","node":{"id":"n1","type":"generate","config":{}}}'
63
+ --op '{"op":"add_node","node":{"id":"gen-1","type":"imageGeneration","config":{}}}'
64
64
  ```
65
65
 
66
66
  The `--auto-rev` flag is recommended for agent use — it fetches the current `canvas_rev` before mutating and retries once if a conflict occurs.
package/dist/cli.js CHANGED
@@ -4513,6 +4513,13 @@ function exitCodeForResult(result) {
4513
4513
  }
4514
4514
  return 0;
4515
4515
  }
4516
+ function splitCsvArray(values) {
4517
+ if (!values || values.length === 0) return void 0;
4518
+ const result = values.flatMap(
4519
+ (v) => v.split(",").map((s) => s.trim()).filter(Boolean)
4520
+ );
4521
+ return result.length > 0 ? result : void 0;
4522
+ }
4516
4523
  async function runTemplateList(argv, ctx, rc) {
4517
4524
  const parsed = parseArgs(argv, {
4518
4525
  string: [...COMMON_RICH_STRING_FLAGS, "scope", "q", "cursor", "limit"],
@@ -4521,7 +4528,7 @@ async function runTemplateList(argv, ctx, rc) {
4521
4528
  });
4522
4529
  const result = await listTemplates({
4523
4530
  q: parsed.string.q,
4524
- tags: parsed.array.tags,
4531
+ tags: splitCsvArray(parsed.array.tags),
4525
4532
  scope: parsed.string.scope,
4526
4533
  cursor: parsed.string.cursor,
4527
4534
  limit: optionalInt(parsed.string.limit, "limit"),
@@ -4561,7 +4568,7 @@ async function runTemplateFind(argv, ctx, rc) {
4561
4568
  if (!query) throw new ArgError("Missing required <query> argument.");
4562
4569
  const result = await findTemplates({
4563
4570
  query,
4564
- tags: parsed.array.tags,
4571
+ tags: splitCsvArray(parsed.array.tags),
4565
4572
  scope: parsed.string.scope,
4566
4573
  cursor: parsed.string.cursor,
4567
4574
  limit: optionalInt(parsed.string.limit, "limit"),
@@ -4692,7 +4699,7 @@ async function runWorkflowCreate(argv, ctx, rc) {
4692
4699
  });
4693
4700
  let name = parsed.string.name;
4694
4701
  let description = parsed.string.description;
4695
- let tags = parsed.array.tags;
4702
+ let tags = splitCsvArray(parsed.array.tags);
4696
4703
  let declaredParams;
4697
4704
  if (parsed.string["from-file"]) {
4698
4705
  const raw = await readJsonFile(parsed.string["from-file"]);