@withbuddi/buddi 0.1.0-pre.21 → 0.1.0-pre.22
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/node_modules/@buddi/cli/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/cli/dist/commands.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/commands.js +5 -2
- package/node_modules/@buddi/cli/dist/commands.js.map +1 -1
- package/node_modules/@buddi/core/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/core/dist/actions/permissions.d.ts +14 -0
- package/node_modules/@buddi/core/dist/actions/permissions.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/actions/permissions.js +15 -0
- package/node_modules/@buddi/core/dist/actions/permissions.js.map +1 -1
- package/node_modules/@buddi/core/dist/agents/catalog.d.ts +12 -1
- package/node_modules/@buddi/core/dist/agents/catalog.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/agents/catalog.js +57 -6
- package/node_modules/@buddi/core/dist/agents/catalog.js.map +1 -1
- package/node_modules/@buddi/core/dist/agents/delegates.d.ts +54 -0
- package/node_modules/@buddi/core/dist/agents/delegates.d.ts.map +1 -0
- package/node_modules/@buddi/core/dist/agents/delegates.js +51 -0
- package/node_modules/@buddi/core/dist/agents/delegates.js.map +1 -0
- package/node_modules/@buddi/core/dist/agents/index.d.ts +1 -0
- package/node_modules/@buddi/core/dist/agents/index.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/agents/index.js +1 -0
- package/node_modules/@buddi/core/dist/agents/index.js.map +1 -1
- package/node_modules/@buddi/core/dist/host/build.d.ts +26 -5
- package/node_modules/@buddi/core/dist/host/build.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/host/build.js +72 -0
- package/node_modules/@buddi/core/dist/host/build.js.map +1 -1
- package/node_modules/@buddi/core/dist/host/types.d.ts +67 -5
- 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/json-schema.d.ts +32 -0
- package/node_modules/@buddi/core/dist/json-schema.d.ts.map +1 -0
- package/node_modules/@buddi/core/dist/json-schema.js +147 -0
- package/node_modules/@buddi/core/dist/json-schema.js.map +1 -0
- package/node_modules/@buddi/core/dist/learning/sources.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/learning/sources.js +3 -0
- package/node_modules/@buddi/core/dist/learning/sources.js.map +1 -1
- package/node_modules/@buddi/core/dist/learning/types.d.ts +4 -3
- package/node_modules/@buddi/core/dist/learning/types.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/learning/types.js +1 -1
- package/node_modules/@buddi/core/dist/learning/types.js.map +1 -1
- package/node_modules/@buddi/core/dist/notifications/index.d.ts +1 -0
- package/node_modules/@buddi/core/dist/notifications/index.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/notifications/index.js +1 -0
- package/node_modules/@buddi/core/dist/notifications/index.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 +47 -5
- package/node_modules/@buddi/core/dist/notifications/notify.js.map +1 -1
- package/node_modules/@buddi/core/dist/notifications/store.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/notifications/store.js +3 -1
- package/node_modules/@buddi/core/dist/notifications/store.js.map +1 -1
- package/node_modules/@buddi/core/dist/notifications/topic.d.ts +25 -0
- package/node_modules/@buddi/core/dist/notifications/topic.d.ts.map +1 -0
- package/node_modules/@buddi/core/dist/notifications/topic.js +116 -0
- package/node_modules/@buddi/core/dist/notifications/topic.js.map +1 -0
- package/node_modules/@buddi/core/dist/notifications/types.d.ts +4 -0
- package/node_modules/@buddi/core/dist/notifications/types.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/onboarding/language-tag.d.ts +12 -0
- package/node_modules/@buddi/core/dist/onboarding/language-tag.d.ts.map +1 -0
- package/node_modules/@buddi/core/dist/onboarding/language-tag.js +64 -0
- package/node_modules/@buddi/core/dist/onboarding/language-tag.js.map +1 -0
- package/node_modules/@buddi/core/dist/pages/__fixtures__/demo.d.ts +11 -0
- package/node_modules/@buddi/core/dist/pages/__fixtures__/demo.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/pages/__fixtures__/demo.js +23 -1
- package/node_modules/@buddi/core/dist/pages/__fixtures__/demo.js.map +1 -1
- package/node_modules/@buddi/core/dist/pages.d.ts +19 -0
- package/node_modules/@buddi/core/dist/pages.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/pages.js +13 -0
- package/node_modules/@buddi/core/dist/pages.js.map +1 -1
- package/node_modules/@buddi/core/dist/plugin/index.d.ts +4 -3
- package/node_modules/@buddi/core/dist/plugin/index.d.ts.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-accounts.d.ts +31 -0
- package/node_modules/@buddi/core/dist/provider-accounts.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/registry.d.ts +37 -1
- package/node_modules/@buddi/core/dist/registry.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/registry.js +187 -32
- package/node_modules/@buddi/core/dist/registry.js.map +1 -1
- package/node_modules/@buddi/core/dist/secrets/scrub.d.ts +2 -0
- package/node_modules/@buddi/core/dist/secrets/scrub.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/secrets/scrub.js +29 -0
- package/node_modules/@buddi/core/dist/secrets/scrub.js.map +1 -1
- package/node_modules/@buddi/core/dist/tools.d.ts +36 -1
- package/node_modules/@buddi/core/dist/tools.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/tools.js.map +1 -1
- package/node_modules/@buddi/core/dist/views.d.ts +12 -12
- package/node_modules/@buddi/core/migrations/050_notification_topic.sql +8 -0
- package/node_modules/@buddi/core/package.json +2 -0
- package/node_modules/@buddi/gateway/assets/mascot/core-idle.tgs +0 -0
- package/node_modules/@buddi/gateway/assets/mascot/core-working.tgs +0 -0
- package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/gateway/dist/agents/canvas.d.ts +2 -2
- package/node_modules/@buddi/gateway/dist/agents/canvas.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/canvas.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/catalog.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/catalog.js +15 -6
- package/node_modules/@buddi/gateway/dist/agents/catalog.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/delegation.d.ts +20 -3
- package/node_modules/@buddi/gateway/dist/agents/delegation.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/delegation.js +38 -12
- package/node_modules/@buddi/gateway/dist/agents/delegation.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/platform.d.ts +43 -13
- package/node_modules/@buddi/gateway/dist/agents/platform.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/platform.js +97 -3
- package/node_modules/@buddi/gateway/dist/agents/platform.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/starter-team.d.ts +57 -0
- package/node_modules/@buddi/gateway/dist/agents/starter-team.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/agents/starter-team.js +151 -0
- package/node_modules/@buddi/gateway/dist/agents/starter-team.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/anthropic-accounts.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/anthropic-accounts.js +9 -20
- package/node_modules/@buddi/gateway/dist/anthropic-accounts.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/bootstrap.d.ts +3 -0
- package/node_modules/@buddi/gateway/dist/bootstrap.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/bootstrap.js +58 -2
- package/node_modules/@buddi/gateway/dist/bootstrap.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/codex-accounts.d.ts +7 -1
- package/node_modules/@buddi/gateway/dist/codex-accounts.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/codex-accounts.js +25 -26
- package/node_modules/@buddi/gateway/dist/codex-accounts.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/mcp/requests.d.ts +8 -1
- package/node_modules/@buddi/gateway/dist/mcp/requests.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/mcp/requests.js +8 -1
- package/node_modules/@buddi/gateway/dist/mcp/requests.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/goals-page.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/missions/goals-page.js +57 -0
- package/node_modules/@buddi/gateway/dist/missions/goals-page.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins/approve.js +45 -9
- package/node_modules/@buddi/gateway/dist/plugins/approve.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins/load.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins/load.js +4 -0
- package/node_modules/@buddi/gateway/dist/plugins/load.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins/npm.d.ts +5 -1
- package/node_modules/@buddi/gateway/dist/plugins/npm.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins/npm.js +6 -0
- package/node_modules/@buddi/gateway/dist/plugins/npm.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins/scaffold.d.ts +15 -4
- package/node_modules/@buddi/gateway/dist/plugins/scaffold.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins/scaffold.js +86 -16
- package/node_modules/@buddi/gateway/dist/plugins/scaffold.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins/stage.d.ts +35 -1
- package/node_modules/@buddi/gateway/dist/plugins/stage.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins/stage.js +134 -8
- package/node_modules/@buddi/gateway/dist/plugins/stage.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins-cli.d.ts +5 -1
- package/node_modules/@buddi/gateway/dist/plugins-cli.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins-cli.js +26 -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 +31 -3
- package/node_modules/@buddi/gateway/dist/provider-accounts.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/provider-diagnostics.d.ts +14 -2
- package/node_modules/@buddi/gateway/dist/provider-diagnostics.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/provider-diagnostics.js +25 -9
- package/node_modules/@buddi/gateway/dist/provider-diagnostics.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/api.d.ts +49 -0
- package/node_modules/@buddi/gateway/dist/telegram/api.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/api.js +99 -0
- package/node_modules/@buddi/gateway/dist/telegram/api.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/main.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/main.js +17 -0
- package/node_modules/@buddi/gateway/dist/telegram/main.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/outbound.d.ts +5 -0
- package/node_modules/@buddi/gateway/dist/telegram/outbound.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/outbound.js +10 -0
- package/node_modules/@buddi/gateway/dist/telegram/outbound.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/stickers.d.ts +30 -0
- package/node_modules/@buddi/gateway/dist/telegram/stickers.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/telegram/stickers.js +146 -0
- package/node_modules/@buddi/gateway/dist/telegram/stickers.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts +6 -0
- package/node_modules/@buddi/gateway/dist/telegram/surface.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/telegram/surface.js +36 -3
- package/node_modules/@buddi/gateway/dist/telegram/surface.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/tips/engine.d.ts +75 -0
- package/node_modules/@buddi/gateway/dist/tips/engine.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/tips/engine.js +135 -0
- package/node_modules/@buddi/gateway/dist/tips/engine.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/tips/facts.d.ts +69 -0
- package/node_modules/@buddi/gateway/dist/tips/facts.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/tips/facts.js +104 -0
- package/node_modules/@buddi/gateway/dist/tips/facts.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/tips/route.d.ts +25 -0
- package/node_modules/@buddi/gateway/dist/tips/route.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/tips/route.js +96 -0
- package/node_modules/@buddi/gateway/dist/tips/route.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/tips/rules.d.ts +33 -0
- package/node_modules/@buddi/gateway/dist/tips/rules.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/tips/rules.js +54 -0
- package/node_modules/@buddi/gateway/dist/tips/rules.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/agent-offers.d.ts +30 -0
- package/node_modules/@buddi/gateway/dist/web/agent-offers.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/agent-offers.js +64 -1
- package/node_modules/@buddi/gateway/dist/web/agent-offers.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/connections.d.ts +83 -0
- package/node_modules/@buddi/gateway/dist/web/connections.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/connections.js +270 -0
- package/node_modules/@buddi/gateway/dist/web/connections.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 -4
- package/node_modules/@buddi/gateway/dist/web/onboarding.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/plugins.d.ts +12 -0
- package/node_modules/@buddi/gateway/dist/web/plugins.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/plugins.js +12 -2
- package/node_modules/@buddi/gateway/dist/web/plugins.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/profile.js +3 -2
- package/node_modules/@buddi/gateway/dist/web/profile.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/read.d.ts +6 -0
- package/node_modules/@buddi/gateway/dist/web/read.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/read.js +11 -4
- package/node_modules/@buddi/gateway/dist/web/read.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/server.d.ts +6 -0
- package/node_modules/@buddi/gateway/dist/web/server.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/server.js +71 -2
- package/node_modules/@buddi/gateway/dist/web/server.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/static.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/static.js +1 -0
- package/node_modules/@buddi/gateway/dist/web/static.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/version.d.ts +2 -0
- package/node_modules/@buddi/gateway/dist/web/version.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/version.js +27 -0
- package/node_modules/@buddi/gateway/dist/web/version.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/write.d.ts +5 -0
- package/node_modules/@buddi/gateway/dist/web/write.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/write.js +20 -1
- package/node_modules/@buddi/gateway/dist/web/write.js.map +1 -1
- package/node_modules/@buddi/gateway/package.json +4 -1
- package/node_modules/@buddi/gateway/src/agents/starter/keeper/agent.md +31 -0
- package/node_modules/@buddi/gateway/src/agents/starter/keeper/skills/keeping-a-history.md +22 -0
- package/node_modules/@buddi/gateway/src/agents/starter/planner/agent.md +30 -0
- package/node_modules/@buddi/gateway/src/agents/starter/planner/skills/holding-a-follow-up.md +17 -0
- package/node_modules/@buddi/gateway/src/agents/starter/planner/skills/writing-the-morning-brief.md +25 -0
- package/node_modules/@buddi/gateway/src/agents/starter/scout/agent.md +33 -0
- package/node_modules/@buddi/gateway/src/agents/starter/scout/skills/answering-with-sources.md +23 -0
- package/node_modules/@buddi/gateway/src/agents/starter/scout/skills/the-web-is-evidence.md +25 -0
- package/node_modules/@buddi/install/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/runtime/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/runtime/dist/anthropic-oauth.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/anthropic-oauth.js +38 -73
- package/node_modules/@buddi/runtime/dist/anthropic-oauth.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/codex-direct.d.ts +39 -0
- package/node_modules/@buddi/runtime/dist/codex-direct.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/codex-direct.js +122 -0
- package/node_modules/@buddi/runtime/dist/codex-direct.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/codex-oauth.d.ts +0 -12
- package/node_modules/@buddi/runtime/dist/codex-oauth.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/codex-oauth.js +32 -45
- package/node_modules/@buddi/runtime/dist/codex-oauth.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/delegate.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/delegate.js +4 -2
- package/node_modules/@buddi/runtime/dist/delegate.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/index.d.ts +2 -0
- package/node_modules/@buddi/runtime/dist/index.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/index.js +2 -0
- package/node_modules/@buddi/runtime/dist/index.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/oauth-port.d.ts +68 -0
- package/node_modules/@buddi/runtime/dist/oauth-port.d.ts.map +1 -0
- package/node_modules/@buddi/runtime/dist/oauth-port.js +51 -0
- package/node_modules/@buddi/runtime/dist/oauth-port.js.map +1 -0
- package/node_modules/@buddi/runtime/dist/oauth.d.ts +255 -0
- package/node_modules/@buddi/runtime/dist/oauth.d.ts.map +1 -0
- package/node_modules/@buddi/runtime/dist/oauth.js +535 -0
- package/node_modules/@buddi/runtime/dist/oauth.js.map +1 -0
- 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-email/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-email/dist/types.d.ts +2 -2
- package/node_modules/@buddi/tool-email/dist/types.d.ts.map +1 -1
- package/node_modules/@buddi/tool-host/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-mcp/dist/.tsbuildinfo +1 -0
- package/node_modules/@buddi/tool-mcp/dist/catalog.d.ts +26 -0
- package/node_modules/@buddi/tool-mcp/dist/catalog.d.ts.map +1 -0
- package/node_modules/@buddi/tool-mcp/dist/catalog.js +17 -0
- package/node_modules/@buddi/tool-mcp/dist/catalog.js.map +1 -0
- package/node_modules/@buddi/tool-mcp/dist/fetch.d.ts +44 -0
- package/node_modules/@buddi/tool-mcp/dist/fetch.d.ts.map +1 -0
- package/node_modules/@buddi/tool-mcp/dist/fetch.js +88 -0
- package/node_modules/@buddi/tool-mcp/dist/fetch.js.map +1 -0
- package/node_modules/@buddi/tool-mcp/dist/index.d.ts +27 -0
- package/node_modules/@buddi/tool-mcp/dist/index.d.ts.map +1 -0
- package/node_modules/@buddi/tool-mcp/dist/index.js +74 -0
- package/node_modules/@buddi/tool-mcp/dist/index.js.map +1 -0
- package/node_modules/@buddi/tool-mcp/dist/output.d.ts +38 -0
- package/node_modules/@buddi/tool-mcp/dist/output.d.ts.map +1 -0
- package/node_modules/@buddi/tool-mcp/dist/output.js +90 -0
- package/node_modules/@buddi/tool-mcp/dist/output.js.map +1 -0
- package/node_modules/@buddi/tool-mcp/dist/ports.d.ts +105 -0
- package/node_modules/@buddi/tool-mcp/dist/ports.d.ts.map +1 -0
- package/node_modules/@buddi/tool-mcp/dist/ports.js +9 -0
- package/node_modules/@buddi/tool-mcp/dist/ports.js.map +1 -0
- package/node_modules/@buddi/tool-mcp/dist/service.d.ts +220 -0
- package/node_modules/@buddi/tool-mcp/dist/service.d.ts.map +1 -0
- package/node_modules/@buddi/tool-mcp/dist/service.js +742 -0
- package/node_modules/@buddi/tool-mcp/dist/service.js.map +1 -0
- package/node_modules/@buddi/tool-mcp/dist/session.d.ts +50 -0
- package/node_modules/@buddi/tool-mcp/dist/session.d.ts.map +1 -0
- package/node_modules/@buddi/tool-mcp/dist/session.js +108 -0
- package/node_modules/@buddi/tool-mcp/dist/session.js.map +1 -0
- package/node_modules/@buddi/tool-mcp/dist/store.d.ts +70 -0
- package/node_modules/@buddi/tool-mcp/dist/store.d.ts.map +1 -0
- package/node_modules/@buddi/tool-mcp/dist/store.js +78 -0
- package/node_modules/@buddi/tool-mcp/dist/store.js.map +1 -0
- package/node_modules/@buddi/tool-mcp/dist/testing/fake.d.ts +51 -0
- package/node_modules/@buddi/tool-mcp/dist/testing/fake.d.ts.map +1 -0
- package/node_modules/@buddi/tool-mcp/dist/testing/fake.js +147 -0
- package/node_modules/@buddi/tool-mcp/dist/testing/fake.js.map +1 -0
- package/node_modules/@buddi/tool-mcp/dist/tiers.d.ts +51 -0
- package/node_modules/@buddi/tool-mcp/dist/tiers.d.ts.map +1 -0
- package/node_modules/@buddi/tool-mcp/dist/tiers.js +106 -0
- package/node_modules/@buddi/tool-mcp/dist/tiers.js.map +1 -0
- package/node_modules/@buddi/tool-mcp/dist/tokens.d.ts +35 -0
- package/node_modules/@buddi/tool-mcp/dist/tokens.d.ts.map +1 -0
- package/node_modules/@buddi/tool-mcp/dist/tokens.js +75 -0
- package/node_modules/@buddi/tool-mcp/dist/tokens.js.map +1 -0
- package/node_modules/@buddi/tool-mcp/migrations/001_connections.sql +49 -0
- package/node_modules/@buddi/tool-mcp/migrations/002_review_again.sql +15 -0
- package/node_modules/@buddi/tool-mcp/package.json +34 -0
- package/node_modules/@buddi/tool-memory/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-web/dist/.tsbuildinfo +1 -1
- package/node_modules/@zone-eu/mailsplit/lib/flowed-decoder.js +1 -5
- package/node_modules/@zone-eu/mailsplit/lib/headers.js +35 -25
- package/node_modules/@zone-eu/mailsplit/lib/message-splitter.js +126 -79
- package/node_modules/@zone-eu/mailsplit/lib/mime-node.js +27 -5
- package/node_modules/@zone-eu/mailsplit/lib/node-rewriter.js +3 -2
- package/node_modules/@zone-eu/mailsplit/lib/types.d.ts +0 -3
- package/node_modules/@zone-eu/mailsplit/package.json +5 -5
- package/node_modules/hono/dist/_virtual/_rolldown/runtime.js +13 -0
- package/node_modules/hono/dist/adapter/aws-lambda/conninfo.js +42 -23
- package/node_modules/hono/dist/adapter/aws-lambda/handler.js +318 -344
- package/node_modules/hono/dist/adapter/aws-lambda/index.js +2 -8
- package/node_modules/hono/dist/adapter/aws-lambda/types.js +1 -0
- package/node_modules/hono/dist/adapter/bun/conninfo.js +20 -25
- package/node_modules/hono/dist/adapter/bun/index.js +3 -13
- package/node_modules/hono/dist/adapter/bun/serve-static.js +27 -27
- package/node_modules/hono/dist/adapter/bun/server.js +11 -5
- package/node_modules/hono/dist/adapter/bun/ssg.js +25 -15
- package/node_modules/hono/dist/adapter/bun/websocket.js +61 -68
- package/node_modules/hono/dist/adapter/cloudflare-pages/conninfo.js +24 -9
- package/node_modules/hono/dist/adapter/cloudflare-pages/handler.js +59 -62
- package/node_modules/hono/dist/adapter/cloudflare-pages/index.js +2 -8
- package/node_modules/hono/dist/adapter/cloudflare-workers/conninfo.js +7 -9
- package/node_modules/hono/dist/adapter/cloudflare-workers/index.js +3 -8
- package/node_modules/hono/dist/adapter/cloudflare-workers/serve-static-module.js +5 -6
- package/node_modules/hono/dist/adapter/cloudflare-workers/serve-static.js +26 -20
- package/node_modules/hono/dist/adapter/cloudflare-workers/utils.js +21 -34
- package/node_modules/hono/dist/adapter/cloudflare-workers/websocket.js +31 -39
- package/node_modules/hono/dist/adapter/deno/conninfo.js +16 -13
- package/node_modules/hono/dist/adapter/deno/deno.d.js +1 -0
- package/node_modules/hono/dist/adapter/deno/index.js +3 -10
- package/node_modules/hono/dist/adapter/deno/serve-static.js +33 -38
- package/node_modules/hono/dist/adapter/deno/ssg.js +27 -16
- package/node_modules/hono/dist/adapter/deno/websocket.js +30 -30
- package/node_modules/hono/dist/adapter/lambda-edge/conninfo.js +7 -9
- package/node_modules/hono/dist/adapter/lambda-edge/handler.js +102 -101
- package/node_modules/hono/dist/adapter/lambda-edge/index.js +2 -6
- package/node_modules/hono/dist/adapter/netlify/conninfo.js +24 -9
- package/node_modules/hono/dist/adapter/netlify/handler.js +10 -8
- package/node_modules/hono/dist/adapter/netlify/index.js +3 -2
- package/node_modules/hono/dist/adapter/netlify/mod.js +2 -6
- package/node_modules/hono/dist/adapter/service-worker/handler.js +15 -19
- package/node_modules/hono/dist/adapter/service-worker/index.js +23 -7
- package/node_modules/hono/dist/adapter/service-worker/types.js +1 -0
- package/node_modules/hono/dist/adapter/vercel/conninfo.js +7 -10
- package/node_modules/hono/dist/adapter/vercel/handler.js +8 -6
- package/node_modules/hono/dist/adapter/vercel/index.js +2 -6
- package/node_modules/hono/dist/cjs/_virtual/_rolldown/runtime.js +33 -0
- package/node_modules/hono/dist/cjs/adapter/aws-lambda/conninfo.js +42 -44
- package/node_modules/hono/dist/cjs/adapter/aws-lambda/handler.js +326 -373
- package/node_modules/hono/dist/cjs/adapter/aws-lambda/index.js +7 -34
- package/node_modules/hono/dist/cjs/adapter/aws-lambda/types.js +0 -15
- package/node_modules/hono/dist/cjs/adapter/bun/conninfo.js +21 -47
- package/node_modules/hono/dist/cjs/adapter/bun/index.js +14 -45
- package/node_modules/hono/dist/cjs/adapter/bun/serve-static.js +29 -50
- package/node_modules/hono/dist/cjs/adapter/bun/server.js +11 -26
- package/node_modules/hono/dist/cjs/adapter/bun/ssg.js +24 -35
- package/node_modules/hono/dist/cjs/adapter/bun/websocket.js +63 -91
- package/node_modules/hono/dist/cjs/adapter/cloudflare-pages/conninfo.js +25 -31
- package/node_modules/hono/dist/cjs/adapter/cloudflare-pages/handler.js +61 -85
- package/node_modules/hono/dist/cjs/adapter/cloudflare-pages/index.js +7 -34
- package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/conninfo.js +8 -31
- package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/index.js +7 -33
- package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/serve-static-module.js +7 -29
- package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/serve-static.js +27 -42
- package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/utils.js +21 -55
- package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/websocket.js +33 -62
- package/node_modules/hono/dist/cjs/adapter/deno/conninfo.js +16 -34
- package/node_modules/hono/dist/cjs/adapter/deno/index.js +10 -38
- package/node_modules/hono/dist/cjs/adapter/deno/serve-static.js +33 -59
- package/node_modules/hono/dist/cjs/adapter/deno/ssg.js +27 -37
- package/node_modules/hono/dist/cjs/adapter/deno/websocket.js +32 -53
- package/node_modules/hono/dist/cjs/adapter/lambda-edge/conninfo.js +8 -31
- package/node_modules/hono/dist/cjs/adapter/lambda-edge/handler.js +102 -130
- package/node_modules/hono/dist/cjs/adapter/lambda-edge/index.js +5 -30
- package/node_modules/hono/dist/cjs/adapter/netlify/conninfo.js +25 -31
- package/node_modules/hono/dist/cjs/adapter/netlify/handler.js +10 -29
- package/node_modules/hono/dist/cjs/adapter/netlify/index.js +5 -21
- package/node_modules/hono/dist/cjs/adapter/netlify/mod.js +5 -30
- package/node_modules/hono/dist/cjs/adapter/service-worker/handler.js +16 -41
- package/node_modules/hono/dist/cjs/adapter/service-worker/index.js +25 -30
- package/node_modules/hono/dist/cjs/adapter/service-worker/types.js +0 -15
- package/node_modules/hono/dist/cjs/adapter/vercel/conninfo.js +8 -32
- package/node_modules/hono/dist/cjs/adapter/vercel/handler.js +8 -27
- package/node_modules/hono/dist/cjs/adapter/vercel/index.js +5 -30
- package/node_modules/hono/dist/cjs/client/client.js +139 -212
- package/node_modules/hono/dist/cjs/client/fetch-result-please.js +62 -80
- package/node_modules/hono/dist/cjs/client/index.js +7 -32
- package/node_modules/hono/dist/cjs/client/types.js +0 -15
- package/node_modules/hono/dist/cjs/client/utils.js +54 -92
- package/node_modules/hono/dist/cjs/compose.js +49 -66
- package/node_modules/hono/dist/cjs/context.js +379 -450
- package/node_modules/hono/dist/cjs/helper/accepts/accepts.js +47 -72
- package/node_modules/hono/dist/cjs/helper/accepts/index.js +3 -27
- package/node_modules/hono/dist/cjs/helper/adapter/index.js +33 -73
- package/node_modules/hono/dist/cjs/helper/conninfo/index.js +0 -15
- package/node_modules/hono/dist/cjs/helper/conninfo/types.js +0 -15
- package/node_modules/hono/dist/cjs/helper/cookie/index.js +75 -116
- package/node_modules/hono/dist/cjs/helper/css/common.js +165 -244
- package/node_modules/hono/dist/cjs/helper/css/index.js +136 -151
- package/node_modules/hono/dist/cjs/helper/dev/index.js +45 -71
- package/node_modules/hono/dist/cjs/helper/factory/index.js +30 -51
- package/node_modules/hono/dist/cjs/helper/html/index.js +32 -62
- package/node_modules/hono/dist/cjs/helper/proxy/index.js +113 -106
- package/node_modules/hono/dist/cjs/helper/route/index.js +123 -66
- package/node_modules/hono/dist/cjs/helper/ssg/index.js +19 -43
- package/node_modules/hono/dist/cjs/helper/ssg/middleware.js +56 -64
- package/node_modules/hono/dist/cjs/helper/ssg/plugins.js +55 -57
- package/node_modules/hono/dist/cjs/helper/ssg/ssg.js +196 -296
- package/node_modules/hono/dist/cjs/helper/ssg/utils.js +47 -90
- package/node_modules/hono/dist/cjs/helper/streaming/index.js +8 -35
- package/node_modules/hono/dist/cjs/helper/streaming/sse.js +53 -85
- package/node_modules/hono/dist/cjs/helper/streaming/stream.js +23 -53
- package/node_modules/hono/dist/cjs/helper/streaming/text.js +10 -32
- package/node_modules/hono/dist/cjs/helper/streaming/utils.js +13 -32
- package/node_modules/hono/dist/cjs/helper/testing/index.js +16 -31
- package/node_modules/hono/dist/cjs/helper/websocket/index.js +51 -76
- package/node_modules/hono/dist/cjs/hono-base.js +345 -403
- package/node_modules/hono/dist/cjs/hono.js +28 -42
- package/node_modules/hono/dist/cjs/http-exception.js +55 -56
- package/node_modules/hono/dist/cjs/index.js +22 -30
- package/node_modules/hono/dist/cjs/jsx/base.js +237 -366
- package/node_modules/hono/dist/cjs/jsx/children.js +16 -41
- package/node_modules/hono/dist/cjs/jsx/components.js +119 -192
- package/node_modules/hono/dist/cjs/jsx/constants.js +15 -42
- package/node_modules/hono/dist/cjs/jsx/context.js +144 -162
- package/node_modules/hono/dist/cjs/jsx/dom/client.js +49 -69
- package/node_modules/hono/dist/cjs/jsx/dom/components.js +23 -52
- package/node_modules/hono/dist/cjs/jsx/dom/context.js +39 -67
- package/node_modules/hono/dist/cjs/jsx/dom/css.js +143 -158
- package/node_modules/hono/dist/cjs/jsx/dom/hooks/index.js +55 -64
- package/node_modules/hono/dist/cjs/jsx/dom/index.js +114 -173
- package/node_modules/hono/dist/cjs/jsx/dom/intrinsic-element/components.js +282 -375
- package/node_modules/hono/dist/cjs/jsx/dom/jsx-dev-runtime.js +14 -49
- package/node_modules/hono/dist/cjs/jsx/dom/jsx-runtime.js +5 -32
- package/node_modules/hono/dist/cjs/jsx/dom/render.js +469 -623
- package/node_modules/hono/dist/cjs/jsx/dom/server.js +37 -64
- package/node_modules/hono/dist/cjs/jsx/dom/utils.js +7 -30
- package/node_modules/hono/dist/cjs/jsx/hooks/index.js +225 -318
- package/node_modules/hono/dist/cjs/jsx/index.js +86 -135
- package/node_modules/hono/dist/cjs/jsx/intrinsic-element/common.js +20 -43
- package/node_modules/hono/dist/cjs/jsx/intrinsic-element/components.js +117 -168
- package/node_modules/hono/dist/cjs/jsx/intrinsic-elements.js +0 -15
- package/node_modules/hono/dist/cjs/jsx/jsx-dev-runtime.js +14 -39
- package/node_modules/hono/dist/cjs/jsx/jsx-runtime.js +34 -68
- package/node_modules/hono/dist/cjs/jsx/streaming.js +123 -166
- package/node_modules/hono/dist/cjs/jsx/types.js +0 -15
- package/node_modules/hono/dist/cjs/jsx/utils.js +91 -175
- package/node_modules/hono/dist/cjs/middleware/basic-auth/index.js +98 -86
- package/node_modules/hono/dist/cjs/middleware/bearer-auth/index.js +92 -109
- package/node_modules/hono/dist/cjs/middleware/body-limit/index.js +66 -72
- package/node_modules/hono/dist/cjs/middleware/cache/index.js +153 -199
- package/node_modules/hono/dist/cjs/middleware/combine/index.js +133 -95
- package/node_modules/hono/dist/cjs/middleware/compress/index.js +73 -88
- package/node_modules/hono/dist/cjs/middleware/context-storage/index.js +49 -41
- package/node_modules/hono/dist/cjs/middleware/cors/index.js +107 -107
- package/node_modules/hono/dist/cjs/middleware/csrf/index.js +101 -72
- package/node_modules/hono/dist/cjs/middleware/etag/digest.js +58 -97
- package/node_modules/hono/dist/cjs/middleware/etag/index.js +71 -91
- package/node_modules/hono/dist/cjs/middleware/ip-restriction/index.js +161 -169
- package/node_modules/hono/dist/cjs/middleware/jsx-renderer/index.js +99 -77
- package/node_modules/hono/dist/cjs/middleware/jwk/index.js +3 -27
- package/node_modules/hono/dist/cjs/middleware/jwk/jwk.js +118 -135
- package/node_modules/hono/dist/cjs/middleware/jwt/index.js +9 -38
- package/node_modules/hono/dist/cjs/middleware/jwt/jwt.js +120 -141
- package/node_modules/hono/dist/cjs/middleware/language/index.js +7 -35
- package/node_modules/hono/dist/cjs/middleware/language/language.js +184 -182
- package/node_modules/hono/dist/cjs/middleware/logger/index.js +41 -62
- package/node_modules/hono/dist/cjs/middleware/method-not-allowed/index.js +82 -88
- package/node_modules/hono/dist/cjs/middleware/method-override/index.js +101 -102
- package/node_modules/hono/dist/cjs/middleware/powered-by/index.js +23 -30
- package/node_modules/hono/dist/cjs/middleware/pretty-json/index.js +38 -42
- package/node_modules/hono/dist/cjs/middleware/request-id/index.js +3 -27
- package/node_modules/hono/dist/cjs/middleware/request-id/request-id.js +34 -42
- package/node_modules/hono/dist/cjs/middleware/secure-headers/index.js +4 -29
- package/node_modules/hono/dist/cjs/middleware/secure-headers/permissions-policy.js +0 -15
- package/node_modules/hono/dist/cjs/middleware/secure-headers/secure-headers.js +142 -174
- package/node_modules/hono/dist/cjs/middleware/serve-static/index.js +55 -93
- package/node_modules/hono/dist/cjs/middleware/serve-static/path.js +15 -38
- package/node_modules/hono/dist/cjs/middleware/timeout/index.js +40 -45
- package/node_modules/hono/dist/cjs/middleware/timing/index.js +7 -35
- package/node_modules/hono/dist/cjs/middleware/timing/timing.js +177 -118
- package/node_modules/hono/dist/cjs/middleware/trailing-slash/index.js +85 -58
- package/node_modules/hono/dist/cjs/preset/quick.js +18 -37
- package/node_modules/hono/dist/cjs/preset/tiny.js +15 -33
- package/node_modules/hono/dist/cjs/request/constants.js +5 -27
- package/node_modules/hono/dist/cjs/request.js +334 -346
- package/node_modules/hono/dist/cjs/router/linear-router/index.js +3 -27
- package/node_modules/hono/dist/cjs/router/linear-router/router.js +95 -143
- package/node_modules/hono/dist/cjs/router/pattern-router/index.js +3 -27
- package/node_modules/hono/dist/cjs/router/pattern-router/router.js +41 -63
- package/node_modules/hono/dist/cjs/router/reg-exp-router/index.js +7 -34
- package/node_modules/hono/dist/cjs/router/reg-exp-router/matcher.js +18 -45
- package/node_modules/hono/dist/cjs/router/reg-exp-router/node.js +91 -135
- package/node_modules/hono/dist/cjs/router/reg-exp-router/prepared-router.js +92 -161
- package/node_modules/hono/dist/cjs/router/reg-exp-router/router.js +98 -147
- package/node_modules/hono/dist/cjs/router/reg-exp-router/trie.js +73 -89
- package/node_modules/hono/dist/cjs/router/smart-router/index.js +3 -27
- package/node_modules/hono/dist/cjs/router/smart-router/router.js +49 -79
- package/node_modules/hono/dist/cjs/router/trie-router/index.js +3 -27
- package/node_modules/hono/dist/cjs/router/trie-router/node.js +134 -186
- package/node_modules/hono/dist/cjs/router/trie-router/router.js +15 -39
- package/node_modules/hono/dist/cjs/router/utils.js +5 -27
- package/node_modules/hono/dist/cjs/router.js +37 -37
- package/node_modules/hono/dist/cjs/types.js +5 -28
- package/node_modules/hono/dist/cjs/utils/accept.js +177 -225
- package/node_modules/hono/dist/cjs/utils/basic-auth.js +16 -40
- package/node_modules/hono/dist/cjs/utils/body.js +84 -110
- package/node_modules/hono/dist/cjs/utils/buffer.js +43 -91
- package/node_modules/hono/dist/cjs/utils/color.js +35 -44
- package/node_modules/hono/dist/cjs/utils/compress.js +11 -26
- package/node_modules/hono/dist/cjs/utils/concurrent.js +29 -59
- package/node_modules/hono/dist/cjs/utils/constants.js +7 -26
- package/node_modules/hono/dist/cjs/utils/cookie.js +107 -177
- package/node_modules/hono/dist/cjs/utils/crypto.js +30 -61
- package/node_modules/hono/dist/cjs/utils/encode.js +31 -48
- package/node_modules/hono/dist/cjs/utils/filepath.js +23 -54
- package/node_modules/hono/dist/cjs/utils/handler.js +11 -33
- package/node_modules/hono/dist/cjs/utils/headers.js +0 -15
- package/node_modules/hono/dist/cjs/utils/html.js +96 -137
- package/node_modules/hono/dist/cjs/utils/http-status.js +0 -15
- package/node_modules/hono/dist/cjs/utils/ipaddr.js +213 -286
- package/node_modules/hono/dist/cjs/utils/jwt/index.js +14 -27
- package/node_modules/hono/dist/cjs/utils/jwt/jwa.js +25 -42
- package/node_modules/hono/dist/cjs/utils/jwt/jws.js +119 -199
- package/node_modules/hono/dist/cjs/utils/jwt/jwt.js +122 -206
- package/node_modules/hono/dist/cjs/utils/jwt/types.js +122 -159
- package/node_modules/hono/dist/cjs/utils/jwt/utf8.js +9 -28
- package/node_modules/hono/dist/cjs/utils/mime.js +75 -101
- package/node_modules/hono/dist/cjs/utils/stream.js +88 -111
- package/node_modules/hono/dist/cjs/utils/types.js +0 -15
- package/node_modules/hono/dist/cjs/utils/url.js +185 -234
- package/node_modules/hono/dist/cjs/validator/index.js +3 -27
- package/node_modules/hono/dist/cjs/validator/utils.js +0 -15
- package/node_modules/hono/dist/cjs/validator/validator.js +60 -103
- package/node_modules/hono/dist/client/client.js +138 -197
- package/node_modules/hono/dist/client/fetch-result-please.js +59 -56
- package/node_modules/hono/dist/client/index.js +3 -7
- package/node_modules/hono/dist/client/types.js +1 -0
- package/node_modules/hono/dist/client/utils.js +51 -68
- package/node_modules/hono/dist/compose.js +49 -45
- package/node_modules/hono/dist/context.js +376 -426
- package/node_modules/hono/dist/helper/accepts/accepts.js +47 -51
- package/node_modules/hono/dist/helper/accepts/index.js +1 -4
- package/node_modules/hono/dist/helper/adapter/index.js +33 -52
- package/node_modules/hono/dist/helper/conninfo/index.js +1 -0
- package/node_modules/hono/dist/helper/conninfo/types.js +1 -0
- package/node_modules/hono/dist/helper/cookie/index.js +74 -94
- package/node_modules/hono/dist/helper/css/common.js +167 -225
- package/node_modules/hono/dist/helper/css/index.js +132 -137
- package/node_modules/hono/dist/helper/dev/index.js +44 -49
- package/node_modules/hono/dist/helper/factory/index.js +27 -27
- package/node_modules/hono/dist/helper/html/index.js +30 -39
- package/node_modules/hono/dist/helper/proxy/index.js +116 -88
- package/node_modules/hono/dist/helper/route/index.js +121 -43
- package/node_modules/hono/dist/helper/ssg/index.js +3 -18
- package/node_modules/hono/dist/helper/ssg/middleware.js +53 -40
- package/node_modules/hono/dist/helper/ssg/plugins.js +55 -36
- package/node_modules/hono/dist/helper/ssg/ssg.js +198 -283
- package/node_modules/hono/dist/helper/ssg/utils.js +53 -75
- package/node_modules/hono/dist/helper/streaming/index.js +2 -8
- package/node_modules/hono/dist/helper/streaming/sse.js +50 -61
- package/node_modules/hono/dist/helper/streaming/stream.js +22 -31
- package/node_modules/hono/dist/helper/streaming/text.js +9 -10
- package/node_modules/hono/dist/helper/streaming/utils.js +9 -12
- package/node_modules/hono/dist/helper/testing/index.js +16 -10
- package/node_modules/hono/dist/helper/websocket/index.js +49 -53
- package/node_modules/hono/dist/hono-base.js +342 -379
- package/node_modules/hono/dist/hono.js +27 -20
- package/node_modules/hono/dist/http-exception.js +53 -33
- package/node_modules/hono/dist/index.js +19 -6
- package/node_modules/hono/dist/jsx/base.js +231 -340
- package/node_modules/hono/dist/jsx/children.js +16 -20
- package/node_modules/hono/dist/jsx/components.js +118 -170
- package/node_modules/hono/dist/jsx/constants.js +9 -15
- package/node_modules/hono/dist/jsx/context.js +153 -150
- package/node_modules/hono/dist/jsx/dom/client.js +45 -48
- package/node_modules/hono/dist/jsx/dom/components.js +21 -29
- package/node_modules/hono/dist/jsx/dom/context.js +37 -44
- package/node_modules/hono/dist/jsx/dom/css.js +142 -147
- package/node_modules/hono/dist/jsx/dom/hooks/index.js +52 -40
- package/node_modules/hono/dist/jsx/dom/index.js +71 -134
- package/node_modules/hono/dist/jsx/dom/intrinsic-element/components.js +275 -359
- package/node_modules/hono/dist/jsx/dom/jsx-dev-runtime.js +14 -18
- package/node_modules/hono/dist/jsx/dom/jsx-runtime.js +2 -8
- package/node_modules/hono/dist/jsx/dom/render.js +492 -631
- package/node_modules/hono/dist/jsx/dom/server.js +32 -32
- package/node_modules/hono/dist/jsx/dom/utils.js +6 -8
- package/node_modules/hono/dist/jsx/hooks/index.js +236 -308
- package/node_modules/hono/dist/jsx/index.js +45 -98
- package/node_modules/hono/dist/jsx/intrinsic-element/common.js +20 -22
- package/node_modules/hono/dist/jsx/intrinsic-element/components.js +113 -154
- package/node_modules/hono/dist/jsx/intrinsic-elements.js +1 -0
- package/node_modules/hono/dist/jsx/jsx-dev-runtime.js +12 -16
- package/node_modules/hono/dist/jsx/jsx-runtime.js +29 -42
- package/node_modules/hono/dist/jsx/streaming.js +120 -142
- package/node_modules/hono/dist/jsx/types.js +1 -0
- package/node_modules/hono/dist/jsx/utils.js +105 -168
- package/node_modules/hono/dist/middleware/basic-auth/index.js +96 -63
- package/node_modules/hono/dist/middleware/bearer-auth/index.js +93 -89
- package/node_modules/hono/dist/middleware/body-limit/index.js +66 -51
- package/node_modules/hono/dist/middleware/cache/index.js +165 -190
- package/node_modules/hono/dist/middleware/combine/index.js +132 -73
- package/node_modules/hono/dist/middleware/compress/index.js +75 -69
- package/node_modules/hono/dist/middleware/context-storage/index.js +49 -19
- package/node_modules/hono/dist/middleware/cors/index.js +107 -86
- package/node_modules/hono/dist/middleware/csrf/index.js +103 -53
- package/node_modules/hono/dist/middleware/etag/digest.js +59 -77
- package/node_modules/hono/dist/middleware/etag/index.js +71 -70
- package/node_modules/hono/dist/middleware/ip-restriction/index.js +163 -158
- package/node_modules/hono/dist/middleware/jsx-renderer/index.js +97 -54
- package/node_modules/hono/dist/middleware/jwk/index.js +1 -4
- package/node_modules/hono/dist/middleware/jwk/jwk.js +116 -112
- package/node_modules/hono/dist/middleware/jwt/index.js +2 -10
- package/node_modules/hono/dist/middleware/jwt/jwt.js +114 -114
- package/node_modules/hono/dist/middleware/language/index.js +2 -15
- package/node_modules/hono/dist/middleware/language/language.js +180 -157
- package/node_modules/hono/dist/middleware/logger/index.js +43 -37
- package/node_modules/hono/dist/middleware/method-not-allowed/index.js +81 -66
- package/node_modules/hono/dist/middleware/method-override/index.js +101 -81
- package/node_modules/hono/dist/middleware/powered-by/index.js +23 -9
- package/node_modules/hono/dist/middleware/pretty-json/index.js +39 -22
- package/node_modules/hono/dist/middleware/request-id/index.js +1 -4
- package/node_modules/hono/dist/middleware/request-id/request-id.js +33 -20
- package/node_modules/hono/dist/middleware/secure-headers/index.js +1 -5
- package/node_modules/hono/dist/middleware/secure-headers/permissions-policy.js +1 -0
- package/node_modules/hono/dist/middleware/secure-headers/secure-headers.js +144 -155
- package/node_modules/hono/dist/middleware/serve-static/index.js +55 -72
- package/node_modules/hono/dist/middleware/serve-static/path.js +15 -17
- package/node_modules/hono/dist/middleware/timeout/index.js +40 -23
- package/node_modules/hono/dist/middleware/timing/index.js +2 -9
- package/node_modules/hono/dist/middleware/timing/timing.js +177 -97
- package/node_modules/hono/dist/middleware/trailing-slash/index.js +85 -37
- package/node_modules/hono/dist/preset/quick.js +17 -15
- package/node_modules/hono/dist/preset/tiny.js +14 -11
- package/node_modules/hono/dist/request/constants.js +4 -5
- package/node_modules/hono/dist/request.js +328 -319
- package/node_modules/hono/dist/router/linear-router/index.js +1 -4
- package/node_modules/hono/dist/router/linear-router/router.js +93 -120
- package/node_modules/hono/dist/router/pattern-router/index.js +1 -4
- package/node_modules/hono/dist/router/pattern-router/router.js +39 -40
- package/node_modules/hono/dist/router/reg-exp-router/index.js +1 -7
- package/node_modules/hono/dist/router/reg-exp-router/matcher.js +17 -23
- package/node_modules/hono/dist/router/reg-exp-router/node.js +87 -110
- package/node_modules/hono/dist/router/reg-exp-router/prepared-router.js +89 -137
- package/node_modules/hono/dist/router/reg-exp-router/router.js +92 -129
- package/node_modules/hono/dist/router/reg-exp-router/trie.js +69 -64
- package/node_modules/hono/dist/router/smart-router/index.js +1 -4
- package/node_modules/hono/dist/router/smart-router/router.js +46 -55
- package/node_modules/hono/dist/router/trie-router/index.js +1 -4
- package/node_modules/hono/dist/router/trie-router/node.js +131 -162
- package/node_modules/hono/dist/router/trie-router/router.js +11 -14
- package/node_modules/hono/dist/router/utils.js +4 -5
- package/node_modules/hono/dist/router.js +35 -14
- package/node_modules/hono/dist/types/adapter/aws-lambda/conninfo.d.ts +4 -1
- package/node_modules/hono/dist/types/adapter/aws-lambda/handler.d.ts +150 -105
- package/node_modules/hono/dist/types/adapter/aws-lambda/index.d.ts +4 -8
- package/node_modules/hono/dist/types/adapter/aws-lambda/types.d.ts +152 -123
- package/node_modules/hono/dist/types/adapter/bun/conninfo.d.ts +4 -1
- package/node_modules/hono/dist/types/adapter/bun/index.d.ts +6 -10
- package/node_modules/hono/dist/types/adapter/bun/serve-static.d.ts +7 -2
- package/node_modules/hono/dist/types/adapter/bun/server.d.ts +4 -5
- package/node_modules/hono/dist/types/adapter/bun/ssg.d.ts +5 -1
- package/node_modules/hono/dist/types/adapter/bun/websocket.d.ts +31 -17
- package/node_modules/hono/dist/types/adapter/cloudflare-pages/conninfo.d.ts +4 -1
- package/node_modules/hono/dist/types/adapter/cloudflare-pages/handler.d.ts +29 -18
- package/node_modules/hono/dist/types/adapter/cloudflare-pages/index.d.ts +3 -7
- package/node_modules/hono/dist/types/adapter/cloudflare-workers/conninfo.d.ts +6 -1
- package/node_modules/hono/dist/types/adapter/cloudflare-workers/index.d.ts +4 -7
- package/node_modules/hono/dist/types/adapter/cloudflare-workers/serve-static-module.d.ts +5 -3
- package/node_modules/hono/dist/types/adapter/cloudflare-workers/serve-static.d.ts +10 -5
- package/node_modules/hono/dist/types/adapter/cloudflare-workers/utils.d.ts +10 -2
- package/node_modules/hono/dist/types/adapter/cloudflare-workers/websocket.d.ts +6 -1
- package/node_modules/hono/dist/types/adapter/deno/conninfo.d.ts +4 -1
- package/node_modules/hono/dist/types/adapter/deno/deno.d.ts +1 -0
- package/node_modules/hono/dist/types/adapter/deno/index.d.ts +5 -8
- package/node_modules/hono/dist/types/adapter/deno/serve-static.d.ts +7 -2
- package/node_modules/hono/dist/types/adapter/deno/ssg.d.ts +5 -1
- package/node_modules/hono/dist/types/adapter/deno/websocket.d.ts +6 -1
- package/node_modules/hono/dist/types/adapter/lambda-edge/conninfo.d.ts +6 -1
- package/node_modules/hono/dist/types/adapter/lambda-edge/handler.d.ts +83 -58
- package/node_modules/hono/dist/types/adapter/lambda-edge/index.d.ts +3 -7
- package/node_modules/hono/dist/types/adapter/netlify/conninfo.d.ts +4 -1
- package/node_modules/hono/dist/types/adapter/netlify/handler.d.ts +6 -1
- package/node_modules/hono/dist/types/adapter/netlify/index.d.ts +3 -5
- package/node_modules/hono/dist/types/adapter/netlify/mod.d.ts +3 -2
- package/node_modules/hono/dist/types/adapter/service-worker/handler.d.ts +9 -8
- package/node_modules/hono/dist/types/adapter/service-worker/index.d.ts +6 -9
- package/node_modules/hono/dist/types/adapter/service-worker/types.d.ts +12 -8
- package/node_modules/hono/dist/types/adapter/vercel/conninfo.d.ts +6 -1
- package/node_modules/hono/dist/types/adapter/vercel/handler.d.ts +6 -1
- package/node_modules/hono/dist/types/adapter/vercel/index.d.ts +3 -6
- package/node_modules/hono/dist/types/client/client.d.ts +5 -3
- package/node_modules/hono/dist/types/client/fetch-result-please.d.ts +21 -19
- package/node_modules/hono/dist/types/client/index.d.ts +5 -7
- package/node_modules/hono/dist/types/client/types.d.ts +134 -160
- package/node_modules/hono/dist/types/client/utils.d.ts +6 -4
- package/node_modules/hono/dist/types/compose.d.ts +4 -2
- package/node_modules/hono/dist/types/context.d.ts +335 -336
- package/node_modules/hono/dist/types/helper/accepts/accepts.d.ts +11 -9
- package/node_modules/hono/dist/types/helper/accepts/index.d.ts +2 -5
- package/node_modules/hono/dist/types/helper/adapter/index.d.ts +4 -6
- package/node_modules/hono/dist/types/helper/conninfo/index.d.ts +2 -5
- package/node_modules/hono/dist/types/helper/conninfo/types.d.ts +25 -23
- package/node_modules/hono/dist/types/helper/cookie/index.d.ts +10 -13
- package/node_modules/hono/dist/types/helper/css/common.d.ts +11 -10
- package/node_modules/hono/dist/types/helper/css/index.d.ts +25 -28
- package/node_modules/hono/dist/types/helper/dev/index.d.ts +10 -13
- package/node_modules/hono/dist/types/helper/factory/index.d.ts +26 -74
- package/node_modules/hono/dist/types/helper/html/index.d.ts +4 -7
- package/node_modules/hono/dist/types/helper/proxy/index.d.ts +19 -22
- package/node_modules/hono/dist/types/helper/route/index.d.ts +4 -2
- package/node_modules/hono/dist/types/helper/ssg/index.d.ts +4 -7
- package/node_modules/hono/dist/types/helper/ssg/middleware.d.ts +8 -7
- package/node_modules/hono/dist/types/helper/ssg/plugins.d.ts +3 -1
- package/node_modules/hono/dist/types/helper/ssg/ssg.d.ts +38 -36
- package/node_modules/hono/dist/types/helper/ssg/utils.d.ts +5 -4
- package/node_modules/hono/dist/types/helper/streaming/index.d.ts +4 -8
- package/node_modules/hono/dist/types/helper/streaming/sse.d.ts +10 -8
- package/node_modules/hono/dist/types/helper/streaming/stream.d.ts +4 -2
- package/node_modules/hono/dist/types/helper/streaming/text.d.ts +4 -2
- package/node_modules/hono/dist/types/helper/streaming/utils.d.ts +2 -0
- package/node_modules/hono/dist/types/helper/testing/index.d.ts +7 -10
- package/node_modules/hono/dist/types/helper/websocket/index.d.ts +30 -33
- package/node_modules/hono/dist/types/hono-base.d.ts +208 -211
- package/node_modules/hono/dist/types/hono.d.ts +11 -10
- package/node_modules/hono/dist/types/http-exception.d.ts +20 -23
- package/node_modules/hono/dist/types/index.d.ts +6 -37
- package/node_modules/hono/dist/types/jsx/base.d.ts +36 -35
- package/node_modules/hono/dist/types/jsx/children.d.ts +8 -6
- package/node_modules/hono/dist/types/jsx/components.d.ts +8 -5
- package/node_modules/hono/dist/types/jsx/constants.d.ts +2 -0
- package/node_modules/hono/dist/types/jsx/context.d.ts +9 -7
- package/node_modules/hono/dist/types/jsx/dom/client.d.ts +8 -10
- package/node_modules/hono/dist/types/jsx/dom/components.d.ts +9 -6
- package/node_modules/hono/dist/types/jsx/dom/context.d.ts +3 -1
- package/node_modules/hono/dist/types/jsx/dom/css.d.ts +26 -30
- package/node_modules/hono/dist/types/jsx/dom/hooks/index.d.ts +11 -13
- package/node_modules/hono/dist/types/jsx/dom/index.d.ts +78 -83
- package/node_modules/hono/dist/types/jsx/dom/intrinsic-element/components.d.ts +9 -5
- package/node_modules/hono/dist/types/jsx/dom/jsx-dev-runtime.d.ts +4 -6
- package/node_modules/hono/dist/types/jsx/dom/jsx-runtime.d.ts +3 -7
- package/node_modules/hono/dist/types/jsx/dom/render.d.ts +32 -51
- package/node_modules/hono/dist/types/jsx/dom/server.d.ts +86 -85
- package/node_modules/hono/dist/types/jsx/dom/utils.d.ts +2 -0
- package/node_modules/hono/dist/types/jsx/hooks/index.d.ts +16 -17
- package/node_modules/hono/dist/types/jsx/index.d.ts +70 -73
- package/node_modules/hono/dist/types/jsx/intrinsic-element/common.d.ts +3 -1
- package/node_modules/hono/dist/types/jsx/intrinsic-element/components.d.ts +7 -4
- package/node_modules/hono/dist/types/jsx/intrinsic-elements.d.ts +708 -708
- package/node_modules/hono/dist/types/jsx/jsx-dev-runtime.d.ts +4 -7
- package/node_modules/hono/dist/types/jsx/jsx-runtime.d.ts +7 -10
- package/node_modules/hono/dist/types/jsx/streaming.d.ts +9 -10
- package/node_modules/hono/dist/types/jsx/types.d.ts +11 -13
- package/node_modules/hono/dist/types/jsx/utils.d.ts +2 -0
- package/node_modules/hono/dist/types/middleware/basic-auth/index.d.ts +17 -20
- package/node_modules/hono/dist/types/middleware/bearer-auth/index.d.ts +46 -49
- package/node_modules/hono/dist/types/middleware/body-limit/index.d.ts +6 -9
- package/node_modules/hono/dist/types/middleware/cache/index.d.ts +13 -15
- package/node_modules/hono/dist/types/middleware/combine/index.d.ts +4 -7
- package/node_modules/hono/dist/types/middleware/compress/index.d.ts +8 -10
- package/node_modules/hono/dist/types/middleware/context-storage/index.d.ts +4 -6
- package/node_modules/hono/dist/types/middleware/cors/index.d.ts +10 -13
- package/node_modules/hono/dist/types/middleware/csrf/index.d.ts +6 -9
- package/node_modules/hono/dist/types/middleware/etag/digest.d.ts +2 -0
- package/node_modules/hono/dist/types/middleware/etag/index.d.ts +6 -9
- package/node_modules/hono/dist/types/middleware/ip-restriction/index.d.ts +11 -13
- package/node_modules/hono/dist/types/middleware/jsx-renderer/index.d.ts +11 -12
- package/node_modules/hono/dist/types/middleware/jwk/index.d.ts +2 -1
- package/node_modules/hono/dist/types/middleware/jwk/jwk.d.ts +20 -23
- package/node_modules/hono/dist/types/middleware/jwt/index.d.ts +6 -6
- package/node_modules/hono/dist/types/middleware/jwt/jwt.d.ts +28 -30
- package/node_modules/hono/dist/types/middleware/language/index.d.ts +5 -5
- package/node_modules/hono/dist/types/middleware/language/language.d.ts +42 -44
- package/node_modules/hono/dist/types/middleware/logger/index.d.ts +3 -6
- package/node_modules/hono/dist/types/middleware/method-not-allowed/index.d.ts +7 -10
- package/node_modules/hono/dist/types/middleware/method-override/index.d.ts +14 -17
- package/node_modules/hono/dist/types/middleware/powered-by/index.d.ts +8 -11
- package/node_modules/hono/dist/types/middleware/pretty-json/index.d.ts +18 -21
- package/node_modules/hono/dist/types/middleware/request-id/index.d.ts +5 -5
- package/node_modules/hono/dist/types/middleware/request-id/request-id.d.ts +9 -11
- package/node_modules/hono/dist/types/middleware/secure-headers/index.d.ts +5 -6
- package/node_modules/hono/dist/types/middleware/secure-headers/permissions-policy.d.ts +2 -1
- package/node_modules/hono/dist/types/middleware/secure-headers/secure-headers.d.ts +55 -58
- package/node_modules/hono/dist/types/middleware/serve-static/index.d.ts +22 -24
- package/node_modules/hono/dist/types/middleware/serve-static/path.d.ts +2 -0
- package/node_modules/hono/dist/types/middleware/timeout/index.d.ts +5 -7
- package/node_modules/hono/dist/types/middleware/timing/index.d.ts +5 -5
- package/node_modules/hono/dist/types/middleware/timing/timing.d.ts +17 -21
- package/node_modules/hono/dist/types/middleware/trailing-slash/index.d.ts +35 -38
- package/node_modules/hono/dist/types/preset/quick.d.ts +6 -9
- package/node_modules/hono/dist/types/preset/tiny.d.ts +6 -9
- package/node_modules/hono/dist/types/request/constants.d.ts +2 -0
- package/node_modules/hono/dist/types/request.d.ts +288 -287
- package/node_modules/hono/dist/types/router/linear-router/index.d.ts +2 -5
- package/node_modules/hono/dist/types/router/linear-router/router.d.ts +7 -5
- package/node_modules/hono/dist/types/router/pattern-router/index.d.ts +2 -5
- package/node_modules/hono/dist/types/router/pattern-router/router.d.ts +7 -5
- package/node_modules/hono/dist/types/router/reg-exp-router/index.d.ts +3 -6
- package/node_modules/hono/dist/types/router/reg-exp-router/matcher.d.ts +3 -1
- package/node_modules/hono/dist/types/router/reg-exp-router/node.d.ts +6 -4
- package/node_modules/hono/dist/types/router/reg-exp-router/prepared-router.d.ts +11 -11
- package/node_modules/hono/dist/types/router/reg-exp-router/router.d.ts +10 -9
- package/node_modules/hono/dist/types/router/reg-exp-router/trie.d.ts +7 -5
- package/node_modules/hono/dist/types/router/smart-router/index.d.ts +2 -5
- package/node_modules/hono/dist/types/router/smart-router/router.d.ts +11 -9
- package/node_modules/hono/dist/types/router/trie-router/index.d.ts +2 -5
- package/node_modules/hono/dist/types/router/trie-router/node.d.ts +6 -4
- package/node_modules/hono/dist/types/router/trie-router/router.d.ts +7 -5
- package/node_modules/hono/dist/types/router/utils.d.ts +2 -0
- package/node_modules/hono/dist/types/router.d.ts +23 -22
- package/node_modules/hono/dist/types/types.d.ts +146 -506
- package/node_modules/hono/dist/types/utils/accept.d.ts +5 -3
- package/node_modules/hono/dist/types/utils/basic-auth.d.ts +4 -2
- package/node_modules/hono/dist/types/utils/body.d.ts +46 -51
- package/node_modules/hono/dist/types/utils/buffer.d.ts +7 -6
- package/node_modules/hono/dist/types/utils/color.d.ts +2 -0
- package/node_modules/hono/dist/types/utils/compress.d.ts +2 -0
- package/node_modules/hono/dist/types/utils/concurrent.d.ts +6 -4
- package/node_modules/hono/dist/types/utils/constants.d.ts +2 -0
- package/node_modules/hono/dist/types/utils/cookie.d.ts +20 -19
- package/node_modules/hono/dist/types/utils/crypto.d.ts +5 -8
- package/node_modules/hono/dist/types/utils/encode.d.ts +2 -0
- package/node_modules/hono/dist/types/utils/filepath.d.ts +5 -4
- package/node_modules/hono/dist/types/utils/handler.d.ts +2 -0
- package/node_modules/hono/dist/types/utils/headers.d.ts +2 -0
- package/node_modules/hono/dist/types/utils/html.d.ts +11 -10
- package/node_modules/hono/dist/types/utils/http-status.d.ts +2 -0
- package/node_modules/hono/dist/types/utils/ipaddr.d.ts +4 -6
- package/node_modules/hono/dist/types/utils/jwt/index.d.ts +18 -12
- package/node_modules/hono/dist/types/utils/jwt/jwa.d.ts +15 -13
- package/node_modules/hono/dist/types/utils/jwt/jws.d.ts +4 -7
- package/node_modules/hono/dist/types/utils/jwt/jwt.d.ts +26 -29
- package/node_modules/hono/dist/types/utils/jwt/types.d.ts +48 -45
- package/node_modules/hono/dist/types/utils/jwt/utf8.d.ts +2 -0
- package/node_modules/hono/dist/types/utils/mime.d.ts +59 -57
- package/node_modules/hono/dist/types/utils/stream.d.ts +27 -25
- package/node_modules/hono/dist/types/utils/types.d.ts +14 -27
- package/node_modules/hono/dist/types/utils/url.d.ts +2 -1
- package/node_modules/hono/dist/types/validator/index.d.ts +3 -7
- package/node_modules/hono/dist/types/validator/utils.d.ts +6 -9
- package/node_modules/hono/dist/types/validator/validator.d.ts +11 -10
- package/node_modules/hono/dist/types.js +4 -6
- package/node_modules/hono/dist/utils/accept.js +185 -212
- package/node_modules/hono/dist/utils/basic-auth.js +18 -21
- package/node_modules/hono/dist/utils/body.js +87 -92
- package/node_modules/hono/dist/utils/buffer.js +44 -71
- package/node_modules/hono/dist/utils/color.js +33 -21
- package/node_modules/hono/dist/utils/compress.js +11 -5
- package/node_modules/hono/dist/utils/concurrent.js +29 -38
- package/node_modules/hono/dist/utils/constants.js +7 -5
- package/node_modules/hono/dist/utils/cookie.js +114 -163
- package/node_modules/hono/dist/utils/crypto.js +30 -40
- package/node_modules/hono/dist/utils/encode.js +30 -26
- package/node_modules/hono/dist/utils/filepath.js +23 -33
- package/node_modules/hono/dist/utils/handler.js +10 -11
- package/node_modules/hono/dist/utils/headers.js +1 -0
- package/node_modules/hono/dist/utils/html.js +97 -117
- package/node_modules/hono/dist/utils/http-status.js +1 -0
- package/node_modules/hono/dist/utils/ipaddr.js +227 -279
- package/node_modules/hono/dist/utils/jwt/index.js +12 -4
- package/node_modules/hono/dist/utils/jwt/jwa.js +24 -20
- package/node_modules/hono/dist/utils/jwt/jws.js +115 -174
- package/node_modules/hono/dist/utils/jwt/jwt.js +120 -198
- package/node_modules/hono/dist/utils/jwt/types.js +79 -95
- package/node_modules/hono/dist/utils/jwt/utf8.js +9 -7
- package/node_modules/hono/dist/utils/mime.js +74 -79
- package/node_modules/hono/dist/utils/stream.js +86 -88
- package/node_modules/hono/dist/utils/types.js +1 -0
- package/node_modules/hono/dist/utils/url.js +187 -215
- package/node_modules/hono/dist/validator/index.js +1 -4
- package/node_modules/hono/dist/validator/utils.js +1 -0
- package/node_modules/hono/dist/validator/validator.js +61 -83
- package/node_modules/hono/package.json +27 -27
- package/node_modules/imapflow/CHANGELOG.md +14 -0
- package/node_modules/imapflow/README.md +2 -0
- package/node_modules/imapflow/dist/cjs/commands/list.js +20 -8
- package/node_modules/imapflow/dist/cjs/errors.d.ts +2 -0
- package/node_modules/imapflow/dist/cjs/errors.js +4 -1
- package/node_modules/imapflow/dist/cjs/handler/imap-stream.js +7 -11
- package/node_modules/imapflow/dist/cjs/imap-flow.js +54 -27
- package/node_modules/imapflow/dist/cjs/logger.d.ts +21 -3
- package/node_modules/imapflow/dist/cjs/logger.js +35 -5
- package/node_modules/imapflow/dist/cjs/package-info.d.ts +1 -1
- package/node_modules/imapflow/dist/cjs/package-info.js +1 -1
- package/node_modules/imapflow/dist/cjs/search-compiler.d.ts +1 -1
- package/node_modules/imapflow/dist/cjs/search-compiler.js +48 -35
- package/node_modules/imapflow/dist/cjs/tools.js +9 -2
- package/node_modules/imapflow/dist/esm/commands/list.js +20 -8
- package/node_modules/imapflow/dist/esm/errors.d.ts +2 -0
- package/node_modules/imapflow/dist/esm/errors.js +4 -1
- package/node_modules/imapflow/dist/esm/handler/imap-stream.js +7 -8
- package/node_modules/imapflow/dist/esm/imap-flow.js +54 -27
- package/node_modules/imapflow/dist/esm/logger.d.ts +21 -3
- package/node_modules/imapflow/dist/esm/logger.js +33 -3
- package/node_modules/imapflow/dist/esm/package-info.d.ts +1 -1
- package/node_modules/imapflow/dist/esm/package-info.js +1 -1
- package/node_modules/imapflow/dist/esm/search-compiler.d.ts +1 -1
- package/node_modules/imapflow/dist/esm/search-compiler.js +49 -36
- package/node_modules/imapflow/dist/esm/tools.js +9 -2
- package/node_modules/imapflow/package.json +5 -5
- package/node_modules/libbase64/.github/workflows/release.yaml +12 -10
- package/node_modules/libbase64/.ncurc.js +7 -1
- package/node_modules/libbase64/CHANGELOG.md +7 -0
- package/node_modules/libbase64/lib/libbase64.js +27 -0
- package/node_modules/libbase64/package.json +4 -4
- package/node_modules/libmime/CHANGELOG.md +14 -0
- package/node_modules/libmime/lib/libmime.js +41 -21
- package/node_modules/libmime/package.json +3 -3
- package/node_modules/libqp/.github/workflows/release.yaml +12 -10
- package/node_modules/libqp/CHANGELOG.md +7 -0
- package/node_modules/libqp/lib/libqp.js +6 -4
- package/node_modules/libqp/package.json +2 -2
- package/node_modules/libqp/test/libqp-test.js +71 -14
- package/package.json +4 -2
- package/packages/cli/dist/.tsbuildinfo +1 -1
- package/packages/cli/dist/commands.d.ts.map +1 -1
- package/packages/cli/dist/commands.js +5 -2
- package/packages/cli/dist/commands.js.map +1 -1
- package/packages/core/dist/.tsbuildinfo +1 -1
- package/packages/core/dist/actions/permissions.d.ts +14 -0
- package/packages/core/dist/actions/permissions.d.ts.map +1 -1
- package/packages/core/dist/actions/permissions.js +15 -0
- package/packages/core/dist/actions/permissions.js.map +1 -1
- package/packages/core/dist/agents/catalog.d.ts +12 -1
- package/packages/core/dist/agents/catalog.d.ts.map +1 -1
- package/packages/core/dist/agents/catalog.js +57 -6
- package/packages/core/dist/agents/catalog.js.map +1 -1
- package/packages/core/dist/agents/delegates.d.ts +54 -0
- package/packages/core/dist/agents/delegates.d.ts.map +1 -0
- package/packages/core/dist/agents/delegates.js +51 -0
- package/packages/core/dist/agents/delegates.js.map +1 -0
- package/packages/core/dist/agents/index.d.ts +1 -0
- package/packages/core/dist/agents/index.d.ts.map +1 -1
- package/packages/core/dist/agents/index.js +1 -0
- package/packages/core/dist/agents/index.js.map +1 -1
- package/packages/core/dist/host/build.d.ts +26 -5
- package/packages/core/dist/host/build.d.ts.map +1 -1
- package/packages/core/dist/host/build.js +72 -0
- package/packages/core/dist/host/build.js.map +1 -1
- package/packages/core/dist/host/types.d.ts +67 -5
- 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/json-schema.d.ts +32 -0
- package/packages/core/dist/json-schema.d.ts.map +1 -0
- package/packages/core/dist/json-schema.js +147 -0
- package/packages/core/dist/json-schema.js.map +1 -0
- package/packages/core/dist/learning/sources.d.ts.map +1 -1
- package/packages/core/dist/learning/sources.js +3 -0
- package/packages/core/dist/learning/sources.js.map +1 -1
- package/packages/core/dist/learning/types.d.ts +4 -3
- package/packages/core/dist/learning/types.d.ts.map +1 -1
- package/packages/core/dist/learning/types.js +1 -1
- package/packages/core/dist/learning/types.js.map +1 -1
- package/packages/core/dist/notifications/index.d.ts +1 -0
- package/packages/core/dist/notifications/index.d.ts.map +1 -1
- package/packages/core/dist/notifications/index.js +1 -0
- package/packages/core/dist/notifications/index.js.map +1 -1
- package/packages/core/dist/notifications/notify.d.ts.map +1 -1
- package/packages/core/dist/notifications/notify.js +47 -5
- package/packages/core/dist/notifications/notify.js.map +1 -1
- package/packages/core/dist/notifications/store.d.ts.map +1 -1
- package/packages/core/dist/notifications/store.js +3 -1
- package/packages/core/dist/notifications/store.js.map +1 -1
- package/packages/core/dist/notifications/topic.d.ts +25 -0
- package/packages/core/dist/notifications/topic.d.ts.map +1 -0
- package/packages/core/dist/notifications/topic.js +116 -0
- package/packages/core/dist/notifications/topic.js.map +1 -0
- package/packages/core/dist/notifications/types.d.ts +4 -0
- package/packages/core/dist/notifications/types.d.ts.map +1 -1
- package/packages/core/dist/onboarding/language-tag.d.ts +12 -0
- package/packages/core/dist/onboarding/language-tag.d.ts.map +1 -0
- package/packages/core/dist/onboarding/language-tag.js +64 -0
- package/packages/core/dist/onboarding/language-tag.js.map +1 -0
- package/packages/core/dist/pages/__fixtures__/demo.d.ts +11 -0
- package/packages/core/dist/pages/__fixtures__/demo.d.ts.map +1 -1
- package/packages/core/dist/pages/__fixtures__/demo.js +23 -1
- package/packages/core/dist/pages/__fixtures__/demo.js.map +1 -1
- package/packages/core/dist/pages.d.ts +19 -0
- package/packages/core/dist/pages.d.ts.map +1 -1
- package/packages/core/dist/pages.js +13 -0
- package/packages/core/dist/pages.js.map +1 -1
- package/packages/core/dist/plugin/index.d.ts +4 -3
- package/packages/core/dist/plugin/index.d.ts.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-accounts.d.ts +31 -0
- package/packages/core/dist/provider-accounts.d.ts.map +1 -1
- package/packages/core/dist/registry.d.ts +37 -1
- package/packages/core/dist/registry.d.ts.map +1 -1
- package/packages/core/dist/registry.js +187 -32
- package/packages/core/dist/registry.js.map +1 -1
- package/packages/core/dist/secrets/scrub.d.ts +2 -0
- package/packages/core/dist/secrets/scrub.d.ts.map +1 -1
- package/packages/core/dist/secrets/scrub.js +29 -0
- package/packages/core/dist/secrets/scrub.js.map +1 -1
- package/packages/core/dist/tools.d.ts +36 -1
- package/packages/core/dist/tools.d.ts.map +1 -1
- package/packages/core/dist/tools.js.map +1 -1
- package/packages/core/dist/views.d.ts +12 -12
- package/packages/core/migrations/050_notification_topic.sql +8 -0
- package/packages/core/package.json +2 -0
- package/packages/gateway/assets/mascot/core-idle.tgs +0 -0
- package/packages/gateway/assets/mascot/core-working.tgs +0 -0
- package/packages/gateway/dist/.tsbuildinfo +1 -1
- package/packages/gateway/dist/agents/canvas.d.ts +2 -2
- package/packages/gateway/dist/agents/canvas.d.ts.map +1 -1
- package/packages/gateway/dist/agents/canvas.js.map +1 -1
- package/packages/gateway/dist/agents/catalog.d.ts.map +1 -1
- package/packages/gateway/dist/agents/catalog.js +15 -6
- package/packages/gateway/dist/agents/catalog.js.map +1 -1
- package/packages/gateway/dist/agents/delegation.d.ts +20 -3
- package/packages/gateway/dist/agents/delegation.d.ts.map +1 -1
- package/packages/gateway/dist/agents/delegation.js +38 -12
- package/packages/gateway/dist/agents/delegation.js.map +1 -1
- package/packages/gateway/dist/agents/platform.d.ts +43 -13
- package/packages/gateway/dist/agents/platform.d.ts.map +1 -1
- package/packages/gateway/dist/agents/platform.js +97 -3
- package/packages/gateway/dist/agents/platform.js.map +1 -1
- package/packages/gateway/dist/agents/starter-team.d.ts +57 -0
- package/packages/gateway/dist/agents/starter-team.d.ts.map +1 -0
- package/packages/gateway/dist/agents/starter-team.js +151 -0
- package/packages/gateway/dist/agents/starter-team.js.map +1 -0
- package/packages/gateway/dist/anthropic-accounts.d.ts.map +1 -1
- package/packages/gateway/dist/anthropic-accounts.js +9 -20
- package/packages/gateway/dist/anthropic-accounts.js.map +1 -1
- package/packages/gateway/dist/bootstrap.d.ts +3 -0
- package/packages/gateway/dist/bootstrap.d.ts.map +1 -1
- package/packages/gateway/dist/bootstrap.js +58 -2
- package/packages/gateway/dist/bootstrap.js.map +1 -1
- package/packages/gateway/dist/codex-accounts.d.ts +7 -1
- package/packages/gateway/dist/codex-accounts.d.ts.map +1 -1
- package/packages/gateway/dist/codex-accounts.js +25 -26
- package/packages/gateway/dist/codex-accounts.js.map +1 -1
- package/packages/gateway/dist/mcp/requests.d.ts +8 -1
- package/packages/gateway/dist/mcp/requests.d.ts.map +1 -1
- package/packages/gateway/dist/mcp/requests.js +8 -1
- package/packages/gateway/dist/mcp/requests.js.map +1 -1
- package/packages/gateway/dist/missions/goals-page.d.ts.map +1 -1
- package/packages/gateway/dist/missions/goals-page.js +57 -0
- package/packages/gateway/dist/missions/goals-page.js.map +1 -1
- package/packages/gateway/dist/plugins/approve.js +45 -9
- package/packages/gateway/dist/plugins/approve.js.map +1 -1
- package/packages/gateway/dist/plugins/load.d.ts.map +1 -1
- package/packages/gateway/dist/plugins/load.js +4 -0
- package/packages/gateway/dist/plugins/load.js.map +1 -1
- package/packages/gateway/dist/plugins/npm.d.ts +5 -1
- package/packages/gateway/dist/plugins/npm.d.ts.map +1 -1
- package/packages/gateway/dist/plugins/npm.js +6 -0
- package/packages/gateway/dist/plugins/npm.js.map +1 -1
- package/packages/gateway/dist/plugins/scaffold.d.ts +15 -4
- package/packages/gateway/dist/plugins/scaffold.d.ts.map +1 -1
- package/packages/gateway/dist/plugins/scaffold.js +86 -16
- package/packages/gateway/dist/plugins/scaffold.js.map +1 -1
- package/packages/gateway/dist/plugins/stage.d.ts +35 -1
- package/packages/gateway/dist/plugins/stage.d.ts.map +1 -1
- package/packages/gateway/dist/plugins/stage.js +134 -8
- package/packages/gateway/dist/plugins/stage.js.map +1 -1
- package/packages/gateway/dist/plugins-cli.d.ts +5 -1
- package/packages/gateway/dist/plugins-cli.d.ts.map +1 -1
- package/packages/gateway/dist/plugins-cli.js +26 -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 +31 -3
- package/packages/gateway/dist/provider-accounts.js.map +1 -1
- package/packages/gateway/dist/provider-diagnostics.d.ts +14 -2
- package/packages/gateway/dist/provider-diagnostics.d.ts.map +1 -1
- package/packages/gateway/dist/provider-diagnostics.js +25 -9
- package/packages/gateway/dist/provider-diagnostics.js.map +1 -1
- package/packages/gateway/dist/telegram/api.d.ts +49 -0
- package/packages/gateway/dist/telegram/api.d.ts.map +1 -1
- package/packages/gateway/dist/telegram/api.js +99 -0
- package/packages/gateway/dist/telegram/api.js.map +1 -1
- package/packages/gateway/dist/telegram/main.d.ts.map +1 -1
- package/packages/gateway/dist/telegram/main.js +17 -0
- package/packages/gateway/dist/telegram/main.js.map +1 -1
- package/packages/gateway/dist/telegram/outbound.d.ts +5 -0
- package/packages/gateway/dist/telegram/outbound.d.ts.map +1 -1
- package/packages/gateway/dist/telegram/outbound.js +10 -0
- package/packages/gateway/dist/telegram/outbound.js.map +1 -1
- package/packages/gateway/dist/telegram/stickers.d.ts +30 -0
- package/packages/gateway/dist/telegram/stickers.d.ts.map +1 -0
- package/packages/gateway/dist/telegram/stickers.js +146 -0
- package/packages/gateway/dist/telegram/stickers.js.map +1 -0
- package/packages/gateway/dist/telegram/surface.d.ts +6 -0
- package/packages/gateway/dist/telegram/surface.d.ts.map +1 -1
- package/packages/gateway/dist/telegram/surface.js +36 -3
- package/packages/gateway/dist/telegram/surface.js.map +1 -1
- package/packages/gateway/dist/tips/engine.d.ts +75 -0
- package/packages/gateway/dist/tips/engine.d.ts.map +1 -0
- package/packages/gateway/dist/tips/engine.js +135 -0
- package/packages/gateway/dist/tips/engine.js.map +1 -0
- package/packages/gateway/dist/tips/facts.d.ts +69 -0
- package/packages/gateway/dist/tips/facts.d.ts.map +1 -0
- package/packages/gateway/dist/tips/facts.js +104 -0
- package/packages/gateway/dist/tips/facts.js.map +1 -0
- package/packages/gateway/dist/tips/route.d.ts +25 -0
- package/packages/gateway/dist/tips/route.d.ts.map +1 -0
- package/packages/gateway/dist/tips/route.js +96 -0
- package/packages/gateway/dist/tips/route.js.map +1 -0
- package/packages/gateway/dist/tips/rules.d.ts +33 -0
- package/packages/gateway/dist/tips/rules.d.ts.map +1 -0
- package/packages/gateway/dist/tips/rules.js +54 -0
- package/packages/gateway/dist/tips/rules.js.map +1 -0
- package/packages/gateway/dist/web/agent-offers.d.ts +30 -0
- package/packages/gateway/dist/web/agent-offers.d.ts.map +1 -1
- package/packages/gateway/dist/web/agent-offers.js +64 -1
- package/packages/gateway/dist/web/agent-offers.js.map +1 -1
- package/packages/gateway/dist/web/connections.d.ts +83 -0
- package/packages/gateway/dist/web/connections.d.ts.map +1 -0
- package/packages/gateway/dist/web/connections.js +270 -0
- package/packages/gateway/dist/web/connections.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 -4
- package/packages/gateway/dist/web/onboarding.js.map +1 -1
- package/packages/gateway/dist/web/plugins.d.ts +12 -0
- package/packages/gateway/dist/web/plugins.d.ts.map +1 -1
- package/packages/gateway/dist/web/plugins.js +12 -2
- package/packages/gateway/dist/web/plugins.js.map +1 -1
- package/packages/gateway/dist/web/profile.js +3 -2
- package/packages/gateway/dist/web/profile.js.map +1 -1
- package/packages/gateway/dist/web/read.d.ts +6 -0
- package/packages/gateway/dist/web/read.d.ts.map +1 -1
- package/packages/gateway/dist/web/read.js +11 -4
- package/packages/gateway/dist/web/read.js.map +1 -1
- package/packages/gateway/dist/web/server.d.ts +6 -0
- package/packages/gateway/dist/web/server.d.ts.map +1 -1
- package/packages/gateway/dist/web/server.js +71 -2
- package/packages/gateway/dist/web/server.js.map +1 -1
- package/packages/gateway/dist/web/static.d.ts.map +1 -1
- package/packages/gateway/dist/web/static.js +1 -0
- package/packages/gateway/dist/web/static.js.map +1 -1
- package/packages/gateway/dist/web/version.d.ts +2 -0
- package/packages/gateway/dist/web/version.d.ts.map +1 -1
- package/packages/gateway/dist/web/version.js +27 -0
- package/packages/gateway/dist/web/version.js.map +1 -1
- package/packages/gateway/dist/web/write.d.ts +5 -0
- package/packages/gateway/dist/web/write.d.ts.map +1 -1
- package/packages/gateway/dist/web/write.js +20 -1
- package/packages/gateway/dist/web/write.js.map +1 -1
- package/packages/gateway/package.json +4 -1
- package/packages/gateway/src/agents/starter/keeper/agent.md +31 -0
- package/packages/gateway/src/agents/starter/keeper/skills/keeping-a-history.md +22 -0
- package/packages/gateway/src/agents/starter/planner/agent.md +30 -0
- package/packages/gateway/src/agents/starter/planner/skills/holding-a-follow-up.md +17 -0
- package/packages/gateway/src/agents/starter/planner/skills/writing-the-morning-brief.md +25 -0
- package/packages/gateway/src/agents/starter/scout/agent.md +33 -0
- package/packages/gateway/src/agents/starter/scout/skills/answering-with-sources.md +23 -0
- package/packages/gateway/src/agents/starter/scout/skills/the-web-is-evidence.md +25 -0
- package/packages/install/dist/.tsbuildinfo +1 -1
- package/packages/runtime/dist/.tsbuildinfo +1 -1
- package/packages/runtime/dist/anthropic-oauth.d.ts.map +1 -1
- package/packages/runtime/dist/anthropic-oauth.js +38 -73
- package/packages/runtime/dist/anthropic-oauth.js.map +1 -1
- package/packages/runtime/dist/codex-direct.d.ts +39 -0
- package/packages/runtime/dist/codex-direct.d.ts.map +1 -1
- package/packages/runtime/dist/codex-direct.js +122 -0
- package/packages/runtime/dist/codex-direct.js.map +1 -1
- package/packages/runtime/dist/codex-oauth.d.ts +0 -12
- package/packages/runtime/dist/codex-oauth.d.ts.map +1 -1
- package/packages/runtime/dist/codex-oauth.js +32 -45
- package/packages/runtime/dist/codex-oauth.js.map +1 -1
- package/packages/runtime/dist/delegate.d.ts.map +1 -1
- package/packages/runtime/dist/delegate.js +4 -2
- package/packages/runtime/dist/delegate.js.map +1 -1
- package/packages/runtime/dist/index.d.ts +2 -0
- package/packages/runtime/dist/index.d.ts.map +1 -1
- package/packages/runtime/dist/index.js +2 -0
- package/packages/runtime/dist/index.js.map +1 -1
- package/packages/runtime/dist/oauth-port.d.ts +68 -0
- package/packages/runtime/dist/oauth-port.d.ts.map +1 -0
- package/packages/runtime/dist/oauth-port.js +51 -0
- package/packages/runtime/dist/oauth-port.js.map +1 -0
- package/packages/runtime/dist/oauth.d.ts +255 -0
- package/packages/runtime/dist/oauth.d.ts.map +1 -0
- package/packages/runtime/dist/oauth.js +535 -0
- package/packages/runtime/dist/oauth.js.map +1 -0
- package/packages/tools/artifacts/dist/.tsbuildinfo +1 -1
- package/packages/tools/browser/dist/.tsbuildinfo +1 -1
- package/packages/tools/email/dist/.tsbuildinfo +1 -1
- package/packages/tools/email/dist/types.d.ts +2 -2
- package/packages/tools/email/dist/types.d.ts.map +1 -1
- package/packages/tools/host/dist/.tsbuildinfo +1 -1
- package/packages/tools/mcp/dist/.tsbuildinfo +1 -0
- package/packages/tools/mcp/dist/catalog.d.ts +26 -0
- package/packages/tools/mcp/dist/catalog.d.ts.map +1 -0
- package/packages/tools/mcp/dist/catalog.js +17 -0
- package/packages/tools/mcp/dist/catalog.js.map +1 -0
- package/packages/tools/mcp/dist/fetch.d.ts +44 -0
- package/packages/tools/mcp/dist/fetch.d.ts.map +1 -0
- package/packages/tools/mcp/dist/fetch.js +88 -0
- package/packages/tools/mcp/dist/fetch.js.map +1 -0
- package/packages/tools/mcp/dist/index.d.ts +27 -0
- package/packages/tools/mcp/dist/index.d.ts.map +1 -0
- package/packages/tools/mcp/dist/index.js +74 -0
- package/packages/tools/mcp/dist/index.js.map +1 -0
- package/packages/tools/mcp/dist/output.d.ts +38 -0
- package/packages/tools/mcp/dist/output.d.ts.map +1 -0
- package/packages/tools/mcp/dist/output.js +90 -0
- package/packages/tools/mcp/dist/output.js.map +1 -0
- package/packages/tools/mcp/dist/ports.d.ts +105 -0
- package/packages/tools/mcp/dist/ports.d.ts.map +1 -0
- package/packages/tools/mcp/dist/ports.js +9 -0
- package/packages/tools/mcp/dist/ports.js.map +1 -0
- package/packages/tools/mcp/dist/service.d.ts +220 -0
- package/packages/tools/mcp/dist/service.d.ts.map +1 -0
- package/packages/tools/mcp/dist/service.js +742 -0
- package/packages/tools/mcp/dist/service.js.map +1 -0
- package/packages/tools/mcp/dist/session.d.ts +50 -0
- package/packages/tools/mcp/dist/session.d.ts.map +1 -0
- package/packages/tools/mcp/dist/session.js +108 -0
- package/packages/tools/mcp/dist/session.js.map +1 -0
- package/packages/tools/mcp/dist/store.d.ts +70 -0
- package/packages/tools/mcp/dist/store.d.ts.map +1 -0
- package/packages/tools/mcp/dist/store.js +78 -0
- package/packages/tools/mcp/dist/store.js.map +1 -0
- package/packages/tools/mcp/dist/testing/fake.d.ts +51 -0
- package/packages/tools/mcp/dist/testing/fake.d.ts.map +1 -0
- package/packages/tools/mcp/dist/testing/fake.js +147 -0
- package/packages/tools/mcp/dist/testing/fake.js.map +1 -0
- package/packages/tools/mcp/dist/tiers.d.ts +51 -0
- package/packages/tools/mcp/dist/tiers.d.ts.map +1 -0
- package/packages/tools/mcp/dist/tiers.js +106 -0
- package/packages/tools/mcp/dist/tiers.js.map +1 -0
- package/packages/tools/mcp/dist/tokens.d.ts +35 -0
- package/packages/tools/mcp/dist/tokens.d.ts.map +1 -0
- package/packages/tools/mcp/dist/tokens.js +75 -0
- package/packages/tools/mcp/dist/tokens.js.map +1 -0
- package/packages/tools/mcp/migrations/001_connections.sql +49 -0
- package/packages/tools/mcp/migrations/002_review_again.sql +15 -0
- package/packages/tools/mcp/package.json +34 -0
- package/packages/tools/memory/dist/.tsbuildinfo +1 -1
- package/packages/tools/web/dist/.tsbuildinfo +1 -1
- package/packages/web/dist/apple-touch-icon.png +0 -0
- package/packages/web/dist/assets/index-CBEdA2dN.js +125 -0
- package/packages/web/dist/assets/index-Ddp9egOQ.css +1 -0
- package/packages/web/dist/assets/lottie_light-BCNsQpt8.js +9 -0
- package/packages/web/dist/build.json +1 -0
- package/packages/web/dist/icon-192.png +0 -0
- package/packages/web/dist/icon-512.png +0 -0
- package/packages/web/dist/icon-maskable-512.png +0 -0
- package/packages/web/dist/index.html +6 -3
- package/packages/web/dist/manifest.webmanifest +16 -0
- package/packages/web/dist/mascot/README.md +5 -0
- package/packages/web/dist/mascot/anim/core-idle.json +1 -0
- package/packages/web/dist/mascot/anim/core-working.json +1 -0
- package/packages/web/dist/precache.json +28 -0
- package/packages/web/dist/sw.js +99 -0
- package/packages/web/dist/assets/index-D5cRFcgm.css +0 -1
- package/packages/web/dist/assets/index-GCFB1vBV.js +0 -125
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/tips/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/** The `core.web_settings` key the dashboard's page views are kept under. */
|
|
2
|
+
export declare const TIPS_PAGES_KEY = "tips.pages";
|
|
3
|
+
/** How many distinct pages are remembered; the oldest seen goes first. */
|
|
4
|
+
export declare const TIPS_PAGES_CAP = 64;
|
|
5
|
+
export interface Facts {
|
|
6
|
+
/** Whole days since the installation was first set up. */
|
|
7
|
+
daysSinceInstall: number;
|
|
8
|
+
/** First run is still going: no tip then. */
|
|
9
|
+
firstRun: boolean;
|
|
10
|
+
/** The owner's agents, the maker left out. */
|
|
11
|
+
agents: number;
|
|
12
|
+
agentIds: Set<string>;
|
|
13
|
+
/** Groups not archived. */
|
|
14
|
+
groups: number;
|
|
15
|
+
/** Installed plugin names. */
|
|
16
|
+
plugins: Set<string>;
|
|
17
|
+
/** The email plugin has at least one mailbox. */
|
|
18
|
+
mailboxSet: boolean;
|
|
19
|
+
/** Somebody reads the mail: Mail Triage is on the team. */
|
|
20
|
+
mailAgent: boolean;
|
|
21
|
+
speechInstalled: boolean;
|
|
22
|
+
/** The owner ever spoke to buddi (a recording) or an agent ever used speech. */
|
|
23
|
+
voiceUsed: boolean;
|
|
24
|
+
missions: number;
|
|
25
|
+
telegramPaired: boolean;
|
|
26
|
+
browserUsed: boolean;
|
|
27
|
+
toolsUsed: Set<string>;
|
|
28
|
+
pagesVisited: Set<string>;
|
|
29
|
+
}
|
|
30
|
+
interface Queryable {
|
|
31
|
+
query(sql: string, params?: unknown[]): Promise<{
|
|
32
|
+
rows: any[];
|
|
33
|
+
}>;
|
|
34
|
+
}
|
|
35
|
+
export interface FactsDeps {
|
|
36
|
+
pool: Queryable;
|
|
37
|
+
now: () => Date;
|
|
38
|
+
/** The roster as the catalog holds it now. */
|
|
39
|
+
agents: () => ReadonlyArray<{
|
|
40
|
+
id: string;
|
|
41
|
+
roles?: readonly string[];
|
|
42
|
+
}>;
|
|
43
|
+
/** Installed plugin names. */
|
|
44
|
+
plugins: () => readonly string[];
|
|
45
|
+
/** Whether the email plugin has a mailbox; its own page query answers it. */
|
|
46
|
+
mailboxSet: () => Promise<boolean>;
|
|
47
|
+
}
|
|
48
|
+
/** Mail Triage's agent id, as the email plugin proposes it. */
|
|
49
|
+
export declare const MAIL_AGENT_ID = "mail-triage";
|
|
50
|
+
/** The slice of `core.web_settings` the tips read and write; a map in tests. */
|
|
51
|
+
export interface SettingsStore {
|
|
52
|
+
read<T>(key: string): Promise<T | null>;
|
|
53
|
+
write(key: string, value: unknown): Promise<void>;
|
|
54
|
+
}
|
|
55
|
+
/** `core.web_settings`, as a `SettingsStore`. */
|
|
56
|
+
export declare function webSettingsStore(pool: Queryable): SettingsStore;
|
|
57
|
+
/** The pages the dashboard said it opened, page → the day it last said so. */
|
|
58
|
+
export declare function readPagesSeen(store: SettingsStore): Promise<Record<string, string>>;
|
|
59
|
+
/** A page name the dashboard may report: its route, without the `#/`, short. */
|
|
60
|
+
export declare const PAGE_NAME: RegExp;
|
|
61
|
+
/**
|
|
62
|
+
* Remember one page seen on one day. Once a day per page: a second report the
|
|
63
|
+
* same day writes nothing. Capped: past `TIPS_PAGES_CAP` the page seen longest
|
|
64
|
+
* ago is forgotten.
|
|
65
|
+
*/
|
|
66
|
+
export declare function recordPageSeen(store: SettingsStore, page: string, day: string): Promise<boolean>;
|
|
67
|
+
export declare function readFacts(deps: FactsDeps): Promise<Facts>;
|
|
68
|
+
export {};
|
|
69
|
+
//# sourceMappingURL=facts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"facts.d.ts","sourceRoot":"","sources":["../../src/tips/facts.ts"],"names":[],"mappings":"AAaA,6EAA6E;AAC7E,eAAO,MAAM,cAAc,eAAe,CAAC;AAC3C,0EAA0E;AAC1E,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC,MAAM,WAAW,KAAK;IACpB,0DAA0D;IAC1D,gBAAgB,EAAE,MAAM,CAAC;IACzB,6CAA6C;IAC7C,QAAQ,EAAE,OAAO,CAAC;IAClB,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,iDAAiD;IACjD,UAAU,EAAE,OAAO,CAAC;IACpB,2DAA2D;IAC3D,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,gFAAgF;IAChF,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC3B;AAED,UAAU,SAAS;IACjB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC,CAAC;CAClE;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB,8CAA8C;IAC9C,MAAM,EAAE,MAAM,aAAa,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACvE,8BAA8B;IAC9B,OAAO,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;IACjC,6EAA6E;IAC7E,UAAU,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACpC;AAED,+DAA+D;AAC/D,eAAO,MAAM,aAAa,gBAAgB,CAAC;AAgB3C,gFAAgF;AAChF,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACxC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD;AAED,iDAAiD;AACjD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,aAAa,CAK/D;AAED,8EAA8E;AAC9E,wBAAsB,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAWzF;AAED,gFAAgF;AAChF,eAAO,MAAM,SAAS,QAAiC,CAAC;AAExD;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOtG;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CA6C/D"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What the tips are decided on (docs/dashboard.md, Home): a handful of facts
|
|
3
|
+
* about this installation, read from what already exists. Nothing here is
|
|
4
|
+
* recorded for the tips' sake except the pages the dashboard reports it
|
|
5
|
+
* opened (`tips.pages`), which nothing else knew.
|
|
6
|
+
*
|
|
7
|
+
* Every read is forgiving: a table a plugin owns may not be there, and a
|
|
8
|
+
* failed read is the quiet answer ("not used", "none"), so a broken query can
|
|
9
|
+
* only ever hold a tip back, never raise one.
|
|
10
|
+
*/
|
|
11
|
+
import { readWebSetting, writeWebSetting } from '@buddi/core';
|
|
12
|
+
import { ROLE_MAKER } from '../agents/roles.js';
|
|
13
|
+
/** The `core.web_settings` key the dashboard's page views are kept under. */
|
|
14
|
+
export const TIPS_PAGES_KEY = 'tips.pages';
|
|
15
|
+
/** How many distinct pages are remembered; the oldest seen goes first. */
|
|
16
|
+
export const TIPS_PAGES_CAP = 64;
|
|
17
|
+
/** Mail Triage's agent id, as the email plugin proposes it. */
|
|
18
|
+
export const MAIL_AGENT_ID = 'mail-triage';
|
|
19
|
+
const DAY_MS = 86_400_000;
|
|
20
|
+
async function rows(pool, sql, params = []) {
|
|
21
|
+
try {
|
|
22
|
+
return (await pool.query(sql, params)).rows;
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
return [];
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
async function count(pool, sql) {
|
|
29
|
+
const [row] = await rows(pool, sql);
|
|
30
|
+
return Number(row?.n ?? 0) || 0;
|
|
31
|
+
}
|
|
32
|
+
/** `core.web_settings`, as a `SettingsStore`. */
|
|
33
|
+
export function webSettingsStore(pool) {
|
|
34
|
+
return {
|
|
35
|
+
read: (key) => readWebSetting(pool, key),
|
|
36
|
+
write: (key, value) => writeWebSetting(pool, key, value),
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
/** The pages the dashboard said it opened, page → the day it last said so. */
|
|
40
|
+
export async function readPagesSeen(store) {
|
|
41
|
+
try {
|
|
42
|
+
const value = await store.read(TIPS_PAGES_KEY);
|
|
43
|
+
const out = {};
|
|
44
|
+
if (value && typeof value === 'object' && !Array.isArray(value)) {
|
|
45
|
+
for (const [page, day] of Object.entries(value))
|
|
46
|
+
if (typeof day === 'string')
|
|
47
|
+
out[page] = day;
|
|
48
|
+
}
|
|
49
|
+
return out;
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
return {};
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/** A page name the dashboard may report: its route, without the `#/`, short. */
|
|
56
|
+
export const PAGE_NAME = /^[a-z0-9][a-z0-9._/-]{0,63}$/;
|
|
57
|
+
/**
|
|
58
|
+
* Remember one page seen on one day. Once a day per page: a second report the
|
|
59
|
+
* same day writes nothing. Capped: past `TIPS_PAGES_CAP` the page seen longest
|
|
60
|
+
* ago is forgotten.
|
|
61
|
+
*/
|
|
62
|
+
export async function recordPageSeen(store, page, day) {
|
|
63
|
+
const seen = await readPagesSeen(store);
|
|
64
|
+
if (seen[page] === day)
|
|
65
|
+
return false;
|
|
66
|
+
seen[page] = day;
|
|
67
|
+
const entries = Object.entries(seen).sort((a, b) => b[1].localeCompare(a[1]) || a[0].localeCompare(b[0]));
|
|
68
|
+
await store.write(TIPS_PAGES_KEY, Object.fromEntries(entries.slice(0, TIPS_PAGES_CAP)));
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
export async function readFacts(deps) {
|
|
72
|
+
const { pool } = deps;
|
|
73
|
+
const roster = deps.agents().filter((a) => !(a.roles ?? []).includes(ROLE_MAKER));
|
|
74
|
+
const agentIds = new Set(roster.map((a) => a.id));
|
|
75
|
+
const plugins = new Set(deps.plugins());
|
|
76
|
+
const [install] = await rows(pool, `select least((select min(created_at) from core.owner),
|
|
77
|
+
(select min(started_at) from core.onboarding)) as at`);
|
|
78
|
+
const installedAt = install?.at ? new Date(install.at) : deps.now();
|
|
79
|
+
const daysSinceInstall = Math.max(0, Math.floor((deps.now().getTime() - installedAt.getTime()) / DAY_MS));
|
|
80
|
+
const [onboarding] = await rows(pool, `select state from core.onboarding limit 1`);
|
|
81
|
+
const firstRun = !onboarding || (onboarding.state !== 'done' && onboarding.state !== 'skipped');
|
|
82
|
+
const toolsUsed = new Set((await rows(pool, `select distinct payload->>'name' as name from core.events where kind = 'tool.called'`))
|
|
83
|
+
.map((r) => r.name)
|
|
84
|
+
.filter((n) => typeof n === 'string'));
|
|
85
|
+
const recorded = await count(pool, `select count(*)::int as n from core.artifacts where kind = 'audio' and created_by = 'owner' and deleted_at is null`);
|
|
86
|
+
return {
|
|
87
|
+
daysSinceInstall,
|
|
88
|
+
firstRun,
|
|
89
|
+
agents: roster.length,
|
|
90
|
+
agentIds,
|
|
91
|
+
groups: await count(pool, `select count(*)::int as n from core.groups where archived_at is null`),
|
|
92
|
+
plugins,
|
|
93
|
+
mailboxSet: plugins.has('email') ? await deps.mailboxSet().catch(() => false) : false,
|
|
94
|
+
mailAgent: agentIds.has(MAIL_AGENT_ID),
|
|
95
|
+
speechInstalled: plugins.has('speech'),
|
|
96
|
+
voiceUsed: recorded > 0 || [...toolsUsed].some((t) => t.startsWith('speech.')),
|
|
97
|
+
missions: await count(pool, `select count(*)::int as n from core.missions`),
|
|
98
|
+
telegramPaired: (await count(pool, `select count(*)::int as n from core.surface_identities where surface = 'telegram'`)) > 0,
|
|
99
|
+
browserUsed: [...toolsUsed].some((t) => t.startsWith('browser.')),
|
|
100
|
+
toolsUsed,
|
|
101
|
+
pagesVisited: new Set(Object.keys(await readPagesSeen(webSettingsStore(pool)))),
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=facts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"facts.js","sourceRoot":"","sources":["../../src/tips/facts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type Facts, type SettingsStore } from './facts.js';
|
|
2
|
+
import { type TipRule } from './rules.js';
|
|
3
|
+
export declare const TIPS_STATE_KEY = "tips.state";
|
|
4
|
+
export declare const TIPS_ENABLED_KEY = "tips.enabled";
|
|
5
|
+
export interface TipsRouteDeps {
|
|
6
|
+
store: SettingsStore;
|
|
7
|
+
facts: () => Promise<Facts>;
|
|
8
|
+
now: () => Date;
|
|
9
|
+
timezone: string;
|
|
10
|
+
/** The rules; `TIPS` unless a test passes its own. */
|
|
11
|
+
rules?: readonly TipRule[];
|
|
12
|
+
}
|
|
13
|
+
export interface TipsReply {
|
|
14
|
+
status: number;
|
|
15
|
+
body: unknown;
|
|
16
|
+
}
|
|
17
|
+
/** Whether tips are on. Anything but an explicit `false` is on. */
|
|
18
|
+
export declare function tipsEnabled(store: SettingsStore): Promise<boolean>;
|
|
19
|
+
export declare function tipsRoute(deps: TipsRouteDeps, request: {
|
|
20
|
+
method: string;
|
|
21
|
+
path: string;
|
|
22
|
+
body?: Record<string, unknown>;
|
|
23
|
+
preview?: string | null;
|
|
24
|
+
}): Promise<TipsReply>;
|
|
25
|
+
//# sourceMappingURL=route.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../src/tips/route.ts"],"names":[],"mappings":"AAgBA,OAAO,EAA6B,KAAK,KAAK,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AACvF,OAAO,EAAQ,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAEhD,eAAO,MAAM,cAAc,eAAe,CAAC;AAC3C,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAE/C,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5B,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,KAAK,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;CACf;AAOD,mEAAmE;AACnE,wBAAsB,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAGxE;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACjG,OAAO,CAAC,SAAS,CAAC,CA6DpB"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The tips' routes (docs/dashboard.md, Home):
|
|
3
|
+
*
|
|
4
|
+
* GET /api/tips { tips: [...rows], enabled } every rule and where it stands (the Tips list)
|
|
5
|
+
* GET /api/tips/current { tip | null, enabled } today's tip, if any
|
|
6
|
+
* POST /api/tips/:id/dismiss "Not this again": never again
|
|
7
|
+
* POST /api/tips/:id/later ×: not before its cooldown has passed
|
|
8
|
+
* POST /api/tips/:id/restore "Bring back": forget a dismissal
|
|
9
|
+
* POST /api/tips/seen-page { page } the dashboard opened a page (once a day each)
|
|
10
|
+
* GET /api/tips/settings { enabled }
|
|
11
|
+
* PUT /api/tips/settings { enabled } Settings → Notifications → Tips on Home
|
|
12
|
+
*
|
|
13
|
+
* State lives in `core.web_settings`: `tips.state` (the engine's), `tips.enabled`
|
|
14
|
+
* (absent is on) and `tips.pages`.
|
|
15
|
+
*/
|
|
16
|
+
import { dayIn, dismissTip, laterTip, listTips, pickTip, restoreTip } from './engine.js';
|
|
17
|
+
import { PAGE_NAME, recordPageSeen } from './facts.js';
|
|
18
|
+
import { TIPS } from './rules.js';
|
|
19
|
+
export const TIPS_STATE_KEY = 'tips.state';
|
|
20
|
+
export const TIPS_ENABLED_KEY = 'tips.enabled';
|
|
21
|
+
async function readState(store) {
|
|
22
|
+
const value = await store.read(TIPS_STATE_KEY).catch(() => null);
|
|
23
|
+
return value && typeof value === 'object' && !Array.isArray(value) ? value : {};
|
|
24
|
+
}
|
|
25
|
+
/** Whether tips are on. Anything but an explicit `false` is on. */
|
|
26
|
+
export async function tipsEnabled(store) {
|
|
27
|
+
const value = await store.read(TIPS_ENABLED_KEY).catch(() => null);
|
|
28
|
+
return value !== false;
|
|
29
|
+
}
|
|
30
|
+
export async function tipsRoute(deps, request) {
|
|
31
|
+
const { method, path } = request;
|
|
32
|
+
const body = request.body ?? {};
|
|
33
|
+
const rules = deps.rules ?? TIPS;
|
|
34
|
+
const today = dayIn(deps.now(), deps.timezone);
|
|
35
|
+
if (path === '/api/tips/settings') {
|
|
36
|
+
if (method === 'PUT') {
|
|
37
|
+
if (typeof body.enabled !== 'boolean')
|
|
38
|
+
return { status: 400, body: { error: '`enabled` must be true or false.' } };
|
|
39
|
+
await deps.store.write(TIPS_ENABLED_KEY, body.enabled);
|
|
40
|
+
}
|
|
41
|
+
else if (method !== 'GET') {
|
|
42
|
+
return { status: 405, body: { error: 'GET or PUT.' } };
|
|
43
|
+
}
|
|
44
|
+
return { status: 200, body: { enabled: await tipsEnabled(deps.store) } };
|
|
45
|
+
}
|
|
46
|
+
if (path === '/api/tips') {
|
|
47
|
+
if (method !== 'GET')
|
|
48
|
+
return { status: 405, body: { error: 'GET only.' } };
|
|
49
|
+
// Reads only: listing never marks a tip shown. It reads while tips are off too.
|
|
50
|
+
const tips = listTips(rules, await deps.facts(), await readState(deps.store), today);
|
|
51
|
+
return { status: 200, body: { tips, enabled: await tipsEnabled(deps.store) } };
|
|
52
|
+
}
|
|
53
|
+
if (path === '/api/tips/current') {
|
|
54
|
+
if (method !== 'GET')
|
|
55
|
+
return { status: 405, body: { error: 'GET only.' } };
|
|
56
|
+
// `?preview=<id>` shows one rule's card as it would look, touching no state:
|
|
57
|
+
// for eyeballing copy and layout on Home (`#/?tip=<id>`).
|
|
58
|
+
const preview = request.preview ?? null;
|
|
59
|
+
if (preview !== null) {
|
|
60
|
+
const rule = rules.find((r) => r.id === preview);
|
|
61
|
+
return rule
|
|
62
|
+
? { status: 200, body: { tip: { id: rule.id, text: rule.text, action: { ...rule.action } }, enabled: true, preview: true } }
|
|
63
|
+
: { status: 404, body: { error: `No tip called "${preview}". Known: ${rules.map((r) => r.id).join(', ')}.` } };
|
|
64
|
+
}
|
|
65
|
+
if (!(await tipsEnabled(deps.store)))
|
|
66
|
+
return { status: 200, body: { tip: null, enabled: false } };
|
|
67
|
+
const previous = await readState(deps.store);
|
|
68
|
+
const { tip, state } = pickTip(rules, await deps.facts(), previous, today);
|
|
69
|
+
if (JSON.stringify(state) !== JSON.stringify(previous))
|
|
70
|
+
await deps.store.write(TIPS_STATE_KEY, state);
|
|
71
|
+
return { status: 200, body: { tip, enabled: true } };
|
|
72
|
+
}
|
|
73
|
+
if (path === '/api/tips/seen-page') {
|
|
74
|
+
if (method !== 'POST')
|
|
75
|
+
return { status: 405, body: { error: 'POST only.' } };
|
|
76
|
+
const page = typeof body.page === 'string' ? body.page.trim().toLowerCase() : '';
|
|
77
|
+
if (!PAGE_NAME.test(page))
|
|
78
|
+
return { status: 400, body: { error: '`page` must name a page.' } };
|
|
79
|
+
await recordPageSeen(deps.store, page, today);
|
|
80
|
+
return { status: 200, body: { ok: true } };
|
|
81
|
+
}
|
|
82
|
+
const act = /^\/api\/tips\/([a-z0-9-]+)\/(dismiss|later|restore)$/.exec(path);
|
|
83
|
+
if (act) {
|
|
84
|
+
if (method !== 'POST')
|
|
85
|
+
return { status: 405, body: { error: 'POST only.' } };
|
|
86
|
+
const id = act[1];
|
|
87
|
+
if (!rules.some((rule) => rule.id === id))
|
|
88
|
+
return { status: 404, body: { error: `There is no tip "${id}".` } };
|
|
89
|
+
const previous = await readState(deps.store);
|
|
90
|
+
const next = act[2] === 'dismiss' ? dismissTip(previous, id, today) : act[2] === 'restore' ? restoreTip(previous, id) : laterTip(previous, id, today);
|
|
91
|
+
await deps.store.write(TIPS_STATE_KEY, next);
|
|
92
|
+
return { status: 200, body: { ok: true } };
|
|
93
|
+
}
|
|
94
|
+
return { status: 404, body: { error: 'No such tips route.' } };
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=route.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../src/tips/route.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The tips, as data (docs/dashboard.md, Home).
|
|
3
|
+
*
|
|
4
|
+
* One entry per tip. Adding a tip is adding an entry here and a case to
|
|
5
|
+
* `RULE_CASES` in `rules.test.ts`, which fails for a rule without one. Each is
|
|
6
|
+
* one sentence in buddi's voice and one action; the engine (`engine.ts`)
|
|
7
|
+
* decides which, if any, Home shows today.
|
|
8
|
+
*/
|
|
9
|
+
import type { Facts } from './facts.js';
|
|
10
|
+
export interface TipAction {
|
|
11
|
+
label: string;
|
|
12
|
+
/** A dashboard hash, `#/…`. */
|
|
13
|
+
route: string;
|
|
14
|
+
}
|
|
15
|
+
export interface TipRule {
|
|
16
|
+
id: string;
|
|
17
|
+
/** Whether the tip applies now. */
|
|
18
|
+
when: (facts: Facts) => boolean;
|
|
19
|
+
/** How many days `when` must have held before the tip may show. */
|
|
20
|
+
holdsForDays: number;
|
|
21
|
+
text: string;
|
|
22
|
+
action: TipAction;
|
|
23
|
+
/** Days before a tip shown, or put off with ×, may show again. */
|
|
24
|
+
cooldownDays: number;
|
|
25
|
+
/**
|
|
26
|
+
* The plugin the tip is about. A tip about a plugin that is not installed
|
|
27
|
+
* never shows, unless `installs` says its action is the way to install it.
|
|
28
|
+
*/
|
|
29
|
+
plugin?: string;
|
|
30
|
+
installs?: boolean;
|
|
31
|
+
}
|
|
32
|
+
export declare const TIPS: readonly TipRule[];
|
|
33
|
+
//# sourceMappingURL=rules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../src/tips/rules.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,mCAAmC;IACnC,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC;IAChC,mEAAmE;IACnE,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,CAAC;IAClB,kEAAkE;IAClE,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,IAAI,EAAE,SAAS,OAAO,EAoDlC,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export const TIPS = [
|
|
2
|
+
{
|
|
3
|
+
id: 'second-agent',
|
|
4
|
+
when: (f) => f.agents < 2 && f.daysSinceInstall >= 3,
|
|
5
|
+
holdsForDays: 1,
|
|
6
|
+
text: 'I am doing everything on my own so far. A teammate can take one whole job, your research or your day, off my desk.',
|
|
7
|
+
action: { label: 'Add a teammate', route: '#/agents' },
|
|
8
|
+
cooldownDays: 7,
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
id: 'make-group',
|
|
12
|
+
when: (f) => f.agents >= 3 && f.groups === 0,
|
|
13
|
+
holdsForDays: 1,
|
|
14
|
+
text: 'You have three agents now. Put them in a group and they work one question together, each on the part they know.',
|
|
15
|
+
action: { label: 'Make a group', route: '#/chat?group=new' },
|
|
16
|
+
cooldownDays: 7,
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
id: 'mail-triage',
|
|
20
|
+
when: (f) => f.mailboxSet && !f.mailAgent,
|
|
21
|
+
holdsForDays: 1,
|
|
22
|
+
text: 'Your mailbox is connected, but nobody reads it yet. Mail Triage would, and bring you only what needs you.',
|
|
23
|
+
action: { label: 'Meet Mail Triage', route: '#/settings/p.email.settings' },
|
|
24
|
+
cooldownDays: 7,
|
|
25
|
+
plugin: 'email',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
id: 'voice-note',
|
|
29
|
+
when: (f) => f.speechInstalled && !f.voiceUsed,
|
|
30
|
+
holdsForDays: 1,
|
|
31
|
+
text: 'You can talk to me instead of typing. Press the microphone in any chat and just say it.',
|
|
32
|
+
action: { label: 'Send a voice note', route: '#/chat' },
|
|
33
|
+
cooldownDays: 7,
|
|
34
|
+
plugin: 'speech',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
id: 'morning-brief',
|
|
38
|
+
when: (f) => f.missions === 0 && f.daysSinceInstall >= 7 && f.agentIds.has('planner'),
|
|
39
|
+
holdsForDays: 1,
|
|
40
|
+
text: 'Nothing runs on its own yet. Planner can have your day waiting for you every morning.',
|
|
41
|
+
action: { label: 'Ask Planner for a morning brief', route: '#/chat/planner' },
|
|
42
|
+
cooldownDays: 7,
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
id: 'open-website',
|
|
46
|
+
when: (f) => !f.browserUsed && f.daysSinceInstall >= 2,
|
|
47
|
+
holdsForDays: 1,
|
|
48
|
+
text: 'I can open a website, read it and tell you what matters. Try it with one you check every day.',
|
|
49
|
+
action: { label: 'Ask buddi to open a website', route: '#/chat' },
|
|
50
|
+
cooldownDays: 7,
|
|
51
|
+
plugin: 'browser',
|
|
52
|
+
},
|
|
53
|
+
];
|
|
54
|
+
//# sourceMappingURL=rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/tips/rules.ts"],"names":[],"mappings":"AAkCA,MAAM,CAAC,MAAM,IAAI,GAAuB;IACtC;QACE,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,gBAAgB,IAAI,CAAC;QACpD,YAAY,EAAE,CAAC;QACf,IAAI,EAAE,oHAAoH;QAC1H,MAAM,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,UAAU,EAAE;QACtD,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAC5C,YAAY,EAAE,CAAC;QACf,IAAI,EAAE,iHAAiH;QACvH,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,kBAAkB,EAAE;QAC5D,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,SAAS;QACzC,YAAY,EAAE,CAAC;QACf,IAAI,EAAE,2GAA2G;QACjH,MAAM,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,6BAA6B,EAAE;QAC3E,YAAY,EAAE,CAAC;QACf,MAAM,EAAE,OAAO;KAChB;IACD;QACE,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC,SAAS;QAC9C,YAAY,EAAE,CAAC;QACf,IAAI,EAAE,yFAAyF;QAC/F,MAAM,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,QAAQ,EAAE;QACvD,YAAY,EAAE,CAAC;QACf,MAAM,EAAE,QAAQ;KACjB;IACD;QACE,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;QACrF,YAAY,EAAE,CAAC;QACf,IAAI,EAAE,uFAAuF;QAC7F,MAAM,EAAE,EAAE,KAAK,EAAE,iCAAiC,EAAE,KAAK,EAAE,gBAAgB,EAAE;QAC7E,YAAY,EAAE,CAAC;KAChB;IACD;QACE,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,gBAAgB,IAAI,CAAC;QACtD,YAAY,EAAE,CAAC;QACf,IAAI,EAAE,+FAA+F;QACrG,MAAM,EAAE,EAAE,KAAK,EAAE,6BAA6B,EAAE,KAAK,EAAE,QAAQ,EAAE;QACjE,YAAY,EAAE,CAAC;QACf,MAAM,EAAE,SAAS;KAClB;CACF,CAAC"}
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { type ActionRecord } from '@buddi/core';
|
|
17
17
|
import { type PagesDeps } from './pages.js';
|
|
18
|
+
import { type TeammateFix } from '../agents/starter-team.js';
|
|
18
19
|
/** The `core.web_settings` key the owner's dismissals are kept under. */
|
|
19
20
|
export declare const AGENT_OFFERS_KEY = "agent-offers";
|
|
20
21
|
/** One card, as Home draws it. */
|
|
@@ -75,4 +76,33 @@ export interface RaiseAgentOffersDeps extends AgentOffersDeps {
|
|
|
75
76
|
* the approvals it raised.
|
|
76
77
|
*/
|
|
77
78
|
export declare function raiseAgentOffers(deps: RaiseAgentOffersDeps, plugin: string): Promise<string[]>;
|
|
79
|
+
/** One card under "Add a teammate". */
|
|
80
|
+
export interface TeammateView {
|
|
81
|
+
plugin: string;
|
|
82
|
+
agent: string;
|
|
83
|
+
handle: string;
|
|
84
|
+
name: string;
|
|
85
|
+
/** The card's one line. */
|
|
86
|
+
text: string;
|
|
87
|
+
/** What it needs, in the card's muted line. */
|
|
88
|
+
needs: string;
|
|
89
|
+
/**
|
|
90
|
+
* `available`: Add creates it through the plugin accept route.
|
|
91
|
+
* `added`: the roster holds it. `unavailable`: greyed, with `reason` and `fix`.
|
|
92
|
+
*/
|
|
93
|
+
state: 'available' | 'added' | 'unavailable';
|
|
94
|
+
reason?: string;
|
|
95
|
+
fix?: TeammateFix;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* The starter team, then the plugin teammates, as "Add a teammate" draws them.
|
|
99
|
+
*
|
|
100
|
+
* A dismissed card is left out. A card whose agent the roster holds says
|
|
101
|
+
* "added". A plugin teammate is addable exactly when its plugin proposes it
|
|
102
|
+
* and, when the plugin names an offer query, says it is wanted now — the same
|
|
103
|
+
* test `readAgentOffers` uses — and greyed with the reason otherwise.
|
|
104
|
+
*/
|
|
105
|
+
export declare function readTeammates(deps: AgentOffersDeps): Promise<{
|
|
106
|
+
teammates: TeammateView[];
|
|
107
|
+
}>;
|
|
78
108
|
//# sourceMappingURL=agent-offers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-offers.d.ts","sourceRoot":"","sources":["../../src/web/agent-offers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAML,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-offers.d.ts","sourceRoot":"","sources":["../../src/web/agent-offers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAML,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAmD,KAAK,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE9G,yEAAyE;AACzE,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAa/C,kCAAkC;AAClC,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,IAAI,EAAE;QAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YAAE,IAAI,EAAE,GAAG,EAAE,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IAC3E,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;CACnC;AAsCD;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,cAAc,EAAE,CAAA;CAAE,CAAC,CAsBlG;AAED,uFAAuF;AACvF,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAW5C;AAED,8DAA8D;AAC9D,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAQ5F;AAED,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D,0EAA0E;IAC1E,WAAW,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;IACpE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA6BpG;AAED,uCAAuC;AACvC,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,KAAK,EAAE,WAAW,GAAG,OAAO,GAAG,aAAa,CAAC;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,WAAW,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC,CAyCjG"}
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
import { getAction, listPendingActions, OWNER_AGENT_ID, readWebSetting, writeWebSetting, } from '@buddi/core';
|
|
17
17
|
import { pluginAgentProposals } from '../agents/platform.js';
|
|
18
18
|
import { runPageQuery } from './pages.js';
|
|
19
|
+
import { PLUGIN_TEAMMATES, STARTER_PLUGIN, starterAgents } from '../agents/starter-team.js';
|
|
19
20
|
/** The `core.web_settings` key the owner's dismissals are kept under. */
|
|
20
21
|
export const AGENT_OFFERS_KEY = 'agent-offers';
|
|
21
22
|
function keyOf(plugin, agent) {
|
|
@@ -62,6 +63,10 @@ export async function readAgentOffers(deps) {
|
|
|
62
63
|
const dismissed = await dismissedSet(deps.pool);
|
|
63
64
|
const offers = [];
|
|
64
65
|
for (const { plugin, agent } of pluginAgentProposals(deps.registry)) {
|
|
66
|
+
// The starter team is drawn as its own cards ("Add a teammate",
|
|
67
|
+
// `readTeammates`), not as something that needs the owner on Home.
|
|
68
|
+
if (plugin === STARTER_PLUGIN)
|
|
69
|
+
continue;
|
|
65
70
|
const offer = agent.offer;
|
|
66
71
|
if (!offer || typeof offer.text !== 'string' || offer.text.trim() === '')
|
|
67
72
|
continue;
|
|
@@ -82,7 +87,10 @@ export async function readAgentOffers(deps) {
|
|
|
82
87
|
}
|
|
83
88
|
/** The owner said no to one offer. It stays on the Plugins page; Home stops asking. */
|
|
84
89
|
export async function dismissAgentOffer(deps, plugin, agent) {
|
|
85
|
-
const known = pluginAgentProposals(deps.registry).some((p) => p.plugin === plugin && p.agent.id === agent && p.agent.offer !== undefined)
|
|
90
|
+
const known = pluginAgentProposals(deps.registry).some((p) => p.plugin === plugin && p.agent.id === agent && p.agent.offer !== undefined) ||
|
|
91
|
+
// A plugin teammate the catalogue draws greyed can be dismissed too, even
|
|
92
|
+
// while its plugin is not there to propose it.
|
|
93
|
+
PLUGIN_TEAMMATES.some((t) => t.plugin === plugin && t.agent === agent);
|
|
86
94
|
if (!known)
|
|
87
95
|
return { status: 404, body: { error: `No plugin offers an agent "${agent}" under "${plugin}".` } };
|
|
88
96
|
await remember(deps.pool, 'dismissed', keyOf(plugin, agent));
|
|
@@ -144,4 +152,59 @@ export async function raiseAgentOffers(deps, plugin) {
|
|
|
144
152
|
}
|
|
145
153
|
return raisedIds;
|
|
146
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* The starter team, then the plugin teammates, as "Add a teammate" draws them.
|
|
157
|
+
*
|
|
158
|
+
* A dismissed card is left out. A card whose agent the roster holds says
|
|
159
|
+
* "added". A plugin teammate is addable exactly when its plugin proposes it
|
|
160
|
+
* and, when the plugin names an offer query, says it is wanted now — the same
|
|
161
|
+
* test `readAgentOffers` uses — and greyed with the reason otherwise.
|
|
162
|
+
*/
|
|
163
|
+
export async function readTeammates(deps) {
|
|
164
|
+
const present = new Set(deps.agentIds().map((id) => id.toLowerCase()));
|
|
165
|
+
const dismissed = await dismissedSet(deps.pool);
|
|
166
|
+
const proposals = pluginAgentProposals(deps.registry);
|
|
167
|
+
const teammates = [];
|
|
168
|
+
for (const agent of starterAgents()) {
|
|
169
|
+
if (dismissed.has(keyOf(STARTER_PLUGIN, agent.id)))
|
|
170
|
+
continue;
|
|
171
|
+
teammates.push({
|
|
172
|
+
plugin: STARTER_PLUGIN,
|
|
173
|
+
agent: agent.id,
|
|
174
|
+
handle: agent.handle,
|
|
175
|
+
name: agent.name,
|
|
176
|
+
text: agent.offer?.text ?? agent.description,
|
|
177
|
+
needs: 'Needs a brain',
|
|
178
|
+
state: present.has(agent.id) ? 'added' : 'available',
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
for (const entry of PLUGIN_TEAMMATES) {
|
|
182
|
+
if (dismissed.has(keyOf(entry.plugin, entry.agent)))
|
|
183
|
+
continue;
|
|
184
|
+
const proposal = proposals.find((p) => p.plugin === entry.plugin && p.agent.id === entry.agent);
|
|
185
|
+
const card = {
|
|
186
|
+
plugin: entry.plugin,
|
|
187
|
+
agent: entry.agent,
|
|
188
|
+
handle: proposal?.agent.handle ?? entry.handle,
|
|
189
|
+
name: entry.name,
|
|
190
|
+
text: entry.text,
|
|
191
|
+
needs: entry.needs,
|
|
192
|
+
};
|
|
193
|
+
if (present.has(entry.agent)) {
|
|
194
|
+
teammates.push({ ...card, state: 'added' });
|
|
195
|
+
}
|
|
196
|
+
else if (proposal && (await wanted(deps, entry.plugin, proposal.agent.offer?.query))) {
|
|
197
|
+
teammates.push({ ...card, state: 'available' });
|
|
198
|
+
}
|
|
199
|
+
else if (proposal && entry.covered) {
|
|
200
|
+
// The plugin is there and says the agent is not wanted now: an agent of
|
|
201
|
+
// the owner's own already holds the role. Say that, not "from the plugin".
|
|
202
|
+
teammates.push({ ...card, state: 'unavailable', reason: entry.covered, fix: entry.fix });
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
teammates.push({ ...card, state: 'unavailable', reason: entry.reason, fix: entry.fix });
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
return { teammates };
|
|
209
|
+
}
|
|
147
210
|
//# sourceMappingURL=agent-offers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-offers.js","sourceRoot":"","sources":["../../src/web/agent-offers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,eAAe,GAEhB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAkB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-offers.js","sourceRoot":"","sources":["../../src/web/agent-offers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,eAAe,GAEhB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAkB,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAoB,MAAM,2BAA2B,CAAC;AAE9G,yEAAyE;AACzE,MAAM,CAAC,MAAM,gBAAgB,GAAG,cAAc,CAAC;AA8B/C,SAAS,KAAK,CAAC,MAAc,EAAE,KAAa;IAC1C,OAAO,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC;AAC9B,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,IAA6B;IACtD,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,cAAc,CAAqB,IAAa,EAAE,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACtG,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,IAA6B;IACvD,OAAO,MAAM,CAAC,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACrD,CAAC;AAED,8EAA8E;AAC9E,KAAK,UAAU,QAAQ,CAAC,IAA6B,EAAE,IAA4B,EAAE,GAAW;IAC9F,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACnC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACd,MAAM,eAAe,CAAC,IAAa,EAAE,gBAAgB,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACnG,CAAC;AAED,0FAA0F;AAC1F,KAAK,UAAU,MAAM,CAAC,IAAqB,EAAE,MAAc,EAAE,KAAyB;IACpF,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAChG,MAAM,IAAI,GAAI,MAAM,EAAE,IAA+C,EAAE,IAAI,CAAC;IAC5E,OAAO,MAAM,EAAE,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AACzD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAqB;IACzD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,KAAK,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpE,gEAAgE;QAChE,mEAAmE;QACnE,IAAI,MAAM,KAAK,cAAc;YAAE,SAAS;QACxC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,SAAS;QACnF,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YAAE,SAAS;QAC9E,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAAE,SAAS;QACzD,MAAM,CAAC,IAAI,CAAC;YACV,MAAM;YACN,KAAK,EAAE,KAAK,CAAC,EAAE;YACf,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;SACxB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,CAAC;AACpB,CAAC;AAED,uFAAuF;AACvF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAqB,EACrB,MAAc,EACd,KAAa;IAEb,MAAM,KAAK,GACT,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAClF;QACD,0EAA0E;QAC1E,+CAA+C;QAC/C,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IACzE,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,8BAA8B,KAAK,YAAY,MAAM,IAAI,EAAE,EAAE,CAAC;IAC/G,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7D,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;AACpD,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,eAAe,CAAC,MAAoB,EAAE,MAAc,EAAE,KAAa;IACjF,MAAM,IAAI,GAAG,MAAM,CAAC,aAA6D,CAAC;IAClF,OAAO,CACL,MAAM,CAAC,IAAI,KAAK,8BAA8B;QAC9C,IAAI,EAAE,MAAM,KAAK,MAAM;QACvB,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;QAC9B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CACjD,CAAC;AACJ,CAAC;AAQD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAA0B,EAAE,MAAc;IAC/E,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1G,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACtC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,SAAS,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QACpF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAAE,SAAS;QACjD,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,IAAa,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAoB,CAAC,CAAC;QACpH,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YAAE,SAAS;QAClF,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAAE,SAAS;QAChE,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CACvC,8BAA8B,EAC9B,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,EAC3B,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CACxD,CAAC;QACF,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;YACvD,IAAI,CAAC,GAAG,EAAE,CAAC,eAAe,GAAG,iBAAiB,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;YACzG,SAAS;QACX,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,IAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YACtF,IAAI,MAAM;gBAAE,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,eAAe,GAAG,eAAe,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACjI,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAqBD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAqB;IACvD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,SAAS,GAAmB,EAAE,CAAC;IACrC,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,EAAE,CAAC;QACpC,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YAAE,SAAS;QAC7D,SAAS,CAAC,IAAI,CAAC;YACb,MAAM,EAAE,cAAc;YACtB,KAAK,EAAE,KAAK,CAAC,EAAE;YACf,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,IAAI,KAAK,CAAC,WAAW;YAC5C,KAAK,EAAE,eAAe;YACtB,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW;SACrD,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;QACrC,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAAE,SAAS;QAC9D,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC;QAChG,MAAM,IAAI,GAAG;YACX,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM;YAC9C,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC;QACF,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9C,CAAC;aAAM,IAAI,QAAQ,IAAI,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;YACvF,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QAClD,CAAC;aAAM,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACrC,wEAAwE;YACxE,2EAA2E;YAC3E,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAC3F,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,CAAC;AACvB,CAAC"}
|