@withbuddi/buddi 0.1.0-pre.44 → 0.1.0-pre.46
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 +157 -1
- package/extension/manifest.json +5 -2
- package/extension/popup.html +4 -0
- package/extension/popup.js +18 -0
- package/node_modules/@buddi/cli/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/cli/dist/mcp/tools.d.ts +3 -8
- package/node_modules/@buddi/cli/dist/mcp/tools.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/mcp/tools.js +22 -4
- package/node_modules/@buddi/cli/dist/mcp/tools.js.map +1 -1
- package/node_modules/@buddi/core/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/core/dist/artifacts/orphans.d.ts +6 -4
- package/node_modules/@buddi/core/dist/artifacts/orphans.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/artifacts/orphans.js +10 -3
- package/node_modules/@buddi/core/dist/artifacts/orphans.js.map +1 -1
- package/node_modules/@buddi/core/dist/groups.d.ts +0 -9
- package/node_modules/@buddi/core/dist/groups.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/groups.js +13 -1
- package/node_modules/@buddi/core/dist/groups.js.map +1 -1
- package/node_modules/@buddi/core/dist/pages.d.ts +24 -1
- package/node_modules/@buddi/core/dist/pages.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/pages.js +61 -1
- package/node_modules/@buddi/core/dist/pages.js.map +1 -1
- package/node_modules/@buddi/core/dist/pending-input.d.ts +13 -2
- package/node_modules/@buddi/core/dist/pending-input.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/pending-input.js +57 -12
- package/node_modules/@buddi/core/dist/pending-input.js.map +1 -1
- package/node_modules/@buddi/core/dist/plugin/version.d.ts +1 -1
- package/node_modules/@buddi/core/dist/plugin/version.js +1 -1
- package/node_modules/@buddi/core/dist/tools.d.ts +6 -1
- 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/dist/web-settings.d.ts +8 -0
- package/node_modules/@buddi/core/dist/web-settings.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/web-settings.js +14 -0
- package/node_modules/@buddi/core/dist/web-settings.js.map +1 -1
- package/node_modules/@buddi/core/migrations/078_pending_input_files.sql +8 -0
- package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/gateway/dist/agents/agent-intro.d.ts +31 -0
- package/node_modules/@buddi/gateway/dist/agents/agent-intro.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/agents/agent-intro.js +116 -0
- package/node_modules/@buddi/gateway/dist/agents/agent-intro.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/agents/delegation.d.ts +10 -0
- package/node_modules/@buddi/gateway/dist/agents/delegation.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/delegation.js +18 -1
- package/node_modules/@buddi/gateway/dist/agents/delegation.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/platform.d.ts +14 -1
- package/node_modules/@buddi/gateway/dist/agents/platform.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/platform.js +44 -11
- package/node_modules/@buddi/gateway/dist/agents/platform.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/bootstrap.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/bootstrap.js +2 -0
- package/node_modules/@buddi/gateway/dist/bootstrap.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/browser-host.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/browser-host.js +1 -0
- package/node_modules/@buddi/gateway/dist/browser-host.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/edition-origin.d.ts +57 -0
- package/node_modules/@buddi/gateway/dist/edition-origin.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/edition-origin.js +156 -0
- package/node_modules/@buddi/gateway/dist/edition-origin.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/system-context.d.ts +9 -0
- package/node_modules/@buddi/gateway/dist/system-context.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/system-context.js +28 -2
- package/node_modules/@buddi/gateway/dist/system-context.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/approvals.d.ts +6 -0
- package/node_modules/@buddi/gateway/dist/telegram/approvals.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/approvals.js +10 -2
- package/node_modules/@buddi/gateway/dist/telegram/approvals.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 +10 -3
- package/node_modules/@buddi/gateway/dist/telegram/main.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/outbound.d.ts +9 -0
- package/node_modules/@buddi/gateway/dist/telegram/outbound.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/outbound.js +43 -0
- package/node_modules/@buddi/gateway/dist/telegram/outbound.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts +2 -0
- package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/surface.js +2 -1
- package/node_modules/@buddi/gateway/dist/telegram/surface.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/tips/engine.d.ts +32 -0
- package/node_modules/@buddi/gateway/dist/tips/engine.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/tips/engine.js +69 -0
- package/node_modules/@buddi/gateway/dist/tips/engine.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/tips/route.d.ts +1 -3
- package/node_modules/@buddi/gateway/dist/tips/route.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/tips/route.js +54 -30
- package/node_modules/@buddi/gateway/dist/tips/route.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/agent-offers.d.ts +10 -1
- package/node_modules/@buddi/gateway/dist/web/agent-offers.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/agent-offers.js +14 -1
- package/node_modules/@buddi/gateway/dist/web/agent-offers.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 +38 -7
- package/node_modules/@buddi/gateway/dist/web/api-routes.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/approval-ask.d.ts +16 -0
- package/node_modules/@buddi/gateway/dist/web/approval-ask.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/approval-ask.js +51 -0
- package/node_modules/@buddi/gateway/dist/web/approval-ask.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/attention.d.ts +37 -0
- package/node_modules/@buddi/gateway/dist/web/attention.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/attention.js +54 -10
- package/node_modules/@buddi/gateway/dist/web/attention.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/canvas-tabs.d.ts +41 -0
- package/node_modules/@buddi/gateway/dist/web/canvas-tabs.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/canvas-tabs.js +68 -0
- package/node_modules/@buddi/gateway/dist/web/canvas-tabs.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/chat.d.ts +6 -9
- package/node_modules/@buddi/gateway/dist/web/chat.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/chat.js +37 -19
- package/node_modules/@buddi/gateway/dist/web/chat.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/extension.d.ts +11 -1
- package/node_modules/@buddi/gateway/dist/web/extension.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/extension.js +51 -0
- package/node_modules/@buddi/gateway/dist/web/extension.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/live.d.ts +7 -0
- package/node_modules/@buddi/gateway/dist/web/live.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/live.js +12 -0
- package/node_modules/@buddi/gateway/dist/web/live.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/pages.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/pages.js +10 -1
- package/node_modules/@buddi/gateway/dist/web/pages.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/server.d.ts +0 -4
- package/node_modules/@buddi/gateway/dist/web/server.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/server.js +102 -7
- 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/codex-direct.d.ts +1 -1
- package/node_modules/@buddi/runtime/dist/codex-direct.js +1 -1
- package/node_modules/@buddi/runtime/dist/grounding.d.ts +54 -0
- package/node_modules/@buddi/runtime/dist/grounding.d.ts.map +1 -0
- package/node_modules/@buddi/runtime/dist/grounding.js +158 -0
- package/node_modules/@buddi/runtime/dist/grounding.js.map +1 -0
- package/node_modules/@buddi/runtime/dist/index.d.ts +1 -0
- package/node_modules/@buddi/runtime/dist/index.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/index.js +1 -0
- package/node_modules/@buddi/runtime/dist/index.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/loop.d.ts +19 -0
- package/node_modules/@buddi/runtime/dist/loop.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/loop.js +123 -13
- package/node_modules/@buddi/runtime/dist/loop.js.map +1 -1
- package/node_modules/@buddi/tool-artifacts/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-artifacts/dist/extract.d.ts +6 -0
- package/node_modules/@buddi/tool-artifacts/dist/extract.d.ts.map +1 -1
- package/node_modules/@buddi/tool-artifacts/dist/extract.js +6 -0
- package/node_modules/@buddi/tool-artifacts/dist/extract.js.map +1 -1
- package/node_modules/@buddi/tool-artifacts/dist/tools/artifacts.d.ts +1 -0
- package/node_modules/@buddi/tool-artifacts/dist/tools/artifacts.d.ts.map +1 -1
- package/node_modules/@buddi/tool-artifacts/dist/tools/artifacts.js +30 -8
- package/node_modules/@buddi/tool-artifacts/dist/tools/artifacts.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-browser/dist/controller.d.ts +25 -0
- package/node_modules/@buddi/tool-browser/dist/controller.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/controller.js +25 -1
- package/node_modules/@buddi/tool-browser/dist/controller.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/downloads.d.ts +138 -0
- package/node_modules/@buddi/tool-browser/dist/downloads.d.ts.map +1 -0
- package/node_modules/@buddi/tool-browser/dist/downloads.js +529 -0
- package/node_modules/@buddi/tool-browser/dist/downloads.js.map +1 -0
- package/node_modules/@buddi/tool-browser/dist/driver.d.ts +17 -1
- package/node_modules/@buddi/tool-browser/dist/driver.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/driver.js +48 -0
- package/node_modules/@buddi/tool-browser/dist/driver.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/extension.d.ts +23 -0
- package/node_modules/@buddi/tool-browser/dist/extension.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/extension.js +20 -0
- package/node_modules/@buddi/tool-browser/dist/extension.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/host.d.ts +3 -1
- package/node_modules/@buddi/tool-browser/dist/host.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/host.js +9 -2
- package/node_modules/@buddi/tool-browser/dist/host.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/index.d.ts +7 -3
- package/node_modules/@buddi/tool-browser/dist/index.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/index.js +5 -3
- package/node_modules/@buddi/tool-browser/dist/index.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/service.d.ts +28 -0
- package/node_modules/@buddi/tool-browser/dist/service.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/service.js +58 -1
- package/node_modules/@buddi/tool-browser/dist/service.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/settings.d.ts +8 -0
- package/node_modules/@buddi/tool-browser/dist/settings.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/settings.js +9 -0
- package/node_modules/@buddi/tool-browser/dist/settings.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/types.d.ts +31 -24
- package/node_modules/@buddi/tool-browser/dist/types.d.ts.map +1 -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-email/dist/agent.d.ts +6 -1
- package/node_modules/@buddi/tool-email/dist/agent.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/agent.js +6 -1
- package/node_modules/@buddi/tool-email/dist/agent.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/imap/fake.d.ts +8 -0
- package/node_modules/@buddi/tool-email/dist/imap/fake.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/imap/fake.js +15 -0
- package/node_modules/@buddi/tool-email/dist/imap/fake.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.js +26 -17
- package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/index.d.ts +5 -1
- package/node_modules/@buddi/tool-email/dist/index.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/index.js +11 -3
- package/node_modules/@buddi/tool-email/dist/index.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/mail.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/mail.js +4 -1
- package/node_modules/@buddi/tool-email/dist/mail.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/pages/index.d.ts +2 -1
- package/node_modules/@buddi/tool-email/dist/pages/index.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/pages/index.js +2 -2
- package/node_modules/@buddi/tool-email/dist/pages/index.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/pages/queries.d.ts +3 -2
- package/node_modules/@buddi/tool-email/dist/pages/queries.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/pages/queries.js +19 -7
- package/node_modules/@buddi/tool-email/dist/pages/queries.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/ports.d.ts +15 -0
- package/node_modules/@buddi/tool-email/dist/ports.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/ports.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.d.ts +9 -1
- package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.js +1 -0
- package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/text-cleanup.d.ts +69 -0
- package/node_modules/@buddi/tool-email/dist/text-cleanup.d.ts.map +1 -0
- package/node_modules/@buddi/tool-email/dist/text-cleanup.js +96 -0
- package/node_modules/@buddi/tool-email/dist/text-cleanup.js.map +1 -0
- package/node_modules/@buddi/tool-email/dist/text.d.ts +29 -0
- package/node_modules/@buddi/tool-email/dist/text.d.ts.map +1 -0
- package/node_modules/@buddi/tool-email/dist/text.js +153 -0
- package/node_modules/@buddi/tool-email/dist/text.js.map +1 -0
- package/node_modules/@buddi/tool-email/dist/worker.d.ts +64 -0
- package/node_modules/@buddi/tool-email/dist/worker.d.ts.map +1 -0
- package/node_modules/@buddi/tool-email/dist/worker.js +123 -0
- package/node_modules/@buddi/tool-email/dist/worker.js.map +1 -0
- package/node_modules/@buddi/tool-email/migrations/028_reading.sql +5 -2
- 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/marked/bin/main.js +1 -1
- package/node_modules/marked/lib/marked.d.ts +7 -0
- package/node_modules/marked/lib/marked.esm.js +14 -14
- package/node_modules/marked/lib/marked.esm.js.map +3 -3
- package/node_modules/marked/lib/marked.umd.js +19 -19
- package/node_modules/marked/lib/marked.umd.js.map +3 -3
- package/node_modules/marked/man/marked.1 +1 -1
- package/node_modules/marked/package.json +1 -1
- package/node_modules/nanoid/README.md +3 -3
- package/node_modules/nanoid/index.browser.js +4 -5
- package/node_modules/nanoid/index.d.ts +3 -3
- package/node_modules/nanoid/index.js +2 -3
- package/node_modules/nanoid/nanoid.js +1 -1
- package/node_modules/nanoid/package.json +2 -2
- package/node_modules/nanoid/url-alphabet/index.js +1 -1
- package/package.json +2 -2
- package/packages/cli/dist/.tsbuildinfo +1 -1
- package/packages/cli/dist/mcp/tools.d.ts +3 -8
- package/packages/cli/dist/mcp/tools.d.ts.map +1 -1
- package/packages/cli/dist/mcp/tools.js +22 -4
- package/packages/cli/dist/mcp/tools.js.map +1 -1
- package/packages/core/dist/.tsbuildinfo +1 -1
- package/packages/core/dist/artifacts/orphans.d.ts +6 -4
- package/packages/core/dist/artifacts/orphans.d.ts.map +1 -1
- package/packages/core/dist/artifacts/orphans.js +10 -3
- package/packages/core/dist/artifacts/orphans.js.map +1 -1
- package/packages/core/dist/groups.d.ts +0 -9
- package/packages/core/dist/groups.d.ts.map +1 -1
- package/packages/core/dist/groups.js +13 -1
- package/packages/core/dist/groups.js.map +1 -1
- package/packages/core/dist/pages.d.ts +24 -1
- package/packages/core/dist/pages.d.ts.map +1 -1
- package/packages/core/dist/pages.js +61 -1
- package/packages/core/dist/pages.js.map +1 -1
- package/packages/core/dist/pending-input.d.ts +13 -2
- package/packages/core/dist/pending-input.d.ts.map +1 -1
- package/packages/core/dist/pending-input.js +57 -12
- package/packages/core/dist/pending-input.js.map +1 -1
- package/packages/core/dist/plugin/version.d.ts +1 -1
- package/packages/core/dist/plugin/version.js +1 -1
- package/packages/core/dist/tools.d.ts +6 -1
- package/packages/core/dist/tools.d.ts.map +1 -1
- package/packages/core/dist/tools.js.map +1 -1
- package/packages/core/dist/web-settings.d.ts +8 -0
- package/packages/core/dist/web-settings.d.ts.map +1 -1
- package/packages/core/dist/web-settings.js +14 -0
- package/packages/core/dist/web-settings.js.map +1 -1
- package/packages/core/migrations/078_pending_input_files.sql +8 -0
- package/packages/gateway/dist/.tsbuildinfo +1 -1
- package/packages/gateway/dist/agents/agent-intro.d.ts +31 -0
- package/packages/gateway/dist/agents/agent-intro.d.ts.map +1 -0
- package/packages/gateway/dist/agents/agent-intro.js +116 -0
- package/packages/gateway/dist/agents/agent-intro.js.map +1 -0
- package/packages/gateway/dist/agents/delegation.d.ts +10 -0
- package/packages/gateway/dist/agents/delegation.d.ts.map +1 -1
- package/packages/gateway/dist/agents/delegation.js +18 -1
- package/packages/gateway/dist/agents/delegation.js.map +1 -1
- package/packages/gateway/dist/agents/platform.d.ts +14 -1
- package/packages/gateway/dist/agents/platform.d.ts.map +1 -1
- package/packages/gateway/dist/agents/platform.js +44 -11
- package/packages/gateway/dist/agents/platform.js.map +1 -1
- package/packages/gateway/dist/bootstrap.d.ts.map +1 -1
- package/packages/gateway/dist/bootstrap.js +2 -0
- package/packages/gateway/dist/bootstrap.js.map +1 -1
- package/packages/gateway/dist/browser-host.d.ts.map +1 -1
- package/packages/gateway/dist/browser-host.js +1 -0
- package/packages/gateway/dist/browser-host.js.map +1 -1
- package/packages/gateway/dist/edition-origin.d.ts +57 -0
- package/packages/gateway/dist/edition-origin.d.ts.map +1 -0
- package/packages/gateway/dist/edition-origin.js +156 -0
- package/packages/gateway/dist/edition-origin.js.map +1 -0
- package/packages/gateway/dist/system-context.d.ts +9 -0
- package/packages/gateway/dist/system-context.d.ts.map +1 -1
- package/packages/gateway/dist/system-context.js +28 -2
- package/packages/gateway/dist/system-context.js.map +1 -1
- package/packages/gateway/dist/telegram/approvals.d.ts +6 -0
- package/packages/gateway/dist/telegram/approvals.d.ts.map +1 -1
- package/packages/gateway/dist/telegram/approvals.js +10 -2
- package/packages/gateway/dist/telegram/approvals.js.map +1 -1
- package/packages/gateway/dist/telegram/main.d.ts.map +1 -1
- package/packages/gateway/dist/telegram/main.js +10 -3
- package/packages/gateway/dist/telegram/main.js.map +1 -1
- package/packages/gateway/dist/telegram/outbound.d.ts +9 -0
- package/packages/gateway/dist/telegram/outbound.d.ts.map +1 -1
- package/packages/gateway/dist/telegram/outbound.js +43 -0
- package/packages/gateway/dist/telegram/outbound.js.map +1 -1
- package/packages/gateway/dist/telegram/surface.d.ts +2 -0
- package/packages/gateway/dist/telegram/surface.d.ts.map +1 -1
- package/packages/gateway/dist/telegram/surface.js +2 -1
- package/packages/gateway/dist/telegram/surface.js.map +1 -1
- package/packages/gateway/dist/tips/engine.d.ts +32 -0
- package/packages/gateway/dist/tips/engine.d.ts.map +1 -1
- package/packages/gateway/dist/tips/engine.js +69 -0
- package/packages/gateway/dist/tips/engine.js.map +1 -1
- package/packages/gateway/dist/tips/route.d.ts +1 -3
- package/packages/gateway/dist/tips/route.d.ts.map +1 -1
- package/packages/gateway/dist/tips/route.js +54 -30
- package/packages/gateway/dist/tips/route.js.map +1 -1
- package/packages/gateway/dist/web/agent-offers.d.ts +10 -1
- package/packages/gateway/dist/web/agent-offers.d.ts.map +1 -1
- package/packages/gateway/dist/web/agent-offers.js +14 -1
- package/packages/gateway/dist/web/agent-offers.js.map +1 -1
- package/packages/gateway/dist/web/api-routes.d.ts.map +1 -1
- package/packages/gateway/dist/web/api-routes.js +38 -7
- package/packages/gateway/dist/web/api-routes.js.map +1 -1
- package/packages/gateway/dist/web/approval-ask.d.ts +16 -0
- package/packages/gateway/dist/web/approval-ask.d.ts.map +1 -0
- package/packages/gateway/dist/web/approval-ask.js +51 -0
- package/packages/gateway/dist/web/approval-ask.js.map +1 -0
- package/packages/gateway/dist/web/attention.d.ts +37 -0
- package/packages/gateway/dist/web/attention.d.ts.map +1 -1
- package/packages/gateway/dist/web/attention.js +54 -10
- package/packages/gateway/dist/web/attention.js.map +1 -1
- package/packages/gateway/dist/web/canvas-tabs.d.ts +41 -0
- package/packages/gateway/dist/web/canvas-tabs.d.ts.map +1 -0
- package/packages/gateway/dist/web/canvas-tabs.js +68 -0
- package/packages/gateway/dist/web/canvas-tabs.js.map +1 -0
- package/packages/gateway/dist/web/chat.d.ts +6 -9
- package/packages/gateway/dist/web/chat.d.ts.map +1 -1
- package/packages/gateway/dist/web/chat.js +37 -19
- package/packages/gateway/dist/web/chat.js.map +1 -1
- package/packages/gateway/dist/web/extension.d.ts +11 -1
- package/packages/gateway/dist/web/extension.d.ts.map +1 -1
- package/packages/gateway/dist/web/extension.js +51 -0
- package/packages/gateway/dist/web/extension.js.map +1 -1
- package/packages/gateway/dist/web/live.d.ts +7 -0
- package/packages/gateway/dist/web/live.d.ts.map +1 -1
- package/packages/gateway/dist/web/live.js +12 -0
- package/packages/gateway/dist/web/live.js.map +1 -1
- package/packages/gateway/dist/web/pages.d.ts.map +1 -1
- package/packages/gateway/dist/web/pages.js +10 -1
- package/packages/gateway/dist/web/pages.js.map +1 -1
- package/packages/gateway/dist/web/server.d.ts +0 -4
- package/packages/gateway/dist/web/server.d.ts.map +1 -1
- package/packages/gateway/dist/web/server.js +102 -7
- 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/codex-direct.d.ts +1 -1
- package/packages/runtime/dist/codex-direct.js +1 -1
- package/packages/runtime/dist/grounding.d.ts +54 -0
- package/packages/runtime/dist/grounding.d.ts.map +1 -0
- package/packages/runtime/dist/grounding.js +158 -0
- package/packages/runtime/dist/grounding.js.map +1 -0
- package/packages/runtime/dist/index.d.ts +1 -0
- package/packages/runtime/dist/index.d.ts.map +1 -1
- package/packages/runtime/dist/index.js +1 -0
- package/packages/runtime/dist/index.js.map +1 -1
- package/packages/runtime/dist/loop.d.ts +19 -0
- package/packages/runtime/dist/loop.d.ts.map +1 -1
- package/packages/runtime/dist/loop.js +123 -13
- package/packages/runtime/dist/loop.js.map +1 -1
- package/packages/tools/artifacts/dist/.tsbuildinfo +1 -1
- package/packages/tools/artifacts/dist/extract.d.ts +6 -0
- package/packages/tools/artifacts/dist/extract.d.ts.map +1 -1
- package/packages/tools/artifacts/dist/extract.js +6 -0
- package/packages/tools/artifacts/dist/extract.js.map +1 -1
- package/packages/tools/artifacts/dist/tools/artifacts.d.ts +1 -0
- package/packages/tools/artifacts/dist/tools/artifacts.d.ts.map +1 -1
- package/packages/tools/artifacts/dist/tools/artifacts.js +30 -8
- package/packages/tools/artifacts/dist/tools/artifacts.js.map +1 -1
- package/packages/tools/browser/dist/.tsbuildinfo +1 -1
- package/packages/tools/browser/dist/controller.d.ts +25 -0
- package/packages/tools/browser/dist/controller.d.ts.map +1 -1
- package/packages/tools/browser/dist/controller.js +25 -1
- package/packages/tools/browser/dist/controller.js.map +1 -1
- package/packages/tools/browser/dist/downloads.d.ts +138 -0
- package/packages/tools/browser/dist/downloads.d.ts.map +1 -0
- package/packages/tools/browser/dist/downloads.js +529 -0
- package/packages/tools/browser/dist/downloads.js.map +1 -0
- package/packages/tools/browser/dist/driver.d.ts +17 -1
- package/packages/tools/browser/dist/driver.d.ts.map +1 -1
- package/packages/tools/browser/dist/driver.js +48 -0
- package/packages/tools/browser/dist/driver.js.map +1 -1
- package/packages/tools/browser/dist/extension.d.ts +23 -0
- package/packages/tools/browser/dist/extension.d.ts.map +1 -1
- package/packages/tools/browser/dist/extension.js +20 -0
- package/packages/tools/browser/dist/extension.js.map +1 -1
- package/packages/tools/browser/dist/host.d.ts +3 -1
- package/packages/tools/browser/dist/host.d.ts.map +1 -1
- package/packages/tools/browser/dist/host.js +9 -2
- package/packages/tools/browser/dist/host.js.map +1 -1
- package/packages/tools/browser/dist/index.d.ts +7 -3
- package/packages/tools/browser/dist/index.d.ts.map +1 -1
- package/packages/tools/browser/dist/index.js +5 -3
- package/packages/tools/browser/dist/index.js.map +1 -1
- package/packages/tools/browser/dist/service.d.ts +28 -0
- package/packages/tools/browser/dist/service.d.ts.map +1 -1
- package/packages/tools/browser/dist/service.js +58 -1
- package/packages/tools/browser/dist/service.js.map +1 -1
- package/packages/tools/browser/dist/settings.d.ts +8 -0
- package/packages/tools/browser/dist/settings.d.ts.map +1 -1
- package/packages/tools/browser/dist/settings.js +9 -0
- package/packages/tools/browser/dist/settings.js.map +1 -1
- package/packages/tools/browser/dist/types.d.ts +31 -24
- package/packages/tools/browser/dist/types.d.ts.map +1 -1
- package/packages/tools/browser/dist/types.js.map +1 -1
- package/packages/tools/email/dist/.tsbuildinfo +1 -1
- package/packages/tools/email/dist/agent.d.ts +6 -1
- package/packages/tools/email/dist/agent.d.ts.map +1 -1
- package/packages/tools/email/dist/agent.js +6 -1
- package/packages/tools/email/dist/agent.js.map +1 -1
- package/packages/tools/email/dist/imap/fake.d.ts +8 -0
- package/packages/tools/email/dist/imap/fake.d.ts.map +1 -1
- package/packages/tools/email/dist/imap/fake.js +15 -0
- package/packages/tools/email/dist/imap/fake.js.map +1 -1
- package/packages/tools/email/dist/imap/imapflow-client.d.ts.map +1 -1
- package/packages/tools/email/dist/imap/imapflow-client.js +26 -17
- package/packages/tools/email/dist/imap/imapflow-client.js.map +1 -1
- package/packages/tools/email/dist/index.d.ts +5 -1
- package/packages/tools/email/dist/index.d.ts.map +1 -1
- package/packages/tools/email/dist/index.js +11 -3
- package/packages/tools/email/dist/index.js.map +1 -1
- package/packages/tools/email/dist/mail.d.ts.map +1 -1
- package/packages/tools/email/dist/mail.js +4 -1
- package/packages/tools/email/dist/mail.js.map +1 -1
- package/packages/tools/email/dist/pages/index.d.ts +2 -1
- package/packages/tools/email/dist/pages/index.d.ts.map +1 -1
- package/packages/tools/email/dist/pages/index.js +2 -2
- package/packages/tools/email/dist/pages/index.js.map +1 -1
- package/packages/tools/email/dist/pages/queries.d.ts +3 -2
- package/packages/tools/email/dist/pages/queries.d.ts.map +1 -1
- package/packages/tools/email/dist/pages/queries.js +19 -7
- package/packages/tools/email/dist/pages/queries.js.map +1 -1
- package/packages/tools/email/dist/ports.d.ts +15 -0
- package/packages/tools/email/dist/ports.d.ts.map +1 -1
- package/packages/tools/email/dist/ports.js.map +1 -1
- package/packages/tools/email/dist/sources/inbox-poll.d.ts +9 -1
- package/packages/tools/email/dist/sources/inbox-poll.d.ts.map +1 -1
- package/packages/tools/email/dist/sources/inbox-poll.js +1 -0
- package/packages/tools/email/dist/sources/inbox-poll.js.map +1 -1
- package/packages/tools/email/dist/text-cleanup.d.ts +69 -0
- package/packages/tools/email/dist/text-cleanup.d.ts.map +1 -0
- package/packages/tools/email/dist/text-cleanup.js +96 -0
- package/packages/tools/email/dist/text-cleanup.js.map +1 -0
- package/packages/tools/email/dist/text.d.ts +29 -0
- package/packages/tools/email/dist/text.d.ts.map +1 -0
- package/packages/tools/email/dist/text.js +153 -0
- package/packages/tools/email/dist/text.js.map +1 -0
- package/packages/tools/email/dist/worker.d.ts +64 -0
- package/packages/tools/email/dist/worker.d.ts.map +1 -0
- package/packages/tools/email/dist/worker.js +123 -0
- package/packages/tools/email/dist/worker.js.map +1 -0
- package/packages/tools/email/migrations/028_reading.sql +5 -2
- 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-C2yWZED2.css +1 -0
- package/packages/web/dist/assets/index-CIhME8Ui.js +150 -0
- package/packages/web/dist/assets/{lottie_light-DnYl9yaP.js → lottie_light-CVXFbeEK.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/packages/web/dist/assets/index-C1sRt7zd.js +0 -149
- package/packages/web/dist/assets/index-CdZpSJ4_.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../src/tips/route.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../src/tips/route.ts"],"names":[],"mappings":"AAoBA,OAAO,EAA6B,KAAK,KAAK,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AACvF,OAAO,EAAQ,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAEhD,eAAO,MAAM,cAAc,eAAe,CAAC;AAE3C,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5B,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,KAAK,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;CACf;AAOD,wBAAsB,SAAS,CAC7B,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GACjH,OAAO,CAAC,SAAS,CAAC,CAuFpB"}
|
|
@@ -1,54 +1,41 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The tips' routes (docs/dashboard.md, Home):
|
|
3
3
|
*
|
|
4
|
-
* GET /api/tips { tips: [...rows]
|
|
5
|
-
* GET /api/tips/current { tip | null
|
|
4
|
+
* GET /api/tips { tips: [...rows] } every rule and where it stands
|
|
5
|
+
* GET /api/tips/current { tip | null } today's tip, if any
|
|
6
|
+
* GET /api/tips/queue { tips: [...], dismissed } the bulb's stack: today's tip first, then every other
|
|
7
|
+
* one that holds and is not dismissed, ready ones before those in their cooldown;
|
|
8
|
+
* `dismissed` counts the dismissed ones that hold
|
|
9
|
+
* (`?peek=1`: today's and the ready ones only, nothing marked shown: for the bulb's dot)
|
|
10
|
+
* GET /api/tips/dismissed { tips: [...] } the dismissed ones the queue counts, for "Bring back"
|
|
6
11
|
* POST /api/tips/:id/dismiss "Not this again": never again
|
|
7
12
|
* POST /api/tips/:id/later ×: not before its cooldown has passed
|
|
8
13
|
* POST /api/tips/:id/restore "Bring back": forget a dismissal
|
|
9
14
|
* POST /api/tips/seen-page { page } the dashboard opened a page (once a day each)
|
|
10
|
-
* GET /api/tips/settings { enabled }
|
|
11
|
-
* PUT /api/tips/settings { enabled } Settings → Notifications → Tips on Home
|
|
12
15
|
*
|
|
13
|
-
* State lives in `core.web_settings`: `tips.state` (the engine's)
|
|
14
|
-
*
|
|
16
|
+
* State lives in `core.web_settings`: `tips.state` (the engine's) and
|
|
17
|
+
* `tips.pages`. A `tips.enabled` left from the old "Tips on Home" switch is
|
|
18
|
+
* ignored: tips sit behind the bulb, which is the owner's choice to look.
|
|
15
19
|
*/
|
|
16
|
-
import { dayIn, dismissTip, laterTip, listTips, pickTip, restoreTip, viewOf } from './engine.js';
|
|
20
|
+
import { dayIn, dismissTip, laterTip, listDismissed, listTips, pickQueue, pickTip, restoreTip, viewOf } from './engine.js';
|
|
17
21
|
import { PAGE_NAME, recordPageSeen } from './facts.js';
|
|
18
22
|
import { TIPS } from './rules.js';
|
|
19
23
|
export const TIPS_STATE_KEY = 'tips.state';
|
|
20
|
-
export const TIPS_ENABLED_KEY = 'tips.enabled';
|
|
21
24
|
async function readState(store) {
|
|
22
25
|
const value = await store.read(TIPS_STATE_KEY).catch(() => null);
|
|
23
26
|
return value && typeof value === 'object' && !Array.isArray(value) ? value : {};
|
|
24
27
|
}
|
|
25
|
-
/** Whether tips are on. Anything but an explicit `false` is on. */
|
|
26
|
-
export async function tipsEnabled(store) {
|
|
27
|
-
const value = await store.read(TIPS_ENABLED_KEY).catch(() => null);
|
|
28
|
-
return value !== false;
|
|
29
|
-
}
|
|
30
28
|
export async function tipsRoute(deps, request) {
|
|
31
29
|
const { method, path } = request;
|
|
32
30
|
const body = request.body ?? {};
|
|
33
31
|
const rules = deps.rules ?? TIPS;
|
|
34
32
|
const today = dayIn(deps.now(), deps.timezone);
|
|
35
|
-
if (path === '/api/tips/settings') {
|
|
36
|
-
if (method === 'PUT') {
|
|
37
|
-
if (typeof body.enabled !== 'boolean')
|
|
38
|
-
return { status: 400, body: { error: '`enabled` must be true or false.' } };
|
|
39
|
-
await deps.store.write(TIPS_ENABLED_KEY, body.enabled);
|
|
40
|
-
}
|
|
41
|
-
else if (method !== 'GET') {
|
|
42
|
-
return { status: 405, body: { error: 'GET or PUT.' } };
|
|
43
|
-
}
|
|
44
|
-
return { status: 200, body: { enabled: await tipsEnabled(deps.store) } };
|
|
45
|
-
}
|
|
46
33
|
if (path === '/api/tips') {
|
|
47
34
|
if (method !== 'GET')
|
|
48
35
|
return { status: 405, body: { error: 'GET only.' } };
|
|
49
|
-
// Reads only: listing never marks a tip shown.
|
|
36
|
+
// Reads only: listing never marks a tip shown.
|
|
50
37
|
const tips = listTips(rules, await deps.facts(), await readState(deps.store), today);
|
|
51
|
-
return { status: 200, body: { tips
|
|
38
|
+
return { status: 200, body: { tips } };
|
|
52
39
|
}
|
|
53
40
|
if (path === '/api/tips/current') {
|
|
54
41
|
if (method !== 'GET')
|
|
@@ -59,16 +46,53 @@ export async function tipsRoute(deps, request) {
|
|
|
59
46
|
if (preview !== null) {
|
|
60
47
|
const rule = rules.find((r) => r.id === preview);
|
|
61
48
|
return rule
|
|
62
|
-
? { status: 200, body: { tip: viewOf(rule, await deps.facts()),
|
|
49
|
+
? { status: 200, body: { tip: viewOf(rule, await deps.facts()), preview: true } }
|
|
63
50
|
: { status: 404, body: { error: `No tip called "${preview}". Known: ${rules.map((r) => r.id).join(', ')}.` } };
|
|
64
51
|
}
|
|
65
|
-
if (!(await tipsEnabled(deps.store)))
|
|
66
|
-
return { status: 200, body: { tip: null, enabled: false } };
|
|
67
52
|
const previous = await readState(deps.store);
|
|
68
53
|
const { tip, state } = pickTip(rules, await deps.facts(), previous, today);
|
|
69
54
|
if (JSON.stringify(state) !== JSON.stringify(previous))
|
|
70
55
|
await deps.store.write(TIPS_STATE_KEY, state);
|
|
71
|
-
return { status: 200, body: { tip
|
|
56
|
+
return { status: 200, body: { tip } };
|
|
57
|
+
}
|
|
58
|
+
if (path === '/api/tips/queue') {
|
|
59
|
+
if (method !== 'GET')
|
|
60
|
+
return { status: 405, body: { error: 'GET only.' } };
|
|
61
|
+
// `?preview=a,b,c` stacks those rules' cards as they would look, touching no state.
|
|
62
|
+
const preview = request.preview ?? null;
|
|
63
|
+
if (preview !== null) {
|
|
64
|
+
const ids = preview.split(',').map((id) => id.trim()).filter(Boolean);
|
|
65
|
+
const unknown = ids.filter((id) => !rules.some((r) => r.id === id));
|
|
66
|
+
if (ids.length === 0 || unknown.length) {
|
|
67
|
+
return { status: 404, body: { error: `No tip called "${unknown[0] ?? preview}". Known: ${rules.map((r) => r.id).join(', ')}.` } };
|
|
68
|
+
}
|
|
69
|
+
const f = await deps.facts();
|
|
70
|
+
return { status: 200, body: { tips: ids.map((id) => viewOf(rules.find((r) => r.id === id), f)), preview: true } };
|
|
71
|
+
}
|
|
72
|
+
const previous = await readState(deps.store);
|
|
73
|
+
const { tips, state, dismissed } = pickQueue(rules, await deps.facts(), previous, today, { open: !request.peek });
|
|
74
|
+
// A peek keeps the holds counting but marks nothing shown: the owner has
|
|
75
|
+
// not opened the stack, so no tip's cooldown starts.
|
|
76
|
+
const front = tips[0]?.id;
|
|
77
|
+
if (request.peek && front && state[front]?.shownAt !== previous[front]?.shownAt) {
|
|
78
|
+
const before = previous[front]?.shownAt;
|
|
79
|
+
if (before)
|
|
80
|
+
state[front] = { ...state[front], shownAt: before };
|
|
81
|
+
else {
|
|
82
|
+
const { shownAt: _s, ...rest } = state[front];
|
|
83
|
+
state[front] = rest;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
if (JSON.stringify(state) !== JSON.stringify(previous))
|
|
87
|
+
await deps.store.write(TIPS_STATE_KEY, state);
|
|
88
|
+
return { status: 200, body: { tips, dismissed } };
|
|
89
|
+
}
|
|
90
|
+
if (path === '/api/tips/dismissed') {
|
|
91
|
+
if (method !== 'GET')
|
|
92
|
+
return { status: 405, body: { error: 'GET only.' } };
|
|
93
|
+
// Reads only: the state is what the queue left it as.
|
|
94
|
+
const tips = listDismissed(rules, await deps.facts(), await readState(deps.store), today);
|
|
95
|
+
return { status: 200, body: { tips } };
|
|
72
96
|
}
|
|
73
97
|
if (path === '/api/tips/seen-page') {
|
|
74
98
|
if (method !== 'POST')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../src/tips/route.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../src/tips/route.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
* something the owner already set up — the mail plugin polls every mailbox and
|
|
7
7
|
* hands each new message to `mail-triage`, which nothing creates. Those carry
|
|
8
8
|
* an `offer`, and Home shows it while nobody has that id, the plugin says it is
|
|
9
|
-
* wanted, and the owner has not dismissed it.
|
|
9
|
+
* wanted, and the owner has not dismissed it. A mail agent is not offered
|
|
10
|
+
* while any agent on the team carries the `mail` role.
|
|
10
11
|
*
|
|
11
12
|
* Accepting is not here. It is `POST /api/plugins/<plugin>/agents/<id>/accept`
|
|
12
13
|
* (`acceptAgentRoute`), the gated `platform.accept_plugin_agent` the Plugins
|
|
@@ -35,6 +36,12 @@ export interface AgentOffersDeps extends PagesDeps {
|
|
|
35
36
|
};
|
|
36
37
|
/** The ids the roster holds right now. */
|
|
37
38
|
agentIds: () => readonly string[];
|
|
39
|
+
/**
|
|
40
|
+
* The roles the roster's agents carry right now. An offer is not made when
|
|
41
|
+
* somebody on the team already carries the `mail` role it would fill: mail
|
|
42
|
+
* is read, and the owner would read the card as a bug. Absent counts as none.
|
|
43
|
+
*/
|
|
44
|
+
agentRoles?: () => readonly string[];
|
|
38
45
|
/**
|
|
39
46
|
* Is first run not under way? While it runs, Home’s offers stay
|
|
40
47
|
* quiet: chapter 4's mailbox sheet brings Mail Triage in itself. Absent
|
|
@@ -42,6 +49,8 @@ export interface AgentOffersDeps extends PagesDeps {
|
|
|
42
49
|
*/
|
|
43
50
|
firstRunDone?: () => Promise<boolean>;
|
|
44
51
|
}
|
|
52
|
+
/** The role whose offer is not made while an agent already carries it. */
|
|
53
|
+
export declare const MAIL_ROLE = "mail";
|
|
45
54
|
/**
|
|
46
55
|
* The offers to draw: proposed with an `offer`, nobody has that id, not
|
|
47
56
|
* dismissed, and — when the plugin names a query — wanted now.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-offers.d.ts","sourceRoot":"","sources":["../../src/web/agent-offers.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"agent-offers.d.ts","sourceRoot":"","sources":["../../src/web/agent-offers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAML,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE1D,yEAAyE;AACzE,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAa/C,kCAAkC;AAClC,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,IAAI,EAAE;QAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YAAE,IAAI,EAAE,GAAG,EAAE,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IAC3E,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;IAClC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;IACrC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACvC;AAED,0EAA0E;AAC1E,eAAO,MAAM,SAAS,SAAS,CAAC;AA4ChC;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,cAAc,EAAE,CAAA;CAAE,CAAC,CAqBlG;AAED,uFAAuF;AACvF,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAO5C;AAED,8DAA8D;AAC9D,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAQ5F;AAED,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D,0EAA0E;IAC1E,WAAW,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;IACpE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAiCpG"}
|
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
* something the owner already set up — the mail plugin polls every mailbox and
|
|
7
7
|
* hands each new message to `mail-triage`, which nothing creates. Those carry
|
|
8
8
|
* an `offer`, and Home shows it while nobody has that id, the plugin says it is
|
|
9
|
-
* wanted, and the owner has not dismissed it.
|
|
9
|
+
* wanted, and the owner has not dismissed it. A mail agent is not offered
|
|
10
|
+
* while any agent on the team carries the `mail` role.
|
|
10
11
|
*
|
|
11
12
|
* Accepting is not here. It is `POST /api/plugins/<plugin>/agents/<id>/accept`
|
|
12
13
|
* (`acceptAgentRoute`), the gated `platform.accept_plugin_agent` the Plugins
|
|
@@ -18,6 +19,14 @@ import { pluginAgentProposals } from '../agents/platform.js';
|
|
|
18
19
|
import { runPageQuery } from './pages.js';
|
|
19
20
|
/** The `core.web_settings` key the owner's dismissals are kept under. */
|
|
20
21
|
export const AGENT_OFFERS_KEY = 'agent-offers';
|
|
22
|
+
/** The role whose offer is not made while an agent already carries it. */
|
|
23
|
+
export const MAIL_ROLE = 'mail';
|
|
24
|
+
/** Whether the team already has an agent in the `mail` role this offered agent would fill. */
|
|
25
|
+
function roleTaken(deps, roles) {
|
|
26
|
+
if (!roles?.includes(MAIL_ROLE) || !deps.agentRoles)
|
|
27
|
+
return false;
|
|
28
|
+
return deps.agentRoles().includes(MAIL_ROLE);
|
|
29
|
+
}
|
|
21
30
|
function keyOf(plugin, agent) {
|
|
22
31
|
return `${plugin}/${agent}`;
|
|
23
32
|
}
|
|
@@ -69,6 +78,8 @@ export async function readAgentOffers(deps) {
|
|
|
69
78
|
continue;
|
|
70
79
|
if (present.has(agent.id) || dismissed.has(keyOf(plugin, agent.id)))
|
|
71
80
|
continue;
|
|
81
|
+
if (roleTaken(deps, agent.roles))
|
|
82
|
+
continue;
|
|
72
83
|
if (!(await wanted(deps, plugin, offer.query)))
|
|
73
84
|
continue;
|
|
74
85
|
offers.push({
|
|
@@ -130,6 +141,8 @@ export async function raiseAgentOffers(deps, plugin) {
|
|
|
130
141
|
continue;
|
|
131
142
|
if (deps.agentIds().includes(agent.id))
|
|
132
143
|
continue;
|
|
144
|
+
if (roleTaken(deps, agent.roles))
|
|
145
|
+
continue;
|
|
133
146
|
const pending = await listPendingActions(deps.pool, { now: deps.now() }).catch(() => []);
|
|
134
147
|
if (pending.some((action) => isPendingAccept(action, plugin, agent.id)))
|
|
135
148
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-offers.js","sourceRoot":"","sources":["../../src/web/agent-offers.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"agent-offers.js","sourceRoot":"","sources":["../../src/web/agent-offers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-routes.d.ts","sourceRoot":"","sources":["../../src/web/api-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEpE,gDAAgD;AAChD,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAExE,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,SAAS,CAAC;IAClB,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,yDAAyD;IACzD,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,qGAAqG;AACrG,eAAO,MAAM,cAAc;;;;;;;;CAQjB,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,cAAc,CAAC;AAEvD,6CAA6C;AAC7C,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;CAuBZ,CAAC;AACX,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,SAAS,CAAC;AAK7C,eAAO,MAAM,UAAU,EAAE,SAAS,QAAQ,
|
|
1
|
+
{"version":3,"file":"api-routes.d.ts","sourceRoot":"","sources":["../../src/web/api-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEpE,gDAAgD;AAChD,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAExE,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,SAAS,CAAC;IAClB,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,yDAAyD;IACzD,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,qGAAqG;AACrG,eAAO,MAAM,cAAc;;;;;;;;CAQjB,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,cAAc,CAAC;AAEvD,6CAA6C;AAC7C,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;CAuBZ,CAAC;AACX,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,SAAS,CAAC;AAK7C,eAAO,MAAM,UAAU,EAAE,SAAS,QAAQ,EAs6BzC,CAAC;AAYF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CASpF;AAMD,wBAAgB,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAI9C;AAkDD,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAAC,MAAM,GAAE,SAAS,QAAQ,EAAe,EAAE,KAAK,GAAE,MAAkB,GAAG,MAAM,CAuC9G;AAED,oFAAoF;AACpF,eAAO,MAAM,SAAS,q/NAoJrB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA6UtD,CAAC"}
|
|
@@ -229,14 +229,18 @@ export const API_ROUTES = [
|
|
|
229
229
|
summary: "Home's whole first read: plugin blocks and glances, and counts of approvals, jobs, missions, reminders, watchers.",
|
|
230
230
|
answer: '{ now, timezone, paused, home: HomeBlock[], glances, approvals: { pending, oldestPendingAt }, jobs: Record<state, number>, missions, reminders, sentinels, mail, running, needsYou: { approvals, questions, urgent, failed, proposals, asks, agentsToSetUp, signIns, recovery, total } }',
|
|
231
231
|
},
|
|
232
|
-
{ method: 'GET', path: '/api/tips', area: 'home', summary: 'Every tip and its state.', answer: '{ tips: Tip[]
|
|
232
|
+
{ method: 'GET', path: '/api/tips', area: 'home', summary: 'Every tip and its state.', answer: '{ tips: Tip[] }' },
|
|
233
233
|
{
|
|
234
234
|
method: 'GET', path: '/api/tips/current', area: 'home', summary: "Today's tip on Home, if any (picking one is remembered).",
|
|
235
|
-
query: 'preview?: tip id // show one as it would look, touching nothing', answer: '{ tip: Tip|null
|
|
235
|
+
query: 'preview?: tip id // show one as it would look, touching nothing', answer: '{ tip: Tip|null }',
|
|
236
236
|
errors: '404 no tip by the preview id',
|
|
237
237
|
},
|
|
238
|
-
{
|
|
239
|
-
|
|
238
|
+
{
|
|
239
|
+
method: 'GET', path: '/api/tips/queue', area: 'home', summary: "The stack the lightbulb on Home opens: today's tip first, then every other one that holds and is not dismissed, ready ones before those in their cooldown (picking the first is remembered).",
|
|
240
|
+
query: "preview?: tip ids, comma-separated // stack those as they would look, touching nothing; peek?: '1' // today's and the ready ones only, marking nothing shown", answer: '{ tips: Tip[], dismissed: number }',
|
|
241
|
+
errors: '404 no tip by a preview id',
|
|
242
|
+
},
|
|
243
|
+
{ method: 'GET', path: '/api/tips/dismissed', area: 'home', summary: 'The dismissed tips the queue counts, for the empty stack\'s "Bring back" list.', answer: '{ tips: Tip[] }' },
|
|
240
244
|
{ method: 'POST', path: '/api/tips/seen-page', area: 'home', summary: 'Record that a page was opened (tips about it stop).', body: '{ page: string }', answer: '{ ok: true }' },
|
|
241
245
|
{ method: 'POST', path: '/api/tips/:id/dismiss', area: 'home', summary: 'Never show this tip again.', answer: '{ ok: true }', errors: '404 no such tip' },
|
|
242
246
|
{ method: 'POST', path: '/api/tips/:id/later', area: 'home', summary: 'Show this tip another day.', answer: '{ ok: true }', errors: '404 no such tip' },
|
|
@@ -324,6 +328,16 @@ export const API_ROUTES = [
|
|
|
324
328
|
method: 'DELETE', path: '/api/chat/conversations/:id/carry-over', area: 'chat',
|
|
325
329
|
summary: 'Drop the note a rollover carried into this conversation; it leaves every later turn’s context.', answer: '204',
|
|
326
330
|
},
|
|
331
|
+
{
|
|
332
|
+
method: 'GET', path: '/api/chat/conversations/:id/canvas-tabs', area: 'chat',
|
|
333
|
+
summary: 'The canvas tabs the owner closed in this conversation, and when each tab was last looked at (their order).',
|
|
334
|
+
answer: '{ closed: string[], touched: Record<tabId, epochMs> }',
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
method: 'PUT', path: '/api/chat/conversations/:id/canvas-tabs', area: 'chat',
|
|
338
|
+
summary: 'Replace this conversation’s canvas tab state. The newest 200 of each half are kept.',
|
|
339
|
+
body: '{ closed: string[], touched: Record<tabId, epochMs> }', answer: 'the state as stored', errors: '400 a field of the wrong shape',
|
|
340
|
+
},
|
|
327
341
|
{
|
|
328
342
|
method: 'POST', path: '/api/chat/questions/:id/answer', area: 'chat', summary: 'Answer a question an agent asked in the chat.',
|
|
329
343
|
body: '{ answer: string, optionId?: string } or { skipped: true }', answer: '202', errors: '400; 404 no open question; 409 already answered',
|
|
@@ -383,6 +397,13 @@ export const API_ROUTES = [
|
|
|
383
397
|
},
|
|
384
398
|
{ method: 'POST', path: '/api/agents/default', area: 'agents', summary: 'Make an agent the default (where a chat that names nobody lands).', body: '{ agentId: string }', errors: '400; 404' },
|
|
385
399
|
{ method: 'GET', path: '/api/agents/:id/profile', area: 'agents', summary: "One agent whole: its grant with every tool's tier, engine, skills, delegates.", errors: '404 no such agent' },
|
|
400
|
+
{
|
|
401
|
+
method: 'GET', path: '/api/agents/:id/intro', area: 'agents',
|
|
402
|
+
summary: "A new agent's first-open strip in its chat: whether it is still due, whom the agent may ask and who may ask it.",
|
|
403
|
+
answer: "{ show: false } | { show: true, id, handle, asks: 'everyone' | IntroAgent[], askedBy: IntroAgent[] } // IntroAgent: { id, handle, name, frontDesk? }",
|
|
404
|
+
errors: '404',
|
|
405
|
+
},
|
|
406
|
+
{ method: 'POST', path: '/api/agents/:id/intro/dismiss', area: 'agents', summary: "Close a new agent's first-open strip for good.", answer: '{ ok: true }', errors: '404' },
|
|
386
407
|
{ method: 'GET', path: '/api/agents/:id/skills', area: 'agents', summary: 'Every skill the agent loads; learned ones with their versions.', errors: '404' },
|
|
387
408
|
{
|
|
388
409
|
method: 'POST', path: '/api/agents/:id/skills/:skill/remove', area: 'agents', summary: 'Remove a learned skill (its versions are kept).',
|
|
@@ -854,9 +875,12 @@ export const API_ROUTES = [
|
|
|
854
875
|
},
|
|
855
876
|
{ method: 'POST', path: '/api/browser/install', area: 'computer', token: 'code', summary: 'Download the browser agents use (about 150 MB); follow on GET /api/browser.', answer: '202', errors: '409' },
|
|
856
877
|
{ method: 'POST', path: '/api/browser/check', area: 'computer', summary: 'Launch the browser once to see it starts.', answer: '{ ok: boolean, message? }' },
|
|
857
|
-
{ method: 'POST', path: '/api/browser/settings', area: 'computer', token: 'grants', summary: 'Change where agents may look: your Chrome on/off, your apps off/ask/on, sites that need your sign-in, the Stop\'s expiry, pages at once, show the window. A partial object.', errors: '409' },
|
|
878
|
+
{ method: 'POST', path: '/api/browser/settings', area: 'computer', token: 'grants', summary: 'Change where agents may look: your Chrome on/off, your apps off/ask/on, sites that need your sign-in, the Stop\'s expiry, pages at once, show the window, the folder your Chrome saves downloads to (downloadsFolder). A partial object.', errors: '409' },
|
|
858
879
|
{ method: 'POST', path: '/api/browser/pin', area: 'computer', summary: 'Pin one conversation to a route, or clear it.', body: '{ conversationId: string, route: auto|own|chrome|apps }', errors: '400; 409' },
|
|
859
880
|
{ method: 'POST', path: '/api/browser/card', area: 'computer', summary: 'Answer a browser card (Look, Keep going, Take over, Use my Chrome, Resume) without a chat message.', body: '{ conversationId: string, answer: string }', answer: '{ answered?, status }', errors: '400' },
|
|
881
|
+
{ method: 'GET', path: '/api/browser/downloads', area: 'computer', summary: "The agents' downloads area: bytes and files by agent, the per-file and per-agent caps, the retention in days, and the files waiting there because they could not be filed (newest day first, at most 200).", answer: '{ bytes, files, agents: [{ agent, bytes, files }], fileCap, agentCap, retentionDays, waiting: [{ id, agent, day, name, size, mime }] }' },
|
|
882
|
+
{ method: 'POST', path: '/api/browser/downloads/clear', area: 'computer', summary: "Empty the agents' downloads area. What waits there is not in Files, so it is gone for good.", answer: 'the downloads area, now empty', errors: '409' },
|
|
883
|
+
{ method: 'POST', path: '/api/browser/downloads/file', area: 'computer', summary: "File it: register one waiting download in Files as its agent's, then drop it from the area.", body: '{ id }', answer: '{ ...the downloads area, filed: { artifactId, name } }', errors: '400 · 404 when the file is no longer there · 409' },
|
|
860
884
|
{ method: 'GET', path: '/api/browser/telemetry', area: 'computer', summary: 'Browser stops by cause, cards and routes over the last days.', query: 'days?: number', answer: '{ days, tasks, stops, cards, byCause, routes, stopsPerTask }' },
|
|
861
885
|
{ method: 'POST', path: '/api/browser/stop', area: 'computer', summary: 'Stop one page, or with no session stop agents\' browsing (expires after the set time unless forever).', body: '{ sessionId?: string, forever?: boolean }' },
|
|
862
886
|
{ method: 'POST', path: '/api/browser/takeover', area: 'computer', summary: 'Take over the screen from the agent.', body: '{ sessionId?: string }', answer: 'the status, with hand: boolean; a page in your Chrome comes to the front there instead and the status carries held: { by: "owner", where: "chrome" }' },
|
|
@@ -1256,6 +1280,9 @@ export const API_SINCE = {
|
|
|
1256
1280
|
'POST /api/access/cloudflare-access/setup/forget-token': '0.1.0-pre.39',
|
|
1257
1281
|
'POST /api/access/cloudflare-access/zones': '0.1.0-pre.38',
|
|
1258
1282
|
'POST /api/browser/login': '0.1.0-pre.39',
|
|
1283
|
+
'GET /api/browser/downloads': '0.1.0-pre.46',
|
|
1284
|
+
'POST /api/browser/downloads/clear': '0.1.0-pre.46',
|
|
1285
|
+
'POST /api/browser/downloads/file': '0.1.0-pre.46',
|
|
1259
1286
|
'POST /api/browser/pin': '0.1.0-pre.38',
|
|
1260
1287
|
'POST /api/browser/card': '0.1.0-pre.38',
|
|
1261
1288
|
'GET /api/browser/telemetry': '0.1.0-pre.38',
|
|
@@ -1339,8 +1366,8 @@ export const API_SINCE = {
|
|
|
1339
1366
|
'GET /api/overview': '0.1.0-pre.15',
|
|
1340
1367
|
'GET /api/tips': '0.1.0-pre.22',
|
|
1341
1368
|
'GET /api/tips/current': '0.1.0-pre.22',
|
|
1342
|
-
'GET /api/tips/
|
|
1343
|
-
'
|
|
1369
|
+
'GET /api/tips/queue': '0.1.0-pre.45',
|
|
1370
|
+
'GET /api/tips/dismissed': '0.1.0-pre.45',
|
|
1344
1371
|
'POST /api/tips/seen-page': '0.1.0-pre.22',
|
|
1345
1372
|
'POST /api/tips/:id/dismiss': '0.1.0-pre.22',
|
|
1346
1373
|
'POST /api/tips/:id/later': '0.1.0-pre.22',
|
|
@@ -1362,6 +1389,8 @@ export const API_SINCE = {
|
|
|
1362
1389
|
'GET /api/chat/conversations/:id/stream': '0.1.0-pre.15',
|
|
1363
1390
|
'POST /api/chat/conversations/:id/cancel': '0.1.0-pre.15',
|
|
1364
1391
|
'DELETE /api/chat/conversations/:id/carry-over': '0.1.0-pre.28',
|
|
1392
|
+
'GET /api/chat/conversations/:id/canvas-tabs': '0.1.0-pre.46',
|
|
1393
|
+
'PUT /api/chat/conversations/:id/canvas-tabs': '0.1.0-pre.46',
|
|
1365
1394
|
'POST /api/chat/questions/:id/answer': '0.1.0-pre.15',
|
|
1366
1395
|
'POST /api/chat/attachments': '0.1.0-pre.15',
|
|
1367
1396
|
'GET /api/conversations': '0.1.0-pre.15',
|
|
@@ -1378,6 +1407,8 @@ export const API_SINCE = {
|
|
|
1378
1407
|
'GET /api/agents': '0.1.0-pre.15',
|
|
1379
1408
|
'POST /api/agents/default': '0.1.0-pre.15',
|
|
1380
1409
|
'GET /api/agents/:id/profile': '0.1.0-pre.15',
|
|
1410
|
+
'GET /api/agents/:id/intro': '0.1.0-pre.45',
|
|
1411
|
+
'POST /api/agents/:id/intro/dismiss': '0.1.0-pre.45',
|
|
1381
1412
|
'GET /api/agents/:id/skills': '0.1.0-pre.15',
|
|
1382
1413
|
'POST /api/agents/:id/skills/:skill/remove': '0.1.0-pre.15',
|
|
1383
1414
|
'GET /api/agents/:id/tools': '0.1.0-pre.15',
|