@copilotkit/web-inspector 1.61.2 → 1.62.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -0
- package/dev/css-raw-import.spec.ts +31 -0
- package/dev/index.html +115 -0
- package/dev/main.ts +165 -0
- package/dev/vite.config.ts +30 -0
- package/dist/index.cjs +752 -136
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +90 -6
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +90 -6
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +751 -137
- package/dist/index.mjs.map +1 -1
- package/dist/index.umd.js +807 -163
- package/dist/index.umd.js.map +1 -1
- package/dist/package.cjs +1 -1
- package/dist/package.mjs +1 -1
- package/package.json +4 -2
- package/src/__tests__/web-inspector.spec.ts +717 -13
- package/src/index.ts +1017 -193
package/dist/index.d.cts
CHANGED
|
@@ -5,16 +5,61 @@ import { CopilotKitCore, ɵThread } from "@copilotkit/core";
|
|
|
5
5
|
|
|
6
6
|
//#region src/index.d.ts
|
|
7
7
|
declare const WEB_INSPECTOR_TAG: "cpk-web-inspector";
|
|
8
|
+
declare const THREAD_INSPECTOR_TAG: "cpk-thread-inspector";
|
|
9
|
+
type ThreadDebuggerProviderLoadOptions = {
|
|
10
|
+
signal: AbortSignal;
|
|
11
|
+
};
|
|
12
|
+
type ThreadDebuggerToolCall = {
|
|
13
|
+
id: string;
|
|
14
|
+
name: string;
|
|
15
|
+
args: string | Record<string, unknown>;
|
|
16
|
+
};
|
|
17
|
+
type ThreadDebuggerMessage = {
|
|
18
|
+
id: string;
|
|
19
|
+
role: string;
|
|
20
|
+
content?: string;
|
|
21
|
+
toolCalls?: ThreadDebuggerToolCall[];
|
|
22
|
+
toolCallId?: string; /** Present when role === "activity" (Generative UI output). */
|
|
23
|
+
activityType?: string;
|
|
24
|
+
};
|
|
25
|
+
type ThreadDebuggerEvent = {
|
|
26
|
+
type: string;
|
|
27
|
+
timestamp: string | number;
|
|
28
|
+
payload?: Record<string, unknown>;
|
|
29
|
+
[key: string]: unknown;
|
|
30
|
+
};
|
|
31
|
+
type ThreadDebuggerMetadata = {
|
|
32
|
+
id: string;
|
|
33
|
+
name?: string | null;
|
|
34
|
+
agentId?: string | null;
|
|
35
|
+
endUserId?: string | null;
|
|
36
|
+
createdById?: string | null;
|
|
37
|
+
status?: string | null;
|
|
38
|
+
createdAt?: string | null;
|
|
39
|
+
updatedAt?: string | null;
|
|
40
|
+
};
|
|
41
|
+
type ThreadDebuggerProvider = {
|
|
42
|
+
getThreadMetadata?: (threadId: string, options: ThreadDebuggerProviderLoadOptions) => Promise<ThreadDebuggerMetadata | null>;
|
|
43
|
+
getMessages?: (threadId: string, options: ThreadDebuggerProviderLoadOptions) => Promise<ThreadDebuggerMessage[]>;
|
|
44
|
+
getEvents?: (threadId: string, options: ThreadDebuggerProviderLoadOptions) => Promise<ThreadDebuggerEvent[]>;
|
|
45
|
+
getState?: (threadId: string, options: ThreadDebuggerProviderLoadOptions) => Promise<Record<string, unknown> | null>;
|
|
46
|
+
};
|
|
8
47
|
interface ApiAgentEvent {
|
|
9
48
|
type: string;
|
|
10
49
|
timestamp: string | number;
|
|
11
50
|
payload: Record<string, unknown>;
|
|
51
|
+
sourceIndex?: number;
|
|
52
|
+
rawEvent?: ThreadDebuggerEvent;
|
|
12
53
|
}
|
|
13
|
-
|
|
54
|
+
type ThreadDetailsTab = "timeline" | "state" | "raw-events";
|
|
55
|
+
declare class CpkThreadInspector extends LitElement {
|
|
14
56
|
static properties: {
|
|
15
57
|
threadId: {
|
|
16
58
|
attribute: boolean;
|
|
17
59
|
};
|
|
60
|
+
provider: {
|
|
61
|
+
attribute: boolean;
|
|
62
|
+
};
|
|
18
63
|
thread: {
|
|
19
64
|
attribute: boolean;
|
|
20
65
|
};
|
|
@@ -39,6 +84,9 @@ declare class ɵCpkThreadDetails extends LitElement {
|
|
|
39
84
|
_tab: {
|
|
40
85
|
state: boolean;
|
|
41
86
|
};
|
|
87
|
+
_fetchedMetadata: {
|
|
88
|
+
state: boolean;
|
|
89
|
+
};
|
|
42
90
|
_conversation: {
|
|
43
91
|
state: boolean;
|
|
44
92
|
};
|
|
@@ -92,7 +140,8 @@ declare class ɵCpkThreadDetails extends LitElement {
|
|
|
92
140
|
};
|
|
93
141
|
};
|
|
94
142
|
threadId: string | null;
|
|
95
|
-
|
|
143
|
+
provider: ThreadDebuggerProvider | null;
|
|
144
|
+
thread: ThreadDebuggerMetadata | ɵThread | null;
|
|
96
145
|
runtimeUrl: string;
|
|
97
146
|
headers: Record<string, string>;
|
|
98
147
|
threadInspectionAvailable: boolean;
|
|
@@ -106,6 +155,7 @@ declare class ɵCpkThreadDetails extends LitElement {
|
|
|
106
155
|
*/
|
|
107
156
|
liveMessageVersion: number;
|
|
108
157
|
private _tab;
|
|
158
|
+
private _fetchedMetadata;
|
|
109
159
|
private _conversation;
|
|
110
160
|
private _fetchedEvents;
|
|
111
161
|
private _fetchedState;
|
|
@@ -138,7 +188,7 @@ declare class ɵCpkThreadDetails extends LitElement {
|
|
|
138
188
|
* switching back to AG-UI Events on a thread with hundreds of events
|
|
139
189
|
* triggers a multi-second DOM-creation pass each time.
|
|
140
190
|
*
|
|
141
|
-
* Reset to {"
|
|
191
|
+
* Reset to {"timeline"} when the selected thread changes.
|
|
142
192
|
*/
|
|
143
193
|
private _activatedTabs;
|
|
144
194
|
/**
|
|
@@ -152,6 +202,8 @@ declare class ɵCpkThreadDetails extends LitElement {
|
|
|
152
202
|
* reference; if any element flips, the cache misses and rebuilds.
|
|
153
203
|
*/
|
|
154
204
|
private _panelTplCache;
|
|
205
|
+
private _timelineItemsCache;
|
|
206
|
+
private _liveEventsWithSourceIndexCache;
|
|
155
207
|
/**
|
|
156
208
|
* Tracks whether we've fetched events for the current thread yet. Events
|
|
157
209
|
* fetch lazily on first sub-tab click so a large response's JSON.parse
|
|
@@ -164,8 +216,9 @@ declare class ɵCpkThreadDetails extends LitElement {
|
|
|
164
216
|
* lazy-load reasoning as `_eventsFetched`.
|
|
165
217
|
*/
|
|
166
218
|
private _stateFetched;
|
|
167
|
-
private
|
|
219
|
+
private _lastLoadKey;
|
|
168
220
|
private _lastSeenLiveMessageVersion;
|
|
221
|
+
private _metadataAbort;
|
|
169
222
|
private _messagesAbort;
|
|
170
223
|
private _eventsAbort;
|
|
171
224
|
private _stateAbort;
|
|
@@ -174,12 +227,30 @@ declare class ɵCpkThreadDetails extends LitElement {
|
|
|
174
227
|
private _dividerStartX;
|
|
175
228
|
private _dividerStartWidth;
|
|
176
229
|
static readonly COLLAPSE_THRESHOLD = 800;
|
|
177
|
-
|
|
230
|
+
static readonly TAB_LIST: ReadonlyArray<{
|
|
231
|
+
id: ThreadDetailsTab;
|
|
232
|
+
label: string;
|
|
233
|
+
}>;
|
|
234
|
+
private static providerIds;
|
|
235
|
+
private static nextProviderId;
|
|
236
|
+
private static providerLoadKey;
|
|
237
|
+
/**
|
|
238
|
+
* Build a deterministic signature for runtime fetch headers so auth/CSRF
|
|
239
|
+
* changes invalidate cached thread data even when the selected thread is
|
|
240
|
+
* otherwise unchanged.
|
|
241
|
+
*/
|
|
242
|
+
private static headersLoadKey;
|
|
178
243
|
private renderTabContent;
|
|
179
244
|
private activateTab;
|
|
180
245
|
private maybeFetchTabData;
|
|
181
246
|
static styles: lit.CSSResult;
|
|
182
247
|
updated(_changed: Map<string, unknown>): void;
|
|
248
|
+
private canFetchMessages;
|
|
249
|
+
private canFetchEvents;
|
|
250
|
+
private canFetchState;
|
|
251
|
+
private currentLoadKey;
|
|
252
|
+
private resetLoadedThreadData;
|
|
253
|
+
private fetchMetadata;
|
|
183
254
|
/**
|
|
184
255
|
* Fetch the canonical conversation for `threadId` from the runtime.
|
|
185
256
|
*
|
|
@@ -193,9 +264,15 @@ declare class ɵCpkThreadDetails extends LitElement {
|
|
|
193
264
|
private fetchMessages;
|
|
194
265
|
private fetchEvents;
|
|
195
266
|
private fetchState;
|
|
267
|
+
private fetchRuntimeMessages;
|
|
268
|
+
private fetchRuntimeEvents;
|
|
269
|
+
private fetchRuntimeState;
|
|
196
270
|
private getThreadInspectionUrl;
|
|
197
271
|
private mapMessages;
|
|
198
272
|
private mapApiEvents;
|
|
273
|
+
private get activeTimelineItems();
|
|
274
|
+
private timelineItemsForEvents;
|
|
275
|
+
private timelineItemsFromEvents;
|
|
199
276
|
private get renderItems();
|
|
200
277
|
private get activityCounts();
|
|
201
278
|
private get duration();
|
|
@@ -205,11 +282,16 @@ declare class ɵCpkThreadDetails extends LitElement {
|
|
|
205
282
|
private get activeState();
|
|
206
283
|
private hasRenderableState;
|
|
207
284
|
private shortId;
|
|
285
|
+
private get metadata();
|
|
208
286
|
private fmtTime;
|
|
209
287
|
private onDetailDividerDown;
|
|
210
288
|
private onDetailDividerMove;
|
|
211
289
|
private onDetailDividerUp;
|
|
212
290
|
render(): TemplateResult<1>;
|
|
291
|
+
private renderMetadataStrip;
|
|
292
|
+
private revealSourceEvent;
|
|
293
|
+
private renderTimeline;
|
|
294
|
+
private renderTimelineItem;
|
|
213
295
|
private renderConversation;
|
|
214
296
|
/**
|
|
215
297
|
* Memoize the rendered TemplateResult for `slot` keyed by tuple
|
|
@@ -221,6 +303,7 @@ declare class ɵCpkThreadDetails extends LitElement {
|
|
|
221
303
|
* change without the listed key flipping.
|
|
222
304
|
*/
|
|
223
305
|
private cachedPanelTpl;
|
|
306
|
+
private getCachedPanelTpl;
|
|
224
307
|
private renderRenderItem;
|
|
225
308
|
private renderBubble;
|
|
226
309
|
private renderToolBlock;
|
|
@@ -231,6 +314,7 @@ declare class ɵCpkThreadDetails extends LitElement {
|
|
|
231
314
|
private renderPanelToggle;
|
|
232
315
|
private renderDetailPanel;
|
|
233
316
|
}
|
|
317
|
+
declare class ɵCpkThreadDetails extends CpkThreadInspector {}
|
|
234
318
|
declare class WebInspectorElement extends LitElement {
|
|
235
319
|
static properties: {
|
|
236
320
|
readonly core: {
|
|
@@ -487,5 +571,5 @@ declare global {
|
|
|
487
571
|
}
|
|
488
572
|
} //# sourceMappingURL=index.d.ts.map
|
|
489
573
|
//#endregion
|
|
490
|
-
export { type Anchor, WEB_INSPECTOR_TAG, WebInspectorElement, defineWebInspector, ɵCpkThreadDetails };
|
|
574
|
+
export { type Anchor, CpkThreadInspector, THREAD_INSPECTOR_TAG, ThreadDebuggerEvent, ThreadDebuggerMessage, ThreadDebuggerMetadata, ThreadDebuggerProvider, ThreadDebuggerProviderLoadOptions, ThreadDebuggerToolCall, WEB_INSPECTOR_TAG, WebInspectorElement, defineWebInspector, ɵCpkThreadDetails };
|
|
491
575
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/index.ts"],"mappings":";;;;;;cAqEa,iBAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/index.ts"],"mappings":"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"}
|
package/dist/index.d.mts
CHANGED
|
@@ -5,16 +5,61 @@ import { CopilotKitCore, ɵThread } from "@copilotkit/core";
|
|
|
5
5
|
|
|
6
6
|
//#region src/index.d.ts
|
|
7
7
|
declare const WEB_INSPECTOR_TAG: "cpk-web-inspector";
|
|
8
|
+
declare const THREAD_INSPECTOR_TAG: "cpk-thread-inspector";
|
|
9
|
+
type ThreadDebuggerProviderLoadOptions = {
|
|
10
|
+
signal: AbortSignal;
|
|
11
|
+
};
|
|
12
|
+
type ThreadDebuggerToolCall = {
|
|
13
|
+
id: string;
|
|
14
|
+
name: string;
|
|
15
|
+
args: string | Record<string, unknown>;
|
|
16
|
+
};
|
|
17
|
+
type ThreadDebuggerMessage = {
|
|
18
|
+
id: string;
|
|
19
|
+
role: string;
|
|
20
|
+
content?: string;
|
|
21
|
+
toolCalls?: ThreadDebuggerToolCall[];
|
|
22
|
+
toolCallId?: string; /** Present when role === "activity" (Generative UI output). */
|
|
23
|
+
activityType?: string;
|
|
24
|
+
};
|
|
25
|
+
type ThreadDebuggerEvent = {
|
|
26
|
+
type: string;
|
|
27
|
+
timestamp: string | number;
|
|
28
|
+
payload?: Record<string, unknown>;
|
|
29
|
+
[key: string]: unknown;
|
|
30
|
+
};
|
|
31
|
+
type ThreadDebuggerMetadata = {
|
|
32
|
+
id: string;
|
|
33
|
+
name?: string | null;
|
|
34
|
+
agentId?: string | null;
|
|
35
|
+
endUserId?: string | null;
|
|
36
|
+
createdById?: string | null;
|
|
37
|
+
status?: string | null;
|
|
38
|
+
createdAt?: string | null;
|
|
39
|
+
updatedAt?: string | null;
|
|
40
|
+
};
|
|
41
|
+
type ThreadDebuggerProvider = {
|
|
42
|
+
getThreadMetadata?: (threadId: string, options: ThreadDebuggerProviderLoadOptions) => Promise<ThreadDebuggerMetadata | null>;
|
|
43
|
+
getMessages?: (threadId: string, options: ThreadDebuggerProviderLoadOptions) => Promise<ThreadDebuggerMessage[]>;
|
|
44
|
+
getEvents?: (threadId: string, options: ThreadDebuggerProviderLoadOptions) => Promise<ThreadDebuggerEvent[]>;
|
|
45
|
+
getState?: (threadId: string, options: ThreadDebuggerProviderLoadOptions) => Promise<Record<string, unknown> | null>;
|
|
46
|
+
};
|
|
8
47
|
interface ApiAgentEvent {
|
|
9
48
|
type: string;
|
|
10
49
|
timestamp: string | number;
|
|
11
50
|
payload: Record<string, unknown>;
|
|
51
|
+
sourceIndex?: number;
|
|
52
|
+
rawEvent?: ThreadDebuggerEvent;
|
|
12
53
|
}
|
|
13
|
-
|
|
54
|
+
type ThreadDetailsTab = "timeline" | "state" | "raw-events";
|
|
55
|
+
declare class CpkThreadInspector extends LitElement {
|
|
14
56
|
static properties: {
|
|
15
57
|
threadId: {
|
|
16
58
|
attribute: boolean;
|
|
17
59
|
};
|
|
60
|
+
provider: {
|
|
61
|
+
attribute: boolean;
|
|
62
|
+
};
|
|
18
63
|
thread: {
|
|
19
64
|
attribute: boolean;
|
|
20
65
|
};
|
|
@@ -39,6 +84,9 @@ declare class ɵCpkThreadDetails extends LitElement {
|
|
|
39
84
|
_tab: {
|
|
40
85
|
state: boolean;
|
|
41
86
|
};
|
|
87
|
+
_fetchedMetadata: {
|
|
88
|
+
state: boolean;
|
|
89
|
+
};
|
|
42
90
|
_conversation: {
|
|
43
91
|
state: boolean;
|
|
44
92
|
};
|
|
@@ -92,7 +140,8 @@ declare class ɵCpkThreadDetails extends LitElement {
|
|
|
92
140
|
};
|
|
93
141
|
};
|
|
94
142
|
threadId: string | null;
|
|
95
|
-
|
|
143
|
+
provider: ThreadDebuggerProvider | null;
|
|
144
|
+
thread: ThreadDebuggerMetadata | ɵThread | null;
|
|
96
145
|
runtimeUrl: string;
|
|
97
146
|
headers: Record<string, string>;
|
|
98
147
|
threadInspectionAvailable: boolean;
|
|
@@ -106,6 +155,7 @@ declare class ɵCpkThreadDetails extends LitElement {
|
|
|
106
155
|
*/
|
|
107
156
|
liveMessageVersion: number;
|
|
108
157
|
private _tab;
|
|
158
|
+
private _fetchedMetadata;
|
|
109
159
|
private _conversation;
|
|
110
160
|
private _fetchedEvents;
|
|
111
161
|
private _fetchedState;
|
|
@@ -138,7 +188,7 @@ declare class ɵCpkThreadDetails extends LitElement {
|
|
|
138
188
|
* switching back to AG-UI Events on a thread with hundreds of events
|
|
139
189
|
* triggers a multi-second DOM-creation pass each time.
|
|
140
190
|
*
|
|
141
|
-
* Reset to {"
|
|
191
|
+
* Reset to {"timeline"} when the selected thread changes.
|
|
142
192
|
*/
|
|
143
193
|
private _activatedTabs;
|
|
144
194
|
/**
|
|
@@ -152,6 +202,8 @@ declare class ɵCpkThreadDetails extends LitElement {
|
|
|
152
202
|
* reference; if any element flips, the cache misses and rebuilds.
|
|
153
203
|
*/
|
|
154
204
|
private _panelTplCache;
|
|
205
|
+
private _timelineItemsCache;
|
|
206
|
+
private _liveEventsWithSourceIndexCache;
|
|
155
207
|
/**
|
|
156
208
|
* Tracks whether we've fetched events for the current thread yet. Events
|
|
157
209
|
* fetch lazily on first sub-tab click so a large response's JSON.parse
|
|
@@ -164,8 +216,9 @@ declare class ɵCpkThreadDetails extends LitElement {
|
|
|
164
216
|
* lazy-load reasoning as `_eventsFetched`.
|
|
165
217
|
*/
|
|
166
218
|
private _stateFetched;
|
|
167
|
-
private
|
|
219
|
+
private _lastLoadKey;
|
|
168
220
|
private _lastSeenLiveMessageVersion;
|
|
221
|
+
private _metadataAbort;
|
|
169
222
|
private _messagesAbort;
|
|
170
223
|
private _eventsAbort;
|
|
171
224
|
private _stateAbort;
|
|
@@ -174,12 +227,30 @@ declare class ɵCpkThreadDetails extends LitElement {
|
|
|
174
227
|
private _dividerStartX;
|
|
175
228
|
private _dividerStartWidth;
|
|
176
229
|
static readonly COLLAPSE_THRESHOLD = 800;
|
|
177
|
-
|
|
230
|
+
static readonly TAB_LIST: ReadonlyArray<{
|
|
231
|
+
id: ThreadDetailsTab;
|
|
232
|
+
label: string;
|
|
233
|
+
}>;
|
|
234
|
+
private static providerIds;
|
|
235
|
+
private static nextProviderId;
|
|
236
|
+
private static providerLoadKey;
|
|
237
|
+
/**
|
|
238
|
+
* Build a deterministic signature for runtime fetch headers so auth/CSRF
|
|
239
|
+
* changes invalidate cached thread data even when the selected thread is
|
|
240
|
+
* otherwise unchanged.
|
|
241
|
+
*/
|
|
242
|
+
private static headersLoadKey;
|
|
178
243
|
private renderTabContent;
|
|
179
244
|
private activateTab;
|
|
180
245
|
private maybeFetchTabData;
|
|
181
246
|
static styles: lit.CSSResult;
|
|
182
247
|
updated(_changed: Map<string, unknown>): void;
|
|
248
|
+
private canFetchMessages;
|
|
249
|
+
private canFetchEvents;
|
|
250
|
+
private canFetchState;
|
|
251
|
+
private currentLoadKey;
|
|
252
|
+
private resetLoadedThreadData;
|
|
253
|
+
private fetchMetadata;
|
|
183
254
|
/**
|
|
184
255
|
* Fetch the canonical conversation for `threadId` from the runtime.
|
|
185
256
|
*
|
|
@@ -193,9 +264,15 @@ declare class ɵCpkThreadDetails extends LitElement {
|
|
|
193
264
|
private fetchMessages;
|
|
194
265
|
private fetchEvents;
|
|
195
266
|
private fetchState;
|
|
267
|
+
private fetchRuntimeMessages;
|
|
268
|
+
private fetchRuntimeEvents;
|
|
269
|
+
private fetchRuntimeState;
|
|
196
270
|
private getThreadInspectionUrl;
|
|
197
271
|
private mapMessages;
|
|
198
272
|
private mapApiEvents;
|
|
273
|
+
private get activeTimelineItems();
|
|
274
|
+
private timelineItemsForEvents;
|
|
275
|
+
private timelineItemsFromEvents;
|
|
199
276
|
private get renderItems();
|
|
200
277
|
private get activityCounts();
|
|
201
278
|
private get duration();
|
|
@@ -205,11 +282,16 @@ declare class ɵCpkThreadDetails extends LitElement {
|
|
|
205
282
|
private get activeState();
|
|
206
283
|
private hasRenderableState;
|
|
207
284
|
private shortId;
|
|
285
|
+
private get metadata();
|
|
208
286
|
private fmtTime;
|
|
209
287
|
private onDetailDividerDown;
|
|
210
288
|
private onDetailDividerMove;
|
|
211
289
|
private onDetailDividerUp;
|
|
212
290
|
render(): TemplateResult<1>;
|
|
291
|
+
private renderMetadataStrip;
|
|
292
|
+
private revealSourceEvent;
|
|
293
|
+
private renderTimeline;
|
|
294
|
+
private renderTimelineItem;
|
|
213
295
|
private renderConversation;
|
|
214
296
|
/**
|
|
215
297
|
* Memoize the rendered TemplateResult for `slot` keyed by tuple
|
|
@@ -221,6 +303,7 @@ declare class ɵCpkThreadDetails extends LitElement {
|
|
|
221
303
|
* change without the listed key flipping.
|
|
222
304
|
*/
|
|
223
305
|
private cachedPanelTpl;
|
|
306
|
+
private getCachedPanelTpl;
|
|
224
307
|
private renderRenderItem;
|
|
225
308
|
private renderBubble;
|
|
226
309
|
private renderToolBlock;
|
|
@@ -231,6 +314,7 @@ declare class ɵCpkThreadDetails extends LitElement {
|
|
|
231
314
|
private renderPanelToggle;
|
|
232
315
|
private renderDetailPanel;
|
|
233
316
|
}
|
|
317
|
+
declare class ɵCpkThreadDetails extends CpkThreadInspector {}
|
|
234
318
|
declare class WebInspectorElement extends LitElement {
|
|
235
319
|
static properties: {
|
|
236
320
|
readonly core: {
|
|
@@ -487,5 +571,5 @@ declare global {
|
|
|
487
571
|
}
|
|
488
572
|
} //# sourceMappingURL=index.d.ts.map
|
|
489
573
|
//#endregion
|
|
490
|
-
export { type Anchor, WEB_INSPECTOR_TAG, WebInspectorElement, defineWebInspector, ɵCpkThreadDetails };
|
|
574
|
+
export { type Anchor, CpkThreadInspector, THREAD_INSPECTOR_TAG, ThreadDebuggerEvent, ThreadDebuggerMessage, ThreadDebuggerMetadata, ThreadDebuggerProvider, ThreadDebuggerProviderLoadOptions, ThreadDebuggerToolCall, WEB_INSPECTOR_TAG, WebInspectorElement, defineWebInspector, ɵCpkThreadDetails };
|
|
491
575
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/index.ts"],"mappings":";;;;;;cAqEa,iBAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/index.ts"],"mappings":"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"}
|