@meshy-ai/cli 0.2.0 → 0.3.1

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 (289) hide show
  1. package/.env.example +8 -2
  2. package/README.md +343 -108
  3. package/dist/client/endpoints/animation-catalog.d.ts +37 -0
  4. package/dist/client/endpoints/animation-catalog.d.ts.map +1 -0
  5. package/dist/client/endpoints/animation-catalog.js +55 -0
  6. package/dist/client/endpoints/animation-catalog.js.map +1 -0
  7. package/dist/client/endpoints/balance.d.ts +5 -0
  8. package/dist/client/endpoints/balance.d.ts.map +1 -1
  9. package/dist/client/endpoints/balance.js +5 -1
  10. package/dist/client/endpoints/balance.js.map +1 -1
  11. package/dist/client/endpoints/base.d.ts +41 -7
  12. package/dist/client/endpoints/base.d.ts.map +1 -1
  13. package/dist/client/endpoints/base.js +61 -40
  14. package/dist/client/endpoints/base.js.map +1 -1
  15. package/dist/client/endpoints/showcases.d.ts +31 -0
  16. package/dist/client/endpoints/showcases.d.ts.map +1 -0
  17. package/dist/client/endpoints/showcases.js +49 -0
  18. package/dist/client/endpoints/showcases.js.map +1 -0
  19. package/dist/client/errors.d.ts +1 -0
  20. package/dist/client/errors.d.ts.map +1 -1
  21. package/dist/client/errors.js +1 -1
  22. package/dist/client/errors.js.map +1 -1
  23. package/dist/client/index.d.ts +47 -38
  24. package/dist/client/index.d.ts.map +1 -1
  25. package/dist/client/index.js +89 -120
  26. package/dist/client/index.js.map +1 -1
  27. package/dist/client/resource-registry.d.ts +97 -0
  28. package/dist/client/resource-registry.d.ts.map +1 -0
  29. package/dist/client/resource-registry.js +157 -0
  30. package/dist/client/resource-registry.js.map +1 -0
  31. package/dist/client/transport.d.ts +99 -0
  32. package/dist/client/transport.d.ts.map +1 -0
  33. package/dist/client/transport.js +320 -0
  34. package/dist/client/transport.js.map +1 -0
  35. package/dist/client/types.d.ts +17 -6
  36. package/dist/client/types.d.ts.map +1 -1
  37. package/dist/client/types.js +28 -6
  38. package/dist/client/types.js.map +1 -1
  39. package/dist/cmd/animation-catalog.d.ts +26 -0
  40. package/dist/cmd/animation-catalog.d.ts.map +1 -0
  41. package/dist/cmd/animation-catalog.js +80 -0
  42. package/dist/cmd/animation-catalog.js.map +1 -0
  43. package/dist/cmd/api.d.ts +3 -2
  44. package/dist/cmd/api.d.ts.map +1 -1
  45. package/dist/cmd/api.js +22 -8
  46. package/dist/cmd/api.js.map +1 -1
  47. package/dist/cmd/auth.d.ts.map +1 -1
  48. package/dist/cmd/auth.js +5 -0
  49. package/dist/cmd/auth.js.map +1 -1
  50. package/dist/cmd/balance.d.ts.map +1 -1
  51. package/dist/cmd/balance.js +10 -6
  52. package/dist/cmd/balance.js.map +1 -1
  53. package/dist/cmd/creative-lab.d.ts +26 -0
  54. package/dist/cmd/creative-lab.d.ts.map +1 -0
  55. package/dist/cmd/creative-lab.js +256 -0
  56. package/dist/cmd/creative-lab.js.map +1 -0
  57. package/dist/cmd/delete.d.ts.map +1 -1
  58. package/dist/cmd/delete.js +6 -7
  59. package/dist/cmd/delete.js.map +1 -1
  60. package/dist/cmd/doctor.d.ts +23 -0
  61. package/dist/cmd/doctor.d.ts.map +1 -0
  62. package/dist/cmd/doctor.js +61 -0
  63. package/dist/cmd/doctor.js.map +1 -0
  64. package/dist/cmd/download.d.ts +17 -0
  65. package/dist/cmd/download.d.ts.map +1 -0
  66. package/dist/cmd/download.js +436 -0
  67. package/dist/cmd/download.js.map +1 -0
  68. package/dist/cmd/inspect.d.ts +63 -0
  69. package/dist/cmd/inspect.d.ts.map +1 -0
  70. package/dist/cmd/inspect.js +179 -0
  71. package/dist/cmd/inspect.js.map +1 -0
  72. package/dist/cmd/make.d.ts +13 -3
  73. package/dist/cmd/make.d.ts.map +1 -1
  74. package/dist/cmd/make.js +240 -36
  75. package/dist/cmd/make.js.map +1 -1
  76. package/dist/cmd/mesh.d.ts +13 -0
  77. package/dist/cmd/mesh.d.ts.map +1 -0
  78. package/dist/cmd/mesh.js +67 -0
  79. package/dist/cmd/mesh.js.map +1 -0
  80. package/dist/cmd/project.d.ts +16 -0
  81. package/dist/cmd/project.d.ts.map +1 -0
  82. package/dist/cmd/project.js +136 -0
  83. package/dist/cmd/project.js.map +1 -0
  84. package/dist/cmd/resources.d.ts +5 -0
  85. package/dist/cmd/resources.d.ts.map +1 -1
  86. package/dist/cmd/resources.js +38 -10
  87. package/dist/cmd/resources.js.map +1 -1
  88. package/dist/cmd/showcases.d.ts +10 -0
  89. package/dist/cmd/showcases.d.ts.map +1 -0
  90. package/dist/cmd/showcases.js +63 -0
  91. package/dist/cmd/showcases.js.map +1 -0
  92. package/dist/cmd/slicer.d.ts +12 -0
  93. package/dist/cmd/slicer.d.ts.map +1 -0
  94. package/dist/cmd/slicer.js +46 -0
  95. package/dist/cmd/slicer.js.map +1 -0
  96. package/dist/cmd/uv-unwrap.d.ts +16 -0
  97. package/dist/cmd/uv-unwrap.d.ts.map +1 -0
  98. package/dist/cmd/uv-unwrap.js +52 -0
  99. package/dist/cmd/uv-unwrap.js.map +1 -0
  100. package/dist/index.d.ts +13 -1
  101. package/dist/index.d.ts.map +1 -1
  102. package/dist/index.js +141 -8
  103. package/dist/index.js.map +1 -1
  104. package/dist/internal/artifacts.d.ts +97 -0
  105. package/dist/internal/artifacts.d.ts.map +1 -0
  106. package/dist/internal/artifacts.js +280 -0
  107. package/dist/internal/artifacts.js.map +1 -0
  108. package/dist/internal/atomic-file.d.ts +39 -0
  109. package/dist/internal/atomic-file.d.ts.map +1 -0
  110. package/dist/internal/atomic-file.js +160 -0
  111. package/dist/internal/atomic-file.js.map +1 -0
  112. package/dist/internal/command-helpers.d.ts +46 -0
  113. package/dist/internal/command-helpers.d.ts.map +1 -0
  114. package/dist/internal/command-helpers.js +61 -0
  115. package/dist/internal/command-helpers.js.map +1 -0
  116. package/dist/internal/config.d.ts +48 -5
  117. package/dist/internal/config.d.ts.map +1 -1
  118. package/dist/internal/config.js +95 -6
  119. package/dist/internal/config.js.map +1 -1
  120. package/dist/internal/context.d.ts +25 -0
  121. package/dist/internal/context.d.ts.map +1 -0
  122. package/dist/internal/context.js +37 -0
  123. package/dist/internal/context.js.map +1 -0
  124. package/dist/internal/credentials.d.ts +11 -0
  125. package/dist/internal/credentials.d.ts.map +1 -1
  126. package/dist/internal/credentials.js +2 -0
  127. package/dist/internal/credentials.js.map +1 -1
  128. package/dist/internal/doctor.d.ts +94 -0
  129. package/dist/internal/doctor.d.ts.map +1 -0
  130. package/dist/internal/doctor.js +280 -0
  131. package/dist/internal/doctor.js.map +1 -0
  132. package/dist/internal/download.d.ts +147 -13
  133. package/dist/internal/download.d.ts.map +1 -1
  134. package/dist/internal/download.js +735 -142
  135. package/dist/internal/download.js.map +1 -1
  136. package/dist/internal/env-file.d.ts +29 -0
  137. package/dist/internal/env-file.d.ts.map +1 -0
  138. package/dist/internal/env-file.js +95 -0
  139. package/dist/internal/env-file.js.map +1 -0
  140. package/dist/internal/errors.d.ts +74 -1
  141. package/dist/internal/errors.d.ts.map +1 -1
  142. package/dist/internal/errors.js +173 -1
  143. package/dist/internal/errors.js.map +1 -1
  144. package/dist/internal/file-input.d.ts +52 -12
  145. package/dist/internal/file-input.d.ts.map +1 -1
  146. package/dist/internal/file-input.js +162 -33
  147. package/dist/internal/file-input.js.map +1 -1
  148. package/dist/internal/global-options.d.ts +6 -4
  149. package/dist/internal/global-options.d.ts.map +1 -1
  150. package/dist/internal/global-options.js +19 -4
  151. package/dist/internal/global-options.js.map +1 -1
  152. package/dist/internal/image-models.d.ts +9 -2
  153. package/dist/internal/image-models.d.ts.map +1 -1
  154. package/dist/internal/image-models.js +24 -12
  155. package/dist/internal/image-models.js.map +1 -1
  156. package/dist/internal/inspect.d.ts +67 -0
  157. package/dist/internal/inspect.d.ts.map +1 -0
  158. package/dist/internal/inspect.js +111 -0
  159. package/dist/internal/inspect.js.map +1 -0
  160. package/dist/internal/lock.d.ts +19 -0
  161. package/dist/internal/lock.d.ts.map +1 -0
  162. package/dist/internal/lock.js +66 -0
  163. package/dist/internal/lock.js.map +1 -0
  164. package/dist/internal/material-links.d.ts +115 -0
  165. package/dist/internal/material-links.d.ts.map +1 -0
  166. package/dist/internal/material-links.js +577 -0
  167. package/dist/internal/material-links.js.map +1 -0
  168. package/dist/internal/obj-transform.d.ts +115 -0
  169. package/dist/internal/obj-transform.d.ts.map +1 -0
  170. package/dist/internal/obj-transform.js +649 -0
  171. package/dist/internal/obj-transform.js.map +1 -0
  172. package/dist/internal/operation-store.d.ts +123 -0
  173. package/dist/internal/operation-store.d.ts.map +1 -0
  174. package/dist/internal/operation-store.js +229 -0
  175. package/dist/internal/operation-store.js.map +1 -0
  176. package/dist/internal/output.d.ts +20 -2
  177. package/dist/internal/output.d.ts.map +1 -1
  178. package/dist/internal/output.js +32 -4
  179. package/dist/internal/output.js.map +1 -1
  180. package/dist/internal/paths.d.ts +89 -0
  181. package/dist/internal/paths.d.ts.map +1 -0
  182. package/dist/internal/paths.js +168 -0
  183. package/dist/internal/paths.js.map +1 -0
  184. package/dist/internal/payload.d.ts +15 -0
  185. package/dist/internal/payload.d.ts.map +1 -1
  186. package/dist/internal/payload.js +50 -3
  187. package/dist/internal/payload.js.map +1 -1
  188. package/dist/internal/poll.d.ts +30 -4
  189. package/dist/internal/poll.d.ts.map +1 -1
  190. package/dist/internal/poll.js +99 -16
  191. package/dist/internal/poll.js.map +1 -1
  192. package/dist/internal/project-store.d.ts +197 -0
  193. package/dist/internal/project-store.d.ts.map +1 -0
  194. package/dist/internal/project-store.js +467 -0
  195. package/dist/internal/project-store.js.map +1 -0
  196. package/dist/internal/result.d.ts +50 -0
  197. package/dist/internal/result.d.ts.map +1 -0
  198. package/dist/internal/result.js +41 -0
  199. package/dist/internal/result.js.map +1 -0
  200. package/dist/internal/runtime.d.ts +35 -5
  201. package/dist/internal/runtime.d.ts.map +1 -1
  202. package/dist/internal/runtime.js +68 -18
  203. package/dist/internal/runtime.js.map +1 -1
  204. package/dist/internal/slicers.d.ts +117 -0
  205. package/dist/internal/slicers.d.ts.map +1 -0
  206. package/dist/internal/slicers.js +314 -0
  207. package/dist/internal/slicers.js.map +1 -0
  208. package/dist/internal/stream.d.ts +58 -0
  209. package/dist/internal/stream.d.ts.map +1 -0
  210. package/dist/internal/stream.js +280 -0
  211. package/dist/internal/stream.js.map +1 -0
  212. package/dist/internal/task-command.d.ts +128 -11
  213. package/dist/internal/task-command.d.ts.map +1 -1
  214. package/dist/internal/task-command.js +991 -111
  215. package/dist/internal/task-command.js.map +1 -1
  216. package/dist/internal/task-view.d.ts +56 -0
  217. package/dist/internal/task-view.d.ts.map +1 -0
  218. package/dist/internal/task-view.js +95 -0
  219. package/dist/internal/task-view.js.map +1 -0
  220. package/dist/internal/update-notifier.d.ts +5 -1
  221. package/dist/internal/update-notifier.d.ts.map +1 -1
  222. package/dist/internal/update-notifier.js +7 -3
  223. package/dist/internal/update-notifier.js.map +1 -1
  224. package/dist/root.d.ts +10 -0
  225. package/dist/root.d.ts.map +1 -1
  226. package/dist/root.js +75 -10
  227. package/dist/root.js.map +1 -1
  228. package/package.json +3 -2
  229. package/skills/meshy-cli/SKILL.md +140 -59
  230. package/dist/client/endpoints/analyze-printability.d.ts +0 -5
  231. package/dist/client/endpoints/analyze-printability.d.ts.map +0 -1
  232. package/dist/client/endpoints/analyze-printability.js +0 -7
  233. package/dist/client/endpoints/analyze-printability.js.map +0 -1
  234. package/dist/client/endpoints/animate.d.ts +0 -6
  235. package/dist/client/endpoints/animate.d.ts.map +0 -1
  236. package/dist/client/endpoints/animate.js +0 -8
  237. package/dist/client/endpoints/animate.js.map +0 -1
  238. package/dist/client/endpoints/convert.d.ts +0 -5
  239. package/dist/client/endpoints/convert.d.ts.map +0 -1
  240. package/dist/client/endpoints/convert.js +0 -7
  241. package/dist/client/endpoints/convert.js.map +0 -1
  242. package/dist/client/endpoints/image-to-3d.d.ts +0 -5
  243. package/dist/client/endpoints/image-to-3d.d.ts.map +0 -1
  244. package/dist/client/endpoints/image-to-3d.js +0 -7
  245. package/dist/client/endpoints/image-to-3d.js.map +0 -1
  246. package/dist/client/endpoints/image-to-image.d.ts +0 -5
  247. package/dist/client/endpoints/image-to-image.d.ts.map +0 -1
  248. package/dist/client/endpoints/image-to-image.js +0 -7
  249. package/dist/client/endpoints/image-to-image.js.map +0 -1
  250. package/dist/client/endpoints/multi-color-print.d.ts +0 -5
  251. package/dist/client/endpoints/multi-color-print.d.ts.map +0 -1
  252. package/dist/client/endpoints/multi-color-print.js +0 -7
  253. package/dist/client/endpoints/multi-color-print.js.map +0 -1
  254. package/dist/client/endpoints/multi-image-to-3d.d.ts +0 -5
  255. package/dist/client/endpoints/multi-image-to-3d.d.ts.map +0 -1
  256. package/dist/client/endpoints/multi-image-to-3d.js +0 -7
  257. package/dist/client/endpoints/multi-image-to-3d.js.map +0 -1
  258. package/dist/client/endpoints/remesh.d.ts +0 -5
  259. package/dist/client/endpoints/remesh.d.ts.map +0 -1
  260. package/dist/client/endpoints/remesh.js +0 -7
  261. package/dist/client/endpoints/remesh.js.map +0 -1
  262. package/dist/client/endpoints/repair-printability.d.ts +0 -5
  263. package/dist/client/endpoints/repair-printability.d.ts.map +0 -1
  264. package/dist/client/endpoints/repair-printability.js +0 -7
  265. package/dist/client/endpoints/repair-printability.js.map +0 -1
  266. package/dist/client/endpoints/resize.d.ts +0 -5
  267. package/dist/client/endpoints/resize.d.ts.map +0 -1
  268. package/dist/client/endpoints/resize.js +0 -7
  269. package/dist/client/endpoints/resize.js.map +0 -1
  270. package/dist/client/endpoints/retexture.d.ts +0 -5
  271. package/dist/client/endpoints/retexture.d.ts.map +0 -1
  272. package/dist/client/endpoints/retexture.js +0 -7
  273. package/dist/client/endpoints/retexture.js.map +0 -1
  274. package/dist/client/endpoints/rigging.d.ts +0 -6
  275. package/dist/client/endpoints/rigging.d.ts.map +0 -1
  276. package/dist/client/endpoints/rigging.js +0 -8
  277. package/dist/client/endpoints/rigging.js.map +0 -1
  278. package/dist/client/endpoints/text-to-3d.d.ts +0 -6
  279. package/dist/client/endpoints/text-to-3d.d.ts.map +0 -1
  280. package/dist/client/endpoints/text-to-3d.js +0 -8
  281. package/dist/client/endpoints/text-to-3d.js.map +0 -1
  282. package/dist/client/endpoints/text-to-image.d.ts +0 -5
  283. package/dist/client/endpoints/text-to-image.d.ts.map +0 -1
  284. package/dist/client/endpoints/text-to-image.js +0 -7
  285. package/dist/client/endpoints/text-to-image.js.map +0 -1
  286. package/dist/client/endpoints/text-to-motion.d.ts +0 -6
  287. package/dist/client/endpoints/text-to-motion.d.ts.map +0 -1
  288. package/dist/client/endpoints/text-to-motion.js +0 -8
  289. package/dist/client/endpoints/text-to-motion.js.map +0 -1
@@ -1,25 +1,42 @@
1
1
  /**
2
2
  * Resolve config in this priority order:
3
- * 1. CLI flags (--api-key, --base-url-v1, --base-url-v2, --verbose)
3
+ * 1. CLI flags (--api-key, --base-url-v1, --base-url-v2, --base-url-creative-lab, --verbose)
4
4
  * 2. Environment variables (MESHY_*)
5
- * 3. The active profile in the credentials file (written by `meshy auth login`)
6
- * 4. Built-in defaults
5
+ * 3. An explicit --api-key-file (only MESHY_API_KEY is read from it)
6
+ * 4. The active profile in the credentials file (written by `meshy auth login`)
7
+ * 5. Built-in defaults
7
8
  *
8
9
  * The env var keeps priority over the stored credential on purpose: CI and
9
10
  * containers export MESHY_API_KEY and must not be silently overridden by
10
11
  * whatever a developer once logged into on that machine.
11
12
  *
13
+ * An empty or placeholder --api-key / MESHY_API_KEY counts as "unset" (0.2.0
14
+ * behaviour; CI and the runtime tests rely on `MESHY_API_KEY=""` meaning
15
+ * "fall through to the stored profile"). An explicit --api-key-file is different:
16
+ * naming a file is an instruction, so an unreadable, malformed or key-less
17
+ * file is an error, never a fall-through to another account.
18
+ *
12
19
  * Fail-fast on a missing/placeholder credential — with the command that fixes
13
20
  * it attached, not just a complaint.
14
21
  */
15
22
  import { type CredentialKind } from "./credentials.js";
16
23
  import { type LogLevel } from "./logger.js";
24
+ export declare const DEFAULT_BASE_URL_V1 = "https://api.meshy.ai/openapi/v1";
25
+ export declare const DEFAULT_BASE_URL_V2 = "https://api.meshy.ai/openapi/v2";
17
26
  /** Where the credential in use came from — surfaced by `meshy auth status`. */
18
- export type CredentialSource = "flag" | "env" | "file";
27
+ export type CredentialSource = "flag" | "env" | "env-file" | "file";
19
28
  export interface MeshyConfig {
20
29
  apiKey: string;
21
30
  baseUrlV1: string;
22
31
  baseUrlV2: string;
32
+ /**
33
+ * Creative Lab base. Derived from the v1 origin when v1 uses the standard
34
+ * `/openapi/v1` path; null when it cannot be derived and no explicit
35
+ * override was given (commands that need it then ask for one).
36
+ */
37
+ baseUrlCreativeLab: string | null;
38
+ /** Public, unauthenticated catalog base: `<v1 origin>/web/public`. */
39
+ publicWebBase: string;
23
40
  connectTimeoutMs: number;
24
41
  readTimeoutMs: number;
25
42
  pollIntervalMs: number;
@@ -27,20 +44,46 @@ export interface MeshyConfig {
27
44
  credentialSource: CredentialSource;
28
45
  /** Set only when credentialSource === "file". */
29
46
  credentialProfile?: string;
47
+ /** Set only when credentialSource === "env-file" (the --api-key-file path). */
48
+ envFilePath?: string;
30
49
  /** The credentials file consulted for this invocation, whether or not it exists. */
31
50
  credentialsFile: string;
32
51
  /**
33
52
  * The kind of credential in use — "oauth" for browser-login tokens, "api_key" for static keys.
34
- * "api_key" when credentialSource is "flag" or "env" (those paths only accept static keys).
53
+ * "api_key" when credentialSource is "flag", "env" or "env-file" (those paths only accept static keys).
35
54
  * Derived from the stored profile kind when credentialSource is "file".
36
55
  */
37
56
  credentialKind: CredentialKind;
57
+ /**
58
+ * Stable account subject for an OAuth profile (user id), used to bind the
59
+ * operation journal to the account rather than to a rotating token. Unset for
60
+ * API keys (the key itself is digested) and for profiles without a user id.
61
+ */
62
+ credentialSubject?: string;
63
+ /** Per-login identifier of an OAuth profile (minted at `auth login`), the fallback identity when no user id exists. */
64
+ credentialLoginId?: string;
38
65
  }
39
66
  export interface ConfigOverrides {
40
67
  apiKey?: string;
41
68
  baseUrlV1?: string;
42
69
  baseUrlV2?: string;
70
+ baseUrlCreativeLab?: string;
71
+ envFile?: string;
43
72
  logLevel?: LogLevel;
44
73
  }
74
+ /** Origin (scheme://host[:port]) of a base URL, or null when it does not parse. */
75
+ export declare function originOf(baseUrl: string): string | null;
76
+ /**
77
+ * Derive the Creative Lab base from the v1 base. Only the standard
78
+ * `<origin>/openapi/v1` layout is derivable; a custom proxy path makes the
79
+ * derivation a guess, and a guessed base must never fall back to production.
80
+ */
81
+ export declare function deriveCreativeLabBase(baseUrlV1: string): string | null;
82
+ export declare function derivePublicWebBase(baseUrlV1: string): string;
45
83
  export declare function loadConfig(overrides?: ConfigOverrides): MeshyConfig;
84
+ /**
85
+ * Stored profiles were issued for the v1 origin they were resolved against.
86
+ * A different Creative Lab origin only receives an explicitly supplied key.
87
+ */
88
+ export declare function assertCredentialAllowedForOrigin(cfg: MeshyConfig, targetBase: string, label: string): void;
46
89
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/internal/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAA4C,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEjG,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIzD,+EAA+E;AAC/E,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAEvD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,iDAAiD;IACjD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oFAAoF;IACpF,eAAe,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,cAAc,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAyBD,wBAAgB,UAAU,CAAC,SAAS,GAAE,eAAoB,GAAG,WAAW,CA4DvE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/internal/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAA4C,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGjG,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIzD,eAAO,MAAM,mBAAmB,oCAAoC,CAAC;AACrE,eAAO,MAAM,mBAAmB,oCAAoC,CAAC;AAErE,+EAA+E;AAC/E,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;AAEpE,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,sEAAsE;IACtE,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,iDAAiD;IACjD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oFAAoF;IACpF,eAAe,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,cAAc,EAAE,cAAc,CAAC;IAC/B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uHAAuH;IACvH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAyBD,mFAAmF;AACnF,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMvD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQtE;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAG7D;AAED,wBAAgB,UAAU,CAAC,SAAS,GAAE,eAAoB,GAAG,WAAW,CA6FvE;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAW1G"}
@@ -1,21 +1,31 @@
1
1
  /**
2
2
  * Resolve config in this priority order:
3
- * 1. CLI flags (--api-key, --base-url-v1, --base-url-v2, --verbose)
3
+ * 1. CLI flags (--api-key, --base-url-v1, --base-url-v2, --base-url-creative-lab, --verbose)
4
4
  * 2. Environment variables (MESHY_*)
5
- * 3. The active profile in the credentials file (written by `meshy auth login`)
6
- * 4. Built-in defaults
5
+ * 3. An explicit --api-key-file (only MESHY_API_KEY is read from it)
6
+ * 4. The active profile in the credentials file (written by `meshy auth login`)
7
+ * 5. Built-in defaults
7
8
  *
8
9
  * The env var keeps priority over the stored credential on purpose: CI and
9
10
  * containers export MESHY_API_KEY and must not be silently overridden by
10
11
  * whatever a developer once logged into on that machine.
11
12
  *
13
+ * An empty or placeholder --api-key / MESHY_API_KEY counts as "unset" (0.2.0
14
+ * behaviour; CI and the runtime tests rely on `MESHY_API_KEY=""` meaning
15
+ * "fall through to the stored profile"). An explicit --api-key-file is different:
16
+ * naming a file is an instruction, so an unreadable, malformed or key-less
17
+ * file is an error, never a fall-through to another account.
18
+ *
12
19
  * Fail-fast on a missing/placeholder credential — with the command that fixes
13
20
  * it attached, not just a complaint.
14
21
  */
15
22
  import { credentialsPath, resolveStoredCredential } from "./credentials.js";
16
- import { authRequiredError } from "./errors.js";
23
+ import { loadEnvFile } from "./env-file.js";
24
+ import { authRequiredError, CliError } from "./errors.js";
17
25
  import { setLogLevel } from "./logger.js";
18
26
  const PLACEHOLDER_KEYS = new Set(["", "YOUR_MESHY_API_KEY_HERE"]);
27
+ export const DEFAULT_BASE_URL_V1 = "https://api.meshy.ai/openapi/v1";
28
+ export const DEFAULT_BASE_URL_V2 = "https://api.meshy.ai/openapi/v2";
19
29
  function readNumber(name, fallback) {
20
30
  const raw = process.env[name];
21
31
  if (raw === undefined || raw === "")
@@ -38,18 +48,62 @@ function readLogLevel(fallback) {
38
48
  function stripTrail(s) {
39
49
  return s.replace(/\/+$/, "");
40
50
  }
51
+ /** Origin (scheme://host[:port]) of a base URL, or null when it does not parse. */
52
+ export function originOf(baseUrl) {
53
+ try {
54
+ return new URL(baseUrl).origin;
55
+ }
56
+ catch {
57
+ return null;
58
+ }
59
+ }
60
+ /**
61
+ * Derive the Creative Lab base from the v1 base. Only the standard
62
+ * `<origin>/openapi/v1` layout is derivable; a custom proxy path makes the
63
+ * derivation a guess, and a guessed base must never fall back to production.
64
+ */
65
+ export function deriveCreativeLabBase(baseUrlV1) {
66
+ try {
67
+ const u = new URL(baseUrlV1);
68
+ if (u.pathname.replace(/\/+$/, "") !== "/openapi/v1")
69
+ return null;
70
+ return `${u.origin}/openapi/creative-lab`;
71
+ }
72
+ catch {
73
+ return null;
74
+ }
75
+ }
76
+ export function derivePublicWebBase(baseUrlV1) {
77
+ const origin = originOf(baseUrlV1) ?? "https://api.meshy.ai";
78
+ return `${origin}/web/public`;
79
+ }
41
80
  export function loadConfig(overrides = {}) {
42
81
  // Base URLs resolve first: they decide which credentials file applies
43
82
  // (production vs. a staging override).
44
- const baseUrlV1 = stripTrail(overrides.baseUrlV1 ?? process.env.MESHY_BASE_URL_V1 ?? "https://api.meshy.ai/openapi/v1");
45
- const baseUrlV2 = stripTrail(overrides.baseUrlV2 ?? process.env.MESHY_BASE_URL_V2 ?? "https://api.meshy.ai/openapi/v2");
83
+ const baseUrlV1 = stripTrail(overrides.baseUrlV1 ?? process.env.MESHY_BASE_URL_V1 ?? DEFAULT_BASE_URL_V1);
84
+ const baseUrlV2 = stripTrail(overrides.baseUrlV2 ?? process.env.MESHY_BASE_URL_V2 ?? DEFAULT_BASE_URL_V2);
85
+ const explicitCreativeLab = overrides.baseUrlCreativeLab ?? process.env.MESHY_BASE_URL_CREATIVE_LAB;
86
+ const baseUrlCreativeLab = explicitCreativeLab
87
+ ? stripTrail(explicitCreativeLab)
88
+ : deriveCreativeLabBase(baseUrlV1);
46
89
  const credFile = credentialsPath(baseUrlV1);
47
90
  const flagKey = overrides.apiKey?.trim() ?? "";
48
91
  const envKey = process.env.MESHY_API_KEY?.trim() ?? "";
92
+ // An explicit env file is validated even when a higher-priority key wins:
93
+ // the user named it, so a broken file is a mistake worth reporting now.
94
+ let envFileKey = "";
95
+ let envFilePath;
96
+ if (overrides.envFile) {
97
+ const loaded = loadEnvFile(overrides.envFile);
98
+ envFilePath = loaded.path;
99
+ envFileKey = loaded.apiKey?.trim() ?? "";
100
+ }
49
101
  let apiKey = "";
50
102
  let credentialSource = "flag";
51
103
  let credentialProfile;
52
104
  let credentialKind = "api_key";
105
+ let credentialSubject;
106
+ let credentialLoginId;
53
107
  if (!PLACEHOLDER_KEYS.has(flagKey)) {
54
108
  apiKey = flagKey;
55
109
  credentialSource = "flag";
@@ -60,6 +114,17 @@ export function loadConfig(overrides = {}) {
60
114
  credentialSource = "env";
61
115
  credentialKind = "api_key";
62
116
  }
117
+ else if (overrides.envFile) {
118
+ if (PLACEHOLDER_KEYS.has(envFileKey)) {
119
+ throw new CliError({
120
+ code: "auth",
121
+ message: `--api-key-file ${overrides.envFile} does not define a usable MESHY_API_KEY (missing, empty or placeholder). Fix the file or drop --api-key-file to use another credential source.`,
122
+ });
123
+ }
124
+ apiKey = envFileKey;
125
+ credentialSource = "env-file";
126
+ credentialKind = "api_key";
127
+ }
63
128
  else {
64
129
  // A corrupt credentials file throws out of resolveStoredCredential rather
65
130
  // than being swallowed into "not logged in" — see credentials.ts.
@@ -70,6 +135,8 @@ export function loadConfig(overrides = {}) {
70
135
  credentialSource = "file";
71
136
  credentialProfile = stored.profile;
72
137
  credentialKind = stored.kind;
138
+ credentialSubject = stored.userId;
139
+ credentialLoginId = stored.loginId;
73
140
  }
74
141
  else {
75
142
  throw authRequiredError("No credentials found. Pass --api-key, export MESHY_API_KEY, or log in.");
@@ -79,16 +146,38 @@ export function loadConfig(overrides = {}) {
79
146
  apiKey,
80
147
  baseUrlV1,
81
148
  baseUrlV2,
149
+ baseUrlCreativeLab,
150
+ publicWebBase: derivePublicWebBase(baseUrlV1),
82
151
  connectTimeoutMs: readNumber("MESHY_CONNECT_TIMEOUT_MS", 10_000),
83
152
  readTimeoutMs: readNumber("MESHY_READ_TIMEOUT_MS", 120_000),
84
153
  pollIntervalMs: readNumber("MESHY_POLL_INTERVAL_MS", 3_000),
85
154
  logLevel: overrides.logLevel ?? readLogLevel("warn"),
86
155
  credentialSource,
87
156
  credentialProfile,
157
+ envFilePath,
88
158
  credentialsFile: credFile,
89
159
  credentialKind,
160
+ credentialSubject,
161
+ credentialLoginId,
90
162
  };
91
163
  setLogLevel(cfg.logLevel);
92
164
  return cfg;
93
165
  }
166
+ /**
167
+ * Stored profiles were issued for the v1 origin they were resolved against.
168
+ * A different Creative Lab origin only receives an explicitly supplied key.
169
+ */
170
+ export function assertCredentialAllowedForOrigin(cfg, targetBase, label) {
171
+ if (cfg.credentialSource !== "file")
172
+ return;
173
+ const v1Origin = originOf(cfg.baseUrlV1);
174
+ const targetOrigin = originOf(targetBase);
175
+ if (v1Origin && targetOrigin && v1Origin === targetOrigin)
176
+ return;
177
+ throw new CliError({
178
+ code: "auth",
179
+ message: `${label} base ${targetBase} is on a different origin than the v1 API (${cfg.baseUrlV1}); ` +
180
+ "the stored profile is not sent there. Pass --api-key, MESHY_API_KEY or --api-key-file for that origin.",
181
+ });
182
+ }
94
183
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/internal/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/internal/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Per-invocation command context. The CLI runs one command per process; the
3
+ * action that owns the command registers its name, output schema and format
4
+ * here so the top-level error exit can render the failure in the same shape
5
+ * the success path would have used. Parse errors happen before any action
6
+ * runs, so the entry point falls back to argv heuristics when this is unset.
7
+ *
8
+ * The shared AbortController is what SIGINT trips; long operations (wait,
9
+ * stream, download) observe `signal` and convert an abort into exit 130.
10
+ */
11
+ import type { OutputFormat } from "./output.js";
12
+ import type { OutputSchema } from "./result.js";
13
+ export interface CommandContext {
14
+ command: string;
15
+ schema: OutputSchema;
16
+ format: OutputFormat;
17
+ }
18
+ export declare function beginCommand(ctx: CommandContext): CommandContext;
19
+ export declare function currentCommand(): CommandContext | null;
20
+ export declare function abortSignal(): AbortSignal;
21
+ export declare function markInterrupted(): void;
22
+ export declare function wasInterrupted(): boolean;
23
+ /** Test hook: reset module state between in-process runs. */
24
+ export declare function resetCommandContextForTests(): void;
25
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/internal/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;CACtB;AAMD,wBAAgB,YAAY,CAAC,GAAG,EAAE,cAAc,GAAG,cAAc,CAGhE;AAED,wBAAgB,cAAc,IAAI,cAAc,GAAG,IAAI,CAEtD;AAED,wBAAgB,WAAW,IAAI,WAAW,CAEzC;AAED,wBAAgB,eAAe,IAAI,IAAI,CAItC;AAED,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAED,6DAA6D;AAC7D,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Per-invocation command context. The CLI runs one command per process; the
3
+ * action that owns the command registers its name, output schema and format
4
+ * here so the top-level error exit can render the failure in the same shape
5
+ * the success path would have used. Parse errors happen before any action
6
+ * runs, so the entry point falls back to argv heuristics when this is unset.
7
+ *
8
+ * The shared AbortController is what SIGINT trips; long operations (wait,
9
+ * stream, download) observe `signal` and convert an abort into exit 130.
10
+ */
11
+ let current = null;
12
+ const controller = new AbortController();
13
+ let interrupted = false;
14
+ export function beginCommand(ctx) {
15
+ current = ctx;
16
+ return ctx;
17
+ }
18
+ export function currentCommand() {
19
+ return current;
20
+ }
21
+ export function abortSignal() {
22
+ return controller.signal;
23
+ }
24
+ export function markInterrupted() {
25
+ if (interrupted)
26
+ return;
27
+ interrupted = true;
28
+ controller.abort(new Error("interrupted by SIGINT"));
29
+ }
30
+ export function wasInterrupted() {
31
+ return interrupted;
32
+ }
33
+ /** Test hook: reset module state between in-process runs. */
34
+ export function resetCommandContextForTests() {
35
+ current = null;
36
+ }
37
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/internal/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAWH,IAAI,OAAO,GAA0B,IAAI,CAAC;AAC1C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;AACzC,IAAI,WAAW,GAAG,KAAK,CAAC;AAExB,MAAM,UAAU,YAAY,CAAC,GAAmB;IAC9C,OAAO,GAAG,GAAG,CAAC;IACd,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,UAAU,CAAC,MAAM,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,IAAI,WAAW;QAAE,OAAO;IACxB,WAAW,GAAG,IAAI,CAAC;IACnB,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,2BAA2B;IACzC,OAAO,GAAG,IAAI,CAAC;AACjB,CAAC"}
@@ -31,6 +31,13 @@ export interface CredentialProfile {
31
31
  /** Unix epoch millis. */
32
32
  expires_at?: number;
33
33
  user_id?: string;
34
+ /**
35
+ * Random identifier minted by `meshy auth login` for OAuth profiles. It
36
+ * survives token refreshes and is replaced by a new login, so the operation
37
+ * journal can bind a submission to *this* login even when the token endpoint
38
+ * reports no user_id.
39
+ */
40
+ login_id?: string;
34
41
  created_at?: number;
35
42
  }
36
43
  export interface CredentialsFile {
@@ -95,6 +102,10 @@ export interface ResolvedStoredCredential {
95
102
  apiKey?: string;
96
103
  accessToken?: string;
97
104
  expiresAt?: number;
105
+ /** Stable account subject of an OAuth profile, when the token endpoint reported one. */
106
+ userId?: string;
107
+ /** Per-login identifier of an OAuth profile (see CredentialProfile.login_id). */
108
+ loginId?: string;
98
109
  }
99
110
  /**
100
111
  * Returns the usable secret from the active profile, or null when there is no
@@ -1 +1 @@
1
- {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../src/internal/credentials.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../src/internal/credentials.ts"],"names":[],"mappings":"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"}
@@ -286,6 +286,8 @@ export function resolveStoredCredential(file) {
286
286
  kind: "oauth",
287
287
  accessToken: profile.access_token,
288
288
  expiresAt: profile.expires_at,
289
+ ...(profile.user_id ? { userId: profile.user_id } : {}),
290
+ ...(profile.login_id ? { loginId: profile.login_id } : {}),
289
291
  };
290
292
  }
291
293
  /** `msy_abcd…wxyz` — enough to tell two keys apart, not enough to use one. */
@@ -1 +1 @@
1
- {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/internal/credentials.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/internal/credentials.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * doctor — read-only environment diagnosis.
3
+ *
4
+ * The default run is fully local and must complete with no credential, no
5
+ * network and an empty config directory. It reports versions, which credential
6
+ * sources are *present* — never their values: the stored profile is stat'ed
7
+ * and not parsed, the flag and env var become booleans, and an explicit
8
+ * `--api-key-file` is run through the same parser API commands use with only
9
+ * its verdict kept — the effective base URLs, workspace writability and
10
+ * whether the cwd holds a `.env` candidate (named, never read: there is no
11
+ * auto-discovery, D-016). Nothing here refreshes an OAuth token or writes.
12
+ *
13
+ * `--check-api` resolves the credential exactly like an API command (flags →
14
+ * env → key file → stored profile) and makes one GET /balance — the only free
15
+ * authenticated endpoint. `--check-slicers` runs the local slicer detection.
16
+ * Neither is implied by the other (D-024). Everything else stays offline.
17
+ */
18
+ import { type GlobalFlags } from "./runtime.js";
19
+ import { type DetectionEnv, type SlicerDetection } from "./slicers.js";
20
+ export type DoctorCheckStatus = "ok" | "warn" | "fail" | "skipped";
21
+ export interface DoctorCheck {
22
+ id: string;
23
+ status: DoctorCheckStatus;
24
+ detail: string;
25
+ }
26
+ export interface DoctorReport {
27
+ cli: {
28
+ version: string;
29
+ node: string;
30
+ platform: string;
31
+ arch: string;
32
+ };
33
+ /** Node satisfies the engine range and the CLI loaded: local commands can run. */
34
+ local_ready: boolean;
35
+ /** null unless --check-api was requested. */
36
+ api_ready: boolean | null;
37
+ checks: DoctorCheck[];
38
+ credential_sources: {
39
+ flag: boolean;
40
+ env: boolean;
41
+ /** Absolute path of --api-key-file when given (its verdict is a check), else null. */
42
+ api_key_file: string | null;
43
+ stored_profile: {
44
+ path: string;
45
+ exists: boolean;
46
+ };
47
+ };
48
+ base_urls: {
49
+ v1: string;
50
+ v2: string;
51
+ creative_lab: string | null;
52
+ public_web: string;
53
+ };
54
+ workspace: {
55
+ path: string | null;
56
+ writable: boolean | null;
57
+ };
58
+ /** Names among .env / .env.local present in cwd — never read. */
59
+ cwd_env_candidates: string[];
60
+ slicers?: unknown;
61
+ api?: {
62
+ balance: number;
63
+ } | {
64
+ error: string;
65
+ } | null;
66
+ }
67
+ export type { SlicerDetection } from "./slicers.js";
68
+ /** Injectable slicer detection (tests pass a fake); the default is internal/slicers.ts. */
69
+ export type SlicerDetector = (env?: Partial<DetectionEnv>) => SlicerDetection | unknown;
70
+ export interface DoctorOptions {
71
+ flags: GlobalFlags;
72
+ checkApi: boolean;
73
+ checkSlicers: boolean;
74
+ /** Drives the local checks (default process.env). `--check-api` resolves through loadConfig, which reads process.env like every API command. */
75
+ env?: NodeJS.ProcessEnv;
76
+ cwd?: string;
77
+ detectSlicers?: SlicerDetector;
78
+ probeBalance?: () => Promise<number>;
79
+ }
80
+ export interface DoctorApiFailure {
81
+ /** `credentials`: no usable credential could be resolved; `balance`: the single GET failed. */
82
+ stage: "credentials" | "balance";
83
+ error: unknown;
84
+ }
85
+ export interface DoctorOutcome {
86
+ report: DoctorReport;
87
+ /** Set when --check-api did not end with api_ready true; the command maps it to an exit code. */
88
+ apiFailure: DoctorApiFailure | null;
89
+ }
90
+ /** Run the diagnosis and also return the raw API failure for exit-code mapping. */
91
+ export declare function runDoctorDetailed(opts: DoctorOptions): Promise<DoctorOutcome>;
92
+ /** Run the diagnosis; never throws for a missing credential or a failed check. */
93
+ export declare function runDoctor(opts: DoctorOptions): Promise<DoctorReport>;
94
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/internal/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAeH,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAsC,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAG3G,MAAM,MAAM,iBAAiB,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAEnE,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACvE,kFAAkF;IAClF,WAAW,EAAE,OAAO,CAAC;IACrB,6CAA6C;IAC7C,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,kBAAkB,EAAE;QAClB,IAAI,EAAE,OAAO,CAAC;QACd,GAAG,EAAE,OAAO,CAAC;QACb,sFAAsF;QACtF,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,cAAc,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,OAAO,CAAA;SAAE,CAAC;KACnD,CAAC;IACF,SAAS,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IACvF,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAA;KAAE,CAAC;IAC7D,iEAAiE;IACjE,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACtD;AAED,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,2FAA2F;AAC3F,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,eAAe,GAAG,OAAO,CAAC;AAExF,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,gJAAgJ;IAChJ,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,gBAAgB;IAC/B,+FAA+F;IAC/F,KAAK,EAAE,aAAa,GAAG,SAAS,CAAC;IACjC,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,YAAY,CAAC;IACrB,iGAAiG;IACjG,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACrC;AAmDD,mFAAmF;AACnF,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAoMnF;AAED,kFAAkF;AAClF,wBAAsB,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAE1E"}