@elizaos/plugin-browser 2.0.0-alpha.9 → 2.0.11-beta.7
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/LICENSE +21 -0
- package/README.md +98 -83
- package/auto-enable.ts +24 -0
- package/dist/actions/browser-autofill-login.d.ts +43 -0
- package/dist/actions/browser-autofill-login.d.ts.map +1 -0
- package/dist/actions/browser-autofill-login.js +278 -0
- package/dist/actions/browser-autofill-login.js.map +1 -0
- package/dist/actions/browser.d.ts +11 -0
- package/dist/actions/browser.d.ts.map +1 -0
- package/dist/actions/browser.js +412 -0
- package/dist/actions/browser.js.map +1 -0
- package/dist/actions/manage-browser-bridge.d.ts +34 -0
- package/dist/actions/manage-browser-bridge.d.ts.map +1 -0
- package/dist/actions/manage-browser-bridge.js +572 -0
- package/dist/actions/manage-browser-bridge.js.map +1 -0
- package/dist/bridge-policy.d.ts +10 -0
- package/dist/bridge-policy.d.ts.map +1 -0
- package/dist/bridge-policy.js +37 -0
- package/dist/bridge-policy.js.map +1 -0
- package/dist/bridge-readiness.d.ts +16 -0
- package/dist/bridge-readiness.d.ts.map +1 -0
- package/dist/bridge-readiness.js +82 -0
- package/dist/bridge-readiness.js.map +1 -0
- package/dist/bridge-records.d.ts +9 -0
- package/dist/bridge-records.d.ts.map +1 -0
- package/dist/bridge-records.js +37 -0
- package/dist/bridge-records.js.map +1 -0
- package/dist/browser-capture-hooks.d.ts +9 -0
- package/dist/browser-capture-hooks.d.ts.map +1 -0
- package/dist/browser-capture-hooks.js +15 -0
- package/dist/browser-capture-hooks.js.map +1 -0
- package/dist/browser-service.d.ts +103 -0
- package/dist/browser-service.d.ts.map +1 -0
- package/dist/browser-service.js +186 -0
- package/dist/browser-service.js.map +1 -0
- package/dist/browser-workspace-hooks.d.ts +14 -0
- package/dist/browser-workspace-hooks.d.ts.map +1 -0
- package/dist/browser-workspace-hooks.js +15 -0
- package/dist/browser-workspace-hooks.js.map +1 -0
- package/dist/companion-auth.d.ts +34 -0
- package/dist/companion-auth.d.ts.map +1 -0
- package/dist/companion-auth.js +98 -0
- package/dist/companion-auth.js.map +1 -0
- package/dist/contracts.d.ts +284 -0
- package/dist/contracts.d.ts.map +1 -0
- package/dist/contracts.js +56 -0
- package/dist/contracts.js.map +1 -0
- package/dist/index.d.ts +30 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +76 -90
- package/dist/index.js.map +1 -1
- package/dist/lifeops-session-contracts.d.ts +46 -0
- package/dist/lifeops-session-contracts.d.ts.map +1 -0
- package/dist/lifeops-session-contracts.js +1 -0
- package/dist/lifeops-session-contracts.js.map +1 -0
- package/dist/message-adapter.d.ts +9 -0
- package/dist/message-adapter.d.ts.map +1 -0
- package/dist/message-adapter.js +104 -0
- package/dist/message-adapter.js.map +1 -0
- package/dist/packaging.d.ts +27 -0
- package/dist/packaging.d.ts.map +1 -0
- package/dist/packaging.js +571 -0
- package/dist/packaging.js.map +1 -0
- package/dist/password-manager-bridge.d.ts +50 -0
- package/dist/password-manager-bridge.d.ts.map +1 -0
- package/dist/password-manager-bridge.js +437 -0
- package/dist/password-manager-bridge.js.map +1 -0
- package/dist/plugin.d.ts +10 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +168 -0
- package/dist/plugin.js.map +1 -0
- package/dist/providers/workspace.d.ts +13 -0
- package/dist/providers/workspace.d.ts.map +1 -0
- package/dist/providers/workspace.js +64 -0
- package/dist/providers/workspace.js.map +1 -0
- package/dist/routes/bridge.d.ts +37 -0
- package/dist/routes/bridge.d.ts.map +1 -0
- package/dist/routes/bridge.js +844 -0
- package/dist/routes/bridge.js.map +1 -0
- package/dist/routes/workspace-account-gate.d.ts +29 -0
- package/dist/routes/workspace-account-gate.d.ts.map +1 -0
- package/dist/routes/workspace-account-gate.js +147 -0
- package/dist/routes/workspace-account-gate.js.map +1 -0
- package/dist/routes/workspace-setup.d.ts +10 -0
- package/dist/routes/workspace-setup.d.ts.map +1 -0
- package/dist/routes/workspace-setup.js +65 -0
- package/dist/routes/workspace-setup.js.map +1 -0
- package/dist/routes/workspace.d.ts +20 -0
- package/dist/routes/workspace.d.ts.map +1 -0
- package/dist/routes/workspace.js +276 -0
- package/dist/routes/workspace.js.map +1 -0
- package/dist/schema.d.ts +2326 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +133 -0
- package/dist/schema.js.map +1 -0
- package/dist/service.d.ts +30 -0
- package/dist/service.d.ts.map +1 -0
- package/dist/service.js +5 -0
- package/dist/service.js.map +1 -0
- package/dist/targets/bridge-target.d.ts +31 -0
- package/dist/targets/bridge-target.d.ts.map +1 -0
- package/dist/targets/bridge-target.js +98 -0
- package/dist/targets/bridge-target.js.map +1 -0
- package/dist/targets/stagehand-target.d.ts +3 -0
- package/dist/targets/stagehand-target.d.ts.map +1 -0
- package/dist/targets/stagehand-target.js +187 -0
- package/dist/targets/stagehand-target.js.map +1 -0
- package/dist/workspace/browser-capture.d.ts +41 -0
- package/dist/workspace/browser-capture.d.ts.map +1 -0
- package/dist/workspace/browser-capture.js +159 -0
- package/dist/workspace/browser-capture.js.map +1 -0
- package/dist/workspace/browser-workspace-desktop.d.ts +19 -0
- package/dist/workspace/browser-workspace-desktop.d.ts.map +1 -0
- package/dist/workspace/browser-workspace-desktop.js +1578 -0
- package/dist/workspace/browser-workspace-desktop.js.map +1 -0
- package/dist/workspace/browser-workspace-elements.d.ts +42 -0
- package/dist/workspace/browser-workspace-elements.d.ts.map +1 -0
- package/dist/workspace/browser-workspace-elements.js +547 -0
- package/dist/workspace/browser-workspace-elements.js.map +1 -0
- package/dist/workspace/browser-workspace-forms.d.ts +19 -0
- package/dist/workspace/browser-workspace-forms.d.ts.map +1 -0
- package/dist/workspace/browser-workspace-forms.js +277 -0
- package/dist/workspace/browser-workspace-forms.js.map +1 -0
- package/dist/workspace/browser-workspace-helpers.d.ts +32 -0
- package/dist/workspace/browser-workspace-helpers.d.ts.map +1 -0
- package/dist/workspace/browser-workspace-helpers.js +232 -0
- package/dist/workspace/browser-workspace-helpers.js.map +1 -0
- package/dist/workspace/browser-workspace-jsdom.d.ts +16 -0
- package/dist/workspace/browser-workspace-jsdom.d.ts.map +1 -0
- package/dist/workspace/browser-workspace-jsdom.js +233 -0
- package/dist/workspace/browser-workspace-jsdom.js.map +1 -0
- package/dist/workspace/browser-workspace-network.d.ts +7 -0
- package/dist/workspace/browser-workspace-network.d.ts.map +1 -0
- package/dist/workspace/browser-workspace-network.js +145 -0
- package/dist/workspace/browser-workspace-network.js.map +1 -0
- package/dist/workspace/browser-workspace-snapshots.d.ts +14 -0
- package/dist/workspace/browser-workspace-snapshots.d.ts.map +1 -0
- package/dist/workspace/browser-workspace-snapshots.js +144 -0
- package/dist/workspace/browser-workspace-snapshots.js.map +1 -0
- package/dist/workspace/browser-workspace-state.d.ts +24 -0
- package/dist/workspace/browser-workspace-state.d.ts.map +1 -0
- package/dist/workspace/browser-workspace-state.js +155 -0
- package/dist/workspace/browser-workspace-state.js.map +1 -0
- package/dist/workspace/browser-workspace-types.d.ts +345 -0
- package/dist/workspace/browser-workspace-types.d.ts.map +1 -0
- package/dist/workspace/browser-workspace-types.js +11 -0
- package/dist/workspace/browser-workspace-types.js.map +1 -0
- package/dist/workspace/browser-workspace-web.d.ts +8 -0
- package/dist/workspace/browser-workspace-web.d.ts.map +1 -0
- package/dist/workspace/browser-workspace-web.js +1342 -0
- package/dist/workspace/browser-workspace-web.js.map +1 -0
- package/dist/workspace/browser-workspace.d.ts +39 -0
- package/dist/workspace/browser-workspace.d.ts.map +1 -0
- package/dist/workspace/browser-workspace.js +958 -0
- package/dist/workspace/browser-workspace.js.map +1 -0
- package/dist/workspace/index.d.ts +26 -0
- package/dist/workspace/index.d.ts.map +1 -0
- package/dist/workspace/index.js +3 -0
- package/dist/workspace/index.js.map +1 -0
- package/dist/workspace.d.ts +2 -0
- package/dist/workspace.d.ts.map +1 -0
- package/dist/workspace.js +2 -0
- package/dist/workspace.js.map +1 -0
- package/package.json +71 -110
- package/dist/actions/click.d.ts +0 -3
- package/dist/actions/click.d.ts.map +0 -1
- package/dist/actions/click.js +0 -158
- package/dist/actions/click.js.map +0 -1
- package/dist/actions/extract.d.ts +0 -3
- package/dist/actions/extract.d.ts.map +0 -1
- package/dist/actions/extract.js +0 -168
- package/dist/actions/extract.js.map +0 -1
- package/dist/actions/index.d.ts +0 -7
- package/dist/actions/index.d.ts.map +0 -1
- package/dist/actions/index.js +0 -7
- package/dist/actions/index.js.map +0 -1
- package/dist/actions/navigate.d.ts +0 -3
- package/dist/actions/navigate.d.ts.map +0 -1
- package/dist/actions/navigate.js +0 -187
- package/dist/actions/navigate.js.map +0 -1
- package/dist/actions/screenshot.d.ts +0 -3
- package/dist/actions/screenshot.d.ts.map +0 -1
- package/dist/actions/screenshot.js +0 -167
- package/dist/actions/screenshot.js.map +0 -1
- package/dist/actions/select.d.ts +0 -3
- package/dist/actions/select.d.ts.map +0 -1
- package/dist/actions/select.js +0 -167
- package/dist/actions/select.js.map +0 -1
- package/dist/actions/type.d.ts +0 -3
- package/dist/actions/type.d.ts.map +0 -1
- package/dist/actions/type.js +0 -167
- package/dist/actions/type.js.map +0 -1
- package/dist/cli/index.d.ts +0 -8
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js +0 -13
- package/dist/cli/index.js.map +0 -1
- package/dist/cli/register.d.ts +0 -20
- package/dist/cli/register.d.ts.map +0 -1
- package/dist/cli/register.js +0 -403
- package/dist/cli/register.js.map +0 -1
- package/dist/providerRelevance.d.ts +0 -4
- package/dist/providerRelevance.d.ts.map +0 -1
- package/dist/providerRelevance.js +0 -33
- package/dist/providerRelevance.js.map +0 -1
- package/dist/providers/browser-state.d.ts +0 -3
- package/dist/providers/browser-state.d.ts.map +0 -1
- package/dist/providers/browser-state.js +0 -72
- package/dist/providers/browser-state.js.map +0 -1
- package/dist/providers/index.d.ts +0 -2
- package/dist/providers/index.d.ts.map +0 -1
- package/dist/providers/index.js +0 -2
- package/dist/providers/index.js.map +0 -1
- package/dist/services/browser-service.d.ts +0 -32
- package/dist/services/browser-service.d.ts.map +0 -1
- package/dist/services/browser-service.js +0 -213
- package/dist/services/browser-service.js.map +0 -1
- package/dist/services/index.d.ts +0 -4
- package/dist/services/index.d.ts.map +0 -1
- package/dist/services/index.js +0 -4
- package/dist/services/index.js.map +0 -1
- package/dist/services/process-manager.d.ts +0 -24
- package/dist/services/process-manager.d.ts.map +0 -1
- package/dist/services/process-manager.js +0 -270
- package/dist/services/process-manager.js.map +0 -1
- package/dist/services/websocket-client.d.ts +0 -35
- package/dist/services/websocket-client.d.ts.map +0 -1
- package/dist/services/websocket-client.js +0 -221
- package/dist/services/websocket-client.js.map +0 -1
- package/dist/types.d.ts +0 -101
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
- package/dist/utils/captcha.d.ts +0 -33
- package/dist/utils/captcha.d.ts.map +0 -1
- package/dist/utils/captcha.js +0 -219
- package/dist/utils/captcha.js.map +0 -1
- package/dist/utils/errors.d.ts +0 -37
- package/dist/utils/errors.d.ts.map +0 -1
- package/dist/utils/errors.js +0 -81
- package/dist/utils/errors.js.map +0 -1
- package/dist/utils/index.d.ts +0 -5
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -5
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/retry.d.ts +0 -26
- package/dist/utils/retry.d.ts.map +0 -1
- package/dist/utils/retry.js +0 -55
- package/dist/utils/retry.js.map +0 -1
- package/dist/utils/security.d.ts +0 -27
- package/dist/utils/security.d.ts.map +0 -1
- package/dist/utils/security.js +0 -139
- package/dist/utils/security.js.map +0 -1
- package/dist/utils/url.d.ts +0 -12
- package/dist/utils/url.d.ts.map +0 -1
- package/dist/utils/url.js +0 -39
- package/dist/utils/url.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-workspace-state.d.ts","sourceRoot":"","sources":["../../src/workspace/browser-workspace-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iCAAiC,EACjC,oBAAoB,EACpB,4BAA4B,EAC5B,2BAA2B,EAC5B,MAAM,8BAA8B,CAAC;AAEtC,eAAO,MAAM,iBAAiB,EAAE;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,2BAA2B,EAAE,CAAC;CAIrC,CAAC;AAEF,eAAO,MAAM,2BAA2B,kCAGrC,CAAC;AACJ,eAAO,MAAM,4BAA4B,2CAGtC,CAAC;AACJ,eAAO,IAAI,6BAA6B,QAAK,CAAC;AAE9C,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAEpE;AAOD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAOxE;AAED,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAED,wBAAgB,kCAAkC,IAAI,4BAA4B,CA2BjF;AASD,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,MAAM,GACZ,4BAA4B,CAQ9B;AAED,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,MAAM,GACZ,IAAI,CAIN;AAED,wBAAgB,2CAA2C,CACzD,KAAK,EAAE,4BAA4B,GAClC,IAAI,CAKN;AASD,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,MAAM,GACZ,IAAI,CAIN;AAED,wBAAgB,mCAAmC,CACjD,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,iCAAiC,EAAE,GAC5C,iCAAiC,EAAE,CAiBrC;AAED,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,GACV,MAAM,GAAG,IAAI,CAMf;AAED,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,4BAA4B,EACnC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,IAAI,CAQN;AAED,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,4BAA4B,EACnC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,IAAI,CAQN;AAED,wBAAgB,4BAA4B,IAAI,MAAM,CAErD;AAED,kCAAkC;AAClC,wBAAsB,oCAAoC,IAAI,OAAO,CAAC,IAAI,CAAC,CAS1E"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
const webWorkspaceState = {
|
|
2
|
+
nextId: 1,
|
|
3
|
+
tabs: []
|
|
4
|
+
};
|
|
5
|
+
const browserWorkspaceElementRefs = /* @__PURE__ */ new Map();
|
|
6
|
+
const browserWorkspaceRuntimeState = /* @__PURE__ */ new Map();
|
|
7
|
+
let browserWorkspaceClipboardText = "";
|
|
8
|
+
function setBrowserWorkspaceClipboardText(value) {
|
|
9
|
+
browserWorkspaceClipboardText = value;
|
|
10
|
+
}
|
|
11
|
+
let webStateLock = Promise.resolve();
|
|
12
|
+
function withWebStateLock(fn) {
|
|
13
|
+
const next = webStateLock.then(fn, fn);
|
|
14
|
+
webStateLock = next.then(
|
|
15
|
+
() => {
|
|
16
|
+
},
|
|
17
|
+
() => {
|
|
18
|
+
}
|
|
19
|
+
);
|
|
20
|
+
return next;
|
|
21
|
+
}
|
|
22
|
+
function resetWebStateLock() {
|
|
23
|
+
webStateLock = Promise.resolve();
|
|
24
|
+
}
|
|
25
|
+
function createBrowserWorkspaceRuntimeState() {
|
|
26
|
+
return {
|
|
27
|
+
consoleEntries: [],
|
|
28
|
+
currentFrame: null,
|
|
29
|
+
dialog: null,
|
|
30
|
+
errors: [],
|
|
31
|
+
frameDoms: /* @__PURE__ */ new Map(),
|
|
32
|
+
highlightedSelector: null,
|
|
33
|
+
lastScreenshotData: null,
|
|
34
|
+
lastSnapshot: null,
|
|
35
|
+
mouse: { buttons: [], x: 0, y: 0 },
|
|
36
|
+
networkHar: { active: false, entries: [], startedAt: null },
|
|
37
|
+
networkNextRequestId: 1,
|
|
38
|
+
networkRequests: [],
|
|
39
|
+
networkRoutes: [],
|
|
40
|
+
settings: {
|
|
41
|
+
credentials: null,
|
|
42
|
+
device: null,
|
|
43
|
+
geo: null,
|
|
44
|
+
headers: {},
|
|
45
|
+
media: null,
|
|
46
|
+
offline: false,
|
|
47
|
+
viewport: null
|
|
48
|
+
},
|
|
49
|
+
trace: { active: false, entries: [] },
|
|
50
|
+
profiler: { active: false, entries: [] }
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
function getBrowserWorkspaceRuntimeStateKey(mode, tabId) {
|
|
54
|
+
return `${mode}:${tabId}`;
|
|
55
|
+
}
|
|
56
|
+
function getBrowserWorkspaceRuntimeState(mode, tabId) {
|
|
57
|
+
const key = getBrowserWorkspaceRuntimeStateKey(mode, tabId);
|
|
58
|
+
let state = browserWorkspaceRuntimeState.get(key);
|
|
59
|
+
if (!state) {
|
|
60
|
+
state = createBrowserWorkspaceRuntimeState();
|
|
61
|
+
browserWorkspaceRuntimeState.set(key, state);
|
|
62
|
+
}
|
|
63
|
+
return state;
|
|
64
|
+
}
|
|
65
|
+
function clearBrowserWorkspaceRuntimeState(mode, tabId) {
|
|
66
|
+
browserWorkspaceRuntimeState.delete(
|
|
67
|
+
getBrowserWorkspaceRuntimeStateKey(mode, tabId)
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
function resetBrowserWorkspaceRuntimeNavigationState(state) {
|
|
71
|
+
state.currentFrame = null;
|
|
72
|
+
state.dialog = null;
|
|
73
|
+
state.frameDoms.clear();
|
|
74
|
+
state.highlightedSelector = null;
|
|
75
|
+
}
|
|
76
|
+
function getBrowserWorkspaceElementRefStateKey(mode, tabId) {
|
|
77
|
+
return `${mode}:${tabId}`;
|
|
78
|
+
}
|
|
79
|
+
function clearBrowserWorkspaceElementRefs(mode, tabId) {
|
|
80
|
+
browserWorkspaceElementRefs.delete(
|
|
81
|
+
getBrowserWorkspaceElementRefStateKey(mode, tabId)
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
function registerBrowserWorkspaceElementRefs(mode, tabId, elements) {
|
|
85
|
+
if (elements.length === 0) {
|
|
86
|
+
clearBrowserWorkspaceElementRefs(mode, tabId);
|
|
87
|
+
return [];
|
|
88
|
+
}
|
|
89
|
+
const refs = /* @__PURE__ */ new Map();
|
|
90
|
+
const augmented = elements.map((element, index) => {
|
|
91
|
+
const ref = `@e${index + 1}`;
|
|
92
|
+
refs.set(ref, element.selector);
|
|
93
|
+
return { ...element, ref };
|
|
94
|
+
});
|
|
95
|
+
browserWorkspaceElementRefs.set(
|
|
96
|
+
getBrowserWorkspaceElementRefStateKey(mode, tabId),
|
|
97
|
+
refs
|
|
98
|
+
);
|
|
99
|
+
return augmented;
|
|
100
|
+
}
|
|
101
|
+
function resolveBrowserWorkspaceElementRef(mode, tabId, ref) {
|
|
102
|
+
return browserWorkspaceElementRefs.get(getBrowserWorkspaceElementRefStateKey(mode, tabId))?.get(ref.trim()) ?? null;
|
|
103
|
+
}
|
|
104
|
+
function appendBrowserWorkspaceTraceEntry(state, entry) {
|
|
105
|
+
if (!state.trace.active) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
state.trace.entries.push({
|
|
109
|
+
...entry,
|
|
110
|
+
timestamp: getBrowserWorkspaceTimestamp()
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
function appendBrowserWorkspaceProfilerEntry(state, entry) {
|
|
114
|
+
if (!state.profiler.active) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
state.profiler.entries.push({
|
|
118
|
+
...entry,
|
|
119
|
+
timestamp: getBrowserWorkspaceTimestamp()
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
function getBrowserWorkspaceTimestamp() {
|
|
123
|
+
return (/* @__PURE__ */ new Date()).toISOString();
|
|
124
|
+
}
|
|
125
|
+
async function __resetBrowserWorkspaceStateForTests() {
|
|
126
|
+
await withWebStateLock(async () => {
|
|
127
|
+
webWorkspaceState.nextId = 1;
|
|
128
|
+
webWorkspaceState.tabs = [];
|
|
129
|
+
browserWorkspaceElementRefs.clear();
|
|
130
|
+
browserWorkspaceRuntimeState.clear();
|
|
131
|
+
browserWorkspaceClipboardText = "";
|
|
132
|
+
});
|
|
133
|
+
resetWebStateLock();
|
|
134
|
+
}
|
|
135
|
+
export {
|
|
136
|
+
__resetBrowserWorkspaceStateForTests,
|
|
137
|
+
appendBrowserWorkspaceProfilerEntry,
|
|
138
|
+
appendBrowserWorkspaceTraceEntry,
|
|
139
|
+
browserWorkspaceClipboardText,
|
|
140
|
+
browserWorkspaceElementRefs,
|
|
141
|
+
browserWorkspaceRuntimeState,
|
|
142
|
+
clearBrowserWorkspaceElementRefs,
|
|
143
|
+
clearBrowserWorkspaceRuntimeState,
|
|
144
|
+
createBrowserWorkspaceRuntimeState,
|
|
145
|
+
getBrowserWorkspaceRuntimeState,
|
|
146
|
+
getBrowserWorkspaceTimestamp,
|
|
147
|
+
registerBrowserWorkspaceElementRefs,
|
|
148
|
+
resetBrowserWorkspaceRuntimeNavigationState,
|
|
149
|
+
resetWebStateLock,
|
|
150
|
+
resolveBrowserWorkspaceElementRef,
|
|
151
|
+
setBrowserWorkspaceClipboardText,
|
|
152
|
+
webWorkspaceState,
|
|
153
|
+
withWebStateLock
|
|
154
|
+
};
|
|
155
|
+
//# sourceMappingURL=browser-workspace-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/workspace/browser-workspace-state.ts"],"sourcesContent":["import type { JSDOM } from \"jsdom\";\nimport type {\n BrowserWorkspaceDomElementSummary,\n BrowserWorkspaceMode,\n BrowserWorkspaceRuntimeState,\n WebBrowserWorkspaceTabState,\n} from \"./browser-workspace-types.js\";\n\nexport const webWorkspaceState: {\n nextId: number;\n tabs: WebBrowserWorkspaceTabState[];\n} = {\n nextId: 1,\n tabs: [],\n};\n\nexport const browserWorkspaceElementRefs = new Map<\n string,\n Map<string, string>\n>();\nexport const browserWorkspaceRuntimeState = new Map<\n string,\n BrowserWorkspaceRuntimeState\n>();\nexport let browserWorkspaceClipboardText = \"\";\n\nexport function setBrowserWorkspaceClipboardText(value: string): void {\n browserWorkspaceClipboardText = value;\n}\n\n/**\n * Simple async mutex to serialise mutations to webWorkspaceState.\n * Prevents concurrent requests from corrupting tab state or history.\n */\nlet webStateLock: Promise<void> = Promise.resolve();\nexport function withWebStateLock<T>(fn: () => T | Promise<T>): Promise<T> {\n const next = webStateLock.then(fn, fn);\n webStateLock = next.then(\n () => {},\n () => {},\n );\n return next;\n}\n\nexport function resetWebStateLock(): void {\n webStateLock = Promise.resolve();\n}\n\nexport function createBrowserWorkspaceRuntimeState(): BrowserWorkspaceRuntimeState {\n return {\n consoleEntries: [],\n currentFrame: null,\n dialog: null,\n errors: [],\n frameDoms: new Map<string, JSDOM>(),\n highlightedSelector: null,\n lastScreenshotData: null,\n lastSnapshot: null,\n mouse: { buttons: [], x: 0, y: 0 },\n networkHar: { active: false, entries: [], startedAt: null },\n networkNextRequestId: 1,\n networkRequests: [],\n networkRoutes: [],\n settings: {\n credentials: null,\n device: null,\n geo: null,\n headers: {},\n media: null,\n offline: false,\n viewport: null,\n },\n trace: { active: false, entries: [] },\n profiler: { active: false, entries: [] },\n };\n}\n\nfunction getBrowserWorkspaceRuntimeStateKey(\n mode: BrowserWorkspaceMode,\n tabId: string,\n): string {\n return `${mode}:${tabId}`;\n}\n\nexport function getBrowserWorkspaceRuntimeState(\n mode: BrowserWorkspaceMode,\n tabId: string,\n): BrowserWorkspaceRuntimeState {\n const key = getBrowserWorkspaceRuntimeStateKey(mode, tabId);\n let state = browserWorkspaceRuntimeState.get(key);\n if (!state) {\n state = createBrowserWorkspaceRuntimeState();\n browserWorkspaceRuntimeState.set(key, state);\n }\n return state;\n}\n\nexport function clearBrowserWorkspaceRuntimeState(\n mode: BrowserWorkspaceMode,\n tabId: string,\n): void {\n browserWorkspaceRuntimeState.delete(\n getBrowserWorkspaceRuntimeStateKey(mode, tabId),\n );\n}\n\nexport function resetBrowserWorkspaceRuntimeNavigationState(\n state: BrowserWorkspaceRuntimeState,\n): void {\n state.currentFrame = null;\n state.dialog = null;\n state.frameDoms.clear();\n state.highlightedSelector = null;\n}\n\nfunction getBrowserWorkspaceElementRefStateKey(\n mode: BrowserWorkspaceMode,\n tabId: string,\n): string {\n return `${mode}:${tabId}`;\n}\n\nexport function clearBrowserWorkspaceElementRefs(\n mode: BrowserWorkspaceMode,\n tabId: string,\n): void {\n browserWorkspaceElementRefs.delete(\n getBrowserWorkspaceElementRefStateKey(mode, tabId),\n );\n}\n\nexport function registerBrowserWorkspaceElementRefs(\n mode: BrowserWorkspaceMode,\n tabId: string,\n elements: BrowserWorkspaceDomElementSummary[],\n): BrowserWorkspaceDomElementSummary[] {\n if (elements.length === 0) {\n clearBrowserWorkspaceElementRefs(mode, tabId);\n return [];\n }\n\n const refs = new Map<string, string>();\n const augmented = elements.map((element, index) => {\n const ref = `@e${index + 1}`;\n refs.set(ref, element.selector);\n return { ...element, ref };\n });\n browserWorkspaceElementRefs.set(\n getBrowserWorkspaceElementRefStateKey(mode, tabId),\n refs,\n );\n return augmented;\n}\n\nexport function resolveBrowserWorkspaceElementRef(\n mode: BrowserWorkspaceMode,\n tabId: string,\n ref: string,\n): string | null {\n return (\n browserWorkspaceElementRefs\n .get(getBrowserWorkspaceElementRefStateKey(mode, tabId))\n ?.get(ref.trim()) ?? null\n );\n}\n\nexport function appendBrowserWorkspaceTraceEntry(\n state: BrowserWorkspaceRuntimeState,\n entry: Record<string, unknown>,\n): void {\n if (!state.trace.active) {\n return;\n }\n state.trace.entries.push({\n ...entry,\n timestamp: getBrowserWorkspaceTimestamp(),\n });\n}\n\nexport function appendBrowserWorkspaceProfilerEntry(\n state: BrowserWorkspaceRuntimeState,\n entry: Record<string, unknown>,\n): void {\n if (!state.profiler.active) {\n return;\n }\n state.profiler.entries.push({\n ...entry,\n timestamp: getBrowserWorkspaceTimestamp(),\n });\n}\n\nexport function getBrowserWorkspaceTimestamp(): string {\n return new Date().toISOString();\n}\n\n/** @internal - test-only reset */\nexport async function __resetBrowserWorkspaceStateForTests(): Promise<void> {\n await withWebStateLock(async () => {\n webWorkspaceState.nextId = 1;\n webWorkspaceState.tabs = [];\n browserWorkspaceElementRefs.clear();\n browserWorkspaceRuntimeState.clear();\n browserWorkspaceClipboardText = \"\";\n });\n resetWebStateLock();\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
import type { JSDOM } from "jsdom";
|
|
2
|
+
export type BrowserWorkspaceMode = "cloud" | "desktop" | "web";
|
|
3
|
+
export type BrowserWorkspaceTabKind = "internal" | "standard";
|
|
4
|
+
export declare const BROWSER_WORKSPACE_CONNECTOR_AUTH_STATES: readonly ["unknown", "ready", "auth_pending", "needs_reauth", "manual_handoff"];
|
|
5
|
+
export type BrowserWorkspaceConnectorAuthState = (typeof BROWSER_WORKSPACE_CONNECTOR_AUTH_STATES)[number];
|
|
6
|
+
export type BrowserWorkspaceConnectorSessionKind = "internal-browser" | "browser-bridge-companion";
|
|
7
|
+
export type BrowserWorkspaceOperation = "list" | "open" | "navigate" | "show" | "hide" | "close" | "eval" | "screenshot";
|
|
8
|
+
export type BrowserWorkspaceSubaction = BrowserWorkspaceOperation | "back" | "batch" | "check" | "clipboard" | "click" | "fill" | "find" | "focus" | "forward" | "frame" | "get" | "hover" | "inspect" | "keydown" | "keyup" | "keyboardinserttext" | "keyboardtype" | "console" | "cookies" | "diff" | "dialog" | "press" | "drag" | "errors" | "highlight" | "mouse" | "network" | "pdf" | "profiler" | "reload" | "scroll" | "scrollinto" | "select" | "set" | "snapshot" | "state" | "storage" | "tab" | "trace" | "type" | "dblclick" | "upload" | "uncheck" | "wait" | "window" | "realistic-click" | "realistic-fill" | "realistic-type" | "realistic-press" | "realistic-upload" | "cursor-move" | "cursor-hide";
|
|
9
|
+
export type BrowserWorkspaceGetMode = "attr" | "box" | "checked" | "count" | "enabled" | "html" | "styles" | "text" | "title" | "url" | "value" | "visible";
|
|
10
|
+
export type BrowserWorkspaceFindBy = "alt" | "first" | "label" | "last" | "nth" | "placeholder" | "role" | "testid" | "text" | "title";
|
|
11
|
+
export type BrowserWorkspaceFindAction = "check" | "click" | "fill" | "focus" | "hover" | "text" | "type" | "uncheck";
|
|
12
|
+
export type BrowserWorkspaceWaitState = "hidden" | "visible";
|
|
13
|
+
export type BrowserWorkspaceScrollDirection = "down" | "left" | "right" | "up";
|
|
14
|
+
export type BrowserWorkspaceClipboardAction = "copy" | "paste" | "read" | "write";
|
|
15
|
+
export type BrowserWorkspaceMouseAction = "down" | "move" | "up" | "wheel";
|
|
16
|
+
export type BrowserWorkspaceMouseButton = "left" | "middle" | "right";
|
|
17
|
+
export type BrowserWorkspaceSetAction = "credentials" | "device" | "geo" | "headers" | "media" | "offline" | "viewport";
|
|
18
|
+
export type BrowserWorkspaceCookieAction = "clear" | "get" | "set";
|
|
19
|
+
export type BrowserWorkspaceStorageArea = "local" | "session";
|
|
20
|
+
export type BrowserWorkspaceStorageAction = "clear" | "get" | "set";
|
|
21
|
+
export type BrowserWorkspaceNetworkAction = "harstart" | "harstop" | "request" | "requests" | "route" | "unroute";
|
|
22
|
+
export type BrowserWorkspaceDialogAction = "accept" | "dismiss" | "status";
|
|
23
|
+
export type BrowserWorkspaceDiffAction = "screenshot" | "snapshot" | "url";
|
|
24
|
+
export type BrowserWorkspaceTraceAction = "start" | "stop";
|
|
25
|
+
export type BrowserWorkspaceProfilerAction = "start" | "stop";
|
|
26
|
+
export type BrowserWorkspaceStateAction = "load" | "save";
|
|
27
|
+
export type BrowserWorkspaceFrameAction = "main" | "select";
|
|
28
|
+
export type BrowserWorkspaceTabAction = "close" | "list" | "new" | "switch";
|
|
29
|
+
export type BrowserWorkspaceWindowAction = "new";
|
|
30
|
+
export type BrowserWorkspaceConsoleAction = "clear" | "list";
|
|
31
|
+
export interface BrowserWorkspaceTab {
|
|
32
|
+
id: string;
|
|
33
|
+
title: string;
|
|
34
|
+
url: string;
|
|
35
|
+
partition: string;
|
|
36
|
+
kind?: BrowserWorkspaceTabKind;
|
|
37
|
+
visible: boolean;
|
|
38
|
+
createdAt: string;
|
|
39
|
+
updatedAt: string;
|
|
40
|
+
lastFocusedAt: string | null;
|
|
41
|
+
/** Remote/cloud-managed providers expose a cached live-view image URL. */
|
|
42
|
+
liveViewUrl?: string | null;
|
|
43
|
+
/** Interactive live view (rfb/WebSocket stream) when the provider supports it. */
|
|
44
|
+
interactiveLiveViewUrl?: string | null;
|
|
45
|
+
/** Provider identifier when the tab is backed by a remote browser (e.g. "browserbase"). */
|
|
46
|
+
provider?: string | null;
|
|
47
|
+
/** Provider-specific status string for remote tabs ("starting", "ready", "ended"). */
|
|
48
|
+
status?: string | null;
|
|
49
|
+
}
|
|
50
|
+
export interface BrowserWorkspaceSnapshot {
|
|
51
|
+
mode: BrowserWorkspaceMode;
|
|
52
|
+
tabs: BrowserWorkspaceTab[];
|
|
53
|
+
}
|
|
54
|
+
export type BrowserWorkspaceEventType = "open" | "navigate" | "show" | "hide" | "close" | "eval.start" | "eval.end" | "eval.error" | "snapshot.success" | "snapshot.miss";
|
|
55
|
+
export interface BrowserWorkspaceEvent {
|
|
56
|
+
seq: number;
|
|
57
|
+
timestamp: string;
|
|
58
|
+
type: BrowserWorkspaceEventType;
|
|
59
|
+
tabId: string | null;
|
|
60
|
+
url?: string;
|
|
61
|
+
title?: string;
|
|
62
|
+
payload?: Record<string, unknown>;
|
|
63
|
+
}
|
|
64
|
+
export interface BrowserWorkspaceEventLogSnapshot {
|
|
65
|
+
events: BrowserWorkspaceEvent[];
|
|
66
|
+
latestSequence: number;
|
|
67
|
+
limit: number;
|
|
68
|
+
}
|
|
69
|
+
export interface BrowserWorkspaceBridgeConfig {
|
|
70
|
+
baseUrl: string;
|
|
71
|
+
token: string | null;
|
|
72
|
+
}
|
|
73
|
+
export interface BrowserWorkspaceConnectorCompanionRef {
|
|
74
|
+
browser?: string | null;
|
|
75
|
+
companionId?: string | null;
|
|
76
|
+
profileId?: string | null;
|
|
77
|
+
profileLabel?: string | null;
|
|
78
|
+
}
|
|
79
|
+
export interface AcquireBrowserWorkspaceConnectorSessionRequest {
|
|
80
|
+
provider: string;
|
|
81
|
+
accountId: string;
|
|
82
|
+
url?: string;
|
|
83
|
+
title?: string;
|
|
84
|
+
show?: boolean;
|
|
85
|
+
reuse?: boolean;
|
|
86
|
+
authState?: BrowserWorkspaceConnectorAuthState;
|
|
87
|
+
manualHandoffReason?: string | null;
|
|
88
|
+
companion?: BrowserWorkspaceConnectorCompanionRef | null;
|
|
89
|
+
}
|
|
90
|
+
export interface BrowserWorkspaceConnectorSessionRef {
|
|
91
|
+
kind: BrowserWorkspaceConnectorSessionKind;
|
|
92
|
+
handleId: string;
|
|
93
|
+
partition: string | null;
|
|
94
|
+
tabId: string | null;
|
|
95
|
+
browser: string | null;
|
|
96
|
+
companionId: string | null;
|
|
97
|
+
profileId: string | null;
|
|
98
|
+
profileLabel: string | null;
|
|
99
|
+
}
|
|
100
|
+
export interface BrowserWorkspaceConnectorSessionHandle {
|
|
101
|
+
provider: string;
|
|
102
|
+
accountId: string;
|
|
103
|
+
authState: BrowserWorkspaceConnectorAuthState;
|
|
104
|
+
requiresManualHandoff: boolean;
|
|
105
|
+
sessionRef: BrowserWorkspaceConnectorSessionRef;
|
|
106
|
+
partition: string | null;
|
|
107
|
+
tabId: string | null;
|
|
108
|
+
companionId: string | null;
|
|
109
|
+
browser: string | null;
|
|
110
|
+
profileId: string | null;
|
|
111
|
+
profileLabel: string | null;
|
|
112
|
+
created: boolean;
|
|
113
|
+
message: string | null;
|
|
114
|
+
}
|
|
115
|
+
export interface OpenBrowserWorkspaceTabRequest {
|
|
116
|
+
url?: string;
|
|
117
|
+
title?: string;
|
|
118
|
+
show?: boolean;
|
|
119
|
+
partition?: string;
|
|
120
|
+
connectorProvider?: string;
|
|
121
|
+
connectorAccountId?: string;
|
|
122
|
+
kind?: BrowserWorkspaceTabKind;
|
|
123
|
+
width?: number;
|
|
124
|
+
height?: number;
|
|
125
|
+
}
|
|
126
|
+
export interface NavigateBrowserWorkspaceTabRequest {
|
|
127
|
+
id: string;
|
|
128
|
+
url: string;
|
|
129
|
+
partition?: string;
|
|
130
|
+
}
|
|
131
|
+
export interface EvaluateBrowserWorkspaceTabRequest {
|
|
132
|
+
id: string;
|
|
133
|
+
script: string;
|
|
134
|
+
partition?: string;
|
|
135
|
+
}
|
|
136
|
+
export interface BrowserWorkspaceDomElementSummary {
|
|
137
|
+
ref?: string;
|
|
138
|
+
selector: string;
|
|
139
|
+
tag: string;
|
|
140
|
+
text: string;
|
|
141
|
+
type: string | null;
|
|
142
|
+
name: string | null;
|
|
143
|
+
href: string | null;
|
|
144
|
+
value: string | null;
|
|
145
|
+
}
|
|
146
|
+
export interface BrowserWorkspaceCommand {
|
|
147
|
+
subaction: BrowserWorkspaceSubaction;
|
|
148
|
+
operation?: BrowserWorkspaceSubaction | "goto" | "read";
|
|
149
|
+
action?: BrowserWorkspaceFindAction;
|
|
150
|
+
baselinePath?: string;
|
|
151
|
+
button?: BrowserWorkspaceMouseButton;
|
|
152
|
+
clipboardAction?: BrowserWorkspaceClipboardAction;
|
|
153
|
+
compact?: boolean;
|
|
154
|
+
consoleAction?: BrowserWorkspaceConsoleAction;
|
|
155
|
+
cookieAction?: BrowserWorkspaceCookieAction;
|
|
156
|
+
deltaX?: number;
|
|
157
|
+
deltaY?: number;
|
|
158
|
+
device?: string;
|
|
159
|
+
dialogAction?: BrowserWorkspaceDialogAction;
|
|
160
|
+
diffAction?: BrowserWorkspaceDiffAction;
|
|
161
|
+
domain?: string;
|
|
162
|
+
id?: string;
|
|
163
|
+
entryKey?: string;
|
|
164
|
+
filePath?: string;
|
|
165
|
+
filter?: string;
|
|
166
|
+
files?: string[];
|
|
167
|
+
frameAction?: BrowserWorkspaceFrameAction;
|
|
168
|
+
fullPage?: boolean;
|
|
169
|
+
headers?: Record<string, string>;
|
|
170
|
+
height?: number;
|
|
171
|
+
url?: string;
|
|
172
|
+
secondaryUrl?: string;
|
|
173
|
+
title?: string;
|
|
174
|
+
script?: string;
|
|
175
|
+
show?: boolean;
|
|
176
|
+
partition?: string;
|
|
177
|
+
connectorProvider?: string;
|
|
178
|
+
connectorAccountId?: string;
|
|
179
|
+
selector?: string;
|
|
180
|
+
text?: string;
|
|
181
|
+
value?: string;
|
|
182
|
+
attribute?: string;
|
|
183
|
+
direction?: BrowserWorkspaceScrollDirection;
|
|
184
|
+
exact?: boolean;
|
|
185
|
+
findBy?: BrowserWorkspaceFindBy;
|
|
186
|
+
index?: number;
|
|
187
|
+
key?: string;
|
|
188
|
+
latitude?: number;
|
|
189
|
+
longitude?: number;
|
|
190
|
+
media?: "dark" | "light";
|
|
191
|
+
method?: string;
|
|
192
|
+
mouseAction?: BrowserWorkspaceMouseAction;
|
|
193
|
+
networkAction?: BrowserWorkspaceNetworkAction;
|
|
194
|
+
offline?: boolean;
|
|
195
|
+
outputPath?: string;
|
|
196
|
+
getMode?: BrowserWorkspaceGetMode;
|
|
197
|
+
name?: string;
|
|
198
|
+
pixels?: number;
|
|
199
|
+
profilerAction?: BrowserWorkspaceProfilerAction;
|
|
200
|
+
promptText?: string;
|
|
201
|
+
requestId?: string;
|
|
202
|
+
responseBody?: string;
|
|
203
|
+
responseHeaders?: Record<string, string>;
|
|
204
|
+
responseStatus?: number;
|
|
205
|
+
role?: string;
|
|
206
|
+
scale?: number;
|
|
207
|
+
setAction?: BrowserWorkspaceSetAction;
|
|
208
|
+
state?: BrowserWorkspaceWaitState;
|
|
209
|
+
stateAction?: BrowserWorkspaceStateAction;
|
|
210
|
+
status?: string;
|
|
211
|
+
storageAction?: BrowserWorkspaceStorageAction;
|
|
212
|
+
storageArea?: BrowserWorkspaceStorageArea;
|
|
213
|
+
tabAction?: BrowserWorkspaceTabAction;
|
|
214
|
+
timeoutMs?: number;
|
|
215
|
+
traceAction?: BrowserWorkspaceTraceAction;
|
|
216
|
+
windowAction?: BrowserWorkspaceWindowAction;
|
|
217
|
+
width?: number;
|
|
218
|
+
x?: number;
|
|
219
|
+
y?: number;
|
|
220
|
+
username?: string;
|
|
221
|
+
password?: string;
|
|
222
|
+
ms?: number;
|
|
223
|
+
milliseconds?: number;
|
|
224
|
+
steps?: BrowserWorkspaceCommand[];
|
|
225
|
+
/** Cursor animation duration (ms) for realistic-* and cursor-* subactions. */
|
|
226
|
+
cursorDurationMs?: number;
|
|
227
|
+
/** Per-character delay for realistic-type / realistic-fill (ms). */
|
|
228
|
+
perCharDelayMs?: number;
|
|
229
|
+
/** Replace existing input value when filling (vs append). */
|
|
230
|
+
replace?: boolean;
|
|
231
|
+
}
|
|
232
|
+
export interface BrowserWorkspaceCommandResult {
|
|
233
|
+
mode: BrowserWorkspaceMode;
|
|
234
|
+
subaction: BrowserWorkspaceSubaction;
|
|
235
|
+
tab?: BrowserWorkspaceTab;
|
|
236
|
+
tabs?: BrowserWorkspaceTab[];
|
|
237
|
+
closed?: boolean;
|
|
238
|
+
value?: unknown;
|
|
239
|
+
elements?: BrowserWorkspaceDomElementSummary[];
|
|
240
|
+
snapshot?: {
|
|
241
|
+
data: string;
|
|
242
|
+
};
|
|
243
|
+
steps?: BrowserWorkspaceCommandResult[];
|
|
244
|
+
}
|
|
245
|
+
export interface BrowserWorkspaceConsoleEntry {
|
|
246
|
+
level: "error" | "info" | "log" | "warn";
|
|
247
|
+
message: string;
|
|
248
|
+
timestamp: string;
|
|
249
|
+
}
|
|
250
|
+
export interface BrowserWorkspaceErrorEntry {
|
|
251
|
+
message: string;
|
|
252
|
+
stack: string | null;
|
|
253
|
+
timestamp: string;
|
|
254
|
+
}
|
|
255
|
+
export interface BrowserWorkspaceDialogState {
|
|
256
|
+
defaultValue: string | null;
|
|
257
|
+
message: string;
|
|
258
|
+
open: boolean;
|
|
259
|
+
type: "alert" | "beforeunload" | "confirm" | "prompt";
|
|
260
|
+
}
|
|
261
|
+
export interface BrowserWorkspaceMouseState {
|
|
262
|
+
buttons: BrowserWorkspaceMouseButton[];
|
|
263
|
+
x: number;
|
|
264
|
+
y: number;
|
|
265
|
+
}
|
|
266
|
+
export interface BrowserWorkspaceSettingsState {
|
|
267
|
+
credentials: {
|
|
268
|
+
password: string;
|
|
269
|
+
username: string;
|
|
270
|
+
} | null;
|
|
271
|
+
device: string | null;
|
|
272
|
+
geo: {
|
|
273
|
+
latitude: number;
|
|
274
|
+
longitude: number;
|
|
275
|
+
} | null;
|
|
276
|
+
headers: Record<string, string>;
|
|
277
|
+
media: "dark" | "light" | null;
|
|
278
|
+
offline: boolean;
|
|
279
|
+
viewport: {
|
|
280
|
+
height: number;
|
|
281
|
+
scale: number;
|
|
282
|
+
width: number;
|
|
283
|
+
} | null;
|
|
284
|
+
}
|
|
285
|
+
export interface BrowserWorkspaceNetworkRoute {
|
|
286
|
+
abort: boolean;
|
|
287
|
+
body: string | null;
|
|
288
|
+
headers: Record<string, string>;
|
|
289
|
+
pattern: string;
|
|
290
|
+
status: number | null;
|
|
291
|
+
}
|
|
292
|
+
export interface BrowserWorkspaceNetworkRequestRecord {
|
|
293
|
+
id: string;
|
|
294
|
+
matchedRoute: string | null;
|
|
295
|
+
method: string;
|
|
296
|
+
resourceType: string;
|
|
297
|
+
responseBody: string | null;
|
|
298
|
+
responseHeaders: Record<string, string>;
|
|
299
|
+
status: number | null;
|
|
300
|
+
timestamp: string;
|
|
301
|
+
url: string;
|
|
302
|
+
}
|
|
303
|
+
export interface BrowserWorkspaceTraceRecord {
|
|
304
|
+
active: boolean;
|
|
305
|
+
entries: Array<Record<string, unknown>>;
|
|
306
|
+
}
|
|
307
|
+
export interface BrowserWorkspaceProfilerRecord {
|
|
308
|
+
active: boolean;
|
|
309
|
+
entries: Array<Record<string, unknown>>;
|
|
310
|
+
}
|
|
311
|
+
export interface BrowserWorkspaceHarRecord {
|
|
312
|
+
active: boolean;
|
|
313
|
+
entries: BrowserWorkspaceNetworkRequestRecord[];
|
|
314
|
+
startedAt: string | null;
|
|
315
|
+
}
|
|
316
|
+
export interface BrowserWorkspaceSnapshotRecord {
|
|
317
|
+
bodyText: string;
|
|
318
|
+
title: string;
|
|
319
|
+
url: string;
|
|
320
|
+
}
|
|
321
|
+
export interface BrowserWorkspaceRuntimeState {
|
|
322
|
+
consoleEntries: BrowserWorkspaceConsoleEntry[];
|
|
323
|
+
currentFrame: string | null;
|
|
324
|
+
dialog: BrowserWorkspaceDialogState | null;
|
|
325
|
+
errors: BrowserWorkspaceErrorEntry[];
|
|
326
|
+
frameDoms: Map<string, JSDOM>;
|
|
327
|
+
highlightedSelector: string | null;
|
|
328
|
+
lastScreenshotData: string | null;
|
|
329
|
+
lastSnapshot: BrowserWorkspaceSnapshotRecord | null;
|
|
330
|
+
mouse: BrowserWorkspaceMouseState;
|
|
331
|
+
networkHar: BrowserWorkspaceHarRecord;
|
|
332
|
+
networkNextRequestId: number;
|
|
333
|
+
networkRequests: BrowserWorkspaceNetworkRequestRecord[];
|
|
334
|
+
networkRoutes: BrowserWorkspaceNetworkRoute[];
|
|
335
|
+
settings: BrowserWorkspaceSettingsState;
|
|
336
|
+
trace: BrowserWorkspaceTraceRecord;
|
|
337
|
+
profiler: BrowserWorkspaceProfilerRecord;
|
|
338
|
+
}
|
|
339
|
+
export interface WebBrowserWorkspaceTabState extends BrowserWorkspaceTab {
|
|
340
|
+
dom: JSDOM | null;
|
|
341
|
+
history: string[];
|
|
342
|
+
historyIndex: number;
|
|
343
|
+
loadedUrl: string | null;
|
|
344
|
+
}
|
|
345
|
+
//# sourceMappingURL=browser-workspace-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-workspace-types.d.ts","sourceRoot":"","sources":["../../src/workspace/browser-workspace-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/workspace/browser-workspace-types.ts"],"sourcesContent":["import type { JSDOM } from \"jsdom\";\n\nexport type BrowserWorkspaceMode = \"cloud\" | \"desktop\" | \"web\";\n\nexport type BrowserWorkspaceTabKind = \"internal\" | \"standard\";\n\nexport const BROWSER_WORKSPACE_CONNECTOR_AUTH_STATES = [\n \"unknown\",\n \"ready\",\n \"auth_pending\",\n \"needs_reauth\",\n \"manual_handoff\",\n] as const;\nexport type BrowserWorkspaceConnectorAuthState =\n (typeof BROWSER_WORKSPACE_CONNECTOR_AUTH_STATES)[number];\n\nexport type BrowserWorkspaceConnectorSessionKind =\n | \"internal-browser\"\n | \"browser-bridge-companion\";\n\nexport type BrowserWorkspaceOperation =\n | \"list\"\n | \"open\"\n | \"navigate\"\n | \"show\"\n | \"hide\"\n | \"close\"\n | \"eval\"\n | \"screenshot\";\n\nexport type BrowserWorkspaceSubaction =\n | BrowserWorkspaceOperation\n | \"back\"\n | \"batch\"\n | \"check\"\n | \"clipboard\"\n | \"click\"\n | \"fill\"\n | \"find\"\n | \"focus\"\n | \"forward\"\n | \"frame\"\n | \"get\"\n | \"hover\"\n | \"inspect\"\n | \"keydown\"\n | \"keyup\"\n | \"keyboardinserttext\"\n | \"keyboardtype\"\n | \"console\"\n | \"cookies\"\n | \"diff\"\n | \"dialog\"\n | \"press\"\n | \"drag\"\n | \"errors\"\n | \"highlight\"\n | \"mouse\"\n | \"network\"\n | \"pdf\"\n | \"profiler\"\n | \"reload\"\n | \"scroll\"\n | \"scrollinto\"\n | \"select\"\n | \"set\"\n | \"snapshot\"\n | \"state\"\n | \"storage\"\n | \"tab\"\n | \"trace\"\n | \"type\"\n | \"dblclick\"\n | \"upload\"\n | \"uncheck\"\n | \"wait\"\n | \"window\"\n // Watch-mode subactions: visible cursor + faithful pointer/keyboard events.\n // Implemented in createDesktopBrowserWorkspaceCommandScript via the in-tab\n // window.__elizaTabKit installed by BROWSER_TAB_PRELOAD_SCRIPT.\n | \"realistic-click\"\n | \"realistic-fill\"\n | \"realistic-type\"\n | \"realistic-press\"\n | \"realistic-upload\"\n | \"cursor-move\"\n | \"cursor-hide\";\n\nexport type BrowserWorkspaceGetMode =\n | \"attr\"\n | \"box\"\n | \"checked\"\n | \"count\"\n | \"enabled\"\n | \"html\"\n | \"styles\"\n | \"text\"\n | \"title\"\n | \"url\"\n | \"value\"\n | \"visible\";\n\nexport type BrowserWorkspaceFindBy =\n | \"alt\"\n | \"first\"\n | \"label\"\n | \"last\"\n | \"nth\"\n | \"placeholder\"\n | \"role\"\n | \"testid\"\n | \"text\"\n | \"title\";\n\nexport type BrowserWorkspaceFindAction =\n | \"check\"\n | \"click\"\n | \"fill\"\n | \"focus\"\n | \"hover\"\n | \"text\"\n | \"type\"\n | \"uncheck\";\n\nexport type BrowserWorkspaceWaitState = \"hidden\" | \"visible\";\n\nexport type BrowserWorkspaceScrollDirection = \"down\" | \"left\" | \"right\" | \"up\";\n\nexport type BrowserWorkspaceClipboardAction =\n | \"copy\"\n | \"paste\"\n | \"read\"\n | \"write\";\n\nexport type BrowserWorkspaceMouseAction = \"down\" | \"move\" | \"up\" | \"wheel\";\n\nexport type BrowserWorkspaceMouseButton = \"left\" | \"middle\" | \"right\";\n\nexport type BrowserWorkspaceSetAction =\n | \"credentials\"\n | \"device\"\n | \"geo\"\n | \"headers\"\n | \"media\"\n | \"offline\"\n | \"viewport\";\n\nexport type BrowserWorkspaceCookieAction = \"clear\" | \"get\" | \"set\";\n\nexport type BrowserWorkspaceStorageArea = \"local\" | \"session\";\n\nexport type BrowserWorkspaceStorageAction = \"clear\" | \"get\" | \"set\";\n\nexport type BrowserWorkspaceNetworkAction =\n | \"harstart\"\n | \"harstop\"\n | \"request\"\n | \"requests\"\n | \"route\"\n | \"unroute\";\n\nexport type BrowserWorkspaceDialogAction = \"accept\" | \"dismiss\" | \"status\";\n\nexport type BrowserWorkspaceDiffAction = \"screenshot\" | \"snapshot\" | \"url\";\n\nexport type BrowserWorkspaceTraceAction = \"start\" | \"stop\";\n\nexport type BrowserWorkspaceProfilerAction = \"start\" | \"stop\";\n\nexport type BrowserWorkspaceStateAction = \"load\" | \"save\";\n\nexport type BrowserWorkspaceFrameAction = \"main\" | \"select\";\n\nexport type BrowserWorkspaceTabAction = \"close\" | \"list\" | \"new\" | \"switch\";\n\nexport type BrowserWorkspaceWindowAction = \"new\";\n\nexport type BrowserWorkspaceConsoleAction = \"clear\" | \"list\";\n\nexport interface BrowserWorkspaceTab {\n id: string;\n title: string;\n url: string;\n partition: string;\n kind?: BrowserWorkspaceTabKind;\n visible: boolean;\n createdAt: string;\n updatedAt: string;\n lastFocusedAt: string | null;\n /** Remote/cloud-managed providers expose a cached live-view image URL. */\n liveViewUrl?: string | null;\n /** Interactive live view (rfb/WebSocket stream) when the provider supports it. */\n interactiveLiveViewUrl?: string | null;\n /** Provider identifier when the tab is backed by a remote browser (e.g. \"browserbase\"). */\n provider?: string | null;\n /** Provider-specific status string for remote tabs (\"starting\", \"ready\", \"ended\"). */\n status?: string | null;\n}\n\nexport interface BrowserWorkspaceSnapshot {\n mode: BrowserWorkspaceMode;\n tabs: BrowserWorkspaceTab[];\n}\n\nexport type BrowserWorkspaceEventType =\n | \"open\"\n | \"navigate\"\n | \"show\"\n | \"hide\"\n | \"close\"\n | \"eval.start\"\n | \"eval.end\"\n | \"eval.error\"\n | \"snapshot.success\"\n | \"snapshot.miss\";\n\nexport interface BrowserWorkspaceEvent {\n seq: number;\n timestamp: string;\n type: BrowserWorkspaceEventType;\n tabId: string | null;\n url?: string;\n title?: string;\n payload?: Record<string, unknown>;\n}\n\nexport interface BrowserWorkspaceEventLogSnapshot {\n events: BrowserWorkspaceEvent[];\n latestSequence: number;\n limit: number;\n}\n\nexport interface BrowserWorkspaceBridgeConfig {\n baseUrl: string;\n token: string | null;\n}\n\nexport interface BrowserWorkspaceConnectorCompanionRef {\n browser?: string | null;\n companionId?: string | null;\n profileId?: string | null;\n profileLabel?: string | null;\n}\n\nexport interface AcquireBrowserWorkspaceConnectorSessionRequest {\n provider: string;\n accountId: string;\n url?: string;\n title?: string;\n show?: boolean;\n reuse?: boolean;\n authState?: BrowserWorkspaceConnectorAuthState;\n manualHandoffReason?: string | null;\n companion?: BrowserWorkspaceConnectorCompanionRef | null;\n}\n\nexport interface BrowserWorkspaceConnectorSessionRef {\n kind: BrowserWorkspaceConnectorSessionKind;\n handleId: string;\n partition: string | null;\n tabId: string | null;\n browser: string | null;\n companionId: string | null;\n profileId: string | null;\n profileLabel: string | null;\n}\n\nexport interface BrowserWorkspaceConnectorSessionHandle {\n provider: string;\n accountId: string;\n authState: BrowserWorkspaceConnectorAuthState;\n requiresManualHandoff: boolean;\n sessionRef: BrowserWorkspaceConnectorSessionRef;\n partition: string | null;\n tabId: string | null;\n companionId: string | null;\n browser: string | null;\n profileId: string | null;\n profileLabel: string | null;\n created: boolean;\n message: string | null;\n}\n\nexport interface OpenBrowserWorkspaceTabRequest {\n url?: string;\n title?: string;\n show?: boolean;\n partition?: string;\n connectorProvider?: string;\n connectorAccountId?: string;\n kind?: BrowserWorkspaceTabKind;\n width?: number;\n height?: number;\n}\n\nexport interface NavigateBrowserWorkspaceTabRequest {\n id: string;\n url: string;\n partition?: string;\n}\n\nexport interface EvaluateBrowserWorkspaceTabRequest {\n id: string;\n script: string;\n partition?: string;\n}\n\nexport interface BrowserWorkspaceDomElementSummary {\n ref?: string;\n selector: string;\n tag: string;\n text: string;\n type: string | null;\n name: string | null;\n href: string | null;\n value: string | null;\n}\n\nexport interface BrowserWorkspaceCommand {\n subaction: BrowserWorkspaceSubaction;\n operation?: BrowserWorkspaceSubaction | \"goto\" | \"read\";\n action?: BrowserWorkspaceFindAction;\n baselinePath?: string;\n button?: BrowserWorkspaceMouseButton;\n clipboardAction?: BrowserWorkspaceClipboardAction;\n compact?: boolean;\n consoleAction?: BrowserWorkspaceConsoleAction;\n cookieAction?: BrowserWorkspaceCookieAction;\n deltaX?: number;\n deltaY?: number;\n device?: string;\n dialogAction?: BrowserWorkspaceDialogAction;\n diffAction?: BrowserWorkspaceDiffAction;\n domain?: string;\n id?: string;\n entryKey?: string;\n filePath?: string;\n filter?: string;\n files?: string[];\n frameAction?: BrowserWorkspaceFrameAction;\n fullPage?: boolean;\n headers?: Record<string, string>;\n height?: number;\n url?: string;\n secondaryUrl?: string;\n title?: string;\n script?: string;\n show?: boolean;\n partition?: string;\n connectorProvider?: string;\n connectorAccountId?: string;\n selector?: string;\n text?: string;\n value?: string;\n attribute?: string;\n direction?: BrowserWorkspaceScrollDirection;\n exact?: boolean;\n findBy?: BrowserWorkspaceFindBy;\n index?: number;\n key?: string;\n latitude?: number;\n longitude?: number;\n media?: \"dark\" | \"light\";\n method?: string;\n mouseAction?: BrowserWorkspaceMouseAction;\n networkAction?: BrowserWorkspaceNetworkAction;\n offline?: boolean;\n outputPath?: string;\n getMode?: BrowserWorkspaceGetMode;\n name?: string;\n pixels?: number;\n profilerAction?: BrowserWorkspaceProfilerAction;\n promptText?: string;\n requestId?: string;\n responseBody?: string;\n responseHeaders?: Record<string, string>;\n responseStatus?: number;\n role?: string;\n scale?: number;\n setAction?: BrowserWorkspaceSetAction;\n state?: BrowserWorkspaceWaitState;\n stateAction?: BrowserWorkspaceStateAction;\n status?: string;\n storageAction?: BrowserWorkspaceStorageAction;\n storageArea?: BrowserWorkspaceStorageArea;\n tabAction?: BrowserWorkspaceTabAction;\n timeoutMs?: number;\n traceAction?: BrowserWorkspaceTraceAction;\n windowAction?: BrowserWorkspaceWindowAction;\n width?: number;\n x?: number;\n y?: number;\n username?: string;\n password?: string;\n ms?: number;\n milliseconds?: number;\n steps?: BrowserWorkspaceCommand[];\n /** Cursor animation duration (ms) for realistic-* and cursor-* subactions. */\n cursorDurationMs?: number;\n /** Per-character delay for realistic-type / realistic-fill (ms). */\n perCharDelayMs?: number;\n /** Replace existing input value when filling (vs append). */\n replace?: boolean;\n}\n\nexport interface BrowserWorkspaceCommandResult {\n mode: BrowserWorkspaceMode;\n subaction: BrowserWorkspaceSubaction;\n tab?: BrowserWorkspaceTab;\n tabs?: BrowserWorkspaceTab[];\n closed?: boolean;\n value?: unknown;\n elements?: BrowserWorkspaceDomElementSummary[];\n snapshot?: { data: string };\n steps?: BrowserWorkspaceCommandResult[];\n}\n\nexport interface BrowserWorkspaceConsoleEntry {\n level: \"error\" | \"info\" | \"log\" | \"warn\";\n message: string;\n timestamp: string;\n}\n\nexport interface BrowserWorkspaceErrorEntry {\n message: string;\n stack: string | null;\n timestamp: string;\n}\n\nexport interface BrowserWorkspaceDialogState {\n defaultValue: string | null;\n message: string;\n open: boolean;\n type: \"alert\" | \"beforeunload\" | \"confirm\" | \"prompt\";\n}\n\nexport interface BrowserWorkspaceMouseState {\n buttons: BrowserWorkspaceMouseButton[];\n x: number;\n y: number;\n}\n\nexport interface BrowserWorkspaceSettingsState {\n credentials: { password: string; username: string } | null;\n device: string | null;\n geo: { latitude: number; longitude: number } | null;\n headers: Record<string, string>;\n media: \"dark\" | \"light\" | null;\n offline: boolean;\n viewport: { height: number; scale: number; width: number } | null;\n}\n\nexport interface BrowserWorkspaceNetworkRoute {\n abort: boolean;\n body: string | null;\n headers: Record<string, string>;\n pattern: string;\n status: number | null;\n}\n\nexport interface BrowserWorkspaceNetworkRequestRecord {\n id: string;\n matchedRoute: string | null;\n method: string;\n resourceType: string;\n responseBody: string | null;\n responseHeaders: Record<string, string>;\n status: number | null;\n timestamp: string;\n url: string;\n}\n\nexport interface BrowserWorkspaceTraceRecord {\n active: boolean;\n entries: Array<Record<string, unknown>>;\n}\n\nexport interface BrowserWorkspaceProfilerRecord {\n active: boolean;\n entries: Array<Record<string, unknown>>;\n}\n\nexport interface BrowserWorkspaceHarRecord {\n active: boolean;\n entries: BrowserWorkspaceNetworkRequestRecord[];\n startedAt: string | null;\n}\n\nexport interface BrowserWorkspaceSnapshotRecord {\n bodyText: string;\n title: string;\n url: string;\n}\n\nexport interface BrowserWorkspaceRuntimeState {\n consoleEntries: BrowserWorkspaceConsoleEntry[];\n currentFrame: string | null;\n dialog: BrowserWorkspaceDialogState | null;\n errors: BrowserWorkspaceErrorEntry[];\n frameDoms: Map<string, JSDOM>;\n highlightedSelector: string | null;\n lastScreenshotData: string | null;\n lastSnapshot: BrowserWorkspaceSnapshotRecord | null;\n mouse: BrowserWorkspaceMouseState;\n networkHar: BrowserWorkspaceHarRecord;\n networkNextRequestId: number;\n networkRequests: BrowserWorkspaceNetworkRequestRecord[];\n networkRoutes: BrowserWorkspaceNetworkRoute[];\n settings: BrowserWorkspaceSettingsState;\n trace: BrowserWorkspaceTraceRecord;\n profiler: BrowserWorkspaceProfilerRecord;\n}\n\nexport interface WebBrowserWorkspaceTabState extends BrowserWorkspaceTab {\n dom: JSDOM | null;\n history: string[];\n historyIndex: number;\n loadedUrl: string | null;\n}\n"],"mappings":"AAMO,MAAM,0CAA0C;AAAA,EACrD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;","names":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { BrowserWorkspaceCommand, BrowserWorkspaceCommandResult, WebBrowserWorkspaceTabState } from "./browser-workspace-types.js";
|
|
2
|
+
export declare function getWebBrowserWorkspaceTabIndex(tabId: string): number;
|
|
3
|
+
export declare function getWebBrowserWorkspaceTabState(tabId: string): WebBrowserWorkspaceTabState;
|
|
4
|
+
export declare function getCurrentWebBrowserWorkspaceTabState(): WebBrowserWorkspaceTabState | null;
|
|
5
|
+
export declare function findWebBrowserWorkspaceTargetTabId(command: BrowserWorkspaceCommand): string;
|
|
6
|
+
export declare function executeWebBrowserWorkspaceUtilityCommand(command: BrowserWorkspaceCommand): Promise<BrowserWorkspaceCommandResult | null>;
|
|
7
|
+
export declare function executeWebBrowserWorkspaceDomCommand(command: BrowserWorkspaceCommand): Promise<BrowserWorkspaceCommandResult>;
|
|
8
|
+
//# sourceMappingURL=browser-workspace-web.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-workspace-web.d.ts","sourceRoot":"","sources":["../../src/workspace/browser-workspace-web.ts"],"names":[],"mappings":"AAqEA,OAAO,KAAK,EACV,uBAAuB,EACvB,6BAA6B,EAE7B,2BAA2B,EAC5B,MAAM,8BAA8B,CAAC;AAEtC,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,MAAM,GACZ,2BAA2B,CAM7B;AAED,wBAAgB,qCAAqC,IAAI,2BAA2B,GAAG,IAAI,CAgB1F;AAED,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,uBAAuB,GAC/B,MAAM,CASR;AAED,wBAAsB,wCAAwC,CAC5D,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,6BAA6B,GAAG,IAAI,CAAC,CA2vB/C;AAED,wBAAsB,oCAAoC,CACxD,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,6BAA6B,CAAC,CAqlBxC"}
|