@enterpriseai/cli 3.15.10 → 3.16.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 (43) hide show
  1. package/README.md +8 -2
  2. package/dist/commands/classifier.d.ts.map +1 -1
  3. package/dist/commands/classifier.js +4 -1
  4. package/dist/commands/classifier.js.map +1 -1
  5. package/dist/commands/docs.d.ts.map +1 -1
  6. package/dist/commands/docs.js +88 -31
  7. package/dist/commands/docs.js.map +1 -1
  8. package/dist/commands/init.d.ts +10 -1
  9. package/dist/commands/init.d.ts.map +1 -1
  10. package/dist/commands/init.js +60 -16
  11. package/dist/commands/init.js.map +1 -1
  12. package/dist/commands/start.d.ts +15 -0
  13. package/dist/commands/start.d.ts.map +1 -1
  14. package/dist/commands/start.js +99 -40
  15. package/dist/commands/start.js.map +1 -1
  16. package/dist/lib/agent-guide.js +2 -2
  17. package/dist/lib/agent-guide.js.map +1 -1
  18. package/dist/lib/ai-surface-installer.d.ts +38 -0
  19. package/dist/lib/ai-surface-installer.d.ts.map +1 -0
  20. package/dist/lib/ai-surface-installer.js +160 -0
  21. package/dist/lib/ai-surface-installer.js.map +1 -0
  22. package/dist/lib/ai-surfaces.d.ts +15 -0
  23. package/dist/lib/ai-surfaces.d.ts.map +1 -1
  24. package/dist/lib/ai-surfaces.js +155 -72
  25. package/dist/lib/ai-surfaces.js.map +1 -1
  26. package/dist/lib/api.d.ts +16 -2
  27. package/dist/lib/api.d.ts.map +1 -1
  28. package/dist/lib/api.js +43 -8
  29. package/dist/lib/api.js.map +1 -1
  30. package/dist/lib/local-isolation.d.ts +30 -0
  31. package/dist/lib/local-isolation.d.ts.map +1 -0
  32. package/dist/lib/local-isolation.js +179 -0
  33. package/dist/lib/local-isolation.js.map +1 -0
  34. package/dist/lib/project-manifest.d.ts +1 -0
  35. package/dist/lib/project-manifest.d.ts.map +1 -1
  36. package/dist/lib/project-manifest.js +12 -6
  37. package/dist/lib/project-manifest.js.map +1 -1
  38. package/package.json +2 -2
  39. package/resources/gofer/.gofer-version +11 -1
  40. package/resources/gofer/bash-scripts/sync-implementation-status.sh +3 -4
  41. package/resources/gofer/references/platform/eai-service-patterns.md +84 -1
  42. package/resources/gofer/templates/visuals/capability-heatmap-template.md +2 -2
  43. package/resources/linked-sources.json +3 -2
package/README.md CHANGED
@@ -290,8 +290,8 @@ route construction.
290
290
  | `eai workflow readiness [keys...]` | Check tenant access, plan metadata, and optional workflow readiness together |
291
291
  | `eai workflow status <key>` | Check whether an AI runtime workflow key is bound for the active tenant |
292
292
  | `eai workflow request <key>` | Request operator-assisted workflow binding when a workflow is not ready yet |
293
- | `eai docs upload <file>` | Upload a document |
294
- | `eai docs classify <file>` | Classify a document |
293
+ | `eai docs upload <file>` | Submit once for full processing with authorised app/workflow or project context |
294
+ | `eai docs classify <file>` | Submit once for classification with paired `--vertical-key` and `--workflow-key`, or authorised project context |
295
295
  | `eai docs index <id>` | Index a document for RAG |
296
296
 
297
297
  ### PublicAPI V4
@@ -584,6 +584,12 @@ provider startup or project handoff. In JSON, `launched` remains as an EAI Setup
584
584
  contract for Setup 0.3.19, while current Setup explicitly requests v2 with
585
585
  `--contract-version v2`.
586
586
 
587
+ Each graphical v2 entry reports its required CLI and verified installation
588
+ state. `eai start --surface <graphical-id> --install` quietly installs or
589
+ updates that CLI, then runs trusted detection again. A missing desktop app can
590
+ open its official page. If quiet installation cannot complete, EAI opens or
591
+ returns the official URL for visible password, consent, terms, or sign-in work.
592
+
587
593
  `eai start --check` never executes a provider binary. Desktop detection binds
588
594
  macOS/Windows signatures or Linux package ownership, architecture, repository,
589
595
  and signing keys; unsigned Linux portable apps require catalogued immutable
@@ -1 +1 @@
1
- {"version":3,"file":"classifier.d.ts","sourceRoot":"","sources":["../../src/commands/classifier.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyBpC,UAAU,eAAe;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,UAAU,eAAe;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC;IAC5C,UAAU,EAAE;QACV,MAAM,EAAE,eAAe,EAAE,CAAC;QAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA8ID,uGAAuG;AACvG,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAEpE;AAuTD,eAAO,MAAM,iBAAiB,SAgB3B,CAAC"}
1
+ {"version":3,"file":"classifier.d.ts","sourceRoot":"","sources":["../../src/commands/classifier.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AA0B5C,UAAU,eAAe;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,UAAU,eAAe;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC;IAC5C,UAAU,EAAE;QACV,MAAM,EAAE,eAAe,EAAE,CAAC;QAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA8ID,uGAAuG;AACvG,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAEpE;AAwTD,eAAO,MAAM,iBAAiB,SAgB3B,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * eai classifier — author, publish, and manage tenant workflow document classifiers.
3
3
  */
4
4
  import { readFile } from "node:fs/promises";
5
- import { Command } from "commander";
5
+ import { Command, Option } from "commander";
6
6
  import { parseApiError } from "../lib/api.js";
7
7
  import { normalizeFormat, resolveCommandContext } from "../lib/context.js";
8
8
  import * as out from "../lib/output.js";
@@ -281,6 +281,7 @@ async function targetClassifier(classifierKey, options) {
281
281
  classifierVersion: requestedVersion,
282
282
  verticalKey,
283
283
  workflowKey,
284
+ ...(options.documentLifecycle ? { documentLifecycle: options.documentLifecycle } : {}),
284
285
  },
285
286
  });
286
287
  const targeted = await requireJson(response, "Classifier target association");
@@ -375,6 +376,8 @@ classifierCommand
375
376
  .description("Associate a published classifier version with an app workflow")
376
377
  .requiredOption("--app <app-key>", "Target app key")
377
378
  .requiredOption("--workflow <workflow-key>", "Target workflow key")
379
+ .addOption(new Option("--document-lifecycle <profile>", "Document lifecycle for this app/workflow; omission preserves its existing setting")
380
+ .choices(["planning-assist-v1", "planning-assess-v1", "business-document-v1"]))
378
381
  .option("--version <number>", "Published version (defaults to the draft pointer)")
379
382
  .option("--tenant-id <id>", "Target tenant ID")
380
383
  .option("--format <format>", "Output format: text or json", "text")
@@ -1 +1 @@
1
- {"version":3,"file":"classifier.js","sourceRoot":"","sources":["../../src/commands/classifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"classifier.js","sourceRoot":"","sources":["../../src/commands/classifier.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAqB,aAAa,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,MAAM,sBAAsB,GAAG,4BAA4B,CAAC;AAuD5D,SAAS,cAAc,CACrB,MAA+B,EAC/B,KAAa;IAEb,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,eAAe,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,cAAc,CACrB,MAA+B,EAC/B,KAAa;IAEb,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3E,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAAc,EACd,wBAAiC;IAEjC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,IACE,CAAC,wBAAwB;QACzB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,oBAAoB,CAAC,CAAC,IAAI,CACvD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,SAAS,CACtC,EACD,CAAC;QACD,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IAC7D,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,OAAO,CAAC;IAC/C,IACE,UAAU,KAAK,OAAO;QACtB,UAAU,KAAK,SAAS;QACxB,UAAU,KAAK,QAAQ;QACvB,UAAU,KAAK,MAAM,EACrB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,cAAc,GAAG,cAAc,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAC/D,MAAM,mBAAmB,GAAG,cAAc,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;IACzE,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;IAC1C,IACE,aAAa,KAAK,SAAS;QAC3B,CAAC,OAAO,aAAa,KAAK,QAAQ;YAChC,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC;YAChC,aAAa,GAAG,CAAC,CAAC,EACpB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,cAAc,EAAE,mBAAmB,EAAE,aAAa,CAAC,CAAC;IACrE,IAAI,UAAU,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,UAAU,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CACxC,CAAC,SAAS,EAAE,KAAK,EAAmB,EAAE;QACpC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,sBAAsB,CAAC,CAAC;QACpE,OAAO;YACL,GAAG,EAAE,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC;YACrC,WAAW,EAAE,cAAc,CAAC,SAAS,EAAE,aAAa,CAAC;YACrD,WAAW,EAAE,cAAc,CAAC,SAAS,EAAE,aAAa,CAAC;YACrD,eAAe,EAAE,cAAc,CAAC,SAAS,EAAE,iBAAiB,CAAC;SAC9D,CAAC;IACJ,CAAC,CACF,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,CAAC,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO;QACL,aAAa;QACb,WAAW,EAAE,cAAc,CAAC,KAAK,EAAE,aAAa,CAAC;QACjD,WAAW,EACT,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;YACnC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,SAAS;YACvC,CAAC,CAAC,SAAS;QACf,WAAW,EAAE,cAAc,CAAC,KAAK,EAAE,aAAa,CAAC;QACjD,WAAW,EAAE,cAAc,CAAC,KAAK,EAAE,aAAa,CAAC;QACjD,MAAM,EACJ,wBAAwB;YACxB,CAAC,KAAK,CAAC,MAAM,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC;YAC3D,CAAC,CAAC,KAAK,CAAC,MAAM;YACd,CAAC,CAAC,OAAO;QACb,UAAU,EAAE;YACV,MAAM;YACN,iBAAiB,EACf,OAAO,KAAK,CAAC,UAAU,CAAC,iBAAiB,KAAK,QAAQ;gBACpD,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB;gBACpC,CAAC,CAAC,SAAS;SAChB;QACD,UAAU;QACV,cAAc;QACd,mBAAmB;QACnB,aAAa;QACb,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,KAAK,KAAK;QACpD,gBAAgB,EACd,wBAAwB,IAAI,OAAO,KAAK,CAAC,gBAAgB,KAAK,QAAQ;YACpE,CAAC,CAAC,KAAK,CAAC,gBAAgB;YACxB,CAAC,CAAC,SAAS;QACf,kBAAkB,EAChB,wBAAwB,IAAI,OAAO,KAAK,CAAC,kBAAkB,KAAK,QAAQ;YACtE,CAAC,CAAC,KAAK,CAAC,kBAAkB;YAC1B,CAAC,CAAC,SAAS;QACf,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;KAChE,CAAC;AACJ,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,OAAO,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,QAAkB,EAClB,SAAiB;IAEjB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,YAAY,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAgB;IAC3C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;QACtC,CAAC,CAAC,OAAO,CAAC,IAAI;QACd,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;YAC5B,CAAC,CAAC,OAAO,CAAC,KAAK;YACf,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC1B,IACE,CAAC,QAAQ,CAAC,GAAG,CAAC;YACd,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;YACnB,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ;YAC1B,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAC/B,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,CAAC;YACH,OAAO;gBACL;oBACE,GAAG,qBAAqB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;oBACxC,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,OAAO,EAAE,GAAG,CAAC,OAAO;iBACrB;aACF,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,MAAyB,EACzB,aAAqB;IAErB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,sBAAsB,EAAE;QAClE,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,EAAE,aAAa,EAAE;KACzB,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,mBAAmB,CAC9B,MAAM,WAAW,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CACjD,CAAC;IACF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,wCAAwC,aAAa,GAAG,CAAC,CAAC;IAC5E,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAAC,MAAc,EAAE,KAAc,EAAE,OAAe;IAClE,IAAI,MAAM,KAAK,MAAM;QAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;QAClC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,OAAiC;IAEjC,IAAI,CAAC,OAAO,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,oBAAoB,CAChC,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CACjD,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5E,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAC3E,IAAI,QAAQ,EAAE,MAAM,KAAK,UAAU,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CACb,qBAAqB,KAAK,CAAC,aAAa,qBAAqB,CAC9D,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAA4B;QACpC,GAAG,KAAK;QACR,GAAG,CAAC,QAAQ;YACV,CAAC,CAAC;gBACE,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;gBAC3C,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;aAChD;YACH,CAAC,CAAC,EAAE,CAAC;QACP,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;IACF,MAAM,QAAQ,GAAG,QAAQ;QACvB,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,cAAc,CACjC,sBAAsB,EACtB,QAAQ,CAAC,EAAE,EACX,IAAI,EACJ,QAAQ,CAAC,OAAO,CACjB;QACH,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;IACtE,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAC7D,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,0BAA0B,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,OAAiC;IAEjC,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAG,MAAM,WAAW,CAC/B,MAAM,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,sBAAsB,EAAE;QACzD,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,aAAa;KACpB,CAAC,EACF,iBAAiB,CAClB,CAAC;IACF,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,OAAO;IACT,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,GAAG,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAC/C,OAAO;IACT,CAAC;IACD,KAAK,MAAM,UAAU,IAAI,IAAI,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAuB;YAClC,CAAC,YAAY,EAAE,UAAU,CAAC,aAAa,CAAC;YACxC;gBACE,QAAQ;gBACR,GAAG,UAAU,CAAC,MAAM,IAAI,OAAO,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;aAC1G;YACD,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SACxD,CAAC;QACF,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnB,GAAG,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,aAAqB,EACrB,OAAiC;IAEjC,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAClE,IAAI,CAAC,KAAK;QACR,MAAM,IAAI,KAAK,CAAC,oBAAoB,aAAa,iBAAiB,CAAC,CAAC;IACtE,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,qBAAqB,aAAa,wBAAwB,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,gBAAgB,CACpD,wDAAwD,kBAAkB,CAAC,aAAa,CAAC,UAAU,EACnG;QACE,MAAM,EAAE,MAAM;QACd,IAAI,EAAE;YACJ,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,OAAO,EAAE,WAAW;YACpB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,OAAO;YACvC,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;YAC9C,aAAa,EAAE,KAAK,CAAC,aAAa;SACnC;KACF,CACF,CAAC;IACF,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IACpE,IACE,CAAC,QAAQ,CAAC,SAAS,CAAC;QACpB,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ;QACrC,OAAO,SAAS,CAAC,SAAS,KAAK,QAAQ,EACvC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,WAAW,CACT,MAAM,EACN,SAAS,EACT,wBAAwB,aAAa,YAAY,SAAS,CAAC,OAAO,EAAE,CACrE,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,aAAqB,EACrB,OAAgC;IAEhC,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAClE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,oBAAoB,aAAa,iBAAiB,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,qBAAqB,aAAa,+BAA+B,CAClE,CAAC;IACJ,CAAC;IACD,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO;QACtC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QACtC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;IAC3B,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CACb,cAAc,aAAa,+CAA+C,CAC3E,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC5C,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,gBAAgB,CACpD,wDAAwD,kBAAkB,CAAC,aAAa,CAAC,UAAU,EACnG;QACE,MAAM,EAAE,MAAM;QACd,IAAI,EAAE;YACJ,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,aAAa;YACb,iBAAiB,EAAE,gBAAgB;YACnC,WAAW;YACX,WAAW;YACX,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvF;KACF,CACF,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,+BAA+B,CAAC,CAAC;IAC9E,WAAW,CACT,MAAM,EACN,QAAQ,EACR,yBAAyB,aAAa,YAAY,gBAAgB,SAAS,WAAW,IAAI,WAAW,EAAE,CACxG,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,aAAqB,EACrB,SAA+B,EAC/B,OAAiC;IAEjC,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAClE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,oBAAoB,aAAa,iBAAiB,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,gBAAgB,CACpD,wDAAwD,kBAAkB,CAAC,aAAa,CAAC,IAAI,SAAS,EAAE,EACxG;QACE,MAAM,EAAE,MAAM;QACd,IAAI,EAAE;YACJ,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,eAAe,EAAE,KAAK,CAAC,OAAO;SAC/B;KACF,CACF,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,cAAc,SAAS,EAAE,CAAC,CAAC;IACtE,WAAW,CACT,MAAM,EACN,MAAM,EACN,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,eAAe,aAAa,EAAE,CAClF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,aAAqB,EACrB,OAAiC;IAEjC,MAAM,yBAAyB,CAAC,aAAa,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AACrE,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,aAAqB,EACrB,OAAiC;IAEjC,MAAM,yBAAyB,CAAC,aAAa,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AACpE,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,aAAqB,EACrB,OAAgC;IAEhC,IAAI,OAAO,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,gCAAgC,aAAa,GAAG,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAClE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,oBAAoB,aAAa,iBAAiB,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,sBAAsB,aAAa,sBAAsB,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,cAAc,aAAa,sFAAsF,CAClH,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,gBAAgB,CACpD,wDAAwD,kBAAkB,CAAC,aAAa,CAAC,EAAE,EAC3F;QACE,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE;YACJ,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,eAAe,EAAE,KAAK,CAAC,OAAO;YAC9B,YAAY,EAAE,aAAa;SAC5B;KACF,CACF,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IAChE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,sBAAsB,aAAa,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC;KACvD,WAAW,CACV,2FAA2F,CAC5F;KACA,WAAW,CACV,OAAO,EACP;;;;;;;;;CASH,CACE,CAAC;AAEJ,iBAAiB;KACd,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,gEAAgE,CAAC;KAC7E,cAAc,CAAC,eAAe,EAAE,4BAA4B,CAAC;KAC7D,MAAM,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;KAC9C,MAAM,CAAC,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,CAAC;KAClE,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC;KAC9C,MAAM,CAAC,cAAc,CAAC,CAAC;AAE1B,iBAAiB;KACd,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,8CAA8C,CAAC;KAC3D,MAAM,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;KAC9C,MAAM,CAAC,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,CAAC;KAClE,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC;KAC9C,MAAM,CAAC,eAAe,CAAC,CAAC;AAE3B,iBAAiB;KACd,OAAO,CAAC,0BAA0B,CAAC;KACnC,WAAW,CAAC,wDAAwD,CAAC;KACrE,MAAM,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;KAC9C,MAAM,CAAC,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,CAAC;KAClE,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC;KAC9C,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAE7B,iBAAiB;KACd,OAAO,CAAC,yBAAyB,CAAC;KAClC,WAAW,CAAC,+DAA+D,CAAC;KAC5E,cAAc,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;KACnD,cAAc,CAAC,2BAA2B,EAAE,qBAAqB,CAAC;KAClE,SAAS,CAAC,IAAI,MAAM,CAAC,gCAAgC,EAAE,mFAAmF,CAAC;KACzI,OAAO,CAAC,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,sBAAsB,CAAC,CAAC,CAAC;KAChF,MAAM,CACL,oBAAoB,EACpB,mDAAmD,CACpD;KACA,MAAM,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;KAC9C,MAAM,CAAC,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,CAAC;KAClE,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC;KAC9C,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAE5B,iBAAiB;KACd,OAAO,CAAC,0BAA0B,CAAC;KACnC,WAAW,CAAC,wDAAwD,CAAC;KACrE,MAAM,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;KAC9C,MAAM,CAAC,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,CAAC;KAClE,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC;KAC9C,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAE7B,iBAAiB;KACd,OAAO,CAAC,yBAAyB,CAAC;KAClC,WAAW,CAAC,iCAAiC,CAAC;KAC9C,MAAM,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;KAC9C,MAAM,CAAC,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,CAAC;KAClE,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC;KAC9C,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAE5B,iBAAiB;KACd,OAAO,CAAC,yBAAyB,CAAC;KAClC,WAAW,CACV,yEAAyE,CAC1E;KACA,cAAc,CACb,4BAA4B,EAC5B,sDAAsD,CACvD;KACA,MAAM,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;KAC9C,MAAM,CAAC,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,CAAC;KAClE,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC;KAC9C,MAAM,CAAC,gBAAgB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkCpC,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAK3E;AAED,eAAO,MAAM,WAAW,SAgBpB,CAAC"}
1
+ {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmDpC,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAK3E;AAED,eAAO,MAAM,WAAW,SAoBpB,CAAC"}
@@ -4,8 +4,19 @@
4
4
  import { Command } from 'commander';
5
5
  import ora from 'ora';
6
6
  import chalk from 'chalk';
7
- import { parseApiError } from '../lib/api.js';
8
- import { resolveCommandContext } from '../lib/context.js';
7
+ import { parseApiError, validateDocumentUploadContext } from '../lib/api.js';
8
+ import { makeSpinner, resolveCommandContext } from '../lib/context.js';
9
+ import * as out from '../lib/output.js';
10
+ function addUploadOptions(command) {
11
+ return command
12
+ .option('--tenant-id <id>', 'Use a specific tenant with the current user login')
13
+ .option('--storage-target <target>', 'Curate storage target (resourceapi); requires app/workflow or project context')
14
+ .option('--business-request-id <id>', 'Existing authorized Curate business request')
15
+ .option('--planning-application-id <id>', 'Existing authorized Curate planning-application resource')
16
+ .option('--vertical-key <key>', 'App key for the published workflow classifier')
17
+ .option('--workflow-key <key>', 'Workflow key for the published classifier; requires --vertical-key')
18
+ .option('--format <format>', 'Output format (text|json)', 'text');
19
+ }
9
20
  export async function readResponseError(response) {
10
21
  const parsed = await parseApiError(response);
11
22
  return [parsed.code, parsed.message]
@@ -16,58 +27,90 @@ export const docsCommand = new Command('docs')
16
27
  .description('Document upload, classification, and indexing')
17
28
  .addHelpText('after', `
18
29
  Examples:
19
- $ eai docs upload ./reports/contract.pdf
20
- $ eai docs classify ./reports/contract.pdf
21
- $ eai docs index <documentId>
30
+ $ eai docs classify ./reports/contract.pdf --storage-target resourceapi --vertical-key business-docs --workflow-key review
31
+ $ eai docs classify ./reports/site-plan.pdf --storage-target resourceapi --planning-application-id <projectId>
32
+ $ eai docs upload ./reports/site-plan.pdf --storage-target resourceapi --planning-application-id <projectId>
22
33
 
23
34
  Typical workflow:
24
- 1. Upload a file
25
- 2. Classify it if your platform uses document classification
26
- 3. Index the document ID if you want it available to RAG or chat workflows
35
+ 1. Configure and publish the app's document schemas and workflow classifier
36
+ 2. Run classify once to upload and queue analysis, or upload for full processing
37
+ 3. Poll the returned job ID and read the saved results; acceptance is not completion
38
+
39
+ Standalone documents require a business document lifecycle enabled on the
40
+ app/workflow binding. PublicAPI checks readiness and permissions before writing.
41
+ Do not invent a planning ID or repeat the upload when a job is still processing.
27
42
 
28
43
  Use docs commands when the file is the subject of document processing or AI
29
44
  context. Use "eai resources file" when the file is an attachment to a typed
30
45
  resource object.
31
46
  `);
32
47
  // ─── eai docs upload ─────────────────────────────────────────────────────
33
- docsCommand
48
+ addUploadOptions(docsCommand
34
49
  .command('upload <file>')
35
- .description('Upload a document')
36
- .action(async (file) => {
37
- const { client } = await resolveCommandContext();
50
+ .description('Upload a document'))
51
+ .action(async (file, options) => {
38
52
  const { basename } = await import('node:path');
39
- const spinner = ora(`Uploading ${basename(file)}...`).start();
53
+ const spinner = makeSpinner(options.format || 'text', `Uploading ${basename(file)}...`);
40
54
  try {
41
- const res = await client.uploadDocument(file);
55
+ validateDocumentUploadContext(options);
56
+ const { client } = await resolveCommandContext({ tenantId: options.tenantId, interactive: !options.tenantId });
57
+ const res = await client.uploadDocument(file, options);
42
58
  if (!res.ok) {
43
- spinner.fail(await readResponseError(res));
44
- process.exit(1);
59
+ if (options.format === 'json') {
60
+ out.json({ ok: false, status: res.status, error: { message: await readResponseError(res) } });
61
+ process.exitCode = 1;
62
+ return;
63
+ }
64
+ throw new Error(await readResponseError(res));
45
65
  }
46
66
  const data = await res.json();
67
+ if (options.format === 'json') {
68
+ out.json({ ok: true, status: res.status, body: data });
69
+ return;
70
+ }
47
71
  const jobId = data.jobId || data.job_id;
48
72
  const documentId = data.documents?.[0]?.documentId || data.documents?.[0]?.document_id;
49
- spinner.succeed(`Queued ${chalk.cyan(basename(file))} for upload${jobId ? ` (${chalk.dim(`job ${jobId}`)})` : ''}${documentId ? ` — ${chalk.dim(documentId)}` : ''}`);
73
+ const message = `Queued ${chalk.cyan(basename(file))} for upload${jobId ? ` (${chalk.dim(`job ${jobId}`)})` : ''}${documentId ? ` — ${chalk.dim(documentId)}` : ''}`;
74
+ if (spinner)
75
+ spinner.succeed(message);
76
+ else
77
+ out.success(message);
50
78
  }
51
79
  catch (err) {
52
- spinner.fail(err instanceof Error ? err.message : String(err));
53
- process.exit(1);
80
+ const message = err instanceof Error ? err.message : String(err);
81
+ if (options.format === 'json')
82
+ out.json({ ok: false, error: { message } });
83
+ else if (spinner)
84
+ spinner.fail(message);
85
+ else
86
+ out.error(message);
87
+ process.exitCode = 1;
54
88
  }
55
89
  });
56
90
  // ─── eai docs classify ───────────────────────────────────────────────────
57
- docsCommand
91
+ addUploadOptions(docsCommand
58
92
  .command('classify <file>')
59
- .description('Classify a document')
60
- .action(async (file) => {
61
- const { client } = await resolveCommandContext();
93
+ .description('Classify a document'))
94
+ .action(async (file, options) => {
62
95
  const { basename } = await import('node:path');
63
- const spinner = ora(`Classifying ${basename(file)}...`).start();
96
+ const spinner = makeSpinner(options.format || 'text', `Classifying ${basename(file)}...`);
64
97
  try {
65
- const res = await client.classifyDocument(file);
98
+ validateDocumentUploadContext(options);
99
+ const { client } = await resolveCommandContext({ tenantId: options.tenantId, interactive: !options.tenantId });
100
+ const res = await client.classifyDocument(file, options);
66
101
  if (!res.ok) {
67
- spinner.fail(await readResponseError(res));
68
- process.exit(1);
102
+ if (options.format === 'json') {
103
+ out.json({ ok: false, status: res.status, error: { message: await readResponseError(res) } });
104
+ process.exitCode = 1;
105
+ return;
106
+ }
107
+ throw new Error(await readResponseError(res));
69
108
  }
70
109
  const data = await res.json();
110
+ if (options.format === 'json') {
111
+ out.json({ ok: true, status: res.status, body: data });
112
+ return;
113
+ }
71
114
  const jobId = data.jobId || data.job_id;
72
115
  const documentId = data.documentId
73
116
  || data.recordId
@@ -78,14 +121,28 @@ docsCommand
78
121
  const confidence = typeof data.classification.confidence === 'number'
79
122
  ? ` ${chalk.dim(`(${Math.round(data.classification.confidence * 100)}%)`)}`
80
123
  : '';
81
- spinner.succeed(`Classified ${chalk.cyan(basename(file))} as ${chalk.cyan(data.classification.type)}${confidence}${documentId ? ` — ${chalk.dim(documentId)}` : ''}${jobId ? ` ${chalk.dim(`job ${jobId}`)}` : ''}`);
124
+ const message = `Classified ${chalk.cyan(basename(file))} as ${chalk.cyan(data.classification.type)}${confidence}${documentId ? ` — ${chalk.dim(documentId)}` : ''}${jobId ? ` ${chalk.dim(`job ${jobId}`)}` : ''}`;
125
+ if (spinner)
126
+ spinner.succeed(message);
127
+ else
128
+ out.success(message);
82
129
  return;
83
130
  }
84
- spinner.succeed(`Queued ${chalk.cyan(basename(file))} for classification${jobId ? ` (${chalk.dim(`job ${jobId}`)})` : ''}${documentId ? ` — ${chalk.dim(documentId)}` : ''}`);
131
+ const message = `Queued ${chalk.cyan(basename(file))} for classification${jobId ? ` (${chalk.dim(`job ${jobId}`)})` : ''}${documentId ? ` — ${chalk.dim(documentId)}` : ''}`;
132
+ if (spinner)
133
+ spinner.succeed(message);
134
+ else
135
+ out.success(message);
85
136
  }
86
137
  catch (err) {
87
- spinner.fail(err instanceof Error ? err.message : String(err));
88
- process.exit(1);
138
+ const message = err instanceof Error ? err.message : String(err);
139
+ if (options.format === 'json')
140
+ out.json({ ok: false, error: { message } });
141
+ else if (spinner)
142
+ spinner.fail(message);
143
+ else
144
+ out.error(message);
145
+ process.exitCode = 1;
89
146
  }
90
147
  });
91
148
  // ─── eai docs index ──────────────────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,6BAA6B,EAA8B,MAAM,eAAe,CAAC;AACzG,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAC;AAOxC,SAAS,gBAAgB,CAAC,OAAgB;IACxC,OAAO,OAAO;SACX,MAAM,CAAC,kBAAkB,EAAE,mDAAmD,CAAC;SAC/E,MAAM,CAAC,2BAA2B,EAAE,+EAA+E,CAAC;SACpH,MAAM,CAAC,4BAA4B,EAAE,6CAA6C,CAAC;SACnF,MAAM,CAAC,gCAAgC,EAAE,0DAA0D,CAAC;SACpG,MAAM,CAAC,sBAAsB,EAAE,+CAA+C,CAAC;SAC/E,MAAM,CAAC,sBAAsB,EAAE,oEAAoE,CAAC;SACpG,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,CAAC,CAAC;AACtE,CAAC;AA8BD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,QAAkB;IACxD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC7C,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC;SACjC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAClD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;KAC3C,WAAW,CAAC,+CAA+C,CAAC;KAC5D,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;;;;;;;;;GAkBrB,CAAC,CAAC;AAEL,4EAA4E;AAE5E,gBAAgB,CAAC,WAAW;KACzB,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,mBAAmB,CAAC,CAAC;KACjC,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,OAA+B,EAAE,EAAE;IAC9D,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,EAAE,aAAa,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxF,IAAI,CAAC;QACH,6BAA6B,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,qBAAqB,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/G,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEvD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC9B,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC9F,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAsB,CAAC;QAClD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC9B,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC;QACvF,MAAM,OAAO,GAAG,UAAU,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,cAAc,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACrK,IAAI,OAAO;YAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;;YACjC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;aACtE,IAAI,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;YACnC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,4EAA4E;AAE5E,gBAAgB,CAAC,WAAW;KACzB,OAAO,CAAC,iBAAiB,CAAC;KAC1B,WAAW,CAAC,qBAAqB,CAAC,CAAC;KACnC,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,OAA+B,EAAE,EAAE;IAC9D,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,EAAE,eAAe,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1F,IAAI,CAAC;QACH,6BAA6B,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,qBAAqB,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/G,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC9B,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC9F,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAsB,CAAC;QAClD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC9B,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC;QACxC,MAAM,UAAU,GACd,IAAI,CAAC,UAAU;eACZ,IAAI,CAAC,QAAQ;eACb,IAAI,CAAC,gBAAgB;eACrB,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU;eAC/B,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC;QAEtC,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC;YAC9B,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,KAAK,QAAQ;gBACnE,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC3E,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,OAAO,GAAG,cAAc,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACpN,IAAI,OAAO;gBAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;;gBACjC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,UAAU,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,sBAAsB,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC7K,IAAI,OAAO;YAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;;YACjC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;aACtE,IAAI,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;YACnC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,4EAA4E;AAE5E,WAAW;KACR,OAAO,CAAC,oBAAoB,CAAC;KAC7B,WAAW,CAAC,0BAA0B,CAAC;KACvC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;IAC3B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,qBAAqB,EAAE,CAAC;IAEjD,MAAM,OAAO,GAAG,GAAG,CAAC,qBAAqB,UAAU,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;IAClE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,oBAAoB,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACvE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -11,10 +11,18 @@ export interface TemplateClonePlan {
11
11
  readonly cloneSource: string;
12
12
  readonly displaySource: string;
13
13
  readonly pinnedCommit?: string;
14
+ readonly pinnedVersion?: string;
14
15
  }
15
16
  export declare function describeCloneFailure(templateSource: string, error: unknown): string;
16
17
  export declare function isDefaultTemplateSource(templateSource: string): boolean;
17
- export declare function resolveTemplateClonePlan(templateSource: string): TemplateClonePlan;
18
+ /**
19
+ * Validate a `--template-version` value before it reaches `git fetch`.
20
+ *
21
+ * Restricting the override to a release tag keeps arbitrary refs out of the
22
+ * fetch and guarantees the result is a revision the template actually published.
23
+ */
24
+ export declare function parseTemplateVersionOverride(value: string): string;
25
+ export declare function resolveTemplateClonePlan(templateSource: string, versionOverride?: string): TemplateClonePlan;
18
26
  /**
19
27
  * `--from` accepts any GitHub repo or local path, and install runs after
20
28
  * .env.local has been generated and hydrated. Only the canonical template is
@@ -40,6 +48,7 @@ export interface CreateCommandOptions {
40
48
  install?: boolean;
41
49
  packageProfile: string;
42
50
  appKey?: string;
51
+ templateVersion?: string;
43
52
  tool?: string;
44
53
  splash?: boolean;
45
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -129,6 +129,7 @@ function buildInitialProjectManifest(templatePlan, packageProfile) {
129
129
  },
130
130
  template: {
131
131
  repo: templatePlan.cloneSource,
132
+ version: templatePlan.pinnedVersion,
132
133
  commit: templatePlan.pinnedCommit,
133
134
  displaySource: templatePlan.displaySource,
134
135
  initializedAt: new Date().toISOString(),
@@ -171,8 +172,25 @@ function loadLinkedSourcesManifest() {
171
172
  export function isDefaultTemplateSource(templateSource) {
172
173
  return templateSource === TEMPLATE_REPO;
173
174
  }
174
- export function resolveTemplateClonePlan(templateSource) {
175
+ const RELEASE_TAG_PATTERN = /^v\d+\.\d+\.\d+$/;
176
+ /**
177
+ * Validate a `--template-version` value before it reaches `git fetch`.
178
+ *
179
+ * Restricting the override to a release tag keeps arbitrary refs out of the
180
+ * fetch and guarantees the result is a revision the template actually published.
181
+ */
182
+ export function parseTemplateVersionOverride(value) {
183
+ const trimmed = value.trim();
184
+ if (!RELEASE_TAG_PATTERN.test(trimmed)) {
185
+ throw new Error(`Template version "${value}" must be a published release tag such as v1.2.0.`);
186
+ }
187
+ return trimmed;
188
+ }
189
+ export function resolveTemplateClonePlan(templateSource, versionOverride) {
175
190
  if (!isDefaultTemplateSource(templateSource)) {
191
+ if (versionOverride !== undefined) {
192
+ throw new Error("--template-version can only be used with the canonical eai-app-template source.");
193
+ }
176
194
  return {
177
195
  cloneSource: templateSource,
178
196
  displaySource: describeTemplateSource(templateSource),
@@ -181,17 +199,28 @@ export function resolveTemplateClonePlan(templateSource) {
181
199
  const linkedSources = loadLinkedSourcesManifest();
182
200
  const cloneSource = linkedSources?.appTemplate?.repo || TEMPLATE_REPO;
183
201
  const pinnedCommit = linkedSources?.appTemplate?.commit;
202
+ const pinnedVersion = versionOverride !== undefined
203
+ ? parseTemplateVersionOverride(versionOverride)
204
+ : linkedSources?.appTemplate?.version;
205
+ // An explicit release override has no recorded SHA, so the tag itself becomes
206
+ // the fetch ref; the default path keeps fetching the immutable commit.
207
+ const resolvedCommit = versionOverride !== undefined ? undefined : pinnedCommit;
208
+ // The release tag names the revision; the commit is what is actually fetched,
209
+ // so a moved or deleted tag can never change what an existing pin resolves to.
210
+ const pinnedRef = pinnedVersion ?? resolvedCommit?.slice(0, 7);
184
211
  return {
185
212
  cloneSource,
186
- pinnedCommit,
187
- displaySource: pinnedCommit
188
- ? `${TEMPLATE_REPO_LABEL}@${pinnedCommit.slice(0, 7)}`
213
+ pinnedCommit: resolvedCommit,
214
+ pinnedVersion,
215
+ displaySource: pinnedRef
216
+ ? `${TEMPLATE_REPO_LABEL}@${pinnedRef}`
189
217
  : TEMPLATE_REPO_LABEL,
190
218
  };
191
219
  }
192
220
  async function cloneTemplate(templateSource, targetDir, options = {}) {
193
- const plan = resolveTemplateClonePlan(templateSource);
194
- if (!plan.pinnedCommit) {
221
+ const plan = resolveTemplateClonePlan(templateSource, options.version);
222
+ const fetchRef = plan.pinnedCommit ?? plan.pinnedVersion;
223
+ if (!fetchRef) {
195
224
  await exec("git", ["clone", "--depth", "1", plan.cloneSource, targetDir]);
196
225
  return plan;
197
226
  }
@@ -212,9 +241,18 @@ async function cloneTemplate(templateSource, targetDir, options = {}) {
212
241
  "--depth",
213
242
  "1",
214
243
  "origin",
215
- plan.pinnedCommit,
244
+ fetchRef,
216
245
  ]);
217
246
  await exec("git", ["-C", targetDir, "checkout", "FETCH_HEAD"]);
247
+ if (plan.pinnedVersion && !plan.pinnedCommit) {
248
+ const { stdout } = await exec("git", [
249
+ "-C",
250
+ targetDir,
251
+ "rev-parse",
252
+ "HEAD",
253
+ ]);
254
+ return { ...plan, pinnedCommit: stdout.trim() };
255
+ }
218
256
  return plan;
219
257
  }
220
258
  catch (error) {
@@ -224,15 +262,15 @@ async function cloneTemplate(templateSource, targetDir, options = {}) {
224
262
  }
225
263
  await rm(targetDir, { recursive: true, force: true });
226
264
  await exec("git", ["clone", plan.cloneSource, targetDir]);
227
- await exec("git", ["-C", targetDir, "checkout", plan.pinnedCommit]);
265
+ await exec("git", ["-C", targetDir, "checkout", fetchRef]);
228
266
  return plan;
229
267
  }
230
268
  }
231
- async function copyTemplateIntoTargetDir(templateSource, targetDir) {
269
+ async function copyTemplateIntoTargetDir(templateSource, targetDir, version) {
232
270
  const templateDir = await mkdtemp(join(tmpdir(), "eai-template-"));
233
271
  try {
234
272
  await chmod(templateDir, 0o700);
235
- const plan = await cloneTemplate(templateSource, templateDir);
273
+ const plan = await cloneTemplate(templateSource, templateDir, { version });
236
274
  await rm(join(templateDir, ".git"), { recursive: true, force: true });
237
275
  // Current-directory init updates matching scaffold-managed files while
238
276
  // preserving unrelated files and existing repository metadata.
@@ -286,6 +324,7 @@ export const initCommand = new Command("init")
286
324
  .option("--display-name <name>", "Display name for the app")
287
325
  .option("--description <description>", "One-sentence description for the app")
288
326
  .option("--app-key <key>", "Bind the local project to an existing app instead of creating a new app")
327
+ .option("--template-version <tag>", "Scaffold from a specific published app-template release (for example v1.2.0)")
289
328
  .option("--no-splash", "Skip the interactive EAI wordmark")
290
329
  .addHelpText("after", `
291
330
  Gofer AI CLI assets are installed by default:
@@ -295,9 +334,9 @@ Gofer AI CLI assets are installed by default:
295
334
  .system/skills as a legacy Codex mirror
296
335
  .github/prompts, .github/instructions, and .github/skills for GitHub Copilot
297
336
 
298
- The default public template is pinned to the latest eai-app-template main
299
- commit captured when this CLI release was cut. Use --from to override it with
300
- another repo or local path.
337
+ The default public template is pinned to a published eai-app-template release.
338
+ Use --template-version to select a different release, or --from to use another
339
+ repo or local path.
301
340
 
302
341
  Use --no-gofer only when you need a bare app scaffold.
303
342
  `)
@@ -409,14 +448,16 @@ Use --no-gofer only when you need a bare app scaffold.
409
448
  out.blank();
410
449
  // Step 1: Clone template
411
450
  const cloneSpinner = startEaiStep("Cloning template...");
412
- const templatePlan = resolveTemplateClonePlan(options.from);
451
+ let templatePlan;
413
452
  try {
453
+ templatePlan = resolveTemplateClonePlan(options.from, options.templateVersion);
414
454
  if (targetUsesCurrentDir) {
415
- await copyTemplateIntoTargetDir(options.from, targetDir);
455
+ templatePlan = await copyTemplateIntoTargetDir(options.from, targetDir, options.templateVersion);
416
456
  }
417
457
  else {
418
- await cloneTemplate(options.from, targetDir, {
458
+ templatePlan = await cloneTemplate(options.from, targetDir, {
419
459
  allowTargetRemoval: true,
460
+ version: options.templateVersion,
420
461
  });
421
462
  }
422
463
  // Remove .git to start fresh
@@ -667,6 +708,7 @@ export const createCommand = new Command("create")
667
708
  .option("--no-install", "Skip installing the generated app dependencies")
668
709
  .option("--package-profile <profile>", "Package profile to record for block catalog discovery: external, internal, or hybrid", "external")
669
710
  .option("--app-key <key>", "Bind the local project to an existing app instead of creating a new app")
711
+ .option("--template-version <tag>", "Scaffold from a specific published app-template release (for example v1.2.0)")
670
712
  .option("--tool <tool>", "AI tool to prepare for: codex, claude, vscode, grok, or antigravity")
671
713
  .option("--no-splash", "Skip the interactive EAI wordmark")
672
714
  .addHelpText("after", `
@@ -769,6 +811,8 @@ export function buildForwardedInitArgs(nameArg, options, answers, tenantId) {
769
811
  args.push("--company-tenant", companyTenant);
770
812
  if (options.appKey)
771
813
  args.push("--app-key", options.appKey);
814
+ if (options.templateVersion !== undefined)
815
+ args.push("--template-version", options.templateVersion);
772
816
  if (options.parentTenant)
773
817
  args.push("--parent-tenant", options.parentTenant);
774
818
  if (options.childTenant)