@aeolus-fleet/gateway 0.29.2 → 0.30.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 +11 -3
- package/dist/adapters/a2a/a2a-agents.d.ts +6 -0
- package/dist/adapters/a2a/a2a-agents.js +238 -0
- package/dist/adapters/a2a/a2a-agents.js.map +1 -0
- package/dist/adapters/a2a/agent-cards.d.ts +4 -0
- package/dist/adapters/a2a/agent-cards.js +90 -0
- package/dist/adapters/a2a/agent-cards.js.map +1 -0
- package/dist/adapters/crypto/agent-keys.d.ts +3 -0
- package/dist/adapters/crypto/agent-keys.js +13 -0
- package/dist/adapters/crypto/agent-keys.js.map +1 -0
- package/dist/adapters/crypto/call-keys.js +2 -0
- package/dist/adapters/crypto/call-keys.js.map +1 -1
- package/dist/adapters/fleet/core-version.d.ts +1 -1
- package/dist/adapters/fleet/core-version.js +1 -1
- package/dist/adapters/fleet/fleet-ships.d.ts +3 -1
- package/dist/adapters/fleet/fleet-ships.js +19 -10
- package/dist/adapters/fleet/fleet-ships.js.map +1 -1
- package/dist/adapters/fleet/rest-fleet-door.d.ts +2 -2
- package/dist/adapters/fleet/rest-fleet-door.js +29 -5
- package/dist/adapters/fleet/rest-fleet-door.js.map +1 -1
- package/dist/adapters/http/a2a-cards.d.ts +24 -0
- package/dist/adapters/http/a2a-cards.js +62 -0
- package/dist/adapters/http/a2a-cards.js.map +1 -0
- package/dist/adapters/http/a2a-endpoint.d.ts +28 -0
- package/dist/adapters/http/a2a-endpoint.js +424 -0
- package/dist/adapters/http/a2a-endpoint.js.map +1 -0
- package/dist/adapters/http/a2a-streams.d.ts +28 -0
- package/dist/adapters/http/a2a-streams.js +74 -0
- package/dist/adapters/http/a2a-streams.js.map +1 -0
- package/dist/adapters/http/a2a-tasks.d.ts +18 -0
- package/dist/adapters/http/a2a-tasks.js +117 -0
- package/dist/adapters/http/a2a-tasks.js.map +1 -0
- package/dist/adapters/http/front-door.js +8 -4
- package/dist/adapters/http/front-door.js.map +1 -1
- package/dist/adapters/http/live.d.ts +3 -1
- package/dist/adapters/http/live.js +6 -2
- package/dist/adapters/http/live.js.map +1 -1
- package/dist/adapters/http/oauth-routes.d.ts +1 -1
- package/dist/adapters/http/oauth-routes.js +16 -3
- package/dist/adapters/http/oauth-routes.js.map +1 -1
- package/dist/adapters/mcp/mcp-servers.js +2 -0
- package/dist/adapters/mcp/mcp-servers.js.map +1 -1
- package/dist/adapters/pagasae/email-channel.d.ts +8 -0
- package/dist/adapters/pagasae/email-channel.js +37 -0
- package/dist/adapters/pagasae/email-channel.js.map +1 -0
- package/dist/adapters/pagasae/pagasae-client.js +6 -2
- package/dist/adapters/pagasae/pagasae-client.js.map +1 -1
- package/dist/adapters/prisma/agent-calls.d.ts +3 -0
- package/dist/adapters/prisma/agent-calls.js +49 -0
- package/dist/adapters/prisma/agent-calls.js.map +1 -0
- package/dist/adapters/prisma/changes.d.ts +17 -8
- package/dist/adapters/prisma/changes.js +18 -5
- package/dist/adapters/prisma/changes.js.map +1 -1
- package/dist/adapters/prisma/client-calls.d.ts +1 -1
- package/dist/adapters/prisma/client-calls.js +83 -21
- package/dist/adapters/prisma/client-calls.js.map +1 -1
- package/dist/adapters/prisma/email-channels.d.ts +4 -0
- package/dist/adapters/prisma/email-channels.js +14 -0
- package/dist/adapters/prisma/email-channels.js.map +1 -0
- package/dist/adapters/prisma/fleet-forgetter.d.ts +1 -1
- package/dist/adapters/prisma/fleet-forgetter.js +2 -2
- package/dist/adapters/prisma/fleet-forgetter.js.map +1 -1
- package/dist/adapters/prisma/focused-pages.d.ts +4 -0
- package/dist/adapters/prisma/focused-pages.js +13 -0
- package/dist/adapters/prisma/focused-pages.js.map +1 -0
- package/dist/adapters/prisma/generated/browser.d.ts +45 -0
- package/dist/adapters/prisma/generated/client.d.ts +45 -0
- package/dist/adapters/prisma/generated/commonInputTypes.d.ts +54 -54
- package/dist/adapters/prisma/generated/internal/class.d.ts +99 -0
- 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 +783 -1
- package/dist/adapters/prisma/generated/internal/prismaNamespace.js +101 -3
- package/dist/adapters/prisma/generated/internal/prismaNamespace.js.map +1 -1
- package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.d.ts +107 -0
- package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js +101 -3
- package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
- package/dist/adapters/prisma/generated/models/A2aAgentCall.d.ts +1203 -0
- package/dist/adapters/prisma/generated/models/A2aAgentCall.js +2 -0
- package/dist/adapters/prisma/generated/models/A2aAgentCall.js.map +1 -0
- package/dist/adapters/prisma/generated/models/A2aAgentReply.d.ts +1003 -0
- package/dist/adapters/prisma/generated/models/A2aAgentReply.js +2 -0
- package/dist/adapters/prisma/generated/models/A2aAgentReply.js.map +1 -0
- package/dist/adapters/prisma/generated/models/A2aPush.d.ts +1413 -0
- package/dist/adapters/prisma/generated/models/A2aPush.js +2 -0
- package/dist/adapters/prisma/generated/models/A2aPush.js.map +1 -0
- package/dist/adapters/prisma/generated/models/A2aPushConfig.d.ts +1322 -0
- package/dist/adapters/prisma/generated/models/A2aPushConfig.js +2 -0
- package/dist/adapters/prisma/generated/models/A2aPushConfig.js.map +1 -0
- package/dist/adapters/prisma/generated/models/A2aTask.d.ts +1002 -0
- package/dist/adapters/prisma/generated/models/A2aTask.js +2 -0
- package/dist/adapters/prisma/generated/models/A2aTask.js.map +1 -0
- package/dist/adapters/prisma/generated/models/ClientCall.d.ts +136 -15
- package/dist/adapters/prisma/generated/models/ClientCallReply.d.ts +0 -7
- package/dist/adapters/prisma/generated/models/EmailChannel.d.ts +946 -0
- package/dist/adapters/prisma/generated/models/EmailChannel.js +2 -0
- package/dist/adapters/prisma/generated/models/EmailChannel.js.map +1 -0
- package/dist/adapters/prisma/generated/models/FocusedPage.d.ts +974 -0
- package/dist/adapters/prisma/generated/models/FocusedPage.js +2 -0
- package/dist/adapters/prisma/generated/models/FocusedPage.js.map +1 -0
- package/dist/adapters/prisma/generated/models/IssuedToken.d.ts +47 -41
- package/dist/adapters/prisma/generated/models/OAuthClient.d.ts +32 -8
- package/dist/adapters/prisma/generated/models/Party.d.ts +90 -3
- package/dist/adapters/prisma/generated/models/WakeSent.d.ts +975 -0
- package/dist/adapters/prisma/generated/models/WakeSent.js +2 -0
- package/dist/adapters/prisma/generated/models/WakeSent.js.map +1 -0
- package/dist/adapters/prisma/generated/models/WebPushSubscription.d.ts +1115 -0
- package/dist/adapters/prisma/generated/models/WebPushSubscription.js +2 -0
- package/dist/adapters/prisma/generated/models/WebPushSubscription.js.map +1 -0
- package/dist/adapters/prisma/generated/models.d.ts +9 -0
- package/dist/adapters/prisma/oauth-stores.js +3 -2
- package/dist/adapters/prisma/oauth-stores.js.map +1 -1
- package/dist/adapters/prisma/party-store.js +35 -6
- package/dist/adapters/prisma/party-store.js.map +1 -1
- package/dist/adapters/prisma/person-crews.js +9 -0
- package/dist/adapters/prisma/person-crews.js.map +1 -1
- package/dist/adapters/prisma/push-store.d.ts +3 -0
- package/dist/adapters/prisma/push-store.js +102 -0
- package/dist/adapters/prisma/push-store.js.map +1 -0
- package/dist/adapters/prisma/waiter-locks.d.ts +4 -0
- package/dist/adapters/prisma/waiter-locks.js +72 -0
- package/dist/adapters/prisma/waiter-locks.js.map +1 -0
- package/dist/adapters/prisma/wakes-sent.d.ts +4 -0
- package/dist/adapters/prisma/wakes-sent.js +10 -0
- package/dist/adapters/prisma/wakes-sent.js.map +1 -0
- package/dist/adapters/prisma/web-push-subscriptions.d.ts +3 -0
- package/dist/adapters/prisma/web-push-subscriptions.js +33 -0
- package/dist/adapters/prisma/web-push-subscriptions.js.map +1 -0
- package/dist/adapters/trpc/router.d.ts +397 -9
- package/dist/adapters/trpc/router.js +237 -13
- package/dist/adapters/trpc/router.js.map +1 -1
- package/dist/adapters/web-push/web-push.d.ts +9 -0
- package/dist/adapters/web-push/web-push.js +70 -0
- package/dist/adapters/web-push/web-push.js.map +1 -0
- package/dist/adapters/webhooks/allowed-lookup.d.ts +14 -0
- package/dist/adapters/webhooks/allowed-lookup.js +28 -0
- package/dist/adapters/webhooks/allowed-lookup.js.map +1 -0
- package/dist/adapters/webhooks/host-resolver.d.ts +3 -0
- package/dist/adapters/webhooks/host-resolver.js +13 -0
- package/dist/adapters/webhooks/host-resolver.js.map +1 -0
- package/dist/adapters/webhooks/webhook-poster.d.ts +6 -0
- package/dist/adapters/webhooks/webhook-poster.js +67 -0
- package/dist/adapters/webhooks/webhook-poster.js.map +1 -0
- package/dist/app.d.ts +12 -0
- package/dist/app.js +273 -14
- package/dist/app.js.map +1 -1
- package/dist/bin/aeolus-gateway.js +3 -0
- package/dist/bin/aeolus-gateway.js.map +1 -1
- package/dist/config.d.ts +14 -0
- package/dist/config.js +24 -0
- package/dist/config.js.map +1 -1
- package/dist/core/a2a-in/authenticate-a2a-client.d.ts +23 -0
- package/dist/core/a2a-in/authenticate-a2a-client.js +21 -0
- package/dist/core/a2a-in/authenticate-a2a-client.js.map +1 -0
- package/dist/core/a2a-in/deliver-pushes.d.ts +24 -0
- package/dist/core/a2a-in/deliver-pushes.js +48 -0
- package/dist/core/a2a-in/deliver-pushes.js.map +1 -0
- package/dist/core/a2a-in/find-reached-ship.d.ts +18 -0
- package/dist/core/a2a-in/find-reached-ship.js +20 -0
- package/dist/core/a2a-in/find-reached-ship.js.map +1 -0
- package/dist/core/a2a-in/follow-a2a-task.d.ts +25 -0
- package/dist/core/a2a-in/follow-a2a-task.js +23 -0
- package/dist/core/a2a-in/follow-a2a-task.js.map +1 -0
- package/dist/core/a2a-in/inbound-message.d.ts +30 -0
- package/dist/core/a2a-in/inbound-message.js +33 -0
- package/dist/core/a2a-in/inbound-message.js.map +1 -0
- package/dist/core/a2a-in/list-a2a-tasks.d.ts +18 -0
- package/dist/core/a2a-in/list-a2a-tasks.js +14 -0
- package/dist/core/a2a-in/list-a2a-tasks.js.map +1 -0
- package/dist/core/a2a-in/list-push-configs.d.ts +20 -0
- package/dist/core/a2a-in/list-push-configs.js +18 -0
- package/dist/core/a2a-in/list-push-configs.js.map +1 -0
- package/dist/core/a2a-in/list-reached-ships.d.ts +25 -0
- package/dist/core/a2a-in/list-reached-ships.js +22 -0
- package/dist/core/a2a-in/list-reached-ships.js.map +1 -0
- package/dist/core/a2a-in/notice-task-changes.d.ts +19 -0
- package/dist/core/a2a-in/notice-task-changes.js +17 -0
- package/dist/core/a2a-in/notice-task-changes.js.map +1 -0
- package/dist/core/a2a-in/ports.d.ts +124 -0
- package/dist/core/a2a-in/ports.js +2 -0
- package/dist/core/a2a-in/ports.js.map +1 -0
- package/dist/core/a2a-in/push-config-view.d.ts +8 -0
- package/dist/core/a2a-in/push-config-view.js +2 -0
- package/dist/core/a2a-in/push-config-view.js.map +1 -0
- package/dist/core/a2a-in/push-to-webhooks.d.ts +19 -0
- package/dist/core/a2a-in/push-to-webhooks.js +19 -0
- package/dist/core/a2a-in/push-to-webhooks.js.map +1 -0
- package/dist/core/a2a-in/read-a2a-task.d.ts +12 -0
- package/dist/core/a2a-in/read-a2a-task.js +11 -0
- package/dist/core/a2a-in/read-a2a-task.js.map +1 -0
- package/dist/core/a2a-in/read-push-config.d.ts +16 -0
- package/dist/core/a2a-in/read-push-config.js +14 -0
- package/dist/core/a2a-in/read-push-config.js.map +1 -0
- package/dist/core/a2a-in/remove-push-config.d.ts +15 -0
- package/dist/core/a2a-in/remove-push-config.js +13 -0
- package/dist/core/a2a-in/remove-push-config.js.map +1 -0
- package/dist/core/a2a-in/send-a2a-message.d.ts +34 -0
- package/dist/core/a2a-in/send-a2a-message.js +106 -0
- package/dist/core/a2a-in/send-a2a-message.js.map +1 -0
- package/dist/core/a2a-in/set-push-config.d.ts +30 -0
- package/dist/core/a2a-in/set-push-config.js +27 -0
- package/dist/core/a2a-in/set-push-config.js.map +1 -0
- package/dist/core/a2a-in/subscribe-to-a2a-task.d.ts +18 -0
- package/dist/core/a2a-in/subscribe-to-a2a-task.js +17 -0
- package/dist/core/a2a-in/subscribe-to-a2a-task.js.map +1 -0
- package/dist/core/a2a-in/task-view.d.ts +51 -0
- package/dist/core/a2a-in/task-view.js +49 -0
- package/dist/core/a2a-in/task-view.js.map +1 -0
- package/dist/core/a2a-in/webhook-address.d.ts +7 -0
- package/dist/core/a2a-in/webhook-address.js +17 -0
- package/dist/core/a2a-in/webhook-address.js.map +1 -0
- package/dist/core/a2a-in/webhook.d.ts +6 -0
- package/dist/core/a2a-in/webhook.js +80 -0
- package/dist/core/a2a-in/webhook.js.map +1 -0
- package/dist/core/a2a-out/agent-endpoint.d.ts +10 -0
- package/dist/core/a2a-out/agent-endpoint.js +10 -0
- package/dist/core/a2a-out/agent-endpoint.js.map +1 -0
- package/dist/core/a2a-out/agent-event.d.ts +41 -0
- package/dist/core/a2a-out/agent-event.js +64 -0
- package/dist/core/a2a-out/agent-event.js.map +1 -0
- package/dist/core/a2a-out/agent-message.d.ts +36 -0
- package/dist/core/a2a-out/agent-message.js +36 -0
- package/dist/core/a2a-out/agent-message.js.map +1 -0
- package/dist/core/a2a-out/agent-statement.d.ts +10 -0
- package/dist/core/a2a-out/agent-statement.js +45 -0
- package/dist/core/a2a-out/agent-statement.js.map +1 -0
- package/dist/core/a2a-out/follow-agent-task.d.ts +40 -0
- package/dist/core/a2a-out/follow-agent-task.js +125 -0
- package/dist/core/a2a-out/follow-agent-task.js.map +1 -0
- package/dist/core/a2a-out/hand-a2a-message.d.ts +36 -0
- package/dist/core/a2a-out/hand-a2a-message.js +132 -0
- package/dist/core/a2a-out/hand-a2a-message.js.map +1 -0
- package/dist/core/a2a-out/mark-a2a-agent.d.ts +24 -0
- package/dist/core/a2a-out/mark-a2a-agent.js +24 -0
- package/dist/core/a2a-out/mark-a2a-agent.js.map +1 -0
- package/dist/core/a2a-out/ports.d.ts +200 -0
- package/dist/core/a2a-out/ports.js +2 -0
- package/dist/core/a2a-out/ports.js.map +1 -0
- package/dist/core/a2a-out/read-agent-statement.d.ts +13 -0
- package/dist/core/a2a-out/read-agent-statement.js +13 -0
- package/dist/core/a2a-out/read-agent-statement.js.map +1 -0
- package/dist/core/a2a-out/run-a2a-agent.d.ts +26 -0
- package/dist/core/a2a-out/run-a2a-agent.js +46 -0
- package/dist/core/a2a-out/run-a2a-agent.js.map +1 -0
- package/dist/core/a2a-out/state-a2a-agent.d.ts +26 -0
- package/dist/core/a2a-out/state-a2a-agent.js +31 -0
- package/dist/core/a2a-out/state-a2a-agent.js.map +1 -0
- package/dist/core/mcp-in/call-tool.js +2 -0
- package/dist/core/mcp-in/call-tool.js.map +1 -1
- package/dist/core/mcp-in/client-call.d.ts +35 -4
- package/dist/core/mcp-in/client-call.js +57 -10
- package/dist/core/mcp-in/client-call.js.map +1 -1
- package/dist/core/mcp-in/collect-replies.d.ts +4 -3
- package/dist/core/mcp-in/collect-replies.js +4 -0
- package/dist/core/mcp-in/collect-replies.js.map +1 -1
- package/dist/core/mcp-in/ports.d.ts +52 -3
- package/dist/core/mcp-out/hand-call.d.ts +5 -1
- package/dist/core/mcp-out/hand-call.js +9 -1
- package/dist/core/mcp-out/hand-call.js.map +1 -1
- package/dist/core/mcp-out/run-party.d.ts +29 -7
- package/dist/core/mcp-out/run-party.js +14 -6
- package/dist/core/mcp-out/run-party.js.map +1 -1
- package/dist/core/mcp-out/state-party.d.ts +4 -2
- package/dist/core/mcp-out/state-party.js +10 -3
- package/dist/core/mcp-out/state-party.js.map +1 -1
- package/dist/core/mcp-out/statement.d.ts +2 -1
- package/dist/core/mcp-out/statement.js.map +1 -1
- package/dist/core/oauth/exchange-id-jag.d.ts +28 -0
- package/dist/core/oauth/exchange-id-jag.js +66 -0
- package/dist/core/oauth/exchange-id-jag.js.map +1 -0
- package/dist/core/oauth/exchange-token.d.ts +25 -11
- package/dist/core/oauth/exchange-token.js +50 -3
- package/dist/core/oauth/exchange-token.js.map +1 -1
- package/dist/core/oauth/ports.d.ts +17 -6
- package/dist/core/oauth/register-client.js +1 -1
- package/dist/core/oauth/register-client.js.map +1 -1
- package/dist/core/parties/add-a2a-agent.d.ts +34 -0
- package/dist/core/parties/add-a2a-agent.js +45 -0
- package/dist/core/parties/add-a2a-agent.js.map +1 -0
- package/dist/core/parties/add-a2a-client.d.ts +30 -0
- package/dist/core/parties/add-a2a-client.js +47 -0
- package/dist/core/parties/add-a2a-client.js.map +1 -0
- package/dist/core/parties/add-client-party.d.ts +38 -0
- package/dist/core/parties/add-client-party.js +40 -0
- package/dist/core/parties/add-client-party.js.map +1 -0
- package/dist/core/parties/approve-party.d.ts +43 -2
- package/dist/core/parties/approve-party.js +9 -5
- package/dist/core/parties/approve-party.js.map +1 -1
- package/dist/core/parties/approver.d.ts +7 -0
- package/dist/core/parties/approver.js +9 -0
- package/dist/core/parties/approver.js.map +1 -0
- package/dist/core/parties/check-server.d.ts +2 -1
- package/dist/core/parties/check-server.js +1 -1
- package/dist/core/parties/check-server.js.map +1 -1
- package/dist/core/parties/crew-party.d.ts +18 -4
- package/dist/core/parties/crew-party.js +36 -4
- package/dist/core/parties/crew-party.js.map +1 -1
- package/dist/core/parties/party.d.ts +23 -1
- package/dist/core/parties/party.js +17 -4
- package/dist/core/parties/party.js.map +1 -1
- package/dist/core/parties/ports.d.ts +16 -0
- package/dist/core/parties/read-party-tools.d.ts +4 -3
- package/dist/core/parties/read-party-tools.js +4 -2
- package/dist/core/parties/read-party-tools.js.map +1 -1
- package/dist/core/parties/shown-party.d.ts +8 -0
- package/dist/core/parties/shown-party.js +4 -0
- package/dist/core/parties/shown-party.js.map +1 -1
- package/dist/core/parties/switch-tool.d.ts +29 -0
- package/dist/core/parties/switch-tool.js +33 -0
- package/dist/core/parties/switch-tool.js.map +1 -0
- package/dist/core/parties/tool-switches.d.ts +27 -0
- package/dist/core/parties/tool-switches.js +17 -0
- package/dist/core/parties/tool-switches.js.map +1 -0
- package/dist/core/people/answer-delivery.d.ts +2 -1
- package/dist/core/people/answer-delivery.js.map +1 -1
- package/dist/core/people/done-delivery.d.ts +2 -1
- package/dist/core/people/done-delivery.js.map +1 -1
- package/dist/core/people/focus-page.d.ts +18 -0
- package/dist/core/people/focus-page.js +20 -0
- package/dist/core/people/focus-page.js.map +1 -0
- package/dist/core/people/open-delivery.d.ts +3 -1
- package/dist/core/people/open-delivery.js +2 -0
- package/dist/core/people/open-delivery.js.map +1 -1
- package/dist/core/people/opened-of.d.ts +7 -2
- package/dist/core/people/opened-of.js +6 -1
- package/dist/core/people/opened-of.js.map +1 -1
- package/dist/core/people/person-crew.d.ts +2 -0
- package/dist/core/people/person-crew.js +6 -2
- package/dist/core/people/person-crew.js.map +1 -1
- package/dist/core/people/ports.d.ts +151 -3
- package/dist/core/people/read-wake-channels.d.ts +42 -0
- package/dist/core/people/read-wake-channels.js +21 -0
- package/dist/core/people/read-wake-channels.js.map +1 -0
- package/dist/core/people/turn-email-channel.d.ts +21 -0
- package/dist/core/people/turn-email-channel.js +22 -0
- package/dist/core/people/turn-email-channel.js.map +1 -0
- package/dist/core/people/turn-off-web-push.d.ts +13 -0
- package/dist/core/people/turn-off-web-push.js +14 -0
- package/dist/core/people/turn-off-web-push.js.map +1 -0
- package/dist/core/people/turn-on-web-push.d.ts +35 -0
- package/dist/core/people/turn-on-web-push.js +49 -0
- package/dist/core/people/turn-on-web-push.js.map +1 -0
- package/dist/core/people/wait-on-person-ship.d.ts +44 -0
- package/dist/core/people/wait-on-person-ship.js +92 -0
- package/dist/core/people/wait-on-person-ship.js.map +1 -0
- package/dist/core/people/wake-person.d.ts +40 -0
- package/dist/core/people/wake-person.js +74 -0
- package/dist/core/people/wake-person.js.map +1 -0
- package/dist/core/people/web-push-channel.d.ts +17 -0
- package/dist/core/people/web-push-channel.js +35 -0
- package/dist/core/people/web-push-channel.js.map +1 -0
- package/dist/core/requests/decide-request.d.ts +0 -2
- package/dist/core/requests/decide-request.js +3 -6
- package/dist/core/requests/decide-request.js.map +1 -1
- package/dist/core/requests/list-to-decide.js +1 -1
- package/dist/core/requests/list-to-decide.js.map +1 -1
- package/dist/core/shared/errors.d.ts +1 -1
- package/dist/core/shared/errors.js.map +1 -1
- package/dist/core/sign-in/ports.d.ts +13 -0
- package/dist/core/vault/credential.d.ts +6 -2
- package/dist/party-workers.d.ts +9 -1
- package/dist/party-workers.js +37 -5
- package/dist/party-workers.js.map +1 -1
- package/dist/person-waiters.d.ts +30 -0
- package/dist/person-waiters.js +89 -0
- package/dist/person-waiters.js.map +1 -0
- package/package.json +7 -3
- package/src/adapters/prisma/migrations/20261023120000_party_bearer_hash/migration.sql +4 -0
- package/src/adapters/prisma/migrations/20261023130000_client_credentials/migration.sql +5 -0
- package/src/adapters/prisma/migrations/20261023200000_a2a_tasks/migration.sql +20 -0
- package/src/adapters/prisma/migrations/20261023210000_tool_switches/migration.sql +2 -0
- package/src/adapters/prisma/migrations/20261024090000_a2a_pushes/migration.sql +37 -0
- package/src/adapters/prisma/migrations/20261024100000_party_is_repeatable/migration.sql +2 -0
- package/src/adapters/prisma/migrations/20261024110000_a2a_agent_calls/migration.sql +29 -0
- package/src/adapters/prisma/migrations/20261024115000_wakes/migration.sql +17 -0
- package/src/adapters/prisma/migrations/20261024120000_focused_pages/migration.sql +11 -0
- package/src/adapters/prisma/migrations/20261024130000_web_push_subscriptions/migration.sql +14 -0
- package/src/adapters/prisma/schema.prisma +159 -5
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/app-path-routes-manifest.json +3 -0
- package/web/.next/build-manifest.json +27 -3
- package/web/.next/diagnostics/route-bundle-stats.json +75 -42
- package/web/.next/fallback-build-manifest.json +3 -3
- package/web/.next/next-minimal-server.js.nft.json +1 -1
- package/web/.next/next-server.js.nft.json +1 -1
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/routes-manifest.json +18 -0
- package/web/.next/server/app/(console)/outside-parties/[name]/change/page/server-reference-manifest.json +23 -3
- package/web/.next/server/app/(console)/outside-parties/[name]/change/page.js +10 -8
- 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 +22 -2
- package/web/.next/server/app/(console)/outside-parties/[name]/page.js +8 -5
- 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 +23 -3
- package/web/.next/server/app/(console)/outside-parties/[name]/retire/page.js +9 -6
- 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 +26 -6
- package/web/.next/server/app/(console)/outside-parties/add/page.js +10 -5
- 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/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page/build-manifest.json +23 -0
- package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page/next-font-manifest.json +11 -0
- package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page/react-loadable-manifest.json +1 -0
- package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page/server-reference-manifest.json +25 -0
- package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page.js +20 -0
- package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page.js.map +5 -0
- package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page.js.nft.json +1 -0
- package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page/build-manifest.json +23 -0
- package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page/next-font-manifest.json +11 -0
- package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page/react-loadable-manifest.json +1 -0
- package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page/server-reference-manifest.json +25 -0
- package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page.js +21 -0
- package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page.js.map +5 -0
- package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page.js.nft.json +1 -0
- package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page_client-reference-manifest.js +3 -0
- 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 +3 -3
- 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 +3 -2
- package/web/.next/server/app/(console)/overview/changes/route.js.nft.json +1 -1
- package/web/.next/server/app/(console)/overview/focus/route/app-paths-manifest.json +3 -0
- package/web/.next/server/app/(console)/overview/focus/route/build-manifest.json +12 -0
- package/web/.next/server/app/(console)/overview/focus/route/server-reference-manifest.json +4 -0
- package/web/.next/server/app/(console)/overview/focus/route.js +7 -0
- package/web/.next/server/app/(console)/overview/focus/route.js.map +5 -0
- package/web/.next/server/app/(console)/overview/focus/route.js.nft.json +1 -0
- package/web/.next/server/app/(console)/overview/focus/route_client-reference-manifest.js +3 -0
- package/web/.next/server/app/(console)/overview/page/server-reference-manifest.json +34 -4
- 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 +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 +8 -8
- package/web/.next/server/app/(console)/parties/page.js +2 -2
- 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 +3 -3
- 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/page.js +3 -3
- package/web/.next/server/app/_global-error/page.js.nft.json +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 +3 -3
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +3 -0
- package/web/.next/server/chunks/0b9d__next-internal_server_app_(console)_overview_focus_route_actions_10hgyjvv-6fus.js +3 -0
- package/web/.next/server/chunks/[externals]__0fgpzedhhntg9._.js +3 -0
- package/web/.next/server/chunks/[externals]__0fgpzedhhntg9._.js.map +1 -0
- package/web/.next/server/chunks/{[root-of-the-server]__0k8jiujb_0xtx._.js → [root-of-the-server]__0ykc8bq_c06a1._.js} +22 -22
- package/web/.next/server/chunks/[root-of-the-server]__0ykc8bq_c06a1._.js.map +1 -0
- package/web/.next/server/chunks/_04is-uopj3op9._.js +3 -0
- package/web/.next/server/chunks/_04is-uopj3op9._.js.map +1 -0
- package/web/.next/server/chunks/_1-fw4-pwzazl4._.js +3 -0
- package/web/.next/server/chunks/_1-fw4-pwzazl4._.js.map +1 -0
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_change_page_actions_04td11fxohsfm.js +3 -0
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_change_page_actions_04td11fxohsfm.js.map +1 -0
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_page_actions_0u-45itza1ls7.js +3 -0
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_page_actions_0u-45itza1ls7.js.map +1 -0
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_retire_page_actions_0s7ps6i0ts7v5.js +3 -0
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_retire_page_actions_0s7ps6i0ts7v5.js.map +1 -0
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add-a2a-client_page_actions_0d_wgiu94c32e.js +3 -0
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add-a2a-client_page_actions_0d_wgiu94c32e.js.map +1 -0
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add_page_actions_0yfz_dfn-8uo7.js +3 -0
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add_page_actions_0yfz_dfn-8uo7.js.map +1 -0
- 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]__12_to1hq55n1y._.js → [root-of-the-server]__0-og0bl8lr2xq._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__12_to1hq55n1y._.js.map → [root-of-the-server]__0-og0bl8lr2xq._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__07udzu2zwg_74._.js +3 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__1yydhn6iokbm4._.js.map → [root-of-the-server]__07udzu2zwg_74._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__197il4swfpq1a._.js → [root-of-the-server]__0a68v9ynev4q6._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__197il4swfpq1a._.js.map → [root-of-the-server]__0a68v9ynev4q6._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0k3g0p3t9t0c-._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0k3g0p3t9t0c-._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0l2_dk9d4o01n._.js +3 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__1vkw2kvzx6fpw._.js.map → [root-of-the-server]__0l2_dk9d4o01n._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0m57jyae0dn_7._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0m57jyae0dn_7._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0n2us07jk-78w._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0n2us07jk-78w._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0rr5u24i9tjyc._.js +3 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__1imel8atfb770._.js.map → [root-of-the-server]__0rr5u24i9tjyc._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__10y66e1xx8xiq._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__10y66e1xx8xiq._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__11w36a4le04vy._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__11w36a4le04vy._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1dtyycvqa6uht._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1dtyycvqa6uht._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1gb-3dttuacyz._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1gb-3dttuacyz._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1k25lo5ka4mgd._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1k25lo5ka4mgd._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1m9atpy0vkbmj._.js +3 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__0dywrno7zb0r_._.js.map → [root-of-the-server]__1m9atpy0vkbmj._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1n_sq_58wdluh._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1n_sq_58wdluh._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1w5swo8gmjyx6._.js +3 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__216xd8otb96uo._.js.map → [root-of-the-server]__1w5swo8gmjyx6._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1wl0vw-n8lbkn._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1yjb00o7x58xv._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1yjb00o7x58xv._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_0-lfpqqlgfhzj._.js +3 -0
- package/web/.next/server/chunks/ssr/_0-lfpqqlgfhzj._.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/_0bhvvyz0q_0ja._.js +4 -0
- package/web/.next/server/chunks/ssr/_0bhvvyz0q_0ja._.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/_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 +4 -0
- package/web/.next/server/chunks/ssr/_1_wav28san6dm._.js.map +1 -0
- 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/node_modules_1wdusod3fyk3s._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_1wdusod3fyk3s._.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_08hq6z46rczo0._.js +1 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_08lcy-jnk5o43.js +1 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_08lcy-jnk5o43.js.map +1 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0e8cobt3o_8ur.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0e8cobt3o_8ur.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0gzed-epom5si.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0gzed-epom5si.js.map +1 -0
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1bt2ioufqh6fl.js +1 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1bt2ioufqh6fl.js.map +1 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1o0-ipfysjmro.js +1 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1o0-ipfysjmro.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_0-ufi2al5ubig._.js +3 -0
- package/web/.next/server/chunks/ssr/web_0-ufi2al5ubig._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_0_jk9eione6lx._.js +3 -0
- package/web/.next/server/chunks/ssr/web_0_jk9eione6lx._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_0wys4l6za8umr._.js +3 -0
- package/web/.next/server/chunks/ssr/web_0wys4l6za8umr._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_1ga4pbv72m0ad._.js +1 -1
- package/web/.next/server/chunks/ssr/web_1ga4pbv72m0ad._.js.map +1 -1
- 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_app_(console)_parties_page_tsx_0pp63ghly3eyp._.js +1 -1
- package/web/.next/server/chunks/ssr/web_app_(console)_parties_page_tsx_0pp63ghly3eyp._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_085cv0gogrxxf._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_085cv0gogrxxf._.js.map +1 -1
- package/web/.next/server/chunks/ssr/web_features_0ahlkugj7fu3n._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_0ahlkugj7fu3n._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_0i_kwiszuiqcp._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_0i_kwiszuiqcp._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_0xnlgtw8bfqaa._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_0xnlgtw8bfqaa._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_1--8ungjj--ht._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_1--8ungjj--ht._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_19v3mlx8c_h1-._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_19v3mlx8c_h1-._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_1_2m6l73qk7qw._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_1_2m6l73qk7qw._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_1qq_ruz59ldc9._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_1qq_ruz59ldc9._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_add-a2a-agent_ui_a2a-agent-form_tsx_0z8t1aalwzyl7._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_add-a2a-agent_ui_a2a-agent-form_tsx_0z8t1aalwzyl7._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_add-a2a-client_ui_a2a-client-form_tsx_1anv88g385nwe._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_add-a2a-client_ui_a2a-client-form_tsx_1anv88g385nwe._.js.map +1 -0
- 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_1d1jyea2jni9o._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_forms_1d1jyea2jni9o._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_forms_form-state_ts_2142hiopykfk1._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_forms_form-state_ts_2142hiopykfk1._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_forms_ui_credential-fields_tsx_0l-w19zg-7x4b._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_forms_ui_credential-fields_tsx_0l-w19zg-7x4b._.js.map +1 -0
- 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_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_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_outside-party_ui_20x5u9bhxeehi._.js +3 -0
- package/web/.next/server/chunks/ssr/web_features_outside-party_ui_20x5u9bhxeehi._.js.map +1 -0
- package/web/.next/server/chunks/ssr/web_features_overview_16dyz2ngvs14b._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_overview_16dyz2ngvs14b._.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 +3 -0
- package/web/.next/server/chunks/ssr/web_features_overview_state_1wuk95dw2_whp._.js.map +1 -0
- 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_parties_actions_ts_0r-tbfsig2ty-._.js +1 -1
- package/web/.next/server/chunks/ssr/web_features_parties_actions_ts_0r-tbfsig2ty-._.js.map +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 +124 -22
- package/web/.next/static/chunks/00njqo86bx2kb.js +1 -0
- package/web/.next/static/chunks/047i2x2j--shk.css +3 -0
- package/web/.next/static/chunks/0g4cpamshfwmn.js +1 -0
- package/web/.next/static/chunks/0j84uiid6fsim.js +1 -0
- package/web/.next/static/chunks/1aa1d23q1vokr.js +1 -0
- package/web/.next/static/chunks/1jvae6c-4jwji.js +1 -0
- package/web/.next/static/chunks/23ud2e13dn8f4.js +1 -0
- package/web/.next/static/chunks/2_41h3v090ur9.js +1 -0
- package/web/.next/static/chunks/31vy122d9fvme.js +1 -0
- package/web/.next/static/chunks/3apnqdh48__yw.js +1 -0
- package/web/.next/static/chunks/3okm5g88ig1l3.js +1 -0
- package/web/.next/trace +1 -1
- package/web/.next/trace-build +1 -1
- package/web/.next/types/routes.d.ts +5 -2
- package/web/.next/types/validator.ts +44 -0
- package/web/public/wake-worker.js +17 -0
- package/web/.next/server/chunks/[externals]__12s2uxrv8n30f._.js +0 -3
- package/web/.next/server/chunks/[root-of-the-server]__0k8jiujb_0xtx._.js.map +0 -1
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add_page_actions_10eg3jn_qq_u_.js +0 -3
- package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add_page_actions_10eg3jn_qq_u_.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0-liudmjwlqmo._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0-liudmjwlqmo._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0dywrno7zb0r_._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0hosi33y5xecr._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0hosi33y5xecr._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0k-sy-ven9f2f._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0k-sy-ven9f2f._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1imel8atfb770._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1rmy72sai5-kh._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1rmy72sai5-kh._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1vkw2kvzx6fpw._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1yydhn6iokbm4._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1yyfc4xf3xa-s._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1yyfc4xf3xa-s._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__216xd8otb96uo._.js +0 -3
- package/web/.next/server/chunks/ssr/_080ao10j8x4km._.js +0 -4
- package/web/.next/server/chunks/ssr/_080ao10j8x4km._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_1gb_kwx9jg1et._.js +0 -4
- package/web/.next/server/chunks/ssr/_1gb_kwx9jg1et._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_1ulh8nd8_yv_3._.js +0 -4
- package/web/.next/server/chunks/ssr/_1ulh8nd8_yv_3._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules_next_dist_compiled_@opentelemetry_api_index_1oy1nwhip-98t.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules_next_dist_compiled_@opentelemetry_api_index_1oy1nwhip-98t.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_06ue1l1ujajps._.js +0 -3
- package/web/.next/server/chunks/ssr/web_06ue1l1ujajps._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_1_rm1ivvp726s._.js +0 -3
- package/web/.next/server/chunks/ssr/web_1_rm1ivvp726s._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_0k3zd1eymtkgq._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_0k3zd1eymtkgq._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_forms_03k1kg82ux_ee._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_forms_03k1kg82ux_ee._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_forms_1-88lvs4ivi73._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_forms_1-88lvs4ivi73._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_forms_15gausi3cpweg._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_forms_15gausi3cpweg._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_outside-party_ui_outside-party_tsx_06a94oekz1ckq._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_outside-party_ui_outside-party_tsx_06a94oekz1ckq._.js.map +0 -1
- package/web/.next/server/chunks/ssr/web_features_overview_state_inbox-panel_tsx_03hlegjsc27sb._.js +0 -3
- package/web/.next/server/chunks/ssr/web_features_overview_state_inbox-panel_tsx_03hlegjsc27sb._.js.map +0 -1
- package/web/.next/static/chunks/1l1gmjf-hz7u_.css +0 -3
- package/web/.next/static/chunks/1ma7v1viiz247.js +0 -1
- package/web/.next/static/chunks/1tfvu44eel7g5.js +0 -1
- package/web/.next/static/chunks/2bg4wnfhuftsq.js +0 -1
- package/web/.next/static/chunks/2yplpvvjibfqw.js +0 -1
- package/web/.next/static/chunks/34syicr_5c5u1.js +0 -1
- package/web/.next/static/chunks/43zbq11isnos4.js +0 -1
- /package/web/.next/server/chunks/{[externals]__12s2uxrv8n30f._.js.map → 0b9d__next-internal_server_app_(console)_overview_focus_route_actions_10hgyjvv-6fus.js.map} +0 -0
- /package/web/.next/static/{ESz77-eaR5ViaU4LRqo0i → Az1CqrzgGHMZVR4nw9717}/_buildManifest.js +0 -0
- /package/web/.next/static/{ESz77-eaR5ViaU4LRqo0i → Az1CqrzgGHMZVR4nw9717}/_clientMiddlewareManifest.js +0 -0
- /package/web/.next/static/{ESz77-eaR5ViaU4LRqo0i → Az1CqrzgGHMZVR4nw9717}/_ssgManifest.js +0 -0
|
@@ -75,6 +75,8 @@ export function createCallTool(deps) {
|
|
|
75
75
|
outputContentType: tool.target.outputContentType,
|
|
76
76
|
sentAt,
|
|
77
77
|
deadlineAt: tool.target.deadlineMs === null ? null : new Date(sentAt.getTime() + tool.target.deadlineMs),
|
|
78
|
+
delivery: null,
|
|
79
|
+
task: null,
|
|
78
80
|
});
|
|
79
81
|
return ok(await answerWithin(deps, { fleetId: caller.fleetId, messageId, handle, since: sentAt, waitMs: tool.target.waitMs }));
|
|
80
82
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call-tool.js","sourceRoot":"","sources":["../../../src/core/mcp-in/call-tool.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"call-tool.js","sourceRoot":"","sources":["../../../src/core/mcp-in/call-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,18 +13,33 @@ export interface CallReply {
|
|
|
13
13
|
payload: string;
|
|
14
14
|
receivedAt: Date;
|
|
15
15
|
}
|
|
16
|
+
/** Where the call's delivery stands, as the fleet's sentMessage answers its sender (decision 0040). */
|
|
17
|
+
export type DeliveryState = 'pending' | 'received' | 'handed' | 'acknowledged' | 'handled' | 'notHandled' | 'undeliverable' | 'dismissed' | 'abandoned';
|
|
18
|
+
/** An A2A call's part of its task (decision 0060): the task it belongs to, and the client's message as A2A JSON. */
|
|
19
|
+
export interface CallTask {
|
|
20
|
+
taskId: string;
|
|
21
|
+
message: string;
|
|
22
|
+
}
|
|
16
23
|
export interface ClientCall {
|
|
17
24
|
fleetId: FleetId;
|
|
18
25
|
party: string;
|
|
19
26
|
messageId: MessageId;
|
|
20
27
|
handle: string;
|
|
21
28
|
shipId: ShipId;
|
|
22
|
-
capability
|
|
29
|
+
/** The capability called; none when an A2A message matched none, and then its first reply answers it (decision 0060). */
|
|
30
|
+
capability: string | null;
|
|
23
31
|
/** The capability's stated output type, its first output mode; none when it states none. */
|
|
24
32
|
outputContentType: string | null;
|
|
25
33
|
sentAt: Date;
|
|
26
34
|
/** When the call fails without its answer, from its capability's deadline; none never fails by time. */
|
|
27
35
|
deadlineAt: Date | null;
|
|
36
|
+
/** Where its delivery stands, as the gateway last read it; none while not read. */
|
|
37
|
+
delivery: {
|
|
38
|
+
state: DeliveryState;
|
|
39
|
+
since: Date;
|
|
40
|
+
} | null;
|
|
41
|
+
/** Its A2A task; none for an MCP call. */
|
|
42
|
+
task: CallTask | null;
|
|
28
43
|
/** In the order the gateway kept them. */
|
|
29
44
|
replies: CallReply[];
|
|
30
45
|
}
|
|
@@ -41,10 +56,26 @@ export type CallState = {
|
|
|
41
56
|
} | {
|
|
42
57
|
state: 'failed';
|
|
43
58
|
};
|
|
59
|
+
/** The content type of a question to the asker (decision 0038): the ship needs the client's input. */
|
|
60
|
+
export declare const QUESTION_CONTENT_TYPE = "application/vnd.aeolus.question+json";
|
|
61
|
+
/** The A2A media type of a whole A2A message or status, which carries its own state. */
|
|
62
|
+
export declare const A2A_CONTENT_TYPE = "application/a2a+json";
|
|
63
|
+
/** A media type without its parameters, in lower case. */
|
|
64
|
+
export declare const essenceOf: (contentType: string) => string;
|
|
65
|
+
/** Whether two media types are the same: their case and the spaces around their parameters do not matter. */
|
|
66
|
+
export declare function isSameMediaType(left: string, right: string): boolean;
|
|
67
|
+
/** Whether a reply's media type is of this essence, whatever its parameters. */
|
|
68
|
+
export declare function isOfEssence(contentType: string, essence: string): boolean;
|
|
69
|
+
/** The reply that answers the call, if one came before it failed. */
|
|
70
|
+
export declare function answerOf(call: ClientCall, now: Date): CallReply | undefined;
|
|
71
|
+
/** The replies kept before the call failed: what moves its state; a later reply is kept, and changes nothing. */
|
|
72
|
+
export declare function repliesBeforeFailure(call: ClientCall, now: Date): CallReply[];
|
|
44
73
|
/**
|
|
45
|
-
* Completed by the first reply of the stated output type,
|
|
46
|
-
*
|
|
47
|
-
*
|
|
74
|
+
* Completed by the first reply of the stated output type, or by the first
|
|
75
|
+
* reply of any type for a call of no capability, kept before it failed;
|
|
76
|
+
* failed at the deadline or once the fleet gave its delivery up, and a later
|
|
77
|
+
* reply changes nothing; working once any other reply came or the ship took
|
|
78
|
+
* its delivery; submitted before that.
|
|
48
79
|
*/
|
|
49
80
|
export declare function stateOf(call: ClientCall, now: Date): CallState;
|
|
50
81
|
/** Since when the call is in its state: its sending, its first reply, its answer, or its deadline. */
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
/** The delivery states in which the fleet gave the call up: it fails (interop 3.4). */
|
|
2
|
+
const FAILED_DELIVERY = new Set(['notHandled', 'undeliverable', 'dismissed', 'abandoned']);
|
|
3
|
+
/** The delivery states in which the ship took the call: it works on it. */
|
|
4
|
+
const TAKEN_DELIVERY = new Set(['acknowledged', 'handled']);
|
|
5
|
+
/** The content type of a question to the asker (decision 0038): the ship needs the client's input. */
|
|
6
|
+
export const QUESTION_CONTENT_TYPE = 'application/vnd.aeolus.question+json';
|
|
7
|
+
/** The A2A media type of a whole A2A message or status, which carries its own state. */
|
|
8
|
+
export const A2A_CONTENT_TYPE = 'application/a2a+json';
|
|
1
9
|
/** The type a plain text answer comes in, which completes a call to a ship that stated no output type. */
|
|
2
10
|
const PLAIN_TEXT = 'text/plain';
|
|
3
11
|
/** A media type as compared: lower case, with no spaces around its parameters. */
|
|
@@ -5,29 +13,68 @@ const normalized = (contentType) => contentType
|
|
|
5
13
|
.split(';')
|
|
6
14
|
.map((part) => part.trim().toLowerCase())
|
|
7
15
|
.join(';');
|
|
8
|
-
|
|
16
|
+
/** A media type without its parameters, in lower case. */
|
|
17
|
+
export const essenceOf = (contentType) => normalized(contentType).split(';')[0] ?? '';
|
|
18
|
+
/** Whether two media types are the same: their case and the spaces around their parameters do not matter. */
|
|
19
|
+
export function isSameMediaType(left, right) {
|
|
20
|
+
return normalized(left) === normalized(right);
|
|
21
|
+
}
|
|
22
|
+
/** Whether a reply's media type is of this essence, whatever its parameters. */
|
|
23
|
+
export function isOfEssence(contentType, essence) {
|
|
24
|
+
return essenceOf(contentType) === essence;
|
|
25
|
+
}
|
|
26
|
+
/** When the call failed without its answer: at its deadline, or once the fleet gave its delivery up; none while neither. */
|
|
27
|
+
function failedAt(call, now) {
|
|
28
|
+
const times = [
|
|
29
|
+
...(call.deadlineAt !== null && now.getTime() >= call.deadlineAt.getTime() ? [call.deadlineAt] : []),
|
|
30
|
+
...(call.delivery !== null && FAILED_DELIVERY.has(call.delivery.state) ? [call.delivery.since] : []),
|
|
31
|
+
];
|
|
32
|
+
return times.sort((left, right) => left.getTime() - right.getTime())[0];
|
|
33
|
+
}
|
|
34
|
+
/** Whether the reply answers the call: kept before the call failed, if it did. */
|
|
9
35
|
function isAnswer(call, reply) {
|
|
10
|
-
|
|
36
|
+
const { failed } = call;
|
|
37
|
+
if (failed !== undefined && reply.receivedAt.getTime() >= failed.getTime()) {
|
|
11
38
|
return false;
|
|
12
39
|
}
|
|
13
|
-
|
|
40
|
+
if (call.capability === null) {
|
|
41
|
+
// Interop 3.4: a question asks for input, and an A2A reply drives the state it carries.
|
|
42
|
+
return !isOfEssence(reply.contentType, QUESTION_CONTENT_TYPE) && !isOfEssence(reply.contentType, A2A_CONTENT_TYPE);
|
|
43
|
+
}
|
|
44
|
+
return call.outputContentType === null ? essenceOf(reply.contentType) === PLAIN_TEXT : isSameMediaType(reply.contentType, call.outputContentType);
|
|
45
|
+
}
|
|
46
|
+
/** The reply that answers the call, if one came before it failed. */
|
|
47
|
+
export function answerOf(call, now) {
|
|
48
|
+
const failed = failedAt(call, now);
|
|
49
|
+
return call.replies.find((reply) => isAnswer({ ...call, failed }, reply));
|
|
50
|
+
}
|
|
51
|
+
/** The replies kept before the call failed: what moves its state; a later reply is kept, and changes nothing. */
|
|
52
|
+
export function repliesBeforeFailure(call, now) {
|
|
53
|
+
const failed = failedAt(call, now);
|
|
54
|
+
return call.replies.filter((reply) => failed === undefined || reply.receivedAt.getTime() < failed.getTime());
|
|
14
55
|
}
|
|
15
56
|
/** The call's state with since when it holds, by the one rule below. */
|
|
16
57
|
function standing(call, now) {
|
|
17
|
-
const
|
|
58
|
+
const failed = failedAt(call, now);
|
|
59
|
+
const answer = answerOf(call, now);
|
|
18
60
|
if (answer) {
|
|
19
61
|
return { state: { state: 'completed', answer: { contentType: answer.contentType, payload: answer.payload } }, since: answer.receivedAt };
|
|
20
62
|
}
|
|
21
|
-
if (
|
|
22
|
-
return { state: { state: 'failed' }, since:
|
|
63
|
+
if (failed !== undefined) {
|
|
64
|
+
return { state: { state: 'failed' }, since: failed };
|
|
23
65
|
}
|
|
24
66
|
const [first] = call.replies;
|
|
25
|
-
|
|
67
|
+
if (first) {
|
|
68
|
+
return { state: { state: 'working' }, since: first.receivedAt };
|
|
69
|
+
}
|
|
70
|
+
return call.delivery !== null && TAKEN_DELIVERY.has(call.delivery.state) ? { state: { state: 'working' }, since: call.delivery.since } : { state: { state: 'submitted' }, since: call.sentAt };
|
|
26
71
|
}
|
|
27
72
|
/**
|
|
28
|
-
* Completed by the first reply of the stated output type,
|
|
29
|
-
*
|
|
30
|
-
*
|
|
73
|
+
* Completed by the first reply of the stated output type, or by the first
|
|
74
|
+
* reply of any type for a call of no capability, kept before it failed;
|
|
75
|
+
* failed at the deadline or once the fleet gave its delivery up, and a later
|
|
76
|
+
* reply changes nothing; working once any other reply came or the ship took
|
|
77
|
+
* its delivery; submitted before that.
|
|
31
78
|
*/
|
|
32
79
|
export function stateOf(call, now) {
|
|
33
80
|
return standing(call, now).state;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-call.js","sourceRoot":"","sources":["../../../src/core/mcp-in/client-call.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client-call.js","sourceRoot":"","sources":["../../../src/core/mcp-in/client-call.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { ProxyShipCrew } from '../mcp-out/hand-call.js';
|
|
2
2
|
import type { Sleep } from '../mcp-out/run-party.js';
|
|
3
|
-
import type { McpClientParty } from '../parties/party.js';
|
|
3
|
+
import type { A2aClientParty, McpClientParty } from '../parties/party.js';
|
|
4
4
|
import type { Clock } from '../shared/clock.js';
|
|
5
|
-
import type { ClientCalls, ReplyReceiver } from './ports.js';
|
|
5
|
+
import type { ClientCalls, ReplyReceiver, SentMessages } from './ports.js';
|
|
6
6
|
export type CollectReplies = (input: {
|
|
7
|
-
party: McpClientParty;
|
|
7
|
+
party: McpClientParty | A2aClientParty;
|
|
8
8
|
signal: AbortSignal;
|
|
9
9
|
}) => Promise<{
|
|
10
10
|
ended: 'stopped' | 'crewRefused';
|
|
@@ -12,6 +12,7 @@ export type CollectReplies = (input: {
|
|
|
12
12
|
interface CollectRepliesDeps {
|
|
13
13
|
crew: Pick<ProxyShipCrew, 'ack' | 'handled'>;
|
|
14
14
|
replies: ReplyReceiver;
|
|
15
|
+
sent: SentMessages;
|
|
15
16
|
calls: ClientCalls;
|
|
16
17
|
clock: Clock;
|
|
17
18
|
sleep: Sleep;
|
|
@@ -26,6 +26,10 @@ export function createCollectReplies(deps) {
|
|
|
26
26
|
asks += 1;
|
|
27
27
|
askedAt.set(call.messageId, asks);
|
|
28
28
|
const received = await deps.replies.receiveReply(crewToken, { messageId: call.messageId, signal });
|
|
29
|
+
const delivery = await deps.sent.sentMessage(crewToken, call.messageId);
|
|
30
|
+
if (delivery.isOk) {
|
|
31
|
+
await deps.calls.setDelivery({ fleetId: call.fleetId, messageId: call.messageId }, delivery.value);
|
|
32
|
+
}
|
|
29
33
|
if (!received.isOk) {
|
|
30
34
|
if (CREW_REFUSED.has(received.error.code)) {
|
|
31
35
|
run.isCrewRefused = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collect-replies.js","sourceRoot":"","sources":["../../../src/core/mcp-in/collect-replies.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"collect-replies.js","sourceRoot":"","sources":["../../../src/core/mcp-in/collect-replies.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { DeliveryId, FleetId, MessageId, ShipId, ShipKind } from '@aeolus-fleet/common';
|
|
2
2
|
import type { FleetRefusal } from '../connection/ports.js';
|
|
3
3
|
import type { Result } from '../shared/result.js';
|
|
4
|
-
import type { CallReply, ClientCall } from './client-call.js';
|
|
4
|
+
import type { CallReply, ClientCall, DeliveryState } from './client-call.js';
|
|
5
5
|
/** One thing a ship offers, as its statement says it (decision 0047): MCP's tool fields and A2A's modes. */
|
|
6
6
|
export interface Capability {
|
|
7
7
|
name: string;
|
|
@@ -51,6 +51,7 @@ export interface CallSender {
|
|
|
51
51
|
contentType: string;
|
|
52
52
|
payload: string;
|
|
53
53
|
idempotencyKey: string;
|
|
54
|
+
inReplyTo?: MessageId;
|
|
54
55
|
}): Promise<Result<{
|
|
55
56
|
messageId: MessageId;
|
|
56
57
|
}, FleetRefusal>>;
|
|
@@ -68,10 +69,18 @@ export interface CallKeys {
|
|
|
68
69
|
}): string;
|
|
69
70
|
/** A new send key, for a call the client gave none. */
|
|
70
71
|
newIdempotencyKey(): string;
|
|
71
|
-
/** The handle the client reads its call by. */
|
|
72
|
+
/** The handle the client reads its call by; an A2A task's id, for the task's first message. */
|
|
72
73
|
handleOf(fleetId: FleetId, messageId: MessageId): string;
|
|
74
|
+
/** The context of an A2A task its client named none for, from the task's first message. */
|
|
75
|
+
contextIdOf(fleetId: FleetId, messageId: MessageId): string;
|
|
73
76
|
}
|
|
74
|
-
/**
|
|
77
|
+
/** An outside A2A client's task (decision 0060): its id and context, and its calls in the order sent. */
|
|
78
|
+
export interface StoredTask {
|
|
79
|
+
taskId: string;
|
|
80
|
+
contextId: string;
|
|
81
|
+
calls: ClientCall[];
|
|
82
|
+
}
|
|
83
|
+
/** Outbound port: outside clients' calls, one per message, each with the replies naming it; and A2A clients' tasks, each of its calls. */
|
|
75
84
|
export interface ClientCalls {
|
|
76
85
|
/** Keeps a call with no replies; a call kept for its message already stays as it was. */
|
|
77
86
|
save(call: Omit<ClientCall, 'replies'>): Promise<void>;
|
|
@@ -91,6 +100,39 @@ export interface ClientCalls {
|
|
|
91
100
|
fleetId: FleetId;
|
|
92
101
|
party: string;
|
|
93
102
|
}, handle: string): Promise<ClientCall | undefined>;
|
|
103
|
+
/** Keeps where the call's delivery stands now. */
|
|
104
|
+
setDelivery(call: {
|
|
105
|
+
fleetId: FleetId;
|
|
106
|
+
messageId: MessageId;
|
|
107
|
+
}, delivery: {
|
|
108
|
+
state: DeliveryState;
|
|
109
|
+
since: Date;
|
|
110
|
+
}): Promise<void>;
|
|
111
|
+
/** Keeps an A2A task; a task kept already stays as it was. */
|
|
112
|
+
saveTask(task: {
|
|
113
|
+
fleetId: FleetId;
|
|
114
|
+
party: string;
|
|
115
|
+
taskId: string;
|
|
116
|
+
contextId: string;
|
|
117
|
+
createdAt: Date;
|
|
118
|
+
}): Promise<void>;
|
|
119
|
+
/** The party's task; none of another party's. */
|
|
120
|
+
findTask(caller: {
|
|
121
|
+
fleetId: FleetId;
|
|
122
|
+
party: string;
|
|
123
|
+
}, taskId: string): Promise<StoredTask | undefined>;
|
|
124
|
+
/** The party's tasks, newest first, at most the limit after the cursor, in one context or all; the cursor of the next page, none at the end. */
|
|
125
|
+
listTasks(caller: {
|
|
126
|
+
fleetId: FleetId;
|
|
127
|
+
party: string;
|
|
128
|
+
}, page: {
|
|
129
|
+
limit: number;
|
|
130
|
+
after?: string;
|
|
131
|
+
contextId?: string;
|
|
132
|
+
}): Promise<{
|
|
133
|
+
tasks: StoredTask[];
|
|
134
|
+
next: string | null;
|
|
135
|
+
}>;
|
|
94
136
|
}
|
|
95
137
|
/** A reply the fleet hands a proxy ship's crew: its delivery and its message. */
|
|
96
138
|
export interface ReceivedReply {
|
|
@@ -99,6 +141,13 @@ export interface ReceivedReply {
|
|
|
99
141
|
contentType: string;
|
|
100
142
|
payload: string;
|
|
101
143
|
}
|
|
144
|
+
/** Outbound port: the fleet's sentMessage, as a proxy ship's crew calls it: where the delivery of a message it sent stands, and since when. */
|
|
145
|
+
export interface SentMessages {
|
|
146
|
+
sentMessage(crewToken: string, messageId: MessageId): Promise<Result<{
|
|
147
|
+
state: DeliveryState;
|
|
148
|
+
since: Date;
|
|
149
|
+
}, FleetRefusal>>;
|
|
150
|
+
}
|
|
102
151
|
/** Outbound port: the fleet's receiveReply, as a proxy ship's crew calls it: the reply to one message, if one came within the fleet's wait. */
|
|
103
152
|
export interface ReplyReceiver {
|
|
104
153
|
receiveReply(crewToken: string, wait: {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type DeliveryId, type FleetId, type MessageId, type ShipId } from '@aeolus-fleet/common';
|
|
2
2
|
import type { FleetRefusal } from '../connection/ports.js';
|
|
3
3
|
import type { McpServerParty } from '../parties/party.js';
|
|
4
|
+
import type { PartyStore } from '../parties/ports.js';
|
|
4
5
|
import type { Result } from '../shared/result.js';
|
|
5
6
|
import type { McpServers } from './ports.js';
|
|
6
7
|
import type { ToolMarks } from './state-party.js';
|
|
@@ -94,12 +95,15 @@ export declare const MAY_HAVE_RUN = "The call may have run; its answer was lost.
|
|
|
94
95
|
* so it is replied, acknowledged and handled at once. The answer is kept
|
|
95
96
|
* before the reply, so a restart replies again under the same key and calls
|
|
96
97
|
* nothing. A call that died unanswered is handed again only where argo
|
|
97
|
-
* marked its tool repeatable; otherwise it is reported not handled.
|
|
98
|
+
* marked its tool repeatable; otherwise it is reported not handled. A call
|
|
99
|
+
* to a tool not switched on is answered an error and reaches no server
|
|
100
|
+
* (aeolus-fleet#1151).
|
|
98
101
|
*/
|
|
99
102
|
export declare function createHandCall(deps: {
|
|
100
103
|
crew: ProxyShipCrew;
|
|
101
104
|
servers: McpServers;
|
|
102
105
|
calls: CallStore;
|
|
103
106
|
marks: ToolMarks;
|
|
107
|
+
parties: PartyStore;
|
|
104
108
|
timeoutMs: number;
|
|
105
109
|
}): HandCall;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { PAYLOAD_MAX_BYTES, payloadBytes } from '@aeolus-fleet/common';
|
|
2
|
+
import { isToolOn, TOOL_NOT_ENABLED } from '../parties/tool-switches.js';
|
|
2
3
|
import { toolCalledBy, toolInputType, toolResultType } from './content-types.js';
|
|
3
4
|
/** The channel the gateway hands a proxy ship's delivery through: its outside MCP server (interop 5.1). */
|
|
4
5
|
const MCP_CHANNEL = 'mcp';
|
|
@@ -48,7 +49,9 @@ function notACallReply(party, delivery) {
|
|
|
48
49
|
* so it is replied, acknowledged and handled at once. The answer is kept
|
|
49
50
|
* before the reply, so a restart replies again under the same key and calls
|
|
50
51
|
* nothing. A call that died unanswered is handed again only where argo
|
|
51
|
-
* marked its tool repeatable; otherwise it is reported not handled.
|
|
52
|
+
* marked its tool repeatable; otherwise it is reported not handled. A call
|
|
53
|
+
* to a tool not switched on is answered an error and reaches no server
|
|
54
|
+
* (aeolus-fleet#1151).
|
|
52
55
|
*/
|
|
53
56
|
export function createHandCall(deps) {
|
|
54
57
|
return async ({ party, delivery }) => {
|
|
@@ -92,6 +95,11 @@ export function createHandCall(deps) {
|
|
|
92
95
|
if (delivery.state === 'handed' && call?.state !== 'notSent' && !isRepeatable) {
|
|
93
96
|
return mayHaveRun();
|
|
94
97
|
}
|
|
98
|
+
// The switches as they are now, not as the worker found the party: an approver may switch a tool off while it runs.
|
|
99
|
+
const now = await deps.parties.find(party.fleetId, party.name);
|
|
100
|
+
if (!isToolOn(now?.kind === 'mcpServer' ? now.toolSwitches : party.toolSwitches, tool)) {
|
|
101
|
+
return finish(resultReply(delivery, { tool, result: errorResult(TOOL_NOT_ENABLED) }));
|
|
102
|
+
}
|
|
95
103
|
const handed = await deps.crew.handed(crewToken, { deliveryId: delivery.deliveryId, handOverNumber: (delivery.handOverNumber ?? 0) + 1, channel: MCP_CHANNEL });
|
|
96
104
|
if (!handed.isOk) {
|
|
97
105
|
return AGAIN;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hand-call.js","sourceRoot":"","sources":["../../../src/core/mcp-out/hand-call.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAA8D,MAAM,sBAAsB,CAAC;AAKnI,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAuEjF,2GAA2G;AAC3G,MAAM,WAAW,GAAG,KAAK,CAAC;AAE1B,uFAAuF;AACvF,MAAM,CAAC,MAAM,YAAY,GAAG,+FAA+F,CAAC;AAE5H,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,OAAO,EAAW,CAAC;AAEzC,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,WAAW,CAAC,OAAe;IAClC,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5C,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC9D,CAAC;AAED,mHAAmH;AACnH,SAAS,WAAW,CAAC,QAAwB,EAAE,IAA0C;IACvF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACpC,OAAO;QACL,EAAE,EAAE,QAAQ,CAAC,YAAY;QACzB,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,WAAW,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;QACtC,OAAO,EAAE,KAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,sBAAsB,MAAM,CAAC,KAAK,CAAC,4BAA4B,MAAM,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;QACvL,cAAc,EAAE,cAAc,QAAQ,CAAC,SAAS,EAAE;KACnD,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAqB,EAAE,QAAwB;IACpE,OAAO;QACL,EAAE,EAAE,QAAQ,CAAC,YAAY;QACzB,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,2DAA2D,aAAa,CAAC,QAAQ,CAAC,6CAA6C;QACrJ,cAAc,EAAE,cAAc,QAAQ,CAAC,SAAS,EAAE;KACnD,CAAC;AACJ,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"hand-call.js","sourceRoot":"","sources":["../../../src/core/mcp-out/hand-call.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,20 @@
|
|
|
1
|
+
import type { DeliveryId } from '@aeolus-fleet/common';
|
|
1
2
|
import type { McpServerParty } from '../parties/party.js';
|
|
2
|
-
import type {
|
|
3
|
+
import type { HandOutcome, ProxyShipCrew, PushedDelivery } from './hand-call.js';
|
|
3
4
|
/** Outbound port: waits the given time, or less once the signal aborts. */
|
|
4
5
|
export type Sleep = (ms: number, signal: AbortSignal) => Promise<void>;
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
/** A party whose proxy ship's deliveries the gateway takes: its crew token, and the most it takes at once. */
|
|
7
|
+
interface TakingParty {
|
|
8
|
+
readonly crewToken: string | null;
|
|
9
|
+
readonly concurrencyLimit: number;
|
|
10
|
+
}
|
|
11
|
+
export type RunPartyOf<P extends TakingParty> = (input: {
|
|
12
|
+
party: P;
|
|
7
13
|
signal: AbortSignal;
|
|
8
14
|
}) => Promise<{
|
|
9
15
|
ended: 'stopped' | 'crewRefused';
|
|
10
16
|
}>;
|
|
17
|
+
export type RunParty = RunPartyOf<McpServerParty>;
|
|
11
18
|
/**
|
|
12
19
|
* Use case: the gateway takes the calls of a party's proxy ship, as its
|
|
13
20
|
* crew, until it is stopped (interop 5.2). Each delivery pushReceive takes
|
|
@@ -16,11 +23,26 @@ export type RunParty = (input: {
|
|
|
16
23
|
* before it is handed with the next number; the fleet counts each an
|
|
17
24
|
* attempt and stops at the fifth. While the fleet answers only what the
|
|
18
25
|
* gateway already holds, or does not answer, it looks again after a while.
|
|
26
|
+
* What the party took up before it stopped is taken up first, in flight as
|
|
27
|
+
* any delivery.
|
|
19
28
|
*/
|
|
20
|
-
export declare function createRunParty(deps: {
|
|
21
|
-
crew: ProxyShipCrew
|
|
22
|
-
handCall:
|
|
29
|
+
export declare function createRunParty<P extends TakingParty = McpServerParty>(deps: {
|
|
30
|
+
crew: Pick<ProxyShipCrew, 'pushReceive'>;
|
|
31
|
+
handCall: (input: {
|
|
32
|
+
party: P;
|
|
33
|
+
delivery: PushedDelivery;
|
|
34
|
+
signal: AbortSignal;
|
|
35
|
+
}) => Promise<HandOutcome>;
|
|
36
|
+
/** What the party took up before it stopped and takes up first now, by delivery, as an outside agent's task it followed. */
|
|
37
|
+
resume?: (input: {
|
|
38
|
+
party: P;
|
|
39
|
+
signal: AbortSignal;
|
|
40
|
+
}) => Promise<{
|
|
41
|
+
deliveryId: DeliveryId;
|
|
42
|
+
hand: () => Promise<HandOutcome>;
|
|
43
|
+
}[]>;
|
|
23
44
|
sleep: Sleep;
|
|
24
45
|
pollMs: number;
|
|
25
46
|
againWaitsMs: readonly number[];
|
|
26
|
-
}):
|
|
47
|
+
}): RunPartyOf<P>;
|
|
48
|
+
export {};
|
|
@@ -8,6 +8,8 @@ const CREW_REFUSED = new Set(['UNAUTHORIZED', 'LEASE_ENDED']);
|
|
|
8
8
|
* before it is handed with the next number; the fleet counts each an
|
|
9
9
|
* attempt and stops at the fifth. While the fleet answers only what the
|
|
10
10
|
* gateway already holds, or does not answer, it looks again after a while.
|
|
11
|
+
* What the party took up before it stopped is taken up first, in flight as
|
|
12
|
+
* any delivery.
|
|
11
13
|
*/
|
|
12
14
|
export function createRunParty(deps) {
|
|
13
15
|
return async ({ party, signal }) => {
|
|
@@ -18,27 +20,33 @@ export function createRunParty(deps) {
|
|
|
18
20
|
const max = party.concurrencyLimit;
|
|
19
21
|
const inFlight = new Map();
|
|
20
22
|
const agains = new Map();
|
|
21
|
-
const hand = async (
|
|
23
|
+
const hand = async (deliveryId, handOnce) => {
|
|
22
24
|
let outcome;
|
|
23
25
|
try {
|
|
24
|
-
outcome = await
|
|
26
|
+
outcome = await handOnce();
|
|
25
27
|
}
|
|
26
28
|
catch {
|
|
27
29
|
// A failure of the gateway's own (its database): nothing was decided, so the delivery comes again.
|
|
28
30
|
outcome = { kind: 'again' };
|
|
29
31
|
}
|
|
30
32
|
if (outcome.kind === 'again') {
|
|
31
|
-
const count = (agains.get(
|
|
32
|
-
agains.set(
|
|
33
|
+
const count = (agains.get(deliveryId) ?? 0) + 1;
|
|
34
|
+
agains.set(deliveryId, count);
|
|
33
35
|
await deps.sleep(deps.againWaitsMs[Math.min(count, deps.againWaitsMs.length) - 1] ?? deps.pollMs, signal);
|
|
34
36
|
}
|
|
35
37
|
else {
|
|
36
|
-
agains.delete(
|
|
38
|
+
agains.delete(deliveryId);
|
|
37
39
|
}
|
|
38
40
|
};
|
|
41
|
+
const startOne = (deliveryId, handOnce) => {
|
|
42
|
+
inFlight.set(deliveryId, hand(deliveryId, handOnce).finally(() => inFlight.delete(deliveryId)));
|
|
43
|
+
};
|
|
39
44
|
const start = (delivery) => {
|
|
40
|
-
|
|
45
|
+
startOne(delivery.deliveryId, () => deps.handCall({ party, delivery, signal }));
|
|
41
46
|
};
|
|
47
|
+
for (const resumed of (await deps.resume?.({ party, signal })) ?? []) {
|
|
48
|
+
startOne(resumed.deliveryId, resumed.hand);
|
|
49
|
+
}
|
|
42
50
|
while (!signal.aborted) {
|
|
43
51
|
if (inFlight.size >= max) {
|
|
44
52
|
await Promise.race(inFlight.values());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-party.js","sourceRoot":"","sources":["../../../src/core/mcp-out/run-party.ts"],"names":[],"mappings":"AAQA,gHAAgH;AAChH,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"run-party.js","sourceRoot":"","sources":["../../../src/core/mcp-out/run-party.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,8 +27,10 @@ export type StateParty = (input: {
|
|
|
27
27
|
}, DomainError<'NO_SUCH_PARTY' | 'NOT_CREWED' | 'SERVER_UNREACHABLE' | 'STATEMENT_REFUSED'>>>;
|
|
28
28
|
/**
|
|
29
29
|
* Use case: the gateway states what a party's proxy ship offers, as its
|
|
30
|
-
* crew: the tools its server lists now, with argo's
|
|
31
|
-
* statement replaces the one before, so a tool the server
|
|
30
|
+
* crew: the tools its server lists now that are switched on, with argo's
|
|
31
|
+
* marks. The whole statement replaces the one before, so a tool the server
|
|
32
|
+
* dropped or an approver switched off is gone. A party with no switches kept
|
|
33
|
+
* keeps every tool it lists on first (aeolus-fleet#1151).
|
|
32
34
|
*/
|
|
33
35
|
export declare function createStateParty(deps: {
|
|
34
36
|
parties: PartyStore;
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
+
import { isToolOn } from '../parties/tool-switches.js';
|
|
1
2
|
import { refuse } from '../shared/errors.js';
|
|
2
3
|
import { ok } from '../shared/result.js';
|
|
3
4
|
import { statementOf } from './statement.js';
|
|
4
5
|
/**
|
|
5
6
|
* Use case: the gateway states what a party's proxy ship offers, as its
|
|
6
|
-
* crew: the tools its server lists now, with argo's
|
|
7
|
-
* statement replaces the one before, so a tool the server
|
|
7
|
+
* crew: the tools its server lists now that are switched on, with argo's
|
|
8
|
+
* marks. The whole statement replaces the one before, so a tool the server
|
|
9
|
+
* dropped or an approver switched off is gone. A party with no switches kept
|
|
10
|
+
* keeps every tool it lists on first (aeolus-fleet#1151).
|
|
8
11
|
*/
|
|
9
12
|
export function createStateParty(deps) {
|
|
10
13
|
return async ({ fleetId, name }) => {
|
|
@@ -19,7 +22,11 @@ export function createStateParty(deps) {
|
|
|
19
22
|
if (!listed.isOk) {
|
|
20
23
|
return refuse('SERVER_UNREACHABLE', `The MCP server of ${name} could not be listed: ${listed.error.reason}`);
|
|
21
24
|
}
|
|
22
|
-
|
|
25
|
+
if (party.toolSwitches === null) {
|
|
26
|
+
await deps.parties.switchTools({ fleetId, name }, { listed: listed.value.map((tool) => tool.name), switched: new Map() });
|
|
27
|
+
}
|
|
28
|
+
const tools = listed.value.filter((tool) => isToolOn(party.toolSwitches, tool.name));
|
|
29
|
+
const statement = statementOf({ partyName: name, tools, repeatable: await deps.marks.repeatable(fleetId, name), timing: deps.timing });
|
|
23
30
|
const stated = await deps.door.setStatement(party.crewToken, statement);
|
|
24
31
|
if (!stated.isOk) {
|
|
25
32
|
return refuse('STATEMENT_REFUSED', `The fleet refused the statement: ${stated.error.message}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-party.js","sourceRoot":"","sources":["../../../src/core/mcp-out/state-party.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAoB,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAe,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAmC,MAAM,gBAAgB,CAAC;AAkB9E
|
|
1
|
+
{"version":3,"file":"state-party.js","sourceRoot":"","sources":["../../../src/core/mcp-out/state-party.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAoB,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAe,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAmC,MAAM,gBAAgB,CAAC;AAkB9E;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAA6G;IAC5I,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;QACjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACrD,IAAI,KAAK,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;YAChC,OAAO,MAAM,CAAC,eAAe,EAAE,kBAAkB,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YACzD,OAAO,MAAM,CAAC,YAAY,EAAE,+CAA+C,IAAI,MAAM,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;QAC9F,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,MAAM,CAAC,oBAAoB,EAAE,qBAAqB,IAAI,yBAAyB,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/G,CAAC;QACD,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;QAC5H,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACrF,MAAM,SAAS,GAAG,WAAW,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACvI,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACxE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,MAAM,CAAC,mBAAmB,EAAE,oCAAoC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACjG,CAAC;QACD,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3F,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -3,7 +3,8 @@ export interface Capability {
|
|
|
3
3
|
readonly name: string;
|
|
4
4
|
readonly title?: string;
|
|
5
5
|
readonly description?: string;
|
|
6
|
-
|
|
6
|
+
/** The JSON Schema of its input: an MCP tool states one, an A2A skill none. */
|
|
7
|
+
readonly inputSchema?: Readonly<Record<string, unknown>>;
|
|
7
8
|
readonly outputSchema?: Readonly<Record<string, unknown>>;
|
|
8
9
|
readonly inputModes: readonly string[];
|
|
9
10
|
readonly outputModes: readonly string[];
|