@scalar/workspace-store 0.47.0 → 0.48.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 (38) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/client.js +23 -4
  4. package/dist/entities/auth/schema.d.ts +20 -0
  5. package/dist/entities/auth/schema.d.ts.map +1 -1
  6. package/dist/events/bus.d.ts +14 -0
  7. package/dist/events/bus.d.ts.map +1 -1
  8. package/dist/events/bus.js +8 -0
  9. package/dist/events/definitions/ui.d.ts +2 -2
  10. package/dist/events/definitions/ui.d.ts.map +1 -1
  11. package/dist/persistence/index.d.ts +23 -21
  12. package/dist/persistence/index.d.ts.map +1 -1
  13. package/dist/persistence/index.js +37 -35
  14. package/dist/persistence/indexdb.d.ts +69 -49
  15. package/dist/persistence/indexdb.d.ts.map +1 -1
  16. package/dist/persistence/indexdb.js +100 -123
  17. package/dist/persistence/migrations/v1-initial.d.ts +19 -0
  18. package/dist/persistence/migrations/v1-initial.d.ts.map +1 -0
  19. package/dist/persistence/migrations/v1-initial.js +50 -0
  20. package/dist/persistence/migrations/v2-team-to-local.d.ts +33 -0
  21. package/dist/persistence/migrations/v2-team-to-local.d.ts.map +1 -0
  22. package/dist/persistence/migrations/v2-team-to-local.js +213 -0
  23. package/dist/schemas/extensions/document/x-scalar-registry-meta.d.ts +48 -0
  24. package/dist/schemas/extensions/document/x-scalar-registry-meta.d.ts.map +1 -1
  25. package/dist/schemas/extensions/document/x-scalar-registry-meta.js +33 -1
  26. package/dist/schemas/inmemory-workspace.d.ts +12 -0
  27. package/dist/schemas/inmemory-workspace.d.ts.map +1 -1
  28. package/dist/schemas/reference-config/index.d.ts +4 -0
  29. package/dist/schemas/reference-config/index.d.ts.map +1 -1
  30. package/dist/schemas/reference-config/settings.d.ts +4 -0
  31. package/dist/schemas/reference-config/settings.d.ts.map +1 -1
  32. package/dist/schemas/v3.1/openapi/index.d.ts +4 -0
  33. package/dist/schemas/v3.1/openapi/index.d.ts.map +1 -1
  34. package/dist/schemas/v3.1/strict/openapi-document.d.ts +144 -0
  35. package/dist/schemas/v3.1/strict/openapi-document.d.ts.map +1 -1
  36. package/dist/schemas/workspace.d.ts +12 -0
  37. package/dist/schemas/workspace.d.ts.map +1 -1
  38. package/package.json +7 -7
@@ -0,0 +1,213 @@
1
+ /**
2
+ * v2 — collapse every workspace into the local team and drop the namespace concept.
3
+ *
4
+ * Before this migration, workspaces were keyed by `[namespace, slug]` where the
5
+ * namespace doubled as the team identifier (for example `acme-corp/api-workspace`)
6
+ * and a separate `teamUid` field stored the team's UID.
7
+ *
8
+ * After this migration:
9
+ * - The workspace object store is re-created with a new composite key
10
+ * `[teamSlug, slug]`. The old `teamUid` index is removed; no separate
11
+ * `teamSlug` index is needed because it is now part of the primary key.
12
+ * - Every workspace is placed under `teamSlug = 'local'`. Team association is
13
+ * intentionally dropped — every workspace becomes a personal/local one.
14
+ * - The `namespace` field is removed entirely from the record.
15
+ * - When moving a team workspace into the local team would collide with an
16
+ * existing local slug, a unique suffix (`-2`, `-3`, ...) is appended.
17
+ * - All chunk records (meta, documents, originalDocuments, intermediateDocuments,
18
+ * overrides, history, auth) are re-keyed to the new `local/<slug>` workspaceId.
19
+ * - Saved tabs and the active tab index are cleared from every workspace's meta
20
+ * chunk. Tab paths are URLs that embed the old `@<namespace>/<slug>` prefix
21
+ * and slugs may have been rewritten to resolve collisions, so keeping them
22
+ * would cause the client to route to stale paths on next load.
23
+ *
24
+ * All work happens inside the upgrade transaction. The migration awaits every
25
+ * IDB request it queues so the database is fully migrated before `up` resolves
26
+ * — that guarantee is what lets later migrations safely build on this state.
27
+ */
28
+ /** Tables that store per-workspace chunks keyed by `workspaceId` (single key). */
29
+ const SINGLE_KEY_CHUNK_TABLES = ['meta'];
30
+ /** Tables that store per-document chunks keyed by `[workspaceId, documentName]`. */
31
+ const COMPOSITE_KEY_CHUNK_TABLES = [
32
+ 'documents',
33
+ 'originalDocuments',
34
+ 'intermediateDocuments',
35
+ 'overrides',
36
+ 'history',
37
+ 'auth',
38
+ ];
39
+ /**
40
+ * Picks a slug that does not collide with anything in `taken`.
41
+ * Falls back to `<slug>-2`, `<slug>-3`, ... when the desired slug is already used.
42
+ */
43
+ export const pickUniqueSlug = (desired, taken) => {
44
+ if (!taken.has(desired)) {
45
+ return desired;
46
+ }
47
+ let counter = 2;
48
+ while (taken.has(`${desired}-${counter}`)) {
49
+ counter++;
50
+ }
51
+ return `${desired}-${counter}`;
52
+ };
53
+ /**
54
+ * Computes the new shape for every workspace, preserving local entries under
55
+ * their existing slug and relocating team entries into the local team with a
56
+ * unique slug when needed.
57
+ */
58
+ export const planWorkspaceMigration = (workspaces) => {
59
+ // Local slugs that already exist take priority and keep their slug as-is.
60
+ const reservedSlugs = new Set(workspaces.filter((workspace) => workspace.namespace === 'local').map((workspace) => workspace.slug));
61
+ const plan = [];
62
+ for (const workspace of workspaces) {
63
+ if (workspace.namespace === 'local') {
64
+ plan.push({
65
+ before: { namespace: workspace.namespace, slug: workspace.slug },
66
+ after: {
67
+ name: workspace.name,
68
+ teamSlug: 'local',
69
+ slug: workspace.slug,
70
+ },
71
+ });
72
+ continue;
73
+ }
74
+ const newSlug = pickUniqueSlug(workspace.slug, reservedSlugs);
75
+ reservedSlugs.add(newSlug);
76
+ plan.push({
77
+ before: { namespace: workspace.namespace, slug: workspace.slug },
78
+ after: {
79
+ name: workspace.name,
80
+ // Team association is dropped on purpose — every workspace becomes
81
+ // local. Slug uniqueness has already been handled above.
82
+ teamSlug: 'local',
83
+ slug: newSlug,
84
+ },
85
+ });
86
+ }
87
+ return plan;
88
+ };
89
+ const buildWorkspaceId = (prefix, slug) => `${prefix}/${slug}`;
90
+ /**
91
+ * Keys on the workspace meta record that embed URL paths tied to the old
92
+ * `@<namespace>/<slug>` routing scheme. We strip them during the migration so
93
+ * the client can rebuild them from the current route on next load.
94
+ */
95
+ const STALE_META_KEYS = ['x-scalar-tabs', 'x-scalar-active-tab'];
96
+ /**
97
+ * Returns a new meta object with stale, URL-bound fields removed. Leaves every
98
+ * other key untouched so color mode, theme, active document, etc. survive.
99
+ */
100
+ const stripStaleMetaFields = (meta) => {
101
+ if (!meta || typeof meta !== 'object') {
102
+ return meta;
103
+ }
104
+ const copy = { ...meta };
105
+ for (const key of STALE_META_KEYS) {
106
+ delete copy[key];
107
+ }
108
+ return copy;
109
+ };
110
+ /** Wraps an IDB request so we can `await` it inside the upgrade transaction. */
111
+ const requestAsPromise = (req) => new Promise((resolve, reject) => {
112
+ req.onsuccess = () => resolve(req.result);
113
+ req.onerror = () => reject(req.error);
114
+ });
115
+ /**
116
+ * Re-keys all chunk records belonging to `oldWorkspaceId` so they live under
117
+ * `newWorkspaceId` instead. Always runs so we can also strip stale tab state
118
+ * from the meta chunk, even when the workspace keeps its old id.
119
+ *
120
+ * Returns a Promise that resolves once every queued read/write has completed
121
+ * — this is what lets the migration runner guarantee subsequent migrations
122
+ * see the fully re-keyed state.
123
+ */
124
+ const remapChunkTables = async (transaction, oldWorkspaceId, newWorkspaceId) => {
125
+ const idChanged = oldWorkspaceId !== newWorkspaceId;
126
+ const tasks = [];
127
+ for (const tableName of SINGLE_KEY_CHUNK_TABLES) {
128
+ if (!transaction.db.objectStoreNames.contains(tableName)) {
129
+ continue;
130
+ }
131
+ const store = transaction.objectStore(tableName);
132
+ tasks.push(new Promise((resolve, reject) => {
133
+ const getRequest = store.get(oldWorkspaceId);
134
+ getRequest.onerror = () => reject(getRequest.error);
135
+ getRequest.onsuccess = () => {
136
+ const record = getRequest.result;
137
+ if (!record) {
138
+ resolve();
139
+ return;
140
+ }
141
+ // The meta chunk holds x-scalar-tabs with full URL paths built from the
142
+ // pre-migration namespace/slug. Those paths are no longer routable after
143
+ // this migration (namespace is dropped and slugs may have been renamed),
144
+ // so drop them here and let the client rebuild tabs from the live route.
145
+ const nextData = tableName === 'meta' ? stripStaleMetaFields(record.data) : record.data;
146
+ if (idChanged) {
147
+ store.delete(oldWorkspaceId);
148
+ }
149
+ const putRequest = store.put({ ...record, workspaceId: newWorkspaceId, data: nextData });
150
+ putRequest.onerror = () => reject(putRequest.error);
151
+ putRequest.onsuccess = () => resolve();
152
+ };
153
+ }));
154
+ }
155
+ if (idChanged) {
156
+ for (const tableName of COMPOSITE_KEY_CHUNK_TABLES) {
157
+ if (!transaction.db.objectStoreNames.contains(tableName)) {
158
+ continue;
159
+ }
160
+ const store = transaction.objectStore(tableName);
161
+ // Range covering every `[oldWorkspaceId, *]` key.
162
+ const range = IDBKeyRange.bound([oldWorkspaceId], [oldWorkspaceId, []], false, true);
163
+ tasks.push(new Promise((resolve, reject) => {
164
+ const cursorRequest = store.openCursor(range);
165
+ cursorRequest.onerror = () => reject(cursorRequest.error);
166
+ cursorRequest.onsuccess = (event) => {
167
+ const cursor = event.target.result;
168
+ if (!cursor) {
169
+ resolve();
170
+ return;
171
+ }
172
+ const value = cursor.value;
173
+ cursor.delete();
174
+ store.put({ ...value, workspaceId: newWorkspaceId });
175
+ cursor.continue();
176
+ };
177
+ }));
178
+ }
179
+ }
180
+ await Promise.all(tasks);
181
+ };
182
+ export const v2TeamToLocalMigration = {
183
+ description: 'Re-key workspace store to [teamSlug, slug]; collapse all workspaces into the local team',
184
+ up: async ({ db, transaction }) => {
185
+ if (!db.objectStoreNames.contains('workspace')) {
186
+ // The workspace store must exist after v1; if it does not, something is
187
+ // very wrong and we should not silently create a new one here.
188
+ return;
189
+ }
190
+ // Read every record from the old workspace store before we delete it.
191
+ // The upgrade transaction stays alive while the `getAll` request is
192
+ // pending, so the schema mutations below still run in versionchange
193
+ // mode — which is required for deleteObjectStore / createObjectStore.
194
+ const oldWorkspaceStore = transaction.objectStore('workspace');
195
+ const workspaces = ((await requestAsPromise(oldWorkspaceStore.getAll())) ?? []);
196
+ const plan = planWorkspaceMigration(workspaces);
197
+ // The workspace store's keyPath cannot be changed in place, so drop it
198
+ // and recreate it with the new composite key. No separate `teamSlug`
199
+ // index is needed because the team slug is the first part of the key.
200
+ db.deleteObjectStore('workspace');
201
+ const newWorkspaceStore = db.createObjectStore('workspace', { keyPath: ['teamSlug', 'slug'] });
202
+ // Re-key all chunk tables in parallel so the entire migration finishes in
203
+ // a single round-trip. Awaiting before `up` resolves is what guarantees
204
+ // any future migration appended after this one observes the post-v2
205
+ // state — without this await, IDB callbacks would still be in flight.
206
+ await Promise.all(plan.map(async ({ before, after }) => {
207
+ const oldWorkspaceId = buildWorkspaceId(before.namespace, before.slug);
208
+ const newWorkspaceId = buildWorkspaceId(after.teamSlug, after.slug);
209
+ newWorkspaceStore.put(after);
210
+ await remapChunkTables(transaction, oldWorkspaceId, newWorkspaceId);
211
+ }));
212
+ },
213
+ };
@@ -11,6 +11,28 @@ export declare const XScalarRegistryMetaSchema: import("@scalar/typebox").TObjec
11
11
  * A unique slug identifier for this registry meta within the namespace.
12
12
  */
13
13
  slug: import("@scalar/typebox").TString;
14
+ /**
15
+ * The version of the registry meta.
16
+ */
17
+ version: import("@scalar/typebox").TString;
18
+ /**
19
+ * Last known commit hash of this document.
20
+ *
21
+ * Is going to be used to track if the document has been modified since it was last saved.
22
+ */
23
+ commitHash: import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
24
+ /**
25
+ * Registry commit hash that the cached `hasConflict` flag was computed
26
+ * against. When the registry advertises a different hash later, the
27
+ * cached result is stale and the conflict check has to be re-run.
28
+ */
29
+ conflictCheckedAgainstHash: import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
30
+ /**
31
+ * Cached outcome of the last conflict check, valid only while
32
+ * `conflictCheckedAgainstHash` matches the registry's current hash for
33
+ * this version.
34
+ */
35
+ hasConflict: import("@scalar/typebox").TOptional<import("@scalar/typebox").TBoolean>;
14
36
  }>>;
15
37
  }>;
16
38
  export type XScalarRegistryMeta = {
@@ -26,12 +48,38 @@ export type XScalarRegistryMeta = {
26
48
  * A unique slug identifier for this registry meta within the namespace.
27
49
  */
28
50
  slug: string;
51
+ /**
52
+ * The version of the registry meta.
53
+ */
54
+ version: string;
55
+ /**
56
+ * Last known commit hash of this document.
57
+ *
58
+ * Is going to be used to track if the document has been modified since it was last saved.
59
+ */
60
+ commitHash?: string;
61
+ /**
62
+ * Registry commit hash that the cached `hasConflict` flag was computed
63
+ * against. The cache is invalid when this no longer matches the registry
64
+ * hash advertised for this version.
65
+ */
66
+ conflictCheckedAgainstHash?: string;
67
+ /**
68
+ * Cached outcome of the last conflict check, valid only while
69
+ * `conflictCheckedAgainstHash` matches the registry's current hash for
70
+ * this version.
71
+ */
72
+ hasConflict?: boolean;
29
73
  };
30
74
  };
31
75
  export declare const XScalarRegistryMeta: import("@scalar/validation").ObjectSchema<{
32
76
  'x-scalar-registry-meta': import("@scalar/validation").OptionalSchema<import("@scalar/validation").ObjectSchema<{
33
77
  namespace: import("@scalar/validation").StringSchema;
34
78
  slug: import("@scalar/validation").StringSchema;
79
+ version: import("@scalar/validation").StringSchema;
80
+ commitHash: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
81
+ conflictCheckedAgainstHash: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
82
+ hasConflict: import("@scalar/validation").OptionalSchema<import("@scalar/validation").BooleanSchema>;
35
83
  }>>;
36
84
  }>;
37
85
  //# sourceMappingURL=x-scalar-registry-meta.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"x-scalar-registry-meta.d.ts","sourceRoot":"","sources":["../../../../src/schemas/extensions/document/x-scalar-registry-meta.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,yBAAyB;IACpC;;OAEG;;QAbH;;WAEG;;QAEH;;WAEG;;;EASH,CAAA;AAaF,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,wBAAwB,CAAC,EAAE;QACzB;;WAEG;QACH,SAAS,EAAE,MAAM,CAAA;QACjB;;WAEG;QACH,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;CACF,CAAA;AAED,eAAO,MAAM,mBAAmB;;;;;EAQ/B,CAAA"}
1
+ {"version":3,"file":"x-scalar-registry-meta.d.ts","sourceRoot":"","sources":["../../../../src/schemas/extensions/document/x-scalar-registry-meta.ts"],"names":[],"mappings":"AAoCA,eAAO,MAAM,yBAAyB;IACpC;;OAEG;;QAnCH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;;;WAIG;;QAEH;;;;WAIG;;QAEH;;;;WAIG;;;EASH,CAAA;AAgCF,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,wBAAwB,CAAC,EAAE;QACzB;;WAEG;QACH,SAAS,EAAE,MAAM,CAAA;QACjB;;WAEG;QACH,IAAI,EAAE,MAAM,CAAA;QACZ;;WAEG;QACH,OAAO,EAAE,MAAM,CAAA;QACf;;;;WAIG;QACH,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB;;;;WAIG;QACH,0BAA0B,CAAC,EAAE,MAAM,CAAA;QACnC;;;;WAIG;QACH,WAAW,CAAC,EAAE,OAAO,CAAA;KACtB,CAAA;CACF,CAAA;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;EAQ/B,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { Type } from '@scalar/typebox';
2
- import { object, optional, string } from '@scalar/validation';
2
+ import { boolean, object, optional, string } from '@scalar/validation';
3
3
  const XScalarRegistryMetaInnerSchema = Type.Object({
4
4
  /**
5
5
  * The namespace under which this registry meta is scoped.
@@ -9,6 +9,28 @@ const XScalarRegistryMetaInnerSchema = Type.Object({
9
9
  * A unique slug identifier for this registry meta within the namespace.
10
10
  */
11
11
  'slug': Type.String(),
12
+ /**
13
+ * The version of the registry meta.
14
+ */
15
+ 'version': Type.String(),
16
+ /**
17
+ * Last known commit hash of this document.
18
+ *
19
+ * Is going to be used to track if the document has been modified since it was last saved.
20
+ */
21
+ 'commitHash': Type.Optional(Type.String()),
22
+ /**
23
+ * Registry commit hash that the cached `hasConflict` flag was computed
24
+ * against. When the registry advertises a different hash later, the
25
+ * cached result is stale and the conflict check has to be re-run.
26
+ */
27
+ 'conflictCheckedAgainstHash': Type.Optional(Type.String()),
28
+ /**
29
+ * Cached outcome of the last conflict check, valid only while
30
+ * `conflictCheckedAgainstHash` matches the registry's current hash for
31
+ * this version.
32
+ */
33
+ 'hasConflict': Type.Optional(Type.Boolean()),
12
34
  });
13
35
  export const XScalarRegistryMetaSchema = Type.Object({
14
36
  /**
@@ -19,6 +41,16 @@ export const XScalarRegistryMetaSchema = Type.Object({
19
41
  const XScalarRegistryMetaInner = object({
20
42
  namespace: string({ typeComment: 'The namespace under which this registry meta is scoped.' }),
21
43
  slug: string({ typeComment: 'A unique slug identifier for this registry meta within the namespace.' }),
44
+ version: string({ typeComment: 'The version of the registry meta.' }),
45
+ commitHash: optional(string({
46
+ typeComment: 'Last known commit hash of this document. Is going to be used to track if the document has been modified since it was last saved.',
47
+ })),
48
+ conflictCheckedAgainstHash: optional(string({
49
+ typeComment: 'Registry commit hash that the cached hasConflict flag was computed against. The cache is invalid when this no longer matches the registry hash.',
50
+ })),
51
+ hasConflict: optional(boolean({
52
+ typeComment: 'Cached outcome of the last conflict check, valid only while conflictCheckedAgainstHash matches the registry hash.',
53
+ })),
22
54
  }, {
23
55
  typeName: 'XScalarRegistryMetaInner',
24
56
  typeComment: 'Registry meta namespace and slug',
@@ -1353,6 +1353,10 @@ export declare const InMemoryWorkspaceSchema: import("@scalar/typebox").TObject<
1353
1353
  'x-scalar-registry-meta': import("@scalar/typebox").TOptional<import("@scalar/typebox").TObject<{
1354
1354
  namespace: import("@scalar/typebox").TString;
1355
1355
  slug: import("@scalar/typebox").TString;
1356
+ version: import("@scalar/typebox").TString;
1357
+ commitHash: import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
1358
+ conflictCheckedAgainstHash: import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
1359
+ hasConflict: import("@scalar/typebox").TOptional<import("@scalar/typebox").TBoolean>;
1356
1360
  }>>;
1357
1361
  }>, import("@scalar/typebox").TObject<{
1358
1362
  'x-pre-request': import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
@@ -3041,6 +3045,10 @@ export declare const InMemoryWorkspaceSchema: import("@scalar/typebox").TObject<
3041
3045
  'x-scalar-registry-meta': import("@scalar/typebox").TOptional<import("@scalar/typebox").TObject<{
3042
3046
  namespace: import("@scalar/typebox").TString;
3043
3047
  slug: import("@scalar/typebox").TString;
3048
+ version: import("@scalar/typebox").TString;
3049
+ commitHash: import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
3050
+ conflictCheckedAgainstHash: import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
3051
+ hasConflict: import("@scalar/typebox").TOptional<import("@scalar/typebox").TBoolean>;
3044
3052
  }>>;
3045
3053
  }>, import("@scalar/typebox").TObject<{
3046
3054
  'x-pre-request': import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
@@ -4484,6 +4492,10 @@ export declare const InMemoryWorkspaceSchema: import("@scalar/typebox").TObject<
4484
4492
  'x-scalar-registry-meta': import("@scalar/typebox").TOptional<import("@scalar/typebox").TObject<{
4485
4493
  namespace: import("@scalar/typebox").TString;
4486
4494
  slug: import("@scalar/typebox").TString;
4495
+ version: import("@scalar/typebox").TString;
4496
+ commitHash: import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
4497
+ conflictCheckedAgainstHash: import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
4498
+ hasConflict: import("@scalar/typebox").TOptional<import("@scalar/typebox").TBoolean>;
4487
4499
  }>>;
4488
4500
  }>, import("@scalar/typebox").TObject<{
4489
4501
  'x-pre-request': import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
@@ -1 +1 @@
1
- {"version":3,"file":"inmemory-workspace.d.ts","sourceRoot":"","sources":["../../src/schemas/inmemory-workspace.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,wBAAwB,CAAA;AAC9E,OAAO,EAAE,KAAK,eAAe,EAAyB,MAAM,2BAA2B,CAAA;AAEvF,OAAO,EACL,KAAK,iBAAiB,EAEtB,KAAK,mBAAmB,EAExB,KAAK,aAAa,EAEnB,MAAM,qBAAqB,CAAA;AAI5B,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQlC,CAAA;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,aAAa,GAAG,mBAAmB,CAAA;IACzC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;IAC5C,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAC1D,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAC9D,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC9B,OAAO,EAAE,eAAe,CAAA;IACxB,IAAI,EAAE,YAAY,CAAA;CACnB,CAAA"}
1
+ {"version":3,"file":"inmemory-workspace.d.ts","sourceRoot":"","sources":["../../src/schemas/inmemory-workspace.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,wBAAwB,CAAA;AAC9E,OAAO,EAAE,KAAK,eAAe,EAAyB,MAAM,2BAA2B,CAAA;AAEvF,OAAO,EACL,KAAK,iBAAiB,EAEtB,KAAK,mBAAmB,EAExB,KAAK,aAAa,EAEnB,MAAM,qBAAqB,CAAA;AAI5B,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQlC,CAAA;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,aAAa,GAAG,mBAAmB,CAAA;IACzC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;IAC5C,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAC1D,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAC9D,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC9B,OAAO,EAAE,eAAe,CAAA;IACxB,IAAI,EAAE,YAAY,CAAA;CACnB,CAAA"}
@@ -1328,6 +1328,10 @@ export declare const ReferenceConfigSchema: import("@scalar/typebox").TObject<{
1328
1328
  'x-scalar-registry-meta': import("@scalar/typebox").TOptional<import("@scalar/typebox").TObject<{
1329
1329
  namespace: import("@scalar/typebox").TString;
1330
1330
  slug: import("@scalar/typebox").TString;
1331
+ version: import("@scalar/typebox").TString;
1332
+ commitHash: import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
1333
+ conflictCheckedAgainstHash: import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
1334
+ hasConflict: import("@scalar/typebox").TOptional<import("@scalar/typebox").TBoolean>;
1331
1335
  }>>;
1332
1336
  }>, import("@scalar/typebox").TObject<{
1333
1337
  'x-pre-request': import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/schemas/reference-config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/schemas/reference-config/index.ts"],"names":[],"mappings":"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"}
@@ -1314,6 +1314,10 @@ export declare const SettingsSchema: import("@scalar/typebox").TObject<{
1314
1314
  'x-scalar-registry-meta': import("@scalar/typebox").TOptional<import("@scalar/typebox").TObject<{
1315
1315
  namespace: import("@scalar/typebox").TString;
1316
1316
  slug: import("@scalar/typebox").TString;
1317
+ version: import("@scalar/typebox").TString;
1318
+ commitHash: import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
1319
+ conflictCheckedAgainstHash: import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
1320
+ hasConflict: import("@scalar/typebox").TOptional<import("@scalar/typebox").TBoolean>;
1317
1321
  }>>;
1318
1322
  }>, import("@scalar/typebox").TObject<{
1319
1323
  'x-pre-request': import("@scalar/typebox").TOptional<import("@scalar/typebox").TString>;
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/schemas/reference-config/settings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAG7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAEhE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW1B,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,YAAY,CAAC,QAAQ,CAKlD,CAAA"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/schemas/reference-config/settings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAG7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAEhE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW1B,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,YAAY,CAAC,QAAQ,CAKlD,CAAA"}
@@ -107,6 +107,10 @@ export declare const generateSchema: (maybeRef: (inner: Schema) => Schema) => im
107
107
  'x-scalar-registry-meta': import("@scalar/validation").OptionalSchema<import("@scalar/validation").ObjectSchema<{
108
108
  namespace: import("@scalar/validation").StringSchema;
109
109
  slug: import("@scalar/validation").StringSchema;
110
+ version: import("@scalar/validation").StringSchema;
111
+ commitHash: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
112
+ conflictCheckedAgainstHash: import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
113
+ hasConflict: import("@scalar/validation").OptionalSchema<import("@scalar/validation").BooleanSchema>;
110
114
  }>>;
111
115
  }>, import("@scalar/validation").ObjectSchema<{
112
116
  'x-pre-request': import("@scalar/validation").OptionalSchema<import("@scalar/validation").StringSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/schemas/v3.1/openapi/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EAaZ,MAAM,oBAAoB,CAAA;AA0C3B,eAAO,MAAM,cAAc,GAAI,UAAU,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAghCjE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/schemas/v3.1/openapi/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EAaZ,MAAM,oBAAoB,CAAA;AA0C3B,eAAO,MAAM,cAAc,GAAI,UAAU,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAghCjE,CAAA"}