aimeat 2.2.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +110 -84
- package/dist/.env.example +47 -11
- package/dist/locales/en.json +251 -371
- package/dist/locales/fi.json +255 -375
- package/dist/public/components/ContactCard.js +30 -5
- package/dist/public/components/ContactPicker.js +3 -2
- package/dist/public/components/ImageDeliverable.js +2 -1
- package/dist/public/components/JsonView.js +1 -0
- package/dist/public/components/LinkPreview.js +1 -1
- package/dist/public/components/NotificationBell.js +6 -4
- package/dist/public/components/UsageChart.js +2 -1
- package/dist/public/css/theme.css +1516 -1432
- package/dist/public/css/views/app-grant.css +95 -36
- package/dist/public/css/views/help.css +28 -0
- package/dist/public/css/views/landing.css +20 -0
- package/dist/public/css/views/members.css +40 -10
- package/dist/public/css/views/portal-dev.css +64 -45
- package/dist/public/css/views/profile.css +8 -0
- package/dist/public/js/api.js +1 -0
- package/dist/public/js/app-sandbox.js +1 -0
- package/dist/public/js/components/auth-image.js +3 -1
- package/dist/public/js/i18n.js +3 -1
- package/dist/public/js/presence-store.js +3 -1
- package/dist/public/js/recents.js +2 -0
- package/dist/public/js/services/agent-activity.js +2 -1
- package/dist/public/js/services/agent-directives.js +2 -1
- package/dist/public/js/services/agent-integration.js +2 -1
- package/dist/public/js/services/agent-messages.js +2 -1
- package/dist/public/js/services/agent-tasks.js +2 -1
- package/dist/public/js/services/agents.js +3 -2
- package/dist/public/js/services/calibrator.js +2 -1
- package/dist/public/js/services/consent.js +2 -1
- package/dist/public/js/services/contacts.js +2 -1
- package/dist/public/js/services/cortex.js +5 -4
- package/dist/public/js/services/ecosystem.js +2 -1
- package/dist/public/js/services/knowledge.js +2 -1
- package/dist/public/js/services/ledger.js +2 -1
- package/dist/public/js/services/living.js +10 -9
- package/dist/public/js/services/memory.js +2 -1
- package/dist/public/js/services/messages.js +53 -8
- package/dist/public/js/services/nodes.js +3 -2
- package/dist/public/js/services/notebook-plan.js +2 -1
- package/dist/public/js/services/notebook.js +6 -5
- package/dist/public/js/services/offers.js +6 -5
- package/dist/public/js/services/organisms.js +26 -25
- package/dist/public/js/services/organisms.prompts.js +3 -2
- package/dist/public/js/services/organisms.shared.js +2 -1
- package/dist/public/js/services/organisms.workspace-gen.js +3 -2
- package/dist/public/js/services/packages.js +1 -0
- package/dist/public/js/services/schedules.js +2 -1
- package/dist/public/js/services/security.js +3 -2
- package/dist/public/js/services/skills.js +1 -0
- package/dist/public/js/services/tracked-responses.js +4 -3
- package/dist/public/js/services/unfurl.js +4 -4
- package/dist/public/js/services/work.js +2 -1
- package/dist/public/js/site.js +74 -0
- package/dist/public/js/swallowed.js +69 -0
- package/dist/public/js/theme.js +2 -1
- package/dist/public/js/utils.js +3 -1
- package/dist/public/lib/VENDORED.md +1 -0
- package/dist/public/lib/aimeat-game/board.css +262 -0
- package/dist/public/lib/aimeat-game/progress.css +406 -0
- package/dist/public/lib/aimeat-game/shell.css +388 -0
- package/dist/public/lib/aimeat-game.css +394 -0
- package/dist/public/lib/pdfjs@6/pdf.min.mjs +29 -0
- package/dist/public/lib/pdfjs@6/pdf.worker.min.mjs +29 -0
- package/dist/public/privacy.fi.html +1 -1
- package/dist/public/privacy.html +1 -1
- package/dist/public/spa.html +885 -793
- package/dist/public/sw.js +4 -2
- package/dist/public/views/admin/agent-integration-tab.js +7 -6
- package/dist/public/views/admin/ai-usage-tab.js +2 -1
- package/dist/public/views/admin/cortex-tab.js +2 -1
- package/dist/public/views/admin/economy-tab.js +0 -1
- package/dist/public/views/admin/email-tab.js +4 -2
- package/dist/public/views/admin/federation-tab.js +3 -2
- package/dist/public/views/admin/feedback-tab.js +2 -1
- package/dist/public/views/admin/knowledge-tab.js +2 -1
- package/dist/public/views/admin/messages-tab.js +2 -1
- package/dist/public/views/admin/msm-tab.js +2 -1
- package/dist/public/views/admin/packages-tab.js +3 -2
- package/dist/public/views/admin/portal-tab.js +7 -2
- package/dist/public/views/admin/push-tab.js +9 -4
- package/dist/public/views/admin/stats-tab.js +2 -1
- package/dist/public/views/admin/usage-tab.js +4 -3
- package/dist/public/views/admin.js +6 -4
- package/dist/public/views/agent-solo.js +4 -3
- package/dist/public/views/app-grant.js +105 -32
- package/dist/public/views/business.js +139 -55
- package/dist/public/views/command-palette.js +5 -3
- package/dist/public/views/companies.js +3 -2
- package/dist/public/views/doc-solo.js +2 -1
- package/dist/public/views/help.js +95 -15
- package/dist/public/views/how-it-works.js +41 -8
- package/dist/public/views/invite-accept.js +3 -2
- package/dist/public/views/landing-activity.js +3 -2
- package/dist/public/views/landing-node-totals.js +2 -1
- package/dist/public/views/landing.js +75 -152
- package/dist/public/views/members.js +29 -2
- package/dist/public/views/my-company.js +9 -7
- package/dist/public/views/my-company.payments.js +2 -1
- package/dist/public/views/portal-classic.js +2 -1
- package/dist/public/views/portal-dev.js +64 -35
- package/dist/public/views/portal-dev.panels.js +39 -2
- package/dist/public/views/portal-dev.upload.js +25 -196
- package/dist/public/views/portal.components.js +4 -3
- package/dist/public/views/portfolio.js +5 -4
- package/dist/public/views/profile/access-tab/access-tokens.js +2 -1
- package/dist/public/views/profile/access-tab/agent-defaults.js +3 -1
- package/dist/public/views/profile/access-tab/connected-apps.js +72 -3
- package/dist/public/views/profile/access-tab/sharing-groups.js +4 -1
- package/dist/public/views/profile/access-tab.js +3 -1
- package/dist/public/views/profile/agents/agent-card.js +6 -5
- package/dist/public/views/profile/agents/tab-activity.js +10 -8
- package/dist/public/views/profile/agents/tab-agent-config.js +3 -1
- package/dist/public/views/profile/agents/tab-contracts.js +2 -1
- package/dist/public/views/profile/agents/tab-data-access.js +10 -7
- package/dist/public/views/profile/agents/tab-helpers.js +5 -0
- package/dist/public/views/profile/agents/tab-integration.js +12 -9
- package/dist/public/views/profile/agents/tab-messages.js +6 -4
- package/dist/public/views/profile/agents/tab-quality.js +3 -2
- package/dist/public/views/profile/agents/tab-usage.js +5 -3
- package/dist/public/views/profile/agents/task-item.js +12 -7
- package/dist/public/views/profile/agents-activity-subtab.js +5 -2
- package/dist/public/views/profile/agents-capabilities-subtab.js +4 -2
- package/dist/public/views/profile/agents-messages-subtab.js +5 -2
- package/dist/public/views/profile/agents-services-subtab.js +1 -0
- package/dist/public/views/profile/agents-tab.js +11 -7
- package/dist/public/views/profile/appdev-tab.js +3 -2
- package/dist/public/views/profile/apps-tab.js +10 -8
- package/dist/public/views/profile/boards-tab.js +5 -4
- package/dist/public/views/profile/calibrator-batch.helpers.js +3 -2
- package/dist/public/views/profile/calibrator-batch.js +3 -1
- package/dist/public/views/profile/calibrator-llm-editor.js +3 -2
- package/dist/public/views/profile/calibrator-tab.js +5 -4
- package/dist/public/views/profile/capabilities-tab.js +2 -1
- package/dist/public/views/profile/chat-sessions-tab.js +6 -3
- package/dist/public/views/profile/contacts-tab.js +2 -1
- package/dist/public/views/profile/data-wallet-tab.js +5 -4
- package/dist/public/views/profile/discover-tab.js +4 -1
- package/dist/public/views/profile/ecosystem-tab.automation.js +13 -9
- package/dist/public/views/profile/ecosystem-tab.cards.js +3 -2
- package/dist/public/views/profile/ecosystem-tab.js +10 -7
- package/dist/public/views/profile/email-tab.js +2 -1
- package/dist/public/views/profile/extensions-tab.js +7 -6
- package/dist/public/views/profile/extensions-tab.maturity.js +2 -1
- package/dist/public/views/profile/extensions-tab.prompts.js +24 -0
- package/dist/public/views/profile/federation-tab.js +2 -1
- package/dist/public/views/profile/inbox-tab/components.js +13 -10
- package/dist/public/views/profile/inbox-tab/helpers.js +15 -1
- package/dist/public/views/profile/inbox-tab/use-thread-ux.js +1 -1
- package/dist/public/views/profile/inbox-tab.js +33 -30
- package/dist/public/views/profile/inline-panels.js +5 -4
- package/dist/public/views/profile/knowledge-tab.js +15 -13
- package/dist/public/views/profile/landing-page.cards.js +14 -9
- package/dist/public/views/profile/landing-page.helpers.js +5 -2
- package/dist/public/views/profile/landing-page.js +11 -7
- package/dist/public/views/profile/landing-page.modals.js +8 -5
- package/dist/public/views/profile/living-tab.js +3 -2
- package/dist/public/views/profile/mcp-tab.js +4 -2
- package/dist/public/views/profile/memory-tab/browse-view.js +3 -2
- package/dist/public/views/profile/memory-tab/components.js +4 -3
- package/dist/public/views/profile/memory-tab/entries-view.js +3 -2
- package/dist/public/views/profile/memory-tab.js +18 -16
- package/dist/public/views/profile/nodes-tab.js +2 -1
- package/dist/public/views/profile/notebook-card.js +4 -3
- package/dist/public/views/profile/notebook-tab.js +7 -5
- package/dist/public/views/profile/notifications-tab.js +9 -5
- package/dist/public/views/profile/offers-tab.js +5 -4
- package/dist/public/views/profile/openrouter-settings.js +5 -4
- package/dist/public/views/profile/organisms/activity-panel.js +2 -1
- package/dist/public/views/profile/organisms/agents.js +2 -1
- package/dist/public/views/profile/organisms/document.js +13 -12
- package/dist/public/views/profile/organisms/helpers.js +2 -1
- package/dist/public/views/profile/organisms/home.js +7 -6
- package/dist/public/views/profile/organisms/invite-panel.js +1 -1
- package/dist/public/views/profile/organisms/members.js +7 -6
- package/dist/public/views/profile/organisms/mindmap.js +1 -1
- package/dist/public/views/profile/organisms/panels.js +4 -3
- package/dist/public/views/profile/organisms/participants-panel.js +11 -10
- package/dist/public/views/profile/organisms/readme-panel.js +1 -0
- package/dist/public/views/profile/organisms/sources-panel.js +2 -1
- package/dist/public/views/profile/organisms/workspace/doc-space.js +2 -1
- package/dist/public/views/profile/organisms/workspace/model.js +1 -0
- package/dist/public/views/profile/organisms/workspace-apps.js +4 -2
- package/dist/public/views/profile/organisms/workspace-comments.js +3 -2
- package/dist/public/views/profile/organisms/workspace-list.js +5 -4
- package/dist/public/views/profile/organisms/workspace.js +19 -16
- package/dist/public/views/profile/organisms-tab.js +20 -12
- package/dist/public/views/profile/packages-tab.js +6 -4
- package/dist/public/views/profile/portfolio-tab.js +1 -1
- package/dist/public/views/profile/scheduler-calendar.js +2 -1
- package/dist/public/views/profile/scheduler-tab.js +2 -1
- package/dist/public/views/profile/security-tab.js +2 -1
- package/dist/public/views/profile/services-tab.js +4 -3
- package/dist/public/views/profile/wallet-tab.js +90 -84
- package/dist/public/views/profile/work-tab.js +3 -2
- package/dist/public/views/profile/workflows-form.js +2 -1
- package/dist/public/views/profile/workflows-tab.js +3 -2
- package/dist/public/views/public-workspace-viewer.js +7 -4
- package/dist/scripts/build-sdk-libs.d.ts.map +1 -1
- package/dist/scripts/build-sdk-libs.js +4 -0
- package/dist/scripts/build-sdk-libs.js.map +1 -1
- package/dist/scripts/check-silent-catch.d.ts +2 -0
- package/dist/scripts/check-silent-catch.d.ts.map +1 -0
- package/dist/scripts/check-silent-catch.js +159 -0
- package/dist/scripts/check-silent-catch.js.map +1 -0
- package/dist/src/auth/jwt.d.ts +2 -0
- package/dist/src/auth/jwt.d.ts.map +1 -1
- package/dist/src/auth/jwt.js +15 -3
- package/dist/src/auth/jwt.js.map +1 -1
- package/dist/src/auth/keypair.d.ts.map +1 -1
- package/dist/src/auth/keypair.js +3 -0
- package/dist/src/auth/keypair.js.map +1 -1
- package/dist/src/auth/middleware.d.ts +2 -0
- package/dist/src/auth/middleware.d.ts.map +1 -1
- package/dist/src/auth/middleware.js +33 -14
- package/dist/src/auth/middleware.js.map +1 -1
- package/dist/src/auth/node-keys.d.ts.map +1 -1
- package/dist/src/auth/node-keys.js +59 -16
- package/dist/src/auth/node-keys.js.map +1 -1
- package/dist/src/cli/config-import.d.ts.map +1 -1
- package/dist/src/cli/config-import.js +3 -1
- package/dist/src/cli/config-import.js.map +1 -1
- package/dist/src/cli/connect/auth.d.ts.map +1 -1
- package/dist/src/cli/connect/auth.js +1 -0
- package/dist/src/cli/connect/auth.js.map +1 -1
- package/dist/src/cli/connect/config.d.ts.map +1 -1
- package/dist/src/cli/connect/config.js +3 -1
- package/dist/src/cli/connect/config.js.map +1 -1
- package/dist/src/cli/connect/keychain.d.ts.map +1 -1
- package/dist/src/cli/connect/keychain.js +6 -2
- package/dist/src/cli/connect/keychain.js.map +1 -1
- package/dist/src/cli/connect/mcp/local-server.d.ts.map +1 -1
- package/dist/src/cli/connect/mcp/local-server.js +9 -2
- package/dist/src/cli/connect/mcp/local-server.js.map +1 -1
- package/dist/src/cli/connect/mcp/tools/workspaces.d.ts.map +1 -1
- package/dist/src/cli/connect/mcp/tools/workspaces.js +2 -0
- package/dist/src/cli/connect/mcp/tools/workspaces.js.map +1 -1
- package/dist/src/cli/connect/task-runner.d.ts.map +1 -1
- package/dist/src/cli/connect/task-runner.js +11 -4
- package/dist/src/cli/connect/task-runner.js.map +1 -1
- package/dist/src/cli/connect/tool-call-helpers.d.ts.map +1 -1
- package/dist/src/cli/connect/tool-call-helpers.js +1 -0
- package/dist/src/cli/connect/tool-call-helpers.js.map +1 -1
- package/dist/src/cli/connect/tunnel-client.d.ts.map +1 -1
- package/dist/src/cli/connect/tunnel-client.js +26 -8
- package/dist/src/cli/connect/tunnel-client.js.map +1 -1
- package/dist/src/cli/federation-join.d.ts.map +1 -1
- package/dist/src/cli/federation-join.js +7 -3
- package/dist/src/cli/federation-join.js.map +1 -1
- package/dist/src/cli/init-wizard/presets.d.ts.map +1 -1
- package/dist/src/cli/init-wizard/presets.js +21 -0
- package/dist/src/cli/init-wizard/presets.js.map +1 -1
- package/dist/src/cli/init-wizard/steps-advanced.d.ts.map +1 -1
- package/dist/src/cli/init-wizard/steps-advanced.js +2 -0
- package/dist/src/cli/init-wizard/steps-advanced.js.map +1 -1
- package/dist/src/cli/init-wizard/steps-operator.d.ts.map +1 -1
- package/dist/src/cli/init-wizard/steps-operator.js +10 -0
- package/dist/src/cli/init-wizard/steps-operator.js.map +1 -1
- package/dist/src/commerce/invoice-handler.d.ts +5 -0
- package/dist/src/commerce/invoice-handler.d.ts.map +1 -0
- package/dist/src/commerce/invoice-handler.js +41 -0
- package/dist/src/commerce/invoice-handler.js.map +1 -0
- package/dist/src/commerce/payable-book.d.ts +31 -0
- package/dist/src/commerce/payable-book.d.ts.map +1 -0
- package/dist/src/commerce/payable-book.js +27 -0
- package/dist/src/commerce/payable-book.js.map +1 -0
- package/dist/src/commerce/payment-handlers.d.ts.map +1 -1
- package/dist/src/commerce/payment-handlers.js +8 -4
- package/dist/src/commerce/payment-handlers.js.map +1 -1
- package/dist/src/commerce/sellable-resolvers.d.ts +6 -6
- package/dist/src/commerce/sellable-resolvers.d.ts.map +1 -1
- package/dist/src/commerce/sellable-resolvers.js +17 -4
- package/dist/src/commerce/sellable-resolvers.js.map +1 -1
- package/dist/src/commerce/session-service.js +2 -2
- package/dist/src/commerce/session-service.js.map +1 -1
- package/dist/src/commerce/stripe-handler.d.ts +33 -0
- package/dist/src/commerce/stripe-handler.d.ts.map +1 -0
- package/dist/src/commerce/stripe-handler.js +108 -0
- package/dist/src/commerce/stripe-handler.js.map +1 -0
- package/dist/src/commerce/types.d.ts +10 -12
- package/dist/src/commerce/types.d.ts.map +1 -1
- package/dist/src/commerce/x402-facilitator.d.ts.map +1 -1
- package/dist/src/commerce/x402-facilitator.js +1 -0
- package/dist/src/commerce/x402-facilitator.js.map +1 -1
- package/dist/src/config-types.d.ts +66 -0
- package/dist/src/config-types.d.ts.map +1 -1
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +62 -1
- package/dist/src/config.js.map +1 -1
- package/dist/src/data/library-packs/sdk.d.ts +4 -0
- package/dist/src/data/library-packs/sdk.d.ts.map +1 -1
- package/dist/src/data/library-packs/sdk.js +46 -0
- package/dist/src/data/library-packs/sdk.js.map +1 -1
- package/dist/src/data/library-packs/vendored.d.ts.map +1 -1
- package/dist/src/data/library-packs/vendored.js +88 -0
- package/dist/src/data/library-packs/vendored.js.map +1 -1
- package/dist/src/generated/api-types.d.ts +472 -26
- package/dist/src/generated/api-types.d.ts.map +1 -1
- package/dist/src/index-connect.d.ts.map +1 -1
- package/dist/src/index-connect.js +4 -1
- package/dist/src/index-connect.js.map +1 -1
- package/dist/src/index-start.d.ts.map +1 -1
- package/dist/src/index-start.js +10 -6
- package/dist/src/index-start.js.map +1 -1
- package/dist/src/mcp/app-template-proposals.d.ts.map +1 -1
- package/dist/src/mcp/app-template-proposals.js +2 -1
- package/dist/src/mcp/app-template-proposals.js.map +1 -1
- package/dist/src/mcp/apps.d.ts.map +1 -1
- package/dist/src/mcp/apps.js +4 -3
- package/dist/src/mcp/apps.js.map +1 -1
- package/dist/src/mcp/capabilities.d.ts.map +1 -1
- package/dist/src/mcp/capabilities.js +3 -2
- package/dist/src/mcp/capabilities.js.map +1 -1
- package/dist/src/mcp/catalog/scopes.d.ts +0 -1
- package/dist/src/mcp/catalog/scopes.d.ts.map +1 -1
- package/dist/src/mcp/catalog/scopes.js +2 -11
- package/dist/src/mcp/catalog/scopes.js.map +1 -1
- package/dist/src/mcp/catalog/surfaces.d.ts +1 -7
- package/dist/src/mcp/catalog/surfaces.d.ts.map +1 -1
- package/dist/src/mcp/catalog/surfaces.js +10 -16
- package/dist/src/mcp/catalog/surfaces.js.map +1 -1
- package/dist/src/mcp/commerce.d.ts.map +1 -1
- package/dist/src/mcp/commerce.js +35 -3
- package/dist/src/mcp/commerce.js.map +1 -1
- package/dist/src/mcp/core.d.ts.map +1 -1
- package/dist/src/mcp/core.js +3 -2
- package/dist/src/mcp/core.js.map +1 -1
- package/dist/src/mcp/exchange-run.d.ts +28 -0
- package/dist/src/mcp/exchange-run.d.ts.map +1 -1
- package/dist/src/mcp/exchange-run.js +58 -37
- package/dist/src/mcp/exchange-run.js.map +1 -1
- package/dist/src/mcp/exchange.d.ts.map +1 -1
- package/dist/src/mcp/exchange.js +9 -7
- package/dist/src/mcp/exchange.js.map +1 -1
- package/dist/src/mcp/extensions.d.ts.map +1 -1
- package/dist/src/mcp/extensions.js +60 -106
- package/dist/src/mcp/extensions.js.map +1 -1
- package/dist/src/mcp/index.d.ts.map +1 -1
- package/dist/src/mcp/index.js +1 -5
- package/dist/src/mcp/index.js.map +1 -1
- package/dist/src/mcp/knowledge.d.ts.map +1 -1
- package/dist/src/mcp/knowledge.js +1 -0
- package/dist/src/mcp/knowledge.js.map +1 -1
- package/dist/src/mcp/oauth.d.ts +3 -0
- package/dist/src/mcp/oauth.d.ts.map +1 -1
- package/dist/src/mcp/oauth.js +13 -8
- package/dist/src/mcp/oauth.js.map +1 -1
- package/dist/src/mcp/workspaces.d.ts.map +1 -1
- package/dist/src/mcp/workspaces.js +7 -4
- package/dist/src/mcp/workspaces.js.map +1 -1
- package/dist/src/middleware/cors.d.ts.map +1 -1
- package/dist/src/middleware/cors.js +3 -1
- package/dist/src/middleware/cors.js.map +1 -1
- package/dist/src/middleware/subdomain.d.ts +4 -0
- package/dist/src/middleware/subdomain.d.ts.map +1 -1
- package/dist/src/middleware/subdomain.js +23 -2
- package/dist/src/middleware/subdomain.js.map +1 -1
- package/dist/src/models/app-tool-schemas.d.ts +35 -0
- package/dist/src/models/app-tool-schemas.d.ts.map +1 -1
- package/dist/src/models/app-tool-schemas.js +44 -0
- package/dist/src/models/app-tool-schemas.js.map +1 -1
- package/dist/src/routes/admin-config.d.ts.map +1 -1
- package/dist/src/routes/admin-config.js +4 -1
- package/dist/src/routes/admin-config.js.map +1 -1
- package/dist/src/routes/admin-extensions.d.ts.map +1 -1
- package/dist/src/routes/admin-extensions.js +2 -1
- package/dist/src/routes/admin-extensions.js.map +1 -1
- package/dist/src/routes/admin-monitoring.js +14 -5
- package/dist/src/routes/admin-monitoring.js.map +1 -1
- package/dist/src/routes/admin-security.d.ts.map +1 -1
- package/dist/src/routes/admin-security.js +4 -1
- package/dist/src/routes/admin-security.js.map +1 -1
- package/dist/src/routes/admin.d.ts.map +1 -1
- package/dist/src/routes/admin.js +6 -4
- package/dist/src/routes/admin.js.map +1 -1
- package/dist/src/routes/agent-activity.d.ts.map +1 -1
- package/dist/src/routes/agent-activity.js +4 -1
- package/dist/src/routes/agent-activity.js.map +1 -1
- package/dist/src/routes/agent-directives.d.ts +3 -10
- package/dist/src/routes/agent-directives.d.ts.map +1 -1
- package/dist/src/routes/agent-directives.js +7 -12
- package/dist/src/routes/agent-directives.js.map +1 -1
- package/dist/src/routes/agent-integration.d.ts.map +1 -1
- package/dist/src/routes/agent-integration.js +3 -1
- package/dist/src/routes/agent-integration.js.map +1 -1
- package/dist/src/routes/agent-messages.d.ts.map +1 -1
- package/dist/src/routes/agent-messages.js +5 -2
- package/dist/src/routes/agent-messages.js.map +1 -1
- package/dist/src/routes/agent-onboarding.d.ts.map +1 -1
- package/dist/src/routes/agent-onboarding.js +19 -6
- package/dist/src/routes/agent-onboarding.js.map +1 -1
- package/dist/src/routes/agent-skills-discovery.d.ts.map +1 -1
- package/dist/src/routes/agent-skills-discovery.js +2 -1
- package/dist/src/routes/agent-skills-discovery.js.map +1 -1
- package/dist/src/routes/agent-tasks/completion.js +1 -1
- package/dist/src/routes/agent-tasks/completion.js.map +1 -1
- package/dist/src/routes/agent-tasks/create-read.js +3 -1
- package/dist/src/routes/agent-tasks/create-read.js.map +1 -1
- package/dist/src/routes/agent-tasks/lifecycle.d.ts.map +1 -1
- package/dist/src/routes/agent-tasks/lifecycle.js +28 -9
- package/dist/src/routes/agent-tasks/lifecycle.js.map +1 -1
- package/dist/src/routes/agents/management.d.ts.map +1 -1
- package/dist/src/routes/agents/management.js +4 -1
- package/dist/src/routes/agents/management.js.map +1 -1
- package/dist/src/routes/agents/offers.d.ts.map +1 -1
- package/dist/src/routes/agents/offers.js +0 -0
- package/dist/src/routes/agents/offers.js.map +1 -1
- package/dist/src/routes/agents/profile-metadata.d.ts.map +1 -1
- package/dist/src/routes/agents/profile-metadata.js +2 -1
- package/dist/src/routes/agents/profile-metadata.js.map +1 -1
- package/dist/src/routes/app-grants.d.ts +7 -0
- package/dist/src/routes/app-grants.d.ts.map +1 -1
- package/dist/src/routes/app-grants.js +69 -4
- package/dist/src/routes/app-grants.js.map +1 -1
- package/dist/src/routes/appdev-overview.d.ts.map +1 -1
- package/dist/src/routes/appdev-overview.js +2 -1
- package/dist/src/routes/appdev-overview.js.map +1 -1
- package/dist/src/routes/apps/catalogue-admin.d.ts.map +1 -1
- package/dist/src/routes/apps/catalogue-admin.js +2 -1
- package/dist/src/routes/apps/catalogue-admin.js.map +1 -1
- package/dist/src/routes/apps/drafts.d.ts.map +1 -1
- package/dist/src/routes/apps/drafts.js +2 -1
- package/dist/src/routes/apps/drafts.js.map +1 -1
- package/dist/src/routes/apps/fork-manage.d.ts.map +1 -1
- package/dist/src/routes/apps/fork-manage.js +6 -3
- package/dist/src/routes/apps/fork-manage.js.map +1 -1
- package/dist/src/routes/apps/helpers.d.ts.map +1 -1
- package/dist/src/routes/apps/helpers.js +5 -1
- package/dist/src/routes/apps/helpers.js.map +1 -1
- package/dist/src/routes/apps/publish.d.ts.map +1 -1
- package/dist/src/routes/apps/publish.js +8 -3
- package/dist/src/routes/apps/publish.js.map +1 -1
- package/dist/src/routes/apps/read.d.ts.map +1 -1
- package/dist/src/routes/apps/read.js +2 -1
- package/dist/src/routes/apps/read.js.map +1 -1
- package/dist/src/routes/auth.d.ts.map +1 -1
- package/dist/src/routes/auth.js +2 -1
- package/dist/src/routes/auth.js.map +1 -1
- package/dist/src/routes/boards.js +1 -1
- package/dist/src/routes/boards.js.map +1 -1
- package/dist/src/routes/bootstrap.d.ts.map +1 -1
- package/dist/src/routes/bootstrap.js +8 -3
- package/dist/src/routes/bootstrap.js.map +1 -1
- package/dist/src/routes/capabilities.d.ts.map +1 -1
- package/dist/src/routes/capabilities.js +4 -3
- package/dist/src/routes/capabilities.js.map +1 -1
- package/dist/src/routes/commerce-acp.js +1 -1
- package/dist/src/routes/commerce-acp.js.map +1 -1
- package/dist/src/routes/commerce-ucp.d.ts +2 -3
- package/dist/src/routes/commerce-ucp.d.ts.map +1 -1
- package/dist/src/routes/commerce-ucp.js +6 -12
- package/dist/src/routes/commerce-ucp.js.map +1 -1
- package/dist/src/routes/commerce.d.ts +7 -1
- package/dist/src/routes/commerce.d.ts.map +1 -1
- package/dist/src/routes/commerce.js +65 -15
- package/dist/src/routes/commerce.js.map +1 -1
- package/dist/src/routes/csm.d.ts.map +1 -1
- package/dist/src/routes/csm.js +3 -1
- package/dist/src/routes/csm.js.map +1 -1
- package/dist/src/routes/ecosystem-apps.d.ts.map +1 -1
- package/dist/src/routes/ecosystem-apps.js +7 -6
- package/dist/src/routes/ecosystem-apps.js.map +1 -1
- package/dist/src/routes/exchange-market.d.ts.map +1 -1
- package/dist/src/routes/exchange-market.js +10 -6
- package/dist/src/routes/exchange-market.js.map +1 -1
- package/dist/src/routes/exchange.d.ts +10 -1
- package/dist/src/routes/exchange.d.ts.map +1 -1
- package/dist/src/routes/exchange.js +344 -9
- package/dist/src/routes/exchange.js.map +1 -1
- package/dist/src/routes/extensions/actions.d.ts +2 -0
- package/dist/src/routes/extensions/actions.d.ts.map +1 -1
- package/dist/src/routes/extensions/actions.js +47 -8
- package/dist/src/routes/extensions/actions.js.map +1 -1
- package/dist/src/routes/extensions/entitlement-gate.d.ts +44 -7
- package/dist/src/routes/extensions/entitlement-gate.d.ts.map +1 -1
- package/dist/src/routes/extensions/entitlement-gate.js +21 -142
- package/dist/src/routes/extensions/entitlement-gate.js.map +1 -1
- package/dist/src/routes/extensions/internal-pass.d.ts +23 -0
- package/dist/src/routes/extensions/internal-pass.d.ts.map +1 -0
- package/dist/src/routes/extensions/internal-pass.js +70 -0
- package/dist/src/routes/extensions/internal-pass.js.map +1 -0
- package/dist/src/routes/extensions/manifest.d.ts +4 -0
- package/dist/src/routes/extensions/manifest.d.ts.map +1 -1
- package/dist/src/routes/extensions/manifest.js +68 -4
- package/dist/src/routes/extensions/manifest.js.map +1 -1
- package/dist/src/routes/extensions/metered-response.d.ts +37 -0
- package/dist/src/routes/extensions/metered-response.d.ts.map +1 -0
- package/dist/src/routes/extensions/metered-response.js +60 -0
- package/dist/src/routes/extensions/metered-response.js.map +1 -0
- package/dist/src/routes/extensions/pacing.d.ts +31 -0
- package/dist/src/routes/extensions/pacing.d.ts.map +1 -1
- package/dist/src/routes/extensions/pacing.js +5 -33
- package/dist/src/routes/extensions/pacing.js.map +1 -1
- package/dist/src/routes/extensions/paywall.d.ts +16 -0
- package/dist/src/routes/extensions/paywall.d.ts.map +1 -1
- package/dist/src/routes/extensions/paywall.js +157 -8
- package/dist/src/routes/extensions/paywall.js.map +1 -1
- package/dist/src/routes/extensions/priced-binding.d.ts +50 -0
- package/dist/src/routes/extensions/priced-binding.d.ts.map +1 -0
- package/dist/src/routes/extensions/priced-binding.js +46 -0
- package/dist/src/routes/extensions/priced-binding.js.map +1 -0
- package/dist/src/routes/federation-genesis.d.ts.map +1 -1
- package/dist/src/routes/federation-genesis.js +14 -5
- package/dist/src/routes/federation-genesis.js.map +1 -1
- package/dist/src/routes/federation-peer/introduce.d.ts.map +1 -1
- package/dist/src/routes/federation-peer/introduce.js +3 -1
- package/dist/src/routes/federation-peer/introduce.js.map +1 -1
- package/dist/src/routes/federation-peer/lifecycle.d.ts.map +1 -1
- package/dist/src/routes/federation-peer/lifecycle.js +3 -2
- package/dist/src/routes/federation-peer/lifecycle.js.map +1 -1
- package/dist/src/routes/federation-peer/peers.d.ts.map +1 -1
- package/dist/src/routes/federation-peer/peers.js +5 -3
- package/dist/src/routes/federation-peer/peers.js.map +1 -1
- package/dist/src/routes/federation-peer/policy-book.d.ts.map +1 -1
- package/dist/src/routes/federation-peer/policy-book.js +2 -1
- package/dist/src/routes/federation-peer/policy-book.js.map +1 -1
- package/dist/src/routes/federation-peer/promotion.d.ts.map +1 -1
- package/dist/src/routes/federation-peer/promotion.js +4 -1
- package/dist/src/routes/federation-peer/promotion.js.map +1 -1
- package/dist/src/routes/federation-settlements.js +2 -2
- package/dist/src/routes/federation-settlements.js.map +1 -1
- package/dist/src/routes/federation-sync/catalogue-trust.js +5 -3
- package/dist/src/routes/federation-sync/catalogue-trust.js.map +1 -1
- package/dist/src/routes/federation-sync/messaging.js +5 -3
- package/dist/src/routes/federation-sync/messaging.js.map +1 -1
- package/dist/src/routes/federation-sync/routing.d.ts.map +1 -1
- package/dist/src/routes/federation-sync/routing.js +7 -5
- package/dist/src/routes/federation-sync/routing.js.map +1 -1
- package/dist/src/routes/flags.d.ts.map +1 -1
- package/dist/src/routes/flags.js +3 -1
- package/dist/src/routes/flags.js.map +1 -1
- package/dist/src/routes/ghii/register-login.js +1 -1
- package/dist/src/routes/ghii/register-login.js.map +1 -1
- package/dist/src/routes/instances/install.d.ts.map +1 -1
- package/dist/src/routes/instances/install.js +2 -1
- package/dist/src/routes/instances/install.js.map +1 -1
- package/dist/src/routes/instances/manage.d.ts.map +1 -1
- package/dist/src/routes/instances/manage.js +2 -1
- package/dist/src/routes/instances/manage.js.map +1 -1
- package/dist/src/routes/knowledge/packages-core.d.ts.map +1 -1
- package/dist/src/routes/knowledge/packages-core.js +2 -1
- package/dist/src/routes/knowledge/packages-core.js.map +1 -1
- package/dist/src/routes/knowledge/sharing.d.ts.map +1 -1
- package/dist/src/routes/knowledge/sharing.js +2 -1
- package/dist/src/routes/knowledge/sharing.js.map +1 -1
- package/dist/src/routes/library-packs.d.ts.map +1 -1
- package/dist/src/routes/library-packs.js +10 -3
- package/dist/src/routes/library-packs.js.map +1 -1
- package/dist/src/routes/libs.d.ts +9 -0
- package/dist/src/routes/libs.d.ts.map +1 -1
- package/dist/src/routes/libs.js +11 -2
- package/dist/src/routes/libs.js.map +1 -1
- package/dist/src/routes/matches.d.ts.map +1 -1
- package/dist/src/routes/matches.js +7 -3
- package/dist/src/routes/matches.js.map +1 -1
- package/dist/src/routes/memory/bulk.d.ts.map +1 -1
- package/dist/src/routes/memory/bulk.js +3 -1
- package/dist/src/routes/memory/bulk.js.map +1 -1
- package/dist/src/routes/memory/crud.d.ts.map +1 -1
- package/dist/src/routes/memory/crud.js +4 -2
- package/dist/src/routes/memory/crud.js.map +1 -1
- package/dist/src/routes/memory/federation.d.ts.map +1 -1
- package/dist/src/routes/memory/federation.js +5 -0
- package/dist/src/routes/memory/federation.js.map +1 -1
- package/dist/src/routes/memory/key.d.ts.map +1 -1
- package/dist/src/routes/memory/key.js +9 -4
- package/dist/src/routes/memory/key.js.map +1 -1
- package/dist/src/routes/messages.d.ts.map +1 -1
- package/dist/src/routes/messages.js +2 -1
- package/dist/src/routes/messages.js.map +1 -1
- package/dist/src/routes/msm.d.ts.map +1 -1
- package/dist/src/routes/msm.js +3 -1
- package/dist/src/routes/msm.js.map +1 -1
- package/dist/src/routes/oauth-login.d.ts.map +1 -1
- package/dist/src/routes/oauth-login.js +1 -0
- package/dist/src/routes/oauth-login.js.map +1 -1
- package/dist/src/routes/openrouter.js +2 -2
- package/dist/src/routes/openrouter.js.map +1 -1
- package/dist/src/routes/organisms/crud.d.ts.map +1 -1
- package/dist/src/routes/organisms/crud.js +3 -2
- package/dist/src/routes/organisms/crud.js.map +1 -1
- package/dist/src/routes/organisms/gates.d.ts.map +1 -1
- package/dist/src/routes/organisms/gates.js +3 -2
- package/dist/src/routes/organisms/gates.js.map +1 -1
- package/dist/src/routes/organisms/intake.d.ts.map +1 -1
- package/dist/src/routes/organisms/intake.js +13 -1
- package/dist/src/routes/organisms/intake.js.map +1 -1
- package/dist/src/routes/organisms/shared.d.ts.map +1 -1
- package/dist/src/routes/organisms/shared.js +7 -3
- package/dist/src/routes/organisms/shared.js.map +1 -1
- package/dist/src/routes/organisms/workspace-ops.d.ts.map +1 -1
- package/dist/src/routes/organisms/workspace-ops.js +6 -5
- package/dist/src/routes/organisms/workspace-ops.js.map +1 -1
- package/dist/src/routes/organisms/workspace-read.d.ts.map +1 -1
- package/dist/src/routes/organisms/workspace-read.js +4 -2
- package/dist/src/routes/organisms/workspace-read.js.map +1 -1
- package/dist/src/routes/owners.d.ts.map +1 -1
- package/dist/src/routes/owners.js +37 -12
- package/dist/src/routes/owners.js.map +1 -1
- package/dist/src/routes/personal.js +3 -1
- package/dist/src/routes/personal.js.map +1 -1
- package/dist/src/routes/portal.d.ts +6 -1
- package/dist/src/routes/portal.d.ts.map +1 -1
- package/dist/src/routes/portal.js +75 -10
- package/dist/src/routes/portal.js.map +1 -1
- package/dist/src/routes/portfolio.d.ts.map +1 -1
- package/dist/src/routes/portfolio.js +5 -1
- package/dist/src/routes/portfolio.js.map +1 -1
- package/dist/src/routes/prompts.d.ts.map +1 -1
- package/dist/src/routes/prompts.js +36 -2
- package/dist/src/routes/prompts.js.map +1 -1
- package/dist/src/routes/public-events.d.ts.map +1 -1
- package/dist/src/routes/public-events.js +4 -1
- package/dist/src/routes/public-events.js.map +1 -1
- package/dist/src/routes/public-stats.d.ts.map +1 -1
- package/dist/src/routes/public-stats.js +29 -10
- package/dist/src/routes/public-stats.js.map +1 -1
- package/dist/src/routes/schedules.d.ts +3 -0
- package/dist/src/routes/schedules.d.ts.map +1 -1
- package/dist/src/routes/schedules.js +14 -1
- package/dist/src/routes/schedules.js.map +1 -1
- package/dist/src/routes/stats.d.ts.map +1 -1
- package/dist/src/routes/stats.js +5 -1
- package/dist/src/routes/stats.js.map +1 -1
- package/dist/src/routes/storage-files.d.ts +4 -0
- package/dist/src/routes/storage-files.d.ts.map +1 -1
- package/dist/src/routes/storage-files.js +11 -0
- package/dist/src/routes/storage-files.js.map +1 -1
- package/dist/src/routes/subdomains.d.ts +9 -0
- package/dist/src/routes/subdomains.d.ts.map +1 -1
- package/dist/src/routes/subdomains.js +66 -5
- package/dist/src/routes/subdomains.js.map +1 -1
- package/dist/src/routes/unfurl.d.ts.map +1 -1
- package/dist/src/routes/unfurl.js +13 -3
- package/dist/src/routes/unfurl.js.map +1 -1
- package/dist/src/routes/upload.d.ts +11 -0
- package/dist/src/routes/upload.d.ts.map +1 -1
- package/dist/src/routes/upload.js +99 -9
- package/dist/src/routes/upload.js.map +1 -1
- package/dist/src/routes/wallet.d.ts +3 -0
- package/dist/src/routes/wallet.d.ts.map +1 -1
- package/dist/src/routes/wallet.js +6 -1
- package/dist/src/routes/wallet.js.map +1 -1
- package/dist/src/routes/webmcp.d.ts +8 -0
- package/dist/src/routes/webmcp.d.ts.map +1 -1
- package/dist/src/routes/webmcp.js +96 -49
- package/dist/src/routes/webmcp.js.map +1 -1
- package/dist/src/routes/wellknown.d.ts.map +1 -1
- package/dist/src/routes/wellknown.js +1 -0
- package/dist/src/routes/wellknown.js.map +1 -1
- package/dist/src/server-bootstrap/config-init.d.ts.map +1 -1
- package/dist/src/server-bootstrap/config-init.js +2 -0
- package/dist/src/server-bootstrap/config-init.js.map +1 -1
- package/dist/src/server-bootstrap/routes-loader.d.ts +4 -2
- package/dist/src/server-bootstrap/routes-loader.d.ts.map +1 -1
- package/dist/src/server-bootstrap/routes-loader.js +11 -22
- package/dist/src/server-bootstrap/routes-loader.js.map +1 -1
- package/dist/src/server-bootstrap/service-init.js +3 -1
- package/dist/src/server-bootstrap/service-init.js.map +1 -1
- package/dist/src/server-bootstrap/static-files.d.ts.map +1 -1
- package/dist/src/server-bootstrap/static-files.js +3 -1
- package/dist/src/server-bootstrap/static-files.js.map +1 -1
- package/dist/src/services/agent-statistics.d.ts.map +1 -1
- package/dist/src/services/agent-statistics.js +4 -1
- package/dist/src/services/agent-statistics.js.map +1 -1
- package/dist/src/services/app-agent-deploy.d.ts.map +1 -1
- package/dist/src/services/app-agent-deploy.js +4 -1
- package/dist/src/services/app-agent-deploy.js.map +1 -1
- package/dist/src/services/app-agent-surface.d.ts +78 -0
- package/dist/src/services/app-agent-surface.d.ts.map +1 -0
- package/dist/src/services/app-agent-surface.js +74 -0
- package/dist/src/services/app-agent-surface.js.map +1 -0
- package/dist/src/services/app-tool-names.d.ts +15 -0
- package/dist/src/services/app-tool-names.d.ts.map +1 -0
- package/dist/src/services/app-tool-names.js +24 -0
- package/dist/src/services/app-tool-names.js.map +1 -0
- package/dist/src/services/appdev-overview.d.ts.map +1 -1
- package/dist/src/services/appdev-overview.js +3 -2
- package/dist/src/services/appdev-overview.js.map +1 -1
- package/dist/src/services/attachment-duplication.js +3 -3
- package/dist/src/services/attachment-duplication.js.map +1 -1
- package/dist/src/services/build-extension-prompt.d.ts +40 -0
- package/dist/src/services/build-extension-prompt.d.ts.map +1 -0
- package/dist/src/services/build-extension-prompt.js +253 -0
- package/dist/src/services/build-extension-prompt.js.map +1 -0
- package/dist/src/services/cache-cleanup.d.ts.map +1 -1
- package/dist/src/services/cache-cleanup.js +2 -1
- package/dist/src/services/cache-cleanup.js.map +1 -1
- package/dist/src/services/call-timing.d.ts.map +1 -1
- package/dist/src/services/call-timing.js +2 -1
- package/dist/src/services/call-timing.js.map +1 -1
- package/dist/src/services/capability-invoke.d.ts +6 -1
- package/dist/src/services/capability-invoke.d.ts.map +1 -1
- package/dist/src/services/capability-invoke.js +14 -2
- package/dist/src/services/capability-invoke.js.map +1 -1
- package/dist/src/services/catalogue-sync.d.ts.map +1 -1
- package/dist/src/services/catalogue-sync.js +1 -0
- package/dist/src/services/catalogue-sync.js.map +1 -1
- package/dist/src/services/component-registrar.d.ts.map +1 -1
- package/dist/src/services/component-registrar.js +22 -6
- package/dist/src/services/component-registrar.js.map +1 -1
- package/dist/src/services/config-loader.d.ts.map +1 -1
- package/dist/src/services/config-loader.js +6 -1
- package/dist/src/services/config-loader.js.map +1 -1
- package/dist/src/services/config-schema.d.ts.map +1 -1
- package/dist/src/services/config-schema.js +1 -0
- package/dist/src/services/config-schema.js.map +1 -1
- package/dist/src/services/connect-tunnel.d.ts.map +1 -1
- package/dist/src/services/connect-tunnel.js +17 -6
- package/dist/src/services/connect-tunnel.js.map +1 -1
- package/dist/src/services/consent.d.ts.map +1 -1
- package/dist/src/services/consent.js +3 -1
- package/dist/src/services/consent.js.map +1 -1
- package/dist/src/services/consul-config.d.ts.map +1 -1
- package/dist/src/services/consul-config.js +7 -2
- package/dist/src/services/consul-config.js.map +1 -1
- package/dist/src/services/contacts.js +4 -2
- package/dist/src/services/contacts.js.map +1 -1
- package/dist/src/services/core-jobs.js +1 -1
- package/dist/src/services/core-jobs.js.map +1 -1
- package/dist/src/services/db/agent-messages-overview-db-service.d.ts.map +1 -1
- package/dist/src/services/db/agent-messages-overview-db-service.js +2 -1
- package/dist/src/services/db/agent-messages-overview-db-service.js.map +1 -1
- package/dist/src/services/db/agent-quality-overview-db-service.d.ts.map +1 -1
- package/dist/src/services/db/agent-quality-overview-db-service.js +2 -1
- package/dist/src/services/db/agent-quality-overview-db-service.js.map +1 -1
- package/dist/src/services/db/messages-inbox-db-service.d.ts.map +1 -1
- package/dist/src/services/db/messages-inbox-db-service.js +3 -2
- package/dist/src/services/db/messages-inbox-db-service.js.map +1 -1
- package/dist/src/services/db/messaging-db-service.d.ts.map +1 -1
- package/dist/src/services/db/messaging-db-service.js +3 -2
- package/dist/src/services/db/messaging-db-service.js.map +1 -1
- package/dist/src/services/db/wallet-tab-db-service.d.ts +3 -3
- package/dist/src/services/doc-images.d.ts.map +1 -1
- package/dist/src/services/doc-images.js +7 -4
- package/dist/src/services/doc-images.js.map +1 -1
- package/dist/src/services/ecosystem-automation-notify.d.ts.map +1 -1
- package/dist/src/services/ecosystem-automation-notify.js +10 -4
- package/dist/src/services/ecosystem-automation-notify.js.map +1 -1
- package/dist/src/services/ecosystem-automation.d.ts.map +1 -1
- package/dist/src/services/ecosystem-automation.js +3 -2
- package/dist/src/services/ecosystem-automation.js.map +1 -1
- package/dist/src/services/ecosystem-events.js +1 -1
- package/dist/src/services/ecosystem-events.js.map +1 -1
- package/dist/src/services/entitlement-merge.d.ts +50 -0
- package/dist/src/services/entitlement-merge.d.ts.map +1 -0
- package/dist/src/services/entitlement-merge.js +116 -0
- package/dist/src/services/entitlement-merge.js.map +1 -0
- package/dist/src/services/entitlement-money.d.ts.map +1 -1
- package/dist/src/services/entitlement-money.js +4 -1
- package/dist/src/services/entitlement-money.js.map +1 -1
- package/dist/src/services/exchange-market.d.ts +47 -2
- package/dist/src/services/exchange-market.d.ts.map +1 -1
- package/dist/src/services/exchange-market.js +80 -9
- package/dist/src/services/exchange-market.js.map +1 -1
- package/dist/src/services/exchange-projection.d.ts +8 -2
- package/dist/src/services/exchange-projection.d.ts.map +1 -1
- package/dist/src/services/exchange-projection.js +146 -21
- package/dist/src/services/exchange-projection.js.map +1 -1
- package/dist/src/services/exchange-proposals.d.ts.map +1 -1
- package/dist/src/services/exchange-proposals.js +4 -2
- package/dist/src/services/exchange-proposals.js.map +1 -1
- package/dist/src/services/extension-purchase.d.ts +36 -0
- package/dist/src/services/extension-purchase.d.ts.map +1 -0
- package/dist/src/services/extension-purchase.js +110 -0
- package/dist/src/services/extension-purchase.js.map +1 -0
- package/dist/src/services/extension-runtime.d.ts +23 -1
- package/dist/src/services/extension-runtime.d.ts.map +1 -1
- package/dist/src/services/extension-runtime.js +21 -4
- package/dist/src/services/extension-runtime.js.map +1 -1
- package/dist/src/services/extension-secrets.d.ts +8 -0
- package/dist/src/services/extension-secrets.d.ts.map +1 -1
- package/dist/src/services/extension-secrets.js +14 -0
- package/dist/src/services/extension-secrets.js.map +1 -1
- package/dist/src/services/federation-availability.d.ts.map +1 -1
- package/dist/src/services/federation-availability.js +1 -0
- package/dist/src/services/federation-availability.js.map +1 -1
- package/dist/src/services/federation-book.js +15 -7
- package/dist/src/services/federation-book.js.map +1 -1
- package/dist/src/services/federation-helpers.d.ts.map +1 -1
- package/dist/src/services/federation-helpers.js +1 -0
- package/dist/src/services/federation-helpers.js.map +1 -1
- package/dist/src/services/federation.d.ts.map +1 -1
- package/dist/src/services/federation.js +8 -6
- package/dist/src/services/federation.js.map +1 -1
- package/dist/src/services/gate-expiry.d.ts.map +1 -1
- package/dist/src/services/gate-expiry.js +2 -1
- package/dist/src/services/gate-expiry.js.map +1 -1
- package/dist/src/services/genesis-sync.d.ts.map +1 -1
- package/dist/src/services/genesis-sync.js +9 -4
- package/dist/src/services/genesis-sync.js.map +1 -1
- package/dist/src/services/handbooks/commerce.d.ts +13 -0
- package/dist/src/services/handbooks/commerce.d.ts.map +1 -0
- package/dist/src/services/handbooks/commerce.js +60 -0
- package/dist/src/services/handbooks/commerce.js.map +1 -0
- package/dist/src/services/handbooks/index.d.ts +1 -0
- package/dist/src/services/handbooks/index.d.ts.map +1 -1
- package/dist/src/services/handbooks/index.js +2 -2
- package/dist/src/services/handbooks/index.js.map +1 -1
- package/dist/src/services/hooks.d.ts.map +1 -1
- package/dist/src/services/hooks.js +2 -0
- package/dist/src/services/hooks.js.map +1 -1
- package/dist/src/services/invitations.d.ts.map +1 -1
- package/dist/src/services/invitations.js +2 -0
- package/dist/src/services/invitations.js.map +1 -1
- package/dist/src/services/living-author.d.ts.map +1 -1
- package/dist/src/services/living-author.js +4 -1
- package/dist/src/services/living-author.js.map +1 -1
- package/dist/src/services/living-pulse.js +18 -6
- package/dist/src/services/living-pulse.js.map +1 -1
- package/dist/src/services/mailbox-notification.d.ts.map +1 -1
- package/dist/src/services/mailbox-notification.js +1 -0
- package/dist/src/services/mailbox-notification.js.map +1 -1
- package/dist/src/services/match-notification.d.ts.map +1 -1
- package/dist/src/services/match-notification.js +2 -1
- package/dist/src/services/match-notification.js.map +1 -1
- package/dist/src/services/matching.d.ts.map +1 -1
- package/dist/src/services/matching.js +5 -2
- package/dist/src/services/matching.js.map +1 -1
- package/dist/src/services/memory-replication.d.ts.map +1 -1
- package/dist/src/services/memory-replication.js +3 -1
- package/dist/src/services/memory-replication.js.map +1 -1
- package/dist/src/services/message-broadcast.d.ts.map +1 -1
- package/dist/src/services/message-broadcast.js +2 -1
- package/dist/src/services/message-broadcast.js.map +1 -1
- package/dist/src/services/message-delivery.d.ts.map +1 -1
- package/dist/src/services/message-delivery.js +9 -4
- package/dist/src/services/message-delivery.js.map +1 -1
- package/dist/src/services/metered-access.d.ts +148 -0
- package/dist/src/services/metered-access.d.ts.map +1 -0
- package/dist/src/services/metered-access.js +128 -0
- package/dist/src/services/metered-access.js.map +1 -0
- package/dist/src/services/metered-entitlements.d.ts +140 -5
- package/dist/src/services/metered-entitlements.d.ts.map +1 -1
- package/dist/src/services/metered-entitlements.js +247 -30
- package/dist/src/services/metered-entitlements.js.map +1 -1
- package/dist/src/services/metered-settlement.d.ts +45 -0
- package/dist/src/services/metered-settlement.d.ts.map +1 -0
- package/dist/src/services/metered-settlement.js +117 -0
- package/dist/src/services/metered-settlement.js.map +1 -0
- package/dist/src/services/network-policy.d.ts.map +1 -1
- package/dist/src/services/network-policy.js +6 -2
- package/dist/src/services/network-policy.js.map +1 -1
- package/dist/src/services/notebook-classify.d.ts.map +1 -1
- package/dist/src/services/notebook-classify.js +7 -2
- package/dist/src/services/notebook-classify.js.map +1 -1
- package/dist/src/services/notebook-plan.d.ts.map +1 -1
- package/dist/src/services/notebook-plan.js +4 -1
- package/dist/src/services/notebook-plan.js.map +1 -1
- package/dist/src/services/notify.d.ts.map +1 -1
- package/dist/src/services/notify.js +6 -3
- package/dist/src/services/notify.js.map +1 -1
- package/dist/src/services/openrouter.d.ts.map +1 -1
- package/dist/src/services/openrouter.js +1 -0
- package/dist/src/services/openrouter.js.map +1 -1
- package/dist/src/services/organism-export.d.ts.map +1 -1
- package/dist/src/services/organism-export.js +4 -1
- package/dist/src/services/organism-export.js.map +1 -1
- package/dist/src/services/organism-import.d.ts.map +1 -1
- package/dist/src/services/organism-import.js +5 -1
- package/dist/src/services/organism-import.js.map +1 -1
- package/dist/src/services/perf-trace.js +3 -1
- package/dist/src/services/perf-trace.js.map +1 -1
- package/dist/src/services/personal-tunnel.js +14 -8
- package/dist/src/services/personal-tunnel.js.map +1 -1
- package/dist/src/services/presence.d.ts.map +1 -1
- package/dist/src/services/presence.js +11 -5
- package/dist/src/services/presence.js.map +1 -1
- package/dist/src/services/protected-resource.d.ts +60 -0
- package/dist/src/services/protected-resource.d.ts.map +1 -0
- package/dist/src/services/protected-resource.js +137 -0
- package/dist/src/services/protected-resource.js.map +1 -0
- package/dist/src/services/realtime-manager.d.ts.map +1 -1
- package/dist/src/services/realtime-manager.js +8 -5
- package/dist/src/services/realtime-manager.js.map +1 -1
- package/dist/src/services/safe-zip.d.ts.map +1 -1
- package/dist/src/services/safe-zip.js +4 -1
- package/dist/src/services/safe-zip.js.map +1 -1
- package/dist/src/services/scheduler-extension-job.js +2 -2
- package/dist/src/services/scheduler-extension-job.js.map +1 -1
- package/dist/src/services/scheduler.js +13 -7
- package/dist/src/services/scheduler.js.map +1 -1
- package/dist/src/services/security-incident.d.ts.map +1 -1
- package/dist/src/services/security-incident.js +7 -2
- package/dist/src/services/security-incident.js.map +1 -1
- package/dist/src/services/site-sync.d.ts.map +1 -1
- package/dist/src/services/site-sync.js +1 -0
- package/dist/src/services/site-sync.js.map +1 -1
- package/dist/src/services/site.d.ts +1 -1
- package/dist/src/services/site.d.ts.map +1 -1
- package/dist/src/services/site.js +29 -8
- package/dist/src/services/site.js.map +1 -1
- package/dist/src/services/structure-overview.d.ts.map +1 -1
- package/dist/src/services/structure-overview.js +4 -1
- package/dist/src/services/structure-overview.js.map +1 -1
- package/dist/src/services/structure-snapshot.d.ts.map +1 -1
- package/dist/src/services/structure-snapshot.js +3 -2
- package/dist/src/services/structure-snapshot.js.map +1 -1
- package/dist/src/services/sync-scheduler.js +3 -2
- package/dist/src/services/sync-scheduler.js.map +1 -1
- package/dist/src/services/tracked-response.js +1 -1
- package/dist/src/services/tracked-response.js.map +1 -1
- package/dist/src/services/trust-broadcast.d.ts.map +1 -1
- package/dist/src/services/trust-broadcast.js +1 -0
- package/dist/src/services/trust-broadcast.js.map +1 -1
- package/dist/src/services/upload-zip.d.ts +7 -0
- package/dist/src/services/upload-zip.d.ts.map +1 -1
- package/dist/src/services/upload-zip.js +19 -85
- package/dist/src/services/upload-zip.js.map +1 -1
- package/dist/src/services/web-bot-auth.d.ts.map +1 -1
- package/dist/src/services/web-bot-auth.js +1 -0
- package/dist/src/services/web-bot-auth.js.map +1 -1
- package/dist/src/services/workflow/engine-steps.d.ts.map +1 -1
- package/dist/src/services/workflow/engine-steps.js +12 -6
- package/dist/src/services/workflow/engine-steps.js.map +1 -1
- package/dist/src/services/workspace-export.d.ts.map +1 -1
- package/dist/src/services/workspace-export.js +5 -2
- package/dist/src/services/workspace-export.js.map +1 -1
- package/dist/src/services/workspace-import.d.ts.map +1 -1
- package/dist/src/services/workspace-import.js +2 -1
- package/dist/src/services/workspace-import.js.map +1 -1
- package/dist/src/services/workspace-versions.d.ts.map +1 -1
- package/dist/src/services/workspace-versions.js +0 -0
- package/dist/src/services/workspace-versions.js.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/db-types.d.ts +5 -0
- package/dist/src/storage/providers/postgres-kysely/db-types.d.ts.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/helpers.d.ts +11 -0
- package/dist/src/storage/providers/postgres-kysely/helpers.d.ts.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/helpers.js +14 -0
- package/dist/src/storage/providers/postgres-kysely/helpers.js.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/app-grants.d.ts +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/app-grants.d.ts.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/app-grants.js +6 -0
- package/dist/src/storage/providers/postgres-kysely/methods/app-grants.js.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/capabilities.js +3 -3
- package/dist/src/storage/providers/postgres-kysely/methods/capabilities.js.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/ecosystem.js +3 -3
- package/dist/src/storage/providers/postgres-kysely/methods/ecosystem.js.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/federation.d.ts.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/federation.js +12 -10
- package/dist/src/storage/providers/postgres-kysely/methods/federation.js.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/identity.d.ts.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/identity.js +26 -12
- package/dist/src/storage/providers/postgres-kysely/methods/identity.js.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/marketplace.js +5 -5
- package/dist/src/storage/providers/postgres-kysely/methods/marketplace.js.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/node-ext-escrow.d.ts +9 -0
- package/dist/src/storage/providers/postgres-kysely/methods/node-ext-escrow.d.ts.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/node-ext-escrow.js +31 -27
- package/dist/src/storage/providers/postgres-kysely/methods/node-ext-escrow.js.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/organisms.d.ts.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/organisms.js +10 -14
- package/dist/src/storage/providers/postgres-kysely/methods/organisms.js.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/otk.js +3 -3
- package/dist/src/storage/providers/postgres-kysely/methods/otk.js.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/packages.d.ts.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/packages.js +4 -14
- package/dist/src/storage/providers/postgres-kysely/methods/packages.js.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/template-listings.d.ts.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/template-listings.js +11 -10
- package/dist/src/storage/providers/postgres-kysely/methods/template-listings.js.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/wallet.d.ts.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/methods/wallet.js +3 -1
- package/dist/src/storage/providers/postgres-kysely/methods/wallet.js.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/migrate.d.ts.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/migrate.js +3 -0
- package/dist/src/storage/providers/postgres-kysely/migrate.js.map +1 -1
- package/dist/src/storage/providers/postgres-kysely/migrations/0013_ghii_password_lockout.sql +12 -0
- package/dist/src/storage/providers/postgres-kysely/migrations/0014_transaction_initiator.sql +6 -0
- package/dist/src/storage/providers/postgres-kysely/migrations/0015_app_grant_spend_cap.sql +5 -0
- package/dist/src/storage/providers/sqlite/methods/apps.d.ts +1 -1
- package/dist/src/storage/providers/sqlite/methods/apps.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/methods/apps.js +12 -2
- package/dist/src/storage/providers/sqlite/methods/apps.js.map +1 -1
- package/dist/src/storage/providers/sqlite/methods/community.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/methods/community.js +6 -1
- package/dist/src/storage/providers/sqlite/methods/community.js.map +1 -1
- package/dist/src/storage/providers/sqlite/methods/identity-nodes.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/methods/identity-nodes.js +9 -2
- package/dist/src/storage/providers/sqlite/methods/identity-nodes.js.map +1 -1
- package/dist/src/storage/providers/sqlite/methods/work.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/methods/work.js +4 -2
- package/dist/src/storage/providers/sqlite/methods/work.js.map +1 -1
- package/dist/src/storage/providers/sqlite/repos/community.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/repos/community.js +6 -1
- package/dist/src/storage/providers/sqlite/repos/community.js.map +1 -1
- package/dist/src/storage/providers/sqlite/repos/identity.d.ts +3 -0
- package/dist/src/storage/providers/sqlite/repos/identity.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/repos/identity.js +13 -4
- package/dist/src/storage/providers/sqlite/repos/identity.js.map +1 -1
- package/dist/src/storage/providers/sqlite/repos/work.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/repos/work.js +4 -2
- package/dist/src/storage/providers/sqlite/repos/work.js.map +1 -1
- package/dist/src/storage/providers/sqlite/schema-tables-1.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/schema-tables-1.js +1 -0
- package/dist/src/storage/providers/sqlite/schema-tables-1.js.map +1 -1
- package/dist/src/storage/providers/sqlite/schema-tables-2.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/schema-tables-2.js +2 -0
- package/dist/src/storage/providers/sqlite/schema-tables-2.js.map +1 -1
- package/dist/src/storage/providers/sqlite/schema.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/schema.js +14 -1
- package/dist/src/storage/providers/sqlite/schema.js.map +1 -1
- package/dist/src/storage/repositories/app-grant.repository.d.ts +1 -1
- package/dist/src/storage/repositories/app-grant.repository.d.ts.map +1 -1
- package/dist/src/storage/types/auth.d.ts +9 -0
- package/dist/src/storage/types/auth.d.ts.map +1 -1
- package/dist/src/storage/types/commerce.d.ts +13 -0
- package/dist/src/storage/types/commerce.d.ts.map +1 -1
- package/dist/src/utils/app-agent-discovery.d.ts +31 -0
- package/dist/src/utils/app-agent-discovery.d.ts.map +1 -0
- package/dist/src/utils/app-agent-discovery.js +96 -0
- package/dist/src/utils/app-agent-discovery.js.map +1 -0
- package/dist/src/utils/app-protect.d.ts.map +1 -1
- package/dist/src/utils/app-protect.js +1 -0
- package/dist/src/utils/app-protect.js.map +1 -1
- package/dist/src/utils/env-validator.d.ts.map +1 -1
- package/dist/src/utils/env-validator.js +5 -1
- package/dist/src/utils/env-validator.js.map +1 -1
- package/dist/src/utils/gaii.d.ts +50 -0
- package/dist/src/utils/gaii.d.ts.map +1 -1
- package/dist/src/utils/gaii.js +66 -0
- package/dist/src/utils/gaii.js.map +1 -1
- package/dist/src/utils/url-validator.d.ts.map +1 -1
- package/dist/src/utils/url-validator.js +4 -1
- package/dist/src/utils/url-validator.js.map +1 -1
- package/dist/src/utils/version.d.ts.map +1 -1
- package/dist/src/utils/version.js +1 -0
- package/dist/src/utils/version.js.map +1 -1
- package/dist/static/sdk-libs/auth/session.js +7 -3
- package/dist/static/sdk-libs/dist/aimeat-auth.js +1 -1
- package/dist/static/sdk-libs/dist/aimeat-exchange.js +675 -0
- package/dist/static/sdk-libs/dist/aimeat-game.js +1555 -0
- package/dist/static/sdk-libs/dist/aimeat-webmcp.js +46 -0
- package/dist/static/sdk-libs/exchange/browse.js +81 -0
- package/dist/static/sdk-libs/exchange/client.js +131 -0
- package/dist/static/sdk-libs/exchange/contracts.js +228 -0
- package/dist/static/sdk-libs/exchange/demand.js +106 -0
- package/dist/static/sdk-libs/exchange/earnings.js +39 -0
- package/dist/static/sdk-libs/exchange/format.js +51 -0
- package/dist/static/sdk-libs/exchange/index.js +70 -0
- package/dist/static/sdk-libs/exchange/odps-completeness.js +177 -0
- package/dist/static/sdk-libs/exchange/sell.js +253 -0
- package/dist/static/sdk-libs/game/board.js +331 -0
- package/dist/static/sdk-libs/game/dom.js +223 -0
- package/dist/static/sdk-libs/game/i18n.js +201 -0
- package/dist/static/sdk-libs/game/index.js +72 -0
- package/dist/static/sdk-libs/game/markers.js +150 -0
- package/dist/static/sdk-libs/game/menu.js +260 -0
- package/dist/static/sdk-libs/game/overlay.js +193 -0
- package/dist/static/sdk-libs/game/progress.js +280 -0
- package/dist/static/sdk-libs/game/score.js +134 -0
- package/dist/static/sdk-libs/game/screen.js +120 -0
- package/dist/static/sdk-libs/game/units.js +55 -0
- package/dist/static/sdk-libs/webmcp/index.js +63 -0
- package/package.json +2 -1
|
@@ -93,6 +93,7 @@ import { CartTray, EditMemoryModal, FilePreviewModal } from './memory-tab/compon
|
|
|
93
93
|
import { renderEntries } from './memory-tab/entries-view.js';
|
|
94
94
|
import { renderFilesList } from './memory-tab/files-view.js';
|
|
95
95
|
import { renderBrowsePanel, loadBrowseHome, initBrowseRemote, initDiscover, closeBrowse } from './memory-tab/browse-view.js';
|
|
96
|
+
import { swallowed } from '/js/swallowed.js';
|
|
96
97
|
|
|
97
98
|
export default function MemoryTab({ session, showToast, onStats }) {
|
|
98
99
|
const { confirm, ConfirmUI } = useConfirm();
|
|
@@ -124,6 +125,7 @@ export default function MemoryTab({ session, showToast, onStats }) {
|
|
|
124
125
|
// send to a workspace's Sources). Persisted in localStorage per owner so it survives reloads.
|
|
125
126
|
const cartStoreKey = `aimeat.mem.cart.${session?.owner || 'anon'}`;
|
|
126
127
|
const [cart, setCart] = useState(() => {
|
|
128
|
+
// eslint-disable-next-line aimeat/no-silent-catch -- a browser API refusing here IS the answer
|
|
127
129
|
try { const raw = localStorage.getItem(`aimeat.mem.cart.${session?.owner || 'anon'}`); const a = raw ? JSON.parse(raw) : []; return Array.isArray(a) ? a : []; } catch { return []; }
|
|
128
130
|
});
|
|
129
131
|
const [cartOrgs, setCartOrgs] = useState([]); // organisms the user can send a collection into
|
|
@@ -175,13 +177,13 @@ export default function MemoryTab({ session, showToast, onStats }) {
|
|
|
175
177
|
for (const o of orgs) map[o.id] = o.name;
|
|
176
178
|
setOrgNames(map);
|
|
177
179
|
setCartOrgs(orgs.map(o => ({ id: o.id, name: o.name })));
|
|
178
|
-
} catch {
|
|
180
|
+
} catch (err) { swallowed('memory-tab: loadOrgNames', err); }
|
|
179
181
|
}
|
|
180
182
|
|
|
181
183
|
// ── Collection cart ───────────────────────────────────────────────────────
|
|
182
184
|
// Persist on every change so the cart survives reloads (and cross-tab within the same owner).
|
|
183
185
|
useEffect(() => {
|
|
184
|
-
try { localStorage.setItem(cartStoreKey, JSON.stringify(cart)); } catch { /* quota/private mode — cart is best-effort */ }
|
|
186
|
+
try { localStorage.setItem(cartStoreKey, JSON.stringify(cart)); } catch { /* quota/private mode — cart is best-effort */ } // eslint-disable-line aimeat/no-silent-catch -- quota/private mode — cart is best-effort
|
|
185
187
|
}, [cart, cartStoreKey]);
|
|
186
188
|
|
|
187
189
|
const cartIdOf = (it) => `${it.kind}:${it.ownerGaii || ''}:${it.key}`;
|
|
@@ -206,7 +208,7 @@ export default function MemoryTab({ session, showToast, onStats }) {
|
|
|
206
208
|
setCollapsedGroups(prev => {
|
|
207
209
|
const next = new Set(prev);
|
|
208
210
|
if (next.has(id)) next.delete(id); else next.add(id);
|
|
209
|
-
try { sessionStorage.setItem('aimeat.mem.groups.collapsed', JSON.stringify([...next])); } catch { /* noop */ }
|
|
211
|
+
try { sessionStorage.setItem('aimeat.mem.groups.collapsed', JSON.stringify([...next])); } catch { /* noop */ } // eslint-disable-line aimeat/no-silent-catch -- noop
|
|
210
212
|
return next;
|
|
211
213
|
});
|
|
212
214
|
}
|
|
@@ -235,7 +237,7 @@ export default function MemoryTab({ session, showToast, onStats }) {
|
|
|
235
237
|
}
|
|
236
238
|
setFedConsents(map);
|
|
237
239
|
setAllConsents(consents.filter(c => !c.status || c.status === 'active'));
|
|
238
|
-
} catch {
|
|
240
|
+
} catch (err) { swallowed('memory-tab: loadFedConsents', err); }
|
|
239
241
|
}
|
|
240
242
|
|
|
241
243
|
// Does any active consent pattern cover this key? Drives the per-row shield:
|
|
@@ -288,7 +290,7 @@ export default function MemoryTab({ session, showToast, onStats }) {
|
|
|
288
290
|
try {
|
|
289
291
|
const list = await listAgents();
|
|
290
292
|
setAgents(Array.isArray(list) ? list : []);
|
|
291
|
-
} catch { setAgents([]); }
|
|
293
|
+
} catch (err) { swallowed('memory-tab', err); setAgents([]); }
|
|
292
294
|
}
|
|
293
295
|
|
|
294
296
|
async function loadGroups() {
|
|
@@ -296,14 +298,14 @@ export default function MemoryTab({ session, showToast, onStats }) {
|
|
|
296
298
|
const resp = await listGroups();
|
|
297
299
|
if (resp?.data?.groups) setGroups(resp.data.groups);
|
|
298
300
|
else if (Array.isArray(resp?.data)) setGroups(resp.data);
|
|
299
|
-
} catch {
|
|
301
|
+
} catch (err) { swallowed('memory-tab: loadGroups', err); }
|
|
300
302
|
}
|
|
301
303
|
|
|
302
304
|
// Mount composite: ONE GET /v1/memory/tab seeds all six sections — agents + owner-scope memory
|
|
303
305
|
// (metadata-only) + files + consent + sharing-groups + organism names. loadMemories owns later
|
|
304
306
|
// (dynamic) memory re-fetches on agent/archived change; on failure we fall back to the six loaders.
|
|
305
307
|
async function loadTab() {
|
|
306
|
-
const ov = await apiGet('/v1/memory/tab').then(r => r?.data).catch(()
|
|
308
|
+
const ov = await apiGet('/v1/memory/tab').then(r => r?.data).catch(err => { swallowed('memory-tab: loadTab', err); return null; });
|
|
307
309
|
if (!ov) { loadAgents(); loadMemories(); loadFiles(); loadFedConsents(); loadGroups(); loadOrgNames(); return; }
|
|
308
310
|
setAgents(Array.isArray(ov.agents) ? ov.agents : []);
|
|
309
311
|
// memory (metadata-only default view — mirrors loadMemories meta path)
|
|
@@ -352,7 +354,7 @@ export default function MemoryTab({ session, showToast, onStats }) {
|
|
|
352
354
|
setValueCache({});
|
|
353
355
|
if (!memArchived) onStats?.({ memory: items.length });
|
|
354
356
|
}
|
|
355
|
-
} catch { setMemories([]); }
|
|
357
|
+
} catch (err) { swallowed('memory-tab', err); setMemories([]); }
|
|
356
358
|
}
|
|
357
359
|
|
|
358
360
|
// "Load all contents" — pull every entry's value so the instant client filter can search values too.
|
|
@@ -361,7 +363,7 @@ export default function MemoryTab({ session, showToast, onStats }) {
|
|
|
361
363
|
try {
|
|
362
364
|
const list = await memoryService.listMemories(selectedAgent || undefined);
|
|
363
365
|
setMemories(Array.isArray(list) ? list : []);
|
|
364
|
-
} catch {
|
|
366
|
+
} catch (err) { swallowed('memory-tab: loadFullContents', err); }
|
|
365
367
|
}
|
|
366
368
|
|
|
367
369
|
// Lazy value fetch (meta mode): on row expand, fetch the value once and cache it.
|
|
@@ -371,7 +373,7 @@ export default function MemoryTab({ session, showToast, onStats }) {
|
|
|
371
373
|
try {
|
|
372
374
|
const resp = await memoryService.getMemory(key, { soft: true, agent: selectedAgent || undefined });
|
|
373
375
|
setValueCache(prev => ({ ...prev, [key]: resp?.data?.value ?? null }));
|
|
374
|
-
} catch {
|
|
376
|
+
} catch (err) { swallowed('memory-tab: ensureValue', err);
|
|
375
377
|
setValueCache(prev => ({ ...prev, [key]: null }));
|
|
376
378
|
} finally {
|
|
377
379
|
setLoadingValueKeys(prev => { const n = new Set(prev); n.delete(key); return n; });
|
|
@@ -494,7 +496,7 @@ export default function MemoryTab({ session, showToast, onStats }) {
|
|
|
494
496
|
const list = await memoryService.listFiles();
|
|
495
497
|
setFiles(Array.isArray(list) ? list : []);
|
|
496
498
|
onStats?.({ files: Array.isArray(list) ? list.length : 0 });
|
|
497
|
-
} catch { setFiles([]); }
|
|
499
|
+
} catch (err) { swallowed('memory-tab', err); setFiles([]); }
|
|
498
500
|
}
|
|
499
501
|
|
|
500
502
|
async function handleCreateMemory(key, value, visibility, tags, groupId) {
|
|
@@ -523,7 +525,7 @@ export default function MemoryTab({ session, showToast, onStats }) {
|
|
|
523
525
|
// object (not a string of JSON) so readers get back what the writer stored.
|
|
524
526
|
let v = value;
|
|
525
527
|
const s = String(value || '').trim();
|
|
526
|
-
if (/^[[{]/.test(s)) { try { v = JSON.parse(s); } catch { /* modal validates; keep raw as fallback */ } }
|
|
528
|
+
if (/^[[{]/.test(s)) { try { v = JSON.parse(s); } catch { /* modal validates; keep raw as fallback */ } } // eslint-disable-line aimeat/no-silent-catch -- modal validates; keep raw as fallback
|
|
527
529
|
const body = { value: v, visibility, version };
|
|
528
530
|
if (visibility === 'group' && groupId) body.group_id = groupId;
|
|
529
531
|
const resp = await memoryService.updateMemoryFull(key, body);
|
|
@@ -541,7 +543,7 @@ export default function MemoryTab({ session, showToast, onStats }) {
|
|
|
541
543
|
const base64 = await readFileAsBase64(item.file);
|
|
542
544
|
await memoryService.uploadFile(item.key, base64, item.file.type || 'application/octet-stream', visibility, tags);
|
|
543
545
|
ok++;
|
|
544
|
-
} catch { fail++; }
|
|
546
|
+
} catch (err) { swallowed('memory-tab', err); fail++; }
|
|
545
547
|
}
|
|
546
548
|
if (ok > 0) showToast(ok === 1 ? t('profile.files.uploaded') : `${ok} ${t('profile.files.filesUploaded')}`);
|
|
547
549
|
if (fail > 0) showToast(`${fail} ${t('profile.files.uploadFailed')}`, true);
|
|
@@ -590,7 +592,7 @@ export default function MemoryTab({ session, showToast, onStats }) {
|
|
|
590
592
|
try {
|
|
591
593
|
const result = await getKeyPermissions(key);
|
|
592
594
|
setKeyRulesPopover({ key, rules: result.rules, visibility: result.visibility });
|
|
593
|
-
} catch { setKeyRulesPopover(null); }
|
|
595
|
+
} catch (err) { swallowed('memory-tab', err); setKeyRulesPopover(null); }
|
|
594
596
|
}
|
|
595
597
|
|
|
596
598
|
// Quick visibility change from the expanded detail. 'group' needs a group pick,
|
|
@@ -635,7 +637,7 @@ export default function MemoryTab({ session, showToast, onStats }) {
|
|
|
635
637
|
try {
|
|
636
638
|
const resp = await memoryService.updateMemoryVisibility(m.key, vis, m.version, groupId);
|
|
637
639
|
if (resp.ok === false) fail++; else ok++;
|
|
638
|
-
} catch { fail++; }
|
|
640
|
+
} catch (err) { swallowed('memory-tab', err); fail++; }
|
|
639
641
|
}
|
|
640
642
|
showToast((t('profile.memory.bulkDone') || '{n} updated').replace('{n}', String(ok)) + (fail ? ` · ${fail} ${t('profile.error') || 'failed'}` : ''), fail > 0);
|
|
641
643
|
setSelectedKeys(new Set());
|
|
@@ -647,7 +649,7 @@ export default function MemoryTab({ session, showToast, onStats }) {
|
|
|
647
649
|
confirm((t('profile.memory.bulkDeleteConfirm') || 'Delete {n} memory entries? This cannot be undone.').replace('{n}', String(n)), async () => {
|
|
648
650
|
let ok = 0;
|
|
649
651
|
for (const key of selectedKeys) {
|
|
650
|
-
try { const r = await memoryService.deleteMemory(key); if (r.ok !== false) ok++; } catch {
|
|
652
|
+
try { const r = await memoryService.deleteMemory(key); if (r.ok !== false) ok++; } catch (err) { swallowed('memory-tab: bulkDelete', err); }
|
|
651
653
|
}
|
|
652
654
|
showToast((t('profile.memory.bulkDeleted') || '{n} deleted').replace('{n}', String(ok)));
|
|
653
655
|
setSelectedKeys(new Set());
|
|
@@ -24,6 +24,7 @@ import { useConfirm } from '/components/Modal.js';
|
|
|
24
24
|
import * as nodesService from '/js/services/nodes.js';
|
|
25
25
|
import { getNodeUrl } from '/js/services/auth.js';
|
|
26
26
|
import NodeStatsTab from './node-stats-tab.js';
|
|
27
|
+
import { swallowed } from '/js/swallowed.js';
|
|
27
28
|
|
|
28
29
|
/* Default export below wraps the node list and Node stats into one page with
|
|
29
30
|
* sub-tabs — Node stats left the sidebar menu (2026-06-10 sidebar reorg). */
|
|
@@ -58,7 +59,7 @@ function NodesList({ session, showToast, onStats }) {
|
|
|
58
59
|
const list = await nodesService.listNodes();
|
|
59
60
|
setNodes(list);
|
|
60
61
|
onStats?.({ nodes: list.length });
|
|
61
|
-
} catch { setNodes([]); onStats?.({ nodes: 0 }); }
|
|
62
|
+
} catch (err) { swallowed('nodes-tab', err); setNodes([]); onStats?.({ nodes: 0 }); }
|
|
62
63
|
}
|
|
63
64
|
|
|
64
65
|
async function handleRegister(nodeId, vis, gaiis) {
|
|
@@ -35,6 +35,7 @@ import * as offersService from '/js/services/offers.js';
|
|
|
35
35
|
import { Markdown } from '/components/Markdown.js';
|
|
36
36
|
import { OpenRouterSettings } from './openrouter-settings.js';
|
|
37
37
|
import { NEW, NB_STEPS, relTime, firstLine, noteText } from './notebook-helpers.js';
|
|
38
|
+
import { swallowed } from '/js/swallowed.js';
|
|
38
39
|
|
|
39
40
|
export default function NoteCard({ note, showToast, orgNames, settings, autoEnrich, onChanged, onOrgsChanged, onDelete }) {
|
|
40
41
|
const [view, setView] = useState('peek'); // 'line' | 'peek' | 'full'
|
|
@@ -179,7 +180,7 @@ export default function NoteCard({ note, showToast, orgNames, settings, autoEnri
|
|
|
179
180
|
// ── Enrich: plan → run steps → fold into the note ──
|
|
180
181
|
|
|
181
182
|
async function persistNote(value) {
|
|
182
|
-
try { await createMemory(note.key, value, 'private'); } catch {
|
|
183
|
+
try { await createMemory(note.key, value, 'private'); } catch (err) { swallowed('notebook-card: persistNote', err); }
|
|
183
184
|
}
|
|
184
185
|
|
|
185
186
|
async function handleEnrich() {
|
|
@@ -188,7 +189,7 @@ export default function NoteCard({ note, showToast, orgNames, settings, autoEnri
|
|
|
188
189
|
setPlanning(true);
|
|
189
190
|
try {
|
|
190
191
|
let offersFeed = null, catalogue = [];
|
|
191
|
-
try { offersFeed = await offersService.listOffers(); catalogue = buildCatalogue(offersFeed); } catch {
|
|
192
|
+
try { offersFeed = await offersService.listOffers(); catalogue = buildCatalogue(offersFeed); } catch (err) { swallowed('notebook-card: handleEnrich', err); }
|
|
192
193
|
const data = await generatePlan(baseText(), catalogue);
|
|
193
194
|
const existing = Array.isArray(note.value?.enrichments) ? note.value.enrichments : [];
|
|
194
195
|
const plan = data?.plan || { steps: [], summary: '', confidence: 0 };
|
|
@@ -521,7 +522,7 @@ export default function NoteCard({ note, showToast, orgNames, settings, autoEnri
|
|
|
521
522
|
${trackOpen && trackMsg && html`<${TrackResponseModal} open=${true} msg=${trackMsg}
|
|
522
523
|
defaultMode=${trackedIntent?.mode || 'approve'} allowPark=${false}
|
|
523
524
|
onClose=${() => setTrackOpen(false)} showToast=${showToast}
|
|
524
|
-
onDone=${() => { setTrackOpen(false); deleteMemory(note.key).catch(
|
|
525
|
+
onDone=${() => { setTrackOpen(false); deleteMemory(note.key).catch(err => { swallowed('notebook-card: renderSuggestPanel', err); }).finally(() => onChanged?.()); }} />`}
|
|
525
526
|
</div>
|
|
526
527
|
`;
|
|
527
528
|
}
|
|
@@ -30,6 +30,7 @@ import { apiGet } from '/js/api.js';
|
|
|
30
30
|
import { useConfirm } from '/components/Modal.js';
|
|
31
31
|
import NoteCard from './notebook-card.js';
|
|
32
32
|
import { INBOX_PREFIX, noteText } from './notebook-helpers.js';
|
|
33
|
+
import { swallowed } from '/js/swallowed.js';
|
|
33
34
|
|
|
34
35
|
export default function NotebookTab({ session, showToast, onStats }) {
|
|
35
36
|
const { confirm, ConfirmUI } = useConfirm();
|
|
@@ -52,7 +53,7 @@ export default function NotebookTab({ session, showToast, onStats }) {
|
|
|
52
53
|
// re-fetches (post-capture/delete, live-update) keep using the individual loaders; a composite failure
|
|
53
54
|
// falls back to them too.
|
|
54
55
|
async function loadTab() {
|
|
55
|
-
const ov = await apiGet('/v1/notebook').then(r => r?.data).catch(()
|
|
56
|
+
const ov = await apiGet('/v1/notebook').then(r => r?.data).catch(err => { swallowed('notebook-tab: loadTab', err); return null; });
|
|
56
57
|
if (!ov) { loadInbox(); loadOrgNames(); loadSettings(); return; }
|
|
57
58
|
setInbox(ov.inbox || []);
|
|
58
59
|
onStats?.({ notebook: (ov.inbox || []).length });
|
|
@@ -70,12 +71,12 @@ export default function NotebookTab({ session, showToast, onStats }) {
|
|
|
70
71
|
try {
|
|
71
72
|
const s = await getNotebookSettings();
|
|
72
73
|
setSettings({ autoDetectIntent: !!s.autoDetectIntent, autoRunPlan: !!s.autoRunPlan, autoDistribute: !!s.autoDistribute });
|
|
73
|
-
} catch {
|
|
74
|
+
} catch (err) { swallowed('notebook-tab: loadSettings', err); }
|
|
74
75
|
}
|
|
75
76
|
async function toggleSetting(key) {
|
|
76
77
|
const next = { ...settings, [key]: !settings[key] };
|
|
77
78
|
setSettings(next);
|
|
78
|
-
try { await saveNotebookSettings(next); } catch { showToast(t('profile.error'), true); }
|
|
79
|
+
try { await saveNotebookSettings(next); } catch (err) { swallowed('notebook-tab', err); showToast(t('profile.error'), true); }
|
|
79
80
|
}
|
|
80
81
|
|
|
81
82
|
// Re-fetch the inbox on live updates (a capture elsewhere, a sync) — Rule from the frontend guide.
|
|
@@ -95,7 +96,7 @@ export default function NotebookTab({ session, showToast, onStats }) {
|
|
|
95
96
|
.sort((a, b) => +new Date(b.updated_at || b.created_at || 0) - +new Date(a.updated_at || a.created_at || 0));
|
|
96
97
|
setInbox(notes);
|
|
97
98
|
onStats?.({ notebook: notes.length });
|
|
98
|
-
} catch { setInbox([]); }
|
|
99
|
+
} catch (err) { swallowed('notebook-tab', err); setInbox([]); }
|
|
99
100
|
}
|
|
100
101
|
|
|
101
102
|
async function loadOrgNames() {
|
|
@@ -104,7 +105,7 @@ export default function NotebookTab({ session, showToast, onStats }) {
|
|
|
104
105
|
const map = {};
|
|
105
106
|
for (const o of (resp?.data?.organisms || [])) map[o.id] = o.name;
|
|
106
107
|
setOrgNames(map);
|
|
107
|
-
} catch {
|
|
108
|
+
} catch (err) { swallowed('notebook-tab: loadOrgNames', err); }
|
|
108
109
|
}
|
|
109
110
|
|
|
110
111
|
async function handleCapture() {
|
|
@@ -180,6 +181,7 @@ export default function NotebookTab({ session, showToast, onStats }) {
|
|
|
180
181
|
sessionStorage.setItem('aimeat.ws.openId', hit.organismId);
|
|
181
182
|
sessionStorage.setItem('aimeat.ws.openWs', hit.workspaceId);
|
|
182
183
|
if (docId) sessionStorage.setItem(`aimeat.ws.${hit.organismId}.${hit.workspaceId}.openDoc`, JSON.stringify({ namespace: hit.space, id: docId }));
|
|
184
|
+
// eslint-disable-next-line aimeat/no-silent-catch -- noop
|
|
183
185
|
} catch { /* noop */ }
|
|
184
186
|
window.dispatchEvent(new CustomEvent('aimeat-open-tab', { detail: { tabId: 'organisms' } }));
|
|
185
187
|
return;
|
|
@@ -13,6 +13,7 @@ const html = htm.bind(h);
|
|
|
13
13
|
import { t } from '/js/i18n.js';
|
|
14
14
|
import { Spinner, ToggleSwitch, GlassCard } from './shared.js';
|
|
15
15
|
import { apiGet, apiPost, apiDelete } from '/js/api.js';
|
|
16
|
+
import { swallowed } from '/js/swallowed.js';
|
|
16
17
|
|
|
17
18
|
export default function NotificationsTab({ session, showToast }) {
|
|
18
19
|
const [loading, setLoading] = useState(true);
|
|
@@ -49,7 +50,7 @@ export default function NotificationsTab({ session, showToast }) {
|
|
|
49
50
|
setSubscribed(!!sub);
|
|
50
51
|
}
|
|
51
52
|
}
|
|
52
|
-
} catch {
|
|
53
|
+
} catch (err) { swallowed('notifications-tab: NotificationsTab', err); }
|
|
53
54
|
// Check email verification status
|
|
54
55
|
try {
|
|
55
56
|
const ghii = session.ghii || `${session.owner}@${window.AIMEAT?.auth?.nodeId || ''}`;
|
|
@@ -62,7 +63,7 @@ export default function NotificationsTab({ session, showToast }) {
|
|
|
62
63
|
if (prefsRes.data?.value) {
|
|
63
64
|
setEmailPrefs(prefsRes.data.value);
|
|
64
65
|
}
|
|
65
|
-
} catch {
|
|
66
|
+
} catch (err) { swallowed('notifications-tab: NotificationsTab', err); }
|
|
66
67
|
setLoading(false);
|
|
67
68
|
}, [session]);
|
|
68
69
|
|
|
@@ -140,7 +141,8 @@ export default function NotificationsTab({ session, showToast }) {
|
|
|
140
141
|
await apiDelete('/v1/push/subscribe');
|
|
141
142
|
setSubscribed(false);
|
|
142
143
|
showToast(t('profile.notifications.unsubscribeSuccess'));
|
|
143
|
-
} catch {
|
|
144
|
+
} catch (err) {
|
|
145
|
+
swallowed('notifications-tab: handleUnsubscribe', err);
|
|
144
146
|
showToast(t('profile.notifications.unsubscribeFailed'), true);
|
|
145
147
|
}
|
|
146
148
|
setSubStatus(null);
|
|
@@ -154,7 +156,8 @@ export default function NotificationsTab({ session, showToast }) {
|
|
|
154
156
|
return;
|
|
155
157
|
}
|
|
156
158
|
showToast(t('profile.notifications.testSent'));
|
|
157
|
-
} catch {
|
|
159
|
+
} catch (err) {
|
|
160
|
+
swallowed('notifications-tab: handleTestPush', err);
|
|
158
161
|
showToast(t('profile.notifications.testFailed'), true);
|
|
159
162
|
}
|
|
160
163
|
}
|
|
@@ -172,7 +175,8 @@ export default function NotificationsTab({ session, showToast }) {
|
|
|
172
175
|
});
|
|
173
176
|
setEmailPrefs(newPrefs);
|
|
174
177
|
showToast(t('profile.notifications.emailPrefsSaved'));
|
|
175
|
-
} catch {
|
|
178
|
+
} catch (err) {
|
|
179
|
+
swallowed('notifications-tab: handleSaveEmailPrefs', err);
|
|
176
180
|
showToast(t('profile.notifications.emailPrefsFailed'), true);
|
|
177
181
|
}
|
|
178
182
|
setSavingEmail(false);
|
|
@@ -44,6 +44,7 @@ import { dt } from '/js/format.js';
|
|
|
44
44
|
import { StatusDot } from '/components/StatusDot.js';
|
|
45
45
|
import * as offersService from '/js/services/offers.js';
|
|
46
46
|
import * as grouping from '/js/services/offers-grouping.js';
|
|
47
|
+
import { swallowed } from '/js/swallowed.js';
|
|
47
48
|
|
|
48
49
|
const askLabel = (entry, offer) => {
|
|
49
50
|
if (offer?.availability?.scheduleBorn) return t('profile.offers.runNow') || '⏱ Run now';
|
|
@@ -98,7 +99,7 @@ function OfferCard({ entry, offer, showToast, confirm, busy, setBusy, onChanged,
|
|
|
98
99
|
const next = !runsOpen; setRunsOpen(next);
|
|
99
100
|
if (next && runs === undefined) {
|
|
100
101
|
setRuns('loading');
|
|
101
|
-
const r = await offersService.listOfferRuns({ agent: entry.agent, offerId: offer.id, limit: 5 }).catch(()
|
|
102
|
+
const r = await offersService.listOfferRuns({ agent: entry.agent, offerId: offer.id, limit: 5 }).catch(err => { swallowed('offers-tab: toggleRuns', err); return []; });
|
|
102
103
|
setRuns(Array.isArray(r) ? r : []);
|
|
103
104
|
}
|
|
104
105
|
};
|
|
@@ -261,7 +262,7 @@ function DeliverableRow({ d, showToast, onChanged }) {
|
|
|
261
262
|
// don't gate on deliverable_key (CrewAI agents often never set it).
|
|
262
263
|
if (next && content === undefined && d.status !== 'failed' && d.agent_gaii) {
|
|
263
264
|
setContent('loading');
|
|
264
|
-
const v = await offersService.getDeliverableContent({ agentGaii: d.agent_gaii, deliverableKey: d.deliverable_key, taskId: d.task_id }).catch(()
|
|
265
|
+
const v = await offersService.getDeliverableContent({ agentGaii: d.agent_gaii, deliverableKey: d.deliverable_key, taskId: d.task_id }).catch(err => { swallowed('offers-tab: toggle', err); return null; });
|
|
265
266
|
setContent(v ?? null);
|
|
266
267
|
}
|
|
267
268
|
};
|
|
@@ -313,7 +314,7 @@ function DeliverableRow({ d, showToast, onChanged }) {
|
|
|
313
314
|
function InboxFeed({ showToast }) {
|
|
314
315
|
const [items, setItems] = useState(null);
|
|
315
316
|
const load = useCallback(async () => {
|
|
316
|
-
const r = await offersService.listDeliverables().catch(()
|
|
317
|
+
const r = await offersService.listDeliverables().catch(err => { swallowed('offers-tab: InboxFeed', err); return null; });
|
|
317
318
|
setItems(r?.data?.deliverables || []);
|
|
318
319
|
}, []);
|
|
319
320
|
useEffect(() => { load(); }, [load]);
|
|
@@ -377,7 +378,7 @@ export default function OffersTab({ session, showToast }) {
|
|
|
377
378
|
try {
|
|
378
379
|
const r = await offersService.listOffers();
|
|
379
380
|
setFeed(r?.data?.agents || []);
|
|
380
|
-
} catch { setFeed([]); }
|
|
381
|
+
} catch (err) { swallowed('offers-tab', err); setFeed([]); }
|
|
381
382
|
}, []);
|
|
382
383
|
useEffect(() => { if (session) load(); }, [session, load]);
|
|
383
384
|
useEffect(() => { if (session) offersService.aiAvailable().then(setAiOn).catch(() => setAiOn(false)); }, [session]);
|
|
@@ -35,6 +35,7 @@ import { t } from '/js/i18n.js';
|
|
|
35
35
|
import { apiGet, apiPut, apiPost, apiDelete } from '/js/api.js';
|
|
36
36
|
import { UsageChart, colorForIndex } from '/components/UsageChart.js';
|
|
37
37
|
import { useConfirm } from '/components/Modal.js';
|
|
38
|
+
import { swallowed } from '/js/swallowed.js';
|
|
38
39
|
|
|
39
40
|
/** Compact number (73306 → "73.3k") for token axis/labels. */
|
|
40
41
|
function fmtCompact(n) {
|
|
@@ -87,7 +88,7 @@ export function OpenRouterSettings({ onSettingsChange, startOpen = false }) {
|
|
|
87
88
|
if (resp.data.max_tokens != null) setMaxTokens(String(resp.data.max_tokens));
|
|
88
89
|
if (resp.data.hasApiKey) loadModels();
|
|
89
90
|
}
|
|
90
|
-
} catch {
|
|
91
|
+
} catch (err) { swallowed('openrouter-settings: loadSettings', err); }
|
|
91
92
|
setLoaded(true);
|
|
92
93
|
}
|
|
93
94
|
|
|
@@ -432,9 +433,9 @@ function AiAppsBudgetPanel() {
|
|
|
432
433
|
|
|
433
434
|
async function reload() {
|
|
434
435
|
const [u, s, hist] = await Promise.all([
|
|
435
|
-
apiGet('/v1/ai/usage').catch(()
|
|
436
|
-
apiGet('/v1/ai/settings').catch(()
|
|
437
|
-
apiGet('/v1/ai/usage/history?days=30').catch(()
|
|
436
|
+
apiGet('/v1/ai/usage').catch(err => { swallowed('openrouter-settings: reload', err); return null; }),
|
|
437
|
+
apiGet('/v1/ai/settings').catch(err => { swallowed('openrouter-settings: reload', err); return null; }),
|
|
438
|
+
apiGet('/v1/ai/usage/history?days=30').catch(err => { swallowed('openrouter-settings: reload', err); return null; }),
|
|
438
439
|
]);
|
|
439
440
|
if (hist && hist.ok !== false && hist.data) setHistory(hist.data);
|
|
440
441
|
if (u && u.ok !== false && u.data) setUsage(u.data);
|
|
@@ -17,6 +17,7 @@ const html = htm.bind(h);
|
|
|
17
17
|
import { t } from '/js/i18n.js';
|
|
18
18
|
import { dt } from '/js/format.js';
|
|
19
19
|
import * as orgService from '/js/services/organisms.js';
|
|
20
|
+
import { swallowed } from '/js/swallowed.js';
|
|
20
21
|
|
|
21
22
|
/* Build a GitHub-style contribution calendar from activity events. Each day holds FOUR counters —
|
|
22
23
|
* documents draft/published and records (schema'd) draft/published — so a cell can be drawn as a 2×2
|
|
@@ -68,7 +69,7 @@ export function ActivityPanel({ orgId, wsId }) {
|
|
|
68
69
|
const [show, setShow] = useState(true);
|
|
69
70
|
useEffect(() => {
|
|
70
71
|
let cancelled = false;
|
|
71
|
-
const fetchIt = () => orgService.getWorkspaceActivity(orgId, wsId).then(d => { if (!cancelled) setData(d); }).catch(
|
|
72
|
+
const fetchIt = () => orgService.getWorkspaceActivity(orgId, wsId).then(d => { if (!cancelled) setData(d); }).catch(err => { swallowed('activity-panel: fetchIt', err); });
|
|
72
73
|
fetchIt();
|
|
73
74
|
const off = onLiveUpdate(['organisms'], fetchIt);
|
|
74
75
|
return () => { cancelled = true; off(); };
|
|
@@ -21,6 +21,7 @@ import { EmptyState } from '/components/EmptyState.js';
|
|
|
21
21
|
import * as orgService from '/js/services/organisms.js';
|
|
22
22
|
import { listAgents, offersWorkspaceContract, contractNamesOf } from '/js/services/agents.js';
|
|
23
23
|
import { relTime } from '/views/profile/organisms/helpers.js';
|
|
24
|
+
import { swallowed } from '/js/swallowed.js';
|
|
24
25
|
|
|
25
26
|
/**
|
|
26
27
|
* Agents tab — attached agents listed first; "+ Attach agent" opens a picker of the user's OWN
|
|
@@ -53,7 +54,7 @@ export function OrgAgentsPanel({ org, ghii, canManage, showToast, onChanged }) {
|
|
|
53
54
|
const map = {};
|
|
54
55
|
for (const [name, v] of Object.entries(agents)) map[name] = { count: v.count, lastAt: v.lastAt, ws: new Set(v.workspaces || []) };
|
|
55
56
|
if (!cancelled) setActed(map);
|
|
56
|
-
} catch {
|
|
57
|
+
} catch (err) { swallowed('agents: OrgAgentsPanel', err); }
|
|
57
58
|
})();
|
|
58
59
|
return () => { cancelled = true; };
|
|
59
60
|
}, [orgId, attached.length]);
|
|
@@ -28,6 +28,7 @@ import { KeyValueRow } from '/components/KeyValueRow.js';
|
|
|
28
28
|
import { Markdown } from '/components/Markdown.js';
|
|
29
29
|
import { dt } from '/js/format.js';
|
|
30
30
|
import * as orgService from '/js/services/organisms.js';
|
|
31
|
+
import { swallowed } from '/js/swallowed.js';
|
|
31
32
|
|
|
32
33
|
// Lazy-load the vendored Toast UI Editor (MIT, /lib/toastui/) only when a document is edited —
|
|
33
34
|
// it's ~520KB, so it stays out of the main bundle. Resolves window.toastui.Editor.
|
|
@@ -77,11 +78,11 @@ export function DocumentView({ page, busy, onEdit, onPublish, onWikiLink, onPopO
|
|
|
77
78
|
let out = raw;
|
|
78
79
|
for (const su of urls) {
|
|
79
80
|
try { const bu = await orgService.fetchStorageObjectUrl(su); created.push(bu); out = out.split(su).join(bu); }
|
|
80
|
-
catch {
|
|
81
|
+
catch (err) { swallowed('document: shown', err); }
|
|
81
82
|
}
|
|
82
83
|
if (!cancelled) setRendered(out);
|
|
83
84
|
})();
|
|
84
|
-
return () => { cancelled = true; created.forEach(u => { try { URL.revokeObjectURL(u); } catch {
|
|
85
|
+
return () => { cancelled = true; created.forEach(u => { try { URL.revokeObjectURL(u); } catch (err) { swallowed('document: shown', err); } }); };
|
|
85
86
|
}, [shown.markdown]);
|
|
86
87
|
|
|
87
88
|
// A [file](/v1/…) LINK (pdf etc.) can't carry the session token on a plain navigation, so intercept
|
|
@@ -97,8 +98,8 @@ export function DocumentView({ page, busy, onEdit, onPublish, onWikiLink, onPopO
|
|
|
97
98
|
const tab = window.open('', '_blank', 'noopener');
|
|
98
99
|
orgService.fetchStorageObjectUrl(href).then(bu => {
|
|
99
100
|
if (tab) tab.location.href = bu; else window.open(bu, '_blank', 'noopener');
|
|
100
|
-
setTimeout(() => { try { URL.revokeObjectURL(bu); } catch {
|
|
101
|
-
}).catch(() => { try { tab?.close(); } catch {
|
|
101
|
+
setTimeout(() => { try { URL.revokeObjectURL(bu); } catch (err) { swallowed('document: onDocClick', err); } }, 60_000);
|
|
102
|
+
}).catch(() => { try { tab?.close(); } catch (err) { swallowed('document: onDocClick', err); } });
|
|
102
103
|
};
|
|
103
104
|
|
|
104
105
|
// created/saved/published timestamps come from the workspace read (record metadata on the value).
|
|
@@ -152,7 +153,7 @@ export function DocumentEditor({ orgId, page, busy, onSave, onCancel }) {
|
|
|
152
153
|
if (!embedded.length) { setImages([]); return undefined; }
|
|
153
154
|
orgService.listStorageVisibilities().then((vis) => {
|
|
154
155
|
if (!cancelled) setImages(embedded.map(e => ({ ...e, visibility: vis[e.key] || 'private' })));
|
|
155
|
-
}).catch(() => { if (!cancelled) setImages(embedded.map(e => ({ ...e, visibility: 'private' }))); });
|
|
156
|
+
}).catch((err) => { swallowed('document', err); if (!cancelled) setImages(embedded.map(e => ({ ...e, visibility: 'private' }))); });
|
|
156
157
|
return () => { cancelled = true; };
|
|
157
158
|
// Runs once on mount from the initial `page` snapshot; the editor is remounted per document
|
|
158
159
|
// via `key`, so re-running on `page` identity changes is unnecessary and would reset image state.
|
|
@@ -165,14 +166,14 @@ export function DocumentEditor({ orgId, page, busy, onSave, onCancel }) {
|
|
|
165
166
|
const r = await orgService.setImageVisibility(key, visibility);
|
|
166
167
|
if (r?.ok === false) throw new Error(r?.error?.message || 'Failed');
|
|
167
168
|
setImages(imgs => imgs.map(i => i.key === key ? { ...i, visibility } : i));
|
|
168
|
-
} catch {
|
|
169
|
+
} catch (err) { swallowed('document: changeImageVisibility', err); }
|
|
169
170
|
finally { setImgBusy(false); }
|
|
170
171
|
};
|
|
171
172
|
const makeAllImagesPublic = async () => {
|
|
172
173
|
setImgBusy(true);
|
|
173
174
|
try {
|
|
174
175
|
const targets = images.filter(i => i.visibility !== 'public');
|
|
175
|
-
await Promise.all(targets.map(i => orgService.setImageVisibility(i.key, 'public').catch(
|
|
176
|
+
await Promise.all(targets.map(i => orgService.setImageVisibility(i.key, 'public').catch(err => { swallowed('document: makeAllImagesPublic', err); })));
|
|
176
177
|
setImages(imgs => imgs.map(i => ({ ...i, visibility: 'public' })));
|
|
177
178
|
} finally { setImgBusy(false); }
|
|
178
179
|
};
|
|
@@ -184,7 +185,7 @@ export function DocumentEditor({ orgId, page, busy, onSave, onCancel }) {
|
|
|
184
185
|
pending.current.push(
|
|
185
186
|
orgService.uploadImage(orgId, blob, blob.type || 'image/png')
|
|
186
187
|
.then((url) => { imageMap.current[dataUrl] = url; })
|
|
187
|
-
.catch(
|
|
188
|
+
.catch(err => { swallowed('document: uploadAndMap', err); }),
|
|
188
189
|
);
|
|
189
190
|
};
|
|
190
191
|
const insertFromFile = async (file) => {
|
|
@@ -199,7 +200,7 @@ export function DocumentEditor({ orgId, page, busy, onSave, onCancel }) {
|
|
|
199
200
|
if (mode !== 'rich') return undefined;
|
|
200
201
|
let inst = null, cancelled = false; const blobUrls = [];
|
|
201
202
|
(async () => {
|
|
202
|
-
const Editor = await loadToastUI().catch(()
|
|
203
|
+
const Editor = await loadToastUI().catch(err => { swallowed('document: insertFromFile', err); return null; });
|
|
203
204
|
if (cancelled) return;
|
|
204
205
|
if (!Editor) { setMode('markdown'); return; }
|
|
205
206
|
// Already-stored images embed a private /v1/storage URL, which a plain <img> in the editor
|
|
@@ -212,7 +213,7 @@ export function DocumentEditor({ orgId, page, busy, onSave, onCancel }) {
|
|
|
212
213
|
const bu = await orgService.fetchStorageObjectUrl(su);
|
|
213
214
|
displayMap.current[bu] = su; blobUrls.push(bu);
|
|
214
215
|
initial = initial.split(su).join(bu);
|
|
215
|
-
} catch {
|
|
216
|
+
} catch (err) { swallowed('document: initial', err); }
|
|
216
217
|
}
|
|
217
218
|
if (cancelled || !containerRef.current) return;
|
|
218
219
|
inst = new Editor({
|
|
@@ -244,9 +245,9 @@ export function DocumentEditor({ orgId, page, busy, onSave, onCancel }) {
|
|
|
244
245
|
})();
|
|
245
246
|
return () => {
|
|
246
247
|
cancelled = true;
|
|
247
|
-
if (inst) { try { inst.destroy(); } catch {
|
|
248
|
+
if (inst) { try { inst.destroy(); } catch (err) { swallowed('document: addImageBlobHook', err); } }
|
|
248
249
|
editorRef.current = null;
|
|
249
|
-
blobUrls.forEach(u => { try { URL.revokeObjectURL(u); } catch {
|
|
250
|
+
blobUrls.forEach(u => { try { URL.revokeObjectURL(u); } catch (err) { swallowed('document: addImageBlobHook', err); } });
|
|
250
251
|
};
|
|
251
252
|
// Re-init the editor only on mode switch. `uploadAndMap` is recreated every render (adding it
|
|
252
253
|
// would rebuild the editor on every render) and `page` is the initial content snapshot — both
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
* v1.0.0 — 2026-06-19 — Extracted from organisms-tab.js during the module split.
|
|
13
13
|
*/
|
|
14
14
|
import { t, getLocale } from '/js/i18n.js';
|
|
15
|
+
import { swallowed } from '/js/swallowed.js';
|
|
15
16
|
|
|
16
17
|
/** Date-only, formatted in the APP locale (browser locale may differ — fi must show 10.6.2026, not 6/10/2026).
|
|
17
18
|
* @param {string} s ISO date string
|
|
@@ -55,7 +56,7 @@ export async function exportOrganismZip(org, showToast) {
|
|
|
55
56
|
const res = await fetch(`/v1/organisms/${encodeURIComponent(org.id)}/export`, { headers: { Authorization: 'Bearer ' + jwt } });
|
|
56
57
|
if (!res.ok) {
|
|
57
58
|
// Surface the server's reason (e.g. an access denial) instead of a bare "Export failed".
|
|
58
|
-
const detail = await res.json().then(j => j?.error?.message).catch(()
|
|
59
|
+
const detail = await res.json().then(j => j?.error?.message).catch(err => { swallowed('helpers: exportOrganismZip', err); return null; });
|
|
59
60
|
throw new Error(detail || 'Export failed');
|
|
60
61
|
}
|
|
61
62
|
const blob = await res.blob();
|
|
@@ -37,6 +37,7 @@ import { WorkspaceList } from '/views/profile/organisms/workspace-list.js';
|
|
|
37
37
|
import { OrgMemberManager } from '/views/profile/organisms/members.js';
|
|
38
38
|
import { OrgAgentsPanel } from '/views/profile/organisms/agents.js';
|
|
39
39
|
import { BoardPreview } from '/views/profile/organisms/panels.js';
|
|
40
|
+
import { swallowed } from '/js/swallowed.js';
|
|
40
41
|
|
|
41
42
|
/* ───────────────── Organism home page ─────────────────
|
|
42
43
|
* One home per organism: breadcrumb header (avatar, name, badges, description,
|
|
@@ -50,7 +51,7 @@ export function OrganismHome({ org, ghii, showToast, initialSettings, onOpenWs,
|
|
|
50
51
|
const [showSettings, setShowSettings] = useState(!!initialSettings);
|
|
51
52
|
const [wsCount, setWsCount] = useState(null);
|
|
52
53
|
const [pendingJoin, setPendingJoin] = useState(0); // Members tab pill — visible without opening the tab
|
|
53
|
-
useEffect(() => { try { sessionStorage.setItem('aimeat.org.tab', tab); } catch { /* noop */ } }, [tab]);
|
|
54
|
+
useEffect(() => { try { sessionStorage.setItem('aimeat.org.tab', tab); } catch { /* noop */ } }, [tab]); // eslint-disable-line aimeat/no-silent-catch -- noop
|
|
54
55
|
|
|
55
56
|
const isCreator = org.creatorGhii === ghii;
|
|
56
57
|
const isAdmin = org.admins?.includes(ghii);
|
|
@@ -103,7 +104,7 @@ export function OrganismHome({ org, ghii, showToast, initialSettings, onOpenWs,
|
|
|
103
104
|
let cancelled = false;
|
|
104
105
|
const fetchIt = () => orgService.listJoinRequests(org.id)
|
|
105
106
|
.then(r => { if (!cancelled) setPendingJoin(((r?.data?.join_requests) || []).filter(x => x.status === 'pending').length); })
|
|
106
|
-
.catch(
|
|
107
|
+
.catch(err => { swallowed('home: fetchIt', err); });
|
|
107
108
|
fetchIt();
|
|
108
109
|
const off = onLiveUpdate(['organisms'], fetchIt);
|
|
109
110
|
return () => { cancelled = true; off(); };
|
|
@@ -159,7 +160,7 @@ export function OrganismHome({ org, ghii, showToast, initialSettings, onOpenWs,
|
|
|
159
160
|
});
|
|
160
161
|
if (result?.ok !== false) { showToast(t('organisms.updated') || 'Organism updated'); onChanged?.(); }
|
|
161
162
|
else showToast(result?.error?.message || (t('organisms.updateError') || 'Failed to update'));
|
|
162
|
-
} catch { showToast(t('organisms.updateError') || 'Failed to update'); }
|
|
163
|
+
} catch (err) { swallowed('home', err); showToast(t('organisms.updateError') || 'Failed to update'); }
|
|
163
164
|
finally { setSaving(false); }
|
|
164
165
|
};
|
|
165
166
|
// Leaving a dirty form (closing settings / breadcrumb back) asks before dropping the changes.
|
|
@@ -187,14 +188,14 @@ export function OrganismHome({ org, ghii, showToast, initialSettings, onOpenWs,
|
|
|
187
188
|
const wss = (await orgService.discoverWorkspaces(org.id)).filter(w => w.access !== 'none');
|
|
188
189
|
let recs = 0, docs = 0;
|
|
189
190
|
await Promise.all(wss.map(async (w) => {
|
|
190
|
-
const wsData = await orgService.getWorkspace(org.id, w.id).catch(()
|
|
191
|
+
const wsData = await orgService.getWorkspace(org.id, w.id).catch(err => { swallowed('home: wss', err); return null; });
|
|
191
192
|
for (const ot of (wsData?.manifest?.objectTypes || []).filter(orgService.isMemorySpace)) {
|
|
192
193
|
const n = new Set([...(wsData.drafts?.[ot.name] || []), ...(wsData.objects?.[ot.name] || [])].map(d => d.id)).size;
|
|
193
194
|
if (orgService.isDocSpace(ot)) docs += n; else recs += n;
|
|
194
195
|
}
|
|
195
196
|
}));
|
|
196
197
|
if (!cancelled) setDelStats({ ws: wss.length, recs, docs });
|
|
197
|
-
} catch {
|
|
198
|
+
} catch (err) { swallowed('home: wss', err); }
|
|
198
199
|
})();
|
|
199
200
|
return () => { cancelled = true; };
|
|
200
201
|
}, [org.id, showSettings, isCreator]);
|
|
@@ -208,7 +209,7 @@ export function OrganismHome({ org, ghii, showToast, initialSettings, onOpenWs,
|
|
|
208
209
|
await orgService.deleteOrganism(org.id);
|
|
209
210
|
showToast(t('organisms.deleted') || 'Organism deleted');
|
|
210
211
|
onBack(); onChanged?.();
|
|
211
|
-
} catch { showToast(t('organisms.deleteError') || 'Failed to delete'); }
|
|
212
|
+
} catch (err) { swallowed('home', err); showToast(t('organisms.deleteError') || 'Failed to delete'); }
|
|
212
213
|
}, { danger: true, title: t('organisms.deleteOrganismTitle') || 'Delete this organism' });
|
|
213
214
|
};
|
|
214
215
|
// Archive / unarchive the whole organism (creator/admin) — read-only + hidden from AI materials,
|
|
@@ -105,7 +105,7 @@ export function InvitePanel({ orgId, wsOptions, showToast, onChanged, onClose })
|
|
|
105
105
|
};
|
|
106
106
|
|
|
107
107
|
const copyAcceptUrl = async (url) => {
|
|
108
|
-
try { await navigator.clipboard.writeText(url); showToast(t('organisms.linkCopied') || 'Link copied'); } catch { /* clipboard blocked */ }
|
|
108
|
+
try { await navigator.clipboard.writeText(url); showToast(t('organisms.linkCopied') || 'Link copied'); } catch { /* clipboard blocked */ } // eslint-disable-line aimeat/no-silent-catch -- clipboard blocked
|
|
109
109
|
};
|
|
110
110
|
|
|
111
111
|
const submitLabel = isEmail
|