@scalar/workspace-store 0.49.3 → 0.51.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.
- package/CHANGELOG.md +108 -0
- package/dist/client.d.ts +2 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +38 -15
- package/dist/entities/auth/schema.d.ts +10 -5
- package/dist/entities/auth/schema.d.ts.map +1 -1
- package/dist/events/bus.d.ts +70 -0
- package/dist/events/bus.d.ts.map +1 -1
- package/dist/events/bus.js +48 -11
- package/dist/events/definitions/analytics.d.ts +0 -12
- package/dist/events/definitions/analytics.d.ts.map +1 -1
- package/dist/events/definitions/auth.d.ts +44 -6
- package/dist/events/definitions/auth.d.ts.map +1 -1
- package/dist/events/definitions/index.d.ts +3 -2
- package/dist/events/definitions/index.d.ts.map +1 -1
- package/dist/events/definitions/log.d.ts +18 -0
- package/dist/events/definitions/log.d.ts.map +1 -0
- package/dist/events/definitions/log.js +1 -0
- package/dist/events/definitions/operation.d.ts +1 -1
- package/dist/events/definitions/operation.d.ts.map +1 -1
- package/dist/events/definitions/ui.d.ts +18 -1
- package/dist/events/definitions/ui.d.ts.map +1 -1
- package/dist/events/index.d.ts +1 -1
- package/dist/events/index.d.ts.map +1 -1
- package/dist/helpers/get-resolved-ref.d.ts +6 -0
- package/dist/helpers/get-resolved-ref.d.ts.map +1 -1
- package/dist/helpers/get-resolved-ref.js +9 -0
- package/dist/helpers/is-hidden.d.ts +8 -0
- package/dist/helpers/is-hidden.d.ts.map +1 -0
- package/dist/helpers/is-hidden.js +5 -0
- package/dist/mutators/auth.d.ts +22 -3
- package/dist/mutators/auth.d.ts.map +1 -1
- package/dist/mutators/auth.js +213 -37
- package/dist/mutators/cookie.d.ts.map +1 -1
- package/dist/mutators/cookie.js +3 -2
- package/dist/mutators/document.d.ts.map +1 -1
- package/dist/mutators/document.js +5 -4
- package/dist/mutators/environment.d.ts.map +1 -1
- package/dist/mutators/environment.js +12 -5
- package/dist/mutators/index.d.ts +4 -0
- package/dist/mutators/index.d.ts.map +1 -1
- package/dist/mutators/operation/body.d.ts.map +1 -1
- package/dist/mutators/operation/body.js +6 -2
- package/dist/mutators/operation/extensions.d.ts.map +1 -1
- package/dist/mutators/operation/extensions.js +5 -1
- package/dist/mutators/operation/history.d.ts.map +1 -1
- package/dist/mutators/operation/history.js +7 -3
- package/dist/mutators/operation/operation.d.ts.map +1 -1
- package/dist/mutators/operation/operation.js +15 -10
- package/dist/mutators/operation/parameters.d.ts.map +1 -1
- package/dist/mutators/operation/parameters.js +12 -5
- package/dist/mutators/server.d.ts.map +1 -1
- package/dist/mutators/server.js +2 -1
- package/dist/mutators/tag.d.ts.map +1 -1
- package/dist/mutators/tag.js +9 -4
- package/dist/navigation/helpers/get-openapi-object.d.ts.map +1 -1
- package/dist/navigation/helpers/get-openapi-object.js +5 -0
- package/dist/navigation/helpers/traverse-paths.d.ts.map +1 -1
- package/dist/navigation/helpers/traverse-paths.js +4 -3
- package/dist/navigation/helpers/traverse-schemas.d.ts.map +1 -1
- package/dist/navigation/helpers/traverse-schemas.js +9 -4
- package/dist/navigation/helpers/traverse-tags.d.ts.map +1 -1
- package/dist/navigation/helpers/traverse-tags.js +2 -1
- package/dist/navigation/helpers/traverse-webhooks.d.ts.map +1 -1
- package/dist/navigation/helpers/traverse-webhooks.js +4 -3
- package/dist/navigation/helpers/update-order-ids.d.ts.map +1 -1
- package/dist/navigation/helpers/update-order-ids.js +4 -1
- package/dist/persistence/index.d.ts +123 -80
- package/dist/persistence/index.d.ts.map +1 -1
- package/dist/persistence/index.js +233 -167
- package/dist/persistence/migrations/v2-team-to-local.d.ts +22 -5
- package/dist/persistence/migrations/v2-team-to-local.d.ts.map +1 -1
- package/dist/persistence/migrations/v2-team-to-local.js +195 -137
- package/dist/request-example/builder/body/build-request-body.d.ts.map +1 -1
- package/dist/request-example/builder/body/build-request-body.js +1 -1
- package/dist/request-example/builder/build-request.d.ts +24 -3
- package/dist/request-example/builder/build-request.d.ts.map +1 -1
- package/dist/request-example/builder/build-request.js +89 -18
- package/dist/request-example/builder/index.d.ts +2 -1
- package/dist/request-example/builder/index.d.ts.map +1 -1
- package/dist/request-example/builder/index.js +2 -1
- package/dist/request-example/builder/request-factory.d.ts.map +1 -1
- package/dist/request-example/builder/request-factory.js +5 -8
- package/dist/request-example/builder/resolve-request-factory-url.d.ts +18 -1
- package/dist/request-example/builder/resolve-request-factory-url.d.ts.map +1 -1
- package/dist/request-example/builder/resolve-request-factory-url.js +29 -4
- package/dist/request-example/context/environment.d.ts.map +1 -1
- package/dist/request-example/context/environment.js +2 -1
- package/dist/request-example/context/get-request-example-context.d.ts.map +1 -1
- package/dist/request-example/context/get-request-example-context.js +7 -0
- package/dist/request-example/context/headers.d.ts +28 -13
- package/dist/request-example/context/headers.d.ts.map +1 -1
- package/dist/request-example/context/headers.js +84 -19
- package/dist/request-example/context/index.d.ts +1 -0
- package/dist/request-example/context/index.d.ts.map +1 -1
- package/dist/request-example/context/index.js +1 -0
- package/dist/request-example/context/security/get-selected-security.d.ts.map +1 -1
- package/dist/request-example/context/security/get-selected-security.js +3 -6
- package/dist/request-example/context/servers.d.ts.map +1 -1
- package/dist/request-example/context/servers.js +3 -3
- package/dist/request-example/index.d.ts +3 -3
- package/dist/request-example/index.d.ts.map +1 -1
- package/dist/request-example/index.js +2 -2
- package/dist/resolve.d.ts.map +1 -1
- package/dist/resolve.js +1 -8
- package/dist/schemas/asyncapi/asyncapi-document.d.ts +79 -0
- package/dist/schemas/asyncapi/asyncapi-document.d.ts.map +1 -0
- package/dist/schemas/asyncapi/asyncapi-document.js +58 -0
- package/dist/schemas/extensions/document/workspace-managed-extensions.d.ts +25 -0
- package/dist/schemas/extensions/document/workspace-managed-extensions.d.ts.map +1 -0
- package/dist/schemas/extensions/document/workspace-managed-extensions.js +26 -0
- package/dist/schemas/inmemory-workspace.d.ts +3 -4631
- package/dist/schemas/inmemory-workspace.d.ts.map +1 -1
- package/dist/schemas/inmemory-workspace.js +1 -15
- package/dist/schemas/reference-config/index.d.ts +3 -2
- package/dist/schemas/reference-config/index.d.ts.map +1 -1
- package/dist/schemas/reference-config/settings.d.ts +2 -1
- package/dist/schemas/reference-config/settings.d.ts.map +1 -1
- package/dist/schemas/type-guards.d.ts +24 -0
- package/dist/schemas/type-guards.d.ts.map +1 -0
- package/dist/schemas/type-guards.js +35 -0
- package/dist/schemas/v3.1/openapi/index.d.ts +2 -1
- package/dist/schemas/v3.1/openapi/index.d.ts.map +1 -1
- package/dist/schemas/v3.1/openapi/index.js +3 -3
- package/dist/schemas/v3.1/strict/openapi-document.d.ts +74 -39
- package/dist/schemas/v3.1/strict/openapi-document.d.ts.map +1 -1
- package/dist/schemas/v3.1/strict/openapi-document.js +6 -2
- package/dist/schemas/workspace-specification/index.d.ts +1 -1
- package/dist/schemas/workspace.d.ts +15 -4377
- package/dist/schemas/workspace.d.ts.map +1 -1
- package/dist/schemas/workspace.js +13 -8
- package/dist/schemas.d.ts +3 -1
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +3 -1
- package/package.json +7 -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
|
-
|
|
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
|
|
14
|
-
*
|
|
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
|
|
36
|
+
export declare const generateWorkspaceUid: () => string;
|
|
17
37
|
/**
|
|
18
38
|
* Creates the persistence layer for the workspace store using IndexedDB.
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
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
|
-
*
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
73
|
-
*
|
|
74
|
-
*
|
|
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: (
|
|
77
|
-
teamSlug: string;
|
|
78
|
-
slug: string;
|
|
79
|
-
}) | undefined>;
|
|
94
|
+
getItem: (workspaceUid: string) => Promise<(WorkspaceStoreShape & WorkspaceRecord) | undefined>;
|
|
80
95
|
/**
|
|
81
|
-
* Retrieves
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
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
|
-
|
|
87
|
-
name: string;
|
|
88
|
-
slug: string;
|
|
89
|
-
teamSlug: string;
|
|
90
|
-
}[]>;
|
|
103
|
+
getItemBySlug: ({ teamSlug, slug, }: WorkspaceSlugKey) => Promise<(WorkspaceStoreShape & WorkspaceRecord) | undefined>;
|
|
91
104
|
/**
|
|
92
|
-
* Retrieves all
|
|
93
|
-
*
|
|
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
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
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
|
-
*
|
|
102
|
-
*
|
|
103
|
-
*
|
|
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
|
-
|
|
106
|
-
|
|
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
|
-
|
|
109
|
-
}>;
|
|
140
|
+
}, value: WorkspaceStoreShape) => Promise<WorkspaceRecord>;
|
|
110
141
|
/**
|
|
111
|
-
* Deletes an entire workspace and
|
|
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: (
|
|
146
|
+
deleteItem: (workspaceUid: string) => Promise<void>;
|
|
114
147
|
/**
|
|
115
|
-
* Deletes a single document and all related
|
|
116
|
-
* for the given workspace
|
|
148
|
+
* Deletes a single document and all related chunks (overrides,
|
|
149
|
+
* history, auth, ...) for the given workspace/document pair.
|
|
117
150
|
*/
|
|
118
|
-
deleteDocument: (
|
|
151
|
+
deleteDocument: (workspaceUid: string, documentName: string) => Promise<void>;
|
|
119
152
|
/**
|
|
120
|
-
* Updates the name of an existing workspace.
|
|
121
|
-
*
|
|
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: (
|
|
124
|
-
name: string;
|
|
125
|
-
slug: string;
|
|
126
|
-
teamSlug: string;
|
|
127
|
-
} | undefined>;
|
|
156
|
+
updateName: (workspaceUid: string, name: string) => Promise<WorkspaceRecord | undefined>;
|
|
128
157
|
/**
|
|
129
|
-
*
|
|
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
|
-
|
|
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,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/persistence/index.ts"],"names":[],"mappings":"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"}
|