@detergent-software/atk 8.0.2 → 8.0.3-dev.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 (281) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/build/commands/freeze.js +1 -1
  3. package/build/commands/freeze.js.map +1 -1
  4. package/build/commands/info.js +1 -1
  5. package/build/commands/info.js.map +1 -1
  6. package/build/commands/list.js +1 -1
  7. package/build/commands/list.js.map +1 -1
  8. package/build/commands/login.d.ts +1 -1
  9. package/build/commands/login.d.ts.map +1 -1
  10. package/build/commands/login.js +2 -4
  11. package/build/commands/login.js.map +1 -1
  12. package/build/commands/outdated.js +1 -1
  13. package/build/commands/outdated.js.map +1 -1
  14. package/build/commands/pin.js +1 -1
  15. package/build/commands/pin.js.map +1 -1
  16. package/build/commands/promote.js +1 -1
  17. package/build/commands/promote.js.map +1 -1
  18. package/build/commands/register.js +1 -1
  19. package/build/commands/register.js.map +1 -1
  20. package/build/commands/schema.d.ts +1 -1
  21. package/build/commands/schema.js +3 -3
  22. package/build/commands/schema.js.map +1 -1
  23. package/build/commands/thaw.js +1 -1
  24. package/build/commands/thaw.js.map +1 -1
  25. package/build/commands/unpin.js +1 -1
  26. package/build/commands/unpin.js.map +1 -1
  27. package/build/commands/unpublish.js +1 -1
  28. package/build/commands/unpublish.js.map +1 -1
  29. package/build/commands/whoami.d.ts.map +1 -1
  30. package/build/commands/whoami.js +2 -4
  31. package/build/commands/whoami.js.map +1 -1
  32. package/build/commands/why.js +1 -1
  33. package/build/commands/why.js.map +1 -1
  34. package/build/components/AssetDetail.d.ts +1 -1
  35. package/build/components/AssetDetail.d.ts.map +1 -1
  36. package/build/components/BrowseExpandedBundle.d.ts +2 -2
  37. package/build/components/BrowseExpandedBundle.d.ts.map +1 -1
  38. package/build/components/BrowseExpandedRow.d.ts +1 -1
  39. package/build/components/BrowseExpandedRow.d.ts.map +1 -1
  40. package/build/components/BrowseList.d.ts +1 -1
  41. package/build/components/BrowseList.d.ts.map +1 -1
  42. package/build/components/BundleDetail.d.ts +1 -1
  43. package/build/components/BundleDetail.d.ts.map +1 -1
  44. package/build/components/RegistryChangeSummary.d.ts +2 -2
  45. package/build/components/RegistryChangeSummary.d.ts.map +1 -1
  46. package/build/hooks/useBrowseState.d.ts +2 -2
  47. package/build/hooks/useBrowseState.d.ts.map +1 -1
  48. package/build/hooks/useListState.d.ts +2 -2
  49. package/build/hooks/useListState.d.ts.map +1 -1
  50. package/build/hooks/usePublishState.d.ts.map +1 -1
  51. package/build/hooks/usePublishState.js +3 -1
  52. package/build/hooks/usePublishState.js.map +1 -1
  53. package/build/hooks/useRegistryChangeState.d.ts +4 -4
  54. package/build/hooks/useRegistryChangeState.d.ts.map +1 -1
  55. package/build/lib/adapter.d.ts +1 -1
  56. package/build/lib/adapter.d.ts.map +1 -1
  57. package/build/lib/api-client.d.ts +38 -47
  58. package/build/lib/api-client.d.ts.map +1 -1
  59. package/build/lib/api-client.js +127 -173
  60. package/build/lib/api-client.js.map +1 -1
  61. package/build/lib/atk-api/client.d.ts +148 -0
  62. package/build/lib/atk-api/client.d.ts.map +1 -0
  63. package/build/lib/atk-api/client.js +336 -0
  64. package/build/lib/atk-api/client.js.map +1 -0
  65. package/build/lib/atk-api/domain.d.ts +162 -0
  66. package/build/lib/atk-api/domain.d.ts.map +1 -0
  67. package/build/lib/atk-api/domain.js +54 -0
  68. package/build/lib/atk-api/domain.js.map +1 -0
  69. package/build/lib/atk-api/errors.d.ts +142 -0
  70. package/build/lib/atk-api/errors.d.ts.map +1 -0
  71. package/build/lib/atk-api/errors.js +148 -0
  72. package/build/lib/atk-api/errors.js.map +1 -0
  73. package/build/lib/atk-api/generated/client/client.gen.d.ts +3 -0
  74. package/build/lib/atk-api/generated/client/client.gen.d.ts.map +1 -0
  75. package/build/lib/{api → atk-api/generated}/client/client.gen.js +4 -3
  76. package/build/lib/atk-api/generated/client/client.gen.js.map +1 -0
  77. package/build/lib/atk-api/generated/client/index.d.ts +11 -0
  78. package/build/lib/atk-api/generated/client/index.d.ts.map +1 -0
  79. package/build/lib/atk-api/generated/client/index.js +8 -0
  80. package/build/lib/atk-api/generated/client/index.js.map +1 -0
  81. package/build/lib/{api → atk-api/generated}/client/types.gen.d.ts +4 -4
  82. package/build/lib/atk-api/generated/client/types.gen.d.ts.map +1 -0
  83. package/build/lib/atk-api/generated/client/types.gen.js +4 -0
  84. package/build/lib/atk-api/generated/client/types.gen.js.map +1 -0
  85. package/build/lib/{api → atk-api/generated}/client/utils.gen.d.ts +2 -2
  86. package/build/lib/atk-api/generated/client/utils.gen.d.ts.map +1 -0
  87. package/build/lib/{api → atk-api/generated}/client/utils.gen.js +5 -4
  88. package/build/lib/atk-api/generated/client/utils.gen.js.map +1 -0
  89. package/build/lib/{api → atk-api/generated}/client.gen.d.ts +2 -2
  90. package/build/lib/atk-api/generated/client.gen.d.ts.map +1 -0
  91. package/build/lib/atk-api/generated/client.gen.js +5 -0
  92. package/build/lib/atk-api/generated/client.gen.js.map +1 -0
  93. package/build/lib/atk-api/generated/core/auth.gen.d.ts.map +1 -0
  94. package/build/lib/{api → atk-api/generated}/core/auth.gen.js +1 -0
  95. package/build/lib/atk-api/generated/core/auth.gen.js.map +1 -0
  96. package/build/lib/{api → atk-api/generated}/core/bodySerializer.gen.d.ts +1 -1
  97. package/build/lib/atk-api/generated/core/bodySerializer.gen.d.ts.map +1 -0
  98. package/build/lib/{api → atk-api/generated}/core/bodySerializer.gen.js +1 -0
  99. package/build/lib/atk-api/generated/core/bodySerializer.gen.js.map +1 -0
  100. package/build/lib/atk-api/generated/core/params.gen.d.ts.map +1 -0
  101. package/build/lib/{api → atk-api/generated}/core/params.gen.js +1 -0
  102. package/build/lib/atk-api/generated/core/params.gen.js.map +1 -0
  103. package/build/lib/atk-api/generated/core/pathSerializer.gen.d.ts.map +1 -0
  104. package/build/lib/{api → atk-api/generated}/core/pathSerializer.gen.js +1 -0
  105. package/build/lib/atk-api/generated/core/pathSerializer.gen.js.map +1 -0
  106. package/build/lib/atk-api/generated/core/queryKeySerializer.gen.d.ts.map +1 -0
  107. package/build/lib/{api → atk-api/generated}/core/queryKeySerializer.gen.js +1 -0
  108. package/build/lib/atk-api/generated/core/queryKeySerializer.gen.js.map +1 -0
  109. package/build/lib/{api → atk-api/generated}/core/serverSentEvents.gen.d.ts +1 -1
  110. package/build/lib/atk-api/generated/core/serverSentEvents.gen.d.ts.map +1 -0
  111. package/build/lib/{api → atk-api/generated}/core/serverSentEvents.gen.js +1 -0
  112. package/build/lib/atk-api/generated/core/serverSentEvents.gen.js.map +1 -0
  113. package/build/lib/{api → atk-api/generated}/core/types.gen.d.ts +2 -2
  114. package/build/lib/atk-api/generated/core/types.gen.d.ts.map +1 -0
  115. package/build/lib/atk-api/generated/core/types.gen.js +4 -0
  116. package/build/lib/atk-api/generated/core/types.gen.js.map +1 -0
  117. package/build/lib/{api → atk-api/generated}/core/utils.gen.d.ts +1 -1
  118. package/build/lib/atk-api/generated/core/utils.gen.d.ts.map +1 -0
  119. package/build/lib/{api → atk-api/generated}/core/utils.gen.js +2 -1
  120. package/build/lib/atk-api/generated/core/utils.gen.js.map +1 -0
  121. package/build/lib/{api → atk-api/generated}/index.d.ts +2 -2
  122. package/build/lib/atk-api/generated/index.d.ts.map +1 -0
  123. package/build/lib/atk-api/generated/index.js +4 -0
  124. package/build/lib/atk-api/generated/index.js.map +1 -0
  125. package/build/lib/{api → atk-api/generated}/sdk.gen.d.ts +6 -2
  126. package/build/lib/atk-api/generated/sdk.gen.d.ts.map +1 -0
  127. package/build/lib/{api → atk-api/generated}/sdk.gen.js +6 -1
  128. package/build/lib/atk-api/generated/sdk.gen.js.map +1 -0
  129. package/build/lib/{api → atk-api/generated}/types.gen.d.ts +27 -0
  130. package/build/lib/atk-api/generated/types.gen.d.ts.map +1 -0
  131. package/build/lib/atk-api/generated/types.gen.js +4 -0
  132. package/build/lib/atk-api/generated/types.gen.js.map +1 -0
  133. package/build/lib/atk-api/index.d.ts +29 -0
  134. package/build/lib/atk-api/index.d.ts.map +1 -0
  135. package/build/lib/atk-api/index.js +27 -0
  136. package/build/lib/atk-api/index.js.map +1 -0
  137. package/build/lib/atk-api/limits.d.ts +16 -0
  138. package/build/lib/atk-api/limits.d.ts.map +1 -0
  139. package/build/lib/atk-api/limits.js +17 -0
  140. package/build/lib/atk-api/limits.js.map +1 -0
  141. package/build/lib/atk-api/schemas/bundle.d.ts.map +1 -0
  142. package/build/lib/{schemas → atk-api/schemas}/bundle.js +2 -1
  143. package/build/lib/atk-api/schemas/bundle.js.map +1 -0
  144. package/build/lib/atk-api/schemas/index.d.ts +14 -0
  145. package/build/lib/atk-api/schemas/index.d.ts.map +1 -0
  146. package/build/lib/atk-api/schemas/index.js +15 -0
  147. package/build/lib/atk-api/schemas/index.js.map +1 -0
  148. package/build/lib/atk-api/schemas/manifest.d.ts.map +1 -0
  149. package/build/lib/{schemas → atk-api/schemas}/manifest.js +1 -0
  150. package/build/lib/atk-api/schemas/manifest.js.map +1 -0
  151. package/build/lib/atk-api/schemas/registry.d.ts.map +1 -0
  152. package/build/lib/{schemas → atk-api/schemas}/registry.js +3 -2
  153. package/build/lib/atk-api/schemas/registry.js.map +1 -0
  154. package/build/lib/atk-api/testing.d.ts +47 -0
  155. package/build/lib/atk-api/testing.d.ts.map +1 -0
  156. package/build/lib/atk-api/testing.js +88 -0
  157. package/build/lib/atk-api/testing.js.map +1 -0
  158. package/build/lib/atk-api/transport.d.ts +27 -0
  159. package/build/lib/atk-api/transport.d.ts.map +1 -0
  160. package/build/lib/atk-api/transport.js +84 -0
  161. package/build/lib/atk-api/transport.js.map +1 -0
  162. package/build/lib/atk-api/web-routes.d.ts +125 -0
  163. package/build/lib/atk-api/web-routes.d.ts.map +1 -0
  164. package/build/lib/atk-api/web-routes.js +199 -0
  165. package/build/lib/atk-api/web-routes.js.map +1 -0
  166. package/build/lib/auth.d.ts +1 -1
  167. package/build/lib/auth.d.ts.map +1 -1
  168. package/build/lib/auth.js +7 -13
  169. package/build/lib/auth.js.map +1 -1
  170. package/build/lib/config.d.ts +1 -1
  171. package/build/lib/config.d.ts.map +1 -1
  172. package/build/lib/diff-command.d.ts +1 -1
  173. package/build/lib/diff-command.d.ts.map +1 -1
  174. package/build/lib/hook-config.d.ts +1 -1
  175. package/build/lib/hook-config.d.ts.map +1 -1
  176. package/build/lib/init.d.ts +1 -1
  177. package/build/lib/init.d.ts.map +1 -1
  178. package/build/lib/init.js +2 -4
  179. package/build/lib/init.js.map +1 -1
  180. package/build/lib/lockfile.d.ts +1 -1
  181. package/build/lib/lockfile.d.ts.map +1 -1
  182. package/build/lib/manifest-diff.d.ts +2 -2
  183. package/build/lib/manifest-diff.d.ts.map +1 -1
  184. package/build/lib/manifest-diff.js +2 -2
  185. package/build/lib/manifest-diff.js.map +1 -1
  186. package/build/lib/publisher.d.ts +13 -14
  187. package/build/lib/publisher.d.ts.map +1 -1
  188. package/build/lib/publisher.js +55 -84
  189. package/build/lib/publisher.js.map +1 -1
  190. package/build/lib/registrar.d.ts +1 -1
  191. package/build/lib/registrar.d.ts.map +1 -1
  192. package/build/lib/registrar.js +1 -1
  193. package/build/lib/registrar.js.map +1 -1
  194. package/build/lib/registry-mutate.d.ts +11 -5
  195. package/build/lib/registry-mutate.d.ts.map +1 -1
  196. package/build/lib/registry-mutate.js +17 -25
  197. package/build/lib/registry-mutate.js.map +1 -1
  198. package/build/lib/registry.d.ts +6 -4
  199. package/build/lib/registry.d.ts.map +1 -1
  200. package/build/lib/registry.js +84 -101
  201. package/build/lib/registry.js.map +1 -1
  202. package/build/lib/release-notes.d.ts +1 -1
  203. package/build/lib/release-notes.d.ts.map +1 -1
  204. package/build/lib/release-notes.js +2 -4
  205. package/build/lib/release-notes.js.map +1 -1
  206. package/build/lib/resolver.d.ts +1 -1
  207. package/build/lib/resolver.d.ts.map +1 -1
  208. package/build/lib/sanitize.d.ts +1 -1
  209. package/build/lib/sanitize.d.ts.map +1 -1
  210. package/build/lib/schemas/adapter.js +1 -1
  211. package/build/lib/schemas/adapter.js.map +1 -1
  212. package/build/lib/schemas/config.js +1 -1
  213. package/build/lib/schemas/config.js.map +1 -1
  214. package/build/lib/schemas/index.d.ts +1 -3
  215. package/build/lib/schemas/index.d.ts.map +1 -1
  216. package/build/lib/schemas/index.js +2 -3
  217. package/build/lib/schemas/index.js.map +1 -1
  218. package/build/lib/schemas/lockfile.js +1 -1
  219. package/build/lib/schemas/lockfile.js.map +1 -1
  220. package/build/lib/search.d.ts +2 -2
  221. package/build/lib/search.d.ts.map +1 -1
  222. package/build/lib/search.js +1 -1
  223. package/build/lib/search.js.map +1 -1
  224. package/build/lib/sync.d.ts +1 -1
  225. package/build/lib/sync.d.ts.map +1 -1
  226. package/build/lib/updater.d.ts +2 -2
  227. package/build/lib/updater.d.ts.map +1 -1
  228. package/package.json +2 -4
  229. package/build/lib/api/client/client.gen.d.ts +0 -3
  230. package/build/lib/api/client/client.gen.d.ts.map +0 -1
  231. package/build/lib/api/client/client.gen.js.map +0 -1
  232. package/build/lib/api/client/index.d.ts +0 -11
  233. package/build/lib/api/client/index.d.ts.map +0 -1
  234. package/build/lib/api/client/index.js +0 -7
  235. package/build/lib/api/client/index.js.map +0 -1
  236. package/build/lib/api/client/types.gen.d.ts.map +0 -1
  237. package/build/lib/api/client/types.gen.js +0 -3
  238. package/build/lib/api/client/types.gen.js.map +0 -1
  239. package/build/lib/api/client/utils.gen.d.ts.map +0 -1
  240. package/build/lib/api/client/utils.gen.js.map +0 -1
  241. package/build/lib/api/client.gen.d.ts.map +0 -1
  242. package/build/lib/api/client.gen.js +0 -4
  243. package/build/lib/api/client.gen.js.map +0 -1
  244. package/build/lib/api/core/auth.gen.d.ts.map +0 -1
  245. package/build/lib/api/core/auth.gen.js.map +0 -1
  246. package/build/lib/api/core/bodySerializer.gen.d.ts.map +0 -1
  247. package/build/lib/api/core/bodySerializer.gen.js.map +0 -1
  248. package/build/lib/api/core/params.gen.d.ts.map +0 -1
  249. package/build/lib/api/core/params.gen.js.map +0 -1
  250. package/build/lib/api/core/pathSerializer.gen.d.ts.map +0 -1
  251. package/build/lib/api/core/pathSerializer.gen.js.map +0 -1
  252. package/build/lib/api/core/queryKeySerializer.gen.d.ts.map +0 -1
  253. package/build/lib/api/core/queryKeySerializer.gen.js.map +0 -1
  254. package/build/lib/api/core/serverSentEvents.gen.d.ts.map +0 -1
  255. package/build/lib/api/core/serverSentEvents.gen.js.map +0 -1
  256. package/build/lib/api/core/types.gen.d.ts.map +0 -1
  257. package/build/lib/api/core/types.gen.js +0 -3
  258. package/build/lib/api/core/types.gen.js.map +0 -1
  259. package/build/lib/api/core/utils.gen.d.ts.map +0 -1
  260. package/build/lib/api/core/utils.gen.js.map +0 -1
  261. package/build/lib/api/index.d.ts.map +0 -1
  262. package/build/lib/api/index.js +0 -3
  263. package/build/lib/api/index.js.map +0 -1
  264. package/build/lib/api/sdk.gen.d.ts.map +0 -1
  265. package/build/lib/api/sdk.gen.js.map +0 -1
  266. package/build/lib/api/types.gen.d.ts.map +0 -1
  267. package/build/lib/api/types.gen.js +0 -3
  268. package/build/lib/api/types.gen.js.map +0 -1
  269. package/build/lib/schemas/bundle.d.ts.map +0 -1
  270. package/build/lib/schemas/bundle.js.map +0 -1
  271. package/build/lib/schemas/manifest.d.ts.map +0 -1
  272. package/build/lib/schemas/manifest.js.map +0 -1
  273. package/build/lib/schemas/registry.d.ts.map +0 -1
  274. package/build/lib/schemas/registry.js.map +0 -1
  275. /package/build/lib/{api → atk-api/generated}/core/auth.gen.d.ts +0 -0
  276. /package/build/lib/{api → atk-api/generated}/core/params.gen.d.ts +0 -0
  277. /package/build/lib/{api → atk-api/generated}/core/pathSerializer.gen.d.ts +0 -0
  278. /package/build/lib/{api → atk-api/generated}/core/queryKeySerializer.gen.d.ts +0 -0
  279. /package/build/lib/{schemas → atk-api/schemas}/bundle.d.ts +0 -0
  280. /package/build/lib/{schemas → atk-api/schemas}/manifest.d.ts +0 -0
  281. /package/build/lib/{schemas → atk-api/schemas}/registry.d.ts +0 -0
@@ -0,0 +1,148 @@
1
+ /**
2
+ * createAtkClient: the whole API behind one object.
3
+ *
4
+ * What each call hides from the caller (the reason this module exists):
5
+ * - URL + path/query building, `org` as a query param, `latest` passthrough
6
+ * - bearer auth from `getToken`, called once per request
7
+ * - retries (transport.ts): 429/5xx + network, never 5xx on a POST
8
+ * - Zod parsing of untyped bodies (`/registry` and manifests are `{[k]: unknown}` in the OpenAPI)
9
+ * - error envelope -> AtkError with a closed `AtkProblem` union
10
+ * - 404 README -> null (README is optional beside every manifest)
11
+ * - utf8/base64 choice per publish file (strict UTF-8 decode without NUL -> utf8)
12
+ * - the `client: 'cli' | 'web'` footer field on every write
13
+ *
14
+ * What it deliberately does NOT do: caching (TanStack Query in the web, the
15
+ * ETag disk cache in the CLI), UI copy (each app presents AtkProblem itself),
16
+ * semver range resolution (CLI resolver), search/ranking (per app).
17
+ */
18
+ import type { ArchiveFormat, AssetType, AssetVersionRef, BundleVersionRef, CliRelease, DownloadedArchive, ExactAssetRef, ExactBundleRef, Principal, PublishFileInput, PublishInput, PublishPlan, PublishReceipt, RegistryRead, RemoteFile } from './domain.ts';
19
+ import type { Bundle, Manifest } from './schemas/index.ts';
20
+ /**
21
+ * Every endpoint the web and CLI use, in domain types. Grouped by resource so
22
+ * call sites read as sentences: `atk.assets.readme(ref)`.
23
+ *
24
+ * Every method rejects with {@link AtkError} or with whatever `getToken` threw. Nothing else.
25
+ */
26
+ export interface AtkClient {
27
+ readonly assets: {
28
+ /** `GET /checkout/{name}`, CLI only; the files come back decoded. */
29
+ checkout(query: {
30
+ readonly name: string;
31
+ readonly org?: string;
32
+ readonly type?: AssetType;
33
+ readonly version?: string;
34
+ }, opts?: CallOptions): Promise<{
35
+ readonly files: readonly PublishFileInput[];
36
+ readonly ref: AssetVersionRef;
37
+ }>;
38
+ /** Exact version only (the filename needs it); `latest` does not type-check. */
39
+ download(ref: ExactAssetRef, format: ArchiveFormat, opts?: CallOptions): Promise<DownloadedArchive>;
40
+ file(ref: AssetVersionRef, path: string, opts?: CallOptions): Promise<Uint8Array>;
41
+ files(ref: AssetVersionRef, opts?: CallOptions): Promise<readonly RemoteFile[]>;
42
+ /**
43
+ * The `manifest.json` parsed with this client's schema, keys in the file's order.
44
+ * A field this client's schema does not know (written by a newer publisher)
45
+ * is dropped, so a caller that re-publishes the result loses it.
46
+ */
47
+ manifest(ref: AssetVersionRef, opts?: CallOptions): Promise<Manifest>;
48
+ /**
49
+ * `null` on any 404. The API answers `not_found` both for "no README.md" and
50
+ * for an unknown asset or version, so the two cannot be told apart here.
51
+ */
52
+ readme(ref: AssetVersionRef, opts?: CallOptions): Promise<null | string>;
53
+ };
54
+ readonly bundles: {
55
+ download(ref: ExactBundleRef, format: ArchiveFormat, opts?: CallOptions): Promise<DownloadedArchive>;
56
+ /**
57
+ * The `bundle.json` parsed with this client's schema, keys in the file's order.
58
+ * A field this client's schema does not know (written by a newer publisher)
59
+ * is dropped, so a caller that re-publishes the result loses it.
60
+ */
61
+ manifest(ref: BundleVersionRef, opts?: CallOptions): Promise<Bundle>;
62
+ readme(ref: BundleVersionRef, opts?: CallOptions): Promise<null | string>;
63
+ };
64
+ cliReleases(opts?: CallOptions): Promise<readonly CliRelease[]>;
65
+ me(opts?: CallOptions): Promise<Principal>;
66
+ readonly publish: {
67
+ /** `POST /publish/plan`: the dry run. Same validation as submit, touches nothing. */
68
+ plan(input: PublishInput, opts?: CallOptions): Promise<PublishPlan>;
69
+ /**
70
+ * `POST /publish`. `onBranchExists: 'replace'` retries once with
71
+ * `replaceExistingBranch` on `409 branch_exists` (the CLI's policy);
72
+ * default `'fail'` surfaces the conflict (the web's policy).
73
+ */
74
+ submit(input: PublishInput, opts?: SubmitOptions): Promise<PublishReceipt>;
75
+ };
76
+ /** `GET /registry`. Pass the last `etag` to get `not_modified` (CLI disk cache). */
77
+ registry(opts?: CallOptions & {
78
+ readonly etag?: string;
79
+ }): Promise<RegistryRead>;
80
+ /** CLI only today (`atk unpublish`, `atk promote`). */
81
+ readonly registryChanges: {
82
+ plan(change: RegistryChange, opts?: CallOptions): Promise<RegistryChangePlan>;
83
+ submit(change: RegistryChange, opts?: SubmitOptions): Promise<RegistryChangeReceipt>;
84
+ };
85
+ }
86
+ export interface AtkClientOptions {
87
+ /** Which app is calling; fills `client` on publish/unpublish/promote (PR footer only). */
88
+ readonly app: 'cli' | 'web';
89
+ /** API origin, e.g. `https://func-atk-prod.azurewebsites.net`. Trailing slash tolerated. Routes are at root. */
90
+ readonly baseUrl: string;
91
+ /** Base fetch, wrapped by the internal retry layer. Default: `globalThis.fetch`, looked up per request. It must not retry itself. */
92
+ readonly fetch?: typeof fetch;
93
+ /**
94
+ * Bearer token for the next request, called once per request. Whatever it
95
+ * throws is rethrown AS-IS, never wrapped: the CLI's AuthError keeps its
96
+ * hint/command, the web's SessionEnded keeps its notice.
97
+ */
98
+ readonly getToken: () => Promise<string>;
99
+ }
100
+ /** Per-call options every method accepts. */
101
+ export interface CallOptions {
102
+ readonly signal?: AbortSignal;
103
+ }
104
+ /** Unpublish and promote share plan/submit shape; the action discriminates the endpoint. */
105
+ export type RegistryChange = {
106
+ readonly action: 'promote';
107
+ readonly kind?: 'asset' | 'bundle';
108
+ readonly name: string;
109
+ readonly org: string;
110
+ readonly type?: AssetType;
111
+ } | {
112
+ readonly action: 'unpublish';
113
+ readonly kind?: 'asset' | 'bundle';
114
+ readonly name: string;
115
+ readonly org?: string;
116
+ readonly type?: AssetType;
117
+ readonly version?: string;
118
+ };
119
+ export interface RegistryChangePlan {
120
+ readonly action: 'promote' | 'unpublish';
121
+ readonly assetType?: AssetType;
122
+ readonly branchName: string;
123
+ readonly changes: readonly {
124
+ readonly from: string;
125
+ readonly to?: string;
126
+ }[];
127
+ readonly kind: 'asset' | 'bundle';
128
+ readonly name: string;
129
+ readonly org?: string;
130
+ readonly prBody: string;
131
+ readonly prTitle: string;
132
+ readonly versions: readonly string[];
133
+ readonly warnings: readonly string[];
134
+ }
135
+ export interface RegistryChangeReceipt {
136
+ readonly branchName: string;
137
+ readonly commitSha: string;
138
+ readonly prNumber: number;
139
+ readonly prUrl: string;
140
+ readonly warnings: readonly string[];
141
+ }
142
+ export type SubmitOptions = CallOptions & {
143
+ readonly onBranchExists?: 'fail' | 'replace';
144
+ /** Called just before the one `replaceExistingBranch` retry (the CLI shows a progress line). */
145
+ readonly onReplacingBranch?: () => void;
146
+ };
147
+ export declare function createAtkClient(options: AtkClientOptions): AtkClient;
148
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/lib/atk-api/client.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EACV,aAAa,EAEb,SAAS,EACT,eAAe,EAEf,gBAAgB,EAChB,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,cAAc,EAGd,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,cAAc,EACd,YAAY,EACZ,UAAU,EACX,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAQ3D;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,MAAM,EAAE;QACf,qEAAqE;QACrE,QAAQ,CACN,KAAK,EAAE;YAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;YAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,EAC7G,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC;YAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAC;YAAC,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAA;SAAE,CAAC,CAAC;QAC3F,gFAAgF;QAChF,QAAQ,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACpG,IAAI,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAClF,KAAK,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAAC;QAChF;;;;WAIG;QACH,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtE;;;WAGG;QACH,MAAM,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;KAC1E,CAAC;IAEF,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACrG;;;;WAIG;QACH,QAAQ,CAAC,GAAG,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QACrE,MAAM,CAAC,GAAG,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;KAC3E,CAAC;IAEF,WAAW,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAAC;IAEhE,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAE3C,QAAQ,CAAC,OAAO,EAAE;QAChB,qFAAqF;QACrF,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QACpE;;;;WAIG;QACH,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;KAC5E,CAAC;IAEF,oFAAoF;IACpF,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAEjF,uDAAuD;IACvD,QAAQ,CAAC,eAAe,EAAE;QACxB,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC9E,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;KACtF,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,0FAA0F;IAC1F,QAAQ,CAAC,GAAG,EAAE,KAAK,GAAG,KAAK,CAAC;IAC5B,gHAAgH;IAChH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,qIAAqI;IACrI,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1C;AAED,6CAA6C;AAC7C,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,4FAA4F;AAC5F,MAAM,MAAM,cAAc,GACtB;IACE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;CAC3B,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEN,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW,CAAC;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7E,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG;IACxC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,gGAAgG;IAChG,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;CACzC,CAAC;AAgBF,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAkWpE"}
@@ -0,0 +1,336 @@
1
+ // GENERATED from packages/api-client by `pnpm sync-cli`. Do not edit.
2
+ /**
3
+ * createAtkClient: the whole API behind one object.
4
+ *
5
+ * What each call hides from the caller (the reason this module exists):
6
+ * - URL + path/query building, `org` as a query param, `latest` passthrough
7
+ * - bearer auth from `getToken`, called once per request
8
+ * - retries (transport.ts): 429/5xx + network, never 5xx on a POST
9
+ * - Zod parsing of untyped bodies (`/registry` and manifests are `{[k]: unknown}` in the OpenAPI)
10
+ * - error envelope -> AtkError with a closed `AtkProblem` union
11
+ * - 404 README -> null (README is optional beside every manifest)
12
+ * - utf8/base64 choice per publish file (strict UTF-8 decode without NUL -> utf8)
13
+ * - the `client: 'cli' | 'web'` footer field on every write
14
+ *
15
+ * What it deliberately does NOT do: caching (TanStack Query in the web, the
16
+ * ETag disk cache in the CLI), UI copy (each app presents AtkProblem itself),
17
+ * semver range resolution (CLI resolver), search/ranking (per app).
18
+ */
19
+ import { AtkError, isAtkError, toAtkError } from "./errors.js";
20
+ import { createClient } from "./generated/client/index.js";
21
+ import * as sdk from "./generated/sdk.gen.js";
22
+ import { BundleSchema, ManifestSchema, RegistrySchema } from "./schemas/index.js";
23
+ import { withRetry } from "./transport.js";
24
+ export function createAtkClient(options) {
25
+ const base = options.fetch ?? ((input, init) => globalThis.fetch(input, init));
26
+ const client = createClient({
27
+ baseUrl: options.baseUrl.replace(/\/+$/, ''),
28
+ fetch: withRetry(base),
29
+ throwOnError: false,
30
+ });
31
+ async function send(run, opts) {
32
+ const auth = await options.getToken();
33
+ return run({ auth, client, ...(opts?.signal ? { signal: opts.signal } : {}) });
34
+ }
35
+ async function call(endpoint, run, opts) {
36
+ return settle(endpoint, await send(run, opts));
37
+ }
38
+ /**
39
+ * A manifest (`manifest.json` / `bundle.json`): parsed with `schema`, its keys
40
+ * kept in the order the file has them. Zod emits schema order, and callers that
41
+ * re-serialise a manifest (the CLI stages it for `publish --update`) must get
42
+ * the document back as it was written. Keys unknown to `schema` are still
43
+ * dropped: the parse is the contract.
44
+ */
45
+ async function manifestDocument(endpoint, run, schema, opts) {
46
+ const fields = await send(run, opts);
47
+ return inDocumentOrder(settle(endpoint, fields, schema), fields.data);
48
+ }
49
+ async function readme(endpoint, run, opts) {
50
+ try {
51
+ return String(await call(endpoint, run, opts));
52
+ }
53
+ catch (err) {
54
+ if (isAtkError(err, 'not_found')) {
55
+ return null;
56
+ }
57
+ throw err;
58
+ }
59
+ }
60
+ async function submitWithBranchPolicy(endpoint, run, opts) {
61
+ try {
62
+ return (await call(endpoint, (w) => run(w, false), opts));
63
+ }
64
+ catch (err) {
65
+ if (opts?.onBranchExists === 'replace' && isAtkError(err, 'conflict') && err.problem.code === 'branch_exists') {
66
+ opts.onReplacingBranch?.();
67
+ return (await call(endpoint, (w) => run(w, true), opts));
68
+ }
69
+ throw err;
70
+ }
71
+ }
72
+ const toWire = (input, replaceExistingBranch) => {
73
+ const files = input.kind === 'asset'
74
+ ? input.files.map(encodeFile)
75
+ : input.readme === undefined
76
+ ? []
77
+ : [encodeFile({ bytes: new TextEncoder().encode(input.readme), path: 'README.md' })];
78
+ return {
79
+ client: options.app,
80
+ files,
81
+ kind: input.kind,
82
+ manifest: input.manifest,
83
+ ...(input.message ? { message: input.message } : {}),
84
+ replaceExistingBranch,
85
+ ...(input.reviewers?.length ? { reviewers: [...input.reviewers] } : {}),
86
+ };
87
+ };
88
+ const changeWire = (change, replaceExistingBranch) => {
89
+ const { action: _action, ...fields } = change;
90
+ return { ...fields, client: options.app, replaceExistingBranch };
91
+ };
92
+ return {
93
+ assets: {
94
+ async checkout(query, opts) {
95
+ const data = (await call('GET /checkout/{name}', (w) => sdk.checkout({
96
+ ...w,
97
+ path: { name: query.name },
98
+ query: {
99
+ ...(query.org ? { org: query.org } : {}),
100
+ ...(query.type ? { type: query.type } : {}),
101
+ ...(query.version ? { version: query.version } : {}),
102
+ },
103
+ }), opts));
104
+ return {
105
+ files: data.files.map((f) => ({ bytes: decodeContent(f.content, f.encoding), path: f.path })),
106
+ ref: {
107
+ kind: 'asset',
108
+ name: data.name,
109
+ type: data.type,
110
+ // Read from the API, which resolved it to an exact version.
111
+ version: data.version,
112
+ ...(data.org ? { org: data.org } : {}),
113
+ },
114
+ };
115
+ },
116
+ async download(ref, format, opts) {
117
+ const data = await call('GET /assets/{type}/{name}/{version}/download', (w) => sdk.downloadAsset({ ...w, parseAs: 'blob', path: assetPath(ref), query: { ...orgQuery(ref), format } }), opts);
118
+ return { blob: data, filename: `${ref.name}-${ref.version}.${format}` };
119
+ },
120
+ async file(ref, path, opts) {
121
+ const data = await call('GET /assets/{type}/{name}/{version}/file/{path}', (w) => sdk.getAssetFile({ ...w, parseAs: 'arrayBuffer', path: { ...assetPath(ref), path }, query: orgQuery(ref) }), opts);
122
+ return new Uint8Array(data);
123
+ },
124
+ async files(ref, opts) {
125
+ const data = (await call('GET /assets/{type}/{name}/{version}/files', (w) => sdk.listAssetFiles({ ...w, path: assetPath(ref), query: orgQuery(ref) }), opts));
126
+ return data.files.map((f) => ({ path: f.path, sha: f.sha, size: f.size }));
127
+ },
128
+ async manifest(ref, opts) {
129
+ return manifestDocument('GET /assets/{type}/{name}/{version}/manifest', (w) => sdk.getAssetManifest({ ...w, path: assetPath(ref), query: orgQuery(ref) }), ManifestSchema, opts);
130
+ },
131
+ readme: (ref, opts) => readme('GET /assets/{type}/{name}/{version}/readme', (w) => sdk.getAssetReadme({ ...w, parseAs: 'text', path: assetPath(ref), query: orgQuery(ref) }), opts),
132
+ },
133
+ bundles: {
134
+ async download(ref, format, opts) {
135
+ const data = await call('GET /bundles/{name}/{version}/download', (w) => sdk.downloadBundle({ ...w, parseAs: 'blob', path: bundlePath(ref), query: { ...orgQuery(ref), format } }), opts);
136
+ return { blob: data, filename: `${ref.name}-${ref.version}.zip` };
137
+ },
138
+ async manifest(ref, opts) {
139
+ return manifestDocument('GET /bundles/{name}/{version}/manifest', (w) => sdk.getBundleManifest({ ...w, path: bundlePath(ref), query: orgQuery(ref) }), BundleSchema, opts);
140
+ },
141
+ readme: (ref, opts) => readme('GET /bundles/{name}/{version}/readme', (w) => sdk.getBundleReadme({ ...w, parseAs: 'text', path: bundlePath(ref), query: orgQuery(ref) }), opts),
142
+ },
143
+ async cliReleases(opts) {
144
+ const data = (await call('GET /cli/releases', (w) => sdk.getCliReleases(w), opts));
145
+ return data.releases.map((r) => ({
146
+ body: r.body,
147
+ prerelease: r.prerelease,
148
+ tag: r.tag,
149
+ version: r.version,
150
+ ...(r.publishedAt ? { publishedAt: r.publishedAt } : {}),
151
+ }));
152
+ },
153
+ async me(opts) {
154
+ const endpoint = 'GET /me';
155
+ const p = (await call(endpoint, (w) => sdk.me(w), opts));
156
+ if (p.scheme !== 'entra' && p.scheme !== 'github') {
157
+ throw unexpected(endpoint, 200, `Unknown sign-in scheme '${p.scheme}'.`);
158
+ }
159
+ return {
160
+ displayName: p.name ?? p.login,
161
+ id: p.id,
162
+ login: p.login,
163
+ scheme: p.scheme,
164
+ ...(p.avatarUrl ? { avatarUrl: p.avatarUrl } : {}),
165
+ ...(p.email ? { email: p.email } : {}),
166
+ ...(p.githubAuthSunset ? { githubAuthSunset: p.githubAuthSunset } : {}),
167
+ ...(p.name ? { name: p.name } : {}),
168
+ };
169
+ },
170
+ publish: {
171
+ async plan(input, opts) {
172
+ const p = (await call('POST /publish/plan', (w) => sdk.publishPlan({ ...w, body: toWire(input, false) }), opts));
173
+ return {
174
+ branchName: p.branchName,
175
+ files: p.files,
176
+ isUpdate: p.isUpdate,
177
+ kind: p.kind,
178
+ name: p.name,
179
+ prBody: p.prBody,
180
+ prTitle: p.prTitle,
181
+ registryPath: p.registryPath,
182
+ reviewers: p.reviewers,
183
+ version: p.version,
184
+ warnings: p.warnings,
185
+ ...(p.assetType ? { assetType: p.assetType } : {}),
186
+ ...(p.org ? { org: p.org } : {}),
187
+ ...(p.previousVersion ? { previousVersion: p.previousVersion } : {}),
188
+ };
189
+ },
190
+ async submit(input, opts) {
191
+ const r = await submitWithBranchPolicy('POST /publish', (w, replace) => sdk.publish({ ...w, body: toWire(input, replace) }), opts);
192
+ return {
193
+ branchName: r.branchName,
194
+ commitSha: r.commitSha,
195
+ prNumber: r.prNumber,
196
+ prUrl: r.prUrl,
197
+ reviewers: r.reviewers,
198
+ warnings: r.warnings,
199
+ ...(r.reviewerWarning ? { reviewerWarning: r.reviewerWarning } : {}),
200
+ };
201
+ },
202
+ },
203
+ async registry(opts) {
204
+ const fields = await send((w) => sdk.getRegistry({ ...w, ...(opts?.etag ? { headers: { 'If-None-Match': opts.etag } } : {}) }), opts);
205
+ if (fields.response?.status === 304) {
206
+ return { status: 'not_modified' };
207
+ }
208
+ const registry = settle('GET /registry', fields, RegistrySchema);
209
+ const etag = fields.response?.headers.get('etag');
210
+ return { registry, status: 'fresh', ...(etag ? { etag } : {}) };
211
+ },
212
+ registryChanges: {
213
+ async plan(change, opts) {
214
+ const endpoint = change.action === 'promote' ? 'POST /promote/plan' : 'POST /unpublish/plan';
215
+ const p = (await call(endpoint, (w) => change.action === 'promote'
216
+ ? sdk.promotePlan({ ...w, body: changeWire(change, false) })
217
+ : sdk.unpublishPlan({ ...w, body: changeWire(change, false) }), opts));
218
+ return {
219
+ action: p.action,
220
+ branchName: p.branchName,
221
+ changes: p.changes.map((c) => (c.to ? { from: c.from, to: c.to } : { from: c.from })),
222
+ kind: p.kind,
223
+ name: p.name,
224
+ prBody: p.prBody,
225
+ prTitle: p.prTitle,
226
+ versions: p.versions,
227
+ warnings: p.warnings,
228
+ ...(p.assetType ? { assetType: p.assetType } : {}),
229
+ ...(p.org ? { org: p.org } : {}),
230
+ };
231
+ },
232
+ async submit(change, opts) {
233
+ const endpoint = change.action === 'promote' ? 'POST /promote' : 'POST /unpublish';
234
+ const r = await submitWithBranchPolicy(endpoint, (w, replace) => change.action === 'promote'
235
+ ? sdk.promote({ ...w, body: changeWire(change, replace) })
236
+ : sdk.unpublish({ ...w, body: changeWire(change, replace) }), opts);
237
+ return {
238
+ branchName: r.branchName,
239
+ commitSha: r.commitSha,
240
+ prNumber: r.prNumber,
241
+ prUrl: r.prUrl,
242
+ warnings: r.warnings,
243
+ };
244
+ },
245
+ },
246
+ };
247
+ }
248
+ function assetPath(ref) {
249
+ return { name: ref.name, type: ref.type, version: ref.version };
250
+ }
251
+ function bundlePath(ref) {
252
+ return { name: ref.name, version: ref.version };
253
+ }
254
+ /** Bytes of one checkout file. The API sends base64 today; utf8 is decoded too. */
255
+ function decodeContent(content, encoding) {
256
+ if (encoding === 'utf8') {
257
+ return new TextEncoder().encode(content);
258
+ }
259
+ const binary = atob(content);
260
+ const bytes = new Uint8Array(binary.length);
261
+ for (let i = 0; i < binary.length; i++) {
262
+ bytes[i] = binary.charCodeAt(i);
263
+ }
264
+ return bytes;
265
+ }
266
+ /** `utf8` when the bytes are valid UTF-8 with no NUL byte, otherwise `base64`. A BOM is kept. */
267
+ function encodeFile(file) {
268
+ if (!file.bytes.includes(0)) {
269
+ try {
270
+ const content = new TextDecoder('utf-8', { fatal: true, ignoreBOM: true }).decode(file.bytes);
271
+ return { content, encoding: 'utf8', path: file.path };
272
+ }
273
+ catch {
274
+ // Not UTF-8: fall through to base64.
275
+ }
276
+ }
277
+ let binary = '';
278
+ for (let i = 0; i < file.bytes.length; i += 0x8000) {
279
+ binary += String.fromCharCode(...file.bytes.subarray(i, i + 0x8000));
280
+ }
281
+ return { content: btoa(binary), encoding: 'base64', path: file.path };
282
+ }
283
+ /**
284
+ * `parsed` with every plain object's keys in the order `source` (the wire document) had them,
285
+ * recursively; keys the parse added (none today) go last.
286
+ */
287
+ function inDocumentOrder(parsed, source) {
288
+ if (Array.isArray(parsed)) {
289
+ return parsed.map((item, i) => inDocumentOrder(item, Array.isArray(source) ? source[i] : undefined));
290
+ }
291
+ if (!isPlainObject(parsed) || !isPlainObject(source)) {
292
+ return parsed;
293
+ }
294
+ const keys = [
295
+ ...Object.keys(source).filter((key) => Object.hasOwn(parsed, key)),
296
+ ...Object.keys(parsed).filter((key) => !Object.hasOwn(source, key)),
297
+ ];
298
+ return Object.fromEntries(keys.map((key) => [key, inDocumentOrder(parsed[key], source[key])]));
299
+ }
300
+ function isPlainObject(value) {
301
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
302
+ }
303
+ function messageOf(error) {
304
+ return error instanceof Error ? error.message : error ? String(error) : 'Network request failed';
305
+ }
306
+ function orgQuery(ref) {
307
+ return ref.org ? { org: ref.org } : {};
308
+ }
309
+ /**
310
+ * A finished SDK call -> its data (parsed with `schema` when given), or the
311
+ * AtkError describing why it failed.
312
+ */
313
+ function settle(endpoint, { data, error, response }, schema) {
314
+ if (response === undefined) {
315
+ throw new AtkError({ code: 'network_error', kind: 'network', message: messageOf(error) }, 0, { cause: error });
316
+ }
317
+ if (!response.ok) {
318
+ throw toAtkError(response.status, error, endpoint);
319
+ }
320
+ if (error !== undefined) {
321
+ throw unexpected(endpoint, response.status, messageOf(error));
322
+ }
323
+ if (!schema) {
324
+ return data;
325
+ }
326
+ const result = schema.safeParse(data);
327
+ if (!result.success) {
328
+ throw unexpected(endpoint, response.status, result.error.issues.map((i) => i.message).join(', '));
329
+ }
330
+ return result.data;
331
+ }
332
+ /** A 2xx whose body is not what the contract says. */
333
+ function unexpected(endpoint, status, message) {
334
+ return new AtkError({ code: 'unexpected_response', endpoint, kind: 'unexpected_response', message }, status);
335
+ }
336
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/lib/atk-api/client.ts"],"names":[],"mappings":"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"}