@modelprofile.com/browser-runtime 5.2.1 → 5.4.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/changelog.md +17 -0
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/classes.runtime.d.ts +31 -1
- package/dist_ts/classes.runtime.js +330 -67
- package/dist_ts/errors.d.ts +1 -1
- package/dist_ts/errors.js +3 -1
- package/dist_ts/interfaces.d.ts +6 -1
- package/package.json +2 -2
- package/readme.md +28 -2
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/classes.runtime.ts +296 -61
- package/ts/errors.ts +4 -0
- package/ts/interfaces.ts +9 -0
package/changelog.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2026-09-14 - 5.4.0
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- support page dialogs and bounded wheel input concurrency (runtime)
|
|
8
|
+
- Expose pending tab dialogs in runtime state and add human lease respondToDialog() with dialog operation classification.
|
|
9
|
+
- Let dialog replies bypass paused page operations and map pending or stale input errors to DIALOG_PENDING and STALE_INPUT.
|
|
10
|
+
- Run up to four wheel dispatches concurrently while preserving admission order and semantic barriers.
|
|
11
|
+
- Release held native input before input enters a new document to avoid stale modifiers or buttons.
|
|
12
|
+
- Bump @push.rocks/smartpuppeteer to ^2.11.1.
|
|
13
|
+
|
|
14
|
+
## 2026-09-14 - 5.3.0
|
|
15
|
+
|
|
16
|
+
### Features
|
|
17
|
+
|
|
18
|
+
- authorize selected-tab inspection through human leases (devtools)
|
|
19
|
+
|
|
3
20
|
## 2026-09-13 - 5.2.1
|
|
4
21
|
|
|
5
22
|
### Fixes
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@modelprofile.com/browser-runtime',
|
|
6
|
-
version: '5.
|
|
6
|
+
version: '5.4.0',
|
|
7
7
|
description: 'Parent-owned, resource-centric Chromium runtime with revisioned attachment fencing, authenticated human and agent control, fail-closed egress, bounded artifacts, and Flex/MCP adapters.'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxtQ0FBbUM7SUFDekMsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLDBMQUEwTDtDQUN4TSxDQUFBIn0=
|
|
@@ -35,9 +35,23 @@ interface ILeaseRecord {
|
|
|
35
35
|
videoPeerId: string;
|
|
36
36
|
videoPeerMayExist: boolean;
|
|
37
37
|
frameCaptureUsed: boolean;
|
|
38
|
+
devTools?: IDevToolsRecord;
|
|
38
39
|
heldKeys: Map<string, plugins.smartpuppeteer.ILiveBrowserKeyInput>;
|
|
39
40
|
heldButtons: Map<string, plugins.smartpuppeteer.ILiveBrowserMouseInput>;
|
|
40
41
|
}
|
|
42
|
+
interface IDevToolsRecord {
|
|
43
|
+
authority: TBrowserRuntimeLeaseAuthority;
|
|
44
|
+
session: ILiveBrowserSessionLike;
|
|
45
|
+
controller: AbortController;
|
|
46
|
+
connection?: plugins.smartpuppeteer.ILiveBrowserDevToolsConnection;
|
|
47
|
+
opening?: Promise<plugins.smartpuppeteer.ILiveBrowserDevToolsConnection>;
|
|
48
|
+
closePromise?: Promise<void>;
|
|
49
|
+
pending: Set<Promise<void>>;
|
|
50
|
+
commands: number;
|
|
51
|
+
interrupts: number;
|
|
52
|
+
closed: boolean;
|
|
53
|
+
removeAbortListener(): void;
|
|
54
|
+
}
|
|
41
55
|
export interface IBrowserRuntimeLeaseRenewalOptions {
|
|
42
56
|
signal?: AbortSignal;
|
|
43
57
|
/** Lifetime from successful reauthorization; defaults to the runtime capability lifetime. */
|
|
@@ -133,7 +147,13 @@ interface IResourceSlot {
|
|
|
133
147
|
profileDirectory?: string;
|
|
134
148
|
unsubscribeSession?: () => void;
|
|
135
149
|
leases: Map<string, ILeaseRecord>;
|
|
136
|
-
|
|
150
|
+
operations: Set<IOperationRecord>;
|
|
151
|
+
activeQueuedOperations: Set<IQueuedOperationRecord>;
|
|
152
|
+
inputCleanup?: {
|
|
153
|
+
session: ILiveBrowserSessionLike;
|
|
154
|
+
incarnationGeneration: number;
|
|
155
|
+
promise: Promise<void>;
|
|
156
|
+
};
|
|
137
157
|
operationQueue: IQueuedOperationRecord[];
|
|
138
158
|
operationSchedulerRunning: boolean;
|
|
139
159
|
frameSubscriptions: Map<string, IFrameSubscriptionRecord>;
|
|
@@ -231,6 +251,11 @@ export declare class BrowserRuntime {
|
|
|
231
251
|
/** @internal */
|
|
232
252
|
leaseOpenVideoPeer(lease: ILeaseRecord, options?: IBrowserRuntimeOperationOptions): Promise<TBrowserRuntimeVideoOffer>;
|
|
233
253
|
/** @internal */
|
|
254
|
+
leaseOpenDevTools(lease: ILeaseRecord, options: plugins.smartpuppeteer.ILiveBrowserDevToolsOptions, operationOptions?: IBrowserRuntimeOperationOptions): Promise<plugins.smartpuppeteer.ILiveBrowserDevToolsConnection>;
|
|
255
|
+
private requireDevToolsAuthority;
|
|
256
|
+
private sendLeaseDevTools;
|
|
257
|
+
private closeLeaseDevTools;
|
|
258
|
+
/** @internal */
|
|
234
259
|
leaseAnswerVideoPeer(lease: ILeaseRecord, negotiationId: string, description: plugins.smartpuppeteer.ILiveVideoDescription, options?: IBrowserRuntimeOperationOptions): Promise<void>;
|
|
235
260
|
/** @internal */
|
|
236
261
|
leaseCloseVideoPeer(lease: ILeaseRecord, options?: IBrowserRuntimeOperationOptions): Promise<void>;
|
|
@@ -241,6 +266,8 @@ export declare class BrowserRuntime {
|
|
|
241
266
|
/** @internal */
|
|
242
267
|
leaseRefreshFrameStream(lease: ILeaseRecord, operationOptions?: IBrowserRuntimeOperationOptions): Promise<void>;
|
|
243
268
|
/** @internal */
|
|
269
|
+
leaseRespondToDialog(lease: ILeaseRecord, input: plugins.smartpuppeteer.ILiveBrowserDialogResponse, options?: IBrowserRuntimeOperationOptions): Promise<void>;
|
|
270
|
+
/** @internal */
|
|
244
271
|
leaseDispatchRawInput(lease: ILeaseRecord, action: 'dispatchMouse' | 'dispatchWheel' | 'dispatchKey' | 'insertText', input: plugins.smartpuppeteer.ILiveBrowserMouseInput | plugins.smartpuppeteer.ILiveBrowserWheelInput | plugins.smartpuppeteer.ILiveBrowserKeyInput | plugins.smartpuppeteer.ILiveBrowserInsertTextInput, operationOptions?: IBrowserRuntimeOperationOptions): Promise<void>;
|
|
245
272
|
private keyOwnershipKey;
|
|
246
273
|
private validateHeldInputTarget;
|
|
@@ -248,6 +275,7 @@ export declare class BrowserRuntime {
|
|
|
248
275
|
private otherParticipantHolds;
|
|
249
276
|
private sharedMouseButtons;
|
|
250
277
|
private sharedModifiers;
|
|
278
|
+
private releaseStaleParticipantInput;
|
|
251
279
|
private releaseAllParticipantInput;
|
|
252
280
|
private releaseParticipantInput;
|
|
253
281
|
/** @internal */
|
|
@@ -386,12 +414,14 @@ export declare class BrowserRuntimeLease {
|
|
|
386
414
|
forward(options?: plugins.smartpuppeteer.ILiveBrowserNavigationOptions, operationOptions?: IBrowserRuntimeOperationOptions): Promise<IBrowserRuntimeState>;
|
|
387
415
|
reload(options?: plugins.smartpuppeteer.ILiveBrowserNavigationOptions, operationOptions?: IBrowserRuntimeOperationOptions): Promise<IBrowserRuntimeState>;
|
|
388
416
|
setViewport(viewport: plugins.smartpuppeteer.ILiveBrowserViewport, operationOptions?: IBrowserRuntimeOperationOptions): Promise<IBrowserRuntimeViewportResult>;
|
|
417
|
+
respondToDialog(input: plugins.smartpuppeteer.ILiveBrowserDialogResponse, options?: IBrowserRuntimeOperationOptions): Promise<void>;
|
|
389
418
|
dispatchMouse(input: plugins.smartpuppeteer.ILiveBrowserMouseInput, operationOptions?: IBrowserRuntimeOperationOptions): Promise<void>;
|
|
390
419
|
dispatchWheel(input: plugins.smartpuppeteer.ILiveBrowserWheelInput, operationOptions?: IBrowserRuntimeOperationOptions): Promise<void>;
|
|
391
420
|
dispatchKey(input: plugins.smartpuppeteer.ILiveBrowserKeyInput, operationOptions?: IBrowserRuntimeOperationOptions): Promise<void>;
|
|
392
421
|
insertText(input: plugins.smartpuppeteer.ILiveBrowserInsertTextInput, operationOptions?: IBrowserRuntimeOperationOptions): Promise<void>;
|
|
393
422
|
subscribeEvents(listener: (event: TBrowserRuntimeEvent) => void, options?: IBrowserRuntimeEventSubscriptionOptions): Promise<IBrowserRuntimeFrameSubscription>;
|
|
394
423
|
openVideoPeer(options?: IBrowserRuntimeOperationOptions): Promise<TBrowserRuntimeVideoOffer>;
|
|
424
|
+
openDevTools(options: plugins.smartpuppeteer.ILiveBrowserDevToolsOptions, operationOptions?: IBrowserRuntimeOperationOptions): Promise<plugins.smartpuppeteer.ILiveBrowserDevToolsConnection>;
|
|
395
425
|
answerVideoPeer(negotiationId: string, description: plugins.smartpuppeteer.ILiveVideoDescription, options?: IBrowserRuntimeOperationOptions): Promise<void>;
|
|
396
426
|
closeVideoPeer(options?: IBrowserRuntimeOperationOptions): Promise<void>;
|
|
397
427
|
getVideoStatistics(options?: IBrowserRuntimeOperationOptions): Promise<plugins.smartpuppeteer.ILiveVideoStatistics>;
|