@scalar/workspace-store 0.49.3 → 0.51.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 (152) hide show
  1. package/CHANGELOG.md +122 -0
  2. package/dist/client.d.ts +2 -3
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +58 -25
  5. package/dist/entities/auth/schema.d.ts +25 -5
  6. package/dist/entities/auth/schema.d.ts.map +1 -1
  7. package/dist/events/bus.d.ts +70 -0
  8. package/dist/events/bus.d.ts.map +1 -1
  9. package/dist/events/bus.js +48 -11
  10. package/dist/events/definitions/analytics.d.ts +0 -12
  11. package/dist/events/definitions/analytics.d.ts.map +1 -1
  12. package/dist/events/definitions/auth.d.ts +44 -6
  13. package/dist/events/definitions/auth.d.ts.map +1 -1
  14. package/dist/events/definitions/index.d.ts +3 -2
  15. package/dist/events/definitions/index.d.ts.map +1 -1
  16. package/dist/events/definitions/log.d.ts +18 -0
  17. package/dist/events/definitions/log.d.ts.map +1 -0
  18. package/dist/events/definitions/log.js +1 -0
  19. package/dist/events/definitions/operation.d.ts +1 -1
  20. package/dist/events/definitions/operation.d.ts.map +1 -1
  21. package/dist/events/definitions/ui.d.ts +18 -1
  22. package/dist/events/definitions/ui.d.ts.map +1 -1
  23. package/dist/events/index.d.ts +1 -1
  24. package/dist/events/index.d.ts.map +1 -1
  25. package/dist/helpers/get-resolved-ref.d.ts +6 -0
  26. package/dist/helpers/get-resolved-ref.d.ts.map +1 -1
  27. package/dist/helpers/get-resolved-ref.js +9 -0
  28. package/dist/helpers/is-hidden.d.ts +8 -0
  29. package/dist/helpers/is-hidden.d.ts.map +1 -0
  30. package/dist/helpers/is-hidden.js +5 -0
  31. package/dist/helpers/merge-object.d.ts +1 -1
  32. package/dist/helpers/merge-object.d.ts.map +1 -1
  33. package/dist/mutators/auth.d.ts +22 -3
  34. package/dist/mutators/auth.d.ts.map +1 -1
  35. package/dist/mutators/auth.js +213 -37
  36. package/dist/mutators/cookie.d.ts.map +1 -1
  37. package/dist/mutators/cookie.js +3 -2
  38. package/dist/mutators/document.d.ts.map +1 -1
  39. package/dist/mutators/document.js +5 -4
  40. package/dist/mutators/environment.d.ts.map +1 -1
  41. package/dist/mutators/environment.js +12 -5
  42. package/dist/mutators/index.d.ts +4 -0
  43. package/dist/mutators/index.d.ts.map +1 -1
  44. package/dist/mutators/operation/body.d.ts.map +1 -1
  45. package/dist/mutators/operation/body.js +6 -2
  46. package/dist/mutators/operation/extensions.d.ts.map +1 -1
  47. package/dist/mutators/operation/extensions.js +5 -1
  48. package/dist/mutators/operation/history.d.ts.map +1 -1
  49. package/dist/mutators/operation/history.js +7 -3
  50. package/dist/mutators/operation/operation.d.ts.map +1 -1
  51. package/dist/mutators/operation/operation.js +15 -10
  52. package/dist/mutators/operation/parameters.d.ts.map +1 -1
  53. package/dist/mutators/operation/parameters.js +12 -5
  54. package/dist/mutators/server.d.ts.map +1 -1
  55. package/dist/mutators/server.js +2 -1
  56. package/dist/mutators/tag.d.ts.map +1 -1
  57. package/dist/mutators/tag.js +9 -4
  58. package/dist/navigation/get-navigation-options.d.ts +1 -1
  59. package/dist/navigation/get-navigation-options.d.ts.map +1 -1
  60. package/dist/navigation/get-navigation-options.js +1 -0
  61. package/dist/navigation/helpers/get-openapi-object.d.ts.map +1 -1
  62. package/dist/navigation/helpers/get-openapi-object.js +5 -0
  63. package/dist/navigation/helpers/traverse-document.d.ts.map +1 -1
  64. package/dist/navigation/helpers/traverse-document.js +8 -2
  65. package/dist/navigation/helpers/traverse-paths.d.ts +4 -2
  66. package/dist/navigation/helpers/traverse-paths.d.ts.map +1 -1
  67. package/dist/navigation/helpers/traverse-paths.js +9 -6
  68. package/dist/navigation/helpers/traverse-schemas.d.ts.map +1 -1
  69. package/dist/navigation/helpers/traverse-schemas.js +9 -4
  70. package/dist/navigation/helpers/traverse-tags.d.ts.map +1 -1
  71. package/dist/navigation/helpers/traverse-tags.js +2 -1
  72. package/dist/navigation/helpers/traverse-webhooks.d.ts.map +1 -1
  73. package/dist/navigation/helpers/traverse-webhooks.js +4 -3
  74. package/dist/navigation/helpers/update-order-ids.d.ts.map +1 -1
  75. package/dist/navigation/helpers/update-order-ids.js +4 -1
  76. package/dist/navigation/types.d.ts +4 -0
  77. package/dist/navigation/types.d.ts.map +1 -1
  78. package/dist/persistence/index.d.ts +123 -80
  79. package/dist/persistence/index.d.ts.map +1 -1
  80. package/dist/persistence/index.js +233 -167
  81. package/dist/persistence/migrations/v2-team-to-local.d.ts +22 -5
  82. package/dist/persistence/migrations/v2-team-to-local.d.ts.map +1 -1
  83. package/dist/persistence/migrations/v2-team-to-local.js +195 -137
  84. package/dist/request-example/builder/body/build-request-body.d.ts.map +1 -1
  85. package/dist/request-example/builder/body/build-request-body.js +66 -2
  86. package/dist/request-example/builder/build-request.d.ts +24 -3
  87. package/dist/request-example/builder/build-request.d.ts.map +1 -1
  88. package/dist/request-example/builder/build-request.js +89 -18
  89. package/dist/request-example/builder/index.d.ts +2 -1
  90. package/dist/request-example/builder/index.d.ts.map +1 -1
  91. package/dist/request-example/builder/index.js +2 -1
  92. package/dist/request-example/builder/request-factory.d.ts.map +1 -1
  93. package/dist/request-example/builder/request-factory.js +5 -8
  94. package/dist/request-example/builder/resolve-request-factory-url.d.ts +18 -1
  95. package/dist/request-example/builder/resolve-request-factory-url.d.ts.map +1 -1
  96. package/dist/request-example/builder/resolve-request-factory-url.js +29 -4
  97. package/dist/request-example/context/environment.d.ts.map +1 -1
  98. package/dist/request-example/context/environment.js +2 -1
  99. package/dist/request-example/context/get-request-example-context.d.ts.map +1 -1
  100. package/dist/request-example/context/get-request-example-context.js +7 -0
  101. package/dist/request-example/context/headers.d.ts +28 -13
  102. package/dist/request-example/context/headers.d.ts.map +1 -1
  103. package/dist/request-example/context/headers.js +84 -19
  104. package/dist/request-example/context/index.d.ts +1 -0
  105. package/dist/request-example/context/index.d.ts.map +1 -1
  106. package/dist/request-example/context/index.js +1 -0
  107. package/dist/request-example/context/security/get-selected-security.d.ts.map +1 -1
  108. package/dist/request-example/context/security/get-selected-security.js +3 -6
  109. package/dist/request-example/context/servers.d.ts.map +1 -1
  110. package/dist/request-example/context/servers.js +3 -3
  111. package/dist/request-example/index.d.ts +3 -3
  112. package/dist/request-example/index.d.ts.map +1 -1
  113. package/dist/request-example/index.js +2 -2
  114. package/dist/resolve.d.ts.map +1 -1
  115. package/dist/resolve.js +1 -8
  116. package/dist/schemas/extensions/document/x-scalar-environments.d.ts +6 -6
  117. package/dist/schemas/extensions/document/x-scalar-original-source-url.d.ts +15 -0
  118. package/dist/schemas/extensions/document/x-scalar-original-source-url.d.ts.map +1 -0
  119. package/dist/schemas/extensions/document/x-scalar-original-source-url.js +16 -0
  120. package/dist/schemas/extensions/operation/x-badge.d.ts +2 -2
  121. package/dist/schemas/extensions/operation/x-scalar-stability.d.ts +1 -1
  122. package/dist/schemas/extensions/schema/x-enum-descriptions.d.ts +2 -2
  123. package/dist/schemas/extensions/security/x-scalar-credentials-location.d.ts +1 -1
  124. package/dist/schemas/extensions/security/x-use-pkce.d.ts +1 -1
  125. package/dist/schemas/extensions/workspace/x-scalar-active-proxy.d.ts +1 -1
  126. package/dist/schemas/inmemory-workspace.d.ts +3 -4631
  127. package/dist/schemas/inmemory-workspace.d.ts.map +1 -1
  128. package/dist/schemas/inmemory-workspace.js +1 -15
  129. package/dist/schemas/reference-config/index.d.ts +6 -2
  130. package/dist/schemas/reference-config/index.d.ts.map +1 -1
  131. package/dist/schemas/reference-config/settings.d.ts +5 -1
  132. package/dist/schemas/reference-config/settings.d.ts.map +1 -1
  133. package/dist/schemas/type-guards.d.ts +24 -0
  134. package/dist/schemas/type-guards.d.ts.map +1 -0
  135. package/dist/schemas/type-guards.js +30 -0
  136. package/dist/schemas/v3.1/openapi/index.d.ts +4 -3
  137. package/dist/schemas/v3.1/openapi/index.d.ts.map +1 -1
  138. package/dist/schemas/v3.1/openapi/index.js +2 -3
  139. package/dist/schemas/v3.1/strict/encoding.d.ts +12 -0
  140. package/dist/schemas/v3.1/strict/encoding.d.ts.map +1 -1
  141. package/dist/schemas/v3.1/strict/encoding.js +11 -0
  142. package/dist/schemas/v3.1/strict/openapi-document.d.ts +179 -39
  143. package/dist/schemas/v3.1/strict/openapi-document.d.ts.map +1 -1
  144. package/dist/schemas/v3.1/strict/openapi-document.js +2 -2
  145. package/dist/schemas/workspace-specification/index.d.ts +1 -1
  146. package/dist/schemas/workspace.d.ts +4 -4377
  147. package/dist/schemas/workspace.d.ts.map +1 -1
  148. package/dist/schemas/workspace.js +0 -8
  149. package/dist/schemas.d.ts +2 -1
  150. package/dist/schemas.d.ts.map +1 -1
  151. package/dist/schemas.js +1 -1
  152. package/package.json +8 -7
@@ -1,134 +1,177 @@
1
1
  import type { PathMethodHistory } from '../entities/history/schema.js';
2
2
  import type { InMemoryWorkspace } from '../schemas/inmemory-workspace.js';
3
3
  import type { WorkspaceMeta } from '../schemas/workspace.js';
4
- type WorkspaceKey = {
4
+ /**
5
+ * Lookup key for fetching a workspace by its URL slugs. Both `teamSlug` and
6
+ * `slug` are mutable metadata — they map to a stable `workspaceUid` via the
7
+ * `teamSlug_slug` unique index. `teamSlug` defaults to `'local'` so personal
8
+ * workspaces can omit it.
9
+ */
10
+ type WorkspaceSlugKey = {
5
11
  teamSlug?: string;
6
12
  slug: string;
7
13
  };
14
+ /**
15
+ * Full record written to the workspace object store. `workspaceUid` is the
16
+ * primary key and is the only identifier that survives slug renames.
17
+ */
18
+ type WorkspaceRecord = {
19
+ workspaceUid: string;
20
+ teamUid: string;
21
+ teamSlug: string;
22
+ slug: string;
23
+ name: string;
24
+ };
8
25
  type WorkspaceStoreShape = {
9
26
  name: string;
10
27
  workspace: InMemoryWorkspace;
11
28
  };
12
29
  /**
13
- * Generates a workspace ID from team slug and workspace slug. Used as the key
14
- * in the per-workspace chunk tables (meta, documents, ...).
30
+ * Generates a fresh `workspaceUid` for new workspaces.
31
+ *
32
+ * Wraps `crypto.randomUUID` so every caller produces UIDs in a consistent
33
+ * shape and we can swap the implementation later without rippling through
34
+ * the codebase.
15
35
  */
16
- export declare const getWorkspaceId: (teamSlug: string, slug: string) => string;
36
+ export declare const generateWorkspaceUid: () => string;
17
37
  /**
18
38
  * Creates the persistence layer for the workspace store using IndexedDB.
19
- * This sets up all the required tables for storing workspace chunk information,
20
- * such as workspace meta, documents, original documents, intermediate documents, overrides, etc.
21
- * Each logical group (meta, documents, etc) gets its own table keyed appropriately for efficient sub-document access.
22
- * Returns an object containing `meta`, `documents`, `originalDocuments`, `intermediateDocuments`, `overrides`,
23
- * `documentMeta`, `documentConfigs`, and `workspace` sections, each exposing a `setItem` method
24
- * for upsetting records, and in the case of `workspace`, also `getItem` and `deleteItem`.
39
+ *
40
+ * Storage model:
41
+ * - `workspace` is the catalog. Its primary key is `workspaceUid`, a
42
+ * stable UUID that does not change when the user (or the server)
43
+ * renames the team or workspace slug. Two indexes back the runtime:
44
+ * - `teamSlug_slug` (unique) for slug-based URL lookups.
45
+ * - `teamUid` for team-scoped queries.
46
+ * - Every chunk table (`meta`, `documents`, ...) is keyed by
47
+ * `workspaceUid` so chunks survive slug renames without ever being
48
+ * re-keyed.
25
49
  */
26
50
  export declare const createWorkspaceStorePersistence: () => Promise<{
27
51
  close: () => void;
28
52
  meta: {
29
53
  /**
30
- * Set meta data for a workspace.
54
+ * Loads persisted workspace meta only (no document or other chunk
55
+ * reads). Returns an empty object when no meta row exists yet.
31
56
  */
32
- setItem: (workspaceId: string, data: WorkspaceMeta) => Promise<void>;
57
+ getItem: (workspaceUid: string) => Promise<InMemoryWorkspace["meta"]>;
58
+ /** Set meta data for a workspace. */
59
+ setItem: (workspaceUid: string, data: WorkspaceMeta) => Promise<void>;
33
60
  };
34
61
  documents: {
35
- /**
36
- * Set (persist) a workspace document using workspaceId and documentName as composite key.
37
- */
38
- setItem: (workspaceId: string, documentName: string, data: InMemoryWorkspace["documents"][string]) => Promise<void>;
62
+ /** Set (persist) a workspace document using workspaceUid and documentName as composite key. */
63
+ setItem: (workspaceUid: string, documentName: string, data: InMemoryWorkspace["documents"][string]) => Promise<void>;
39
64
  };
40
65
  originalDocuments: {
41
- /**
42
- * Set an original (raw) document for a workspace/document pair.
43
- */
44
- setItem: (workspaceId: string, documentName: string, data: InMemoryWorkspace["originalDocuments"][string]) => Promise<void>;
66
+ /** Set an original (raw) document for a workspace/document pair. */
67
+ setItem: (workspaceUid: string, documentName: string, data: InMemoryWorkspace["originalDocuments"][string]) => Promise<void>;
45
68
  };
46
69
  intermediateDocuments: {
47
- /**
48
- * Set an intermediate (transformed) document for a workspace/document pair.
49
- */
50
- setItem: (workspaceId: string, documentName: string, data: InMemoryWorkspace["intermediateDocuments"][string]) => Promise<void>;
70
+ /** Set an intermediate (transformed) document for a workspace/document pair. */
71
+ setItem: (workspaceUid: string, documentName: string, data: InMemoryWorkspace["intermediateDocuments"][string]) => Promise<void>;
51
72
  };
52
73
  overrides: {
53
- /**
54
- * Set document overrides for a workspace/document pair.
55
- */
56
- setItem: (workspaceId: string, documentName: string, data: InMemoryWorkspace["overrides"][string]) => Promise<void>;
74
+ /** Set document overrides for a workspace/document pair. */
75
+ setItem: (workspaceUid: string, documentName: string, data: InMemoryWorkspace["overrides"][string]) => Promise<void>;
57
76
  };
58
77
  history: {
59
- /**
60
- * Set history for a document.
61
- */
62
- setItem: (workspaceId: string, documentName: string, data: PathMethodHistory) => Promise<void>;
78
+ /** Set history for a document. */
79
+ setItem: (workspaceUid: string, documentName: string, data: PathMethodHistory) => Promise<void>;
63
80
  };
64
81
  auth: {
65
- /**
66
- * Set auth for a document.
67
- */
68
- setItem: (workspaceId: string, documentName: string, data: InMemoryWorkspace["auth"][string]) => Promise<void>;
82
+ /** Set auth for a document. */
83
+ setItem: (workspaceUid: string, documentName: string, data: InMemoryWorkspace["auth"][string]) => Promise<void>;
69
84
  };
70
85
  workspace: {
71
86
  /**
72
- * Retrieves a workspace by its team + workspace slug.
73
- * Returns undefined if the workspace does not exist.
74
- * Gathers all workspace 'chunk' tables and assembles a full workspace shape.
87
+ * Retrieves a workspace by its stable UID, returning the full
88
+ * assembled state (chunks included). Returns `undefined` when no
89
+ * workspace matches.
90
+ *
91
+ * This is the primary lookup path because the UID never changes,
92
+ * making it safe to cache and reference across slug renames.
75
93
  */
76
- getItem: ({ teamSlug, slug, }: WorkspaceKey) => Promise<(WorkspaceStoreShape & {
77
- teamSlug: string;
78
- slug: string;
79
- }) | undefined>;
94
+ getItem: (workspaceUid: string) => Promise<(WorkspaceStoreShape & WorkspaceRecord) | undefined>;
80
95
  /**
81
- * Retrieves all workspaces from the database.
82
- * Returns only the workspace ID and name for each workspace.
83
- * To get the full workspace data including documents and metadata, use getItem() with a specific ID.
84
- * Returns an empty array if no workspaces exist.
96
+ * Retrieves a workspace by its mutable `[teamSlug, slug]` pair.
97
+ *
98
+ * Use this when the only thing you have is the URL for example
99
+ * when the router needs to resolve `/@<teamSlug>/<workspaceSlug>`
100
+ * back to a workspace. For all other cases, prefer `getItem(uid)`
101
+ * because the slugs can change at any time.
85
102
  */
86
- getAll: () => Promise<{
87
- name: string;
88
- slug: string;
89
- teamSlug: string;
90
- }[]>;
103
+ getItemBySlug: ({ teamSlug, slug, }: WorkspaceSlugKey) => Promise<(WorkspaceStoreShape & WorkspaceRecord) | undefined>;
91
104
  /**
92
- * Retrieves all workspaces for a given team slug. Uses the primary key
93
- * prefix so no secondary index is required.
105
+ * Retrieves all workspace catalog records.
106
+ *
107
+ * Only returns the workspace shell (`workspaceUid`, `teamUid`,
108
+ * `teamSlug`, `slug`, `name`). To get the full workspace data
109
+ * including documents and metadata, use `getItem(workspaceUid)`.
94
110
  */
95
- getAllByTeamSlug: (teamSlug: string) => Promise<{
96
- name: string;
97
- slug: string;
98
- teamSlug: string;
99
- }[]>;
111
+ getAll: () => Promise<WorkspaceRecord[]>;
112
+ /**
113
+ * Retrieves all workspaces for a given team UID. Uses the `teamUid`
114
+ * index, so this is O(matches) rather than a full scan.
115
+ *
116
+ * Prefer this over `getAllByTeamSlug` because the team UID is the
117
+ * canonical identifier and survives team-slug renames.
118
+ */
119
+ getAllByTeamUid: (teamUid: string) => Promise<WorkspaceRecord[]>;
100
120
  /**
101
- * Saves a workspace to the database.
102
- * All chunks (meta, documents, configs, etc.) are upsert in their respective tables.
103
- * If a workspace with the same ID already exists, it will be replaced.
121
+ * Retrieves all workspaces for a given team slug. Uses the
122
+ * `teamSlug_slug` compound index as a prefix scan. Useful when the
123
+ * only thing on hand is the URL segment; otherwise prefer
124
+ * `getAllByTeamUid`.
104
125
  */
105
- setItem: ({ teamSlug, slug }: WorkspaceKey, value: WorkspaceStoreShape) => Promise<{
106
- name: string;
126
+ getAllByTeamSlug: (teamSlug: string) => Promise<WorkspaceRecord[]>;
127
+ /**
128
+ * Saves a workspace and all of its chunks. The caller is responsible
129
+ * for providing a stable `workspaceUid` (typically `crypto.randomUUID()`
130
+ * for new records, or the existing UID for updates).
131
+ *
132
+ * `teamSlug` and `slug` are validated by the underlying unique index;
133
+ * attempting to persist a duplicate pair will reject the transaction.
134
+ */
135
+ setItem: ({ workspaceUid, teamUid, teamSlug, slug, }: {
136
+ workspaceUid: string;
137
+ teamUid?: string;
138
+ teamSlug?: string;
107
139
  slug: string;
108
- teamSlug: string;
109
- }>;
140
+ }, value: WorkspaceStoreShape) => Promise<WorkspaceRecord>;
110
141
  /**
111
- * Deletes an entire workspace and all associated chunk records from all tables by ID.
142
+ * Deletes an entire workspace and every chunk that belongs to it.
143
+ * Safe to call on a workspace that does not exist — the chunk
144
+ * deletions are range scans that simply find nothing to delete.
112
145
  */
113
- deleteItem: ({ teamSlug, slug }: WorkspaceKey) => Promise<void>;
146
+ deleteItem: (workspaceUid: string) => Promise<void>;
114
147
  /**
115
- * Deletes a single document and all related records (overrides, history, auth, etc.)
116
- * for the given workspace and document name from all relevant tables.
148
+ * Deletes a single document and all related chunks (overrides,
149
+ * history, auth, ...) for the given workspace/document pair.
117
150
  */
118
- deleteDocument: (workspaceId: string, documentName: string) => Promise<void>;
151
+ deleteDocument: (workspaceUid: string, documentName: string) => Promise<void>;
119
152
  /**
120
- * Updates the name of an existing workspace.
121
- * Returns the updated workspace object, or undefined if the workspace does not exist.
153
+ * Updates the name of an existing workspace. Returns the updated
154
+ * record, or `undefined` when the workspace does not exist.
122
155
  */
123
- updateName: ({ teamSlug, slug }: WorkspaceKey, name: string) => Promise<{
124
- name: string;
125
- slug: string;
126
- teamSlug: string;
127
- } | undefined>;
156
+ updateName: (workspaceUid: string, name: string) => Promise<WorkspaceRecord | undefined>;
128
157
  /**
129
- * Checks if a workspace with the given team + workspace slug exists in the store.
158
+ * Updates the mutable slug metadata for an existing workspace.
159
+ * Returns the updated record, or `undefined` when the workspace
160
+ * does not exist, or when another workspace already owns the target
161
+ * `[teamSlug, slug]` pair (the `teamSlug_slug` index is unique).
162
+ *
163
+ * Use this when the server tells us a team slug or workspace slug
164
+ * has changed. The `workspaceUid` stays the same, so all chunk
165
+ * references continue to resolve.
130
166
  */
131
- has: ({ teamSlug, slug }: WorkspaceKey) => Promise<boolean>;
167
+ updateSlugs: (workspaceUid: string, slugs: {
168
+ teamSlug?: string;
169
+ slug?: string;
170
+ }) => Promise<WorkspaceRecord | undefined>;
171
+ /** Checks if a workspace with the given UID exists. */
172
+ has: (workspaceUid: string) => Promise<boolean>;
173
+ /** Checks if a workspace with the given `[teamSlug, slug]` pair exists. */
174
+ hasSlug: ({ teamSlug, slug }: WorkspaceSlugKey) => Promise<boolean>;
132
175
  };
133
176
  clear: () => Promise<void>;
134
177
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/persistence/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAIlE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAExD,KAAK,YAAY,GAAG;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,KAAK,mBAAmB,GAAG;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,iBAAiB,CAAA;CAC7B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM,EAAE,MAAM,MAAM,WAA0B,CAAA;AAEvF;;;;;;;;GAQG;AACH,eAAO,MAAM,+BAA+B;;;QAmEtC;;WAEG;+BAC0B,MAAM,QAAQ,aAAa;;;QAKxD;;WAEG;+BAC0B,MAAM,gBAAgB,MAAM,QAAQ,iBAAiB,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;;;QAKvG;;WAEG;+BAEY,MAAM,gBACL,MAAM,QACd,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC;;;QAMtD;;WAEG;+BAEY,MAAM,gBACL,MAAM,QACd,iBAAiB,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC;;;QAM1D;;WAEG;+BAC0B,MAAM,gBAAgB,MAAM,QAAQ,iBAAiB,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;;;QAKvG;;WAEG;+BAC0B,MAAM,gBAAgB,MAAM,QAAQ,iBAAiB;;;QAKlF;;WAEG;+BAC0B,MAAM,gBAAgB,MAAM,QAAQ,iBAAiB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;;;QAKlG;;;;WAIG;uCAIA,YAAY,KAAG,OAAO,CAAC,CAAC,mBAAmB,GAAG;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,GAAG,SAAS,CAAC;QAwCjG;;;;;WAKG;;;;;;QAKH;;;WAGG;qCACgC,MAAM;;;;;QAIzC;;;;WAIG;sCAC2C,YAAY,SAAS,mBAAmB;;;;;QAyDtF;;WAEG;yCAC8C,YAAY,KAAG,OAAO,CAAC,IAAI,CAAC;QAoB7E;;;WAGG;sCACiC,MAAM,gBAAgB,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;QAWhF;;;WAGG;yCAC8C,YAAY,QAAQ,MAAM;;;;;QAU3E;;WAEG;kCACuC,YAAY,KAAG,OAAO,CAAC,OAAO,CAAC;;;EAQ9E,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/persistence/index.ts"],"names":[],"mappings":"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"}