@redocly/replay 0.26.0-next.4 → 0.26.0-next.5

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.
@@ -1,5 +1,5 @@
1
- import { e as h, s as x, r as i } from "./replay-index-qWirlXlu.js";
2
- import { d as j, a as b, j as d } from "./replay-index-qWirlXlu.js";
1
+ import { e as h, s as x, r as i } from "./replay-index-BBRlup3F.js";
2
+ import { d as j, a as b, j as d } from "./replay-index-BBRlup3F.js";
3
3
  async function u(n, e) {
4
4
  const t = x(), l = await i(n), c = await i(e), o = l.replace(new RegExp(`^${t}+`), "").split(t).filter(Boolean), r = c.replace(new RegExp(`^${t}+`), "").split(t).filter(Boolean), m = Math.min(o.length, r.length);
5
5
  let s = 0;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./replay-index-DX_hWbiq.js");async function u(r,n){const t=e.sep(),l=await e.resolve(r),c=await e.resolve(n),a=l.replace(new RegExp(`^${t}+`),"").split(t).filter(Boolean),i=c.replace(new RegExp(`^${t}+`),"").split(t).filter(Boolean),m=Math.min(a.length,i.length);let s=0;for(let o=0;o<m&&a[o]===i[o];o++)s++;const p=a.slice(s).map(()=>".."),f=i.slice(s);return[...p,...f].join(t)}async function g(r){const n=await e.extname(r);return n?`.${n}`:""}exports.dirname=e.dirname;exports.isAbsolute=e.isAbsolute;exports.join=e.join;exports.resolve=e.resolve;exports.extname=g;exports.relative=u;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./replay-index-CCclpj9c.js");async function u(r,n){const t=e.sep(),l=await e.resolve(r),c=await e.resolve(n),a=l.replace(new RegExp(`^${t}+`),"").split(t).filter(Boolean),i=c.replace(new RegExp(`^${t}+`),"").split(t).filter(Boolean),m=Math.min(a.length,i.length);let s=0;for(let o=0;o<m&&a[o]===i[o];o++)s++;const p=a.slice(s).map(()=>".."),f=i.slice(s);return[...p,...f].join(t)}async function g(r){const n=await e.extname(r);return n?`.${n}`:""}exports.dirname=e.dirname;exports.isAbsolute=e.isAbsolute;exports.join=e.join;exports.resolve=e.resolve;exports.extname=g;exports.relative=u;
package/dist/replay.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./replay-index-DX_hWbiq.js"),t=require("./replay-oauth2-redirect-handler-Bqw5UUvl.js");exports.AgentLoop=e.AgentLoop;exports.AiPanelContext=e.AiPanelContext;exports.EmbeddedReplay=e.EmbeddedReplay;exports.Modal=e.Modal;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.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;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./replay-index-CCclpj9c.js"),t=require("./replay-oauth2-redirect-handler-Bqw5UUvl.js");exports.AI_PROVIDERS=e.AI_PROVIDERS;exports.AgentLoop=e.AgentLoop;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.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
@@ -49,6 +49,12 @@ declare type AgentRuntimeConfig = {
49
49
  onFinish?: ToolLoopAgentOnFinishCallback<ToolSet>;
50
50
  };
51
51
 
52
+ export declare const AI_PROVIDERS: {
53
+ readonly OPENAI: "openai";
54
+ readonly ANTHROPIC: "anthropic";
55
+ readonly GEMINI: "gemini";
56
+ };
57
+
52
58
  declare type AiChatTelemetrySendEvent = TelemetryMethods['sendEvent'];
53
59
 
54
60
  export declare const AiPanelContext: Context<AiPanelContextValue>;
@@ -59,11 +65,18 @@ export declare type AiPanelContextValue = {
59
65
  closePanel: () => void;
60
66
  };
61
67
 
62
- declare type AiProviderSettings = {
68
+ export declare type AiProviderConfig = {
63
69
  enabled: boolean;
64
- apiKey?: string;
70
+ apiKey: string;
71
+ validationStatus: ValidationStatus;
72
+ models: Array<{
73
+ id: string;
74
+ label: string;
75
+ }>;
65
76
  };
66
77
 
78
+ export declare type AiProviderName = (typeof AI_PROVIDERS)[keyof typeof AI_PROVIDERS];
79
+
67
80
  declare type ApiPath = {
68
81
  path: string;
69
82
  method: string;
@@ -132,13 +145,11 @@ export declare function createResource<O extends string = string>(object: O, id:
132
145
  export declare function EmbeddedReplay(props: ReplayAppProps): JSX.Element;
133
146
 
134
147
  declare type EndpointModel = {
135
- provider: EndpointProvider;
148
+ provider: 'reunite';
136
149
  baseUrl: string;
137
150
  accessToken: string;
138
151
  };
139
152
 
140
- declare type EndpointProvider = 'reunite';
141
-
142
153
  export declare function getCurrentTheme(): ResolvedTheme;
143
154
 
144
155
  declare type GetOperationURLFunction = (operationId?: string) => string | undefined;
@@ -146,7 +157,7 @@ declare type GetOperationURLFunction = (operationId?: string) => string | undefi
146
157
  export declare function handleOAuth2Redirect(redirectOAuth2Data?: OAuth2RedirectData, urlString?: string): void;
147
158
 
148
159
  declare type HostedAiModel = {
149
- provider: 'openai' | 'anthropic' | 'gemini';
160
+ provider: AiProviderName;
150
161
  modelId: string;
151
162
  apiKey: string;
152
163
  };
@@ -178,9 +189,11 @@ declare type InputSettings = {
178
189
  hideOtherSecuritySchemes?: boolean;
179
190
  layout?: ReplayLayout;
180
191
  aiEnabled?: boolean;
181
- aiProviders?: Partial<Record<HostedAiModel['provider'], AiProviderSettings>>;
192
+ aiProviders?: Partial<Record<AiProviderName, AiProviderConfig>>;
182
193
  };
183
194
 
195
+ export declare function makeProviderRecord<T>(factory: (name: AiProviderName) => T): Record<AiProviderName, T>;
196
+
184
197
  declare type MediaType = {
185
198
  name: string;
186
199
  examples?: {
@@ -783,6 +796,8 @@ declare type ResponseDownload = {
783
796
  totalBytes?: number;
784
797
  };
785
798
 
799
+ export declare const REUNITE_AI_PROVIDER = "reunite";
800
+
786
801
  declare type ReuniteAuthGetter = () => Promise<{
787
802
  accessToken: string;
788
803
  baseUrl: string;
@@ -865,7 +880,7 @@ export declare const useTelemetryClient: ({ awaitInit }?: {
865
880
  awaitInit?: boolean;
866
881
  }) => TelemetryClient | undefined;
867
882
 
868
- export declare function validateApiKey(provider: HostedAiModel['provider'], apiKey: HostedAiModel['apiKey'], options?: ValidateApiKeyOptions): Promise<ValidationResult>;
883
+ export declare function validateApiKey(provider: AiProviderName, apiKey: AiProviderConfig['apiKey'], modelId: AiProviderConfig['models'][number]['id'], options?: ValidateApiKeyOptions): Promise<ValidationResult>;
869
884
 
870
885
  declare type ValidateApiKeyOptions = {
871
886
  abortSignal?: AbortSignal;
@@ -878,6 +893,8 @@ declare type ValidationResult = {
878
893
  error: string;
879
894
  };
880
895
 
896
+ export declare type ValidationStatus = 'idle' | 'checking' | 'valid' | 'invalid';
897
+
881
898
  declare interface XLogo {
882
899
  url?: string;
883
900
  backgroundColor?: string;
package/dist/replay.js CHANGED
@@ -1,22 +1,25 @@
1
- import { w as s, x as t, E as r, M as l, R as o, y as p, S as y, T as m, z as n, C as d, D as u, F as T, G as h, H as i, I as A, K as C } from "./replay-index-qWirlXlu.js";
2
- import { O, h as x } from "./replay-oauth2-redirect-handler-CqKZB3aV.js";
1
+ import { w as s, x as r, y as t, E as l, M as o, R, z as d, C as m, S as p, T as y, D as n, F as T, G as i, H as u, I as A, K as O, L as h, N as E, O as C } from "./replay-index-BBRlup3F.js";
2
+ import { O as P, h as c } from "./replay-oauth2-redirect-handler-CqKZB3aV.js";
3
3
  export {
4
- s as AgentLoop,
4
+ s as AI_PROVIDERS,
5
+ r as AgentLoop,
5
6
  t as AiPanelContext,
6
- r as EmbeddedReplay,
7
- l as Modal,
8
- O as OAuth2Error,
9
- o as Replay,
10
- p as ReplayOverlay,
11
- y as SpanStatusCode,
12
- m as TelemetryClient,
7
+ l as EmbeddedReplay,
8
+ o as Modal,
9
+ P as OAuth2Error,
10
+ R as REUNITE_AI_PROVIDER,
11
+ d as Replay,
12
+ m as ReplayOverlay,
13
+ p as SpanStatusCode,
14
+ y as TelemetryClient,
13
15
  n as applyThemeToDOM,
14
- d as createResource,
15
- u as getCurrentTheme,
16
- x as handleOAuth2Redirect,
17
- T as resolveTheme,
18
- h as useAiPanel,
19
- i as useTelemetry,
20
- A as useTelemetryClient,
16
+ T as createResource,
17
+ i as getCurrentTheme,
18
+ c as handleOAuth2Redirect,
19
+ u as makeProviderRecord,
20
+ A as resolveTheme,
21
+ O as useAiPanel,
22
+ h as useTelemetry,
23
+ E as useTelemetryClient,
21
24
  C as validateApiKey
22
25
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/replay",
3
- "version": "0.26.0-next.4",
3
+ "version": "0.26.0-next.5",
4
4
  "type": "module",
5
5
  "main": "./dist/replay.cjs",
6
6
  "module": "./dist/replay.js",
@@ -21,7 +21,7 @@
21
21
  "react-dom": "^19.2.4",
22
22
  "react-router-dom": "^6.30.3",
23
23
  "styled-components": "^6.4.2",
24
- "@redocly/theme": "0.67.0-next.3"
24
+ "@redocly/theme": "0.67.0-next.4"
25
25
  },
26
26
  "dependencies": {
27
27
  "@ai-sdk/anthropic": "3.0.1",
@@ -52,8 +52,8 @@
52
52
  "@opentelemetry/api": "1.9.0",
53
53
  "@redocly/hookstate-core": "^4.2.4",
54
54
  "@redocly/hookstate-devtools": "^4.2.1",
55
- "@redocly/openapi-core": "2.32.1",
56
- "@redocly/respect-core": "2.32.1",
55
+ "@redocly/openapi-core": "2.34.0",
56
+ "@redocly/respect-core": "2.34.0",
57
57
  "@redocly/vscode-json-languageservice": "^3.4.9",
58
58
  "@tauri-apps/api": "2.4.1",
59
59
  "@tauri-apps/plugin-dialog": "2.0.0-rc.1",