@meshy-ai/cli 0.4.6 → 0.6.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.
- package/README.md +7 -6
- package/dist/client/endpoints/balance.d.ts +4 -3
- package/dist/client/endpoints/balance.d.ts.map +1 -1
- package/dist/client/endpoints/balance.js +10 -12
- package/dist/client/endpoints/balance.js.map +1 -1
- package/dist/client/endpoints/base.d.ts +0 -2
- package/dist/client/endpoints/base.d.ts.map +1 -1
- package/dist/client/endpoints/base.js.map +1 -1
- package/dist/client/index.d.ts +0 -6
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +2 -22
- package/dist/client/index.js.map +1 -1
- package/dist/client/resource-registry.d.ts +2 -9
- package/dist/client/resource-registry.d.ts.map +1 -1
- package/dist/client/resource-registry.js +5 -14
- package/dist/client/resource-registry.js.map +1 -1
- package/dist/client/transport.d.ts +1 -1
- package/dist/client/transport.d.ts.map +1 -1
- package/dist/client/types.d.ts +4 -26
- package/dist/client/types.d.ts.map +1 -1
- package/dist/client/types.js +4 -31
- package/dist/client/types.js.map +1 -1
- package/dist/cmd/animation-catalog.js +4 -4
- package/dist/cmd/animation-catalog.js.map +1 -1
- package/dist/cmd/api.d.ts.map +1 -1
- package/dist/cmd/api.js +5 -5
- package/dist/cmd/api.js.map +1 -1
- package/dist/cmd/auth.d.ts.map +1 -1
- package/dist/cmd/auth.js +41 -25
- package/dist/cmd/auth.js.map +1 -1
- package/dist/cmd/auto-split.d.ts.map +1 -1
- package/dist/cmd/auto-split.js +0 -1
- package/dist/cmd/auto-split.js.map +1 -1
- package/dist/cmd/balance.d.ts.map +1 -1
- package/dist/cmd/balance.js +6 -6
- package/dist/cmd/balance.js.map +1 -1
- package/dist/cmd/creative-lab.d.ts +0 -2
- package/dist/cmd/creative-lab.d.ts.map +1 -1
- package/dist/cmd/creative-lab.js +0 -7
- package/dist/cmd/creative-lab.js.map +1 -1
- package/dist/cmd/delete.d.ts.map +1 -1
- package/dist/cmd/delete.js +4 -4
- package/dist/cmd/delete.js.map +1 -1
- package/dist/cmd/doctor.js +4 -4
- package/dist/cmd/doctor.js.map +1 -1
- package/dist/cmd/download.d.ts +1 -1
- package/dist/cmd/download.js +9 -9
- package/dist/cmd/download.js.map +1 -1
- package/dist/cmd/image-to-3d.d.ts +3 -3
- package/dist/cmd/image-to-3d.d.ts.map +1 -1
- package/dist/cmd/image-to-3d.js +16 -45
- package/dist/cmd/image-to-3d.js.map +1 -1
- package/dist/cmd/image-to-image.d.ts.map +1 -1
- package/dist/cmd/image-to-image.js +2 -1
- package/dist/cmd/image-to-image.js.map +1 -1
- package/dist/cmd/inspect.d.ts +12 -4
- package/dist/cmd/inspect.d.ts.map +1 -1
- package/dist/cmd/inspect.js +63 -39
- package/dist/cmd/inspect.js.map +1 -1
- package/dist/cmd/make.d.ts.map +1 -1
- package/dist/cmd/make.js +51 -112
- package/dist/cmd/make.js.map +1 -1
- package/dist/cmd/mesh.d.ts +3 -3
- package/dist/cmd/mesh.js +5 -5
- package/dist/cmd/mesh.js.map +1 -1
- package/dist/cmd/multi-image-to-3d.d.ts +2 -3
- package/dist/cmd/multi-image-to-3d.d.ts.map +1 -1
- package/dist/cmd/multi-image-to-3d.js +10 -28
- package/dist/cmd/multi-image-to-3d.js.map +1 -1
- package/dist/cmd/operations.js +6 -6
- package/dist/cmd/operations.js.map +1 -1
- package/dist/cmd/project.d.ts.map +1 -1
- package/dist/cmd/project.js +11 -13
- package/dist/cmd/project.js.map +1 -1
- package/dist/cmd/resources.d.ts +4 -4
- package/dist/cmd/resources.d.ts.map +1 -1
- package/dist/cmd/resources.js +6 -15
- package/dist/cmd/resources.js.map +1 -1
- package/dist/cmd/retexture.d.ts +2 -2
- package/dist/cmd/retexture.js +2 -2
- package/dist/cmd/showcases.d.ts.map +1 -1
- package/dist/cmd/showcases.js +4 -4
- package/dist/cmd/showcases.js.map +1 -1
- package/dist/cmd/slicer.js +4 -4
- package/dist/cmd/slicer.js.map +1 -1
- package/dist/cmd/text-to-3d.d.ts +1 -1
- package/dist/cmd/text-to-3d.js +1 -1
- package/dist/cmd/text-to-image.d.ts.map +1 -1
- package/dist/cmd/text-to-image.js +3 -2
- package/dist/cmd/text-to-image.js.map +1 -1
- package/dist/cmd/usage.js +4 -4
- package/dist/cmd/usage.js.map +1 -1
- package/dist/cmd/uv-unwrap.d.ts +0 -1
- package/dist/cmd/uv-unwrap.d.ts.map +1 -1
- package/dist/cmd/uv-unwrap.js +0 -2
- package/dist/cmd/uv-unwrap.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +22 -53
- package/dist/index.js.map +1 -1
- package/dist/internal/artifacts.d.ts +18 -9
- package/dist/internal/artifacts.d.ts.map +1 -1
- package/dist/internal/artifacts.js +56 -30
- package/dist/internal/artifacts.js.map +1 -1
- package/dist/internal/command-helpers.d.ts +9 -16
- package/dist/internal/command-helpers.d.ts.map +1 -1
- package/dist/internal/command-helpers.js +14 -31
- package/dist/internal/command-helpers.js.map +1 -1
- package/dist/internal/config.d.ts +3 -3
- package/dist/internal/config.js +3 -3
- package/dist/internal/context.d.ts +3 -5
- package/dist/internal/context.d.ts.map +1 -1
- package/dist/internal/context.js +3 -3
- package/dist/internal/context.js.map +1 -1
- package/dist/internal/doctor.d.ts +0 -2
- package/dist/internal/doctor.d.ts.map +1 -1
- package/dist/internal/doctor.js +0 -4
- package/dist/internal/doctor.js.map +1 -1
- package/dist/internal/download.d.ts +34 -50
- package/dist/internal/download.d.ts.map +1 -1
- package/dist/internal/download.js +83 -331
- package/dist/internal/download.js.map +1 -1
- package/dist/internal/errors.d.ts +2 -20
- package/dist/internal/errors.d.ts.map +1 -1
- package/dist/internal/errors.js +9 -88
- package/dist/internal/errors.js.map +1 -1
- package/dist/internal/file-input.d.ts +0 -12
- package/dist/internal/file-input.d.ts.map +1 -1
- package/dist/internal/file-input.js +2 -49
- package/dist/internal/file-input.js.map +1 -1
- package/dist/internal/global-options.d.ts +4 -1
- package/dist/internal/global-options.d.ts.map +1 -1
- package/dist/internal/global-options.js +9 -2
- package/dist/internal/global-options.js.map +1 -1
- package/dist/internal/image-models.d.ts +7 -0
- package/dist/internal/image-models.d.ts.map +1 -1
- package/dist/internal/image-models.js +14 -0
- package/dist/internal/image-models.js.map +1 -1
- package/dist/internal/inspect.d.ts +31 -6
- package/dist/internal/inspect.d.ts.map +1 -1
- package/dist/internal/inspect.js +125 -12
- package/dist/internal/inspect.js.map +1 -1
- package/dist/internal/logger.d.ts +0 -1
- package/dist/internal/logger.d.ts.map +1 -1
- package/dist/internal/logger.js +0 -3
- package/dist/internal/logger.js.map +1 -1
- package/dist/internal/material-links.d.ts +0 -2
- package/dist/internal/material-links.d.ts.map +1 -1
- package/dist/internal/material-links.js +0 -4
- package/dist/internal/material-links.js.map +1 -1
- package/dist/internal/obj-transform.d.ts +1 -1
- package/dist/internal/obj-transform.js +1 -1
- package/dist/internal/output.d.ts +4 -13
- package/dist/internal/output.d.ts.map +1 -1
- package/dist/internal/output.js +5 -26
- package/dist/internal/output.js.map +1 -1
- package/dist/internal/paths.d.ts +2 -0
- package/dist/internal/paths.d.ts.map +1 -1
- package/dist/internal/paths.js +4 -0
- package/dist/internal/paths.js.map +1 -1
- package/dist/internal/pricing.d.ts +1 -1
- package/dist/internal/pricing.d.ts.map +1 -1
- package/dist/internal/pricing.js +1 -1
- package/dist/internal/pricing.js.map +1 -1
- package/dist/internal/project-store.d.ts +6 -13
- package/dist/internal/project-store.d.ts.map +1 -1
- package/dist/internal/project-store.js +23 -27
- package/dist/internal/project-store.js.map +1 -1
- package/dist/internal/result.d.ts +1 -2
- package/dist/internal/result.d.ts.map +1 -1
- package/dist/internal/result.js +1 -1
- package/dist/internal/result.js.map +1 -1
- package/dist/internal/runtime.d.ts +3 -19
- package/dist/internal/runtime.d.ts.map +1 -1
- package/dist/internal/runtime.js +12 -35
- package/dist/internal/runtime.js.map +1 -1
- package/dist/internal/slicers.d.ts +7 -8
- package/dist/internal/slicers.d.ts.map +1 -1
- package/dist/internal/slicers.js +7 -8
- package/dist/internal/slicers.js.map +1 -1
- package/dist/internal/task-command.d.ts +18 -14
- package/dist/internal/task-command.d.ts.map +1 -1
- package/dist/internal/task-command.js +53 -201
- package/dist/internal/task-command.js.map +1 -1
- package/dist/internal/task-view.js +1 -1
- package/dist/internal/task-view.js.map +1 -1
- package/dist/internal/texturing.d.ts +17 -0
- package/dist/internal/texturing.d.ts.map +1 -0
- package/dist/internal/texturing.js +30 -0
- package/dist/internal/texturing.js.map +1 -0
- package/dist/internal/update-notifier.d.ts +5 -25
- package/dist/internal/update-notifier.d.ts.map +1 -1
- package/dist/internal/update-notifier.js +5 -58
- package/dist/internal/update-notifier.js.map +1 -1
- package/dist/internal/views.d.ts +8 -10
- package/dist/internal/views.d.ts.map +1 -1
- package/dist/internal/views.js +61 -29
- package/dist/internal/views.js.map +1 -1
- package/dist/root.d.ts +0 -5
- package/dist/root.d.ts.map +1 -1
- package/dist/root.js +6 -24
- package/dist/root.js.map +1 -1
- package/package.json +1 -1
- package/skills/meshy-cli/SKILL.md +53 -49
- package/dist/internal/report.d.ts +0 -40
- package/dist/internal/report.d.ts.map +0 -1
- package/dist/internal/report.js +0 -48
- package/dist/internal/report.js.map +0 -1
|
@@ -4,7 +4,7 @@ description: "Generate 3D models, motion clips, 2D images and Creative Lab print
|
|
|
4
4
|
license: MIT
|
|
5
5
|
compatibility: Requires meshy-cli on PATH (Node 22.12+, no Python) and a stored credential, MESHY_API_KEY or --api-key-file for API commands; network access to api.meshy.ai. Local helpers work offline.
|
|
6
6
|
metadata:
|
|
7
|
-
version: "1.
|
|
7
|
+
version: "1.4.0"
|
|
8
8
|
cli-help: "meshy --help"
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -20,14 +20,15 @@ executed; do not use Node's `--env-file`). Never echo the key back or write it
|
|
|
20
20
|
into a shell profile. `meshy doctor` checks the environment without touching the
|
|
21
21
|
network; `meshy doctor --check-api` makes one free balance call.
|
|
22
22
|
|
|
23
|
-
##
|
|
23
|
+
## Parse the envelope
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
`--format` is `pretty` at a terminal and
|
|
27
|
-
|
|
28
|
-
fields, so never parse it; `json` and
|
|
29
|
-
exactly one JSON object with six
|
|
30
|
-
error, warnings` — and nothing
|
|
25
|
+
Every command prints one `meshy.cli/v1` envelope on stdout. Add `--format json`
|
|
26
|
+
to every command you parse: untyped, `--format` is `pretty` at a terminal and
|
|
27
|
+
`json` elsewhere; say it and the rendering is fixed however you are spawned.
|
|
28
|
+
`pretty` is a human view that drops fields, so never parse it; `json` and
|
|
29
|
+
`ndjson` carry no colour codes. stdout is then exactly one JSON object with six
|
|
30
|
+
keys — `schema_version, command, ok, result, error, warnings` — and nothing
|
|
31
|
+
else. Progress goes to stderr as plain lines
|
|
31
32
|
(none under `ndjson`); it is for people, so read ids from stdout, not from it. `ok` is whether the
|
|
32
33
|
CLI operation completed; `result.task.status` is the server's task state (a `get`
|
|
33
34
|
of a FAILED task is `ok:true`). Fields the server did not send are `null` —
|
|
@@ -39,11 +40,11 @@ recoveries) is replaced with a real path.
|
|
|
39
40
|
## One model, one command
|
|
40
41
|
|
|
41
42
|
```bash
|
|
42
|
-
meshy make "a red sports car" -o car.glb
|
|
43
|
-
meshy make ./cat.png -o out/cat/
|
|
44
|
-
meshy make "a red sports car" --dry-run
|
|
43
|
+
meshy make "a red sports car" -o car.glb # prompt → text-to-3d preview → refine
|
|
44
|
+
meshy make ./cat.png -o out/cat/ # image → image-to-3d, textured
|
|
45
|
+
meshy make "a red sports car" --dry-run # planned steps + estimate, no spend, no network
|
|
45
46
|
meshy make "..." --max-credits 25 # refuse to start over budget
|
|
46
|
-
meshy make "..." --async
|
|
47
|
+
meshy make "..." --async # one POST, returns step 1's task_id + pending_steps
|
|
47
48
|
```
|
|
48
49
|
|
|
49
50
|
The input decides the chain and nothing else does. If a later step fails, the
|
|
@@ -52,13 +53,13 @@ verbatim rather than starting over, or the finished step is paid for twice.
|
|
|
52
53
|
|
|
53
54
|
## Everything else
|
|
54
55
|
|
|
55
|
-
`meshy resources
|
|
56
|
+
`meshy resources` indexes every command (kind `task`, `query`,
|
|
56
57
|
`action` or `local`); each task resource carries the same verbs:
|
|
57
58
|
|
|
58
59
|
```bash
|
|
59
|
-
meshy <resource> create [flags] [--data '<json>'] [--async] [--timeout <s>] [--operation-id <id>]
|
|
60
|
-
meshy <resource> get|wait|stream|delete <task-id>
|
|
61
|
-
meshy <resource> list [--page-size <n>]
|
|
60
|
+
meshy <resource> create [flags] [--data '<json>'] [--async] [--timeout <s>] [--operation-id <id>]
|
|
61
|
+
meshy <resource> get|wait|stream|delete <task-id>
|
|
62
|
+
meshy <resource> list [--page-size <n>]
|
|
62
63
|
```
|
|
63
64
|
|
|
64
65
|
- `create` blocks until the task is terminal; `--async` submits **exactly one
|
|
@@ -79,6 +80,13 @@ meshy <resource> list [--page-size <n>] --output-schema v1
|
|
|
79
80
|
`result.task_id` / `result.submission.task_id` and `result.next` from any
|
|
80
81
|
non-zero exit (11 local I/O, 8 timeout, 130 interrupt) before deciding
|
|
81
82
|
anything; never create again because a later step failed.
|
|
83
|
+
- `-o <dir>` saves the primary files of a SUCCEEDED task (model formats it produced,
|
|
84
|
+
thumbnail, images, the rig/animation result in GLB) plus `meta.json`; `-o <file.ext>`
|
|
85
|
+
saves the one file of that format (`-o car.glb`, `-o hero.fbx` on a rig). Texture
|
|
86
|
+
maps a GLB already embeds, the rig's bundled walking/running clips and FBX copies
|
|
87
|
+
stay on the server, listed in `result.downloads.skipped`; `--all-assets` (directory
|
|
88
|
+
only) saves them too. Between pipeline steps pass the task id
|
|
89
|
+
(`--input-task-id`, `--rig-task-id`) instead of downloading.
|
|
82
90
|
- `--save-json <file>` stores the raw API task (use it as the input of `download`,
|
|
83
91
|
`inspect faces` and `project record`); `--include-raw` puts the raw response under
|
|
84
92
|
`result.task.raw`; `--project <dir>` records the task in a project folder.
|
|
@@ -90,14 +98,14 @@ meshy <resource> list [--page-size <n>] --output-schema v1
|
|
|
90
98
|
## Creative Lab, UV, catalog, showcases
|
|
91
99
|
|
|
92
100
|
```bash
|
|
93
|
-
meshy uv-unwrap create --input-task-id <id> --async
|
|
94
|
-
meshy creative-lab <figure|vinyl-figure|brick-figure|lamp|keychain|fridge-magnet|keycap|fidget-pixel> prototype create --image-url ./photo.png --name demo --async
|
|
95
|
-
meshy creative-lab <product> build create --input-task-id <prototype-id> [--model-format …] [--options '<json>'] --async
|
|
96
|
-
meshy creative-lab fidget-collapsible create --image-url ./photo.png --async
|
|
97
|
-
meshy animation-catalog list --category DailyActions --search wave
|
|
98
|
-
meshy auto-split create --input-task-id <id> --mode by_parts --prompt "head, torso" --async
|
|
99
|
-
meshy usage tasks --start-time 2026-08-01T00:00:00Z
|
|
100
|
-
meshy showcases list --search car --page-size 3
|
|
101
|
+
meshy uv-unwrap create --input-task-id <id> --async # GLB only, ≤40k faces (server enforces)
|
|
102
|
+
meshy creative-lab <figure|vinyl-figure|brick-figure|lamp|keychain|fridge-magnet|keycap|fidget-pixel> prototype create --image-url ./photo.png --name demo --async
|
|
103
|
+
meshy creative-lab <product> build create --input-task-id <prototype-id> [--model-format …] [--options '<json>'] --async
|
|
104
|
+
meshy creative-lab fidget-collapsible create --image-url ./photo.png --async # one stage → STL
|
|
105
|
+
meshy animation-catalog list --category DailyActions --search wave # free; search is server-side
|
|
106
|
+
meshy auto-split create --input-task-id <id> --mode by_parts --prompt "head, torso" --async # printable parts
|
|
107
|
+
meshy usage tasks --start-time 2026-08-01T00:00:00Z # Studio/Enterprise; credits per task
|
|
108
|
+
meshy showcases list --search car --page-size 3 # Enterprise only; EVERY request is billed
|
|
101
109
|
```
|
|
102
110
|
|
|
103
111
|
Prototype meanings differ: most yield a concept image, lamp also yields a
|
|
@@ -112,23 +120,24 @@ Never call `showcases` in a health check.
|
|
|
112
120
|
## Downloads, projects, printing (local, no key)
|
|
113
121
|
|
|
114
122
|
```bash
|
|
115
|
-
meshy download --task-json ./task.json --list
|
|
116
|
-
meshy download --task-json ./task.json --model-format glb --output ./model.glb
|
|
117
|
-
meshy download --task-json ./rig.json --asset result.basic_animations.walking_glb_url --output ./walking.glb
|
|
118
|
-
meshy download --resource image-to-3d --task-id <id> --all --output-dir ./out/
|
|
119
|
-
meshy project init --root ./meshy_output --name "<prompt>" --task-id <id>
|
|
120
|
-
meshy project record --project <dir> --task-id <id> --resource text-to-3d --stage preview --file preview.glb
|
|
121
|
-
meshy inspect faces --
|
|
122
|
-
meshy mesh prepare-print ./model.obj --height-mm 75
|
|
123
|
-
meshy slicer detect
|
|
124
|
-
meshy slicer open --slicer OrcaSlicer --file ./model.print.obj
|
|
123
|
+
meshy download --task-json ./task.json --list
|
|
124
|
+
meshy download --task-json ./task.json --model-format glb --output ./model.glb
|
|
125
|
+
meshy download --task-json ./rig.json --asset result.basic_animations.walking_glb_url --output ./walking.glb
|
|
126
|
+
meshy download --resource image-to-3d --task-id <id> --all --output-dir ./out/
|
|
127
|
+
meshy project init --root ./meshy_output --name "<prompt>" --task-id <id>
|
|
128
|
+
meshy project record --project <dir> --task-id <id> --resource text-to-3d --stage preview --file preview.glb
|
|
129
|
+
meshy inspect faces --model ./model.glb --max-faces 300000 # exit 0 pass | 12 fail | 13 unknown
|
|
130
|
+
meshy mesh prepare-print ./model.obj --height-mm 75 # writes ./model.print.obj (Y-up → Z-up, grounded)
|
|
131
|
+
meshy slicer detect
|
|
132
|
+
meshy slicer open --slicer OrcaSlicer --file ./model.print.obj # launch only; not proof of import
|
|
125
133
|
```
|
|
126
134
|
|
|
127
135
|
`download` needs an explicit selector when a task has several assets (it lists
|
|
128
136
|
them and exits 2 otherwise); it never overwrites without `--overwrite`. `inspect
|
|
129
|
-
faces` answers only the face-count question
|
|
130
|
-
|
|
131
|
-
|
|
137
|
+
faces` answers only the face-count question. The API does not report
|
|
138
|
+
`face_count`, so measure the downloaded model with `--model <file.glb>`; a task
|
|
139
|
+
source answers `unknown` (exit 13) — never treat that as a pass, and do not
|
|
140
|
+
start a remesh unless the user agrees. `prepare-print` never edits the input unless
|
|
132
141
|
`--in-place`.
|
|
133
142
|
|
|
134
143
|
## Constraints that will bite
|
|
@@ -161,12 +170,12 @@ These are API rules, not preferences — ignoring them produces failed tasks:
|
|
|
161
170
|
- `multi-image-to-3d` takes 1-4 views of one object; use `image-to-3d` unless
|
|
162
171
|
multi-view input was asked for. Both accept `--input-task-id` of a SUCCEEDED
|
|
163
172
|
`text-to-image` / `image-to-image` task, so a generated image chains to 3D.
|
|
164
|
-
- `image-to-3d`
|
|
165
|
-
|
|
173
|
+
- `image-to-3d` and `multi-image-to-3d` texture by default, like the API (one
|
|
174
|
+
task, full PBR maps, 4k base color). `--should-texture false` is an untextured
|
|
175
|
+
draft to confirm first; texture it later with `retexture`.
|
|
166
176
|
- **The default model is `latest` = Meshy 7.1** on all three generators.
|
|
167
177
|
`--geometry-resolution 2k|4k` runs the Ultra geometry pass (+5 credits;
|
|
168
|
-
text-to-3d: preview only; multi-image: `2k` only; not with smart-topology)
|
|
169
|
-
`--ultra-mode` on image-to-3d is its deprecated spelling of `2k`.
|
|
178
|
+
text-to-3d: preview only; multi-image: `2k` only; not with smart-topology).
|
|
170
179
|
`--model-type smart-topology` (text-to-3d and image-to-3d) has a native
|
|
171
180
|
`--target-polycount`: meshy-t2.5 is the CLI default, 100-30000 (default
|
|
172
181
|
15000); `--ai-model meshy-t2` selects T2, 100-15000 (default 10000). `retexture`'s
|
|
@@ -184,8 +193,8 @@ These are API rules, not preferences — ignoring them produces failed tasks:
|
|
|
184
193
|
## Finding an animation id
|
|
185
194
|
|
|
186
195
|
`--action-id` is an integer from Meshy's animation library. Ask the live
|
|
187
|
-
library (free): `meshy animation-catalog list --category Fighting --search kick
|
|
188
|
-
|
|
196
|
+
library (free): `meshy animation-catalog list --category Fighting --search kick` →
|
|
197
|
+
`result.items[].action_id`; `--action-ids 92,4` checks
|
|
189
198
|
stored ids. Ids are not `1..N` (the catalog contains `-2`, `-1` and `0`) — never
|
|
190
199
|
guess one. This skill also bundles a
|
|
191
200
|
snapshot as `animation-library.json` (with hand-written descriptions the API does
|
|
@@ -213,8 +222,6 @@ Exit codes: `0` ok · `1` task FAILED/CANCELED while waiting, or unclassified ·
|
|
|
213
222
|
`result.downloads.files` lists what already landed (`status: written`), the rest can
|
|
214
223
|
be fetched with `meshy download`. `downloads.failed_step` (`relink` | `digest` |
|
|
215
224
|
`sidecar`) means every asset is on disk and only that step is missing.
|
|
216
|
-
- Legacy-schema errors (no `--output-schema v1`) after a create carry additive
|
|
217
|
-
`task_id` / `operation_id` fields and a `hint` with the resume command — never re-create.
|
|
218
225
|
- `result.downloads.material_links.status: "incomplete"` → name the references that
|
|
219
226
|
stayed unresolved or ambiguous (`texture_maps[].method`, `note`) instead of claiming the
|
|
220
227
|
model loads; two material groups that would share one texture without evidence are
|
|
@@ -223,7 +230,7 @@ Exit codes: `0` ok · `1` task FAILED/CANCELED while waiting, or unclassified ·
|
|
|
223
230
|
disk (`result.downloads.files`); repair the project's `metadata.json`, then run
|
|
224
231
|
`error.recovery.command` (`meshy project record …`, it already carries the original
|
|
225
232
|
`--workspace` and `--operation-id`) verbatim — do not download or create again. The same
|
|
226
|
-
command appears after a task verb's `--project` record failure
|
|
233
|
+
command appears after a task verb's `--project` record failure; when the
|
|
227
234
|
error says the project is *no longer a target inside the authorised boundary* (it moved
|
|
228
235
|
mid-request) there is deliberately no command and `recovery` is null — restore the
|
|
229
236
|
directory first, then record with `meshy project record` from inside the original workspace.
|
|
@@ -235,9 +242,6 @@ Exit codes: `0` ok · `1` task FAILED/CANCELED while waiting, or unclassified ·
|
|
|
235
242
|
- A `FAILED` task → relay `result.task.task_error.message` verbatim; do not guess a cause.
|
|
236
243
|
- Any error may carry `error.recovery.command` — prefer it over improvising.
|
|
237
244
|
|
|
238
|
-
Legacy JSON output (without `--output-schema v1`) may carry `_notice.update` when
|
|
239
|
-
a newer meshy-cli exists; pass its `command` on to the user.
|
|
240
|
-
|
|
241
245
|
## Docs
|
|
242
246
|
|
|
243
247
|
Endpoint reference and pricing: https://docs.meshy.ai/en/api/
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Human-readable status report printed when `-o` is in play.
|
|
3
|
-
*
|
|
4
|
-
* Format:
|
|
5
|
-
* Status: SUCCESS | FAIL
|
|
6
|
-
* Task Id: <id>
|
|
7
|
-
* Generated <type>
|
|
8
|
-
* Saved to:
|
|
9
|
-
* - <path>
|
|
10
|
-
* - <path>
|
|
11
|
-
* Metadata path: <path>
|
|
12
|
-
* [optional update notice line when a newer version is available]
|
|
13
|
-
*
|
|
14
|
-
* Success reports list every saved file and the meta.json path. Failure
|
|
15
|
-
* reports include the task_error.message (if present) and skip the Saved
|
|
16
|
-
* to / Metadata path lines since nothing is written.
|
|
17
|
-
*/
|
|
18
|
-
import type { Task } from "../client/types.js";
|
|
19
|
-
import type { UpdateNotice } from "./update-notifier.js";
|
|
20
|
-
export interface SuccessReport {
|
|
21
|
-
status: "SUCCESS";
|
|
22
|
-
taskId: string;
|
|
23
|
-
type: string;
|
|
24
|
-
savedFiles: string[];
|
|
25
|
-
metadataPath: string;
|
|
26
|
-
_notice?: UpdateNotice;
|
|
27
|
-
}
|
|
28
|
-
export interface FailReport {
|
|
29
|
-
status: "FAIL";
|
|
30
|
-
taskId: string;
|
|
31
|
-
type: string;
|
|
32
|
-
error?: string;
|
|
33
|
-
timedOut?: boolean;
|
|
34
|
-
_notice?: UpdateNotice;
|
|
35
|
-
}
|
|
36
|
-
export type Report = SuccessReport | FailReport;
|
|
37
|
-
export declare function formatReport(r: Report): string;
|
|
38
|
-
export declare function printReport(r: Report): void;
|
|
39
|
-
export declare function reportFromTask(task: Task, resource: string): Pick<Report, "taskId" | "type">;
|
|
40
|
-
//# sourceMappingURL=report.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/internal/report.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED,MAAM,MAAM,MAAM,GAAG,aAAa,GAAG,UAAU,CAAC;AAEhD,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAkB9C;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAE3C;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC,CAK5F"}
|
package/dist/internal/report.js
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Human-readable status report printed when `-o` is in play.
|
|
3
|
-
*
|
|
4
|
-
* Format:
|
|
5
|
-
* Status: SUCCESS | FAIL
|
|
6
|
-
* Task Id: <id>
|
|
7
|
-
* Generated <type>
|
|
8
|
-
* Saved to:
|
|
9
|
-
* - <path>
|
|
10
|
-
* - <path>
|
|
11
|
-
* Metadata path: <path>
|
|
12
|
-
* [optional update notice line when a newer version is available]
|
|
13
|
-
*
|
|
14
|
-
* Success reports list every saved file and the meta.json path. Failure
|
|
15
|
-
* reports include the task_error.message (if present) and skip the Saved
|
|
16
|
-
* to / Metadata path lines since nothing is written.
|
|
17
|
-
*/
|
|
18
|
-
export function formatReport(r) {
|
|
19
|
-
const lines = [];
|
|
20
|
-
lines.push(`Status: ${r.status}`);
|
|
21
|
-
lines.push(`Task Id: ${r.taskId}`);
|
|
22
|
-
lines.push(`Generated ${r.type || "(unknown)"}`);
|
|
23
|
-
if (r.status === "SUCCESS") {
|
|
24
|
-
lines.push("Saved to:");
|
|
25
|
-
for (const file of r.savedFiles)
|
|
26
|
-
lines.push(`- ${file}`);
|
|
27
|
-
lines.push(`Metadata path: ${r.metadataPath}`);
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
if (r.timedOut)
|
|
31
|
-
lines.push("Error: polling timed out before the task reached a terminal status");
|
|
32
|
-
else if (r.error)
|
|
33
|
-
lines.push(`Error: ${r.error}`);
|
|
34
|
-
}
|
|
35
|
-
if (r._notice)
|
|
36
|
-
lines.push(r._notice.message);
|
|
37
|
-
return `${lines.join("\n")}\n`;
|
|
38
|
-
}
|
|
39
|
-
export function printReport(r) {
|
|
40
|
-
process.stdout.write(formatReport(r));
|
|
41
|
-
}
|
|
42
|
-
export function reportFromTask(task, resource) {
|
|
43
|
-
return {
|
|
44
|
-
taskId: task.id,
|
|
45
|
-
type: task.type || resource,
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=report.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/internal/report.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAyBH,MAAM,UAAU,YAAY,CAAC,CAAS;IACpC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAClC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACnC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC,CAAC;IAEjD,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxB,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,UAAU;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;IACjD,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,CAAC,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;aAC5F,IAAI,CAAC,CAAC,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,CAAC,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7C,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,CAAS;IACnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAU,EAAE,QAAgB;IACzD,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,QAAQ;KAC5B,CAAC;AACJ,CAAC"}
|