@redocly/replay 0.29.0-next.0 → 0.29.0-next.10
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/dist/oauth2-redirect.cjs +1 -1
- package/dist/oauth2-redirect.js +1 -1
- package/dist/{replay-AiChatProvider-DUQ2hsZo.js → replay-AiChatProvider-DpL4VGOi.js} +1 -1
- package/dist/{replay-AiChatProvider-DWj4kzZG.js → replay-AiChatProvider-bepFun5r.js} +6 -6
- package/dist/{replay-AiChatSqliteDBStorage-AwkpaRF3.js → replay-AiChatSqliteDBStorage-CRdPx5Sa.js} +1 -1
- package/dist/{replay-AiChatSqliteDBStorage-C-QR82Oo.js → replay-AiChatSqliteDBStorage-aVd3LDCl.js} +1 -1
- package/dist/{replay-AiPanel-jffKz76q.js → replay-AiPanel--HMLwr6r.js} +2 -2
- package/dist/{replay-AiPanel-DkUjsiBN.js → replay-AiPanel-BKfg7MAs.js} +31 -19
- package/dist/{replay-FileWatcher-DUvCC-PY.js → replay-FileWatcher-3myhktuI.js} +2 -2
- package/dist/replay-FileWatcher-U8tCGJmQ.js +1 -0
- package/dist/{replay-SemanticSearchService-CHkdWIcG.js → replay-SemanticSearchService-CDvBVKCZ.js} +21 -21
- package/dist/{replay-SemanticSearchService-VF6AneJg.js → replay-SemanticSearchService-Cp-wanAz.js} +1 -1
- package/dist/{replay-SqliteDBStorage-CSYBSOEO.js → replay-SqliteDBStorage--jwmX3AT.js} +2 -2
- package/dist/{replay-SqliteDBStorage-EbVgsvZY.js → replay-SqliteDBStorage-Cj5ZIqdg.js} +1 -1
- package/dist/{replay-TauriFileSystemAdapter-C2Vhu3Ay.js → replay-TauriFileSystemAdapter-AOzk-WNL.js} +1 -1
- package/dist/{replay-TauriFileSystemAdapter-ZLQv2Jpa.js → replay-TauriFileSystemAdapter-LMZ5eRoj.js} +1 -1
- package/dist/{replay-TauriRootStorage-Bqoz3cld.js → replay-TauriRootStorage-BhvQ6BFn.js} +18 -18
- package/dist/{replay-TauriRootStorage-D8DYLi8t.js → replay-TauriRootStorage-DyTqNU-0.js} +1 -1
- package/dist/{replay-agent-loop-Bm9BCm02.js → replay-agent-loop-DNUWb1DF.js} +1 -1
- package/dist/{replay-agent-loop-De5Qyhy9.js → replay-agent-loop-DThvbk28.js} +5 -5
- package/dist/{replay-ai-chat-mappers-y3wFVHQe.js → replay-ai-chat-mappers-D8OvBATY.js} +1 -1
- package/dist/{replay-ai-chat-mappers-lYbHE7LU.js → replay-ai-chat-mappers-ipRunCfX.js} +1 -1
- package/dist/{replay-create-model-BR_hDMYz.js → replay-create-model-CUvUtbE-.js} +4 -4
- package/dist/{replay-create-model-DeyX2a2A.js → replay-create-model-Dn3cbzAW.js} +3 -3
- package/dist/{replay-db-CmLId87t.js → replay-db-CPZy6PnP.js} +1 -1
- package/dist/{replay-db-8Yfdu1EO.js → replay-db-DY4fjjiR.js} +1 -1
- package/dist/{replay-external-resolver-CkqL8AKf.js → replay-external-resolver-BdGx04jr.js} +1 -1
- package/dist/{replay-external-resolver-BL-garqK.js → replay-external-resolver-CZwjpJeo.js} +2 -2
- package/dist/replay-index-BZjIH-Um.js +4 -0
- package/dist/{replay-index-jkDlU0Lx.js → replay-index-CP1rnqCC.js} +6 -6
- package/dist/{replay-index-BDcjQnps.js → replay-index-CYb9b0_s.js} +55047 -40846
- package/dist/{replay-index-BfiTbks9.js → replay-index-CjqjkFv_.js} +1 -1
- package/dist/replay-index-CwHr913S.js +1 -0
- package/dist/replay-index-D4HNQQF4.js +7219 -0
- package/dist/replay-index-DSQ-8F3e.js +1 -0
- package/dist/{replay-index-BAD7NmvH.js → replay-index-DWjUQcJi.js} +130 -127
- package/dist/{replay-index-DorMJxDL.js → replay-index-DgvAyfxW.js} +1 -1
- package/dist/replay-index-_0zkzi7P.js +1 -0
- package/dist/{replay-index-DiSy_1OY.js → replay-index-pQqtnenT.js} +1 -1
- package/dist/{replay-index-B2_OwIzz.js → replay-index-v2Pf8Cco.js} +1 -1
- package/dist/replay-lint-BP7r4tG0.js +130 -0
- package/dist/replay-lint-QqAHzsqE.js +24688 -0
- package/dist/replay-lint-graphql-CCVEELhe.js +99 -0
- package/dist/replay-lint-graphql-Cyp_8mwt.js +1 -0
- package/dist/replay-oauth2-redirect-handler-BfZRvm6l.js +4 -0
- package/dist/{replay-oauth2-redirect-handler-CqKZB3aV.js → replay-oauth2-redirect-handler-Bq6bpZMm.js} +1 -1
- package/dist/{replay-periodic-revalidation-Dk5I6zpL.js → replay-periodic-revalidation-B6VfUGtP.js} +1 -1
- package/dist/{replay-periodic-revalidation-QN1Nzs5P.js → replay-periodic-revalidation-CUgXefz_.js} +1 -1
- package/dist/{replay-resolve-CiT66v_T.js → replay-resolve-Cw3__dH1.js} +8 -8
- package/dist/{replay-resolve-Bu8MUbb4.js → replay-resolve-D5Egy48_.js} +1 -1
- package/dist/{replay-respect-run-vyQ9167I.js → replay-respect-run-0sGatQSs.js} +3840 -5291
- package/dist/replay-respect-run-BJd-iklq.js +73 -0
- package/dist/{replay-tauri-path-C2_c3UUW.js → replay-tauri-path-BxbpcNzj.js} +1 -1
- package/dist/{replay-tauri-path-nSR1IXTa.js → replay-tauri-path-GA7m-1Yk.js} +2 -2
- package/dist/{replay-useAiChatQueries-Z3RHPc9x.js → replay-useAiChatQueries-5FlnedrO.js} +43 -43
- package/dist/{replay-useAiChatQueries-Di7srepQ.js → replay-useAiChatQueries-DZ38fnMy.js} +461 -461
- package/dist/{replay-validate-key-DTrKCzzp.js → replay-validate-key-BFMbrrwB.js} +1 -1
- package/dist/{replay-validate-key-DCjaZPTw.js → replay-validate-key-DTnhkHza.js} +2 -2
- package/dist/replay.cjs +1 -1
- package/dist/replay.d.ts +54 -2
- package/dist/replay.js +10 -10
- package/package.json +9 -5
- package/dist/replay-FileWatcher-BuLGLLQr.js +0 -1
- package/dist/replay-core-BJmXmoC5.js +0 -1
- package/dist/replay-core-B_hiOZZr.js +0 -10
- package/dist/replay-index-3lwhSmvi.js +0 -1
- package/dist/replay-index-49ub7kjO.js +0 -4
- package/dist/replay-index-CDhdpEsv.js +0 -1
- package/dist/replay-index-DTg-X2sJ.js +0 -7014
- package/dist/replay-index-Oct6Dygd.js +0 -1
- package/dist/replay-lint-BTpTdc1d.js +0 -30232
- package/dist/replay-lint-DvPtwqB_.js +0 -177
- package/dist/replay-lint-graphql-B9_N8uLm.js +0 -1956
- package/dist/replay-lint-graphql-BE8DlHWF.js +0 -3
- package/dist/replay-oauth2-redirect-handler-Bqw5UUvl.js +0 -4
- package/dist/replay-respect-run-_H2BVClG.js +0 -82
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./replay-create-model-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./replay-create-model-Dn3cbzAW.js"),n=require("./replay-index-D4HNQQF4.js"),l=require("./replay-defaults-DVvOnvnR.js");async function s(t,a,o,i){try{const e=r.createModel({provider:t,modelId:o,apiKey:a});return await r.generateText({model:e,prompt:l.VALIDATION_PROMPT,maxOutputTokens:n.MAX_OUTPUT_TOKENS_FOR_VALIDATION,abortSignal:i?.abortSignal}),{valid:!0}}catch(e){if(e instanceof Error&&e.name==="AbortError")throw e;return{valid:!1,error:e instanceof Error&&e.message.length>0?e.message:"Validation failed. Please try again."}}}exports.validateApiKey=s;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { c as i, g as n } from "./replay-create-model-
|
|
2
|
-
import { M as s } from "./replay-index-
|
|
1
|
+
import { c as i, g as n } from "./replay-create-model-CUvUtbE-.js";
|
|
2
|
+
import { M as s } from "./replay-index-CYb9b0_s.js";
|
|
3
3
|
import { V as l } from "./replay-defaults-CzR6jw9a.js";
|
|
4
4
|
async function g(a, e, t, o) {
|
|
5
5
|
try {
|
package/dist/replay.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./replay-index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./replay-index-D4HNQQF4.js"),t=require("./replay-oauth2-redirect-handler-BfZRvm6l.js");exports.AI_PROVIDERS=e.AI_PROVIDERS;exports.AiPanelContext=e.AiPanelContext;exports.EmbeddedReplay=e.EmbeddedReplay;exports.Modal=e.Modal;exports.REUNITE_AI_PROVIDER=e.REUNITE_AI_PROVIDER;exports.Replay=e.Replay;exports.ReplayOverlay=e.ReplayOverlay;Object.defineProperty(exports,"SpanStatusCode",{enumerable:!0,get:()=>e.SpanStatusCode});exports.TelemetryClient=e.TelemetryClient;exports.applyThemeToDOM=e.applyThemeToDOM;exports.createResource=e.createResource;exports.getCurrentTheme=e.getCurrentTheme;exports.loadAgentLoop=e.loadAgentLoop;exports.makeProviderRecord=e.makeProviderRecord;exports.resolveTheme=e.resolveTheme;exports.useAiPanel=e.useAiPanel;exports.useTelemetry=e.useTelemetry;exports.useTelemetryClient=e.useTelemetryClient;exports.validateApiKey=e.validateApiKey;exports.OAuth2Error=t.OAuth2Error;exports.handleOAuth2Redirect=t.handleOAuth2Redirect;
|
package/dist/replay.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ import { JSX } from 'react/jsx-runtime';
|
|
|
9
9
|
import { NamedExoticComponent } from 'react';
|
|
10
10
|
import { ReactElement } from 'react';
|
|
11
11
|
import { ReactNode } from 'react';
|
|
12
|
+
import { ReplaySecurityType } from '../node_modules/@redocly/theme/src/components/ReplaySecuritySchemeActions/ReplaySecuritySchemeActions';
|
|
12
13
|
import { SpanStatusCode } from '@opentelemetry/api';
|
|
13
14
|
import { SystemModelMessage } from 'ai';
|
|
14
15
|
import { Context as TelemetryContext } from '@opentelemetry/api';
|
|
@@ -78,6 +79,14 @@ export declare type AiProviderConfig = {
|
|
|
78
79
|
|
|
79
80
|
export declare type AiProviderName = (typeof AI_PROVIDERS)[keyof typeof AI_PROVIDERS];
|
|
80
81
|
|
|
82
|
+
export declare type ApiEntry = {
|
|
83
|
+
kind: 'openapi';
|
|
84
|
+
definition: {
|
|
85
|
+
document: OpenAPIDefinition;
|
|
86
|
+
};
|
|
87
|
+
operation?: OperationEntry;
|
|
88
|
+
};
|
|
89
|
+
|
|
81
90
|
declare type ApiPath = {
|
|
82
91
|
path: string;
|
|
83
92
|
method: string;
|
|
@@ -459,6 +468,9 @@ declare type OpenAPIOperation_2 = {
|
|
|
459
468
|
};
|
|
460
469
|
servers: Server[];
|
|
461
470
|
security?: OperationSecurity[][];
|
|
471
|
+
responses?: {
|
|
472
|
+
[status: string]: OperationResponse;
|
|
473
|
+
};
|
|
462
474
|
response?: Response_2 | null;
|
|
463
475
|
};
|
|
464
476
|
|
|
@@ -685,6 +697,14 @@ declare interface OpenAPIXBadges {
|
|
|
685
697
|
position?: 'before' | 'after';
|
|
686
698
|
}
|
|
687
699
|
|
|
700
|
+
declare type OperationEntry = {
|
|
701
|
+
operationId: string;
|
|
702
|
+
pointer?: string;
|
|
703
|
+
} | {
|
|
704
|
+
operationId?: string;
|
|
705
|
+
pointer: string;
|
|
706
|
+
};
|
|
707
|
+
|
|
688
708
|
export declare type OperationIn = 'query' | 'header' | 'path' | 'cookie';
|
|
689
709
|
|
|
690
710
|
declare type OperationParameter = {
|
|
@@ -710,6 +730,12 @@ declare type OperationParameterSchema = {
|
|
|
710
730
|
enum?: string[];
|
|
711
731
|
};
|
|
712
732
|
|
|
733
|
+
declare type OperationResponse = {
|
|
734
|
+
mediaTypes?: {
|
|
735
|
+
[name: string]: Pick<MediaType, 'schema'>;
|
|
736
|
+
};
|
|
737
|
+
};
|
|
738
|
+
|
|
713
739
|
declare type OperationSecurity = {
|
|
714
740
|
id: string;
|
|
715
741
|
type: 'apiKey' | 'http' | 'oauth2' | 'openIdConnect';
|
|
@@ -761,12 +787,17 @@ declare type Referenced<T> = T | OpenAPIRef;
|
|
|
761
787
|
export declare function Replay(props: ReplayAppProps): JSX.Element;
|
|
762
788
|
|
|
763
789
|
declare type ReplayAppProps = {
|
|
790
|
+
/** @deprecated Use `api` with an `ApiEntry`. Replay ignores it when `api` is an `ApiEntry`. */
|
|
764
791
|
activeOperationId?: string;
|
|
792
|
+
/** @deprecated Use `api` with an `ApiEntry`. Replay ignores it when `api` is an `ApiEntry`. */
|
|
765
793
|
activeOperationPointer?: string;
|
|
766
|
-
|
|
794
|
+
/** Passing an OpenAPI document is deprecated. Pass an `ApiEntry`. */
|
|
795
|
+
api?: OpenAPIDefinition | ApiEntry;
|
|
767
796
|
settings: InputSettings;
|
|
768
797
|
getReuniteAuth?: ReuniteAuthGetter;
|
|
769
798
|
onLoad?: () => void;
|
|
799
|
+
/** When set, the first paint of the loaded UI sends `com.redocly.app.loaded`. */
|
|
800
|
+
loadTiming?: ReplayLoadTiming;
|
|
770
801
|
renderProjectSelect?: () => React.ReactNode;
|
|
771
802
|
onSettingsOpen?: (tab?: SettingsTab) => void;
|
|
772
803
|
};
|
|
@@ -774,6 +805,7 @@ declare type ReplayAppProps = {
|
|
|
774
805
|
export declare type ReplayComponents = {
|
|
775
806
|
ReplayGate: ComponentType<ReplayGateComponentProps> | null;
|
|
776
807
|
ReplayTopBarActions: ComponentType<ReplayTopBarActionsComponentProps> | null;
|
|
808
|
+
ReplaySecuritySchemeActions: ComponentType<ReplaySecuritySchemeActionsComponentProps> | null;
|
|
777
809
|
};
|
|
778
810
|
|
|
779
811
|
declare type ReplayFeatures = {
|
|
@@ -791,6 +823,12 @@ declare type ReplayGateComponentProps = {
|
|
|
791
823
|
|
|
792
824
|
declare type ReplayLayout = 'default' | 'overlay' | 'preview';
|
|
793
825
|
|
|
826
|
+
/** `performance.now()` values; `definitionReadyTime` defaults to `startTime`. */
|
|
827
|
+
export declare type ReplayLoadTiming = {
|
|
828
|
+
startTime: number;
|
|
829
|
+
definitionReadyTime?: number;
|
|
830
|
+
};
|
|
831
|
+
|
|
794
832
|
export declare type ReplayOnChangeParams = {
|
|
795
833
|
operations: ChangedOperation[];
|
|
796
834
|
activeMimeName?: string;
|
|
@@ -800,13 +838,23 @@ export declare type ReplayOnChangeParams = {
|
|
|
800
838
|
}>;
|
|
801
839
|
};
|
|
802
840
|
|
|
803
|
-
export declare function ReplayOverlay({ ReplayGate: ReplayGateProp, ReplayTopBarActions: ReplayTopBarActionsProp, ...props }: ReplayOverlayProps): JSX.Element;
|
|
841
|
+
export declare function ReplayOverlay({ ReplayGate: ReplayGateProp, ReplayTopBarActions: ReplayTopBarActionsProp, ReplaySecuritySchemeActions: ReplaySecuritySchemeActionsProp, ...props }: ReplayOverlayProps): JSX.Element;
|
|
804
842
|
|
|
805
843
|
declare type ReplayOverlayProps = {
|
|
806
844
|
onClose: () => void;
|
|
807
845
|
onRequestChange?: (props: ReplayOnChangeParams) => void;
|
|
808
846
|
} & ReplayAppProps & Partial<ReplayComponents>;
|
|
809
847
|
|
|
848
|
+
declare type ReplaySecuritySchemeActionsComponentProps = {
|
|
849
|
+
schemeId: string | null;
|
|
850
|
+
securityType: ReplaySecurityType;
|
|
851
|
+
environment: string;
|
|
852
|
+
operationId?: string;
|
|
853
|
+
value: string;
|
|
854
|
+
setValue: (value: string) => void;
|
|
855
|
+
apiId?: string;
|
|
856
|
+
};
|
|
857
|
+
|
|
810
858
|
declare type ReplayTopBarActionsComponentProps = {
|
|
811
859
|
environments: ReadonlyArray<{
|
|
812
860
|
name: string;
|
|
@@ -873,6 +921,7 @@ export { SpanStatusCode }
|
|
|
873
921
|
|
|
874
922
|
export declare class TelemetryClient {
|
|
875
923
|
private _client;
|
|
924
|
+
private _scopedClients;
|
|
876
925
|
private _isInitialized;
|
|
877
926
|
private _initResolve;
|
|
878
927
|
private _initPromise;
|
|
@@ -887,8 +936,11 @@ export declare class TelemetryClient {
|
|
|
887
936
|
getGlobalAttributes(): Readonly<TelemetryGlobalAttributes>;
|
|
888
937
|
clearGlobalAttributes(): void;
|
|
889
938
|
init(config?: TelemetryConfig): void;
|
|
939
|
+
getScopedClient(config?: TelemetryConfig): TelemetryMethods;
|
|
890
940
|
sendEvent<T extends AsyncApiReplay.EventType>(event: T, data: AsyncApiReplay.GetEventData<T>): void;
|
|
891
941
|
startSpan<T extends AsyncApiReplay.EventType>(event: T, data?: AsyncApiReplay.EventPayload<T>, parentCtx?: TelemetryContext): AsyncApiReplay.OtelClientSpan<T> | undefined;
|
|
942
|
+
private emitEvent;
|
|
943
|
+
private emitSpan;
|
|
892
944
|
}
|
|
893
945
|
|
|
894
946
|
export declare type TelemetryConfig = {
|
package/dist/replay.js
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { A as s,
|
|
2
|
-
import { O as
|
|
1
|
+
import { A as s, ax as r, bQ as t, bR as l, R as o, bS as b, bT as R, N as d, bU as m, bV as p, O as n, bW as y, bX as A, bY as T, bZ as i, aw as u, av as O, b_ as h, b$ as E } from "./replay-index-CYb9b0_s.js";
|
|
2
|
+
import { O as C, h as I } from "./replay-oauth2-redirect-handler-Bq6bpZMm.js";
|
|
3
3
|
export {
|
|
4
4
|
s as AI_PROVIDERS,
|
|
5
5
|
r as AiPanelContext,
|
|
6
6
|
t as EmbeddedReplay,
|
|
7
7
|
l as Modal,
|
|
8
|
-
|
|
8
|
+
C as OAuth2Error,
|
|
9
9
|
o as REUNITE_AI_PROVIDER,
|
|
10
10
|
b as Replay,
|
|
11
11
|
R as ReplayOverlay,
|
|
12
12
|
d as SpanStatusCode,
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
m as TelemetryClient,
|
|
14
|
+
p as applyThemeToDOM,
|
|
15
15
|
n as createResource,
|
|
16
16
|
y as getCurrentTheme,
|
|
17
|
-
|
|
17
|
+
I as handleOAuth2Redirect,
|
|
18
18
|
A as loadAgentLoop,
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
T as makeProviderRecord,
|
|
20
|
+
i as resolveTheme,
|
|
21
|
+
u as useAiPanel,
|
|
22
|
+
O as useTelemetry,
|
|
23
23
|
h as useTelemetryClient,
|
|
24
24
|
E as validateApiKey
|
|
25
25
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redocly/replay",
|
|
3
|
-
"version": "0.29.0-next.
|
|
3
|
+
"version": "0.29.0-next.10",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/replay.cjs",
|
|
6
6
|
"module": "./dist/replay.js",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
}
|
|
17
17
|
},
|
|
18
18
|
"peerDependencies": {
|
|
19
|
-
"@redocly/theme": "0.70.0-next.
|
|
19
|
+
"@redocly/theme": "0.70.0-next.10",
|
|
20
20
|
"@tanstack/react-query": "5.62.3",
|
|
21
21
|
"react": "^19.2.7",
|
|
22
22
|
"react-dom": "^19.2.7",
|
|
@@ -51,10 +51,11 @@
|
|
|
51
51
|
"@lezer/highlight": "^1.1.6",
|
|
52
52
|
"@noble/hashes": "^1.8.0",
|
|
53
53
|
"@opentelemetry/api": "1.9.1",
|
|
54
|
-
"@redocly/openapi-core": "2.
|
|
54
|
+
"@redocly/openapi-core": "2.58.1",
|
|
55
55
|
"@redocly/replay-asyncapi-sdk": "0.0.1",
|
|
56
|
-
"@redocly/respect-core": "2.
|
|
56
|
+
"@redocly/respect-core": "2.58.1",
|
|
57
57
|
"@redocly/vscode-json-languageservice": "^3.4.9",
|
|
58
|
+
"@redocly/tooling-test-utils": "0.0.0",
|
|
58
59
|
"@tauri-apps/api": "2.4.1",
|
|
59
60
|
"@tauri-apps/plugin-deep-link": "^2.4.5",
|
|
60
61
|
"@tauri-apps/plugin-dialog": "2.0.0-rc.1",
|
|
@@ -74,10 +75,13 @@
|
|
|
74
75
|
"@vitejs/plugin-react-swc": "4.3.1",
|
|
75
76
|
"@vitest/coverage-v8": "4.1.11",
|
|
76
77
|
"ai": "7.0.9",
|
|
78
|
+
"cm6-graphql": "^0.2.1",
|
|
77
79
|
"dayjs": "1.11.21",
|
|
78
80
|
"diff": "^8.0.0",
|
|
79
81
|
"drizzle-orm": "^0.45.0",
|
|
80
82
|
"fast-xml-parser": "5.7.3",
|
|
83
|
+
"graphql": "16.14.2",
|
|
84
|
+
"graphql-language-service": "^5.6.0",
|
|
81
85
|
"idb": "^8.0.2",
|
|
82
86
|
"jotai": "^2.16.2",
|
|
83
87
|
"js-yaml": "4.3.2",
|
|
@@ -92,7 +96,7 @@
|
|
|
92
96
|
"react-select": "5.10.1",
|
|
93
97
|
"shellwords": "^1.1.1",
|
|
94
98
|
"typescript": "6.0.3",
|
|
95
|
-
"ulid": "^
|
|
99
|
+
"ulid": "^3.0.2",
|
|
96
100
|
"usehooks-ts": "^3.1.1",
|
|
97
101
|
"vite": "7.3.6",
|
|
98
102
|
"vite-plugin-dts": "4.5.4",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("./replay-index-DTg-X2sJ.js"),f=require("./replay-SemanticSearchService-VF6AneJg.js");var v;(function(l){l.WINDOW_RESIZED="tauri://resize",l.WINDOW_MOVED="tauri://move",l.WINDOW_CLOSE_REQUESTED="tauri://close-requested",l.WINDOW_DESTROYED="tauri://destroyed",l.WINDOW_FOCUS="tauri://focus",l.WINDOW_BLUR="tauri://blur",l.WINDOW_SCALE_FACTOR_CHANGED="tauri://scale-change",l.WINDOW_THEME_CHANGED="tauri://theme-changed",l.WINDOW_CREATED="tauri://window-created",l.WEBVIEW_CREATED="tauri://webview-created",l.DRAG_ENTER="tauri://drag-enter",l.DRAG_OVER="tauri://drag-over",l.DRAG_DROP="tauri://drag-drop",l.DRAG_LEAVE="tauri://drag-leave"})(v||(v={}));async function m(l,e){await h.invoke("plugin:event|unlisten",{event:l,eventId:e})}async function E(l,e,i){var s;const n=(s=void 0)!==null&&s!==void 0?s:{kind:"Any"};return h.invoke("plugin:event|listen",{event:l,target:n,handler:h.transformCallback(e)}).then(t=>async()=>m(l,t))}class w{constructor(e,i,s,n,t,o){this.storage=e,this.projectDir=i,this.aiEnabled=s,this.environments=n,this.apis=t,this.collections=o}storage;projectDir;aiEnabled;environments;apis;collections;watchPath=null;unlistenEvent=null;pendingEnvironmentsReload=Promise.resolve();get tauriStorage(){return this.storage}indexApis(e){!this.aiEnabled||e.length===0||f.getSemanticSearchService().indexApis(e).catch(i=>console.error("Semantic index (apis):",i))}indexCollections(e){!this.aiEnabled||e.length===0||f.getSemanticSearchService().indexCollections(e).catch(i=>console.error("Semantic index (collections):",i))}removeApis(e){if(!this.aiEnabled||e.length===0)return;const i=f.getSemanticSearchService();Promise.all(e.map(s=>i.removeApi(s))).catch(s=>console.error("Semantic remove (apis):",s))}removeCollections(e){if(!this.aiEnabled||e.length===0)return;const i=f.getSemanticSearchService();Promise.all(e.map(s=>i.removeCollection(s))).catch(s=>console.error("Semantic remove (collections):",s))}async start(){if(this.watchPath){console.warn("Watcher already started for:",this.watchPath);return}try{this.unlistenEvent=await E("fs-watch-event",async e=>{const i=e.payload;try{await this.handleEvent(i)}catch(s){console.error("Error handling file change:",s)}}),await h.invoke("fs_watch",{path:this.projectDir,options:{recursive:!0,delayMs:500}}),this.watchPath=this.projectDir}catch(e){throw console.error("Failed to start file watcher:",e),this.unlistenEvent&&(this.unlistenEvent(),this.unlistenEvent=null),e}}async stop(){if(this.watchPath)try{await h.invoke("fs_unwatch",{path:this.watchPath})}catch(e){console.error("Error stopping file watcher:",e)}finally{this.unlistenEvent&&(this.unlistenEvent(),this.unlistenEvent=null),this.watchPath=null}}async handleEvent(e){const{changeType:i,paths:s,pathTypes:n,type:t}=e;if(await this.isProjectFolderRemoved(s,i)){await this.handleProjectFolderRemoval();return}const o=this.filterSpecFiles(s,n);if(o.paths.length===0)return;const a=await this.toFileEntries(o.paths,o.pathTypes);switch(i){case"changed":{(t.includes("Data")||t.includes("Name"))&&await this.handleModify(a);break}case"added":await this.handleCreate(a);break;case"deleted":await this.handleDelete(a);break;case"renamed":await this.handleRename(a);break;default:console.log("Unhandled change type:",i)}}filterSpecFiles(e,i){const s=[],n=[];for(let t=0;t<e.length;t++){const o=e[t],a=o.split(".").pop()?.toLowerCase();a&&["yaml","yml","json"].includes(a)&&(s.push(o),n.push(i[t]||"unknown"))}return{paths:s,pathTypes:n}}async toFileEntries(e,i){return Promise.all(e.map(async(s,n)=>({relative_path:await h.PathUtils.relative(this.projectDir,s),absolute_path:s,type:i[n]||"unknown"})))}hasExternalConfigChange(e){return e.some(i=>h.isRedoclyConfigFile(i.relative_path)&&!this.storage.isWatchExcluded(i.relative_path))}withoutConfigFile(e){return e.filter(i=>!h.isRedoclyConfigFile(i.relative_path))}consolidateFileEntries(e){const i=[],s=new Set;for(const n of e)s.has(n.relative_path)||(s.add(n.relative_path),this.storage.isWatchExcluded(n.relative_path)||i.push(n));return i}async handleModify(e){const i=this.hasExternalConfigChange(e),s=this.withoutConfigFile(e),{newApiFiles:n,existingApiFiles:t}=this.categorizeApisFromFiles(s),{newCollectionFiles:o,existingCollectionFiles:a}=this.categorizeCollectionsFromFiles(s),c=await this.findApisToReload(e),r=await this.findCollectionsToReload(e),p=[...n,...o];p.length>0&&await this.handleCreate(p),i&&await this.reloadEnvironments();const u=this.consolidateFileEntries([...t,...c]),g=this.consolidateFileEntries([...a,...r]);await this.reloadApis(u),await this.reloadCollections(g)}async handleCreate(e){this.hasExternalConfigChange(e)&&await this.reloadEnvironments();const i=this.withoutConfigFile(e),s=i.filter(r=>r.type==="api"),n=i.filter(r=>r.type==="collection"),{newApiFiles:t,existingApiFiles:o}=this.categorizeApisFromFiles(s),{newCollectionFiles:a,existingCollectionFiles:c}=this.categorizeCollectionsFromFiles(n);if(t.length>0||a.length>0){t.forEach(d=>this.storage.addPersistExcludedId(d.relative_path)),a.forEach(d=>this.storage.addPersistExcludedId(d.relative_path));const r=t.length>0?await this.tauriStorage.loadAndParseApis(t,void 0,!0):[],p=a.length>0?await this.tauriStorage.loadAndParseCollections(a,void 0):[],u=r.filter(d=>d!==null),g=p.filter(d=>d!==null);this.apis.set([...this.apis.get(),...u]),this.collections.set([...this.collections.get(),...g]),this.indexApis(u),this.indexCollections(g),setTimeout(()=>{t.forEach(d=>this.storage.removePersistExcludedId(d.relative_path)),a.forEach(d=>this.storage.removePersistExcludedId(d.relative_path))},500)}o.length>0&&await this.reloadApis(o),c.length>0&&await this.reloadCollections(c)}categorizeApisFromFiles(e){const i=new Set,s=[],n=[];for(const t of e){if(i.has(t.relative_path))continue;i.add(t.relative_path),this.apis.get().some(a=>a.id===t.relative_path)?n.push(t):t.type==="api"&&s.push(t)}return{newApiFiles:s,existingApiFiles:n}}categorizeCollectionsFromFiles(e){const i=new Set,s=[],n=[];for(const t of e){if(i.has(t.relative_path))continue;i.add(t.relative_path),this.collections.get().some(a=>a.id===t.relative_path)?n.push(t):t.type==="collection"&&s.push(t)}return{newCollectionFiles:s,existingCollectionFiles:n}}async handleDelete(e){this.hasExternalConfigChange(e)&&await this.reloadEnvironments();const i=this.withoutConfigFile(e),s=[],n=[];for(const t of i){this.storage.addPersistExcludedId(t.relative_path);const o=this.apis.get();o.some(r=>r.id===t.relative_path)&&(this.apis.set(o.filter(r=>r.id!==t.relative_path)),this.tauriStorage.deleteApiFromCache(t.relative_path),s.push(t.relative_path));const a=this.collections.get(),c=a.findIndex(r=>r.id===t.relative_path);c>=0&&(this.collections.set(a.filter((r,p)=>p!==c)),n.push(t.relative_path)),setTimeout(()=>{this.storage.removePersistExcludedId(t.relative_path)},500)}this.removeApis(s),this.removeCollections(n)}async handleRename(e){if(e.length>=2){const[i,s]=e;await this.handleDelete([i]),await this.handleCreate([s])}else await this.handleCreate(e)}async isProjectFolderRemoved(e,i){if(e.length===0)return!1;if(i==="deleted"||i==="renamed"){for(const n of e)if(n===this.projectDir)return!0}return e.filter(n=>!n.startsWith(this.projectDir+"/")&&n!==this.projectDir).length>0&&i==="renamed"}async handleProjectFolderRemoval(){const e=this.apis.get(),i=e.map(t=>t.id);e.forEach(t=>{this.storage.addPersistExcludedId(t.id),this.tauriStorage.deleteApiFromCache(t.id)}),this.apis.set([]);const s=this.collections.get(),n=s.map(t=>t.id);s.forEach(t=>{this.storage.addPersistExcludedId(t.id)}),this.collections.set([]),setTimeout(()=>{e.forEach(t=>this.storage.removePersistExcludedId(t.id)),s.forEach(t=>this.storage.removePersistExcludedId(t.id))},500),this.removeApis(i),this.removeCollections(n),await this.stop()}async findApisToReload(e){const i=[];return await Promise.all(this.apis.get().map(async s=>{const n=s.fileDependencies??new Set,t=s.id,o=e.find(a=>n.has(a.absolute_path));if(!this.storage.isWatchExcluded(t)&&o){const a=await h.PathUtils.join(this.projectDir,t);i.push({relative_path:t,absolute_path:a,type:"api"})}})),i}async findCollectionsToReload(e){const i=[];return await Promise.all(this.collections.get().map(async s=>{const n=s.fileDependencies??new Set,t=s.id,o=e.find(a=>n.has(a.absolute_path));if(!this.storage.isWatchExcluded(t)&&o){const a=await h.PathUtils.join(this.projectDir,t);i.push({relative_path:t,absolute_path:a,type:"collection"})}})),i}reloadEnvironments(){const e=this.pendingEnvironmentsReload.then(()=>this.readAndPublishEnvironments());return this.pendingEnvironmentsReload=e.catch(()=>{}),e}async readAndPublishEnvironments(){const e=this.environments.get(),i=await this.tauriStorage.readEnvironments();!(this.environments.get()!==e)&&(i.length>0||!this.storage.getEnvironmentsConfigError())&&this.environments.set(i.length>0?i:h.cloneObject(h.DEFAULT_ENVIRONMENTS)),this.storage.publishEnvironmentsConfigError()}async reloadApis(e){if(e.length===0)return;const i=await this.tauriStorage.loadAndParseApis(e,void 0,!0),s=[];await Promise.all(i.map(async(n,t)=>{if(!n){await this.handleDelete([e[t]]);return}const o=this.apis.get();o.some(a=>a.id===n.id)?(this.storage.addPersistExcludedId(n.id),this.apis.set(o.map(a=>a.id===n.id?n:a)),s.push(n),setTimeout(()=>this.storage.removePersistExcludedId(n.id),500)):console.warn("API not found in state after reload:",n.id)})),s.length>0&&this.indexApis(s)}async reloadCollections(e){if(e.length===0)return;const i=await this.tauriStorage.loadAndParseCollections(e,void 0),s=[];await Promise.all(i.map(async(n,t)=>{if(!n){await this.handleDelete([e[t]]);return}const o=this.collections.get(),a=o.findIndex(c=>c.id===n.id);a>=0?(this.storage.addPersistExcludedId(n.id),this.collections.set(o.map((c,r)=>r===a?n:c)),s.push(n),setTimeout(()=>this.storage.removePersistExcludedId(n.id),500)):console.warn("Collection not found in state after reload:",n.id)})),s.length>0&&this.indexCollections(s)}}exports.FileWatcher=w;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";function o(r,n=!1){return window.__TAURI_INTERNALS__.transformCallback(r,n)}async function s(r,n={},e){return window.__TAURI_INTERNALS__.invoke(r,n,e)}exports.invoke=s;exports.transformCallback=o;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./replay-core-BJmXmoC5.js");var i;(function(e){e.WINDOW_RESIZED="tauri://resize",e.WINDOW_MOVED="tauri://move",e.WINDOW_CLOSE_REQUESTED="tauri://close-requested",e.WINDOW_DESTROYED="tauri://destroyed",e.WINDOW_FOCUS="tauri://focus",e.WINDOW_BLUR="tauri://blur",e.WINDOW_SCALE_FACTOR_CHANGED="tauri://scale-change",e.WINDOW_THEME_CHANGED="tauri://theme-changed",e.WINDOW_CREATED="tauri://window-created",e.WINDOW_SUSPENDED="tauri://suspended",e.WINDOW_RESUMED="tauri://resumed",e.WEBVIEW_CREATED="tauri://webview-created",e.DRAG_ENTER="tauri://drag-enter",e.DRAG_OVER="tauri://drag-over",e.DRAG_DROP="tauri://drag-drop",e.DRAG_LEAVE="tauri://drag-leave"})(i||(i={}));async function u(e,r){window.__TAURI_EVENT_PLUGIN_INTERNALS__.unregisterListener(e,r),await n.invoke("plugin:event|unlisten",{event:e,eventId:r})}async function _(e,r,l){var t;const a=(t=void 0)!==null&&t!==void 0?t:{kind:"Any"};return n.invoke("plugin:event|listen",{event:e,target:a,handler:n.transformCallback(r)}).then(o=>async()=>u(e,o))}async function D(){return await n.invoke("plugin:deep-link|get_current")}async function s(e){return await _("deep-link://new-url",r=>{e(r.payload)})}exports.getCurrent=D;exports.onOpenUrl=s;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("./replay-index-DTg-X2sJ.js"),s=require("./replay-lint-DvPtwqB_.js"),o=require("./replay-resolve-Bu8MUbb4.js");function j(e){return(p.pathBrowserifyExports.extname(e)===".yaml"||p.pathBrowserifyExports.extname(e)===".yml")&&!1}function k(e){return p.isPlainObject(e)&&!s.isEmptyObject(e)}async function L(e){return new Promise(t=>setTimeout(t,e))}const S="type",v=["api-description","api-operation","data-schema"];function R(e,t){const{ctx:n}=s.getNodeTypesFromJSONSchema("EntityFileDefault",t),{ctx:r,discriminatorResolver:i}=s.getNodeTypesFromJSONSchema("EntityFile",e);return{entityTypes:{...n,...r,EntityFileArray:{properties:{},items:y=>{if(p.isPlainObject(y)){const m=y[S];if(!m)return"Entity";const l=i?.(y,m);if(l&&typeof l=="string")return l}return"Entity"}}},discriminatorResolver:i}}function c(e,t){if(o.isRef(t.parent))return;const n=t.key.toString(),r=e.counts??={};r[n]=(r[n]??0)+1}function O(e){for(const i of Object.values(e))i.items&&(i.total=i.items.size);const{xExtensions:t}=e,n=t.counts??{},r=Object.keys(n).sort();t.total=r.length,t.counts=Object.fromEntries(r.map(i=>[i,n[i]]))}const w=e=>({SpecExtension:{enter(t,n){c(e.xExtensions,n)}},XCodeSampleList:{enter(t,n){c(e.xExtensions,n)}},ExamplesMap:{enter(t,n){n.key.toString()==="x-examples"&&c(e.xExtensions,n)}},EnumDescriptions:{enter(t,n){c(e.xExtensions,n)}},TagGroups:{enter(t,n){c(e.xExtensions,n)}},Logo:{enter(t,n){c(e.xExtensions,n)}},XServerList:{enter(t,n){c(e.xExtensions,n)}},XUsePkce:{enter(t,n){c(e.xExtensions,n)}},Operation:{enter(t,n){n.key.toString()==="x-query"&&c(e.xExtensions,n)}},ExternalDocs:{leave(){e.externalDocs.total++}},ref:{enter(t){e.refs.items.add(t.$ref)}},Tag:{leave(t){e.tags.items.add(t.name)}},Link:{leave(t){e.links.items.add(t.operationId)}},WebhooksMap:{enter(t,n){n.key.toString()==="x-webhooks"&&c(e.xExtensions,n)},Operation:{leave(t){if(e.webhooks.total++,t.tags)for(const n of t.tags)e.tags.items.add(n)}}},Paths:{PathItem:{leave(){e.pathItems.total++},Operation:{leave(t){if(e.operations.total++,t.tags)for(const n of t.tags)e.tags.items.add(n)}},Parameter:{leave(t){e.parameters.items.add(t.name)}}}},NamedSchemas:{Schema:{leave(){e.schemas.total++}}},Root:{leave(){O(e)}}}),z=e=>({SpecExtension:{enter(t,n){c(e.xExtensions,n)}},ExternalDocs:{leave(){e.externalDocs.total++}},ref:{enter(t){e.refs.items.add(t.$ref)}},Tag:{leave(t){e.tags.items.add(t.name)}},ChannelMap:{Channel:{leave(){e.channels.total++},Operation:{leave(t){if(e.operations.total++,t.tags)for(const n of t.tags)e.tags.items.add(n)}},Parameter:{leave(t,{key:n}){e.parameters.items.add(n.toString())}}}},NamedSchemas:{Schema:{leave(){e.schemas.total++}}},Root:{leave(){O(e)}}}),V=e=>({SpecExtension:{enter(t,n){c(e.xExtensions,n)}},ExternalDocs:{leave(){e.externalDocs.total++}},ref:{enter(t){e.refs.items.add(t.$ref)}},Tag:{leave(t){e.tags.items.add(t.name)}},NamedChannels:{Channel:{leave(){e.channels.total++},Parameter:{leave(t,{key:n}){e.parameters.items.add(n.toString())}}}},NamedOperations:{Operation:{leave(t){if(e.operations.total++,t.tags)for(const n of t.tags)e.tags.items.add(n)}}},NamedSchemas:{Schema:{leave(){e.schemas.total++}}},Root:{leave(){O(e)}}}),G=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,b=2,x=150,U=()=>({any(e,{report:t,location:n}){if(p.isPlainObject(e)&&"key"in e){const r=e.key;if(typeof r!="string"){t({message:"Entity `key` must be a string.",location:n.child(["key"])});return}r.length<b&&t({message:`Entity 'key' must be at least ${b} characters long.`,location:n.child(["key"])}),r.length>x&&t({message:`Entity 'key' must not exceed ${x} characters.`,location:n.child(["key"])}),G.test(r)||t({message:"Entity `key` must contain only lowercase letters, numbers, and hyphens, and cannot start or end with a hyphen.",location:n.child(["key"])})}}});function P(e,t){const r=t.split("-").map(i=>i.charAt(0).toUpperCase()+i.slice(1)).join("")+e;return Object.values(s.t).includes(r)?r:e}function B(e,t){const n={};for(const[r,i]of Object.entries(t))if(_(r,i)){if(i.severity==="off")continue;n[r]={...q(e,r,i)}}else n[r]=i;return n}function M(e){const t={},n={};for(const[r,i]of Object.entries(e))if(_(r,i)){const a=i;$(a)?t[r]=a:n[r]=a}else n[r]=i;return{entityRules:t,apiRules:n}}function Y(e,t,n){if(!p.isPlainObject(n.parsed)||!p.isPlainObject(n.parsed.components))return null;const r=n.parsed.components,i="schemas"in r?r.schemas:void 0;if(!i||!(e in i))return null;const a=i[e];try{const y=JSON.parse(t);if(s.dequal(a,y))return a}catch{return null}return null}function _(e,t){return e.startsWith("rule/")&&p.isPlainObject(t)}function $(e){return Object.values(s.t).some(t=>e.subject.type===t)}function q(e,t,n){const r=P(n.subject.type,e),i=n.where?.map(a=>({...a,subject:{...a.subject,type:P(a.subject.type,e)}}));return{assertionId:t,subject:{...n.subject,type:r},assertions:n.assertions,...i&&{where:i},...n.message&&{message:n.message},...n.severity&&{severity:n.severity}}}async function N(e){const{document:t,entitySchema:n,entityDefaultSchema:r,severity:i,externalRefResolver:a=new o.BaseResolver,assertionConfig:y={}}=e,m={problems:[],specVersion:"entity",visitorsData:{}},{entityTypes:l,discriminatorResolver:g}=R(n,r),d=o.normalizeTypes(l);let f=d.Entity;if(Array.isArray(t.parsed))f=d.EntityFileArray;else if(p.isPlainObject(t.parsed)){const h=t.parsed[S];if(!h)f=d.Entity;else{const T=g?.(t.parsed,h);T&&typeof T=="string"&&d[T]&&(f=d[T])}}const E=s.Assertions(y),u=Array.isArray(E)?E.map(h=>({severity:i||"error",ruleId:"entity assertions",visitor:h})):[{severity:i||"error",ruleId:"entity assertions",visitor:E}],C=[{severity:i||"error",ruleId:"entity struct",visitor:s.Struct()},{severity:i||"error",ruleId:"entity no-unresolved-refs",visitor:s.NoUnresolvedRefs()},{severity:i||"error",ruleId:"entity key-valid",visitor:U()},...u],D=s.normalizeVisitors(C,d),F=await o.resolveDocument({rootDocument:t,rootType:f,externalRefResolver:a});return s.walkDocument({document:t,rootType:f,normalizedVisitors:D,resolvedRefMap:F,ctx:m}),m.problems}async function A(e,t,n){if(!t.rules)throw new Error(`Scorecard level "${t.name}" has no rules defined.`);const r=new o.BaseResolver,i=o.makeDocumentFromString(JSON.stringify(e,null,2),"entity"),a=i.parsed[S],y=B(a||"unknown",t.rules),{entityRules:m,apiRules:l}=M(y),g=await N({document:i,entitySchema:s.Js,entityDefaultSchema:s.Ls,externalRefResolver:r,assertionConfig:m});if(v.includes(e.type)){if(Object.keys(l).length===0)return g;if(!n)throw new Error(`Document is required for entity type "${e.type}". Provide the source API document to lint API rules.`);if(e.type==="data-schema"&&e.metadata?.schema){Object.values(l).forEach(u=>{if(p.isPlainObject(u)&&p.isPlainObject(u.subject)&&u.subject.type!=="Schema")throw new Error(`API rules for "data-schema" entity must target Schema subject, but found "${u.subject.type}".`)});const f=Y(e.title,e.metadata.schema,n);if(!f)throw new Error(`Schema "${e.title}" not found in the document. Ensure the schema exists in components.schemas.`);const E=await I({schema:f,schemaKey:e.title,config:await s.createConfig({rules:l}),specType:e.metadata.specType,sourceDocument:n,externalRefResolver:r});return[...g,...E]}const d=await s.lintDocument({document:n,externalRefResolver:r,config:await s.createConfig({rules:l})});return[...g,...d]}else if(!s.isEmptyObject(l))throw new Error(`API rules are not supported for entity type "${e.type}". Only ${v.join(", ")} support API rules.`);return g}async function I(e){const{schema:t,schemaKey:n,config:r,sourceDocument:i,specType:a,externalRefResolver:y=new o.BaseResolver(r.resolve)}=e,m=i.parsed,l=m[a],g=m.info,d=o.makeDocumentFromString(JSON.stringify({[a]:l,info:g,components:{schemas:{[n]:t}}},null,2),i?.source.absoluteRef||`schema:${n}`);return(await s.lintDocument({document:d,config:r,externalRefResolver:y})).filter(E=>E.location.some(u=>u.pointer?.includes(`/components/schemas/${n}`)))}class J extends Error{}exports.isPlainObject=p.isPlainObject;exports.Arazzo1Types=s.Arazzo1Types;exports.Arazzo1_1Types=s.Arazzo1_1Types;exports.AsyncApi2Types=s.AsyncApi2Types;exports.AsyncApi3Types=s.AsyncApi3Types;exports.CONFIG_BUNDLER_VISITOR_ID=s.CONFIG_BUNDLER_VISITOR_ID;exports.CONFIG_FILE_NAME=s.CONFIG_FILE_NAME;exports.Config=s.Config;exports.ConfigTypes=s.ConfigTypes;exports.ConfigValidationError=s.ConfigValidationError;exports.DEFAULT_CONFIG=s.DEFAULT_CONFIG;exports.DEFAULT_PROJECT_PLUGIN_PATHS=s.DEFAULT_PROJECT_PLUGIN_PATHS;exports.IGNORE_BANNER=s.IGNORE_BANNER;exports.IGNORE_FILE=s.IGNORE_FILE;exports.Oas2Types=s.Oas2Types;exports.Oas3Types=s.Oas3Types;exports.Oas3_1Types=s.Oas3_1Types;exports.Oas3_2Types=s.Oas3_2Types;exports.OpenRpcTypes=s.OpenRpcTypes;exports.Overlay1Types=s.Overlay1Types;exports.PLUGINS_COLLECTOR_VISITOR_ID=s.PLUGINS_COLLECTOR_VISITOR_ID;exports.bundle=s.bundle;exports.bundleDocument=s.bundleDocument;exports.bundleFromString=s.bundleFromString;exports.clearPluginsCache=s.clearPluginsCache;exports.createConfig=s.createConfig;exports.createConfigTypes=s.createConfigTypes;exports.dequal=s.dequal;exports.detectSpec=s.detectSpec;exports.findConfig=s.findConfig;exports.formatProblems=s.formatProblems;exports.getAstNodeByPointer=s.getAstNodeByPointer;exports.getCodeframe=s.getCodeframe;exports.getLineColLocation=s.getLineColLocation;exports.getMajorSpecVersion=s.getMajorSpecVersion;exports.getPluginCacheVersion=s.getPluginCacheVersion;exports.getTotals=s.getTotals;exports.getTypes=s.getTypes;exports.isEmptyObject=s.isEmptyObject;exports.isNotEmptyArray=s.isNotEmptyArray;exports.isString=s.isString;exports.keysOf=s.keysOf;exports.lint=s.lint;exports.lintConfig=s.lintConfig;exports.lintDocument=s.lintDocument;exports.lintFromString=s.lintFromString;exports.loadConfig=s.loadConfig;exports.loadIgnoreConfig=s.loadIgnoreConfig;exports.logger=s.logger;exports.mapTypeToComponent=s.mapTypeToComponent;exports.normalizeVisitors=s.normalizeVisitors;exports.pluralize=s.pluralize;exports.regexFromString=s.regexFromString;exports.resolvePlugins=s.resolvePlugins;exports.slash=s.slash;exports.validate=s.lint;exports.walkDocument=s.walkDocument;exports.xmlEscape=s.xmlEscape;exports.BaseResolver=o.BaseResolver;exports.ResolveError=o.ResolveError;exports.Source=o.Source;exports.YamlParseError=o.YamlParseError;exports.escapePointerFragment=o.escapePointerFragment;exports.getDir=o.getDir;exports.isAbsoluteUrl=o.isAbsoluteUrl;exports.isBrowser=o.isBrowser;exports.isGraphqlRef=o.isGraphqlRef;exports.isMappingRef=o.isMappingRef;exports.isRef=o.isRef;exports.isSupportedExtension=o.isSupportedExtension;exports.isTruthy=o.isTruthy;exports.makeDocumentFromString=o.makeDocumentFromString;exports.normalizeTypes=o.normalizeTypes;exports.parseYaml=o.parseYaml;exports.readFileFromUrl=o.readFileFromUrl;exports.resolveDocument=o.resolveDocument;exports.resolvePath=o.resolvePath;exports.stringifyYaml=o.stringifyYaml;exports.unescapePointerFragment=o.unescapePointerFragment;exports.HandledError=J;exports.StatsAsync2=z;exports.StatsAsync3=V;exports.StatsOAS=w;exports.createEntityTypes=R;exports.doesYamlFileExist=j;exports.isNotEmptyObject=k;exports.lintEntityFile=N;exports.lintEntityWithScorecardLevel=A;exports.lintSchema=I;exports.pause=L;
|