@meshy-ai/cli 0.4.1 → 0.4.2

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 (141) hide show
  1. package/README.md +2 -1
  2. package/dist/client/endpoints/base.d.ts +2 -0
  3. package/dist/client/endpoints/base.d.ts.map +1 -1
  4. package/dist/client/endpoints/base.js +3 -2
  5. package/dist/client/endpoints/base.js.map +1 -1
  6. package/dist/client/errors.d.ts +9 -1
  7. package/dist/client/errors.d.ts.map +1 -1
  8. package/dist/client/errors.js +20 -0
  9. package/dist/client/errors.js.map +1 -1
  10. package/dist/client/index.d.ts +4 -4
  11. package/dist/client/index.d.ts.map +1 -1
  12. package/dist/client/index.js +4 -6
  13. package/dist/client/index.js.map +1 -1
  14. package/dist/client/resource-registry.d.ts +15 -9
  15. package/dist/client/resource-registry.d.ts.map +1 -1
  16. package/dist/client/resource-registry.js +74 -18
  17. package/dist/client/resource-registry.js.map +1 -1
  18. package/dist/client/types.d.ts +3 -0
  19. package/dist/client/types.d.ts.map +1 -1
  20. package/dist/client/types.js +5 -0
  21. package/dist/client/types.js.map +1 -1
  22. package/dist/cmd/analyze-printability.d.ts +10 -1
  23. package/dist/cmd/analyze-printability.d.ts.map +1 -1
  24. package/dist/cmd/analyze-printability.js +38 -4
  25. package/dist/cmd/analyze-printability.js.map +1 -1
  26. package/dist/cmd/animate.d.ts +5 -3
  27. package/dist/cmd/animate.d.ts.map +1 -1
  28. package/dist/cmd/animate.js +38 -9
  29. package/dist/cmd/animate.js.map +1 -1
  30. package/dist/cmd/animation-catalog.d.ts +7 -20
  31. package/dist/cmd/animation-catalog.d.ts.map +1 -1
  32. package/dist/cmd/animation-catalog.js +40 -60
  33. package/dist/cmd/animation-catalog.js.map +1 -1
  34. package/dist/cmd/auto-split.d.ts +11 -0
  35. package/dist/cmd/auto-split.d.ts.map +1 -0
  36. package/dist/cmd/auto-split.js +72 -0
  37. package/dist/cmd/auto-split.js.map +1 -0
  38. package/dist/cmd/balance.d.ts +2 -1
  39. package/dist/cmd/balance.d.ts.map +1 -1
  40. package/dist/cmd/balance.js +9 -2
  41. package/dist/cmd/balance.js.map +1 -1
  42. package/dist/cmd/convert.js +1 -1
  43. package/dist/cmd/convert.js.map +1 -1
  44. package/dist/cmd/creative-lab.d.ts +12 -6
  45. package/dist/cmd/creative-lab.d.ts.map +1 -1
  46. package/dist/cmd/creative-lab.js +118 -15
  47. package/dist/cmd/creative-lab.js.map +1 -1
  48. package/dist/cmd/delete.d.ts +4 -2
  49. package/dist/cmd/delete.d.ts.map +1 -1
  50. package/dist/cmd/delete.js +19 -4
  51. package/dist/cmd/delete.js.map +1 -1
  52. package/dist/cmd/image-to-3d.d.ts +5 -4
  53. package/dist/cmd/image-to-3d.d.ts.map +1 -1
  54. package/dist/cmd/image-to-3d.js +33 -14
  55. package/dist/cmd/image-to-3d.js.map +1 -1
  56. package/dist/cmd/image-to-image.d.ts.map +1 -1
  57. package/dist/cmd/image-to-image.js +12 -5
  58. package/dist/cmd/image-to-image.js.map +1 -1
  59. package/dist/cmd/make.d.ts.map +1 -1
  60. package/dist/cmd/make.js +8 -4
  61. package/dist/cmd/make.js.map +1 -1
  62. package/dist/cmd/multi-color-print.d.ts.map +1 -1
  63. package/dist/cmd/multi-color-print.js +12 -2
  64. package/dist/cmd/multi-color-print.js.map +1 -1
  65. package/dist/cmd/multi-image-to-3d.d.ts +6 -10
  66. package/dist/cmd/multi-image-to-3d.d.ts.map +1 -1
  67. package/dist/cmd/multi-image-to-3d.js +22 -16
  68. package/dist/cmd/multi-image-to-3d.js.map +1 -1
  69. package/dist/cmd/remesh.d.ts.map +1 -1
  70. package/dist/cmd/remesh.js +5 -3
  71. package/dist/cmd/remesh.js.map +1 -1
  72. package/dist/cmd/repair-printability.d.ts +2 -1
  73. package/dist/cmd/repair-printability.d.ts.map +1 -1
  74. package/dist/cmd/repair-printability.js +14 -5
  75. package/dist/cmd/repair-printability.js.map +1 -1
  76. package/dist/cmd/resize.js +1 -1
  77. package/dist/cmd/resize.js.map +1 -1
  78. package/dist/cmd/resources.d.ts +1 -1
  79. package/dist/cmd/resources.d.ts.map +1 -1
  80. package/dist/cmd/resources.js +8 -6
  81. package/dist/cmd/resources.js.map +1 -1
  82. package/dist/cmd/retexture.d.ts.map +1 -1
  83. package/dist/cmd/retexture.js +6 -4
  84. package/dist/cmd/retexture.js.map +1 -1
  85. package/dist/cmd/rigging.d.ts +0 -1
  86. package/dist/cmd/rigging.d.ts.map +1 -1
  87. package/dist/cmd/rigging.js +2 -2
  88. package/dist/cmd/rigging.js.map +1 -1
  89. package/dist/cmd/text-to-3d.d.ts +5 -6
  90. package/dist/cmd/text-to-3d.d.ts.map +1 -1
  91. package/dist/cmd/text-to-3d.js +45 -20
  92. package/dist/cmd/text-to-3d.js.map +1 -1
  93. package/dist/cmd/text-to-image.d.ts.map +1 -1
  94. package/dist/cmd/text-to-image.js +3 -1
  95. package/dist/cmd/text-to-image.js.map +1 -1
  96. package/dist/cmd/usage.d.ts +10 -0
  97. package/dist/cmd/usage.d.ts.map +1 -0
  98. package/dist/cmd/usage.js +61 -0
  99. package/dist/cmd/usage.js.map +1 -0
  100. package/dist/internal/artifacts.d.ts +1 -0
  101. package/dist/internal/artifacts.d.ts.map +1 -1
  102. package/dist/internal/artifacts.js +4 -0
  103. package/dist/internal/artifacts.js.map +1 -1
  104. package/dist/internal/command-helpers.d.ts +2 -0
  105. package/dist/internal/command-helpers.d.ts.map +1 -1
  106. package/dist/internal/command-helpers.js +8 -0
  107. package/dist/internal/command-helpers.js.map +1 -1
  108. package/dist/internal/device.d.ts +1 -1
  109. package/dist/internal/device.js +3 -3
  110. package/dist/internal/device.js.map +1 -1
  111. package/dist/internal/errors.d.ts +2 -1
  112. package/dist/internal/errors.d.ts.map +1 -1
  113. package/dist/internal/errors.js +6 -1
  114. package/dist/internal/errors.js.map +1 -1
  115. package/dist/internal/file-input.d.ts.map +1 -1
  116. package/dist/internal/file-input.js +18 -16
  117. package/dist/internal/file-input.js.map +1 -1
  118. package/dist/internal/image-models.d.ts +2 -3
  119. package/dist/internal/image-models.d.ts.map +1 -1
  120. package/dist/internal/image-models.js +3 -3
  121. package/dist/internal/image-models.js.map +1 -1
  122. package/dist/internal/poll.d.ts +16 -1
  123. package/dist/internal/poll.d.ts.map +1 -1
  124. package/dist/internal/poll.js +41 -9
  125. package/dist/internal/poll.js.map +1 -1
  126. package/dist/internal/task-command.d.ts +17 -1
  127. package/dist/internal/task-command.d.ts.map +1 -1
  128. package/dist/internal/task-command.js +52 -8
  129. package/dist/internal/task-command.js.map +1 -1
  130. package/dist/internal/views.d.ts.map +1 -1
  131. package/dist/internal/views.js +7 -1
  132. package/dist/internal/views.js.map +1 -1
  133. package/dist/root.d.ts.map +1 -1
  134. package/dist/root.js +7 -2
  135. package/dist/root.js.map +1 -1
  136. package/package.json +2 -2
  137. package/skills/meshy-cli/SKILL.md +67 -44
  138. package/dist/client/endpoints/animation-catalog.d.ts +0 -37
  139. package/dist/client/endpoints/animation-catalog.d.ts.map +0 -1
  140. package/dist/client/endpoints/animation-catalog.js +0 -55
  141. package/dist/client/endpoints/animation-catalog.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,aAAa;;iBAExB,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,eAAO,MAAM,eAAe;;iBAIZ,CAAC;AACjB,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,gBAAgB;;;;;iBAOb,CAAC;AACjB,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,gBAAgB,uKAO3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,iBAAiB,aAAuD,CAAC;AAEtF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAE3E;AAED,eAAO,MAAM,kBAAkB;;;;;;;;iBAUf,CAAC;AACjB,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAS9D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyCP,CAAC;AACjB,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAE9C,eAAO,MAAM,wBAAwB;;iBAEnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAClD,YAAY,CAAC,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC,UAAU,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,WAAW,CAkB9E"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,aAAa;;;;;iBAOxB,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,eAAO,MAAM,eAAe;;iBAIZ,CAAC;AACjB,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,gBAAgB;;;;;iBAOb,CAAC;AACjB,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,gBAAgB,uKAO3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,iBAAiB,aAAuD,CAAC;AAEtF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAE3E;AAED,eAAO,MAAM,kBAAkB;;;;;;;;iBAUf,CAAC;AACjB,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAS9D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyCP,CAAC;AACjB,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAE9C,eAAO,MAAM,wBAAwB;;iBAEnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAClD,YAAY,CAAC,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC,UAAU,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,WAAW,CAkB9E"}
@@ -8,6 +8,11 @@
8
8
  import { z } from "zod";
9
9
  export const BalanceSchema = z.object({
10
10
  balance: z.number(),
11
+ /** Credits that expire at `monthly_resets_at`; normally balance = monthly + permanent. */
12
+ monthly_credits: z.number().optional(),
13
+ permanent_credits: z.number().optional(),
14
+ /** Epoch ms of the next monthly refresh; null when none is scheduled. */
15
+ monthly_resets_at: z.number().nullable().optional(),
11
16
  });
12
17
  export const TaskErrorSchema = z
13
18
  .object({
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,15 @@
3
3
  * Inspect a 3D model for 3D-printing issues (watertight, manifold, holes…).
4
4
  * Produces a `printability` report on the task — no downloadable model files.
5
5
  * Free endpoint (consumes 0 credits).
6
+ *
7
+ * The print-size trio (printer type, intended height or longest side) is
8
+ * shared with repair-printability: with any of them the task also checks wall
9
+ * thickness at that size (`printability.thin_walls`).
6
10
  */
7
- export declare const analyzePrintabilityCommand: import("commander").Command;
11
+ import { type Command } from "commander";
12
+ /** --printer-type and the two print-size flags (millimetres, at most one). */
13
+ export declare function printSizeOptions(cmd: Command, verb: string): Command;
14
+ export declare function printSizePayload(opts: Record<string, unknown>): Record<string, unknown>;
15
+ export declare function validatePrintSize(payload: Record<string, unknown>): void;
16
+ export declare const analyzePrintabilityCommand: Command;
8
17
  //# sourceMappingURL=analyze-printability.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"analyze-printability.d.ts","sourceRoot":"","sources":["../../src/cmd/analyze-printability.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA+BH,eAAO,MAAM,0BAA0B,6BAA6B,CAAC"}
1
+ {"version":3,"file":"analyze-printability.d.ts","sourceRoot":"","sources":["../../src/cmd/analyze-printability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAU,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAKjD,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAUpE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMvF;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAOxE;AAsCD,eAAO,MAAM,0BAA0B,SAA6B,CAAC"}
@@ -3,20 +3,52 @@
3
3
  * Inspect a 3D model for 3D-printing issues (watertight, manifold, holes…).
4
4
  * Produces a `printability` report on the task — no downloadable model files.
5
5
  * Free endpoint (consumes 0 credits).
6
+ *
7
+ * The print-size trio (printer type, intended height or longest side) is
8
+ * shared with repair-printability: with any of them the task also checks wall
9
+ * thickness at that size (`printability.thin_walls`).
6
10
  */
11
+ import { Option } from "commander";
7
12
  import { UsageError } from "../internal/errors.js";
13
+ import { parseNumber } from "../internal/flags.js";
8
14
  import { buildResourceCommand } from "../internal/task-command.js";
15
+ /** --printer-type and the two print-size flags (millimetres, at most one). */
16
+ export function printSizeOptions(cmd, verb) {
17
+ return cmd
18
+ .addOption(new Option("--printer-type <type>", `${verb} walls against this printer's minimum: fdm (1.0 mm) | sla (0.8 mm) | full_color (2.0 mm); fdm when only a size is given`).choices(["fdm", "sla", "full_color"]))
19
+ .option("--intended-print-height-mm <mm>", "planned print height, 1-1000 mm (GLB input only); exclusive with --intended-print-longest-side-mm", parseNumber)
20
+ .option("--intended-print-longest-side-mm <mm>", "planned longest side, 1-1000 mm (any input format)", parseNumber);
21
+ }
22
+ export function printSizePayload(opts) {
23
+ return {
24
+ printer_type: opts.printerType,
25
+ intended_print_height_mm: opts.intendedPrintHeightMm,
26
+ intended_print_longest_side_mm: opts.intendedPrintLongestSideMm,
27
+ };
28
+ }
29
+ export function validatePrintSize(payload) {
30
+ const sizes = ["intended_print_height_mm", "intended_print_longest_side_mm"].filter((k) => payload[k] !== undefined);
31
+ if (sizes.length > 1)
32
+ throw new UsageError("send at most one of --intended-print-height-mm and --intended-print-longest-side-mm");
33
+ for (const k of sizes) {
34
+ const v = payload[k];
35
+ if (typeof v !== "number" || v < 1 || v > 1000)
36
+ throw new UsageError(`${k} must be between 1 and 1000 (millimetres)`);
37
+ }
38
+ }
9
39
  const spec = {
10
40
  name: "analyze-printability",
11
41
  description: "Diagnose whether a 3D model is ready for 3D printing — overall status " +
12
42
  "(healthy/warning/error), issue counts, and geometry metrics (watertight, volume, " +
13
- "non-manifold edges, degenerate faces, holes). Produces a report, not files",
43
+ "non-manifold edges, degenerate faces, holes); with a printer type or print size, also " +
44
+ "wall thickness at that size. Produces a report, not files",
14
45
  create: {
15
46
  description: "Create an analyze-printability task",
16
47
  configure(cmd) {
17
- return cmd
18
- .option("--input-task-id <id>", "source SUCCEEDED task (image-to-3d, multi-image-to-3d, text-to-3d, remesh, or retexture using Meshy 6+)")
19
- .option("--model-url <src>", "3D model as http(s) URL or local file path (.glb/.gltf/.obj/.fbx/.stl, max 100MB)");
48
+ cmd
49
+ .option("--input-task-id <id>", "source SUCCEEDED task: image-to-3d, multi-image-to-3d, text-to-3d, remesh or retexture (Meshy 6 or newer), or repair-printability")
50
+ .option("--model-url <src>", "3D model: an http(s) URL (.glb/.gltf/.obj/.fbx/.stl, max 100MB) or a local .glb/.gltf file — the API takes inline uploads as glTF only, so host .stl/.obj/.fbx at a URL");
51
+ return printSizeOptions(cmd, "check");
20
52
  },
21
53
  toPayload(opts) {
22
54
  if (!opts.inputTaskId && !opts.modelUrl && !opts.data) {
@@ -25,8 +57,10 @@ const spec = {
25
57
  return {
26
58
  input_task_id: opts.inputTaskId,
27
59
  model_url: opts.modelUrl,
60
+ ...printSizePayload(opts),
28
61
  };
29
62
  },
63
+ validatePayload: validatePrintSize,
30
64
  },
31
65
  endpointOf: (c) => c.analyzePrintability,
32
66
  };
@@ -1 +1 @@
1
- {"version":3,"file":"analyze-printability.js","sourceRoot":"","sources":["../../src/cmd/analyze-printability.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAA4B,MAAM,6BAA6B,CAAC;AAE7F,MAAM,IAAI,GAAwB;IAChC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EACT,wEAAwE;QACxE,mFAAmF;QACnF,4EAA4E;IAC9E,MAAM,EAAE;QACN,WAAW,EAAE,qCAAqC;QAClD,SAAS,CAAC,GAAG;YACX,OAAO,GAAG;iBACP,MAAM,CAAC,sBAAsB,EAAE,yGAAyG,CAAC;iBACzI,MAAM,CAAC,mBAAmB,EAAE,mFAAmF,CAAC,CAAC;QACtH,CAAC;QACD,SAAS,CAAC,IAAI;YACZ,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACtD,MAAM,IAAI,UAAU,CAAC,wCAAwC,CAAC,CAAC;YACjE,CAAC;YACD,OAAO;gBACL,aAAa,EAAE,IAAI,CAAC,WAAW;gBAC/B,SAAS,EAAE,IAAI,CAAC,QAAQ;aACzB,CAAC;QACJ,CAAC;KACF;IACD,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB;CACzC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"analyze-printability.js","sourceRoot":"","sources":["../../src/cmd/analyze-printability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,EAAgB,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAA4B,MAAM,6BAA6B,CAAC;AAE7F,8EAA8E;AAC9E,MAAM,UAAU,gBAAgB,CAAC,GAAY,EAAE,IAAY;IACzD,OAAO,GAAG;SACP,SAAS,CACR,IAAI,MAAM,CACR,uBAAuB,EACvB,GAAG,IAAI,yHAAyH,CACjI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CACxC;SACA,MAAM,CAAC,iCAAiC,EAAE,mGAAmG,EAAE,WAAW,CAAC;SAC3J,MAAM,CAAC,uCAAuC,EAAE,oDAAoD,EAAE,WAAW,CAAC,CAAC;AACxH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAA6B;IAC5D,OAAO;QACL,YAAY,EAAE,IAAI,CAAC,WAAW;QAC9B,wBAAwB,EAAE,IAAI,CAAC,qBAAqB;QACpD,8BAA8B,EAAE,IAAI,CAAC,0BAA0B;KAChE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAgC;IAChE,MAAM,KAAK,GAAI,CAAC,0BAA0B,EAAE,gCAAgC,CAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IAChI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,qFAAqF,CAAC,CAAC;IAClI,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI;YAAE,MAAM,IAAI,UAAU,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IACxH,CAAC;AACH,CAAC;AAED,MAAM,IAAI,GAAwB;IAChC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EACT,wEAAwE;QACxE,mFAAmF;QACnF,wFAAwF;QACxF,2DAA2D;IAC7D,MAAM,EAAE;QACN,WAAW,EAAE,qCAAqC;QAClD,SAAS,CAAC,GAAG;YACX,GAAG;iBACA,MAAM,CACL,sBAAsB,EACtB,mIAAmI,CACpI;iBACA,MAAM,CACL,mBAAmB,EACnB,yKAAyK,CAC1K,CAAC;YACJ,OAAO,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC;QACD,SAAS,CAAC,IAAI;YACZ,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACtD,MAAM,IAAI,UAAU,CAAC,wCAAwC,CAAC,CAAC;YACjE,CAAC;YACD,OAAO;gBACL,aAAa,EAAE,IAAI,CAAC,WAAW;gBAC/B,SAAS,EAAE,IAAI,CAAC,QAAQ;gBACxB,GAAG,gBAAgB,CAAC,IAAI,CAAC;aAC1B,CAAC;QACJ,CAAC;QACD,eAAe,EAAE,iBAAiB;KACnC;IACD,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB;CACzC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC"}
@@ -1,8 +1,10 @@
1
1
  /**
2
- * animate — https://docs.meshy.ai/en/api/rigging-and-animation
2
+ * animate — https://docs.meshy.ai/en/api/animation
3
3
  *
4
- * Meshy's POST /animations expects `rig_task_id` + `action_id` (int) plus an
5
- * optional nested `post_process` object for change_fps / fbx2usdz /
4
+ * POST /animations takes `rig_task_id` plus exactly one source: a library
5
+ * `action_id`, up to 10 `action_ids` merged into one file (one clip per
6
+ * action, in the order given; billed per action), or a text-to-motion
7
+ * `motion_task_id`. Optional nested `post_process` for change_fps / fbx2usdz /
6
8
  * extract_armature.
7
9
  */
8
10
  export declare const animateCommand: import("commander").Command;
@@ -1 +1 @@
1
- {"version":3,"file":"animate.d.ts","sourceRoot":"","sources":["../../src/cmd/animate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAmDH,eAAO,MAAM,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"animate.d.ts","sourceRoot":"","sources":["../../src/cmd/animate.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAmFH,eAAO,MAAM,cAAc,6BAA6B,CAAC"}
@@ -1,24 +1,29 @@
1
1
  /**
2
- * animate — https://docs.meshy.ai/en/api/rigging-and-animation
2
+ * animate — https://docs.meshy.ai/en/api/animation
3
3
  *
4
- * Meshy's POST /animations expects `rig_task_id` + `action_id` (int) plus an
5
- * optional nested `post_process` object for change_fps / fbx2usdz /
4
+ * POST /animations takes `rig_task_id` plus exactly one source: a library
5
+ * `action_id`, up to 10 `action_ids` merged into one file (one clip per
6
+ * action, in the order given; billed per action), or a text-to-motion
7
+ * `motion_task_id`. Optional nested `post_process` for change_fps / fbx2usdz /
6
8
  * extract_armature.
7
9
  */
8
10
  import { Option } from "commander";
9
- import { parseInt10 } from "../internal/flags.js";
11
+ import { parseCsv, parseInt10 } from "../internal/flags.js";
10
12
  import { UsageError } from "../internal/errors.js";
11
13
  import { buildResourceCommand } from "../internal/task-command.js";
14
+ const MAX_ACTIONS = 10;
12
15
  const spec = {
13
16
  name: "animate",
14
- description: "Apply an animation action from Meshy's library to a rigged character — pick the " +
15
- "--action-id from https://api.meshy.ai/web/public/animations/resources",
17
+ description: "Apply animation to a rigged character: one library action, up to 10 actions merged into one " +
18
+ "file, or a text-to-motion clip. Find action ids with `meshy animation-catalog list`",
16
19
  create: {
17
20
  description: "Create an animation task",
18
21
  configure(cmd) {
19
22
  return cmd
20
23
  .option("--rig-task-id <id>", "SUCCEEDED rigging task id (required)")
21
- .option("--action-id <n>", "animation action id from Meshy's library (integer)", parseInt10)
24
+ .option("--action-id <n>", "one library action id (integer)", parseInt10)
25
+ .option("--action-ids <csv>", `1-${MAX_ACTIONS} unique library action ids; returns one file with one clip per action, in this order (billed per action)`, parseCsv)
26
+ .option("--motion-task-id <id>", "SUCCEEDED text-to-motion task whose clip to retarget (biped rigs only)")
22
27
  .addOption(new Option("--post-process-operation <op>", "optional post-processing step")
23
28
  .choices(["change_fps", "fbx2usdz", "extract_armature"]))
24
29
  .addOption(new Option("--post-process-fps <fps>", "target FPS for change_fps (default: 30)")
@@ -28,12 +33,20 @@ const spec = {
28
33
  if (!opts.rigTaskId && !opts.data) {
29
34
  throw new UsageError("--rig-task-id is required");
30
35
  }
31
- if (opts.actionId == null && !opts.data) {
32
- throw new UsageError("--action-id is required");
36
+ const ids = opts.actionIds;
37
+ let actionIds;
38
+ if (ids) {
39
+ actionIds = ids.map((id) => {
40
+ if (!/^-?\d+$/.test(id))
41
+ throw new UsageError(`--action-ids: '${id}' is not an integer action id`);
42
+ return Number(id);
43
+ });
33
44
  }
34
45
  const payload = {
35
46
  rig_task_id: opts.rigTaskId,
36
47
  action_id: opts.actionId,
48
+ action_ids: actionIds,
49
+ motion_task_id: opts.motionTaskId,
37
50
  };
38
51
  if (opts.postProcessOperation) {
39
52
  const post = { operation_type: opts.postProcessOperation };
@@ -44,6 +57,22 @@ const spec = {
44
57
  }
45
58
  return payload;
46
59
  },
60
+ validatePayload(payload) {
61
+ const sources = ["action_id", "action_ids", "motion_task_id"].filter((k) => payload[k] !== undefined && payload[k] !== null);
62
+ if (sources.length !== 1) {
63
+ throw new UsageError(sources.length === 0
64
+ ? "provide one of --action-id, --action-ids or --motion-task-id"
65
+ : `--action-id, --action-ids and --motion-task-id are mutually exclusive (got ${sources.join(", ")})`);
66
+ }
67
+ const ids = payload.action_ids;
68
+ if (ids !== undefined) {
69
+ if (!Array.isArray(ids) || ids.length < 1 || ids.length > MAX_ACTIONS) {
70
+ throw new UsageError(`action_ids takes 1-${MAX_ACTIONS} action ids`);
71
+ }
72
+ if (new Set(ids).size !== ids.length)
73
+ throw new UsageError("action_ids must be unique");
74
+ }
75
+ },
47
76
  },
48
77
  endpointOf: (c) => c.animate,
49
78
  };
@@ -1 +1 @@
1
- {"version":3,"file":"animate.js","sourceRoot":"","sources":["../../src/cmd/animate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAA4B,MAAM,6BAA6B,CAAC;AAE7F,MAAM,IAAI,GAAwB;IAChC,IAAI,EAAE,SAAS;IACf,WAAW,EACT,kFAAkF;QAClF,uEAAuE;IACzE,MAAM,EAAE;QACN,WAAW,EAAE,0BAA0B;QACvC,SAAS,CAAC,GAAG;YACX,OAAO,GAAG;iBACP,MAAM,CAAC,oBAAoB,EAAE,sCAAsC,CAAC;iBACpE,MAAM,CAAC,iBAAiB,EAAE,oDAAoD,EAAE,UAAU,CAAC;iBAC3F,SAAS,CACR,IAAI,MAAM,CAAC,+BAA+B,EAAE,+BAA+B,CAAC;iBACzE,OAAO,CAAC,CAAC,YAAY,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAC3D;iBACA,SAAS,CACR,IAAI,MAAM,CAAC,0BAA0B,EAAE,yCAAyC,CAAC;iBAC9E,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CACrC,CAAC;QACN,CAAC;QACD,SAAS,CAAC,IAAI;YACZ,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClC,MAAM,IAAI,UAAU,CAAC,2BAA2B,CAAC,CAAC;YACpD,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACxC,MAAM,IAAI,UAAU,CAAC,yBAAyB,CAAC,CAAC;YAClD,CAAC;YACD,MAAM,OAAO,GAA4B;gBACvC,WAAW,EAAE,IAAI,CAAC,SAAS;gBAC3B,SAAS,EAAE,IAAI,CAAC,QAAQ;aACzB,CAAC;YACF,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAA4B,EAAE,cAAc,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBACpF,IAAI,IAAI,CAAC,oBAAoB,KAAK,YAAY,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC;oBAC9E,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACzC,CAAC;gBACD,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;YAC9B,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;KACF;IACD,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO;CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"animate.js","sourceRoot":"","sources":["../../src/cmd/animate.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,13 @@
1
1
  /**
2
- * animation-catalog — the public Animation Library behind `animate --action-id`.
2
+ * animation-catalog — the Animation Library behind `animate --action-id(s)`.
3
3
  *
4
- * GET <v1 origin>/web/public/animations/resources[?category=…]. No credential
5
- * is loaded or sent; the command works without any Meshy account. `--search`
6
- * filters the fetched batch locally (name / key / subCategory, case-insensitive)
7
- * and says so in the result — it is not a server-side search.
4
+ * GET /openapi/v1/animations/library: free, authenticated, one complete list
5
+ * (no pagination). Every filter is applied by the server: `--search` matches
6
+ * name or key, `--category` / `--sub-category` match exactly, `--action-ids`
7
+ * resolves specific ids. Items are passed through as the API returns them.
8
8
  */
9
9
  import { Command } from "commander";
10
- import { type AnimationCatalogEntry } from "../client/endpoints/animation-catalog.js";
11
- export interface CatalogItem {
12
- action_id: number;
13
- name: string | null;
14
- key: string | null;
15
- category: string | null;
16
- sub_category: string | null;
17
- preview_url: string | null;
18
- rig_type: string | null;
19
- is_default: boolean | null;
20
- is_free: boolean | null;
21
- }
22
- export declare function toCatalogItem(e: AnimationCatalogEntry): CatalogItem;
23
- /** Case-insensitive substring match over name, key and sub-category. */
24
- export declare function matchesSearch(item: CatalogItem, search: string): boolean;
10
+ export declare const ANIMATION_CATEGORIES: readonly ["WalkAndRun", "BodyMovements", "DailyActions", "Fighting", "Dancing"];
11
+ export declare const ANIMATION_LIBRARY_PATH = "/animations/library";
25
12
  export declare const animationCatalogCommand: Command;
26
13
  //# sourceMappingURL=animation-catalog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"animation-catalog.d.ts","sourceRoot":"","sources":["../../src/cmd/animation-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAkD,KAAK,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAQtI,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACzB;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,qBAAqB,GAAG,WAAW,CAYnE;AAED,wEAAwE;AACxE,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAIxE;AAiDD,eAAO,MAAM,uBAAuB,SAEV,CAAC"}
1
+ {"version":3,"file":"animation-catalog.d.ts","sourceRoot":"","sources":["../../src/cmd/animation-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAO5C,eAAO,MAAM,oBAAoB,YAAI,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,CAAU,CAAC;AACpH,eAAO,MAAM,sBAAsB,wBAAwB,CAAC;AAgD5D,eAAO,MAAM,uBAAuB,SAEV,CAAC"}
@@ -1,80 +1,60 @@
1
1
  /**
2
- * animation-catalog — the public Animation Library behind `animate --action-id`.
2
+ * animation-catalog — the Animation Library behind `animate --action-id(s)`.
3
3
  *
4
- * GET <v1 origin>/web/public/animations/resources[?category=…]. No credential
5
- * is loaded or sent; the command works without any Meshy account. `--search`
6
- * filters the fetched batch locally (name / key / subCategory, case-insensitive)
7
- * and says so in the result — it is not a server-side search.
4
+ * GET /openapi/v1/animations/library: free, authenticated, one complete list
5
+ * (no pagination). Every filter is applied by the server: `--search` matches
6
+ * name or key, `--category` / `--sub-category` match exactly, `--action-ids`
7
+ * resolves specific ids. Items are passed through as the API returns them.
8
8
  */
9
9
  import { Command, Option } from "commander";
10
- import { AnimationCatalogEndpoint, ANIMATION_CATEGORIES } from "../client/endpoints/animation-catalog.js";
11
- import { createPublicTransport } from "../client/transport.js";
12
- import { emitResult, openCommand, rejectOutputFlagForV1, saveRawJson } from "../internal/command-helpers.js";
13
- import { DEFAULT_BASE_URL_V1, derivePublicWebBase } from "../internal/config.js";
10
+ import { emitResult, listItems, openCommand, rejectOutputFlagForV1, saveRawJson } from "../internal/command-helpers.js";
14
11
  import { abortSignal } from "../internal/context.js";
15
- import { buildLocalRuntime } from "../internal/runtime.js";
16
- import { warning } from "../internal/result.js";
17
- export function toCatalogItem(e) {
18
- return {
19
- action_id: e.id,
20
- name: e.name ?? null,
21
- key: e.key ?? null,
22
- category: e.category ?? null,
23
- sub_category: e.subCategory ?? null,
24
- preview_url: e.previewUrl ?? null,
25
- rig_type: e.rigType ?? null,
26
- is_default: e.isDefault ?? null,
27
- is_free: e.isFree ?? null,
28
- };
29
- }
30
- /** Case-insensitive substring match over name, key and sub-category. */
31
- export function matchesSearch(item, search) {
32
- const needle = search.trim().toLowerCase();
33
- if (!needle)
34
- return true;
35
- return [item.name, item.key, item.sub_category].some((v) => typeof v === "string" && v.toLowerCase().includes(needle));
36
- }
12
+ import { UsageError } from "../internal/errors.js";
13
+ import { parseCsv } from "../internal/flags.js";
14
+ import { buildRuntime } from "../internal/runtime.js";
15
+ export const ANIMATION_CATEGORIES = ["WalkAndRun", "BodyMovements", "DailyActions", "Fighting", "Dancing"];
16
+ export const ANIMATION_LIBRARY_PATH = "/animations/library";
17
+ const MAX_LOOKUP_IDS = 200;
37
18
  const listCommand = new Command("list")
38
- .description("Fetch the public animation catalog (no API key needed) and list action ids")
39
- .addOption(new Option("--category <name>", "server-side category filter").choices([...ANIMATION_CATEGORIES]))
40
- .option("--search <text>", "local, case-insensitive match on name / key / sub-category")
41
- .option("--include-raw", "include the untouched catalog response under result.raw")
42
- .option("--save-json <file>", "save the untouched catalog response to this file (never overwrites)")
19
+ .description("List the animation library (action ids for `animate`); free, needs an API key")
20
+ .addOption(new Option("--category <name>", "exact category").choices([...ANIMATION_CATEGORIES]))
21
+ .option("--sub-category <name>", "exact sub-category (names repeat across categories)")
22
+ .option("--search <text>", "case-insensitive substring match on name or key (server-side)")
23
+ .option("--action-ids <csv>", `resolve specific action ids (at most ${MAX_LOOKUP_IDS}); unknown ids are simply absent`, parseCsv)
24
+ .option("--include-raw", "include the untouched response under result.raw")
25
+ .option("--save-json <file>", "save the untouched response to this file (never overwrites)")
43
26
  .action(async (opts, thisCmd) => {
44
27
  const opened = openCommand(thisCmd, "animation-catalog.list", "v1");
45
28
  rejectOutputFlagForV1(opened, opts.saveJson);
46
- buildLocalRuntime(opened.flags);
47
- const baseV1 = opened.flags.baseUrlV1 ?? process.env["MESHY_BASE_URL_V1"] ?? DEFAULT_BASE_URL_V1;
48
- const publicBase = derivePublicWebBase(baseV1);
49
- const transport = createPublicTransport({ baseUrl: publicBase, readTimeoutMs: readTimeout() });
50
- const endpoint = new AnimationCatalogEndpoint(transport);
51
- const { entries, total, raw } = await endpoint.list({ category: opts.category }, { signal: abortSignal() });
52
- const all = entries.map(toCatalogItem);
53
- const items = opts.search ? all.filter((i) => matchesSearch(i, opts.search)) : all;
54
- const warnings = [];
55
- if (total !== null && total !== entries.length) {
56
- warnings.push(warning("catalog_total_mismatch", `server reported total=${total} but returned ${entries.length} entries; only the returned batch was searched`));
29
+ if (opts.actionIds && (opts.actionIds.length > MAX_LOOKUP_IDS || opts.actionIds.some((id) => !/^-?\d+$/.test(id)))) {
30
+ throw new UsageError(`--action-ids takes at most ${MAX_LOOKUP_IDS} integer ids`);
57
31
  }
32
+ const filters = {
33
+ category: opts.category ?? null,
34
+ sub_category: opts.subCategory ?? null,
35
+ search: opts.search ?? null,
36
+ action_ids: opts.actionIds?.join(",") ?? null,
37
+ };
38
+ const runtime = await buildRuntime(opened.flags);
39
+ const raw = await runtime.client.getV1(ANIMATION_LIBRARY_PATH, {
40
+ category: opts.category,
41
+ sub_category: opts.subCategory,
42
+ search: opts.search,
43
+ action_ids: filters.action_ids ?? undefined,
44
+ }, { signal: abortSignal() });
45
+ const items = listItems(raw, ANIMATION_LIBRARY_PATH);
58
46
  const saved = opts.saveJson ? saveRawJson(opts.saveJson, raw, { workspace: opened.flags.workspaceRoot }) : null;
59
47
  await emitResult(opened, items, {
60
48
  items,
61
49
  count: items.length,
62
- fetched: entries.length,
63
- total,
64
- filters: { category: opts.category ?? null, search: opts.search ?? null },
65
- search_scope: "local",
66
- source: `${publicBase}${AnimationCatalogEndpoint.PATH}`,
67
- authenticated: false,
50
+ filters,
51
+ search_scope: "server",
52
+ source: `${runtime.config.baseUrlV1}${ANIMATION_LIBRARY_PATH}`,
68
53
  saved_json: saved,
69
54
  ...(opts.includeRaw ? { raw } : {}),
70
- }, { warnings });
55
+ });
71
56
  });
72
- function readTimeout() {
73
- const raw = process.env["MESHY_READ_TIMEOUT_MS"];
74
- const n = raw ? Number(raw) : NaN;
75
- return Number.isFinite(n) && n > 0 ? n : 120_000;
76
- }
77
57
  export const animationCatalogCommand = new Command("animation-catalog")
78
- .description("Public animation library lookups (no API key required)")
58
+ .description("Animation library lookups (action ids for `animate`)")
79
59
  .addCommand(listCommand);
80
60
  //# sourceMappingURL=animation-catalog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"animation-catalog.js","sourceRoot":"","sources":["../../src/cmd/animation-catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"animation-catalog.js","sourceRoot":"","sources":["../../src/cmd/animation-catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * auto-split — https://docs.meshy.ai/en/api/auto-split
3
+ *
4
+ * Cuts the model of a SUCCEEDED task (image-to-3d, multi-image-to-3d,
5
+ * text-to-3d preview, remesh, convert, resize; Meshy 6 or 7, not Smart
6
+ * Topology) into separately printable parts. Textured inputs are accepted;
7
+ * the texture is not carried over (each part gets a flat colour). Thin
8
+ * regions left by a cut are always reinforced — there is no switch for it.
9
+ */
10
+ export declare const autoSplitCommand: import("commander").Command;
11
+ //# sourceMappingURL=auto-split.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-split.d.ts","sourceRoot":"","sources":["../../src/cmd/auto-split.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAwEH,eAAO,MAAM,gBAAgB,6BAA6B,CAAC"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * auto-split — https://docs.meshy.ai/en/api/auto-split
3
+ *
4
+ * Cuts the model of a SUCCEEDED task (image-to-3d, multi-image-to-3d,
5
+ * text-to-3d preview, remesh, convert, resize; Meshy 6 or 7, not Smart
6
+ * Topology) into separately printable parts. Textured inputs are accepted;
7
+ * the texture is not carried over (each part gets a flat colour). Thin
8
+ * regions left by a cut are always reinforced — there is no switch for it.
9
+ */
10
+ import { Option } from "commander";
11
+ import { UsageError } from "../internal/errors.js";
12
+ import { parseBool, parseCsv, parseNumber } from "../internal/flags.js";
13
+ import { buildResourceCommand } from "../internal/task-command.js";
14
+ const PROMPT_MAX = 600;
15
+ const spec = {
16
+ name: "auto-split",
17
+ defaultSchema: "v1",
18
+ description: "Split a model into separately printable parts — automatically, by named parts, or by colour " +
19
+ "region — with optional connectors. Input is a SUCCEEDED Meshy 6/7 task; textures are not kept",
20
+ create: {
21
+ description: "Create an auto-split task",
22
+ configure(cmd) {
23
+ return cmd
24
+ .option("--input-task-id <id>", "SUCCEEDED source task: image-to-3d, multi-image-to-3d, text-to-3d preview, remesh, convert or resize (required)")
25
+ .addOption(new Option("--mode <mode>", "auto (default; Meshy picks the cuts) | by_parts (cut along the parts --prompt names) | by_color (along the colour regions --prompt names; image-to-3d / multi-image-to-3d inputs only)").choices(["auto", "by_parts", "by_color"]))
26
+ .option("--prompt <text>", `by_parts / by_color: the 1-10 parts to split into, e.g. "head, torso, arms" (max ${PROMPT_MAX} chars)`)
27
+ .option("--target-formats <csv>", "glb,obj,fbx,stl,usdz,blend,3mf (glb is always produced; stl fuses the parts into one solid)", parseCsv)
28
+ .addOption(new Option("--layout <layout>", "assembled (default; parts where the model had them) | on_plate (laid out ready to slice)").choices(["assembled", "on_plate"]))
29
+ .option("--connectors <bool>", "add mortise-and-tenon connectors at each cut (default: false)", parseBool)
30
+ .addOption(new Option("--connector-type <shape>", "with --connectors true: cube (default) | cylinder").choices(["cube", "cylinder"]))
31
+ .option("--connector-size <n>", "with --connectors true: size relative to the cut surface, 0.1-0.8 (default: 0.5)", parseNumber)
32
+ .option("--connector-height <n>", "with --connectors true: height relative to the cut surface, 0.1-0.8 (default: 0.1)", parseNumber);
33
+ },
34
+ toPayload(opts) {
35
+ return {
36
+ input_task_id: opts.inputTaskId,
37
+ mode: opts.mode,
38
+ prompt: opts.prompt,
39
+ target_formats: opts.targetFormats,
40
+ layout: opts.layout,
41
+ connectors: opts.connectors,
42
+ connector_type: opts.connectorType,
43
+ connector_size: opts.connectorSize,
44
+ connector_height: opts.connectorHeight,
45
+ };
46
+ },
47
+ validatePayload(payload) {
48
+ if (typeof payload.input_task_id !== "string" || !payload.input_task_id) {
49
+ throw new UsageError("provide --input-task-id (a SUCCEEDED task whose model to split)");
50
+ }
51
+ const byPrompt = payload.mode === "by_parts" || payload.mode === "by_color";
52
+ if (byPrompt && (typeof payload.prompt !== "string" || !payload.prompt.trim())) {
53
+ throw new UsageError(`--mode ${String(payload.mode)} requires --prompt naming the parts`);
54
+ }
55
+ if (typeof payload.prompt === "string" && payload.prompt.length > PROMPT_MAX) {
56
+ throw new UsageError(`--prompt must be at most ${PROMPT_MAX} characters (got ${payload.prompt.length})`);
57
+ }
58
+ for (const key of ["connector_size", "connector_height"]) {
59
+ const v = payload[key];
60
+ if (v !== undefined && (typeof v !== "number" || v < 0.1 || v > 0.8)) {
61
+ throw new UsageError(`${key} must be between 0.1 and 0.8`);
62
+ }
63
+ }
64
+ const tuned = ["connector_type", "connector_size", "connector_height"].filter((k) => payload[k] !== undefined);
65
+ if (tuned.length > 0 && payload.connectors !== true) {
66
+ throw new UsageError(`${tuned.join(", ")} only apply with --connectors true`);
67
+ }
68
+ },
69
+ },
70
+ };
71
+ export const autoSplitCommand = buildResourceCommand(spec);
72
+ //# sourceMappingURL=auto-split.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-split.js","sourceRoot":"","sources":["../../src/cmd/auto-split.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  /**
2
- * balance — one-shot GET /balance
2
+ * balance — one-shot GET /balance: the total, and its split into monthly
3
+ * credits (expiring at monthly_resets_at) and permanent credits.
3
4
  */
4
5
  import { Command } from "commander";
5
6
  export declare const balanceCommand: Command;
@@ -1 +1 @@
1
- {"version":3,"file":"balance.d.ts","sourceRoot":"","sources":["../../src/cmd/balance.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,eAAO,MAAM,cAAc,SAUvB,CAAC"}
1
+ {"version":3,"file":"balance.d.ts","sourceRoot":"","sources":["../../src/cmd/balance.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,eAAO,MAAM,cAAc,SAqBvB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  /**
2
- * balance — one-shot GET /balance
2
+ * balance — one-shot GET /balance: the total, and its split into monthly
3
+ * credits (expiring at monthly_resets_at) and permanent credits.
3
4
  */
4
5
  import { Command } from "commander";
5
6
  import { emitResult, openCommand, rejectOutputFlagForV1, saveRawJson } from "../internal/command-helpers.js";
@@ -13,6 +14,12 @@ export const balanceCommand = new Command("balance")
13
14
  const runtime = await buildRuntime(opened.flags);
14
15
  const { balance, raw } = await runtime.client.balance.getWithRaw();
15
16
  const saved = opts.saveJson ? saveRawJson(opts.saveJson, raw, { workspace: opened.flags.workspaceRoot }) : null;
16
- await emitResult(opened, balance, { balance: balance.balance, saved_json: saved }, { legacyFile: opened.flags.output });
17
+ await emitResult(opened, balance, {
18
+ balance: balance.balance,
19
+ monthly_credits: balance.monthly_credits ?? null,
20
+ permanent_credits: balance.permanent_credits ?? null,
21
+ monthly_resets_at: balance.monthly_resets_at ?? null,
22
+ saved_json: saved,
23
+ }, { legacyFile: opened.flags.output });
17
24
  });
18
25
  //# sourceMappingURL=balance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"balance.js","sourceRoot":"","sources":["../../src/cmd/balance.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7G,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;KACjD,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,oBAAoB,EAAE,oEAAoE,CAAC;KAClG,MAAM,CAAC,KAAK,EAAE,IAA2B,EAAE,OAAgB,EAAE,EAAE;IAC9D,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACzD,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IACnE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChH,MAAM,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;AAC1H,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"balance.js","sourceRoot":"","sources":["../../src/cmd/balance.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7G,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;KACjD,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,oBAAoB,EAAE,oEAAoE,CAAC;KAClG,MAAM,CAAC,KAAK,EAAE,IAA2B,EAAE,OAAgB,EAAE,EAAE;IAC9D,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACzD,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IACnE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChH,MAAM,UAAU,CACd,MAAM,EACN,OAAO,EACP;QACE,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI;QAChD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,IAAI;QACpD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,IAAI;QACpD,UAAU,EAAE,KAAK;KAClB,EACD,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CACpC,CAAC;AACJ,CAAC,CAAC,CAAC"}