@meshy-ai/cli 0.4.0 → 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 (142) hide show
  1. package/.env.example +1 -1
  2. package/README.md +3 -2
  3. package/dist/client/endpoints/base.d.ts +2 -0
  4. package/dist/client/endpoints/base.d.ts.map +1 -1
  5. package/dist/client/endpoints/base.js +3 -2
  6. package/dist/client/endpoints/base.js.map +1 -1
  7. package/dist/client/errors.d.ts +9 -1
  8. package/dist/client/errors.d.ts.map +1 -1
  9. package/dist/client/errors.js +20 -0
  10. package/dist/client/errors.js.map +1 -1
  11. package/dist/client/index.d.ts +4 -4
  12. package/dist/client/index.d.ts.map +1 -1
  13. package/dist/client/index.js +4 -6
  14. package/dist/client/index.js.map +1 -1
  15. package/dist/client/resource-registry.d.ts +15 -9
  16. package/dist/client/resource-registry.d.ts.map +1 -1
  17. package/dist/client/resource-registry.js +74 -18
  18. package/dist/client/resource-registry.js.map +1 -1
  19. package/dist/client/types.d.ts +3 -0
  20. package/dist/client/types.d.ts.map +1 -1
  21. package/dist/client/types.js +5 -0
  22. package/dist/client/types.js.map +1 -1
  23. package/dist/cmd/analyze-printability.d.ts +10 -1
  24. package/dist/cmd/analyze-printability.d.ts.map +1 -1
  25. package/dist/cmd/analyze-printability.js +38 -4
  26. package/dist/cmd/analyze-printability.js.map +1 -1
  27. package/dist/cmd/animate.d.ts +5 -3
  28. package/dist/cmd/animate.d.ts.map +1 -1
  29. package/dist/cmd/animate.js +38 -9
  30. package/dist/cmd/animate.js.map +1 -1
  31. package/dist/cmd/animation-catalog.d.ts +7 -20
  32. package/dist/cmd/animation-catalog.d.ts.map +1 -1
  33. package/dist/cmd/animation-catalog.js +40 -60
  34. package/dist/cmd/animation-catalog.js.map +1 -1
  35. package/dist/cmd/auto-split.d.ts +11 -0
  36. package/dist/cmd/auto-split.d.ts.map +1 -0
  37. package/dist/cmd/auto-split.js +72 -0
  38. package/dist/cmd/auto-split.js.map +1 -0
  39. package/dist/cmd/balance.d.ts +2 -1
  40. package/dist/cmd/balance.d.ts.map +1 -1
  41. package/dist/cmd/balance.js +9 -2
  42. package/dist/cmd/balance.js.map +1 -1
  43. package/dist/cmd/convert.js +1 -1
  44. package/dist/cmd/convert.js.map +1 -1
  45. package/dist/cmd/creative-lab.d.ts +12 -6
  46. package/dist/cmd/creative-lab.d.ts.map +1 -1
  47. package/dist/cmd/creative-lab.js +118 -15
  48. package/dist/cmd/creative-lab.js.map +1 -1
  49. package/dist/cmd/delete.d.ts +4 -2
  50. package/dist/cmd/delete.d.ts.map +1 -1
  51. package/dist/cmd/delete.js +19 -4
  52. package/dist/cmd/delete.js.map +1 -1
  53. package/dist/cmd/image-to-3d.d.ts +5 -4
  54. package/dist/cmd/image-to-3d.d.ts.map +1 -1
  55. package/dist/cmd/image-to-3d.js +33 -14
  56. package/dist/cmd/image-to-3d.js.map +1 -1
  57. package/dist/cmd/image-to-image.d.ts.map +1 -1
  58. package/dist/cmd/image-to-image.js +12 -5
  59. package/dist/cmd/image-to-image.js.map +1 -1
  60. package/dist/cmd/make.d.ts.map +1 -1
  61. package/dist/cmd/make.js +8 -4
  62. package/dist/cmd/make.js.map +1 -1
  63. package/dist/cmd/multi-color-print.d.ts.map +1 -1
  64. package/dist/cmd/multi-color-print.js +12 -2
  65. package/dist/cmd/multi-color-print.js.map +1 -1
  66. package/dist/cmd/multi-image-to-3d.d.ts +6 -3
  67. package/dist/cmd/multi-image-to-3d.d.ts.map +1 -1
  68. package/dist/cmd/multi-image-to-3d.js +27 -10
  69. package/dist/cmd/multi-image-to-3d.js.map +1 -1
  70. package/dist/cmd/remesh.d.ts.map +1 -1
  71. package/dist/cmd/remesh.js +5 -3
  72. package/dist/cmd/remesh.js.map +1 -1
  73. package/dist/cmd/repair-printability.d.ts +2 -1
  74. package/dist/cmd/repair-printability.d.ts.map +1 -1
  75. package/dist/cmd/repair-printability.js +14 -5
  76. package/dist/cmd/repair-printability.js.map +1 -1
  77. package/dist/cmd/resize.js +1 -1
  78. package/dist/cmd/resize.js.map +1 -1
  79. package/dist/cmd/resources.d.ts +1 -1
  80. package/dist/cmd/resources.d.ts.map +1 -1
  81. package/dist/cmd/resources.js +8 -6
  82. package/dist/cmd/resources.js.map +1 -1
  83. package/dist/cmd/retexture.d.ts.map +1 -1
  84. package/dist/cmd/retexture.js +6 -4
  85. package/dist/cmd/retexture.js.map +1 -1
  86. package/dist/cmd/rigging.d.ts +0 -1
  87. package/dist/cmd/rigging.d.ts.map +1 -1
  88. package/dist/cmd/rigging.js +2 -2
  89. package/dist/cmd/rigging.js.map +1 -1
  90. package/dist/cmd/text-to-3d.d.ts +5 -6
  91. package/dist/cmd/text-to-3d.d.ts.map +1 -1
  92. package/dist/cmd/text-to-3d.js +45 -20
  93. package/dist/cmd/text-to-3d.js.map +1 -1
  94. package/dist/cmd/text-to-image.d.ts.map +1 -1
  95. package/dist/cmd/text-to-image.js +3 -1
  96. package/dist/cmd/text-to-image.js.map +1 -1
  97. package/dist/cmd/usage.d.ts +10 -0
  98. package/dist/cmd/usage.d.ts.map +1 -0
  99. package/dist/cmd/usage.js +61 -0
  100. package/dist/cmd/usage.js.map +1 -0
  101. package/dist/internal/artifacts.d.ts +1 -0
  102. package/dist/internal/artifacts.d.ts.map +1 -1
  103. package/dist/internal/artifacts.js +4 -0
  104. package/dist/internal/artifacts.js.map +1 -1
  105. package/dist/internal/command-helpers.d.ts +2 -0
  106. package/dist/internal/command-helpers.d.ts.map +1 -1
  107. package/dist/internal/command-helpers.js +8 -0
  108. package/dist/internal/command-helpers.js.map +1 -1
  109. package/dist/internal/device.d.ts +1 -1
  110. package/dist/internal/device.js +3 -3
  111. package/dist/internal/device.js.map +1 -1
  112. package/dist/internal/errors.d.ts +2 -1
  113. package/dist/internal/errors.d.ts.map +1 -1
  114. package/dist/internal/errors.js +6 -1
  115. package/dist/internal/errors.js.map +1 -1
  116. package/dist/internal/file-input.d.ts.map +1 -1
  117. package/dist/internal/file-input.js +18 -16
  118. package/dist/internal/file-input.js.map +1 -1
  119. package/dist/internal/image-models.d.ts +2 -3
  120. package/dist/internal/image-models.d.ts.map +1 -1
  121. package/dist/internal/image-models.js +3 -3
  122. package/dist/internal/image-models.js.map +1 -1
  123. package/dist/internal/poll.d.ts +16 -1
  124. package/dist/internal/poll.d.ts.map +1 -1
  125. package/dist/internal/poll.js +41 -9
  126. package/dist/internal/poll.js.map +1 -1
  127. package/dist/internal/task-command.d.ts +17 -1
  128. package/dist/internal/task-command.d.ts.map +1 -1
  129. package/dist/internal/task-command.js +52 -8
  130. package/dist/internal/task-command.js.map +1 -1
  131. package/dist/internal/views.d.ts.map +1 -1
  132. package/dist/internal/views.js +7 -1
  133. package/dist/internal/views.js.map +1 -1
  134. package/dist/root.d.ts.map +1 -1
  135. package/dist/root.js +7 -2
  136. package/dist/root.js.map +1 -1
  137. package/package.json +2 -2
  138. package/skills/meshy-cli/SKILL.md +67 -40
  139. package/dist/client/endpoints/animation-catalog.d.ts +0 -37
  140. package/dist/client/endpoints/animation-catalog.d.ts.map +0 -1
  141. package/dist/client/endpoints/animation-catalog.js +0 -55
  142. package/dist/client/endpoints/animation-catalog.js.map +0 -1
package/.env.example CHANGED
@@ -1,4 +1,4 @@
1
- # Your Meshy API key (https://www.meshy.ai/settings/api). Read from the
1
+ # Your Meshy API key (https://www.meshy.ai/developers/keys). Read from the
2
2
  # environment, or from an explicit file via `meshy ... --api-key-file <path>`
3
3
  # (only this key is read from the file; nothing is executed).
4
4
  MESHY_API_KEY=YOUR_MESHY_API_KEY_HERE
package/README.md CHANGED
@@ -2,7 +2,8 @@
2
2
 
3
3
  The command line for the [Meshy AI API](https://docs.meshy.ai/): text-to-3D,
4
4
  image-to-3D, text-to-motion, remesh, convert, resize, UV unwrap, rigging,
5
- animation, retexture, 2D images, multi-color print, Creative Lab products, plus
5
+ animation, retexture, 2D images, printability, auto split, multi-color print,
6
+ Creative Lab products, usage records, plus
6
7
  the local helpers a 3D-printing or agent workflow needs. Built for people and
7
8
  AI agents: a terminal gets a readable view, a pipe or an agent gets JSON.
8
9
 
@@ -30,7 +31,7 @@ meshy auth status
30
31
  ```
31
32
 
32
33
  In CI, set `MESHY_API_KEY` instead; it wins over a stored login. Get a key at
33
- <https://www.meshy.ai/settings/api>.
34
+ <https://www.meshy.ai/developers/keys>.
34
35
 
35
36
  ## Quick start
36
37
 
@@ -26,6 +26,8 @@ export interface CreateResult {
26
26
  export interface RetrieveResult {
27
27
  task: Task;
28
28
  raw: unknown;
29
+ /** The server's poll hint (`Retry-After` on a task read), in ms, when it sent one. */
30
+ retryAfterMs?: number;
29
31
  }
30
32
  export interface ListResult {
31
33
  tasks: Task[];
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/client/endpoints/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAGL,KAAK,IAAI,EACV,MAAM,aAAa,CAAC;AAErB,kFAAkF;AAClF,MAAM,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEhF,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,IAAI,CAAC;IACX,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,YAAY;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAExC,YAAY,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAMrD;IAED,qFAAqF;IACrF,IAAI,gBAAgB,IAAI,MAAM,CAE7B;IAEK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAE,aAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAE1F;IAEK,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC,CAiBxG;IAEK,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAExE;IAEK,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,aAAkB,GAAG,OAAO,CAAC,cAAc,CAAC,CAe1F;IAEK,IAAI,CAAC,MAAM,GAAE,UAAe,EAAE,MAAM,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAE/E;IAEK,YAAY,CAAC,MAAM,GAAE,UAAe,EAAE,MAAM,GAAE,aAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CAiB3F;IAEK,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAKzE;IAED,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGjC;IAED,gFAAgF;IAC1E,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAEtH;CACF"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/client/endpoints/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAGL,KAAK,IAAI,EACV,MAAM,aAAa,CAAC;AAErB,kFAAkF;AAClF,MAAM,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEhF,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,IAAI,CAAC;IACX,GAAG,EAAE,OAAO,CAAC;IACb,sFAAsF;IACtF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,YAAY;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAExC,YAAY,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAMrD;IAED,qFAAqF;IACrF,IAAI,gBAAgB,IAAI,MAAM,CAE7B;IAEK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAE,aAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAE1F;IAEK,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC,CAiBxG;IAEK,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAExE;IAEK,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,aAAkB,GAAG,OAAO,CAAC,cAAc,CAAC,CAgB1F;IAEK,IAAI,CAAC,MAAM,GAAE,UAAe,EAAE,MAAM,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAE/E;IAEK,YAAY,CAAC,MAAM,GAAE,UAAe,EAAE,MAAM,GAAE,aAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CAiB3F;IAEK,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAKzE;IAED,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGjC;IAED,gFAAgF;IAC1E,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAEtH;CACF"}
@@ -9,7 +9,7 @@
9
9
  * The `*Detailed` variants also return the raw JSON exactly as received, which
10
10
  * is what --save-json, --include-raw and the v1 TaskView are built from.
11
11
  */
12
- import { MeshyApiError } from "../errors.js";
12
+ import { MeshyApiError, parseRetryAfter } from "../errors.js";
13
13
  import { TaskCreateResponseSchema, TaskSchema, } from "../types.js";
14
14
  export class TaskEndpoint {
15
15
  resourcePath;
@@ -64,7 +64,8 @@ export class TaskEndpoint {
64
64
  body: resp.json,
65
65
  });
66
66
  }
67
- return { task: parsed.data, raw: resp.json };
67
+ const retryAfterMs = parseRetryAfter(resp.headers.get("retry-after"));
68
+ return retryAfterMs === undefined ? { task: parsed.data, raw: resp.json } : { task: parsed.data, raw: resp.json, retryAfterMs };
68
69
  }
69
70
  async list(params = {}, extras = {}) {
70
71
  return (await this.listDetailed(params, extras)).tasks;
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/client/endpoints/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/client/endpoints/base.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Single typed error class for all Meshy HTTP failures.
3
3
  */
4
- export type MeshyErrorCode = "validation" | "auth" | "credit" | "not_found" | "rate_limit" | "server" | "network";
4
+ export type MeshyErrorCode = "validation" | "auth" | "credit" | "not_found" | "rate_limit" | "conflict" | "server" | "network";
5
5
  export declare class MeshyApiError extends Error {
6
6
  readonly status: number;
7
7
  readonly code: MeshyErrorCode;
@@ -9,6 +9,8 @@ export declare class MeshyApiError extends Error {
9
9
  readonly body?: unknown;
10
10
  /** Set when the credential kind is known at the call site — used to tailor the 401 hint. */
11
11
  readonly credentialKind?: "oauth" | "api_key";
12
+ /** The server's `Retry-After`, in ms, when the response carried one (429, 503). */
13
+ readonly retryAfterMs?: number;
12
14
  constructor(params: {
13
15
  message: string;
14
16
  status: number;
@@ -16,9 +18,15 @@ export declare class MeshyApiError extends Error {
16
18
  path?: string;
17
19
  body?: unknown;
18
20
  credentialKind?: "oauth" | "api_key";
21
+ retryAfterMs?: number;
19
22
  });
20
23
  toJSON(): Record<string, unknown>;
21
24
  }
22
25
  export declare function codeForStatus(status: number): MeshyErrorCode;
26
+ /**
27
+ * `Retry-After` in ms: delta-seconds (what the API sends) or an HTTP date.
28
+ * Absent, unparseable or in the past → undefined.
29
+ */
30
+ export declare function parseRetryAfter(value: string | null | undefined, now?: number): number | undefined;
23
31
  export declare function mapHttpError(resp: Response, path?: string, credentialKind?: "oauth" | "api_key"): Promise<MeshyApiError>;
24
32
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/client/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,cAAc,GACtB,YAAY,GACZ,MAAM,GACN,QAAQ,GACR,WAAW,GACX,YAAY,GACZ,QAAQ,GACR,SAAS,CAAC;AAEd,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,4FAA4F;IAC5F,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAE9C,YAAY,MAAM,EAAE;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,cAAc,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KACtC,EAQA;IAED,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAShC;CACF;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAO5D;AAyBD,wBAAsB,YAAY,CAChC,IAAI,EAAE,QAAQ,EACd,IAAI,CAAC,EAAE,MAAM,EACb,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,GACnC,OAAO,CAAC,aAAa,CAAC,CAYxB"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/client/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,cAAc,GACtB,YAAY,GACZ,MAAM,GACN,QAAQ,GACR,WAAW,GACX,YAAY,GACZ,UAAU,GACV,QAAQ,GACR,SAAS,CAAC;AAEd,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,4FAA4F;IAC5F,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9C,mFAAmF;IACnF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B,YAAY,MAAM,EAAE;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,cAAc,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACrC,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,EASA;IAED,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAShC;CACF;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAQ5D;AAyBD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,GAAG,SAAa,GAAG,MAAM,GAAG,SAAS,CAMtG;AAED,wBAAsB,YAAY,CAChC,IAAI,EAAE,QAAQ,EACd,IAAI,CAAC,EAAE,MAAM,EACb,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,GACnC,OAAO,CAAC,aAAa,CAAC,CAaxB"}
@@ -8,6 +8,8 @@ export class MeshyApiError extends Error {
8
8
  body;
9
9
  /** Set when the credential kind is known at the call site — used to tailor the 401 hint. */
10
10
  credentialKind;
11
+ /** The server's `Retry-After`, in ms, when the response carried one (429, 503). */
12
+ retryAfterMs;
11
13
  constructor(params) {
12
14
  super(params.message);
13
15
  this.name = "MeshyApiError";
@@ -16,6 +18,8 @@ export class MeshyApiError extends Error {
16
18
  this.path = params.path;
17
19
  this.body = params.body;
18
20
  this.credentialKind = params.credentialKind;
21
+ if (params.retryAfterMs !== undefined)
22
+ this.retryAfterMs = params.retryAfterMs;
19
23
  }
20
24
  toJSON() {
21
25
  return {
@@ -37,6 +41,8 @@ export function codeForStatus(status) {
37
41
  return "credit";
38
42
  if (status === 404)
39
43
  return "not_found";
44
+ if (status === 409)
45
+ return "conflict";
40
46
  if (status === 429)
41
47
  return "rate_limit";
42
48
  return "server";
@@ -66,6 +72,19 @@ async function extractMessage(resp) {
66
72
  return { msg: bodyText.slice(0, 200), body: bodyText };
67
73
  }
68
74
  }
75
+ /**
76
+ * `Retry-After` in ms: delta-seconds (what the API sends) or an HTTP date.
77
+ * Absent, unparseable or in the past → undefined.
78
+ */
79
+ export function parseRetryAfter(value, now = Date.now()) {
80
+ if (!value)
81
+ return undefined;
82
+ const text = value.trim();
83
+ if (/^\d+(\.\d+)?$/.test(text))
84
+ return Math.round(Number(text) * 1000);
85
+ const at = Date.parse(text);
86
+ return Number.isFinite(at) && at > now ? at - now : undefined;
87
+ }
69
88
  export async function mapHttpError(resp, path, credentialKind) {
70
89
  const { msg, body } = await extractMessage(resp);
71
90
  const code = codeForStatus(resp.status);
@@ -77,6 +96,7 @@ export async function mapHttpError(resp, path, credentialKind) {
77
96
  path: where,
78
97
  body,
79
98
  credentialKind,
99
+ retryAfterMs: parseRetryAfter(resp.headers.get("retry-after")),
80
100
  });
81
101
  }
82
102
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/client/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/client/errors.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,9 @@
5
5
  * v1 / v2 bearer credential, resolved by config
6
6
  * creative-lab bearer credential; base derived from the v1 origin or given
7
7
  * explicitly; a stored profile is never sent to another origin
8
- * public-web no credential (animation catalog)
9
8
  */
10
9
  import { BalanceEndpoint } from "./endpoints/balance.js";
11
10
  import { TaskEndpoint } from "./endpoints/base.js";
12
- import { AnimationCatalogEndpoint } from "./endpoints/animation-catalog.js";
13
11
  import { ShowcasesEndpoint } from "./endpoints/showcases.js";
14
12
  import { type CreativeLabProduct, type CreativeLabStage, type TaskResourceDescriptor } from "./resource-registry.js";
15
13
  import { type MeshyConfig } from "../internal/config.js";
@@ -18,8 +16,6 @@ export declare class MeshyClient {
18
16
  readonly config: MeshyConfig;
19
17
  readonly balance: BalanceEndpoint;
20
18
  readonly showcases: ShowcasesEndpoint;
21
- /** Public catalog — built on a transport without any credential. */
22
- readonly catalog: AnimationCatalogEndpoint;
23
19
  private readonly v1;
24
20
  private readonly v2;
25
21
  private creativeLabTransport;
@@ -27,6 +23,10 @@ export declare class MeshyClient {
27
23
  constructor(config: MeshyConfig, opts?: {
28
24
  fetchImpl?: typeof fetch;
29
25
  });
26
+ /** One authenticated GET on the v1 family for the list-shaped queries (usage, animation library). */
27
+ getV1(path: string, query: Record<string, string | number | undefined>, extras?: {
28
+ signal?: AbortSignal;
29
+ }): Promise<unknown>;
30
30
  private transportFor;
31
31
  /** Endpoint for any registered task resource (`text-to-3d`, `creative-lab.lamp.build`, …). */
32
32
  endpointFor(resource: string | TaskResourceDescriptor): TaskEndpoint;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,9 @@
5
5
  * v1 / v2 bearer credential, resolved by config
6
6
  * creative-lab bearer credential; base derived from the v1 origin or given
7
7
  * explicitly; a stored profile is never sent to another origin
8
- * public-web no credential (animation catalog)
9
8
  */
10
9
  import { BalanceEndpoint } from "./endpoints/balance.js";
11
10
  import { TaskEndpoint } from "./endpoints/base.js";
12
- import { AnimationCatalogEndpoint } from "./endpoints/animation-catalog.js";
13
11
  import { ShowcasesEndpoint } from "./endpoints/showcases.js";
14
12
  import { creativeLabResource, requireTaskResource, TASK_RESOURCES, } from "./resource-registry.js";
15
13
  import { createTransport } from "./transport.js";
@@ -19,8 +17,6 @@ export class MeshyClient {
19
17
  config;
20
18
  balance;
21
19
  showcases;
22
- /** Public catalog — built on a transport without any credential. */
23
- catalog;
24
20
  v1;
25
21
  v2;
26
22
  creativeLabTransport = null;
@@ -30,10 +26,12 @@ export class MeshyClient {
30
26
  const common = { readTimeoutMs: config.readTimeoutMs, fetchImpl: opts.fetchImpl, credentialKind: config.credentialKind };
31
27
  this.v1 = createTransport({ ...common, baseUrl: config.baseUrlV1, apiKey: config.apiKey });
32
28
  this.v2 = createTransport({ ...common, baseUrl: config.baseUrlV2, apiKey: config.apiKey });
33
- const publicTransport = createTransport({ baseUrl: config.publicWebBase, readTimeoutMs: config.readTimeoutMs, fetchImpl: opts.fetchImpl });
34
29
  this.balance = new BalanceEndpoint((path, init) => this.v1.fetchRaw(path, init));
35
30
  this.showcases = new ShowcasesEndpoint(this.v1);
36
- this.catalog = new AnimationCatalogEndpoint(publicTransport);
31
+ }
32
+ /** One authenticated GET on the v1 family for the list-shaped queries (usage, animation library). */
33
+ async getV1(path, query, extras = {}) {
34
+ return (await this.v1.requestJson("GET", path, { query, signal: extras.signal })).json;
37
35
  }
38
36
  transportFor(base) {
39
37
  switch (base) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Resource registry — the single source for what the CLI can call.
3
3
  *
4
- * Every task resource (the 16 first-class endpoints plus the 4 × 2 Creative
5
- * Lab stages) is described once: command path, API family, relative path,
4
+ * Every task resource (the first-class endpoints plus the Creative Lab
5
+ * stages) is described once: command path, API family, relative path,
6
6
  * supported verbs, billing class and the payload fields that carry media.
7
7
  * Commands, the `resources` index, payload normalisation and the transport
8
8
  * all read from here; nothing else hard-codes a path.
@@ -13,7 +13,10 @@
13
13
  export type ApiBase = "v1" | "v2" | "creative-lab";
14
14
  export type MediaKind = "image" | "model";
15
15
  export type Billing = "none" | "may-charge";
16
- export type CreativeLabProduct = "figure" | "lamp" | "keychain" | "fridge-magnet";
16
+ /** Two-stage products (prototype → build). */
17
+ export type CreativeLabProduct = "figure" | "lamp" | "keychain" | "fridge-magnet" | "vinyl-figure" | "brick-figure" | "keycap" | "fidget-pixel";
18
+ /** Products with a single create, no stages. */
19
+ export type CreativeLabSingleProduct = "fidget-collapsible";
17
20
  export type CreativeLabStage = "prototype" | "build";
18
21
  export type Verb = "create" | "get" | "list" | "delete" | "stream";
19
22
  export interface MediaField {
@@ -23,6 +26,8 @@ export interface MediaField {
23
26
  many: boolean;
24
27
  /** When set, only these file extensions/formats are accepted for local files. */
25
28
  formats?: readonly string[];
29
+ /** Appended to the error when a local file or data: URI is not one of `formats`. */
30
+ formatsHint?: string;
26
31
  }
27
32
  export interface VerbSupport {
28
33
  create: boolean;
@@ -51,12 +56,13 @@ export interface TaskResourceDescriptor {
51
56
  /** Never true in S1: nothing billable is retried for the caller. */
52
57
  automaticRetry: false;
53
58
  creativeLab?: {
54
- product: CreativeLabProduct;
55
- stage: CreativeLabStage;
59
+ product: CreativeLabProduct | CreativeLabSingleProduct;
60
+ stage: CreativeLabStage | null;
56
61
  };
57
62
  summary: string;
58
63
  }
59
64
  export declare const CREATIVE_LAB_PRODUCTS: readonly CreativeLabProduct[];
65
+ export declare const CREATIVE_LAB_SINGLE_PRODUCTS: readonly CreativeLabSingleProduct[];
60
66
  export declare const CREATIVE_LAB_STAGES: readonly CreativeLabStage[];
61
67
  export declare const TASK_RESOURCES: readonly TaskResourceDescriptor[];
62
68
  export declare function findTaskResource(id: string): TaskResourceDescriptor | undefined;
@@ -69,10 +75,10 @@ export declare const TOP_LEVEL_TASK_RESOURCE_IDS: readonly string[];
69
75
  export interface QueryResourceDescriptor {
70
76
  id: string;
71
77
  commandPath: readonly string[];
72
- base: "v1" | "public-web";
78
+ base: "v1";
73
79
  method: "GET";
74
80
  relativePath: string;
75
- auth: "bearer" | "none";
81
+ auth: "bearer";
76
82
  billing: Billing;
77
83
  summary: string;
78
84
  }
@@ -83,7 +89,7 @@ export interface LocalToolDescriptor {
83
89
  summary: string;
84
90
  }
85
91
  export declare const LOCAL_TOOLS: readonly LocalToolDescriptor[];
86
- export type ResourceIndexKind = "task" | "query" | "local";
92
+ export type ResourceIndexKind = "task" | "query" | "action" | "local";
87
93
  export interface ResourceIndexEntry {
88
94
  name: string;
89
95
  kind: ResourceIndexKind;
@@ -92,6 +98,6 @@ export interface ResourceIndexEntry {
92
98
  endpoint: string | null;
93
99
  verbs: Verb[] | null;
94
100
  }
95
- /** The v1 `resources` index: every task resource, query and local tool. */
101
+ /** The v1 `resources` index: every task resource, query, action and local tool. */
96
102
  export declare function resourceIndex(): ResourceIndexEntry[];
97
103
  //# sourceMappingURL=resource-registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resource-registry.d.ts","sourceRoot":"","sources":["../../src/client/resource-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,cAAc,CAAC;AACnD,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAC1C,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,YAAY,CAAC;AAC5C,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,eAAe,CAAC;AAClF,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,OAAO,CAAC;AACrD,MAAM,MAAM,IAAI,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEnE,MAAM,WAAW,UAAU;IACzB,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,iFAAiF;IACjF,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,2EAA2E;IAC3E,EAAE,EAAE,MAAM,CAAC;IACX,oCAAoC;IACpC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,kDAAkD;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB,qFAAqF;IACrF,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,WAAW,CAAC;IACtB,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IACnC,0DAA0D;IAC1D,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,OAAO,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7B,oEAAoE;IACpE,cAAc,EAAE,KAAK,CAAC;IACtB,WAAW,CAAC,EAAE;QAAE,OAAO,EAAE,kBAAkB,CAAC;QAAC,KAAK,EAAE,gBAAgB,CAAA;KAAE,CAAC;IACvE,OAAO,EAAE,MAAM,CAAC;CACjB;AA8BD,eAAO,MAAM,qBAAqB,EAAE,SAAS,kBAAkB,EAAoD,CAAC;AACpH,eAAO,MAAM,mBAAmB,EAAE,SAAS,gBAAgB,EAA2B,CAAC;AAqBvF,eAAO,MAAM,cAAc,EAAE,SAAS,sBAAsB,EAqC3D,CAAC;AAIF,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS,CAE/E;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,sBAAsB,CAItE;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,sBAAsB,GAAG,SAAS,CAErG;AAED,0GAA0G;AAC1G,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS,CAItG;AAED,+GAA+G;AAC/G,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAA8E,CAAC;AAExI,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,IAAI,EAAE,IAAI,GAAG,YAAY,CAAC;IAC1B,MAAM,EAAE,KAAK,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,eAAe,EAAE,SAAS,uBAAuB,EAI7D,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,WAAW,EAAE,SAAS,mBAAmB,EAQrD,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;CACtB;AAED,2EAA2E;AAC3E,wBAAgB,aAAa,IAAI,kBAAkB,EAAE,CA8BpD"}
1
+ {"version":3,"file":"resource-registry.d.ts","sourceRoot":"","sources":["../../src/client/resource-registry.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Resource registry — the single source for what the CLI can call.
3
3
  *
4
- * Every task resource (the 16 first-class endpoints plus the 4 × 2 Creative
5
- * Lab stages) is described once: command path, API family, relative path,
4
+ * Every task resource (the first-class endpoints plus the Creative Lab
5
+ * stages) is described once: command path, API family, relative path,
6
6
  * supported verbs, billing class and the payload fields that carry media.
7
7
  * Commands, the `resources` index, payload normalisation and the transport
8
8
  * all read from here; nothing else hard-codes a path.
@@ -12,7 +12,21 @@
12
12
  */
13
13
  const ALL_VERBS = { create: true, get: true, list: true, delete: true, stream: true };
14
14
  const image = (path, many = false, formats) => formats ? { path, kind: "image", many, formats } : { path, kind: "image", many };
15
- const model = (path, formats) => formats ? { path, kind: "model", many: false, formats } : { path, kind: "model", many: false };
15
+ const model = (path, formats, formatsHint) => ({
16
+ path,
17
+ kind: "model",
18
+ many: false,
19
+ ...(formats ? { formats } : {}),
20
+ ...(formatsHint ? { formatsHint } : {}),
21
+ });
22
+ /**
23
+ * The API takes an inline (data:) model only as glTF, and a local file is
24
+ * always sent inline. Other formats need a URL the API can fetch itself.
25
+ * multi-color-print takes GLB or FBX at all, so inline it is GLB only.
26
+ */
27
+ const INLINE_MODEL_FORMATS = ["glb", "gltf"];
28
+ const INLINE_MODEL_HINT = "the API takes an inline (local) model as glTF only — for .stl/.obj/.fbx pass a public http(s) URL, or --input-task-id";
29
+ const inlineModel = (path) => model(path, INLINE_MODEL_FORMATS, INLINE_MODEL_HINT);
16
30
  function v1(id, relativePath, opts) {
17
31
  return {
18
32
  id,
@@ -28,7 +42,17 @@ function v1(id, relativePath, opts) {
28
42
  summary: opts.summary,
29
43
  };
30
44
  }
31
- export const CREATIVE_LAB_PRODUCTS = ["figure", "lamp", "keychain", "fridge-magnet"];
45
+ export const CREATIVE_LAB_PRODUCTS = [
46
+ "figure",
47
+ "lamp",
48
+ "keychain",
49
+ "fridge-magnet",
50
+ "vinyl-figure",
51
+ "brick-figure",
52
+ "keycap",
53
+ "fidget-pixel",
54
+ ];
55
+ export const CREATIVE_LAB_SINGLE_PRODUCTS = ["fidget-collapsible"];
32
56
  export const CREATIVE_LAB_STAGES = ["prototype", "build"];
33
57
  const CREATIVE_LAB_IMAGE_FORMATS = ["jpg", "jpeg", "png", "webp"];
34
58
  function creativeLab(product, stage, summary) {
@@ -48,6 +72,24 @@ function creativeLab(product, stage, summary) {
48
72
  summary,
49
73
  };
50
74
  }
75
+ /** A single-stage product: one create on the product root, no prototype/build. */
76
+ function creativeLabSingle(product, summary) {
77
+ const relativePath = `/${product}/v1`;
78
+ return {
79
+ id: `creative-lab.${product}`,
80
+ commandPath: ["creative-lab", product],
81
+ base: "creative-lab",
82
+ relativePath,
83
+ legacyEndpoint: `/openapi/creative-lab${relativePath}`,
84
+ supports: ALL_VERBS,
85
+ mediaFields: [image("image_url", false, CREATIVE_LAB_IMAGE_FORMATS)],
86
+ taskTypes: [`creative-lab-${product}`],
87
+ billing: { create: "may-charge" },
88
+ automaticRetry: false,
89
+ creativeLab: { product, stage: null },
90
+ summary,
91
+ };
92
+ }
51
93
  export const TASK_RESOURCES = [
52
94
  {
53
95
  id: "text-to-3d",
@@ -63,19 +105,20 @@ export const TASK_RESOURCES = [
63
105
  summary: "two-stage 3D generation from text (preview → refine)",
64
106
  },
65
107
  v1("image-to-3d", "/image-to-3d", { mediaFields: [image("image_url")], taskTypes: ["image-to-3d"], summary: "3D from a single image (standard or smart-topology low-poly)" }),
66
- v1("multi-image-to-3d", "/multi-image-to-3d", { mediaFields: [image("image_urls", true)], taskTypes: ["multi-image-to-3d"], summary: "3D from multiple views (beta; prefer image-to-3d)" }),
67
- v1("remesh", "/remesh", { mediaFields: [model("model_url")], taskTypes: ["remesh"], summary: "retopologize / change polycount" }),
68
- v1("convert", "/convert", { mediaFields: [model("model_url")], taskTypes: ["convert"], summary: "change file format only" }),
69
- v1("resize", "/resize", { mediaFields: [model("model_url")], taskTypes: ["resize"], summary: "resize to real-world dimensions" }),
108
+ v1("multi-image-to-3d", "/multi-image-to-3d", { mediaFields: [image("image_urls", true), image("texture_image_urls", true)], taskTypes: ["multi-image-to-3d"], summary: "3D from 1-4 views of one object (prefer image-to-3d for a single image)" }),
109
+ v1("remesh", "/remesh", { mediaFields: [inlineModel("model_url")], taskTypes: ["remesh"], summary: "retopologize / change polycount" }),
110
+ v1("convert", "/convert", { mediaFields: [inlineModel("model_url")], taskTypes: ["convert"], summary: "change file format only" }),
111
+ v1("resize", "/resize", { mediaFields: [inlineModel("model_url")], taskTypes: ["resize"], summary: "resize to real-world dimensions" }),
70
112
  v1("rigging", "/rigging", { mediaFields: [model("model_url", ["glb"]), image("texture_image_url")], taskTypes: ["rig"], summary: "rig a humanoid mesh (+ bundled walk/run animations)" }),
71
- v1("animate", "/animations", { taskTypes: ["animation"], summary: "apply an animation clip to a rigged mesh" }),
72
- v1("retexture", "/retexture", { mediaFields: [model("model_url"), image("image_style_url"), image("multiview_image_urls", true)], taskTypes: ["retexture"], summary: "regenerate textures" }),
113
+ v1("animate", "/animations", { taskTypes: ["animate"], summary: "apply an animation clip to a rigged mesh" }),
114
+ v1("retexture", "/retexture", { mediaFields: [inlineModel("model_url"), image("image_style_url"), image("multiview_image_urls", true)], taskTypes: ["retexture"], summary: "regenerate textures" }),
73
115
  v1("text-to-image", "/text-to-image", { taskTypes: ["text-to-image"], summary: "2D image generation" }),
74
116
  v1("text-to-motion", "/text-to-motion", { taskTypes: ["text-to-motion"], summary: "generate a standalone skeletal motion clip from text" }),
75
117
  v1("image-to-image", "/image-to-image", { mediaFields: [image("reference_image_urls", true)], taskTypes: ["image-to-image"], summary: "2D image editing" }),
76
- v1("multi-color-print", "/print/multi-color", { mediaFields: [model("model_url")], taskTypes: ["print-multi-color"], summary: "color-separated 3D print output" }),
77
- v1("analyze-printability", "/print/analyze", { mediaFields: [model("model_url")], taskTypes: ["print-analyze"], billing: "none", summary: "inspect a model for 3D-printing issues (free)" }),
78
- v1("repair-printability", "/print/repair", { mediaFields: [model("model_url")], taskTypes: ["print-repair"], summary: "fix non-watertight / non-manifold geometry" }),
118
+ v1("multi-color-print", "/print/multi-color", { mediaFields: [model("model_url", ["glb"], "the API takes an inline (local) model as GLB only here — for .fbx pass a public http(s) URL, or --input-task-id")], taskTypes: ["print-multi-color"], summary: "color-separated 3D print output" }),
119
+ v1("analyze-printability", "/print/analyze", { mediaFields: [inlineModel("model_url")], taskTypes: ["print-analyze"], billing: "none", summary: "inspect a model for 3D-printing issues (free)" }),
120
+ v1("repair-printability", "/print/repair", { mediaFields: [inlineModel("model_url")], taskTypes: ["print-repair"], summary: "fix non-watertight / non-manifold geometry" }),
121
+ v1("auto-split", "/print/split", { taskTypes: ["print-split"], summary: "split a model into printable parts (auto / by named parts / by colour; optional connectors)" }),
79
122
  v1("uv-unwrap", "/uv-unwrap", { mediaFields: [model("model_url", ["glb"])], taskTypes: ["uv-unwrap"], summary: "generate fresh UVs for a GLB (≤40k faces) — a UV white model for external texturing" }),
80
123
  creativeLab("figure", "prototype", "Creative Lab figure: photo → styled concept image"),
81
124
  creativeLab("figure", "build", "Creative Lab figure: prototype → textured GLB/OBJ/MTL"),
@@ -85,6 +128,15 @@ export const TASK_RESOURCES = [
85
128
  creativeLab("keychain", "build", "Creative Lab keychain: prototype → relief GLB / OBJ bundle (zip) / zip"),
86
129
  creativeLab("fridge-magnet", "prototype", "Creative Lab fridge magnet: photo → styled concept image"),
87
130
  creativeLab("fridge-magnet", "build", "Creative Lab fridge magnet: prototype → relief GLB / OBJ bundle (zip) / zip"),
131
+ creativeLab("vinyl-figure", "prototype", "Creative Lab vinyl figure: photo → big-head vinyl concept image"),
132
+ creativeLab("vinyl-figure", "build", "Creative Lab vinyl figure: prototype → textured GLB/OBJ/MTL"),
133
+ creativeLab("brick-figure", "prototype", "Creative Lab brick figure: photo → brick minifigure concept image"),
134
+ creativeLab("brick-figure", "build", "Creative Lab brick figure: prototype → textured GLB/OBJ/MTL"),
135
+ creativeLab("keycap", "prototype", "Creative Lab keycap: photo → keycap design (one candidate)"),
136
+ creativeLab("keycap", "build", "Creative Lab keycap: prototype candidate → GLB + OBJ bundle (zip), real-world mm"),
137
+ creativeLab("fidget-pixel", "prototype", "Creative Lab fidget pixel: photo → pixel-art image (person | other)"),
138
+ creativeLab("fidget-pixel", "build", "Creative Lab fidget pixel: prototype → 3MF board, one object per piece"),
139
+ creativeLabSingle("fidget-collapsible", "Creative Lab collapsible fidget: photo → printable STL (+ preview GLB), one stage"),
88
140
  ];
89
141
  const BY_ID = new Map(TASK_RESOURCES.map((d) => [d.id, d]));
90
142
  export function findTaskResource(id) {
@@ -111,7 +163,8 @@ export function creativeLabResource(product, stage) {
111
163
  export const TOP_LEVEL_TASK_RESOURCE_IDS = TASK_RESOURCES.filter((d) => d.commandPath.length === 1).map((d) => d.id);
112
164
  export const QUERY_RESOURCES = [
113
165
  { id: "balance", commandPath: ["balance"], base: "v1", method: "GET", relativePath: "/balance", auth: "bearer", billing: "none", summary: "remaining credit balance" },
114
- { id: "animation-catalog", commandPath: ["animation-catalog", "list"], base: "public-web", method: "GET", relativePath: "/animations/resources", auth: "none", billing: "none", summary: "public animation library (action ids); no key needed" },
166
+ { id: "animation-catalog", commandPath: ["animation-catalog", "list"], base: "v1", method: "GET", relativePath: "/animations/library", auth: "bearer", billing: "none", summary: "animation library (action ids for animate); free, server-side search" },
167
+ { id: "usage", commandPath: ["usage", "tasks"], base: "v1", method: "GET", relativePath: "/usage/tasks", auth: "bearer", billing: "none", summary: "finished API tasks with the credits each consumed (Studio/Enterprise)" },
115
168
  { id: "showcases", commandPath: ["showcases", "list"], base: "v1", method: "GET", relativePath: "/showcases", auth: "bearer", billing: "may-charge", summary: "Enterprise community showcases (every request is billed)" },
116
169
  ];
117
170
  export const LOCAL_TOOLS = [
@@ -121,9 +174,8 @@ export const LOCAL_TOOLS = [
121
174
  { id: "mesh.prepare-print", commandPath: ["mesh", "prepare-print"], summary: "OBJ Y-up → Z-up, scale to a target height, centre, bottom at Z=0" },
122
175
  { id: "slicer", commandPath: ["slicer"], summary: "detect installed slicers | open a file in one" },
123
176
  { id: "doctor", commandPath: ["doctor"], summary: "local environment diagnosis (no network by default)" },
124
- { id: "delete", commandPath: ["delete"], summary: "delete any task, whatever its resource" },
125
177
  ];
126
- /** The v1 `resources` index: every task resource, query and local tool. */
178
+ /** The v1 `resources` index: every task resource, query, action and local tool. */
127
179
  export function resourceIndex() {
128
180
  const verbsOf = (s) => ["create", "get", "list", "wait", "stream", "delete"]
129
181
  .filter((v) => (v === "wait" ? s.get : s[v]))
@@ -141,7 +193,7 @@ export function resourceIndex() {
141
193
  kind: "query",
142
194
  command: `meshy ${q.commandPath.join(" ")}`,
143
195
  summary: q.summary,
144
- endpoint: q.base === "public-web" ? `/web/public${q.relativePath}` : `/openapi/v1${q.relativePath}`,
196
+ endpoint: `/openapi/v1${q.relativePath}`,
145
197
  verbs: null,
146
198
  }));
147
199
  const locals = LOCAL_TOOLS.map((l) => ({
@@ -152,6 +204,10 @@ export function resourceIndex() {
152
204
  endpoint: null,
153
205
  verbs: null,
154
206
  }));
155
- return [...tasks, ...queries, ...locals];
207
+ // A one-off API call that changes state: not a task resource, not a read, not local.
208
+ const actions = [
209
+ { name: "delete", kind: "action", command: "meshy delete", summary: "permanently delete a task of any resource except Creative Lab (whose own delete verb cancels)", endpoint: "/openapi/v2/text-to-3d", verbs: null },
210
+ ];
211
+ return [...tasks, ...queries, ...locals, ...actions];
156
212
  }
157
213
  //# sourceMappingURL=resource-registry.js.map