@aeolus-fleet/gateway 0.30.0 → 0.32.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/dist/adapters/fleet/core-version.d.ts +1 -1
- package/dist/adapters/fleet/core-version.js +1 -1
- package/dist/adapters/fleet/proxy-ships-as-actor.js +5 -1
- package/dist/adapters/fleet/proxy-ships-as-actor.js.map +1 -1
- package/dist/adapters/fleet/rest-fleet-door.d.ts +2 -0
- package/dist/adapters/fleet/rest-fleet-door.js +51 -7
- package/dist/adapters/fleet/rest-fleet-door.js.map +1 -1
- package/dist/adapters/http/mcp-endpoint.js +1 -1
- package/dist/adapters/http/mcp-endpoint.js.map +1 -1
- package/dist/adapters/http/person-tools.d.ts +4 -7
- package/dist/adapters/http/person-tools.js +76 -11
- package/dist/adapters/http/person-tools.js.map +1 -1
- package/dist/adapters/pagasae/email-channel.js +4 -2
- package/dist/adapters/pagasae/email-channel.js.map +1 -1
- package/dist/adapters/prisma/generated/commonInputTypes.d.ts +50 -50
- package/dist/adapters/prisma/generated/internal/class.js +4 -4
- package/dist/adapters/prisma/generated/internal/class.js.map +1 -1
- package/dist/adapters/prisma/generated/internal/prismaNamespace.d.ts +2 -0
- package/dist/adapters/prisma/generated/internal/prismaNamespace.js +2 -0
- package/dist/adapters/prisma/generated/internal/prismaNamespace.js.map +1 -1
- package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.d.ts +2 -0
- package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js +2 -0
- package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
- package/dist/adapters/prisma/generated/models/A2aPush.d.ts +0 -7
- package/dist/adapters/prisma/generated/models/Party.d.ts +70 -1
- package/dist/adapters/prisma/scope-requirements.d.ts +10 -0
- package/dist/adapters/prisma/scope-requirements.js +37 -0
- package/dist/adapters/prisma/scope-requirements.js.map +1 -0
- package/dist/adapters/trpc/router.d.ts +154 -8
- package/dist/adapters/trpc/router.js +130 -11
- package/dist/adapters/trpc/router.js.map +1 -1
- package/dist/app.js +38 -9
- package/dist/app.js.map +1 -1
- package/dist/core/a2a-out/agent-event.d.ts +1 -1
- package/dist/core/a2a-out/agent-event.js +2 -2
- package/dist/core/a2a-out/agent-event.js.map +1 -1
- package/dist/core/a2a-out/agent-statement.d.ts +2 -1
- package/dist/core/a2a-out/agent-statement.js +5 -2
- package/dist/core/a2a-out/agent-statement.js.map +1 -1
- package/dist/core/a2a-out/hand-a2a-message.d.ts +7 -2
- package/dist/core/a2a-out/hand-a2a-message.js +15 -1
- package/dist/core/a2a-out/hand-a2a-message.js.map +1 -1
- package/dist/core/a2a-out/read-agent-statement.d.ts +1 -0
- package/dist/core/a2a-out/read-agent-statement.js +1 -1
- package/dist/core/a2a-out/read-agent-statement.js.map +1 -1
- package/dist/core/a2a-out/state-a2a-agent.d.ts +3 -2
- package/dist/core/a2a-out/state-a2a-agent.js +3 -2
- package/dist/core/a2a-out/state-a2a-agent.js.map +1 -1
- package/dist/core/account-sign-in/account-in-view.d.ts +10 -1
- package/dist/core/account-sign-in/account-in-view.js +17 -4
- package/dist/core/account-sign-in/account-in-view.js.map +1 -1
- package/dist/core/connection/ports.d.ts +8 -0
- package/dist/core/mcp-out/hand-call.d.ts +6 -2
- package/dist/core/mcp-out/hand-call.js +14 -1
- package/dist/core/mcp-out/hand-call.js.map +1 -1
- package/dist/core/mcp-out/state-party.d.ts +3 -2
- package/dist/core/mcp-out/state-party.js +2 -2
- package/dist/core/mcp-out/state-party.js.map +1 -1
- package/dist/core/mcp-out/statement.d.ts +16 -0
- package/dist/core/mcp-out/statement.js +10 -3
- package/dist/core/mcp-out/statement.js.map +1 -1
- package/dist/core/meetings/change-own-mic.d.ts +24 -0
- package/dist/core/meetings/change-own-mic.js +21 -0
- package/dist/core/meetings/change-own-mic.js.map +1 -0
- package/dist/core/meetings/mic-standing.d.ts +18 -0
- package/dist/core/meetings/mic-standing.js +11 -0
- package/dist/core/meetings/mic-standing.js.map +1 -0
- package/dist/core/meetings/ports.d.ts +70 -0
- package/dist/core/meetings/ports.js +2 -0
- package/dist/core/meetings/ports.js.map +1 -0
- package/dist/core/meetings/read-meeting.d.ts +30 -0
- package/dist/core/meetings/read-meeting.js +26 -0
- package/dist/core/meetings/read-meeting.js.map +1 -0
- package/dist/core/operator/ports.d.ts +4 -4
- package/dist/core/parties/add-a2a-agent.js +1 -1
- package/dist/core/parties/add-a2a-agent.js.map +1 -1
- package/dist/core/parties/check-approving.d.ts +36 -0
- package/dist/core/parties/check-approving.js +48 -0
- package/dist/core/parties/check-approving.js.map +1 -0
- package/dist/core/parties/check-required-scopes.d.ts +34 -0
- package/dist/core/parties/check-required-scopes.js +27 -0
- package/dist/core/parties/check-required-scopes.js.map +1 -0
- package/dist/core/parties/ports.d.ts +21 -0
- package/dist/core/parties/read-listed-scopes.d.ts +17 -0
- package/dist/core/parties/read-listed-scopes.js +23 -0
- package/dist/core/parties/read-listed-scopes.js.map +1 -0
- package/dist/core/parties/read-scope-requirements.d.ts +18 -0
- package/dist/core/parties/read-scope-requirements.js +17 -0
- package/dist/core/parties/read-scope-requirements.js.map +1 -0
- package/dist/core/parties/scope-requirements.d.ts +34 -0
- package/dist/core/parties/scope-requirements.js +37 -0
- package/dist/core/parties/scope-requirements.js.map +1 -0
- package/dist/core/parties/set-scope-requirements.d.ts +45 -0
- package/dist/core/parties/set-scope-requirements.js +48 -0
- package/dist/core/parties/set-scope-requirements.js.map +1 -0
- package/dist/core/parties/switch-tools.d.ts +39 -0
- package/dist/core/parties/switch-tools.js +38 -0
- package/dist/core/parties/switch-tools.js.map +1 -0
- package/dist/core/parties/tool-switches.d.ts +4 -2
- package/dist/core/parties/tool-switches.js +2 -1
- package/dist/core/parties/tool-switches.js.map +1 -1
- package/dist/core/people/inbox-entry.d.ts +2 -2
- package/dist/core/people/inbox-entry.js +9 -2
- package/dist/core/people/inbox-entry.js.map +1 -1
- package/dist/core/people/open-delivery.d.ts +3 -1
- package/dist/core/people/open-delivery.js +1 -1
- package/dist/core/people/open-delivery.js.map +1 -1
- package/dist/core/people/ports.d.ts +11 -4
- package/dist/core/people/wake-person.d.ts +22 -10
- package/dist/core/people/wake-person.js +88 -20
- package/dist/core/people/wake-person.js.map +1 -1
- package/dist/core/people/web-push-channel.js +1 -1
- package/dist/core/people/web-push-channel.js.map +1 -1
- package/dist/core/shared/errors.d.ts +1 -1
- package/dist/core/shared/errors.js.map +1 -1
- package/package.json +3 -3
- package/src/adapters/prisma/migrations/20261025140000_scope_requirements/migration.sql +3 -0
- package/src/adapters/prisma/schema.prisma +69 -65
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/app-path-routes-manifest.json +2 -0
- package/web/.next/build-manifest.json +27 -3
- package/web/.next/diagnostics/route-bundle-stats.json +122 -70
- package/web/.next/fallback-build-manifest.json +3 -3
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/routes-manifest.json +14 -0
- package/web/.next/server/app/(console)/gateway-off/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(console)/gateway-off/page/build-manifest.json +23 -0
- package/web/.next/server/app/(console)/gateway-off/page/next-font-manifest.json +11 -0
- package/web/.next/server/app/(console)/gateway-off/page/react-loadable-manifest.json +1 -0
- package/web/.next/server/app/(console)/gateway-off/page/server-reference-manifest.json +15 -0
- package/web/.next/server/app/(console)/gateway-off/page.js +19 -0
- package/web/.next/server/app/(console)/gateway-off/page.js.map +5 -0
- package/web/.next/server/app/(console)/gateway-off/page.js.nft.json +1 -0
- package/web/.next/server/app/(console)/gateway-off/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(console)/meetings/[meetingId]/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(console)/meetings/[meetingId]/page/build-manifest.json +23 -0
- package/web/.next/server/app/(console)/meetings/[meetingId]/page/next-font-manifest.json +11 -0
- package/web/.next/server/app/(console)/meetings/[meetingId]/page/react-loadable-manifest.json +1 -0
- package/web/.next/server/app/(console)/meetings/[meetingId]/page/server-reference-manifest.json +35 -0
- package/web/.next/server/app/(console)/meetings/[meetingId]/page.js +21 -0
- package/web/.next/server/app/(console)/meetings/[meetingId]/page.js.map +5 -0
- package/web/.next/server/app/(console)/meetings/[meetingId]/page.js.nft.json +1 -0
- package/web/.next/server/app/(console)/meetings/[meetingId]/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(console)/outside-parties/[name]/change/page/server-reference-manifest.json +17 -7
- package/web/.next/server/app/(console)/outside-parties/[name]/change/page.js +4 -4
- package/web/.next/server/app/(console)/outside-parties/[name]/change/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/[name]/change/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/[name]/page/server-reference-manifest.json +15 -5
- package/web/.next/server/app/(console)/outside-parties/[name]/page.js +4 -4
- package/web/.next/server/app/(console)/outside-parties/[name]/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/[name]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/[name]/retire/page/server-reference-manifest.json +17 -7
- package/web/.next/server/app/(console)/outside-parties/[name]/retire/page.js +4 -4
- package/web/.next/server/app/(console)/outside-parties/[name]/retire/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/[name]/retire/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/add/page/server-reference-manifest.json +17 -7
- package/web/.next/server/app/(console)/outside-parties/add/page.js +3 -4
- package/web/.next/server/app/(console)/outside-parties/add/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/add/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page/server-reference-manifest.json +2 -2
- package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page/server-reference-manifest.json +2 -2
- package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/outside-parties/page/server-reference-manifest.json +2 -2
- package/web/.next/server/app/(console)/outside-parties/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/outside-parties/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/overview/changes/route.js.nft.json +1 -1
- package/web/.next/server/app/(console)/overview/focus/route.js.nft.json +1 -1
- package/web/.next/server/app/(console)/overview/page/server-reference-manifest.json +7 -7
- package/web/.next/server/app/(console)/overview/page.js +3 -3
- package/web/.next/server/app/(console)/overview/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/overview/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/overview/requests/[requestId]/page/server-reference-manifest.json +2 -2
- package/web/.next/server/app/(console)/overview/requests/[requestId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/overview/requests/[requestId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/parties/page/server-reference-manifest.json +7 -7
- package/web/.next/server/app/(console)/parties/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/parties/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(console)/sign-in/failed/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/(console)/sign-in/failed/page.js.nft.json +1 -1
- package/web/.next/server/app/(console)/sign-in/failed/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error.html +1 -1
- package/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/authorize/failed/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/authorize/failed/page.js.nft.json +1 -1
- package/web/.next/server/app/authorize/failed/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/authorize/pick/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/authorize/pick/page.js.nft.json +1 -1
- package/web/.next/server/app/authorize/pick/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/authorize/waiting/approval/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/authorize/waiting/approval/page.js.nft.json +1 -1
- package/web/.next/server/app/authorize/waiting/approval/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app-paths-manifest.json +2 -0
- package/web/.next/server/chunks/[root-of-the-server]__0ykc8bq_c06a1._.js +10 -10
- package/web/.next/server/chunks/[root-of-the-server]__0ykc8bq_c06a1._.js.map +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_change_page_actions_04td11fxohsfm.js +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_change_page_actions_04td11fxohsfm.js.map +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_page_actions_0u-45itza1ls7.js +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_page_actions_0u-45itza1ls7.js.map +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_retire_page_actions_0s7ps6i0ts7v5.js +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_retire_page_actions_0s7ps6i0ts7v5.js.map +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add-a2a-client_page_actions_0d_wgiu94c32e.js +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add-a2a-client_page_actions_0d_wgiu94c32e.js.map +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add_page_actions_0yfz_dfn-8uo7.js +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add_page_actions_0yfz_dfn-8uo7.js.map +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_overview_requests_[requestId]_page_actions_0uki9j3mtuz9e.js +1 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_overview_requests_[requestId]_page_actions_0uki9j3mtuz9e.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0-og0bl8lr2xq._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0-og0bl8lr2xq._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__00erqdm9cmhh7._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__00erqdm9cmhh7._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__00q22dte1g2ww._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__00q22dte1g2ww._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0k3g0p3t9t0c-._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0k3g0p3t9t0c-._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0n2us07jk-78w._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0rr5u24i9tjyc._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1-c9wugbbwsp3._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1-c9wugbbwsp3._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__18-8taiduk1jn._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__18-8taiduk1jn._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__11w36a4le04vy._.js → [root-of-the-server]__1dc6okf5os70a._.js} +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1dc6okf5os70a._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1dtyycvqa6uht._.js +1 -1
- package/web/.next/server/chunks/ssr/_0-lfpqqlgfhzj._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_00dg5cvqofspn._.js +3 -0
- package/web/.next/server/chunks/ssr/_00dg5cvqofspn._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_00hfzlqn1og18._.js +1 -1
- package/web/.next/server/chunks/ssr/_00hfzlqn1og18._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_03lk54yp-yhw3._.js +2 -2
- package/web/.next/server/chunks/ssr/_03lk54yp-yhw3._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0_kakdt7lb6z-._.js +3 -0
- package/web/.next/server/chunks/ssr/_0_kakdt7lb6z-._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0bhvvyz0q_0ja._.js +1 -1
- package/web/.next/server/chunks/ssr/_0ka_9elusb800._.js +4 -0
- package/web/.next/server/chunks/ssr/_0ka_9elusb800._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0pyd1_y7w8ngp._.js +1 -1
- package/web/.next/server/chunks/ssr/_0pyd1_y7w8ngp._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0w2ptjht34s6t._.js +3 -0
- package/web/.next/server/chunks/ssr/_0w2ptjht34s6t._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0xickgbbju_9-._.js +1 -1
- package/web/.next/server/chunks/ssr/_0xickgbbju_9-._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_1_wav28san6dm._.js +1 -1
- package/web/.next/server/chunks/ssr/_1pjtire7rqla0._.js +1 -1
- package/web/.next/server/chunks/ssr/_1pjtire7rqla0._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_1qbsmlji34yph._.js +1 -1
- package/web/.next/server/chunks/ssr/_1qbsmlji34yph._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_1uuy6gkkhq6bx._.js +3 -0
- package/web/.next/server/chunks/ssr/_1uuy6gkkhq6bx._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_1y1ovmdhl9_ml._.js +3 -0
- package/web/.next/server/chunks/ssr/_1y1ovmdhl9_ml._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_07sxnbglqc5q9._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_07sxnbglqc5q9._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_0_cxkn6vujxay._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_0_cxkn6vujxay._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_0qlo87g8tugr4._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_0qlo87g8tugr4._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_15ceu3jhtifcw._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_15ceu3jhtifcw._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_1jvz31plyg2f-._.js +1 -1
- package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_1jvz31plyg2f-._.js.map +1 -1
- package/web/.next/server/chunks/ssr/node_modules_@base-ui_react_utils_FloatingPortalLite_mjs_1uzc1ezeugtex._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_@base-ui_react_utils_FloatingPortalLite_mjs_1uzc1ezeugtex._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1s46s8vlfx01v.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1s46s8vlfx01v.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_20d8hq6wsqwh_.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_20d8hq6wsqwh_.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_0-ufi2al5ubig._.js +1 -1
- package/web/.next/server/chunks/ssr/web_0-ufi2al5ubig._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_09zipglxee7tv._.js +3 -0
- package/web/.next/server/chunks/ssr/web_09zipglxee7tv._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_0v-7sowo0hupw._.js +1 -1
- package/web/.next/server/chunks/ssr/web_0wys4l6za8umr._.js +1 -1
- package/web/.next/server/chunks/ssr/web_0wys4l6za8umr._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_1wcpaty_bz55q._.js +3 -0
- package/web/.next/server/chunks/ssr/web_1wcpaty_bz55q._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_overview_page_actions_18on1ziyg1nzy.js +1 -1
- package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_overview_page_actions_18on1ziyg1nzy.js.map +1 -1
- package/web/.next/server/chunks/ssr/{web_features_0ahlkugj7fu3n._.js → web_features_0xbnkk4hfgr9v._.js} +2 -2
- package/web/.next/server/chunks/ssr/{web_features_0ahlkugj7fu3n._.js.map → web_features_0xbnkk4hfgr9v._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/web_features_0xnlgtw8bfqaa._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_10xz3ojtvfi7h._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_10xz3ojtvfi7h._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_1_2m6l73qk7qw._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_1k6q2m0sl54-8._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_1k6q2m0sl54-8._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_add-a2a-agent_ui_a2a-agent-form_tsx_0z8t1aalwzyl7._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_add-a2a-agent_ui_a2a-agent-form_tsx_0z8t1aalwzyl7._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_add-a2a-client_ui_a2a-client-form_tsx_1anv88g385nwe._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_add-a2a-client_ui_a2a-client-form_tsx_1anv88g385nwe._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_add-server_ui_add-server_tsx_1jnmar5xju49k._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_add-server_ui_add-server_tsx_1jnmar5xju49k._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_forms_1u0akr22eh_x_._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_forms_1u0akr22eh_x_._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_frame_0pe8cwpxe1egb._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_frame_ui_gateway-header_tsx_0e9tekx4jf7ng._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_frame_ui_gateway-header_tsx_0e9tekx4jf7ng._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_meeting_state_meeting-controls_tsx_12g4kzk2mbvvz._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_meeting_state_meeting-controls_tsx_12g4kzk2mbvvz._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_outside-parties_ui_switch-card_tsx_1_xnu9bm4tc-_._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_outside-parties_ui_switch-card_tsx_1_xnu9bm4tc-_._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_outside-party_0_9c27knfvw7u._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_outside-party_0_9c27knfvw7u._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_outside-party_actions_ts_102ar5pdowf8s._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_outside-party_actions_ts_102ar5pdowf8s._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_overview_0udx5lm8igils._.js +3 -0
- package/web/.next/server/chunks/ssr/{web_features_overview_16dyz2ngvs14b._.js.map → web_features_overview_0udx5lm8igils._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/web_features_overview_hooks_overview-actions_ts_0-wrat07d1y5g._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_overview_hooks_overview-actions_ts_0-wrat07d1y5g._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_overview_state_1wuk95dw2_whp._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_overview_state_1wuk95dw2_whp._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_overview_state_decision-panel_tsx_0kpd26ggtr6h_._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_overview_state_decision-panel_tsx_0kpd26ggtr6h_._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_overview_ui_10mb24kjiffea._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_overview_ui_10mb24kjiffea._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_parties_actions_ts_0r-tbfsig2ty-._.js +1 -1
- package/web/.next/server/middleware-build-manifest.js +27 -3
- package/web/.next/server/next-font-manifest.js +1 -1
- package/web/.next/server/next-font-manifest.json +8 -0
- package/web/.next/server/pages/500.html +1 -1
- package/web/.next/server/preview-props.json +3 -3
- package/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/server/server-reference-manifest.json +76 -26
- package/web/.next/static/chunks/10wzmy096av_5.css +3 -0
- package/web/.next/static/chunks/{2_41h3v090ur9.js → 1ffk4chq_kmie.js} +1 -1
- package/web/.next/static/chunks/1nyfzf-d7kj96.js +1 -0
- package/web/.next/static/chunks/202avng4-d5jq.js +1 -0
- package/web/.next/static/chunks/{00njqo86bx2kb.js → 26kio8jl2dc6u.js} +1 -1
- package/web/.next/static/chunks/2cd4e71s711ad.js +1 -0
- package/web/.next/static/chunks/2i3ydqqupow_x.js +1 -0
- package/web/.next/static/chunks/2jvq5fses35mf.js +1 -0
- package/web/.next/static/chunks/2riya89_i0je8.js +1 -0
- package/web/.next/static/chunks/{31vy122d9fvme.js → 2sx1mxv2u71xx.js} +1 -1
- package/web/.next/static/chunks/3_pwm8b3mf4mf.js +1 -0
- package/web/.next/static/chunks/3f3s544ovqebz.js +1 -0
- package/web/.next/static/chunks/{2x00o45pdbkok.js → 3x_8doukmdfpu.js} +1 -1
- package/web/.next/static/chunks/{3apnqdh48__yw.js → 3yunex2p9do7t.js} +1 -1
- package/web/.next/static/chunks/{1aa1d23q1vokr.js → 40sj32h7okqjq.js} +1 -1
- package/web/.next/trace +1 -1
- package/web/.next/trace-build +1 -1
- package/web/.next/types/routes.d.ts +3 -1
- package/web/.next/types/validator.ts +34 -0
- package/dist/core/parties/switch-tool.d.ts +0 -29
- package/dist/core/parties/switch-tool.js +0 -33
- package/dist/core/parties/switch-tool.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0m57jyae0dn_7._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0m57jyae0dn_7._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__11w36a4le04vy._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1k25lo5ka4mgd._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1k25lo5ka4mgd._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1yjb00o7x58xv._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1yjb00o7x58xv._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_0cyjln1rocvt5._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_0cyjln1rocvt5._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_1ins1z8o_qrka._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_1ins1z8o_qrka._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_0i_kwiszuiqcp._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_0i_kwiszuiqcp._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_1--8ungjj--ht._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_1--8ungjj--ht._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_1qq_ruz59ldc9._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_1qq_ruz59ldc9._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_forms_form-state_ts_2142hiopykfk1._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_forms_form-state_ts_2142hiopykfk1._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_outside-party_ui_20x5u9bhxeehi._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_outside-party_ui_20x5u9bhxeehi._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_overview_16dyz2ngvs14b._.js +0 -3
- package/web/.next/static/chunks/047i2x2j--shk.css +0 -3
- package/web/.next/static/chunks/0g4cpamshfwmn.js +0 -1
- package/web/.next/static/chunks/0j84uiid6fsim.js +0 -1
- package/web/.next/static/chunks/1ca21kggixrjz.js +0 -1
- package/web/.next/static/chunks/23ud2e13dn8f4.js +0 -1
- package/web/.next/static/chunks/3okm5g88ig1l3.js +0 -1
- /package/web/.next/static/{Az1CqrzgGHMZVR4nw9717 → JmnMsO8U6uK0nukLKdccI}/_buildManifest.js +0 -0
- /package/web/.next/static/{Az1CqrzgGHMZVR4nw9717 → JmnMsO8U6uK0nukLKdccI}/_clientMiddlewareManifest.js +0 -0
- /package/web/.next/static/{Az1CqrzgGHMZVR4nw9717 → JmnMsO8U6uK0nukLKdccI}/_ssgManifest.js +0 -0
|
@@ -26,7 +26,11 @@ import type { MarkTool } from '../../core/mcp-out/mark-tool.js';
|
|
|
26
26
|
import type { StateParty } from '../../core/mcp-out/state-party.js';
|
|
27
27
|
import type { CheckServer } from '../../core/parties/check-server.js';
|
|
28
28
|
import type { ReadPartyTools } from '../../core/parties/read-party-tools.js';
|
|
29
|
-
import type {
|
|
29
|
+
import type { SwitchTools } from '../../core/parties/switch-tools.js';
|
|
30
|
+
import type { CheckApproving } from '../../core/parties/check-approving.js';
|
|
31
|
+
import type { ReadListedScopes } from '../../core/parties/read-listed-scopes.js';
|
|
32
|
+
import type { ReadScopeRequirements } from '../../core/parties/read-scope-requirements.js';
|
|
33
|
+
import type { SetScopeRequirements } from '../../core/parties/set-scope-requirements.js';
|
|
30
34
|
import type { RegisterClient } from '../../core/oauth/register-client.js';
|
|
31
35
|
import type { DecideRequest } from '../../core/requests/decide-request.js';
|
|
32
36
|
import type { ListMine } from '../../core/requests/list-mine.js';
|
|
@@ -35,6 +39,9 @@ import type { EndSignIns } from '../../core/sign-in/end-sign-ins.js';
|
|
|
35
39
|
import type { AnswerDelivery } from '../../core/people/answer-delivery.js';
|
|
36
40
|
import type { DoneDelivery } from '../../core/people/done-delivery.js';
|
|
37
41
|
import type { OpenDelivery } from '../../core/people/open-delivery.js';
|
|
42
|
+
import type { ChangeOwnMic } from '../../core/meetings/change-own-mic.js';
|
|
43
|
+
import type { ReadMeeting } from '../../core/meetings/read-meeting.js';
|
|
44
|
+
import type { SendMessage } from '../../core/people/send-message.js';
|
|
38
45
|
import type { ReadInbox } from '../../core/people/read-inbox.js';
|
|
39
46
|
import type { ReadWakeChannels } from '../../core/people/read-wake-channels.js';
|
|
40
47
|
import type { FocusPage } from '../../core/people/focus-page.js';
|
|
@@ -96,7 +103,11 @@ export interface Context {
|
|
|
96
103
|
cardAddressOf: (alias: string) => string;
|
|
97
104
|
stateParty: StateParty;
|
|
98
105
|
markTool: MarkTool;
|
|
99
|
-
|
|
106
|
+
switchTools: SwitchTools;
|
|
107
|
+
readScopeRequirements: ReadScopeRequirements;
|
|
108
|
+
readListedScopes: ReadListedScopes;
|
|
109
|
+
checkApproving: CheckApproving;
|
|
110
|
+
setScopeRequirements: SetScopeRequirements;
|
|
100
111
|
registerClient: RegisterClient;
|
|
101
112
|
/** An MCP client's authorization request, as the gateway reads it before it signs the person in. */
|
|
102
113
|
readAuthorization?: ReadAuthorization;
|
|
@@ -118,6 +129,9 @@ export interface Context {
|
|
|
118
129
|
turnOnWebPush: TurnOnWebPush;
|
|
119
130
|
turnOffWebPush: TurnOffWebPush;
|
|
120
131
|
focusPage: FocusPage;
|
|
132
|
+
sendMessage: SendMessage;
|
|
133
|
+
readMeeting: ReadMeeting;
|
|
134
|
+
changeOwnMic: ChangeOwnMic;
|
|
121
135
|
};
|
|
122
136
|
readOutsideParties: ReadOutsideParties;
|
|
123
137
|
setOutsideParties: SetOutsideParties;
|
|
@@ -140,7 +154,8 @@ export declare const gatewayRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
140
154
|
* The account a page of the web app shows the fleet in its address as,
|
|
141
155
|
* by the shared sign-in its server forwarded (header design H5): signed
|
|
142
156
|
* in, with its scopes and never its token; the fleet to go to when the
|
|
143
|
-
* page names none;
|
|
157
|
+
* page names none; that the gateway is off for the account's fleet when
|
|
158
|
+
* it may open the gateway in none; or the app to go to where the account may not open
|
|
144
159
|
* the gateway (H9). No shared sign-in, or one that ended, is UNAUTHORIZED.
|
|
145
160
|
*/
|
|
146
161
|
inView: import("@trpc/server").TRPCQueryProcedure<{
|
|
@@ -153,6 +168,10 @@ export declare const gatewayRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
153
168
|
} | {
|
|
154
169
|
kind: "goTo";
|
|
155
170
|
fleetId: string;
|
|
171
|
+
} | {
|
|
172
|
+
kind: "off";
|
|
173
|
+
fleetName: string;
|
|
174
|
+
accountUrl: string;
|
|
156
175
|
} | {
|
|
157
176
|
kind: "elsewhere";
|
|
158
177
|
url: string;
|
|
@@ -355,10 +374,11 @@ export declare const gatewayRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
355
374
|
output: {
|
|
356
375
|
tools: {
|
|
357
376
|
name: string;
|
|
358
|
-
isReadOnly: boolean;
|
|
359
377
|
isOn: boolean;
|
|
360
378
|
isNew: boolean;
|
|
361
379
|
description?: string | undefined;
|
|
380
|
+
isReadOnly?: boolean | undefined;
|
|
381
|
+
isDestructive?: boolean | undefined;
|
|
362
382
|
}[];
|
|
363
383
|
};
|
|
364
384
|
meta: object;
|
|
@@ -721,20 +741,89 @@ export declare const gatewayRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
721
741
|
};
|
|
722
742
|
meta: object;
|
|
723
743
|
}>;
|
|
724
|
-
/** An actor holding gateway:approve
|
|
725
|
-
|
|
744
|
+
/** An actor holding gateway:approve within manage reach of the proxy ship switches tools of an outside MCP server on or off for the party (aeolus-fleet#1151), one or a selection (gateway scopes 4.3): kept in one change, then stated at once. */
|
|
745
|
+
switchTools: import("@trpc/server").TRPCMutationProcedure<{
|
|
726
746
|
input: {
|
|
727
747
|
name: string;
|
|
728
|
-
|
|
748
|
+
tools: string[];
|
|
729
749
|
isOn: boolean;
|
|
730
750
|
};
|
|
731
751
|
output: {
|
|
732
|
-
|
|
752
|
+
tools: string[];
|
|
733
753
|
isOn: boolean;
|
|
734
754
|
statementRefusal: string | null;
|
|
735
755
|
};
|
|
736
756
|
meta: object;
|
|
737
757
|
}>;
|
|
758
|
+
/** Every scope the fleet lists now, with its description: the scopes an approver may require (gateway scopes 4.3). Only an approver reads them. */
|
|
759
|
+
listedScopes: import("@trpc/server").TRPCQueryProcedure<{
|
|
760
|
+
input: void;
|
|
761
|
+
output: {
|
|
762
|
+
scopes: {
|
|
763
|
+
scope: string;
|
|
764
|
+
description: string;
|
|
765
|
+
}[];
|
|
766
|
+
};
|
|
767
|
+
meta: object;
|
|
768
|
+
}>;
|
|
769
|
+
/**
|
|
770
|
+
* Whether the actor approves the party: gateway:approve within manage
|
|
771
|
+
* reach of its proxy ship (gateway scopes 4.3, A2). Its page shows the
|
|
772
|
+
* controls then, and otherwise the same table read-only, saying why.
|
|
773
|
+
*/
|
|
774
|
+
approving: import("@trpc/server").TRPCQueryProcedure<{
|
|
775
|
+
input: {
|
|
776
|
+
name: string;
|
|
777
|
+
};
|
|
778
|
+
output: {
|
|
779
|
+
isApproving: boolean;
|
|
780
|
+
reason: string | null;
|
|
781
|
+
};
|
|
782
|
+
meta: object;
|
|
783
|
+
}>;
|
|
784
|
+
/** Which scopes a calling ship needs for an outside MCP server or A2A agent, and the version to change them on (gateway scopes 4.2). Any actor reads them. */
|
|
785
|
+
scopeRequirements: import("@trpc/server").TRPCQueryProcedure<{
|
|
786
|
+
input: {
|
|
787
|
+
name: string;
|
|
788
|
+
};
|
|
789
|
+
output: {
|
|
790
|
+
version: number;
|
|
791
|
+
party: string[];
|
|
792
|
+
tools: {
|
|
793
|
+
tool: string;
|
|
794
|
+
scopes: string[];
|
|
795
|
+
}[];
|
|
796
|
+
};
|
|
797
|
+
meta: object;
|
|
798
|
+
}>;
|
|
799
|
+
/**
|
|
800
|
+
* An actor holding gateway:approve sets the scopes a calling ship needs
|
|
801
|
+
* (gateway scopes 4.2, A2): the party's set when sent, and each tool's
|
|
802
|
+
* sent, an empty one dropping it, all at once on the version it read;
|
|
803
|
+
* then stated at once, as a tool switch is.
|
|
804
|
+
*/
|
|
805
|
+
setScopeRequirements: import("@trpc/server").TRPCMutationProcedure<{
|
|
806
|
+
input: {
|
|
807
|
+
name: string;
|
|
808
|
+
version: number;
|
|
809
|
+
tools: {
|
|
810
|
+
tool: string;
|
|
811
|
+
scopes: string[];
|
|
812
|
+
}[];
|
|
813
|
+
party?: string[] | undefined;
|
|
814
|
+
};
|
|
815
|
+
output: {
|
|
816
|
+
version: number;
|
|
817
|
+
party: string[];
|
|
818
|
+
tools: {
|
|
819
|
+
tool: string;
|
|
820
|
+
scopes: string[];
|
|
821
|
+
}[];
|
|
822
|
+
} & {
|
|
823
|
+
statementRefusal: string | null;
|
|
824
|
+
};
|
|
825
|
+
meta: object;
|
|
826
|
+
}>;
|
|
738
827
|
/** argo marks a party's tool repeatable, or takes the mark off (interop 5.2): kept, then stated at once. */
|
|
739
828
|
markTool: import("@trpc/server").TRPCMutationProcedure<{
|
|
740
829
|
input: {
|
|
@@ -848,6 +937,63 @@ export declare const gatewayRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
848
937
|
}, void, any>;
|
|
849
938
|
meta: object;
|
|
850
939
|
}>;
|
|
940
|
+
/** A meeting they take part in, with a page of its contributions, newest first, and where they stand on its mic (decision 0061). */
|
|
941
|
+
meeting: import("@trpc/server").TRPCQueryProcedure<{
|
|
942
|
+
input: {
|
|
943
|
+
meetingId: unknown;
|
|
944
|
+
cursor?: unknown;
|
|
945
|
+
};
|
|
946
|
+
output: {
|
|
947
|
+
openedAt: string;
|
|
948
|
+
endedAt: string | null;
|
|
949
|
+
mic: {
|
|
950
|
+
requests: {
|
|
951
|
+
ship: import("../../core/meetings/ports.js").MeetingShip;
|
|
952
|
+
requestedAt: string;
|
|
953
|
+
}[];
|
|
954
|
+
holder: import("../../core/meetings/ports.js").MeetingShip | null;
|
|
955
|
+
pattern: import("../../core/meetings/ports.js").MicPattern;
|
|
956
|
+
};
|
|
957
|
+
contributions: {
|
|
958
|
+
items: {
|
|
959
|
+
sentAt: string;
|
|
960
|
+
messageId: import("@aeolus-fleet/common").MessageId;
|
|
961
|
+
sender: import("../../core/meetings/ports.js").MeetingShip;
|
|
962
|
+
contentType: string;
|
|
963
|
+
payload: string;
|
|
964
|
+
}[];
|
|
965
|
+
nextCursor: `msg_${string}` | null;
|
|
966
|
+
};
|
|
967
|
+
yourMic: import("../../core/meetings/mic-standing.js").MicStanding;
|
|
968
|
+
meetingId: import("@aeolus-fleet/common").MeetingId;
|
|
969
|
+
title: string | null;
|
|
970
|
+
owner: import("../../core/meetings/ports.js").MeetingShip;
|
|
971
|
+
moderator: import("../../core/meetings/ports.js").MeetingShip;
|
|
972
|
+
participants: readonly import("../../core/meetings/ports.js").MeetingParticipant[];
|
|
973
|
+
};
|
|
974
|
+
meta: object;
|
|
975
|
+
}>;
|
|
976
|
+
/** Contributes to a meeting, once under the page's key; the fleet takes it while they hold the mic or moderate. */
|
|
977
|
+
contribute: import("@trpc/server").TRPCMutationProcedure<{
|
|
978
|
+
input: {
|
|
979
|
+
meetingId: unknown;
|
|
980
|
+
payload: string;
|
|
981
|
+
idempotencyKey: string;
|
|
982
|
+
};
|
|
983
|
+
output: {
|
|
984
|
+
messageId: import("@aeolus-fleet/common").MessageId;
|
|
985
|
+
};
|
|
986
|
+
meta: object;
|
|
987
|
+
}>;
|
|
988
|
+
/** Their own mic call: request it, withdraw the request, or release the mic they hold. */
|
|
989
|
+
mic: import("@trpc/server").TRPCMutationProcedure<{
|
|
990
|
+
input: {
|
|
991
|
+
meetingId: unknown;
|
|
992
|
+
change: "request" | "withdraw" | "release";
|
|
993
|
+
};
|
|
994
|
+
output: {};
|
|
995
|
+
meta: object;
|
|
996
|
+
}>;
|
|
851
997
|
}>>;
|
|
852
998
|
requests: import("@trpc/server").TRPCBuiltRouter<{
|
|
853
999
|
ctx: Context;
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* installation procedures take the installation token instead (decision 0021).
|
|
11
11
|
*/
|
|
12
12
|
import { randomUUID, timingSafeEqual } from 'node:crypto';
|
|
13
|
-
import { idempotencyKeySchema, idSchema, shipHandleSchema } from '@aeolus-fleet/common';
|
|
13
|
+
import { idempotencyKeySchema, idSchema, scopeNameSchema, shipHandleSchema } from '@aeolus-fleet/common';
|
|
14
14
|
import { initTRPC, TRPCError } from '@trpc/server';
|
|
15
15
|
import { z } from 'zod';
|
|
16
16
|
import { APPROVING_SCOPE } from '../../core/parties/approver.js';
|
|
@@ -166,13 +166,40 @@ const TOOLS_CODES = {
|
|
|
166
166
|
NO_SUCH_PARTY: 'NOT_FOUND',
|
|
167
167
|
SERVER_UNREACHABLE: 'BAD_GATEWAY',
|
|
168
168
|
};
|
|
169
|
-
/** The refusals of
|
|
170
|
-
const
|
|
169
|
+
/** The refusals of reading the scopes the fleet lists, as the API states them. */
|
|
170
|
+
const LISTED_SCOPES_CODES = {
|
|
171
|
+
NOT_AN_APPROVER: 'FORBIDDEN',
|
|
172
|
+
NOT_CONNECTED: 'PRECONDITION_FAILED',
|
|
173
|
+
FLEET_UNAVAILABLE: 'BAD_GATEWAY',
|
|
174
|
+
};
|
|
175
|
+
/** The refusals of switching an outside MCP server's tools, as the API states them. */
|
|
176
|
+
const SWITCH_TOOLS_CODES = {
|
|
171
177
|
NOT_AN_APPROVER: 'FORBIDDEN',
|
|
172
178
|
NO_SUCH_PARTY: 'NOT_FOUND',
|
|
179
|
+
PARTY_NOT_COMMISSIONED: 'PRECONDITION_FAILED',
|
|
180
|
+
NOT_REACHABLE: 'FORBIDDEN',
|
|
181
|
+
NOT_CONNECTED: 'PRECONDITION_FAILED',
|
|
182
|
+
FLEET_UNAVAILABLE: 'BAD_GATEWAY',
|
|
173
183
|
SERVER_UNREACHABLE: 'BAD_GATEWAY',
|
|
174
184
|
NO_SUCH_TOOL: 'NOT_FOUND',
|
|
175
185
|
};
|
|
186
|
+
/** The refusals of setting the scopes an outside party needs, as the API states them. */
|
|
187
|
+
const SET_SCOPE_REQUIREMENTS_CODES = {
|
|
188
|
+
NOT_AN_APPROVER: 'FORBIDDEN',
|
|
189
|
+
NO_SUCH_PARTY: 'NOT_FOUND',
|
|
190
|
+
PARTY_NOT_COMMISSIONED: 'PRECONDITION_FAILED',
|
|
191
|
+
NOT_REACHABLE: 'FORBIDDEN',
|
|
192
|
+
NO_SUCH_TOOL: 'BAD_REQUEST',
|
|
193
|
+
NOT_CONNECTED: 'PRECONDITION_FAILED',
|
|
194
|
+
FLEET_UNAVAILABLE: 'BAD_GATEWAY',
|
|
195
|
+
SCOPE_NOT_LISTED: 'BAD_REQUEST',
|
|
196
|
+
CONFLICT: 'CONFLICT',
|
|
197
|
+
};
|
|
198
|
+
/** A party's required scopes as the API states them: its own set, and each tool's set by name. */
|
|
199
|
+
const scopeRequirementsSchema = z.object({ version: z.int().min(0), party: z.array(z.string()), tools: z.array(z.object({ tool: z.string(), scopes: z.array(z.string()) })) });
|
|
200
|
+
function scopeRequirementsOutputOf(requirements) {
|
|
201
|
+
return { version: requirements.version, party: [...requirements.party], tools: [...requirements.tools].map(([tool, scopes]) => ({ tool, scopes: [...scopes] })) };
|
|
202
|
+
}
|
|
176
203
|
/** The refusals of checking an outside MCP server, as the API states them. */
|
|
177
204
|
const CHECK_CODES = {
|
|
178
205
|
OUTSIDE_PARTIES_OFF: 'PRECONDITION_FAILED',
|
|
@@ -290,7 +317,24 @@ const PERSON_CODES = {
|
|
|
290
317
|
SEND_REFUSED: 'BAD_REQUEST',
|
|
291
318
|
CHANNEL_NOT_OFFERED: 'PRECONDITION_FAILED',
|
|
292
319
|
INVALID_SUBSCRIPTION: 'BAD_REQUEST',
|
|
320
|
+
NO_SUCH_MEETING: 'NOT_FOUND',
|
|
321
|
+
MIC_REFUSED: 'CONFLICT',
|
|
293
322
|
};
|
|
323
|
+
/** A contribution a person writes on the pages: plain text. */
|
|
324
|
+
const CONTRIBUTION_CONTENT_TYPE = 'text/plain';
|
|
325
|
+
/** A meeting as the pages read it, its times in ISO 8601 as every answer of the API states them. */
|
|
326
|
+
function meetingViewOf({ meeting, mic }) {
|
|
327
|
+
const at = (time) => time.toISOString();
|
|
328
|
+
const { openedAt, endedAt, contributions, ...rest } = meeting;
|
|
329
|
+
return {
|
|
330
|
+
...rest,
|
|
331
|
+
openedAt: at(openedAt),
|
|
332
|
+
endedAt: endedAt === null ? null : at(endedAt),
|
|
333
|
+
mic: { ...meeting.mic, requests: meeting.mic.requests.map(({ ship, requestedAt }) => ({ ship, requestedAt: at(requestedAt) })) },
|
|
334
|
+
contributions: { items: contributions.items.map(({ sentAt, ...contribution }) => ({ ...contribution, sentAt: at(sentAt) })), nextCursor: contributions.nextCursor },
|
|
335
|
+
yourMic: mic,
|
|
336
|
+
};
|
|
337
|
+
}
|
|
294
338
|
function personAnswerOf(answered) {
|
|
295
339
|
if (!answered.isOk) {
|
|
296
340
|
throw new TRPCError({ code: PERSON_CODES[answered.error.kind], message: answered.error.message });
|
|
@@ -347,6 +391,7 @@ async function fleetNameOf(ctx) {
|
|
|
347
391
|
const accountInViewOutputSchema = z.discriminatedUnion('kind', [
|
|
348
392
|
z.object({ kind: z.literal('signedIn'), fleetId: z.string(), accountId: z.string(), scopes: z.array(z.string()) }),
|
|
349
393
|
z.object({ kind: z.literal('goTo'), fleetId: z.string() }),
|
|
394
|
+
z.object({ kind: z.literal('off'), fleetName: z.string(), accountUrl: z.string() }),
|
|
350
395
|
z.object({ kind: z.literal('elsewhere'), url: z.string() }),
|
|
351
396
|
]);
|
|
352
397
|
const appLinkOutputSchema = z.object({ app: z.string(), url: z.string() });
|
|
@@ -361,7 +406,8 @@ export const gatewayRouter = t.router({
|
|
|
361
406
|
* The account a page of the web app shows the fleet in its address as,
|
|
362
407
|
* by the shared sign-in its server forwarded (header design H5): signed
|
|
363
408
|
* in, with its scopes and never its token; the fleet to go to when the
|
|
364
|
-
* page names none;
|
|
409
|
+
* page names none; that the gateway is off for the account's fleet when
|
|
410
|
+
* it may open the gateway in none; or the app to go to where the account may not open
|
|
365
411
|
* the gateway (H9). No shared sign-in, or one that ended, is UNAUTHORIZED.
|
|
366
412
|
*/
|
|
367
413
|
inView: t.procedure.output(accountInViewOutputSchema).query(async ({ ctx }) => {
|
|
@@ -450,7 +496,7 @@ export const gatewayRouter = t.router({
|
|
|
450
496
|
/** An outside MCP server's tools, as the server lists them now, asked with the credential the gateway keeps, each with its switch. Any actor reads them. */
|
|
451
497
|
tools: servedProcedure
|
|
452
498
|
.input(z.strictObject({ name: shipHandleSchema }))
|
|
453
|
-
.output(z.object({ tools: z.array(z.object({ name: z.string(), description: z.string().optional(), isReadOnly: z.boolean(), isOn: z.boolean(), isNew: z.boolean() })) }))
|
|
499
|
+
.output(z.object({ tools: z.array(z.object({ name: z.string(), description: z.string().optional(), isReadOnly: z.boolean().optional(), isDestructive: z.boolean().optional(), isOn: z.boolean(), isNew: z.boolean() })) }))
|
|
454
500
|
.query(async ({ ctx, input }) => {
|
|
455
501
|
const read = await ctx.readPartyTools({ fleetId: ctx.fleetId, ...input });
|
|
456
502
|
if (!read.isOk) {
|
|
@@ -651,17 +697,75 @@ export const gatewayRouter = t.router({
|
|
|
651
697
|
}
|
|
652
698
|
return stated.value;
|
|
653
699
|
}),
|
|
654
|
-
/** An actor holding gateway:approve
|
|
655
|
-
|
|
656
|
-
.input(z.strictObject({ name: shipHandleSchema,
|
|
657
|
-
.output(z.object({
|
|
700
|
+
/** An actor holding gateway:approve within manage reach of the proxy ship switches tools of an outside MCP server on or off for the party (aeolus-fleet#1151), one or a selection (gateway scopes 4.3): kept in one change, then stated at once. */
|
|
701
|
+
switchTools: servedProcedure
|
|
702
|
+
.input(z.strictObject({ name: shipHandleSchema, tools: z.array(z.string().min(1).max(TOOL_NAME_MAX_LENGTH)).min(1), isOn: z.boolean() }))
|
|
703
|
+
.output(z.object({ tools: z.array(z.string()), isOn: z.boolean(), statementRefusal: z.string().nullable() }))
|
|
658
704
|
.mutation(async ({ ctx, input }) => {
|
|
659
|
-
const switched = await ctx.
|
|
705
|
+
const switched = await ctx.switchTools({ actor: ctx.actor, as: { cookie: ctx.cookie, crewToken: ctx.crewToken }, ...input });
|
|
660
706
|
if (!switched.isOk) {
|
|
661
|
-
throw new TRPCError({ code:
|
|
707
|
+
throw new TRPCError({ code: SWITCH_TOOLS_CODES[switched.error.kind], message: switched.error.message });
|
|
662
708
|
}
|
|
663
709
|
return switched.value;
|
|
664
710
|
}),
|
|
711
|
+
/** Every scope the fleet lists now, with its description: the scopes an approver may require (gateway scopes 4.3). Only an approver reads them. */
|
|
712
|
+
listedScopes: servedProcedure.output(z.object({ scopes: z.array(z.object({ scope: z.string(), description: z.string() })) })).query(async ({ ctx }) => {
|
|
713
|
+
const read = await ctx.readListedScopes({ actor: ctx.actor });
|
|
714
|
+
if (!read.isOk) {
|
|
715
|
+
throw new TRPCError({ code: LISTED_SCOPES_CODES[read.error.kind], message: read.error.message });
|
|
716
|
+
}
|
|
717
|
+
return { scopes: read.value };
|
|
718
|
+
}),
|
|
719
|
+
/**
|
|
720
|
+
* Whether the actor approves the party: gateway:approve within manage
|
|
721
|
+
* reach of its proxy ship (gateway scopes 4.3, A2). Its page shows the
|
|
722
|
+
* controls then, and otherwise the same table read-only, saying why.
|
|
723
|
+
*/
|
|
724
|
+
approving: servedProcedure
|
|
725
|
+
.input(z.strictObject({ name: shipHandleSchema }))
|
|
726
|
+
.output(z.object({ isApproving: z.boolean(), reason: z.string().nullable() }))
|
|
727
|
+
.query(async ({ ctx, input }) => {
|
|
728
|
+
const checked = await ctx.checkApproving({ actor: ctx.actor, as: { cookie: ctx.cookie, crewToken: ctx.crewToken }, ...input });
|
|
729
|
+
if (checked.isOk) {
|
|
730
|
+
return { isApproving: true, reason: null };
|
|
731
|
+
}
|
|
732
|
+
if (checked.error.kind === 'NO_SUCH_PARTY') {
|
|
733
|
+
throw new TRPCError({ code: 'NOT_FOUND', message: checked.error.message });
|
|
734
|
+
}
|
|
735
|
+
return { isApproving: false, reason: checked.error.message };
|
|
736
|
+
}),
|
|
737
|
+
/** Which scopes a calling ship needs for an outside MCP server or A2A agent, and the version to change them on (gateway scopes 4.2). Any actor reads them. */
|
|
738
|
+
scopeRequirements: servedProcedure
|
|
739
|
+
.input(z.strictObject({ name: shipHandleSchema }))
|
|
740
|
+
.output(scopeRequirementsSchema)
|
|
741
|
+
.query(async ({ ctx, input }) => {
|
|
742
|
+
const read = await ctx.readScopeRequirements({ fleetId: ctx.fleetId, ...input });
|
|
743
|
+
if (!read.isOk) {
|
|
744
|
+
throw new TRPCError({ code: 'NOT_FOUND', message: read.error.message });
|
|
745
|
+
}
|
|
746
|
+
return scopeRequirementsOutputOf(read.value);
|
|
747
|
+
}),
|
|
748
|
+
/**
|
|
749
|
+
* An actor holding gateway:approve sets the scopes a calling ship needs
|
|
750
|
+
* (gateway scopes 4.2, A2): the party's set when sent, and each tool's
|
|
751
|
+
* sent, an empty one dropping it, all at once on the version it read;
|
|
752
|
+
* then stated at once, as a tool switch is.
|
|
753
|
+
*/
|
|
754
|
+
setScopeRequirements: servedProcedure
|
|
755
|
+
.input(z.strictObject({
|
|
756
|
+
name: shipHandleSchema,
|
|
757
|
+
version: z.int().min(0),
|
|
758
|
+
party: z.array(scopeNameSchema).optional(),
|
|
759
|
+
tools: z.array(z.strictObject({ tool: z.string().min(1).max(TOOL_NAME_MAX_LENGTH), scopes: z.array(scopeNameSchema) })),
|
|
760
|
+
}))
|
|
761
|
+
.output(z.intersection(scopeRequirementsSchema, z.object({ statementRefusal: z.string().nullable() })))
|
|
762
|
+
.mutation(async ({ ctx, input }) => {
|
|
763
|
+
const set = await ctx.setScopeRequirements({ actor: ctx.actor, as: { cookie: ctx.cookie, crewToken: ctx.crewToken }, name: input.name, version: input.version, ...(input.party === undefined ? {} : { party: input.party }), tools: new Map(input.tools.map(({ tool, scopes }) => [tool, scopes])) });
|
|
764
|
+
if (!set.isOk) {
|
|
765
|
+
throw new TRPCError({ code: SET_SCOPE_REQUIREMENTS_CODES[set.error.kind], message: set.error.message });
|
|
766
|
+
}
|
|
767
|
+
return { ...scopeRequirementsOutputOf(set.value.requirements), statementRefusal: set.value.statementRefusal };
|
|
768
|
+
}),
|
|
665
769
|
/** argo marks a party's tool repeatable, or takes the mark off (interop 5.2): kept, then stated at once. */
|
|
666
770
|
markTool: managing(servedProcedure)
|
|
667
771
|
.input(z.strictObject({ name: shipHandleSchema, tool: z.string().min(1).max(TOOL_NAME_MAX_LENGTH), isRepeatable: z.boolean() }))
|
|
@@ -721,6 +825,21 @@ export const gatewayRouter = t.router({
|
|
|
721
825
|
await held;
|
|
722
826
|
}
|
|
723
827
|
}),
|
|
828
|
+
/** A meeting they take part in, with a page of its contributions, newest first, and where they stand on its mic (decision 0061). */
|
|
829
|
+
meeting: personProcedure
|
|
830
|
+
.input(z.strictObject({ meetingId: idSchema('meeting'), cursor: idSchema('message').optional() }))
|
|
831
|
+
.query(async ({ ctx, input: { meetingId, cursor } }) => meetingViewOf(personAnswerOf(await ctx.person.readMeeting({ caller: ctx.caller, meetingId, ...(cursor === undefined ? {} : { cursor }) })))),
|
|
832
|
+
/** Contributes to a meeting, once under the page's key; the fleet takes it while they hold the mic or moderate. */
|
|
833
|
+
contribute: personProcedure
|
|
834
|
+
.input(z.strictObject({ meetingId: idSchema('meeting'), payload: z.string().min(1).max(PAYLOAD_MAX_BYTES), idempotencyKey: z.string().min(1) }))
|
|
835
|
+
.mutation(async ({ ctx, input: { meetingId, payload, idempotencyKey } }) => personAnswerOf(await ctx.person.sendMessage({ caller: ctx.caller, to: { kind: 'meeting', meetingId }, contentType: CONTRIBUTION_CONTENT_TYPE, payload, idempotencyKey }))),
|
|
836
|
+
/** Their own mic call: request it, withdraw the request, or release the mic they hold. */
|
|
837
|
+
mic: personProcedure
|
|
838
|
+
.input(z.strictObject({ meetingId: idSchema('meeting'), change: z.enum(['request', 'withdraw', 'release']) }))
|
|
839
|
+
.mutation(async ({ ctx, input }) => {
|
|
840
|
+
personAnswerOf(await ctx.person.changeOwnMic({ caller: ctx.caller, ...input }));
|
|
841
|
+
return {};
|
|
842
|
+
}),
|
|
724
843
|
}),
|
|
725
844
|
requests: t.router({
|
|
726
845
|
/** The requests the account asked, in any state, the newest first (decision 0056: Your requests). */
|