@withbuddi/buddi 0.1.0-pre.42 → 0.1.0-pre.44
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/examples/agents/agent-father/agent.md +12 -5
- package/examples/agents/concierge/agent.md +11 -3
- package/extension/icons/128.png +0 -0
- package/extension/icons/16.png +0 -0
- package/extension/icons/32.png +0 -0
- package/extension/icons/48.png +0 -0
- package/extension/manifest.json +7 -3
- package/node_modules/@buddi/cli/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/cli/dist/access-cmd.d.ts +2 -1
- package/node_modules/@buddi/cli/dist/access-cmd.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/access-cmd.js +40 -7
- package/node_modules/@buddi/cli/dist/access-cmd.js.map +1 -1
- package/node_modules/@buddi/cli/dist/args.d.ts +2 -1
- package/node_modules/@buddi/cli/dist/args.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/args.js +7 -3
- package/node_modules/@buddi/cli/dist/args.js.map +1 -1
- package/node_modules/@buddi/cli/dist/commands.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/commands.js +3 -2
- package/node_modules/@buddi/cli/dist/commands.js.map +1 -1
- package/node_modules/@buddi/cli/dist/doctor-probes.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/doctor-probes.js +10 -1
- package/node_modules/@buddi/cli/dist/doctor-probes.js.map +1 -1
- package/node_modules/@buddi/cli/dist/doctor.d.ts +9 -0
- package/node_modules/@buddi/cli/dist/doctor.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/doctor.js +21 -3
- package/node_modules/@buddi/cli/dist/doctor.js.map +1 -1
- package/node_modules/@buddi/cli/dist/main.js +1 -1
- package/node_modules/@buddi/cli/dist/main.js.map +1 -1
- package/node_modules/@buddi/cli/dist/mcp/server.js +1 -1
- package/node_modules/@buddi/cli/dist/mcp/server.js.map +1 -1
- package/node_modules/@buddi/cli/dist/mcp/tools.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/mcp/tools.js +60 -0
- package/node_modules/@buddi/cli/dist/mcp/tools.js.map +1 -1
- package/node_modules/@buddi/core/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/core/dist/agents/catalog.js +1 -1
- package/node_modules/@buddi/core/dist/agents/catalog.js.map +1 -1
- package/node_modules/@buddi/core/dist/lock.d.ts +15 -1
- package/node_modules/@buddi/core/dist/lock.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/lock.js +15 -1
- package/node_modules/@buddi/core/dist/lock.js.map +1 -1
- package/node_modules/@buddi/core/dist/pages.d.ts +75 -0
- package/node_modules/@buddi/core/dist/pages.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/pages.js +14 -0
- package/node_modules/@buddi/core/dist/pages.js.map +1 -1
- package/node_modules/@buddi/core/dist/plugin/index.d.ts +2 -2
- package/node_modules/@buddi/core/dist/plugin/index.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/plugin/index.js.map +1 -1
- package/node_modules/@buddi/core/dist/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 +32 -0
- package/node_modules/@buddi/core/dist/provider-accounts.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/provider-accounts.js +22 -0
- package/node_modules/@buddi/core/dist/provider-accounts.js.map +1 -1
- package/node_modules/@buddi/core/dist/testing/database-url.d.ts +13 -0
- package/node_modules/@buddi/core/dist/testing/database-url.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/testing/database-url.js +34 -0
- package/node_modules/@buddi/core/dist/testing/database-url.js.map +1 -1
- package/node_modules/@buddi/core/dist/testing/isolated-global-setup.d.ts +2 -0
- package/node_modules/@buddi/core/dist/testing/isolated-global-setup.d.ts.map +1 -0
- package/node_modules/@buddi/core/dist/testing/isolated-global-setup.js +20 -0
- package/node_modules/@buddi/core/dist/testing/isolated-global-setup.js.map +1 -0
- package/node_modules/@buddi/core/migrations/077_lock_background_portrait.sql +5 -0
- package/node_modules/@buddi/core/package.json +4 -0
- package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/gateway/dist/agents/owner-tools.d.ts +21 -8
- package/node_modules/@buddi/gateway/dist/agents/owner-tools.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/owner-tools.js +201 -36
- package/node_modules/@buddi/gateway/dist/agents/owner-tools.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/platform.d.ts +8 -0
- package/node_modules/@buddi/gateway/dist/agents/platform.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/agents/platform.js +48 -22
- package/node_modules/@buddi/gateway/dist/agents/platform.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/evals/golden.d.ts +5 -0
- package/node_modules/@buddi/gateway/dist/evals/golden.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/evals/golden.js +48 -0
- package/node_modules/@buddi/gateway/dist/evals/golden.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/mcp/requests.d.ts +8 -2
- package/node_modules/@buddi/gateway/dist/mcp/requests.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/mcp/requests.js +74 -1
- package/node_modules/@buddi/gateway/dist/mcp/requests.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/owner-profile-edit.d.ts +160 -0
- package/node_modules/@buddi/gateway/dist/owner-profile-edit.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/owner-profile-edit.js +296 -0
- package/node_modules/@buddi/gateway/dist/owner-profile-edit.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/plugins/index.d.ts +1 -0
- package/node_modules/@buddi/gateway/dist/plugins/index.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins/index.js +1 -0
- package/node_modules/@buddi/gateway/dist/plugins/index.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/plugins/pages-state.d.ts +37 -0
- package/node_modules/@buddi/gateway/dist/plugins/pages-state.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/plugins/pages-state.js +98 -0
- package/node_modules/@buddi/gateway/dist/plugins/pages-state.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/provider-accounts.d.ts +33 -4
- package/node_modules/@buddi/gateway/dist/provider-accounts.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/provider-accounts.js +82 -18
- package/node_modules/@buddi/gateway/dist/provider-accounts.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/provider-diagnostics.d.ts +5 -0
- package/node_modules/@buddi/gateway/dist/provider-diagnostics.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/provider-diagnostics.js +6 -1
- package/node_modules/@buddi/gateway/dist/provider-diagnostics.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/serve.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/serve.js +5 -2
- package/node_modules/@buddi/gateway/dist/serve.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/access/cloudflare-connector.d.ts +63 -0
- package/node_modules/@buddi/gateway/dist/web/access/cloudflare-connector.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/access/cloudflare-connector.js +87 -0
- package/node_modules/@buddi/gateway/dist/web/access/cloudflare-connector.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/access/cloudflare-setup.d.ts +39 -4
- package/node_modules/@buddi/gateway/dist/web/access/cloudflare-setup.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/access/cloudflare-setup.js +99 -11
- package/node_modules/@buddi/gateway/dist/web/access/cloudflare-setup.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/access/cloudflare-token.js +1 -1
- package/node_modules/@buddi/gateway/dist/web/access/cloudflare-token.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/access/index.d.ts +1 -0
- package/node_modules/@buddi/gateway/dist/web/access/index.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/access/index.js +1 -0
- package/node_modules/@buddi/gateway/dist/web/access/index.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/agent-offers.d.ts +6 -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 +6 -0
- package/node_modules/@buddi/gateway/dist/web/agent-offers.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/api-routes.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/api-routes.js +24 -3
- package/node_modules/@buddi/gateway/dist/web/api-routes.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/attention.d.ts +11 -1
- package/node_modules/@buddi/gateway/dist/web/attention.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/attention.js +22 -2
- package/node_modules/@buddi/gateway/dist/web/attention.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/chat.d.ts +0 -2
- package/node_modules/@buddi/gateway/dist/web/chat.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/chat.js +15 -4
- package/node_modules/@buddi/gateway/dist/web/chat.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/lock-backgrounds.d.ts +9 -0
- package/node_modules/@buddi/gateway/dist/web/lock-backgrounds.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/lock-backgrounds.js +60 -0
- package/node_modules/@buddi/gateway/dist/web/lock-backgrounds.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/lock.d.ts +22 -1
- package/node_modules/@buddi/gateway/dist/web/lock.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/lock.js +87 -24
- package/node_modules/@buddi/gateway/dist/web/lock.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/places.d.ts +5 -0
- package/node_modules/@buddi/gateway/dist/web/places.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/places.js +11 -4
- package/node_modules/@buddi/gateway/dist/web/places.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/plugins.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/plugins.js +4 -0
- package/node_modules/@buddi/gateway/dist/web/plugins.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/server.d.ts +3 -0
- package/node_modules/@buddi/gateway/dist/web/server.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/server.js +48 -49
- package/node_modules/@buddi/gateway/dist/web/server.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/take-on.d.ts +3 -1
- package/node_modules/@buddi/gateway/dist/web/take-on.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/take-on.js +14 -3
- package/node_modules/@buddi/gateway/dist/web/take-on.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/telegram.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/telegram.js +4 -2
- package/node_modules/@buddi/gateway/dist/web/telegram.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/version.d.ts +10 -0
- package/node_modules/@buddi/gateway/dist/web/version.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/version.js +12 -0
- package/node_modules/@buddi/gateway/dist/web/version.js.map +1 -1
- package/node_modules/@buddi/install/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/install/dist/backup.d.ts +12 -0
- package/node_modules/@buddi/install/dist/backup.d.ts.map +1 -1
- package/node_modules/@buddi/install/dist/backup.js +26 -8
- package/node_modules/@buddi/install/dist/backup.js.map +1 -1
- package/node_modules/@buddi/install/dist/cloudflared.d.ts +121 -0
- package/node_modules/@buddi/install/dist/cloudflared.d.ts.map +1 -0
- package/node_modules/@buddi/install/dist/cloudflared.js +451 -0
- package/node_modules/@buddi/install/dist/cloudflared.js.map +1 -0
- package/node_modules/@buddi/install/dist/index.d.ts +1 -0
- package/node_modules/@buddi/install/dist/index.d.ts.map +1 -1
- package/node_modules/@buddi/install/dist/index.js +1 -0
- package/node_modules/@buddi/install/dist/index.js.map +1 -1
- package/node_modules/@buddi/install/dist/supervisor.d.ts +6 -1
- package/node_modules/@buddi/install/dist/supervisor.d.ts.map +1 -1
- package/node_modules/@buddi/install/dist/supervisor.js +51 -5
- package/node_modules/@buddi/install/dist/supervisor.js.map +1 -1
- package/node_modules/@buddi/install/dist/upgrade.d.ts +2 -0
- package/node_modules/@buddi/install/dist/upgrade.d.ts.map +1 -1
- package/node_modules/@buddi/install/dist/upgrade.js +3 -2
- package/node_modules/@buddi/install/dist/upgrade.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/runtime/dist/codex-direct.d.ts +12 -1
- package/node_modules/@buddi/runtime/dist/codex-direct.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/codex-direct.js +15 -6
- package/node_modules/@buddi/runtime/dist/codex-direct.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/groups.d.ts +5 -4
- package/node_modules/@buddi/runtime/dist/groups.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/groups.js +7 -6
- package/node_modules/@buddi/runtime/dist/groups.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/provider-models.d.ts +4 -0
- package/node_modules/@buddi/runtime/dist/provider-models.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/provider-models.js.map +1 -1
- package/node_modules/@buddi/tool-artifacts/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-browser/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-email/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-email/dist/html.d.ts +16 -0
- package/node_modules/@buddi/tool-email/dist/html.d.ts.map +1 -0
- package/node_modules/@buddi/tool-email/dist/html.js +273 -0
- package/node_modules/@buddi/tool-email/dist/html.js.map +1 -0
- package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.d.ts +7 -0
- package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.js +53 -0
- package/node_modules/@buddi/tool-email/dist/imap/imapflow-client.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/mail.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/mail.js +4 -0
- package/node_modules/@buddi/tool-email/dist/mail.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/pages/descriptors.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/pages/descriptors.js +250 -176
- package/node_modules/@buddi/tool-email/dist/pages/descriptors.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/pages/index.d.ts +1 -0
- package/node_modules/@buddi/tool-email/dist/pages/index.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/pages/index.js +3 -0
- package/node_modules/@buddi/tool-email/dist/pages/index.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/pages/queries.d.ts +28 -1
- package/node_modules/@buddi/tool-email/dist/pages/queries.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/pages/queries.js +362 -66
- package/node_modules/@buddi/tool-email/dist/pages/queries.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/pages/thread-tools.d.ts +25 -0
- package/node_modules/@buddi/tool-email/dist/pages/thread-tools.d.ts.map +1 -0
- package/node_modules/@buddi/tool-email/dist/pages/thread-tools.js +33 -0
- package/node_modules/@buddi/tool-email/dist/pages/thread-tools.js.map +1 -0
- package/node_modules/@buddi/tool-email/dist/ports.d.ts +10 -0
- package/node_modules/@buddi/tool-email/dist/ports.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/ports.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/retention.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/retention.js +1 -0
- package/node_modules/@buddi/tool-email/dist/retention.js.map +1 -1
- package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.d.ts.map +1 -1
- package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.js +9 -2
- package/node_modules/@buddi/tool-email/dist/sources/inbox-poll.js.map +1 -1
- package/node_modules/@buddi/tool-email/migrations/027_first_contact.sql +13 -0
- package/node_modules/@buddi/tool-email/migrations/028_reading.sql +20 -0
- package/node_modules/@buddi/tool-email/package.json +1 -0
- package/node_modules/@buddi/tool-host/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-mcp/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-memory/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-web/dist/.tsbuildinfo +1 -1
- package/node_modules/entities/LICENSE +11 -0
- package/node_modules/entities/decode.d.ts +1 -0
- package/node_modules/entities/decode.js +3 -0
- package/node_modules/entities/dist/commonjs/decode-codepoint.d.ts +19 -0
- package/node_modules/entities/dist/commonjs/decode-codepoint.d.ts.map +1 -0
- package/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
- package/node_modules/entities/dist/commonjs/decode-codepoint.js.map +1 -0
- package/node_modules/entities/dist/commonjs/decode.d.ts +209 -0
- package/node_modules/entities/dist/commonjs/decode.d.ts.map +1 -0
- package/node_modules/entities/dist/commonjs/decode.js +511 -0
- package/node_modules/entities/dist/commonjs/decode.js.map +1 -0
- package/node_modules/entities/dist/commonjs/encode.d.ts +22 -0
- package/node_modules/entities/dist/commonjs/encode.d.ts.map +1 -0
- package/node_modules/entities/dist/commonjs/encode.js +73 -0
- package/node_modules/entities/dist/commonjs/encode.js.map +1 -0
- package/node_modules/entities/dist/commonjs/escape.d.ts +43 -0
- package/node_modules/entities/dist/commonjs/escape.d.ts.map +1 -0
- package/node_modules/entities/dist/commonjs/escape.js +121 -0
- package/node_modules/entities/dist/commonjs/escape.js.map +1 -0
- package/node_modules/entities/dist/commonjs/generated/decode-data-html.d.ts +2 -0
- package/node_modules/entities/dist/commonjs/generated/decode-data-html.d.ts.map +1 -0
- package/node_modules/entities/dist/commonjs/generated/decode-data-html.js +10 -0
- package/node_modules/entities/dist/commonjs/generated/decode-data-html.js.map +1 -0
- package/node_modules/entities/dist/commonjs/generated/decode-data-xml.d.ts +2 -0
- package/node_modules/entities/dist/commonjs/generated/decode-data-xml.d.ts.map +1 -0
- package/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +10 -0
- package/node_modules/entities/dist/commonjs/generated/decode-data-xml.js.map +1 -0
- package/node_modules/entities/dist/commonjs/generated/encode-html.d.ts +8 -0
- package/node_modules/entities/dist/commonjs/generated/encode-html.d.ts.map +1 -0
- package/node_modules/entities/dist/commonjs/generated/encode-html.js +13 -0
- package/node_modules/entities/dist/commonjs/generated/encode-html.js.map +1 -0
- package/node_modules/entities/dist/commonjs/index.d.ts +96 -0
- package/node_modules/entities/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/entities/dist/commonjs/index.js +131 -0
- package/node_modules/entities/dist/commonjs/index.js.map +1 -0
- package/node_modules/entities/dist/commonjs/package.json +3 -0
- package/node_modules/entities/dist/esm/decode-codepoint.d.ts +19 -0
- package/node_modules/entities/dist/esm/decode-codepoint.d.ts.map +1 -0
- package/node_modules/entities/dist/esm/decode-codepoint.js +72 -0
- package/node_modules/entities/dist/esm/decode-codepoint.js.map +1 -0
- package/node_modules/entities/dist/esm/decode.d.ts +209 -0
- package/node_modules/entities/dist/esm/decode.d.ts.map +1 -0
- package/node_modules/entities/dist/esm/decode.js +497 -0
- package/node_modules/entities/dist/esm/decode.js.map +1 -0
- package/node_modules/entities/dist/esm/encode.d.ts +22 -0
- package/node_modules/entities/dist/esm/encode.d.ts.map +1 -0
- package/node_modules/entities/dist/esm/encode.js +69 -0
- package/node_modules/entities/dist/esm/encode.js.map +1 -0
- package/node_modules/entities/dist/esm/escape.d.ts +43 -0
- package/node_modules/entities/dist/esm/escape.d.ts.map +1 -0
- package/node_modules/entities/dist/esm/escape.js +117 -0
- package/node_modules/entities/dist/esm/escape.js.map +1 -0
- package/node_modules/entities/dist/esm/generated/decode-data-html.d.ts +2 -0
- package/node_modules/entities/dist/esm/generated/decode-data-html.d.ts.map +1 -0
- package/node_modules/entities/dist/esm/generated/decode-data-html.js +7 -0
- package/node_modules/entities/dist/esm/generated/decode-data-html.js.map +1 -0
- package/node_modules/entities/dist/esm/generated/decode-data-xml.d.ts +2 -0
- package/node_modules/entities/dist/esm/generated/decode-data-xml.d.ts.map +1 -0
- package/node_modules/entities/dist/esm/generated/decode-data-xml.js +7 -0
- package/node_modules/entities/dist/esm/generated/decode-data-xml.js.map +1 -0
- package/node_modules/entities/dist/esm/generated/encode-html.d.ts +8 -0
- package/node_modules/entities/dist/esm/generated/encode-html.d.ts.map +1 -0
- package/node_modules/entities/dist/esm/generated/encode-html.js +10 -0
- package/node_modules/entities/dist/esm/generated/encode-html.js.map +1 -0
- package/node_modules/entities/dist/esm/index.d.ts +96 -0
- package/node_modules/entities/dist/esm/index.d.ts.map +1 -0
- package/node_modules/entities/dist/esm/index.js +107 -0
- package/node_modules/entities/dist/esm/index.js.map +1 -0
- package/node_modules/entities/dist/esm/package.json +3 -0
- package/node_modules/entities/escape.d.ts +1 -0
- package/node_modules/entities/escape.js +3 -0
- package/node_modules/entities/package.json +118 -0
- package/node_modules/entities/readme.md +122 -0
- package/node_modules/entities/src/decode-codepoint.ts +81 -0
- package/node_modules/entities/src/decode.spec.ts +320 -0
- package/node_modules/entities/src/decode.ts +620 -0
- package/node_modules/entities/src/encode.spec.ts +78 -0
- package/node_modules/entities/src/encode.ts +77 -0
- package/node_modules/entities/src/escape.spec.ts +14 -0
- package/node_modules/entities/src/escape.ts +148 -0
- package/node_modules/entities/src/generated/.eslintrc.json +10 -0
- package/node_modules/entities/src/generated/decode-data-html.ts +8 -0
- package/node_modules/entities/src/generated/decode-data-xml.ts +8 -0
- package/node_modules/entities/src/generated/encode-html.ts +17 -0
- package/node_modules/entities/src/index.spec.ts +125 -0
- package/node_modules/entities/src/index.ts +188 -0
- package/node_modules/parse5/LICENSE +19 -0
- package/node_modules/parse5/README.md +38 -0
- package/node_modules/parse5/dist/cjs/common/doctype.d.ts +4 -0
- package/node_modules/parse5/dist/cjs/common/doctype.js +118 -0
- package/node_modules/parse5/dist/cjs/common/error-codes.d.ts +67 -0
- package/node_modules/parse5/dist/cjs/common/error-codes.js +66 -0
- package/node_modules/parse5/dist/cjs/common/foreign-content.d.ts +9 -0
- package/node_modules/parse5/dist/cjs/common/foreign-content.js +237 -0
- package/node_modules/parse5/dist/cjs/common/html.d.ts +289 -0
- package/node_modules/parse5/dist/cjs/common/html.js +528 -0
- package/node_modules/parse5/dist/cjs/common/token.d.ts +84 -0
- package/node_modules/parse5/dist/cjs/common/token.js +24 -0
- package/node_modules/parse5/dist/cjs/common/unicode.d.ts +42 -0
- package/node_modules/parse5/dist/cjs/common/unicode.js +70 -0
- package/node_modules/parse5/dist/cjs/index.d.ts +71 -0
- package/node_modules/parse5/dist/cjs/index.js +54 -0
- package/node_modules/parse5/dist/cjs/package.json +1 -0
- package/node_modules/parse5/dist/cjs/parser/formatting-element-list.d.ts +36 -0
- package/node_modules/parse5/dist/cjs/parser/formatting-element-list.js +114 -0
- package/node_modules/parse5/dist/cjs/parser/index.d.ts +221 -0
- package/node_modules/parse5/dist/cjs/parser/index.js +3240 -0
- package/node_modules/parse5/dist/cjs/parser/open-element-stack.d.ts +53 -0
- package/node_modules/parse5/dist/cjs/parser/open-element-stack.js +328 -0
- package/node_modules/parse5/dist/cjs/serializer/index.d.ts +60 -0
- package/node_modules/parse5/dist/cjs/serializer/index.js +172 -0
- package/node_modules/parse5/dist/cjs/tokenizer/index.d.ts +247 -0
- package/node_modules/parse5/dist/cjs/tokenizer/index.js +2714 -0
- package/node_modules/parse5/dist/cjs/tokenizer/preprocessor.d.ts +36 -0
- package/node_modules/parse5/dist/cjs/tokenizer/preprocessor.js +200 -0
- package/node_modules/parse5/dist/cjs/tree-adapters/default.d.ts +84 -0
- package/node_modules/parse5/dist/cjs/tree-adapters/default.js +176 -0
- package/node_modules/parse5/dist/cjs/tree-adapters/interface.d.ts +255 -0
- package/node_modules/parse5/dist/cjs/tree-adapters/interface.js +2 -0
- package/node_modules/parse5/dist/common/doctype.d.ts +4 -0
- package/node_modules/parse5/dist/common/doctype.js +114 -0
- package/node_modules/parse5/dist/common/error-codes.d.ts +67 -0
- package/node_modules/parse5/dist/common/error-codes.js +63 -0
- package/node_modules/parse5/dist/common/foreign-content.d.ts +9 -0
- package/node_modules/parse5/dist/common/foreign-content.js +228 -0
- package/node_modules/parse5/dist/common/html.d.ts +289 -0
- package/node_modules/parse5/dist/common/html.js +523 -0
- package/node_modules/parse5/dist/common/token.d.ts +84 -0
- package/node_modules/parse5/dist/common/token.js +20 -0
- package/node_modules/parse5/dist/common/unicode.d.ts +42 -0
- package/node_modules/parse5/dist/common/unicode.js +62 -0
- package/node_modules/parse5/dist/index.d.ts +71 -0
- package/node_modules/parse5/dist/index.js +42 -0
- package/node_modules/parse5/dist/parser/formatting-element-list.d.ts +36 -0
- package/node_modules/parse5/dist/parser/formatting-element-list.js +110 -0
- package/node_modules/parse5/dist/parser/index.d.ts +221 -0
- package/node_modules/parse5/dist/parser/index.js +3245 -0
- package/node_modules/parse5/dist/parser/open-element-stack.d.ts +53 -0
- package/node_modules/parse5/dist/parser/open-element-stack.js +324 -0
- package/node_modules/parse5/dist/serializer/index.d.ts +60 -0
- package/node_modules/parse5/dist/serializer/index.js +168 -0
- package/node_modules/parse5/dist/tokenizer/index.d.ts +247 -0
- package/node_modules/parse5/dist/tokenizer/index.js +2710 -0
- package/node_modules/parse5/dist/tokenizer/preprocessor.d.ts +36 -0
- package/node_modules/parse5/dist/tokenizer/preprocessor.js +196 -0
- package/node_modules/parse5/dist/tree-adapters/default.d.ts +84 -0
- package/node_modules/parse5/dist/tree-adapters/default.js +173 -0
- package/node_modules/parse5/dist/tree-adapters/interface.d.ts +255 -0
- package/node_modules/parse5/dist/tree-adapters/interface.js +1 -0
- package/node_modules/parse5/package.json +50 -0
- package/package.json +2 -2
- package/packages/cli/dist/.tsbuildinfo +1 -1
- package/packages/cli/dist/access-cmd.d.ts +2 -1
- package/packages/cli/dist/access-cmd.d.ts.map +1 -1
- package/packages/cli/dist/access-cmd.js +40 -7
- package/packages/cli/dist/access-cmd.js.map +1 -1
- package/packages/cli/dist/args.d.ts +2 -1
- package/packages/cli/dist/args.d.ts.map +1 -1
- package/packages/cli/dist/args.js +7 -3
- package/packages/cli/dist/args.js.map +1 -1
- package/packages/cli/dist/commands.d.ts.map +1 -1
- package/packages/cli/dist/commands.js +3 -2
- package/packages/cli/dist/commands.js.map +1 -1
- package/packages/cli/dist/doctor-probes.d.ts.map +1 -1
- package/packages/cli/dist/doctor-probes.js +10 -1
- package/packages/cli/dist/doctor-probes.js.map +1 -1
- package/packages/cli/dist/doctor.d.ts +9 -0
- package/packages/cli/dist/doctor.d.ts.map +1 -1
- package/packages/cli/dist/doctor.js +21 -3
- package/packages/cli/dist/doctor.js.map +1 -1
- package/packages/cli/dist/main.js +1 -1
- package/packages/cli/dist/main.js.map +1 -1
- package/packages/cli/dist/mcp/server.js +1 -1
- package/packages/cli/dist/mcp/server.js.map +1 -1
- package/packages/cli/dist/mcp/tools.d.ts.map +1 -1
- package/packages/cli/dist/mcp/tools.js +60 -0
- package/packages/cli/dist/mcp/tools.js.map +1 -1
- package/packages/core/dist/.tsbuildinfo +1 -1
- package/packages/core/dist/agents/catalog.js +1 -1
- package/packages/core/dist/agents/catalog.js.map +1 -1
- package/packages/core/dist/lock.d.ts +15 -1
- package/packages/core/dist/lock.d.ts.map +1 -1
- package/packages/core/dist/lock.js +15 -1
- package/packages/core/dist/lock.js.map +1 -1
- package/packages/core/dist/pages.d.ts +75 -0
- package/packages/core/dist/pages.d.ts.map +1 -1
- package/packages/core/dist/pages.js +14 -0
- package/packages/core/dist/pages.js.map +1 -1
- package/packages/core/dist/plugin/index.d.ts +2 -2
- package/packages/core/dist/plugin/index.d.ts.map +1 -1
- package/packages/core/dist/plugin/index.js.map +1 -1
- package/packages/core/dist/plugin/version.d.ts +1 -1
- package/packages/core/dist/plugin/version.js +1 -1
- package/packages/core/dist/provider-accounts.d.ts +32 -0
- package/packages/core/dist/provider-accounts.d.ts.map +1 -1
- package/packages/core/dist/provider-accounts.js +22 -0
- package/packages/core/dist/provider-accounts.js.map +1 -1
- package/packages/core/dist/testing/database-url.d.ts +13 -0
- package/packages/core/dist/testing/database-url.d.ts.map +1 -1
- package/packages/core/dist/testing/database-url.js +34 -0
- package/packages/core/dist/testing/database-url.js.map +1 -1
- package/packages/core/dist/testing/isolated-global-setup.d.ts +2 -0
- package/packages/core/dist/testing/isolated-global-setup.d.ts.map +1 -0
- package/packages/core/dist/testing/isolated-global-setup.js +20 -0
- package/packages/core/dist/testing/isolated-global-setup.js.map +1 -0
- package/packages/core/migrations/077_lock_background_portrait.sql +5 -0
- package/packages/core/package.json +4 -0
- package/packages/gateway/dist/.tsbuildinfo +1 -1
- package/packages/gateway/dist/agents/owner-tools.d.ts +21 -8
- package/packages/gateway/dist/agents/owner-tools.d.ts.map +1 -1
- package/packages/gateway/dist/agents/owner-tools.js +201 -36
- package/packages/gateway/dist/agents/owner-tools.js.map +1 -1
- package/packages/gateway/dist/agents/platform.d.ts +8 -0
- package/packages/gateway/dist/agents/platform.d.ts.map +1 -1
- package/packages/gateway/dist/agents/platform.js +48 -22
- package/packages/gateway/dist/agents/platform.js.map +1 -1
- package/packages/gateway/dist/evals/golden.d.ts +5 -0
- package/packages/gateway/dist/evals/golden.d.ts.map +1 -1
- package/packages/gateway/dist/evals/golden.js +48 -0
- package/packages/gateway/dist/evals/golden.js.map +1 -1
- package/packages/gateway/dist/mcp/requests.d.ts +8 -2
- package/packages/gateway/dist/mcp/requests.d.ts.map +1 -1
- package/packages/gateway/dist/mcp/requests.js +74 -1
- package/packages/gateway/dist/mcp/requests.js.map +1 -1
- package/packages/gateway/dist/owner-profile-edit.d.ts +160 -0
- package/packages/gateway/dist/owner-profile-edit.d.ts.map +1 -0
- package/packages/gateway/dist/owner-profile-edit.js +296 -0
- package/packages/gateway/dist/owner-profile-edit.js.map +1 -0
- package/packages/gateway/dist/plugins/index.d.ts +1 -0
- package/packages/gateway/dist/plugins/index.d.ts.map +1 -1
- package/packages/gateway/dist/plugins/index.js +1 -0
- package/packages/gateway/dist/plugins/index.js.map +1 -1
- package/packages/gateway/dist/plugins/pages-state.d.ts +37 -0
- package/packages/gateway/dist/plugins/pages-state.d.ts.map +1 -0
- package/packages/gateway/dist/plugins/pages-state.js +98 -0
- package/packages/gateway/dist/plugins/pages-state.js.map +1 -0
- package/packages/gateway/dist/provider-accounts.d.ts +33 -4
- package/packages/gateway/dist/provider-accounts.d.ts.map +1 -1
- package/packages/gateway/dist/provider-accounts.js +82 -18
- package/packages/gateway/dist/provider-accounts.js.map +1 -1
- package/packages/gateway/dist/provider-diagnostics.d.ts +5 -0
- package/packages/gateway/dist/provider-diagnostics.d.ts.map +1 -1
- package/packages/gateway/dist/provider-diagnostics.js +6 -1
- package/packages/gateway/dist/provider-diagnostics.js.map +1 -1
- package/packages/gateway/dist/serve.d.ts.map +1 -1
- package/packages/gateway/dist/serve.js +5 -2
- package/packages/gateway/dist/serve.js.map +1 -1
- package/packages/gateway/dist/web/access/cloudflare-connector.d.ts +63 -0
- package/packages/gateway/dist/web/access/cloudflare-connector.d.ts.map +1 -0
- package/packages/gateway/dist/web/access/cloudflare-connector.js +87 -0
- package/packages/gateway/dist/web/access/cloudflare-connector.js.map +1 -0
- package/packages/gateway/dist/web/access/cloudflare-setup.d.ts +39 -4
- package/packages/gateway/dist/web/access/cloudflare-setup.d.ts.map +1 -1
- package/packages/gateway/dist/web/access/cloudflare-setup.js +99 -11
- package/packages/gateway/dist/web/access/cloudflare-setup.js.map +1 -1
- package/packages/gateway/dist/web/access/cloudflare-token.js +1 -1
- package/packages/gateway/dist/web/access/cloudflare-token.js.map +1 -1
- package/packages/gateway/dist/web/access/index.d.ts +1 -0
- package/packages/gateway/dist/web/access/index.d.ts.map +1 -1
- package/packages/gateway/dist/web/access/index.js +1 -0
- package/packages/gateway/dist/web/access/index.js.map +1 -1
- package/packages/gateway/dist/web/agent-offers.d.ts +6 -0
- package/packages/gateway/dist/web/agent-offers.d.ts.map +1 -1
- package/packages/gateway/dist/web/agent-offers.js +6 -0
- package/packages/gateway/dist/web/agent-offers.js.map +1 -1
- package/packages/gateway/dist/web/api-routes.d.ts.map +1 -1
- package/packages/gateway/dist/web/api-routes.js +24 -3
- package/packages/gateway/dist/web/api-routes.js.map +1 -1
- package/packages/gateway/dist/web/attention.d.ts +11 -1
- package/packages/gateway/dist/web/attention.d.ts.map +1 -1
- package/packages/gateway/dist/web/attention.js +22 -2
- package/packages/gateway/dist/web/attention.js.map +1 -1
- package/packages/gateway/dist/web/chat.d.ts +0 -2
- package/packages/gateway/dist/web/chat.d.ts.map +1 -1
- package/packages/gateway/dist/web/chat.js +15 -4
- package/packages/gateway/dist/web/chat.js.map +1 -1
- package/packages/gateway/dist/web/lock-backgrounds.d.ts +9 -0
- package/packages/gateway/dist/web/lock-backgrounds.d.ts.map +1 -0
- package/packages/gateway/dist/web/lock-backgrounds.js +60 -0
- package/packages/gateway/dist/web/lock-backgrounds.js.map +1 -0
- package/packages/gateway/dist/web/lock.d.ts +22 -1
- package/packages/gateway/dist/web/lock.d.ts.map +1 -1
- package/packages/gateway/dist/web/lock.js +87 -24
- package/packages/gateway/dist/web/lock.js.map +1 -1
- package/packages/gateway/dist/web/places.d.ts +5 -0
- package/packages/gateway/dist/web/places.d.ts.map +1 -1
- package/packages/gateway/dist/web/places.js +11 -4
- package/packages/gateway/dist/web/places.js.map +1 -1
- package/packages/gateway/dist/web/plugins.d.ts.map +1 -1
- package/packages/gateway/dist/web/plugins.js +4 -0
- package/packages/gateway/dist/web/plugins.js.map +1 -1
- package/packages/gateway/dist/web/server.d.ts +3 -0
- package/packages/gateway/dist/web/server.d.ts.map +1 -1
- package/packages/gateway/dist/web/server.js +48 -49
- package/packages/gateway/dist/web/server.js.map +1 -1
- package/packages/gateway/dist/web/take-on.d.ts +3 -1
- package/packages/gateway/dist/web/take-on.d.ts.map +1 -1
- package/packages/gateway/dist/web/take-on.js +14 -3
- package/packages/gateway/dist/web/take-on.js.map +1 -1
- package/packages/gateway/dist/web/telegram.d.ts.map +1 -1
- package/packages/gateway/dist/web/telegram.js +4 -2
- package/packages/gateway/dist/web/telegram.js.map +1 -1
- package/packages/gateway/dist/web/version.d.ts +10 -0
- package/packages/gateway/dist/web/version.d.ts.map +1 -1
- package/packages/gateway/dist/web/version.js +12 -0
- package/packages/gateway/dist/web/version.js.map +1 -1
- package/packages/install/dist/.tsbuildinfo +1 -1
- package/packages/install/dist/backup.d.ts +12 -0
- package/packages/install/dist/backup.d.ts.map +1 -1
- package/packages/install/dist/backup.js +26 -8
- package/packages/install/dist/backup.js.map +1 -1
- package/packages/install/dist/cloudflared.d.ts +121 -0
- package/packages/install/dist/cloudflared.d.ts.map +1 -0
- package/packages/install/dist/cloudflared.js +451 -0
- package/packages/install/dist/cloudflared.js.map +1 -0
- package/packages/install/dist/index.d.ts +1 -0
- package/packages/install/dist/index.d.ts.map +1 -1
- package/packages/install/dist/index.js +1 -0
- package/packages/install/dist/index.js.map +1 -1
- package/packages/install/dist/supervisor.d.ts +6 -1
- package/packages/install/dist/supervisor.d.ts.map +1 -1
- package/packages/install/dist/supervisor.js +51 -5
- package/packages/install/dist/supervisor.js.map +1 -1
- package/packages/install/dist/upgrade.d.ts +2 -0
- package/packages/install/dist/upgrade.d.ts.map +1 -1
- package/packages/install/dist/upgrade.js +3 -2
- package/packages/install/dist/upgrade.js.map +1 -1
- package/packages/runtime/dist/.tsbuildinfo +1 -1
- package/packages/runtime/dist/codex-direct.d.ts +12 -1
- package/packages/runtime/dist/codex-direct.d.ts.map +1 -1
- package/packages/runtime/dist/codex-direct.js +15 -6
- package/packages/runtime/dist/codex-direct.js.map +1 -1
- package/packages/runtime/dist/groups.d.ts +5 -4
- package/packages/runtime/dist/groups.d.ts.map +1 -1
- package/packages/runtime/dist/groups.js +7 -6
- package/packages/runtime/dist/groups.js.map +1 -1
- package/packages/runtime/dist/provider-models.d.ts +4 -0
- package/packages/runtime/dist/provider-models.d.ts.map +1 -1
- package/packages/runtime/dist/provider-models.js.map +1 -1
- package/packages/tools/artifacts/dist/.tsbuildinfo +1 -1
- package/packages/tools/browser/dist/.tsbuildinfo +1 -1
- package/packages/tools/email/dist/.tsbuildinfo +1 -1
- package/packages/tools/email/dist/html.d.ts +16 -0
- package/packages/tools/email/dist/html.d.ts.map +1 -0
- package/packages/tools/email/dist/html.js +273 -0
- package/packages/tools/email/dist/html.js.map +1 -0
- package/packages/tools/email/dist/imap/imapflow-client.d.ts +7 -0
- package/packages/tools/email/dist/imap/imapflow-client.d.ts.map +1 -1
- package/packages/tools/email/dist/imap/imapflow-client.js +53 -0
- package/packages/tools/email/dist/imap/imapflow-client.js.map +1 -1
- package/packages/tools/email/dist/mail.d.ts.map +1 -1
- package/packages/tools/email/dist/mail.js +4 -0
- package/packages/tools/email/dist/mail.js.map +1 -1
- package/packages/tools/email/dist/pages/descriptors.d.ts.map +1 -1
- package/packages/tools/email/dist/pages/descriptors.js +250 -176
- package/packages/tools/email/dist/pages/descriptors.js.map +1 -1
- package/packages/tools/email/dist/pages/index.d.ts +1 -0
- package/packages/tools/email/dist/pages/index.d.ts.map +1 -1
- package/packages/tools/email/dist/pages/index.js +3 -0
- package/packages/tools/email/dist/pages/index.js.map +1 -1
- package/packages/tools/email/dist/pages/queries.d.ts +28 -1
- package/packages/tools/email/dist/pages/queries.d.ts.map +1 -1
- package/packages/tools/email/dist/pages/queries.js +362 -66
- package/packages/tools/email/dist/pages/queries.js.map +1 -1
- package/packages/tools/email/dist/pages/thread-tools.d.ts +25 -0
- package/packages/tools/email/dist/pages/thread-tools.d.ts.map +1 -0
- package/packages/tools/email/dist/pages/thread-tools.js +33 -0
- package/packages/tools/email/dist/pages/thread-tools.js.map +1 -0
- package/packages/tools/email/dist/ports.d.ts +10 -0
- package/packages/tools/email/dist/ports.d.ts.map +1 -1
- package/packages/tools/email/dist/ports.js.map +1 -1
- package/packages/tools/email/dist/retention.d.ts.map +1 -1
- package/packages/tools/email/dist/retention.js +1 -0
- package/packages/tools/email/dist/retention.js.map +1 -1
- package/packages/tools/email/dist/sources/inbox-poll.d.ts.map +1 -1
- package/packages/tools/email/dist/sources/inbox-poll.js +9 -2
- package/packages/tools/email/dist/sources/inbox-poll.js.map +1 -1
- package/packages/tools/email/migrations/027_first_contact.sql +13 -0
- package/packages/tools/email/migrations/028_reading.sql +20 -0
- package/packages/tools/email/package.json +1 -0
- package/packages/tools/host/dist/.tsbuildinfo +1 -1
- package/packages/tools/mcp/dist/.tsbuildinfo +1 -1
- package/packages/tools/memory/dist/.tsbuildinfo +1 -1
- package/packages/tools/web/dist/.tsbuildinfo +1 -1
- package/packages/web/dist/apple-touch-icon.png +0 -0
- package/packages/web/dist/assets/index-C1sRt7zd.js +149 -0
- package/packages/web/dist/assets/index-CdZpSJ4_.css +1 -0
- package/packages/web/dist/assets/{lottie_light-CQmEj1as.js → lottie_light-DnYl9yaP.js} +1 -1
- package/packages/web/dist/backgrounds/golden-streak-portrait.jpg +0 -0
- package/packages/web/dist/backgrounds/golden-streak-thumb.jpg +0 -0
- package/packages/web/dist/backgrounds/manifest.json +18 -0
- package/packages/web/dist/backgrounds/peoria-autumn-waterfront-thumb.jpg +0 -0
- package/packages/web/dist/backgrounds/peoria-autumn-waterfront.jpg +0 -0
- package/packages/web/dist/build.json +1 -1
- package/packages/web/dist/favicon-16.png +0 -0
- package/packages/web/dist/favicon-32.png +0 -0
- package/packages/web/dist/favicon.ico +0 -0
- package/packages/web/dist/icon-192.png +0 -0
- package/packages/web/dist/icon-512.png +0 -0
- package/packages/web/dist/index.html +6 -3
- package/packages/web/dist/manifest.webmanifest +1 -1
- package/packages/web/dist/maskable-512.png +0 -0
- package/packages/web/dist/precache.json +7 -5
- package/packages/web/dist/assets/index-BrA8nWN-.css +0 -1
- package/packages/web/dist/assets/index-lmUTDd2T.js +0 -146
- package/packages/web/dist/favicon.png +0 -0
- package/packages/web/dist/icon-maskable-512.png +0 -0
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One way to change the owner's profile, whoever asks (docs/agents.md, "What
|
|
3
|
+
* every agent is told about you").
|
|
4
|
+
*
|
|
5
|
+
* Settings → Profile (`POST /api/owner`), the agents' `owner.set_profile` and
|
|
6
|
+
* MCP's `buddi.profile_update` all check a change here, with the same limits
|
|
7
|
+
* and the same sentences, so a field the page refuses is refused everywhere.
|
|
8
|
+
* Places go through the same geocoder road the page's Find button uses
|
|
9
|
+
* (`web/places.ts`): the address is the owner's, the town, its coordinates and
|
|
10
|
+
* its zone are what the geocoder matched.
|
|
11
|
+
*
|
|
12
|
+
* `profileGaps` is the other half: which useful fields are still empty, each
|
|
13
|
+
* with the one reason it is worth asking for. It reads; it never asks.
|
|
14
|
+
*/
|
|
15
|
+
import { OWNER_DATE_FORMATS, OWNER_TIME_FORMATS, PLACE_ADDRESS_MAX, PLACE_LABEL_MAX, PlaceRefusal, findPlaces, foundPlaceName, getOwnerProfile, isKnownTimezone, listOwnerPlaces, removeOwnerPlace, saveOwnerPlace, saveOwnerProfile, validDayMonth, } from '@buddi/core';
|
|
16
|
+
import { datesChanged } from './missions/dates.js';
|
|
17
|
+
import { placesGeocoder } from './web/places.js';
|
|
18
|
+
/* ------------------------------------------------------------------ *
|
|
19
|
+
* The profile fields
|
|
20
|
+
* ------------------------------------------------------------------ */
|
|
21
|
+
/** The text fields Settings → Profile writes, with its limits. */
|
|
22
|
+
export const PROFILE_TEXT_LIMITS = {
|
|
23
|
+
preferredName: 80,
|
|
24
|
+
fullName: 120,
|
|
25
|
+
pronouns: 40,
|
|
26
|
+
timezone: 80,
|
|
27
|
+
language: 80,
|
|
28
|
+
about: 1000,
|
|
29
|
+
};
|
|
30
|
+
export const PROFILE_TEXT_FIELDS = Object.keys(PROFILE_TEXT_LIMITS);
|
|
31
|
+
/** Every field a change may name, places aside. */
|
|
32
|
+
export const PROFILE_FIELDS = [
|
|
33
|
+
'preferredName', 'fullName', 'pronouns', 'timezone', 'language', 'about', 'birthday', 'timeFormat', 'dateFormat',
|
|
34
|
+
];
|
|
35
|
+
const TOO_LONG = {
|
|
36
|
+
preferredName: 'The name is too long (80 characters at most).',
|
|
37
|
+
fullName: 'The full name is too long (120 characters at most).',
|
|
38
|
+
pronouns: 'Keep the pronouns under 40 characters.',
|
|
39
|
+
timezone: 'That timezone name is too long.',
|
|
40
|
+
language: 'Keep the language under 80 characters.',
|
|
41
|
+
about: 'Keep the line about you under 1,000 characters.',
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* A profile change as Settings → Profile sends it, checked: each text field a
|
|
45
|
+
* string or null (null clears it), the zone one this host knows, the formats
|
|
46
|
+
* one of the words or null (Auto), the birthday a real day or null. What is
|
|
47
|
+
* left out stays. The sentence on a refusal is the page's own.
|
|
48
|
+
*/
|
|
49
|
+
export function checkProfilePatch(body) {
|
|
50
|
+
const patch = {};
|
|
51
|
+
for (const key of PROFILE_TEXT_FIELDS) {
|
|
52
|
+
const given = body[key];
|
|
53
|
+
if (given === undefined)
|
|
54
|
+
continue;
|
|
55
|
+
if (given !== null && typeof given !== 'string')
|
|
56
|
+
return { ok: false, error: `\`${key}\` must be a string or null` };
|
|
57
|
+
patch[key] = given;
|
|
58
|
+
}
|
|
59
|
+
// How times and dates read: a known word, or null for Auto.
|
|
60
|
+
if (body.timeFormat !== undefined) {
|
|
61
|
+
if (body.timeFormat !== null && !OWNER_TIME_FORMATS.includes(body.timeFormat))
|
|
62
|
+
return { ok: false, error: '`timeFormat` is 12h, 24h or null (Auto).' };
|
|
63
|
+
patch.timeFormat = body.timeFormat;
|
|
64
|
+
}
|
|
65
|
+
if (body.dateFormat !== undefined) {
|
|
66
|
+
if (body.dateFormat !== null && !OWNER_DATE_FORMATS.includes(body.dateFormat))
|
|
67
|
+
return { ok: false, error: '`dateFormat` is short, long, iso or null (Auto).' };
|
|
68
|
+
patch.dateFormat = body.dateFormat;
|
|
69
|
+
}
|
|
70
|
+
if (patch.timezone && !isKnownTimezone(patch.timezone))
|
|
71
|
+
return { ok: false, error: `"${patch.timezone}" is not a timezone this host knows.` };
|
|
72
|
+
for (const key of PROFILE_TEXT_FIELDS) {
|
|
73
|
+
const value = patch[key];
|
|
74
|
+
if (typeof value === 'string' && value.trim().length > PROFILE_TEXT_LIMITS[key])
|
|
75
|
+
return { ok: false, error: TOO_LONG[key] };
|
|
76
|
+
}
|
|
77
|
+
// The birthday: day and month (the year optional), or null to clear it.
|
|
78
|
+
if (body.birthday !== undefined) {
|
|
79
|
+
if (body.birthday === null)
|
|
80
|
+
patch.birthday = null;
|
|
81
|
+
else {
|
|
82
|
+
const birthday = typeof body.birthday === 'object' ? validDayMonth(body.birthday) : null;
|
|
83
|
+
if (!birthday)
|
|
84
|
+
return { ok: false, error: 'The birthday needs a real day and month; the year is optional.' };
|
|
85
|
+
patch.birthday = birthday;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return { ok: true, patch };
|
|
89
|
+
}
|
|
90
|
+
/** The page's limits on a place, before anything is looked up. */
|
|
91
|
+
export function checkPlaceEdits(places = [], remove = []) {
|
|
92
|
+
const clean = (text) => text.trim().replace(/\s+/g, ' ');
|
|
93
|
+
const out = [];
|
|
94
|
+
for (const place of places) {
|
|
95
|
+
const label = clean(String(place?.label ?? ''));
|
|
96
|
+
const address = clean(String(place?.address ?? ''));
|
|
97
|
+
if (label === '')
|
|
98
|
+
return { ok: false, error: 'Give the place a name, like Home or Work.' };
|
|
99
|
+
if (label.length > PLACE_LABEL_MAX)
|
|
100
|
+
return { ok: false, error: `Keep the place's name under ${PLACE_LABEL_MAX} characters.` };
|
|
101
|
+
if (address.length < 2)
|
|
102
|
+
return { ok: false, error: `Say where ${label} is: an address or a town.` };
|
|
103
|
+
if (address.length > PLACE_ADDRESS_MAX)
|
|
104
|
+
return { ok: false, error: 'Keep the address under 200 characters.' };
|
|
105
|
+
if (out.some((p) => p.label.toLowerCase() === label.toLowerCase()))
|
|
106
|
+
return { ok: false, error: `${label} is named twice.` };
|
|
107
|
+
out.push({ label, address });
|
|
108
|
+
}
|
|
109
|
+
const gone = remove.map((label) => clean(String(label))).filter((label) => label !== '');
|
|
110
|
+
if (gone.some((label) => out.some((p) => p.label.toLowerCase() === label.toLowerCase()))) {
|
|
111
|
+
return { ok: false, error: 'A place cannot be saved and removed at once.' };
|
|
112
|
+
}
|
|
113
|
+
return { ok: true, places: out, remove: gone };
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Save and remove places as the page would: find each address (the best match
|
|
117
|
+
* is taken, the others reported), keep the place's zone when the host knows
|
|
118
|
+
* it, change a place already called that rather than adding a second one.
|
|
119
|
+
* One place the finder cannot match does not stop the others.
|
|
120
|
+
*/
|
|
121
|
+
export async function applyPlaceEdits(deps, places, remove) {
|
|
122
|
+
const outcome = { saved: [], notSaved: [], removed: [], notFound: [] };
|
|
123
|
+
const geocoder = placesGeocoder(deps.log, deps.http);
|
|
124
|
+
for (const place of places) {
|
|
125
|
+
let found;
|
|
126
|
+
try {
|
|
127
|
+
found = await findPlaces(geocoder, place.address);
|
|
128
|
+
}
|
|
129
|
+
catch (err) {
|
|
130
|
+
deps.log(`places: finding "${place.address.slice(0, 40)}" failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
131
|
+
outcome.notSaved.push({ label: place.label, reason: 'The place finder did not answer. Try again in a while.' });
|
|
132
|
+
continue;
|
|
133
|
+
}
|
|
134
|
+
const best = found[0];
|
|
135
|
+
if (!best) {
|
|
136
|
+
outcome.notSaved.push({ label: place.label, reason: `Nothing matched "${place.address}". Ask for the town, or the town and the country.` });
|
|
137
|
+
continue;
|
|
138
|
+
}
|
|
139
|
+
const timezone = best.timezone && isKnownTimezone(best.timezone) ? best.timezone : null;
|
|
140
|
+
const existing = (await listOwnerPlaces(deps.pool)).find((p) => p.label.toLowerCase() === place.label.toLowerCase());
|
|
141
|
+
try {
|
|
142
|
+
await saveOwnerPlace(deps.pool, {
|
|
143
|
+
...(existing ? { id: existing.id } : {}),
|
|
144
|
+
label: existing?.label ?? place.label,
|
|
145
|
+
address: place.address,
|
|
146
|
+
name: foundPlaceName(best),
|
|
147
|
+
latitude: best.latitude,
|
|
148
|
+
longitude: best.longitude,
|
|
149
|
+
timezone,
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
catch (err) {
|
|
153
|
+
if (err instanceof PlaceRefusal) {
|
|
154
|
+
outcome.notSaved.push({ label: place.label, reason: err.message });
|
|
155
|
+
continue;
|
|
156
|
+
}
|
|
157
|
+
throw err;
|
|
158
|
+
}
|
|
159
|
+
outcome.saved.push({
|
|
160
|
+
label: existing?.label ?? place.label,
|
|
161
|
+
address: place.address,
|
|
162
|
+
matched: foundPlaceName(best),
|
|
163
|
+
timezone,
|
|
164
|
+
otherMatches: found.slice(1, 4).map(foundPlaceName),
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
for (const label of remove) {
|
|
168
|
+
const existing = (await listOwnerPlaces(deps.pool)).find((p) => p.label.toLowerCase() === label.toLowerCase());
|
|
169
|
+
const removed = existing ? await removeOwnerPlace(deps.pool, existing.id) : null;
|
|
170
|
+
if (removed)
|
|
171
|
+
outcome.removed.push(removed.label);
|
|
172
|
+
else
|
|
173
|
+
outcome.notFound.push(label);
|
|
174
|
+
}
|
|
175
|
+
return outcome;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Write a checked change: the profile (the zone applies at once and the
|
|
179
|
+
* schedules that follow it move), the birthday greeting's day, then the
|
|
180
|
+
* places. Every agent reads the result at its next turn.
|
|
181
|
+
*/
|
|
182
|
+
export async function applyProfileEdit(deps, edit) {
|
|
183
|
+
const touched = Object.keys(edit.patch).length > 0;
|
|
184
|
+
const saved = touched
|
|
185
|
+
? await saveOwnerProfile(deps.pool, edit.patch, deps.env ?? process.env)
|
|
186
|
+
: { profile: await getOwnerProfile(deps.pool) };
|
|
187
|
+
if (edit.patch.birthday !== undefined)
|
|
188
|
+
await datesChanged();
|
|
189
|
+
const placeChanges = edit.places.length > 0 || edit.remove.length > 0
|
|
190
|
+
? await applyPlaceEdits(deps, edit.places, edit.remove)
|
|
191
|
+
: undefined;
|
|
192
|
+
return {
|
|
193
|
+
profile: saved.profile,
|
|
194
|
+
places: await listOwnerPlaces(deps.pool).catch(() => []),
|
|
195
|
+
...(placeChanges ? { placeChanges } : {}),
|
|
196
|
+
...('zoneChange' in saved && saved.zoneChange ? { zoneChange: saved.zoneChange } : {}),
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
/** The change in a few plain lines, for an approval card. */
|
|
200
|
+
export function describeProfileEdit(edit) {
|
|
201
|
+
const lines = [];
|
|
202
|
+
const name = {
|
|
203
|
+
preferredName: 'Name to use', fullName: 'Full name', pronouns: 'Pronouns', timezone: 'Timezone',
|
|
204
|
+
language: 'Language', about: 'About you', birthday: 'Birthday', timeFormat: 'Time format', dateFormat: 'Date format',
|
|
205
|
+
};
|
|
206
|
+
for (const field of PROFILE_FIELDS) {
|
|
207
|
+
const value = edit.patch[field];
|
|
208
|
+
if (value === undefined)
|
|
209
|
+
continue;
|
|
210
|
+
if (value === null) {
|
|
211
|
+
lines.push(`${name[field]}: ${field === 'timeFormat' || field === 'dateFormat' ? 'Auto' : 'cleared'}`);
|
|
212
|
+
}
|
|
213
|
+
else if (field === 'birthday') {
|
|
214
|
+
const b = value;
|
|
215
|
+
lines.push(`${name[field]}: ${b.day}/${b.month}${b.year ? `/${b.year}` : ''} (day/month)`);
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
lines.push(`${name[field]}: ${String(value)}`);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
for (const place of edit.places)
|
|
222
|
+
lines.push(`Place ${place.label}: ${place.address} (looked up on approval)`);
|
|
223
|
+
for (const label of edit.remove)
|
|
224
|
+
lines.push(`Remove the place ${label}`);
|
|
225
|
+
return lines;
|
|
226
|
+
}
|
|
227
|
+
/* ------------------------------------------------------------------ *
|
|
228
|
+
* What is missing
|
|
229
|
+
* ------------------------------------------------------------------ */
|
|
230
|
+
/**
|
|
231
|
+
* The fields worth asking for, in the order they matter, each with its one
|
|
232
|
+
* line. Pronouns and the language are not here on purpose: they are recorded
|
|
233
|
+
* when the owner offers them, never asked for.
|
|
234
|
+
*/
|
|
235
|
+
export const PROFILE_GAP_REASONS = [
|
|
236
|
+
{ field: 'preferredName', why: 'what every agent calls you' },
|
|
237
|
+
{ field: 'timezone', why: 'what "today", reminders and schedules mean' },
|
|
238
|
+
{ field: 'fullName', why: 'letters, forms and bookings' },
|
|
239
|
+
{ field: 'places.home', why: '"how long to get home?", the weather at home, nearby suggestions' },
|
|
240
|
+
{ field: 'places.work', why: '"how long to work?" and the weather at work' },
|
|
241
|
+
{ field: 'birthday', why: 'your team greets you on the day' },
|
|
242
|
+
{ field: 'timeFormat', why: 'times written the way you read them (2:05 PM or 14:05)' },
|
|
243
|
+
{ field: 'dateFormat', why: 'dates written the way you read them (Thu, Oct 1; Thursday, 1 October; or 2026-10-01)' },
|
|
244
|
+
{ field: 'about', why: 'how you like answers and what you do, for every agent' },
|
|
245
|
+
];
|
|
246
|
+
/** The memory preferences the "knowing you" nudge keeps its record in. */
|
|
247
|
+
export const ASKED_PREFERENCE = 'knowing_you_asked';
|
|
248
|
+
export const DONT_ASK_PREFERENCE = 'knowing_you_dont_ask';
|
|
249
|
+
/** At most one "knowing you" question a week. */
|
|
250
|
+
export const NUDGE_EVERY_MS = 7 * 24 * 60 * 60 * 1000;
|
|
251
|
+
/** Which known field names a free-text preference value mentions. */
|
|
252
|
+
export function fieldsIn(value) {
|
|
253
|
+
const text = (value ?? '').toLowerCase();
|
|
254
|
+
const out = new Set();
|
|
255
|
+
for (const { field } of PROFILE_GAP_REASONS) {
|
|
256
|
+
// "places.work", or "work" alone; "fullName" as a word, never inside another.
|
|
257
|
+
const word = field.toLowerCase().replace(/^places\./, '');
|
|
258
|
+
if (new RegExp(`(?:^|[^a-z.])(?:places\\.)?${word}(?![a-z])`).test(text))
|
|
259
|
+
out.add(field);
|
|
260
|
+
}
|
|
261
|
+
if (/\b(?:all|everything)\b/.test(text))
|
|
262
|
+
for (const { field } of PROFILE_GAP_REASONS)
|
|
263
|
+
out.add(field);
|
|
264
|
+
return out;
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* The empty useful fields, with whether each was asked before or declined,
|
|
268
|
+
* and the one a weekly "knowing you" question may ask now.
|
|
269
|
+
*/
|
|
270
|
+
export function profileGaps(profile, places, record = {}, now = new Date()) {
|
|
271
|
+
const has = (label) => places.some((p) => p.label.toLowerCase() === label);
|
|
272
|
+
const empty = (field) => {
|
|
273
|
+
switch (field) {
|
|
274
|
+
case 'places.home': return !has('home');
|
|
275
|
+
case 'places.work': return !has('work');
|
|
276
|
+
case 'birthday': return profile.birthday === null;
|
|
277
|
+
default: return profile[field] === null;
|
|
278
|
+
}
|
|
279
|
+
};
|
|
280
|
+
const asked = fieldsIn(record.asked);
|
|
281
|
+
const declined = fieldsIn(record.dontAsk);
|
|
282
|
+
const gaps = PROFILE_GAP_REASONS.filter(({ field }) => empty(field)).map(({ field, why }) => ({
|
|
283
|
+
field,
|
|
284
|
+
why,
|
|
285
|
+
asked: asked.has(field),
|
|
286
|
+
declined: declined.has(field),
|
|
287
|
+
}));
|
|
288
|
+
const due = !record.askedAt || now.getTime() - record.askedAt.getTime() >= NUDGE_EVERY_MS;
|
|
289
|
+
const next = due ? gaps.find((g) => !g.asked && !g.declined) : undefined;
|
|
290
|
+
return {
|
|
291
|
+
gaps,
|
|
292
|
+
nudge: next ? { field: next.field, why: next.why } : null,
|
|
293
|
+
lastAskedAt: record.askedAt ? record.askedAt.toISOString() : null,
|
|
294
|
+
};
|
|
295
|
+
}
|
|
296
|
+
//# sourceMappingURL=owner-profile-edit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"owner-profile-edit.js","sourceRoot":"","sources":["../src/owner-profile-edit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export interface PagesState {
|
|
2
|
+
pid: number;
|
|
3
|
+
at: string;
|
|
4
|
+
/** The plugins whose pages `GET /api/pages` lists now, sorted. */
|
|
5
|
+
plugins: string[];
|
|
6
|
+
}
|
|
7
|
+
export declare function pagesStateFile(env?: NodeJS.ProcessEnv): string;
|
|
8
|
+
/** The plugin names of every page a registry serves, each once, sorted. */
|
|
9
|
+
export declare function pagePlugins(registry: {
|
|
10
|
+
pages(): ReadonlyArray<{
|
|
11
|
+
plugin: string;
|
|
12
|
+
}>;
|
|
13
|
+
}): string[];
|
|
14
|
+
/** Write what this process serves. Never throws: the doctor then says it could not tell. */
|
|
15
|
+
export declare function writePagesState(env: NodeJS.ProcessEnv, registry: {
|
|
16
|
+
pages(): ReadonlyArray<{
|
|
17
|
+
plugin: string;
|
|
18
|
+
}>;
|
|
19
|
+
}, now?: Date): void;
|
|
20
|
+
/** A file older than this says nothing about the gateway running now. */
|
|
21
|
+
export declare const PAGES_STATE_MAX_AGE_MS: number;
|
|
22
|
+
/** When a process started, from `ps`; undefined when it cannot say. */
|
|
23
|
+
export declare function processStartedAt(pid: number): Date | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* What the running gateway serves, or undefined when no live gateway wrote it.
|
|
26
|
+
*
|
|
27
|
+
* A pid alone is not enough: after a crash and a reboot the number can belong
|
|
28
|
+
* to any process. So the file is believed only when its writer is alive and
|
|
29
|
+
* ours, it is less than a day old, and it was written after that process
|
|
30
|
+
* started — a file from before the process with its pid began is somebody
|
|
31
|
+
* else's leftover.
|
|
32
|
+
*/
|
|
33
|
+
export declare function readPagesState(env?: NodeJS.ProcessEnv, options?: {
|
|
34
|
+
now?: Date;
|
|
35
|
+
startedAt?: (pid: number) => Date | undefined;
|
|
36
|
+
}): PagesState | undefined;
|
|
37
|
+
//# sourceMappingURL=pages-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pages-state.d.ts","sourceRoot":"","sources":["../../src/plugins/pages-state.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,kEAAkE;IAClE,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAE3E;AAED,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,QAAQ,EAAE;IAAE,KAAK,IAAI,aAAa,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,GAAG,MAAM,EAAE,CAE9F;AAED,4FAA4F;AAC5F,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,QAAQ,EAAE;IAAE,KAAK,IAAI,aAAa,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,EACxD,GAAG,GAAE,IAAiB,GACrB,IAAI,CAWN;AAED,yEAAyE;AACzE,eAAO,MAAM,sBAAsB,QAAsB,CAAC;AAgB1D,uEAAuE;AACvE,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAQ9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,IAAI,CAAC;IAAC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,SAAS,CAAA;CAAO,GAC1E,UAAU,GAAG,SAAS,CAiBxB"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which plugins have pages in the running gateway, written where `buddi
|
|
3
|
+
* doctor` can read it.
|
|
4
|
+
*
|
|
5
|
+
* The doctor runs in its own process: it can import what is installed, but
|
|
6
|
+
* only the gateway knows what it actually registered. A plugin installed while
|
|
7
|
+
* buddi runs (first run's chapter 3, the catalogue) is loaded live or waits for
|
|
8
|
+
* a restart, and "installed" and "its page is in the rail" are two answers the
|
|
9
|
+
* owner needs side by side. So the gateway writes the names whose pages it
|
|
10
|
+
* serves at start and whenever its registry changes; the doctor reads the file
|
|
11
|
+
* when the process that wrote it is still alive, and the file is that process's.
|
|
12
|
+
*/
|
|
13
|
+
import { execFileSync } from 'node:child_process';
|
|
14
|
+
import { mkdirSync, readFileSync, renameSync, statSync, writeFileSync } from 'node:fs';
|
|
15
|
+
import path from 'node:path';
|
|
16
|
+
import { dataDir } from '../web/config.js';
|
|
17
|
+
export function pagesStateFile(env = process.env) {
|
|
18
|
+
return path.join(dataDir(env), 'run', 'pages.json');
|
|
19
|
+
}
|
|
20
|
+
/** The plugin names of every page a registry serves, each once, sorted. */
|
|
21
|
+
export function pagePlugins(registry) {
|
|
22
|
+
return [...new Set(registry.pages().map((p) => p.plugin))].sort();
|
|
23
|
+
}
|
|
24
|
+
/** Write what this process serves. Never throws: the doctor then says it could not tell. */
|
|
25
|
+
export function writePagesState(env, registry, now = new Date()) {
|
|
26
|
+
try {
|
|
27
|
+
const file = pagesStateFile(env);
|
|
28
|
+
mkdirSync(path.dirname(file), { recursive: true });
|
|
29
|
+
const state = { pid: process.pid, at: now.toISOString(), plugins: pagePlugins(registry) };
|
|
30
|
+
const temp = `${file}.${process.pid}.tmp`;
|
|
31
|
+
writeFileSync(temp, `${JSON.stringify(state)}\n`, { mode: 0o600 });
|
|
32
|
+
renameSync(temp, file);
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
/* Not worth a start or a log line. */
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/** A file older than this says nothing about the gateway running now. */
|
|
39
|
+
export const PAGES_STATE_MAX_AGE_MS = 24 * 60 * 60 * 1000;
|
|
40
|
+
/**
|
|
41
|
+
* Whether the pid is a live process this user owns. EPERM means a process of
|
|
42
|
+
* somebody else's holds the number now — never our gateway, which runs as the
|
|
43
|
+
* owner — so a reused pid is not taken for a live buddi.
|
|
44
|
+
*/
|
|
45
|
+
function alive(pid) {
|
|
46
|
+
try {
|
|
47
|
+
process.kill(pid, 0);
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/** When a process started, from `ps`; undefined when it cannot say. */
|
|
55
|
+
export function processStartedAt(pid) {
|
|
56
|
+
try {
|
|
57
|
+
const out = execFileSync('ps', ['-o', 'lstart=', '-p', String(pid)], { encoding: 'utf8', timeout: 3_000, stdio: ['ignore', 'pipe', 'ignore'] }).trim();
|
|
58
|
+
const at = out ? new Date(out) : undefined;
|
|
59
|
+
return at && Number.isFinite(at.getTime()) ? at : undefined;
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* What the running gateway serves, or undefined when no live gateway wrote it.
|
|
67
|
+
*
|
|
68
|
+
* A pid alone is not enough: after a crash and a reboot the number can belong
|
|
69
|
+
* to any process. So the file is believed only when its writer is alive and
|
|
70
|
+
* ours, it is less than a day old, and it was written after that process
|
|
71
|
+
* started — a file from before the process with its pid began is somebody
|
|
72
|
+
* else's leftover.
|
|
73
|
+
*/
|
|
74
|
+
export function readPagesState(env = process.env, options = {}) {
|
|
75
|
+
try {
|
|
76
|
+
const file = pagesStateFile(env);
|
|
77
|
+
const parsed = JSON.parse(readFileSync(file, 'utf8'));
|
|
78
|
+
if (typeof parsed.pid !== 'number' || !Array.isArray(parsed.plugins) || typeof parsed.at !== 'string')
|
|
79
|
+
return undefined;
|
|
80
|
+
const now = (options.now ?? new Date()).getTime();
|
|
81
|
+
const at = Date.parse(parsed.at);
|
|
82
|
+
if (!Number.isFinite(at))
|
|
83
|
+
return undefined;
|
|
84
|
+
if (now - at > PAGES_STATE_MAX_AGE_MS || now - statSync(file).mtimeMs > PAGES_STATE_MAX_AGE_MS)
|
|
85
|
+
return undefined;
|
|
86
|
+
if (!alive(parsed.pid))
|
|
87
|
+
return undefined;
|
|
88
|
+
const started = (options.startedAt ?? processStartedAt)(parsed.pid);
|
|
89
|
+
// `ps` says when to the second; a file written in the same second counts.
|
|
90
|
+
if (started && at < started.getTime() - 1_000)
|
|
91
|
+
return undefined;
|
|
92
|
+
return { pid: parsed.pid, at: parsed.at, plugins: parsed.plugins.filter((p) => typeof p === 'string') };
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
return undefined;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=pages-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pages-state.js","sourceRoot":"","sources":["../../src/plugins/pages-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type AgentCatalog, type LoadAgentCatalogOptions, type ProviderAccountsAccess, type ProviderRef, type ResolvedProvider, type Vault } from '@buddi/core';
|
|
2
|
-
import { listProviderModels, type AccountModels, type OllamaConnectProtocol, type RuntimeProvider } from '@buddi/runtime';
|
|
2
|
+
import { listProviderModels, type AccountModels, type CompletionResponse, type OllamaConnectProtocol, type RuntimeProvider } from '@buddi/runtime';
|
|
3
3
|
import type { Pool } from 'pg';
|
|
4
4
|
import { type ProviderDiagnostic } from './provider-diagnostics.js';
|
|
5
5
|
import { type AccountRateLimit } from './account-limits.js';
|
|
@@ -12,9 +12,22 @@ type Binding = {
|
|
|
12
12
|
accountId: string;
|
|
13
13
|
model: string;
|
|
14
14
|
};
|
|
15
|
+
/**
|
|
16
|
+
* One connection test: the sentence the owner reads, and what it was made of.
|
|
17
|
+
* `detail` is the provider's own words on a failure, scrubbed of the key and
|
|
18
|
+
* every stored secret — read only under Details, never as the sentence.
|
|
19
|
+
*/
|
|
15
20
|
type TestResult = ProviderDiagnostic & {
|
|
16
21
|
checkedAt: string;
|
|
22
|
+
model?: string;
|
|
23
|
+
reply?: string;
|
|
24
|
+
elapsedMs?: number;
|
|
25
|
+
tokens?: number;
|
|
26
|
+
billing?: 'key' | 'plan' | null;
|
|
27
|
+
detail?: string | null;
|
|
17
28
|
};
|
|
29
|
+
/** The one prompt a connection test sends: short, fixed, no conversation, no tools. */
|
|
30
|
+
export declare const READY_PROMPT = "Reply with the single word: ready";
|
|
18
31
|
declare const legacy: readonly [{
|
|
19
32
|
readonly id: "legacy-openai-api";
|
|
20
33
|
readonly name: "OPENAI_API_KEY";
|
|
@@ -48,7 +61,8 @@ export declare class ProviderAccounts {
|
|
|
48
61
|
catalog: () => AgentCatalog;
|
|
49
62
|
reload: () => void;
|
|
50
63
|
vault?: Vault;
|
|
51
|
-
|
|
64
|
+
/** Replaces the one ready prompt in tests: a recorded answer, or a recorded refusal thrown. */
|
|
65
|
+
test?: (resolved: ResolvedProvider) => Promise<CompletionResponse | void>;
|
|
52
66
|
listModels?: typeof listProviderModels;
|
|
53
67
|
/** mlxh's read-only probe, replaceable in tests. */
|
|
54
68
|
probeMlxh?: typeof probeMlxh;
|
|
@@ -71,7 +85,8 @@ export declare class ProviderAccounts {
|
|
|
71
85
|
catalog: () => AgentCatalog;
|
|
72
86
|
reload: () => void;
|
|
73
87
|
vault?: Vault;
|
|
74
|
-
|
|
88
|
+
/** Replaces the one ready prompt in tests: a recorded answer, or a recorded refusal thrown. */
|
|
89
|
+
test?: (resolved: ResolvedProvider) => Promise<CompletionResponse | void>;
|
|
75
90
|
listModels?: typeof listProviderModels;
|
|
76
91
|
/** mlxh's read-only probe, replaceable in tests. */
|
|
77
92
|
probeMlxh?: typeof probeMlxh;
|
|
@@ -157,7 +172,15 @@ export declare class ProviderAccounts {
|
|
|
157
172
|
rateLimit(id: string): AccountRateLimit | null;
|
|
158
173
|
/** Pins account identity/model for a run; disabling stops its next model call. */
|
|
159
174
|
provider(ref: ProviderRef): RuntimeProvider;
|
|
160
|
-
|
|
175
|
+
/**
|
|
176
|
+
* Test an account. `reuseWithinMs` is the route's cooldown: a result this
|
|
177
|
+
* recent, for the account as it stands, is answered again rather than
|
|
178
|
+
* spending another call on the provider.
|
|
179
|
+
*/
|
|
180
|
+
test(id: string, options?: {
|
|
181
|
+
reuseWithinMs?: number;
|
|
182
|
+
now?: number;
|
|
183
|
+
}): Promise<TestResult>;
|
|
161
184
|
/**
|
|
162
185
|
* What a plugin sees (`CoreToolContext.providerAccounts`): the listing, an HTTP
|
|
163
186
|
* account resolved as a run resolves it, and a Codex account's profile
|
|
@@ -214,5 +237,11 @@ export declare class ProviderAccounts {
|
|
|
214
237
|
cancelled?: undefined;
|
|
215
238
|
}>;
|
|
216
239
|
}
|
|
240
|
+
/**
|
|
241
|
+
* The sentence for a test that got an answer: what was asked, what came back,
|
|
242
|
+
* how long it took and roughly what it cost. A reasoning model may spend its
|
|
243
|
+
* five tokens thinking and say nothing; the account still works.
|
|
244
|
+
*/
|
|
245
|
+
export declare function readyAnswer(model: string, answer: CompletionResponse | undefined, elapsedMs: number, billing: 'key' | 'plan' | null, secret?: string | null): Omit<TestResult, 'checkedAt'>;
|
|
217
246
|
export {};
|
|
218
247
|
//# sourceMappingURL=provider-accounts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-accounts.d.ts","sourceRoot":"","sources":["../src/provider-accounts.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAAwB,KAAK,sBAAsB,EAAE,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,KAAK,EACrI,MAAM,aAAa,CAAC;AACrB,OAAO,EAA6D,kBAAkB,EAAwC,KAAK,aAAa,EAAE,KAAK,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"provider-accounts.d.ts","sourceRoot":"","sources":["../src/provider-accounts.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAAwB,KAAK,sBAAsB,EAAE,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,KAAK,EACrI,MAAM,aAAa,CAAC;AACrB,OAAO,EAA6D,kBAAkB,EAAwC,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,KAAK,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACpP,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAE/B,OAAO,EAA8C,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAChH,OAAO,EAAiF,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC3I,OAAO,EAAE,aAAa,EAA2B,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAgC,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE3G,OAAO,EAA2B,SAAS,EAAE,MAAM,WAAW,CAAC;AAsB/D,KAAK,OAAO,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AACrE;;;;GAIG;AACH,KAAK,UAAU,GAAG,kBAAkB,GAAG;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAAC;AACF,uFAAuF;AACvF,eAAO,MAAM,YAAY,sCAAsC,CAAC;AA0BhE,QAAA,MAAM,MAAM;;;;;;EAEF,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,aAAa,EAAE,CAErF;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CACrD;AAED,qFAAqF;AACrF,qBAAa,gBAAgB;;IAsBf,QAAQ,CAAC,IAAI,EAAE;QACzB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;QAC9D,OAAO,EAAE,MAAM,YAAY,CAAC;QAAC,MAAM,EAAE,MAAM,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAC;QAC/D,+FAA+F;QAC/F,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;QAC1E,UAAU,CAAC,EAAE,OAAO,kBAAkB,CAAC;QACvC,oDAAoD;QACpD,SAAS,CAAC,EAAE,OAAO,SAAS,CAAC;QAC7B,+EAA+E;QAC/E,MAAM,CAAC,EAAE;YAAE,QAAQ,CAAC,EAAE,qBAAqB,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;SAAE,CAAC;KAC9F;IA/BD,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAClD,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC;IAgB5C,0FAA0F;IAC1F,QAAQ,CAAC,YAAY,EAAE,KAAK,GAAG,SAAS,CAAC;gBACpB,IAAI,EAAE;QACzB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;QAC9D,OAAO,EAAE,MAAM,YAAY,CAAC;QAAC,MAAM,EAAE,MAAM,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAC;QAC/D,+FAA+F;QAC/F,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;QAC1E,UAAU,CAAC,EAAE,OAAO,kBAAkB,CAAC;QACvC,oDAAoD;QACpD,SAAS,CAAC,EAAE,OAAO,SAAS,CAAC;QAC7B,+EAA+E;QAC/E,MAAM,CAAC,EAAE;YAAE,QAAQ,CAAC,EAAE,qBAAqB,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;SAAE,CAAC;KAC9F;IAyBD,IAAI,qBAAqB,YAA4E;IAE/F,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAiD3B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmC3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAUxB,SAAS,EAAE,WAAW,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,CAAC,CAelE;IAEF,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yCAkB8D,UAAU,GAAG,OAAO,GAAG,MAAM;;;;;;;;;;;;;;;;IAwB/G,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,UAAQ,GAAG,OAAO,CAAC,aAAa,CAAC;IAkFjE;;;;;;;OAOG;IACG,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAgBxD,IAAI,CAAC,IAAI,EAAE,OAAO;;;;IA6ElB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;;;;IAkBrC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;IAiCnC,wEAAwE;IACxE,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAwB9C,kFAAkF;IAClF,QAAQ,CAAC,GAAG,EAAE,WAAW,GAAG,eAAe;IAqC3C;;;;OAIG;IACG,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IAkCnG;;;;OAIG;IACH,YAAY,IAAI,sBAAsB;IA2HtC,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,gBAAgB,GAAG,cAAc,GAAG,QAAQ,EAAE,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,KAAK,EAAE,MAAM;;;;;;;;IA2B5K;;;;;OAKG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,YAAY,EAAE,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,KAAK,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;IAgFpI,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,cAAc,GAAG,QAAQ,EAAE,QAAQ,EAAE,OAAO;;;;;;;CA+BvF;AAqBD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,EAAE,MAAM,GAAE,MAAM,GAAG,IAAW,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAcjM"}
|