@detergent-software/atk 7.13.0-dev.1 → 7.13.0-dev.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 (68) hide show
  1. package/README.md +6 -5
  2. package/build/commands/promote.d.ts +10 -1
  3. package/build/commands/promote.d.ts.map +1 -1
  4. package/build/commands/promote.js +30 -31
  5. package/build/commands/promote.js.map +1 -1
  6. package/build/commands/release-notes.js +1 -1
  7. package/build/commands/release-notes.js.map +1 -1
  8. package/build/commands/unpublish.d.ts +10 -1
  9. package/build/commands/unpublish.d.ts.map +1 -1
  10. package/build/commands/unpublish.js +30 -19
  11. package/build/commands/unpublish.js.map +1 -1
  12. package/build/components/RegistryChangeSummary.d.ts +21 -0
  13. package/build/components/RegistryChangeSummary.d.ts.map +1 -0
  14. package/build/components/RegistryChangeSummary.js +24 -0
  15. package/build/components/RegistryChangeSummary.js.map +1 -0
  16. package/build/components/index.d.ts +1 -0
  17. package/build/components/index.d.ts.map +1 -1
  18. package/build/components/index.js +1 -0
  19. package/build/components/index.js.map +1 -1
  20. package/build/hooks/useRegistryChangeState.d.ts +57 -0
  21. package/build/hooks/useRegistryChangeState.d.ts.map +1 -0
  22. package/build/hooks/useRegistryChangeState.js +112 -0
  23. package/build/hooks/useRegistryChangeState.js.map +1 -0
  24. package/build/lib/api/index.d.ts +2 -2
  25. package/build/lib/api/index.d.ts.map +1 -1
  26. package/build/lib/api/index.js +1 -1
  27. package/build/lib/api/index.js.map +1 -1
  28. package/build/lib/api/sdk.gen.d.ts +21 -1
  29. package/build/lib/api/sdk.gen.d.ts.map +1 -1
  30. package/build/lib/api/sdk.gen.js +56 -0
  31. package/build/lib/api/sdk.gen.js.map +1 -1
  32. package/build/lib/api/types.gen.d.ts +387 -0
  33. package/build/lib/api/types.gen.d.ts.map +1 -1
  34. package/build/lib/api-client.d.ts +5 -0
  35. package/build/lib/api-client.d.ts.map +1 -1
  36. package/build/lib/api-client.js +31 -0
  37. package/build/lib/api-client.js.map +1 -1
  38. package/build/lib/auth.d.ts +1 -14
  39. package/build/lib/auth.d.ts.map +1 -1
  40. package/build/lib/auth.js +1 -30
  41. package/build/lib/auth.js.map +1 -1
  42. package/build/lib/diagnostics.d.ts.map +1 -1
  43. package/build/lib/diagnostics.js +1 -19
  44. package/build/lib/diagnostics.js.map +1 -1
  45. package/build/lib/publisher.d.ts.map +1 -1
  46. package/build/lib/publisher.js +1 -7
  47. package/build/lib/publisher.js.map +1 -1
  48. package/build/lib/registry-mutate.d.ts +23 -64
  49. package/build/lib/registry-mutate.d.ts.map +1 -1
  50. package/build/lib/registry-mutate.js +50 -409
  51. package/build/lib/registry-mutate.js.map +1 -1
  52. package/build/lib/registry-repo.d.ts +2 -3
  53. package/build/lib/registry-repo.d.ts.map +1 -1
  54. package/build/lib/registry-repo.js +2 -3
  55. package/build/lib/registry-repo.js.map +1 -1
  56. package/build/lib/release-notes.d.ts +18 -14
  57. package/build/lib/release-notes.d.ts.map +1 -1
  58. package/build/lib/release-notes.js +10 -42
  59. package/build/lib/release-notes.js.map +1 -1
  60. package/package.json +1 -1
  61. package/build/hooks/usePromoteState.d.ts +0 -51
  62. package/build/hooks/usePromoteState.d.ts.map +0 -1
  63. package/build/hooks/usePromoteState.js +0 -139
  64. package/build/hooks/usePromoteState.js.map +0 -1
  65. package/build/hooks/useUnpublishState.d.ts +0 -52
  66. package/build/hooks/useUnpublishState.d.ts.map +0 -1
  67. package/build/hooks/useUnpublishState.js +0 -140
  68. package/build/hooks/useUnpublishState.js.map +0 -1
@@ -1,417 +1,58 @@
1
- import { execFile } from 'node:child_process';
2
- import { existsSync } from 'node:fs';
3
- import { cp, mkdir, readdir, rm } from 'node:fs/promises';
4
- import { tmpdir } from 'node:os';
5
- import { join } from 'node:path';
6
- import { promisify } from 'node:util';
7
- import { updateManifestField } from './publisher.js';
8
- import { DEFAULT_REGISTRY_BRANCH, DEFAULT_REGISTRY_REPO } from './registry-repo.js';
9
- import { findAsset, findBundle, getAssetsByOrg } from './registry.js';
10
- const execFileAsync = promisify(execFile);
11
- // ---------------------------------------------------------------------------
12
- // Promote
13
- // ---------------------------------------------------------------------------
14
- export function buildPromotePlan(registry, rawName, org) {
15
- if (!org) {
16
- throw new Error("Promote requires an org-scoped name like '@org/name'.");
17
- }
18
- // Look for org-scoped entries only — promote has no meaning for already-global assets.
19
- const orgAssets = getAssetsByOrg(registry, org);
20
- const asset = orgAssets.find((a) => a.name === rawName);
21
- const orgBundle = asset ? undefined : findBundle(registry, rawName, org);
22
- if (!asset && !orgBundle) {
23
- throw new Error(`Org-scoped asset or bundle '@${org}/${rawName}' not found in the registry.`);
24
- }
25
- let target;
26
- let sourceBase;
27
- let destBase;
28
- let manifestFile;
29
- let versions;
30
- if (asset) {
31
- // Fail fast if a global entry with the same name+type already exists.
32
- const global = registry.assets.find((a) => a.name === rawName && a.type === asset.type && a.org === undefined);
33
- if (global) {
34
- throw new Error(`Cannot promote '@${org}/${rawName}': a global ${asset.type} '${rawName}' already exists in the registry.`);
35
- }
36
- // Block if any published bundle references this asset in its current
37
- // (org) scope — promoting it to global would change its identity and
38
- // break those bundles' unqualified/own-org refs.
39
- const referencing = findReferencingBundles(registry, rawName, asset.type, org);
40
- if (referencing.length > 0) {
41
- throw new Error(`Cannot promote '@${org}/${rawName}': it is referenced by published bundle(s):\n` +
42
- referencing.map((b) => ` - ${b}`).join('\n') +
43
- `\nPromoting it would change its scope and break those bundles. Update or unpublish them first.`);
44
- }
45
- target = { assetType: asset.type, name: rawName, org, type: 'asset' };
46
- sourceBase = `assets/${asset.type}s/@${org}/${rawName}`;
47
- destBase = `assets/${asset.type}s/${rawName}`;
48
- manifestFile = 'manifest.json';
49
- versions = Object.keys(asset.versions);
50
- }
51
- else {
52
- const globalBundle = findBundle(registry, rawName);
53
- if (globalBundle) {
54
- throw new Error(`Cannot promote '@${org}/${rawName}': a global bundle '${rawName}' already exists in the registry.`);
55
- }
56
- // A promoted bundle becomes global and must satisfy the global-bundle rule:
57
- // no org-scoped refs, and every unqualified ref must resolve globally
58
- // (bundle-org fallback disappears with the promotion).
59
- const offendingRefs = [];
60
- for (const ref of orgBundle.assets ?? []) {
61
- if (ref.org) {
62
- offendingRefs.push(`${ref.type}:@${ref.org}/${ref.name} — org-scoped refs are not allowed in global bundles`);
63
- }
64
- else if (!findAsset(registry, ref.name, ref.type, ref.version)) {
65
- offendingRefs.push(`${ref.type}:${ref.name} — does not resolve in the global scope`);
66
- }
67
- }
68
- if (offendingRefs.length > 0) {
69
- throw new Error(`Cannot promote '@${org}/${rawName}': a global bundle may only reference global assets.\n` +
70
- offendingRefs.map((r) => ` - ${r}`).join('\n'));
71
- }
72
- target = { name: rawName, org, type: 'bundle' };
73
- sourceBase = `bundles/@${org}/${rawName}`;
74
- destBase = `bundles/${rawName}`;
75
- manifestFile = 'bundle.json';
76
- versions = [orgBundle.version];
77
- }
78
- const pairs = versions.map((version) => ({
79
- from: `${sourceBase}/${version}`,
80
- manifestFile,
81
- to: `${destBase}/${version}`,
82
- }));
83
- const branchName = buildPromoteBranchName(target);
84
- const prTitle = buildPromotePrTitle(target);
85
- const prBody = buildPromotePrBody(target, versions, pairs);
86
- return {
87
- branchName,
88
- name: target.name,
89
- org,
90
- pairs,
91
- prBody,
92
- prTitle,
93
- removePath: sourceBase,
94
- target,
95
- versions,
96
- };
97
- }
98
- export function buildUnpublishPlan(registry, rawName, org, version) {
99
- let asset = findAsset(registry, rawName, undefined, undefined, org);
100
- // An explicit org names an org-scoped entry: never let findAsset's global
101
- // fallback silently substitute a same-named global asset.
102
- if (asset && org && asset.asset.org !== org) {
103
- asset = undefined;
104
- }
105
- // Bundle identity is (name, org) with exact matching — `@org/name` targets
106
- // only the org bundle, never a same-named global one (and vice versa).
107
- const bundle = asset ? undefined : findBundle(registry, rawName, org);
108
- if (!asset && !bundle) {
109
- const orgSuffix = org ? ` in org '${org}'` : '';
110
- throw new Error(`Asset or bundle '${rawName}'${orgSuffix} not found in the registry.`);
111
- }
112
- let target;
113
- let basePath;
114
- if (asset) {
115
- const resolvedOrg = asset.asset.org;
116
- target = {
117
- assetType: asset.asset.type,
118
- name: rawName,
119
- org: resolvedOrg,
120
- type: 'asset',
121
- };
122
- basePath = resolvedOrg
123
- ? `assets/${asset.asset.type}s/@${resolvedOrg}/${rawName}`
124
- : `assets/${asset.asset.type}s/${rawName}`;
125
- }
126
- else {
127
- target = { name: rawName, ...(org !== undefined ? { org } : {}), type: 'bundle' };
128
- basePath = org ? `bundles/@${org}/${rawName}` : `bundles/${rawName}`;
129
- }
130
- if (version) {
131
- // Validate the version exists so we fail fast instead of opening an empty PR.
132
- if (asset) {
133
- const versions = Object.keys(asset.asset.versions);
134
- if (!versions.includes(version)) {
135
- throw new Error(`Version '${version}' of '${rawName}' not found in the registry.`);
136
- }
137
- }
138
- else if (bundle && bundle.version !== version) {
139
- throw new Error(`Version '${version}' of bundle '${rawName}' not found in the registry.`);
140
- }
141
- }
142
- // Block unpublishing an asset that published bundles depend on. A whole-asset
143
- // removal breaks every referencing bundle; a version-scoped removal only
144
- // breaks bundles whose refs pin that exact version.
145
- if (asset) {
146
- const referencing = findReferencingBundles(registry, rawName, asset.asset.type, target.org, version);
147
- if (referencing.length > 0) {
148
- const scopeLabel = target.org ? `@${target.org}/${rawName}` : rawName;
149
- const versionLabel = version ? ` version '${version}'` : '';
150
- throw new Error(`Cannot unpublish '${scopeLabel}'${versionLabel}: it is referenced by published bundle(s):\n` +
151
- referencing.map((b) => ` - ${b}`).join('\n') +
152
- `\nUnpublishing it would break those bundles. Update or unpublish them first.`);
153
- }
154
- }
155
- const paths = [version ? `${basePath}/${version}` : basePath];
156
- const branchName = buildUnpublishBranchName(target, version);
157
- const prTitle = buildUnpublishPrTitle(target, version);
158
- const prBody = buildUnpublishPrBody(target, version, paths);
159
- return {
160
- branchName,
161
- name: target.name,
162
- ...(target.org !== undefined ? { org: target.org } : {}),
163
- paths,
164
- prBody,
165
- prTitle,
166
- target,
167
- ...(version !== undefined ? { version } : {}),
168
- };
169
- }
170
- export async function executePromote(plan, token, progressCallback) {
171
- const tempDir = join(tmpdir(), `atk-promote-${crypto.randomUUID()}`);
172
- try {
173
- progressCallback('Cloning registry repository...');
174
- await execFileAsync('git', [
175
- '-c',
176
- 'credential.helper=',
177
- 'clone',
178
- '--depth',
179
- '1',
180
- '--branch',
181
- DEFAULT_REGISTRY_BRANCH,
182
- `https://x-access-token:${token}@github.com/${DEFAULT_REGISTRY_REPO}.git`,
183
- tempDir,
184
- ]);
185
- progressCallback('Creating branch...');
186
- await execFileAsync('git', ['-C', tempDir, 'checkout', '-b', plan.branchName]);
187
- progressCallback('Copying versioned files...');
188
- for (const pair of plan.pairs) {
189
- const fromAbs = join(tempDir, pair.from);
190
- const toAbs = join(tempDir, pair.to);
191
- if (!existsSync(fromAbs)) {
192
- throw new Error(`Source path '${pair.from}' does not exist.`);
193
- }
194
- await mkdir(toAbs, { recursive: true });
195
- await copyDirectoryContents(fromAbs, toAbs);
196
- await updateManifestField(toAbs, pair.manifestFile, 'org', undefined);
197
- }
198
- progressCallback('Removing original org path...');
199
- const removeAbs = join(tempDir, plan.removePath);
200
- if (existsSync(removeAbs)) {
201
- await rm(removeAbs, { force: true, recursive: true });
202
- }
203
- return await commitPushAndOpenPr(tempDir, plan.branchName, plan.prTitle, plan.prBody, progressCallback);
204
- }
205
- finally {
206
- await rm(tempDir, { force: true, recursive: true }).catch(() => { });
207
- }
208
- }
209
- export async function executeUnpublish(plan, token, progressCallback) {
210
- const tempDir = join(tmpdir(), `atk-unpublish-${crypto.randomUUID()}`);
211
- try {
212
- progressCallback('Cloning registry repository...');
213
- await execFileAsync('git', [
214
- '-c',
215
- 'credential.helper=',
216
- 'clone',
217
- '--depth',
218
- '1',
219
- '--branch',
220
- DEFAULT_REGISTRY_BRANCH,
221
- `https://x-access-token:${token}@github.com/${DEFAULT_REGISTRY_REPO}.git`,
222
- tempDir,
223
- ]);
224
- progressCallback('Creating branch...');
225
- await execFileAsync('git', ['-C', tempDir, 'checkout', '-b', plan.branchName]);
226
- progressCallback('Removing files...');
227
- for (const relPath of plan.paths) {
228
- const absPath = join(tempDir, relPath);
229
- if (!existsSync(absPath)) {
230
- throw new Error(`Registry path '${relPath}' does not exist.`);
231
- }
232
- await rm(absPath, { force: true, recursive: true });
233
- }
234
- return await commitPushAndOpenPr(tempDir, plan.branchName, plan.prTitle, plan.prBody, progressCallback);
235
- }
236
- finally {
237
- await rm(tempDir, { force: true, recursive: true }).catch(() => { });
238
- }
239
- }
240
1
  /**
241
- * Find published bundles whose refs resolve to a specific asset in its current
242
- * scope, so an asset promote/unpublish can hard-block instead of silently
243
- * breaking them (design §6.6, B4). Returns bundle display names (`@org/name`
244
- * for org bundles, bare `name` for global ones).
2
+ * Registry mutations other than publish — `atk unpublish` and `atk promote` —
3
+ * through the ATK API.
245
4
  *
246
- * A ref resolves to the asset when it explicitly targets the asset's org, or
247
- * when it is unqualified and the bundle's own-org-then-global fallback lands on
248
- * this asset (mirroring `resolveBundleInstallPlan`). When `version` is given,
249
- * only refs pinned to that exact version are considered — a version-scoped
250
- * removal cannot break an unpinned ref, which simply tracks the new latest.
5
+ * The API owns target resolution, every guard (referencing bundles, global
6
+ * twins, bundle scope rules, ambiguous names) and the pull request itself, so
7
+ * the CLI only builds the request, shows the server's plan and asks it to
8
+ * open the PR. registry.json is regenerated by the registry repo's CI from the
9
+ * resulting tree, so neither side touches it here.
251
10
  */
252
- export function findReferencingBundles(registry, name, type, assetOrg, version) {
253
- const names = [];
254
- for (const bundle of registry.bundles ?? []) {
255
- const referenced = (bundle.assets ?? []).some((ref) => {
256
- if (ref.name !== name || ref.type !== type)
257
- return false;
258
- if (version && ref.version !== version)
259
- return false;
260
- if (ref.org != null)
261
- return ref.org === assetOrg;
262
- // Unqualified ref: resolve in the bundle's own org first, then global.
263
- if (assetOrg === bundle.org)
264
- return true;
265
- if (assetOrg === undefined) {
266
- // Global asset: an org bundle's unqualified ref only lands globally when
267
- // no same-named asset shadows it in the bundle's own org.
268
- const shadowed = registry.assets.some((a) => a.name === name && a.type === type && a.org === bundle.org);
269
- return !shadowed;
270
- }
271
- return false;
272
- });
273
- if (referenced) {
274
- names.push(bundle.org ? `@${bundle.org}/${bundle.name}` : bundle.name);
275
- }
276
- }
277
- return names;
278
- }
279
- // ---------------------------------------------------------------------------
280
- // Error mapping (shared with publisher)
281
- // ---------------------------------------------------------------------------
282
- export function mapRegistryMutateError(error) {
283
- const msg = error instanceof Error ? error.message : String(error);
284
- if (msg.includes('already exists') && msg.includes('branch')) {
285
- return 'Branch already exists. A PR may already be open for this change.';
286
- }
287
- if (msg.includes('rejected')) {
288
- return 'Branch already exists on remote. A PR may already be open for this change.';
289
- }
290
- if (msg.includes('Authentication') || msg.includes('auth') || msg.includes('403') || msg.includes('401')) {
291
- return "GitHub authentication failed. Run 'gh auth login' or set GITHUB_TOKEN.";
292
- }
293
- if (msg.includes('ENOENT') || msg.includes('not recognized') || msg.includes('command not found')) {
294
- return 'GitHub CLI (gh) is required. Install it from https://cli.github.com';
295
- }
296
- if (msg.includes('Could not resolve host') || msg.includes('ENOTFOUND') || msg.includes('network')) {
297
- return 'Failed to reach GitHub. Check your internet connection.';
298
- }
299
- if (msg.includes('permission') || msg.includes('denied')) {
300
- return 'Push failed. Check that you have write access to the repository.';
301
- }
302
- return msg;
303
- }
304
- // ---------------------------------------------------------------------------
305
- // Helpers
306
- // ---------------------------------------------------------------------------
307
- function buildPromoteBranchName(target) {
308
- const kind = target.type === 'bundle' ? 'bundle' : target.assetType;
309
- return `promote/${kind}/${target.org}/${target.name}`;
310
- }
311
- function buildPromotePrBody(target, versions, pairs) {
312
- const kind = target.type === 'bundle' ? 'bundle' : target.assetType;
313
- const lines = [
314
- `## Promote ${kind}: ${target.name}`,
315
- '',
316
- `**From:** \`@${target.org}/${target.name}\``,
317
- `**To:** \`${target.name}\` (global)`,
318
- '',
319
- '### Versions',
320
- '',
321
- ];
322
- for (const v of versions) {
323
- lines.push(`- ${v}`);
324
- }
325
- lines.push('', '### Path Moves', '');
326
- for (const pair of pairs) {
327
- lines.push(`- \`${pair.from}/\` → \`${pair.to}/\``);
328
- }
329
- lines.push('', '### Notes', '', '- The `org` field is removed from each manifest.');
330
- lines.push('- The original org-scoped directory is deleted.');
331
- lines.push('- `registry.json` will be regenerated by the registry repo CI on merge.');
332
- lines.push('', '---', '*Submitted via `atk promote`*');
333
- return lines.join('\n');
334
- }
335
- function buildPromotePrTitle(target) {
336
- const kind = target.type === 'bundle' ? 'bundle' : target.assetType;
337
- return `refactor(registry): promote ${kind} ${target.name} from @${target.org} to global`;
338
- }
339
- function buildUnpublishBranchName(target, version) {
340
- const kind = target.type === 'bundle' ? 'bundle' : target.assetType;
341
- const orgSegment = target.org ? `${target.org}/` : '';
342
- const versionSegment = version ? `/${version}` : '';
343
- return `unpublish/${kind}/${orgSegment}${target.name}${versionSegment}`;
11
+ import { errorCodeOf, getApiClient, unwrap } from './api-client.js';
12
+ import { promote as apiPromote, promotePlan as apiPromotePlan, unpublish as apiUnpublish, unpublishPlan as apiUnpublishPlan, } from './api/sdk.gen.js';
13
+ /**
14
+ * Map a `--type` flag (an asset type, or `bundle`) to the request fields that
15
+ * pin the target when a name exists more than once in a scope.
16
+ */
17
+ export function changeTargetFields(type) {
18
+ if (type === undefined)
19
+ return {};
20
+ return type === 'bundle' ? { kind: 'bundle' } : { kind: 'asset', type };
21
+ }
22
+ /** Ask the API to open the promote PR, replacing a leftover branch once if needed. */
23
+ export async function executePromote(request, progressCallback) {
24
+ const client = await getApiClient();
25
+ return openWithBranchRetry((replaceExistingBranch) => apiPromote({ body: withClient(request, replaceExistingBranch), client }), 'promote', progressCallback);
26
+ }
27
+ /** Ask the API to open the unpublish PR, replacing a leftover branch once if needed. */
28
+ export async function executeUnpublish(request, progressCallback) {
29
+ const client = await getApiClient();
30
+ return openWithBranchRetry((replaceExistingBranch) => apiUnpublish({ body: withClient(request, replaceExistingBranch), client }), 'unpublish', progressCallback);
31
+ }
32
+ /** The server's promote plan (the dry run): what the PR would move, without opening it. */
33
+ export async function planPromote(request) {
34
+ const client = await getApiClient();
35
+ return unwrap(await apiPromotePlan({ body: withClient(request), client }), 'promote plan');
36
+ }
37
+ /** The server's unpublish plan (the dry run): what the PR would remove, without opening it. */
38
+ export async function planUnpublish(request) {
39
+ const client = await getApiClient();
40
+ return unwrap(await apiUnpublishPlan({ body: withClient(request), client }), 'unpublish plan');
344
41
  }
345
- function buildUnpublishPrBody(target, version, paths) {
346
- const kind = target.type === 'bundle' ? 'bundle' : target.assetType;
347
- const display = target.org ? `@${target.org}/${target.name}` : target.name;
348
- const suffix = version ? `@${version}` : '';
349
- const lines = [
350
- `## Unpublish ${kind}: ${display}${suffix}`,
351
- '',
352
- version
353
- ? `Removes only version **${version}** from the registry.`
354
- : `Removes **all versions** of this ${kind} from the registry.`,
355
- '',
356
- '### Paths Removed',
357
- '',
358
- ];
359
- for (const p of paths) {
360
- lines.push(`- \`${p}/\``);
42
+ /**
43
+ * Open the PR; when the branch already exists from an earlier attempt, retry
44
+ * once replacing it (the same single retry `executePublish` does).
45
+ */
46
+ async function openWithBranchRetry(send, resource, progressCallback) {
47
+ progressCallback('Opening pull request...');
48
+ let result = await send(false);
49
+ if (result.response?.status === 409 && errorCodeOf(result.error) === 'branch_exists') {
50
+ progressCallback('Replacing existing branch...');
51
+ result = await send(true);
361
52
  }
362
- lines.push('', '### Notes', '', '- `registry.json` will be regenerated by the registry repo CI on merge.');
363
- lines.push('', '---', '*Submitted via `atk unpublish`*');
364
- return lines.join('\n');
365
- }
366
- function buildUnpublishPrTitle(target, version) {
367
- const kind = target.type === 'bundle' ? 'bundle' : target.assetType;
368
- const display = target.org ? `@${target.org}/${target.name}` : target.name;
369
- const suffix = version ? `@${version}` : '';
370
- return `chore(registry): unpublish ${kind} ${display}${suffix}`;
53
+ return unwrap(result, resource);
371
54
  }
372
- async function commitPushAndOpenPr(tempDir, branchName, prTitle, prBody, progressCallback) {
373
- progressCallback('Committing changes...');
374
- await execFileAsync('git', ['-C', tempDir, 'add', '-A']);
375
- await execFileAsync('git', ['-C', tempDir, 'commit', '-m', prTitle]);
376
- progressCallback('Pushing changes...');
377
- await execFileAsync('git', [
378
- '-C',
379
- tempDir,
380
- '-c',
381
- 'credential.helper=',
382
- 'push',
383
- 'origin',
384
- '--delete',
385
- branchName,
386
- ]).catch(() => { });
387
- await execFileAsync('git', ['-C', tempDir, '-c', 'credential.helper=', 'push', 'origin', branchName]);
388
- progressCallback('Creating pull request...');
389
- const { stdout } = await execFileAsync('gh', [
390
- 'pr',
391
- 'create',
392
- '--repo',
393
- DEFAULT_REGISTRY_REPO,
394
- '--base',
395
- DEFAULT_REGISTRY_BRANCH,
396
- '--head',
397
- branchName,
398
- '--title',
399
- prTitle,
400
- '--body',
401
- prBody,
402
- ]);
403
- return {
404
- branchName,
405
- mode: 'pr',
406
- prUrl: stdout.trim(),
407
- };
408
- }
409
- async function copyDirectoryContents(from, to) {
410
- const entries = await readdir(from, { withFileTypes: true });
411
- for (const entry of entries) {
412
- const src = join(from, entry.name);
413
- const dst = join(to, entry.name);
414
- await cp(src, dst, { recursive: true });
415
- }
55
+ function withClient(request, replaceExistingBranch = false) {
56
+ return { ...request, client: 'cli', replaceExistingBranch };
416
57
  }
417
58
  //# sourceMappingURL=registry-mutate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry-mutate.js","sourceRoot":"","sources":["../../src/lib/registry-mutate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry-mutate.js","sourceRoot":"","sources":["../../src/lib/registry-mutate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAUH,OAAO,EAAkB,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,EACL,OAAO,IAAI,UAAU,EACrB,WAAW,IAAI,cAAc,EAC7B,SAAS,IAAI,YAAY,EACzB,aAAa,IAAI,gBAAgB,GAClC,MAAM,kBAAkB,CAAC;AAI1B;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAsC;IAEtC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAClC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC1E,CAAC;AAED,sFAAsF;AACtF,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAuB,EACvB,gBAAuC;IAEvC,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;IACpC,OAAO,mBAAmB,CACxB,CAAC,qBAAqB,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC,EACnG,SAAS,EACT,gBAAgB,CACjB,CAAC;AACJ,CAAC;AAED,wFAAwF;AACxF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAyB,EACzB,gBAAuC;IAEvC,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;IACpC,OAAO,mBAAmB,CACxB,CAAC,qBAAqB,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC,EACrG,WAAW,EACX,gBAAgB,CACjB,CAAC;AACJ,CAAC;AAED,2FAA2F;AAC3F,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAuB;IACvD,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;IACpC,OAAO,MAAM,CAAC,MAAM,cAAc,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC;AAC7F,CAAC;AAED,+FAA+F;AAC/F,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAyB;IAC3D,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;IACpC,OAAO,MAAM,CAAC,MAAM,gBAAgB,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;AACjG,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,mBAAmB,CAChC,IAAoF,EACpF,QAAgB,EAChB,gBAAuC;IAEvC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC;IAC5C,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,MAAM,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,eAAe,EAAE,CAAC;QACrF,gBAAgB,CAAC,8BAA8B,CAAC,CAAC;QACjD,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,UAAU,CAA8C,OAAU,EAAE,qBAAqB,GAAG,KAAK;IACxG,OAAO,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;AAC9D,CAAC"}
@@ -1,8 +1,7 @@
1
1
  /**
2
2
  * Facts about the registry GitHub repository that the CLI still needs after
3
- * the data layer moved to the ATK API: its coordinates (for browsable links
4
- * and the git-based `unpublish`/`promote` commands) and the directory layout
5
- * of an asset version inside it.
3
+ * the data layer moved to the ATK API: its coordinates (for browsable links)
4
+ * and the directory layout of an asset version inside it.
6
5
  */
7
6
  export declare const DEFAULT_REGISTRY_REPO = "EmergentSoftware/agentic-toolkit-registry";
8
7
  export declare const DEFAULT_REGISTRY_BRANCH = "main";
@@ -1 +1 @@
1
- {"version":3,"file":"registry-repo.d.ts","sourceRoot":"","sources":["../../src/lib/registry-repo.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,qBAAqB,8CAA8C,CAAC;AACjF,eAAO,MAAM,uBAAuB,SAAS,CAAC;AAE9C;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAIjH;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAGxF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE3G"}
1
+ {"version":3,"file":"registry-repo.d.ts","sourceRoot":"","sources":["../../src/lib/registry-repo.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,qBAAqB,8CAA8C,CAAC;AACjF,eAAO,MAAM,uBAAuB,SAAS,CAAC;AAE9C;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAIjH;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAGxF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE3G"}
@@ -1,8 +1,7 @@
1
1
  /**
2
2
  * Facts about the registry GitHub repository that the CLI still needs after
3
- * the data layer moved to the ATK API: its coordinates (for browsable links
4
- * and the git-based `unpublish`/`promote` commands) and the directory layout
5
- * of an asset version inside it.
3
+ * the data layer moved to the ATK API: its coordinates (for browsable links)
4
+ * and the directory layout of an asset version inside it.
6
5
  */
7
6
  export const DEFAULT_REGISTRY_REPO = 'EmergentSoftware/agentic-toolkit-registry';
8
7
  export const DEFAULT_REGISTRY_BRANCH = 'main';
@@ -1 +1 @@
1
- {"version":3,"file":"registry-repo.js","sourceRoot":"","sources":["../../src/lib/registry-repo.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,2CAA2C,CAAC;AACjF,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAE9C;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAmD,EAAE,OAAe;IACvG,OAAO,KAAK,CAAC,GAAG;QACd,CAAC,CAAC,UAAU,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,IAAI,OAAO,EAAE;QAChE,CAAC,CAAC,UAAU,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;AACvD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,OAAe,EAAE,GAAY;IAC9E,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC;IACtE,OAAO,sBAAsB,qBAAqB,SAAS,uBAAuB,IAAI,SAAS,IAAI,OAAO,YAAY,CAAC;AACzH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAmD,EAAE,OAAe;IACjG,OAAO,sBAAsB,qBAAqB,SAAS,uBAAuB,IAAI,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC;AACzI,CAAC"}
1
+ {"version":3,"file":"registry-repo.js","sourceRoot":"","sources":["../../src/lib/registry-repo.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,2CAA2C,CAAC;AACjF,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAE9C;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAmD,EAAE,OAAe;IACvG,OAAO,KAAK,CAAC,GAAG;QACd,CAAC,CAAC,UAAU,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,IAAI,OAAO,EAAE;QAChE,CAAC,CAAC,UAAU,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;AACvD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,OAAe,EAAE,GAAY;IAC9E,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC;IACtE,OAAO,sBAAsB,qBAAqB,SAAS,uBAAuB,IAAI,SAAS,IAAI,OAAO,YAAY,CAAC;AACzH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAmD,EAAE,OAAe;IACjG,OAAO,sBAAsB,qBAAqB,SAAS,uBAAuB,IAAI,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC;AACzI,CAAC"}
@@ -2,9 +2,20 @@
2
2
  export declare const DEFAULT_RELEASE_LIMIT = 15;
3
3
  /** Release channel. `latest` = stable; `dev` = pre-release (`-dev.N`, betas, etc.). */
4
4
  export type ReleaseChannel = 'dev' | 'latest';
5
+ /**
6
+ * One release as input to {@link selectReleaseNotes}: the API's `CliRelease`
7
+ * (`version` without the `v`), or anything carrying just a `tag`.
8
+ */
9
+ export interface ReleaseInput {
10
+ body?: null | string;
11
+ prerelease?: boolean;
12
+ publishedAt?: null | string;
13
+ tag?: string;
14
+ version?: string;
15
+ }
5
16
  /** A single published release. */
6
17
  export interface ReleaseNote {
7
- /** Raw markdown body of the GitHub release (changelog). */
18
+ /** Raw markdown body of the release (changelog). */
8
19
  body: string;
9
20
  /** Resolved channel for this release. */
10
21
  channel: ReleaseChannel;
@@ -12,7 +23,7 @@ export interface ReleaseNote {
12
23
  installed: boolean;
13
24
  /** True when this version is newer than the installed CLI version. */
14
25
  newer: boolean;
15
- /** GitHub's `prerelease` flag for the release. */
26
+ /** The release's `prerelease` flag. */
16
27
  prerelease: boolean;
17
28
  /** ISO timestamp the release was published, or null if unknown. */
18
29
  publishedAt: null | string;
@@ -49,15 +60,9 @@ export type ReleaseNotesOutcome = {
49
60
  outcome: 'single';
50
61
  release: ReleaseNote;
51
62
  };
52
- /** Shape of a GitHub Releases API list entry (only the fields we use). */
53
- interface GitHubRelease {
54
- body?: null | string;
55
- prerelease?: boolean;
56
- published_at?: null | string;
57
- tag_name?: string;
58
- }
59
63
  /**
60
- * Fetch GitHub Releases for the CLI repo and return release notes for browsing.
64
+ * Fetch the CLI's releases from the ATK API (`GET /cli/releases`) and return
65
+ * release notes for browsing.
61
66
  *
62
67
  * Without a `version`, returns the release history (newest-first), channel-filtered
63
68
  * and capped at a limit, with each entry flagged for whether it is the installed
@@ -73,7 +78,7 @@ interface GitHubRelease {
73
78
  */
74
79
  export declare function getReleaseNotes(options?: ReleaseNotesOptions, progress?: (message: string) => void): Promise<ReleaseNotesOutcome>;
75
80
  /**
76
- * Pure selection logic: from raw GitHub releases, return valid releases ordered
81
+ * Pure selection logic: from raw releases, return valid releases ordered
77
82
  * newest-first, optionally including pre-releases, with each entry flagged for
78
83
  * whether it is the installed version or newer than it. Exported separately so
79
84
  * channel filtering, version comparison, and flagging are unit-testable without
@@ -81,10 +86,9 @@ export declare function getReleaseNotes(options?: ReleaseNotesOptions, progress?
81
86
  *
82
87
  * - Tags are normalized by stripping a leading `v`; entries that aren't valid
83
88
  * semver are skipped.
84
- * - A release's channel is `dev` when GitHub's `prerelease` flag is set OR the
89
+ * - A release's channel is `dev` when its `prerelease` flag is set OR the
85
90
  * version carries a semver pre-release component; otherwise `latest`.
86
91
  * - When `includePrerelease` is false, `dev` releases are dropped.
87
92
  */
88
- export declare function selectReleaseNotes(raw: GitHubRelease[], currentVersion: string, includePrerelease: boolean): ReleaseNote[];
89
- export {};
93
+ export declare function selectReleaseNotes(raw: ReleaseInput[], currentVersion: string, includePrerelease: boolean): ReleaseNote[];
90
94
  //# sourceMappingURL=release-notes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"release-notes.d.ts","sourceRoot":"","sources":["../../src/lib/release-notes.ts"],"names":[],"mappings":"AAYA,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC,uFAAuF;AACvF,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE9C,kCAAkC;AAClC,MAAM,WAAW,WAAW;IAC1B,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,OAAO,EAAE,cAAc,CAAC;IACxB,yDAAyD;IACzD,SAAS,EAAE,OAAO,CAAC;IACnB,sEAAsE;IACtE,KAAK,EAAE,OAAO,CAAC;IACf,kDAAkD;IAClD,UAAU,EAAE,OAAO,CAAC;IACpB,mEAAmE;IACnE,WAAW,EAAE,IAAI,GAAG,MAAM,CAAC;IAC3B,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,4DAA4D;AAC5D,MAAM,WAAW,mBAAmB;IAClC,uEAAuE;IACvE,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iFAAiF;IACjF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,yCAAyC;AACzC,MAAM,MAAM,mBAAmB,GAC3B;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC1G;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAC5C;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,GAC1E;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAAC;AAExE,0EAA0E;AAC1E,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAUD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,eAAe,CACnC,OAAO,GAAE,mBAAwB,EACjC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GACnC,OAAO,CAAC,mBAAmB,CAAC,CAqC9B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,aAAa,EAAE,EACpB,cAAc,EAAE,MAAM,EACtB,iBAAiB,EAAE,OAAO,GACzB,WAAW,EAAE,CA6Bf"}
1
+ {"version":3,"file":"release-notes.d.ts","sourceRoot":"","sources":["../../src/lib/release-notes.ts"],"names":[],"mappings":"AAYA,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC,uFAAuF;AACvF,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE9C;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,kCAAkC;AAClC,MAAM,WAAW,WAAW;IAC1B,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,OAAO,EAAE,cAAc,CAAC;IACxB,yDAAyD;IACzD,SAAS,EAAE,OAAO,CAAC;IACnB,sEAAsE;IACtE,KAAK,EAAE,OAAO,CAAC;IACf,uCAAuC;IACvC,UAAU,EAAE,OAAO,CAAC;IACpB,mEAAmE;IACnE,WAAW,EAAE,IAAI,GAAG,MAAM,CAAC;IAC3B,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,4DAA4D;AAC5D,MAAM,WAAW,mBAAmB;IAClC,uEAAuE;IACvE,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iFAAiF;IACjF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,yCAAyC;AACzC,MAAM,MAAM,mBAAmB,GAC3B;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC1G;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAC5C;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,GAC1E;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAAC;AAExE;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,eAAe,CACnC,OAAO,GAAE,mBAAwB,EACjC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GACnC,OAAO,CAAC,mBAAmB,CAAC,CA8B9B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,YAAY,EAAE,EACnB,cAAc,EAAE,MAAM,EACtB,iBAAiB,EAAE,OAAO,GACzB,WAAW,EAAE,CA6Bf"}