@deepseek-ai/dsh-experimental-inspector 0.1.6-alpha.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 (156) hide show
  1. package/LICENSE +21 -0
  2. package/README.i18n.yaml +6 -0
  3. package/README.md +156 -0
  4. package/README.zh.md +156 -0
  5. package/lib/client.js +3424 -0
  6. package/lib/index.js +2406 -0
  7. package/lib/types/client/bridge/controller.d.ts +10 -0
  8. package/lib/types/client/bridge/dispatcher.d.ts +26 -0
  9. package/lib/types/client/bridge/lifecycle.d.ts +20 -0
  10. package/lib/types/client/bridge/publisher.d.ts +42 -0
  11. package/lib/types/client/bridge/rpc.d.ts +13 -0
  12. package/lib/types/client/bridge/transport.d.ts +34 -0
  13. package/lib/types/client/cdp/console.d.ts +45 -0
  14. package/lib/types/client/cdp/debugger.d.ts +8 -0
  15. package/lib/types/client/cdp/errors.d.ts +8 -0
  16. package/lib/types/client/cdp/heap-profiler.d.ts +8 -0
  17. package/lib/types/client/cdp/index.d.ts +10 -0
  18. package/lib/types/client/cdp/objects.d.ts +69 -0
  19. package/lib/types/client/cdp/profiler.d.ts +8 -0
  20. package/lib/types/client/cdp/properties.d.ts +16 -0
  21. package/lib/types/client/cdp/runtime.d.ts +79 -0
  22. package/lib/types/client/cdp/sources.d.ts +52 -0
  23. package/lib/types/client/cdp/stack.d.ts +27 -0
  24. package/lib/types/client/index.d.ts +3 -0
  25. package/lib/types/client/inspection/cordis.d.ts +3 -0
  26. package/lib/types/client/inspection/network.d.ts +4 -0
  27. package/lib/types/client/inspection/realm.d.ts +27 -0
  28. package/lib/types/client/plugin.d.ts +28 -0
  29. package/lib/types/host/bridge/controller.d.ts +108 -0
  30. package/lib/types/host/bridge/dispatcher.d.ts +16 -0
  31. package/lib/types/host/bridge/lifecycle.d.ts +42 -0
  32. package/lib/types/host/bridge/publisher.d.ts +31 -0
  33. package/lib/types/host/bridge/rpc.d.ts +15 -0
  34. package/lib/types/host/bridge/transport.d.ts +28 -0
  35. package/lib/types/host/cdp/console.d.ts +14 -0
  36. package/lib/types/host/cdp/debugger.d.ts +8 -0
  37. package/lib/types/host/cdp/errors.d.ts +6 -0
  38. package/lib/types/host/cdp/heap-profiler.d.ts +8 -0
  39. package/lib/types/host/cdp/index.d.ts +10 -0
  40. package/lib/types/host/cdp/objects.d.ts +8 -0
  41. package/lib/types/host/cdp/profiler.d.ts +8 -0
  42. package/lib/types/host/cdp/properties.d.ts +7 -0
  43. package/lib/types/host/cdp/runtime.d.ts +16 -0
  44. package/lib/types/host/cdp/sources.d.ts +14 -0
  45. package/lib/types/host/cdp/stack.d.ts +4 -0
  46. package/lib/types/host/index.d.ts +3 -0
  47. package/lib/types/host/inspection/cordis.d.ts +3 -0
  48. package/lib/types/host/inspection/network.d.ts +23 -0
  49. package/lib/types/host/inspection/realm.d.ts +9 -0
  50. package/lib/types/host/plugin.d.ts +19 -0
  51. package/lib/types/index.d.ts +50 -0
  52. package/lib/types/shared/bridge/buffer.d.ts +62 -0
  53. package/lib/types/shared/bridge/codec.d.ts +4 -0
  54. package/lib/types/shared/bridge/control-codec.d.ts +27 -0
  55. package/lib/types/shared/bridge/ids.d.ts +19 -0
  56. package/lib/types/shared/bridge/messages/control.d.ts +64 -0
  57. package/lib/types/shared/bridge/messages/cordis.d.ts +4 -0
  58. package/lib/types/shared/bridge/messages/network.d.ts +4 -0
  59. package/lib/types/shared/bridge/messages/observation.d.ts +110 -0
  60. package/lib/types/shared/bridge/messages/query/codec.d.ts +40 -0
  61. package/lib/types/shared/bridge/messages/query/commands.d.ts +35 -0
  62. package/lib/types/shared/bridge/messages/query/frames.d.ts +31 -0
  63. package/lib/types/shared/bridge/messages/query/index.d.ts +5 -0
  64. package/lib/types/shared/bridge/messages/runtime/command-codec.d.ts +9 -0
  65. package/lib/types/shared/bridge/messages/runtime/commands.d.ts +76 -0
  66. package/lib/types/shared/bridge/messages/runtime/console-frames.d.ts +52 -0
  67. package/lib/types/shared/bridge/messages/runtime/frames.d.ts +98 -0
  68. package/lib/types/shared/bridge/messages/runtime/index.d.ts +5 -0
  69. package/lib/types/shared/bridge/messages/runtime/value-codec.d.ts +28 -0
  70. package/lib/types/shared/bridge/messages/sources/codec.d.ts +15 -0
  71. package/lib/types/shared/bridge/messages/sources/commands.d.ts +42 -0
  72. package/lib/types/shared/bridge/messages/sources/frames.d.ts +67 -0
  73. package/lib/types/shared/bridge/messages/sources/index.d.ts +5 -0
  74. package/lib/types/shared/bridge/publisher.d.ts +33 -0
  75. package/lib/types/shared/bridge/query-reader.d.ts +10 -0
  76. package/lib/types/shared/bridge/rpc.d.ts +62 -0
  77. package/lib/types/shared/bridge/validation.d.ts +3 -0
  78. package/lib/types/shared/bridge/version.d.ts +3 -0
  79. package/lib/types/shared/cdp/capabilities.d.ts +17 -0
  80. package/lib/types/shared/cdp/console.d.ts +28 -0
  81. package/lib/types/shared/cdp/debugger.d.ts +69 -0
  82. package/lib/types/shared/cdp/errors.d.ts +27 -0
  83. package/lib/types/shared/cdp/ids.d.ts +9 -0
  84. package/lib/types/shared/cdp/index.d.ts +11 -0
  85. package/lib/types/shared/cdp/operations.d.ts +86 -0
  86. package/lib/types/shared/cdp/property.d.ts +28 -0
  87. package/lib/types/shared/cdp/realm.d.ts +137 -0
  88. package/lib/types/shared/cdp/remote-object.d.ts +44 -0
  89. package/lib/types/shared/cdp/sources.d.ts +18 -0
  90. package/lib/types/shared/cordis/collector.d.ts +26 -0
  91. package/lib/types/shared/cordis/ids.d.ts +7 -0
  92. package/lib/types/shared/cordis/model.d.ts +61 -0
  93. package/lib/types/shared/cordis/object-reference.d.ts +14 -0
  94. package/lib/types/shared/cordis/object-registry.d.ts +80 -0
  95. package/lib/types/shared/cordis/observer.d.ts +15 -0
  96. package/lib/types/shared/cordis/projector.d.ts +34 -0
  97. package/lib/types/shared/cordis/publisher.d.ts +13 -0
  98. package/lib/types/shared/cordis/reader.d.ts +18 -0
  99. package/lib/types/shared/cordis/snapshot.d.ts +39 -0
  100. package/lib/types/shared/identity.d.ts +12 -0
  101. package/lib/types/shared/index.d.ts +18 -0
  102. package/lib/types/shared/json.d.ts +35 -0
  103. package/lib/types/shared/network/event-source.d.ts +20 -0
  104. package/lib/types/shared/network/observation.d.ts +52 -0
  105. package/lib/types/shared/service.d.ts +23 -0
  106. package/lib/types/shared/validation.d.ts +52 -0
  107. package/lib/types/worker/bridge/endpoint.d.ts +49 -0
  108. package/lib/types/worker/bridge/hub.d.ts +108 -0
  109. package/lib/types/worker/bridge/runtime-rpc.d.ts +90 -0
  110. package/lib/types/worker/bridge/session.d.ts +15 -0
  111. package/lib/types/worker/bridge/source-rpc.d.ts +42 -0
  112. package/lib/types/worker/cdp/domains/debugger/cdp-params.d.ts +15 -0
  113. package/lib/types/worker/cdp/domains/debugger/index.d.ts +6 -0
  114. package/lib/types/worker/cdp/domains/debugger/projector.d.ts +22 -0
  115. package/lib/types/worker/cdp/domains/debugger/script-registry.d.ts +70 -0
  116. package/lib/types/worker/cdp/domains/debugger/session.d.ts +47 -0
  117. package/lib/types/worker/cdp/domains/dom/index.d.ts +4 -0
  118. package/lib/types/worker/cdp/domains/dom/model.d.ts +108 -0
  119. package/lib/types/worker/cdp/domains/dom/session.d.ts +74 -0
  120. package/lib/types/worker/cdp/domains/native.d.ts +25 -0
  121. package/lib/types/worker/cdp/domains/network/session.d.ts +46 -0
  122. package/lib/types/worker/cdp/domains/runtime/cdp-params.d.ts +82 -0
  123. package/lib/types/worker/cdp/domains/runtime/index.d.ts +3 -0
  124. package/lib/types/worker/cdp/domains/runtime/object-table.d.ts +117 -0
  125. package/lib/types/worker/cdp/domains/runtime/session.d.ts +97 -0
  126. package/lib/types/worker/cdp/ids.d.ts +37 -0
  127. package/lib/types/worker/cdp/protocol.d.ts +46 -0
  128. package/lib/types/worker/cdp/realm-sessions.d.ts +64 -0
  129. package/lib/types/worker/cdp/session.d.ts +34 -0
  130. package/lib/types/worker/cdp/target.d.ts +17 -0
  131. package/lib/types/worker/entry.d.ts +3 -0
  132. package/lib/types/worker/inspection/cordis-query.d.ts +11 -0
  133. package/lib/types/worker/inspection/cordis-store.d.ts +94 -0
  134. package/lib/types/worker/inspection/network-store.d.ts +110 -0
  135. package/lib/types/worker/inspection/query-router.d.ts +78 -0
  136. package/lib/types/worker/inspection/realm-store.d.ts +58 -0
  137. package/lib/types/worker/inspection/realm.d.ts +43 -0
  138. package/lib/types/worker/realms/client/bridge.d.ts +18 -0
  139. package/lib/types/worker/realms/client/console.d.ts +21 -0
  140. package/lib/types/worker/realms/client/debugger.d.ts +8 -0
  141. package/lib/types/worker/realms/client/index.d.ts +18 -0
  142. package/lib/types/worker/realms/client/runtime.d.ts +28 -0
  143. package/lib/types/worker/realms/client/scripts.d.ts +15 -0
  144. package/lib/types/worker/realms/client/sources.d.ts +30 -0
  145. package/lib/types/worker/realms/client/values.d.ts +55 -0
  146. package/lib/types/worker/realms/host/bridge.d.ts +49 -0
  147. package/lib/types/worker/realms/host/console.d.ts +25 -0
  148. package/lib/types/worker/realms/host/debugger.d.ts +25 -0
  149. package/lib/types/worker/realms/host/index.d.ts +13 -0
  150. package/lib/types/worker/realms/host/runtime.d.ts +54 -0
  151. package/lib/types/worker/realms/host/scripts.d.ts +9 -0
  152. package/lib/types/worker/realms/host/sources.d.ts +26 -0
  153. package/lib/types/worker/realms/host/values.d.ts +22 -0
  154. package/lib/types/worker/server.d.ts +16 -0
  155. package/lib/worker.js +7184 -0
  156. package/package.json +64 -0
@@ -0,0 +1,46 @@
1
+ /** CDP Network projection over the Worker-owned normalized network store. */
2
+ import type { NetworkStore } from '../../../inspection/network-store.ts';
3
+ /** CDP session slice used by the Network domain. */
4
+ export interface NetworkSink {
5
+ sendEvent(method: string, params: Readonly<Record<string, unknown>>): void;
6
+ }
7
+ /** Projects retained and live network observations into connection-local CDP state. */
8
+ export declare class NetworkDomain {
9
+ private readonly store;
10
+ private readonly enabled;
11
+ private readonly streamedRequests;
12
+ private readonly pendingStarts;
13
+ private readonly requestTypes;
14
+ private readonly unsubscribe;
15
+ constructor(store: NetworkStore);
16
+ /**
17
+ * Enable Network for one DevTools connection and replay retained lifecycle events.
18
+ * @param session - Connection receiving replay and subsequent events.
19
+ */
20
+ enable(session: NetworkSink): void;
21
+ /**
22
+ * Stop Network events for one DevTools connection.
23
+ * @param session - Connection leaving the enabled set.
24
+ */
25
+ disable(session: NetworkSink): void;
26
+ /**
27
+ * Forget a closed DevTools connection.
28
+ * @param session - Closed DevTools connection.
29
+ */
30
+ detach(session: NetworkSink): void;
31
+ /** Release the repository subscription and all connection-local state. */
32
+ close(): void;
33
+ /**
34
+ * Handle one Worker-local Network method.
35
+ * @param method - CDP method name.
36
+ * @param params - Parsed request parameters.
37
+ * @param session - Calling DevTools connection.
38
+ * @returns The CDP result fields.
39
+ */
40
+ handle(method: string, params: Readonly<Record<string, unknown>>, session: NetworkSink): unknown;
41
+ private receive;
42
+ private send;
43
+ private sendRequestStart;
44
+ private stopRequest;
45
+ }
46
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1,82 @@
1
+ /** Validation and normalization of CDP Runtime parameters routed to a Client realm. */
2
+ import type { RuntimeBackendObjectHandle } from '../../../../shared/cdp/ids.ts';
3
+ import { type InspectorJsonValue } from '../../../../shared/json.ts';
4
+ import type { RuntimeAwaitPromiseRequest, RuntimeCallFunctionRequest, RuntimeEvaluateRequest, RuntimeGetPropertiesRequest } from '../../../../shared/cdp/index.ts';
5
+ /** Numeric or globally unique selector for one execution context. */
6
+ export interface CdpExecutionContextSelector {
7
+ readonly contextId?: number;
8
+ readonly executionContextId?: number;
9
+ readonly uniqueContextId?: string;
10
+ }
11
+ /** Validated Runtime.evaluate parameters and their routing selector. */
12
+ export interface ParsedEvaluate extends CdpExecutionContextSelector {
13
+ readonly request: RuntimeEvaluateRequest;
14
+ }
15
+ /** Client-independent call argument before object ids are routed. */
16
+ export type CdpCallArgument = {
17
+ readonly kind: 'value';
18
+ readonly value: InspectorJsonValue;
19
+ } | {
20
+ readonly kind: 'unserializable';
21
+ readonly value: string;
22
+ } | {
23
+ readonly kind: 'object';
24
+ readonly objectId: string;
25
+ } | {
26
+ readonly kind: 'undefined';
27
+ };
28
+ /** Validated Runtime.callFunctionOn parameters before object-id routing. */
29
+ export interface ParsedCallFunction extends CdpExecutionContextSelector {
30
+ readonly objectId?: string;
31
+ readonly arguments: readonly CdpCallArgument[];
32
+ readonly request: Omit<RuntimeCallFunctionRequest<RuntimeBackendObjectHandle>, 'receiver' | 'arguments'>;
33
+ }
34
+ /**
35
+ * Parse realm-routed `Runtime.evaluate` parameters.
36
+ * @param params - Untrusted CDP parameters.
37
+ * @returns A context selector and normalized Runtime request.
38
+ */
39
+ export declare function parseEvaluate(params: Readonly<Record<string, unknown>>): ParsedEvaluate;
40
+ /**
41
+ * Parse realm-routed `Runtime.getProperties` parameters.
42
+ * @param params - Untrusted CDP parameters.
43
+ * @returns The external object id and handle-free Runtime request.
44
+ */
45
+ export declare function parseGetProperties(params: Readonly<Record<string, unknown>>): {
46
+ readonly objectId: string;
47
+ readonly request: Omit<RuntimeGetPropertiesRequest<RuntimeBackendObjectHandle>, 'handle'>;
48
+ };
49
+ /**
50
+ * Parse Client-routed `Runtime.callFunctionOn` parameters.
51
+ * @param params - Untrusted CDP parameters.
52
+ * @returns Routing fields, arguments, and a handle-free Runtime request.
53
+ */
54
+ export declare function parseCallFunction(params: Readonly<Record<string, unknown>>): ParsedCallFunction;
55
+ /**
56
+ * Parse Client-routed `Runtime.awaitPromise` parameters.
57
+ * @param params - Untrusted CDP parameters.
58
+ * @returns The external promise id and handle-free Runtime request.
59
+ */
60
+ export declare function parseAwaitPromise(params: Readonly<Record<string, unknown>>): {
61
+ readonly promiseObjectId: string;
62
+ readonly request: Omit<RuntimeAwaitPromiseRequest<RuntimeBackendObjectHandle>, 'promise'>;
63
+ };
64
+ /**
65
+ * Parse one required object id.
66
+ * @param params - Untrusted CDP parameters.
67
+ * @returns The object id.
68
+ */
69
+ export declare function parseReleaseObject(params: Readonly<Record<string, unknown>>): string;
70
+ /**
71
+ * Parse one required object-group name.
72
+ * @param params - Untrusted CDP parameters.
73
+ * @returns The object-group name.
74
+ */
75
+ export declare function parseReleaseObjectGroup(params: Readonly<Record<string, unknown>>): string;
76
+ /**
77
+ * Parse `Runtime.globalLexicalScopeNames` context selection.
78
+ * @param params - Untrusted CDP parameters.
79
+ * @returns The validated context selector.
80
+ */
81
+ export declare function parseGlobalLexicalScopeNames(params: Readonly<Record<string, unknown>>): CdpExecutionContextSelector;
82
+ //# sourceMappingURL=cdp-params.d.ts.map
@@ -0,0 +1,3 @@
1
+ /** Client-aware Runtime domain exports. */
2
+ export { RuntimeDomainSession } from './session.ts';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,117 @@
1
+ /** Per-CDP-connection routing and projection for every realm's Runtime objects. */
2
+ import type { RuntimeCompletion, RuntimeConsoleBackendEvent, RuntimeProperties, RuntimeRemoteObject } from '../../../../shared/cdp/index.ts';
3
+ import type { InspectorObjectReference } from '../../../../shared/cordis/object-reference.ts';
4
+ import type { RuntimeBackendObjectHandle } from '../../../../shared/cdp/ids.ts';
5
+ import type { InspectorRealmDescriptor, InspectorRealmSession } from '../../../inspection/realm.ts';
6
+ import { type CdpRemoteObjectId, type InspectorConnectionId } from '../../ids.ts';
7
+ /** Object retained behind one connection-local CDP object id. */
8
+ export interface RuntimeObjectRoute {
9
+ readonly realm: InspectorRealmSession;
10
+ readonly handle: RuntimeBackendObjectHandle;
11
+ readonly group: string | undefined;
12
+ }
13
+ /** Semantic presentation applied when an object belongs to a projected node. */
14
+ export interface RuntimeObjectPresentation {
15
+ readonly subtype: 'node';
16
+ readonly className: string;
17
+ readonly description: string;
18
+ }
19
+ /** Observer of newly exposed Runtime object ids. */
20
+ export type RuntimeObjectObserver = (objectId: CdpRemoteObjectId, realm: InspectorRealmDescriptor, reference: InspectorObjectReference, group: string | undefined) => RuntimeObjectPresentation | undefined;
21
+ /** CDP Runtime payload derived from one realm completion. */
22
+ export interface CdpRuntimeCompletion {
23
+ readonly result: Readonly<Record<string, unknown>>;
24
+ readonly exceptionDetails?: Readonly<Record<string, unknown>>;
25
+ }
26
+ /** CDP Runtime payload derived from one realm's property descriptors. */
27
+ export interface CdpGetPropertiesResult {
28
+ readonly result: readonly Readonly<Record<string, unknown>>[];
29
+ readonly internalProperties?: readonly Readonly<Record<string, unknown>>[];
30
+ readonly privateProperties?: readonly Readonly<Record<string, unknown>>[];
31
+ readonly exceptionDetails?: Readonly<Record<string, unknown>>;
32
+ }
33
+ /** One CDP notification projected from a realm Console event. */
34
+ export interface CdpRuntimeEvent {
35
+ readonly method: 'Runtime.consoleAPICalled' | 'Runtime.exceptionThrown';
36
+ readonly params: Readonly<Record<string, unknown>>;
37
+ }
38
+ /** Maps every realm's backend handles to object ids scoped to one CDP connection. */
39
+ export declare class RuntimeObjectTable {
40
+ private readonly connectionId;
41
+ private readonly routes;
42
+ private nextObjectId;
43
+ private nextExceptionId;
44
+ private observer;
45
+ constructor(connectionId: InspectorConnectionId);
46
+ /**
47
+ * Install Cordis object recognition after Runtime and DOM sessions are assembled.
48
+ * @param observer - Callback mapping a semantic reference to node presentation.
49
+ */
50
+ setObserver(observer: RuntimeObjectObserver): void;
51
+ /**
52
+ * Resolve one connection-local object id.
53
+ * @param objectId - CDP object id allocated by this table.
54
+ * @returns Its realm and backend handle when current.
55
+ */
56
+ resolve(objectId: string): RuntimeObjectRoute | undefined;
57
+ /**
58
+ * Convert a realm completion to CDP fields.
59
+ * @param realm - Realm session that produced the value.
60
+ * @param value - Engine-independent completion.
61
+ * @param group - Object group inherited by exposed handles.
62
+ * @returns CDP Runtime completion fields.
63
+ */
64
+ completion(realm: InspectorRealmSession, value: RuntimeCompletion<RuntimeBackendObjectHandle>, group: string | undefined): CdpRuntimeCompletion;
65
+ /**
66
+ * Convert realm property descriptors to CDP fields.
67
+ * @param realm - Realm session that owns returned object references.
68
+ * @param value - Engine-independent property result.
69
+ * @param group - Object group inherited from the inspected object.
70
+ * @returns CDP Runtime property result fields.
71
+ */
72
+ properties(realm: InspectorRealmSession, value: RuntimeProperties<RuntimeBackendObjectHandle>, group: string | undefined): CdpGetPropertiesResult;
73
+ /**
74
+ * Project one realm Console event to a CDP Runtime notification.
75
+ * @param realm - Realm session that emitted the event.
76
+ * @param value - Realm-neutral Console or exception event.
77
+ * @returns CDP method and parameters.
78
+ */
79
+ consoleEvent(realm: InspectorRealmSession, value: RuntimeConsoleBackendEvent<RuntimeBackendObjectHandle>): CdpRuntimeEvent;
80
+ /**
81
+ * List realm sessions retaining at least one object in a group.
82
+ * @param group - DevTools object-group name.
83
+ * @returns Distinct realm sessions that must receive the release.
84
+ */
85
+ realmsInGroup(group: string): InspectorRealmSession[];
86
+ /**
87
+ * Forget one externally visible object id.
88
+ * @param objectId - Released CDP object id.
89
+ */
90
+ release(objectId: string): void;
91
+ /**
92
+ * Forget all ids retained under one object group.
93
+ * @param group - Released object-group name.
94
+ */
95
+ releaseGroup(group: string): void;
96
+ /**
97
+ * Forget every object owned by one closed realm session.
98
+ * @param realm - Closed realm session.
99
+ */
100
+ releaseRealm(realm: InspectorRealmSession): void;
101
+ /** Forget every object exposed on this DevTools connection. */
102
+ clear(): void;
103
+ /**
104
+ * Project one common Runtime value and retain its backend handle for this connection.
105
+ * @param realm - Realm session that owns the value.
106
+ * @param value - Realm-neutral Runtime value.
107
+ * @param group - Object group assigned to any exposed handle.
108
+ * @returns CDP RemoteObject fields.
109
+ */
110
+ remote(realm: InspectorRealmSession, value: RuntimeRemoteObject<RuntimeBackendObjectHandle>, group: string | undefined): Readonly<Record<string, unknown>>;
111
+ private property;
112
+ private internalProperty;
113
+ private privateProperty;
114
+ private exception;
115
+ private expose;
116
+ }
117
+ //# sourceMappingURL=object-table.d.ts.map
@@ -0,0 +1,97 @@
1
+ /** Per-DevTools-session Runtime routing across uniform Host and Client realms. */
2
+ import type { InspectorSourceDescriptor } from '../../../../shared/bridge/messages/observation.ts';
3
+ import type { RuntimeBackendObjectHandle } from '../../../../shared/cdp/ids.ts';
4
+ import type { RuntimeCompletion, RuntimeRemoteObject } from '../../../../shared/cdp/index.ts';
5
+ import { type CdpRequest, type CdpTransport } from '../../protocol.ts';
6
+ import type { InspectorRealmSession } from '../../../inspection/realm.ts';
7
+ import type { InspectorRealmSessionSet } from '../../realm-sessions.ts';
8
+ import { type RuntimeObjectObserver } from './object-table.ts';
9
+ import type { RuntimeObjectRoute } from './object-table.ts';
10
+ /** Runtime router layered over the common per-connection realm sessions. */
11
+ export declare class RuntimeDomainSession {
12
+ private readonly transport;
13
+ private readonly realms;
14
+ private readonly objects;
15
+ private readonly announcedContexts;
16
+ private readonly consoleDisposers;
17
+ private readonly unsubscribeRealms;
18
+ private enabled;
19
+ private closed;
20
+ constructor(transport: CdpTransport, realms: InspectorRealmSessionSet);
21
+ /**
22
+ * Handle methods that require cross-realm Runtime coordination.
23
+ * @param request - Parsed CDP request.
24
+ * @returns Whether this domain owns the method or object id.
25
+ */
26
+ handle(request: CdpRequest): boolean;
27
+ /** Release this connection's object routes and realm subscription. */
28
+ close(): void;
29
+ /**
30
+ * Install semantic object recognition shared with the DOM adapter.
31
+ * @param observer - Callback invoked for objects carrying semantic references.
32
+ */
33
+ setObjectObserver(observer: RuntimeObjectObserver): void;
34
+ /**
35
+ * Resolve a connection-local CDP object id for another domain adapter.
36
+ * @param objectId - CDP object id allocated by this Runtime session.
37
+ * @returns Its realm and backend handle when still live.
38
+ */
39
+ objectRoute(objectId: string): RuntimeObjectRoute | undefined;
40
+ /**
41
+ * Project a completion produced by another domain through this connection's object table.
42
+ * @param realm - Realm session that owns the completion.
43
+ * @param completion - Realm-neutral result and exception fields.
44
+ * @param group - Object group assigned to exposed handles.
45
+ * @returns CDP Runtime result fields.
46
+ */
47
+ projectCompletion(realm: InspectorRealmSession, completion: RuntimeCompletion<RuntimeBackendObjectHandle>, group: string | undefined): object;
48
+ /**
49
+ * Project one Runtime value produced by another domain.
50
+ * @param realm - Realm session that owns the value.
51
+ * @param value - Realm-neutral Runtime value.
52
+ * @param group - Object group assigned to an exposed handle.
53
+ * @returns CDP RemoteObject fields.
54
+ */
55
+ projectRemoteObject(realm: InspectorRealmSession, value: RuntimeRemoteObject<RuntimeBackendObjectHandle>, group: string | undefined): Readonly<Record<string, unknown>>;
56
+ /**
57
+ * Forget connection-local ids retained for another domain's object group.
58
+ * @param group - Object group whose projected ids have expired.
59
+ */
60
+ releaseProjectedGroup(group: string): void;
61
+ /**
62
+ * Replace common object ids with native backend handles in a Host-only request.
63
+ * @param params - Parsed CDP parameters that may contain nested object ids.
64
+ * @returns A detached parameter record suitable for the native Host protocol.
65
+ */
66
+ nativeParameters(params: Readonly<Record<string, unknown>>): Readonly<Record<string, unknown>>;
67
+ /**
68
+ * Resolve one realm-registry expression to a connection-local object id.
69
+ * @param source - Source generation that owns the Cordis tree node.
70
+ * @param expression - Side-effect-free realm object lookup.
71
+ * @param objectGroup - Optional DevTools retention group.
72
+ * @returns The CDP RemoteObject fields.
73
+ */
74
+ resolveObject(source: InspectorSourceDescriptor, expression: string, objectGroup: string | undefined): Promise<Readonly<Record<string, unknown>>>;
75
+ private enable;
76
+ private disable;
77
+ private evaluate;
78
+ private getProperties;
79
+ private callFunction;
80
+ private awaitPromise;
81
+ private releaseObject;
82
+ private releaseObjectGroup;
83
+ private globalLexicalScopeNames;
84
+ private discardConsoleEntries;
85
+ private realmFromSelector;
86
+ private realmFromOptionalSelector;
87
+ private backendContext;
88
+ private routeArgument;
89
+ private unsupportedNativeRoute;
90
+ private receiveRealm;
91
+ private attachConsole;
92
+ private announce;
93
+ private destroy;
94
+ private respond;
95
+ private sendError;
96
+ }
97
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1,37 @@
1
+ /** Opaque identifiers owned by one Worker-side Chrome DevTools connection. */
2
+ import type { InspectorId } from '../../shared/identity.ts';
3
+ declare const cdpNumericIdBrand: unique symbol;
4
+ /** Number branded with one Chrome CDP identity role. */
5
+ export type CdpNumericId<Role extends string> = number & {
6
+ readonly [cdpNumericIdBrand]: Role;
7
+ };
8
+ /** Identity of one DevTools connection inside the Worker. */
9
+ export type InspectorConnectionId = InspectorId<'InspectorConnectionId'>;
10
+ /** Runtime object id scoped to one DevTools connection. */
11
+ export type CdpRemoteObjectId = InspectorId<'CdpRemoteObjectId'>;
12
+ /** Debugger script id scoped to one DevTools connection. */
13
+ export type CdpScriptId = InspectorId<'CdpScriptId'>;
14
+ /** Debugger call-frame id scoped to one paused DevTools session. */
15
+ export type CdpCallFrameId = InspectorId<'CdpCallFrameId'>;
16
+ /** Runtime execution-context id scoped to one DevTools target. */
17
+ export type CdpExecutionContextId = CdpNumericId<'CdpExecutionContextId'>;
18
+ /** DOM frontend node id scoped to one DevTools document. */
19
+ export type CdpNodeId = CdpNumericId<'CdpNodeId'>;
20
+ /** DOM backend node id stable across connection-local document projections. */
21
+ export type CdpBackendNodeId = CdpNumericId<'CdpBackendNodeId'>;
22
+ /**
23
+ * Validate and brand a string id allocated or accepted by the CDP adapter.
24
+ * @param value - CDP identifier text.
25
+ * @param label - Field named in validation failures.
26
+ * @returns The branded CDP identifier.
27
+ */
28
+ export declare function cdpStringId<Role extends string>(value: string, label: string): InspectorId<Role>;
29
+ /**
30
+ * Validate and brand a positive numeric id allocated by the CDP adapter.
31
+ * @param value - CDP identifier number.
32
+ * @param label - Field named in validation failures.
33
+ * @returns The branded numeric identifier.
34
+ */
35
+ export declare function cdpNumericId<Role extends string>(value: number, label: string): CdpNumericId<Role>;
36
+ export {};
37
+ //# sourceMappingURL=ids.d.ts.map
@@ -0,0 +1,46 @@
1
+ /** Minimal CDP request and transport types owned by the Worker. */
2
+ /** Parsed client request. */
3
+ export interface CdpRequest {
4
+ readonly id: number;
5
+ readonly method: string;
6
+ readonly params: Readonly<Record<string, unknown>>;
7
+ }
8
+ /** Outbound CDP event. */
9
+ export interface CdpNotification {
10
+ readonly method: string;
11
+ readonly params: Readonly<Record<string, unknown>>;
12
+ }
13
+ /** A connected DevTools transport. */
14
+ export interface CdpTransport {
15
+ send(payload: unknown): void;
16
+ close(): void;
17
+ }
18
+ /**
19
+ * Parse one DevTools request before routing it.
20
+ * @param value - Untrusted decoded WebSocket payload.
21
+ * @returns The validated request envelope.
22
+ */
23
+ export declare function parseCdpRequest(value: unknown): CdpRequest;
24
+ /**
25
+ * Build a stable CDP error response.
26
+ * @param id - Request id copied from the caller.
27
+ * @param code - JSON-RPC error code.
28
+ * @param message - Human-readable failure reason.
29
+ * @returns The CDP error envelope.
30
+ */
31
+ export declare function cdpError(id: number, code: number, message: string): object;
32
+ /**
33
+ * Send one failed CDP operation using the domain error code.
34
+ * @param transport - Connection receiving the response.
35
+ * @param request - Request supplying the response id.
36
+ * @param error - Rejection or synchronous error to render.
37
+ */
38
+ export declare function sendCdpFailure(transport: CdpTransport, request: CdpRequest, error: unknown): void;
39
+ /**
40
+ * Settle an asynchronous CDP operation through one transport.
41
+ * @param transport - Connection receiving the response.
42
+ * @param request - Request supplying the response id.
43
+ * @param operation - Domain operation that produces the result.
44
+ */
45
+ export declare function respondToCdpRequest(transport: CdpTransport, request: CdpRequest, operation: () => Promise<object>): void;
46
+ //# sourceMappingURL=protocol.d.ts.map
@@ -0,0 +1,64 @@
1
+ /** Per-DevTools-connection sessions opened from the shared realm registry. */
2
+ import type { InspectorSourceDescriptor } from '../../shared/bridge/messages/observation.ts';
3
+ import type { InspectorRealmRegistry } from '../inspection/realm-store.ts';
4
+ import type { InspectorRealmSession } from '../inspection/realm.ts';
5
+ import type { InspectorConnectionId } from './ids.ts';
6
+ /** Realm-session lifecycle observed by connection-local CDP domains. */
7
+ export type InspectorRealmSessionEvent = {
8
+ readonly type: 'opened';
9
+ readonly session: InspectorRealmSession;
10
+ } | {
11
+ readonly type: 'closed';
12
+ readonly session: InspectorRealmSession;
13
+ };
14
+ /** Owns exactly one backend session per active realm for one DevTools connection. */
15
+ export declare class InspectorRealmSessionSet {
16
+ private readonly realms;
17
+ /** Opaque identity shared by every domain and object table on this DevTools connection. */
18
+ readonly connectionId: InspectorConnectionId;
19
+ private readonly sessions;
20
+ private readonly listeners;
21
+ private readonly unsubscribeRealms;
22
+ private closed;
23
+ constructor(realms: InspectorRealmRegistry);
24
+ /**
25
+ * Return active sessions in the registry's deterministic order.
26
+ * @returns Host followed by connected Clients.
27
+ */
28
+ all(): InspectorRealmSession[];
29
+ /**
30
+ * Return the required Host session.
31
+ * @returns The connection-local Host realm session.
32
+ */
33
+ host(): InspectorRealmSession;
34
+ /**
35
+ * Resolve one synthetic Client context.
36
+ * @param contextId - Numeric CDP execution-context id.
37
+ * @returns Its realm session when currently connected.
38
+ */
39
+ byContextId(contextId: number): InspectorRealmSession | undefined;
40
+ /**
41
+ * Resolve one globally unique Client context.
42
+ * @param uniqueId - CDP unique execution-context id.
43
+ * @returns Its realm session when currently connected.
44
+ */
45
+ byUniqueContextId(uniqueId: string): InspectorRealmSession | undefined;
46
+ /**
47
+ * Resolve one active source generation to this connection's realm session.
48
+ * @param source - Source identity retained by a Cordis tree node.
49
+ * @returns The matching realm session.
50
+ */
51
+ bySource(source: InspectorSourceDescriptor): InspectorRealmSession | undefined;
52
+ /**
53
+ * Subscribe to connection-local realm session lifecycle.
54
+ * @param listener - Session observer.
55
+ * @returns A disposer removing the observer.
56
+ */
57
+ subscribe(listener: (event: InspectorRealmSessionEvent) => void): () => void;
58
+ /** Close all realm sessions and stop tracking the registry. */
59
+ close(): void;
60
+ private receiveRealm;
61
+ private open;
62
+ private emit;
63
+ }
64
+ //# sourceMappingURL=realm-sessions.d.ts.map
@@ -0,0 +1,34 @@
1
+ /** One DevTools connection: explicit local-domain routing plus a private Host V8 session. */
2
+ import { type CdpTransport } from './protocol.ts';
3
+ import { NetworkDomain, type NetworkSink } from './domains/network/session.ts';
4
+ import { type CdpTargetDescriptor } from './target.ts';
5
+ import { type CordisDomBackend } from './domains/dom/index.ts';
6
+ import type { InspectorSourceRegistry } from '../bridge/hub.ts';
7
+ import type { InspectorRealmRegistry } from '../inspection/realm-store.ts';
8
+ import type { CordisRuntimeTreeReader } from '../../shared/cordis/reader.ts';
9
+ /** Per-connection CDP dispatcher. */
10
+ export declare class CdpSession implements NetworkSink {
11
+ private readonly transport;
12
+ private readonly target;
13
+ private readonly sources;
14
+ private readonly network;
15
+ private readonly cordisTrees;
16
+ private readonly realms;
17
+ private readonly nativeDomains;
18
+ private readonly runtime;
19
+ private readonly debugger;
20
+ private readonly dom;
21
+ private diagnosticsEnabled;
22
+ private readonly unsubscribeSources;
23
+ constructor(transport: CdpTransport, target: CdpTargetDescriptor, sources: InspectorSourceRegistry, network: NetworkDomain, realmRegistry: InspectorRealmRegistry, domBackend: CordisDomBackend, cordisTrees: CordisRuntimeTreeReader);
24
+ /**
25
+ * Parse and dispatch one raw CDP request. Invalid frames close this client only.
26
+ * @param value - Untrusted decoded WebSocket payload.
27
+ */
28
+ receive(value: unknown): void;
29
+ /** Push one CDP event. */
30
+ sendEvent(method: string, params: Readonly<Record<string, unknown>>): void;
31
+ /** Release every connection-owned V8 and domain resource. */
32
+ close(): void;
33
+ }
34
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1,17 @@
1
+ /** Minimal page-target CDP methods required to expose Network, Console, and Sources together. */
2
+ import type { CdpRequest } from './protocol.ts';
3
+ /** Sentinel distinguishing an unowned method from an owned method returning undefined. */
4
+ export declare const CDP_METHOD_NOT_HANDLED: unique symbol;
5
+ /** Page-target identity used by discovery and scaffold responses. */
6
+ export interface CdpTargetDescriptor {
7
+ readonly targetId: string;
8
+ readonly title: string;
9
+ }
10
+ /**
11
+ * Handle one Worker-local identity or page scaffold method.
12
+ * @param request - Parsed CDP request.
13
+ * @param target - Synthetic page-target identity.
14
+ * @returns A response result or the unowned-method sentinel.
15
+ */
16
+ export declare function handleScaffold(request: CdpRequest, target: CdpTargetDescriptor): object | typeof CDP_METHOD_NOT_HANDLED;
17
+ //# sourceMappingURL=target.d.ts.map
@@ -0,0 +1,3 @@
1
+ /** Node Worker bootstrap for the experimental Inspector. */
2
+ export {};
3
+ //# sourceMappingURL=entry.d.ts.map
@@ -0,0 +1,11 @@
1
+ /** Cordis tree query execution independent of its source carrier. */
2
+ import type { CordisRuntimeTreeReader } from '../../shared/cordis/reader.ts';
3
+ import type { InspectorQuery, InspectorQueryResult } from '../../shared/bridge/messages/query/commands.ts';
4
+ /**
5
+ * Execute one closed Inspector query against the shared semantic reader.
6
+ * @param reader - Latest committed Cordis tree reader.
7
+ * @param query - Validated query command.
8
+ * @returns The result corresponding to the query operation.
9
+ */
10
+ export declare function executeInspectorQuery(reader: CordisRuntimeTreeReader, query: InspectorQuery): Promise<InspectorQueryResult>;
11
+ //# sourceMappingURL=cordis-query.d.ts.map
@@ -0,0 +1,94 @@
1
+ /** Worker-owned repository of CDP-independent Cordis tree snapshots. */
2
+ import { type CordisTreeNode } from '../../shared/cordis/snapshot.ts';
3
+ import type { InspectorSourceDescriptor } from '../../shared/bridge/messages/observation.ts';
4
+ import type { InspectorSourceGeneration, InspectorSourceId } from '../../shared/bridge/ids.ts';
5
+ import type { InspectorObjectReference } from '../../shared/cordis/object-reference.ts';
6
+ import { type CordisInspectionTree as SharedCordisInspectionTree, type CordisTreeSourceSnapshot as SharedCordisTreeSourceSnapshot } from '../../shared/cordis/projector.ts';
7
+ import type { CordisRuntimeTree } from '../../shared/cordis/model.ts';
8
+ import type { IngestedInspectorRecord, InspectorRecordConsumer } from '../bridge/hub.ts';
9
+ /** Routed Worker snapshot retaining its complete source-generation descriptor. */
10
+ export type CordisTreeSourceSnapshot = SharedCordisTreeSourceSnapshot<InspectorSourceDescriptor>;
11
+ /** Routed Host and Client snapshots retained by the Worker. */
12
+ export type CordisInspectionTree = SharedCordisInspectionTree<InspectorSourceDescriptor>;
13
+ export type { CordisTreeSourceConnection } from '../../shared/cordis/projector.ts';
14
+ /** One object-backed tree node with its owning source generation. */
15
+ export interface CordisTreeObjectRoute extends CordisTreeSourceSnapshot {
16
+ readonly node: CordisTreeNode;
17
+ }
18
+ /** Store mutation consumed by presentation adapters. */
19
+ export type CordisTreeStoreEvent = {
20
+ readonly type: 'snapshot-changed';
21
+ readonly source: InspectorSourceDescriptor;
22
+ } | {
23
+ readonly type: 'source-disconnected';
24
+ readonly source: InspectorSourceDescriptor;
25
+ };
26
+ /** Independent bounds for live tree size and retained disconnected snapshots. */
27
+ export interface CordisTreeStoreOptions {
28
+ readonly maxNodes: number;
29
+ readonly maxDisconnectedTrees: number;
30
+ }
31
+ /** Validated latest-value store consumed independently by CDP and future query adapters. */
32
+ export declare class CordisTreeStore implements InspectorRecordConsumer {
33
+ private readonly options;
34
+ readonly topics: Set<string>;
35
+ private readonly trees;
36
+ private readonly disconnected;
37
+ private readonly listeners;
38
+ constructor(options: CordisTreeStoreOptions);
39
+ /** Replace all retained state for one source generation. */
40
+ replace(source: InspectorSourceDescriptor, records: readonly IngestedInspectorRecord[]): void;
41
+ /** Apply later state replacements, ignoring unrelated observation topics. */
42
+ append(source: InspectorSourceDescriptor, records: readonly IngestedInspectorRecord[]): void;
43
+ /** Freeze a closed source generation's last tree and invalidate its object routes. */
44
+ close(source: InspectorSourceDescriptor, reason: string): void;
45
+ /**
46
+ * Read all current realm snapshots without CDP identifiers.
47
+ * @returns Snapshots in source admission order.
48
+ */
49
+ snapshots(): CordisTreeSourceSnapshot[];
50
+ /**
51
+ * Compose the common realm model into Host and Client slots.
52
+ * @returns A detached view whose Host and Client entries share one type.
53
+ */
54
+ tree(): CordisInspectionTree;
55
+ /**
56
+ * Read a detached semantic tree without object-routing or CDP identifiers.
57
+ * @returns The latest retained Host and Client topology.
58
+ */
59
+ readTree(): CordisRuntimeTree;
60
+ /**
61
+ * Resolve a source-local object reference to its semantic tree node.
62
+ * @param source - Active source generation.
63
+ * @param reference - Realm-local registry and object handle.
64
+ * @returns The matching node while its source remains connected.
65
+ */
66
+ resolveObject(source: InspectorSourceDescriptor, reference: InspectorObjectReference): CordisTreeObjectRoute | undefined;
67
+ /**
68
+ * Resolve a source-local object without requiring the source's presentation fields.
69
+ * @param sourceId - Logical source identity.
70
+ * @param generation - Active source generation.
71
+ * @param reference - Realm-local object reference.
72
+ * @returns The matching live tree node.
73
+ */
74
+ resolveObjectIdentity(sourceId: InspectorSourceId, generation: InspectorSourceGeneration, reference: InspectorObjectReference): CordisTreeObjectRoute | undefined;
75
+ /**
76
+ * Resolve a live reference when only its source realm kind is known.
77
+ * @param kind - Host or Client ownership inferred by the Runtime adapter.
78
+ * @param reference - Realm-local registry and object handle.
79
+ * @returns The matching connected node, when present.
80
+ */
81
+ resolveObjectInKind(kind: InspectorSourceDescriptor['kind'], reference: InspectorObjectReference): CordisTreeObjectRoute | undefined;
82
+ /**
83
+ * Subscribe to accepted tree replacements and source availability changes.
84
+ * @param listener - Repository observer.
85
+ * @returns A disposer removing the observer.
86
+ */
87
+ subscribe(listener: (event: CordisTreeStoreEvent) => void): () => void;
88
+ private latest;
89
+ private install;
90
+ private remove;
91
+ private route;
92
+ private emit;
93
+ }
94
+ //# sourceMappingURL=cordis-store.d.ts.map