@detergent-software/atk 7.7.0 → 7.8.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 (153) hide show
  1. package/README.md +13 -11
  2. package/build/commands/browse.js +3 -3
  3. package/build/commands/browse.js.map +1 -1
  4. package/build/commands/cache.d.ts +1 -1
  5. package/build/commands/info.d.ts.map +1 -1
  6. package/build/commands/info.js +7 -4
  7. package/build/commands/info.js.map +1 -1
  8. package/build/commands/list.js +1 -1
  9. package/build/commands/list.js.map +1 -1
  10. package/build/commands/publish.d.ts +1 -1
  11. package/build/commands/publish.d.ts.map +1 -1
  12. package/build/commands/publish.js +2 -1
  13. package/build/commands/publish.js.map +1 -1
  14. package/build/commands/reviewer.js +1 -1
  15. package/build/commands/reviewer.js.map +1 -1
  16. package/build/commands/search.js +1 -1
  17. package/build/commands/search.js.map +1 -1
  18. package/build/components/AssetDetail.js +1 -1
  19. package/build/components/AssetDetail.js.map +1 -1
  20. package/build/components/BundleDetail.d.ts +7 -1
  21. package/build/components/BundleDetail.d.ts.map +1 -1
  22. package/build/components/BundleDetail.js +2 -2
  23. package/build/components/BundleDetail.js.map +1 -1
  24. package/build/hooks/useBrowseState.d.ts.map +1 -1
  25. package/build/hooks/useBrowseState.js +8 -1
  26. package/build/hooks/useBrowseState.js.map +1 -1
  27. package/build/hooks/usePublishState.d.ts.map +1 -1
  28. package/build/hooks/usePublishState.js +5 -7
  29. package/build/hooks/usePublishState.js.map +1 -1
  30. package/build/lib/api/client/client.gen.d.ts +3 -0
  31. package/build/lib/api/client/client.gen.d.ts.map +1 -0
  32. package/build/lib/api/client/client.gen.js +217 -0
  33. package/build/lib/api/client/client.gen.js.map +1 -0
  34. package/build/lib/api/client/index.d.ts +11 -0
  35. package/build/lib/api/client/index.d.ts.map +1 -0
  36. package/build/lib/api/client/index.js +7 -0
  37. package/build/lib/api/client/index.js.map +1 -0
  38. package/build/lib/api/client/types.gen.d.ts +121 -0
  39. package/build/lib/api/client/types.gen.d.ts.map +1 -0
  40. package/build/lib/api/client/types.gen.js +3 -0
  41. package/build/lib/api/client/types.gen.js.map +1 -0
  42. package/build/lib/api/client/utils.gen.d.ts +38 -0
  43. package/build/lib/api/client/utils.gen.d.ts.map +1 -0
  44. package/build/lib/api/client/utils.gen.js +229 -0
  45. package/build/lib/api/client/utils.gen.js.map +1 -0
  46. package/build/lib/api/client.gen.d.ts +13 -0
  47. package/build/lib/api/client.gen.d.ts.map +1 -0
  48. package/build/lib/api/client.gen.js +4 -0
  49. package/build/lib/api/client.gen.js.map +1 -0
  50. package/build/lib/api/core/auth.gen.d.ts +26 -0
  51. package/build/lib/api/core/auth.gen.d.ts.map +1 -0
  52. package/build/lib/api/core/auth.gen.js +15 -0
  53. package/build/lib/api/core/auth.gen.js.map +1 -0
  54. package/build/lib/api/core/bodySerializer.gen.d.ts +26 -0
  55. package/build/lib/api/core/bodySerializer.gen.d.ts.map +1 -0
  56. package/build/lib/api/core/bodySerializer.gen.js +58 -0
  57. package/build/lib/api/core/bodySerializer.gen.js.map +1 -0
  58. package/build/lib/api/core/params.gen.d.ts +44 -0
  59. package/build/lib/api/core/params.gen.d.ts.map +1 -0
  60. package/build/lib/api/core/params.gen.js +110 -0
  61. package/build/lib/api/core/params.gen.js.map +1 -0
  62. package/build/lib/api/core/pathSerializer.gen.d.ts +34 -0
  63. package/build/lib/api/core/pathSerializer.gen.d.ts.map +1 -0
  64. package/build/lib/api/core/pathSerializer.gen.js +107 -0
  65. package/build/lib/api/core/pathSerializer.gen.js.map +1 -0
  66. package/build/lib/api/core/queryKeySerializer.gen.d.ts +19 -0
  67. package/build/lib/api/core/queryKeySerializer.gen.d.ts.map +1 -0
  68. package/build/lib/api/core/queryKeySerializer.gen.js +93 -0
  69. package/build/lib/api/core/queryKeySerializer.gen.js.map +1 -0
  70. package/build/lib/api/core/serverSentEvents.gen.d.ts +72 -0
  71. package/build/lib/api/core/serverSentEvents.gen.d.ts.map +1 -0
  72. package/build/lib/api/core/serverSentEvents.gen.js +133 -0
  73. package/build/lib/api/core/serverSentEvents.gen.js.map +1 -0
  74. package/build/lib/api/core/types.gen.d.ts +84 -0
  75. package/build/lib/api/core/types.gen.d.ts.map +1 -0
  76. package/build/lib/api/core/types.gen.js +3 -0
  77. package/build/lib/api/core/types.gen.js.map +1 -0
  78. package/build/lib/api/core/utils.gen.d.ts +20 -0
  79. package/build/lib/api/core/utils.gen.d.ts.map +1 -0
  80. package/build/lib/api/core/utils.gen.js +88 -0
  81. package/build/lib/api/core/utils.gen.js.map +1 -0
  82. package/build/lib/api/index.d.ts +3 -0
  83. package/build/lib/api/index.d.ts.map +1 -0
  84. package/build/lib/api/index.js +3 -0
  85. package/build/lib/api/index.js.map +1 -0
  86. package/build/lib/api/sdk.gen.d.ts +80 -0
  87. package/build/lib/api/sdk.gen.d.ts.map +1 -0
  88. package/build/lib/api/sdk.gen.js +134 -0
  89. package/build/lib/api/sdk.gen.js.map +1 -0
  90. package/build/lib/api/types.gen.d.ts +924 -0
  91. package/build/lib/api/types.gen.d.ts.map +1 -0
  92. package/build/lib/api/types.gen.js +3 -0
  93. package/build/lib/api/types.gen.js.map +1 -0
  94. package/build/lib/api-client.d.ts +91 -0
  95. package/build/lib/api-client.d.ts.map +1 -0
  96. package/build/lib/api-client.js +198 -0
  97. package/build/lib/api-client.js.map +1 -0
  98. package/build/lib/auth.d.ts +6 -2
  99. package/build/lib/auth.d.ts.map +1 -1
  100. package/build/lib/auth.js +18 -10
  101. package/build/lib/auth.js.map +1 -1
  102. package/build/lib/diagnostics.d.ts.map +1 -1
  103. package/build/lib/diagnostics.js +33 -22
  104. package/build/lib/diagnostics.js.map +1 -1
  105. package/build/lib/diff-command.d.ts.map +1 -1
  106. package/build/lib/diff-command.js +14 -12
  107. package/build/lib/diff-command.js.map +1 -1
  108. package/build/lib/fetch-retry.d.ts +7 -3
  109. package/build/lib/fetch-retry.d.ts.map +1 -1
  110. package/build/lib/fetch-retry.js +9 -5
  111. package/build/lib/fetch-retry.js.map +1 -1
  112. package/build/lib/installer.d.ts +0 -2
  113. package/build/lib/installer.d.ts.map +1 -1
  114. package/build/lib/installer.js +30 -29
  115. package/build/lib/installer.js.map +1 -1
  116. package/build/lib/manifest-diff.d.ts +1 -1
  117. package/build/lib/manifest-diff.d.ts.map +1 -1
  118. package/build/lib/manifest-diff.js +3 -3
  119. package/build/lib/manifest-diff.js.map +1 -1
  120. package/build/lib/publisher.d.ts +38 -1
  121. package/build/lib/publisher.d.ts.map +1 -1
  122. package/build/lib/publisher.js +133 -145
  123. package/build/lib/publisher.js.map +1 -1
  124. package/build/lib/registry-mutate.js +1 -1
  125. package/build/lib/registry-mutate.js.map +1 -1
  126. package/build/lib/registry-repo.d.ts +34 -0
  127. package/build/lib/registry-repo.d.ts.map +1 -0
  128. package/build/lib/registry-repo.js +35 -0
  129. package/build/lib/registry-repo.js.map +1 -0
  130. package/build/lib/registry.d.ts +45 -1
  131. package/build/lib/registry.d.ts.map +1 -1
  132. package/build/lib/registry.js +226 -53
  133. package/build/lib/registry.js.map +1 -1
  134. package/build/lib/release-notes.d.ts.map +1 -1
  135. package/build/lib/release-notes.js +27 -1
  136. package/build/lib/release-notes.js.map +1 -1
  137. package/build/lib/reviewers.d.ts +19 -0
  138. package/build/lib/reviewers.d.ts.map +1 -0
  139. package/build/lib/reviewers.js +46 -0
  140. package/build/lib/reviewers.js.map +1 -0
  141. package/build/lib/schemas/config.d.ts +1 -1
  142. package/build/lib/schemas/config.d.ts.map +1 -1
  143. package/build/lib/schemas/config.js +4 -1
  144. package/build/lib/schemas/config.js.map +1 -1
  145. package/build/lib/schemas/lockfile.d.ts +0 -1
  146. package/build/lib/schemas/lockfile.d.ts.map +1 -1
  147. package/build/lib/schemas/lockfile.js +0 -1
  148. package/build/lib/schemas/lockfile.js.map +1 -1
  149. package/package.json +4 -1
  150. package/build/lib/github.d.ts +0 -140
  151. package/build/lib/github.d.ts.map +0 -1
  152. package/build/lib/github.js +0 -230
  153. package/build/lib/github.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"release-notes.js","sourceRoot":"","sources":["../../src/lib/release-notes.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,EAAE,IAAI,QAAQ,EACd,EAAE,IAAI,QAAQ,EACd,UAAU,IAAI,gBAAgB,EAC9B,QAAQ,IAAI,cAAc,EAC1B,KAAK,IAAI,WAAW,GACrB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEzD,8EAA8E;AAC9E,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAkDxC,MAAM,YAAY,GAAG,gCAAgC,gBAAgB,wBAAwB,CAAC;AAE9F;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,UAA+B,EAAE,EACjC,QAAoC;IAEpC,QAAQ,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,MAAM,cAAc,EAAE,CAAC;IAErC,QAAQ,EAAE,CAAC,sBAAsB,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5F,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,GAAG,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAC;IAEvD,8EAA8E;IAC9E,gEAAgE;IAChE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC;QACnE,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;QACvG,OAAO,OAAO;YACZ,CAAC,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE;YAC7D,CAAC,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC;IACzF,CAAC;IAED,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,YAAY,EAAE,CAAC;IACtE,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;IAEpE,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC3D,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,qBAAqB,CAAC,CAAC;IAClF,OAAO;QACL,cAAc,EAAE,WAAW;QAC3B,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO;QAC7B,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;QAC7B,KAAK,EAAE,GAAG,CAAC,MAAM;KAClB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAAoB,EACpB,cAAsB,EACtB,iBAA0B;IAE1B,MAAM,KAAK,GAAkB,EAAE,CAAC;IAEhC,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YACtC,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;QAC7C,MAAM,OAAO,GAAmB,UAAU,IAAI,gBAAgB,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;QAEpG,IAAI,CAAC,iBAAiB,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;YAC5C,SAAS;QACX,CAAC;QAED,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;YACtB,OAAO;YACP,SAAS,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK;YAClF,KAAK,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK;YAC9E,UAAU;YACV,WAAW,EAAE,KAAK,CAAC,YAAY,IAAI,IAAI;YACvC,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,qFAAqF;AACrF,SAAS,YAAY,CAAC,OAAgB;IACpC,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACtE,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"release-notes.js","sourceRoot":"","sources":["../../src/lib/release-notes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Parsing and validation of GitHub usernames used as PR reviewers
3
+ * (`--reviewer`, `atk reviewer`, and the lockfile's `orgReviewers`).
4
+ */
5
+ /**
6
+ * Parse a comma-separated reviewers string (e.g. from `--reviewer` or the `atk reviewer`
7
+ * command) into a deduplicated list of trimmed, non-empty usernames. Dedup is
8
+ * case-insensitive but preserves the first-seen casing.
9
+ */
10
+ export declare function parseReviewersInput(raw: string): string[];
11
+ /**
12
+ * Validate a GitHub username: alphanumeric characters and single hyphens only,
13
+ * no leading/trailing/consecutive hyphens, max 39 characters.
14
+ */
15
+ export declare function validateGithubUsername(username: string): {
16
+ error?: string;
17
+ valid: boolean;
18
+ };
19
+ //# sourceMappingURL=reviewers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reviewers.d.ts","sourceRoot":"","sources":["../../src/lib/reviewers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAkBzD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAiB3F"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Parsing and validation of GitHub usernames used as PR reviewers
3
+ * (`--reviewer`, `atk reviewer`, and the lockfile's `orgReviewers`).
4
+ */
5
+ /**
6
+ * Parse a comma-separated reviewers string (e.g. from `--reviewer` or the `atk reviewer`
7
+ * command) into a deduplicated list of trimmed, non-empty usernames. Dedup is
8
+ * case-insensitive but preserves the first-seen casing.
9
+ */
10
+ export function parseReviewersInput(raw) {
11
+ const seen = new Set();
12
+ const result = [];
13
+ for (const part of raw.split(',')) {
14
+ const trimmed = part.trim();
15
+ if (!trimmed) {
16
+ continue;
17
+ }
18
+ const key = trimmed.toLowerCase();
19
+ if (seen.has(key)) {
20
+ continue;
21
+ }
22
+ seen.add(key);
23
+ result.push(trimmed);
24
+ }
25
+ return result;
26
+ }
27
+ /**
28
+ * Validate a GitHub username: alphanumeric characters and single hyphens only,
29
+ * no leading/trailing/consecutive hyphens, max 39 characters.
30
+ */
31
+ export function validateGithubUsername(username) {
32
+ if (!username) {
33
+ return { error: 'Username cannot be empty', valid: false };
34
+ }
35
+ if (username.length > 39) {
36
+ return { error: `Username '${username}' exceeds GitHub's 39 character limit`, valid: false };
37
+ }
38
+ if (!/^[a-zA-Z\d]+(-[a-zA-Z\d]+)*$/.test(username)) {
39
+ return {
40
+ error: `Invalid GitHub username '${username}': must be alphanumeric characters and single hyphens, and cannot begin or end with a hyphen`,
41
+ valid: false,
42
+ };
43
+ }
44
+ return { valid: true };
45
+ }
46
+ //# sourceMappingURL=reviewers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reviewers.js","sourceRoot":"","sources":["../../src/lib/reviewers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAgB;IACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,KAAK,EAAE,0BAA0B,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC7D,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACzB,OAAO,EAAE,KAAK,EAAE,aAAa,QAAQ,uCAAuC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC/F,CAAC;IAED,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnD,OAAO;YACL,KAAK,EAAE,4BAA4B,QAAQ,8FAA8F;YACzI,KAAK,EAAE,KAAK;SACb,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC"}
@@ -1,11 +1,11 @@
1
1
  import { z } from 'zod';
2
2
  export declare const ConfigSchema: z.ZodObject<{
3
+ apiUrl: z.ZodOptional<z.ZodURL>;
3
4
  cacheDir: z.ZodOptional<z.ZodString>;
4
5
  cacheTtlMinutes: z.ZodOptional<z.ZodNumber>;
5
6
  checkUpdates: z.ZodOptional<z.ZodBoolean>;
6
7
  githubToken: z.ZodOptional<z.ZodString>;
7
8
  org: z.ZodOptional<z.ZodString>;
8
- registryBranch: z.ZodOptional<z.ZodString>;
9
9
  registryUrl: z.ZodOptional<z.ZodString>;
10
10
  }, z.core.$strip>;
11
11
  export type Config = z.infer<typeof ConfigSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/lib/schemas/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,YAAY;;;;;;;;iBAQvB,CAAC;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD,eAAO,MAAM,cAAc,EAAE,MAG5B,CAAC;AAEF,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;iBAYrB,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;kBAYX,CAAC;AACtB,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/lib/schemas/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,YAAY;;;;;;;;iBAWvB,CAAC;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD,eAAO,MAAM,cAAc,EAAE,MAG5B,CAAC;AAEF,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;iBAYrB,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;kBAYX,CAAC;AACtB,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
@@ -1,12 +1,15 @@
1
1
  import { z } from 'zod';
2
2
  import { AssetType } from './manifest.js';
3
3
  export const ConfigSchema = z.object({
4
+ apiUrl: z
5
+ .url()
6
+ .optional()
7
+ .describe('ATK API base URL (defaults to production; ATK_API_URL env var overrides)'),
4
8
  cacheDir: z.string().optional().describe('Override cache directory (defaults to ~/.atk/cache/)'),
5
9
  cacheTtlMinutes: z.number().optional().describe('Cache TTL in minutes for registry data'),
6
10
  checkUpdates: z.boolean().optional().describe('Show banner when a newer ATK version is available'),
7
11
  githubToken: z.string().optional().describe('GitHub token override (defaults to gh auth token)'),
8
12
  org: z.string().optional().describe('Default organization scope for asset resolution'),
9
- registryBranch: z.string().optional().describe('Override registry branch for GitHub API calls (defaults to main)'),
10
13
  registryUrl: z.string().optional().describe('Override registry URL (defaults to GitHub repo)'),
11
14
  });
12
15
  export const DEFAULT_CONFIG = {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/schemas/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;IAChG,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IACzF,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;IAClG,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;IAChG,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;IACtF,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kEAAkE,CAAC;IAClH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;CAC/F,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,cAAc,GAAW;IACpC,eAAe,EAAE,CAAC;IAClB,YAAY,EAAE,IAAI;CACnB,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,YAAY,EAAE,CAAC;SACZ,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACvC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QACvE,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC;KACvC,CAAC,CACH;SACA,QAAQ,EAAE;SACV,QAAQ,CAAC,+EAA+E,CAAC;IAC5F,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;CACnF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;IACtD,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,GAA8B,CAAC;QAE3C,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;YAE9B,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,EAAE,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/schemas/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,MAAM,EAAE,CAAC;SACN,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,QAAQ,CAAC,0EAA0E,CAAC;IACvF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;IAChG,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IACzF,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;IAClG,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;IAChG,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;IACtF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;CAC/F,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,cAAc,GAAW;IACpC,eAAe,EAAE,CAAC;IAClB,YAAY,EAAE,IAAI;CACnB,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,YAAY,EAAE,CAAC;SACZ,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACvC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QACvE,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC;KACvC,CAAC,CACH;SACA,QAAQ,EAAE;SACV,QAAQ,CAAC,+EAA+E,CAAC;IAC5F,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;CACnF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;IACtD,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,GAA8B,CAAC;QAE3C,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;YAE9B,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,EAAE,iBAAiB,CAAC,CAAC"}
@@ -115,7 +115,6 @@ export declare const LockfileSchema: z.ZodObject<{
115
115
  lockVersion: z.ZodLiteral<1>;
116
116
  org: z.ZodOptional<z.ZodString>;
117
117
  orgReviewers: z.ZodOptional<z.ZodArray<z.ZodString>>;
118
- registryBranch: z.ZodOptional<z.ZodString>;
119
118
  registryUrl: z.ZodOptional<z.ZodString>;
120
119
  }, z.core.$strip>;
121
120
  export type Lockfile = z.infer<typeof LockfileSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"lockfile.d.ts","sourceRoot":"","sources":["../../../src/lib/schemas/lockfile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,aAAa;;;;iBAOxB,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D,eAAO,MAAM,WAAW;;;;;iBAUtB,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAsCzB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAUzB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"lockfile.d.ts","sourceRoot":"","sources":["../../../src/lib/schemas/lockfile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,aAAa;;;;iBAOxB,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D,eAAO,MAAM,WAAW;;;;;iBAUtB,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAsCzB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBASzB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
@@ -60,7 +60,6 @@ export const LockfileSchema = z.object({
60
60
  .array(z.string())
61
61
  .optional()
62
62
  .describe('GitHub usernames auto-requested as PR reviewers for org-scoped asset publishes'),
63
- registryBranch: z.string().optional().describe('Override registry branch for GitHub API calls'),
64
63
  registryUrl: z.string().optional().describe('Override registry URL'),
65
64
  });
66
65
  //# sourceMappingURL=lockfile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lockfile.js","sourceRoot":"","sources":["../../../src/lib/schemas/lockfile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lockfile.js","sourceRoot":"","sources":["../../../src/lib/schemas/lockfile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IACtE,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,uGAAuG,CAAC;IACpH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;CAC5E,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;IAC7E,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,yIAAyI,CAC1I;IACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;IAC3E,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;CAClF,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,YAAY,EAAE,CAAC;SACZ,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QAChE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8DAA8D,CAAC;QACnG,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;KAC/D,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CAAC,+CAA+C,CAAC;IAC5D,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;IACvG,YAAY,EAAE,CAAC;SACZ,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAClD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QAC3E,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QACjD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;KACzF,CAAC,CACH;SACA,QAAQ,EAAE;SACV,QAAQ,CAAC,8BAA8B,CAAC;IAC3C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAC7E,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,4HAA4H,CAC7H;IACH,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACpE,aAAa,EAAE,CAAC;SACb,IAAI,CAAC,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;SAC9B,QAAQ,EAAE;SACV,QAAQ,CAAC,gFAAgF,CAAC;IAC7F,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;IACvC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACxE,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;IAC1G,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC;IACtC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;CAClD,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACjF,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IAC9D,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IAC3E,YAAY,EAAE,CAAC;SACZ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,gFAAgF,CAAC;IAC7F,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;CACrE,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@detergent-software/atk",
3
- "version": "7.7.0",
3
+ "version": "7.8.0-dev.2",
4
4
  "description": "Agentic Tool Kit — CLI for managing AI coding tool assets.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -17,8 +17,10 @@
17
17
  "export-schemas": "tsx scripts/export-schemas.ts",
18
18
  "format": "prettier --write \"src/**/*.{ts,tsx}\"",
19
19
  "format:check": "prettier --check \"src/**/*.{ts,tsx}\"",
20
+ "generate-api": "openapi-ts",
20
21
  "lint": "eslint src/",
21
22
  "lint:fix": "eslint src/ --fix --cache",
23
+ "refresh-openapi": "tsx scripts/refresh-openapi.ts",
22
24
  "test": "vitest run",
23
25
  "test:watch": "vitest",
24
26
  "typecheck": "tsc --noEmit"
@@ -56,6 +58,7 @@
56
58
  "@commitlint/cli": "^20.4.2",
57
59
  "@commitlint/config-conventional": "^20.4.2",
58
60
  "@eslint/js": "^9.0.0",
61
+ "@hey-api/openapi-ts": "0.99.0",
59
62
  "@semantic-release/changelog": "^6.0.3",
60
63
  "@semantic-release/git": "^10.0.1",
61
64
  "@testing-library/react": "^16.0.0",
@@ -1,140 +0,0 @@
1
- export declare const DEFAULT_REGISTRY_REPO = "EmergentSoftware/agentic-toolkit-registry";
2
- export declare const DEFAULT_REGISTRY_BRANCH = "main";
3
- /**
4
- * The CLI's own source repository (distinct from the registry repo above).
5
- * Used to fetch GitHub Releases / changelog content for the `release-notes` command.
6
- */
7
- export declare const DEFAULT_CLI_REPO = "EmergentSoftware/agentic-toolkit-cli";
8
- /**
9
- * Determine the effective registry branch based on explicit override.
10
- * The registry repo uses a single-branch model (main only).
11
- */
12
- export declare function getEffectiveBranch(registryBranch?: string): string;
13
- /** GitHub API version used for all API requests. */
14
- export declare const GITHUB_API_VERSION = "2022-11-28";
15
- /** Accept header value for standard JSON responses from GitHub API. */
16
- export declare const GITHUB_ACCEPT_JSON = "application/vnd.github+json";
17
- /** Accept header value for raw file content responses from GitHub API. */
18
- export declare const GITHUB_ACCEPT_RAW = "application/vnd.github.raw+json";
19
- /** Files fetched from the registry for a specific asset version. */
20
- export interface FetchedAssetFiles {
21
- /** The raw JSON string of manifest.json (or bundle.json for bundles). */
22
- manifestContent: string;
23
- /** The manifest file name that was fetched. */
24
- manifestFileName: 'bundle.json' | 'manifest.json';
25
- /** README.md content if it exists; undefined if the asset has no README. */
26
- readmeContent: string | undefined;
27
- }
28
- /** A file entry returned from listing an asset directory on GitHub. */
29
- export interface GitHubFileEntry {
30
- name: string;
31
- path: string;
32
- /** Path relative to the asset version root directory (e.g., "assets/logo.svg"). */
33
- relativePath: string;
34
- }
35
- /**
36
- * Build the repository-relative directory path for an asset's versioned contents
37
- * (e.g. "assets/skills/@my-org/my-skill/1.0.0").
38
- */
39
- export declare function buildAssetVersionDir(asset: {
40
- name: string;
41
- org?: string;
42
- type: string;
43
- }, version: string): string;
44
- /**
45
- * Build a browsable GitHub URL pointing to a bundle's README.md in the registry repo.
46
- *
47
- * Org bundles live under `bundles/@{org}/{name}/{version}`; global bundles under
48
- * `bundles/{name}/{version}`. The stored org is bare — the `@` is display/path
49
- * syntax only.
50
- */
51
- export declare function buildBundleReadmeUrl(name: string, version: string, org?: string): string;
52
- /**
53
- * Build a GitHub Contents API URL for a file or directory in the registry repo.
54
- */
55
- export declare function buildGitHubContentsUrl(path: string, branch?: string): string;
56
- /**
57
- * Build standard GitHub API request headers.
58
- *
59
- * @param token - GitHub authentication token (Bearer)
60
- * @param accept - Accept header value; defaults to GITHUB_ACCEPT_JSON
61
- * @returns HeadersInit with Accept, Authorization, and X-GitHub-Api-Version
62
- */
63
- export declare function buildGitHubHeaders(token: string, accept?: string): HeadersInit;
64
- /**
65
- * Build a browsable GitHub URL pointing to an asset's README.md in the registry repo.
66
- */
67
- export declare function buildReadmeUrl(asset: {
68
- name: string;
69
- org?: string;
70
- type: string;
71
- }, version: string): string;
72
- /**
73
- * Fetch the manifest (or bundle) JSON and optional README.md for an asset
74
- * at a specific version from the registry repository.
75
- *
76
- * @param token - GitHub authentication token
77
- * @param asset - Object with `name`, `type`, and optional `org` identifying the asset
78
- * @param version - Semver version string
79
- * @param branch - Optional branch override
80
- */
81
- export declare function fetchAssetFiles(token: string, asset: {
82
- name: string;
83
- org?: string;
84
- type: string;
85
- }, version: string, branch?: string): Promise<FetchedAssetFiles>;
86
- /**
87
- * Fetch raw file content from the GitHub Contents API as bytes.
88
- *
89
- * This is the only download path safe for binary files (images, spreadsheets,
90
- * archives): decoding through `response.text()` replaces every non-UTF-8 byte
91
- * sequence with U+FFFD and irreversibly corrupts the content.
92
- *
93
- * @param token - GitHub authentication token
94
- * @param path - Repository-relative file path (e.g. "assets/skills/my-skill/1.0.0/logo.png")
95
- * @param branch - Optional branch override; defaults to the registry default branch
96
- */
97
- export declare function fetchBinaryFileContent(token: string, path: string, branch?: string): Promise<Buffer>;
98
- /**
99
- * Fetch raw file content from the GitHub Contents API, decoded as UTF-8 text.
100
- * Only for files known to be text (manifests, READMEs, diff targets) — use
101
- * {@link fetchBinaryFileContent} for anything that may be binary.
102
- *
103
- * @param token - GitHub authentication token
104
- * @param path - Repository-relative file path (e.g. "assets/skills/my-skill/1.0.0/skill.md")
105
- * @param branch - Optional branch override; defaults to the registry default branch
106
- */
107
- export declare function fetchFileContent(token: string, path: string, branch?: string): Promise<string>;
108
- /**
109
- * Return a user-friendly error message for common GitHub API HTTP status codes.
110
- */
111
- export declare function httpErrorMessage(status: number, resource: string): string;
112
- /**
113
- * List installable files in an asset's versioned directory on GitHub.
114
- * Recursively traverses subdirectories. Filters out `manifest.json` and `README.md`.
115
- *
116
- * @param token - GitHub authentication token
117
- * @param asset - Object with `name` and `type` identifying the asset
118
- * @param version - Semver version string
119
- * @param branch - Optional branch override
120
- */
121
- export declare function listAssetDirectoryFiles(token: string, asset: {
122
- name: string;
123
- org?: string;
124
- type: string;
125
- }, version: string, branch?: string): Promise<GitHubFileEntry[]>;
126
- /**
127
- * Parse a comma-separated reviewers string (e.g. from `--reviewer` or the `atk reviewer`
128
- * command) into a deduplicated list of trimmed, non-empty usernames. Dedup is
129
- * case-insensitive but preserves the first-seen casing.
130
- */
131
- export declare function parseReviewersInput(raw: string): string[];
132
- /**
133
- * Validate a GitHub username: alphanumeric characters and single hyphens only,
134
- * no leading/trailing/consecutive hyphens, max 39 characters.
135
- */
136
- export declare function validateGithubUsername(username: string): {
137
- error?: string;
138
- valid: boolean;
139
- };
140
- //# sourceMappingURL=github.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/lib/github.ts"],"names":[],"mappings":"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"}
@@ -1,230 +0,0 @@
1
- import { fetchWithRetry } from './fetch-retry.js';
2
- export const DEFAULT_REGISTRY_REPO = 'EmergentSoftware/agentic-toolkit-registry';
3
- export const DEFAULT_REGISTRY_BRANCH = 'main';
4
- /**
5
- * The CLI's own source repository (distinct from the registry repo above).
6
- * Used to fetch GitHub Releases / changelog content for the `release-notes` command.
7
- */
8
- export const DEFAULT_CLI_REPO = 'EmergentSoftware/agentic-toolkit-cli';
9
- /**
10
- * Determine the effective registry branch based on explicit override.
11
- * The registry repo uses a single-branch model (main only).
12
- */
13
- export function getEffectiveBranch(registryBranch) {
14
- return registryBranch ?? DEFAULT_REGISTRY_BRANCH;
15
- }
16
- /** GitHub API version used for all API requests. */
17
- export const GITHUB_API_VERSION = '2022-11-28';
18
- /** Accept header value for standard JSON responses from GitHub API. */
19
- export const GITHUB_ACCEPT_JSON = 'application/vnd.github+json';
20
- /** Accept header value for raw file content responses from GitHub API. */
21
- export const GITHUB_ACCEPT_RAW = 'application/vnd.github.raw+json';
22
- /**
23
- * Build the repository-relative directory path for an asset's versioned contents
24
- * (e.g. "assets/skills/@my-org/my-skill/1.0.0").
25
- */
26
- export function buildAssetVersionDir(asset, version) {
27
- return asset.org
28
- ? `assets/${asset.type}s/@${asset.org}/${asset.name}/${version}`
29
- : `assets/${asset.type}s/${asset.name}/${version}`;
30
- }
31
- /**
32
- * Build a browsable GitHub URL pointing to a bundle's README.md in the registry repo.
33
- *
34
- * Org bundles live under `bundles/@{org}/{name}/{version}`; global bundles under
35
- * `bundles/{name}/{version}`. The stored org is bare — the `@` is display/path
36
- * syntax only.
37
- */
38
- export function buildBundleReadmeUrl(name, version, org) {
39
- const bundleDir = org ? `bundles/@${org}/${name}` : `bundles/${name}`;
40
- return `https://github.com/${DEFAULT_REGISTRY_REPO}/blob/${DEFAULT_REGISTRY_BRANCH}/${bundleDir}/${version}/README.md`;
41
- }
42
- /**
43
- * Build a GitHub Contents API URL for a file or directory in the registry repo.
44
- */
45
- export function buildGitHubContentsUrl(path, branch) {
46
- const ref = branch ?? DEFAULT_REGISTRY_BRANCH;
47
- return `https://api.github.com/repos/${DEFAULT_REGISTRY_REPO}/contents/${path}?ref=${ref}`;
48
- }
49
- /**
50
- * Build standard GitHub API request headers.
51
- *
52
- * @param token - GitHub authentication token (Bearer)
53
- * @param accept - Accept header value; defaults to GITHUB_ACCEPT_JSON
54
- * @returns HeadersInit with Accept, Authorization, and X-GitHub-Api-Version
55
- */
56
- export function buildGitHubHeaders(token, accept) {
57
- return {
58
- Accept: accept ?? GITHUB_ACCEPT_JSON,
59
- Authorization: `Bearer ${token}`,
60
- 'X-GitHub-Api-Version': GITHUB_API_VERSION,
61
- };
62
- }
63
- /**
64
- * Build a browsable GitHub URL pointing to an asset's README.md in the registry repo.
65
- */
66
- export function buildReadmeUrl(asset, version) {
67
- return `https://github.com/${DEFAULT_REGISTRY_REPO}/blob/${DEFAULT_REGISTRY_BRANCH}/${buildAssetVersionDir(asset, version)}/README.md`;
68
- }
69
- /**
70
- * Fetch the manifest (or bundle) JSON and optional README.md for an asset
71
- * at a specific version from the registry repository.
72
- *
73
- * @param token - GitHub authentication token
74
- * @param asset - Object with `name`, `type`, and optional `org` identifying the asset
75
- * @param version - Semver version string
76
- * @param branch - Optional branch override
77
- */
78
- export async function fetchAssetFiles(token, asset, version, branch) {
79
- const isBundle = asset.type === 'bundle';
80
- const assetDir = isBundle
81
- ? `bundles/${asset.name}/${version}`
82
- : asset.org
83
- ? `assets/${asset.type}s/@${asset.org}/${asset.name}/${version}`
84
- : `assets/${asset.type}s/${asset.name}/${version}`;
85
- const manifestFileName = isBundle ? 'bundle.json' : 'manifest.json';
86
- // Manifest is mandatory — let errors propagate
87
- const manifestContent = await fetchFileContent(token, `${assetDir}/${manifestFileName}`, branch);
88
- // README is optional — swallow 404s
89
- let readmeContent;
90
- try {
91
- readmeContent = await fetchFileContent(token, `${assetDir}/README.md`, branch);
92
- }
93
- catch {
94
- readmeContent = undefined;
95
- }
96
- return { manifestContent, manifestFileName, readmeContent };
97
- }
98
- /**
99
- * Fetch raw file content from the GitHub Contents API as bytes.
100
- *
101
- * This is the only download path safe for binary files (images, spreadsheets,
102
- * archives): decoding through `response.text()` replaces every non-UTF-8 byte
103
- * sequence with U+FFFD and irreversibly corrupts the content.
104
- *
105
- * @param token - GitHub authentication token
106
- * @param path - Repository-relative file path (e.g. "assets/skills/my-skill/1.0.0/logo.png")
107
- * @param branch - Optional branch override; defaults to the registry default branch
108
- */
109
- export async function fetchBinaryFileContent(token, path, branch) {
110
- const url = buildGitHubContentsUrl(path, branch);
111
- const response = await fetchWithRetry(url, {
112
- headers: buildGitHubHeaders(token, GITHUB_ACCEPT_RAW),
113
- });
114
- if (!response.ok) {
115
- throw new Error(httpErrorMessage(response.status, `file ${path}`));
116
- }
117
- return Buffer.from(await response.arrayBuffer());
118
- }
119
- /**
120
- * Fetch raw file content from the GitHub Contents API, decoded as UTF-8 text.
121
- * Only for files known to be text (manifests, READMEs, diff targets) — use
122
- * {@link fetchBinaryFileContent} for anything that may be binary.
123
- *
124
- * @param token - GitHub authentication token
125
- * @param path - Repository-relative file path (e.g. "assets/skills/my-skill/1.0.0/skill.md")
126
- * @param branch - Optional branch override; defaults to the registry default branch
127
- */
128
- export async function fetchFileContent(token, path, branch) {
129
- return (await fetchBinaryFileContent(token, path, branch)).toString('utf-8');
130
- }
131
- /**
132
- * Return a user-friendly error message for common GitHub API HTTP status codes.
133
- */
134
- export function httpErrorMessage(status, resource) {
135
- switch (status) {
136
- case 401:
137
- case 403:
138
- return 'Authentication failed. Check your GitHub token or run `gh auth login`.';
139
- case 404:
140
- return `File not found at ${resource}.`;
141
- case 429:
142
- return 'GitHub API rate limit exceeded. Try again later.';
143
- default:
144
- return `Failed to fetch ${resource}: HTTP ${status}`;
145
- }
146
- }
147
- /** Files to exclude when listing asset directory contents. */
148
- const EXCLUDED_FILES = new Set(['manifest.json', 'README.md']);
149
- /**
150
- * List installable files in an asset's versioned directory on GitHub.
151
- * Recursively traverses subdirectories. Filters out `manifest.json` and `README.md`.
152
- *
153
- * @param token - GitHub authentication token
154
- * @param asset - Object with `name` and `type` identifying the asset
155
- * @param version - Semver version string
156
- * @param branch - Optional branch override
157
- */
158
- export async function listAssetDirectoryFiles(token, asset, version, branch) {
159
- const assetDir = buildAssetVersionDir(asset, version);
160
- return listDirectoryFilesRecursive(token, assetDir, assetDir, branch);
161
- }
162
- /**
163
- * Parse a comma-separated reviewers string (e.g. from `--reviewer` or the `atk reviewer`
164
- * command) into a deduplicated list of trimmed, non-empty usernames. Dedup is
165
- * case-insensitive but preserves the first-seen casing.
166
- */
167
- export function parseReviewersInput(raw) {
168
- const seen = new Set();
169
- const result = [];
170
- for (const part of raw.split(',')) {
171
- const trimmed = part.trim();
172
- if (!trimmed) {
173
- continue;
174
- }
175
- const key = trimmed.toLowerCase();
176
- if (seen.has(key)) {
177
- continue;
178
- }
179
- seen.add(key);
180
- result.push(trimmed);
181
- }
182
- return result;
183
- }
184
- /**
185
- * Validate a GitHub username: alphanumeric characters and single hyphens only,
186
- * no leading/trailing/consecutive hyphens, max 39 characters.
187
- */
188
- export function validateGithubUsername(username) {
189
- if (!username) {
190
- return { error: 'Username cannot be empty', valid: false };
191
- }
192
- if (username.length > 39) {
193
- return { error: `Username '${username}' exceeds GitHub's 39 character limit`, valid: false };
194
- }
195
- if (!/^[a-zA-Z\d]+(-[a-zA-Z\d]+)*$/.test(username)) {
196
- return {
197
- error: `Invalid GitHub username '${username}': must be alphanumeric characters and single hyphens, and cannot begin or end with a hyphen`,
198
- valid: false,
199
- };
200
- }
201
- return { valid: true };
202
- }
203
- /**
204
- * Recursively list all files in a GitHub directory.
205
- * Returns file entries with paths relative to the given root directory.
206
- */
207
- async function listDirectoryFilesRecursive(token, dirPath, rootDir, branch) {
208
- const url = buildGitHubContentsUrl(dirPath, branch);
209
- const response = await fetchWithRetry(url, {
210
- headers: buildGitHubHeaders(token),
211
- });
212
- if (!response.ok) {
213
- throw new Error(httpErrorMessage(response.status, 'asset file list'));
214
- }
215
- const contents = (await response.json());
216
- const entries = [];
217
- for (const item of contents) {
218
- if (item.type === 'dir') {
219
- const nested = await listDirectoryFilesRecursive(token, item.path, rootDir, branch);
220
- entries.push(...nested);
221
- }
222
- else if (item.type === 'file' && !EXCLUDED_FILES.has(item.name)) {
223
- // Compute relative path from asset version root (strip rootDir prefix + slash)
224
- const relativePath = item.path.slice(rootDir.length + 1);
225
- entries.push({ name: item.name, path: item.path, relativePath });
226
- }
227
- }
228
- return entries;
229
- }
230
- //# sourceMappingURL=github.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/lib/github.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,CAAC,MAAM,qBAAqB,GAAG,2CAA2C,CAAC;AACjF,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAE9C;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,sCAAsC,CAAC;AAEvE;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,cAAuB;IACxD,OAAO,cAAc,IAAI,uBAAuB,CAAC;AACnD,CAAC;AAED,oDAAoD;AACpD,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAE/C,uEAAuE;AACvE,MAAM,CAAC,MAAM,kBAAkB,GAAG,6BAA6B,CAAC;AAEhE,0EAA0E;AAC1E,MAAM,CAAC,MAAM,iBAAiB,GAAG,iCAAiC,CAAC;AAoBnE;;;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,sBAAsB,CAAC,IAAY,EAAE,MAAe;IAClE,MAAM,GAAG,GAAG,MAAM,IAAI,uBAAuB,CAAC;IAC9C,OAAO,gCAAgC,qBAAqB,aAAa,IAAI,QAAQ,GAAG,EAAE,CAAC;AAC7F,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAa,EAAE,MAAe;IAC/D,OAAO;QACL,MAAM,EAAE,MAAM,IAAI,kBAAkB;QACpC,aAAa,EAAE,UAAU,KAAK,EAAE;QAChC,sBAAsB,EAAE,kBAAkB;KAC3C,CAAC;AACJ,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;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAa,EACb,KAAmD,EACnD,OAAe,EACf,MAAe;IAEf,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;IAEzC,MAAM,QAAQ,GAAG,QAAQ;QACvB,CAAC,CAAC,WAAW,KAAK,CAAC,IAAI,IAAI,OAAO,EAAE;QACpC,CAAC,CAAC,KAAK,CAAC,GAAG;YACT,CAAC,CAAC,UAAU,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,IAAI,OAAO,EAAE;YAChE,CAAC,CAAC,UAAU,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;IAEvD,MAAM,gBAAgB,GAA0C,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC;IAE3G,+CAA+C;IAC/C,MAAM,eAAe,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,GAAG,QAAQ,IAAI,gBAAgB,EAAE,EAAE,MAAM,CAAC,CAAC;IAEjG,oCAAoC;IACpC,IAAI,aAAiC,CAAC;IACtC,IAAI,CAAC;QACH,aAAa,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,GAAG,QAAQ,YAAY,EAAE,MAAM,CAAC,CAAC;IACjF,CAAC;IAAC,MAAM,CAAC;QACP,aAAa,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;AAC9D,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,KAAa,EAAE,IAAY,EAAE,MAAe;IACvF,MAAM,GAAG,GAAG,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE;QACzC,OAAO,EAAE,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,CAAC;KACtD,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAa,EAAE,IAAY,EAAE,MAAe;IACjF,OAAO,CAAC,MAAM,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC/E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,QAAgB;IAC/D,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,GAAG,CAAC;QACT,KAAK,GAAG;YACN,OAAO,wEAAwE,CAAC;QAClF,KAAK,GAAG;YACN,OAAO,qBAAqB,QAAQ,GAAG,CAAC;QAC1C,KAAK,GAAG;YACN,OAAO,kDAAkD,CAAC;QAC5D;YACE,OAAO,mBAAmB,QAAQ,UAAU,MAAM,EAAE,CAAC;IACzD,CAAC;AACH,CAAC;AAED,8DAA8D;AAC9D,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC;AAE/D;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,KAAa,EACb,KAAmD,EACnD,OAAe,EACf,MAAe;IAEf,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAEtD,OAAO,2BAA2B,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AACxE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAgB;IACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,KAAK,EAAE,0BAA0B,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC7D,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACzB,OAAO,EAAE,KAAK,EAAE,aAAa,QAAQ,uCAAuC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC/F,CAAC;IAED,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnD,OAAO;YACL,KAAK,EAAE,4BAA4B,QAAQ,8FAA8F;YACzI,KAAK,EAAE,KAAK;SACb,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,2BAA2B,CACxC,KAAa,EACb,OAAe,EACf,OAAe,EACf,MAAe;IAEf,MAAM,GAAG,GAAG,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE;QACzC,OAAO,EAAE,kBAAkB,CAAC,KAAK,CAAC;KACnC,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAIrC,CAAC;IAEH,MAAM,OAAO,GAAsB,EAAE,CAAC;IAEtC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACpF,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;QAC1B,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClE,+EAA+E;YAC/E,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}