@assethub/cli 0.1.15 → 0.1.16

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/README.md CHANGED
@@ -141,7 +141,7 @@ Existing parts commands use the same canvas and durable operation storage:
141
141
  assethub parts split --source-id "$IMAGE_ASSET_ID" --canvas "$CANVAS_ID" --part-extractor V1.5 --wait
142
142
  # Select only the parts to execute; --all-ready selects all ready tasks.
143
143
  assethub parts split --source-id "$IMAGE_ASSET_ID" --canvas "$CANVAS_ID" --part-extractor V1.5 --all-ready --wait
144
- # Internal V3.6.1 runs the complete graph split through one analyze receipt.
144
+ # Internal V3.6.1 and V3.6.3 run the complete graph split through one analyze receipt.
145
145
  assethub production agents
146
146
  assethub parts split --source-id "$IMAGE_ASSET_ID" --canvas "$CANVAS_ID" --part-extractor V3.6.1 --all-ready --wait
147
147
  assethub production automation --canvas "$CANVAS_ID" --input-json @batch.json --wait
@@ -149,7 +149,8 @@ assethub production automation --canvas "$CANVAS_ID" --input-json @batch.json --
149
149
 
150
150
  `parts split` keeps separate analysis and selected-part execution phases. Each phase
151
151
  has its own saved operation ID, with the execution linked to the analysis run.
152
- For Internal `V3.6.1` (`V3.6.1 Primary Images First`), analysis runs the complete
152
+ For Internal `V3.6.1` (`V3.6.1 Primary Images First`) and `V3.6.3`
153
+ (`V3.6.3 Fast Analysis`, CLI 0.1.16+), analysis runs the complete
153
154
  Artifact Graph split. `--all-ready` waits for that one receipt and does not start a
154
155
  second production execution. Resume an interrupted graph split with
155
156
  `runs resume <operation-id>`; `--task-id`, `--mission-id`,
@@ -419,8 +420,11 @@ Image generation uses the `v2` endpoint with mandatory canvas history.
419
420
  `--api-version v1` is rejected; run `assethub capabilities` to check availability.
420
421
 
421
422
  Part extraction uses the same names shown in the AssetHub product: `V1.5`,
422
- `V2.0 alpha`, `V2.1 alpha`, and the Internal-only `V3.6.1` alias for
423
- `V3.6.1 Primary Images First`. Retired names are no longer accepted by the CLI.
423
+ `V2.0 alpha`, `V2.1 alpha`, and the Internal-only aliases `V3.6.1`
424
+ (`V3.6.1 Primary Images First`) and `V3.6.3` (`V3.6.3 Fast Analysis`).
425
+ Run `production agents` to check availability and `supportedOnGraphEndpoint`
426
+ before selecting a graph version. These aliases do not change the default.
427
+ Retired names are no longer accepted by the CLI.
424
428
  Internal agent IDs are intentionally not part of the CLI interface.
425
429
 
426
430
  The CLI only uses AssetHub's public API surface and is designed so this package
@@ -464,6 +468,13 @@ and each mode's `--max-rounds` policy come from `composer refine --list-modes`.
464
468
  Incomplete native results remain `needs_review` and return exit code 3, so inspect
465
469
  the execution and its new geometry asset IDs before continuing.
466
470
 
471
+ Native refinement `completed` or `reviewed` means execution finished; it is not
472
+ creator approval. Read `execution.refinement.report` and inspect the actual
473
+ `execution.composition` and downloaded meshes. Structured unresolved issues or
474
+ incomplete refinement can return `needs_review` (exit 3). Review narrative issues
475
+ even on completed runs, using overlays and oblique/side views before claiming
476
+ visual improvement.
477
+
467
478
  Existing Production outputs can be inspected and downloaded without regenerating:
468
479
 
469
480
  ```sh
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAsBA,OAAO,EAIL,KAAK,wBAAwB,EAO7B,KAAK,YAAY,EAEjB,KAAK,UAAU,EAgBhB,MAAM,sBAAsB,CAAA;AAa7B,OAAO,EAAC,kBAAkB,EAAc,MAAM,gCAAgC,CAAA;AAI9E,KAAK,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,CAAC,CAAA;AA8HxD,eAAO,MAAM,KAAK,4zZA4HjB,CAAA;AAq1ED;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,GACxC,OAAO,KAAK,KACX,wBA0BF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAChC,OAAO,KAAK,KACX,IAAI,CAAC,UAAU,EAAE,QAAQ,CAM1B,CAAA;AA6fF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,uBAAuB,GAClC,MAAM,SAAS,MAAM,EAAE,KACtB,YAAY,EAuGd,CAAA;AAkqCD,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;IACf,YAAY,EAAE,OAAO,CAAA;CACtB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,YAAY,MAAM,GAAG,SAAS,EAC9B,aAAa,MAAM,EAAE,EACrB,OAAO,KAAK,KACX,cAoBF,CAAA;AAED,KAAK,iBAAiB,GAAG,IAAI,CAC3B,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,EAC5C,SAAS,GACT,UAAU,GACV,KAAK,GACL,WAAW,GACX,QAAQ,GACR,OAAO,GACP,OAAO,GACP,UAAU,CACb,CAAA;AAED,eAAO,MAAM,iBAAiB,GAC5B,WAAW,MAAM,EACjB,MAAM,iBAAiB;;;;;;;;;;;;;;CAUvB,CAAA;AAEF,eAAO,MAAM,sBAAsB,GACjC,SAAS,UAAU,CAAC,OAAO,iBAAiB,CAAC,EAC7C,MAAM,iBAAiB,EACvB,SAAS,MAAM;;;;;;;;;;;;;;;;;;;;;;;CAYf,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAsBA,OAAO,EAIL,KAAK,wBAAwB,EAO7B,KAAK,YAAY,EAEjB,KAAK,UAAU,EAgBhB,MAAM,sBAAsB,CAAA;AAa7B,OAAO,EAAC,kBAAkB,EAAc,MAAM,gCAAgC,CAAA;AAI9E,KAAK,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,CAAC,CAAA;AAoIxD,eAAO,MAAM,KAAK,4zZA4HjB,CAAA;AAq1ED;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,GACxC,OAAO,KAAK,KACX,wBA0BF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAChC,OAAO,KAAK,KACX,IAAI,CAAC,UAAU,EAAE,QAAQ,CAM1B,CAAA;AA6fF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,uBAAuB,GAClC,MAAM,SAAS,MAAM,EAAE,KACtB,YAAY,EAuGd,CAAA;AAmqCD,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;IACf,YAAY,EAAE,OAAO,CAAA;CACtB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,YAAY,MAAM,GAAG,SAAS,EAC9B,aAAa,MAAM,EAAE,EACrB,OAAO,KAAK,KACX,cAoBF,CAAA;AAED,KAAK,iBAAiB,GAAG,IAAI,CAC3B,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,EAC5C,SAAS,GACT,UAAU,GACV,KAAK,GACL,WAAW,GACX,QAAQ,GACR,OAAO,GACP,OAAO,GACP,UAAU,CACb,CAAA;AAED,eAAO,MAAM,iBAAiB,GAC5B,WAAW,MAAM,EACjB,MAAM,iBAAiB;;;;;;;;;;;;;;CAUvB,CAAA;AAEF,eAAO,MAAM,sBAAsB,GACjC,SAAS,UAAU,CAAC,OAAO,iBAAiB,CAAC,EAC7C,MAAM,iBAAiB,EACvB,SAAS,MAAM;;;;;;;;;;;;;;;;;;;;;;;CAYf,CAAA"}
package/dist/index.js CHANGED
@@ -28,7 +28,7 @@ const defaultImageModelId = 'imageGen.nanoBanana2.openrouter';
28
28
  const defaultMeshModelId = 'meshGen.hunyuan31';
29
29
  const defaultProfileName = 'default';
30
30
  const defaultPartExtractorName = 'V1.5';
31
- const artifactGraphPartExtractorApiValue = 'ah_agent_graph_v3_6_1';
31
+ const isArtifactGraphPartExtractor = (value) => value === 'ah_agent_graph_v3_6_1' || value === 'ah_agent_graph_v3_6_3';
32
32
  const partExtractorOptions = [
33
33
  {
34
34
  publicName: 'V1.5',
@@ -47,9 +47,14 @@ const partExtractorOptions = [
47
47
  },
48
48
  {
49
49
  publicName: 'V3.6.1',
50
- apiValue: artifactGraphPartExtractorApiValue,
50
+ apiValue: 'ah_agent_graph_v3_6_1',
51
51
  aliases: ['v3.6.1', '3.6.1', 'v3.6.1 primary images first'],
52
52
  },
53
+ {
54
+ publicName: 'V3.6.3',
55
+ apiValue: 'ah_agent_graph_v3_6_3',
56
+ aliases: ['v3.6.3', '3.6.3', 'v3.6.3 fast analysis'],
57
+ },
53
58
  ];
54
59
  const partExtractorPublicNames = partExtractorOptions
55
60
  .map(option => option.publicName)
@@ -2746,7 +2751,7 @@ const isArtifactGraphPartSplit = (value, execution) => (value != null &&
2746
2751
  typeof value === 'object' &&
2747
2752
  'engine' in value &&
2748
2753
  value.engine === 'artifact-graph') ||
2749
- execution.resolvedInput?.agentVersion === artifactGraphPartExtractorApiValue;
2754
+ isArtifactGraphPartExtractor(execution.resolvedInput?.agentVersion);
2750
2755
  const commandParts = async (subcommand, ctx) => {
2751
2756
  const runPartSplit = async (source, operationId = getFlag(ctx.flags, 'operation-id') ?? randomUUID()) => {
2752
2757
  let orderId = source == null ? getFlag(ctx.flags, 'order-id') : undefined;
@@ -2757,13 +2762,14 @@ const commandParts = async (subcommand, ctx) => {
2757
2762
  const requestedAgentVersion = orderId == null || partExtractorFlag != null
2758
2763
  ? resolvePartExtractorApiValue(partExtractorFlag ?? defaultPartExtractorName)
2759
2764
  : undefined;
2760
- if (requestedAgentVersion === artifactGraphPartExtractorApiValue) {
2765
+ if (isArtifactGraphPartExtractor(requestedAgentVersion)) {
2766
+ const name = partExtractorPublicNameByApiValue.get(requestedAgentVersion);
2761
2767
  for (const flag of ['task-id', 'mission-id', 'part-extraction-mode']) {
2762
2768
  if (hasFlag(ctx.flags, flag))
2763
- throw new Error(`--${flag} is not supported with V3.6.1`);
2769
+ throw new Error(`--${flag} is not supported with ${name}`);
2764
2770
  }
2765
2771
  if (orderId != null)
2766
- throw new Error('--order-id is not supported with V3.6.1; use runs resume <operation-id> to resume a graph split');
2772
+ throw new Error(`--order-id is not supported with ${name}; use runs resume <operation-id> to resume a graph split`);
2767
2773
  }
2768
2774
  const session = await productionSession(ctx, orderId == null ? 'production.analyze' : 'production.execute');
2769
2775
  let execution;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@assethub/cli",
3
- "version": "0.1.15",
3
+ "version": "0.1.16",
4
4
  "description": "Command line interface for AssetHub.",
5
5
  "type": "module",
6
6
  "bin": {