@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
@@ -28,6 +28,11 @@ import { unpackProxyObject } from '../helpers/unpack-proxy.js';
28
28
  export const createWorkspaceEventBus = (options = {}) => {
29
29
  const { debug = false } = options;
30
30
  const events = new Map();
31
+ /**
32
+ * Set of wildcard listeners that receive every emitted event.
33
+ * Using a Set keeps add/remove O(1) and iteration order stable.
34
+ */
35
+ const anyListeners = new Set();
31
36
  const pendingLogs = [];
32
37
  let logTimeout = null;
33
38
  /**
@@ -111,6 +116,15 @@ export const createWorkspaceEventBus = (options = {}) => {
111
116
  events.delete(event);
112
117
  }
113
118
  };
119
+ const onAny = (listener) => {
120
+ anyListeners.add(listener);
121
+ log(`Added wildcard listener (${anyListeners.size} total)`);
122
+ return () => offAny(listener);
123
+ };
124
+ const offAny = (listener) => {
125
+ anyListeners.delete(listener);
126
+ log(`Removed wildcard listener (${anyListeners.size} remaining)`);
127
+ };
114
128
  /**
115
129
  * Internal function that performs the actual emission logic
116
130
  * This is extracted so it can be wrapped with debouncing
@@ -120,21 +134,42 @@ export const createWorkspaceEventBus = (options = {}) => {
120
134
  // but are always assigning plain objects 5 level depth.
121
135
  const unpackedPayload = options?.skipUnpackProxy ? payload : unpackProxyObject(payload, { depth: 5 });
122
136
  const listeners = events.get(event);
123
- if (!listeners || listeners.size === 0) {
137
+ const hasExactListeners = listeners !== undefined && listeners.size > 0;
138
+ if (!hasExactListeners && anyListeners.size === 0) {
124
139
  log(`🛑 No listeners for "${String(event)}"`);
125
140
  return;
126
141
  }
127
- log(`Emitting "${String(event)}" to ${listeners.size} listener(s)`, payload);
128
- // Convert to array to avoid issues if listeners modify the set during iteration
129
- const listenersArray = Array.from(listeners);
130
- // Execute all listeners
131
- for (const listener of listenersArray) {
132
- try {
133
- listener(unpackedPayload);
142
+ // Execute exact-match listeners first so the deterministic, type-specific
143
+ // handlers see the event before any generic/wildcard observers.
144
+ if (hasExactListeners && listeners) {
145
+ log(`Emitting "${String(event)}" to ${listeners.size} listener(s)`, payload);
146
+ // Convert to array to avoid issues if listeners modify the set during iteration
147
+ const listenersArray = Array.from(listeners);
148
+ for (const listener of listenersArray) {
149
+ try {
150
+ listener(unpackedPayload);
151
+ }
152
+ catch (error) {
153
+ // Do not let one listener error break other listeners
154
+ console.error(`[EventBus] Error in listener for "${String(event)}":`, error);
155
+ }
134
156
  }
135
- catch (error) {
136
- // Do not let one listener error break other listeners
137
- console.error(`[EventBus] Error in listener for "${String(event)}":`, error);
157
+ }
158
+ // Notify wildcard listeners after specific ones have run.
159
+ if (anyListeners.size > 0) {
160
+ log(`Emitting "${String(event)}" to ${anyListeners.size} wildcard listener(s)`, payload);
161
+ // Build the tagged-union argument once and reuse it across listeners.
162
+ // The cast bridges from the loose internal `(event, payload)` pair to
163
+ // the discriminated-union shape exposed to consumers.
164
+ const anyEvent = { event, payload: unpackedPayload };
165
+ const anyListenersArray = Array.from(anyListeners);
166
+ for (const listener of anyListenersArray) {
167
+ try {
168
+ listener(anyEvent);
169
+ }
170
+ catch (error) {
171
+ console.error(`[EventBus] Error in wildcard listener for "${String(event)}":`, error);
172
+ }
138
173
  }
139
174
  }
140
175
  };
@@ -157,6 +192,8 @@ export const createWorkspaceEventBus = (options = {}) => {
157
192
  on,
158
193
  once,
159
194
  off,
195
+ onAny,
196
+ offAny,
160
197
  emit,
161
198
  flushDebouncedEmits,
162
199
  };
@@ -1,17 +1,5 @@
1
- import type { HttpMethod } from '@scalar/helpers/http/http-methods';
2
1
  /** Event definitions for analytics/callbacks/hooks */
3
2
  export type AnalyticsEvents = {
4
- /**
5
- * Fired when a request is sent through the API client
6
- */
7
- 'analytics:on:send-request': {
8
- /** The HTTP method of the request */
9
- method: HttpMethod;
10
- /** The path of the request */
11
- path: string;
12
- /** The body of the request */
13
- body: any;
14
- };
15
3
  /**
16
4
  * Fired when the user clicks the "Show more" button on the references
17
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../../src/events/definitions/analytics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAEnE,sDAAsD;AACtD,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,2BAA2B,EAAE;QAC3B,qCAAqC;QACrC,MAAM,EAAE,UAAU,CAAA;QAClB,8BAA8B;QAC9B,IAAI,EAAE,MAAM,CAAA;QACZ,8BAA8B;QAC9B,IAAI,EAAE,GAAG,CAAA;KACV,CAAA;IACD;;OAEG;IACH,wBAAwB,EAAE;QACxB,wCAAwC;QACxC,EAAE,EAAE,MAAM,CAAA;KACX,CAAA;IACD;;OAEG;IACH,qBAAqB,EAAE,SAAS,CAAA;CACjC,CAAA"}
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../../src/events/definitions/analytics.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,wBAAwB,EAAE;QACxB,wCAAwC;QACxC,EAAE,EAAE,MAAM,CAAA;KACX,CAAA;IACD;;OAEG;IACH,qBAAqB,EAAE,SAAS,CAAA;CACjC,CAAA"}
@@ -120,15 +120,53 @@ export type AuthEvents = {
120
120
  name: string;
121
121
  /** The scopes to update the selected scopes with */
122
122
  scopes: string[];
123
- /** We can add a new scope as well then select it */
124
- newScopePayload?: {
125
- name: string;
126
- description: string;
127
- flowType: keyof OAuthFlowsObject;
128
- };
129
123
  /** Meta information for the auth update */
130
124
  meta: AuthMeta;
131
125
  };
126
+ /**
127
+ * Add a new scope to an OAuth2 flow, or rename / update the description of an existing scope.
128
+ *
129
+ * - When `oldScope` is omitted, a new scope is added (no-op if the scope already exists).
130
+ * - When `oldScope` is provided, the existing scope is replaced. The `scope` key may equal
131
+ * `oldScope` for description-only updates.
132
+ * - When `enable` is true, the resulting `scope` is additionally added to every selection
133
+ * requirement (document- and operation-level) that already references this security scheme,
134
+ * so callers do not need a follow-up `auth:update:selected-scopes`.
135
+ *
136
+ * Renames always rewrite the previous scope key inside matching selections. `enable` is
137
+ * intended for "add and select" flows where the new scope should be immediately active.
138
+ */
139
+ 'auth:upsert:scopes': {
140
+ /** The name of the security scheme that owns the flow */
141
+ name: string;
142
+ /** Which OAuth flow on the scheme to update */
143
+ flowType: keyof OAuthFlowsObject;
144
+ /** The desired scope key */
145
+ scope: string;
146
+ /** Description for the scope */
147
+ description: string;
148
+ /** When set, the existing scope with this key is replaced (rename + description update) */
149
+ oldScope?: string;
150
+ /**
151
+ * When true, ensure the resulting `scope` is included in every selection requirement
152
+ * (document- and operation-level) that references this security scheme by name.
153
+ */
154
+ enable?: boolean;
155
+ };
156
+ /**
157
+ * Remove a scope from an OAuth2 flow.
158
+ *
159
+ * Selection state is owned by `auth:update:selected-scopes`. Callers that want to drop the
160
+ * removed scope from current selections must emit `auth:update:selected-scopes` separately.
161
+ */
162
+ 'auth:delete:scopes': {
163
+ /** The name of the security scheme that owns the flow */
164
+ name: string;
165
+ /** Which OAuth flow on the scheme to delete the scope from */
166
+ flowType: keyof OAuthFlowsObject;
167
+ /** The scope key to delete */
168
+ scope: string;
169
+ };
132
170
  /**
133
171
  * Delete one or more security schemes from the OpenAPI document.
134
172
  *
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/events/definitions/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,KAAK,EACV,gBAAgB,EAChB,yBAAyB,EACzB,oBAAoB,EACrB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAExH;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,GAChB;IACE,IAAI,EAAE,UAAU,CAAA;CACjB,GACD;IACE,IAAI,EAAE,WAAW,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,UAAU,CAAA;CACnB,CAAA;AAEL;;;;;;;;GAQG;AACH,KAAK,2BAA2B,GAC5B,CAAC;IACC,IAAI,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,GACtC,CAAC;IACC,IAAI,EAAE,QAAQ,CAAA;CACf,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,GACxC,CAAC;IACC,IAAI,EAAE,QAAQ,CAAA;CACf,GAAG,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,GAC5C,CAAC;IACC,IAAI,EAAE,eAAe,CAAA;CACtB,GAAG,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;AAEnD,iCAAiC;AACjC,MAAM,MAAM,UAAU,GAAG;IACvB;;;;;;OAMG;IACH,uCAAuC,EAAE;QACvC,2EAA2E;QAC3E,oBAAoB,EAAE,yBAAyB,EAAE,CAAA;QACjD,wEAAwE;QACxE,UAAU,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,oBAAoB,CAAA;SAAE,EAAE,CAAA;QAC5D,2DAA2D;QAC3D,IAAI,EAAE,QAAQ,CAAA;KACf,CAAA;IAED;;;;;OAKG;IACH,0BAA0B,EAAE;QAC1B,iDAAiD;QACjD,KAAK,EAAE,MAAM,CAAA;QACb,2CAA2C;QAC3C,IAAI,EAAE,QAAQ,CAAA;KACf,CAAA;IAED;;;;OAIG;IACH,6BAA6B,EAAE;QAC7B,kDAAkD;QAClD,OAAO,EAAE,2BAA2B,CAAA;QACpC,gDAAgD;QAChD,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IAED;;;;OAIG;IACH,qCAAqC,EAAE;QACrC,kDAAkD;QAClD,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG;YAAE,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAA;SAAE,CAAA;QACjF,gDAAgD;QAChD,IAAI,EAAE,MAAM,CAAA;QACZ,+GAA+G;QAC/G,SAAS,CAAC,EAAE,OAAO,CAAA;KACpB,CAAA;IAED;;;;OAIG;IACH,sCAAsC,EAAE;QACtC,2CAA2C;QAC3C,IAAI,EAAE,QAAQ,CAAA;KACf,CAAA;IAED;;OAEG;IACH,oCAAoC,EAAE;QACpC,+CAA+C;QAC/C,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IAED;;;OAGG;IACH,6BAA6B,EAAE;QAC7B,6DAA6D;QAC7D,EAAE,EAAE,MAAM,EAAE,CAAA;QACZ,+DAA+D;QAC/D,IAAI,EAAE,MAAM,CAAA;QACZ,oDAAoD;QACpD,MAAM,EAAE,MAAM,EAAE,CAAA;QAChB,oDAAoD;QACpD,eAAe,CAAC,EAAE;YAChB,IAAI,EAAE,MAAM,CAAA;YACZ,WAAW,EAAE,MAAM,CAAA;YACnB,QAAQ,EAAE,MAAM,gBAAgB,CAAA;SACjC,CAAA;QACD,2CAA2C;QAC3C,IAAI,EAAE,QAAQ,CAAA;KACf,CAAA;IAED;;;;;;;;;OASG;IACH,6BAA6B,EAAE;QAC7B,8CAA8C;QAC9C,KAAK,EAAE,MAAM,EAAE,CAAA;KAChB,CAAA;CACF,CAAA"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/events/definitions/auth.ts"],"names":[],"mappings":"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"}
@@ -7,14 +7,15 @@ import type { AnalyticsEvents } from './analytics.js';
7
7
  import type { AuthEvents } from './auth.js';
8
8
  import type { CookieEvents } from './cookie.js';
9
9
  import type { DocumentEvents } from './document.js';
10
+ import type { LogEvents } from './log.js';
10
11
  import type { MetaEvents } from './meta.js';
11
12
  import type { OperationEvents } from './operation.js';
12
13
  import type { ServerEvents } from './server.js';
13
14
  import type { UIEvents } from './ui.js';
14
- export type ApiReferenceEvents = AuthEvents & AnalyticsEvents & CookieEvents & WorkspaceEvents & DocumentEvents & EnvironmentEvents & MetaEvents & OperationEvents & ServerEvents & TabEvents & UIEvents & TagEvents & HooksEvents;
15
+ export type ApiReferenceEvents = AuthEvents & AnalyticsEvents & CookieEvents & WorkspaceEvents & DocumentEvents & EnvironmentEvents & MetaEvents & LogEvents & OperationEvents & ServerEvents & TabEvents & UIEvents & TagEvents & HooksEvents;
15
16
  export type { AuthMeta } from './auth.js';
16
17
  export type { CollectionType } from './common.js';
17
18
  export type { OperationEvents, OperationExampleMeta, OperationMeta } from './operation.js';
18
- export type { CommandPaletteAction, CommandPalettePayload, KeyboardEventPayload } from './ui.js';
19
19
  export type { ServerMeta } from './server.js';
20
+ export type { CommandPaletteAction, CommandPalettePayload, KeyboardEventPayload } from './ui.js';
20
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/events/definitions/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAErE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAEpC,MAAM,MAAM,kBAAkB,GAAG,UAAU,GACzC,eAAe,GACf,YAAY,GACZ,eAAe,GACf,cAAc,GACd,iBAAiB,GACjB,UAAU,GACV,eAAe,GACf,YAAY,GACZ,SAAS,GACT,QAAQ,GACR,SAAS,GACT,WAAW,CAAA;AAEb,YAAY,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACtC,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACvF,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,MAAM,CAAA;AAC7F,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/events/definitions/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAErE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAEpC,MAAM,MAAM,kBAAkB,GAAG,UAAU,GACzC,eAAe,GACf,YAAY,GACZ,eAAe,GACf,cAAc,GACd,iBAAiB,GACjB,UAAU,GACV,SAAS,GACT,eAAe,GACf,YAAY,GACZ,SAAS,GACT,QAAQ,GACR,SAAS,GACT,WAAW,CAAA;AAEb,YAAY,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACtC,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACvF,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAC1C,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,MAAM,CAAA"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Used for generic logging, debugging and analytics
3
+ */
4
+ export type LogEvents = {
5
+ /** Fired when the user clicks any login button */
6
+ 'log:login-click': undefined;
7
+ /** Fired when the user clicks the register button */
8
+ 'log:register-click': undefined;
9
+ /** Fired when a user successfully authenticates */
10
+ 'log:user-login': {
11
+ uid: string;
12
+ email?: string;
13
+ teamUid: string;
14
+ };
15
+ /** Fired when the current user logs out */
16
+ 'log:user-logout': undefined;
17
+ };
18
+ //# sourceMappingURL=log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../src/events/definitions/log.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,kDAAkD;IAClD,iBAAiB,EAAE,SAAS,CAAA;IAC5B,qDAAqD;IACrD,oBAAoB,EAAE,SAAS,CAAA;IAC/B,mDAAmD;IACnD,gBAAgB,EAAE;QAChB,GAAG,EAAE,MAAM,CAAA;QACX,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,2CAA2C;IAC3C,iBAAiB,EAAE,SAAS,CAAA;CAC7B,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -170,7 +170,7 @@ export type OperationEvents = {
170
170
  */
171
171
  payload: {
172
172
  name: string;
173
- value: string;
173
+ value: string | Record<string, unknown>;
174
174
  isDisabled: boolean;
175
175
  };
176
176
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../../../src/events/definitions/operation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../../../src/events/definitions/operation.ts"],"names":[],"mappings":"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"}
@@ -144,6 +144,15 @@ export type UIEvents = {
144
144
  * screen), in which case no payload is provided.
145
145
  */
146
146
  'ui:open:settings': KeyboardEventPayload | undefined;
147
+ /**
148
+ * Open the "Create workspace" modal.
149
+ *
150
+ * Lets surfaces that do not have direct access to the modal state (for
151
+ * example the mobile menu rendered by the outer app shell, outside of the
152
+ * component that owns the modal) request that the modal be shown without
153
+ * coupling them to the modal's implementation.
154
+ */
155
+ 'ui:open:create-workspace': undefined;
147
156
  /**
148
157
  * Open the API Client modal to a specific operation.
149
158
  * This allows deep linking into specific endpoints from external sources.
@@ -176,6 +185,14 @@ export type UIEvents = {
176
185
  * If undefined is passed, opens the palette without a pre-selected action.
177
186
  */
178
187
  'ui:open:command-palette': CommandPaletteAction | KeyboardEventPayload | undefined;
188
+ /**
189
+ * Request persisting the active document from a keyboard shortcut (Cmd/Ctrl+S).
190
+ *
191
+ * Hosts that show a local-only Save control (for example scalar-app) should
192
+ * listen, call `event.preventDefault()` when they handle the shortcut, and
193
+ * run their save path only when a save is actually allowed.
194
+ */
195
+ 'ui:save:local-document': KeyboardEventPayload;
179
196
  /**
180
197
  * Toggle a navigation item's expanded state.
181
198
  * Used for collapsible items like tags, folders, or operation groups.
@@ -252,7 +269,7 @@ export type UIEvents = {
252
269
  exampleName: string;
253
270
  } | {
254
271
  page: 'operation';
255
- path: 'overview' | 'servers' | 'authentication';
272
+ path: 'overview' | 'servers' | 'authentication' | 'editor';
256
273
  operationPath: string;
257
274
  method: HttpMethod;
258
275
  documentSlug?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../src/events/definitions/ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../src/events/definitions/ui.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export { type WorkspaceEventBus, createWorkspaceEventBus } from './bus.js';
1
+ export { type AnyEvent, type AnyEventListener, type WorkspaceEventBus, createWorkspaceEventBus } from './bus.js';
2
2
  export type { ApiReferenceEvents, AuthMeta, CollectionType, CommandPaletteAction, CommandPalettePayload, KeyboardEventPayload, OperationEvents, OperationExampleMeta, OperationMeta, ServerMeta, } from './definitions/index.js';
3
3
  export { onCustomEvent } from './listeners.js';
4
4
  export { emitCustomEvent } from './old-definitions.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,OAAO,CAAA;AACvE,YAAY,EACV,kBAAkB,EAClB,QAAQ,EACR,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,UAAU,GACX,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,OAAO,CAAA;AAC7G,YAAY,EACV,kBAAkB,EAClB,QAAQ,EACR,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,UAAU,GACX,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA"}
@@ -3,6 +3,12 @@ export type RefNode<Node> = Partial<Node> & {
3
3
  '$ref-value': Node;
4
4
  };
5
5
  export type NodeInput<Node> = Node | RefNode<Node>;
6
+ /**
7
+ * Transform for getResolvedRef that merges sibling properties of a $ref wrapper
8
+ * onto the dereferenced value. Wrapper siblings take precedence over the resolved value,
9
+ * which matches OpenAPI 3.1 semantics where annotations alongside $ref override the target.
10
+ */
11
+ export declare const mergeSiblingReferences: <Node>(node: RefNode<Node>) => Node;
6
12
  /**
7
13
  * Resolves a node that may be a $ref object to its actual value.
8
14
  * If the node contains a $ref, applies the provided transform (default: returns '$ref-value').
@@ -1 +1 @@
1
- {"version":3,"file":"get-resolved-ref.d.ts","sourceRoot":"","sources":["../../src/helpers/get-resolved-ref.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,IAAI,CAAA;CAAE,CAAA;AAChF,MAAM,MAAM,SAAS,CAAC,IAAI,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAMlD;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,IAAI,EACjC,MAAM,SAAS,CAAC,IAAI,CAAC,EACrB,YAAW,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAuB,SAO5D,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA"}
1
+ {"version":3,"file":"get-resolved-ref.d.ts","sourceRoot":"","sources":["../../src/helpers/get-resolved-ref.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,IAAI,CAAA;CAAE,CAAA;AAChF,MAAM,MAAM,SAAS,CAAC,IAAI,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAMlD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GAAI,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAG,IAGlE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,IAAI,EACjC,MAAM,SAAS,CAAC,IAAI,CAAC,EACrB,YAAW,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAuB,SAO5D,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA"}
@@ -1,6 +1,15 @@
1
1
  const defaultTransform = (node) => {
2
2
  return node['$ref-value'];
3
3
  };
4
+ /**
5
+ * Transform for getResolvedRef that merges sibling properties of a $ref wrapper
6
+ * onto the dereferenced value. Wrapper siblings take precedence over the resolved value,
7
+ * which matches OpenAPI 3.1 semantics where annotations alongside $ref override the target.
8
+ */
9
+ export const mergeSiblingReferences = (node) => {
10
+ const { '$ref-value': value, ...rest } = node;
11
+ return { ...value, ...rest };
12
+ };
4
13
  /**
5
14
  * Resolves a node that may be a $ref object to its actual value.
6
15
  * If the node contains a $ref, applies the provided transform (default: returns '$ref-value').
@@ -0,0 +1,8 @@
1
+ import type { XInternal } from '../schemas/extensions/document/x-internal.js';
2
+ import type { XScalarIgnore } from '../schemas/extensions/document/x-scalar-ignore.js';
3
+ /**
4
+ * Returns true when an OpenAPI entity (tag, operation, schema, …) is marked as hidden
5
+ * from navigation via `x-internal` or `x-scalar-ignore`.
6
+ */
7
+ export declare const isHidden: (entity: (XInternal & XScalarIgnore) | null | undefined) => boolean;
8
+ //# sourceMappingURL=is-hidden.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-hidden.d.ts","sourceRoot":"","sources":["../../src/helpers/is-hidden.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAA;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAA;AAElF;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,QAAQ,CAAC,SAAS,GAAG,aAAa,CAAC,GAAG,IAAI,GAAG,SAAS,KAAG,OAClB,CAAA"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Returns true when an OpenAPI entity (tag, operation, schema, …) is marked as hidden
3
+ * from navigation via `x-internal` or `x-scalar-ignore`.
4
+ */
5
+ export const isHidden = (entity) => Boolean(entity?.['x-internal'] || entity?.['x-scalar-ignore']);
@@ -27,7 +27,7 @@
27
27
  * const target = { age: 30 }
28
28
  * mergeObjects(target, obj) // Safely merges without infinite recursion
29
29
  */
30
- export declare const mergeObjects: <R>(a: Record<string, unknown>, b: Record<string, unknown>,
30
+ export declare const mergeObjects: <R = unknown>(a: Record<string, unknown>, b: Record<string, unknown>,
31
31
  /**
32
32
  * By default we overwrite array indexes, our store is built on this assumption when coercing the document
33
33
  * Alternatively we may want to prevent this behaviour when merging with defaults and replace the whole array instead
@@ -1 +1 @@
1
- {"version":3,"file":"merge-object.d.ts","sourceRoot":"","sources":["../../src/helpers/merge-object.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,EAC5B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;AAC1B;;;GAGG;AACH,uBAAqB,EACrB,QAAO,GAAG,CAAC,OAAO,CAAa,KAC9B,CA4CF,CAAA"}
1
+ {"version":3,"file":"merge-object.d.ts","sourceRoot":"","sources":["../../src/helpers/merge-object.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,GAAG,OAAO,EACtC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;AAC1B;;;GAGG;AACH,uBAAqB,EACrB,QAAO,GAAG,CAAC,OAAO,CAAa,KAC9B,CA4CF,CAAA"}
@@ -80,14 +80,14 @@ export declare const updateSecurityScheme: (document: WorkspaceDocument | null,
80
80
  export declare const updateSelectedAuthTab: (store: WorkspaceStore | null, document: WorkspaceDocument | null, { index, meta }: AuthEvents["auth:update:active-index"]) => void;
81
81
  /**
82
82
  * Updates the scopes for a specific security requirement in the selected security schemes of
83
- * a document or operation. Also allow to add a new scope to the scheme.
83
+ * a document or operation. This mutator only touches selection state; managing the scope
84
+ * definitions on the OAuth flow is handled by `upsertScope` and `deleteScope`.
84
85
  *
85
86
  * @param document - The OpenAPI WorkspaceDocument to update.
86
87
  * @param id - An array of scheme names that uniquely identifies the target security requirement.
87
88
  * For example: ['OAuth', 'ApiKeyAuth']
88
89
  * @param name - The security scheme name to update scopes for (e.g., 'OAuth').
89
90
  * @param scopes - The new list of scopes to set. For example: ['read:pets', 'write:pets']
90
- * @param newScopePayload - The payload to add a new scope with
91
91
  * @param meta - The context specifying whether the update is at the document-level or operation-level.
92
92
  *
93
93
  * Example usage:
@@ -111,7 +111,24 @@ export declare const updateSelectedAuthTab: (store: WorkspaceStore | null, docum
111
111
  * // After, the first scheme becomes: { "OAuth": ["write:pets"] }
112
112
  * ```
113
113
  */
114
- export declare const updateSelectedScopes: (store: WorkspaceStore | null, document: WorkspaceDocument | null, { id, name, scopes, newScopePayload, meta }: AuthEvents["auth:update:selected-scopes"]) => void;
114
+ export declare const updateSelectedScopes: (store: WorkspaceStore | null, document: WorkspaceDocument | null, { id, name, scopes, meta }: AuthEvents["auth:update:selected-scopes"]) => void;
115
+ /**
116
+ * Adds a new scope to an OAuth flow, or renames / updates the description of an existing one.
117
+ *
118
+ * When `oldScope` differs from `scope`, this mutator also rewrites every selection entry
119
+ * that references the matching security scheme so consumers do not need a follow-up
120
+ * `auth:update:selected-scopes`.
121
+ *
122
+ * When `enable` is true, the resulting `scope` is additionally appended to every selection
123
+ * requirement that already references this security scheme, enabling an "add and select"
124
+ * flow without a separate selection mutation.
125
+ */
126
+ export declare const upsertScope: (store: WorkspaceStore | null, document: WorkspaceDocument | null, { name, flowType, scope, description, oldScope, enable }: AuthEvents["auth:upsert:scopes"]) => void;
127
+ /**
128
+ * Removes a scope from an OAuth flow and strips it from any selection state that references
129
+ * the matching security scheme.
130
+ */
131
+ export declare const deleteScope: (store: WorkspaceStore | null, document: WorkspaceDocument | null, { name, flowType, scope }: AuthEvents["auth:delete:scopes"]) => void;
115
132
  /**
116
133
  * Deletes one or more security schemes from an OpenAPI WorkspaceDocument,
117
134
  * and removes all references to those schemes from selected security, document-level security,
@@ -143,6 +160,8 @@ export declare const authMutatorsFactory: ({ document, store, }: {
143
160
  clearSecuritySchemeSecrets: (payload: AuthEvents["auth:clear:security-scheme-secrets"]) => void;
144
161
  updateSelectedAuthTab: (payload: AuthEvents["auth:update:active-index"]) => void;
145
162
  updateSelectedScopes: (payload: AuthEvents["auth:update:selected-scopes"]) => void;
163
+ upsertScope: (payload: AuthEvents["auth:upsert:scopes"]) => void;
164
+ deleteScope: (payload: AuthEvents["auth:delete:scopes"]) => void;
146
165
  deleteSecurityScheme: (payload: AuthEvents["auth:delete:security-scheme"]) => void;
147
166
  };
148
167
  //# sourceMappingURL=auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/mutators/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAM3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAElD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAA;AAEzE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,6BAA6B,GACxC,OAAO,cAAc,GAAG,IAAI,EAC5B,UAAU,iBAAiB,GAAG,IAAI,EAClC,4CAA4C,UAAU,CAAC,uCAAuC,CAAC,kBA4EhG,CAAA;AAwBD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,oBAAoB,GAC/B,UAAU,iBAAiB,GAAG,IAAI,EAClC,mBAAmB,UAAU,CAAC,6BAA6B,CAAC,+NAc7D,CAAA;AAuCD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,qBAAqB,GAChC,OAAO,cAAc,GAAG,IAAI,EAC5B,UAAU,iBAAiB,GAAG,IAAI,EAClC,iBAAiB,UAAU,CAAC,0BAA0B,CAAC,SAuCxD,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,oBAAoB,GAC/B,OAAO,cAAc,GAAG,IAAI,EAC5B,UAAU,iBAAiB,GAAG,IAAI,EAClC,6CAA6C,UAAU,CAAC,6BAA6B,CAAC,SA6CvF,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,oBAAoB,GAC/B,OAAO,cAAc,GAAG,IAAI,EAC5B,UAAU,iBAAiB,GAAG,IAAI,EAClC,WAAW,UAAU,CAAC,6BAA6B,CAAC,SAgFrD,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,sBAGjC;IACD,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAClC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAA;CAC7B;6CAE4C,UAAU,CAAC,uCAAuC,CAAC;4CAEpD,UAAU,CAAC,sCAAsC,CAAC;oCAE1D,UAAU,CAAC,6BAA6B,CAAC;2CAElC,UAAU,CAAC,qCAAqC,CAAC;0CAElD,UAAU,CAAC,oCAAoC,CAAC;qCAErD,UAAU,CAAC,0BAA0B,CAAC;oCAEvC,UAAU,CAAC,6BAA6B,CAAC;oCAEzC,UAAU,CAAC,6BAA6B,CAAC;CAG5E,CAAA"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/mutators/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAO3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAGlD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAA;AAEzE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,6BAA6B,GACxC,OAAO,cAAc,GAAG,IAAI,EAC5B,UAAU,iBAAiB,GAAG,IAAI,EAClC,4CAA4C,UAAU,CAAC,uCAAuC,CAAC,kBA+EhG,CAAA;AA2BD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,oBAAoB,GAC/B,UAAU,iBAAiB,GAAG,IAAI,EAClC,mBAAmB,UAAU,CAAC,6BAA6B,CAAC,+NAiB7D,CAAA;AA6CD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,qBAAqB,GAChC,OAAO,cAAc,GAAG,IAAI,EAC5B,UAAU,iBAAiB,GAAG,IAAI,EAClC,iBAAiB,UAAU,CAAC,0BAA0B,CAAC,SAiDxD,CAAA;AAaD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,oBAAoB,GAC/B,OAAO,cAAc,GAAG,IAAI,EAC5B,UAAU,iBAAiB,GAAG,IAAI,EAClC,4BAA4B,UAAU,CAAC,6BAA6B,CAAC,SAmDtE,CAAA;AAoED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW,GACtB,OAAO,cAAc,GAAG,IAAI,EAC5B,UAAU,iBAAiB,GAAG,IAAI,EAClC,0DAA0D,UAAU,CAAC,oBAAoB,CAAC,SAuD3F,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,GACtB,OAAO,cAAc,GAAG,IAAI,EAC5B,UAAU,iBAAiB,GAAG,IAAI,EAClC,2BAA2B,UAAU,CAAC,oBAAoB,CAAC,SAuB5D,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,oBAAoB,GAC/B,OAAO,cAAc,GAAG,IAAI,EAC5B,UAAU,iBAAiB,GAAG,IAAI,EAClC,WAAW,UAAU,CAAC,6BAA6B,CAAC,SAwFrD,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,sBAGjC;IACD,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAClC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAA;CAC7B;6CAE4C,UAAU,CAAC,uCAAuC,CAAC;4CAEpD,UAAU,CAAC,sCAAsC,CAAC;oCAE1D,UAAU,CAAC,6BAA6B,CAAC;2CAElC,UAAU,CAAC,qCAAqC,CAAC;0CAElD,UAAU,CAAC,oCAAoC,CAAC;qCAErD,UAAU,CAAC,0BAA0B,CAAC;oCAEvC,UAAU,CAAC,6BAA6B,CAAC;2BAElD,UAAU,CAAC,oBAAoB,CAAC;2BAChC,UAAU,CAAC,oBAAoB,CAAC;oCACvB,UAAU,CAAC,6BAA6B,CAAC;CAG5E,CAAA"}