@modelprofile.com/browser-runtime 4.2.0 → 4.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 CHANGED
@@ -1,5 +1,24 @@
1
1
  # Changelog
2
2
 
3
+ ## 2026-09-05 - 4.4.0
4
+
5
+ ### Features
6
+
7
+ - add live lease renewal support (leases)
8
+ - Expose BrowserRuntimeLease.renew() and expiresAt with exported renewal options.
9
+ - Reauthorize active leases to extend capability expiry without replacing the browser incarnation or frame subscription.
10
+ - Reject expired, released, revoked, fenced, denied, timed-out, or concurrent renewals while keeping failed renewals from extending expiry.
11
+ - Document renewal behavior and add coverage for renewal expiry, denial, timeout, release, attachment changes, and shutdown.
12
+
13
+ ## 2026-09-04 - 4.3.0
14
+
15
+ ### Features
16
+
17
+ - support additional attachment session namespace for human browser views (attachments)
18
+ - Adds a new qualified session ID variant and public type export for attachment identities.
19
+ - Allows the new namespace during resource attachment validation while preserving the agent capability boundary.
20
+ - Documents session ownership behavior for the added attachment namespace.
21
+
3
22
  ## 2026-09-02 - 4.2.0
4
23
 
5
24
  ### Features
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@modelprofile.com/browser-runtime',
6
- version: '4.2.0',
6
+ version: '4.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=
@@ -33,6 +33,11 @@ interface ILeaseRecord {
33
33
  releaseGeneration?: number;
34
34
  releaseOwnsFence?: boolean;
35
35
  }
36
+ export interface IBrowserRuntimeLeaseRenewalOptions {
37
+ signal?: AbortSignal;
38
+ /** Lifetime from successful reauthorization; defaults to the runtime capability lifetime. */
39
+ expiresInMs?: number;
40
+ }
36
41
  interface IOperationRecord {
37
42
  operationId: string;
38
43
  lease: ILeaseRecord;
@@ -147,6 +152,7 @@ export declare class BrowserRuntime {
147
152
  private readonly failedRevocations;
148
153
  private readonly capabilityMutex;
149
154
  private readonly cleanupOperations;
155
+ private readonly leaseRenewals;
150
156
  private readonly framedPeers;
151
157
  private startPromise?;
152
158
  private stopPromise?;
@@ -185,6 +191,8 @@ export declare class BrowserRuntime {
185
191
  /** @internal */
186
192
  getLeaseAuthority(lease: ILeaseRecord): TBrowserRuntimeLeaseAuthority;
187
193
  /** @internal */
194
+ renewLease(lease: ILeaseRecord, optionsArg?: IBrowserRuntimeLeaseRenewalOptions): Promise<number>;
195
+ /** @internal */
188
196
  isLeaseAuthorityCurrent(lease: ILeaseRecord, authorityArg: TBrowserRuntimeLeaseAuthority): boolean;
189
197
  /** @internal */
190
198
  executeLeaseAgentAction(lease: ILeaseRecord, actionArg: unknown, operationOptions?: IBrowserRuntimeOperationOptions): Promise<TBrowserAgentActionResult>;
@@ -319,6 +327,9 @@ export declare class BrowserRuntimeLease {
319
327
  constructor(runtime: BrowserRuntime, record: ILeaseRecord);
320
328
  get leaseId(): string;
321
329
  get capabilityId(): string;
330
+ get expiresAt(): number;
331
+ /** Reauthorize this exact live lease without replacing its frame stream or browser incarnation. */
332
+ renew(options?: IBrowserRuntimeLeaseRenewalOptions): Promise<number>;
322
333
  get role(): TBrowserActorRole;
323
334
  get projectId(): string;
324
335
  get browserResourceId(): string;