@nixxie-cms/core 1.0.3 → 1.1.0

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 (202) hide show
  1. package/CHANGES-1.1.md +134 -0
  2. package/context/dist/nixxie-cms-core-context.cjs.js +4 -3
  3. package/context/dist/nixxie-cms-core-context.esm.js +3 -2
  4. package/dist/declarations/src/access.d.ts +2 -2
  5. package/dist/declarations/src/access.d.ts.map +1 -1
  6. package/dist/declarations/src/admin-ui/components/Navigation.d.ts +2 -2
  7. package/dist/declarations/src/admin-ui/components/Navigation.d.ts.map +1 -1
  8. package/dist/declarations/src/admin-ui/context.d.ts +6 -6
  9. package/dist/declarations/src/admin-ui/context.d.ts.map +1 -1
  10. package/dist/declarations/src/admin-ui/utils/Fields.d.ts +3 -3
  11. package/dist/declarations/src/admin-ui/utils/Fields.d.ts.map +1 -1
  12. package/dist/declarations/src/admin-ui/utils/filters.d.ts +5 -5
  13. package/dist/declarations/src/admin-ui/utils/filters.d.ts.map +1 -1
  14. package/dist/declarations/src/admin-ui/utils/useCreateItem.d.ts +3 -3
  15. package/dist/declarations/src/admin-ui/utils/useCreateItem.d.ts.map +1 -1
  16. package/dist/declarations/src/admin-ui/utils/utils.d.ts +2 -2
  17. package/dist/declarations/src/admin-ui/utils/utils.d.ts.map +1 -1
  18. package/dist/declarations/src/context.d.ts +1 -1
  19. package/dist/declarations/src/context.d.ts.map +1 -1
  20. package/dist/declarations/src/fields/types/bigInt/index.d.ts +3 -3
  21. package/dist/declarations/src/fields/types/bigInt/index.d.ts.map +1 -1
  22. package/dist/declarations/src/fields/types/bytes/index.d.ts +3 -3
  23. package/dist/declarations/src/fields/types/bytes/index.d.ts.map +1 -1
  24. package/dist/declarations/src/fields/types/calendarDay/index.d.ts +3 -3
  25. package/dist/declarations/src/fields/types/calendarDay/index.d.ts.map +1 -1
  26. package/dist/declarations/src/fields/types/checkbox/index.d.ts +3 -3
  27. package/dist/declarations/src/fields/types/checkbox/index.d.ts.map +1 -1
  28. package/dist/declarations/src/fields/types/decimal/index.d.ts +3 -3
  29. package/dist/declarations/src/fields/types/decimal/index.d.ts.map +1 -1
  30. package/dist/declarations/src/fields/types/file/index.d.ts +4 -4
  31. package/dist/declarations/src/fields/types/file/index.d.ts.map +1 -1
  32. package/dist/declarations/src/fields/types/float/index.d.ts +3 -3
  33. package/dist/declarations/src/fields/types/float/index.d.ts.map +1 -1
  34. package/dist/declarations/src/fields/types/image/index.d.ts +4 -4
  35. package/dist/declarations/src/fields/types/image/index.d.ts.map +1 -1
  36. package/dist/declarations/src/fields/types/integer/index.d.ts +3 -3
  37. package/dist/declarations/src/fields/types/integer/index.d.ts.map +1 -1
  38. package/dist/declarations/src/fields/types/json/index.d.ts +3 -3
  39. package/dist/declarations/src/fields/types/json/index.d.ts.map +1 -1
  40. package/dist/declarations/src/fields/types/multiselect/index.d.ts +3 -3
  41. package/dist/declarations/src/fields/types/multiselect/index.d.ts.map +1 -1
  42. package/dist/declarations/src/fields/types/multiselect/views/index.d.ts.map +1 -1
  43. package/dist/declarations/src/fields/types/password/index.d.ts +3 -3
  44. package/dist/declarations/src/fields/types/password/index.d.ts.map +1 -1
  45. package/dist/declarations/src/fields/types/relationship/index.d.ts +8 -8
  46. package/dist/declarations/src/fields/types/relationship/index.d.ts.map +1 -1
  47. package/dist/declarations/src/fields/types/relationship/views/ComboboxMany.d.ts +3 -3
  48. package/dist/declarations/src/fields/types/relationship/views/ComboboxMany.d.ts.map +1 -1
  49. package/dist/declarations/src/fields/types/relationship/views/ComboboxSingle.d.ts +3 -3
  50. package/dist/declarations/src/fields/types/relationship/views/ComboboxSingle.d.ts.map +1 -1
  51. package/dist/declarations/src/fields/types/relationship/views/index.d.ts +3 -3
  52. package/dist/declarations/src/fields/types/relationship/views/index.d.ts.map +1 -1
  53. package/dist/declarations/src/fields/types/relationship/views/types.d.ts +3 -3
  54. package/dist/declarations/src/fields/types/relationship/views/types.d.ts.map +1 -1
  55. package/dist/declarations/src/fields/types/select/index.d.ts +3 -3
  56. package/dist/declarations/src/fields/types/select/index.d.ts.map +1 -1
  57. package/dist/declarations/src/fields/types/text/index.d.ts +3 -3
  58. package/dist/declarations/src/fields/types/text/index.d.ts.map +1 -1
  59. package/dist/declarations/src/fields/types/timestamp/index.d.ts +3 -3
  60. package/dist/declarations/src/fields/types/timestamp/index.d.ts.map +1 -1
  61. package/dist/declarations/src/fields/types/virtual/index.d.ts +7 -7
  62. package/dist/declarations/src/fields/types/virtual/index.d.ts.map +1 -1
  63. package/dist/declarations/src/helpers.d.ts +249 -13
  64. package/dist/declarations/src/helpers.d.ts.map +1 -1
  65. package/dist/declarations/src/index.d.ts +9 -4
  66. package/dist/declarations/src/index.d.ts.map +1 -1
  67. package/dist/declarations/src/internal-unstable/admin-ui/pages/ListPage/index.d.ts.map +1 -1
  68. package/dist/declarations/src/lib/admin-meta.d.ts +11 -11
  69. package/dist/declarations/src/lib/admin-meta.d.ts.map +1 -1
  70. package/dist/declarations/src/lib/core/access-control.d.ts +18 -18
  71. package/dist/declarations/src/lib/core/access-control.d.ts.map +1 -1
  72. package/dist/declarations/src/lib/core/cascade.d.ts +47 -0
  73. package/dist/declarations/src/lib/core/cascade.d.ts.map +1 -0
  74. package/dist/declarations/src/lib/core/initialise-lists.d.ts +27 -24
  75. package/dist/declarations/src/lib/core/initialise-lists.d.ts.map +1 -1
  76. package/dist/declarations/src/lib/env.d.ts +9 -0
  77. package/dist/declarations/src/lib/env.d.ts.map +1 -0
  78. package/dist/declarations/src/lib/system.d.ts +1 -1
  79. package/dist/declarations/src/lib/system.d.ts.map +1 -1
  80. package/dist/declarations/src/list-features.d.ts +162 -0
  81. package/dist/declarations/src/list-features.d.ts.map +1 -0
  82. package/dist/declarations/src/schema.d.ts +24 -23
  83. package/dist/declarations/src/schema.d.ts.map +1 -1
  84. package/dist/declarations/src/session.d.ts +75 -0
  85. package/dist/declarations/src/session.d.ts.map +1 -1
  86. package/dist/declarations/src/types/admin-meta.d.ts +11 -11
  87. package/dist/declarations/src/types/admin-meta.d.ts.map +1 -1
  88. package/dist/declarations/src/types/config/access-control.d.ts +42 -42
  89. package/dist/declarations/src/types/config/access-control.d.ts.map +1 -1
  90. package/dist/declarations/src/types/config/fields.d.ts +19 -19
  91. package/dist/declarations/src/types/config/fields.d.ts.map +1 -1
  92. package/dist/declarations/src/types/config/hooks.d.ts +131 -131
  93. package/dist/declarations/src/types/config/hooks.d.ts.map +1 -1
  94. package/dist/declarations/src/types/config/index.d.ts +171 -8
  95. package/dist/declarations/src/types/config/index.d.ts.map +1 -1
  96. package/dist/declarations/src/types/config/lists.d.ts +146 -108
  97. package/dist/declarations/src/types/config/lists.d.ts.map +1 -1
  98. package/dist/declarations/src/types/context.d.ts +349 -47
  99. package/dist/declarations/src/types/context.d.ts.map +1 -1
  100. package/dist/declarations/src/types/next-fields.d.ts +28 -28
  101. package/dist/declarations/src/types/next-fields.d.ts.map +1 -1
  102. package/dist/declarations/src/types/type-info.d.ts +3 -3
  103. package/dist/declarations/src/types/type-info.d.ts.map +1 -1
  104. package/dist/{express-7559ca2d.esm.js → express-0abbce07.esm.js} +6 -6
  105. package/dist/{express-455ae20c.cjs.js → express-7ca6f76a.cjs.js} +6 -6
  106. package/dist/{index-15c8f81e.esm.js → index-5d8b0b4e.esm.js} +363 -183
  107. package/dist/index-6055753b.cjs.js +393 -0
  108. package/dist/{index-42045902.cjs.js → index-ac29f382.cjs.js} +363 -185
  109. package/dist/index-f1703b7b.esm.js +386 -0
  110. package/dist/nixxie-cms-core.cjs.js +1387 -30
  111. package/dist/nixxie-cms-core.esm.js +1361 -24
  112. package/dist/{non-null-graphql-add6bb3d.cjs.js → non-null-graphql-4a44c122.cjs.js} +1 -1
  113. package/dist/{non-null-graphql-a84ed64d.esm.js → non-null-graphql-8c5feaae.esm.js} +1 -1
  114. package/dist/{resolve-hooks-165a9ce2.cjs.js → resolve-hooks-10a5f84c.cjs.js} +240 -6
  115. package/dist/{resolve-hooks-6813a045.esm.js → resolve-hooks-9e676794.esm.js} +238 -7
  116. package/dist/{system-03e49e4f.esm.js → system-4d2a2648.esm.js} +32 -7
  117. package/dist/{system-a321642d.cjs.js → system-69e1a285.cjs.js} +32 -7
  118. package/fields/dist/nixxie-cms-core-fields.cjs.js +29 -576
  119. package/fields/dist/nixxie-cms-core-fields.esm.js +18 -565
  120. package/fields/types/bytes/dist/nixxie-cms-core-fields-types-bytes.cjs.js +4 -2
  121. package/fields/types/bytes/dist/nixxie-cms-core-fields-types-bytes.esm.js +4 -2
  122. package/fields/types/multiselect/views/dist/nixxie-cms-core-fields-types-multiselect-views.cjs.js +1 -6
  123. package/fields/types/multiselect/views/dist/nixxie-cms-core-fields-types-multiselect-views.esm.js +1 -6
  124. package/fields/types/password/dist/nixxie-cms-core-fields-types-password.cjs.js +4 -2
  125. package/fields/types/password/dist/nixxie-cms-core-fields-types-password.esm.js +4 -2
  126. package/internal-unstable/artifacts/dist/nixxie-cms-core-internal-unstable-artifacts.cjs.js +4 -3
  127. package/internal-unstable/artifacts/dist/nixxie-cms-core-internal-unstable-artifacts.esm.js +4 -3
  128. package/package.json +4 -4
  129. package/scripts/cli/dist/nixxie-cms-core-scripts-cli.cjs.js +4 -3
  130. package/scripts/cli/dist/nixxie-cms-core-scripts-cli.esm.js +4 -3
  131. package/scripts/dist/nixxie-cms-core-scripts.cjs.js +4 -3
  132. package/scripts/dist/nixxie-cms-core-scripts.esm.js +4 -3
  133. package/session/dist/nixxie-cms-core-session.cjs.js +286 -0
  134. package/session/dist/nixxie-cms-core-session.esm.js +279 -1
  135. package/src/access.ts +25 -25
  136. package/src/admin-ui/admin-meta-graphql.ts +5 -5
  137. package/src/admin-ui/components/CreateButtonLink.tsx +46 -46
  138. package/src/admin-ui/components/Navigation.tsx +3 -3
  139. package/src/admin-ui/context.tsx +6 -6
  140. package/src/admin-ui/utils/Fields.tsx +241 -241
  141. package/src/admin-ui/utils/actionData.ts +36 -36
  142. package/src/admin-ui/utils/filters.ts +148 -148
  143. package/src/admin-ui/utils/useCreateItem.ts +171 -171
  144. package/src/admin-ui/utils/utils.tsx +127 -127
  145. package/src/context.ts +1 -1
  146. package/src/fields/non-null-graphql.ts +115 -115
  147. package/src/fields/types/bigInt/index.ts +6 -6
  148. package/src/fields/types/bytes/index.ts +6 -6
  149. package/src/fields/types/calendarDay/index.ts +18 -19
  150. package/src/fields/types/checkbox/index.ts +6 -6
  151. package/src/fields/types/decimal/index.ts +6 -6
  152. package/src/fields/types/file/index.ts +8 -8
  153. package/src/fields/types/float/index.ts +6 -6
  154. package/src/fields/types/image/index.ts +8 -8
  155. package/src/fields/types/integer/index.ts +6 -6
  156. package/src/fields/types/json/index.ts +5 -5
  157. package/src/fields/types/multiselect/index.ts +7 -7
  158. package/src/fields/types/multiselect/views/index.tsx +149 -151
  159. package/src/fields/types/password/index.ts +6 -6
  160. package/src/fields/types/relationship/index.ts +13 -13
  161. package/src/fields/types/relationship/views/ComboboxMany.tsx +110 -110
  162. package/src/fields/types/relationship/views/ComboboxSingle.tsx +115 -115
  163. package/src/fields/types/relationship/views/ContextualActions.tsx +139 -139
  164. package/src/fields/types/relationship/views/index.tsx +492 -492
  165. package/src/fields/types/relationship/views/types.ts +46 -46
  166. package/src/fields/types/relationship/views/useApolloQuery.ts +185 -185
  167. package/src/fields/types/relationship/views/useFilter.tsx +109 -109
  168. package/src/fields/types/select/index.ts +6 -6
  169. package/src/fields/types/text/index.ts +6 -6
  170. package/src/fields/types/timestamp/index.ts +23 -21
  171. package/src/fields/types/virtual/index.ts +11 -11
  172. package/src/helpers.ts +773 -42
  173. package/src/index.ts +66 -24
  174. package/src/internal-unstable/admin-ui/pages/ItemPage/common.tsx +4 -4
  175. package/src/internal-unstable/admin-ui/pages/ItemPage/index.tsx +5 -5
  176. package/src/internal-unstable/admin-ui/pages/ListPage/index.tsx +8 -8
  177. package/src/lib/admin-meta.ts +369 -369
  178. package/src/lib/context/createContext.ts +5 -0
  179. package/src/lib/core/access-control.ts +434 -434
  180. package/src/lib/core/cascade.ts +236 -0
  181. package/src/lib/core/initialise-lists.ts +49 -33
  182. package/src/lib/core/mutations/index.ts +7 -0
  183. package/src/lib/core/mutations/nested-mutation-many-input-resolvers.ts +145 -145
  184. package/src/lib/core/mutations/nested-mutation-one-input-resolvers.ts +71 -71
  185. package/src/lib/core/queries/output-field.ts +178 -178
  186. package/src/lib/env.ts +50 -0
  187. package/src/lib/id-field.ts +2 -2
  188. package/src/lib/system.ts +221 -207
  189. package/src/lib/typescript-schema-printer.ts +227 -227
  190. package/src/list-features.ts +476 -0
  191. package/src/schema.ts +91 -22
  192. package/src/session.ts +225 -0
  193. package/src/types/admin-meta.ts +218 -218
  194. package/src/types/config/access-control.ts +186 -186
  195. package/src/types/config/fields.ts +96 -96
  196. package/src/types/config/hooks.ts +529 -529
  197. package/src/types/config/index.ts +185 -7
  198. package/src/types/config/lists.ts +606 -565
  199. package/src/types/context.ts +426 -55
  200. package/src/types/next-fields.ts +31 -31
  201. package/src/types/type-info.ts +38 -38
  202. package/src/types/type-tests.ts +21 -21
@@ -3,7 +3,7 @@ import type { DocumentNode, ExecutionResult, GraphQLSchema } from 'graphql';
3
3
  import type { TypedDocumentNode } from '@graphql-typed-document-node/core';
4
4
  import type { InitialisedList } from "../lib/core/initialise-lists.js";
5
5
  import type { SessionStrategy } from "./session.js";
6
- import type { BaseNixxieTypeInfo, BaseListTypeInfo } from "./type-info.js";
6
+ import type { BaseNixxieTypeInfo, BaseCollectionTypeInfo } from "./type-info.js";
7
7
  import type { MaybePromise } from "./utils.js";
8
8
  export type NixxieEmailRecipient = string | {
9
9
  name?: string;
@@ -84,14 +84,29 @@ export type NixxieEmailService = {
84
84
  /** Gracefully shut down the service and close transport connections. */
85
85
  close(): Promise<void>;
86
86
  };
87
+ /**
88
+ * Optional lifecycle hook for runtime services. When a service object exposes `init`,
89
+ * core calls it once with a sudo context after the database connects — this is how
90
+ * database-backed service stores (audit, versioning, workflow, jobs history, webhook
91
+ * subscriptions) get access to `context.prisma` without a circular boot dependency.
92
+ */
93
+ export type NixxieInitableService = {
94
+ init?(context: NixxieContext): MaybePromise<void>;
95
+ };
87
96
  export type NixxieJobDefinition = {
88
97
  name: string;
89
- /** Cron expression or interval in milliseconds */
90
- schedule: string | number;
98
+ /**
99
+ * Cron expression or interval in milliseconds.
100
+ * Omit when `runAt` is set (one-time job). One of `schedule` or `runAt` is required.
101
+ */
102
+ schedule?: string | number;
103
+ /** Run once at this time instead of on a schedule. Times in the past run immediately. */
104
+ runAt?: Date;
91
105
  /** Handler function invoked on each tick */
92
106
  handler: (ctx: {
93
107
  jobId: string;
94
108
  scheduledAt: Date;
109
+ attempt: number;
95
110
  }) => Promise<void> | void;
96
111
  /** Immediately run the job once on registration */
97
112
  runImmediately?: boolean;
@@ -99,6 +114,10 @@ export type NixxieJobDefinition = {
99
114
  enabled?: boolean;
100
115
  /** Milliseconds before a running job is considered stuck */
101
116
  timeout?: number;
117
+ /** Number of retry attempts after a failed run (0 = no retries) */
118
+ retries?: number;
119
+ /** Base delay in milliseconds between retries (doubles each attempt) */
120
+ retryDelay?: number;
102
121
  };
103
122
  export type NixxieJobStatus = 'idle' | 'running' | 'error' | 'disabled';
104
123
  export type NixxieJobInfo = {
@@ -109,7 +128,7 @@ export type NixxieJobInfo = {
109
128
  nextRun?: Date;
110
129
  runs: number;
111
130
  };
112
- export type NixxieJobsService = {
131
+ export type NixxieJobsService = NixxieInitableService & {
113
132
  /** Register a job definition. Call before start() or at any time for hot-registration. */
114
133
  define(job: NixxieJobDefinition): void;
115
134
  /** Remove a registered job by name. */
@@ -188,7 +207,7 @@ export type NixxieAuditRecord = NixxieAuditEntry & {
188
207
  id: string;
189
208
  timestamp: Date;
190
209
  };
191
- export type NixxieAuditService = {
210
+ export type NixxieAuditService = NixxieInitableService & {
192
211
  /** Log an audit event. */
193
212
  log(entry: NixxieAuditEntry): Promise<NixxieAuditRecord>;
194
213
  /** Query the audit log. */
@@ -228,7 +247,7 @@ export type NixxieWebhookSubscribeOptions = {
228
247
  /** Max delivery retries (default: 3) */
229
248
  retries?: number;
230
249
  };
231
- export type NixxieWebhooksService = {
250
+ export type NixxieWebhooksService = NixxieInitableService & {
232
251
  /** Register a webhook endpoint for an event. Returns the subscription ID. */
233
252
  subscribe(event: string, url: string, options?: NixxieWebhookSubscribeOptions): Promise<NixxieWebhookSubscription>;
234
253
  /** Remove a subscription by ID. */
@@ -470,9 +489,287 @@ export type NixxieAiService = {
470
489
  /** Produce embedding vectors for many strings in one call. */
471
490
  embedMany(texts: string[]): Promise<number[][]>;
472
491
  };
492
+ export type NixxieVersionEntry = {
493
+ /** Collection name (e.g. 'Post') */
494
+ resource: string;
495
+ /** ID of the item this snapshot belongs to */
496
+ resourceId: string;
497
+ /** Snapshot of the item's data at this point in time */
498
+ data: Record<string, unknown>;
499
+ /** Optional human label (e.g. 'before publish') */
500
+ label?: string;
501
+ /** Who created the snapshot */
502
+ actor?: {
503
+ id?: string;
504
+ label?: string;
505
+ };
506
+ /** Arbitrary extra context */
507
+ meta?: Record<string, unknown>;
508
+ };
509
+ export type NixxieVersionRecord = NixxieVersionEntry & {
510
+ id: string;
511
+ /** Monotonically increasing version number, scoped to resource + resourceId (starts at 1). */
512
+ version: number;
513
+ createdAt: Date;
514
+ };
515
+ export type NixxieVersionQuery = {
516
+ take?: number;
517
+ skip?: number;
518
+ };
519
+ export type NixxieVersionDiff = {
520
+ fromVersion: number;
521
+ toVersion: number;
522
+ /** Per-field differences between the two versions. */
523
+ changes: Record<string, {
524
+ from: unknown;
525
+ to: unknown;
526
+ }>;
527
+ };
528
+ /** Content revision history. Implemented by @nixxie-cms/versioning. */
529
+ export type NixxieVersioningService = NixxieInitableService & {
530
+ /** Record a new snapshot of an item's data. Returns the created version record. */
531
+ snapshot(entry: NixxieVersionEntry): Promise<NixxieVersionRecord>;
532
+ /** List versions for an item, newest first. */
533
+ list(resource: string, resourceId: string, query?: NixxieVersionQuery): Promise<NixxieVersionRecord[]>;
534
+ /** Fetch a single version by its ID. */
535
+ get(versionId: string): Promise<NixxieVersionRecord | undefined>;
536
+ /** Get the most recent version for an item. */
537
+ latest(resource: string, resourceId: string): Promise<NixxieVersionRecord | undefined>;
538
+ /**
539
+ * Restore an older version: copies its data into a brand-new snapshot
540
+ * (so history is never lost) and returns that new record. The caller is
541
+ * responsible for writing `record.data` back to the live item.
542
+ */
543
+ restore(versionId: string): Promise<NixxieVersionRecord>;
544
+ /** Compute a field-level diff between two versions of the same item. */
545
+ diff(fromVersionId: string, toVersionId: string): Promise<NixxieVersionDiff>;
546
+ /** Keep only the newest `keep` versions of an item, deleting the rest. Returns the number deleted. */
547
+ prune(resource: string, resourceId: string, keep: number): Promise<number>;
548
+ /** Gracefully shut down (flush pending writes). */
549
+ close(): Promise<void>;
550
+ };
551
+ export type NixxieWorkflowState = string;
552
+ export type NixxieWorkflowTransition = {
553
+ /** The state(s) this transition can start from. */
554
+ from: NixxieWorkflowState | NixxieWorkflowState[];
555
+ /** The state this transition moves to. */
556
+ to: NixxieWorkflowState;
557
+ /** Optional action name (e.g. 'submit', 'approve', 'reject'). */
558
+ name?: string;
559
+ /**
560
+ * Optional guard evaluated before the transition is recorded.
561
+ * Return `false` to block it, or a string to block it with a custom error message.
562
+ */
563
+ when?: (args: {
564
+ resource: string;
565
+ resourceId: string;
566
+ from: NixxieWorkflowState;
567
+ to: NixxieWorkflowState;
568
+ actor?: NixxieWorkflowActor;
569
+ meta?: Record<string, unknown>;
570
+ }) => MaybePromise<boolean | string>;
571
+ };
572
+ export type NixxieWorkflowDefinition = {
573
+ name: string;
574
+ /** State assigned to items that have no recorded state yet. */
575
+ initial: NixxieWorkflowState;
576
+ /** All valid states. */
577
+ states: NixxieWorkflowState[];
578
+ /** Allowed transitions between states. */
579
+ transitions: NixxieWorkflowTransition[];
580
+ };
581
+ export type NixxieWorkflowActor = {
582
+ id?: string;
583
+ label?: string;
584
+ };
585
+ export type NixxieWorkflowTransitionInput = {
586
+ actor?: NixxieWorkflowActor;
587
+ meta?: Record<string, unknown>;
588
+ };
589
+ export type NixxieWorkflowHistoryEntry = {
590
+ id: string;
591
+ resource: string;
592
+ resourceId: string;
593
+ /** Previous state, or null for the first transition. */
594
+ from: NixxieWorkflowState | null;
595
+ to: NixxieWorkflowState;
596
+ actor?: NixxieWorkflowActor;
597
+ meta?: Record<string, unknown>;
598
+ at: Date;
599
+ };
600
+ /** Editorial state machine (draft → review → published, etc). Implemented by @nixxie-cms/workflow. */
601
+ export type NixxieWorkflowService = NixxieInitableService & {
602
+ /** The workflow definition this service enforces. */
603
+ definition(): NixxieWorkflowDefinition;
604
+ /** Current state of an item (returns the initial state if none recorded). */
605
+ getState(resource: string, resourceId: string): Promise<NixxieWorkflowState>;
606
+ /**
607
+ * Move an item to `to`, enforcing that a transition from its current state is allowed.
608
+ * Throws if the transition is not permitted.
609
+ */
610
+ transition(resource: string, resourceId: string, to: NixxieWorkflowState, input?: NixxieWorkflowTransitionInput): Promise<NixxieWorkflowHistoryEntry>;
611
+ /** Force a state without checking transition rules (e.g. migrations / admin override). */
612
+ setState(resource: string, resourceId: string, to: NixxieWorkflowState, input?: NixxieWorkflowTransitionInput): Promise<NixxieWorkflowHistoryEntry>;
613
+ /** Whether a direct transition from `from` to `to` is allowed. */
614
+ can(from: NixxieWorkflowState, to: NixxieWorkflowState): boolean;
615
+ /** States reachable from `from` in a single transition. */
616
+ available(from: NixxieWorkflowState): NixxieWorkflowState[];
617
+ /** Transition history for an item, newest first. */
618
+ history(resource: string, resourceId: string, take?: number): Promise<NixxieWorkflowHistoryEntry[]>;
619
+ /** Gracefully shut down (flush pending writes). */
620
+ close(): Promise<void>;
621
+ };
622
+ export type NixxieApiKeyIssueOptions = {
623
+ /** Human-friendly name for the key. */
624
+ name: string;
625
+ /** Permission scopes granted to the key. */
626
+ scopes?: string[];
627
+ /** Optional expiry. Omit for a non-expiring key. */
628
+ expiresAt?: Date;
629
+ /** Arbitrary extra context. */
630
+ meta?: Record<string, unknown>;
631
+ };
632
+ export type NixxieApiKeyRecord = {
633
+ id: string;
634
+ name: string;
635
+ scopes: string[];
636
+ /** Short, non-secret prefix used to identify the key in UIs and logs. */
637
+ prefix: string;
638
+ createdAt: Date;
639
+ expiresAt?: Date;
640
+ lastUsedAt?: Date;
641
+ revokedAt?: Date;
642
+ meta?: Record<string, unknown>;
643
+ };
644
+ export type NixxieApiKeyIssued = {
645
+ record: NixxieApiKeyRecord;
646
+ /** The full plaintext key. Shown ONCE at issue time — only its hash is stored. */
647
+ key: string;
648
+ };
649
+ export type NixxieApiKeyVerifyResult = {
650
+ valid: true;
651
+ record: NixxieApiKeyRecord;
652
+ } | {
653
+ valid: false;
654
+ reason: 'not-found' | 'revoked' | 'expired' | 'missing-scope';
655
+ };
656
+ /** Scoped, revocable machine-to-machine access tokens. Implemented by @nixxie-cms/api-keys. */
657
+ export type NixxieApiKeysService = {
658
+ /** Issue a new key. The plaintext value is returned once and never stored. */
659
+ issue(options: NixxieApiKeyIssueOptions): Promise<NixxieApiKeyIssued>;
660
+ /** Verify a plaintext key, checking revocation and expiry. Updates `lastUsedAt` on success. */
661
+ verify(key: string): Promise<NixxieApiKeyVerifyResult>;
662
+ /** Verify a key and require that it holds every one of `scopes`. */
663
+ authorize(key: string, scopes: string[]): Promise<NixxieApiKeyVerifyResult>;
664
+ /** Revoke a key by ID. */
665
+ revoke(id: string): Promise<void>;
666
+ /** List all key records (never includes the plaintext key). */
667
+ list(): Promise<NixxieApiKeyRecord[]>;
668
+ /** Fetch a single key record by ID. */
669
+ get(id: string): Promise<NixxieApiKeyRecord | undefined>;
670
+ /** Gracefully shut down (flush pending writes). */
671
+ close(): Promise<void>;
672
+ };
673
+ export type NixxieLogLevel = 'debug' | 'info' | 'warn' | 'error' | 'fatal';
674
+ export type NixxieLogFields = Record<string, unknown>;
675
+ export type NixxieLogRecord = {
676
+ level: NixxieLogLevel;
677
+ message: string;
678
+ /** ISO-8601 timestamp. */
679
+ time: string;
680
+ /** Bound + per-call structured fields merged together. */
681
+ fields: NixxieLogFields;
682
+ };
683
+ /** Receives every emitted log record (e.g. console JSON, a file, an external sink). */
684
+ export type NixxieLogSink = (record: NixxieLogRecord) => void;
685
+ /** Structured, level-aware logging with bound child loggers. Implemented by @nixxie-cms/logger. */
686
+ export type NixxieLoggerService = {
687
+ debug(message: string, fields?: NixxieLogFields): void;
688
+ info(message: string, fields?: NixxieLogFields): void;
689
+ warn(message: string, fields?: NixxieLogFields): void;
690
+ error(message: string, fields?: NixxieLogFields): void;
691
+ fatal(message: string, fields?: NixxieLogFields): void;
692
+ /** Emit at an explicit level. */
693
+ log(level: NixxieLogLevel, message: string, fields?: NixxieLogFields): void;
694
+ /**
695
+ * Create a child logger that always includes the given bound fields
696
+ * (e.g. `{ requestId }`). Children inherit the parent's level and sinks.
697
+ */
698
+ child(bindings: NixxieLogFields): NixxieLoggerService;
699
+ /** The current minimum level; records below it are dropped. */
700
+ readonly level: NixxieLogLevel;
701
+ };
702
+ export type NixxieBackupFormat = 'json' | 'ndjson';
703
+ export type NixxieBackupCollection = {
704
+ collection: string;
705
+ items: Record<string, unknown>[];
706
+ };
707
+ export type NixxieBackupArchive = {
708
+ version: 1;
709
+ createdAt: string;
710
+ collections: NixxieBackupCollection[];
711
+ };
712
+ export type NixxieBackupExportOptions = {
713
+ /** Collections to include. Omit to export every collection the data source exposes. */
714
+ collections?: string[];
715
+ };
716
+ export type NixxieBackupImportMode = 'create' | 'upsert';
717
+ export type NixxieBackupImportOptions = {
718
+ /** 'create' (default) always inserts; 'upsert' updates existing items by id. */
719
+ mode?: NixxieBackupImportMode;
720
+ /** Restrict the import to these collections. */
721
+ collections?: string[];
722
+ /** Continue past individual item failures instead of throwing. */
723
+ continueOnError?: boolean;
724
+ };
725
+ export type NixxieBackupImportResult = {
726
+ created: number;
727
+ updated: number;
728
+ skipped: number;
729
+ errors: {
730
+ collection: string;
731
+ id?: string;
732
+ error: string;
733
+ }[];
734
+ };
735
+ /**
736
+ * Abstraction over the live data store, supplied by the host app (typically built
737
+ * from a NixxieContext). Lets the backup service read and write content without
738
+ * being coupled to Prisma or the GraphQL layer.
739
+ */
740
+ export type NixxieBackupDataSource = {
741
+ /** Names of the collections available for export/import. */
742
+ collections(): string[] | Promise<string[]>;
743
+ /** Read every item of a collection. */
744
+ read(collection: string): Promise<Record<string, unknown>[]>;
745
+ /** Write items into a collection, honouring the requested mode. */
746
+ write(collection: string, items: Record<string, unknown>[], mode: NixxieBackupImportMode): Promise<Omit<NixxieBackupImportResult, 'errors'> & {
747
+ errors: {
748
+ id?: string;
749
+ error: string;
750
+ }[];
751
+ }>;
752
+ /** Count items in a collection (used by `seed` to detect non-empty targets). */
753
+ count(collection: string): Promise<number>;
754
+ };
755
+ /** Content export / import / seed. Implemented by @nixxie-cms/backup. */
756
+ export type NixxieBackupService = {
757
+ /** Read the data source into an in-memory archive. */
758
+ export(options?: NixxieBackupExportOptions): Promise<NixxieBackupArchive>;
759
+ /** Serialize an archive to a string in the given format (default 'json'). */
760
+ serialize(archive: NixxieBackupArchive, format?: NixxieBackupFormat): string;
761
+ /** Parse a serialized archive back into structured form. */
762
+ parse(text: string, format?: NixxieBackupFormat): NixxieBackupArchive;
763
+ /** Write an archive into the data source. */
764
+ import(archive: NixxieBackupArchive, options?: NixxieBackupImportOptions): Promise<NixxieBackupImportResult>;
765
+ /** Import an archive, but only into collections that are currently empty. */
766
+ seed(archive: NixxieBackupArchive): Promise<NixxieBackupImportResult>;
767
+ /** Gracefully shut down. */
768
+ close(): Promise<void>;
769
+ };
473
770
  export type NixxieContext<TypeInfo extends BaseNixxieTypeInfo = BaseNixxieTypeInfo> = {
474
771
  db: NixxieDbAPI<TypeInfo['lists']>;
475
- query: NixxieListsAPI<TypeInfo['lists']>;
772
+ query: NixxieCollectionsAPI<TypeInfo['lists']>;
476
773
  graphql: NixxieGraphQLAPI;
477
774
  prisma: TypeInfo['prisma'];
478
775
  /** Runtime services configured in nixxie.ts — available everywhere context is available */
@@ -488,6 +785,11 @@ export type NixxieContext<TypeInfo extends BaseNixxieTypeInfo = BaseNixxieTypeIn
488
785
  search: NixxieSearchService | null;
489
786
  notifications: NixxieNotificationsService | null;
490
787
  ai: NixxieAiService | null;
788
+ versioning: NixxieVersioningService | null;
789
+ workflow: NixxieWorkflowService | null;
790
+ apiKeys: NixxieApiKeysService | null;
791
+ logger: NixxieLoggerService | null;
792
+ backup: NixxieBackupService | null;
491
793
  };
492
794
  transaction: <T>(f: (context: NixxieContext<TypeInfo>) => MaybePromise<T>, options?: {
493
795
  maxWait?: number;
@@ -516,44 +818,44 @@ export type NixxieContext<TypeInfo extends BaseNixxieTypeInfo = BaseNixxieTypeIn
516
818
  };
517
819
  };
518
820
  };
519
- type UniqueWhereInput<ListTypeInfo extends BaseListTypeInfo> = false extends ListTypeInfo['isSingleton'] ? {
520
- readonly where: ListTypeInfo['inputs']['uniqueWhere'];
821
+ type UniqueWhereInput<CollectionTypeInfo extends BaseCollectionTypeInfo> = false extends CollectionTypeInfo['isSingleton'] ? {
822
+ readonly where: CollectionTypeInfo['inputs']['uniqueWhere'];
521
823
  } : {
522
- readonly where?: ListTypeInfo['inputs']['uniqueWhere'];
824
+ readonly where?: CollectionTypeInfo['inputs']['uniqueWhere'];
523
825
  };
524
- type ListAPI<ListTypeInfo extends BaseListTypeInfo> = {
826
+ type CollectionAPI<CollectionTypeInfo extends BaseCollectionTypeInfo> = {
525
827
  findMany(args?: {
526
- readonly where?: ListTypeInfo['inputs']['where'];
828
+ readonly where?: CollectionTypeInfo['inputs']['where'];
527
829
  readonly take?: number;
528
830
  readonly skip?: number;
529
- readonly orderBy?: ListTypeInfo['inputs']['orderBy'] | readonly ListTypeInfo['inputs']['orderBy'][];
530
- readonly cursor?: ListTypeInfo['inputs']['uniqueWhere'];
831
+ readonly orderBy?: CollectionTypeInfo['inputs']['orderBy'] | readonly CollectionTypeInfo['inputs']['orderBy'][];
832
+ readonly cursor?: CollectionTypeInfo['inputs']['uniqueWhere'];
531
833
  } & ResolveFields): Promise<readonly Record<string, any>[]>;
532
- findOne(args: UniqueWhereInput<ListTypeInfo> & ResolveFields): Promise<Record<string, any>>;
834
+ findOne(args: UniqueWhereInput<CollectionTypeInfo> & ResolveFields): Promise<Record<string, any>>;
533
835
  count(args?: {
534
- readonly where?: ListTypeInfo['inputs']['where'];
836
+ readonly where?: CollectionTypeInfo['inputs']['where'];
535
837
  }): Promise<number>;
536
- updateOne(args: UniqueWhereInput<ListTypeInfo> & {
537
- readonly data: ListTypeInfo['inputs']['update'];
838
+ updateOne(args: UniqueWhereInput<CollectionTypeInfo> & {
839
+ readonly data: CollectionTypeInfo['inputs']['update'];
538
840
  } & ResolveFields): Promise<Record<string, any>>;
539
841
  updateMany(args: {
540
- readonly data: readonly (UniqueWhereInput<ListTypeInfo> & {
541
- readonly data: ListTypeInfo['inputs']['update'];
842
+ readonly data: readonly (UniqueWhereInput<CollectionTypeInfo> & {
843
+ readonly data: CollectionTypeInfo['inputs']['update'];
542
844
  })[];
543
845
  } & ResolveFields): Promise<Record<string, any>[]>;
544
846
  createOne(args: {
545
- readonly data: ListTypeInfo['inputs']['create'];
847
+ readonly data: CollectionTypeInfo['inputs']['create'];
546
848
  } & ResolveFields): Promise<Record<string, any>>;
547
849
  createMany(args: {
548
- readonly data: readonly ListTypeInfo['inputs']['create'][];
850
+ readonly data: readonly CollectionTypeInfo['inputs']['create'][];
549
851
  } & ResolveFields): Promise<Record<string, any>[]>;
550
- deleteOne(args: UniqueWhereInput<ListTypeInfo> & ResolveFields): Promise<Record<string, any> | null>;
852
+ deleteOne(args: UniqueWhereInput<CollectionTypeInfo> & ResolveFields): Promise<Record<string, any> | null>;
551
853
  deleteMany(args: {
552
- readonly where: readonly ListTypeInfo['inputs']['uniqueWhere'][];
854
+ readonly where: readonly CollectionTypeInfo['inputs']['uniqueWhere'][];
553
855
  } & ResolveFields): Promise<Record<string, any>[]>;
554
856
  };
555
- export type NixxieListsAPI<ListsTypeInfo extends Record<string, BaseListTypeInfo>> = {
556
- [Key in keyof ListsTypeInfo]: ListAPI<ListsTypeInfo[Key]>;
857
+ export type NixxieCollectionsAPI<ListsTypeInfo extends Record<string, BaseCollectionTypeInfo>> = {
858
+ [Key in keyof ListsTypeInfo]: CollectionAPI<ListsTypeInfo[Key]>;
557
859
  };
558
860
  type ResolveFields = {
559
861
  /**
@@ -561,38 +863,38 @@ type ResolveFields = {
561
863
  */
562
864
  readonly query?: string;
563
865
  };
564
- type DbAPI<ListTypeInfo extends BaseListTypeInfo> = {
866
+ type DbAPI<CollectionTypeInfo extends BaseCollectionTypeInfo> = {
565
867
  findMany(args?: {
566
- readonly where?: ListTypeInfo['inputs']['where'];
868
+ readonly where?: CollectionTypeInfo['inputs']['where'];
567
869
  readonly take?: number;
568
870
  readonly skip?: number;
569
- readonly orderBy?: ListTypeInfo['inputs']['orderBy'] | readonly ListTypeInfo['inputs']['orderBy'][];
570
- readonly cursor?: ListTypeInfo['inputs']['uniqueWhere'];
571
- }): Promise<readonly ListTypeInfo['item'][]>;
572
- findOne(args: UniqueWhereInput<ListTypeInfo>): Promise<ListTypeInfo['item'] | null>;
871
+ readonly orderBy?: CollectionTypeInfo['inputs']['orderBy'] | readonly CollectionTypeInfo['inputs']['orderBy'][];
872
+ readonly cursor?: CollectionTypeInfo['inputs']['uniqueWhere'];
873
+ }): Promise<readonly CollectionTypeInfo['item'][]>;
874
+ findOne(args: UniqueWhereInput<CollectionTypeInfo>): Promise<CollectionTypeInfo['item'] | null>;
573
875
  count(args?: {
574
- readonly where?: ListTypeInfo['inputs']['where'];
876
+ readonly where?: CollectionTypeInfo['inputs']['where'];
575
877
  }): Promise<number>;
576
- updateOne(args: UniqueWhereInput<ListTypeInfo> & {
577
- readonly data: ListTypeInfo['inputs']['update'];
578
- }): Promise<ListTypeInfo['item']>;
878
+ updateOne(args: UniqueWhereInput<CollectionTypeInfo> & {
879
+ readonly data: CollectionTypeInfo['inputs']['update'];
880
+ }): Promise<CollectionTypeInfo['item']>;
579
881
  updateMany(args: {
580
- readonly data: readonly (UniqueWhereInput<ListTypeInfo> & {
581
- readonly data: ListTypeInfo['inputs']['update'];
882
+ readonly data: readonly (UniqueWhereInput<CollectionTypeInfo> & {
883
+ readonly data: CollectionTypeInfo['inputs']['update'];
582
884
  })[];
583
- }): Promise<ListTypeInfo['item'][]>;
885
+ }): Promise<CollectionTypeInfo['item'][]>;
584
886
  createOne(args: {
585
- readonly data: ListTypeInfo['inputs']['create'];
586
- }): Promise<ListTypeInfo['item']>;
887
+ readonly data: CollectionTypeInfo['inputs']['create'];
888
+ }): Promise<CollectionTypeInfo['item']>;
587
889
  createMany(args: {
588
- readonly data: readonly ListTypeInfo['inputs']['create'][];
589
- }): Promise<ListTypeInfo['item'][]>;
590
- deleteOne(args: UniqueWhereInput<ListTypeInfo>): Promise<ListTypeInfo['item']>;
890
+ readonly data: readonly CollectionTypeInfo['inputs']['create'][];
891
+ }): Promise<CollectionTypeInfo['item'][]>;
892
+ deleteOne(args: UniqueWhereInput<CollectionTypeInfo>): Promise<CollectionTypeInfo['item']>;
591
893
  deleteMany(args: {
592
- readonly where: readonly ListTypeInfo['inputs']['uniqueWhere'][];
593
- }): Promise<ListTypeInfo['item'][]>;
894
+ readonly where: readonly CollectionTypeInfo['inputs']['uniqueWhere'][];
895
+ }): Promise<CollectionTypeInfo['item'][]>;
594
896
  };
595
- export type NixxieDbAPI<ListsTypeInfo extends Record<string, BaseListTypeInfo>> = {
897
+ export type NixxieDbAPI<ListsTypeInfo extends Record<string, BaseCollectionTypeInfo>> = {
596
898
  [Key in keyof ListsTypeInfo]: DbAPI<ListsTypeInfo[Key]>;
597
899
  };
598
900
  export type NixxieGraphQLAPI = {
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"../../../../src/types","sources":["context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,wCAAoC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAiB;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,uBAAmB;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAe;AAI3C,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAE9E,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kBAAkB,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAA;IAC5C,oEAAoE;IACpE,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,EAAE,EAAE,oBAAoB,GAAG,oBAAoB,EAAE,CAAA;IACjD,EAAE,CAAC,EAAE,oBAAoB,GAAG,oBAAoB,EAAE,CAAA;IAClD,GAAG,CAAC,EAAE,oBAAoB,GAAG,oBAAoB,EAAE,CAAA;IACnD,IAAI,CAAC,EAAE,oBAAoB,CAAA;IAC3B,OAAO,CAAC,EAAE,oBAAoB,GAAG,oBAAoB,EAAE,CAAA;IACvD,OAAO,EAAE,MAAM,CAAA;IACf,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,sBAAsB;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,qBAAqB,EAAE,CAAA;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,oDAAoD;IACpD,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,sBAAsB,GAAG;IAC7D,0CAA0C;IAC1C,MAAM,CAAC,EAAE,IAAI,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,IAAI,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,kFAAkF;IAClF,IAAI,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;IACnE,+DAA+D;IAC/D,IAAI,CACF,UAAU,EAAE,oBAAoB,EAAE,EAClC,OAAO,EAAE,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,GAC1C,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAA;IACjC,6EAA6E;IAC7E,KAAK,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAAA;IAC/C,8CAA8C;IAC9C,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACzC,mDAAmD;IACnD,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9C,iDAAiD;IACjD,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;IACpC,kDAAkD;IAClD,kBAAkB,IAAI,MAAM,EAAE,CAAA;IAC9B,qCAAqC;IACrC,aAAa,IAAI,qBAAqB,CAAA;IACtC,yDAAyD;IACzD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3B,wEAAwE;IACxE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB,CAAA;AAID,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,kDAAkD;IAClD,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,4CAA4C;IAC5C,OAAO,EAAE,CAAC,GAAG,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,IAAI,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC5E,mDAAmD;IACnD,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,kDAAkD;IAClD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAA;AAEvE,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,0FAA0F;IAC1F,MAAM,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI,CAAA;IACtC,uCAAuC;IACvC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,kEAAkE;IAClE,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACpC,0DAA0D;IAC1D,IAAI,IAAI,aAAa,EAAE,CAAA;IACvB,mCAAmC;IACnC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAA;IAC5C,wCAAwC;IACxC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB,CAAA;AAID,MAAM,MAAM,qBAAqB,GAAG;IAClC,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,qDAAqD;IACrD,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;IACrD,0BAA0B;IAC1B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAChF,2BAA2B;IAC3B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC,+CAA+C;IAC/C,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,wCAAwC;IACxC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvC,0DAA0D;IAC1D,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAClC;;;OAGG;IACH,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IACvF,8BAA8B;IAC9B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,0CAA0C;IAC1C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB,CAAA;AAID,MAAM,MAAM,iBAAiB,GACzB,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,OAAO,GACP,QAAQ,GACR,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AAEjB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,iBAAiB,CAAA;IACzB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kCAAkC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,8CAA8C;IAC9C,KAAK,CAAC,EAAE;QACN,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,EAAE,CAAC,EAAE,MAAM,CAAA;KACZ,CAAA;IACD,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;IACxD,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,SAAS,CAAC,EAAE,IAAI,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,CAAC,EAAE,iBAAiB,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,EAAE,CAAC,EAAE,IAAI,CAAA;IACT,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAAG;IACjD,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,IAAI,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,0BAA0B;IAC1B,GAAG,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;IACxD,2BAA2B;IAC3B,KAAK,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAA;IAC/D,8BAA8B;IAC9B,KAAK,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAClD,qFAAqF;IACrF,KAAK,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACpC,mDAAmD;IACnD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB,CAAA;AAID,MAAM,MAAM,yBAAyB,GAAG;IACtC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,IAAI,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,cAAc,EAAE,MAAM,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAA;IAC1C,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,IAAI,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG;IAC1C,8FAA8F;IAC9F,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,6EAA6E;IAC7E,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,6BAA6B,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAA;IAClH,mCAAmC;IACnC,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACtC,6DAA6D;IAC7D,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvD,yCAAyC;IACzC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,yBAAyB,EAAE,CAAA;IACjD,+CAA+C;IAC/C,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,qBAAqB,EAAE,CAAA;IAC1E,wCAAwC;IACxC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAC9C,wCAAwC;IACxC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB,CAAA;AAID,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,IAAI,CAAA;IACb,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAA;IACb,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAA;IACd,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;OAGG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAA;IACnF;;;OAGG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAA;IACrF,mCAAmC;IACnC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjC,2DAA2D;IAC3D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB,CAAA;AAID,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAAA;AAErG,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,SAAS,GAAG,WAAW,CAAA;IAC/B,kGAAkG;IAClG,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,4BAA4B;IAC5B,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAA;IAC5C,SAAS,EAAE,MAAM,CAAA;IACjB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,uBAAuB,EAAE,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAA;IAC1F,yCAAyC;IACzC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,mEAAmE;IACnE,KAAK,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAA;IACpC;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAA;CACrE,CAAA;AAID,MAAM,MAAM,gBAAgB,GAAG;IAC7B,kDAAkD;IAClD,GAAG,EAAE,MAAM,CAAA;IACX,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAA;IACX,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,yFAAyF;IACzF,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gFAAgF;IAChF,SAAS,CAAC,EAAE,KAAK,GAAG,KAAK,CAAA;IACzB,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,0FAA0F;AAC1F,MAAM,MAAM,oBAAoB,GAAG;IACjC,6CAA6C;IAC7C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC3G,2EAA2E;IAC3E,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAC7C,iDAAiD;IACjD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC,4BAA4B;IAC5B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAClC,kFAAkF;IAClF,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,sEAAsE;IACtE,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACzE,gCAAgC;IAChC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;CACzC,CAAA;AAID,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAA;AAE3E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,8BAA8B;IAC9B,CAAC,EAAE,MAAM,CAAA;IACT,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;IAClD,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,oBAAoB,IAAI;IACtD,QAAQ,EAAE,CAAC,CAAA;IACX,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,mBAAmB,CAAC,CAAC,GAAG,oBAAoB,IAAI;IAC1D,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1B,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAA;IACb,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,8HAA8H;AAC9H,MAAM,MAAM,mBAAmB,GAAG;IAChC,0DAA0D;IAC1D,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,oBAAoB,GAAG,oBAAoB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjG,6CAA6C;IAC7C,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACpD,qCAAqC;IACrC,MAAM,CAAC,CAAC,GAAG,oBAAoB,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9G,yCAAyC;IACzC,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvC,6CAA6C;IAC7C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB,CAAA;AAID,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAA;AAE9C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,sEAAsE;IACtE,OAAO,CAAC,EAAE,yBAAyB,GAAG,yBAAyB,EAAE,CAAA;IACjE,iGAAiG;IACjG,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,OAAO,EAAE,yBAAyB,CAAA;IAClC,EAAE,EAAE,OAAO,CAAA;IACX,mDAAmD;IACnD,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,oHAAoH;AACpH,MAAM,MAAM,0BAA0B,GAAG;IACvC,6EAA6E;IAC7E,IAAI,CAAC,YAAY,EAAE,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAAA;IAC3E,iDAAiD;IACjD,QAAQ,IAAI,yBAAyB,EAAE,CAAA;CACxC,CAAA;AAID,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAA;IACrC,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,4BAA4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACxD,CAAA;AAED,4FAA4F;AAC5F,MAAM,MAAM,eAAe,GAAG;IAC5B,gCAAgC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;IACxF,0CAA0C;IAC1C,IAAI,CAAC,QAAQ,EAAE,eAAe,EAAE,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;IACjG,gDAAgD;IAChD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IACtC,8DAA8D;IAC9D,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;CAChD,CAAA;AAID,MAAM,MAAM,aAAa,CAAC,QAAQ,SAAS,kBAAkB,GAAG,kBAAkB,IAAI;IACpF,EAAE,EAAE,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;IAClC,KAAK,EAAE,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;IACxC,OAAO,EAAE,gBAAgB,CAAA;IACzB,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC1B,2FAA2F;IAC3F,QAAQ,EAAE;QACR,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAA;QAChC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAA;QAC9B,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAA;QAChC,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAA;QAChC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAAA;QACtC,SAAS,EAAE,sBAAsB,GAAG,IAAI,CAAA;QACxC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAA;QAClC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAA;QACpC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAA;QAClC,aAAa,EAAE,0BAA0B,GAAG,IAAI,CAAA;QAChD,EAAE,EAAE,eAAe,GAAG,IAAI,CAAA;KAC3B,CAAA;IACD,WAAW,EAAE,CAAC,CAAC,EACb,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,EACxD,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,cAAc,CAAC,EAAE;YACf,YAAY,EAAE,cAAc,CAAA;SAC7B,CAAA;KACF,KACE,OAAO,CAAC,CAAC,CAAC,CAAA;IAEf,GAAG,CAAC,EAAE,eAAe,CAAA;IACrB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,eAAe,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAA;IAChE,OAAO,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAA;IAC7B,WAAW,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC7F,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAA;IAGvE,QAAQ,EAAE,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAA;IACvC,IAAI,EAAE,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAA;IAEnC;;OAEG;IACH,UAAU,EAAE;QACV,IAAI,EAAE,OAAO,CAAA;QACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;QACtC,MAAM,EAAE;YACN,MAAM,EAAE,OAAO,CAAA;YACf,QAAQ,EAAE,OAAO,CAAA;SAClB,CAAA;KACF,CAAA;CACF,CAAA;AAID,KAAK,gBAAgB,CAAC,YAAY,SAAS,gBAAgB,IACzD,KAAK,SAAS,YAAY,CAAC,aAAa,CAAC,GACrC;IAAE,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAA;CAAE,GACzD;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAA;CAAE,CAAA;AAEhE,KAAK,OAAO,CAAC,YAAY,SAAS,gBAAgB,IAAI;IACpD,QAAQ,CACN,IAAI,CAAC,EAAE;QACL,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAA;QAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;QACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;QACtB,QAAQ,CAAC,OAAO,CAAC,EACb,YAAY,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,GACjC,SAAS,YAAY,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,CAAA;QAChD,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAA;KACxD,GAAG,aAAa,GAChB,OAAO,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;IAC1C,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,YAAY,CAAC,GAAG,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;IAC3F,KAAK,CAAC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACnF,SAAS,CACP,IAAI,EAAE,gBAAgB,CAAC,YAAY,CAAC,GAAG;QACrC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAA;KAChD,GAAG,aAAa,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;IAC/B,UAAU,CACR,IAAI,EAAE;QACJ,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG;YACxD,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAA;SAChD,CAAC,EAAE,CAAA;KACL,GAAG,aAAa,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;IACjC,SAAS,CACP,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAA;KAAE,GAAG,aAAa,GACxE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;IAC/B,UAAU,CACR,IAAI,EAAE;QACJ,QAAQ,CAAC,IAAI,EAAE,SAAS,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAA;KAC3D,GAAG,aAAa,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;IACjC,SAAS,CACP,IAAI,EAAE,gBAAgB,CAAC,YAAY,CAAC,GAAG,aAAa,GACnD,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IACtC,UAAU,CACR,IAAI,EAAE;QACJ,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,EAAE,CAAA;KACjE,GAAG,aAAa,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,cAAc,CAAC,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI;KAClF,GAAG,IAAI,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;CAC1D,CAAA;AAED,KAAK,aAAa,GAAG;IACnB;;OAEG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,KAAK,KAAK,CAAC,YAAY,SAAS,gBAAgB,IAAI;IAClD,QAAQ,CAAC,IAAI,CAAC,EAAE;QACd,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAA;QAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;QACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;QACtB,QAAQ,CAAC,OAAO,CAAC,EACb,YAAY,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,GACjC,SAAS,YAAY,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,CAAA;QAChD,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAA;KACxD,GAAG,OAAO,CAAC,SAAS,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC5C,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAA;IACnF,KAAK,CAAC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACnF,SAAS,CACP,IAAI,EAAE,gBAAgB,CAAC,YAAY,CAAC,GAAG;QACrC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAA;KAChD,GACA,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAA;IAChC,UAAU,CAAC,IAAI,EAAE;QACf,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG;YACxD,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAA;SAChD,CAAC,EAAE,CAAA;KACL,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACnC,SAAS,CAAC,IAAI,EAAE;QACd,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAA;KAChD,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAA;IACjC,UAAU,CAAC,IAAI,EAAE;QACf,QAAQ,CAAC,IAAI,EAAE,SAAS,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAA;KAC3D,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACnC,SAAS,CAAC,IAAI,EAAE,gBAAgB,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAA;IAC9E,UAAU,CAAC,IAAI,EAAE;QACf,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,EAAE,CAAA;KACjE,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,WAAW,CAAC,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI;KAC/E,GAAG,IAAI,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;CACxD,CAAA;AAID,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,aAAa,CAAA;IACrB,GAAG,EAAE,CAAC,KAAK,EAAE,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACjD,IAAI,EAAE,yBAAyB,CAAC,KAAK,EAAE,UAAU,CAAC,KAC/C,OAAO,CAAC,KAAK,CAAC,CAAA;IACnB,GAAG,EAAE,CAAC,KAAK,EAAE,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACjD,IAAI,EAAE,yBAAyB,CAAC,KAAK,EAAE,UAAU,CAAC,KAC/C,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAA;CACrC,CAAA;AAED,KAAK,yBAAyB,CAAC,KAAK,EAAE,UAAU,IAAI;IAClD,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;IACnE,SAAS,CAAC,EAAE,UAAU,CAAA;CACvB,CAAA"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"../../../../src/types","sources":["context.ts"],"names":[],"mappings":"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"}