@withbuddi/buddi 0.1.0-pre.17 → 0.1.0-pre.19
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 +29 -21
- package/extension/background.js +38 -7
- package/node_modules/@buddi/cli/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/cli/dist/args.d.ts +16 -3
- package/node_modules/@buddi/cli/dist/args.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/args.js +39 -89
- package/node_modules/@buddi/cli/dist/args.js.map +1 -1
- package/node_modules/@buddi/cli/dist/backup/index.d.ts +2 -0
- package/node_modules/@buddi/cli/dist/backup/index.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/backup/index.js +13 -4
- package/node_modules/@buddi/cli/dist/backup/index.js.map +1 -1
- package/node_modules/@buddi/cli/dist/commands.d.ts +94 -0
- package/node_modules/@buddi/cli/dist/commands.d.ts.map +1 -0
- package/node_modules/@buddi/cli/dist/commands.js +1028 -0
- package/node_modules/@buddi/cli/dist/commands.js.map +1 -0
- 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 +4 -1
- package/node_modules/@buddi/cli/dist/index.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/index.js +4 -1
- package/node_modules/@buddi/cli/dist/index.js.map +1 -1
- package/node_modules/@buddi/cli/dist/jobs-cmd.d.ts +4 -0
- package/node_modules/@buddi/cli/dist/jobs-cmd.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/jobs-cmd.js +26 -7
- package/node_modules/@buddi/cli/dist/jobs-cmd.js.map +1 -1
- package/node_modules/@buddi/cli/dist/main.d.ts +9 -2
- package/node_modules/@buddi/cli/dist/main.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/main.js +256 -30
- package/node_modules/@buddi/cli/dist/main.js.map +1 -1
- package/node_modules/@buddi/cli/dist/paths.d.ts +7 -4
- package/node_modules/@buddi/cli/dist/paths.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/paths.js +17 -6
- package/node_modules/@buddi/cli/dist/paths.js.map +1 -1
- package/node_modules/@buddi/cli/dist/status.d.ts +70 -0
- package/node_modules/@buddi/cli/dist/status.d.ts.map +1 -0
- package/node_modules/@buddi/cli/dist/status.js +122 -0
- package/node_modules/@buddi/cli/dist/status.js.map +1 -0
- package/node_modules/@buddi/cli/dist/style.d.ts +13 -0
- package/node_modules/@buddi/cli/dist/style.d.ts.map +1 -0
- package/node_modules/@buddi/cli/dist/style.js +10 -0
- package/node_modules/@buddi/cli/dist/style.js.map +1 -0
- package/node_modules/@buddi/cli/dist/telegram-cmd.d.ts +1 -1
- package/node_modules/@buddi/cli/dist/telegram-cmd.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/telegram-cmd.js +23 -6
- package/node_modules/@buddi/cli/dist/telegram-cmd.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/cli/dist/vault-cmd.js +3 -3
- package/node_modules/@buddi/core/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/core/dist/actions/approvals.d.ts +0 -17
- package/node_modules/@buddi/core/dist/actions/approvals.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/actions/approvals.js +21 -0
- package/node_modules/@buddi/core/dist/actions/approvals.js.map +1 -1
- package/node_modules/@buddi/core/dist/actions/execute.d.ts +1 -1
- package/node_modules/@buddi/core/dist/actions/jobs.d.ts +1 -1
- package/node_modules/@buddi/core/dist/actions/types.js +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/provider-from-env.d.ts +1 -1
- package/node_modules/@buddi/core/dist/agents/provider-from-env.js +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/host/build.d.ts +15 -1
- package/node_modules/@buddi/core/dist/host/build.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/host/build.js +99 -1
- package/node_modules/@buddi/core/dist/host/build.js.map +1 -1
- package/node_modules/@buddi/core/dist/host/types.d.ts +88 -1
- package/node_modules/@buddi/core/dist/host/types.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/index.d.ts +1 -0
- package/node_modules/@buddi/core/dist/index.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/index.js +1 -0
- package/node_modules/@buddi/core/dist/index.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/channels.d.ts +37 -0
- package/node_modules/@buddi/core/dist/notifications/channels.d.ts.map +1 -0
- package/node_modules/@buddi/core/dist/notifications/channels.js +87 -0
- package/node_modules/@buddi/core/dist/notifications/channels.js.map +1 -0
- package/node_modules/@buddi/core/dist/notifications/index.d.ts +5 -0
- package/node_modules/@buddi/core/dist/notifications/index.d.ts.map +1 -0
- package/node_modules/@buddi/core/dist/notifications/index.js +5 -0
- package/node_modules/@buddi/core/dist/notifications/index.js.map +1 -0
- package/node_modules/@buddi/core/dist/notifications/notify.d.ts +35 -0
- package/node_modules/@buddi/core/dist/notifications/notify.d.ts.map +1 -0
- package/node_modules/@buddi/core/dist/notifications/notify.js +263 -0
- package/node_modules/@buddi/core/dist/notifications/notify.js.map +1 -0
- package/node_modules/@buddi/core/dist/notifications/store.d.ts +50 -0
- package/node_modules/@buddi/core/dist/notifications/store.d.ts.map +1 -0
- package/node_modules/@buddi/core/dist/notifications/store.js +216 -0
- package/node_modules/@buddi/core/dist/notifications/store.js.map +1 -0
- package/node_modules/@buddi/core/dist/notifications/types.d.ts +142 -0
- package/node_modules/@buddi/core/dist/notifications/types.d.ts.map +1 -0
- package/node_modules/@buddi/core/dist/notifications/types.js +5 -0
- package/node_modules/@buddi/core/dist/notifications/types.js.map +1 -0
- package/node_modules/@buddi/core/dist/owner.js +1 -1
- package/node_modules/@buddi/core/dist/pages.d.ts +2 -2
- package/node_modules/@buddi/core/dist/plugin/index.d.ts +1 -1
- package/node_modules/@buddi/core/dist/plugin/index.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/plugin/uses.d.ts +1 -1
- package/node_modules/@buddi/core/dist/plugin/uses.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/plugin/uses.js +4 -0
- package/node_modules/@buddi/core/dist/plugin/uses.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/provider.d.ts +1 -1
- package/node_modules/@buddi/core/dist/provider.js +1 -1
- package/node_modules/@buddi/core/dist/queue/retry-policy.d.ts +1 -1
- package/node_modules/@buddi/core/dist/queue/retry-policy.js +1 -1
- package/node_modules/@buddi/core/dist/registry.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/registry.js +3 -4
- package/node_modules/@buddi/core/dist/registry.js.map +1 -1
- package/node_modules/@buddi/core/dist/reminders/store.d.ts +1 -1
- package/node_modules/@buddi/core/dist/reminders/store.js +1 -1
- package/node_modules/@buddi/core/dist/reminders/types.d.ts +1 -1
- package/node_modules/@buddi/core/dist/reminders/types.js +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 +21 -1
- 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/time.d.ts +12 -0
- package/node_modules/@buddi/core/dist/time.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/time.js +46 -0
- package/node_modules/@buddi/core/dist/time.js.map +1 -1
- package/node_modules/@buddi/core/dist/tools.d.ts +5 -5
- 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/vault/file.js +2 -2
- package/node_modules/@buddi/core/dist/vault/keychain.js +1 -1
- package/node_modules/@buddi/core/dist/vault/keychain.js.map +1 -1
- package/node_modules/@buddi/core/dist/vault/resolve.d.ts +3 -3
- package/node_modules/@buddi/core/dist/vault/resolve.js +3 -3
- package/node_modules/@buddi/core/dist/vault/types.d.ts +1 -1
- package/node_modules/@buddi/core/dist/vault/types.js +1 -1
- package/node_modules/@buddi/core/dist/views.d.ts +66 -66
- package/node_modules/@buddi/core/migrations/003_owner_surfaces.sql +1 -1
- package/node_modules/@buddi/core/migrations/005_artifacts.sql +1 -1
- package/node_modules/@buddi/core/migrations/009_queue.sql +1 -2
- package/node_modules/@buddi/core/migrations/010_actions.sql +1 -1
- package/node_modules/@buddi/core/migrations/043_owner_notifications.sql +77 -0
- 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/package.json +4 -0
- package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/gateway/dist/agents/catalog.js +1 -1
- package/node_modules/@buddi/gateway/dist/agents-cli.d.ts +25 -1
- package/node_modules/@buddi/gateway/dist/agents-cli.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents-cli.js +91 -27
- package/node_modules/@buddi/gateway/dist/agents-cli.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/bootstrap.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/bootstrap.js +8 -0
- package/node_modules/@buddi/gateway/dist/bootstrap.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/channels/local-notification.d.ts +39 -0
- package/node_modules/@buddi/gateway/dist/channels/local-notification.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/channels/local-notification.js +154 -0
- package/node_modules/@buddi/gateway/dist/channels/local-notification.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/chat/approvals.d.ts +3 -3
- package/node_modules/@buddi/gateway/dist/chat/approvals.js +3 -3
- 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/cli.d.ts +14 -0
- package/node_modules/@buddi/gateway/dist/cli.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/cli.js +208 -37
- package/node_modules/@buddi/gateway/dist/cli.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/db-ready.d.ts +2 -1
- package/node_modules/@buddi/gateway/dist/db-ready.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/db-ready.js +3 -2
- package/node_modules/@buddi/gateway/dist/db-ready.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/index.d.ts +5 -1
- package/node_modules/@buddi/gateway/dist/index.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/index.js +6 -1
- 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 +11 -1
- package/node_modules/@buddi/gateway/dist/missions/agent-run.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/execute.d.ts +22 -1
- package/node_modules/@buddi/gateway/dist/missions/execute.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/execute.js +8 -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/missions-cli.d.ts +2 -0
- package/node_modules/@buddi/gateway/dist/missions-cli.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions-cli.js +53 -8
- package/node_modules/@buddi/gateway/dist/missions-cli.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/owner-notify.d.ts +44 -0
- package/node_modules/@buddi/gateway/dist/owner-notify.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/owner-notify.js +91 -0
- package/node_modules/@buddi/gateway/dist/owner-notify.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/plugins-cli.d.ts +3 -1
- package/node_modules/@buddi/gateway/dist/plugins-cli.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins-cli.js +11 -4
- package/node_modules/@buddi/gateway/dist/plugins-cli.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/provider-accounts.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/provider-accounts.js +22 -13
- package/node_modules/@buddi/gateway/dist/provider-accounts.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/reminders-cli.d.ts +3 -1
- package/node_modules/@buddi/gateway/dist/reminders-cli.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/reminders-cli.js +21 -2
- package/node_modules/@buddi/gateway/dist/reminders-cli.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/serve.d.ts +2 -0
- package/node_modules/@buddi/gateway/dist/serve.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/serve.js +61 -13
- 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/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/approvals.d.ts +3 -3
- package/node_modules/@buddi/gateway/dist/telegram/approvals.js +3 -3
- 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 +36 -0
- package/node_modules/@buddi/gateway/dist/telegram/channel.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/telegram/channel.js +71 -0
- package/node_modules/@buddi/gateway/dist/telegram/channel.js.map +1 -0
- 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 +103 -291
- package/node_modules/@buddi/gateway/dist/telegram/surface.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/config.js +3 -3
- package/node_modules/@buddi/gateway/dist/web/http.d.ts +16 -3
- package/node_modules/@buddi/gateway/dist/web/http.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/http.js +39 -3
- package/node_modules/@buddi/gateway/dist/web/http.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/notifications.d.ts +36 -0
- package/node_modules/@buddi/gateway/dist/web/notifications.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/notifications.js +63 -0
- package/node_modules/@buddi/gateway/dist/web/notifications.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/onboarding.d.ts +1 -1
- package/node_modules/@buddi/gateway/dist/web/onboarding.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/onboarding.js +5 -1
- package/node_modules/@buddi/gateway/dist/web/onboarding.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/read.js +3 -3
- 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 +54 -23
- 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/gateway/dist/web/version.d.ts +1 -0
- package/node_modules/@buddi/gateway/dist/web/version.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/version.js +2 -1
- package/node_modules/@buddi/gateway/dist/web/version.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/write.js +1 -1
- package/node_modules/@buddi/install/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/install/dist/environment.d.ts +29 -0
- package/node_modules/@buddi/install/dist/environment.d.ts.map +1 -1
- package/node_modules/@buddi/install/dist/environment.js +50 -1
- package/node_modules/@buddi/install/dist/environment.js.map +1 -1
- package/node_modules/@buddi/install/dist/launcher.d.ts +3 -1
- package/node_modules/@buddi/install/dist/launcher.d.ts.map +1 -1
- package/node_modules/@buddi/install/dist/launcher.js +220 -14
- 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/install/dist/upgrade.d.ts +16 -3
- package/node_modules/@buddi/install/dist/upgrade.d.ts.map +1 -1
- package/node_modules/@buddi/install/dist/upgrade.js +21 -7
- package/node_modules/@buddi/install/dist/upgrade.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/runtime/dist/anthropic.d.ts +35 -2
- package/node_modules/@buddi/runtime/dist/anthropic.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/anthropic.js +36 -12
- package/node_modules/@buddi/runtime/dist/anthropic.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/context-window.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/context-window.js +5 -2
- package/node_modules/@buddi/runtime/dist/context-window.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/delegate.js +1 -1
- package/node_modules/@buddi/runtime/dist/loop.d.ts +13 -1
- package/node_modules/@buddi/runtime/dist/loop.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/loop.js +70 -3
- package/node_modules/@buddi/runtime/dist/loop.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/openai.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/openai.js +26 -8
- package/node_modules/@buddi/runtime/dist/openai.js.map +1 -1
- package/node_modules/@buddi/tool-artifacts/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-artifacts/dist/index.d.ts +1 -1
- package/node_modules/@buddi/tool-browser/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-browser/dist/availability.d.ts +34 -8
- package/node_modules/@buddi/tool-browser/dist/availability.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/availability.js +44 -5
- package/node_modules/@buddi/tool-browser/dist/availability.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/controller.d.ts +2 -2
- package/node_modules/@buddi/tool-browser/dist/controller.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/controller.js +7 -6
- package/node_modules/@buddi/tool-browser/dist/controller.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 +5 -1
- package/node_modules/@buddi/tool-browser/dist/host.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/index.d.ts +2 -2
- package/node_modules/@buddi/tool-browser/dist/index.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/index.js +13 -5
- 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 +12 -2
- 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/channel.d.ts +43 -0
- package/node_modules/@buddi/tool-email/dist/channel.d.ts.map +1 -0
- package/node_modules/@buddi/tool-email/dist/channel.js +99 -0
- package/node_modules/@buddi/tool-email/dist/channel.js.map +1 -0
- package/node_modules/@buddi/tool-email/dist/index.d.ts +1 -0
- package/node_modules/@buddi/tool-email/dist/index.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/index.js +8 -1
- package/node_modules/@buddi/tool-email/dist/index.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/ports.d.ts +3 -3
- package/node_modules/@buddi/tool-email/dist/ports.js +1 -1
- package/node_modules/@buddi/tool-email/dist/tools/drafts.d.ts +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-email/dist/tools/send.js +1 -1
- package/node_modules/@buddi/tool-email/migrations/001_email.sql +3 -2
- package/node_modules/@buddi/tool-email/package.json +2 -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-memory/dist/index.js +1 -1
- package/node_modules/@buddi/tool-memory/migrations/001_memory.sql +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 +5 -2
- package/packages/cli/dist/.tsbuildinfo +1 -1
- package/packages/cli/dist/args.d.ts +16 -3
- package/packages/cli/dist/args.d.ts.map +1 -1
- package/packages/cli/dist/args.js +39 -89
- package/packages/cli/dist/args.js.map +1 -1
- package/packages/cli/dist/backup/index.d.ts +2 -0
- package/packages/cli/dist/backup/index.d.ts.map +1 -1
- package/packages/cli/dist/backup/index.js +13 -4
- package/packages/cli/dist/backup/index.js.map +1 -1
- package/packages/cli/dist/commands.d.ts +94 -0
- package/packages/cli/dist/commands.d.ts.map +1 -0
- package/packages/cli/dist/commands.js +1028 -0
- package/packages/cli/dist/commands.js.map +1 -0
- 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 +4 -1
- package/packages/cli/dist/index.d.ts.map +1 -1
- package/packages/cli/dist/index.js +4 -1
- package/packages/cli/dist/index.js.map +1 -1
- package/packages/cli/dist/jobs-cmd.d.ts +4 -0
- package/packages/cli/dist/jobs-cmd.d.ts.map +1 -1
- package/packages/cli/dist/jobs-cmd.js +26 -7
- package/packages/cli/dist/jobs-cmd.js.map +1 -1
- package/packages/cli/dist/main.d.ts +9 -2
- package/packages/cli/dist/main.d.ts.map +1 -1
- package/packages/cli/dist/main.js +256 -30
- package/packages/cli/dist/main.js.map +1 -1
- package/packages/cli/dist/paths.d.ts +7 -4
- package/packages/cli/dist/paths.d.ts.map +1 -1
- package/packages/cli/dist/paths.js +17 -6
- package/packages/cli/dist/paths.js.map +1 -1
- package/packages/cli/dist/status.d.ts +70 -0
- package/packages/cli/dist/status.d.ts.map +1 -0
- package/packages/cli/dist/status.js +122 -0
- package/packages/cli/dist/status.js.map +1 -0
- package/packages/cli/dist/style.d.ts +13 -0
- package/packages/cli/dist/style.d.ts.map +1 -0
- package/packages/cli/dist/style.js +10 -0
- package/packages/cli/dist/style.js.map +1 -0
- package/packages/cli/dist/telegram-cmd.d.ts +1 -1
- package/packages/cli/dist/telegram-cmd.d.ts.map +1 -1
- package/packages/cli/dist/telegram-cmd.js +23 -6
- package/packages/cli/dist/telegram-cmd.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/cli/dist/vault-cmd.js +3 -3
- package/packages/core/dist/.tsbuildinfo +1 -1
- package/packages/core/dist/actions/approvals.d.ts +0 -17
- package/packages/core/dist/actions/approvals.d.ts.map +1 -1
- package/packages/core/dist/actions/approvals.js +21 -0
- package/packages/core/dist/actions/approvals.js.map +1 -1
- package/packages/core/dist/actions/execute.d.ts +1 -1
- package/packages/core/dist/actions/jobs.d.ts +1 -1
- package/packages/core/dist/actions/types.js +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/provider-from-env.d.ts +1 -1
- package/packages/core/dist/agents/provider-from-env.js +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/host/build.d.ts +15 -1
- package/packages/core/dist/host/build.d.ts.map +1 -1
- package/packages/core/dist/host/build.js +99 -1
- package/packages/core/dist/host/build.js.map +1 -1
- package/packages/core/dist/host/types.d.ts +88 -1
- package/packages/core/dist/host/types.d.ts.map +1 -1
- package/packages/core/dist/index.d.ts +1 -0
- package/packages/core/dist/index.d.ts.map +1 -1
- package/packages/core/dist/index.js +1 -0
- package/packages/core/dist/index.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/channels.d.ts +37 -0
- package/packages/core/dist/notifications/channels.d.ts.map +1 -0
- package/packages/core/dist/notifications/channels.js +87 -0
- package/packages/core/dist/notifications/channels.js.map +1 -0
- package/packages/core/dist/notifications/index.d.ts +5 -0
- package/packages/core/dist/notifications/index.d.ts.map +1 -0
- package/packages/core/dist/notifications/index.js +5 -0
- package/packages/core/dist/notifications/index.js.map +1 -0
- package/packages/core/dist/notifications/notify.d.ts +35 -0
- package/packages/core/dist/notifications/notify.d.ts.map +1 -0
- package/packages/core/dist/notifications/notify.js +263 -0
- package/packages/core/dist/notifications/notify.js.map +1 -0
- package/packages/core/dist/notifications/store.d.ts +50 -0
- package/packages/core/dist/notifications/store.d.ts.map +1 -0
- package/packages/core/dist/notifications/store.js +216 -0
- package/packages/core/dist/notifications/store.js.map +1 -0
- package/packages/core/dist/notifications/types.d.ts +142 -0
- package/packages/core/dist/notifications/types.d.ts.map +1 -0
- package/packages/core/dist/notifications/types.js +5 -0
- package/packages/core/dist/notifications/types.js.map +1 -0
- package/packages/core/dist/owner.js +1 -1
- package/packages/core/dist/pages.d.ts +2 -2
- package/packages/core/dist/plugin/index.d.ts +1 -1
- package/packages/core/dist/plugin/index.d.ts.map +1 -1
- package/packages/core/dist/plugin/uses.d.ts +1 -1
- package/packages/core/dist/plugin/uses.d.ts.map +1 -1
- package/packages/core/dist/plugin/uses.js +4 -0
- package/packages/core/dist/plugin/uses.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/provider.d.ts +1 -1
- package/packages/core/dist/provider.js +1 -1
- package/packages/core/dist/queue/retry-policy.d.ts +1 -1
- package/packages/core/dist/queue/retry-policy.js +1 -1
- package/packages/core/dist/registry.d.ts.map +1 -1
- package/packages/core/dist/registry.js +3 -4
- package/packages/core/dist/registry.js.map +1 -1
- package/packages/core/dist/reminders/store.d.ts +1 -1
- package/packages/core/dist/reminders/store.js +1 -1
- package/packages/core/dist/reminders/types.d.ts +1 -1
- package/packages/core/dist/reminders/types.js +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 +21 -1
- 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/time.d.ts +12 -0
- package/packages/core/dist/time.d.ts.map +1 -1
- package/packages/core/dist/time.js +46 -0
- package/packages/core/dist/time.js.map +1 -1
- package/packages/core/dist/tools.d.ts +5 -5
- 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/vault/file.js +2 -2
- package/packages/core/dist/vault/keychain.js +1 -1
- package/packages/core/dist/vault/keychain.js.map +1 -1
- package/packages/core/dist/vault/resolve.d.ts +3 -3
- package/packages/core/dist/vault/resolve.js +3 -3
- package/packages/core/dist/vault/types.d.ts +1 -1
- package/packages/core/dist/vault/types.js +1 -1
- package/packages/core/dist/views.d.ts +66 -66
- package/packages/core/migrations/003_owner_surfaces.sql +1 -1
- package/packages/core/migrations/005_artifacts.sql +1 -1
- package/packages/core/migrations/009_queue.sql +1 -2
- package/packages/core/migrations/010_actions.sql +1 -1
- package/packages/core/migrations/043_owner_notifications.sql +77 -0
- package/packages/core/migrations/044_owner_metrics.sql +45 -0
- package/packages/core/migrations/045_frequency_goals.sql +19 -0
- package/packages/core/package.json +4 -0
- package/packages/gateway/dist/.tsbuildinfo +1 -1
- package/packages/gateway/dist/agents/catalog.js +1 -1
- package/packages/gateway/dist/agents-cli.d.ts +25 -1
- package/packages/gateway/dist/agents-cli.d.ts.map +1 -1
- package/packages/gateway/dist/agents-cli.js +91 -27
- package/packages/gateway/dist/agents-cli.js.map +1 -1
- package/packages/gateway/dist/bootstrap.d.ts.map +1 -1
- package/packages/gateway/dist/bootstrap.js +8 -0
- package/packages/gateway/dist/bootstrap.js.map +1 -1
- package/packages/gateway/dist/channels/local-notification.d.ts +39 -0
- package/packages/gateway/dist/channels/local-notification.d.ts.map +1 -0
- package/packages/gateway/dist/channels/local-notification.js +154 -0
- package/packages/gateway/dist/channels/local-notification.js.map +1 -0
- package/packages/gateway/dist/chat/approvals.d.ts +3 -3
- package/packages/gateway/dist/chat/approvals.js +3 -3
- 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/cli.d.ts +14 -0
- package/packages/gateway/dist/cli.d.ts.map +1 -1
- package/packages/gateway/dist/cli.js +208 -37
- package/packages/gateway/dist/cli.js.map +1 -1
- package/packages/gateway/dist/db-ready.d.ts +2 -1
- package/packages/gateway/dist/db-ready.d.ts.map +1 -1
- package/packages/gateway/dist/db-ready.js +3 -2
- package/packages/gateway/dist/db-ready.js.map +1 -1
- package/packages/gateway/dist/index.d.ts +5 -1
- package/packages/gateway/dist/index.d.ts.map +1 -1
- package/packages/gateway/dist/index.js +6 -1
- 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 +11 -1
- package/packages/gateway/dist/missions/agent-run.js.map +1 -1
- package/packages/gateway/dist/missions/execute.d.ts +22 -1
- package/packages/gateway/dist/missions/execute.d.ts.map +1 -1
- package/packages/gateway/dist/missions/execute.js +8 -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/missions-cli.d.ts +2 -0
- package/packages/gateway/dist/missions-cli.d.ts.map +1 -1
- package/packages/gateway/dist/missions-cli.js +53 -8
- package/packages/gateway/dist/missions-cli.js.map +1 -1
- package/packages/gateway/dist/owner-notify.d.ts +44 -0
- package/packages/gateway/dist/owner-notify.d.ts.map +1 -0
- package/packages/gateway/dist/owner-notify.js +91 -0
- package/packages/gateway/dist/owner-notify.js.map +1 -0
- package/packages/gateway/dist/plugins-cli.d.ts +3 -1
- package/packages/gateway/dist/plugins-cli.d.ts.map +1 -1
- package/packages/gateway/dist/plugins-cli.js +11 -4
- package/packages/gateway/dist/plugins-cli.js.map +1 -1
- package/packages/gateway/dist/provider-accounts.d.ts.map +1 -1
- package/packages/gateway/dist/provider-accounts.js +22 -13
- package/packages/gateway/dist/provider-accounts.js.map +1 -1
- package/packages/gateway/dist/reminders-cli.d.ts +3 -1
- package/packages/gateway/dist/reminders-cli.d.ts.map +1 -1
- package/packages/gateway/dist/reminders-cli.js +21 -2
- package/packages/gateway/dist/reminders-cli.js.map +1 -1
- package/packages/gateway/dist/serve.d.ts +2 -0
- package/packages/gateway/dist/serve.d.ts.map +1 -1
- package/packages/gateway/dist/serve.js +61 -13
- 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/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/approvals.d.ts +3 -3
- package/packages/gateway/dist/telegram/approvals.js +3 -3
- 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 +36 -0
- package/packages/gateway/dist/telegram/channel.d.ts.map +1 -0
- package/packages/gateway/dist/telegram/channel.js +71 -0
- package/packages/gateway/dist/telegram/channel.js.map +1 -0
- 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 +103 -291
- package/packages/gateway/dist/telegram/surface.js.map +1 -1
- package/packages/gateway/dist/web/config.js +3 -3
- package/packages/gateway/dist/web/http.d.ts +16 -3
- package/packages/gateway/dist/web/http.d.ts.map +1 -1
- package/packages/gateway/dist/web/http.js +39 -3
- package/packages/gateway/dist/web/http.js.map +1 -1
- package/packages/gateway/dist/web/notifications.d.ts +36 -0
- package/packages/gateway/dist/web/notifications.d.ts.map +1 -0
- package/packages/gateway/dist/web/notifications.js +63 -0
- package/packages/gateway/dist/web/notifications.js.map +1 -0
- package/packages/gateway/dist/web/onboarding.d.ts +1 -1
- package/packages/gateway/dist/web/onboarding.d.ts.map +1 -1
- package/packages/gateway/dist/web/onboarding.js +5 -1
- package/packages/gateway/dist/web/onboarding.js.map +1 -1
- package/packages/gateway/dist/web/read.js +3 -3
- 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 +54 -23
- 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/gateway/dist/web/version.d.ts +1 -0
- package/packages/gateway/dist/web/version.d.ts.map +1 -1
- package/packages/gateway/dist/web/version.js +2 -1
- package/packages/gateway/dist/web/version.js.map +1 -1
- package/packages/gateway/dist/web/write.js +1 -1
- package/packages/install/dist/.tsbuildinfo +1 -1
- package/packages/install/dist/environment.d.ts +29 -0
- package/packages/install/dist/environment.d.ts.map +1 -1
- package/packages/install/dist/environment.js +50 -1
- package/packages/install/dist/environment.js.map +1 -1
- package/packages/install/dist/launcher.d.ts +3 -1
- package/packages/install/dist/launcher.d.ts.map +1 -1
- package/packages/install/dist/launcher.js +220 -14
- 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/install/dist/upgrade.d.ts +16 -3
- package/packages/install/dist/upgrade.d.ts.map +1 -1
- package/packages/install/dist/upgrade.js +21 -7
- package/packages/install/dist/upgrade.js.map +1 -1
- package/packages/runtime/dist/.tsbuildinfo +1 -1
- package/packages/runtime/dist/anthropic.d.ts +35 -2
- package/packages/runtime/dist/anthropic.d.ts.map +1 -1
- package/packages/runtime/dist/anthropic.js +36 -12
- package/packages/runtime/dist/anthropic.js.map +1 -1
- package/packages/runtime/dist/context-window.d.ts.map +1 -1
- package/packages/runtime/dist/context-window.js +5 -2
- package/packages/runtime/dist/context-window.js.map +1 -1
- package/packages/runtime/dist/delegate.js +1 -1
- package/packages/runtime/dist/loop.d.ts +13 -1
- package/packages/runtime/dist/loop.d.ts.map +1 -1
- package/packages/runtime/dist/loop.js +70 -3
- package/packages/runtime/dist/loop.js.map +1 -1
- package/packages/runtime/dist/openai.d.ts.map +1 -1
- package/packages/runtime/dist/openai.js +26 -8
- package/packages/runtime/dist/openai.js.map +1 -1
- package/packages/tools/artifacts/dist/.tsbuildinfo +1 -1
- package/packages/tools/artifacts/dist/index.d.ts +1 -1
- package/packages/tools/browser/dist/.tsbuildinfo +1 -1
- package/packages/tools/browser/dist/availability.d.ts +34 -8
- package/packages/tools/browser/dist/availability.d.ts.map +1 -1
- package/packages/tools/browser/dist/availability.js +44 -5
- package/packages/tools/browser/dist/availability.js.map +1 -1
- package/packages/tools/browser/dist/controller.d.ts +2 -2
- package/packages/tools/browser/dist/controller.d.ts.map +1 -1
- package/packages/tools/browser/dist/controller.js +7 -6
- package/packages/tools/browser/dist/controller.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 +5 -1
- package/packages/tools/browser/dist/host.js.map +1 -1
- package/packages/tools/browser/dist/index.d.ts +2 -2
- package/packages/tools/browser/dist/index.d.ts.map +1 -1
- package/packages/tools/browser/dist/index.js +13 -5
- 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 +12 -2
- 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/channel.d.ts +43 -0
- package/packages/tools/email/dist/channel.d.ts.map +1 -0
- package/packages/tools/email/dist/channel.js +99 -0
- package/packages/tools/email/dist/channel.js.map +1 -0
- package/packages/tools/email/dist/index.d.ts +1 -0
- package/packages/tools/email/dist/index.d.ts.map +1 -1
- package/packages/tools/email/dist/index.js +8 -1
- package/packages/tools/email/dist/index.js.map +1 -1
- package/packages/tools/email/dist/ports.d.ts +3 -3
- package/packages/tools/email/dist/ports.js +1 -1
- package/packages/tools/email/dist/tools/drafts.d.ts +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/email/dist/tools/send.js +1 -1
- package/packages/tools/email/migrations/001_email.sql +3 -2
- package/packages/tools/email/package.json +2 -1
- package/packages/tools/host/dist/.tsbuildinfo +1 -1
- package/packages/tools/memory/dist/.tsbuildinfo +1 -1
- package/packages/tools/memory/dist/index.js +1 -1
- package/packages/tools/memory/migrations/001_memory.sql +1 -1
- package/packages/tools/web/dist/.tsbuildinfo +1 -1
- package/packages/web/dist/assets/dm-mono-latin-400-normal--0xN8mdc.woff +0 -0
- package/packages/web/dist/assets/dm-mono-latin-400-normal-4GdczIuU.woff2 +0 -0
- package/packages/web/dist/assets/dm-mono-latin-500-normal-CN8Miw6E.woff +0 -0
- package/packages/web/dist/assets/dm-mono-latin-500-normal-DRMDZjhP.woff2 +0 -0
- package/packages/web/dist/assets/dm-mono-latin-ext-400-normal-1aZr6b2b.woff +0 -0
- package/packages/web/dist/assets/dm-mono-latin-ext-400-normal-C2zvOubV.woff2 +0 -0
- package/packages/web/dist/assets/dm-mono-latin-ext-500-normal-BtRyHRi6.woff2 +0 -0
- package/packages/web/dist/assets/dm-mono-latin-ext-500-normal-Dw3M13d8.woff +0 -0
- package/packages/web/dist/assets/dm-sans-latin-ext-standard-italic-DNX9AbKj.woff2 +0 -0
- package/packages/web/dist/assets/dm-sans-latin-ext-standard-normal-oos9povj.woff2 +0 -0
- package/packages/web/dist/assets/dm-sans-latin-standard-italic-C8i6y2Ft.woff2 +0 -0
- package/packages/web/dist/assets/dm-sans-latin-standard-normal-Bf69Tn_J.woff2 +0 -0
- package/packages/web/dist/assets/index-B727JQsO.css +1 -0
- package/packages/web/dist/assets/index-OA0xgibo.js +123 -0
- package/packages/web/dist/index.html +2 -2
- package/packages/web/dist/assets/index-CxaF2koC.js +0 -122
- package/packages/web/dist/assets/index-DEho_xyR.css +0 -1
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This machine's system notification as a channel (docs/notifications.md).
|
|
3
|
+
*
|
|
4
|
+
* macOS: `terminal-notifier` when it is installed, because a click on it can
|
|
5
|
+
* open the dashboard; otherwise `osascript`'s `display notification`, which
|
|
6
|
+
* shows and opens nothing. Linux: `notify-send`, when it exists and there is
|
|
7
|
+
* a display to show on. Anywhere else there is nothing to show, so no channel
|
|
8
|
+
* is made and Settings never lists one.
|
|
9
|
+
*
|
|
10
|
+
* The service runs as a user LaunchAgent on macOS, which is in the owner's
|
|
11
|
+
* GUI session: `osascript -e 'display notification …'` works there without a
|
|
12
|
+
* TTY. A LaunchDaemon (root, no session) could not, and buddi installs none.
|
|
13
|
+
*
|
|
14
|
+
* Nothing leaves the machine. Routing already sends a `now` message here only
|
|
15
|
+
* when the owner is away from the dashboard or after the 10-minute wait, so
|
|
16
|
+
* this module checks nothing more.
|
|
17
|
+
*/
|
|
18
|
+
import { execFile } from 'node:child_process';
|
|
19
|
+
import { accessSync, constants } from 'node:fs';
|
|
20
|
+
import path from 'node:path';
|
|
21
|
+
/** How long one notification may take before it is refused. */
|
|
22
|
+
export const LOCAL_NOTIFY_TIMEOUT_MS = 5_000;
|
|
23
|
+
/** The longest text shown; a system notification is a line or two. */
|
|
24
|
+
export const LOCAL_NOTIFY_MAX_CHARS = 200;
|
|
25
|
+
/** `execFile` with a timeout, answering instead of throwing. */
|
|
26
|
+
export const execCommand = (file, args, opts) => new Promise((resolve) => {
|
|
27
|
+
execFile(file, [...args], { timeout: opts.timeoutMs, windowsHide: true }, (err, _stdout, stderr) => {
|
|
28
|
+
const text = String(stderr ?? '');
|
|
29
|
+
if (!err)
|
|
30
|
+
return resolve({ code: 0, stderr: text });
|
|
31
|
+
const e = err;
|
|
32
|
+
if (e.killed)
|
|
33
|
+
return resolve({ code: null, stderr: text, error: `it took longer than ${opts.timeoutMs / 1000} s` });
|
|
34
|
+
if (typeof e.code === 'number')
|
|
35
|
+
return resolve({ code: e.code, stderr: text });
|
|
36
|
+
resolve({ code: null, stderr: text, error: e.message });
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
/** A binary on PATH (and, on macOS, where Homebrew puts it: a service's PATH may lack it). */
|
|
40
|
+
export function whichOn(env, platform) {
|
|
41
|
+
const dirs = (env.PATH ?? '').split(path.delimiter).filter(Boolean);
|
|
42
|
+
if (platform === 'darwin')
|
|
43
|
+
dirs.push('/opt/homebrew/bin', '/usr/local/bin', '/usr/bin');
|
|
44
|
+
return (bin) => {
|
|
45
|
+
for (const dir of dirs) {
|
|
46
|
+
const full = path.join(dir, bin);
|
|
47
|
+
try {
|
|
48
|
+
accessSync(full, constants.X_OK);
|
|
49
|
+
return full;
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
// not here
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return null;
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
/** One line, at most `max` characters, cut with an ellipsis. */
|
|
59
|
+
export function oneLine(text, max = LOCAL_NOTIFY_MAX_CHARS) {
|
|
60
|
+
const flat = text.replace(/\s+/g, ' ').trim();
|
|
61
|
+
return flat.length <= max ? flat : `${flat.slice(0, max - 1).trimEnd()}…`;
|
|
62
|
+
}
|
|
63
|
+
/** An AppleScript string literal's inside: backslashes and quotes escaped. */
|
|
64
|
+
export function appleScriptString(text) {
|
|
65
|
+
return text.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
|
|
66
|
+
}
|
|
67
|
+
/** The first line of a command's stderr, or what is known instead. */
|
|
68
|
+
function reasonOf(what, result) {
|
|
69
|
+
const line = result.stderr.split('\n').map((l) => l.trim()).find(Boolean);
|
|
70
|
+
if (line)
|
|
71
|
+
return `${what}: ${line}`;
|
|
72
|
+
if (result.error)
|
|
73
|
+
return `${what} did not run: ${result.error}`;
|
|
74
|
+
return `${what} exited with code ${result.code}`;
|
|
75
|
+
}
|
|
76
|
+
/** Title and body as the notification shows them. With no text, the title is the body. */
|
|
77
|
+
function parts(message) {
|
|
78
|
+
const text = message.text?.trim();
|
|
79
|
+
return text
|
|
80
|
+
? { title: oneLine(message.title, 120), body: oneLine(text) }
|
|
81
|
+
: { title: oneLine(message.title), body: null };
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* The channel for this machine, or null when it has nothing to show on.
|
|
85
|
+
* The command is picked once, when the channel is made.
|
|
86
|
+
*/
|
|
87
|
+
export function createLocalNotificationChannel(opts = {}) {
|
|
88
|
+
const platform = opts.platform ?? process.platform;
|
|
89
|
+
const env = opts.env ?? process.env;
|
|
90
|
+
const exec = opts.exec ?? execCommand;
|
|
91
|
+
const which = opts.which ?? whichOn(env, platform);
|
|
92
|
+
const run = async (what, file, args) => {
|
|
93
|
+
let result;
|
|
94
|
+
try {
|
|
95
|
+
result = await exec(file, args, { timeoutMs: LOCAL_NOTIFY_TIMEOUT_MS });
|
|
96
|
+
}
|
|
97
|
+
catch (err) {
|
|
98
|
+
result = { code: null, stderr: '', error: err instanceof Error ? err.message : String(err) };
|
|
99
|
+
}
|
|
100
|
+
return result.code === 0 ? { id: 'local' } : { refused: reasonOf(what, result) };
|
|
101
|
+
};
|
|
102
|
+
const base = {
|
|
103
|
+
kind: 'local.notification',
|
|
104
|
+
can: { offers: false, attachments: false, markdown: false },
|
|
105
|
+
// After Telegram, before a plugin's: nothing leaves the machine.
|
|
106
|
+
priority: 10,
|
|
107
|
+
};
|
|
108
|
+
if (platform === 'darwin') {
|
|
109
|
+
const notifier = which('terminal-notifier');
|
|
110
|
+
if (notifier) {
|
|
111
|
+
return {
|
|
112
|
+
...base,
|
|
113
|
+
describe: () => ({ label: 'System notification', where: 'shows on this Mac; a click opens the dashboard' }),
|
|
114
|
+
async deliver(message) {
|
|
115
|
+
const { title, body } = parts(message);
|
|
116
|
+
const args = ['-title', 'buddi', ...(body ? ['-subtitle', title, '-message', body] : ['-message', title]), '-group', `buddi-${message.id}`];
|
|
117
|
+
const url = opts.dashboardUrl?.(message.link?.route ?? '');
|
|
118
|
+
if (url)
|
|
119
|
+
args.push('-open', url);
|
|
120
|
+
return run('terminal-notifier', notifier, args);
|
|
121
|
+
},
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
const osascript = which('osascript');
|
|
125
|
+
if (!osascript)
|
|
126
|
+
return null;
|
|
127
|
+
return {
|
|
128
|
+
...base,
|
|
129
|
+
describe: () => ({ label: 'System notification', where: 'shows on this Mac; opens nothing' }),
|
|
130
|
+
async deliver(message) {
|
|
131
|
+
const { title, body } = parts(message);
|
|
132
|
+
const script = body
|
|
133
|
+
? `display notification "${appleScriptString(body)}" with title "buddi" subtitle "${appleScriptString(title)}"`
|
|
134
|
+
: `display notification "${appleScriptString(title)}" with title "buddi"`;
|
|
135
|
+
return run('osascript', osascript, ['-e', script]);
|
|
136
|
+
},
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
if (platform === 'linux') {
|
|
140
|
+
const notifySend = which('notify-send');
|
|
141
|
+
if (!notifySend || !(env.DISPLAY?.trim() || env.WAYLAND_DISPLAY?.trim()))
|
|
142
|
+
return null;
|
|
143
|
+
return {
|
|
144
|
+
...base,
|
|
145
|
+
describe: () => ({ label: 'System notification', where: 'shows on this computer; opens nothing' }),
|
|
146
|
+
async deliver(message) {
|
|
147
|
+
const { title, body } = parts(message);
|
|
148
|
+
return run('notify-send', notifySend, [`buddi: ${title}`, ...(body ? [body] : [])]);
|
|
149
|
+
},
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
return null;
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=local-notification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-notification.js","sourceRoot":"","sources":["../../src/channels/local-notification.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Approvals in the terminal.
|
|
3
3
|
*
|
|
4
|
-
* The rule
|
|
5
|
-
* owner decides, core moves the row, and the
|
|
6
|
-
* runs the effect. So this file is deliberately thin — it calls exactly the
|
|
4
|
+
* The rule in docs/architecture.md ("Actions and approvals") does not change
|
|
5
|
+
* because the surface did: the owner decides, core moves the row, and the
|
|
6
|
+
* Executor is the only thing that runs the effect. So this file is deliberately thin — it calls exactly the
|
|
7
7
|
* functions the Telegram surface calls, in exactly the same order:
|
|
8
8
|
*
|
|
9
9
|
* decideApproval → executeApproved → resumeJobForAction
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Approvals in the terminal.
|
|
3
3
|
*
|
|
4
|
-
* The rule
|
|
5
|
-
* owner decides, core moves the row, and the
|
|
6
|
-
* runs the effect. So this file is deliberately thin — it calls exactly the
|
|
4
|
+
* The rule in docs/architecture.md ("Actions and approvals") does not change
|
|
5
|
+
* because the surface did: the owner decides, core moves the row, and the
|
|
6
|
+
* Executor is the only thing that runs the effect. So this file is deliberately thin — it calls exactly the
|
|
7
7
|
* functions the Telegram surface calls, in exactly the same order:
|
|
8
8
|
*
|
|
9
9
|
* decideApproval → executeApproved → resumeJobForAction
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/chat/usage.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,EAAE,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/chat/usage.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,EAAE,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAiB9E,CAAC;AAEF,0EAA0E;AAC1E,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAQ5E;AAED,uFAAuF;AACvF,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIlD;AAED,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,mDAAmD;AACnD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;;OAQG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,qBAAa,WAAW;;IAKtB,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,MAAM,IAAI,UAAU,EAAE,CAEzB;IAED,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED,IAAI,MAAM,IAAI,KAAK,CASlB;IAED,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAiBvE,0BAA0B;IAC1B,IAAI,IAAI,MAAM;CA4Bf"}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
export const PRICES = [
|
|
9
9
|
{ prefix: 'claude-fable-5', input: 10, output: 50 },
|
|
10
10
|
{ prefix: 'claude-mythos-5', input: 10, output: 50 },
|
|
11
|
+
{ prefix: 'claude-opus-5-5', input: 4, output: 20 },
|
|
11
12
|
{ prefix: 'claude-opus-5', input: 5, output: 25 },
|
|
12
13
|
{ prefix: 'claude-opus-4-8', input: 5, output: 25 },
|
|
13
14
|
{ prefix: 'claude-opus-4-7', input: 5, output: 25 },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/chat/usage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/chat/usage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { type ActionRecord } from '@buddi/core';
|
|
3
|
+
import type { ApprovalResume } from '@buddi/runtime';
|
|
2
4
|
import { type TerminalStyle } from './chat/terminal.js';
|
|
3
5
|
export type ParsedArgs = {
|
|
4
6
|
command: 'chat' | 'ask' | 'agents' | 'help';
|
|
@@ -9,7 +11,17 @@ export type ParsedArgs = {
|
|
|
9
11
|
last: boolean;
|
|
10
12
|
/** `--quiet`: suppress the per-run footer. Absent means "show it". */
|
|
11
13
|
quiet?: boolean;
|
|
14
|
+
/** `ask --json`: one object on stdout instead of the answer's text. */
|
|
15
|
+
json?: boolean;
|
|
16
|
+
/** `ask --file <path>`, repeatable: stored in the library, sent with the question. */
|
|
17
|
+
files?: string[];
|
|
18
|
+
/** `ask --wait <seconds>`: how long to wait for an approval given elsewhere. */
|
|
19
|
+
waitSeconds?: number;
|
|
12
20
|
};
|
|
21
|
+
/** An approval the run stopped on, polled every this often under `--wait`. */
|
|
22
|
+
export declare const WAIT_POLL_MS = 2000;
|
|
23
|
+
/** What `ask` says when it stops for an approval. */
|
|
24
|
+
export declare function approvalStopText(actionId: string, conversationId: string): string;
|
|
13
25
|
export declare function parseArgs(argv: string[]): ParsedArgs;
|
|
14
26
|
/** Where the prompt remembers what was typed. Beside every other artifact. */
|
|
15
27
|
export declare function historyFile(env?: NodeJS.ProcessEnv): string;
|
|
@@ -45,4 +57,6 @@ export declare function shouldPage(text: string, style: TerminalStyle, rows: num
|
|
|
45
57
|
* calls this function instead of re-implementing it.
|
|
46
58
|
*/
|
|
47
59
|
export declare function main(argv?: string[]): Promise<void>;
|
|
60
|
+
/** How a decided action wakes the run that stopped on it. */
|
|
61
|
+
export declare function approvalResumeFrom(action: ActionRecord): ApprovalResume;
|
|
48
62
|
//# sourceMappingURL=cli.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AA4BA,OAAO,EAML,KAAK,YAAY,EAElB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,cAAc,EAAiB,MAAM,gBAAgB,CAAC;AAepE,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AA2B7E,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,sEAAsE;IACtE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uEAAuE;IACvE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,sFAAsF;IACtF,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,YAAY,OAAQ,CAAC;AAElC,qDAAqD;AACrD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAKjF;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAyCpD;AAiBD,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAExE;AAED,wEAAwE;AACxE,eAAO,MAAM,aAAa,OAAO,CAAC;AAElC;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAWlD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAQ1E;AAMD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE;IACjC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAwCvC;AAMD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAIpF;AAoBD;;;;GAIG;AACH,wBAAsB,IAAI,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAwHhF;AAaD,6DAA6D;AAC7D,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,CASvE"}
|
|
@@ -24,8 +24,9 @@ import { homedir } from 'node:os';
|
|
|
24
24
|
import path from 'node:path';
|
|
25
25
|
import readline from 'node:readline/promises';
|
|
26
26
|
import { spawn } from 'node:child_process';
|
|
27
|
+
import { randomUUID } from 'node:crypto';
|
|
27
28
|
import { fileURLToPath } from 'node:url';
|
|
28
|
-
import { resolveDataDir, CLI_SURFACE, UnknownAgentError, } from '@buddi/core';
|
|
29
|
+
import { getAction, resolveDataDir, CLI_SURFACE, TERMINAL_STATES, UnknownAgentError, } from '@buddi/core';
|
|
29
30
|
import { failedTurnReply } from './surfaces/failure.js';
|
|
30
31
|
import { createConversation, runAgent } from '@buddi/runtime';
|
|
31
32
|
import { nativeSearchRecorder } from '@buddi/tool-web';
|
|
@@ -41,6 +42,7 @@ import { ChatSession, QUIET_UNAVAILABLE_TEXT } from './chat/session.js';
|
|
|
41
42
|
import { Spinner, silentSpinner } from './chat/spinner.js';
|
|
42
43
|
import { bold, dim, styleFor } from './chat/terminal.js';
|
|
43
44
|
import { describeDatabaseError } from './db-ready.js';
|
|
45
|
+
import { attachFile } from './chat/attach.js';
|
|
44
46
|
import { createInlineMissionRunner } from './missions/inline.js';
|
|
45
47
|
import { createEngagementHooks } from './missions/engagement.js';
|
|
46
48
|
import { recapMissionId } from './missions/recap.js';
|
|
@@ -56,12 +58,20 @@ const USAGE = `buddi — your personal agents
|
|
|
56
58
|
buddi ask "<question>" one turn, then exit
|
|
57
59
|
buddi ask "<question>" --agent <handle>
|
|
58
60
|
buddi ask "<question>" --resume <id>
|
|
61
|
+
buddi ask "<question>" --file <path> --wait <seconds> --json
|
|
59
62
|
buddi agents every agent, its engine and whether it can run
|
|
60
63
|
buddi agents show <handle> | set <handle> [--provider p] [--model m]
|
|
61
64
|
buddi agents models | test <handle>
|
|
62
65
|
|
|
63
66
|
In chat: /help lists every command. Exit codes for ask: 0 answered, 1 failed,
|
|
64
|
-
2 stopped awaiting your approval.`;
|
|
67
|
+
2 usage, 3 stopped awaiting your approval (or no database, or no such agent).`;
|
|
68
|
+
/** An approval the run stopped on, polled every this often under `--wait`. */
|
|
69
|
+
export const WAIT_POLL_MS = 2_000;
|
|
70
|
+
/** What `ask` says when it stops for an approval. */
|
|
71
|
+
export function approvalStopText(actionId, conversationId) {
|
|
72
|
+
return (`This run is waiting for your approval (action ${actionId}).\n` +
|
|
73
|
+
`Approve it on the dashboard or Telegram, then run buddi ask again with --resume ${conversationId}`);
|
|
74
|
+
}
|
|
65
75
|
export function parseArgs(argv) {
|
|
66
76
|
const [raw, ...rest] = argv;
|
|
67
77
|
const command = raw === 'chat' ? 'chat' : raw === 'ask' ? 'ask' : raw === 'agents' ? 'agents' : 'help';
|
|
@@ -90,6 +100,21 @@ export function parseArgs(argv) {
|
|
|
90
100
|
else if (arg === '--quiet' || arg === '-q') {
|
|
91
101
|
parsed.quiet = true;
|
|
92
102
|
}
|
|
103
|
+
else if (arg === '--json' && command === 'ask') {
|
|
104
|
+
parsed.json = true;
|
|
105
|
+
}
|
|
106
|
+
else if (arg === '--file' && command === 'ask') {
|
|
107
|
+
const value = rest[++i];
|
|
108
|
+
if (!value)
|
|
109
|
+
throw new Error('--file needs a path');
|
|
110
|
+
parsed.files = [...(parsed.files ?? []), value];
|
|
111
|
+
}
|
|
112
|
+
else if (arg === '--wait' && command === 'ask') {
|
|
113
|
+
const value = Number(rest[++i]);
|
|
114
|
+
if (!Number.isFinite(value) || value <= 0)
|
|
115
|
+
throw new Error('--wait needs a number of seconds');
|
|
116
|
+
parsed.waitSeconds = value;
|
|
117
|
+
}
|
|
93
118
|
else if (arg.startsWith('--')) {
|
|
94
119
|
throw new Error(`unknown option: ${arg}`);
|
|
95
120
|
}
|
|
@@ -245,7 +270,7 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
245
270
|
}
|
|
246
271
|
catch (err) {
|
|
247
272
|
console.error(err instanceof Error ? err.message : String(err));
|
|
248
|
-
process.exit(
|
|
273
|
+
process.exit(2);
|
|
249
274
|
}
|
|
250
275
|
if (args.command === 'help') {
|
|
251
276
|
console.log(USAGE);
|
|
@@ -253,9 +278,16 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
253
278
|
}
|
|
254
279
|
await loadEnvironment();
|
|
255
280
|
const style = styleFor(process.env, process.stdout);
|
|
256
|
-
|
|
281
|
+
// A script pipes its question in: `echo "…" | buddi ask`.
|
|
282
|
+
if (args.command === 'ask' && !args.question && process.stdin.isTTY !== true) {
|
|
283
|
+
const piped = (await readStdin()).trim();
|
|
284
|
+
if (piped !== '')
|
|
285
|
+
args.question = piped;
|
|
286
|
+
}
|
|
287
|
+
// With no question, `--resume` finishes a run that stopped for an approval.
|
|
288
|
+
if (args.command === 'ask' && !args.question && !args.resume) {
|
|
257
289
|
console.error('buddi ask needs a question: buddi ask "can I afford a bike?"');
|
|
258
|
-
process.exit(
|
|
290
|
+
process.exit(2);
|
|
259
291
|
}
|
|
260
292
|
/*
|
|
261
293
|
* The composition root, vault included. `createWiringAsync` hydrates the
|
|
@@ -269,9 +301,9 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
269
301
|
}
|
|
270
302
|
catch (err) {
|
|
271
303
|
// A person is waiting at a prompt: fail fast, with the sentence that says
|
|
272
|
-
// what to do about it.
|
|
304
|
+
// what to do about it. No database is something to fix first: 3.
|
|
273
305
|
console.error(describeDatabaseError(err, process.env.DATABASE_URL));
|
|
274
|
-
process.exit(
|
|
306
|
+
process.exit(3);
|
|
275
307
|
}
|
|
276
308
|
const { pool, registry, catalog, now, timezone, ctx } = wiring;
|
|
277
309
|
// Fails closed: an unknown --agent is never coerced into the default. A
|
|
@@ -284,7 +316,7 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
284
316
|
if (err instanceof UnknownAgentError) {
|
|
285
317
|
console.error(err.message);
|
|
286
318
|
console.error(`agents live in ${AGENTS_DIR}; run "buddi agents" to list them`);
|
|
287
|
-
process.exit(
|
|
319
|
+
process.exit(3);
|
|
288
320
|
}
|
|
289
321
|
throw err;
|
|
290
322
|
}
|
|
@@ -292,8 +324,8 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
292
324
|
// The *selected* agent's provider, not the process's: an agent pinned to
|
|
293
325
|
// another provider is run on that provider or not at all.
|
|
294
326
|
if (!selected.available) {
|
|
295
|
-
console.error(`@${selected.handle} cannot run: ${selected.unavailableReason}. Configure its account in dashboard Providers.`);
|
|
296
|
-
process.exit(
|
|
327
|
+
console.error(`@${selected.handle} cannot run: ${String(selected.unavailableReason).replace(/\.$/, '')}. Configure its account in dashboard Providers.`);
|
|
328
|
+
process.exit(3);
|
|
297
329
|
}
|
|
298
330
|
// The cause chain of every failed attempt, on stderr. At a terminal that is
|
|
299
331
|
// where an operator looks, and it is the only record `buddi chat` keeps.
|
|
@@ -325,6 +357,9 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
325
357
|
wiring,
|
|
326
358
|
provider,
|
|
327
359
|
memoryPreamble,
|
|
360
|
+
json: args.json === true,
|
|
361
|
+
files: args.files ?? [],
|
|
362
|
+
waitSeconds: args.waitSeconds,
|
|
328
363
|
});
|
|
329
364
|
return;
|
|
330
365
|
}
|
|
@@ -339,33 +374,166 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
339
374
|
/* ------------------------------------------------------------------ *
|
|
340
375
|
* ask — one turn, for a script
|
|
341
376
|
* ------------------------------------------------------------------ */
|
|
377
|
+
/** All of stdin, for a question piped in. */
|
|
378
|
+
async function readStdin() {
|
|
379
|
+
const chunks = [];
|
|
380
|
+
for await (const chunk of process.stdin)
|
|
381
|
+
chunks.push(Buffer.from(chunk));
|
|
382
|
+
return Buffer.concat(chunks).toString('utf8');
|
|
383
|
+
}
|
|
384
|
+
/** How a decided action wakes the run that stopped on it. */
|
|
385
|
+
export function approvalResumeFrom(action) {
|
|
386
|
+
const outcome = (action.outcome ?? {});
|
|
387
|
+
return {
|
|
388
|
+
actionId: action.id,
|
|
389
|
+
tool: action.tool,
|
|
390
|
+
state: action.state,
|
|
391
|
+
...(outcome.result === undefined ? {} : { result: outcome.result }),
|
|
392
|
+
...(typeof outcome.error === 'string' ? { error: outcome.error } : {}),
|
|
393
|
+
};
|
|
394
|
+
}
|
|
395
|
+
/**
|
|
396
|
+
* The action a conversation's last run stopped on, once it is decided and not
|
|
397
|
+
* yet taken up again. Only actions that belong to no queue job: those the
|
|
398
|
+
* queue wakes on its own.
|
|
399
|
+
*/
|
|
400
|
+
async function decidedButNotResumed(pool, conversationId) {
|
|
401
|
+
const { rows } = await pool.query(`select a.id from core.actions a
|
|
402
|
+
where a.conversation_id = $1 and a.job_id is null
|
|
403
|
+
and not exists (
|
|
404
|
+
select 1 from core.events e
|
|
405
|
+
where e.kind = 'run.resumed' and e.conversation_id = a.conversation_id
|
|
406
|
+
and e.payload->>'actionId' = a.id::text)
|
|
407
|
+
order by a.created_at desc
|
|
408
|
+
limit 1`, [conversationId]);
|
|
409
|
+
const id = rows[0]?.id;
|
|
410
|
+
if (!id)
|
|
411
|
+
return undefined;
|
|
412
|
+
const action = await getAction(pool, id);
|
|
413
|
+
if (!action)
|
|
414
|
+
return undefined;
|
|
415
|
+
return { action, decided: TERMINAL_STATES.includes(action.state) };
|
|
416
|
+
}
|
|
417
|
+
/** Poll an action until it is decided, or the time is up. */
|
|
418
|
+
async function waitForDecision(pool, actionId, seconds) {
|
|
419
|
+
const deadline = Date.now() + seconds * 1000;
|
|
420
|
+
for (;;) {
|
|
421
|
+
const action = await getAction(pool, actionId);
|
|
422
|
+
if (action && TERMINAL_STATES.includes(action.state))
|
|
423
|
+
return action;
|
|
424
|
+
if (Date.now() >= deadline)
|
|
425
|
+
return undefined;
|
|
426
|
+
await new Promise((resolve) => setTimeout(resolve, Math.min(WAIT_POLL_MS, Math.max(0, deadline - Date.now()))));
|
|
427
|
+
}
|
|
428
|
+
}
|
|
342
429
|
/**
|
|
343
|
-
*
|
|
344
|
-
*
|
|
345
|
-
*
|
|
430
|
+
* `ask` — one turn, for a script.
|
|
431
|
+
*
|
|
432
|
+
* The answer on stdout (or one JSON object with `--json`), everything else on
|
|
433
|
+
* stderr, no spinner and no ANSI. Exit 0 answered, 1 failed, 3 stopped for an
|
|
434
|
+
* approval: with `--wait` the run waits for a decision made elsewhere and
|
|
435
|
+
* finishes; without it, the sentence says how to finish it later.
|
|
346
436
|
*/
|
|
347
437
|
async function ask(question, conversationId, deps) {
|
|
348
438
|
const { wiring } = deps;
|
|
349
|
-
|
|
439
|
+
const runId = randomUUID();
|
|
440
|
+
const startedAt = new Date();
|
|
441
|
+
if (!deps.json)
|
|
442
|
+
console.error(`conversation: ${conversationId}`);
|
|
443
|
+
const store = createCoreArtifactStore({ pool: wiring.pool, env: process.env });
|
|
444
|
+
const attachments = [];
|
|
445
|
+
for (const file of deps.files) {
|
|
446
|
+
try {
|
|
447
|
+
const saved = await attachFile(path.resolve(file), {
|
|
448
|
+
store,
|
|
449
|
+
readFile: (candidate) => readFile(candidate),
|
|
450
|
+
createdBy: wiring.ctx.ownerId,
|
|
451
|
+
});
|
|
452
|
+
attachments.push({
|
|
453
|
+
artifactId: saved.artifactId,
|
|
454
|
+
mime: saved.mime,
|
|
455
|
+
kind: saved.kind,
|
|
456
|
+
filename: saved.filename,
|
|
457
|
+
sizeBytes: saved.sizeBytes,
|
|
458
|
+
});
|
|
459
|
+
}
|
|
460
|
+
catch (err) {
|
|
461
|
+
console.error(`Could not attach ${file}: ${err instanceof Error ? err.message : String(err)}`);
|
|
462
|
+
process.exitCode = 1;
|
|
463
|
+
return;
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
// No question: finish the run this conversation stopped on, if it can be.
|
|
467
|
+
let resume;
|
|
468
|
+
if (question === undefined) {
|
|
469
|
+
const found = await decidedButNotResumed(wiring.pool, conversationId);
|
|
470
|
+
if (!found) {
|
|
471
|
+
console.error('Nothing in that conversation is waiting to be finished. Ask a question: buddi ask "…" --resume <id>.');
|
|
472
|
+
process.exitCode = 2;
|
|
473
|
+
return;
|
|
474
|
+
}
|
|
475
|
+
let action = found.action;
|
|
476
|
+
if (!found.decided) {
|
|
477
|
+
action = deps.waitSeconds === undefined ? undefined : await waitForDecision(wiring.pool, found.action.id, deps.waitSeconds);
|
|
478
|
+
if (!action) {
|
|
479
|
+
report({ text: '', pendingActionId: found.action.id });
|
|
480
|
+
return;
|
|
481
|
+
}
|
|
482
|
+
}
|
|
483
|
+
resume = approvalResumeFrom(action);
|
|
484
|
+
}
|
|
485
|
+
function report(result, artifacts = []) {
|
|
486
|
+
if (deps.json) {
|
|
487
|
+
console.log(JSON.stringify({
|
|
488
|
+
text: result.text,
|
|
489
|
+
runId,
|
|
490
|
+
conversationId,
|
|
491
|
+
artifacts,
|
|
492
|
+
...(result.pendingActionId ? { pendingActionId: result.pendingActionId } : {}),
|
|
493
|
+
}, null, 2));
|
|
494
|
+
}
|
|
495
|
+
else if (result.text !== '') {
|
|
496
|
+
console.log(result.text);
|
|
497
|
+
}
|
|
498
|
+
if (result.pendingActionId) {
|
|
499
|
+
console.error(`\n${approvalStopText(result.pendingActionId, conversationId)}`);
|
|
500
|
+
process.exitCode = 3;
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
const run = (turn) => runAgent({
|
|
504
|
+
agent: deps.agent.definition(wiring.now(), wiring.timezone),
|
|
505
|
+
provider: deps.provider,
|
|
506
|
+
registry: wiring.registry,
|
|
507
|
+
ctx: wiring.ctx,
|
|
508
|
+
pool: wiring.pool,
|
|
509
|
+
// The provider's own web search leaves the same audit row `web.search`
|
|
510
|
+
// does; see @buddi/tool-web's native.ts.
|
|
511
|
+
onNativeSearch: nativeSearchRecorder(wiring.pool),
|
|
512
|
+
conversationId,
|
|
513
|
+
runId,
|
|
514
|
+
...turn,
|
|
515
|
+
loadArtifact: (id) => store.load(id),
|
|
516
|
+
surface: CLI_SURFACE,
|
|
517
|
+
memoryPreamble: deps.memoryPreamble,
|
|
518
|
+
onToolCall: (name, input) => {
|
|
519
|
+
if (!deps.json)
|
|
520
|
+
console.error(`⚙ ${name} ${JSON.stringify(input)}`);
|
|
521
|
+
},
|
|
522
|
+
});
|
|
350
523
|
let result;
|
|
351
524
|
try {
|
|
352
|
-
result = await
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
memoryPreamble: deps.memoryPreamble,
|
|
365
|
-
onToolCall: (name, input) => {
|
|
366
|
-
console.error(`⚙ ${name} ${JSON.stringify(input)}`);
|
|
367
|
-
},
|
|
368
|
-
});
|
|
525
|
+
result = await run(resume
|
|
526
|
+
? { resume }
|
|
527
|
+
: { userMessage: question, ...(attachments.length > 0 ? { attachments } : {}) });
|
|
528
|
+
// `--wait`: the owner decides on another surface, and this run finishes.
|
|
529
|
+
while (result.stopped === 'awaiting-approval' && result.pendingActionId && deps.waitSeconds !== undefined) {
|
|
530
|
+
if (!deps.json)
|
|
531
|
+
console.error(`waiting up to ${deps.waitSeconds}s for your decision on action ${result.pendingActionId}`);
|
|
532
|
+
const decided = await waitForDecision(wiring.pool, result.pendingActionId, deps.waitSeconds);
|
|
533
|
+
if (!decided)
|
|
534
|
+
break;
|
|
535
|
+
result = await run({ resume: approvalResumeFrom(decided) });
|
|
536
|
+
}
|
|
369
537
|
}
|
|
370
538
|
catch (err) {
|
|
371
539
|
// A script still deserves the human sentence: `fetch failed` on stderr and
|
|
@@ -388,14 +556,17 @@ async function ask(question, conversationId, deps) {
|
|
|
388
556
|
process.exitCode = 1;
|
|
389
557
|
return;
|
|
390
558
|
}
|
|
559
|
+
// What the run made: files an agent saved in this conversation since it began.
|
|
560
|
+
const { rows } = await wiring.pool.query(`select id, filename from core.artifacts
|
|
561
|
+
where conversation_id = $1 and created_at >= $2 and created_by <> $3 and deleted_at is null
|
|
562
|
+
order by created_at`, [conversationId, startedAt, wiring.ctx.ownerId]);
|
|
563
|
+
const made = rows.map((r) => ({ id: String(r.id), filename: r.filename }));
|
|
391
564
|
// Safety net, not the mechanism: tool names are internal and nothing asks the
|
|
392
565
|
// model to print one. This catches the answer of a model that did anyway.
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
process.exitCode = 2;
|
|
398
|
-
}
|
|
566
|
+
report({
|
|
567
|
+
text: stripToolNames(result.text),
|
|
568
|
+
...(result.stopped === 'awaiting-approval' && result.pendingActionId ? { pendingActionId: result.pendingActionId } : {}),
|
|
569
|
+
}, made);
|
|
399
570
|
}
|
|
400
571
|
/* ------------------------------------------------------------------ *
|
|
401
572
|
* chat — the REPL
|