@assethub/cli 0.1.15 → 0.1.17
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 +17 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -6
- package/package.json +1 -1
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
|
|
144
|
+
# Internal V3.6.1, V3.6.3 and V3.6.4 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,9 @@ 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`)
|
|
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+), and `V3.6.4`
|
|
154
|
+
(`V3.6.4 Fast Analysis`, CLI 0.1.17+), analysis runs the complete
|
|
153
155
|
Artifact Graph split. `--all-ready` waits for that one receipt and does not start a
|
|
154
156
|
second production execution. Resume an interrupted graph split with
|
|
155
157
|
`runs resume <operation-id>`; `--task-id`, `--mission-id`,
|
|
@@ -419,8 +421,12 @@ Image generation uses the `v2` endpoint with mandatory canvas history.
|
|
|
419
421
|
`--api-version v1` is rejected; run `assethub capabilities` to check availability.
|
|
420
422
|
|
|
421
423
|
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`
|
|
423
|
-
`V3.6.1 Primary Images First
|
|
424
|
+
`V2.0 alpha`, `V2.1 alpha`, and the Internal-only aliases `V3.6.1`
|
|
425
|
+
(`V3.6.1 Primary Images First`), `V3.6.3` (`V3.6.3 Fast Analysis`),
|
|
426
|
+
and `V3.6.4` (`V3.6.4 Fast Analysis`).
|
|
427
|
+
Run `production agents` to check availability and `supportedOnGraphEndpoint`
|
|
428
|
+
before selecting a graph version. These aliases do not change the default.
|
|
429
|
+
Retired names are no longer accepted by the CLI.
|
|
424
430
|
Internal agent IDs are intentionally not part of the CLI interface.
|
|
425
431
|
|
|
426
432
|
The CLI only uses AssetHub's public API surface and is designed so this package
|
|
@@ -464,6 +470,13 @@ and each mode's `--max-rounds` policy come from `composer refine --list-modes`.
|
|
|
464
470
|
Incomplete native results remain `needs_review` and return exit code 3, so inspect
|
|
465
471
|
the execution and its new geometry asset IDs before continuing.
|
|
466
472
|
|
|
473
|
+
Native refinement `completed` or `reviewed` means execution finished; it is not
|
|
474
|
+
creator approval. Read `execution.refinement.report` and inspect the actual
|
|
475
|
+
`execution.composition` and downloaded meshes. Structured unresolved issues or
|
|
476
|
+
incomplete refinement can return `needs_review` (exit 3). Review narrative issues
|
|
477
|
+
even on completed runs, using overlays and oblique/side views before claiming
|
|
478
|
+
visual improvement.
|
|
479
|
+
|
|
467
480
|
Existing Production outputs can be inspected and downloaded without regenerating:
|
|
468
481
|
|
|
469
482
|
```sh
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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;AA4IxD,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;AAwqCD,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,11 @@ const defaultImageModelId = 'imageGen.nanoBanana2.openrouter';
|
|
|
28
28
|
const defaultMeshModelId = 'meshGen.hunyuan31';
|
|
29
29
|
const defaultProfileName = 'default';
|
|
30
30
|
const defaultPartExtractorName = 'V1.5';
|
|
31
|
-
const
|
|
31
|
+
const artifactGraphPartExtractorApiValues = new Set([
|
|
32
|
+
'ah_agent_graph_v3_6_1',
|
|
33
|
+
'ah_agent_graph_v3_6_3',
|
|
34
|
+
'ah_agent_graph_v3_6_4',
|
|
35
|
+
]);
|
|
32
36
|
const partExtractorOptions = [
|
|
33
37
|
{
|
|
34
38
|
publicName: 'V1.5',
|
|
@@ -47,9 +51,19 @@ const partExtractorOptions = [
|
|
|
47
51
|
},
|
|
48
52
|
{
|
|
49
53
|
publicName: 'V3.6.1',
|
|
50
|
-
apiValue:
|
|
54
|
+
apiValue: 'ah_agent_graph_v3_6_1',
|
|
51
55
|
aliases: ['v3.6.1', '3.6.1', 'v3.6.1 primary images first'],
|
|
52
56
|
},
|
|
57
|
+
{
|
|
58
|
+
publicName: 'V3.6.3 Fast Analysis',
|
|
59
|
+
apiValue: 'ah_agent_graph_v3_6_3',
|
|
60
|
+
aliases: ['v3.6.3', '3.6.3'],
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
publicName: 'V3.6.4 Fast Analysis',
|
|
64
|
+
apiValue: 'ah_agent_graph_v3_6_4',
|
|
65
|
+
aliases: ['v3.6.4', '3.6.4'],
|
|
66
|
+
},
|
|
53
67
|
];
|
|
54
68
|
const partExtractorPublicNames = partExtractorOptions
|
|
55
69
|
.map(option => option.publicName)
|
|
@@ -2746,7 +2760,7 @@ const isArtifactGraphPartSplit = (value, execution) => (value != null &&
|
|
|
2746
2760
|
typeof value === 'object' &&
|
|
2747
2761
|
'engine' in value &&
|
|
2748
2762
|
value.engine === 'artifact-graph') ||
|
|
2749
|
-
execution.resolvedInput?.agentVersion
|
|
2763
|
+
artifactGraphPartExtractorApiValues.has(String(execution.resolvedInput?.agentVersion));
|
|
2750
2764
|
const commandParts = async (subcommand, ctx) => {
|
|
2751
2765
|
const runPartSplit = async (source, operationId = getFlag(ctx.flags, 'operation-id') ?? randomUUID()) => {
|
|
2752
2766
|
let orderId = source == null ? getFlag(ctx.flags, 'order-id') : undefined;
|
|
@@ -2757,13 +2771,15 @@ const commandParts = async (subcommand, ctx) => {
|
|
|
2757
2771
|
const requestedAgentVersion = orderId == null || partExtractorFlag != null
|
|
2758
2772
|
? resolvePartExtractorApiValue(partExtractorFlag ?? defaultPartExtractorName)
|
|
2759
2773
|
: undefined;
|
|
2760
|
-
if (requestedAgentVersion
|
|
2774
|
+
if (requestedAgentVersion != null &&
|
|
2775
|
+
artifactGraphPartExtractorApiValues.has(requestedAgentVersion)) {
|
|
2776
|
+
const publicName = publicPartExtractorName(requestedAgentVersion);
|
|
2761
2777
|
for (const flag of ['task-id', 'mission-id', 'part-extraction-mode']) {
|
|
2762
2778
|
if (hasFlag(ctx.flags, flag))
|
|
2763
|
-
throw new Error(`--${flag} is not supported with
|
|
2779
|
+
throw new Error(`--${flag} is not supported with ${publicName}`);
|
|
2764
2780
|
}
|
|
2765
2781
|
if (orderId != null)
|
|
2766
|
-
throw new Error(
|
|
2782
|
+
throw new Error(`--order-id is not supported with ${publicName}; use runs resume <operation-id> to resume a graph split`);
|
|
2767
2783
|
}
|
|
2768
2784
|
const session = await productionSession(ctx, orderId == null ? 'production.analyze' : 'production.execute');
|
|
2769
2785
|
let execution;
|