@elizaos/plugin-browser 2.0.0-beta.1 → 2.0.3-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +106 -64
  3. package/dist/actions/browser-autofill-login.d.ts.map +1 -1
  4. package/dist/actions/browser-autofill-login.js.map +1 -1
  5. package/dist/actions/browser.d.ts +5 -6
  6. package/dist/actions/browser.d.ts.map +1 -1
  7. package/dist/actions/browser.js +312 -60
  8. package/dist/actions/browser.js.map +1 -1
  9. package/dist/actions/manage-browser-bridge.d.ts.map +1 -1
  10. package/dist/actions/manage-browser-bridge.js +10 -14
  11. package/dist/actions/manage-browser-bridge.js.map +1 -1
  12. package/dist/actions/wait-for-url-predicate.d.ts +34 -0
  13. package/dist/actions/wait-for-url-predicate.d.ts.map +1 -0
  14. package/dist/actions/wait-for-url-predicate.js +33 -0
  15. package/dist/actions/wait-for-url-predicate.js.map +1 -0
  16. package/dist/actions/wait-for-url.d.ts +64 -0
  17. package/dist/actions/wait-for-url.d.ts.map +1 -0
  18. package/dist/actions/wait-for-url.js +89 -0
  19. package/dist/actions/wait-for-url.js.map +1 -0
  20. package/dist/bridge-policy.d.ts +10 -0
  21. package/dist/bridge-policy.d.ts.map +1 -0
  22. package/dist/bridge-policy.js +37 -0
  23. package/dist/bridge-policy.js.map +1 -0
  24. package/dist/bridge-readiness.d.ts +16 -0
  25. package/dist/bridge-readiness.d.ts.map +1 -0
  26. package/dist/bridge-readiness.js +82 -0
  27. package/dist/bridge-readiness.js.map +1 -0
  28. package/dist/bridge-records.d.ts +9 -0
  29. package/dist/bridge-records.d.ts.map +1 -0
  30. package/dist/bridge-records.js +37 -0
  31. package/dist/bridge-records.js.map +1 -0
  32. package/dist/browser-capture-hooks.d.ts +9 -0
  33. package/dist/browser-capture-hooks.d.ts.map +1 -0
  34. package/dist/browser-capture-hooks.js +15 -0
  35. package/dist/browser-capture-hooks.js.map +1 -0
  36. package/dist/browser-service.d.ts +22 -4
  37. package/dist/browser-service.d.ts.map +1 -1
  38. package/dist/browser-service.js +63 -15
  39. package/dist/browser-service.js.map +1 -1
  40. package/dist/browser-workspace-hooks.d.ts +14 -0
  41. package/dist/browser-workspace-hooks.d.ts.map +1 -0
  42. package/dist/browser-workspace-hooks.js +15 -0
  43. package/dist/browser-workspace-hooks.js.map +1 -0
  44. package/dist/companion-auth.d.ts +34 -0
  45. package/dist/companion-auth.d.ts.map +1 -0
  46. package/dist/companion-auth.js +98 -0
  47. package/dist/companion-auth.js.map +1 -0
  48. package/dist/index.d.ts +12 -3
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +66 -12
  51. package/dist/index.js.map +1 -1
  52. package/dist/message-adapter.d.ts +9 -0
  53. package/dist/message-adapter.d.ts.map +1 -0
  54. package/dist/message-adapter.js +104 -0
  55. package/dist/message-adapter.js.map +1 -0
  56. package/dist/packaging.d.ts.map +1 -1
  57. package/dist/packaging.js +2 -0
  58. package/dist/packaging.js.map +1 -1
  59. package/dist/parity/browser-matrix.d.ts +45 -0
  60. package/dist/parity/browser-matrix.d.ts.map +1 -0
  61. package/dist/parity/browser-matrix.js +361 -0
  62. package/dist/parity/browser-matrix.js.map +1 -0
  63. package/dist/parity/index.d.ts +5 -0
  64. package/dist/parity/index.d.ts.map +1 -0
  65. package/dist/parity/index.js +13 -0
  66. package/dist/parity/index.js.map +1 -0
  67. package/dist/password-manager-bridge.d.ts +50 -0
  68. package/dist/password-manager-bridge.d.ts.map +1 -0
  69. package/dist/password-manager-bridge.js +437 -0
  70. package/dist/password-manager-bridge.js.map +1 -0
  71. package/dist/plugin.d.ts.map +1 -1
  72. package/dist/plugin.js +8 -4
  73. package/dist/plugin.js.map +1 -1
  74. package/dist/providers/workspace.d.ts +1 -1
  75. package/dist/providers/workspace.js.map +1 -1
  76. package/dist/routes/bridge.d.ts.map +1 -1
  77. package/dist/routes/bridge.js +63 -14
  78. package/dist/routes/bridge.js.map +1 -1
  79. package/dist/routes/workspace-setup.d.ts.map +1 -1
  80. package/dist/routes/workspace-setup.js +1 -1
  81. package/dist/routes/workspace-setup.js.map +1 -1
  82. package/dist/routes/workspace.d.ts +1 -2
  83. package/dist/routes/workspace.d.ts.map +1 -1
  84. package/dist/routes/workspace.js +104 -4
  85. package/dist/routes/workspace.js.map +1 -1
  86. package/dist/schema.d.ts +2 -2
  87. package/dist/schema.js.map +1 -1
  88. package/dist/service.d.ts +1 -1
  89. package/dist/service.d.ts.map +1 -1
  90. package/dist/service.js.map +1 -1
  91. package/dist/targets/bridge-target.d.ts +1 -1
  92. package/dist/targets/bridge-target.d.ts.map +1 -1
  93. package/dist/targets/bridge-target.js.map +1 -1
  94. package/dist/targets/stagehand-target.d.ts +3 -0
  95. package/dist/targets/stagehand-target.d.ts.map +1 -0
  96. package/dist/targets/stagehand-target.js +187 -0
  97. package/dist/targets/stagehand-target.js.map +1 -0
  98. package/dist/workspace/browser-capture.d.ts +1 -1
  99. package/dist/workspace/browser-capture.d.ts.map +1 -1
  100. package/dist/workspace/browser-capture.js +33 -1
  101. package/dist/workspace/browser-capture.js.map +1 -1
  102. package/dist/workspace/browser-workspace-desktop.d.ts +1 -1
  103. package/dist/workspace/browser-workspace-desktop.d.ts.map +1 -1
  104. package/dist/workspace/browser-workspace-desktop.js +66 -30
  105. package/dist/workspace/browser-workspace-desktop.js.map +1 -1
  106. package/dist/workspace/browser-workspace-errors.d.ts +62 -0
  107. package/dist/workspace/browser-workspace-errors.d.ts.map +1 -0
  108. package/dist/workspace/browser-workspace-errors.js +69 -0
  109. package/dist/workspace/browser-workspace-errors.js.map +1 -0
  110. package/dist/workspace/browser-workspace-forms.d.ts.map +1 -1
  111. package/dist/workspace/browser-workspace-forms.js +1 -1
  112. package/dist/workspace/browser-workspace-forms.js.map +1 -1
  113. package/dist/workspace/browser-workspace-helpers.d.ts +7 -0
  114. package/dist/workspace/browser-workspace-helpers.d.ts.map +1 -1
  115. package/dist/workspace/browser-workspace-helpers.js +64 -6
  116. package/dist/workspace/browser-workspace-helpers.js.map +1 -1
  117. package/dist/workspace/browser-workspace-network.d.ts +1 -1
  118. package/dist/workspace/browser-workspace-network.d.ts.map +1 -1
  119. package/dist/workspace/browser-workspace-types.d.ts +15 -0
  120. package/dist/workspace/browser-workspace-types.d.ts.map +1 -1
  121. package/dist/workspace/browser-workspace-types.js.map +1 -1
  122. package/dist/workspace/browser-workspace-web.d.ts.map +1 -1
  123. package/dist/workspace/browser-workspace-web.js +34 -93
  124. package/dist/workspace/browser-workspace-web.js.map +1 -1
  125. package/dist/workspace/browser-workspace.d.ts +1 -1
  126. package/dist/workspace/browser-workspace.d.ts.map +1 -1
  127. package/dist/workspace/browser-workspace.js +9 -4
  128. package/dist/workspace/browser-workspace.js.map +1 -1
  129. package/dist/workspace/index.d.ts +1 -0
  130. package/dist/workspace/index.d.ts.map +1 -1
  131. package/dist/workspace/index.js +1 -0
  132. package/dist/workspace/index.js.map +1 -1
  133. package/package.json +29 -7
  134. package/registry-entry.json +75 -0
  135. package/dist/actions/browser-autofill-login.d.js +0 -1
  136. package/dist/actions/browser-autofill-login.d.js.map +0 -1
  137. package/dist/actions/browser.d.js +0 -1
  138. package/dist/actions/browser.d.js.map +0 -1
  139. package/dist/actions/manage-browser-bridge.d.js +0 -1
  140. package/dist/actions/manage-browser-bridge.d.js.map +0 -1
  141. package/dist/ambient-jsdom.d.js +0 -1
  142. package/dist/ambient-jsdom.d.js.map +0 -1
  143. package/dist/browser-service.d.js +0 -1
  144. package/dist/browser-service.d.js.map +0 -1
  145. package/dist/contracts.d.js +0 -1
  146. package/dist/contracts.d.js.map +0 -1
  147. package/dist/index.d.js +0 -21
  148. package/dist/index.d.js.map +0 -1
  149. package/dist/lifeops-session-contracts.d.js +0 -1
  150. package/dist/lifeops-session-contracts.d.js.map +0 -1
  151. package/dist/packaging.d.js +0 -1
  152. package/dist/packaging.d.js.map +0 -1
  153. package/dist/plugin.d.js +0 -1
  154. package/dist/plugin.d.js.map +0 -1
  155. package/dist/providers/workspace.d.js +0 -1
  156. package/dist/providers/workspace.d.js.map +0 -1
  157. package/dist/routes/bridge.d.js +0 -1
  158. package/dist/routes/bridge.d.js.map +0 -1
  159. package/dist/routes/workspace-account-gate.d.js +0 -1
  160. package/dist/routes/workspace-account-gate.d.js.map +0 -1
  161. package/dist/routes/workspace-setup.d.js +0 -1
  162. package/dist/routes/workspace-setup.d.js.map +0 -1
  163. package/dist/routes/workspace.d.js +0 -1
  164. package/dist/routes/workspace.d.js.map +0 -1
  165. package/dist/schema.d.js +0 -1
  166. package/dist/schema.d.js.map +0 -1
  167. package/dist/service.d.js +0 -1
  168. package/dist/service.d.js.map +0 -1
  169. package/dist/targets/bridge-target.d.js +0 -1
  170. package/dist/targets/bridge-target.d.js.map +0 -1
  171. package/dist/workspace/browser-capture.d.js +0 -1
  172. package/dist/workspace/browser-capture.d.js.map +0 -1
  173. package/dist/workspace/browser-workspace-desktop.d.js +0 -1
  174. package/dist/workspace/browser-workspace-desktop.d.js.map +0 -1
  175. package/dist/workspace/browser-workspace-elements.d.js +0 -1
  176. package/dist/workspace/browser-workspace-elements.d.js.map +0 -1
  177. package/dist/workspace/browser-workspace-forms.d.js +0 -1
  178. package/dist/workspace/browser-workspace-forms.d.js.map +0 -1
  179. package/dist/workspace/browser-workspace-helpers.d.js +0 -1
  180. package/dist/workspace/browser-workspace-helpers.d.js.map +0 -1
  181. package/dist/workspace/browser-workspace-jsdom.d.js +0 -1
  182. package/dist/workspace/browser-workspace-jsdom.d.js.map +0 -1
  183. package/dist/workspace/browser-workspace-network.d.js +0 -1
  184. package/dist/workspace/browser-workspace-network.d.js.map +0 -1
  185. package/dist/workspace/browser-workspace-snapshots.d.js +0 -1
  186. package/dist/workspace/browser-workspace-snapshots.d.js.map +0 -1
  187. package/dist/workspace/browser-workspace-state.d.js +0 -1
  188. package/dist/workspace/browser-workspace-state.d.js.map +0 -1
  189. package/dist/workspace/browser-workspace-types.d.js +0 -1
  190. package/dist/workspace/browser-workspace-types.d.js.map +0 -1
  191. package/dist/workspace/browser-workspace-web.d.js +0 -1
  192. package/dist/workspace/browser-workspace-web.d.js.map +0 -1
  193. package/dist/workspace/browser-workspace.d.js +0 -11
  194. package/dist/workspace/browser-workspace.d.js.map +0 -1
  195. package/dist/workspace/index.d.js +0 -3
  196. package/dist/workspace/index.d.js.map +0 -1
@@ -0,0 +1,34 @@
1
+ export type BrowserBridgeCompanionCredentialLike = {
2
+ companion: {
3
+ pairingTokenExpiresAt?: string | null;
4
+ pairingTokenRevokedAt?: string | null;
5
+ };
6
+ pairingTokenHash: string | null;
7
+ pendingPairingTokens?: BrowserBridgeCompanionPendingToken[] | null;
8
+ pendingPairingTokenHashes?: string[] | null;
9
+ } | null;
10
+ export type BrowserBridgeCompanionPendingToken = {
11
+ hash: string;
12
+ expiresAt: string | null;
13
+ };
14
+ export type BrowserBridgeCompanionAuthCode = "browser_bridge_companion_pairing_invalid" | "browser_bridge_companion_token_expired" | "browser_bridge_companion_token_revoked";
15
+ export type BrowserBridgeCompanionAuthFailure = {
16
+ ok: false;
17
+ code: BrowserBridgeCompanionAuthCode;
18
+ message: string;
19
+ };
20
+ export type BrowserBridgeCompanionAuthSuccess = {
21
+ ok: true;
22
+ source: "active" | "pending";
23
+ expiresAt: string | null;
24
+ remainingPendingPairingTokens: BrowserBridgeCompanionPendingToken[];
25
+ };
26
+ export type BrowserBridgeCompanionAuthResult = BrowserBridgeCompanionAuthSuccess | BrowserBridgeCompanionAuthFailure;
27
+ export declare function browserBridgeCompanionAuthFailure(code: BrowserBridgeCompanionAuthCode): BrowserBridgeCompanionAuthFailure;
28
+ export declare function isoTimestampExpired(value: string | null | undefined, nowMs: number): boolean;
29
+ export declare function authenticateBrowserBridgeCompanionCredential(args: {
30
+ credential: BrowserBridgeCompanionCredentialLike;
31
+ pairingTokenHash: string;
32
+ nowMs: number;
33
+ }): BrowserBridgeCompanionAuthResult;
34
+ //# sourceMappingURL=companion-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"companion-auth.d.ts","sourceRoot":"","sources":["../src/companion-auth.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oCAAoC,GAAG;IACjD,SAAS,EAAE;QACT,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtC,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACvC,CAAC;IACF,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,oBAAoB,CAAC,EAAE,kCAAkC,EAAE,GAAG,IAAI,CAAC;IACnE,yBAAyB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAC7C,GAAG,IAAI,CAAC;AAET,MAAM,MAAM,kCAAkC,GAAG;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,8BAA8B,GACtC,0CAA0C,GAC1C,wCAAwC,GACxC,wCAAwC,CAAC;AAE7C,MAAM,MAAM,iCAAiC,GAAG;IAC9C,EAAE,EAAE,KAAK,CAAC;IACV,IAAI,EAAE,8BAA8B,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,6BAA6B,EAAE,kCAAkC,EAAE,CAAC;CACrE,CAAC;AAEF,MAAM,MAAM,gCAAgC,GACxC,iCAAiC,GACjC,iCAAiC,CAAC;AAEtC,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,8BAA8B,GACnC,iCAAiC,CAqBnC;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,KAAK,EAAE,MAAM,GACZ,OAAO,CAMT;AAiBD,wBAAgB,4CAA4C,CAAC,IAAI,EAAE;IACjE,UAAU,EAAE,oCAAoC,CAAC;IACjD,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,gCAAgC,CAuDnC"}
@@ -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":[]}
package/dist/index.d.ts CHANGED
@@ -10,16 +10,25 @@
10
10
  * - `@elizaos/plugin-browser/plugin`
11
11
  * - `@elizaos/plugin-browser/workspace` (browser-workspace command router)
12
12
  */
13
- export { BROWSER_SERVICE_TYPE, type BrowserTarget, BrowserService, } from "./browser-service.js";
14
- export { executeBrowserAutofillLogin } from "./actions/browser-autofill-login.js";
15
13
  export { browserAction } from "./actions/browser.js";
14
+ export { executeBrowserAutofillLogin } from "./actions/browser-autofill-login.js";
16
15
  export { BROWSER_BRIDGE_SUBACTIONS, type BrowserBridgeSubaction, manageBrowserBridgeAction, } from "./actions/manage-browser-bridge.js";
16
+ export { WAIT_FOR_URL_DEFAULT_POLL_INTERVAL_MS, WAIT_FOR_URL_DEFAULT_TIMEOUT_MS, type WaitForUrlDeps, type WaitForUrlOptions, type WaitForUrlOutcome, type WaitForUrlStatus, waitForUrl, } from "./actions/wait-for-url.js";
17
+ export { buildWaitForUrlPredicate, type WaitForUrlPatternKind, type WaitForUrlPredicate, } from "./actions/wait-for-url-predicate.js";
18
+ export * from "./bridge-policy.js";
19
+ export * from "./bridge-readiness.js";
20
+ export * from "./bridge-records.js";
21
+ export { BROWSER_SERVICE_TYPE, BrowserService, type BrowserTarget, } from "./browser-service.js";
22
+ export * from "./companion-auth.js";
17
23
  export * from "./contracts.js";
24
+ export { BrowserBridgeAdapter } from "./message-adapter.js";
18
25
  export * from "./packaging.js";
26
+ export * from "./parity/index.js";
27
+ export * from "./password-manager-bridge.js";
19
28
  export { browserPlugin } from "./plugin.js";
20
29
  export * from "./routes/bridge.js";
21
30
  export * from "./schema.js";
22
31
  export * from "./service.js";
23
- export { FRAME_FILE, startBrowserCapture, stopBrowserCapture, type BrowserCaptureConfig, } from "./workspace/browser-capture.js";
32
+ export { type BrowserCaptureConfig, FRAME_FILE, startBrowserCapture, stopBrowserCapture, } from "./workspace/browser-capture.js";
24
33
  export * from "./workspace/index.js";
25
34
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,oBAAoB,EACpB,KAAK,aAAa,EAClB,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACL,yBAAyB,EACzB,KAAK,sBAAsB,EAC3B,yBAAyB,GAC1B,MAAM,oCAAoC,CAAC;AAC5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,oBAAoB,GAC1B,MAAM,gCAAgC,CAAC;AACxC,cAAc,sBAAsB,CAAC"}
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,qCAAqC,EACrC,+BAA+B,EAC/B,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,UAAU,GACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,wBAAwB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,GACzB,MAAM,qCAAqC,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,KAAK,aAAa,GACnB,MAAM,sBAAsB,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,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"}
package/dist/index.js CHANGED
@@ -1,15 +1,30 @@
1
- import {
2
- BROWSER_SERVICE_TYPE,
3
- BrowserService
4
- } from "./browser-service.js";
5
- import { executeBrowserAutofillLogin } from "./actions/browser-autofill-login.js";
6
1
  import { browserAction } from "./actions/browser.js";
2
+ import { executeBrowserAutofillLogin } from "./actions/browser-autofill-login.js";
7
3
  import {
8
4
  BROWSER_BRIDGE_SUBACTIONS,
9
5
  manageBrowserBridgeAction
10
6
  } from "./actions/manage-browser-bridge.js";
7
+ import {
8
+ WAIT_FOR_URL_DEFAULT_POLL_INTERVAL_MS,
9
+ WAIT_FOR_URL_DEFAULT_TIMEOUT_MS,
10
+ waitForUrl
11
+ } from "./actions/wait-for-url.js";
12
+ import {
13
+ buildWaitForUrlPredicate
14
+ } from "./actions/wait-for-url-predicate.js";
15
+ export * from "./bridge-policy.js";
16
+ export * from "./bridge-readiness.js";
17
+ export * from "./bridge-records.js";
18
+ import {
19
+ BROWSER_SERVICE_TYPE,
20
+ BrowserService
21
+ } from "./browser-service.js";
22
+ export * from "./companion-auth.js";
11
23
  export * from "./contracts.js";
24
+ import { BrowserBridgeAdapter } from "./message-adapter.js";
12
25
  export * from "./packaging.js";
26
+ export * from "./parity/index.js";
27
+ export * from "./password-manager-bridge.js";
13
28
  import { browserPlugin } from "./plugin.js";
14
29
  export * from "./routes/bridge.js";
15
30
  export * from "./schema.js";
@@ -20,24 +35,63 @@ import {
20
35
  stopBrowserCapture
21
36
  } from "./workspace/browser-capture.js";
22
37
  export * from "./workspace/index.js";
23
- import { BROWSER_SERVICE_TYPE as _bs_1_BROWSER_SERVICE_TYPE, BrowserService as _bs_2_BrowserService } from "./browser-service.js";
24
- import { executeBrowserAutofillLogin as _bs_3_executeBrowserAutofillLogin } from "./actions/browser-autofill-login.js";
25
38
  import { browserAction as _bs_4_browserAction } from "./actions/browser.js";
26
- import { BROWSER_BRIDGE_SUBACTIONS as _bs_5_BROWSER_BRIDGE_SUBACTIONS, manageBrowserBridgeAction as _bs_6_manageBrowserBridgeAction } from "./actions/manage-browser-bridge.js";
39
+ import { executeBrowserAutofillLogin as _bs_3_executeBrowserAutofillLogin } from "./actions/browser-autofill-login.js";
40
+ import {
41
+ BROWSER_BRIDGE_SUBACTIONS as _bs_5_BROWSER_BRIDGE_SUBACTIONS,
42
+ manageBrowserBridgeAction as _bs_6_manageBrowserBridgeAction
43
+ } from "./actions/manage-browser-bridge.js";
44
+ import { waitForUrl as _bs_15_waitForUrl } from "./actions/wait-for-url.js";
45
+ import { buildWaitForUrlPredicate as _bs_14_buildWaitForUrlPredicate } from "./actions/wait-for-url-predicate.js";
46
+ import { resolveBrowserBridgeCompanionPairingTokenExpiresAt as _bs_13_resolveBrowserBridgeCompanionPairingTokenExpiresAt } from "./bridge-policy.js";
47
+ import { resolveBrowserBridgeReadiness as _bs_11_resolveBrowserBridgeReadiness } from "./bridge-readiness.js";
48
+ import { createBrowserBridgeCompanionStatus as _bs_12_createBrowserBridgeCompanionStatus } from "./bridge-records.js";
49
+ import {
50
+ BROWSER_SERVICE_TYPE as _bs_1_BROWSER_SERVICE_TYPE,
51
+ BrowserService as _bs_2_BrowserService
52
+ } from "./browser-service.js";
53
+ import { validateBrowserParityMatrix as _bs_16_validateBrowserParityMatrix } from "./parity/browser-matrix.js";
27
54
  import { browserPlugin as _bs_7_browserPlugin } from "./plugin.js";
28
- import { FRAME_FILE as _bs_8_FRAME_FILE, startBrowserCapture as _bs_9_startBrowserCapture, stopBrowserCapture as _bs_10_stopBrowserCapture } from "./workspace/browser-capture.js";
29
- const __bundle_safety_PLUGINS_PLUGIN_BROWSER_SRC_INDEX__ = [_bs_1_BROWSER_SERVICE_TYPE, _bs_2_BrowserService, _bs_3_executeBrowserAutofillLogin, _bs_4_browserAction, _bs_5_BROWSER_BRIDGE_SUBACTIONS, _bs_6_manageBrowserBridgeAction, _bs_7_browserPlugin, _bs_8_FRAME_FILE, _bs_9_startBrowserCapture, _bs_10_stopBrowserCapture];
30
- globalThis.__bundle_safety_PLUGINS_PLUGIN_BROWSER_SRC_INDEX__ = __bundle_safety_PLUGINS_PLUGIN_BROWSER_SRC_INDEX__;
55
+ import {
56
+ FRAME_FILE as _bs_8_FRAME_FILE,
57
+ startBrowserCapture as _bs_9_startBrowserCapture,
58
+ stopBrowserCapture as _bs_10_stopBrowserCapture
59
+ } from "./workspace/browser-capture.js";
60
+ const __bundle_safety_PLUGINS_PLUGIN_BROWSER_SRC_INDEX__ = [
61
+ _bs_1_BROWSER_SERVICE_TYPE,
62
+ _bs_2_BrowserService,
63
+ _bs_3_executeBrowserAutofillLogin,
64
+ _bs_4_browserAction,
65
+ _bs_5_BROWSER_BRIDGE_SUBACTIONS,
66
+ _bs_6_manageBrowserBridgeAction,
67
+ _bs_7_browserPlugin,
68
+ _bs_8_FRAME_FILE,
69
+ _bs_9_startBrowserCapture,
70
+ _bs_10_stopBrowserCapture,
71
+ _bs_11_resolveBrowserBridgeReadiness,
72
+ _bs_12_createBrowserBridgeCompanionStatus,
73
+ _bs_13_resolveBrowserBridgeCompanionPairingTokenExpiresAt,
74
+ _bs_14_buildWaitForUrlPredicate,
75
+ _bs_15_waitForUrl,
76
+ _bs_16_validateBrowserParityMatrix
77
+ ];
78
+ const bundleSafetyGlobal = globalThis;
79
+ bundleSafetyGlobal.__bundle_safety_PLUGINS_PLUGIN_BROWSER_SRC_INDEX__ = __bundle_safety_PLUGINS_PLUGIN_BROWSER_SRC_INDEX__;
31
80
  export {
32
81
  BROWSER_BRIDGE_SUBACTIONS,
33
82
  BROWSER_SERVICE_TYPE,
83
+ BrowserBridgeAdapter,
34
84
  BrowserService,
35
85
  FRAME_FILE,
86
+ WAIT_FOR_URL_DEFAULT_POLL_INTERVAL_MS,
87
+ WAIT_FOR_URL_DEFAULT_TIMEOUT_MS,
36
88
  browserAction,
37
89
  browserPlugin,
90
+ buildWaitForUrlPredicate,
38
91
  executeBrowserAutofillLogin,
39
92
  manageBrowserBridgeAction,
40
93
  startBrowserCapture,
41
- stopBrowserCapture
94
+ stopBrowserCapture,
95
+ waitForUrl
42
96
  };
43
97
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["/**\n * @elizaos/plugin-browser — public barrel.\n *\n * Import specific surfaces through the subpath exports defined in\n * `package.json`:\n * - `@elizaos/plugin-browser/contracts`\n * - `@elizaos/plugin-browser/schema`\n * - `@elizaos/plugin-browser/packaging`\n * - `@elizaos/plugin-browser/routes`\n * - `@elizaos/plugin-browser/plugin`\n * - `@elizaos/plugin-browser/workspace` (browser-workspace command router)\n */\n\nexport {\n BROWSER_SERVICE_TYPE,\n type BrowserTarget,\n BrowserService,\n} from \"./browser-service.js\";\nexport { executeBrowserAutofillLogin } from \"./actions/browser-autofill-login.js\";\nexport { browserAction } from \"./actions/browser.js\";\nexport {\n BROWSER_BRIDGE_SUBACTIONS,\n type BrowserBridgeSubaction,\n manageBrowserBridgeAction,\n} from \"./actions/manage-browser-bridge.js\";\nexport * from \"./contracts.js\";\nexport * from \"./packaging.js\";\nexport { browserPlugin } from \"./plugin.js\";\nexport * from \"./routes/bridge.js\";\nexport * from \"./schema.js\";\nexport * from \"./service.js\";\nexport {\n FRAME_FILE,\n startBrowserCapture,\n stopBrowserCapture,\n type BrowserCaptureConfig,\n} from \"./workspace/browser-capture.js\";\nexport * from \"./workspace/index.js\";\n\n// Bundle-safety: force binding identities into the module's init\n// function so Bun.build's tree-shake doesn't collapse this barrel\n// into an empty `init_X = () => {}`. Without this the on-device\n// mobile agent explodes with `ReferenceError: <name> is not defined`\n// when a consumer dereferences a re-exported binding at runtime.\nimport { BROWSER_SERVICE_TYPE as _bs_1_BROWSER_SERVICE_TYPE, BrowserService as _bs_2_BrowserService } from \"./browser-service.js\";\nimport { executeBrowserAutofillLogin as _bs_3_executeBrowserAutofillLogin } from \"./actions/browser-autofill-login.js\";\nimport { browserAction as _bs_4_browserAction } from \"./actions/browser.js\";\nimport { BROWSER_BRIDGE_SUBACTIONS as _bs_5_BROWSER_BRIDGE_SUBACTIONS, manageBrowserBridgeAction as _bs_6_manageBrowserBridgeAction } from \"./actions/manage-browser-bridge.js\";\nimport { browserPlugin as _bs_7_browserPlugin } from \"./plugin.js\";\nimport { FRAME_FILE as _bs_8_FRAME_FILE, startBrowserCapture as _bs_9_startBrowserCapture, stopBrowserCapture as _bs_10_stopBrowserCapture } from \"./workspace/browser-capture.js\";\n// Path-derived symbol so parents that `export *` two of these don't\n// collide on a shared `__BUNDLE_SAFETY__` name.\n// biome-ignore lint/correctness/noUnusedVariables: bundle-safety sink.\nconst __bundle_safety_PLUGINS_PLUGIN_BROWSER_SRC_INDEX__ = [_bs_1_BROWSER_SERVICE_TYPE, _bs_2_BrowserService, _bs_3_executeBrowserAutofillLogin, _bs_4_browserAction, _bs_5_BROWSER_BRIDGE_SUBACTIONS, _bs_6_manageBrowserBridgeAction, _bs_7_browserPlugin, _bs_8_FRAME_FILE, _bs_9_startBrowserCapture, _bs_10_stopBrowserCapture];\n// biome-ignore lint/suspicious/noExplicitAny: bundle-safety sink.\n(globalThis as any).__bundle_safety_PLUGINS_PLUGIN_BROWSER_SRC_INDEX__ = __bundle_safety_PLUGINS_PLUGIN_BROWSER_SRC_INDEX__;\n"],"mappings":"AAaA;AAAA,EACE;AAAA,EAEA;AAAA,OACK;AACP,SAAS,mCAAmC;AAC5C,SAAS,qBAAqB;AAC9B;AAAA,EACE;AAAA,EAEA;AAAA,OACK;AACP,cAAc;AACd,cAAc;AACd,SAAS,qBAAqB;AAC9B,cAAc;AACd,cAAc;AACd,cAAc;AACd;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AACP,cAAc;AAOd,SAAS,wBAAwB,4BAA4B,kBAAkB,4BAA4B;AAC3G,SAAS,+BAA+B,yCAAyC;AACjF,SAAS,iBAAiB,2BAA2B;AACrD,SAAS,6BAA6B,iCAAiC,6BAA6B,uCAAuC;AAC3I,SAAS,iBAAiB,2BAA2B;AACrD,SAAS,cAAc,kBAAkB,uBAAuB,2BAA2B,sBAAsB,iCAAiC;AAIlJ,MAAM,qDAAqD,CAAC,4BAA4B,sBAAsB,mCAAmC,qBAAqB,iCAAiC,iCAAiC,qBAAqB,kBAAkB,2BAA2B,yBAAyB;AAElU,WAAmB,qDAAqD;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["/**\n * @elizaos/plugin-browser — public barrel.\n *\n * Import specific surfaces through the subpath exports defined in\n * `package.json`:\n * - `@elizaos/plugin-browser/contracts`\n * - `@elizaos/plugin-browser/schema`\n * - `@elizaos/plugin-browser/packaging`\n * - `@elizaos/plugin-browser/routes`\n * - `@elizaos/plugin-browser/plugin`\n * - `@elizaos/plugin-browser/workspace` (browser-workspace command router)\n */\n\nexport { browserAction } from \"./actions/browser.js\";\nexport { executeBrowserAutofillLogin } from \"./actions/browser-autofill-login.js\";\nexport {\n BROWSER_BRIDGE_SUBACTIONS,\n type BrowserBridgeSubaction,\n manageBrowserBridgeAction,\n} from \"./actions/manage-browser-bridge.js\";\nexport {\n WAIT_FOR_URL_DEFAULT_POLL_INTERVAL_MS,\n WAIT_FOR_URL_DEFAULT_TIMEOUT_MS,\n type WaitForUrlDeps,\n type WaitForUrlOptions,\n type WaitForUrlOutcome,\n type WaitForUrlStatus,\n waitForUrl,\n} from \"./actions/wait-for-url.js\";\nexport {\n buildWaitForUrlPredicate,\n type WaitForUrlPatternKind,\n type WaitForUrlPredicate,\n} from \"./actions/wait-for-url-predicate.js\";\nexport * from \"./bridge-policy.js\";\nexport * from \"./bridge-readiness.js\";\nexport * from \"./bridge-records.js\";\nexport {\n BROWSER_SERVICE_TYPE,\n BrowserService,\n type BrowserTarget,\n} from \"./browser-service.js\";\nexport * from \"./companion-auth.js\";\nexport * from \"./contracts.js\";\nexport { BrowserBridgeAdapter } from \"./message-adapter.js\";\nexport * from \"./packaging.js\";\nexport * from \"./parity/index.js\";\nexport * from \"./password-manager-bridge.js\";\nexport { browserPlugin } from \"./plugin.js\";\nexport * from \"./routes/bridge.js\";\nexport * from \"./schema.js\";\nexport * from \"./service.js\";\nexport {\n type BrowserCaptureConfig,\n FRAME_FILE,\n startBrowserCapture,\n stopBrowserCapture,\n} from \"./workspace/browser-capture.js\";\nexport * from \"./workspace/index.js\";\n\nimport { browserAction as _bs_4_browserAction } from \"./actions/browser.js\";\nimport { executeBrowserAutofillLogin as _bs_3_executeBrowserAutofillLogin } from \"./actions/browser-autofill-login.js\";\nimport {\n BROWSER_BRIDGE_SUBACTIONS as _bs_5_BROWSER_BRIDGE_SUBACTIONS,\n manageBrowserBridgeAction as _bs_6_manageBrowserBridgeAction,\n} from \"./actions/manage-browser-bridge.js\";\nimport { waitForUrl as _bs_15_waitForUrl } from \"./actions/wait-for-url.js\";\nimport { buildWaitForUrlPredicate as _bs_14_buildWaitForUrlPredicate } from \"./actions/wait-for-url-predicate.js\";\nimport { resolveBrowserBridgeCompanionPairingTokenExpiresAt as _bs_13_resolveBrowserBridgeCompanionPairingTokenExpiresAt } from \"./bridge-policy.js\";\nimport { resolveBrowserBridgeReadiness as _bs_11_resolveBrowserBridgeReadiness } from \"./bridge-readiness.js\";\nimport { createBrowserBridgeCompanionStatus as _bs_12_createBrowserBridgeCompanionStatus } from \"./bridge-records.js\";\n// Bundle-safety: force binding identities into the module's init\n// function so Bun.build's tree-shake doesn't collapse this barrel\n// into an empty `init_X = () => {}`. Without this the on-device\n// mobile agent explodes with `ReferenceError: <name> is not defined`\n// when a consumer dereferences a re-exported binding at runtime.\nimport {\n BROWSER_SERVICE_TYPE as _bs_1_BROWSER_SERVICE_TYPE,\n BrowserService as _bs_2_BrowserService,\n} from \"./browser-service.js\";\nimport { validateBrowserParityMatrix as _bs_16_validateBrowserParityMatrix } from \"./parity/browser-matrix.js\";\nimport { browserPlugin as _bs_7_browserPlugin } from \"./plugin.js\";\nimport {\n FRAME_FILE as _bs_8_FRAME_FILE,\n startBrowserCapture as _bs_9_startBrowserCapture,\n stopBrowserCapture as _bs_10_stopBrowserCapture,\n} from \"./workspace/browser-capture.js\";\n\n// Path-derived symbol so parents that `export *` two of these don't\n// collide on a shared `__BUNDLE_SAFETY__` name.\nconst __bundle_safety_PLUGINS_PLUGIN_BROWSER_SRC_INDEX__ = [\n _bs_1_BROWSER_SERVICE_TYPE,\n _bs_2_BrowserService,\n _bs_3_executeBrowserAutofillLogin,\n _bs_4_browserAction,\n _bs_5_BROWSER_BRIDGE_SUBACTIONS,\n _bs_6_manageBrowserBridgeAction,\n _bs_7_browserPlugin,\n _bs_8_FRAME_FILE,\n _bs_9_startBrowserCapture,\n _bs_10_stopBrowserCapture,\n _bs_11_resolveBrowserBridgeReadiness,\n _bs_12_createBrowserBridgeCompanionStatus,\n _bs_13_resolveBrowserBridgeCompanionPairingTokenExpiresAt,\n _bs_14_buildWaitForUrlPredicate,\n _bs_15_waitForUrl,\n _bs_16_validateBrowserParityMatrix,\n];\nconst bundleSafetyGlobal = globalThis as typeof globalThis & {\n __bundle_safety_PLUGINS_PLUGIN_BROWSER_SRC_INDEX__?: typeof __bundle_safety_PLUGINS_PLUGIN_BROWSER_SRC_INDEX__;\n};\nbundleSafetyGlobal.__bundle_safety_PLUGINS_PLUGIN_BROWSER_SRC_INDEX__ =\n __bundle_safety_PLUGINS_PLUGIN_BROWSER_SRC_INDEX__;\n"],"mappings":"AAaA,SAAS,qBAAqB;AAC9B,SAAS,mCAAmC;AAC5C;AAAA,EACE;AAAA,EAEA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EAKA;AAAA,OACK;AACP;AAAA,EACE;AAAA,OAGK;AACP,cAAc;AACd,cAAc;AACd,cAAc;AACd;AAAA,EACE;AAAA,EACA;AAAA,OAEK;AACP,cAAc;AACd,cAAc;AACd,SAAS,4BAA4B;AACrC,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAAS,qBAAqB;AAC9B,cAAc;AACd,cAAc;AACd,cAAc;AACd;AAAA,EAEE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,cAAc;AAEd,SAAS,iBAAiB,2BAA2B;AACrD,SAAS,+BAA+B,yCAAyC;AACjF;AAAA,EACE,6BAA6B;AAAA,EAC7B,6BAA6B;AAAA,OACxB;AACP,SAAS,cAAc,yBAAyB;AAChD,SAAS,4BAA4B,uCAAuC;AAC5E,SAAS,sDAAsD,iEAAiE;AAChI,SAAS,iCAAiC,4CAA4C;AACtF,SAAS,sCAAsC,iDAAiD;AAMhG;AAAA,EACE,wBAAwB;AAAA,EACxB,kBAAkB;AAAA,OACb;AACP,SAAS,+BAA+B,0CAA0C;AAClF,SAAS,iBAAiB,2BAA2B;AACrD;AAAA,EACE,cAAc;AAAA,EACd,uBAAuB;AAAA,EACvB,sBAAsB;AAAA,OACjB;AAIP,MAAM,qDAAqD;AAAA,EACzD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACA,MAAM,qBAAqB;AAG3B,mBAAmB,qDACjB;","names":[]}
@@ -0,0 +1,9 @@
1
+ import { BaseMessageAdapter, type IAgentRuntime, type ListOptions, type MessageAdapterCapabilities, type MessageRef, type MessageSource } from "@elizaos/core";
2
+ export declare class BrowserBridgeAdapter extends BaseMessageAdapter {
3
+ readonly source: MessageSource;
4
+ isAvailable(runtime: IAgentRuntime): boolean;
5
+ capabilities(): MessageAdapterCapabilities;
6
+ protected listMessagesImpl(runtime: IAgentRuntime, opts: ListOptions): Promise<MessageRef[]>;
7
+ protected getMessageImpl(runtime: IAgentRuntime, id: string): Promise<MessageRef | null>;
8
+ }
9
+ //# sourceMappingURL=message-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-adapter.d.ts","sourceRoot":"","sources":["../src/message-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,0BAA0B,EAC/B,KAAK,UAAU,EACf,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AA4FvB,qBAAa,oBAAqB,SAAQ,kBAAkB;IAC1D,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAoB;IAElD,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO;IAI5C,YAAY,IAAI,0BAA0B;cAWjB,gBAAgB,CACvC,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,UAAU,EAAE,CAAC;cAUC,cAAc,CACrC,OAAO,EAAE,aAAa,EACtB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;CAM9B"}
@@ -0,0 +1,104 @@
1
+ import {
2
+ BaseMessageAdapter
3
+ } from "@elizaos/core";
4
+ import {
5
+ BROWSER_BRIDGE_ROUTE_SERVICE_TYPE
6
+ } from "./service.js";
7
+ function getBridgeService(runtime) {
8
+ return runtime.getService(BROWSER_BRIDGE_ROUTE_SERVICE_TYPE) ?? null;
9
+ }
10
+ function parsedTime(value) {
11
+ const parsed = Date.parse(value);
12
+ return Number.isFinite(parsed) ? parsed : Date.now();
13
+ }
14
+ function browserPageMessageId(page) {
15
+ return [
16
+ "browser_bridge",
17
+ page.browser,
18
+ page.profileId,
19
+ page.windowId,
20
+ page.tabId,
21
+ page.capturedAt
22
+ ].join(":");
23
+ }
24
+ function summarizePage(page) {
25
+ const text = page.selectionText?.trim() || page.mainText?.trim() || page.title.trim() || page.url;
26
+ return text.length > 500 ? `${text.slice(0, 497)}...` : text;
27
+ }
28
+ function pageToMessageRef(page) {
29
+ return {
30
+ id: browserPageMessageId(page),
31
+ source: "browser_bridge",
32
+ externalId: page.id,
33
+ threadId: `${page.browser}:${page.profileId}:${page.windowId}:${page.tabId}`,
34
+ from: {
35
+ identifier: page.url,
36
+ displayName: page.title || page.url
37
+ },
38
+ to: [],
39
+ subject: page.title || page.url,
40
+ snippet: summarizePage(page),
41
+ body: page.mainText ?? page.selectionText ?? void 0,
42
+ receivedAtMs: parsedTime(page.capturedAt),
43
+ hasAttachments: false,
44
+ isRead: false,
45
+ worldId: page.profileId,
46
+ channelId: page.tabId,
47
+ tags: ["browser", page.browser],
48
+ metadata: {
49
+ browser: page.browser,
50
+ profileId: page.profileId,
51
+ windowId: page.windowId,
52
+ tabId: page.tabId,
53
+ url: page.url,
54
+ title: page.title,
55
+ capturedAt: page.capturedAt,
56
+ headings: page.headings,
57
+ linkCount: page.links.length,
58
+ formCount: page.forms.length
59
+ }
60
+ };
61
+ }
62
+ function matchesListOptions(message, opts) {
63
+ if (opts.sinceMs && message.receivedAtMs < opts.sinceMs) return false;
64
+ if (opts.worldIds?.length && !opts.worldIds.includes(message.worldId ?? "")) {
65
+ return false;
66
+ }
67
+ if (opts.channelIds?.length && !opts.channelIds.includes(message.channelId ?? "")) {
68
+ return false;
69
+ }
70
+ return true;
71
+ }
72
+ class BrowserBridgeAdapter extends BaseMessageAdapter {
73
+ source = "browser_bridge";
74
+ isAvailable(runtime) {
75
+ return getBridgeService(runtime) !== null;
76
+ }
77
+ capabilities() {
78
+ return {
79
+ list: true,
80
+ search: false,
81
+ manage: {},
82
+ send: {},
83
+ worlds: "single",
84
+ channels: "implicit"
85
+ };
86
+ }
87
+ async listMessagesImpl(runtime, opts) {
88
+ const page = await getBridgeService(runtime)?.getCurrentBrowserPage();
89
+ if (!page) return [];
90
+ const message = pageToMessageRef(page);
91
+ if (!matchesListOptions(message, opts)) return [];
92
+ return opts.limit && opts.limit > 0 ? [message].slice(0, opts.limit) : [message];
93
+ }
94
+ async getMessageImpl(runtime, id) {
95
+ const page = await getBridgeService(runtime)?.getCurrentBrowserPage();
96
+ if (!page) return null;
97
+ const message = pageToMessageRef(page);
98
+ return message.id === id || message.externalId === id ? message : null;
99
+ }
100
+ }
101
+ export {
102
+ BrowserBridgeAdapter
103
+ };
104
+ //# sourceMappingURL=message-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/message-adapter.ts"],"sourcesContent":["import {\n BaseMessageAdapter,\n type IAgentRuntime,\n type ListOptions,\n type MessageAdapterCapabilities,\n type MessageRef,\n type MessageSource,\n} from \"@elizaos/core\";\nimport type { BrowserBridgePageContext } from \"./contracts.js\";\nimport {\n BROWSER_BRIDGE_ROUTE_SERVICE_TYPE,\n type BrowserBridgeRouteService,\n} from \"./service.js\";\n\nfunction getBridgeService(\n runtime: IAgentRuntime,\n): BrowserBridgeRouteService | null {\n return (\n (runtime.getService(BROWSER_BRIDGE_ROUTE_SERVICE_TYPE) as\n | BrowserBridgeRouteService\n | null\n | undefined) ?? null\n );\n}\n\nfunction parsedTime(value: string): number {\n const parsed = Date.parse(value);\n return Number.isFinite(parsed) ? parsed : Date.now();\n}\n\nfunction browserPageMessageId(page: BrowserBridgePageContext): string {\n return [\n \"browser_bridge\",\n page.browser,\n page.profileId,\n page.windowId,\n page.tabId,\n page.capturedAt,\n ].join(\":\");\n}\n\nfunction summarizePage(page: BrowserBridgePageContext): string {\n const text =\n page.selectionText?.trim() ||\n page.mainText?.trim() ||\n page.title.trim() ||\n page.url;\n return text.length > 500 ? `${text.slice(0, 497)}...` : text;\n}\n\nfunction pageToMessageRef(page: BrowserBridgePageContext): MessageRef {\n return {\n id: browserPageMessageId(page),\n source: \"browser_bridge\",\n externalId: page.id,\n threadId: `${page.browser}:${page.profileId}:${page.windowId}:${page.tabId}`,\n from: {\n identifier: page.url,\n displayName: page.title || page.url,\n },\n to: [],\n subject: page.title || page.url,\n snippet: summarizePage(page),\n body: page.mainText ?? page.selectionText ?? undefined,\n receivedAtMs: parsedTime(page.capturedAt),\n hasAttachments: false,\n isRead: false,\n worldId: page.profileId,\n channelId: page.tabId,\n tags: [\"browser\", page.browser],\n metadata: {\n browser: page.browser,\n profileId: page.profileId,\n windowId: page.windowId,\n tabId: page.tabId,\n url: page.url,\n title: page.title,\n capturedAt: page.capturedAt,\n headings: page.headings,\n linkCount: page.links.length,\n formCount: page.forms.length,\n },\n };\n}\n\nfunction matchesListOptions(message: MessageRef, opts: ListOptions): boolean {\n if (opts.sinceMs && message.receivedAtMs < opts.sinceMs) return false;\n if (opts.worldIds?.length && !opts.worldIds.includes(message.worldId ?? \"\")) {\n return false;\n }\n if (\n opts.channelIds?.length &&\n !opts.channelIds.includes(message.channelId ?? \"\")\n ) {\n return false;\n }\n return true;\n}\n\nexport class BrowserBridgeAdapter extends BaseMessageAdapter {\n readonly source: MessageSource = \"browser_bridge\";\n\n isAvailable(runtime: IAgentRuntime): boolean {\n return getBridgeService(runtime) !== null;\n }\n\n capabilities(): MessageAdapterCapabilities {\n return {\n list: true,\n search: false,\n manage: {},\n send: {},\n worlds: \"single\",\n channels: \"implicit\",\n };\n }\n\n protected override async listMessagesImpl(\n runtime: IAgentRuntime,\n opts: ListOptions,\n ): Promise<MessageRef[]> {\n const page = await getBridgeService(runtime)?.getCurrentBrowserPage();\n if (!page) return [];\n const message = pageToMessageRef(page);\n if (!matchesListOptions(message, opts)) return [];\n return opts.limit && opts.limit > 0\n ? [message].slice(0, opts.limit)\n : [message];\n }\n\n protected override async getMessageImpl(\n runtime: IAgentRuntime,\n id: string,\n ): Promise<MessageRef | null> {\n const page = await getBridgeService(runtime)?.getCurrentBrowserPage();\n if (!page) return null;\n const message = pageToMessageRef(page);\n return message.id === id || message.externalId === id ? message : null;\n }\n}\n"],"mappings":"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","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"packaging.d.ts","sourceRoot":"","sources":["../src/packaging.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,mCAAmC,EACnC,qCAAqC,EACrC,iBAAiB,EACjB,8BAA8B,EAC/B,MAAM,gBAAgB,CAAC;AAyWxB,wBAAgB,2CAA2C,CACzD,UAAU,EAAE,MAAM,EAClB,GAAG,oBAAc,GAChB,qCAAqC,GAAG,IAAI,CAwE9C;AAqBD,wBAAgB,mCAAmC,CACjD,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,OAAO,CAAC,EAAE;IACR,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,GACA,qCAAqC,GAAG,IAAI,CAc9C;AAyCD,wBAAgB,iCAAiC,IAAI,MAAM,GAAG,IAAI,CAEjE;AAED,wBAAgB,wCAAwC,CACtD,MAAM,EAAE,mCAAmC,EAC3C,MAAM,EAAE,8BAA8B,GACrC,MAAM,GAAG,IAAI,CAiBf;AAqED,wBAAgB,sCAAsC,IAAI,mCAAmC,CAoC5F;AAED,wBAAgB,qCAAqC,CACnD,OAAO,EAAE,iBAAiB,GACzB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAczD;AAED,wBAAsB,qCAAqC,CACzD,MAAM,EAAE,8BAA8B,EACtC,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GACjC,OAAO,CAAC;IACT,MAAM,EAAE,8BAA8B,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC,CAaD;AAED,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC;IAAE,OAAO,EAAE,iBAAiB,CAAA;CAAE,CAAC,CAQzC;AAED,wBAAsB,kCAAkC,CACtD,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,mCAAmC,CAAC,CAa9C"}
1
+ {"version":3,"file":"packaging.d.ts","sourceRoot":"","sources":["../src/packaging.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,mCAAmC,EACnC,qCAAqC,EACrC,iBAAiB,EACjB,8BAA8B,EAC/B,MAAM,gBAAgB,CAAC;AA2WxB,wBAAgB,2CAA2C,CACzD,UAAU,EAAE,MAAM,EAClB,GAAG,oBAAc,GAChB,qCAAqC,GAAG,IAAI,CAwE9C;AAqBD,wBAAgB,mCAAmC,CACjD,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,OAAO,CAAC,EAAE;IACR,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,GACA,qCAAqC,GAAG,IAAI,CAc9C;AAyCD,wBAAgB,iCAAiC,IAAI,MAAM,GAAG,IAAI,CAEjE;AAED,wBAAgB,wCAAwC,CACtD,MAAM,EAAE,mCAAmC,EAC3C,MAAM,EAAE,8BAA8B,GACrC,MAAM,GAAG,IAAI,CAiBf;AAqED,wBAAgB,sCAAsC,IAAI,mCAAmC,CAoC5F;AAED,wBAAgB,qCAAqC,CACnD,OAAO,EAAE,iBAAiB,GACzB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAczD;AAED,wBAAsB,qCAAqC,CACzD,MAAM,EAAE,8BAA8B,EACtC,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GACjC,OAAO,CAAC;IACT,MAAM,EAAE,8BAA8B,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC,CAaD;AAED,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC;IAAE,OAAO,EAAE,iBAAiB,CAAA;CAAE,CAAC,CAQzC;AAED,wBAAsB,kCAAkC,CACtD,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,mCAAmC,CAAC,CAa9C"}
package/dist/packaging.js CHANGED
@@ -28,6 +28,8 @@ const workspaceRootCandidates = uniquePaths([
28
28
  ...ancestorPaths(process.cwd())
29
29
  ]);
30
30
  const extensionRootCandidates = workspaceRootCandidates.flatMap((root) => [
31
+ path.join(root, "packages", "browser-bridge-extension"),
32
+ path.join(root, "eliza", "packages", "browser-bridge-extension"),
31
33
  path.join(root, "eliza", "apps", "browser-bridge"),
32
34
  path.join(root, "apps", "browser-bridge"),
33
35
  path.join(root, "apps", "app-lifeops", "extensions", "lifeops-browser"),