@descryy/runtime-browser 0.4.5 → 0.4.6
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.
|
@@ -82,6 +82,32 @@ export interface BrowserSessionAuth {
|
|
|
82
82
|
export type BrowserSessionOptions = BrowserConfiguration & {
|
|
83
83
|
readonly auth?: BrowserSessionAuth;
|
|
84
84
|
};
|
|
85
|
+
/**
|
|
86
|
+
* Cookies and localStorage to inject into a session that is ALREADY
|
|
87
|
+
* running -- `BrowserSessionAuth` minus `extraHttpHeaders`, which is a
|
|
88
|
+
* different half (a header policy for the rest of the drive, not storage)
|
|
89
|
+
* and is not retrofittable onto a live context the same way. See
|
|
90
|
+
* `BrowserSession.injectStorageState`.
|
|
91
|
+
*/
|
|
92
|
+
export interface StorageStateSeed {
|
|
93
|
+
readonly origin: string;
|
|
94
|
+
readonly cookies?: readonly SeededCookie[];
|
|
95
|
+
readonly localStorage?: Readonly<Record<string, string>>;
|
|
96
|
+
}
|
|
97
|
+
export interface StorageStateInjectionResult {
|
|
98
|
+
readonly cookiesInjected: number;
|
|
99
|
+
readonly localStorageInjected: number;
|
|
100
|
+
/**
|
|
101
|
+
* Non-null when one or more `localStorage` entries were requested for an
|
|
102
|
+
* origin the page is not currently on. A page can only write
|
|
103
|
+
* `localStorage` for its own current origin -- there is no Playwright
|
|
104
|
+
* primitive that writes it for an origin the page isn't showing -- so
|
|
105
|
+
* those entries were skipped rather than silently dropped or written to
|
|
106
|
+
* the wrong origin. Cookies are unaffected: `context.addCookies` accepts a
|
|
107
|
+
* cookie for any domain regardless of the page's current URL.
|
|
108
|
+
*/
|
|
109
|
+
readonly localStorageSkipped: string | null;
|
|
110
|
+
}
|
|
85
111
|
export interface BrowserSession {
|
|
86
112
|
readonly sessionId: string;
|
|
87
113
|
readonly page: Page;
|
|
@@ -127,6 +153,23 @@ export interface BrowserSession {
|
|
|
127
153
|
* repository is.
|
|
128
154
|
*/
|
|
129
155
|
saveStorageState(path: string): Promise<void>;
|
|
156
|
+
/**
|
|
157
|
+
* Injects cookies and localStorage into a session that is ALREADY
|
|
158
|
+
* running -- the primitive `auth` (`BrowserSessionOptions`) cannot
|
|
159
|
+
* provide, since that seed only ever runs once, before the first
|
|
160
|
+
* navigation. A scenario's sign-in step needs this to land a storage
|
|
161
|
+
* state captured earlier (`saveStorageState`, or a cookie obtained any
|
|
162
|
+
* other way) into a session that has already navigated somewhere, so
|
|
163
|
+
* "signs in" does not require hand-building cookies or replaying a login
|
|
164
|
+
* form on every run.
|
|
165
|
+
*
|
|
166
|
+
* Never throws on an origin mismatch for `localStorage` -- see
|
|
167
|
+
* `StorageStateInjectionResult.localStorageSkipped` -- because a caller
|
|
168
|
+
* injecting both cookies and localStorage in one call should still get the
|
|
169
|
+
* cookies half it asked for. Cookies always land regardless of the page's
|
|
170
|
+
* current origin.
|
|
171
|
+
*/
|
|
172
|
+
injectStorageState(seed: StorageStateSeed): Promise<StorageStateInjectionResult>;
|
|
130
173
|
}
|
|
131
174
|
/**
|
|
132
175
|
* Why this exists, and why it's not a throw.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-session.d.ts","sourceRoot":"","sources":["../src/browser-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAA+C,KAAK,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAMzF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEvE;;;;GAIG;AACH;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,uBAAuB;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;CAC/C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,kBAAkB;IACjC,mDAAmD;IACnD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAC3C,mFAAmF;IACnF,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD,sDAAsD;IACtD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC9D;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,qBAAqB,GAAG,oBAAoB,GAAG;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAElG,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,2JAA2J;IAC3J,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;;;OAMG;IACH,QAAQ,IAAI,OAAO,CAAC;IACpB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB;;;;;;;;;;;;;OAaG;IACH,aAAa,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAC5C;;;;;;;;;;;;;;OAcG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"browser-session.d.ts","sourceRoot":"","sources":["../src/browser-session.ts"],"names":[],"mappings":"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"}
|
package/dist/browser-session.js
CHANGED
|
@@ -131,6 +131,57 @@ async function launchWithExecutable(options, executablePath) {
|
|
|
131
131
|
}
|
|
132
132
|
await context.storageState({ path });
|
|
133
133
|
},
|
|
134
|
+
async injectStorageState(seed) {
|
|
135
|
+
if (page.isClosed()) {
|
|
136
|
+
throw new Error("injectStorageState() called after close() -- there is no live browser context to inject into. Call " +
|
|
137
|
+
"it while the session is still open.");
|
|
138
|
+
}
|
|
139
|
+
const host = hostnameOf(seed.origin);
|
|
140
|
+
const cookies = (seed.cookies ?? []).map((cookie) => ({
|
|
141
|
+
name: cookie.name,
|
|
142
|
+
value: cookie.value,
|
|
143
|
+
domain: host,
|
|
144
|
+
path: cookie.path ?? "/",
|
|
145
|
+
// Same default as the launch-time seed (`seedStateFor`): a session
|
|
146
|
+
// cookie, never quietly persistent.
|
|
147
|
+
expires: -1,
|
|
148
|
+
httpOnly: cookie.httpOnly ?? false,
|
|
149
|
+
secure: cookie.secure ?? false,
|
|
150
|
+
sameSite: cookie.sameSite ?? "Lax",
|
|
151
|
+
}));
|
|
152
|
+
if (cookies.length > 0)
|
|
153
|
+
await context.addCookies(cookies);
|
|
154
|
+
const storedEntries = Object.entries(seed.localStorage ?? {});
|
|
155
|
+
let localStorageInjected = 0;
|
|
156
|
+
let localStorageSkipped = null;
|
|
157
|
+
if (storedEntries.length > 0) {
|
|
158
|
+
const currentOrigin = originOf(page.url());
|
|
159
|
+
if (currentOrigin === seed.origin) {
|
|
160
|
+
await page.evaluate((entries) => {
|
|
161
|
+
// `localStorage` isn't declared under this project's Node-only
|
|
162
|
+
// `lib` (ES2023, no `dom` -- see tsconfig.base.json's own
|
|
163
|
+
// comment on why), so it's reached off `globalThis` rather than
|
|
164
|
+
// pulling `dom` into every file's ambient scope for one in-page
|
|
165
|
+
// callback -- same pattern `browser-action-collector.ts`'s
|
|
166
|
+
// `waitForSettle` already uses for `requestAnimationFrame`. Real
|
|
167
|
+
// at runtime: this callback executes inside the page, where
|
|
168
|
+
// `localStorage` is Chromium's own global.
|
|
169
|
+
const store = globalThis.localStorage;
|
|
170
|
+
for (const [name, value] of entries)
|
|
171
|
+
store.setItem(name, value);
|
|
172
|
+
}, storedEntries);
|
|
173
|
+
localStorageInjected = storedEntries.length;
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
localStorageSkipped =
|
|
177
|
+
`the page is currently on ${currentOrigin ?? "an origin that could not be read from its URL"}, not ` +
|
|
178
|
+
`${seed.origin} -- localStorage can only be written for the origin a page is actually showing, so ` +
|
|
179
|
+
`${storedEntries.length} ${storedEntries.length === 1 ? "entry was" : "entries were"} not injected. ` +
|
|
180
|
+
"Navigate to that origin first, then call injectStorageState again.";
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
return { cookiesInjected: cookies.length, localStorageInjected, localStorageSkipped };
|
|
184
|
+
},
|
|
134
185
|
async finishedVideo() {
|
|
135
186
|
if (videoDir === null)
|
|
136
187
|
return null;
|
|
@@ -188,6 +239,15 @@ function hostnameOf(origin) {
|
|
|
188
239
|
return origin;
|
|
189
240
|
}
|
|
190
241
|
}
|
|
242
|
+
/** The page's current origin, or null when its URL cannot be parsed (e.g. `about:blank`) -- used by `injectStorageState` to decide whether `localStorage` can be written honestly. */
|
|
243
|
+
function originOf(url) {
|
|
244
|
+
try {
|
|
245
|
+
return new URL(url).origin;
|
|
246
|
+
}
|
|
247
|
+
catch {
|
|
248
|
+
return null;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
191
251
|
/**
|
|
192
252
|
* Header names are case-insensitive on the wire and case-sensitive in the
|
|
193
253
|
* object Playwright is handed. Lower-casing means a caller's `Authorization`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-session.js","sourceRoot":"","sources":["../src/browser-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,QAAQ,EAAgD,MAAM,iBAAiB,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"browser-session.js","sourceRoot":"","sources":["../src/browser-session.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type { BrowserSessionOptions, BrowserSession, BrowserSessionAuth, SeededCookie, ChromiumUnavailable, ChromiumAvailability, BrowserSessionLaunch } from "./browser-session.ts";
|
|
1
|
+
export type { BrowserSessionOptions, BrowserSession, BrowserSessionAuth, SeededCookie, StorageStateSeed, StorageStateInjectionResult, ChromiumUnavailable, ChromiumAvailability, BrowserSessionLaunch, } from "./browser-session.ts";
|
|
2
2
|
export { launchBrowserSession, launchBrowserSessionOrRefuse, resolveChromiumExecutable, BrowserUnavailableError, CHROMIUM_INSTALL_REMEDY, } from "./browser-session.ts";
|
|
3
3
|
export type { DomElementSnapshot } from "./dom-evidence.ts";
|
|
4
4
|
export { captureElementSnapshot } from "./dom-evidence.ts";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,YAAY,EAAE,6BAA6B,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC3H,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAE7E,YAAY,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AACrF,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAE/E,YAAY,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AACrF,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAE/E,YAAY,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAEvE,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAG3D,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAG7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAG/E,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAG/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAGvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@descryy/runtime-browser",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.6",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Browser runtime: launch, isolated context, navigation, click/type/wait, DOM inspection, screenshots, console/page-error/network capture, all through the Collector contract (plan §7/§8). See documents/decisions-inbox/PROPOSAL-B-playwright-for-browser-runtime.md for the Playwright-vs-CDP call. BrowserSession.injectStorageState (0.4.5) is the mid-session counterpart to the launch-time auth seed -- lands cookies/localStorage into a session that is already open, for a scenario's sign-in step.",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -30,12 +30,12 @@
|
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@descryy/runtime-contracts": "0.3.3",
|
|
33
|
-
"@descryy/runtime-backend-observation": "0.3.
|
|
33
|
+
"@descryy/runtime-backend-observation": "0.3.5",
|
|
34
34
|
"playwright-core": "^1.62.1",
|
|
35
|
-
"@descryy/runtime-adapter-typescript": "0.3.
|
|
35
|
+
"@descryy/runtime-adapter-typescript": "0.3.5"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@descryy/runtime-controller": "0.3.
|
|
39
|
-
"@descryy/runtime-evidence-store": "
|
|
38
|
+
"@descryy/runtime-controller": "0.3.5",
|
|
39
|
+
"@descryy/runtime-evidence-store": "0.4.2"
|
|
40
40
|
}
|
|
41
41
|
}
|