@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,98 @@
|
|
|
1
|
+
function browserBridgeCompanionAuthFailure(code) {
|
|
2
|
+
switch (code) {
|
|
3
|
+
case "browser_bridge_companion_token_expired":
|
|
4
|
+
return {
|
|
5
|
+
ok: false,
|
|
6
|
+
code,
|
|
7
|
+
message: "browser companion pairing token is expired"
|
|
8
|
+
};
|
|
9
|
+
case "browser_bridge_companion_token_revoked":
|
|
10
|
+
return {
|
|
11
|
+
ok: false,
|
|
12
|
+
code,
|
|
13
|
+
message: "browser companion pairing token is revoked"
|
|
14
|
+
};
|
|
15
|
+
case "browser_bridge_companion_pairing_invalid":
|
|
16
|
+
return {
|
|
17
|
+
ok: false,
|
|
18
|
+
code,
|
|
19
|
+
message: "browser companion pairing is invalid"
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function isoTimestampExpired(value, nowMs) {
|
|
24
|
+
if (!value) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
const parsed = Date.parse(value);
|
|
28
|
+
return Number.isFinite(parsed) && parsed <= nowMs;
|
|
29
|
+
}
|
|
30
|
+
function pendingTokens(credential) {
|
|
31
|
+
if (Array.isArray(credential.pendingPairingTokens)) {
|
|
32
|
+
return credential.pendingPairingTokens.map((token) => ({
|
|
33
|
+
hash: token.hash,
|
|
34
|
+
expiresAt: token.expiresAt ?? null
|
|
35
|
+
}));
|
|
36
|
+
}
|
|
37
|
+
return (credential.pendingPairingTokenHashes ?? []).map((hash) => ({
|
|
38
|
+
hash,
|
|
39
|
+
expiresAt: null
|
|
40
|
+
}));
|
|
41
|
+
}
|
|
42
|
+
function authenticateBrowserBridgeCompanionCredential(args) {
|
|
43
|
+
const { credential, pairingTokenHash, nowMs } = args;
|
|
44
|
+
if (!credential) {
|
|
45
|
+
return browserBridgeCompanionAuthFailure(
|
|
46
|
+
"browser_bridge_companion_pairing_invalid"
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
if (credential.pairingTokenHash === pairingTokenHash) {
|
|
50
|
+
if (credential.companion.pairingTokenRevokedAt) {
|
|
51
|
+
return browserBridgeCompanionAuthFailure(
|
|
52
|
+
"browser_bridge_companion_token_revoked"
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
if (isoTimestampExpired(credential.companion.pairingTokenExpiresAt, nowMs)) {
|
|
56
|
+
return browserBridgeCompanionAuthFailure(
|
|
57
|
+
"browser_bridge_companion_token_expired"
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
return {
|
|
61
|
+
ok: true,
|
|
62
|
+
source: "active",
|
|
63
|
+
expiresAt: credential.companion.pairingTokenExpiresAt ?? null,
|
|
64
|
+
remainingPendingPairingTokens: pendingTokens(credential)
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
if (credential.companion.pairingTokenRevokedAt) {
|
|
68
|
+
return browserBridgeCompanionAuthFailure(
|
|
69
|
+
"browser_bridge_companion_token_revoked"
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
const tokens = pendingTokens(credential);
|
|
73
|
+
const pendingToken = tokens.find((token) => token.hash === pairingTokenHash);
|
|
74
|
+
if (!pendingToken) {
|
|
75
|
+
return browserBridgeCompanionAuthFailure(
|
|
76
|
+
"browser_bridge_companion_pairing_invalid"
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
if (isoTimestampExpired(pendingToken.expiresAt, nowMs)) {
|
|
80
|
+
return browserBridgeCompanionAuthFailure(
|
|
81
|
+
"browser_bridge_companion_token_expired"
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
return {
|
|
85
|
+
ok: true,
|
|
86
|
+
source: "pending",
|
|
87
|
+
expiresAt: pendingToken.expiresAt ?? null,
|
|
88
|
+
remainingPendingPairingTokens: tokens.filter(
|
|
89
|
+
(token) => token.hash !== pairingTokenHash
|
|
90
|
+
)
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
export {
|
|
94
|
+
authenticateBrowserBridgeCompanionCredential,
|
|
95
|
+
browserBridgeCompanionAuthFailure,
|
|
96
|
+
isoTimestampExpired
|
|
97
|
+
};
|
|
98
|
+
//# sourceMappingURL=companion-auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/companion-auth.ts"],"sourcesContent":["export type BrowserBridgeCompanionCredentialLike = {\n companion: {\n pairingTokenExpiresAt?: string | null;\n pairingTokenRevokedAt?: string | null;\n };\n pairingTokenHash: string | null;\n pendingPairingTokens?: BrowserBridgeCompanionPendingToken[] | null;\n pendingPairingTokenHashes?: string[] | null;\n} | null;\n\nexport type BrowserBridgeCompanionPendingToken = {\n hash: string;\n expiresAt: string | null;\n};\n\nexport type BrowserBridgeCompanionAuthCode =\n | \"browser_bridge_companion_pairing_invalid\"\n | \"browser_bridge_companion_token_expired\"\n | \"browser_bridge_companion_token_revoked\";\n\nexport type BrowserBridgeCompanionAuthFailure = {\n ok: false;\n code: BrowserBridgeCompanionAuthCode;\n message: string;\n};\n\nexport type BrowserBridgeCompanionAuthSuccess = {\n ok: true;\n source: \"active\" | \"pending\";\n expiresAt: string | null;\n remainingPendingPairingTokens: BrowserBridgeCompanionPendingToken[];\n};\n\nexport type BrowserBridgeCompanionAuthResult =\n | BrowserBridgeCompanionAuthSuccess\n | BrowserBridgeCompanionAuthFailure;\n\nexport function browserBridgeCompanionAuthFailure(\n code: BrowserBridgeCompanionAuthCode,\n): BrowserBridgeCompanionAuthFailure {\n switch (code) {\n case \"browser_bridge_companion_token_expired\":\n return {\n ok: false,\n code,\n message: \"browser companion pairing token is expired\",\n };\n case \"browser_bridge_companion_token_revoked\":\n return {\n ok: false,\n code,\n message: \"browser companion pairing token is revoked\",\n };\n case \"browser_bridge_companion_pairing_invalid\":\n return {\n ok: false,\n code,\n message: \"browser companion pairing is invalid\",\n };\n }\n}\n\nexport function isoTimestampExpired(\n value: string | null | undefined,\n nowMs: number,\n): boolean {\n if (!value) {\n return false;\n }\n const parsed = Date.parse(value);\n return Number.isFinite(parsed) && parsed <= nowMs;\n}\n\nfunction pendingTokens(\n credential: Exclude<BrowserBridgeCompanionCredentialLike, null>,\n): BrowserBridgeCompanionPendingToken[] {\n if (Array.isArray(credential.pendingPairingTokens)) {\n return credential.pendingPairingTokens.map((token) => ({\n hash: token.hash,\n expiresAt: token.expiresAt ?? null,\n }));\n }\n return (credential.pendingPairingTokenHashes ?? []).map((hash) => ({\n hash,\n expiresAt: null,\n }));\n}\n\nexport function authenticateBrowserBridgeCompanionCredential(args: {\n credential: BrowserBridgeCompanionCredentialLike;\n pairingTokenHash: string;\n nowMs: number;\n}): BrowserBridgeCompanionAuthResult {\n const { credential, pairingTokenHash, nowMs } = args;\n if (!credential) {\n return browserBridgeCompanionAuthFailure(\n \"browser_bridge_companion_pairing_invalid\",\n );\n }\n\n if (credential.pairingTokenHash === pairingTokenHash) {\n if (credential.companion.pairingTokenRevokedAt) {\n return browserBridgeCompanionAuthFailure(\n \"browser_bridge_companion_token_revoked\",\n );\n }\n if (\n isoTimestampExpired(credential.companion.pairingTokenExpiresAt, nowMs)\n ) {\n return browserBridgeCompanionAuthFailure(\n \"browser_bridge_companion_token_expired\",\n );\n }\n return {\n ok: true,\n source: \"active\",\n expiresAt: credential.companion.pairingTokenExpiresAt ?? null,\n remainingPendingPairingTokens: pendingTokens(credential),\n };\n }\n\n if (credential.companion.pairingTokenRevokedAt) {\n return browserBridgeCompanionAuthFailure(\n \"browser_bridge_companion_token_revoked\",\n );\n }\n\n const tokens = pendingTokens(credential);\n const pendingToken = tokens.find((token) => token.hash === pairingTokenHash);\n if (!pendingToken) {\n return browserBridgeCompanionAuthFailure(\n \"browser_bridge_companion_pairing_invalid\",\n );\n }\n if (isoTimestampExpired(pendingToken.expiresAt, nowMs)) {\n return browserBridgeCompanionAuthFailure(\n \"browser_bridge_companion_token_expired\",\n );\n }\n return {\n ok: true,\n source: \"pending\",\n expiresAt: pendingToken.expiresAt ?? null,\n remainingPendingPairingTokens: tokens.filter(\n (token) => token.hash !== pairingTokenHash,\n ),\n };\n}\n"],"mappings":"AAqCO,SAAS,kCACd,MACmC;AACnC,UAAQ,MAAM;AAAA,IACZ,KAAK;AACH,aAAO;AAAA,QACL,IAAI;AAAA,QACJ;AAAA,QACA,SAAS;AAAA,MACX;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,IAAI;AAAA,QACJ;AAAA,QACA,SAAS;AAAA,MACX;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,IAAI;AAAA,QACJ;AAAA,QACA,SAAS;AAAA,MACX;AAAA,EACJ;AACF;AAEO,SAAS,oBACd,OACA,OACS;AACT,MAAI,CAAC,OAAO;AACV,WAAO;AAAA,EACT;AACA,QAAM,SAAS,KAAK,MAAM,KAAK;AAC/B,SAAO,OAAO,SAAS,MAAM,KAAK,UAAU;AAC9C;AAEA,SAAS,cACP,YACsC;AACtC,MAAI,MAAM,QAAQ,WAAW,oBAAoB,GAAG;AAClD,WAAO,WAAW,qBAAqB,IAAI,CAAC,WAAW;AAAA,MACrD,MAAM,MAAM;AAAA,MACZ,WAAW,MAAM,aAAa;AAAA,IAChC,EAAE;AAAA,EACJ;AACA,UAAQ,WAAW,6BAA6B,CAAC,GAAG,IAAI,CAAC,UAAU;AAAA,IACjE;AAAA,IACA,WAAW;AAAA,EACb,EAAE;AACJ;AAEO,SAAS,6CAA6C,MAIxB;AACnC,QAAM,EAAE,YAAY,kBAAkB,MAAM,IAAI;AAChD,MAAI,CAAC,YAAY;AACf,WAAO;AAAA,MACL;AAAA,IACF;AAAA,EACF;AAEA,MAAI,WAAW,qBAAqB,kBAAkB;AACpD,QAAI,WAAW,UAAU,uBAAuB;AAC9C,aAAO;AAAA,QACL;AAAA,MACF;AAAA,IACF;AACA,QACE,oBAAoB,WAAW,UAAU,uBAAuB,KAAK,GACrE;AACA,aAAO;AAAA,QACL;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,QAAQ;AAAA,MACR,WAAW,WAAW,UAAU,yBAAyB;AAAA,MACzD,+BAA+B,cAAc,UAAU;AAAA,IACzD;AAAA,EACF;AAEA,MAAI,WAAW,UAAU,uBAAuB;AAC9C,WAAO;AAAA,MACL;AAAA,IACF;AAAA,EACF;AAEA,QAAM,SAAS,cAAc,UAAU;AACvC,QAAM,eAAe,OAAO,KAAK,CAAC,UAAU,MAAM,SAAS,gBAAgB;AAC3E,MAAI,CAAC,cAAc;AACjB,WAAO;AAAA,MACL;AAAA,IACF;AAAA,EACF;AACA,MAAI,oBAAoB,aAAa,WAAW,KAAK,GAAG;AACtD,WAAO;AAAA,MACL;AAAA,IACF;AAAA,EACF;AACA,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,QAAQ;AAAA,IACR,WAAW,aAAa,aAAa;AAAA,IACrC,+BAA+B,OAAO;AAAA,MACpC,CAAC,UAAU,MAAM,SAAS;AAAA,IAC5B;AAAA,EACF;AACF;","names":[]}
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Browser Bridge contracts.
|
|
3
|
+
*
|
|
4
|
+
* Transport/domain types for the generic browser companion + packaging
|
|
5
|
+
* surface. LifeOps workflow-bound browser session contracts live in this
|
|
6
|
+
* plugin so runtime plugins do not depend on app/shared packages.
|
|
7
|
+
*/
|
|
8
|
+
import type { LifeOpsBrowserSession } from "./lifeops-session-contracts.js";
|
|
9
|
+
export declare const BROWSER_BRIDGE_KINDS: readonly ["chrome", "safari"];
|
|
10
|
+
export type BrowserBridgeKind = (typeof BROWSER_BRIDGE_KINDS)[number];
|
|
11
|
+
export declare const BROWSER_BRIDGE_TRACKING_MODES: readonly ["off", "current_tab", "active_tabs"];
|
|
12
|
+
export type BrowserBridgeTrackingMode = (typeof BROWSER_BRIDGE_TRACKING_MODES)[number];
|
|
13
|
+
export declare const BROWSER_BRIDGE_SITE_ACCESS_MODES: readonly ["current_site_only", "granted_sites", "all_sites"];
|
|
14
|
+
export type BrowserBridgeSiteAccessMode = (typeof BROWSER_BRIDGE_SITE_ACCESS_MODES)[number];
|
|
15
|
+
export declare const BROWSER_BRIDGE_COMPANION_CONNECTION_STATES: readonly ["disconnected", "connected", "paused", "permission_blocked"];
|
|
16
|
+
export type BrowserBridgeCompanionConnectionState = (typeof BROWSER_BRIDGE_COMPANION_CONNECTION_STATES)[number];
|
|
17
|
+
export declare const BROWSER_BRIDGE_COMPANION_AUTH_ERROR_CODES: readonly ["browser_bridge_companion_auth_missing_id", "browser_bridge_companion_auth_missing_token", "browser_bridge_companion_pairing_invalid", "browser_bridge_companion_token_expired", "browser_bridge_companion_token_revoked"];
|
|
18
|
+
export type BrowserBridgeCompanionAuthErrorCode = (typeof BROWSER_BRIDGE_COMPANION_AUTH_ERROR_CODES)[number];
|
|
19
|
+
export declare const BROWSER_BRIDGE_ACTION_KINDS: readonly ["open", "navigate", "focus_tab", "back", "forward", "reload", "click", "type", "submit", "read_page", "extract_links", "extract_forms"];
|
|
20
|
+
export type BrowserBridgeActionKind = (typeof BROWSER_BRIDGE_ACTION_KINDS)[number];
|
|
21
|
+
export interface BrowserBridgeAction {
|
|
22
|
+
id: string;
|
|
23
|
+
kind: BrowserBridgeActionKind;
|
|
24
|
+
label: string;
|
|
25
|
+
browser?: BrowserBridgeKind | null;
|
|
26
|
+
windowId?: string | null;
|
|
27
|
+
tabId?: string | null;
|
|
28
|
+
url: string | null;
|
|
29
|
+
selector: string | null;
|
|
30
|
+
text: string | null;
|
|
31
|
+
accountAffecting: boolean;
|
|
32
|
+
requiresConfirmation: boolean;
|
|
33
|
+
metadata: Record<string, unknown>;
|
|
34
|
+
}
|
|
35
|
+
export interface BrowserBridgePermissionState {
|
|
36
|
+
tabs: boolean;
|
|
37
|
+
scripting: boolean;
|
|
38
|
+
activeTab: boolean;
|
|
39
|
+
allOrigins: boolean;
|
|
40
|
+
grantedOrigins: string[];
|
|
41
|
+
incognitoEnabled: boolean;
|
|
42
|
+
}
|
|
43
|
+
export interface BrowserBridgeSettings {
|
|
44
|
+
enabled: boolean;
|
|
45
|
+
trackingMode: BrowserBridgeTrackingMode;
|
|
46
|
+
allowBrowserControl: boolean;
|
|
47
|
+
requireConfirmationForAccountAffecting: boolean;
|
|
48
|
+
incognitoEnabled: boolean;
|
|
49
|
+
siteAccessMode: BrowserBridgeSiteAccessMode;
|
|
50
|
+
grantedOrigins: string[];
|
|
51
|
+
blockedOrigins: string[];
|
|
52
|
+
maxRememberedTabs: number;
|
|
53
|
+
pauseUntil: string | null;
|
|
54
|
+
metadata: Record<string, unknown>;
|
|
55
|
+
updatedAt: string | null;
|
|
56
|
+
}
|
|
57
|
+
export interface UpdateBrowserBridgeSettingsRequest {
|
|
58
|
+
enabled?: boolean;
|
|
59
|
+
trackingMode?: BrowserBridgeTrackingMode;
|
|
60
|
+
allowBrowserControl?: boolean;
|
|
61
|
+
requireConfirmationForAccountAffecting?: boolean;
|
|
62
|
+
incognitoEnabled?: boolean;
|
|
63
|
+
siteAccessMode?: BrowserBridgeSiteAccessMode;
|
|
64
|
+
grantedOrigins?: string[];
|
|
65
|
+
blockedOrigins?: string[];
|
|
66
|
+
maxRememberedTabs?: number;
|
|
67
|
+
pauseUntil?: string | null;
|
|
68
|
+
metadata?: Record<string, unknown>;
|
|
69
|
+
}
|
|
70
|
+
export interface BrowserBridgeCompanionStatus {
|
|
71
|
+
id: string;
|
|
72
|
+
agentId: string;
|
|
73
|
+
browser: BrowserBridgeKind;
|
|
74
|
+
profileId: string;
|
|
75
|
+
profileLabel: string;
|
|
76
|
+
label: string;
|
|
77
|
+
extensionVersion: string | null;
|
|
78
|
+
connectionState: BrowserBridgeCompanionConnectionState;
|
|
79
|
+
permissions: BrowserBridgePermissionState;
|
|
80
|
+
lastSeenAt: string | null;
|
|
81
|
+
pairedAt: string | null;
|
|
82
|
+
pairingTokenExpiresAt?: string | null;
|
|
83
|
+
pairingTokenRevokedAt?: string | null;
|
|
84
|
+
metadata: Record<string, unknown>;
|
|
85
|
+
createdAt: string;
|
|
86
|
+
updatedAt: string;
|
|
87
|
+
}
|
|
88
|
+
export interface BrowserBridgeTabSummary {
|
|
89
|
+
id: string;
|
|
90
|
+
agentId: string;
|
|
91
|
+
companionId: string | null;
|
|
92
|
+
browser: BrowserBridgeKind;
|
|
93
|
+
profileId: string;
|
|
94
|
+
windowId: string;
|
|
95
|
+
tabId: string;
|
|
96
|
+
url: string;
|
|
97
|
+
title: string;
|
|
98
|
+
activeInWindow: boolean;
|
|
99
|
+
focusedWindow: boolean;
|
|
100
|
+
focusedActive: boolean;
|
|
101
|
+
incognito: boolean;
|
|
102
|
+
faviconUrl: string | null;
|
|
103
|
+
lastSeenAt: string;
|
|
104
|
+
lastFocusedAt: string | null;
|
|
105
|
+
metadata: Record<string, unknown>;
|
|
106
|
+
createdAt: string;
|
|
107
|
+
updatedAt: string;
|
|
108
|
+
}
|
|
109
|
+
export interface BrowserBridgePageContext {
|
|
110
|
+
id: string;
|
|
111
|
+
agentId: string;
|
|
112
|
+
browser: BrowserBridgeKind;
|
|
113
|
+
profileId: string;
|
|
114
|
+
windowId: string;
|
|
115
|
+
tabId: string;
|
|
116
|
+
url: string;
|
|
117
|
+
title: string;
|
|
118
|
+
selectionText: string | null;
|
|
119
|
+
mainText: string | null;
|
|
120
|
+
headings: string[];
|
|
121
|
+
links: Array<{
|
|
122
|
+
text: string;
|
|
123
|
+
href: string;
|
|
124
|
+
}>;
|
|
125
|
+
forms: Array<{
|
|
126
|
+
action: string | null;
|
|
127
|
+
fields: string[];
|
|
128
|
+
}>;
|
|
129
|
+
capturedAt: string;
|
|
130
|
+
metadata: Record<string, unknown>;
|
|
131
|
+
}
|
|
132
|
+
export interface UpsertBrowserBridgeCompanionRequest {
|
|
133
|
+
browser: BrowserBridgeKind;
|
|
134
|
+
profileId: string;
|
|
135
|
+
profileLabel?: string | null;
|
|
136
|
+
label: string;
|
|
137
|
+
extensionVersion?: string | null;
|
|
138
|
+
connectionState?: BrowserBridgeCompanionConnectionState;
|
|
139
|
+
permissions?: Partial<BrowserBridgePermissionState>;
|
|
140
|
+
lastSeenAt?: string | null;
|
|
141
|
+
metadata?: Record<string, unknown>;
|
|
142
|
+
}
|
|
143
|
+
export interface SyncBrowserBridgeStateRequest {
|
|
144
|
+
companion: UpsertBrowserBridgeCompanionRequest;
|
|
145
|
+
tabs: Array<{
|
|
146
|
+
browser: BrowserBridgeKind;
|
|
147
|
+
profileId: string;
|
|
148
|
+
windowId: string;
|
|
149
|
+
tabId: string;
|
|
150
|
+
url: string;
|
|
151
|
+
title: string;
|
|
152
|
+
activeInWindow: boolean;
|
|
153
|
+
focusedWindow: boolean;
|
|
154
|
+
focusedActive: boolean;
|
|
155
|
+
incognito?: boolean;
|
|
156
|
+
faviconUrl?: string | null;
|
|
157
|
+
lastSeenAt?: string;
|
|
158
|
+
lastFocusedAt?: string | null;
|
|
159
|
+
metadata?: Record<string, unknown>;
|
|
160
|
+
}>;
|
|
161
|
+
pageContexts?: Array<{
|
|
162
|
+
browser: BrowserBridgeKind;
|
|
163
|
+
profileId: string;
|
|
164
|
+
windowId: string;
|
|
165
|
+
tabId: string;
|
|
166
|
+
url: string;
|
|
167
|
+
title: string;
|
|
168
|
+
selectionText?: string | null;
|
|
169
|
+
mainText?: string | null;
|
|
170
|
+
headings?: string[];
|
|
171
|
+
links?: Array<{
|
|
172
|
+
text: string;
|
|
173
|
+
href: string;
|
|
174
|
+
}>;
|
|
175
|
+
forms?: Array<{
|
|
176
|
+
action: string | null;
|
|
177
|
+
fields: string[];
|
|
178
|
+
}>;
|
|
179
|
+
capturedAt?: string;
|
|
180
|
+
metadata?: Record<string, unknown>;
|
|
181
|
+
}>;
|
|
182
|
+
}
|
|
183
|
+
export interface CreateBrowserBridgeCompanionPairingRequest {
|
|
184
|
+
browser: BrowserBridgeKind;
|
|
185
|
+
profileId: string;
|
|
186
|
+
profileLabel?: string | null;
|
|
187
|
+
label?: string | null;
|
|
188
|
+
extensionVersion?: string | null;
|
|
189
|
+
metadata?: Record<string, unknown>;
|
|
190
|
+
}
|
|
191
|
+
export interface BrowserBridgeCompanionPairingResponse {
|
|
192
|
+
companion: BrowserBridgeCompanionStatus;
|
|
193
|
+
pairingToken: string;
|
|
194
|
+
pairingTokenExpiresAt: string | null;
|
|
195
|
+
}
|
|
196
|
+
export interface BrowserBridgeCompanionConfig {
|
|
197
|
+
apiBaseUrl: string;
|
|
198
|
+
companionId: string;
|
|
199
|
+
pairingToken: string;
|
|
200
|
+
pairingTokenExpiresAt?: string | null;
|
|
201
|
+
browser: BrowserBridgeKind;
|
|
202
|
+
profileId: string;
|
|
203
|
+
profileLabel: string;
|
|
204
|
+
label: string;
|
|
205
|
+
}
|
|
206
|
+
export interface CreateBrowserBridgeCompanionAutoPairRequest {
|
|
207
|
+
browser: BrowserBridgeKind;
|
|
208
|
+
profileId?: string | null;
|
|
209
|
+
profileLabel?: string | null;
|
|
210
|
+
label?: string | null;
|
|
211
|
+
extensionVersion?: string | null;
|
|
212
|
+
metadata?: Record<string, unknown>;
|
|
213
|
+
}
|
|
214
|
+
export interface BrowserBridgeCompanionAutoPairResponse {
|
|
215
|
+
companion: BrowserBridgeCompanionStatus;
|
|
216
|
+
config: BrowserBridgeCompanionConfig;
|
|
217
|
+
}
|
|
218
|
+
export interface RevokeBrowserBridgeCompanionRequest {
|
|
219
|
+
reason?: string | null;
|
|
220
|
+
}
|
|
221
|
+
export interface BrowserBridgeCompanionRevokeResponse {
|
|
222
|
+
companion: BrowserBridgeCompanionStatus;
|
|
223
|
+
revokedAt: string;
|
|
224
|
+
}
|
|
225
|
+
export interface BrowserBridgeCompanionSyncResponse {
|
|
226
|
+
companion: BrowserBridgeCompanionStatus;
|
|
227
|
+
tabs: BrowserBridgeTabSummary[];
|
|
228
|
+
currentPage: BrowserBridgePageContext | null;
|
|
229
|
+
settings: BrowserBridgeSettings;
|
|
230
|
+
session: LifeOpsBrowserSession | null;
|
|
231
|
+
}
|
|
232
|
+
export interface UpdateBrowserBridgeSessionProgressRequest {
|
|
233
|
+
currentActionIndex?: number;
|
|
234
|
+
result?: Record<string, unknown>;
|
|
235
|
+
metadata?: Record<string, unknown>;
|
|
236
|
+
}
|
|
237
|
+
export declare const BROWSER_BRIDGE_PACKAGE_PATH_TARGETS: readonly ["extension_root", "chrome_build", "chrome_package", "safari_web_extension", "safari_app", "safari_package"];
|
|
238
|
+
export type BrowserBridgePackagePathTarget = (typeof BROWSER_BRIDGE_PACKAGE_PATH_TARGETS)[number];
|
|
239
|
+
export interface BrowserBridgeCompanionPackageStatus {
|
|
240
|
+
extensionPath: string | null;
|
|
241
|
+
chromeBuildPath: string | null;
|
|
242
|
+
chromePackagePath: string | null;
|
|
243
|
+
safariWebExtensionPath: string | null;
|
|
244
|
+
safariAppPath: string | null;
|
|
245
|
+
safariPackagePath: string | null;
|
|
246
|
+
releaseManifest: BrowserBridgeCompanionReleaseManifest | null;
|
|
247
|
+
}
|
|
248
|
+
export interface BrowserBridgeCompanionReleaseAsset {
|
|
249
|
+
fileName: string;
|
|
250
|
+
downloadUrl: string | null;
|
|
251
|
+
}
|
|
252
|
+
export interface BrowserBridgeCompanionReleaseTarget {
|
|
253
|
+
installKind: "chrome_web_store" | "apple_app_store" | "github_release" | "local_download";
|
|
254
|
+
installUrl: string | null;
|
|
255
|
+
storeListingUrl: string | null;
|
|
256
|
+
asset: BrowserBridgeCompanionReleaseAsset;
|
|
257
|
+
}
|
|
258
|
+
export interface BrowserBridgeCompanionReleaseManifest {
|
|
259
|
+
schema: "browser_bridge_release_v2";
|
|
260
|
+
releaseTag: string;
|
|
261
|
+
releaseVersion: string;
|
|
262
|
+
repository: string | null;
|
|
263
|
+
releasePageUrl: string | null;
|
|
264
|
+
chromeVersion: string;
|
|
265
|
+
chromeVersionName: string;
|
|
266
|
+
safariMarketingVersion: string;
|
|
267
|
+
safariBuildVersion: string;
|
|
268
|
+
chrome: BrowserBridgeCompanionReleaseTarget;
|
|
269
|
+
safari: BrowserBridgeCompanionReleaseTarget;
|
|
270
|
+
generatedAt: string;
|
|
271
|
+
}
|
|
272
|
+
export interface OpenBrowserBridgeCompanionPackagePathRequest {
|
|
273
|
+
target: BrowserBridgePackagePathTarget;
|
|
274
|
+
revealOnly?: boolean;
|
|
275
|
+
}
|
|
276
|
+
export interface OpenBrowserBridgeCompanionPackagePathResponse {
|
|
277
|
+
target: BrowserBridgePackagePathTarget;
|
|
278
|
+
path: string;
|
|
279
|
+
revealOnly: boolean;
|
|
280
|
+
}
|
|
281
|
+
export interface OpenBrowserBridgeCompanionManagerResponse {
|
|
282
|
+
browser: BrowserBridgeKind;
|
|
283
|
+
}
|
|
284
|
+
//# sourceMappingURL=contracts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
const BROWSER_BRIDGE_KINDS = ["chrome", "safari"];
|
|
2
|
+
const BROWSER_BRIDGE_TRACKING_MODES = [
|
|
3
|
+
"off",
|
|
4
|
+
"current_tab",
|
|
5
|
+
"active_tabs"
|
|
6
|
+
];
|
|
7
|
+
const BROWSER_BRIDGE_SITE_ACCESS_MODES = [
|
|
8
|
+
"current_site_only",
|
|
9
|
+
"granted_sites",
|
|
10
|
+
"all_sites"
|
|
11
|
+
];
|
|
12
|
+
const BROWSER_BRIDGE_COMPANION_CONNECTION_STATES = [
|
|
13
|
+
"disconnected",
|
|
14
|
+
"connected",
|
|
15
|
+
"paused",
|
|
16
|
+
"permission_blocked"
|
|
17
|
+
];
|
|
18
|
+
const BROWSER_BRIDGE_COMPANION_AUTH_ERROR_CODES = [
|
|
19
|
+
"browser_bridge_companion_auth_missing_id",
|
|
20
|
+
"browser_bridge_companion_auth_missing_token",
|
|
21
|
+
"browser_bridge_companion_pairing_invalid",
|
|
22
|
+
"browser_bridge_companion_token_expired",
|
|
23
|
+
"browser_bridge_companion_token_revoked"
|
|
24
|
+
];
|
|
25
|
+
const BROWSER_BRIDGE_ACTION_KINDS = [
|
|
26
|
+
"open",
|
|
27
|
+
"navigate",
|
|
28
|
+
"focus_tab",
|
|
29
|
+
"back",
|
|
30
|
+
"forward",
|
|
31
|
+
"reload",
|
|
32
|
+
"click",
|
|
33
|
+
"type",
|
|
34
|
+
"submit",
|
|
35
|
+
"read_page",
|
|
36
|
+
"extract_links",
|
|
37
|
+
"extract_forms"
|
|
38
|
+
];
|
|
39
|
+
const BROWSER_BRIDGE_PACKAGE_PATH_TARGETS = [
|
|
40
|
+
"extension_root",
|
|
41
|
+
"chrome_build",
|
|
42
|
+
"chrome_package",
|
|
43
|
+
"safari_web_extension",
|
|
44
|
+
"safari_app",
|
|
45
|
+
"safari_package"
|
|
46
|
+
];
|
|
47
|
+
export {
|
|
48
|
+
BROWSER_BRIDGE_ACTION_KINDS,
|
|
49
|
+
BROWSER_BRIDGE_COMPANION_AUTH_ERROR_CODES,
|
|
50
|
+
BROWSER_BRIDGE_COMPANION_CONNECTION_STATES,
|
|
51
|
+
BROWSER_BRIDGE_KINDS,
|
|
52
|
+
BROWSER_BRIDGE_PACKAGE_PATH_TARGETS,
|
|
53
|
+
BROWSER_BRIDGE_SITE_ACCESS_MODES,
|
|
54
|
+
BROWSER_BRIDGE_TRACKING_MODES
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=contracts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/contracts.ts"],"sourcesContent":["/**\n * Agent Browser Bridge contracts.\n *\n * Transport/domain types for the generic browser companion + packaging\n * surface. LifeOps workflow-bound browser session contracts live in this\n * plugin so runtime plugins do not depend on app/shared packages.\n */\n\nimport type { LifeOpsBrowserSession } from \"./lifeops-session-contracts.js\";\n\nexport const BROWSER_BRIDGE_KINDS = [\"chrome\", \"safari\"] as const;\nexport type BrowserBridgeKind = (typeof BROWSER_BRIDGE_KINDS)[number];\n\nexport const BROWSER_BRIDGE_TRACKING_MODES = [\n \"off\",\n \"current_tab\",\n \"active_tabs\",\n] as const;\nexport type BrowserBridgeTrackingMode =\n (typeof BROWSER_BRIDGE_TRACKING_MODES)[number];\n\nexport const BROWSER_BRIDGE_SITE_ACCESS_MODES = [\n \"current_site_only\",\n \"granted_sites\",\n \"all_sites\",\n] as const;\nexport type BrowserBridgeSiteAccessMode =\n (typeof BROWSER_BRIDGE_SITE_ACCESS_MODES)[number];\n\nexport const BROWSER_BRIDGE_COMPANION_CONNECTION_STATES = [\n \"disconnected\",\n \"connected\",\n \"paused\",\n \"permission_blocked\",\n] as const;\nexport type BrowserBridgeCompanionConnectionState =\n (typeof BROWSER_BRIDGE_COMPANION_CONNECTION_STATES)[number];\n\nexport const BROWSER_BRIDGE_COMPANION_AUTH_ERROR_CODES = [\n \"browser_bridge_companion_auth_missing_id\",\n \"browser_bridge_companion_auth_missing_token\",\n \"browser_bridge_companion_pairing_invalid\",\n \"browser_bridge_companion_token_expired\",\n \"browser_bridge_companion_token_revoked\",\n] as const;\nexport type BrowserBridgeCompanionAuthErrorCode =\n (typeof BROWSER_BRIDGE_COMPANION_AUTH_ERROR_CODES)[number];\n\nexport const BROWSER_BRIDGE_ACTION_KINDS = [\n \"open\",\n \"navigate\",\n \"focus_tab\",\n \"back\",\n \"forward\",\n \"reload\",\n \"click\",\n \"type\",\n \"submit\",\n \"read_page\",\n \"extract_links\",\n \"extract_forms\",\n] as const;\nexport type BrowserBridgeActionKind =\n (typeof BROWSER_BRIDGE_ACTION_KINDS)[number];\n\nexport interface BrowserBridgeAction {\n id: string;\n kind: BrowserBridgeActionKind;\n label: string;\n browser?: BrowserBridgeKind | null;\n windowId?: string | null;\n tabId?: string | null;\n url: string | null;\n selector: string | null;\n text: string | null;\n accountAffecting: boolean;\n requiresConfirmation: boolean;\n metadata: Record<string, unknown>;\n}\n\nexport interface BrowserBridgePermissionState {\n tabs: boolean;\n scripting: boolean;\n activeTab: boolean;\n allOrigins: boolean;\n grantedOrigins: string[];\n incognitoEnabled: boolean;\n}\n\nexport interface BrowserBridgeSettings {\n enabled: boolean;\n trackingMode: BrowserBridgeTrackingMode;\n allowBrowserControl: boolean;\n requireConfirmationForAccountAffecting: boolean;\n incognitoEnabled: boolean;\n siteAccessMode: BrowserBridgeSiteAccessMode;\n grantedOrigins: string[];\n blockedOrigins: string[];\n maxRememberedTabs: number;\n pauseUntil: string | null;\n metadata: Record<string, unknown>;\n updatedAt: string | null;\n}\n\nexport interface UpdateBrowserBridgeSettingsRequest {\n enabled?: boolean;\n trackingMode?: BrowserBridgeTrackingMode;\n allowBrowserControl?: boolean;\n requireConfirmationForAccountAffecting?: boolean;\n incognitoEnabled?: boolean;\n siteAccessMode?: BrowserBridgeSiteAccessMode;\n grantedOrigins?: string[];\n blockedOrigins?: string[];\n maxRememberedTabs?: number;\n pauseUntil?: string | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface BrowserBridgeCompanionStatus {\n id: string;\n agentId: string;\n browser: BrowserBridgeKind;\n profileId: string;\n profileLabel: string;\n label: string;\n extensionVersion: string | null;\n connectionState: BrowserBridgeCompanionConnectionState;\n permissions: BrowserBridgePermissionState;\n lastSeenAt: string | null;\n pairedAt: string | null;\n pairingTokenExpiresAt?: string | null;\n pairingTokenRevokedAt?: string | null;\n metadata: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface BrowserBridgeTabSummary {\n id: string;\n agentId: string;\n companionId: string | null;\n browser: BrowserBridgeKind;\n profileId: string;\n windowId: string;\n tabId: string;\n url: string;\n title: string;\n activeInWindow: boolean;\n focusedWindow: boolean;\n focusedActive: boolean;\n incognito: boolean;\n faviconUrl: string | null;\n lastSeenAt: string;\n lastFocusedAt: string | null;\n metadata: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface BrowserBridgePageContext {\n id: string;\n agentId: string;\n browser: BrowserBridgeKind;\n profileId: string;\n windowId: string;\n tabId: string;\n url: string;\n title: string;\n selectionText: string | null;\n mainText: string | null;\n headings: string[];\n links: Array<{ text: string; href: string }>;\n forms: Array<{ action: string | null; fields: string[] }>;\n capturedAt: string;\n metadata: Record<string, unknown>;\n}\n\nexport interface UpsertBrowserBridgeCompanionRequest {\n browser: BrowserBridgeKind;\n profileId: string;\n profileLabel?: string | null;\n label: string;\n extensionVersion?: string | null;\n connectionState?: BrowserBridgeCompanionConnectionState;\n permissions?: Partial<BrowserBridgePermissionState>;\n lastSeenAt?: string | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface SyncBrowserBridgeStateRequest {\n companion: UpsertBrowserBridgeCompanionRequest;\n tabs: Array<{\n browser: BrowserBridgeKind;\n profileId: string;\n windowId: string;\n tabId: string;\n url: string;\n title: string;\n activeInWindow: boolean;\n focusedWindow: boolean;\n focusedActive: boolean;\n incognito?: boolean;\n faviconUrl?: string | null;\n lastSeenAt?: string;\n lastFocusedAt?: string | null;\n metadata?: Record<string, unknown>;\n }>;\n pageContexts?: Array<{\n browser: BrowserBridgeKind;\n profileId: string;\n windowId: string;\n tabId: string;\n url: string;\n title: string;\n selectionText?: string | null;\n mainText?: string | null;\n headings?: string[];\n links?: Array<{ text: string; href: string }>;\n forms?: Array<{ action: string | null; fields: string[] }>;\n capturedAt?: string;\n metadata?: Record<string, unknown>;\n }>;\n}\n\nexport interface CreateBrowserBridgeCompanionPairingRequest {\n browser: BrowserBridgeKind;\n profileId: string;\n profileLabel?: string | null;\n label?: string | null;\n extensionVersion?: string | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface BrowserBridgeCompanionPairingResponse {\n companion: BrowserBridgeCompanionStatus;\n pairingToken: string;\n pairingTokenExpiresAt: string | null;\n}\n\nexport interface BrowserBridgeCompanionConfig {\n apiBaseUrl: string;\n companionId: string;\n pairingToken: string;\n pairingTokenExpiresAt?: string | null;\n browser: BrowserBridgeKind;\n profileId: string;\n profileLabel: string;\n label: string;\n}\n\nexport interface CreateBrowserBridgeCompanionAutoPairRequest {\n browser: BrowserBridgeKind;\n profileId?: string | null;\n profileLabel?: string | null;\n label?: string | null;\n extensionVersion?: string | null;\n metadata?: Record<string, unknown>;\n}\n\nexport interface BrowserBridgeCompanionAutoPairResponse {\n companion: BrowserBridgeCompanionStatus;\n config: BrowserBridgeCompanionConfig;\n}\n\nexport interface RevokeBrowserBridgeCompanionRequest {\n reason?: string | null;\n}\n\nexport interface BrowserBridgeCompanionRevokeResponse {\n companion: BrowserBridgeCompanionStatus;\n revokedAt: string;\n}\n\nexport interface BrowserBridgeCompanionSyncResponse {\n companion: BrowserBridgeCompanionStatus;\n tabs: BrowserBridgeTabSummary[];\n currentPage: BrowserBridgePageContext | null;\n settings: BrowserBridgeSettings;\n session: LifeOpsBrowserSession | null;\n}\n\nexport interface UpdateBrowserBridgeSessionProgressRequest {\n currentActionIndex?: number;\n result?: Record<string, unknown>;\n metadata?: Record<string, unknown>;\n}\n\nexport const BROWSER_BRIDGE_PACKAGE_PATH_TARGETS = [\n \"extension_root\",\n \"chrome_build\",\n \"chrome_package\",\n \"safari_web_extension\",\n \"safari_app\",\n \"safari_package\",\n] as const;\nexport type BrowserBridgePackagePathTarget =\n (typeof BROWSER_BRIDGE_PACKAGE_PATH_TARGETS)[number];\n\nexport interface BrowserBridgeCompanionPackageStatus {\n extensionPath: string | null;\n chromeBuildPath: string | null;\n chromePackagePath: string | null;\n safariWebExtensionPath: string | null;\n safariAppPath: string | null;\n safariPackagePath: string | null;\n releaseManifest: BrowserBridgeCompanionReleaseManifest | null;\n}\n\nexport interface BrowserBridgeCompanionReleaseAsset {\n fileName: string;\n downloadUrl: string | null;\n}\n\nexport interface BrowserBridgeCompanionReleaseTarget {\n installKind:\n | \"chrome_web_store\"\n | \"apple_app_store\"\n | \"github_release\"\n | \"local_download\";\n installUrl: string | null;\n storeListingUrl: string | null;\n asset: BrowserBridgeCompanionReleaseAsset;\n}\n\nexport interface BrowserBridgeCompanionReleaseManifest {\n schema: \"browser_bridge_release_v2\";\n releaseTag: string;\n releaseVersion: string;\n repository: string | null;\n releasePageUrl: string | null;\n chromeVersion: string;\n chromeVersionName: string;\n safariMarketingVersion: string;\n safariBuildVersion: string;\n chrome: BrowserBridgeCompanionReleaseTarget;\n safari: BrowserBridgeCompanionReleaseTarget;\n generatedAt: string;\n}\n\nexport interface OpenBrowserBridgeCompanionPackagePathRequest {\n target: BrowserBridgePackagePathTarget;\n revealOnly?: boolean;\n}\n\nexport interface OpenBrowserBridgeCompanionPackagePathResponse {\n target: BrowserBridgePackagePathTarget;\n path: string;\n revealOnly: boolean;\n}\n\nexport interface OpenBrowserBridgeCompanionManagerResponse {\n browser: BrowserBridgeKind;\n}\n"],"mappings":"AAUO,MAAM,uBAAuB,CAAC,UAAU,QAAQ;AAGhD,MAAM,gCAAgC;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AACF;AAIO,MAAM,mCAAmC;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AACF;AAIO,MAAM,6CAA6C;AAAA,EACxD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAIO,MAAM,4CAA4C;AAAA,EACvD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAIO,MAAM,8BAA8B;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAkOO,MAAM,sCAAsC;AAAA,EACjD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;","names":[]}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,17 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
export {
|
|
14
|
-
export {
|
|
15
|
-
export
|
|
16
|
-
export
|
|
1
|
+
/**
|
|
2
|
+
* @elizaos/plugin-browser — public barrel.
|
|
3
|
+
*
|
|
4
|
+
* Import specific surfaces through the subpath exports defined in
|
|
5
|
+
* `package.json`:
|
|
6
|
+
* - `@elizaos/plugin-browser/contracts`
|
|
7
|
+
* - `@elizaos/plugin-browser/schema`
|
|
8
|
+
* - `@elizaos/plugin-browser/packaging`
|
|
9
|
+
* - `@elizaos/plugin-browser/routes`
|
|
10
|
+
* - `@elizaos/plugin-browser/plugin`
|
|
11
|
+
* - `@elizaos/plugin-browser/workspace` (browser-workspace command router)
|
|
12
|
+
*/
|
|
13
|
+
export { browserAction } from "./actions/browser.js";
|
|
14
|
+
export { executeBrowserAutofillLogin } from "./actions/browser-autofill-login.js";
|
|
15
|
+
export { BROWSER_BRIDGE_SUBACTIONS, type BrowserBridgeSubaction, manageBrowserBridgeAction, } from "./actions/manage-browser-bridge.js";
|
|
16
|
+
export { BROWSER_SERVICE_TYPE, BrowserService, type BrowserTarget, } from "./browser-service.js";
|
|
17
|
+
export * from "./bridge-policy.js";
|
|
18
|
+
export * from "./bridge-readiness.js";
|
|
19
|
+
export * from "./bridge-records.js";
|
|
20
|
+
export * from "./companion-auth.js";
|
|
21
|
+
export * from "./contracts.js";
|
|
22
|
+
export { BrowserBridgeAdapter } from "./message-adapter.js";
|
|
23
|
+
export * from "./packaging.js";
|
|
24
|
+
export * from "./password-manager-bridge.js";
|
|
25
|
+
export { browserPlugin } from "./plugin.js";
|
|
26
|
+
export * from "./routes/bridge.js";
|
|
27
|
+
export * from "./schema.js";
|
|
28
|
+
export * from "./service.js";
|
|
29
|
+
export { type BrowserCaptureConfig, FRAME_FILE, startBrowserCapture, stopBrowserCapture, } from "./workspace/browser-capture.js";
|
|
30
|
+
export * from "./workspace/index.js";
|
|
17
31
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EACL,yBAAyB,EACzB,KAAK,sBAAsB,EAC3B,yBAAyB,GAC1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,KAAK,aAAa,GACnB,MAAM,sBAAsB,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,cAAc,gBAAgB,CAAC;AAC/B,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,OAAO,EACL,KAAK,oBAAoB,EACzB,UAAU,EACV,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;AACxC,cAAc,sBAAsB,CAAC"}
|