@kindgi/cli 0.1.8 → 0.1.9-rc.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 (270) hide show
  1. package/README.md +59 -2
  2. package/dist/api-address.d.ts +104 -12
  3. package/dist/api-address.d.ts.map +1 -1
  4. package/dist/api-address.js +169 -30
  5. package/dist/api-address.js.map +1 -1
  6. package/dist/build/host-install.d.ts.map +1 -1
  7. package/dist/build/host-install.js +5 -2
  8. package/dist/build/host-install.js.map +1 -1
  9. package/dist/cli.js +12 -2
  10. package/dist/cli.js.map +1 -1
  11. package/dist/commands/approvals.d.ts.map +1 -1
  12. package/dist/commands/approvals.js +15 -3
  13. package/dist/commands/approvals.js.map +1 -1
  14. package/dist/commands/auth.d.ts.map +1 -1
  15. package/dist/commands/auth.js +27 -0
  16. package/dist/commands/auth.js.map +1 -1
  17. package/dist/commands/build.d.ts +18 -0
  18. package/dist/commands/build.d.ts.map +1 -1
  19. package/dist/commands/build.js +118 -13
  20. package/dist/commands/build.js.map +1 -1
  21. package/dist/commands/conversations.d.ts.map +1 -1
  22. package/dist/commands/conversations.js +13 -3
  23. package/dist/commands/conversations.js.map +1 -1
  24. package/dist/commands/deploy.d.ts.map +1 -1
  25. package/dist/commands/deploy.js +235 -53
  26. package/dist/commands/deploy.js.map +1 -1
  27. package/dist/commands/deployments.d.ts +3 -0
  28. package/dist/commands/deployments.d.ts.map +1 -0
  29. package/dist/commands/deployments.js +196 -0
  30. package/dist/commands/deployments.js.map +1 -0
  31. package/dist/commands/doctor.d.ts +1 -5
  32. package/dist/commands/doctor.d.ts.map +1 -1
  33. package/dist/commands/doctor.js +42 -22
  34. package/dist/commands/doctor.js.map +1 -1
  35. package/dist/commands/egress.d.ts +9 -0
  36. package/dist/commands/egress.d.ts.map +1 -0
  37. package/dist/commands/egress.js +40 -0
  38. package/dist/commands/egress.js.map +1 -0
  39. package/dist/commands/env-scoped.d.ts +5 -0
  40. package/dist/commands/env-scoped.d.ts.map +1 -1
  41. package/dist/commands/env-scoped.js +64 -19
  42. package/dist/commands/env-scoped.js.map +1 -1
  43. package/dist/commands/env.d.ts.map +1 -1
  44. package/dist/commands/env.js +91 -30
  45. package/dist/commands/env.js.map +1 -1
  46. package/dist/commands/environments.d.ts +6 -0
  47. package/dist/commands/environments.d.ts.map +1 -0
  48. package/dist/commands/environments.js +166 -0
  49. package/dist/commands/environments.js.map +1 -0
  50. package/dist/commands/exports.d.ts.map +1 -1
  51. package/dist/commands/exports.js +118 -3
  52. package/dist/commands/exports.js.map +1 -1
  53. package/dist/commands/feedback.d.ts +1 -2
  54. package/dist/commands/feedback.d.ts.map +1 -1
  55. package/dist/commands/feedback.js +55 -24
  56. package/dist/commands/feedback.js.map +1 -1
  57. package/dist/commands/helpers.d.ts +6 -0
  58. package/dist/commands/helpers.d.ts.map +1 -1
  59. package/dist/commands/helpers.js +8 -0
  60. package/dist/commands/helpers.js.map +1 -1
  61. package/dist/commands/index.d.ts.map +1 -1
  62. package/dist/commands/index.js +12 -0
  63. package/dist/commands/index.js.map +1 -1
  64. package/dist/commands/license.d.ts +3 -0
  65. package/dist/commands/license.d.ts.map +1 -1
  66. package/dist/commands/license.js +1 -1
  67. package/dist/commands/license.js.map +1 -1
  68. package/dist/commands/people.d.ts.map +1 -1
  69. package/dist/commands/people.js +105 -10
  70. package/dist/commands/people.js.map +1 -1
  71. package/dist/commands/projects.d.ts.map +1 -1
  72. package/dist/commands/projects.js +133 -11
  73. package/dist/commands/projects.js.map +1 -1
  74. package/dist/commands/promote.d.ts +38 -0
  75. package/dist/commands/promote.d.ts.map +1 -0
  76. package/dist/commands/promote.js +371 -0
  77. package/dist/commands/promote.js.map +1 -0
  78. package/dist/commands/proposals.d.ts.map +1 -1
  79. package/dist/commands/proposals.js +2 -1
  80. package/dist/commands/proposals.js.map +1 -1
  81. package/dist/commands/providers.d.ts.map +1 -1
  82. package/dist/commands/providers.js +29 -5
  83. package/dist/commands/providers.js.map +1 -1
  84. package/dist/commands/schedules.d.ts.map +1 -1
  85. package/dist/commands/schedules.js +30 -2
  86. package/dist/commands/schedules.js.map +1 -1
  87. package/dist/commands/secrets.d.ts.map +1 -1
  88. package/dist/commands/secrets.js +65 -40
  89. package/dist/commands/secrets.js.map +1 -1
  90. package/dist/commands/sign-in.d.ts +3 -0
  91. package/dist/commands/sign-in.d.ts.map +1 -0
  92. package/dist/commands/sign-in.js +61 -0
  93. package/dist/commands/sign-in.js.map +1 -0
  94. package/dist/commands/sites.d.ts +3 -0
  95. package/dist/commands/sites.d.ts.map +1 -0
  96. package/dist/commands/sites.js +244 -0
  97. package/dist/commands/sites.js.map +1 -0
  98. package/dist/commands/tools.d.ts.map +1 -1
  99. package/dist/commands/tools.js +2 -2
  100. package/dist/commands/tools.js.map +1 -1
  101. package/dist/commands/types.d.ts +11 -0
  102. package/dist/commands/types.d.ts.map +1 -1
  103. package/dist/commands/webhooks.d.ts.map +1 -1
  104. package/dist/commands/webhooks.js +38 -2
  105. package/dist/commands/webhooks.js.map +1 -1
  106. package/dist/config.d.ts +13 -0
  107. package/dist/config.d.ts.map +1 -1
  108. package/dist/config.js +20 -7
  109. package/dist/config.js.map +1 -1
  110. package/dist/context.d.ts +38 -2
  111. package/dist/context.d.ts.map +1 -1
  112. package/dist/context.js +12 -1
  113. package/dist/context.js.map +1 -1
  114. package/dist/deploy/defaults.d.ts.map +1 -1
  115. package/dist/deploy/defaults.js +7 -1
  116. package/dist/deploy/defaults.js.map +1 -1
  117. package/dist/deploy/pack-service-text.d.ts +29 -0
  118. package/dist/deploy/pack-service-text.d.ts.map +1 -0
  119. package/dist/deploy/pack-service-text.js +72 -0
  120. package/dist/deploy/pack-service-text.js.map +1 -0
  121. package/dist/deploy/post.d.ts +17 -4
  122. package/dist/deploy/post.d.ts.map +1 -1
  123. package/dist/deploy/post.js +177 -60
  124. package/dist/deploy/post.js.map +1 -1
  125. package/dist/deploy/promotion-path.d.ts +44 -0
  126. package/dist/deploy/promotion-path.d.ts.map +1 -0
  127. package/dist/deploy/promotion-path.js +86 -0
  128. package/dist/deploy/promotion-path.js.map +1 -0
  129. package/dist/deploy/response.d.ts +3 -0
  130. package/dist/deploy/response.d.ts.map +1 -1
  131. package/dist/deploy/response.js +66 -12
  132. package/dist/deploy/response.js.map +1 -1
  133. package/dist/deploy/runners.d.ts +99 -5
  134. package/dist/deploy/runners.d.ts.map +1 -1
  135. package/dist/dev/java-builder.d.ts.map +1 -1
  136. package/dist/dev/java-builder.js +19 -3
  137. package/dist/dev/java-builder.js.map +1 -1
  138. package/dist/dev/python-builder.d.ts.map +1 -1
  139. package/dist/dev/python-builder.js +18 -3
  140. package/dist/dev/python-builder.js.map +1 -1
  141. package/dist/dev/runtime-container.d.ts +28 -3
  142. package/dist/dev/runtime-container.d.ts.map +1 -1
  143. package/dist/dev/runtime-container.js +103 -36
  144. package/dist/dev/runtime-container.js.map +1 -1
  145. package/dist/dev/runtime-image.d.ts +1 -1
  146. package/dist/dev/runtime-image.d.ts.map +1 -1
  147. package/dist/dev/runtime-image.js +1 -1
  148. package/dist/dev/runtime-image.js.map +1 -1
  149. package/dist/dev/scala-builder.d.ts.map +1 -1
  150. package/dist/dev/scala-builder.js +55 -21
  151. package/dist/dev/scala-builder.js.map +1 -1
  152. package/dist/dev/shared-watch.d.ts +30 -0
  153. package/dist/dev/shared-watch.d.ts.map +1 -1
  154. package/dist/dev/shared-watch.js +46 -1
  155. package/dist/dev/shared-watch.js.map +1 -1
  156. package/dist/env/pack-env-hint.d.ts +52 -0
  157. package/dist/env/pack-env-hint.d.ts.map +1 -0
  158. package/dist/env/pack-env-hint.js +57 -0
  159. package/dist/env/pack-env-hint.js.map +1 -0
  160. package/dist/env/pack-env-plan.d.ts +2 -0
  161. package/dist/env/pack-env-plan.d.ts.map +1 -1
  162. package/dist/env/pack-env-plan.js +2 -1
  163. package/dist/env/pack-env-plan.js.map +1 -1
  164. package/dist/env-projects.d.ts +23 -0
  165. package/dist/env-projects.d.ts.map +1 -0
  166. package/dist/env-projects.js +28 -0
  167. package/dist/env-projects.js.map +1 -0
  168. package/dist/exports/create.d.ts +71 -0
  169. package/dist/exports/create.d.ts.map +1 -0
  170. package/dist/exports/create.js +576 -0
  171. package/dist/exports/create.js.map +1 -0
  172. package/dist/exports/plan.d.ts +69 -0
  173. package/dist/exports/plan.d.ts.map +1 -0
  174. package/dist/exports/plan.js +496 -0
  175. package/dist/exports/plan.js.map +1 -0
  176. package/dist/exports/reader.d.ts +48 -0
  177. package/dist/exports/reader.d.ts.map +1 -0
  178. package/dist/exports/reader.js +181 -0
  179. package/dist/exports/reader.js.map +1 -0
  180. package/dist/feedback/entries.d.ts +53 -0
  181. package/dist/feedback/entries.d.ts.map +1 -0
  182. package/dist/feedback/entries.js +173 -0
  183. package/dist/feedback/entries.js.map +1 -0
  184. package/dist/feedback/intake.d.ts +37 -0
  185. package/dist/feedback/intake.d.ts.map +1 -0
  186. package/dist/feedback/intake.js +101 -0
  187. package/dist/feedback/intake.js.map +1 -0
  188. package/dist/feedback/protocol.d.ts +111 -0
  189. package/dist/feedback/protocol.d.ts.map +1 -0
  190. package/dist/feedback/protocol.js +143 -0
  191. package/dist/feedback/protocol.js.map +1 -0
  192. package/dist/feedback/redact.d.ts +34 -0
  193. package/dist/feedback/redact.d.ts.map +1 -0
  194. package/dist/feedback/redact.js +258 -0
  195. package/dist/feedback/redact.js.map +1 -0
  196. package/dist/feedback/report.d.ts +51 -0
  197. package/dist/feedback/report.d.ts.map +1 -0
  198. package/dist/feedback/report.js +122 -0
  199. package/dist/feedback/report.js.map +1 -0
  200. package/dist/feedback/run.d.ts +21 -0
  201. package/dist/feedback/run.d.ts.map +1 -0
  202. package/dist/feedback/run.js +578 -0
  203. package/dist/feedback/run.js.map +1 -0
  204. package/dist/feedback/store.d.ts +24 -0
  205. package/dist/feedback/store.d.ts.map +1 -0
  206. package/dist/feedback/store.js +117 -0
  207. package/dist/feedback/store.js.map +1 -0
  208. package/dist/main.d.ts +6 -0
  209. package/dist/main.d.ts.map +1 -1
  210. package/dist/main.js +86 -5
  211. package/dist/main.js.map +1 -1
  212. package/dist/node-version.d.ts +13 -0
  213. package/dist/node-version.d.ts.map +1 -0
  214. package/dist/node-version.js +37 -0
  215. package/dist/node-version.js.map +1 -0
  216. package/dist/parse.d.ts +8 -2
  217. package/dist/parse.d.ts.map +1 -1
  218. package/dist/parse.js +7 -2
  219. package/dist/parse.js.map +1 -1
  220. package/dist/project-ref.d.ts +44 -0
  221. package/dist/project-ref.d.ts.map +1 -0
  222. package/dist/project-ref.js +69 -0
  223. package/dist/project-ref.js.map +1 -0
  224. package/dist/sdk-skills/kindgi-authoring-agents/SKILL.md +15 -2
  225. package/dist/sdk-skills/kindgi-authoring-flows/SKILL.md +1 -1
  226. package/dist/sdk-skills/kindgi-authoring-guardrails/SKILL.md +44 -7
  227. package/dist/sdk-skills/kindgi-authoring-mcp-servers/SKILL.md +11 -2
  228. package/dist/sdk-skills/kindgi-authoring-providers/SKILL.md +60 -13
  229. package/dist/sdk-skills/kindgi-authoring-tools/SKILL.md +19 -2
  230. package/dist/sdk-skills/kindgi-framework-feedback/SKILL.md +82 -3
  231. package/dist/sdk-skills/kindgi-getting-started/SKILL.md +1 -1
  232. package/dist/sdk-skills/kindgi-java-authoring-agents/SKILL.md +17 -3
  233. package/dist/sdk-skills/kindgi-java-authoring-flows/SKILL.md +1 -1
  234. package/dist/sdk-skills/kindgi-java-authoring-guardrails/SKILL.md +43 -6
  235. package/dist/sdk-skills/kindgi-java-authoring-tools/SKILL.md +19 -2
  236. package/dist/sdk-skills/kindgi-java-getting-started/SKILL.md +1 -1
  237. package/dist/sdk-skills/kindgi-python-authoring-agents/SKILL.md +17 -3
  238. package/dist/sdk-skills/kindgi-python-authoring-flows/SKILL.md +1 -1
  239. package/dist/sdk-skills/kindgi-python-authoring-guardrails/SKILL.md +49 -13
  240. package/dist/sdk-skills/kindgi-python-authoring-tools/SKILL.md +27 -3
  241. package/dist/sdk-skills/kindgi-python-getting-started/SKILL.md +1 -1
  242. package/dist/sdk-skills/kindgi-scala-authoring-agents/SKILL.md +17 -3
  243. package/dist/sdk-skills/kindgi-scala-authoring-flows/SKILL.md +1 -1
  244. package/dist/sdk-skills/kindgi-scala-authoring-guardrails/SKILL.md +43 -6
  245. package/dist/sdk-skills/kindgi-scala-authoring-tools/SKILL.md +19 -2
  246. package/dist/sdk-skills/kindgi-scala-getting-started/SKILL.md +1 -1
  247. package/dist/sdk-skills/kindgi-using/SKILL.md +1 -1
  248. package/dist/slug.d.ts +18 -0
  249. package/dist/slug.d.ts.map +1 -0
  250. package/dist/slug.js +29 -0
  251. package/dist/slug.js.map +1 -0
  252. package/dist/templates/drupal/AGENTS.md +2 -0
  253. package/dist/templates/java/AGENTS.md +2 -0
  254. package/dist/templates/minimal/AGENTS.md +2 -0
  255. package/dist/templates/python/AGENTS.md +2 -0
  256. package/dist/templates/sample/AGENTS.md +2 -0
  257. package/dist/templates/scala/AGENTS.md +2 -0
  258. package/dist/templates/woocommerce/AGENTS.md +11 -4
  259. package/dist/templates/woocommerce/README.md.tmpl +47 -4
  260. package/dist/templates/woocommerce/agents/store-agent/index.test.ts.tmpl +13 -0
  261. package/dist/templates/woocommerce/agents/store-agent/index.ts.tmpl +11 -1
  262. package/dist/templates/woocommerce/tools/publish-product/index.ts.tmpl +7 -1
  263. package/dist/templates/woocommerce/tools/refund/index.ts.tmpl +7 -2
  264. package/dist/templates/woocommerce/tools/refund-large/index.ts.tmpl +8 -2
  265. package/dist/templates/woocommerce/tools/set-price/index.ts.tmpl +6 -0
  266. package/dist/value-target.d.ts +139 -0
  267. package/dist/value-target.d.ts.map +1 -0
  268. package/dist/value-target.js +231 -0
  269. package/dist/value-target.js.map +1 -0
  270. package/package.json +13 -13
@@ -0,0 +1,69 @@
1
+ /**
2
+ * What `kindgi exports create` reads: every kind of record the workspace
3
+ * holds, with the route it's read from, and every other read route with
4
+ * why it isn't one. `tests/exports-plan.test.ts` checks both against
5
+ * `openapi.json`: every `GET` is in exactly one place, so a new read
6
+ * route fails the test until someone classifies it.
7
+ *
8
+ * Each record is written as the route answers it, unchanged, so the API
9
+ * reference documents the files. A top-level kind's file holds one record
10
+ * per line. A child kind's line is `{ "parent": { <path params> }, "item": … }`,
11
+ * so a line never depends on the item carrying its parent's id.
12
+ */
13
+ /** How a route answers. */
14
+ export type Paging =
15
+ /** `limit` + `cursor` in, `{ data, nextCursor, hasMore }` out, read to the last page. */
16
+ 'cursor'
17
+ /** One answer, `{ data }`, holding every record. */
18
+ | 'whole'
19
+ /** One answer, one record. */
20
+ | 'one';
21
+ /** Where a child kind's path parameters come from: each one, the field of the parent's record that fills it. */
22
+ export interface ParentRef {
23
+ /** The parent kind's name; it comes earlier in the plan. */
24
+ readonly kind: string;
25
+ /** Path parameter -> the parent record's field. */
26
+ readonly params: Readonly<Record<string, string>>;
27
+ }
28
+ /** A kind of record, and how it's read. */
29
+ export interface ExportKind {
30
+ /** The file's name: `<name>.jsonl`. */
31
+ readonly name: string;
32
+ /** The read route, as `openapi.json` writes it. */
33
+ readonly route: string;
34
+ readonly paging: Paging;
35
+ /** For a child kind: its parent, read once for each of the parent's records. */
36
+ readonly parent?: ParentRef;
37
+ /** Query parameters sent on every read: what the route leaves out unless asked. */
38
+ readonly query?: Readonly<Record<string, string>>;
39
+ /**
40
+ * Read once for each env name (`GET /v1/environments`) at each scope:
41
+ * the tenant, each org, each project (with `inherit=false` in `query`,
42
+ * so nothing is read twice). A child kind is read at its parent's env
43
+ * and scope.
44
+ */
45
+ readonly envScoped?: true;
46
+ /**
47
+ * The full record is each item's own route (the list holds a summary):
48
+ * the file holds what that route answers.
49
+ */
50
+ readonly item?: {
51
+ readonly route: string;
52
+ readonly params: Readonly<Record<string, string>>;
53
+ };
54
+ /** Each record's bytes, written to `<dir>/<id>`. */
55
+ readonly bytes?: {
56
+ readonly route: string;
57
+ readonly params: Readonly<Record<string, string>>;
58
+ readonly dir: string;
59
+ };
60
+ /** Other read routes that answer these same records (each item's own route), so they're read here. */
61
+ readonly covers?: readonly string[];
62
+ /** Only a tenant admin reads the whole of it; anyone else reads part of it, or is refused. */
63
+ readonly admin?: true;
64
+ }
65
+ /** In order: a parent comes before its children. */
66
+ export declare const EXPORT_PLAN: readonly ExportKind[];
67
+ /** The read routes that aren't exported, each with why. */
68
+ export declare const EXCLUDED: Readonly<Record<string, string>>;
69
+ //# sourceMappingURL=plan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/exports/plan.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AAEH,2BAA2B;AAC3B,MAAM,MAAM,MAAM;AAChB,yFAAyF;AACvF,QAAQ;AACV,oDAAoD;GAClD,OAAO;AACT,8BAA8B;GAC5B,KAAK,CAAC;AAEV,gHAAgH;AAChH,MAAM,WAAW,SAAS;IACxB,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACnD;AAED,2CAA2C;AAC3C,MAAM,WAAW,UAAU;IACzB,uCAAuC;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,gFAAgF;IAChF,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAC5B,mFAAmF;IACnF,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;KAAE,CAAC;IAC9F,oDAAoD;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE;QACf,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAClD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,sGAAsG;IACtG,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,8FAA8F;IAC9F,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;CACvB;AAKD,oDAAoD;AACpD,eAAO,MAAM,WAAW,EAAE,SAAS,UAAU,EAsb5C,CAAC;AAEF,2DAA2D;AAC3D,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAyDrD,CAAC"}
@@ -0,0 +1,496 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ // Copyright (C) 2026 Kindgi Inc.
3
+ const cursor = 'cursor';
4
+ const whole = 'whole';
5
+ /** In order: a parent comes before its children. */
6
+ export const EXPORT_PLAN = [
7
+ // The tenant and who's in it.
8
+ { name: 'tenant', route: '/v1/tenant', paging: 'one' },
9
+ { name: 'orgs', route: '/v1/orgs', paging: cursor, covers: ['/v1/orgs/{orgId}'] },
10
+ { name: 'projects', route: '/v1/projects', paging: cursor, covers: ['/v1/projects/{projectId}'] },
11
+ { name: 'teams', route: '/v1/teams', paging: cursor, covers: ['/v1/teams/{teamId}'] },
12
+ {
13
+ name: 'team-memberships',
14
+ route: '/v1/teams/{teamId}/memberships',
15
+ paging: cursor,
16
+ parent: { kind: 'teams', params: { teamId: 'id' } },
17
+ admin: true,
18
+ },
19
+ {
20
+ name: 'team-project-grants',
21
+ route: '/v1/teams/{teamId}/project-grants',
22
+ paging: cursor,
23
+ parent: { kind: 'teams', params: { teamId: 'id' } },
24
+ admin: true,
25
+ },
26
+ {
27
+ name: 'project-memberships',
28
+ route: '/v1/projects/{projectId}/memberships',
29
+ paging: cursor,
30
+ parent: { kind: 'projects', params: { projectId: 'id' } },
31
+ },
32
+ {
33
+ name: 'sites',
34
+ route: '/v1/projects/{projectId}/sites',
35
+ paging: cursor,
36
+ parent: { kind: 'projects', params: { projectId: 'id' } },
37
+ query: { includeUnregistered: 'true' },
38
+ covers: ['/v1/projects/{projectId}/sites/{siteId}'],
39
+ admin: true,
40
+ },
41
+ {
42
+ name: 'users',
43
+ route: '/v1/identity/users',
44
+ paging: cursor,
45
+ query: { includeUnregistered: 'true', include: 'grants' },
46
+ covers: ['/v1/identity/users/{userId}', '/v1/identity/users/{userId}/grants'],
47
+ admin: true,
48
+ },
49
+ {
50
+ name: 'user-sessions',
51
+ route: '/v1/identity/users/{userId}/sessions',
52
+ paging: whole,
53
+ parent: { kind: 'users', params: { userId: 'userId' } },
54
+ admin: true,
55
+ },
56
+ {
57
+ name: 'user-second-factors',
58
+ route: '/v1/identity/users/{userId}/second-factor',
59
+ paging: 'one',
60
+ parent: { kind: 'users', params: { userId: 'userId' } },
61
+ admin: true,
62
+ },
63
+ {
64
+ name: 'service-accounts',
65
+ route: '/v1/service-accounts',
66
+ paging: cursor,
67
+ query: { includeUnregistered: 'true' },
68
+ covers: ['/v1/service-accounts/{serviceAccountId}'],
69
+ admin: true,
70
+ },
71
+ {
72
+ name: 'api-keys',
73
+ route: '/v1/tokens',
74
+ paging: cursor,
75
+ covers: ['/v1/tokens/{tokenId}'],
76
+ admin: true,
77
+ },
78
+ {
79
+ name: 'signing-keys',
80
+ route: '/v1/signing-keys',
81
+ paging: cursor,
82
+ query: { includeRevoked: 'true' },
83
+ covers: ['/v1/signing-keys/{keyId}'],
84
+ },
85
+ {
86
+ name: 'reviewers',
87
+ route: '/v1/approvals/reviewers',
88
+ paging: cursor,
89
+ covers: ['/v1/approvals/reviewers/{reviewerId}'],
90
+ },
91
+ {
92
+ name: 'identity-providers',
93
+ route: '/v1/auth/providers',
94
+ paging: whole,
95
+ covers: ['/v1/auth/providers/{providerId}'],
96
+ },
97
+ { name: 'sign-in-settings', route: '/v1/auth/settings', paging: 'one', admin: true },
98
+ // Settings.
99
+ { name: 'environments', route: '/v1/environments', paging: cursor, admin: true },
100
+ { name: 'environment-orders', route: '/v1/environment-orders', paging: cursor, admin: true },
101
+ {
102
+ name: 'env',
103
+ route: '/v1/env',
104
+ paging: cursor,
105
+ envScoped: true,
106
+ query: { inherit: 'false' },
107
+ covers: ['/v1/env/{name}'],
108
+ },
109
+ {
110
+ name: 'secrets',
111
+ route: '/v1/secrets',
112
+ paging: cursor,
113
+ envScoped: true,
114
+ query: { inherit: 'false', includeRevoked: 'true' },
115
+ covers: ['/v1/secrets/{name}'],
116
+ },
117
+ {
118
+ name: 'secret-versions',
119
+ route: '/v1/secrets/{name}/versions',
120
+ paging: cursor,
121
+ parent: { kind: 'secrets', params: { name: 'name' } },
122
+ envScoped: true,
123
+ covers: ['/v1/secrets/{name}/versions/{versionId}'],
124
+ },
125
+ { name: 'tenant-config', route: '/v1/tenant/config', paging: cursor },
126
+ // What the packs and the console registered.
127
+ {
128
+ name: 'agents',
129
+ route: '/v1/agents',
130
+ paging: cursor,
131
+ query: { includeRetired: 'true' },
132
+ covers: ['/v1/agents/{agentId}'],
133
+ },
134
+ {
135
+ name: 'agent-versions',
136
+ route: '/v1/agents/{agentId}/versions',
137
+ paging: cursor,
138
+ parent: { kind: 'agents', params: { agentId: 'id' } },
139
+ query: { includeTombstoned: 'true' },
140
+ covers: ['/v1/agents/{agentId}/versions/{version}'],
141
+ },
142
+ {
143
+ name: 'agent-live-versions',
144
+ route: '/v1/agents/{agentId}/live-versions',
145
+ paging: whole,
146
+ parent: { kind: 'agents', params: { agentId: 'id' } },
147
+ },
148
+ {
149
+ name: 'agent-promotions',
150
+ route: '/v1/agents/{agentId}/promotions',
151
+ paging: cursor,
152
+ parent: { kind: 'agents', params: { agentId: 'id' } },
153
+ covers: ['/v1/agents/{agentId}/promotions/{promotionId}'],
154
+ },
155
+ {
156
+ name: 'gate-policies',
157
+ route: '/v1/gate-policies',
158
+ paging: cursor,
159
+ covers: ['/v1/gate-policies/{policyId}'],
160
+ },
161
+ {
162
+ name: 'gate-policy-versions',
163
+ route: '/v1/gate-policies/{policyId}/versions',
164
+ paging: whole,
165
+ parent: { kind: 'gate-policies', params: { policyId: 'id' } },
166
+ covers: ['/v1/gate-policies/{policyId}/versions/{version}'],
167
+ },
168
+ {
169
+ name: 'flows',
170
+ route: '/v1/flows',
171
+ paging: cursor,
172
+ query: { includeRetired: 'true' },
173
+ covers: ['/v1/flows/{flowId}'],
174
+ },
175
+ {
176
+ name: 'flow-versions',
177
+ route: '/v1/flows/{flowId}/versions',
178
+ paging: cursor,
179
+ parent: { kind: 'flows', params: { flowId: 'id' } },
180
+ query: { includeTombstoned: 'true' },
181
+ covers: ['/v1/flows/{flowId}/versions/{version}'],
182
+ },
183
+ {
184
+ name: 'tools',
185
+ route: '/v1/tools',
186
+ paging: cursor,
187
+ query: { includeRetired: 'true' },
188
+ covers: ['/v1/tools/{toolId}'],
189
+ },
190
+ {
191
+ name: 'tool-versions',
192
+ route: '/v1/tools/{toolId}/versions',
193
+ paging: cursor,
194
+ parent: { kind: 'tools', params: { toolId: 'id' } },
195
+ query: { includeTombstoned: 'true' },
196
+ covers: ['/v1/tools/{toolId}/versions/{version}'],
197
+ },
198
+ {
199
+ name: 'guardrails',
200
+ route: '/v1/guardrails',
201
+ paging: cursor,
202
+ covers: ['/v1/guardrails/{guardrailId}'],
203
+ },
204
+ { name: 'blocks', route: '/v1/blocks', paging: cursor, covers: ['/v1/blocks/{blockId}'] },
205
+ {
206
+ name: 'block-versions',
207
+ route: '/v1/blocks/{blockId}/versions',
208
+ paging: cursor,
209
+ parent: { kind: 'blocks', params: { blockId: 'id' } },
210
+ query: { includeTombstoned: 'true' },
211
+ covers: ['/v1/blocks/{blockId}/versions/{version}'],
212
+ },
213
+ { name: 'policies', route: '/v1/policies', paging: cursor, covers: ['/v1/policies/{policyId}'] },
214
+ {
215
+ name: 'policy-versions',
216
+ route: '/v1/policies/{policyId}/versions',
217
+ paging: cursor,
218
+ parent: { kind: 'policies', params: { policyId: 'id' } },
219
+ query: { includeTombstoned: 'true' },
220
+ covers: ['/v1/policies/{policyId}/versions/{version}'],
221
+ },
222
+ {
223
+ name: 'mcp-endpoints',
224
+ route: '/v1/mcp/endpoints',
225
+ paging: cursor,
226
+ covers: ['/v1/mcp/endpoints/{endpointId}'],
227
+ },
228
+ {
229
+ name: 'capabilities',
230
+ route: '/v1/capabilities',
231
+ paging: cursor,
232
+ covers: ['/v1/capabilities/{capabilityId}'],
233
+ },
234
+ {
235
+ name: 'providers',
236
+ route: '/v1/providers',
237
+ paging: cursor,
238
+ covers: ['/v1/providers/{providerId}'],
239
+ },
240
+ {
241
+ name: 'provider-capabilities',
242
+ route: '/v1/providers/{providerId}/capabilities',
243
+ paging: whole,
244
+ parent: { kind: 'providers', params: { providerId: 'id' } },
245
+ },
246
+ {
247
+ name: 'judge-classes',
248
+ route: '/v1/judge-classes',
249
+ paging: cursor,
250
+ covers: ['/v1/judge-classes/{judgeClassId}'],
251
+ },
252
+ {
253
+ name: 'eval-suites',
254
+ route: '/v1/eval-suites',
255
+ paging: cursor,
256
+ query: { includeRetired: 'true' },
257
+ covers: ['/v1/eval-suites/{suiteId}'],
258
+ },
259
+ {
260
+ name: 'eval-suite-versions',
261
+ route: '/v1/eval-suites/{suiteId}/versions',
262
+ paging: cursor,
263
+ parent: { kind: 'eval-suites', params: { suiteId: 'id' } },
264
+ query: { includeTombstoned: 'true' },
265
+ covers: ['/v1/eval-suites/{suiteId}/versions/{version}'],
266
+ },
267
+ {
268
+ name: 'eval-cases',
269
+ route: '/v1/eval-suites/{suiteId}/versions/{version}/cases',
270
+ paging: cursor,
271
+ parent: { kind: 'eval-suite-versions', params: { suiteId: 'id', version: 'version' } },
272
+ },
273
+ {
274
+ name: 'judging-rules',
275
+ route: '/v1/projects/{projectId}/judging-rules',
276
+ paging: cursor,
277
+ parent: { kind: 'projects', params: { projectId: 'id' } },
278
+ covers: ['/v1/projects/{projectId}/judging-rules/{ruleId}'],
279
+ },
280
+ {
281
+ name: 'judging-rule-versions',
282
+ route: '/v1/projects/{projectId}/judging-rules/{ruleId}/versions',
283
+ paging: cursor,
284
+ parent: { kind: 'judging-rules', params: { projectId: 'projectId', ruleId: 'ruleId' } },
285
+ },
286
+ {
287
+ name: 'deployments',
288
+ route: '/v1/deployments',
289
+ paging: cursor,
290
+ covers: ['/v1/deployments/{deploymentId}'],
291
+ },
292
+ {
293
+ name: 'schedules',
294
+ route: '/v1/schedules',
295
+ paging: cursor,
296
+ covers: ['/v1/schedules/{triggerId}'],
297
+ },
298
+ {
299
+ name: 'schedule-fires',
300
+ route: '/v1/schedules/{triggerId}/fires',
301
+ paging: cursor,
302
+ parent: { kind: 'schedules', params: { triggerId: 'triggerId' } },
303
+ },
304
+ { name: 'webhooks', route: '/v1/webhooks', paging: cursor, covers: ['/v1/webhooks/{triggerId}'] },
305
+ {
306
+ name: 'webhook-fires',
307
+ route: '/v1/webhooks/{triggerId}/fires',
308
+ paging: cursor,
309
+ parent: { kind: 'webhooks', params: { triggerId: 'triggerId' } },
310
+ },
311
+ {
312
+ name: 'webhook-endpoints',
313
+ route: '/v1/webhook-endpoints',
314
+ paging: cursor,
315
+ covers: ['/v1/webhook-endpoints/{endpointId}'],
316
+ },
317
+ {
318
+ name: 'webhook-deliveries',
319
+ route: '/v1/webhook-endpoints/{endpointId}/deliveries',
320
+ paging: cursor,
321
+ parent: { kind: 'webhook-endpoints', params: { endpointId: 'endpointId' } },
322
+ },
323
+ // What ran, and what came of it.
324
+ {
325
+ name: 'runs',
326
+ route: '/v1/runs',
327
+ paging: cursor,
328
+ query: { replays: 'include', include: 'output' },
329
+ covers: ['/v1/runs/{runId}'],
330
+ },
331
+ {
332
+ name: 'run-journals',
333
+ route: '/v1/runs/{runId}/journal',
334
+ paging: cursor,
335
+ parent: { kind: 'runs', params: { runId: 'id' } },
336
+ },
337
+ {
338
+ name: 'conversations',
339
+ route: '/v1/conversations',
340
+ paging: cursor,
341
+ query: { replays: 'include' },
342
+ covers: ['/v1/conversations/{conversationId}'],
343
+ },
344
+ {
345
+ name: 'conversation-messages',
346
+ route: '/v1/conversations/{conversationId}/messages',
347
+ paging: cursor,
348
+ parent: { kind: 'conversations', params: { conversationId: 'id' } },
349
+ },
350
+ {
351
+ name: 'approvals',
352
+ route: '/v1/approvals',
353
+ paging: cursor,
354
+ covers: ['/v1/approvals/{approvalId}'],
355
+ admin: true,
356
+ },
357
+ {
358
+ name: 'memory-facts',
359
+ route: '/v1/memory/facts',
360
+ paging: cursor,
361
+ covers: ['/v1/memory/facts/{factId}'],
362
+ admin: true,
363
+ },
364
+ {
365
+ name: 'memory-fact-revisions',
366
+ route: '/v1/memory/facts/{factId}/revisions',
367
+ paging: whole,
368
+ parent: { kind: 'memory-facts', params: { factId: 'id' } },
369
+ },
370
+ {
371
+ name: 'memory-erasures',
372
+ route: '/v1/memory/erasures',
373
+ paging: cursor,
374
+ covers: ['/v1/memory/erasures/{erasureId}'],
375
+ },
376
+ {
377
+ name: 'memory-erasure-ledger',
378
+ route: '/v1/memory/erasures/export',
379
+ paging: whole,
380
+ admin: true,
381
+ },
382
+ {
383
+ name: 'proposals',
384
+ route: '/v1/proposals',
385
+ paging: cursor,
386
+ covers: ['/v1/proposals/{proposalId}'],
387
+ },
388
+ {
389
+ name: 'improvement-passes',
390
+ route: '/v1/improvement-passes',
391
+ paging: cursor,
392
+ covers: ['/v1/improvement-passes/{passId}'],
393
+ },
394
+ {
395
+ name: 'provenance',
396
+ route: '/v1/provenance',
397
+ paging: cursor,
398
+ item: { route: '/v1/provenance/{runId}', params: { runId: 'runId' } },
399
+ },
400
+ {
401
+ name: 'judgments',
402
+ route: '/v1/judgments',
403
+ paging: cursor,
404
+ item: { route: '/v1/judgments/{judgmentId}', params: { judgmentId: 'id' } },
405
+ },
406
+ {
407
+ name: 'judging-queue',
408
+ route: '/v1/projects/{projectId}/judging-queue',
409
+ paging: cursor,
410
+ parent: { kind: 'projects', params: { projectId: 'id' } },
411
+ },
412
+ { name: 'observations', route: '/v1/observations', paging: cursor },
413
+ {
414
+ name: 'eval-runs',
415
+ route: '/v1/eval-runs',
416
+ paging: cursor,
417
+ covers: ['/v1/eval-runs/{runId}'],
418
+ },
419
+ {
420
+ name: 'cost-records',
421
+ route: '/v1/cost/records',
422
+ paging: cursor,
423
+ query: { include: 'rawUsage' },
424
+ covers: ['/v1/cost/records/{recordId}'],
425
+ },
426
+ {
427
+ name: 'compliance-evidence',
428
+ route: '/v1/compliance/evidence',
429
+ paging: cursor,
430
+ covers: ['/v1/compliance/evidence/{evidenceId}'],
431
+ },
432
+ { name: 'sign-ins', route: '/v1/audit/sign-ins', paging: cursor, admin: true },
433
+ { name: 'access-decisions', route: '/v1/audit/authz', paging: cursor },
434
+ {
435
+ name: 'artifacts',
436
+ route: '/v1/artifacts',
437
+ paging: cursor,
438
+ bytes: { route: '/v1/artifacts/{blobId}', params: { blobId: 'blobId' }, dir: 'artifacts' },
439
+ },
440
+ { name: 'export-signing-keys', route: '/v1/export-signing-keys', paging: whole },
441
+ ];
442
+ /** The read routes that aren't exported, each with why. */
443
+ export const EXCLUDED = {
444
+ // The server, not the workspace.
445
+ '/health': 'the server, not the workspace',
446
+ '/v1/openapi.json': 'the server, not the workspace',
447
+ '/v1/license': 'the server, not the workspace',
448
+ '/v1/license/usage': 'the server, not the workspace',
449
+ '/v1/adapters': 'the server, not the workspace: the adapters the deployment wired at boot',
450
+ '/v1/adapters/{adapterId}': 'the server, not the workspace: the adapters the deployment wired at boot',
451
+ '/v1/system/keys': "the server's operator routes",
452
+ '/v1/system/tenants': "the server's operator routes",
453
+ '/v1/system/tenants/{tenantId}': "the server's operator routes",
454
+ '/v1/system/tenants/{tenantId}/admins': "the server's operator routes",
455
+ '/v1/system/tenants/{tenantId}/limits': "the server's operator routes",
456
+ '/v1/system/whoami': "the server's operator routes",
457
+ '/v1/system/deployments': "the server's operator routes",
458
+ '/v1/system/pack-env': "the server's operator routes",
459
+ '/v1/system/tenants/{tenantId}/deployments/{deploymentId}/pack-env': "the server's operator routes",
460
+ // The caller, not the workspace.
461
+ '/v1/identity/whoami': 'the caller, not the workspace',
462
+ '/v1/identity/me/permissions': 'the caller, not the workspace',
463
+ '/v1/identity/me/second-factor': 'the caller, not the workspace',
464
+ '/v1/auth/sign-in-options': 'the caller, not the workspace',
465
+ '/v1/auth/providers/{providerId}/sign-in': 'the caller, not the workspace',
466
+ // Live views of records exported elsewhere.
467
+ '/v1/runs/{runId}/stream': 'a live view of run-journals',
468
+ '/v1/runs/{runId}/progress': 'a live view of runs',
469
+ '/v1/runs/{runId}/progress/stream': 'a live view of runs',
470
+ '/v1/eval-runs/{runId}/events': 'a live view of eval-runs',
471
+ '/v1/secrets/{name}/rotations/{rotationId}/events': 'a live view of a rotation',
472
+ // Computed from records that are exported, not stored.
473
+ '/v1/runs/failures': 'computed from runs',
474
+ '/v1/cost/aggregate': 'computed from cost-records',
475
+ '/v1/agents/{agentId}/live': 'computed from agent-live-versions',
476
+ '/v1/agents/{agentId}/gate-policy': 'computed from gate-policies',
477
+ '/v1/guardrails/{guardrailId}/outcomes': 'computed from runs',
478
+ '/v1/projects/{projectId}/judging-rules/preview': 'computed from judging-rules and runs',
479
+ '/v1/projects/{projectId}/judging-rules/{ruleId}/results': 'computed from judgments',
480
+ '/v1/projects/{projectId}/access': 'computed from project-memberships, team-project-grants, orgs and users',
481
+ '/v1/projects/default': 'one of projects',
482
+ '/v1/projects/{projectId}/team-grants': 'the same records as team-project-grants',
483
+ '/v1/environment-orders/tenant': 'the same records as environment-orders',
484
+ '/v1/environment-orders/orgs/{orgId}': 'the same records as environment-orders',
485
+ '/v1/providers/{providerId}/check': "a live check of a provider's settings",
486
+ '/v1/deployments/{deploymentId}/values': 'computed from deployments, tools, agents, providers, secrets and env values',
487
+ '/v1/retention/scheduled': 'computed from the retention policies and the records',
488
+ '/v1/deployments/{deploymentId}/pack-env': 'computed from deployments, env and secrets',
489
+ // Not listed by any route.
490
+ '/v1/secrets/{name}/rotations/{rotationId}': "read by the id its rotation's request answered; no route lists rotations, and each rotation's versions are in secret-versions",
491
+ // Read live from another server.
492
+ '/v1/mcp/endpoints/{endpointId}/resources': "read live from the MCP endpoint's own server",
493
+ '/v1/mcp/endpoints/{endpointId}/resources/{uri}': "read live from the MCP endpoint's own server",
494
+ '/v1/mcp/endpoints/{endpointId}/prompts': "read live from the MCP endpoint's own server",
495
+ };
496
+ //# sourceMappingURL=plan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/exports/plan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * The reads `kindgi exports create` makes, straight over HTTP: each answer
3
+ * is written as the route gives it, so there's nothing for a typed client
4
+ * to add (as `deploy/post.ts` sends its `POST` itself).
5
+ *
6
+ * - A `429` with a `Retry-After` is waited out and sent again, as the
7
+ * commands that publish do (`rate-limit-wait.ts`).
8
+ * - A `5xx`, or no answer at all, is sent again `SERVER_ERROR_RETRIES`
9
+ * times, after 1s, 2s, then 4s.
10
+ * - Anything else that isn't a `200` is a `ReadError`, with the status and
11
+ * the code the server named.
12
+ */
13
+ import { Readable } from 'node:stream';
14
+ import type { RateLimitWaitContext } from '../rate-limit-wait.js';
15
+ /** How many records a page asks for. */
16
+ export declare const PAGE_SIZE = 100;
17
+ /** How many times a `5xx`, or no answer, is sent again. */
18
+ export declare const SERVER_ERROR_RETRIES = 3;
19
+ /** A read the server refused, or that never got an answer (`status` absent). */
20
+ export declare class ReadError extends Error {
21
+ readonly status?: number | undefined;
22
+ readonly code?: string | undefined;
23
+ constructor(message: string, status?: number | undefined, code?: string | undefined);
24
+ }
25
+ export interface ReaderOptions extends RateLimitWaitContext {
26
+ readonly fetch: typeof fetch;
27
+ readonly apiUrl: string;
28
+ readonly token: string;
29
+ /** The pause before sending a `5xx` again. Default: a timer that Ctrl+C ends. */
30
+ readonly pause?: (ms: number, signal?: AbortSignal) => Promise<void>;
31
+ }
32
+ export type Query = Readonly<Record<string, string>>;
33
+ export interface Reader {
34
+ /** One record. */
35
+ one(path: string, query?: Query): Promise<unknown>;
36
+ /** A list answered whole: `{ data }`. */
37
+ whole(path: string, query?: Query): Promise<readonly unknown[]>;
38
+ /** A list read page by page, to its last page. */
39
+ pages(path: string, query?: Query): AsyncGenerator<unknown>;
40
+ /** A record's bytes. */
41
+ bytes(path: string): Promise<Readable>;
42
+ /** A `POST` with a JSON body; its JSON answer. */
43
+ post(path: string, body: unknown, idempotencyKey: string): Promise<unknown>;
44
+ }
45
+ /** A route with its path parameters filled in, each one encoded. */
46
+ export declare function fillRoute(route: string, values: Readonly<Record<string, string>>): string;
47
+ export declare function createReader(options: ReaderOptions): Reader;
48
+ //# sourceMappingURL=reader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../src/exports/reader.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIvC,OAAO,KAAK,EAAoB,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAEpF,wCAAwC;AACxC,eAAO,MAAM,SAAS,MAAM,CAAC;AAE7B,2DAA2D;AAC3D,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,gFAAgF;AAChF,qBAAa,SAAU,SAAQ,KAAK;IAGhC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM;gBAFtB,OAAO,EAAE,MAAM,EACN,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,IAAI,CAAC,EAAE,MAAM,YAAA;CAKzB;AAED,MAAM,WAAW,aAAc,SAAQ,oBAAoB;IACzD,QAAQ,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,iFAAiF;IACjF,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACtE;AAED,MAAM,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AASrD,MAAM,WAAW,MAAM;IACrB,kBAAkB;IAClB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,yCAAyC;IACzC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC;IAChE,kDAAkD;IAClD,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAC5D,wBAAwB;IACxB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,kDAAkD;IAClD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7E;AAED,oEAAoE;AACpE,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAMzF;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CA4F3D"}