@withbuddi/buddi 0.1.0-pre.51 → 0.1.0-pre.52
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/extension/background.js +1604 -847
- package/extension/manifest.json +3 -3
- package/extension/popup.css +91 -3
- package/extension/popup.html +49 -32
- package/extension/popup.js +215 -123
- package/node_modules/@buddi/cli/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/core/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/core/dist/plugin/index.d.ts +1 -1
- package/node_modules/@buddi/core/dist/plugin/index.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/plugin/index.js.map +1 -1
- package/node_modules/@buddi/core/dist/questions/store.d.ts +3 -1
- package/node_modules/@buddi/core/dist/questions/store.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/questions/store.js +3 -3
- package/node_modules/@buddi/core/dist/questions/store.js.map +1 -1
- package/node_modules/@buddi/core/dist/questions/types.d.ts +46 -1
- package/node_modules/@buddi/core/dist/questions/types.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/questions/types.js +2 -1
- package/node_modules/@buddi/core/dist/questions/types.js.map +1 -1
- package/node_modules/@buddi/core/dist/secrets/approval.d.ts +54 -0
- package/node_modules/@buddi/core/dist/secrets/approval.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/secrets/approval.js +58 -1
- package/node_modules/@buddi/core/dist/secrets/approval.js.map +1 -1
- package/node_modules/@buddi/core/dist/secrets/settings.d.ts +178 -0
- package/node_modules/@buddi/core/dist/secrets/settings.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/secrets/settings.js +63 -6
- package/node_modules/@buddi/core/dist/secrets/settings.js.map +1 -1
- package/node_modules/@buddi/core/dist/secrets/store.d.ts +31 -0
- package/node_modules/@buddi/core/dist/secrets/store.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/secrets/store.js +75 -0
- package/node_modules/@buddi/core/dist/secrets/store.js.map +1 -1
- package/node_modules/@buddi/core/dist/secrets/use.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/secrets/use.js +68 -3
- package/node_modules/@buddi/core/dist/secrets/use.js.map +1 -1
- package/node_modules/@buddi/core/dist/tools.d.ts +22 -0
- package/node_modules/@buddi/core/dist/tools.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/tools.js.map +1 -1
- package/node_modules/@buddi/core/migrations/080_secret_requests.sql +14 -0
- package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/gateway/dist/chat/session.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/chat/session.js +2 -1
- package/node_modules/@buddi/gateway/dist/chat/session.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/execute.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/execute.js +3 -1
- package/node_modules/@buddi/gateway/dist/missions/execute.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/surfaces/browser-cards.d.ts +15 -3
- package/node_modules/@buddi/gateway/dist/surfaces/browser-cards.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/surfaces/browser-cards.js +34 -7
- package/node_modules/@buddi/gateway/dist/surfaces/browser-cards.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/surfaces/offered-actions.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/surfaces/offered-actions.js +8 -2
- package/node_modules/@buddi/gateway/dist/surfaces/offered-actions.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/surfaces/pending-question.d.ts +3 -1
- package/node_modules/@buddi/gateway/dist/surfaces/pending-question.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/surfaces/pending-question.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/surfaces/secret-request.d.ts +173 -0
- package/node_modules/@buddi/gateway/dist/surfaces/secret-request.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/surfaces/secret-request.js +332 -0
- package/node_modules/@buddi/gateway/dist/surfaces/secret-request.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/system-context.js +1 -1
- package/node_modules/@buddi/gateway/dist/system-context.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/main.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/main.js +14 -3
- package/node_modules/@buddi/gateway/dist/telegram/main.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/surface.js +4 -1
- package/node_modules/@buddi/gateway/dist/telegram/surface.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/api-routes.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/api-routes.js +9 -1
- package/node_modules/@buddi/gateway/dist/web/api-routes.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/approval-ask.js +2 -2
- package/node_modules/@buddi/gateway/dist/web/approval-ask.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/browser-capture.d.ts +13 -0
- package/node_modules/@buddi/gateway/dist/web/browser-capture.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/browser-capture.js +24 -0
- package/node_modules/@buddi/gateway/dist/web/browser-capture.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/chat.d.ts +26 -0
- package/node_modules/@buddi/gateway/dist/web/chat.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/chat.js +87 -2
- package/node_modules/@buddi/gateway/dist/web/chat.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/extension.d.ts +30 -0
- package/node_modules/@buddi/gateway/dist/web/extension.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/extension.js +86 -6
- package/node_modules/@buddi/gateway/dist/web/extension.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/onboarding.js +1 -1
- package/node_modules/@buddi/gateway/dist/web/onboarding.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/remote-hand.d.ts +26 -2
- package/node_modules/@buddi/gateway/dist/web/remote-hand.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/remote-hand.js +89 -28
- package/node_modules/@buddi/gateway/dist/web/remote-hand.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/secret-request.d.ts +54 -0
- package/node_modules/@buddi/gateway/dist/web/secret-request.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/secret-request.js +264 -0
- package/node_modules/@buddi/gateway/dist/web/secret-request.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/secrets.d.ts +1 -0
- package/node_modules/@buddi/gateway/dist/web/secrets.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/secrets.js +1 -1
- package/node_modules/@buddi/gateway/dist/web/secrets.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/server.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/server.js +72 -3
- package/node_modules/@buddi/gateway/dist/web/server.js.map +1 -1
- package/node_modules/@buddi/install/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/runtime/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/runtime/dist/anthropic.d.ts +7 -0
- package/node_modules/@buddi/runtime/dist/anthropic.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/anthropic.js +19 -1
- package/node_modules/@buddi/runtime/dist/anthropic.js.map +1 -1
- package/node_modules/@buddi/tool-artifacts/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-browser/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-browser/dist/controller.d.ts +16 -1
- package/node_modules/@buddi/tool-browser/dist/controller.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/controller.js +59 -5
- package/node_modules/@buddi/tool-browser/dist/controller.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/driver.d.ts +12 -0
- package/node_modules/@buddi/tool-browser/dist/driver.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/driver.js +41 -2
- package/node_modules/@buddi/tool-browser/dist/driver.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/extension.d.ts +49 -9
- package/node_modules/@buddi/tool-browser/dist/extension.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/extension.js +145 -21
- package/node_modules/@buddi/tool-browser/dist/extension.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/index.d.ts +10 -6
- package/node_modules/@buddi/tool-browser/dist/index.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/index.js +22 -8
- package/node_modules/@buddi/tool-browser/dist/index.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/routes.d.ts +10 -1
- package/node_modules/@buddi/tool-browser/dist/routes.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/routes.js +24 -0
- package/node_modules/@buddi/tool-browser/dist/routes.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/service.d.ts +48 -1
- package/node_modules/@buddi/tool-browser/dist/service.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/service.js +114 -11
- package/node_modules/@buddi/tool-browser/dist/service.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/types.d.ts +54 -3
- package/node_modules/@buddi/tool-browser/dist/types.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/types.js +17 -1
- package/node_modules/@buddi/tool-browser/dist/types.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-host/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-mcp/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-memory/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-web/dist/.tsbuildinfo +1 -1
- package/node_modules/imapflow/CHANGELOG.md +15 -0
- package/node_modules/imapflow/dist/cjs/commands/select.d.ts +3 -14
- package/node_modules/imapflow/dist/cjs/commands/select.js +1 -4
- package/node_modules/imapflow/dist/cjs/imap-flow.js +30 -6
- package/node_modules/imapflow/dist/cjs/package-info.d.ts +1 -1
- package/node_modules/imapflow/dist/cjs/package-info.js +1 -1
- package/node_modules/imapflow/dist/cjs/tools.d.ts +10 -0
- package/node_modules/imapflow/dist/cjs/tools.js +29 -0
- package/node_modules/imapflow/dist/cjs/types.d.ts +9 -1
- package/node_modules/imapflow/dist/esm/commands/select.d.ts +3 -14
- package/node_modules/imapflow/dist/esm/commands/select.js +1 -4
- package/node_modules/imapflow/dist/esm/imap-flow.js +31 -7
- package/node_modules/imapflow/dist/esm/package-info.d.ts +1 -1
- package/node_modules/imapflow/dist/esm/package-info.js +1 -1
- package/node_modules/imapflow/dist/esm/tools.d.ts +10 -0
- package/node_modules/imapflow/dist/esm/tools.js +28 -0
- package/node_modules/imapflow/dist/esm/types.d.ts +9 -1
- package/node_modules/imapflow/package.json +2 -2
- package/node_modules/playwright/README.md +4 -4
- package/node_modules/playwright/lib/agents/playwright-test-generator.agent.md +1 -1
- package/node_modules/playwright/lib/cli/testActions.js +8 -5
- package/node_modules/playwright/lib/common/index.js +37 -23
- package/node_modules/playwright/lib/common/index.js.txt +8 -9
- package/node_modules/playwright/lib/index.js +16 -4
- package/node_modules/playwright/lib/matchers/expect.js +13 -7
- package/node_modules/playwright/lib/matchers/expect.js.txt +4 -4
- package/node_modules/playwright/lib/program.js +2 -1
- package/node_modules/playwright/lib/runner/index.js +438 -244
- package/node_modules/playwright/lib/runner/index.js.txt +12 -11
- package/node_modules/playwright/lib/transform/babelBundle.js +2612 -2396
- package/node_modules/playwright/lib/transform/babelBundle.js.LICENSE +15 -15
- package/node_modules/playwright/lib/transform/babelBundle.js.txt +14 -11
- package/node_modules/playwright/lib/transform/esmLoader.js +17 -5
- package/node_modules/playwright/lib/transform/esmLoader.js.txt +3 -3
- package/node_modules/playwright/lib/worker/workerProcessEntry.js +17 -18
- package/node_modules/playwright/package.json +2 -7
- package/node_modules/playwright/types/test.d.ts +156 -39
- package/node_modules/playwright-core/browsers.json +9 -9
- package/node_modules/playwright-core/cli.js +1 -0
- package/node_modules/playwright-core/lib/bootstrap.js +61 -0
- package/node_modules/playwright-core/lib/coreBundle.js +6393 -4170
- package/node_modules/playwright-core/lib/server/electron/loader.js +4 -0
- package/node_modules/playwright-core/lib/tools/cli-client/cli.js +2 -1
- package/node_modules/playwright-core/lib/tools/cli-client/help.json +99 -12
- package/node_modules/playwright-core/lib/tools/cli-client/output.js +17 -16
- package/node_modules/playwright-core/lib/tools/cli-client/program.js +8 -4
- package/node_modules/playwright-core/lib/tools/cli-client/session.js +2 -0
- package/node_modules/playwright-core/lib/tools/skills/playwright-cli/SKILL.md +71 -3
- package/node_modules/playwright-core/lib/tools/skills/playwright-cli/references/pr-attachments.md +60 -0
- package/node_modules/playwright-core/lib/tools/skills/playwright-cli/references/running-code.md +4 -0
- package/node_modules/playwright-core/lib/tools/skills/playwright-cli/references/session-management.md +2 -0
- package/node_modules/playwright-core/lib/tools/skills/playwright-cli/references/test-generation.md +1 -1
- package/node_modules/playwright-core/lib/tools/skills/playwright-cli/references/video-recording.md +76 -3
- package/node_modules/playwright-core/lib/tools/skills/playwright-trace/SKILL.md +1 -1
- package/node_modules/playwright-core/lib/utilsBundle.js +948 -227
- package/node_modules/playwright-core/lib/utilsBundle.js.LICENSE +6 -6
- package/node_modules/playwright-core/lib/vite/htmlReport/report.js +1 -1
- package/node_modules/playwright-core/lib/vite/recorder/assets/{codeMirrorModule-CVQWJZAA.js → codeMirrorModule-DK72OMRi.js} +1 -1
- package/node_modules/playwright-core/lib/vite/recorder/assets/index-Cn0mmDuv.js +129 -0
- package/node_modules/playwright-core/lib/vite/recorder/index.html +1 -1
- package/node_modules/playwright-core/lib/vite/traceViewer/assets/{codeMirrorModule-BbkfBe3n.js → codeMirrorModule-BEB2e8M3.js} +1 -1
- package/node_modules/playwright-core/lib/vite/traceViewer/assets/defaultSettingsView-D-g2vrvf.js +184 -0
- package/node_modules/playwright-core/lib/vite/traceViewer/assets/{xtermModule-DywYcAf8.js → xtermModule-B794rD2Z.js} +1 -1
- package/node_modules/playwright-core/lib/vite/traceViewer/{defaultSettingsView.Bqk9acqE.css → defaultSettingsView.C8BeHuxd.css} +1 -1
- package/node_modules/playwright-core/lib/vite/traceViewer/{index.B4cLoZK3.js → index.7-c5LSTW.js} +1 -1
- package/node_modules/playwright-core/lib/vite/traceViewer/index.html +3 -3
- package/node_modules/playwright-core/lib/vite/traceViewer/sw.bundle.js +3 -3
- package/node_modules/playwright-core/lib/vite/traceViewer/{uiMode.CU5KtEkS.js → uiMode.CYwC_gH1.js} +4 -4
- package/node_modules/playwright-core/lib/vite/traceViewer/uiMode.html +3 -3
- package/node_modules/playwright-core/package.json +1 -1
- package/node_modules/playwright-core/types/protocol.d.ts +468 -337
- package/node_modules/playwright-core/types/types.d.ts +572 -37
- package/package.json +2 -2
- package/packages/cli/dist/.tsbuildinfo +1 -1
- package/packages/core/dist/.tsbuildinfo +1 -1
- package/packages/core/dist/plugin/index.d.ts +1 -1
- package/packages/core/dist/plugin/index.d.ts.map +1 -1
- package/packages/core/dist/plugin/index.js.map +1 -1
- package/packages/core/dist/questions/store.d.ts +3 -1
- package/packages/core/dist/questions/store.d.ts.map +1 -1
- package/packages/core/dist/questions/store.js +3 -3
- package/packages/core/dist/questions/store.js.map +1 -1
- package/packages/core/dist/questions/types.d.ts +46 -1
- package/packages/core/dist/questions/types.d.ts.map +1 -1
- package/packages/core/dist/questions/types.js +2 -1
- package/packages/core/dist/questions/types.js.map +1 -1
- package/packages/core/dist/secrets/approval.d.ts +54 -0
- package/packages/core/dist/secrets/approval.d.ts.map +1 -1
- package/packages/core/dist/secrets/approval.js +58 -1
- package/packages/core/dist/secrets/approval.js.map +1 -1
- package/packages/core/dist/secrets/settings.d.ts +178 -0
- package/packages/core/dist/secrets/settings.d.ts.map +1 -1
- package/packages/core/dist/secrets/settings.js +63 -6
- package/packages/core/dist/secrets/settings.js.map +1 -1
- package/packages/core/dist/secrets/store.d.ts +31 -0
- package/packages/core/dist/secrets/store.d.ts.map +1 -1
- package/packages/core/dist/secrets/store.js +75 -0
- package/packages/core/dist/secrets/store.js.map +1 -1
- package/packages/core/dist/secrets/use.d.ts.map +1 -1
- package/packages/core/dist/secrets/use.js +68 -3
- package/packages/core/dist/secrets/use.js.map +1 -1
- package/packages/core/dist/tools.d.ts +22 -0
- package/packages/core/dist/tools.d.ts.map +1 -1
- package/packages/core/dist/tools.js.map +1 -1
- package/packages/core/migrations/080_secret_requests.sql +14 -0
- package/packages/gateway/dist/.tsbuildinfo +1 -1
- package/packages/gateway/dist/chat/session.d.ts.map +1 -1
- package/packages/gateway/dist/chat/session.js +2 -1
- package/packages/gateway/dist/chat/session.js.map +1 -1
- package/packages/gateway/dist/missions/execute.d.ts.map +1 -1
- package/packages/gateway/dist/missions/execute.js +3 -1
- package/packages/gateway/dist/missions/execute.js.map +1 -1
- package/packages/gateway/dist/surfaces/browser-cards.d.ts +15 -3
- package/packages/gateway/dist/surfaces/browser-cards.d.ts.map +1 -1
- package/packages/gateway/dist/surfaces/browser-cards.js +34 -7
- package/packages/gateway/dist/surfaces/browser-cards.js.map +1 -1
- package/packages/gateway/dist/surfaces/offered-actions.d.ts.map +1 -1
- package/packages/gateway/dist/surfaces/offered-actions.js +8 -2
- package/packages/gateway/dist/surfaces/offered-actions.js.map +1 -1
- package/packages/gateway/dist/surfaces/pending-question.d.ts +3 -1
- package/packages/gateway/dist/surfaces/pending-question.d.ts.map +1 -1
- package/packages/gateway/dist/surfaces/pending-question.js.map +1 -1
- package/packages/gateway/dist/surfaces/secret-request.d.ts +173 -0
- package/packages/gateway/dist/surfaces/secret-request.d.ts.map +1 -0
- package/packages/gateway/dist/surfaces/secret-request.js +332 -0
- package/packages/gateway/dist/surfaces/secret-request.js.map +1 -0
- package/packages/gateway/dist/system-context.js +1 -1
- package/packages/gateway/dist/system-context.js.map +1 -1
- package/packages/gateway/dist/telegram/main.d.ts.map +1 -1
- package/packages/gateway/dist/telegram/main.js +14 -3
- package/packages/gateway/dist/telegram/main.js.map +1 -1
- package/packages/gateway/dist/telegram/surface.d.ts.map +1 -1
- package/packages/gateway/dist/telegram/surface.js +4 -1
- package/packages/gateway/dist/telegram/surface.js.map +1 -1
- package/packages/gateway/dist/web/api-routes.d.ts.map +1 -1
- package/packages/gateway/dist/web/api-routes.js +9 -1
- package/packages/gateway/dist/web/api-routes.js.map +1 -1
- package/packages/gateway/dist/web/approval-ask.js +2 -2
- package/packages/gateway/dist/web/approval-ask.js.map +1 -1
- package/packages/gateway/dist/web/browser-capture.d.ts +13 -0
- package/packages/gateway/dist/web/browser-capture.d.ts.map +1 -0
- package/packages/gateway/dist/web/browser-capture.js +24 -0
- package/packages/gateway/dist/web/browser-capture.js.map +1 -0
- package/packages/gateway/dist/web/chat.d.ts +26 -0
- package/packages/gateway/dist/web/chat.d.ts.map +1 -1
- package/packages/gateway/dist/web/chat.js +87 -2
- package/packages/gateway/dist/web/chat.js.map +1 -1
- package/packages/gateway/dist/web/extension.d.ts +30 -0
- package/packages/gateway/dist/web/extension.d.ts.map +1 -1
- package/packages/gateway/dist/web/extension.js +86 -6
- package/packages/gateway/dist/web/extension.js.map +1 -1
- package/packages/gateway/dist/web/onboarding.js +1 -1
- package/packages/gateway/dist/web/onboarding.js.map +1 -1
- package/packages/gateway/dist/web/remote-hand.d.ts +26 -2
- package/packages/gateway/dist/web/remote-hand.d.ts.map +1 -1
- package/packages/gateway/dist/web/remote-hand.js +89 -28
- package/packages/gateway/dist/web/remote-hand.js.map +1 -1
- package/packages/gateway/dist/web/secret-request.d.ts +54 -0
- package/packages/gateway/dist/web/secret-request.d.ts.map +1 -0
- package/packages/gateway/dist/web/secret-request.js +264 -0
- package/packages/gateway/dist/web/secret-request.js.map +1 -0
- package/packages/gateway/dist/web/secrets.d.ts +1 -0
- package/packages/gateway/dist/web/secrets.d.ts.map +1 -1
- package/packages/gateway/dist/web/secrets.js +1 -1
- package/packages/gateway/dist/web/secrets.js.map +1 -1
- package/packages/gateway/dist/web/server.d.ts.map +1 -1
- package/packages/gateway/dist/web/server.js +72 -3
- package/packages/gateway/dist/web/server.js.map +1 -1
- package/packages/install/dist/.tsbuildinfo +1 -1
- package/packages/runtime/dist/.tsbuildinfo +1 -1
- package/packages/runtime/dist/anthropic.d.ts +7 -0
- package/packages/runtime/dist/anthropic.d.ts.map +1 -1
- package/packages/runtime/dist/anthropic.js +19 -1
- package/packages/runtime/dist/anthropic.js.map +1 -1
- package/packages/tools/artifacts/dist/.tsbuildinfo +1 -1
- package/packages/tools/browser/dist/.tsbuildinfo +1 -1
- package/packages/tools/browser/dist/controller.d.ts +16 -1
- package/packages/tools/browser/dist/controller.d.ts.map +1 -1
- package/packages/tools/browser/dist/controller.js +59 -5
- package/packages/tools/browser/dist/controller.js.map +1 -1
- package/packages/tools/browser/dist/driver.d.ts +12 -0
- package/packages/tools/browser/dist/driver.d.ts.map +1 -1
- package/packages/tools/browser/dist/driver.js +41 -2
- package/packages/tools/browser/dist/driver.js.map +1 -1
- package/packages/tools/browser/dist/extension.d.ts +49 -9
- package/packages/tools/browser/dist/extension.d.ts.map +1 -1
- package/packages/tools/browser/dist/extension.js +145 -21
- package/packages/tools/browser/dist/extension.js.map +1 -1
- package/packages/tools/browser/dist/index.d.ts +10 -6
- package/packages/tools/browser/dist/index.d.ts.map +1 -1
- package/packages/tools/browser/dist/index.js +22 -8
- package/packages/tools/browser/dist/index.js.map +1 -1
- package/packages/tools/browser/dist/routes.d.ts +10 -1
- package/packages/tools/browser/dist/routes.d.ts.map +1 -1
- package/packages/tools/browser/dist/routes.js +24 -0
- package/packages/tools/browser/dist/routes.js.map +1 -1
- package/packages/tools/browser/dist/service.d.ts +48 -1
- package/packages/tools/browser/dist/service.d.ts.map +1 -1
- package/packages/tools/browser/dist/service.js +114 -11
- package/packages/tools/browser/dist/service.js.map +1 -1
- package/packages/tools/browser/dist/types.d.ts +54 -3
- package/packages/tools/browser/dist/types.d.ts.map +1 -1
- package/packages/tools/browser/dist/types.js +17 -1
- package/packages/tools/browser/dist/types.js.map +1 -1
- package/packages/tools/email/dist/.tsbuildinfo +1 -1
- package/packages/tools/host/dist/.tsbuildinfo +1 -1
- package/packages/tools/mcp/dist/.tsbuildinfo +1 -1
- package/packages/tools/memory/dist/.tsbuildinfo +1 -1
- package/packages/tools/web/dist/.tsbuildinfo +1 -1
- package/packages/web/dist/assets/index-oxmxR39o.js +155 -0
- package/packages/web/dist/assets/index-rMRjibNI.css +1 -0
- package/packages/web/dist/assets/{lottie_light-D7CS-IeP.js → lottie_light-DROBTM6Y.js} +1 -1
- package/packages/web/dist/build.json +1 -1
- package/packages/web/dist/index.html +2 -2
- package/packages/web/dist/precache.json +4 -4
- package/node_modules/playwright/jsx-runtime.js +0 -42
- package/node_modules/playwright/jsx-runtime.mjs +0 -21
- package/node_modules/playwright-core/lib/vite/recorder/assets/index-hrlLqLtq.js +0 -129
- package/node_modules/playwright-core/lib/vite/traceViewer/assets/defaultSettingsView-Ds6CBOo0.js +0 -182
- package/packages/web/dist/assets/index-BibqUZwt.js +0 -155
- package/packages/web/dist/assets/index-DBVZzTau.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pending-question.js","sourceRoot":"","sources":["../../src/surfaces/pending-question.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,OAAO,EACL,kBAAkB,EAClB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"pending-question.js","sourceRoot":"","sources":["../../src/surfaces/pending-question.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Secrets in the sign-in flow, in place (docs/owner-secrets.md §6, "Saved from
|
|
3
|
+
* a conversation"; buddi-design `secrets-signin.html`).
|
|
4
|
+
*
|
|
5
|
+
* An agent on a sign-in form with nothing saved for the site calls
|
|
6
|
+
* `secret.request` with the labels of the fields it saw. The call raises one
|
|
7
|
+
* card in the chat — the fields as inputs, the site as a chip — and parks the
|
|
8
|
+
* turn the way `conversation.ask` does. The owner types the values on the card,
|
|
9
|
+
* which posts them straight to the secrets API; no chat message, tool result,
|
|
10
|
+
* event or log line ever carries one. What comes back to the agent, as the
|
|
11
|
+
* next turn, is one of:
|
|
12
|
+
*
|
|
13
|
+
* { saved: [names], filled: true } Save and fill: saved, and buddi filled the page
|
|
14
|
+
* { saved: [names], filled: false } Save only: saved, and the owner holds the page
|
|
15
|
+
* { declined: 'sign-in-myself' } the owner signs in on the page themselves
|
|
16
|
+
* { declined: 'cancelled' } the owner turned the card down (Telegram's Decline)
|
|
17
|
+
*
|
|
18
|
+
* The site defaults to the page the agent is on; a site that is neither that
|
|
19
|
+
* page's nor one the owner named in this conversation is refused.
|
|
20
|
+
*/
|
|
21
|
+
import type { Pool } from 'pg';
|
|
22
|
+
import { type AskSignIn, type CoreToolContext, type PluginManifest, type SecretRequestCard } from '@buddi/core';
|
|
23
|
+
import { type BrowserController } from '@buddi/tool-browser';
|
|
24
|
+
import { z } from 'zod';
|
|
25
|
+
import type { AskSink } from './pending-question.js';
|
|
26
|
+
/** The tool. */
|
|
27
|
+
export declare const SECRET_REQUEST_TOOL = "secret.request";
|
|
28
|
+
/** Added to an interactive turn's tools when the agent may fill secrets (`secret.fill`). */
|
|
29
|
+
export declare const SECRET_REQUEST_TOOLS: readonly string[];
|
|
30
|
+
/** Whether an agent's tool list grants `secret.fill`, so `secret.request` comes with it. */
|
|
31
|
+
export declare function grantsSecretRequest(tools: readonly string[]): boolean;
|
|
32
|
+
/** The most fields one card asks for. */
|
|
33
|
+
export declare const MAX_REQUEST_FIELDS = 8;
|
|
34
|
+
declare const FIELD_KINDS: readonly ["username", "password", "totp", "other"];
|
|
35
|
+
export type SecretRequestKind = (typeof FIELD_KINDS)[number];
|
|
36
|
+
declare const requestInput: z.ZodObject<{
|
|
37
|
+
site: z.ZodOptional<z.ZodString>;
|
|
38
|
+
fields: z.ZodArray<z.ZodObject<{
|
|
39
|
+
label: z.ZodString;
|
|
40
|
+
kind: z.ZodEnum<["username", "password", "totp", "other"]>;
|
|
41
|
+
ref: z.ZodOptional<z.ZodString>;
|
|
42
|
+
}, "strict", z.ZodTypeAny, {
|
|
43
|
+
kind: "other" | "password" | "username" | "totp";
|
|
44
|
+
label: string;
|
|
45
|
+
ref?: string | undefined;
|
|
46
|
+
}, {
|
|
47
|
+
kind: "other" | "password" | "username" | "totp";
|
|
48
|
+
label: string;
|
|
49
|
+
ref?: string | undefined;
|
|
50
|
+
}>, "many">;
|
|
51
|
+
reason: z.ZodOptional<z.ZodString>;
|
|
52
|
+
}, "strict", z.ZodTypeAny, {
|
|
53
|
+
fields: {
|
|
54
|
+
kind: "other" | "password" | "username" | "totp";
|
|
55
|
+
label: string;
|
|
56
|
+
ref?: string | undefined;
|
|
57
|
+
}[];
|
|
58
|
+
reason?: string | undefined;
|
|
59
|
+
site?: string | undefined;
|
|
60
|
+
}, {
|
|
61
|
+
fields: {
|
|
62
|
+
kind: "other" | "password" | "username" | "totp";
|
|
63
|
+
label: string;
|
|
64
|
+
ref?: string | undefined;
|
|
65
|
+
}[];
|
|
66
|
+
reason?: string | undefined;
|
|
67
|
+
site?: string | undefined;
|
|
68
|
+
}>;
|
|
69
|
+
export type SecretRequestInput = z.infer<typeof requestInput>;
|
|
70
|
+
/** What the tool answers at once. The owner's choice comes back as the next turn. */
|
|
71
|
+
export interface SecretRequestPending {
|
|
72
|
+
pending: true;
|
|
73
|
+
message: string;
|
|
74
|
+
}
|
|
75
|
+
/** What a decided card hands the agent: names and a flag, never a value. */
|
|
76
|
+
/** One saved secret and where it went: its name, the field's label on the page, and whether buddi filled it. Never a value. */
|
|
77
|
+
export interface SecretRequestFieldOutcome {
|
|
78
|
+
name: string;
|
|
79
|
+
label: string;
|
|
80
|
+
ref?: string;
|
|
81
|
+
filled: boolean;
|
|
82
|
+
}
|
|
83
|
+
export type SecretRequestOutcome = {
|
|
84
|
+
saved: string[];
|
|
85
|
+
filled: boolean;
|
|
86
|
+
fields?: SecretRequestFieldOutcome[];
|
|
87
|
+
} | {
|
|
88
|
+
declined: 'sign-in-myself' | 'cancelled';
|
|
89
|
+
};
|
|
90
|
+
/** What a field's label looks like, when it looks like something sensitive. */
|
|
91
|
+
export declare function sensitiveLabel(label: string, kind: SecretRequestKind): string | undefined;
|
|
92
|
+
/** The card's warning line for one field. */
|
|
93
|
+
export declare function warningLine(agentName: string, what: string, site: string): string;
|
|
94
|
+
/**
|
|
95
|
+
* A site as the owner reads it: lower case, no scheme, path, port or `www.`.
|
|
96
|
+
* Undefined for anything that is not a host of at least two labels, or is a
|
|
97
|
+
* public suffix (`co.uk`, `github.io`) — nobody's sign-in lives there.
|
|
98
|
+
*/
|
|
99
|
+
export declare function normalizeSite(raw: string | undefined): string | undefined;
|
|
100
|
+
/** The site a page's host belongs to: the label before its public suffix, with it. */
|
|
101
|
+
export declare function siteOfHost(host: string): string;
|
|
102
|
+
/** Whether `host` is the site itself or under it. */
|
|
103
|
+
export declare function hostUnder(host: string, site: string): boolean;
|
|
104
|
+
/**
|
|
105
|
+
* Where the values may go: the page the agent is on when it belongs to the
|
|
106
|
+
* site, and the site itself and every host under it (`https://*.site`).
|
|
107
|
+
*/
|
|
108
|
+
export declare function requestOrigins(site: string, pageOrigin: string | undefined): string[];
|
|
109
|
+
/**
|
|
110
|
+
* Whether the owner named this site in the conversation: the address, or its
|
|
111
|
+
* name as a word ("Wikipedia" for wikipedia.org), in their own words — text
|
|
112
|
+
* the owner typed, never a tool result, a page or an agent's reply.
|
|
113
|
+
*/
|
|
114
|
+
export declare function ownerNamedSite(pool: Pick<Pool, 'query'>, conversationId: string, site: string): Promise<boolean>;
|
|
115
|
+
export interface SecretRequestDeps {
|
|
116
|
+
pool: Pick<Pool, 'query'>;
|
|
117
|
+
/** The page this conversation is on, read from the browser host. */
|
|
118
|
+
browser?: Pick<BrowserController, 'status'> | undefined;
|
|
119
|
+
/** The calling agent's display name, for the card ("Scout never sees them"). */
|
|
120
|
+
agentName?: (agentId: string) => string | undefined;
|
|
121
|
+
}
|
|
122
|
+
/** "Wikipedia username": the site's name and the field's label, as Keys and secrets lists it. */
|
|
123
|
+
export declare function secretNameFor(site: string, label: string): string;
|
|
124
|
+
/**
|
|
125
|
+
* The card one call raises, checked: the site, where the values may go, the
|
|
126
|
+
* fields with any warning. Throws a refusal the agent reads when the site is
|
|
127
|
+
* not one it may ask for.
|
|
128
|
+
*/
|
|
129
|
+
export declare function buildRequestCard(deps: SecretRequestDeps, input: SecretRequestInput, ctx: Pick<CoreToolContext, 'agentId' | 'conversationId'>): Promise<SecretRequestCard>;
|
|
130
|
+
/** The one button a surface that cannot hold the card draws (Telegram). */
|
|
131
|
+
export declare const DECLINE_LABEL = "Decline";
|
|
132
|
+
/**
|
|
133
|
+
* Telegram is not a place to type a password: the card there says where to
|
|
134
|
+
* save it instead — the dashboard, at this conversation — with Decline.
|
|
135
|
+
*/
|
|
136
|
+
export declare function telegramRequestLine(card: Pick<SecretRequestCard, 'site'>, link?: string): string;
|
|
137
|
+
/** A Telegram answer that ended on a sign-in card: the agent's words, then where to save it. */
|
|
138
|
+
export declare function telegramSignInReply(said: string, card: Pick<SecretRequestCard, 'site'>, link?: string): string;
|
|
139
|
+
/** The dashboard address of one conversation, for a surface that links to it. */
|
|
140
|
+
export declare function conversationLink(publicOrigin: string | undefined, agentId: string, conversationId: string): string | undefined;
|
|
141
|
+
/**
|
|
142
|
+
* The card for a login wall the browser met (`ctx.ask`'s `signIn`): the site
|
|
143
|
+
* the page is on, the fields it saw with their refs. Null for a page buddi
|
|
144
|
+
* cannot bind a secret to.
|
|
145
|
+
*/
|
|
146
|
+
export declare function signInCardFor(signIn: AskSignIn, agentName: string | undefined): SecretRequestCard | null;
|
|
147
|
+
/** The question line the card stands on: what Telegram and the agent rail read. */
|
|
148
|
+
export declare function requestQuestion(card: Pick<SecretRequestCard, 'site'>): string;
|
|
149
|
+
/**
|
|
150
|
+
* The `secret.request` manifest, bound to one run's ask sink. Registered per
|
|
151
|
+
* interactive run, like `conversation.ask`: nothing unattended can call it, and
|
|
152
|
+
* the card is the run's one question.
|
|
153
|
+
*/
|
|
154
|
+
export declare function createSecretRequestManifest(sink: AskSink, deps: SecretRequestDeps): PluginManifest;
|
|
155
|
+
/**
|
|
156
|
+
* The turn that carries the outcome back to the agent, said as a tool result
|
|
157
|
+
* delivered late — the way a decided approval comes back. Names and flags
|
|
158
|
+
* only: there is no value anywhere in it.
|
|
159
|
+
*/
|
|
160
|
+
export declare function outcomeTurnText(outcome: SecretRequestOutcome, opts?: {
|
|
161
|
+
filling?: boolean;
|
|
162
|
+
}): string;
|
|
163
|
+
/**
|
|
164
|
+
* The quiet line the thread shows for that turn instead of its words: "Filled
|
|
165
|
+
* username and password on wikipedia.org". The model still reads the outcome.
|
|
166
|
+
*/
|
|
167
|
+
export declare function outcomeStamp(outcome: SecretRequestOutcome, site: string, fields: readonly string[]): string;
|
|
168
|
+
/** The speaker that turn is stamped with (`stamp:<line>`): a reader draws the line, not a bubble. */
|
|
169
|
+
export declare const STAMP_TURN_SPEAKER_PREFIX = "stamp:";
|
|
170
|
+
export declare function stampTurnSpeaker(line: string): string;
|
|
171
|
+
export declare function stampTurnLabel(speaker: string | null | undefined): string | null;
|
|
172
|
+
export {};
|
|
173
|
+
//# sourceMappingURL=secret-request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secret-request.d.ts","sourceRoot":"","sources":["../../src/surfaces/secret-request.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
import { OWNER_INTERJECTION_SPEAKER, ToolRefusal, } from '@buddi/core';
|
|
2
|
+
import { canonicalOrigin, isPublicSuffix, siteName } from '@buddi/tool-browser';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
/** The tool. */
|
|
5
|
+
export const SECRET_REQUEST_TOOL = 'secret.request';
|
|
6
|
+
/** Added to an interactive turn's tools when the agent may fill secrets (`secret.fill`). */
|
|
7
|
+
export const SECRET_REQUEST_TOOLS = [SECRET_REQUEST_TOOL];
|
|
8
|
+
/** Whether an agent's tool list grants `secret.fill`, so `secret.request` comes with it. */
|
|
9
|
+
export function grantsSecretRequest(tools) {
|
|
10
|
+
return tools.some((tool) => tool === 'secret.fill' || tool === 'secret.*' || tool === '*');
|
|
11
|
+
}
|
|
12
|
+
/** The most fields one card asks for. */
|
|
13
|
+
export const MAX_REQUEST_FIELDS = 8;
|
|
14
|
+
const FIELD_KINDS = ['username', 'password', 'totp', 'other'];
|
|
15
|
+
const requestInput = z.object({
|
|
16
|
+
site: z.string().min(1).max(253).optional()
|
|
17
|
+
.describe("The site the sign-in is for, as the owner knows it (\"wikipedia.org\"). Defaults to the page you have open. Only that page's site, or a site the owner named in this conversation."),
|
|
18
|
+
fields: z.array(z.object({
|
|
19
|
+
label: z.string().min(1).max(60).describe('The field\'s label as the page shows it: "Username", "Password", "Email".'),
|
|
20
|
+
kind: z.enum(FIELD_KINDS).describe('username, password, totp (an authenticator seed) or other.'),
|
|
21
|
+
ref: z.string().min(1).max(40).optional().describe('The field\'s ref in the latest page, so buddi can fill it right after the owner saves.'),
|
|
22
|
+
}).strict()).min(1).max(MAX_REQUEST_FIELDS),
|
|
23
|
+
reason: z.string().max(200).optional().describe('One short line on why, when the page does not make it obvious.'),
|
|
24
|
+
}).strict();
|
|
25
|
+
/**
|
|
26
|
+
* A label that looks like something no sign-in should hold: shown on the card,
|
|
27
|
+
* and the field is never filled by itself. Plain patterns, documented in
|
|
28
|
+
* owner-secrets.md §6; a miss only means no warning line.
|
|
29
|
+
*/
|
|
30
|
+
const SENSITIVE = [
|
|
31
|
+
{ test: /\b(cvv2?|cvc2?|csc|card\s*(security|verification)\s*(code|value)?|security\s*code)\b/i, what: 'a card security code' },
|
|
32
|
+
{ test: /\b(card\s*(number|no\.?|#)|credit\s*card|debit\s*card|cc\s*(number|num|no\.?))\b|\bpan\b/i, what: 'a card number' },
|
|
33
|
+
{ test: /\b(ssn|social\s*security|national\s*insurance|tax\s*(id|number)|\btin\b|sin\s*number)\b/i, what: 'a social security number' },
|
|
34
|
+
{ test: /\b(one[-\s]?time|otp|verification\s*code|sms\s*code|2fa|two[-\s]?factor|authentication\s*code|auth\s*code|passcode)\b/i, what: 'a one-time code' },
|
|
35
|
+
];
|
|
36
|
+
/** What a field's label looks like, when it looks like something sensitive. */
|
|
37
|
+
export function sensitiveLabel(label, kind) {
|
|
38
|
+
// An authenticator seed is asked for by kind, and the card says what it is.
|
|
39
|
+
if (kind === 'totp')
|
|
40
|
+
return undefined;
|
|
41
|
+
return SENSITIVE.find((entry) => entry.test.test(label))?.what;
|
|
42
|
+
}
|
|
43
|
+
/** The card's warning line for one field. */
|
|
44
|
+
export function warningLine(agentName, what, site) {
|
|
45
|
+
return `${agentName} asked for something that looks like ${what}; buddi keeps it only on ${site}`;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* A site as the owner reads it: lower case, no scheme, path, port or `www.`.
|
|
49
|
+
* Undefined for anything that is not a host of at least two labels, or is a
|
|
50
|
+
* public suffix (`co.uk`, `github.io`) — nobody's sign-in lives there.
|
|
51
|
+
*/
|
|
52
|
+
export function normalizeSite(raw) {
|
|
53
|
+
if (!raw)
|
|
54
|
+
return undefined;
|
|
55
|
+
let text = raw.trim().toLowerCase();
|
|
56
|
+
if (text === '')
|
|
57
|
+
return undefined;
|
|
58
|
+
if (!/^[a-z][a-z0-9+.-]*:\/\//.test(text))
|
|
59
|
+
text = `https://${text}`;
|
|
60
|
+
let host;
|
|
61
|
+
try {
|
|
62
|
+
host = new URL(text).hostname;
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
return undefined;
|
|
66
|
+
}
|
|
67
|
+
host = host.replace(/\.$/, '').replace(/^www\./, '');
|
|
68
|
+
if (!/^[a-z0-9-]+(\.[a-z0-9-]+)+$/.test(host))
|
|
69
|
+
return undefined;
|
|
70
|
+
if (host.split('.').some((label) => label === '' || label.startsWith('-') || label.endsWith('-')))
|
|
71
|
+
return undefined;
|
|
72
|
+
if (/^\d+(\.\d+){3}$/.test(host))
|
|
73
|
+
return undefined;
|
|
74
|
+
if (isPublicSuffix(host))
|
|
75
|
+
return undefined;
|
|
76
|
+
return host;
|
|
77
|
+
}
|
|
78
|
+
/** The site a page's host belongs to: the label before its public suffix, with it. */
|
|
79
|
+
export function siteOfHost(host) {
|
|
80
|
+
const labels = host.replace(/^www\./, '').split('.');
|
|
81
|
+
for (let take = 2; take <= labels.length; take += 1) {
|
|
82
|
+
const candidate = labels.slice(-take).join('.');
|
|
83
|
+
if (!isPublicSuffix(candidate))
|
|
84
|
+
return candidate;
|
|
85
|
+
}
|
|
86
|
+
return labels.join('.');
|
|
87
|
+
}
|
|
88
|
+
/** Whether `host` is the site itself or under it. */
|
|
89
|
+
export function hostUnder(host, site) {
|
|
90
|
+
const bare = host.replace(/^www\./, '');
|
|
91
|
+
return bare === site || bare.endsWith(`.${site}`);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Where the values may go: the page the agent is on when it belongs to the
|
|
95
|
+
* site, and the site itself and every host under it (`https://*.site`).
|
|
96
|
+
*/
|
|
97
|
+
export function requestOrigins(site, pageOrigin) {
|
|
98
|
+
const origins = new Set();
|
|
99
|
+
if (pageOrigin) {
|
|
100
|
+
try {
|
|
101
|
+
if (hostUnder(new URL(pageOrigin).hostname, site))
|
|
102
|
+
origins.add(pageOrigin);
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
// not an address; nothing to add
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
origins.add(`https://${site}`);
|
|
109
|
+
origins.add(`https://*.${site}`);
|
|
110
|
+
return [...origins];
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Whether the owner named this site in the conversation: the address, or its
|
|
114
|
+
* name as a word ("Wikipedia" for wikipedia.org), in their own words — text
|
|
115
|
+
* the owner typed, never a tool result, a page or an agent's reply.
|
|
116
|
+
*/
|
|
117
|
+
export async function ownerNamedSite(pool, conversationId, site) {
|
|
118
|
+
const { rows } = await pool.query(`select content from core.messages
|
|
119
|
+
where conversation_id = $1 and role = 'user' and (speaker is null or speaker = 'owner' or speaker = $2)
|
|
120
|
+
order by created_at desc limit 60`, [conversationId, OWNER_INTERJECTION_SPEAKER]);
|
|
121
|
+
const name = (siteName(site) ?? '').toLowerCase();
|
|
122
|
+
const word = name.length >= 3 ? new RegExp(`(^|[^a-z0-9])${name.replace(/[^a-z0-9]/g, '')}([^a-z0-9]|$)`, 'i') : null;
|
|
123
|
+
for (const row of rows) {
|
|
124
|
+
const blocks = Array.isArray(row.content) ? row.content : [];
|
|
125
|
+
for (const block of blocks) {
|
|
126
|
+
if (block.type !== 'text' || typeof block.text !== 'string')
|
|
127
|
+
continue;
|
|
128
|
+
const text = block.text.toLowerCase();
|
|
129
|
+
if (text.includes(site))
|
|
130
|
+
return true;
|
|
131
|
+
if (word && word.test(text))
|
|
132
|
+
return true;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
return false;
|
|
136
|
+
}
|
|
137
|
+
/** "Wikipedia username": the site's name and the field's label, as Keys and secrets lists it. */
|
|
138
|
+
export function secretNameFor(site, label) {
|
|
139
|
+
const name = siteName(site) ?? site;
|
|
140
|
+
const field = label.trim().replace(/\s+/g, ' ');
|
|
141
|
+
return `${name} ${field.charAt(0).toLowerCase()}${field.slice(1)}`.slice(0, 120);
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* The card one call raises, checked: the site, where the values may go, the
|
|
145
|
+
* fields with any warning. Throws a refusal the agent reads when the site is
|
|
146
|
+
* not one it may ask for.
|
|
147
|
+
*/
|
|
148
|
+
export async function buildRequestCard(deps, input, ctx) {
|
|
149
|
+
const conversationId = ctx.conversationId;
|
|
150
|
+
const agentId = ctx.agentId;
|
|
151
|
+
if (!conversationId || !agentId)
|
|
152
|
+
throw new ToolRefusal('secret.request works in a conversation with the owner, not here.');
|
|
153
|
+
const status = deps.browser?.status({ agentId, conversationId });
|
|
154
|
+
const pageUrl = status?.page?.url;
|
|
155
|
+
const pageOrigin = canonicalOrigin(pageUrl);
|
|
156
|
+
const pageHost = pageOrigin ? new URL(pageOrigin).hostname : undefined;
|
|
157
|
+
const site = input.site !== undefined ? normalizeSite(input.site) : pageHost ? siteOfHost(pageHost) : undefined;
|
|
158
|
+
if (input.site !== undefined && site === undefined) {
|
|
159
|
+
throw new ToolRefusal(`"${input.site}" is not a site buddi can keep a sign-in for. Name it like wikipedia.org.`);
|
|
160
|
+
}
|
|
161
|
+
if (site === undefined) {
|
|
162
|
+
throw new ToolRefusal('There is no page open in this conversation to ask a sign-in for. Open the sign-in page with browser.act first, or name the site the owner asked about.');
|
|
163
|
+
}
|
|
164
|
+
const onPage = pageHost !== undefined && hostUnder(pageHost, site);
|
|
165
|
+
if (!onPage && !(await ownerNamedSite(deps.pool, conversationId, site))) {
|
|
166
|
+
throw new ToolRefusal(pageHost
|
|
167
|
+
? `${site} is not the page you have open (${pageHost}), and the owner has not named it in this conversation. Ask only for the site you are on, or the one the owner asked about.`
|
|
168
|
+
: `The owner has not named ${site} in this conversation, and no page of it is open. Ask only for the site you are on, or the one the owner asked about.`);
|
|
169
|
+
}
|
|
170
|
+
const agentName = deps.agentName?.(agentId) ?? 'The agent';
|
|
171
|
+
const seen = new Set();
|
|
172
|
+
const fields = [];
|
|
173
|
+
const warnings = [];
|
|
174
|
+
for (const field of input.fields) {
|
|
175
|
+
const label = field.label.trim().replace(/\s+/g, ' ');
|
|
176
|
+
if (label === '' || seen.has(label.toLowerCase()))
|
|
177
|
+
continue;
|
|
178
|
+
seen.add(label.toLowerCase());
|
|
179
|
+
const what = sensitiveLabel(label, field.kind);
|
|
180
|
+
const warning = what ? warningLine(agentName, what, site) : undefined;
|
|
181
|
+
if (warning)
|
|
182
|
+
warnings.push(warning);
|
|
183
|
+
fields.push({ label, kind: field.kind, ...(field.ref && onPage ? { ref: field.ref } : {}), ...(warning ? { warning } : {}) });
|
|
184
|
+
}
|
|
185
|
+
if (fields.length === 0)
|
|
186
|
+
throw new ToolRefusal('Name at least one field the page asks for.');
|
|
187
|
+
return {
|
|
188
|
+
kind: 'secret.request',
|
|
189
|
+
site,
|
|
190
|
+
origins: requestOrigins(site, onPage ? pageOrigin : undefined),
|
|
191
|
+
...(onPage && pageUrl ? { page: { url: pageUrl, ...(status?.page?.title ? { title: String(status.page.title).slice(0, 200) } : {}) } } : {}),
|
|
192
|
+
fields,
|
|
193
|
+
...(input.reason?.trim() ? { reason: input.reason.trim() } : {}),
|
|
194
|
+
agentName,
|
|
195
|
+
...(warnings.length > 0 ? { warnings } : {}),
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
/** The one button a surface that cannot hold the card draws (Telegram). */
|
|
199
|
+
export const DECLINE_LABEL = 'Decline';
|
|
200
|
+
/**
|
|
201
|
+
* Telegram is not a place to type a password: the card there says where to
|
|
202
|
+
* save it instead — the dashboard, at this conversation — with Decline.
|
|
203
|
+
*/
|
|
204
|
+
export function telegramRequestLine(card, link) {
|
|
205
|
+
return `Open the dashboard to save the sign-in for ${card.site}${link ? `: ${link}` : '.'}`;
|
|
206
|
+
}
|
|
207
|
+
/** A Telegram answer that ended on a sign-in card: the agent's words, then where to save it. */
|
|
208
|
+
export function telegramSignInReply(said, card, link) {
|
|
209
|
+
return [said.trim(), telegramRequestLine(card, link)].filter(Boolean).join('\n\n');
|
|
210
|
+
}
|
|
211
|
+
/** The dashboard address of one conversation, for a surface that links to it. */
|
|
212
|
+
export function conversationLink(publicOrigin, agentId, conversationId) {
|
|
213
|
+
if (!publicOrigin)
|
|
214
|
+
return undefined;
|
|
215
|
+
return `${publicOrigin.replace(/\/$/, '')}/#/chat/${encodeURIComponent(agentId)}/${encodeURIComponent(conversationId)}`;
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* The card for a login wall the browser met (`ctx.ask`'s `signIn`): the site
|
|
219
|
+
* the page is on, the fields it saw with their refs. Null for a page buddi
|
|
220
|
+
* cannot bind a secret to.
|
|
221
|
+
*/
|
|
222
|
+
export function signInCardFor(signIn, agentName) {
|
|
223
|
+
const origin = canonicalOrigin(signIn.url);
|
|
224
|
+
if (!origin)
|
|
225
|
+
return null;
|
|
226
|
+
const site = siteOfHost(new URL(origin).hostname);
|
|
227
|
+
if (normalizeSite(site) === undefined)
|
|
228
|
+
return null;
|
|
229
|
+
const name = agentName ?? 'The agent';
|
|
230
|
+
const warnings = [];
|
|
231
|
+
const fields = signIn.fields.slice(0, MAX_REQUEST_FIELDS).map((field) => {
|
|
232
|
+
const what = sensitiveLabel(field.label, field.kind);
|
|
233
|
+
const warning = what ? warningLine(name, what, site) : undefined;
|
|
234
|
+
if (warning)
|
|
235
|
+
warnings.push(warning);
|
|
236
|
+
return { label: field.label, kind: field.kind, ...(field.ref ? { ref: field.ref } : {}), ...(field.name ? { name: field.name.slice(0, 80) } : {}), ...(warning ? { warning } : {}) };
|
|
237
|
+
});
|
|
238
|
+
return {
|
|
239
|
+
kind: 'secret.request',
|
|
240
|
+
site,
|
|
241
|
+
origins: requestOrigins(site, origin),
|
|
242
|
+
page: { url: signIn.url, ...(signIn.title ? { title: signIn.title.slice(0, 200) } : {}) },
|
|
243
|
+
fields,
|
|
244
|
+
agentName: name,
|
|
245
|
+
...(warnings.length > 0 ? { warnings } : {}),
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
/** The question line the card stands on: what Telegram and the agent rail read. */
|
|
249
|
+
export function requestQuestion(card) {
|
|
250
|
+
return `No saved sign-in for ${card.site}`;
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* The `secret.request` manifest, bound to one run's ask sink. Registered per
|
|
254
|
+
* interactive run, like `conversation.ask`: nothing unattended can call it, and
|
|
255
|
+
* the card is the run's one question.
|
|
256
|
+
*/
|
|
257
|
+
export function createSecretRequestManifest(sink, deps) {
|
|
258
|
+
const request = {
|
|
259
|
+
name: SECRET_REQUEST_TOOL,
|
|
260
|
+
description: "Ask the owner to save a sign-in for the site you are on, when secret.list has nothing for it or secret.fill said nothing is saved. Input { fields: [{ label, kind, ref }], site?, reason? }: each field the form asks for, its label as the page shows it, its kind (username, password, totp, other) and its ref from the latest page. The owner types the values on a card in the chat — never in a message, and you never see them — and buddi saves them for this site only. Call it, write one short sentence that you need their sign-in, and stop. The answer comes back as the next turn: { saved: [names], filled: true } (buddi filled the form: carry on), { saved, filled: false } (saved; the owner is signing in on the page now, so wait for it back), or { declined: 'sign-in-myself' | 'cancelled' }. Never ask for a password, a card number or a code in chat instead.",
|
|
261
|
+
tier: 'auto',
|
|
262
|
+
waitsForOwner: true,
|
|
263
|
+
input: requestInput,
|
|
264
|
+
async execute(input, ctx) {
|
|
265
|
+
if (sink.asked)
|
|
266
|
+
throw new ToolRefusal('You already asked the owner something this turn. Wait for that answer first.');
|
|
267
|
+
const card = await buildRequestCard(deps, input, ctx);
|
|
268
|
+
// Decline is the one choice a surface without the card (Telegram) offers as a button.
|
|
269
|
+
sink.asked = { question: requestQuestion(card), options: [{ label: DECLINE_LABEL, hint: null, recommended: false }], allowOther: false, request: card };
|
|
270
|
+
return {
|
|
271
|
+
pending: true,
|
|
272
|
+
message: `The owner has a card to save the sign-in for ${card.site}. Say in one short sentence that you need it, and stop; you are told what they did.`,
|
|
273
|
+
};
|
|
274
|
+
},
|
|
275
|
+
};
|
|
276
|
+
return {
|
|
277
|
+
name: 'secret-request',
|
|
278
|
+
version: '0.1.0',
|
|
279
|
+
schema: 'core',
|
|
280
|
+
migrationsDir: '',
|
|
281
|
+
tools: [request],
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* The turn that carries the outcome back to the agent, said as a tool result
|
|
286
|
+
* delivered late — the way a decided approval comes back. Names and flags
|
|
287
|
+
* only: there is no value anywhere in it.
|
|
288
|
+
*/
|
|
289
|
+
export function outcomeTurnText(outcome, opts = {}) {
|
|
290
|
+
return `tool result (deferred) for ${SECRET_REQUEST_TOOL}: ${JSON.stringify(outcome)}\n${outcomeAdvice(outcome, opts.filling === true)}`;
|
|
291
|
+
}
|
|
292
|
+
function outcomeAdvice(outcome, filling) {
|
|
293
|
+
if ('declined' in outcome) {
|
|
294
|
+
return outcome.declined === 'sign-in-myself'
|
|
295
|
+
? 'The owner is signing in on the page themselves and holds it now. Say in one short line that you will carry on when they give it back, and stop.'
|
|
296
|
+
: 'The owner did not save a sign-in. Do not ask again for it; say what you can do without it, or stop.';
|
|
297
|
+
}
|
|
298
|
+
if (outcome.filled)
|
|
299
|
+
return 'The sign-in is filled on the page. Observe the page and press its sign-in button (Log in, Sign in, Continue) yourself, then carry on with the task.';
|
|
300
|
+
const remaining = (outcome.fields ?? []).filter((field) => !field.filled);
|
|
301
|
+
const rest = remaining.length > 0 ? ` Still to fill: ${remaining.map((field) => `secret.fill { name: "${field.name}", label: "${field.label}" }`).join(', ')}.` : '';
|
|
302
|
+
return filling
|
|
303
|
+
? `Saved, and the owner approved filling them here, but buddi could not fill every field. Observe the page, fill the rest by label (no card is asked now), then press its sign-in button yourself.${rest}`
|
|
304
|
+
: 'Saved for next time. The owner is signing in on the page themselves and holds it now. Say in one short line that you will carry on when they give it back, and stop.';
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* The quiet line the thread shows for that turn instead of its words: "Filled
|
|
308
|
+
* username and password on wikipedia.org". The model still reads the outcome.
|
|
309
|
+
*/
|
|
310
|
+
export function outcomeStamp(outcome, site, fields) {
|
|
311
|
+
if ('declined' in outcome)
|
|
312
|
+
return outcome.declined === 'sign-in-myself' ? `You’re signing in on ${site} yourself` : `No sign-in saved for ${site}`;
|
|
313
|
+
const what = phrase(fields.map((label) => label.toLowerCase()));
|
|
314
|
+
return outcome.filled ? `Filled ${what} on ${site}` : `Saved ${what} for ${site}`;
|
|
315
|
+
}
|
|
316
|
+
function phrase(items) {
|
|
317
|
+
if (items.length === 0)
|
|
318
|
+
return 'the sign-in';
|
|
319
|
+
return items.length < 3 ? items.join(' and ') : `${items.slice(0, -1).join(', ')} and ${items[items.length - 1]}`;
|
|
320
|
+
}
|
|
321
|
+
/** The speaker that turn is stamped with (`stamp:<line>`): a reader draws the line, not a bubble. */
|
|
322
|
+
export const STAMP_TURN_SPEAKER_PREFIX = 'stamp:';
|
|
323
|
+
export function stampTurnSpeaker(line) {
|
|
324
|
+
return `${STAMP_TURN_SPEAKER_PREFIX}${line.trim()}`;
|
|
325
|
+
}
|
|
326
|
+
export function stampTurnLabel(speaker) {
|
|
327
|
+
if (typeof speaker !== 'string' || !speaker.startsWith(STAMP_TURN_SPEAKER_PREFIX))
|
|
328
|
+
return null;
|
|
329
|
+
const line = speaker.slice(STAMP_TURN_SPEAKER_PREFIX.length).trim();
|
|
330
|
+
return line === '' ? null : line;
|
|
331
|
+
}
|
|
332
|
+
//# sourceMappingURL=secret-request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secret-request.js","sourceRoot":"","sources":["../../src/surfaces/secret-request.ts"],"names":[],"mappings":"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"}
|
|
@@ -139,7 +139,7 @@ export function resourcefulLines(tools) {
|
|
|
139
139
|
const lines = ['Before you say you cannot do something, use what you can reach:'];
|
|
140
140
|
if (has('browser.act')) {
|
|
141
141
|
const login = has('secret.fill') && has('secret.list')
|
|
142
|
-
? 'it signs in with a login the owner stored (secret.list, then secret.fill)
|
|
142
|
+
? 'it signs in with a login the owner stored (secret.list, then secret.fill); with none stored for the site, secret.request asks the owner once with a card where they type it.'
|
|
143
143
|
: 'it asks the owner once with a card when a page needs their sign-in.';
|
|
144
144
|
lines.push('- A website the owner uses (an account page, a cart, an order, a statement): look with browser.act; buddi picks the browser ' +
|
|
145
145
|
"(the owner's Chrome where they are signed in, when allowed) and " + login);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-context.js","sourceRoot":"","sources":["../src/system-context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"system-context.js","sourceRoot":"","sources":["../src/system-context.ts"],"names":[],"mappings":"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"}
|