@withbuddi/buddi 0.1.0-pre.18 → 0.1.0-pre.20
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/README.md +10 -4
- package/extension/background.js +38 -7
- package/node_modules/@buddi/cli/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/cli/dist/args.d.ts +7 -0
- package/node_modules/@buddi/cli/dist/args.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/args.js +14 -0
- package/node_modules/@buddi/cli/dist/args.js.map +1 -1
- package/node_modules/@buddi/cli/dist/commands.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/commands.js +37 -2
- package/node_modules/@buddi/cli/dist/commands.js.map +1 -1
- package/node_modules/@buddi/cli/dist/dashboard-app.d.ts +6 -0
- package/node_modules/@buddi/cli/dist/dashboard-app.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/dashboard-app.js +16 -1
- package/node_modules/@buddi/cli/dist/dashboard-app.js.map +1 -1
- package/node_modules/@buddi/cli/dist/doctor-probes.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/doctor-probes.js +5 -2
- package/node_modules/@buddi/cli/dist/doctor-probes.js.map +1 -1
- package/node_modules/@buddi/cli/dist/doctor.d.ts +16 -0
- package/node_modules/@buddi/cli/dist/doctor.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/doctor.js +18 -0
- package/node_modules/@buddi/cli/dist/doctor.js.map +1 -1
- package/node_modules/@buddi/cli/dist/index.d.ts +1 -0
- package/node_modules/@buddi/cli/dist/index.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/index.js +1 -0
- package/node_modules/@buddi/cli/dist/index.js.map +1 -1
- package/node_modules/@buddi/cli/dist/main.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/main.js +22 -2
- package/node_modules/@buddi/cli/dist/main.js.map +1 -1
- package/node_modules/@buddi/cli/dist/status.d.ts +10 -0
- package/node_modules/@buddi/cli/dist/status.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/status.js +4 -0
- package/node_modules/@buddi/cli/dist/status.js.map +1 -1
- package/node_modules/@buddi/cli/dist/uninstall-cmd.d.ts +42 -0
- package/node_modules/@buddi/cli/dist/uninstall-cmd.d.ts.map +1 -0
- package/node_modules/@buddi/cli/dist/uninstall-cmd.js +208 -0
- package/node_modules/@buddi/cli/dist/uninstall-cmd.js.map +1 -0
- package/node_modules/@buddi/core/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/core/dist/agents/catalog.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/agents/catalog.js +7 -1
- package/node_modules/@buddi/core/dist/agents/catalog.js.map +1 -1
- package/node_modules/@buddi/core/dist/agents/models.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/agents/models.js +4 -3
- package/node_modules/@buddi/core/dist/agents/models.js.map +1 -1
- package/node_modules/@buddi/core/dist/agents/skills.d.ts +2 -2
- package/node_modules/@buddi/core/dist/goals/frequency.d.ts +51 -0
- package/node_modules/@buddi/core/dist/goals/frequency.d.ts.map +1 -0
- package/node_modules/@buddi/core/dist/goals/frequency.js +113 -0
- package/node_modules/@buddi/core/dist/goals/frequency.js.map +1 -0
- package/node_modules/@buddi/core/dist/goals/index.d.ts +2 -0
- package/node_modules/@buddi/core/dist/goals/index.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/goals/index.js +2 -0
- package/node_modules/@buddi/core/dist/goals/index.js.map +1 -1
- package/node_modules/@buddi/core/dist/goals/math.d.ts +8 -2
- package/node_modules/@buddi/core/dist/goals/math.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/goals/math.js +17 -4
- package/node_modules/@buddi/core/dist/goals/math.js.map +1 -1
- package/node_modules/@buddi/core/dist/goals/owner.d.ts +129 -0
- package/node_modules/@buddi/core/dist/goals/owner.d.ts.map +1 -0
- package/node_modules/@buddi/core/dist/goals/owner.js +239 -0
- package/node_modules/@buddi/core/dist/goals/owner.js.map +1 -0
- package/node_modules/@buddi/core/dist/goals/store.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/goals/store.js +11 -4
- package/node_modules/@buddi/core/dist/goals/store.js.map +1 -1
- package/node_modules/@buddi/core/dist/goals/types.d.ts +17 -3
- package/node_modules/@buddi/core/dist/goals/types.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/goals/types.js +8 -2
- package/node_modules/@buddi/core/dist/goals/types.js.map +1 -1
- package/node_modules/@buddi/core/dist/learning/announce.d.ts +29 -0
- package/node_modules/@buddi/core/dist/learning/announce.d.ts.map +1 -0
- package/node_modules/@buddi/core/dist/learning/announce.js +49 -0
- package/node_modules/@buddi/core/dist/learning/announce.js.map +1 -0
- package/node_modules/@buddi/core/dist/learning/index.d.ts +1 -0
- package/node_modules/@buddi/core/dist/learning/index.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/learning/index.js +1 -0
- package/node_modules/@buddi/core/dist/learning/index.js.map +1 -1
- package/node_modules/@buddi/core/dist/learning/store.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/learning/store.js +15 -4
- package/node_modules/@buddi/core/dist/learning/store.js.map +1 -1
- package/node_modules/@buddi/core/dist/notifications/notify.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/notifications/notify.js +1 -0
- package/node_modules/@buddi/core/dist/notifications/notify.js.map +1 -1
- package/node_modules/@buddi/core/dist/notifications/store.d.ts +2 -0
- package/node_modules/@buddi/core/dist/notifications/store.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/notifications/store.js +9 -0
- package/node_modules/@buddi/core/dist/notifications/store.js.map +1 -1
- package/node_modules/@buddi/core/dist/notifications/types.d.ts +6 -0
- package/node_modules/@buddi/core/dist/notifications/types.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/pages.d.ts +2 -2
- package/node_modules/@buddi/core/dist/provider-accounts.d.ts +7 -1
- package/node_modules/@buddi/core/dist/provider-accounts.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/provider-accounts.js +14 -1
- package/node_modules/@buddi/core/dist/provider-accounts.js.map +1 -1
- package/node_modules/@buddi/core/dist/provider.d.ts +6 -0
- package/node_modules/@buddi/core/dist/provider.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/provider.js.map +1 -1
- package/node_modules/@buddi/core/dist/sentinels/run.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/sentinels/run.js +4 -1
- package/node_modules/@buddi/core/dist/sentinels/run.js.map +1 -1
- package/node_modules/@buddi/core/dist/sentinels/types.d.ts +20 -0
- package/node_modules/@buddi/core/dist/sentinels/types.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/sentinels/types.js.map +1 -1
- package/node_modules/@buddi/core/dist/surfaces.d.ts +2 -0
- package/node_modules/@buddi/core/dist/surfaces.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/surfaces.js +7 -0
- package/node_modules/@buddi/core/dist/surfaces.js.map +1 -1
- package/node_modules/@buddi/core/dist/uninstall.d.ts +79 -0
- package/node_modules/@buddi/core/dist/uninstall.d.ts.map +1 -0
- package/node_modules/@buddi/core/dist/uninstall.js +109 -0
- package/node_modules/@buddi/core/dist/uninstall.js.map +1 -0
- package/node_modules/@buddi/core/dist/views.d.ts +66 -66
- package/node_modules/@buddi/core/migrations/044_owner_metrics.sql +45 -0
- package/node_modules/@buddi/core/migrations/045_frequency_goals.sql +19 -0
- package/node_modules/@buddi/core/migrations/046_ollama_device_key.sql +7 -0
- package/node_modules/@buddi/core/migrations/047_reported_context_windows.sql +5 -0
- package/node_modules/@buddi/core/package.json +4 -0
- package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/gateway/dist/chat/usage.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/chat/usage.js +1 -0
- package/node_modules/@buddi/gateway/dist/chat/usage.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/codex-accounts.d.ts +24 -11
- package/node_modules/@buddi/gateway/dist/codex-accounts.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/codex-accounts.js +151 -215
- package/node_modules/@buddi/gateway/dist/codex-accounts.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/index.d.ts +2 -0
- package/node_modules/@buddi/gateway/dist/index.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/index.js +2 -0
- package/node_modules/@buddi/gateway/dist/index.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/agent-run.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/agent-run.js +1 -0
- package/node_modules/@buddi/gateway/dist/missions/agent-run.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/execute.d.ts +7 -0
- 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/missions/goals-format.d.ts +32 -5
- package/node_modules/@buddi/gateway/dist/missions/goals-format.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/goals-format.js +59 -2
- package/node_modules/@buddi/gateway/dist/missions/goals-format.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/goals-page.d.ts +60 -5
- package/node_modules/@buddi/gateway/dist/missions/goals-page.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/goals-page.js +355 -8
- package/node_modules/@buddi/gateway/dist/missions/goals-page.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/goals.d.ts +64 -5
- package/node_modules/@buddi/gateway/dist/missions/goals.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/goals.js +834 -116
- package/node_modules/@buddi/gateway/dist/missions/goals.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/sentinel-wake.d.ts +5 -0
- package/node_modules/@buddi/gateway/dist/missions/sentinel-wake.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/sentinel-wake.js +12 -0
- package/node_modules/@buddi/gateway/dist/missions/sentinel-wake.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/ollama-accounts.d.ts +87 -0
- package/node_modules/@buddi/gateway/dist/ollama-accounts.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/ollama-accounts.js +179 -0
- package/node_modules/@buddi/gateway/dist/ollama-accounts.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/owner-notify.d.ts +2 -1
- package/node_modules/@buddi/gateway/dist/owner-notify.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/owner-notify.js +6 -2
- package/node_modules/@buddi/gateway/dist/owner-notify.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/provider-accounts.d.ts +47 -1
- package/node_modules/@buddi/gateway/dist/provider-accounts.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/provider-accounts.js +204 -38
- package/node_modules/@buddi/gateway/dist/provider-accounts.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/serve.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/serve.js +1 -0
- package/node_modules/@buddi/gateway/dist/serve.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/subscription-signins.d.ts +28 -0
- package/node_modules/@buddi/gateway/dist/subscription-signins.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/subscription-signins.js +30 -0
- package/node_modules/@buddi/gateway/dist/subscription-signins.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/surfaces/context-budget.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/surfaces/context-budget.js +10 -3
- package/node_modules/@buddi/gateway/dist/surfaces/context-budget.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/api.d.ts +43 -9
- package/node_modules/@buddi/gateway/dist/telegram/api.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/api.js +80 -21
- package/node_modules/@buddi/gateway/dist/telegram/api.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/attachments.d.ts +6 -0
- package/node_modules/@buddi/gateway/dist/telegram/attachments.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/attachments.js +1 -0
- package/node_modules/@buddi/gateway/dist/telegram/attachments.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/browser-view.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/browser-view.js +2 -1
- package/node_modules/@buddi/gateway/dist/telegram/browser-view.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/channel.d.ts +7 -1
- package/node_modules/@buddi/gateway/dist/telegram/channel.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/channel.js +24 -2
- package/node_modules/@buddi/gateway/dist/telegram/channel.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/commands.d.ts +28 -0
- package/node_modules/@buddi/gateway/dist/telegram/commands.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/telegram/commands.js +74 -0
- package/node_modules/@buddi/gateway/dist/telegram/commands.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/telegram/main.d.ts +3 -0
- package/node_modules/@buddi/gateway/dist/telegram/main.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/main.js +71 -2
- package/node_modules/@buddi/gateway/dist/telegram/main.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/outbound.d.ts +191 -0
- package/node_modules/@buddi/gateway/dist/telegram/outbound.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/telegram/outbound.js +671 -0
- package/node_modules/@buddi/gateway/dist/telegram/outbound.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/telegram/proposals.d.ts +65 -0
- package/node_modules/@buddi/gateway/dist/telegram/proposals.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/telegram/proposals.js +183 -0
- package/node_modules/@buddi/gateway/dist/telegram/proposals.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts +47 -47
- package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/surface.js +99 -290
- package/node_modules/@buddi/gateway/dist/telegram/surface.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/onboarding.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/onboarding.js +4 -0
- package/node_modules/@buddi/gateway/dist/web/onboarding.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/secrets.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/secrets.js +3 -2
- 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 +36 -14
- package/node_modules/@buddi/gateway/dist/web/server.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/telegram.d.ts +39 -0
- package/node_modules/@buddi/gateway/dist/web/telegram.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/telegram.js +53 -1
- package/node_modules/@buddi/gateway/dist/web/telegram.js.map +1 -1
- package/node_modules/@buddi/install/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/install/dist/launcher.d.ts.map +1 -1
- package/node_modules/@buddi/install/dist/launcher.js +135 -10
- package/node_modules/@buddi/install/dist/launcher.js.map +1 -1
- package/node_modules/@buddi/install/dist/uninstall.d.ts +59 -0
- package/node_modules/@buddi/install/dist/uninstall.d.ts.map +1 -0
- package/node_modules/@buddi/install/dist/uninstall.js +260 -0
- package/node_modules/@buddi/install/dist/uninstall.js.map +1 -0
- package/node_modules/@buddi/runtime/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/runtime/dist/codex-direct.d.ts +55 -0
- package/node_modules/@buddi/runtime/dist/codex-direct.d.ts.map +1 -0
- package/node_modules/@buddi/runtime/dist/codex-direct.js +334 -0
- package/node_modules/@buddi/runtime/dist/codex-direct.js.map +1 -0
- package/node_modules/@buddi/runtime/dist/codex-oauth.d.ts +66 -0
- package/node_modules/@buddi/runtime/dist/codex-oauth.d.ts.map +1 -0
- package/node_modules/@buddi/runtime/dist/codex-oauth.js +210 -0
- package/node_modules/@buddi/runtime/dist/codex-oauth.js.map +1 -0
- package/node_modules/@buddi/runtime/dist/codex-profile.d.ts +19 -0
- package/node_modules/@buddi/runtime/dist/codex-profile.d.ts.map +1 -0
- package/node_modules/@buddi/runtime/dist/codex-profile.js +99 -0
- package/node_modules/@buddi/runtime/dist/codex-profile.js.map +1 -0
- package/node_modules/@buddi/runtime/dist/context-window.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/context-window.js +9 -2
- package/node_modules/@buddi/runtime/dist/context-window.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/delegate.d.ts +24 -0
- package/node_modules/@buddi/runtime/dist/delegate.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/delegate.js +87 -11
- package/node_modules/@buddi/runtime/dist/delegate.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/index.d.ts +4 -4
- package/node_modules/@buddi/runtime/dist/index.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/index.js +5 -5
- package/node_modules/@buddi/runtime/dist/index.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/loop.d.ts +7 -0
- package/node_modules/@buddi/runtime/dist/loop.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/loop.js +48 -8
- package/node_modules/@buddi/runtime/dist/loop.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/ollama-signing.d.ts +52 -0
- package/node_modules/@buddi/runtime/dist/ollama-signing.d.ts.map +1 -0
- package/node_modules/@buddi/runtime/dist/ollama-signing.js +154 -0
- package/node_modules/@buddi/runtime/dist/ollama-signing.js.map +1 -0
- package/node_modules/@buddi/runtime/dist/openai.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/openai.js +38 -9
- package/node_modules/@buddi/runtime/dist/openai.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/provider-models.d.ts +2 -0
- package/node_modules/@buddi/runtime/dist/provider-models.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/provider-models.js +8 -3
- package/node_modules/@buddi/runtime/dist/provider-models.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/index.d.ts +1 -1
- package/node_modules/@buddi/tool-browser/dist/index.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/index.js +12 -4
- package/node_modules/@buddi/tool-browser/dist/index.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/origin-pattern.d.ts +31 -0
- package/node_modules/@buddi/tool-browser/dist/origin-pattern.d.ts.map +1 -0
- package/node_modules/@buddi/tool-browser/dist/origin-pattern.js +61 -0
- package/node_modules/@buddi/tool-browser/dist/origin-pattern.js.map +1 -0
- package/node_modules/@buddi/tool-browser/dist/public-suffixes.d.ts +24 -0
- package/node_modules/@buddi/tool-browser/dist/public-suffixes.d.ts.map +1 -0
- package/node_modules/@buddi/tool-browser/dist/public-suffixes.js +153 -0
- package/node_modules/@buddi/tool-browser/dist/public-suffixes.js.map +1 -0
- package/node_modules/@buddi/tool-browser/dist/secrets.d.ts +45 -9
- package/node_modules/@buddi/tool-browser/dist/secrets.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/secrets.js +77 -20
- package/node_modules/@buddi/tool-browser/dist/secrets.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/service.d.ts +10 -0
- package/node_modules/@buddi/tool-browser/dist/service.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/service.js +84 -20
- package/node_modules/@buddi/tool-browser/dist/service.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/types.d.ts +7 -1
- package/node_modules/@buddi/tool-browser/dist/types.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/types.js +7 -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/tools/read.js +1 -1
- package/node_modules/@buddi/tool-email/dist/tools/read.js.map +1 -1
- package/node_modules/@buddi/tool-host/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/ws/lib/websocket.js +17 -3
- package/node_modules/ws/package.json +1 -1
- package/package.json +2 -2
- package/packages/cli/dist/.tsbuildinfo +1 -1
- package/packages/cli/dist/args.d.ts +7 -0
- package/packages/cli/dist/args.d.ts.map +1 -1
- package/packages/cli/dist/args.js +14 -0
- package/packages/cli/dist/args.js.map +1 -1
- package/packages/cli/dist/commands.d.ts.map +1 -1
- package/packages/cli/dist/commands.js +37 -2
- package/packages/cli/dist/commands.js.map +1 -1
- package/packages/cli/dist/dashboard-app.d.ts +6 -0
- package/packages/cli/dist/dashboard-app.d.ts.map +1 -1
- package/packages/cli/dist/dashboard-app.js +16 -1
- package/packages/cli/dist/dashboard-app.js.map +1 -1
- package/packages/cli/dist/doctor-probes.d.ts.map +1 -1
- package/packages/cli/dist/doctor-probes.js +5 -2
- package/packages/cli/dist/doctor-probes.js.map +1 -1
- package/packages/cli/dist/doctor.d.ts +16 -0
- package/packages/cli/dist/doctor.d.ts.map +1 -1
- package/packages/cli/dist/doctor.js +18 -0
- package/packages/cli/dist/doctor.js.map +1 -1
- package/packages/cli/dist/index.d.ts +1 -0
- package/packages/cli/dist/index.d.ts.map +1 -1
- package/packages/cli/dist/index.js +1 -0
- package/packages/cli/dist/index.js.map +1 -1
- package/packages/cli/dist/main.d.ts.map +1 -1
- package/packages/cli/dist/main.js +22 -2
- package/packages/cli/dist/main.js.map +1 -1
- package/packages/cli/dist/status.d.ts +10 -0
- package/packages/cli/dist/status.d.ts.map +1 -1
- package/packages/cli/dist/status.js +4 -0
- package/packages/cli/dist/status.js.map +1 -1
- package/packages/cli/dist/uninstall-cmd.d.ts +42 -0
- package/packages/cli/dist/uninstall-cmd.d.ts.map +1 -0
- package/packages/cli/dist/uninstall-cmd.js +208 -0
- package/packages/cli/dist/uninstall-cmd.js.map +1 -0
- package/packages/core/dist/.tsbuildinfo +1 -1
- package/packages/core/dist/agents/catalog.d.ts.map +1 -1
- package/packages/core/dist/agents/catalog.js +7 -1
- package/packages/core/dist/agents/catalog.js.map +1 -1
- package/packages/core/dist/agents/models.d.ts.map +1 -1
- package/packages/core/dist/agents/models.js +4 -3
- package/packages/core/dist/agents/models.js.map +1 -1
- package/packages/core/dist/agents/skills.d.ts +2 -2
- package/packages/core/dist/goals/frequency.d.ts +51 -0
- package/packages/core/dist/goals/frequency.d.ts.map +1 -0
- package/packages/core/dist/goals/frequency.js +113 -0
- package/packages/core/dist/goals/frequency.js.map +1 -0
- package/packages/core/dist/goals/index.d.ts +2 -0
- package/packages/core/dist/goals/index.d.ts.map +1 -1
- package/packages/core/dist/goals/index.js +2 -0
- package/packages/core/dist/goals/index.js.map +1 -1
- package/packages/core/dist/goals/math.d.ts +8 -2
- package/packages/core/dist/goals/math.d.ts.map +1 -1
- package/packages/core/dist/goals/math.js +17 -4
- package/packages/core/dist/goals/math.js.map +1 -1
- package/packages/core/dist/goals/owner.d.ts +129 -0
- package/packages/core/dist/goals/owner.d.ts.map +1 -0
- package/packages/core/dist/goals/owner.js +239 -0
- package/packages/core/dist/goals/owner.js.map +1 -0
- package/packages/core/dist/goals/store.d.ts.map +1 -1
- package/packages/core/dist/goals/store.js +11 -4
- package/packages/core/dist/goals/store.js.map +1 -1
- package/packages/core/dist/goals/types.d.ts +17 -3
- package/packages/core/dist/goals/types.d.ts.map +1 -1
- package/packages/core/dist/goals/types.js +8 -2
- package/packages/core/dist/goals/types.js.map +1 -1
- package/packages/core/dist/learning/announce.d.ts +29 -0
- package/packages/core/dist/learning/announce.d.ts.map +1 -0
- package/packages/core/dist/learning/announce.js +49 -0
- package/packages/core/dist/learning/announce.js.map +1 -0
- package/packages/core/dist/learning/index.d.ts +1 -0
- package/packages/core/dist/learning/index.d.ts.map +1 -1
- package/packages/core/dist/learning/index.js +1 -0
- package/packages/core/dist/learning/index.js.map +1 -1
- package/packages/core/dist/learning/store.d.ts.map +1 -1
- package/packages/core/dist/learning/store.js +15 -4
- package/packages/core/dist/learning/store.js.map +1 -1
- package/packages/core/dist/notifications/notify.d.ts.map +1 -1
- package/packages/core/dist/notifications/notify.js +1 -0
- package/packages/core/dist/notifications/notify.js.map +1 -1
- package/packages/core/dist/notifications/store.d.ts +2 -0
- package/packages/core/dist/notifications/store.d.ts.map +1 -1
- package/packages/core/dist/notifications/store.js +9 -0
- package/packages/core/dist/notifications/store.js.map +1 -1
- package/packages/core/dist/notifications/types.d.ts +6 -0
- package/packages/core/dist/notifications/types.d.ts.map +1 -1
- package/packages/core/dist/pages.d.ts +2 -2
- package/packages/core/dist/provider-accounts.d.ts +7 -1
- package/packages/core/dist/provider-accounts.d.ts.map +1 -1
- package/packages/core/dist/provider-accounts.js +14 -1
- package/packages/core/dist/provider-accounts.js.map +1 -1
- package/packages/core/dist/provider.d.ts +6 -0
- package/packages/core/dist/provider.d.ts.map +1 -1
- package/packages/core/dist/provider.js.map +1 -1
- package/packages/core/dist/sentinels/run.d.ts.map +1 -1
- package/packages/core/dist/sentinels/run.js +4 -1
- package/packages/core/dist/sentinels/run.js.map +1 -1
- package/packages/core/dist/sentinels/types.d.ts +20 -0
- package/packages/core/dist/sentinels/types.d.ts.map +1 -1
- package/packages/core/dist/sentinels/types.js.map +1 -1
- package/packages/core/dist/surfaces.d.ts +2 -0
- package/packages/core/dist/surfaces.d.ts.map +1 -1
- package/packages/core/dist/surfaces.js +7 -0
- package/packages/core/dist/surfaces.js.map +1 -1
- package/packages/core/dist/uninstall.d.ts +79 -0
- package/packages/core/dist/uninstall.d.ts.map +1 -0
- package/packages/core/dist/uninstall.js +109 -0
- package/packages/core/dist/uninstall.js.map +1 -0
- package/packages/core/dist/views.d.ts +66 -66
- package/packages/core/migrations/044_owner_metrics.sql +45 -0
- package/packages/core/migrations/045_frequency_goals.sql +19 -0
- package/packages/core/migrations/046_ollama_device_key.sql +7 -0
- package/packages/core/migrations/047_reported_context_windows.sql +5 -0
- package/packages/core/package.json +4 -0
- package/packages/gateway/dist/.tsbuildinfo +1 -1
- package/packages/gateway/dist/chat/usage.d.ts.map +1 -1
- package/packages/gateway/dist/chat/usage.js +1 -0
- package/packages/gateway/dist/chat/usage.js.map +1 -1
- package/packages/gateway/dist/codex-accounts.d.ts +24 -11
- package/packages/gateway/dist/codex-accounts.d.ts.map +1 -1
- package/packages/gateway/dist/codex-accounts.js +151 -215
- package/packages/gateway/dist/codex-accounts.js.map +1 -1
- package/packages/gateway/dist/index.d.ts +2 -0
- package/packages/gateway/dist/index.d.ts.map +1 -1
- package/packages/gateway/dist/index.js +2 -0
- package/packages/gateway/dist/index.js.map +1 -1
- package/packages/gateway/dist/missions/agent-run.d.ts.map +1 -1
- package/packages/gateway/dist/missions/agent-run.js +1 -0
- package/packages/gateway/dist/missions/agent-run.js.map +1 -1
- package/packages/gateway/dist/missions/execute.d.ts +7 -0
- 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/missions/goals-format.d.ts +32 -5
- package/packages/gateway/dist/missions/goals-format.d.ts.map +1 -1
- package/packages/gateway/dist/missions/goals-format.js +59 -2
- package/packages/gateway/dist/missions/goals-format.js.map +1 -1
- package/packages/gateway/dist/missions/goals-page.d.ts +60 -5
- package/packages/gateway/dist/missions/goals-page.d.ts.map +1 -1
- package/packages/gateway/dist/missions/goals-page.js +355 -8
- package/packages/gateway/dist/missions/goals-page.js.map +1 -1
- package/packages/gateway/dist/missions/goals.d.ts +64 -5
- package/packages/gateway/dist/missions/goals.d.ts.map +1 -1
- package/packages/gateway/dist/missions/goals.js +834 -116
- package/packages/gateway/dist/missions/goals.js.map +1 -1
- package/packages/gateway/dist/missions/sentinel-wake.d.ts +5 -0
- package/packages/gateway/dist/missions/sentinel-wake.d.ts.map +1 -1
- package/packages/gateway/dist/missions/sentinel-wake.js +12 -0
- package/packages/gateway/dist/missions/sentinel-wake.js.map +1 -1
- package/packages/gateway/dist/ollama-accounts.d.ts +87 -0
- package/packages/gateway/dist/ollama-accounts.d.ts.map +1 -0
- package/packages/gateway/dist/ollama-accounts.js +179 -0
- package/packages/gateway/dist/ollama-accounts.js.map +1 -0
- package/packages/gateway/dist/owner-notify.d.ts +2 -1
- package/packages/gateway/dist/owner-notify.d.ts.map +1 -1
- package/packages/gateway/dist/owner-notify.js +6 -2
- package/packages/gateway/dist/owner-notify.js.map +1 -1
- package/packages/gateway/dist/provider-accounts.d.ts +47 -1
- package/packages/gateway/dist/provider-accounts.d.ts.map +1 -1
- package/packages/gateway/dist/provider-accounts.js +204 -38
- package/packages/gateway/dist/provider-accounts.js.map +1 -1
- package/packages/gateway/dist/serve.d.ts.map +1 -1
- package/packages/gateway/dist/serve.js +1 -0
- package/packages/gateway/dist/serve.js.map +1 -1
- package/packages/gateway/dist/subscription-signins.d.ts +28 -0
- package/packages/gateway/dist/subscription-signins.d.ts.map +1 -0
- package/packages/gateway/dist/subscription-signins.js +30 -0
- package/packages/gateway/dist/subscription-signins.js.map +1 -0
- package/packages/gateway/dist/surfaces/context-budget.d.ts.map +1 -1
- package/packages/gateway/dist/surfaces/context-budget.js +10 -3
- package/packages/gateway/dist/surfaces/context-budget.js.map +1 -1
- package/packages/gateway/dist/telegram/api.d.ts +43 -9
- package/packages/gateway/dist/telegram/api.d.ts.map +1 -1
- package/packages/gateway/dist/telegram/api.js +80 -21
- package/packages/gateway/dist/telegram/api.js.map +1 -1
- package/packages/gateway/dist/telegram/attachments.d.ts +6 -0
- package/packages/gateway/dist/telegram/attachments.d.ts.map +1 -1
- package/packages/gateway/dist/telegram/attachments.js +1 -0
- package/packages/gateway/dist/telegram/attachments.js.map +1 -1
- package/packages/gateway/dist/telegram/browser-view.d.ts.map +1 -1
- package/packages/gateway/dist/telegram/browser-view.js +2 -1
- package/packages/gateway/dist/telegram/browser-view.js.map +1 -1
- package/packages/gateway/dist/telegram/channel.d.ts +7 -1
- package/packages/gateway/dist/telegram/channel.d.ts.map +1 -1
- package/packages/gateway/dist/telegram/channel.js +24 -2
- package/packages/gateway/dist/telegram/channel.js.map +1 -1
- package/packages/gateway/dist/telegram/commands.d.ts +28 -0
- package/packages/gateway/dist/telegram/commands.d.ts.map +1 -0
- package/packages/gateway/dist/telegram/commands.js +74 -0
- package/packages/gateway/dist/telegram/commands.js.map +1 -0
- package/packages/gateway/dist/telegram/main.d.ts +3 -0
- package/packages/gateway/dist/telegram/main.d.ts.map +1 -1
- package/packages/gateway/dist/telegram/main.js +71 -2
- package/packages/gateway/dist/telegram/main.js.map +1 -1
- package/packages/gateway/dist/telegram/outbound.d.ts +191 -0
- package/packages/gateway/dist/telegram/outbound.d.ts.map +1 -0
- package/packages/gateway/dist/telegram/outbound.js +671 -0
- package/packages/gateway/dist/telegram/outbound.js.map +1 -0
- package/packages/gateway/dist/telegram/proposals.d.ts +65 -0
- package/packages/gateway/dist/telegram/proposals.d.ts.map +1 -0
- package/packages/gateway/dist/telegram/proposals.js +183 -0
- package/packages/gateway/dist/telegram/proposals.js.map +1 -0
- package/packages/gateway/dist/telegram/surface.d.ts +47 -47
- package/packages/gateway/dist/telegram/surface.d.ts.map +1 -1
- package/packages/gateway/dist/telegram/surface.js +99 -290
- package/packages/gateway/dist/telegram/surface.js.map +1 -1
- package/packages/gateway/dist/web/onboarding.d.ts.map +1 -1
- package/packages/gateway/dist/web/onboarding.js +4 -0
- package/packages/gateway/dist/web/onboarding.js.map +1 -1
- package/packages/gateway/dist/web/secrets.d.ts.map +1 -1
- package/packages/gateway/dist/web/secrets.js +3 -2
- 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 +36 -14
- package/packages/gateway/dist/web/server.js.map +1 -1
- package/packages/gateway/dist/web/telegram.d.ts +39 -0
- package/packages/gateway/dist/web/telegram.d.ts.map +1 -1
- package/packages/gateway/dist/web/telegram.js +53 -1
- package/packages/gateway/dist/web/telegram.js.map +1 -1
- package/packages/install/dist/.tsbuildinfo +1 -1
- package/packages/install/dist/launcher.d.ts.map +1 -1
- package/packages/install/dist/launcher.js +135 -10
- package/packages/install/dist/launcher.js.map +1 -1
- package/packages/install/dist/uninstall.d.ts +59 -0
- package/packages/install/dist/uninstall.d.ts.map +1 -0
- package/packages/install/dist/uninstall.js +260 -0
- package/packages/install/dist/uninstall.js.map +1 -0
- package/packages/runtime/dist/.tsbuildinfo +1 -1
- package/packages/runtime/dist/codex-direct.d.ts +55 -0
- package/packages/runtime/dist/codex-direct.d.ts.map +1 -0
- package/packages/runtime/dist/codex-direct.js +334 -0
- package/packages/runtime/dist/codex-direct.js.map +1 -0
- package/packages/runtime/dist/codex-oauth.d.ts +66 -0
- package/packages/runtime/dist/codex-oauth.d.ts.map +1 -0
- package/packages/runtime/dist/codex-oauth.js +210 -0
- package/packages/runtime/dist/codex-oauth.js.map +1 -0
- package/packages/runtime/dist/codex-profile.d.ts +19 -0
- package/packages/runtime/dist/codex-profile.d.ts.map +1 -0
- package/packages/runtime/dist/codex-profile.js +99 -0
- package/packages/runtime/dist/codex-profile.js.map +1 -0
- package/packages/runtime/dist/context-window.d.ts.map +1 -1
- package/packages/runtime/dist/context-window.js +9 -2
- package/packages/runtime/dist/context-window.js.map +1 -1
- package/packages/runtime/dist/delegate.d.ts +24 -0
- package/packages/runtime/dist/delegate.d.ts.map +1 -1
- package/packages/runtime/dist/delegate.js +87 -11
- package/packages/runtime/dist/delegate.js.map +1 -1
- package/packages/runtime/dist/index.d.ts +4 -4
- package/packages/runtime/dist/index.d.ts.map +1 -1
- package/packages/runtime/dist/index.js +5 -5
- package/packages/runtime/dist/index.js.map +1 -1
- package/packages/runtime/dist/loop.d.ts +7 -0
- package/packages/runtime/dist/loop.d.ts.map +1 -1
- package/packages/runtime/dist/loop.js +48 -8
- package/packages/runtime/dist/loop.js.map +1 -1
- package/packages/runtime/dist/ollama-signing.d.ts +52 -0
- package/packages/runtime/dist/ollama-signing.d.ts.map +1 -0
- package/packages/runtime/dist/ollama-signing.js +154 -0
- package/packages/runtime/dist/ollama-signing.js.map +1 -0
- package/packages/runtime/dist/openai.d.ts.map +1 -1
- package/packages/runtime/dist/openai.js +38 -9
- package/packages/runtime/dist/openai.js.map +1 -1
- package/packages/runtime/dist/provider-models.d.ts +2 -0
- package/packages/runtime/dist/provider-models.d.ts.map +1 -1
- package/packages/runtime/dist/provider-models.js +8 -3
- package/packages/runtime/dist/provider-models.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/index.d.ts +1 -1
- package/packages/tools/browser/dist/index.d.ts.map +1 -1
- package/packages/tools/browser/dist/index.js +12 -4
- package/packages/tools/browser/dist/index.js.map +1 -1
- package/packages/tools/browser/dist/origin-pattern.d.ts +31 -0
- package/packages/tools/browser/dist/origin-pattern.d.ts.map +1 -0
- package/packages/tools/browser/dist/origin-pattern.js +61 -0
- package/packages/tools/browser/dist/origin-pattern.js.map +1 -0
- package/packages/tools/browser/dist/public-suffixes.d.ts +24 -0
- package/packages/tools/browser/dist/public-suffixes.d.ts.map +1 -0
- package/packages/tools/browser/dist/public-suffixes.js +153 -0
- package/packages/tools/browser/dist/public-suffixes.js.map +1 -0
- package/packages/tools/browser/dist/secrets.d.ts +45 -9
- package/packages/tools/browser/dist/secrets.d.ts.map +1 -1
- package/packages/tools/browser/dist/secrets.js +77 -20
- package/packages/tools/browser/dist/secrets.js.map +1 -1
- package/packages/tools/browser/dist/service.d.ts +10 -0
- package/packages/tools/browser/dist/service.d.ts.map +1 -1
- package/packages/tools/browser/dist/service.js +84 -20
- package/packages/tools/browser/dist/service.js.map +1 -1
- package/packages/tools/browser/dist/types.d.ts +7 -1
- package/packages/tools/browser/dist/types.d.ts.map +1 -1
- package/packages/tools/browser/dist/types.js +7 -1
- package/packages/tools/browser/dist/types.js.map +1 -1
- package/packages/tools/email/dist/.tsbuildinfo +1 -1
- package/packages/tools/email/dist/tools/read.js +1 -1
- package/packages/tools/email/dist/tools/read.js.map +1 -1
- package/packages/tools/host/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-BRc5auXm.js +123 -0
- package/packages/web/dist/assets/{index-DCn0vN58.css → index-DwUpotTR.css} +1 -1
- package/packages/web/dist/index.html +2 -2
- package/node_modules/@buddi/runtime/dist/codex-app-server.d.ts +0 -20
- package/node_modules/@buddi/runtime/dist/codex-app-server.d.ts.map +0 -1
- package/node_modules/@buddi/runtime/dist/codex-app-server.js +0 -172
- package/node_modules/@buddi/runtime/dist/codex-app-server.js.map +0 -1
- package/node_modules/@buddi/runtime/dist/codex-policy.d.ts +0 -6
- package/node_modules/@buddi/runtime/dist/codex-policy.d.ts.map +0 -1
- package/node_modules/@buddi/runtime/dist/codex-policy.js +0 -79
- package/node_modules/@buddi/runtime/dist/codex-policy.js.map +0 -1
- package/node_modules/@buddi/runtime/dist/codex-rpc.d.ts +0 -34
- package/node_modules/@buddi/runtime/dist/codex-rpc.d.ts.map +0 -1
- package/node_modules/@buddi/runtime/dist/codex-rpc.js +0 -152
- package/node_modules/@buddi/runtime/dist/codex-rpc.js.map +0 -1
- package/node_modules/@buddi/runtime/dist/codex-session.d.ts +0 -30
- package/node_modules/@buddi/runtime/dist/codex-session.d.ts.map +0 -1
- package/node_modules/@buddi/runtime/dist/codex-session.js +0 -169
- package/node_modules/@buddi/runtime/dist/codex-session.js.map +0 -1
- package/packages/runtime/dist/codex-app-server.d.ts +0 -20
- package/packages/runtime/dist/codex-app-server.d.ts.map +0 -1
- package/packages/runtime/dist/codex-app-server.js +0 -172
- package/packages/runtime/dist/codex-app-server.js.map +0 -1
- package/packages/runtime/dist/codex-policy.d.ts +0 -6
- package/packages/runtime/dist/codex-policy.d.ts.map +0 -1
- package/packages/runtime/dist/codex-policy.js +0 -79
- package/packages/runtime/dist/codex-policy.js.map +0 -1
- package/packages/runtime/dist/codex-rpc.d.ts +0 -34
- package/packages/runtime/dist/codex-rpc.d.ts.map +0 -1
- package/packages/runtime/dist/codex-rpc.js +0 -152
- package/packages/runtime/dist/codex-rpc.js.map +0 -1
- package/packages/runtime/dist/codex-session.d.ts +0 -30
- package/packages/runtime/dist/codex-session.d.ts.map +0 -1
- package/packages/runtime/dist/codex-session.js +0 -169
- package/packages/runtime/dist/codex-session.js.map +0 -1
- package/packages/web/dist/assets/index-BRkIoT-q.js +0 -123
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* Fail closed at startup: an agent naming a tool the registry does not have
|
|
10
10
|
* throws before any provider call is made.
|
|
11
11
|
*/
|
|
12
|
-
import { APPROVAL_RESUME_SPEAKER, SYSTEM_TOOLS, collectUntrusted, ownerTurn, surfaceSection } from '@buddi/core';
|
|
12
|
+
import { APPROVAL_RESUME_SPEAKER, DELEGATE_TOOL_NAME, SYSTEM_TOOLS, collectUntrusted, ownerTurn, surfaceSection } from '@buddi/core';
|
|
13
13
|
import { primeSecretScrubber, scrubDeep, scrubText } from '@buddi/core';
|
|
14
14
|
import { ProviderError } from './anthropic.js';
|
|
15
15
|
import { NATIVE_SEARCH_SYSTEM_NOTE, planNativeSearch } from './search.js';
|
|
@@ -213,6 +213,20 @@ export function producedArtifactIds(output) {
|
|
|
213
213
|
ids.push(out.artifactId);
|
|
214
214
|
return [...new Set(ids.filter(isId))];
|
|
215
215
|
}
|
|
216
|
+
/**
|
|
217
|
+
* Who made the files a tool result names. A delegation's files were made by
|
|
218
|
+
* the colleague, and they are credited to it in the asking conversation too;
|
|
219
|
+
* every other tool's files are this agent's. Read only off the delegation
|
|
220
|
+
* tool's own output, so no other tool can credit its files to somebody else.
|
|
221
|
+
*/
|
|
222
|
+
export function producedBy(tool, output, self) {
|
|
223
|
+
if (tool === DELEGATE_TOOL_NAME && output && typeof output === 'object') {
|
|
224
|
+
const agent = output.agent;
|
|
225
|
+
if (typeof agent === 'string' && agent.trim() !== '')
|
|
226
|
+
return agent;
|
|
227
|
+
}
|
|
228
|
+
return self;
|
|
229
|
+
}
|
|
216
230
|
/** jsonb comes back parsed from `pg`; tolerate a string for other drivers. */
|
|
217
231
|
function normalizeContent(raw) {
|
|
218
232
|
const value = typeof raw === 'string' ? safeParse(raw) : raw;
|
|
@@ -286,14 +300,14 @@ export const IMAGE_REFUSED_TEXT = '(An image was here but this model does not ta
|
|
|
286
300
|
* in place. A screenshot says the text observation is what the model saw.
|
|
287
301
|
* Returns whether there was anything to replace.
|
|
288
302
|
*/
|
|
289
|
-
function dropImages(messages,
|
|
303
|
+
function dropImages(messages, ephemeral, pictures = new Set()) {
|
|
290
304
|
let replaced = false;
|
|
291
305
|
for (const message of messages) {
|
|
292
306
|
if (!message.content.some((b) => b.type === 'image'))
|
|
293
307
|
continue;
|
|
294
308
|
replaced = true;
|
|
295
309
|
message.content = message.content.map((b) => b.type !== 'image' ? b
|
|
296
|
-
: { type: 'text', text:
|
|
310
|
+
: { type: 'text', text: ephemeral.has(b) && !pictures.has(b) ? SCREENSHOT_REFUSED_TEXT : IMAGE_REFUSED_TEXT });
|
|
297
311
|
}
|
|
298
312
|
return replaced;
|
|
299
313
|
}
|
|
@@ -532,7 +546,7 @@ export async function runAgent(opts) {
|
|
|
532
546
|
// turn; when the tool saves files, they are recorded as produced here, the
|
|
533
547
|
// same as an immediate result would have been.
|
|
534
548
|
const resumedProduced = resume?.state === 'succeeded' && resume.tool && registry.lookup(resume.tool)?.producesArtifacts
|
|
535
|
-
? producedArtifactIds(resume.result).map((id) => ({ artifactId: id, kind: 'produced', agentId: agent.id }))
|
|
549
|
+
? producedArtifactIds(resume.result).map((id) => ({ artifactId: id, kind: 'produced', agentId: producedBy(resume.tool, resume.result, agent.id) }))
|
|
536
550
|
: [];
|
|
537
551
|
// A resumed run's opening turn is the decided approval coming back, not the
|
|
538
552
|
// owner speaking: it is stamped as such so no transcript draws it as theirs.
|
|
@@ -553,12 +567,33 @@ export async function runAgent(opts) {
|
|
|
553
567
|
// whether the opening turn is adjacent to a turn of its own role.
|
|
554
568
|
const messages = normalizeForReplay(degradeMessages(opts.openingPersisted ? [...replayed] : [...replayed, { role: 'user', content: sentUserBlocks }], capabilities));
|
|
555
569
|
const ephemeralImages = new Set();
|
|
570
|
+
/** The ephemeral images that are a file a colleague made, not a screenshot. */
|
|
571
|
+
const pictures = new Set();
|
|
556
572
|
/**
|
|
557
573
|
* The model turned images down: its provider kind takes them, this model
|
|
558
574
|
* does not. Nothing more is sent as a picture for the rest of the run; the
|
|
559
575
|
* tools' text observations carry on alone.
|
|
560
576
|
*/
|
|
561
577
|
let imagesRefused = false;
|
|
578
|
+
/*
|
|
579
|
+
* A decided call coming back with a picture — a colleague's image, after
|
|
580
|
+
* the owner approved the tool that made it — is shown with the result, the
|
|
581
|
+
* same as an immediate one would have been: once, and never stored.
|
|
582
|
+
*/
|
|
583
|
+
const opening = messages[messages.length - 1];
|
|
584
|
+
if (resume?.state === 'succeeded' && resume.tool && capabilities.multimodalImage && opening?.role === 'user' && !opts.openingPersisted) {
|
|
585
|
+
try {
|
|
586
|
+
const picture = await registry.image(resume.tool, resume.result, toolCtx);
|
|
587
|
+
if (picture) {
|
|
588
|
+
const block = { type: 'image', ...picture };
|
|
589
|
+
ephemeralImages.add(block);
|
|
590
|
+
if (resume.tool === DELEGATE_TOOL_NAME)
|
|
591
|
+
pictures.add(block);
|
|
592
|
+
opening.content = [...opening.content, block];
|
|
593
|
+
}
|
|
594
|
+
}
|
|
595
|
+
catch { /* The result stands on its own; a picture that cannot be read costs the picture. */ }
|
|
596
|
+
}
|
|
562
597
|
await appendEvent(pool, resume ? 'run.resumed' : 'run.started', {
|
|
563
598
|
agentId: agent.id,
|
|
564
599
|
tools: tools.map(t => t.name),
|
|
@@ -649,7 +684,7 @@ export async function runAgent(opts) {
|
|
|
649
684
|
// the pictures become a line of text and the turn is sent once more.
|
|
650
685
|
// Not an error for the owner; one event records it.
|
|
651
686
|
const refused = err instanceof ProviderError && err.reason === 'images-unsupported';
|
|
652
|
-
if (!refused || imagesRefused || !dropImages(messages, ephemeralImages))
|
|
687
|
+
if (!refused || imagesRefused || !dropImages(messages, ephemeralImages, pictures))
|
|
653
688
|
throw err;
|
|
654
689
|
imagesRefused = true;
|
|
655
690
|
await appendEvent(pool, 'run.images-refused', { model: snapshot.model, ...(opts.runId ? { runId: opts.runId } : {}) }, conversationId);
|
|
@@ -788,8 +823,9 @@ export async function runAgent(opts) {
|
|
|
788
823
|
// has each one recorded as produced here by this agent — with the
|
|
789
824
|
// result row, in one statement. A tool that merely returns files does not.
|
|
790
825
|
if (registry.lookup(call.name)?.producesArtifacts) {
|
|
826
|
+
const by = producedBy(call.name, outcome.output, agent.id);
|
|
791
827
|
for (const id of producedArtifactIds(outcome.output))
|
|
792
|
-
produced.push({ artifactId: id, kind: 'produced', agentId:
|
|
828
|
+
produced.push({ artifactId: id, kind: 'produced', agentId: by });
|
|
793
829
|
}
|
|
794
830
|
// The tool finished, but it left the run waiting on a decision the
|
|
795
831
|
// owner has to make elsewhere: nothing more is dispatched this turn,
|
|
@@ -807,8 +843,12 @@ export async function runAgent(opts) {
|
|
|
807
843
|
if (!ctx.signal?.aborted) {
|
|
808
844
|
try {
|
|
809
845
|
const picture = await registry.image(call.name, outcome.output, toolCtx);
|
|
810
|
-
if (picture && capabilities.multimodalImage && !imagesRefused)
|
|
811
|
-
|
|
846
|
+
if (picture && capabilities.multimodalImage && !imagesRefused) {
|
|
847
|
+
const block = { type: 'image', ...picture };
|
|
848
|
+
if (call.name === DELEGATE_TOOL_NAME)
|
|
849
|
+
pictures.add(block);
|
|
850
|
+
images.push(block);
|
|
851
|
+
}
|
|
812
852
|
}
|
|
813
853
|
catch { /* Observation loss must never turn a completed action into a retry. */ }
|
|
814
854
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop.js","sourceRoot":"","sources":["../src/loop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"loop.js","sourceRoot":"","sources":["../src/loop.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { type HttpTransport } from './transport.js';
|
|
2
|
+
/** The only host a device key is ever sent to. */
|
|
3
|
+
export declare const OLLAMA_CLOUD_ORIGIN = "https://ollama.com";
|
|
4
|
+
export declare const OLLAMA_CONNECT_URL = "https://ollama.com/connect";
|
|
5
|
+
export interface OllamaDeviceKey {
|
|
6
|
+
/** PKCS8 PEM. Lives in the vault, never leaves the gateway. */
|
|
7
|
+
privateKey: string;
|
|
8
|
+
/** The authorized_keys line, `ssh-ed25519 AAAA…`. What "Show key" on ollama.com shows. */
|
|
9
|
+
publicKey: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function generateOllamaDeviceKey(): OllamaDeviceKey;
|
|
12
|
+
/** The authorized_keys line for a private key. */
|
|
13
|
+
export declare function ollamaPublicKey(privateKeyPem: string): string;
|
|
14
|
+
/** The page the owner presses Connect on. `name` is what ollama.com lists the device as. */
|
|
15
|
+
export declare function ollamaConnectUrl(publicKey: string, name: string): string;
|
|
16
|
+
/** Is this URL on ollama.com? A device key is never sent anywhere else. */
|
|
17
|
+
export declare function isOllamaCloud(url: string): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Sign one request: the URL to send (with `ts` added) and the Authorization
|
|
20
|
+
* header. The challenge is what Go's `url.RequestURI()` gives after
|
|
21
|
+
* `query.Set("ts", …)` and `query.Encode()` (keys sorted).
|
|
22
|
+
*/
|
|
23
|
+
export declare function signOllamaRequest(method: string, url: string, privateKeyPem: string, nowMs?: number): {
|
|
24
|
+
url: string;
|
|
25
|
+
authorization: string;
|
|
26
|
+
};
|
|
27
|
+
export type OllamaWhoami = {
|
|
28
|
+
state: 'connected';
|
|
29
|
+
username: string;
|
|
30
|
+
} | {
|
|
31
|
+
state: 'waiting';
|
|
32
|
+
} | {
|
|
33
|
+
state: 'failed';
|
|
34
|
+
message: string;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* One cheap signed request: `POST /api/me`. A connected key answers with a
|
|
38
|
+
* real user ID and the account's name; a key nobody connected yet answers 200
|
|
39
|
+
* with the all-zero ID and empty fields; a bad signature answers 401.
|
|
40
|
+
*/
|
|
41
|
+
export declare class OllamaConnectProtocol {
|
|
42
|
+
readonly transport: HttpTransport;
|
|
43
|
+
readonly now: () => number;
|
|
44
|
+
constructor(transport?: HttpTransport, now?: () => number);
|
|
45
|
+
whoami(privateKeyPem: string): Promise<OllamaWhoami>;
|
|
46
|
+
/**
|
|
47
|
+
* Ask ollama.com to forget this device: signed `DELETE /api/user/keys/<key>`,
|
|
48
|
+
* as `ollama signout` does. Best effort; true only when ollama.com said yes.
|
|
49
|
+
*/
|
|
50
|
+
forget(privateKeyPem: string): Promise<boolean>;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=ollama-signing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ollama-signing.d.ts","sourceRoot":"","sources":["../src/ollama-signing.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE1E,kDAAkD;AAClD,eAAO,MAAM,mBAAmB,uBAAuB,CAAC;AACxD,eAAO,MAAM,kBAAkB,+BAA+B,CAAC;AAE/D,MAAM,WAAW,eAAe;IAC9B,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,0FAA0F;IAC1F,SAAS,EAAE,MAAM,CAAC;CACnB;AAsBD,wBAAgB,uBAAuB,IAAI,eAAe,CAMzD;AAED,kDAAkD;AAClD,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,4FAA4F;AAC5F,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAGxE;AAED,2EAA2E;AAC3E,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOlD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,EACrB,KAAK,GAAE,MAAmB,GACzB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAWxC;AAED,MAAM,MAAM,YAAY,GACpB;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,GACpB;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAKzC;;;;GAIG;AACH,qBAAa,qBAAqB;IACpB,QAAQ,CAAC,SAAS,EAAE,aAAa;IAAyB,QAAQ,CAAC,GAAG;gBAA7D,SAAS,GAAE,aAAoC,EAAW,GAAG,eAAW;IACvF,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAwB1D;;;OAGG;IACG,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAYtD"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ollama's device key: how `ollama login` talks to ollama.com with no key
|
|
3
|
+
* anyone sees (buddi-planning specs/ollama-connect.md §2, read in the ollama
|
|
4
|
+
* source: `auth/auth.go`, `api/client.go`, `server/cloud_proxy.go`).
|
|
5
|
+
*
|
|
6
|
+
* - The device holds an ed25519 key pair. The public key travels as the
|
|
7
|
+
* authorized_keys line `ssh-ed25519 <base64 SSH wire blob>`.
|
|
8
|
+
* - The owner connects it once at
|
|
9
|
+
* `https://ollama.com/connect?name=<device>&key=<base64url of that line>`.
|
|
10
|
+
* - Every request then carries `?ts=<unix seconds>` and
|
|
11
|
+
* `Authorization: <base64 wire blob>:<base64 ed25519 signature>`, where the
|
|
12
|
+
* signature is over `<METHOD>,<path>?<query with ts>`.
|
|
13
|
+
*
|
|
14
|
+
* Pure: no I/O but the one `/api/me` call in `OllamaConnectProtocol`, which
|
|
15
|
+
* takes its transport.
|
|
16
|
+
*/
|
|
17
|
+
import { createPrivateKey, createPublicKey, generateKeyPairSync, sign } from 'node:crypto';
|
|
18
|
+
import { defaultHttpTransport } from './transport.js';
|
|
19
|
+
/** The only host a device key is ever sent to. */
|
|
20
|
+
export const OLLAMA_CLOUD_ORIGIN = 'https://ollama.com';
|
|
21
|
+
export const OLLAMA_CONNECT_URL = 'https://ollama.com/connect';
|
|
22
|
+
function sshString(value) {
|
|
23
|
+
const length = Buffer.alloc(4);
|
|
24
|
+
length.writeUInt32BE(value.length);
|
|
25
|
+
return Buffer.concat([length, value]);
|
|
26
|
+
}
|
|
27
|
+
/** The SSH wire blob of an ed25519 public key, base64: the part after `ssh-ed25519 `. */
|
|
28
|
+
function wireBlob(key) {
|
|
29
|
+
const jwk = key.export({ format: 'jwk' });
|
|
30
|
+
if (jwk.crv !== 'Ed25519' || !jwk.x)
|
|
31
|
+
throw new Error('Not an ed25519 key.');
|
|
32
|
+
return Buffer.concat([sshString(Buffer.from('ssh-ed25519')), sshString(Buffer.from(jwk.x, 'base64url'))]).toString('base64');
|
|
33
|
+
}
|
|
34
|
+
function privateKeyObject(privateKeyPem) {
|
|
35
|
+
let key;
|
|
36
|
+
try {
|
|
37
|
+
key = createPrivateKey(privateKeyPem);
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
throw new Error('Invalid Ollama device key.');
|
|
41
|
+
}
|
|
42
|
+
if (key.asymmetricKeyType !== 'ed25519')
|
|
43
|
+
throw new Error('Invalid Ollama device key.');
|
|
44
|
+
return key;
|
|
45
|
+
}
|
|
46
|
+
export function generateOllamaDeviceKey() {
|
|
47
|
+
const { privateKey, publicKey } = generateKeyPairSync('ed25519');
|
|
48
|
+
return {
|
|
49
|
+
privateKey: privateKey.export({ format: 'pem', type: 'pkcs8' }).toString(),
|
|
50
|
+
publicKey: `ssh-ed25519 ${wireBlob(publicKey)}`,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
/** The authorized_keys line for a private key. */
|
|
54
|
+
export function ollamaPublicKey(privateKeyPem) {
|
|
55
|
+
return `ssh-ed25519 ${wireBlob(createPublicKey(privateKeyObject(privateKeyPem)))}`;
|
|
56
|
+
}
|
|
57
|
+
/** The page the owner presses Connect on. `name` is what ollama.com lists the device as. */
|
|
58
|
+
export function ollamaConnectUrl(publicKey, name) {
|
|
59
|
+
const key = Buffer.from(publicKey.trim()).toString('base64url');
|
|
60
|
+
return `${OLLAMA_CONNECT_URL}?name=${encodeURIComponent(name)}&key=${key}`;
|
|
61
|
+
}
|
|
62
|
+
/** Is this URL on ollama.com? A device key is never sent anywhere else. */
|
|
63
|
+
export function isOllamaCloud(url) {
|
|
64
|
+
try {
|
|
65
|
+
const parsed = new URL(url);
|
|
66
|
+
return parsed.protocol === 'https:' && parsed.hostname.toLowerCase() === 'ollama.com' && (parsed.port === '' || parsed.port === '443');
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Sign one request: the URL to send (with `ts` added) and the Authorization
|
|
74
|
+
* header. The challenge is what Go's `url.RequestURI()` gives after
|
|
75
|
+
* `query.Set("ts", …)` and `query.Encode()` (keys sorted).
|
|
76
|
+
*/
|
|
77
|
+
export function signOllamaRequest(method, url, privateKeyPem, nowMs = Date.now()) {
|
|
78
|
+
if (!isOllamaCloud(url))
|
|
79
|
+
throw new Error('An Ollama device key is only sent to ollama.com.');
|
|
80
|
+
const key = privateKeyObject(privateKeyPem);
|
|
81
|
+
const target = new URL(url);
|
|
82
|
+
const query = new URLSearchParams(target.search);
|
|
83
|
+
query.set('ts', String(Math.floor(nowMs / 1000)));
|
|
84
|
+
query.sort();
|
|
85
|
+
target.search = query.toString();
|
|
86
|
+
const challenge = `${method.toUpperCase()},${target.pathname}${target.search}`;
|
|
87
|
+
const signature = sign(null, Buffer.from(challenge), key).toString('base64');
|
|
88
|
+
return { url: target.toString(), authorization: `${wireBlob(createPublicKey(key))}:${signature}` };
|
|
89
|
+
}
|
|
90
|
+
/** The user ID `/api/me` answers for a key nobody connected yet. */
|
|
91
|
+
const NO_USER = '00000000-0000-0000-0000-000000000000';
|
|
92
|
+
/**
|
|
93
|
+
* One cheap signed request: `POST /api/me`. A connected key answers with a
|
|
94
|
+
* real user ID and the account's name; a key nobody connected yet answers 200
|
|
95
|
+
* with the all-zero ID and empty fields; a bad signature answers 401.
|
|
96
|
+
*/
|
|
97
|
+
export class OllamaConnectProtocol {
|
|
98
|
+
transport;
|
|
99
|
+
now;
|
|
100
|
+
constructor(transport = defaultHttpTransport, now = Date.now) {
|
|
101
|
+
this.transport = transport;
|
|
102
|
+
this.now = now;
|
|
103
|
+
}
|
|
104
|
+
async whoami(privateKeyPem) {
|
|
105
|
+
const signed = signOllamaRequest('POST', `${OLLAMA_CLOUD_ORIGIN}/api/me`, privateKeyPem, this.now());
|
|
106
|
+
let res;
|
|
107
|
+
try {
|
|
108
|
+
res = await this.transport(signed.url, {
|
|
109
|
+
method: 'POST', headers: { authorization: signed.authorization, accept: 'application/json' },
|
|
110
|
+
signal: AbortSignal.timeout(15_000), maxBytes: 65536,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
// Offline for a moment is not an answer; the next poll asks again.
|
|
115
|
+
return { state: 'waiting' };
|
|
116
|
+
}
|
|
117
|
+
if (res.status === 401)
|
|
118
|
+
return { state: 'failed', message: 'ollama.com refused this device key. Check this computer’s clock, then connect again.' };
|
|
119
|
+
if (!res.ok)
|
|
120
|
+
return { state: 'waiting' };
|
|
121
|
+
let data;
|
|
122
|
+
try {
|
|
123
|
+
data = await res.json();
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
return { state: 'waiting' };
|
|
127
|
+
}
|
|
128
|
+
const record = (data ?? {});
|
|
129
|
+
const id = typeof record.ID === 'string' ? record.ID : typeof record.id === 'string' ? record.id : '';
|
|
130
|
+
if (!id || id === NO_USER)
|
|
131
|
+
return { state: 'waiting' };
|
|
132
|
+
const name = typeof record.Name === 'string' ? record.Name : typeof record.name === 'string' ? record.name : '';
|
|
133
|
+
const username = name.replace(/[\x00-\x1f\x7f]/g, '').trim().slice(0, 100);
|
|
134
|
+
return { state: 'connected', username };
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Ask ollama.com to forget this device: signed `DELETE /api/user/keys/<key>`,
|
|
138
|
+
* as `ollama signout` does. Best effort; true only when ollama.com said yes.
|
|
139
|
+
*/
|
|
140
|
+
async forget(privateKeyPem) {
|
|
141
|
+
const key = Buffer.from(ollamaPublicKey(privateKeyPem)).toString('base64url');
|
|
142
|
+
const signed = signOllamaRequest('DELETE', `${OLLAMA_CLOUD_ORIGIN}/api/user/keys/${key}`, privateKeyPem, this.now());
|
|
143
|
+
try {
|
|
144
|
+
const res = await this.transport(signed.url, {
|
|
145
|
+
method: 'DELETE', headers: { authorization: signed.authorization }, signal: AbortSignal.timeout(10_000), maxBytes: 65536,
|
|
146
|
+
});
|
|
147
|
+
return res.ok;
|
|
148
|
+
}
|
|
149
|
+
catch {
|
|
150
|
+
return false;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=ollama-signing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ollama-signing.js","sourceRoot":"","sources":["../src/ollama-signing.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../src/openai.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAuB,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../src/openai.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
*/
|
|
29
29
|
import { SseParser, frameJson } from './sse.js';
|
|
30
30
|
import { providerAuthHeaders } from '@buddi/core';
|
|
31
|
+
import { signOllamaRequest } from './ollama-signing.js';
|
|
31
32
|
import { OPENAI_TOOL_NAME_MAX, ProviderCapabilityError, markCutOff, ProviderError, refusesImages, toolNameMap, wireToolName, } from './anthropic.js';
|
|
32
33
|
import { providerCapabilities } from './capabilities.js';
|
|
33
34
|
import { defaultSleep, isRetryableStatus, nextDelayMs, providerRetryAt, nextTransportDelayMs, RETRY_DELAYS_MS, } from './retry.js';
|
|
@@ -228,11 +229,20 @@ export function isOllama(baseUrl) {
|
|
|
228
229
|
const THOUGHT = /^\s*<(think|thinking)>([\s\S]*?)(?:<\/\1>|$)/i;
|
|
229
230
|
/** The longest opening tag, for deciding whether a short head might become one. */
|
|
230
231
|
const OPEN_THOUGHT = '<thinking>';
|
|
232
|
+
/** A closing tag with no opening one: some hosts eat the `<think>` and leave the `</think>`. */
|
|
233
|
+
const CLOSED_THOUGHT = /<\/(think|thinking)>/i;
|
|
231
234
|
export function splitThought(content) {
|
|
232
235
|
const match = THOUGHT.exec(content);
|
|
233
|
-
if (
|
|
236
|
+
if (match)
|
|
237
|
+
return { thought: match[2] ?? '', text: content.slice(match[0].length).replace(/^\s+/, '') };
|
|
238
|
+
// Ollama's cloud route, for one, strips the opening tag of glm and qwen
|
|
239
|
+
// answers and keeps the closing one, so the answer arrives as
|
|
240
|
+
// "…thought…</think>\n\nHello". Everything before that first closing tag
|
|
241
|
+
// is thought; the rule is the same as for a block that opened properly.
|
|
242
|
+
const closed = CLOSED_THOUGHT.exec(content);
|
|
243
|
+
if (!closed || closed.index === undefined)
|
|
234
244
|
return { thought: '', text: content };
|
|
235
|
-
return { thought:
|
|
245
|
+
return { thought: content.slice(0, closed.index).trim(), text: content.slice(closed.index + closed[0].length).replace(/^\s+/, '') };
|
|
236
246
|
}
|
|
237
247
|
export function fromWireChoice(json, names) {
|
|
238
248
|
const choice = json.choices?.[0];
|
|
@@ -285,12 +295,24 @@ export function createOpenAiProvider(resolved, options = {}) {
|
|
|
285
295
|
const defaultMaxTokens = options.maxTokens ?? DEFAULT_MAX_TOKENS;
|
|
286
296
|
const url = `${resolved.baseUrl.replace(/\/+$/, '')}${CHAT_COMPLETIONS_PATH}`;
|
|
287
297
|
const capabilities = providerCapabilities('openai');
|
|
288
|
-
|
|
298
|
+
/**
|
|
299
|
+
* Where this attempt goes and with which headers. A device-key account signs
|
|
300
|
+
* every attempt afresh (the signature covers a timestamp) instead of
|
|
301
|
+
* sending a bearer token.
|
|
302
|
+
*/
|
|
303
|
+
function target() {
|
|
304
|
+
if (resolved.deviceKey) {
|
|
305
|
+
const signed = signOllamaRequest('POST', url, resolved.deviceKey, now());
|
|
306
|
+
return { url: signed.url, headers: { 'content-type': 'application/json', authorization: signed.authorization } };
|
|
307
|
+
}
|
|
289
308
|
return {
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
309
|
+
url,
|
|
310
|
+
headers: {
|
|
311
|
+
'content-type': 'application/json',
|
|
312
|
+
// OpenAI takes a bearer token and nothing else; `providerAuthHeaders`
|
|
313
|
+
// already knows that from the resolved provider's kind.
|
|
314
|
+
...providerAuthHeaders(resolved),
|
|
315
|
+
},
|
|
294
316
|
};
|
|
295
317
|
}
|
|
296
318
|
function body(req, names) {
|
|
@@ -373,8 +395,9 @@ export function createOpenAiProvider(resolved, options = {}) {
|
|
|
373
395
|
// Every attempt is a dispatch; a caller counting calls is told of each.
|
|
374
396
|
await req.onDispatch?.();
|
|
375
397
|
try {
|
|
376
|
-
|
|
377
|
-
|
|
398
|
+
const attempt = target();
|
|
399
|
+
res = await doFetch(attempt.url, {
|
|
400
|
+
method: 'POST', headers: attempt.headers, body: payload,
|
|
378
401
|
...(req.signal ? { signal: req.signal } : {}),
|
|
379
402
|
...(assembly ? { onChunk: (text, status) => { if (status >= 200 && status < 300)
|
|
380
403
|
assembly.push(text); } } : {}),
|
|
@@ -538,6 +561,12 @@ class OpenAiStreamAssembly {
|
|
|
538
561
|
if (head !== '' && head.length < OPEN_THOUGHT.length && OPEN_THOUGHT.startsWith(head.toLowerCase()))
|
|
539
562
|
return;
|
|
540
563
|
const split = splitThought(this.#content);
|
|
564
|
+
// A closing tag that arrives after its thought was already handed out as
|
|
565
|
+
// answer text (no opening tag to warn us) cannot take those words back on
|
|
566
|
+
// the wire; the stored message is split cleanly, and the answer restarts
|
|
567
|
+
// from its true beginning here.
|
|
568
|
+
if (split.thought !== '' && this.#saidText > split.text.length + this.#saidThought)
|
|
569
|
+
this.#saidText = 0;
|
|
541
570
|
if (split.thought.length > this.#saidThought) {
|
|
542
571
|
this.onDelta({ kind: 'thinking', text: split.thought.slice(this.#saidThought) });
|
|
543
572
|
this.#saidThought = split.thought.length;
|