@elizaos/plugin-browser 2.0.0-alpha.9 → 2.0.3-beta.2
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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../src/actions/screenshot.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EACN,WAAW,EACX,kBAAkB,EAClB,wBAAwB,EACxB,YAAY,GACZ,MAAM,oBAAoB,CAAC;AAE5B,MAAM,CAAC,MAAM,uBAAuB,GAAW;IAC9C,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,CAAC,iBAAiB,EAAE,cAAc,EAAE,YAAY,CAAC;IAC1D,WAAW,EAAE,uCAAuC;IAEpD,QAAQ,EAAE,KAAK,EACd,OAAY,EACZ,OAAY,EACZ,KAAW,EACX,OAAa,EACM,EAAE;QACrB,MAAM,WAAW,GAChB,OAAO,OAAO,EAAE,OAAO,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAC/C,MAAM,aAAa,GAClB,YAAY,CAAC,MAAM,GAAG,CAAC;YACvB,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,6BAA6B,CAAC;QAChD,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,MAAM,CACxB,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,IAAI,EAAE,CACjD,CAAC;QACF,MAAM,kBAAkB,GAAG,EAAE,CAAC;QAC9B,MAAM,YAAY,GAAG,kBAAkB;YACtC,CAAC,CAAC,UAAU,KAAK,kBAAkB;YACnC,CAAC,CAAC,OAAO,CACP,UAAU;gBACT,KAAK;gBACL,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,UAAU;gBACnB,OAAO,EAAE,UAAU,CACpB,CAAC;QACJ,MAAM,WAAW,GAAG,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,MAAM,WAAW,GAChB,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,WAAsC,CAAC,CAAC,MAAM,GAAG,CAAC;YAC9D,OAAO,CAAC,OAAO,EAAE,OAAO,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC;QAElE,IAAI,CAAC,CAAC,aAAa,IAAI,WAAW,IAAI,YAAY,IAAI,WAAW,CAAC,EAAE,CAAC;YACpE,OAAO,KAAK,CAAC;QACd,CAAC;QAED,MAAM,kBAAkB,GAAG,KAAK,EAC/B,OAAY,EACZ,OAAY,EACZ,KAAW,EACX,OAAa,EACM,EAAE;YACrB,MAAM,WAAW,GAChB,OAAO,OAAO,EAAE,OAAO,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YAC/C,MAAM,aAAa,GAClB,YAAY,CAAC,MAAM,GAAG,CAAC;gBACvB,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YACnE,MAAM,SAAS,GAAG,6BAA6B,CAAC;YAChD,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,UAAU,GAAG,MAAM,CACxB,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,IAAI,EAAE,CACjD,CAAC;YACF,MAAM,kBAAkB,GAAG,EAAE,CAAC;YAC9B,MAAM,YAAY,GAAG,kBAAkB;gBACtC,CAAC,CAAC,UAAU,KAAK,kBAAkB;gBACnC,CAAC,CAAC,OAAO,CACP,UAAU,IAAI,KAAK,IAAI,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,UAAU,CAC9D,CAAC;YACJ,MAAM,WAAW,GAAG,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,MAAM,WAAW,GAChB,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,WAAsC,CAAC,CAAC,MAAM,GAAG,CAAC;gBAC9D,OAAO,CAAC,OAAO,EAAE,OAAO,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC;YAElE,IAAI,CAAC,CAAC,aAAa,IAAI,WAAW,IAAI,YAAY,IAAI,WAAW,CAAC,EAAE,CAAC;gBACpE,OAAO,KAAK,CAAC;YACd,CAAC;YAED,MAAM,kBAAkB,GAAG,KAAK,EAC/B,OAAsB,EACtB,OAAe,EACf,MAAc,EACK,EAAE;gBACrB,MAAM,cAAc,GACnB,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,MAAM;oBAC/C,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,MAAM,CAAC;gBAElD,IAAI,CAAC,cAAc,EAAE,CAAC;oBACrB,OAAO,KAAK,CAAC;gBACd,CAAC;gBAED,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAiB,WAAW,CAAC,OAAO,CAAC,CAAC;gBACxE,IAAI,CAAC,OAAO,EAAE,CAAC;oBACd,OAAO,KAAK,CAAC;gBACd,CAAC;gBAED,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;gBACxD,OAAO,CACN,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;oBAC3B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;oBACxB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CACrB,CAAC;YACH,CAAC,CAAC;YACF,IAAI,CAAC;gBACJ,OAAO,OAAO,CACb,MAAO,kBAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CACnE,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACR,OAAO,KAAK,CAAC;YACd,CAAC;QACF,CAAC,CAAC;QACF,IAAI,CAAC;YACJ,OAAO,OAAO,CACb,MAAO,kBAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CACnE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IAED,OAAO,EAAE,KAAK,EACb,OAAsB,EACtB,OAAe,EACf,MAAc,EACd,QAAyB,EACzB,QAA0B,EAC1B,UAAqB,EACe,EAAE;QACtC,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAiB,WAAW,CAAC,OAAO,CAAC,CAAC;QACxE,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,IAAI,wBAAwB,EAAE,CAAC;YAC7C,kBAAkB,CACjB,KAAK,EACL,QAGsB,EACtB,iBAAiB,CACjB,CAAC;YACF,OAAO;gBACN,IAAI,EAAE,kCAAkC;gBACxC,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE;oBACL,UAAU,EAAE,oBAAoB;oBAChC,KAAK,EAAE,uBAAuB;iBAC9B;gBACD,MAAM,EAAE;oBACP,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,uBAAuB;iBAClC;aACD,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAC;QACnD,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,2BAA2B,CAAC,CAAC;YAC5D,kBAAkB,CACjB,KAAK,EACL,QAGsB,EACtB,iBAAiB,CACjB,CAAC;YACF,OAAO;gBACN,IAAI,EAAE,2BAA2B;gBACjC,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE;oBACL,UAAU,EAAE,oBAAoB;oBAChC,KAAK,EAAE,YAAY;iBACnB;gBACD,MAAM,EAAE;oBACP,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,YAAY;iBACvB;aACD,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,IAAI,WAAW,CACpB,YAAY,EACZ,MAAM,EACN,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,mBAAmB,CAAC,CAC9C,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,CAAC,IAOlB,CAAC;QAEb,MAAM,GAAG,GAAG,cAAc,EAAE,GAAG,IAAI,SAAS,CAAC;QAC7C,MAAM,KAAK,GAAG,cAAc,EAAE,KAAK,IAAI,UAAU,CAAC;QAElD,MAAM,eAAe,GAAY;YAChC,IAAI,EAAE,wCAAwC,KAAK,QAAQ,GAAG,EAAE;YAChE,OAAO,EAAE,CAAC,oBAAoB,CAAC;YAC/B,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,QAAQ;YAC3C,IAAI,EAAE;gBACL,UAAU,EAAE,cAAc,EAAE,UAAU,IAAI,EAAE;gBAC5C,QAAQ,EAAE,cAAc,EAAE,QAAQ,IAAI,WAAW;gBACjD,GAAG;gBACH,KAAK;aACL;SACD,CAAC;QAEF,MAAM,QAAQ,EAAE,CAAC,eAAe,CAAC,CAAC;QAElC,OAAO;YACN,IAAI,EAAE,eAAe,CAAC,IAAI,IAAI,EAAE;YAChC,OAAO,EAAE,IAAI;YACb,IAAI,EAAE;gBACL,UAAU,EAAE,oBAAoB;gBAChC,GAAG;gBACH,KAAK;gBACL,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,UAAU,EAAE,cAAc,EAAE,UAAU,IAAI,EAAE;aAC5C;YACD,MAAM,EAAE;gBACP,OAAO,EAAE,IAAI;gBACb,GAAG;gBACH,KAAK;aACL;SACD,CAAC;IACH,CAAC;IAED,QAAQ,EAAE;QACT;YACC;gBACC,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,EAAE,IAAI,EAAE,+BAA+B,EAAE;aAClD;YACD;gBACC,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE;oBACR,IAAI,EAAE,sCAAsC;oBAC5C,OAAO,EAAE,CAAC,oBAAoB,CAAC;iBAC/B;aACD;SACD;KACD;CACD,CAAC","sourcesContent":["import type {\n\tAction,\n\tActionResult,\n\tContent,\n\tHandlerCallback,\n\tHandlerOptions,\n\tIAgentRuntime,\n\tMemory,\n\tState,\n} from \"@elizaos/core\";\nimport { ServiceType } from \"@elizaos/core\";\nimport type { BrowserService } from \"../services/browser-service.js\";\nimport {\n\tActionError,\n\thandleBrowserError,\n\tServiceNotAvailableError,\n\tSessionError,\n} from \"../utils/errors.js\";\n\nexport const browserScreenshotAction: Action = {\n\tname: \"BROWSER_SCREENSHOT\",\n\tsimiles: [\"TAKE_SCREENSHOT\", \"CAPTURE_PAGE\", \"SCREENSHOT\"],\n\tdescription: \"Take a screenshot of the current page\",\n\n\tvalidate: async (\n\t\truntime: any,\n\t\tmessage: any,\n\t\tstate?: any,\n\t\toptions?: any,\n\t): Promise<boolean> => {\n\t\tconst __avTextRaw =\n\t\t\ttypeof message?.content?.text === \"string\" ? message.content.text : \"\";\n\t\tconst __avText = __avTextRaw.toLowerCase();\n\t\tconst __avKeywords = [\"browser\", \"screenshot\"];\n\t\tconst __avKeywordOk =\n\t\t\t__avKeywords.length > 0 &&\n\t\t\t__avKeywords.some((word) => word.length > 0 && __avText.includes(word));\n\t\tconst __avRegex = /\\b(?:browser|screenshot)\\b/i;\n\t\tconst __avRegexOk = __avRegex.test(__avText);\n\t\tconst __avSource = String(\n\t\t\tmessage?.content?.source ?? message?.source ?? \"\",\n\t\t);\n\t\tconst __avExpectedSource = \"\";\n\t\tconst __avSourceOk = __avExpectedSource\n\t\t\t? __avSource === __avExpectedSource\n\t\t\t: Boolean(\n\t\t\t\t\t__avSource ||\n\t\t\t\t\t\tstate ||\n\t\t\t\t\t\truntime?.agentId ||\n\t\t\t\t\t\truntime?.getService ||\n\t\t\t\t\t\truntime?.getSetting,\n\t\t\t\t);\n\t\tconst __avOptions = options && typeof options === \"object\" ? options : {};\n\t\tconst __avInputOk =\n\t\t\t__avText.trim().length > 0 ||\n\t\t\tObject.keys(__avOptions as Record<string, unknown>).length > 0 ||\n\t\t\tBoolean(message?.content && typeof message.content === \"object\");\n\n\t\tif (!(__avKeywordOk && __avRegexOk && __avSourceOk && __avInputOk)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst __avLegacyValidate = async (\n\t\t\truntime: any,\n\t\t\tmessage: any,\n\t\t\tstate?: any,\n\t\t\toptions?: any,\n\t\t): Promise<boolean> => {\n\t\t\tconst __avTextRaw =\n\t\t\t\ttypeof message?.content?.text === \"string\" ? message.content.text : \"\";\n\t\t\tconst __avText = __avTextRaw.toLowerCase();\n\t\t\tconst __avKeywords = [\"browser\", \"screenshot\"];\n\t\t\tconst __avKeywordOk =\n\t\t\t\t__avKeywords.length > 0 &&\n\t\t\t\t__avKeywords.some((kw) => kw.length > 0 && __avText.includes(kw));\n\t\t\tconst __avRegex = /\\b(?:browser|screenshot)\\b/i;\n\t\t\tconst __avRegexOk = __avRegex.test(__avText);\n\t\t\tconst __avSource = String(\n\t\t\t\tmessage?.content?.source ?? message?.source ?? \"\",\n\t\t\t);\n\t\t\tconst __avExpectedSource = \"\";\n\t\t\tconst __avSourceOk = __avExpectedSource\n\t\t\t\t? __avSource === __avExpectedSource\n\t\t\t\t: Boolean(\n\t\t\t\t\t\t__avSource || state || runtime?.agentId || runtime?.getService,\n\t\t\t\t\t);\n\t\t\tconst __avOptions = options && typeof options === \"object\" ? options : {};\n\t\t\tconst __avInputOk =\n\t\t\t\t__avText.trim().length > 0 ||\n\t\t\t\tObject.keys(__avOptions as Record<string, unknown>).length > 0 ||\n\t\t\t\tBoolean(message?.content && typeof message.content === \"object\");\n\n\t\t\tif (!(__avKeywordOk && __avRegexOk && __avSourceOk && __avInputOk)) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst __avLegacyValidate = async (\n\t\t\t\truntime: IAgentRuntime,\n\t\t\t\tmessage: Memory,\n\t\t\t\t_state?: State,\n\t\t\t): Promise<boolean> => {\n\t\t\t\tconst browserEnabled =\n\t\t\t\t\truntime.getSetting(\"ENABLE_BROWSER\") === \"true\" ||\n\t\t\t\t\truntime.getSetting(\"BROWSER_ENABLED\") === \"true\";\n\n\t\t\t\tif (!browserEnabled) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tconst service = runtime.getService<BrowserService>(ServiceType.BROWSER);\n\t\t\t\tif (!service) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tconst text = message.content?.text?.toLowerCase() ?? \"\";\n\t\t\t\treturn (\n\t\t\t\t\ttext.includes(\"screenshot\") ||\n\t\t\t\t\ttext.includes(\"capture\") ||\n\t\t\t\t\ttext.includes(\"snap\")\n\t\t\t\t);\n\t\t\t};\n\t\t\ttry {\n\t\t\t\treturn Boolean(\n\t\t\t\t\tawait (__avLegacyValidate as any)(runtime, message, state, options),\n\t\t\t\t);\n\t\t\t} catch {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t};\n\t\ttry {\n\t\t\treturn Boolean(\n\t\t\t\tawait (__avLegacyValidate as any)(runtime, message, state, options),\n\t\t\t);\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t},\n\n\thandler: async (\n\t\truntime: IAgentRuntime,\n\t\tmessage: Memory,\n\t\t_state?: State,\n\t\t_options?: HandlerOptions,\n\t\tcallback?: HandlerCallback,\n\t\t_responses?: Memory[],\n\t): Promise<ActionResult | undefined> => {\n\t\tconst service = runtime.getService<BrowserService>(ServiceType.BROWSER);\n\t\tif (!service) {\n\t\t\tconst error = new ServiceNotAvailableError();\n\t\t\thandleBrowserError(\n\t\t\t\terror,\n\t\t\t\tcallback as (content: {\n\t\t\t\t\ttext: string;\n\t\t\t\t\terror?: boolean;\n\t\t\t\t}) => Promise<unknown>,\n\t\t\t\t\"take screenshot\",\n\t\t\t);\n\t\t\treturn {\n\t\t\t\ttext: \"Browser service is not available\",\n\t\t\t\tsuccess: false,\n\t\t\t\tdata: {\n\t\t\t\t\tactionName: \"BROWSER_SCREENSHOT\",\n\t\t\t\t\terror: \"service_not_available\",\n\t\t\t\t},\n\t\t\t\tvalues: {\n\t\t\t\t\tsuccess: false,\n\t\t\t\t\terrorType: \"service_not_available\",\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tconst session = await service.getOrCreateSession();\n\t\tif (!session) {\n\t\t\tconst error = new SessionError(\"No active browser session\");\n\t\t\thandleBrowserError(\n\t\t\t\terror,\n\t\t\t\tcallback as (content: {\n\t\t\t\t\ttext: string;\n\t\t\t\t\terror?: boolean;\n\t\t\t\t}) => Promise<unknown>,\n\t\t\t\t\"take screenshot\",\n\t\t\t);\n\t\t\treturn {\n\t\t\t\ttext: \"No active browser session\",\n\t\t\t\tsuccess: false,\n\t\t\t\tdata: {\n\t\t\t\t\tactionName: \"BROWSER_SCREENSHOT\",\n\t\t\t\t\terror: \"no_session\",\n\t\t\t\t},\n\t\t\t\tvalues: {\n\t\t\t\t\tsuccess: false,\n\t\t\t\t\terrorType: \"no_session\",\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tconst result = await service.getClient().screenshot(session.id);\n\t\tif (!result.success) {\n\t\t\tthrow new ActionError(\n\t\t\t\t\"screenshot\",\n\t\t\t\t\"page\",\n\t\t\t\tnew Error(result.error ?? \"Screenshot failed\"),\n\t\t\t);\n\t\t}\n\n\t\tconst screenshotData = result.data as\n\t\t\t| {\n\t\t\t\t\tscreenshot?: string;\n\t\t\t\t\tmimeType?: string;\n\t\t\t\t\turl?: string;\n\t\t\t\t\ttitle?: string;\n\t\t\t }\n\t\t\t| undefined;\n\n\t\tconst url = screenshotData?.url ?? \"unknown\";\n\t\tconst title = screenshotData?.title ?? \"Untitled\";\n\n\t\tconst responseContent: Content = {\n\t\t\ttext: `I've taken a screenshot of the page \"${title}\" at ${url}`,\n\t\t\tactions: [\"BROWSER_SCREENSHOT\"],\n\t\t\tsource: message.content?.source ?? \"action\",\n\t\t\tdata: {\n\t\t\t\tscreenshot: screenshotData?.screenshot ?? \"\",\n\t\t\t\tmimeType: screenshotData?.mimeType ?? \"image/png\",\n\t\t\t\turl,\n\t\t\t\ttitle,\n\t\t\t},\n\t\t};\n\n\t\tawait callback?.(responseContent);\n\n\t\treturn {\n\t\t\ttext: responseContent.text ?? \"\",\n\t\t\tsuccess: true,\n\t\t\tdata: {\n\t\t\t\tactionName: \"BROWSER_SCREENSHOT\",\n\t\t\t\turl,\n\t\t\t\ttitle,\n\t\t\t\tsessionId: session.id,\n\t\t\t\tscreenshot: screenshotData?.screenshot ?? \"\",\n\t\t\t},\n\t\t\tvalues: {\n\t\t\t\tsuccess: true,\n\t\t\t\turl,\n\t\t\t\ttitle,\n\t\t\t},\n\t\t};\n\t},\n\n\texamples: [\n\t\t[\n\t\t\t{\n\t\t\t\tname: \"{{user}}\",\n\t\t\t\tcontent: { text: \"Take a screenshot of the page\" },\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"{{agent}}\",\n\t\t\t\tcontent: {\n\t\t\t\t\ttext: \"I've taken a screenshot of the page.\",\n\t\t\t\t\tactions: [\"BROWSER_SCREENSHOT\"],\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t],\n};\n"]}
|
package/dist/actions/select.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../src/actions/select.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,MAAM,EAQN,MAAM,eAAe,CAAC;AAUvB,eAAO,MAAM,mBAAmB,EAAE,MAmPjC,CAAC"}
|
package/dist/actions/select.js
DELETED
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
import { ServiceType } from "@elizaos/core";
|
|
2
|
-
import { ActionError, handleBrowserError, ServiceNotAvailableError, SessionError, } from "../utils/errors.js";
|
|
3
|
-
export const browserSelectAction = {
|
|
4
|
-
name: "BROWSER_SELECT",
|
|
5
|
-
similes: ["SELECT_OPTION", "CHOOSE", "PICK"],
|
|
6
|
-
description: "Select an option from a dropdown on the webpage",
|
|
7
|
-
validate: async (runtime, message, state, options) => {
|
|
8
|
-
const __avTextRaw = typeof message?.content?.text === "string" ? message.content.text : "";
|
|
9
|
-
const __avText = __avTextRaw.toLowerCase();
|
|
10
|
-
const __avKeywords = ["browser", "select"];
|
|
11
|
-
const __avKeywordOk = __avKeywords.length > 0 &&
|
|
12
|
-
__avKeywords.some((word) => word.length > 0 && __avText.includes(word));
|
|
13
|
-
const __avRegex = /\b(?:browser|select)\b/i;
|
|
14
|
-
const __avRegexOk = __avRegex.test(__avText);
|
|
15
|
-
const __avSource = String(message?.content?.source ?? message?.source ?? "");
|
|
16
|
-
const __avExpectedSource = "";
|
|
17
|
-
const __avSourceOk = __avExpectedSource
|
|
18
|
-
? __avSource === __avExpectedSource
|
|
19
|
-
: Boolean(__avSource ||
|
|
20
|
-
state ||
|
|
21
|
-
runtime?.agentId ||
|
|
22
|
-
runtime?.getService ||
|
|
23
|
-
runtime?.getSetting);
|
|
24
|
-
const __avOptions = options && typeof options === "object" ? options : {};
|
|
25
|
-
const __avInputOk = __avText.trim().length > 0 ||
|
|
26
|
-
Object.keys(__avOptions).length > 0 ||
|
|
27
|
-
Boolean(message?.content && typeof message.content === "object");
|
|
28
|
-
if (!(__avKeywordOk && __avRegexOk && __avSourceOk && __avInputOk)) {
|
|
29
|
-
return false;
|
|
30
|
-
}
|
|
31
|
-
const __avLegacyValidate = async (runtime, message, state, options) => {
|
|
32
|
-
const __avTextRaw = typeof message?.content?.text === "string" ? message.content.text : "";
|
|
33
|
-
const __avText = __avTextRaw.toLowerCase();
|
|
34
|
-
const __avKeywords = ["browser", "select"];
|
|
35
|
-
const __avKeywordOk = __avKeywords.length > 0 &&
|
|
36
|
-
__avKeywords.some((kw) => kw.length > 0 && __avText.includes(kw));
|
|
37
|
-
const __avRegex = /\b(?:browser|select)\b/i;
|
|
38
|
-
const __avRegexOk = __avRegex.test(__avText);
|
|
39
|
-
const __avSource = String(message?.content?.source ?? message?.source ?? "");
|
|
40
|
-
const __avExpectedSource = "";
|
|
41
|
-
const __avSourceOk = __avExpectedSource
|
|
42
|
-
? __avSource === __avExpectedSource
|
|
43
|
-
: Boolean(__avSource || state || runtime?.agentId || runtime?.getService);
|
|
44
|
-
const __avOptions = options && typeof options === "object" ? options : {};
|
|
45
|
-
const __avInputOk = __avText.trim().length > 0 ||
|
|
46
|
-
Object.keys(__avOptions).length > 0 ||
|
|
47
|
-
Boolean(message?.content && typeof message.content === "object");
|
|
48
|
-
if (!(__avKeywordOk && __avRegexOk && __avSourceOk && __avInputOk)) {
|
|
49
|
-
return false;
|
|
50
|
-
}
|
|
51
|
-
const __avLegacyValidate = async (runtime, message, _state) => {
|
|
52
|
-
const browserEnabled = runtime.getSetting("ENABLE_BROWSER") === "true" ||
|
|
53
|
-
runtime.getSetting("BROWSER_ENABLED") === "true";
|
|
54
|
-
if (!browserEnabled) {
|
|
55
|
-
return false;
|
|
56
|
-
}
|
|
57
|
-
const service = runtime.getService(ServiceType.BROWSER);
|
|
58
|
-
if (!service) {
|
|
59
|
-
return false;
|
|
60
|
-
}
|
|
61
|
-
const text = message.content?.text?.toLowerCase() ?? "";
|
|
62
|
-
return (text.includes("select") ||
|
|
63
|
-
text.includes("choose") ||
|
|
64
|
-
text.includes("pick"));
|
|
65
|
-
};
|
|
66
|
-
try {
|
|
67
|
-
return Boolean(await __avLegacyValidate(runtime, message, state, options));
|
|
68
|
-
}
|
|
69
|
-
catch {
|
|
70
|
-
return false;
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
try {
|
|
74
|
-
return Boolean(await __avLegacyValidate(runtime, message, state, options));
|
|
75
|
-
}
|
|
76
|
-
catch {
|
|
77
|
-
return false;
|
|
78
|
-
}
|
|
79
|
-
},
|
|
80
|
-
handler: async (runtime, message, _state, _options, callback, _responses) => {
|
|
81
|
-
const service = runtime.getService(ServiceType.BROWSER);
|
|
82
|
-
if (!service) {
|
|
83
|
-
const error = new ServiceNotAvailableError();
|
|
84
|
-
handleBrowserError(error, callback, "select option");
|
|
85
|
-
return {
|
|
86
|
-
text: "Browser service is not available",
|
|
87
|
-
success: false,
|
|
88
|
-
data: {
|
|
89
|
-
actionName: "BROWSER_SELECT",
|
|
90
|
-
error: "service_not_available",
|
|
91
|
-
},
|
|
92
|
-
values: {
|
|
93
|
-
success: false,
|
|
94
|
-
errorType: "service_not_available",
|
|
95
|
-
},
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
const session = await service.getOrCreateSession();
|
|
99
|
-
if (!session) {
|
|
100
|
-
const error = new SessionError("No active browser session");
|
|
101
|
-
handleBrowserError(error, callback, "select option");
|
|
102
|
-
return {
|
|
103
|
-
text: "No active browser session",
|
|
104
|
-
success: false,
|
|
105
|
-
data: {
|
|
106
|
-
actionName: "BROWSER_SELECT",
|
|
107
|
-
error: "no_session",
|
|
108
|
-
},
|
|
109
|
-
values: {
|
|
110
|
-
success: false,
|
|
111
|
-
errorType: "no_session",
|
|
112
|
-
},
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
const text = message.content?.text ?? "";
|
|
116
|
-
const match = text.match(/["']([^"']+)["']/);
|
|
117
|
-
const option = match ? match[1] : "";
|
|
118
|
-
const dropdownMatch = text.match(/from (?:the )?(.+)$/i);
|
|
119
|
-
const dropdown = dropdownMatch ? dropdownMatch[1] : "dropdown";
|
|
120
|
-
if (!option) {
|
|
121
|
-
throw new ActionError("select", dropdown, new Error("No option specified to select"));
|
|
122
|
-
}
|
|
123
|
-
const result = await service
|
|
124
|
-
.getClient()
|
|
125
|
-
.select(session.id, option, dropdown);
|
|
126
|
-
if (!result.success) {
|
|
127
|
-
throw new ActionError("select", dropdown, new Error(result.error ?? "Select failed"));
|
|
128
|
-
}
|
|
129
|
-
const responseContent = {
|
|
130
|
-
text: `I've selected "${option}" from the ${dropdown}`,
|
|
131
|
-
actions: ["BROWSER_SELECT"],
|
|
132
|
-
source: message.content?.source ?? "action",
|
|
133
|
-
};
|
|
134
|
-
await callback?.(responseContent);
|
|
135
|
-
return {
|
|
136
|
-
text: responseContent.text ?? "",
|
|
137
|
-
success: true,
|
|
138
|
-
data: {
|
|
139
|
-
actionName: "BROWSER_SELECT",
|
|
140
|
-
option,
|
|
141
|
-
dropdown,
|
|
142
|
-
sessionId: session.id,
|
|
143
|
-
},
|
|
144
|
-
values: {
|
|
145
|
-
success: true,
|
|
146
|
-
option,
|
|
147
|
-
dropdown,
|
|
148
|
-
},
|
|
149
|
-
};
|
|
150
|
-
},
|
|
151
|
-
examples: [
|
|
152
|
-
[
|
|
153
|
-
{
|
|
154
|
-
name: "{{user}}",
|
|
155
|
-
content: { text: 'Select "United States" from the country dropdown' },
|
|
156
|
-
},
|
|
157
|
-
{
|
|
158
|
-
name: "{{agent}}",
|
|
159
|
-
content: {
|
|
160
|
-
text: 'I\'ve selected "United States" from the country dropdown.',
|
|
161
|
-
actions: ["BROWSER_SELECT"],
|
|
162
|
-
},
|
|
163
|
-
},
|
|
164
|
-
],
|
|
165
|
-
],
|
|
166
|
-
};
|
|
167
|
-
//# sourceMappingURL=select.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../src/actions/select.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n\tAction,\n\tActionResult,\n\tContent,\n\tHandlerCallback,\n\tHandlerOptions,\n\tIAgentRuntime,\n\tMemory,\n\tState,\n} from \"@elizaos/core\";\nimport { ServiceType } from \"@elizaos/core\";\nimport type { BrowserService } from \"../services/browser-service.js\";\nimport {\n\tActionError,\n\thandleBrowserError,\n\tServiceNotAvailableError,\n\tSessionError,\n} from \"../utils/errors.js\";\n\nexport const browserSelectAction: Action = {\n\tname: \"BROWSER_SELECT\",\n\tsimiles: [\"SELECT_OPTION\", \"CHOOSE\", \"PICK\"],\n\tdescription: \"Select an option from a dropdown on the webpage\",\n\n\tvalidate: async (\n\t\truntime: any,\n\t\tmessage: any,\n\t\tstate?: any,\n\t\toptions?: any,\n\t): Promise<boolean> => {\n\t\tconst __avTextRaw =\n\t\t\ttypeof message?.content?.text === \"string\" ? message.content.text : \"\";\n\t\tconst __avText = __avTextRaw.toLowerCase();\n\t\tconst __avKeywords = [\"browser\", \"select\"];\n\t\tconst __avKeywordOk =\n\t\t\t__avKeywords.length > 0 &&\n\t\t\t__avKeywords.some((word) => word.length > 0 && __avText.includes(word));\n\t\tconst __avRegex = /\\b(?:browser|select)\\b/i;\n\t\tconst __avRegexOk = __avRegex.test(__avText);\n\t\tconst __avSource = String(\n\t\t\tmessage?.content?.source ?? message?.source ?? \"\",\n\t\t);\n\t\tconst __avExpectedSource = \"\";\n\t\tconst __avSourceOk = __avExpectedSource\n\t\t\t? __avSource === __avExpectedSource\n\t\t\t: Boolean(\n\t\t\t\t\t__avSource ||\n\t\t\t\t\t\tstate ||\n\t\t\t\t\t\truntime?.agentId ||\n\t\t\t\t\t\truntime?.getService ||\n\t\t\t\t\t\truntime?.getSetting,\n\t\t\t\t);\n\t\tconst __avOptions = options && typeof options === \"object\" ? options : {};\n\t\tconst __avInputOk =\n\t\t\t__avText.trim().length > 0 ||\n\t\t\tObject.keys(__avOptions as Record<string, unknown>).length > 0 ||\n\t\t\tBoolean(message?.content && typeof message.content === \"object\");\n\n\t\tif (!(__avKeywordOk && __avRegexOk && __avSourceOk && __avInputOk)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst __avLegacyValidate = async (\n\t\t\truntime: any,\n\t\t\tmessage: any,\n\t\t\tstate?: any,\n\t\t\toptions?: any,\n\t\t): Promise<boolean> => {\n\t\t\tconst __avTextRaw =\n\t\t\t\ttypeof message?.content?.text === \"string\" ? message.content.text : \"\";\n\t\t\tconst __avText = __avTextRaw.toLowerCase();\n\t\t\tconst __avKeywords = [\"browser\", \"select\"];\n\t\t\tconst __avKeywordOk =\n\t\t\t\t__avKeywords.length > 0 &&\n\t\t\t\t__avKeywords.some((kw) => kw.length > 0 && __avText.includes(kw));\n\t\t\tconst __avRegex = /\\b(?:browser|select)\\b/i;\n\t\t\tconst __avRegexOk = __avRegex.test(__avText);\n\t\t\tconst __avSource = String(\n\t\t\t\tmessage?.content?.source ?? message?.source ?? \"\",\n\t\t\t);\n\t\t\tconst __avExpectedSource = \"\";\n\t\t\tconst __avSourceOk = __avExpectedSource\n\t\t\t\t? __avSource === __avExpectedSource\n\t\t\t\t: Boolean(\n\t\t\t\t\t\t__avSource || state || runtime?.agentId || runtime?.getService,\n\t\t\t\t\t);\n\t\t\tconst __avOptions = options && typeof options === \"object\" ? options : {};\n\t\t\tconst __avInputOk =\n\t\t\t\t__avText.trim().length > 0 ||\n\t\t\t\tObject.keys(__avOptions as Record<string, unknown>).length > 0 ||\n\t\t\t\tBoolean(message?.content && typeof message.content === \"object\");\n\n\t\t\tif (!(__avKeywordOk && __avRegexOk && __avSourceOk && __avInputOk)) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst __avLegacyValidate = async (\n\t\t\t\truntime: IAgentRuntime,\n\t\t\t\tmessage: Memory,\n\t\t\t\t_state?: State,\n\t\t\t): Promise<boolean> => {\n\t\t\t\tconst browserEnabled =\n\t\t\t\t\truntime.getSetting(\"ENABLE_BROWSER\") === \"true\" ||\n\t\t\t\t\truntime.getSetting(\"BROWSER_ENABLED\") === \"true\";\n\n\t\t\t\tif (!browserEnabled) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tconst service = runtime.getService<BrowserService>(ServiceType.BROWSER);\n\t\t\t\tif (!service) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tconst text = message.content?.text?.toLowerCase() ?? \"\";\n\t\t\t\treturn (\n\t\t\t\t\ttext.includes(\"select\") ||\n\t\t\t\t\ttext.includes(\"choose\") ||\n\t\t\t\t\ttext.includes(\"pick\")\n\t\t\t\t);\n\t\t\t};\n\t\t\ttry {\n\t\t\t\treturn Boolean(\n\t\t\t\t\tawait (__avLegacyValidate as any)(runtime, message, state, options),\n\t\t\t\t);\n\t\t\t} catch {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t};\n\t\ttry {\n\t\t\treturn Boolean(\n\t\t\t\tawait (__avLegacyValidate as any)(runtime, message, state, options),\n\t\t\t);\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t},\n\n\thandler: async (\n\t\truntime: IAgentRuntime,\n\t\tmessage: Memory,\n\t\t_state?: State,\n\t\t_options?: HandlerOptions,\n\t\tcallback?: HandlerCallback,\n\t\t_responses?: Memory[],\n\t): Promise<ActionResult | undefined> => {\n\t\tconst service = runtime.getService<BrowserService>(ServiceType.BROWSER);\n\t\tif (!service) {\n\t\t\tconst error = new ServiceNotAvailableError();\n\t\t\thandleBrowserError(\n\t\t\t\terror,\n\t\t\t\tcallback as (content: {\n\t\t\t\t\ttext: string;\n\t\t\t\t\terror?: boolean;\n\t\t\t\t}) => Promise<unknown>,\n\t\t\t\t\"select option\",\n\t\t\t);\n\t\t\treturn {\n\t\t\t\ttext: \"Browser service is not available\",\n\t\t\t\tsuccess: false,\n\t\t\t\tdata: {\n\t\t\t\t\tactionName: \"BROWSER_SELECT\",\n\t\t\t\t\terror: \"service_not_available\",\n\t\t\t\t},\n\t\t\t\tvalues: {\n\t\t\t\t\tsuccess: false,\n\t\t\t\t\terrorType: \"service_not_available\",\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tconst session = await service.getOrCreateSession();\n\t\tif (!session) {\n\t\t\tconst error = new SessionError(\"No active browser session\");\n\t\t\thandleBrowserError(\n\t\t\t\terror,\n\t\t\t\tcallback as (content: {\n\t\t\t\t\ttext: string;\n\t\t\t\t\terror?: boolean;\n\t\t\t\t}) => Promise<unknown>,\n\t\t\t\t\"select option\",\n\t\t\t);\n\t\t\treturn {\n\t\t\t\ttext: \"No active browser session\",\n\t\t\t\tsuccess: false,\n\t\t\t\tdata: {\n\t\t\t\t\tactionName: \"BROWSER_SELECT\",\n\t\t\t\t\terror: \"no_session\",\n\t\t\t\t},\n\t\t\t\tvalues: {\n\t\t\t\t\tsuccess: false,\n\t\t\t\t\terrorType: \"no_session\",\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tconst text = message.content?.text ?? \"\";\n\t\tconst match = text.match(/[\"']([^\"']+)[\"']/);\n\t\tconst option = match ? match[1] : \"\";\n\n\t\tconst dropdownMatch = text.match(/from (?:the )?(.+)$/i);\n\t\tconst dropdown = dropdownMatch ? dropdownMatch[1] : \"dropdown\";\n\n\t\tif (!option) {\n\t\t\tthrow new ActionError(\n\t\t\t\t\"select\",\n\t\t\t\tdropdown,\n\t\t\t\tnew Error(\"No option specified to select\"),\n\t\t\t);\n\t\t}\n\n\t\tconst result = await service\n\t\t\t.getClient()\n\t\t\t.select(session.id, option, dropdown);\n\t\tif (!result.success) {\n\t\t\tthrow new ActionError(\n\t\t\t\t\"select\",\n\t\t\t\tdropdown,\n\t\t\t\tnew Error(result.error ?? \"Select failed\"),\n\t\t\t);\n\t\t}\n\n\t\tconst responseContent: Content = {\n\t\t\ttext: `I've selected \"${option}\" from the ${dropdown}`,\n\t\t\tactions: [\"BROWSER_SELECT\"],\n\t\t\tsource: message.content?.source ?? \"action\",\n\t\t};\n\n\t\tawait callback?.(responseContent);\n\n\t\treturn {\n\t\t\ttext: responseContent.text ?? \"\",\n\t\t\tsuccess: true,\n\t\t\tdata: {\n\t\t\t\tactionName: \"BROWSER_SELECT\",\n\t\t\t\toption,\n\t\t\t\tdropdown,\n\t\t\t\tsessionId: session.id,\n\t\t\t},\n\t\t\tvalues: {\n\t\t\t\tsuccess: true,\n\t\t\t\toption,\n\t\t\t\tdropdown,\n\t\t\t},\n\t\t};\n\t},\n\n\texamples: [\n\t\t[\n\t\t\t{\n\t\t\t\tname: \"{{user}}\",\n\t\t\t\tcontent: { text: 'Select \"United States\" from the country dropdown' },\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"{{agent}}\",\n\t\t\t\tcontent: {\n\t\t\t\t\ttext: 'I\\'ve selected \"United States\" from the country dropdown.',\n\t\t\t\t\tactions: [\"BROWSER_SELECT\"],\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t],\n};\n"]}
|
package/dist/actions/type.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/actions/type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,MAAM,EAQN,MAAM,eAAe,CAAC;AAUvB,eAAO,MAAM,iBAAiB,EAAE,MAmP/B,CAAC"}
|
package/dist/actions/type.js
DELETED
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
import { ServiceType } from "@elizaos/core";
|
|
2
|
-
import { ActionError, handleBrowserError, ServiceNotAvailableError, SessionError, } from "../utils/errors.js";
|
|
3
|
-
export const browserTypeAction = {
|
|
4
|
-
name: "BROWSER_TYPE",
|
|
5
|
-
similes: ["TYPE_TEXT", "INPUT", "ENTER_TEXT"],
|
|
6
|
-
description: "Type text into an input field on the webpage",
|
|
7
|
-
validate: async (runtime, message, state, options) => {
|
|
8
|
-
const __avTextRaw = typeof message?.content?.text === "string" ? message.content.text : "";
|
|
9
|
-
const __avText = __avTextRaw.toLowerCase();
|
|
10
|
-
const __avKeywords = ["browser", "type"];
|
|
11
|
-
const __avKeywordOk = __avKeywords.length > 0 &&
|
|
12
|
-
__avKeywords.some((word) => word.length > 0 && __avText.includes(word));
|
|
13
|
-
const __avRegex = /\b(?:browser|type)\b/i;
|
|
14
|
-
const __avRegexOk = __avRegex.test(__avText);
|
|
15
|
-
const __avSource = String(message?.content?.source ?? message?.source ?? "");
|
|
16
|
-
const __avExpectedSource = "";
|
|
17
|
-
const __avSourceOk = __avExpectedSource
|
|
18
|
-
? __avSource === __avExpectedSource
|
|
19
|
-
: Boolean(__avSource ||
|
|
20
|
-
state ||
|
|
21
|
-
runtime?.agentId ||
|
|
22
|
-
runtime?.getService ||
|
|
23
|
-
runtime?.getSetting);
|
|
24
|
-
const __avOptions = options && typeof options === "object" ? options : {};
|
|
25
|
-
const __avInputOk = __avText.trim().length > 0 ||
|
|
26
|
-
Object.keys(__avOptions).length > 0 ||
|
|
27
|
-
Boolean(message?.content && typeof message.content === "object");
|
|
28
|
-
if (!(__avKeywordOk && __avRegexOk && __avSourceOk && __avInputOk)) {
|
|
29
|
-
return false;
|
|
30
|
-
}
|
|
31
|
-
const __avLegacyValidate = async (runtime, message, state, options) => {
|
|
32
|
-
const __avTextRaw = typeof message?.content?.text === "string" ? message.content.text : "";
|
|
33
|
-
const __avText = __avTextRaw.toLowerCase();
|
|
34
|
-
const __avKeywords = ["browser", "type"];
|
|
35
|
-
const __avKeywordOk = __avKeywords.length > 0 &&
|
|
36
|
-
__avKeywords.some((kw) => kw.length > 0 && __avText.includes(kw));
|
|
37
|
-
const __avRegex = /\b(?:browser|type)\b/i;
|
|
38
|
-
const __avRegexOk = __avRegex.test(__avText);
|
|
39
|
-
const __avSource = String(message?.content?.source ?? message?.source ?? "");
|
|
40
|
-
const __avExpectedSource = "";
|
|
41
|
-
const __avSourceOk = __avExpectedSource
|
|
42
|
-
? __avSource === __avExpectedSource
|
|
43
|
-
: Boolean(__avSource || state || runtime?.agentId || runtime?.getService);
|
|
44
|
-
const __avOptions = options && typeof options === "object" ? options : {};
|
|
45
|
-
const __avInputOk = __avText.trim().length > 0 ||
|
|
46
|
-
Object.keys(__avOptions).length > 0 ||
|
|
47
|
-
Boolean(message?.content && typeof message.content === "object");
|
|
48
|
-
if (!(__avKeywordOk && __avRegexOk && __avSourceOk && __avInputOk)) {
|
|
49
|
-
return false;
|
|
50
|
-
}
|
|
51
|
-
const __avLegacyValidate = async (runtime, message, _state) => {
|
|
52
|
-
const browserEnabled = runtime.getSetting("ENABLE_BROWSER") === "true" ||
|
|
53
|
-
runtime.getSetting("BROWSER_ENABLED") === "true";
|
|
54
|
-
if (!browserEnabled) {
|
|
55
|
-
return false;
|
|
56
|
-
}
|
|
57
|
-
const service = runtime.getService(ServiceType.BROWSER);
|
|
58
|
-
if (!service) {
|
|
59
|
-
return false;
|
|
60
|
-
}
|
|
61
|
-
const text = message.content?.text?.toLowerCase() ?? "";
|
|
62
|
-
return (text.includes("type") ||
|
|
63
|
-
text.includes("input") ||
|
|
64
|
-
text.includes("enter"));
|
|
65
|
-
};
|
|
66
|
-
try {
|
|
67
|
-
return Boolean(await __avLegacyValidate(runtime, message, state, options));
|
|
68
|
-
}
|
|
69
|
-
catch {
|
|
70
|
-
return false;
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
try {
|
|
74
|
-
return Boolean(await __avLegacyValidate(runtime, message, state, options));
|
|
75
|
-
}
|
|
76
|
-
catch {
|
|
77
|
-
return false;
|
|
78
|
-
}
|
|
79
|
-
},
|
|
80
|
-
handler: async (runtime, message, _state, _options, callback, _responses) => {
|
|
81
|
-
const service = runtime.getService(ServiceType.BROWSER);
|
|
82
|
-
if (!service) {
|
|
83
|
-
const error = new ServiceNotAvailableError();
|
|
84
|
-
handleBrowserError(error, callback, "type text");
|
|
85
|
-
return {
|
|
86
|
-
text: "Browser service is not available",
|
|
87
|
-
success: false,
|
|
88
|
-
data: {
|
|
89
|
-
actionName: "BROWSER_TYPE",
|
|
90
|
-
error: "service_not_available",
|
|
91
|
-
},
|
|
92
|
-
values: {
|
|
93
|
-
success: false,
|
|
94
|
-
errorType: "service_not_available",
|
|
95
|
-
},
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
const session = await service.getOrCreateSession();
|
|
99
|
-
if (!session) {
|
|
100
|
-
const error = new SessionError("No active browser session");
|
|
101
|
-
handleBrowserError(error, callback, "type text");
|
|
102
|
-
return {
|
|
103
|
-
text: "No active browser session",
|
|
104
|
-
success: false,
|
|
105
|
-
data: {
|
|
106
|
-
actionName: "BROWSER_TYPE",
|
|
107
|
-
error: "no_session",
|
|
108
|
-
},
|
|
109
|
-
values: {
|
|
110
|
-
success: false,
|
|
111
|
-
errorType: "no_session",
|
|
112
|
-
},
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
const text = message.content?.text ?? "";
|
|
116
|
-
const match = text.match(/["']([^"']+)["']/);
|
|
117
|
-
const textToType = match ? match[1] : "";
|
|
118
|
-
const fieldMatch = text.match(/(?:in|into) (?:the )?(.+)$/i);
|
|
119
|
-
const field = fieldMatch ? fieldMatch[1] : "input field";
|
|
120
|
-
if (!textToType) {
|
|
121
|
-
throw new ActionError("type", field, new Error("No text specified to type"));
|
|
122
|
-
}
|
|
123
|
-
const result = await service
|
|
124
|
-
.getClient()
|
|
125
|
-
.type(session.id, textToType, field);
|
|
126
|
-
if (!result.success) {
|
|
127
|
-
throw new ActionError("type", field, new Error(result.error ?? "Type failed"));
|
|
128
|
-
}
|
|
129
|
-
const responseContent = {
|
|
130
|
-
text: `I've typed "${textToType}" in the ${field}`,
|
|
131
|
-
actions: ["BROWSER_TYPE"],
|
|
132
|
-
source: message.content?.source ?? "action",
|
|
133
|
-
};
|
|
134
|
-
await callback?.(responseContent);
|
|
135
|
-
return {
|
|
136
|
-
text: responseContent.text ?? "",
|
|
137
|
-
success: true,
|
|
138
|
-
data: {
|
|
139
|
-
actionName: "BROWSER_TYPE",
|
|
140
|
-
textTyped: textToType,
|
|
141
|
-
field,
|
|
142
|
-
sessionId: session.id,
|
|
143
|
-
},
|
|
144
|
-
values: {
|
|
145
|
-
success: true,
|
|
146
|
-
textTyped: textToType,
|
|
147
|
-
field,
|
|
148
|
-
},
|
|
149
|
-
};
|
|
150
|
-
},
|
|
151
|
-
examples: [
|
|
152
|
-
[
|
|
153
|
-
{
|
|
154
|
-
name: "{{user}}",
|
|
155
|
-
content: { text: 'Type "hello world" in the search box' },
|
|
156
|
-
},
|
|
157
|
-
{
|
|
158
|
-
name: "{{agent}}",
|
|
159
|
-
content: {
|
|
160
|
-
text: 'I\'ve typed "hello world" in the search box.',
|
|
161
|
-
actions: ["BROWSER_TYPE"],
|
|
162
|
-
},
|
|
163
|
-
},
|
|
164
|
-
],
|
|
165
|
-
],
|
|
166
|
-
};
|
|
167
|
-
//# sourceMappingURL=type.js.map
|
package/dist/actions/type.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/actions/type.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n\tAction,\n\tActionResult,\n\tContent,\n\tHandlerCallback,\n\tHandlerOptions,\n\tIAgentRuntime,\n\tMemory,\n\tState,\n} from \"@elizaos/core\";\nimport { ServiceType } from \"@elizaos/core\";\nimport type { BrowserService } from \"../services/browser-service.js\";\nimport {\n\tActionError,\n\thandleBrowserError,\n\tServiceNotAvailableError,\n\tSessionError,\n} from \"../utils/errors.js\";\n\nexport const browserTypeAction: Action = {\n\tname: \"BROWSER_TYPE\",\n\tsimiles: [\"TYPE_TEXT\", \"INPUT\", \"ENTER_TEXT\"],\n\tdescription: \"Type text into an input field on the webpage\",\n\n\tvalidate: async (\n\t\truntime: any,\n\t\tmessage: any,\n\t\tstate?: any,\n\t\toptions?: any,\n\t): Promise<boolean> => {\n\t\tconst __avTextRaw =\n\t\t\ttypeof message?.content?.text === \"string\" ? message.content.text : \"\";\n\t\tconst __avText = __avTextRaw.toLowerCase();\n\t\tconst __avKeywords = [\"browser\", \"type\"];\n\t\tconst __avKeywordOk =\n\t\t\t__avKeywords.length > 0 &&\n\t\t\t__avKeywords.some((word) => word.length > 0 && __avText.includes(word));\n\t\tconst __avRegex = /\\b(?:browser|type)\\b/i;\n\t\tconst __avRegexOk = __avRegex.test(__avText);\n\t\tconst __avSource = String(\n\t\t\tmessage?.content?.source ?? message?.source ?? \"\",\n\t\t);\n\t\tconst __avExpectedSource = \"\";\n\t\tconst __avSourceOk = __avExpectedSource\n\t\t\t? __avSource === __avExpectedSource\n\t\t\t: Boolean(\n\t\t\t\t\t__avSource ||\n\t\t\t\t\t\tstate ||\n\t\t\t\t\t\truntime?.agentId ||\n\t\t\t\t\t\truntime?.getService ||\n\t\t\t\t\t\truntime?.getSetting,\n\t\t\t\t);\n\t\tconst __avOptions = options && typeof options === \"object\" ? options : {};\n\t\tconst __avInputOk =\n\t\t\t__avText.trim().length > 0 ||\n\t\t\tObject.keys(__avOptions as Record<string, unknown>).length > 0 ||\n\t\t\tBoolean(message?.content && typeof message.content === \"object\");\n\n\t\tif (!(__avKeywordOk && __avRegexOk && __avSourceOk && __avInputOk)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst __avLegacyValidate = async (\n\t\t\truntime: any,\n\t\t\tmessage: any,\n\t\t\tstate?: any,\n\t\t\toptions?: any,\n\t\t): Promise<boolean> => {\n\t\t\tconst __avTextRaw =\n\t\t\t\ttypeof message?.content?.text === \"string\" ? message.content.text : \"\";\n\t\t\tconst __avText = __avTextRaw.toLowerCase();\n\t\t\tconst __avKeywords = [\"browser\", \"type\"];\n\t\t\tconst __avKeywordOk =\n\t\t\t\t__avKeywords.length > 0 &&\n\t\t\t\t__avKeywords.some((kw) => kw.length > 0 && __avText.includes(kw));\n\t\t\tconst __avRegex = /\\b(?:browser|type)\\b/i;\n\t\t\tconst __avRegexOk = __avRegex.test(__avText);\n\t\t\tconst __avSource = String(\n\t\t\t\tmessage?.content?.source ?? message?.source ?? \"\",\n\t\t\t);\n\t\t\tconst __avExpectedSource = \"\";\n\t\t\tconst __avSourceOk = __avExpectedSource\n\t\t\t\t? __avSource === __avExpectedSource\n\t\t\t\t: Boolean(\n\t\t\t\t\t\t__avSource || state || runtime?.agentId || runtime?.getService,\n\t\t\t\t\t);\n\t\t\tconst __avOptions = options && typeof options === \"object\" ? options : {};\n\t\t\tconst __avInputOk =\n\t\t\t\t__avText.trim().length > 0 ||\n\t\t\t\tObject.keys(__avOptions as Record<string, unknown>).length > 0 ||\n\t\t\t\tBoolean(message?.content && typeof message.content === \"object\");\n\n\t\t\tif (!(__avKeywordOk && __avRegexOk && __avSourceOk && __avInputOk)) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst __avLegacyValidate = async (\n\t\t\t\truntime: IAgentRuntime,\n\t\t\t\tmessage: Memory,\n\t\t\t\t_state?: State,\n\t\t\t): Promise<boolean> => {\n\t\t\t\tconst browserEnabled =\n\t\t\t\t\truntime.getSetting(\"ENABLE_BROWSER\") === \"true\" ||\n\t\t\t\t\truntime.getSetting(\"BROWSER_ENABLED\") === \"true\";\n\n\t\t\t\tif (!browserEnabled) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tconst service = runtime.getService<BrowserService>(ServiceType.BROWSER);\n\t\t\t\tif (!service) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tconst text = message.content?.text?.toLowerCase() ?? \"\";\n\t\t\t\treturn (\n\t\t\t\t\ttext.includes(\"type\") ||\n\t\t\t\t\ttext.includes(\"input\") ||\n\t\t\t\t\ttext.includes(\"enter\")\n\t\t\t\t);\n\t\t\t};\n\t\t\ttry {\n\t\t\t\treturn Boolean(\n\t\t\t\t\tawait (__avLegacyValidate as any)(runtime, message, state, options),\n\t\t\t\t);\n\t\t\t} catch {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t};\n\t\ttry {\n\t\t\treturn Boolean(\n\t\t\t\tawait (__avLegacyValidate as any)(runtime, message, state, options),\n\t\t\t);\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t},\n\n\thandler: async (\n\t\truntime: IAgentRuntime,\n\t\tmessage: Memory,\n\t\t_state?: State,\n\t\t_options?: HandlerOptions,\n\t\tcallback?: HandlerCallback,\n\t\t_responses?: Memory[],\n\t): Promise<ActionResult | undefined> => {\n\t\tconst service = runtime.getService<BrowserService>(ServiceType.BROWSER);\n\t\tif (!service) {\n\t\t\tconst error = new ServiceNotAvailableError();\n\t\t\thandleBrowserError(\n\t\t\t\terror,\n\t\t\t\tcallback as (content: {\n\t\t\t\t\ttext: string;\n\t\t\t\t\terror?: boolean;\n\t\t\t\t}) => Promise<unknown>,\n\t\t\t\t\"type text\",\n\t\t\t);\n\t\t\treturn {\n\t\t\t\ttext: \"Browser service is not available\",\n\t\t\t\tsuccess: false,\n\t\t\t\tdata: {\n\t\t\t\t\tactionName: \"BROWSER_TYPE\",\n\t\t\t\t\terror: \"service_not_available\",\n\t\t\t\t},\n\t\t\t\tvalues: {\n\t\t\t\t\tsuccess: false,\n\t\t\t\t\terrorType: \"service_not_available\",\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tconst session = await service.getOrCreateSession();\n\t\tif (!session) {\n\t\t\tconst error = new SessionError(\"No active browser session\");\n\t\t\thandleBrowserError(\n\t\t\t\terror,\n\t\t\t\tcallback as (content: {\n\t\t\t\t\ttext: string;\n\t\t\t\t\terror?: boolean;\n\t\t\t\t}) => Promise<unknown>,\n\t\t\t\t\"type text\",\n\t\t\t);\n\t\t\treturn {\n\t\t\t\ttext: \"No active browser session\",\n\t\t\t\tsuccess: false,\n\t\t\t\tdata: {\n\t\t\t\t\tactionName: \"BROWSER_TYPE\",\n\t\t\t\t\terror: \"no_session\",\n\t\t\t\t},\n\t\t\t\tvalues: {\n\t\t\t\t\tsuccess: false,\n\t\t\t\t\terrorType: \"no_session\",\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tconst text = message.content?.text ?? \"\";\n\t\tconst match = text.match(/[\"']([^\"']+)[\"']/);\n\t\tconst textToType = match ? match[1] : \"\";\n\n\t\tconst fieldMatch = text.match(/(?:in|into) (?:the )?(.+)$/i);\n\t\tconst field = fieldMatch ? fieldMatch[1] : \"input field\";\n\n\t\tif (!textToType) {\n\t\t\tthrow new ActionError(\n\t\t\t\t\"type\",\n\t\t\t\tfield,\n\t\t\t\tnew Error(\"No text specified to type\"),\n\t\t\t);\n\t\t}\n\n\t\tconst result = await service\n\t\t\t.getClient()\n\t\t\t.type(session.id, textToType, field);\n\t\tif (!result.success) {\n\t\t\tthrow new ActionError(\n\t\t\t\t\"type\",\n\t\t\t\tfield,\n\t\t\t\tnew Error(result.error ?? \"Type failed\"),\n\t\t\t);\n\t\t}\n\n\t\tconst responseContent: Content = {\n\t\t\ttext: `I've typed \"${textToType}\" in the ${field}`,\n\t\t\tactions: [\"BROWSER_TYPE\"],\n\t\t\tsource: message.content?.source ?? \"action\",\n\t\t};\n\n\t\tawait callback?.(responseContent);\n\n\t\treturn {\n\t\t\ttext: responseContent.text ?? \"\",\n\t\t\tsuccess: true,\n\t\t\tdata: {\n\t\t\t\tactionName: \"BROWSER_TYPE\",\n\t\t\t\ttextTyped: textToType,\n\t\t\t\tfield,\n\t\t\t\tsessionId: session.id,\n\t\t\t},\n\t\t\tvalues: {\n\t\t\t\tsuccess: true,\n\t\t\t\ttextTyped: textToType,\n\t\t\t\tfield,\n\t\t\t},\n\t\t};\n\t},\n\n\texamples: [\n\t\t[\n\t\t\t{\n\t\t\t\tname: \"{{user}}\",\n\t\t\t\tcontent: { text: 'Type \"hello world\" in the search box' },\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: \"{{agent}}\",\n\t\t\t\tcontent: {\n\t\t\t\t\ttext: 'I\\'ve typed \"hello world\" in the search box.',\n\t\t\t\t\tactions: [\"BROWSER_TYPE\"],\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t],\n};\n"]}
|
package/dist/cli/index.d.ts
DELETED
package/dist/cli/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
package/dist/cli/index.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Browser CLI module
|
|
3
|
-
*
|
|
4
|
-
* Provides CLI commands for the browser automation plugin.
|
|
5
|
-
* Self-registers with the plugin-cli registry at module load.
|
|
6
|
-
*/
|
|
7
|
-
import { defineCliCommand, registerCliCommand } from "@elizaos/plugin-cli";
|
|
8
|
-
import { registerBrowserCli } from "./register.js";
|
|
9
|
-
// Self-register at module load
|
|
10
|
-
registerCliCommand(defineCliCommand("browser", "Browser automation commands", (ctx) => registerBrowserCli(ctx), {
|
|
11
|
-
priority: 50,
|
|
12
|
-
}));
|
|
13
|
-
//# sourceMappingURL=index.js.map
|
package/dist/cli/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,+BAA+B;AAC/B,kBAAkB,CACjB,gBAAgB,CACf,SAAS,EACT,6BAA6B,EAC7B,CAAC,GAAG,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAChC;IACC,QAAQ,EAAE,EAAE;CACZ,CACD,CACD,CAAC","sourcesContent":["/**\n * Browser CLI module\n *\n * Provides CLI commands for the browser automation plugin.\n * Self-registers with the plugin-cli registry at module load.\n */\n\nimport { defineCliCommand, registerCliCommand } from \"@elizaos/plugin-cli\";\nimport { registerBrowserCli } from \"./register.js\";\n\n// Self-register at module load\nregisterCliCommand(\n\tdefineCliCommand(\n\t\t\"browser\",\n\t\t\"Browser automation commands\",\n\t\t(ctx) => registerBrowserCli(ctx),\n\t\t{\n\t\t\tpriority: 50,\n\t\t},\n\t),\n);\n"]}
|
package/dist/cli/register.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { CliContext } from "@elizaos/plugin-cli";
|
|
2
|
-
/**
|
|
3
|
-
* Register Browser CLI commands
|
|
4
|
-
*
|
|
5
|
-
* Commands:
|
|
6
|
-
* - browser status: Show browser service status
|
|
7
|
-
* - browser start: Start a browser session
|
|
8
|
-
* - browser stop: Stop browser service
|
|
9
|
-
* - browser navigate: Navigate to a URL
|
|
10
|
-
* - browser click: Click an element
|
|
11
|
-
* - browser type: Type text into a field
|
|
12
|
-
* - browser select: Select an option from dropdown
|
|
13
|
-
* - browser extract: Extract information from the page
|
|
14
|
-
* - browser screenshot: Take a screenshot
|
|
15
|
-
* - browser back/forward/refresh: Navigation controls
|
|
16
|
-
*
|
|
17
|
-
* @param ctx - CLI context with program and optional runtime
|
|
18
|
-
*/
|
|
19
|
-
export declare function registerBrowserCli(ctx: CliContext): void;
|
|
20
|
-
//# sourceMappingURL=register.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/cli/register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAqDtD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CA4ZxD"}
|