@vforsh/argus-watcher 0.1.15 → 0.2.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.
Files changed (44) hide show
  1. package/README.md +11 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/buffer/LogBuffer.d.ts +30 -1
  4. package/dist/buffer/LogBuffer.d.ts.map +1 -1
  5. package/dist/buffer/LogBuffer.js +135 -2
  6. package/dist/buffer/LogBuffer.js.map +1 -1
  7. package/dist/cdp/eval.d.ts +3 -0
  8. package/dist/cdp/eval.d.ts.map +1 -1
  9. package/dist/cdp/eval.js +14 -1
  10. package/dist/cdp/eval.js.map +1 -1
  11. package/dist/cdp/scenarioBridge.d.ts +16 -0
  12. package/dist/cdp/scenarioBridge.d.ts.map +1 -0
  13. package/dist/cdp/scenarioBridge.js +291 -0
  14. package/dist/cdp/scenarioBridge.js.map +1 -0
  15. package/dist/events.d.ts +4 -1
  16. package/dist/events.d.ts.map +1 -1
  17. package/dist/http/routes/getLogCursor.d.ts +2 -0
  18. package/dist/http/routes/getLogCursor.d.ts.map +1 -0
  19. package/dist/http/routes/getLogCursor.js +7 -0
  20. package/dist/http/routes/getLogCursor.js.map +1 -0
  21. package/dist/http/routes/getLogEpoch.d.ts +2 -0
  22. package/dist/http/routes/getLogEpoch.d.ts.map +1 -0
  23. package/dist/http/routes/getLogEpoch.js +7 -0
  24. package/dist/http/routes/getLogEpoch.js.map +1 -0
  25. package/dist/http/routes/getLogs.d.ts.map +1 -1
  26. package/dist/http/routes/getLogs.js +26 -5
  27. package/dist/http/routes/getLogs.js.map +1 -1
  28. package/dist/http/routes/getTail.d.ts.map +1 -1
  29. package/dist/http/routes/getTail.js +26 -5
  30. package/dist/http/routes/getTail.js.map +1 -1
  31. package/dist/http/routes/index.d.ts.map +1 -1
  32. package/dist/http/routes/index.js +4 -0
  33. package/dist/http/routes/index.js.map +1 -1
  34. package/dist/http/routes/logEpochQuery.d.ts +20 -0
  35. package/dist/http/routes/logEpochQuery.d.ts.map +1 -0
  36. package/dist/http/routes/logEpochQuery.js +57 -0
  37. package/dist/http/routes/logEpochQuery.js.map +1 -0
  38. package/dist/http/routes/postEval.d.ts.map +1 -1
  39. package/dist/http/routes/postEval.js +5 -0
  40. package/dist/http/routes/postEval.js.map +1 -1
  41. package/dist/http/server.d.ts +2 -1
  42. package/dist/http/server.d.ts.map +1 -1
  43. package/dist/http/server.js.map +1 -1
  44. package/package.json +2 -2
@@ -1,4 +1,4 @@
1
- import type { LogEvent, LogLevel } from '@vforsh/argus-core';
1
+ import type { LogEpoch, LogEvent, LogLevel } from '@vforsh/argus-core';
2
2
  /**
3
3
  * Filtering options for log retrieval.
4
4
  *
@@ -24,19 +24,43 @@ export type LogFilters = {
24
24
  */
25
25
  sinceTs?: number;
26
26
  };
27
+ /** Error raised when an opaque log epoch cannot be used for this buffer. */
28
+ export declare class LogEpochError extends Error {
29
+ readonly code: 'invalid' | 'mismatch' | 'future' | 'evicted';
30
+ constructor(code: LogEpochError['code'], message: string);
31
+ }
32
+ /** Result of a bounded query made from an opaque log epoch. */
33
+ export type LogEpochQueryResult = {
34
+ events: LogEvent[];
35
+ nextCursor: LogEpoch;
36
+ };
27
37
  /** In-memory ring buffer for log events with long-poll waiters. */
28
38
  export declare class LogBuffer {
29
39
  private readonly maxSize;
40
+ private readonly streamId;
30
41
  private events;
31
42
  private nextId;
32
43
  private waiters;
44
+ private epochWaiters;
33
45
  constructor(maxSize: number);
34
46
  /** Add a log event and return the stored entry with id. */
35
47
  add(event: Omit<LogEvent, 'id'>): LogEvent;
36
48
  /** List events after the given id, respecting filters and limit. */
37
49
  listAfter(after: number, filters: LogFilters, limit: number): LogEvent[];
50
+ /** Return the current opaque append cursor without copying buffered events. */
51
+ getCursor(): LogEpoch;
52
+ /** Return an opaque position in this watcher's current log stream. */
53
+ beginLogEpoch(): LogEpoch;
54
+ /** Alias for {@link beginLogEpoch}; names the returned value as a cursor. */
55
+ getEpoch(): LogEpoch;
56
+ /** Encode a known stream position for response pagination. */
57
+ getEpochAt(position: number): LogEpoch;
58
+ /** List events after an epoch, failing instead of silently returning a partial delta. */
59
+ listAfterEpoch(epoch: LogEpoch, filters: LogFilters, limit: number): LogEpochQueryResult;
38
60
  /** Wait for events after an id or timeout. */
39
61
  waitForAfter(after: number, filters: LogFilters, limit: number, timeoutMs: number): Promise<LogEvent[]>;
62
+ /** Wait for events after an epoch, rejecting if the marker becomes stale while waiting. */
63
+ waitForAfterEpoch(epoch: LogEpoch, filters: LogFilters, limit: number, timeoutMs: number): Promise<LogEpochQueryResult>;
40
64
  /** Get buffer size and id boundaries. */
41
65
  getStats(): {
42
66
  size: number;
@@ -46,5 +70,10 @@ export declare class LogBuffer {
46
70
  };
47
71
  private trim;
48
72
  private flushWaiters;
73
+ private flushEpochWaiters;
74
+ private listAfterPosition;
75
+ private resolveEpoch;
76
+ private validatePosition;
77
+ private currentPosition;
49
78
  }
50
79
  //# sourceMappingURL=LogBuffer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LogBuffer.d.ts","sourceRoot":"","sources":["../../src/buffer/LogBuffer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE5D;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG;IACxB,sEAAsE;IACtE,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAA;IAEnB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAEhB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAUD,mEAAmE;AACnE,qBAAa,SAAS;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,OAAO,CAAe;gBAElB,OAAO,EAAE,MAAM;IAI3B,2DAA2D;IAC3D,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,QAAQ;IAW1C,oEAAoE;IACpE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,EAAE;IAKxE,8CAA8C;IAC9C,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAgBvG,yCAAyC;IACzC,QAAQ,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;IAavF,OAAO,CAAC,IAAI;IAQZ,OAAO,CAAC,YAAY;CAiBpB"}
1
+ {"version":3,"file":"LogBuffer.d.ts","sourceRoot":"","sources":["../../src/buffer/LogBuffer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAEtE;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG;IACxB,sEAAsE;IACtE,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAA;IAEnB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAEhB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAmBD,4EAA4E;AAC5E,qBAAa,aAAc,SAAQ,KAAK;IACvC,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAA;gBAEhD,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM;CAKxD;AAED,+DAA+D;AAC/D,MAAM,MAAM,mBAAmB,GAAG;IACjC,MAAM,EAAE,QAAQ,EAAE,CAAA;IAClB,UAAU,EAAE,QAAQ,CAAA;CACpB,CAAA;AAUD,mEAAmE;AACnE,qBAAa,SAAS;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,YAAY,CAAoB;gBAE5B,OAAO,EAAE,MAAM;IAI3B,2DAA2D;IAC3D,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,QAAQ;IAY1C,oEAAoE;IACpE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,EAAE;IAIxE,+EAA+E;IAC/E,SAAS,IAAI,QAAQ;IAIrB,sEAAsE;IACtE,aAAa,IAAI,QAAQ;IAIzB,6EAA6E;IAC7E,QAAQ,IAAI,QAAQ;IAIpB,8DAA8D;IAC9D,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ;IAItC,yFAAyF;IACzF,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,mBAAmB;IASxF,8CAA8C;IAC9C,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAgBvG,2FAA2F;IACrF,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAiB7H,yCAAyC;IACzC,QAAQ,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;IAavF,OAAO,CAAC,IAAI;IAYZ,OAAO,CAAC,YAAY;IAkBpB,OAAO,CAAC,iBAAiB;IA6BzB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,eAAe;CAGvB"}
@@ -1,9 +1,22 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ /** Error raised when an opaque log epoch cannot be used for this buffer. */
3
+ export class LogEpochError extends Error {
4
+ code;
5
+ constructor(code, message) {
6
+ super(message);
7
+ this.name = 'LogEpochError';
8
+ this.code = code;
9
+ }
10
+ }
11
+ const EPOCH_PREFIX = 'argus-log-epoch-v1.';
1
12
  /** In-memory ring buffer for log events with long-poll waiters. */
2
13
  export class LogBuffer {
3
14
  maxSize;
15
+ streamId = randomUUID();
4
16
  events = [];
5
17
  nextId = 1;
6
18
  waiters = [];
19
+ epochWaiters = [];
7
20
  constructor(maxSize) {
8
21
  this.maxSize = maxSize;
9
22
  }
@@ -16,12 +29,37 @@ export class LogBuffer {
16
29
  this.events.push(entry);
17
30
  this.trim();
18
31
  this.flushWaiters();
32
+ this.flushEpochWaiters();
19
33
  return entry;
20
34
  }
21
35
  /** List events after the given id, respecting filters and limit. */
22
36
  listAfter(after, filters, limit) {
23
- const filtered = this.events.filter((event) => event.id > after && matchesFilters(event, filters));
24
- return filtered.slice(0, limit);
37
+ return this.listAfterPosition(after, filters, limit);
38
+ }
39
+ /** Return the current opaque append cursor without copying buffered events. */
40
+ getCursor() {
41
+ return this.beginLogEpoch();
42
+ }
43
+ /** Return an opaque position in this watcher's current log stream. */
44
+ beginLogEpoch() {
45
+ return encodeEpoch({ v: 1, s: this.streamId, p: this.currentPosition() });
46
+ }
47
+ /** Alias for {@link beginLogEpoch}; names the returned value as a cursor. */
48
+ getEpoch() {
49
+ return this.beginLogEpoch();
50
+ }
51
+ /** Encode a known stream position for response pagination. */
52
+ getEpochAt(position) {
53
+ return encodeEpoch({ v: 1, s: this.streamId, p: position });
54
+ }
55
+ /** List events after an epoch, failing instead of silently returning a partial delta. */
56
+ listAfterEpoch(epoch, filters, limit) {
57
+ const position = this.resolveEpoch(epoch);
58
+ const events = this.listAfterPosition(position, filters, limit);
59
+ return {
60
+ events,
61
+ nextCursor: events.length > 0 ? this.getEpochAt(events[events.length - 1]?.id ?? position) : epoch,
62
+ };
25
63
  }
26
64
  /** Wait for events after an id or timeout. */
27
65
  waitForAfter(after, filters, limit, timeoutMs) {
@@ -37,6 +75,21 @@ export class LogBuffer {
37
75
  this.waiters.push({ after, filters, limit, resolve, timer });
38
76
  });
39
77
  }
78
+ /** Wait for events after an epoch, rejecting if the marker becomes stale while waiting. */
79
+ async waitForAfterEpoch(epoch, filters, limit, timeoutMs) {
80
+ const position = this.resolveEpoch(epoch);
81
+ const immediate = this.listAfterPosition(position, filters, limit);
82
+ if (immediate.length > 0) {
83
+ return { events: immediate, nextCursor: this.getEpochAt(immediate[immediate.length - 1]?.id ?? position) };
84
+ }
85
+ return new Promise((resolve, reject) => {
86
+ const timer = setTimeout(() => {
87
+ this.epochWaiters = this.epochWaiters.filter((waiter) => waiter.timer !== timer);
88
+ resolve({ events: [], nextCursor: epoch });
89
+ }, timeoutMs);
90
+ this.epochWaiters.push({ position, filters, limit, resolve, reject, timer });
91
+ });
92
+ }
40
93
  /** Get buffer size and id boundaries. */
41
94
  getStats() {
42
95
  if (this.events.length === 0) {
@@ -50,6 +103,10 @@ export class LogBuffer {
50
103
  };
51
104
  }
52
105
  trim() {
106
+ if (this.maxSize <= 0) {
107
+ this.events = [];
108
+ return;
109
+ }
53
110
  if (this.events.length <= this.maxSize) {
54
111
  return;
55
112
  }
@@ -71,7 +128,83 @@ export class LogBuffer {
71
128
  }
72
129
  this.waiters = remaining;
73
130
  }
131
+ flushEpochWaiters() {
132
+ if (this.epochWaiters.length === 0) {
133
+ return;
134
+ }
135
+ const remaining = [];
136
+ for (const waiter of this.epochWaiters) {
137
+ try {
138
+ this.validatePosition(waiter.position);
139
+ }
140
+ catch (error) {
141
+ clearTimeout(waiter.timer);
142
+ waiter.reject(error);
143
+ continue;
144
+ }
145
+ const events = this.listAfterPosition(waiter.position, waiter.filters, waiter.limit);
146
+ if (events.length > 0) {
147
+ clearTimeout(waiter.timer);
148
+ waiter.resolve({
149
+ events,
150
+ nextCursor: this.getEpochAt(events[events.length - 1]?.id ?? waiter.position),
151
+ });
152
+ continue;
153
+ }
154
+ remaining.push(waiter);
155
+ }
156
+ this.epochWaiters = remaining;
157
+ }
158
+ listAfterPosition(position, filters, limit) {
159
+ return this.events.filter((event) => event.id > position && matchesFilters(event, filters)).slice(0, limit);
160
+ }
161
+ resolveEpoch(epoch) {
162
+ const payload = decodeEpoch(epoch);
163
+ if (!payload) {
164
+ throw new LogEpochError('invalid', 'Invalid log epoch. Capture a new epoch from the watcher.');
165
+ }
166
+ if (payload.s !== this.streamId) {
167
+ throw new LogEpochError('mismatch', 'Log epoch belongs to a different watcher session. Capture a new epoch.');
168
+ }
169
+ if (payload.p > this.currentPosition()) {
170
+ throw new LogEpochError('future', 'Log epoch points past the current log stream.');
171
+ }
172
+ this.validatePosition(payload.p);
173
+ return payload.p;
174
+ }
175
+ validatePosition(position) {
176
+ if (this.events.length > 0 && position < (this.events[0]?.id ?? position + 1) - 1) {
177
+ throw new LogEpochError('evicted', 'Log epoch is stale because the ring buffer evicted entries. Capture a new epoch.');
178
+ }
179
+ if (this.maxSize === 0 && this.currentPosition() > position) {
180
+ throw new LogEpochError('evicted', 'Log epoch is stale because the ring buffer evicted entries. Capture a new epoch.');
181
+ }
182
+ }
183
+ currentPosition() {
184
+ return this.nextId - 1;
185
+ }
74
186
  }
187
+ const encodeEpoch = (payload) => `${EPOCH_PREFIX}${Buffer.from(JSON.stringify(payload)).toString('base64url')}`;
188
+ const decodeEpoch = (epoch) => {
189
+ if (typeof epoch !== 'string' || !epoch.startsWith(EPOCH_PREFIX)) {
190
+ return null;
191
+ }
192
+ try {
193
+ const parsed = JSON.parse(Buffer.from(epoch.slice(EPOCH_PREFIX.length), 'base64url').toString('utf8'));
194
+ if (parsed.v !== 1 ||
195
+ typeof parsed.s !== 'string' ||
196
+ !parsed.s ||
197
+ typeof parsed.p !== 'number' ||
198
+ !Number.isSafeInteger(parsed.p) ||
199
+ parsed.p < 0) {
200
+ return null;
201
+ }
202
+ return parsed;
203
+ }
204
+ catch {
205
+ return null;
206
+ }
207
+ };
75
208
  const matchesFilters = (event, filters) => {
76
209
  if (filters.sinceTs && event.ts < filters.sinceTs) {
77
210
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"LogBuffer.js","sourceRoot":"","sources":["../../src/buffer/LogBuffer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LogBuffer.js","sourceRoot":"","sources":["../../src/buffer/LogBuffer.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { EvalResponse } from '@vforsh/argus-core';
2
2
  import type { CdpSessionHandle } from './connection.js';
3
+ import { type ScenarioBridgeServices } from './scenarioBridge.js';
3
4
  export type EvalRequestOptions = {
4
5
  expression: string;
5
6
  args?: Record<string, string>;
@@ -7,6 +8,8 @@ export type EvalRequestOptions = {
7
8
  replMode?: boolean;
8
9
  returnByValue?: boolean;
9
10
  timeoutMs?: number;
11
+ scenario?: boolean;
12
+ scenarioServices?: ScenarioBridgeServices;
10
13
  };
11
14
  export declare const evaluateExpression: (session: CdpSessionHandle, options: EvalRequestOptions) => Promise<EvalResponse>;
12
15
  //# sourceMappingURL=eval.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"eval.d.ts","sourceRoot":"","sources":["../../src/cdp/eval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAGvD,MAAM,MAAM,kBAAkB,GAAG;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAeD,eAAO,MAAM,kBAAkB,GAAU,SAAS,gBAAgB,EAAE,SAAS,kBAAkB,KAAG,OAAO,CAAC,YAAY,CAwBrH,CAAA"}
1
+ {"version":3,"file":"eval.d.ts","sourceRoot":"","sources":["../../src/cdp/eval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAEvD,OAAO,EAAyB,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAExF,MAAM,MAAM,kBAAkB,GAAG;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;CACzC,CAAA;AAeD,eAAO,MAAM,kBAAkB,GAAU,SAAS,gBAAgB,EAAE,SAAS,kBAAkB,KAAG,OAAO,CAAC,YAAY,CAqCrH,CAAA"}
package/dist/cdp/eval.js CHANGED
@@ -1,11 +1,23 @@
1
1
  import { serializeRemoteObject } from './remoteObject.js';
2
+ import { installScenarioBridge } from './scenarioBridge.js';
2
3
  export const evaluateExpression = async (session, options) => {
3
4
  const args = hasEvalArgs(options.args) ? options.args : undefined;
4
5
  if (args) {
5
6
  await installEvalArgs(session, args, options.timeoutMs);
6
7
  }
8
+ let scenarioBridge;
7
9
  try {
8
- const recordResult = await evaluateAndAwaitRecord(session, options);
10
+ if (options.scenario) {
11
+ if (!options.scenarioServices) {
12
+ throw new Error('Scenario host services are unavailable');
13
+ }
14
+ scenarioBridge = await installScenarioBridge(session, options.expression, args, options.scenarioServices, options.timeoutMs);
15
+ }
16
+ const recordResult = await evaluateAndAwaitRecord(session, {
17
+ ...options,
18
+ expression: scenarioBridge?.expression ?? options.expression,
19
+ replMode: scenarioBridge ? false : options.replMode,
20
+ });
9
21
  if (recordResult.exception)
10
22
  return recordResult.response;
11
23
  const record = recordResult.record;
@@ -18,6 +30,7 @@ export const evaluateExpression = async (session, options) => {
18
30
  };
19
31
  }
20
32
  finally {
33
+ await scenarioBridge?.dispose();
21
34
  if (args) {
22
35
  await restoreEvalArgs(session, options.timeoutMs);
23
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/cdp/eval.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/cdp/eval.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAE,qBAAqB,EAA+B,MAAM,qBAAqB,CAAA;AA0BxF,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,OAAyB,EAAE,OAA2B,EAAyB,EAAE;IACzH,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;IACjE,IAAI,IAAI,EAAE,CAAC;QACV,MAAM,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IACxD,CAAC;IAED,IAAI,cAA6E,CAAA;IACjF,IAAI,CAAC;QACJ,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;YAC1D,CAAC;YACD,cAAc,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;QAC7H,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE;YAC1D,GAAG,OAAO;YACV,UAAU,EAAE,cAAc,EAAE,UAAU,IAAI,OAAO,CAAC,UAAU;YAC5D,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ;SACnD,CAAC,CAAA;QACF,IAAI,YAAY,CAAC,SAAS;YAAE,OAAO,YAAY,CAAC,QAAQ,CAAA;QAExD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAA;QAClC,MAAM,KAAK,GAAG,MAAM,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QAErE,OAAO;YACN,EAAE,EAAE,IAAI;YACR,MAAM,EAAE,KAAK,IAAI,IAAI;YACrB,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,IAAI;YAC1B,SAAS,EAAE,IAAI;SACf,CAAA;IACF,CAAC;YAAS,CAAC;QACV,MAAM,cAAc,EAAE,OAAO,EAAE,CAAA;QAC/B,IAAI,IAAI,EAAE,CAAC;YACV,MAAM,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;QAClD,CAAC;IACF,CAAC;AACF,CAAC,CAAA;AAID,MAAM,WAAW,GAAG,CAAC,IAAwC,EAAkC,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;AAE9I,MAAM,sBAAsB,GAAG,KAAK,EAAE,OAAyB,EAAE,OAA2B,EAA6B,EAAE;IAC1H,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC7D,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC9B,OAAO,EAAE,QAAQ,EAAE,uBAAuB,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;IACvE,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC7B,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,MAAM,EAAE,OAAO,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC1F,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;IACpC,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC5F,IAAI,cAAc,CAAC,gBAAgB,EAAE,CAAC;QACrC,OAAO,EAAE,QAAQ,EAAE,uBAAuB,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;IAC9E,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;AAC3D,CAAC,CAAA;AAED,MAAM,uBAAuB,GAAG,CAAC,OAA+B,EAAgB,EAAE,CAAC,CAAC;IACnF,EAAE,EAAE,IAAI;IACR,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,IAAI,IAAI;IAClC,SAAS,EAAE;QACV,IAAI,EAAE,OAAO,CAAC,gBAAgB,EAAE,IAAI,IAAI,WAAW;QACnD,OAAO,EAAE,OAAO,CAAC,gBAAgB,EAAE,SAAS,IAAI,IAAI;KACpD;CACD,CAAC,CAAA;AAEF,MAAM,mBAAmB,GAAG,qCAAqC,CAAA;AAEjE,MAAM,eAAe,GAAG,KAAK,EAAE,OAAyB,EAAE,IAA4B,EAAE,SAAkB,EAAiB,EAAE;IAC5H,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IACpC,MAAM,gBAAgB,CACrB,OAAO,EACP;;sCAEoC,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC;qEACJ,OAAO;KACvE,EACH,SAAS,CACT,CAAA;AACF,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,KAAK,EAAE,OAAyB,EAAE,SAAkB,EAAiB,EAAE;IAC9F,MAAM,gBAAgB,CACrB,OAAO,EACP;qBACmB,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC;;;;;KAKnD,EACH,SAAS,CACT,CAAA;AACF,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,KAAK,EAAE,OAAyB,EAAE,UAAkB,EAAE,SAAkB,EAAiB,EAAE;IACnH,MAAM,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,WAAW,CACzC,kBAAkB,EAClB;QACC,UAAU;QACV,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,IAAI;KACnB,EACD,EAAE,SAAS,EAAE,CACb,CAA2B,CAAA;IAE5B,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAA;IACnE,CAAC;AACF,CAAC,CAAA;AAED,MAAM,uBAAuB,GAAG,CAAC,gBAAyE,EAAU,EAAE;IACrH,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAA;IAC5C,IAAI,SAAS,IAAI,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,aAAa,IAAI,SAAS,IAAI,OAAO,SAAS,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QACnI,OAAO,SAAS,CAAC,WAAW,CAAA;IAC7B,CAAC;IAED,OAAO,gBAAgB,CAAC,IAAI,IAAI,6BAA6B,CAAA;AAC9D,CAAC,CAAA;AAED,MAAM,qBAAqB,GAAG,KAAK,EAAE,OAAyB,EAAE,OAA2B,EAAmC,EAAE,CAC/H,CAAC,MAAM,OAAO,CAAC,WAAW,CACzB,kBAAkB,EAClB;IACC,UAAU,EAAE,OAAO,CAAC,UAAU;IAC9B,oFAAoF;IACpF,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;IAClC,uFAAuF;IACvF,mFAAmF;IACnF,YAAY,EAAE,KAAK;IACnB,aAAa,EAAE,KAAK;CACpB,EACD,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAChC,CAA2B,CAAA;AAE7B,MAAM,kBAAkB,GAAG,KAAK,EAAE,OAAyB,EAAE,eAAuB,EAAE,SAAkB,EAAmC,EAAE,CAC5I,CAAC,MAAM,OAAO,CAAC,WAAW,CACzB,sBAAsB,EACtB;IACC,eAAe;IACf,aAAa,EAAE,KAAK;CACpB,EACD,EAAE,SAAS,EAAE,CACb,CAA2B,CAAA;AAE7B,MAAM,uBAAuB,GAAG,KAAK,EACpC,OAAyB,EACzB,MAAuC,EACvC,OAA2B,EACR,EAAE;IACrB,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,MAAM,aAAa,GAAG;QACrB,WAAW,EAAE,CAAC,MAAc,EAAE,MAAgC,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC;KACtG,CAAA;IAED,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC;QACzE,IAAI,CAAC;YACJ,MAAM,cAAc,GAAG,CAAC,MAAM,OAAO,CAAC,WAAW,CAChD,wBAAwB,EACxB;gBACC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,mBAAmB,EAAE,8BAA8B;gBACnD,aAAa,EAAE,IAAI;aACnB,EACD,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAChC,CAA2B,CAAA;YAE5B,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC3B,OAAO,MAAM,qBAAqB,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;YACzE,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,mFAAmF;QACpF,CAAC;IACF,CAAC;IAED,OAAO,MAAM,qBAAqB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;AAC1D,CAAC,CAAA;AAED,MAAM,wBAAwB,GAAG,CAAC,MAA2B,EAAwD,EAAE;IACtH,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,CAAA;AACtH,CAAC,CAAA"}
@@ -0,0 +1,16 @@
1
+ import type { LogBuffer } from '../buffer/LogBuffer.js';
2
+ import type { Screenshotter } from './screenshot.js';
3
+ import type { CdpSessionHandle } from './connection.js';
4
+ /** Host services exposed to a bundled scenario for the lifetime of one eval. */
5
+ export type ScenarioBridgeServices = {
6
+ buffer: LogBuffer;
7
+ screenshotter: Screenshotter;
8
+ };
9
+ /** A scenario-wrapped expression plus cleanup for its temporary CDP binding. */
10
+ export type InstalledScenarioBridge = {
11
+ expression: string;
12
+ dispose: () => Promise<void>;
13
+ };
14
+ /** Install a nonce-scoped page-to-watcher bridge and wrap a bundled scenario expression with its context. */
15
+ export declare const installScenarioBridge: (session: CdpSessionHandle, expression: string, args: Record<string, string> | undefined, services: ScenarioBridgeServices, timeoutMs?: number) => Promise<InstalledScenarioBridge>;
16
+ //# sourceMappingURL=scenarioBridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scenarioBridge.d.ts","sourceRoot":"","sources":["../../src/cdp/scenarioBridge.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,wBAAwB,CAAA;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAgB,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAqBrE,gFAAgF;AAChF,MAAM,MAAM,sBAAsB,GAAG;IACpC,MAAM,EAAE,SAAS,CAAA;IACjB,aAAa,EAAE,aAAa,CAAA;CAC5B,CAAA;AAED,gFAAgF;AAChF,MAAM,MAAM,uBAAuB,GAAG;IACrC,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC5B,CAAA;AAED,6GAA6G;AAC7G,eAAO,MAAM,qBAAqB,GACjC,SAAS,gBAAgB,EACzB,YAAY,MAAM,EAClB,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACxC,UAAU,sBAAsB,EAChC,YAAY,MAAM,KAChB,OAAO,CAAC,uBAAuB,CAwCjC,CAAA"}