@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
package/dist/party-workers.js
CHANGED
|
@@ -2,20 +2,37 @@ export function createPartyWorkers(deps) {
|
|
|
2
2
|
const stop = new AbortController();
|
|
3
3
|
/** Each running worker, by fleet and party, with what stops it. */
|
|
4
4
|
const running = new Map();
|
|
5
|
-
|
|
5
|
+
/** One run of the party's worker, as its crew token stands now: whether the fleet refused its crew token, and which. */
|
|
6
|
+
const workOnce = async ({ fleetId, name }, signal) => {
|
|
6
7
|
if (!(await deps.servesOutsideParties(fleetId))) {
|
|
7
|
-
return;
|
|
8
|
+
return { refused: null };
|
|
8
9
|
}
|
|
9
10
|
const party = await deps.parties.find(fleetId, name);
|
|
10
11
|
if (party?.state !== 'crewed' || signal.aborted) {
|
|
11
|
-
return;
|
|
12
|
+
return { refused: null };
|
|
12
13
|
}
|
|
13
|
-
if (party.kind === 'mcpClient') {
|
|
14
|
+
if (party.kind === 'mcpClient' || party.kind === 'a2aClient') {
|
|
15
|
+
// Pushing needs no crew token: it ends with the replies, whatever ended them.
|
|
16
|
+
const isCollected = new AbortController();
|
|
17
|
+
const pushing = party.kind === 'a2aClient' ? deps.pushToWebhooks({ caller: { fleetId, party: name }, signal: AbortSignal.any([signal, isCollected.signal]) }) : Promise.resolve();
|
|
14
18
|
const { ended } = await deps.collectReplies({ party, signal });
|
|
19
|
+
isCollected.abort();
|
|
20
|
+
await pushing;
|
|
15
21
|
if (ended === 'crewRefused') {
|
|
16
22
|
deps.log.warn({ fleetId, party: name }, "the fleet refused the proxy ship's crew token: its calls get no replies");
|
|
17
23
|
}
|
|
18
|
-
return;
|
|
24
|
+
return { refused: ended === 'crewRefused' ? party.crewToken : null };
|
|
25
|
+
}
|
|
26
|
+
if (party.kind === 'a2aAgent') {
|
|
27
|
+
const statedAgent = await deps.stateA2aAgent({ fleetId, name });
|
|
28
|
+
if (!statedAgent.isOk) {
|
|
29
|
+
deps.log.warn({ fleetId, party: name, reason: statedAgent.error.message }, 'proxy ship not stated: its last statement stays');
|
|
30
|
+
}
|
|
31
|
+
const { ended } = await deps.runA2aAgent({ party, signal });
|
|
32
|
+
if (ended === 'crewRefused') {
|
|
33
|
+
deps.log.warn({ fleetId, party: name }, "the fleet refused the proxy ship's crew token: its messages are not taken");
|
|
34
|
+
}
|
|
35
|
+
return { refused: ended === 'crewRefused' ? party.crewToken : null };
|
|
19
36
|
}
|
|
20
37
|
const stated = await deps.stateParty({ fleetId, name });
|
|
21
38
|
if (!stated.isOk) {
|
|
@@ -26,6 +43,21 @@ export function createPartyWorkers(deps) {
|
|
|
26
43
|
if (ended === 'crewRefused') {
|
|
27
44
|
deps.log.warn({ fleetId, party: name }, 'the fleet refused the proxy ship\'s crew token: its calls are not taken');
|
|
28
45
|
}
|
|
46
|
+
return { refused: ended === 'crewRefused' ? party.crewToken : null };
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* The party's worker until it is stopped. A crew token the fleet refused
|
|
50
|
+
* ends it, unless the party was crewed again meanwhile with another, as
|
|
51
|
+
* when its crew was released and a new secret crewed the same proxy ship
|
|
52
|
+
* (vendor platforms V8): then it works on with the new one.
|
|
53
|
+
*/
|
|
54
|
+
const work = async (party, signal) => {
|
|
55
|
+
for (let run = await workOnce(party, signal); run.refused !== null && !signal.aborted; run = await workOnce(party, signal)) {
|
|
56
|
+
const kept = await deps.parties.find(party.fleetId, party.name);
|
|
57
|
+
if (kept?.state !== 'crewed' || kept.crewToken === run.refused) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
29
61
|
};
|
|
30
62
|
return {
|
|
31
63
|
start: (party) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"party-workers.js","sourceRoot":"","sources":["../src/party-workers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"party-workers.js","sourceRoot":"","sources":["../src/party-workers.ts"],"names":[],"mappings":"AA6BA,MAAM,UAAU,kBAAkB,CAAC,IAUlC;IACC,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;IACnC,mEAAmE;IACnE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAiF,CAAC;IAEzG,wHAAwH;IACxH,MAAM,QAAQ,GAAG,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAsC,EAAE,MAAmB,EAAuC,EAAE;QACzI,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YAChD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACrD,IAAI,KAAK,EAAE,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAChD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC7D,8EAA8E;YAC9E,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAClL,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC/D,WAAW,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,OAAO,CAAC;YACd,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;gBAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,yEAAyE,CAAC,CAAC;YACrH,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACvE,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAChE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;gBACtB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,iDAAiD,CAAC,CAAC;YAChI,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC5D,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;gBAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,2EAA2E,CAAC,CAAC;YACvH,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACvE,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,kEAAkE;YAClE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,uBAAuB,CAAC,CAAC;QACjG,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACzD,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,yEAAyE,CAAC,CAAC;QACrH,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACvE,CAAC,CAAC;IAEF;;;;;OAKG;IACH,MAAM,IAAI,GAAG,KAAK,EAAE,KAAyC,EAAE,MAAmB,EAAiB,EAAE;QACnG,KAAK,IAAI,GAAG,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;YAC3H,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAChE,IAAI,IAAI,EAAE,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC/D,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;YACf,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC9C,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;gBACxC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;qBACvE,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;oBACxB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,qBAAqB,CAAC,CAAC;gBACnG,CAAC,CAAC;qBACD,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QACD,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC3B,MAAM,YAAY,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;YAC1F,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;gBAClC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAC3B,CAAC;YACD,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACxE,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The gateway's waiters, one per person ship it crews, across its instances
|
|
3
|
+
* (wake a person, W7, W9): an instance runs a ship's waiter only while it
|
|
4
|
+
* holds the ship's lock. Each round it looks for crews whose waiter no
|
|
5
|
+
* instance runs, so the waiters of an instance that stopped, or lost its
|
|
6
|
+
* locks, are taken over; a ship crewed meanwhile is woken at once. A waiter
|
|
7
|
+
* that ends gives its lock back.
|
|
8
|
+
*/
|
|
9
|
+
import type { FastifyBaseLogger } from 'fastify';
|
|
10
|
+
import type { Sleep } from './core/mcp-out/run-party.js';
|
|
11
|
+
import type { PersonCrews, PersonShip, WaiterLocks } from './core/people/ports.js';
|
|
12
|
+
import type { WaitOnPersonShip } from './core/people/wait-on-person-ship.js';
|
|
13
|
+
export interface PersonWaiters {
|
|
14
|
+
/** Runs a round every interval until it stops. */
|
|
15
|
+
start(): void;
|
|
16
|
+
/** Starts the ship's waiter now, unless one runs: the gateway just crewed it. */
|
|
17
|
+
wake(ship: PersonShip): void;
|
|
18
|
+
/** The ships this instance waits on now. */
|
|
19
|
+
waitingOn(): PersonShip[];
|
|
20
|
+
/** Stops every waiter and gives its lock back. */
|
|
21
|
+
stop(): Promise<void>;
|
|
22
|
+
}
|
|
23
|
+
export declare function createPersonWaiters(deps: {
|
|
24
|
+
crews: PersonCrews;
|
|
25
|
+
locks: WaiterLocks;
|
|
26
|
+
waitOnPersonShip: WaitOnPersonShip;
|
|
27
|
+
sleep: Sleep;
|
|
28
|
+
roundMs: number;
|
|
29
|
+
log: FastifyBaseLogger;
|
|
30
|
+
}): PersonWaiters;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/** How many crews a round reads at once. */
|
|
2
|
+
const ROUND_PAGE = 100;
|
|
3
|
+
export function createPersonWaiters(deps) {
|
|
4
|
+
const stopping = new AbortController();
|
|
5
|
+
/** Each ship this instance waits on, or takes the lock of, with what stops its waiter. */
|
|
6
|
+
const running = new Map();
|
|
7
|
+
let rounds = Promise.resolve();
|
|
8
|
+
const keyOf = ({ fleetId, shipId }) => `${fleetId}/${shipId}`;
|
|
9
|
+
const run = async (ship, stop) => {
|
|
10
|
+
if (!(await deps.locks.take(ship))) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
const held = running.get(keyOf(ship));
|
|
14
|
+
if (held === undefined || stop.signal.aborted) {
|
|
15
|
+
await deps.locks.give(ship);
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
held.isWaiting = true;
|
|
19
|
+
try {
|
|
20
|
+
const ended = await deps.waitOnPersonShip(ship, stop.signal);
|
|
21
|
+
if (ended.reason === 'crewEnded') {
|
|
22
|
+
deps.log.info(ship, "the person ship's crew no longer works: its waiter stopped and the crew was dropped");
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
finally {
|
|
26
|
+
await deps.locks.give(ship);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
const wake = (ship) => {
|
|
30
|
+
const key = keyOf(ship);
|
|
31
|
+
if (running.has(key) || stopping.signal.aborted) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const stop = new AbortController();
|
|
35
|
+
const entry = { ship, isWaiting: false, stop, done: Promise.resolve() };
|
|
36
|
+
running.set(key, entry);
|
|
37
|
+
entry.done = run(ship, stop)
|
|
38
|
+
.catch((error) => {
|
|
39
|
+
deps.log.error({ err: error, ...ship }, 'person ship waiter failed');
|
|
40
|
+
})
|
|
41
|
+
.finally(() => running.delete(key));
|
|
42
|
+
};
|
|
43
|
+
const round = async () => {
|
|
44
|
+
try {
|
|
45
|
+
let after = null;
|
|
46
|
+
for (;;) {
|
|
47
|
+
const page = await deps.crews.crewed({ after, limit: ROUND_PAGE });
|
|
48
|
+
for (const ship of page) {
|
|
49
|
+
wake(ship);
|
|
50
|
+
}
|
|
51
|
+
const last = page.at(-1);
|
|
52
|
+
if (page.length < ROUND_PAGE || last === undefined) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
after = last;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
deps.log.error({ err: error }, 'person ship waiters round failed');
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
// Every lock is lost at once: their waiters stop, and the next round takes the locks again where no instance holds them.
|
|
63
|
+
deps.locks.onLost(() => {
|
|
64
|
+
for (const entry of running.values()) {
|
|
65
|
+
entry.stop.abort();
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
return {
|
|
69
|
+
start: () => {
|
|
70
|
+
rounds = (async () => {
|
|
71
|
+
while (!stopping.signal.aborted) {
|
|
72
|
+
await round();
|
|
73
|
+
await deps.sleep(deps.roundMs, stopping.signal);
|
|
74
|
+
}
|
|
75
|
+
})();
|
|
76
|
+
},
|
|
77
|
+
wake,
|
|
78
|
+
waitingOn: () => [...running.values()].filter(({ isWaiting }) => isWaiting).map(({ ship }) => ship),
|
|
79
|
+
stop: async () => {
|
|
80
|
+
stopping.abort();
|
|
81
|
+
for (const entry of running.values()) {
|
|
82
|
+
entry.stop.abort();
|
|
83
|
+
}
|
|
84
|
+
await rounds;
|
|
85
|
+
await Promise.all([...running.values()].map(({ done }) => done));
|
|
86
|
+
},
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=person-waiters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"person-waiters.js","sourceRoot":"","sources":["../src/person-waiters.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aeolus-fleet/gateway",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.30.0",
|
|
4
4
|
"description": "Aeolus gateway: outside MCP servers and clients join a fleet as ships, through one gateway beside core.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai-agents",
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
"!web/.next/cache",
|
|
28
28
|
"!web/.next/dev",
|
|
29
29
|
"web/next.config.ts",
|
|
30
|
+
"web/public",
|
|
30
31
|
"prisma.config.ts",
|
|
31
32
|
"src/adapters/prisma/schema.prisma",
|
|
32
33
|
"src/adapters/prisma/migrations"
|
|
@@ -44,7 +45,8 @@
|
|
|
44
45
|
"db:migrate": "tsx --env-file-if-exists=.env src/bin/aeolus-gateway.ts migrate"
|
|
45
46
|
},
|
|
46
47
|
"dependencies": {
|
|
47
|
-
"@
|
|
48
|
+
"@a2a-js/sdk": "1.3.0",
|
|
49
|
+
"@aeolus-fleet/common": "^0.30.0",
|
|
48
50
|
"@base-ui/react": "^1.9.0",
|
|
49
51
|
"@fastify/websocket": "^11.3.4",
|
|
50
52
|
"@modelcontextprotocol/client": "^2.3.1",
|
|
@@ -63,10 +65,11 @@
|
|
|
63
65
|
"react": "^19.3.1",
|
|
64
66
|
"react-dom": "^19.3.1",
|
|
65
67
|
"tailwind-merge": "^3.7.0",
|
|
68
|
+
"web-push": "^3.6.7",
|
|
66
69
|
"zod": "^4.6.5"
|
|
67
70
|
},
|
|
68
71
|
"devDependencies": {
|
|
69
|
-
"@aeolus-fleet/core": "^0.
|
|
72
|
+
"@aeolus-fleet/core": "^0.30.0",
|
|
70
73
|
"@eslint/js": "^10.0.1",
|
|
71
74
|
"@modelcontextprotocol/ext-tasks": "0.2.2",
|
|
72
75
|
"@tailwindcss/postcss": "^4.3.3",
|
|
@@ -75,6 +78,7 @@
|
|
|
75
78
|
"@types/pg": "^8.23.1",
|
|
76
79
|
"@types/react": "^19.3.0",
|
|
77
80
|
"@types/react-dom": "^19.3.0",
|
|
81
|
+
"@types/web-push": "^3.6.4",
|
|
78
82
|
"@types/ws": "^8.18.2",
|
|
79
83
|
"eslint": "^10.11.0",
|
|
80
84
|
"eslint-plugin-check-file": "^3.3.2",
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
-- A client party with no human at the authorize step signs in by client credentials (vendor platforms V4): an access token from no code, with no refresh token.
|
|
2
|
+
ALTER TABLE "oauth_clients" ADD COLUMN "grant" TEXT NOT NULL DEFAULT 'authorizationCode';
|
|
3
|
+
ALTER TABLE "issued_tokens" ALTER COLUMN "refresh_hash" DROP NOT NULL;
|
|
4
|
+
ALTER TABLE "issued_tokens" ALTER COLUMN "refresh_expires_at" DROP NOT NULL;
|
|
5
|
+
ALTER TABLE "issued_tokens" ALTER COLUMN "code_hash" DROP NOT NULL;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
-- A2A in (decision 0060): a call may match no capability, its delivery is read from the fleet, and an A2A call belongs to a task.
|
|
2
|
+
ALTER TABLE "client_calls" ALTER COLUMN "capability" DROP NOT NULL;
|
|
3
|
+
ALTER TABLE "client_calls" ADD COLUMN "delivery_state" TEXT;
|
|
4
|
+
ALTER TABLE "client_calls" ADD COLUMN "delivery_since" TIMESTAMP(3);
|
|
5
|
+
ALTER TABLE "client_calls" ADD COLUMN "task_id" TEXT;
|
|
6
|
+
ALTER TABLE "client_calls" ADD COLUMN "task_message" TEXT;
|
|
7
|
+
|
|
8
|
+
CREATE INDEX "client_calls_fleet_id_task_id_idx" ON "client_calls"("fleet_id", "task_id");
|
|
9
|
+
|
|
10
|
+
CREATE TABLE "a2a_tasks" (
|
|
11
|
+
"fleet_id" TEXT NOT NULL,
|
|
12
|
+
"task_id" TEXT NOT NULL,
|
|
13
|
+
"party" TEXT NOT NULL,
|
|
14
|
+
"context_id" TEXT NOT NULL,
|
|
15
|
+
"created_at" TIMESTAMP(3) NOT NULL,
|
|
16
|
+
|
|
17
|
+
CONSTRAINT "a2a_tasks_pkey" PRIMARY KEY ("fleet_id","task_id")
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
CREATE INDEX "a2a_tasks_fleet_id_party_created_at_task_id_idx" ON "a2a_tasks"("fleet_id", "party", "created_at" DESC, "task_id" DESC);
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
-- A2A in, push to the client's webhook (slice 4): each task's push configs, and the pushes still to make.
|
|
2
|
+
CREATE TABLE "a2a_push_configs" (
|
|
3
|
+
"fleet_id" TEXT NOT NULL,
|
|
4
|
+
"task_id" TEXT NOT NULL,
|
|
5
|
+
"id" TEXT NOT NULL,
|
|
6
|
+
"party" TEXT NOT NULL,
|
|
7
|
+
"url" TEXT NOT NULL,
|
|
8
|
+
"token" TEXT,
|
|
9
|
+
"authentication" JSONB,
|
|
10
|
+
"created_at" TIMESTAMP(3) NOT NULL,
|
|
11
|
+
"noticed_mark" TEXT NOT NULL,
|
|
12
|
+
"is_following" BOOLEAN NOT NULL,
|
|
13
|
+
|
|
14
|
+
CONSTRAINT "a2a_push_configs_pkey" PRIMARY KEY ("fleet_id","task_id","id")
|
|
15
|
+
);
|
|
16
|
+
|
|
17
|
+
CREATE INDEX "a2a_push_configs_fleet_id_party_is_following_idx" ON "a2a_push_configs"("fleet_id", "party", "is_following");
|
|
18
|
+
|
|
19
|
+
CREATE TABLE "a2a_pushes" (
|
|
20
|
+
"push_id" SERIAL NOT NULL,
|
|
21
|
+
"fleet_id" TEXT NOT NULL,
|
|
22
|
+
"task_id" TEXT NOT NULL,
|
|
23
|
+
"config_id" TEXT NOT NULL,
|
|
24
|
+
"party" TEXT NOT NULL,
|
|
25
|
+
"body" TEXT NOT NULL,
|
|
26
|
+
"attempts" INTEGER NOT NULL,
|
|
27
|
+
"next_at" TIMESTAMP(3) NOT NULL,
|
|
28
|
+
"state" TEXT NOT NULL,
|
|
29
|
+
"reason" TEXT,
|
|
30
|
+
"settled_at" TIMESTAMP(3),
|
|
31
|
+
|
|
32
|
+
CONSTRAINT "a2a_pushes_pkey" PRIMARY KEY ("push_id")
|
|
33
|
+
);
|
|
34
|
+
|
|
35
|
+
CREATE INDEX "a2a_pushes_fleet_id_party_state_task_id_config_id_push_id_idx" ON "a2a_pushes"("fleet_id", "party", "state", "task_id", "config_id", "push_id");
|
|
36
|
+
|
|
37
|
+
ALTER TABLE "a2a_pushes" ADD CONSTRAINT "a2a_pushes_fleet_id_task_id_config_id_fkey" FOREIGN KEY ("fleet_id", "task_id", "config_id") REFERENCES "a2a_push_configs"("fleet_id", "task_id", "id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
-- The gateway's messages to outside A2A agents, by delivery, and which task each reply tells of (slice 6).
|
|
2
|
+
CREATE TABLE "a2a_agent_calls" (
|
|
3
|
+
"delivery_id" TEXT NOT NULL,
|
|
4
|
+
"fleet_id" TEXT NOT NULL,
|
|
5
|
+
"party" TEXT NOT NULL,
|
|
6
|
+
"message_id" TEXT NOT NULL,
|
|
7
|
+
"sender_ship_id" TEXT NOT NULL,
|
|
8
|
+
"state" TEXT NOT NULL,
|
|
9
|
+
"task_id" TEXT,
|
|
10
|
+
"context_id" TEXT,
|
|
11
|
+
"deadline_at" TIMESTAMPTZ(3) NOT NULL,
|
|
12
|
+
"answer" JSONB,
|
|
13
|
+
"replied" TEXT[] DEFAULT ARRAY[]::TEXT[],
|
|
14
|
+
"chunk_places" JSONB NOT NULL DEFAULT '{}',
|
|
15
|
+
|
|
16
|
+
CONSTRAINT "a2a_agent_calls_pkey" PRIMARY KEY ("fleet_id", "delivery_id")
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
CREATE INDEX "a2a_agent_calls_fleet_id_party_state_idx" ON "a2a_agent_calls"("fleet_id", "party", "state");
|
|
20
|
+
|
|
21
|
+
CREATE TABLE "a2a_agent_replies" (
|
|
22
|
+
"fleet_id" TEXT NOT NULL,
|
|
23
|
+
"party" TEXT NOT NULL,
|
|
24
|
+
"message_id" TEXT NOT NULL,
|
|
25
|
+
"task_id" TEXT NOT NULL,
|
|
26
|
+
"context_id" TEXT NOT NULL,
|
|
27
|
+
|
|
28
|
+
CONSTRAINT "a2a_agent_replies_pkey" PRIMARY KEY ("fleet_id", "party", "message_id")
|
|
29
|
+
);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
-- What wakes a person (wake a person, W3, W8): the email channel they turned on, and when each channel last woke their person ship.
|
|
2
|
+
CREATE TABLE "email_channels" (
|
|
3
|
+
"fleet_id" TEXT NOT NULL,
|
|
4
|
+
"ship_id" TEXT NOT NULL,
|
|
5
|
+
"turned_on_at" TIMESTAMPTZ(3) NOT NULL,
|
|
6
|
+
|
|
7
|
+
CONSTRAINT "email_channels_pkey" PRIMARY KEY ("fleet_id","ship_id")
|
|
8
|
+
);
|
|
9
|
+
|
|
10
|
+
CREATE TABLE "wakes_sent" (
|
|
11
|
+
"fleet_id" TEXT NOT NULL,
|
|
12
|
+
"ship_id" TEXT NOT NULL,
|
|
13
|
+
"channel" TEXT NOT NULL,
|
|
14
|
+
"sent_at" TIMESTAMPTZ(3) NOT NULL,
|
|
15
|
+
|
|
16
|
+
CONSTRAINT "wakes_sent_pkey" PRIMARY KEY ("fleet_id","ship_id","channel")
|
|
17
|
+
);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
-- Wake a person (W6): a person's pages in focus, on any gateway instance.
|
|
2
|
+
CREATE TABLE "focused_pages" (
|
|
3
|
+
"fleet_id" TEXT NOT NULL,
|
|
4
|
+
"page_id" TEXT NOT NULL,
|
|
5
|
+
"ship_id" TEXT NOT NULL,
|
|
6
|
+
"seen_at" TIMESTAMPTZ(3) NOT NULL,
|
|
7
|
+
|
|
8
|
+
CONSTRAINT "focused_pages_pkey" PRIMARY KEY ("fleet_id","page_id")
|
|
9
|
+
);
|
|
10
|
+
|
|
11
|
+
CREATE INDEX "focused_pages_fleet_id_ship_id_seen_at_idx" ON "focused_pages"("fleet_id", "ship_id", "seen_at");
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
-- Wake a person (W8): the browsers a person turned web push on in.
|
|
2
|
+
CREATE TABLE "web_push_subscriptions" (
|
|
3
|
+
"fleet_id" TEXT NOT NULL,
|
|
4
|
+
"ship_id" TEXT NOT NULL,
|
|
5
|
+
"endpoint" TEXT NOT NULL,
|
|
6
|
+
"p256dh" TEXT NOT NULL,
|
|
7
|
+
"auth" TEXT NOT NULL,
|
|
8
|
+
"browser" TEXT NOT NULL,
|
|
9
|
+
"fleet_name" TEXT NOT NULL,
|
|
10
|
+
"added_at" TIMESTAMPTZ(3) NOT NULL,
|
|
11
|
+
"gone_at" TIMESTAMPTZ(3),
|
|
12
|
+
|
|
13
|
+
CONSTRAINT "web_push_subscriptions_pkey" PRIMARY KEY ("fleet_id","ship_id","endpoint")
|
|
14
|
+
);
|
|
@@ -74,12 +74,18 @@ model Party {
|
|
|
74
74
|
fleetId String @map("fleet_id")
|
|
75
75
|
name String
|
|
76
76
|
kind String
|
|
77
|
-
/// An MCP server's: its URL, its credential as JSON (a static bearer, or OAuth client credentials), and its calls at once.
|
|
77
|
+
/// An MCP server's: its URL, its credential as JSON (none, a static bearer, or OAuth client credentials), and its calls at once. An A2A agent's too, its card address as the URL.
|
|
78
78
|
url String?
|
|
79
79
|
credential Json?
|
|
80
80
|
concurrencyLimit Int? @map("concurrency_limit")
|
|
81
|
+
/// An MCP server's tool switches, by tool name (aeolus-fleet#1151); none kept yet means every tool it lists is on.
|
|
82
|
+
toolSwitches Json? @map("tool_switches")
|
|
81
83
|
/// An MCP client's: its OAuth client id.
|
|
82
84
|
clientId String? @map("client_id")
|
|
85
|
+
/// An A2A client's: the hash of the bearer it was shown once, which names it on every call; unique across fleets, as the bearer alone names the party (decision 0060).
|
|
86
|
+
bearerHash String? @unique @map("bearer_hash")
|
|
87
|
+
/// An A2A agent's: whether a message that died unconfirmed may be handed again, until an approver marks it not (A9).
|
|
88
|
+
isRepeatable Boolean? @map("is_repeatable")
|
|
83
89
|
state String
|
|
84
90
|
proxyShipId String? @map("proxy_ship_id")
|
|
85
91
|
/// Kept only from the proxy ship's commission until the gateway crews it.
|
|
@@ -117,6 +123,41 @@ model Call {
|
|
|
117
123
|
@@map("calls")
|
|
118
124
|
}
|
|
119
125
|
|
|
126
|
+
/// The gateway's messages to outside A2A agents, by delivery (slice 6): so a restart sends nothing again that may have run, and follows on each task the agent took.
|
|
127
|
+
model A2aAgentCall {
|
|
128
|
+
deliveryId String @map("delivery_id")
|
|
129
|
+
fleetId String @map("fleet_id")
|
|
130
|
+
party String
|
|
131
|
+
messageId String @map("message_id")
|
|
132
|
+
senderShipId String @map("sender_ship_id")
|
|
133
|
+
state String
|
|
134
|
+
taskId String? @map("task_id")
|
|
135
|
+
contextId String? @map("context_id")
|
|
136
|
+
deadlineAt DateTime @map("deadline_at") @db.Timestamptz(3)
|
|
137
|
+
/// The reply to the agent's message answer or refusal, kept before the ack.
|
|
138
|
+
answer Json?
|
|
139
|
+
/// The identity of each event the follow replied, so a restart replies none again.
|
|
140
|
+
replied String[] @default([])
|
|
141
|
+
/// Where the next chunk of each artifact goes, as the replies so far leave it.
|
|
142
|
+
chunkPlaces Json @default("{}") @map("chunk_places")
|
|
143
|
+
|
|
144
|
+
@@id([fleetId, deliveryId])
|
|
145
|
+
@@index([fleetId, party, state])
|
|
146
|
+
@@map("a2a_agent_calls")
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/// Which task each reply the gateway sent for an outside A2A agent tells of, by the reply's message id: an answer to it continues the task (slice 6).
|
|
150
|
+
model A2aAgentReply {
|
|
151
|
+
fleetId String @map("fleet_id")
|
|
152
|
+
party String
|
|
153
|
+
messageId String @map("message_id")
|
|
154
|
+
taskId String @map("task_id")
|
|
155
|
+
contextId String @map("context_id")
|
|
156
|
+
|
|
157
|
+
@@id([fleetId, party, messageId])
|
|
158
|
+
@@map("a2a_agent_replies")
|
|
159
|
+
}
|
|
160
|
+
|
|
120
161
|
/// MCP clients argo pre-registered; a confidential one's secret kept only as its hash.
|
|
121
162
|
model OAuthClient {
|
|
122
163
|
clientId String @id @map("client_id")
|
|
@@ -124,6 +165,8 @@ model OAuthClient {
|
|
|
124
165
|
name String
|
|
125
166
|
redirectUris String[] @map("redirect_uris")
|
|
126
167
|
secretHash String? @map("secret_hash")
|
|
168
|
+
/// How it signs in: authorizationCode, or clientCredentials with no redirect URI (vendor platforms V4).
|
|
169
|
+
grant String @default("authorizationCode")
|
|
127
170
|
|
|
128
171
|
@@index([fleetId])
|
|
129
172
|
@@map("oauth_clients")
|
|
@@ -151,9 +194,11 @@ model AuthorizationCode {
|
|
|
151
194
|
/// The access and refresh tokens the gateway issued, kept only as hashes, a pair per row.
|
|
152
195
|
model IssuedToken {
|
|
153
196
|
accessHash String @id @map("access_hash")
|
|
154
|
-
|
|
197
|
+
/// None for a client signed in by client credentials, which asks again.
|
|
198
|
+
refreshHash String? @unique @map("refresh_hash")
|
|
155
199
|
familyId String @map("family_id")
|
|
156
|
-
|
|
200
|
+
/// None for a token issued from client credentials.
|
|
201
|
+
codeHash String? @map("code_hash")
|
|
157
202
|
fleetId String @map("fleet_id")
|
|
158
203
|
clientId String @map("client_id")
|
|
159
204
|
resource String
|
|
@@ -162,7 +207,7 @@ model IssuedToken {
|
|
|
162
207
|
party String?
|
|
163
208
|
grantId String? @map("grant_id")
|
|
164
209
|
accessExpiresAt DateTime @map("access_expires_at") @db.Timestamptz(3)
|
|
165
|
-
refreshExpiresAt DateTime @map("refresh_expires_at") @db.Timestamptz(3)
|
|
210
|
+
refreshExpiresAt DateTime? @map("refresh_expires_at") @db.Timestamptz(3)
|
|
166
211
|
state String
|
|
167
212
|
|
|
168
213
|
@@index([fleetId])
|
|
@@ -178,16 +223,76 @@ model ClientCall {
|
|
|
178
223
|
party String
|
|
179
224
|
handle String
|
|
180
225
|
shipId String @map("ship_id")
|
|
181
|
-
capability
|
|
226
|
+
/// None when an A2A message matched no capability, and then its first reply answers it (decision 0060).
|
|
227
|
+
capability String?
|
|
182
228
|
outputContentType String? @map("output_content_type")
|
|
183
229
|
sentAt DateTime @map("sent_at")
|
|
184
230
|
deadlineAt DateTime? @map("deadline_at")
|
|
231
|
+
/// Where its delivery stands, as the gateway last read it from the fleet's sentMessage.
|
|
232
|
+
deliveryState String? @map("delivery_state")
|
|
233
|
+
deliverySince DateTime? @map("delivery_since")
|
|
234
|
+
/// An A2A call's task, and the client's message as A2A JSON; none for an MCP call.
|
|
235
|
+
taskId String? @map("task_id")
|
|
236
|
+
taskMessage String? @map("task_message")
|
|
185
237
|
|
|
186
238
|
@@id([fleetId, messageId])
|
|
187
239
|
@@unique([fleetId, handle])
|
|
240
|
+
@@index([fleetId, taskId])
|
|
188
241
|
@@map("client_calls")
|
|
189
242
|
}
|
|
190
243
|
|
|
244
|
+
/// An outside A2A client's task (decision 0060): its id, the HMAC of its first message, its party and its context.
|
|
245
|
+
model A2aTask {
|
|
246
|
+
fleetId String @map("fleet_id")
|
|
247
|
+
taskId String @map("task_id")
|
|
248
|
+
party String
|
|
249
|
+
contextId String @map("context_id")
|
|
250
|
+
createdAt DateTime @map("created_at")
|
|
251
|
+
|
|
252
|
+
@@id([fleetId, taskId])
|
|
253
|
+
@@index([fleetId, party, createdAt(sort: Desc), taskId(sort: Desc)])
|
|
254
|
+
@@map("a2a_tasks")
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
/// A push config of an outside A2A client's task (slice 4): its webhook, and the vault of its token and authentication, never answered back; with the task as last noticed.
|
|
258
|
+
model A2aPushConfig {
|
|
259
|
+
fleetId String @map("fleet_id")
|
|
260
|
+
taskId String @map("task_id")
|
|
261
|
+
id String
|
|
262
|
+
party String
|
|
263
|
+
url String
|
|
264
|
+
token String?
|
|
265
|
+
/// The scheme and credentials the webhook is called with, as JSON.
|
|
266
|
+
authentication Json?
|
|
267
|
+
createdAt DateTime @map("created_at")
|
|
268
|
+
noticedMark String @map("noticed_mark")
|
|
269
|
+
isFollowing Boolean @map("is_following")
|
|
270
|
+
pushes A2aPush[]
|
|
271
|
+
|
|
272
|
+
@@id([fleetId, taskId, id])
|
|
273
|
+
@@index([fleetId, party, isFollowing])
|
|
274
|
+
@@map("a2a_push_configs")
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
/// A push of one event of a config's task to its webhook (slice 4): pending until delivered or given up, kept over a restart; its id is its order.
|
|
278
|
+
model A2aPush {
|
|
279
|
+
pushId Int @id @default(autoincrement()) @map("push_id")
|
|
280
|
+
fleetId String @map("fleet_id")
|
|
281
|
+
taskId String @map("task_id")
|
|
282
|
+
configId String @map("config_id")
|
|
283
|
+
party String
|
|
284
|
+
body String
|
|
285
|
+
attempts Int
|
|
286
|
+
nextAt DateTime @map("next_at")
|
|
287
|
+
state String
|
|
288
|
+
reason String?
|
|
289
|
+
settledAt DateTime? @map("settled_at")
|
|
290
|
+
config A2aPushConfig @relation(fields: [fleetId, taskId, configId], references: [fleetId, taskId, id], onDelete: Cascade)
|
|
291
|
+
|
|
292
|
+
@@index([fleetId, party, state, taskId, configId, pushId])
|
|
293
|
+
@@map("a2a_pushes")
|
|
294
|
+
}
|
|
295
|
+
|
|
191
296
|
/// The replies naming an outside client's call, each kept once per delivery before it is acknowledged.
|
|
192
297
|
model ClientCallReply {
|
|
193
298
|
deliveryId String @id @map("delivery_id")
|
|
@@ -232,6 +337,27 @@ model PersonCrew {
|
|
|
232
337
|
@@map("person_crews")
|
|
233
338
|
}
|
|
234
339
|
|
|
340
|
+
/// A person who turned email on to be woken for their person ship (wake a person, W8): a row while it is on; nothing is on by default.
|
|
341
|
+
model EmailChannel {
|
|
342
|
+
fleetId String @map("fleet_id")
|
|
343
|
+
shipId String @map("ship_id")
|
|
344
|
+
turnedOnAt DateTime @map("turned_on_at") @db.Timestamptz(3)
|
|
345
|
+
|
|
346
|
+
@@id([fleetId, shipId])
|
|
347
|
+
@@map("email_channels")
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
/// When a channel last woke a person ship, so it sends at most one wake per its window (wake a person, W3).
|
|
351
|
+
model WakeSent {
|
|
352
|
+
fleetId String @map("fleet_id")
|
|
353
|
+
shipId String @map("ship_id")
|
|
354
|
+
channel String
|
|
355
|
+
sentAt DateTime @map("sent_at") @db.Timestamptz(3)
|
|
356
|
+
|
|
357
|
+
@@id([fleetId, shipId, channel])
|
|
358
|
+
@@map("wakes_sent")
|
|
359
|
+
}
|
|
360
|
+
|
|
235
361
|
/// A delivery a person opened, kept until they deal with it, so their answer finds its message and sender and their inbox lists it (Q28 (a)).
|
|
236
362
|
model OpenedDelivery {
|
|
237
363
|
fleetId String @map("fleet_id")
|
|
@@ -311,3 +437,31 @@ model OwnerQuestion {
|
|
|
311
437
|
@@id([fleetId, requestId])
|
|
312
438
|
@@map("owner_questions")
|
|
313
439
|
}
|
|
440
|
+
|
|
441
|
+
/// A page of a person in focus, on any gateway instance, with when it was last seen so (wake a person, W6).
|
|
442
|
+
model FocusedPage {
|
|
443
|
+
fleetId String @map("fleet_id")
|
|
444
|
+
pageId String @map("page_id")
|
|
445
|
+
shipId String @map("ship_id")
|
|
446
|
+
seenAt DateTime @map("seen_at") @db.Timestamptz(3)
|
|
447
|
+
|
|
448
|
+
@@id([fleetId, pageId])
|
|
449
|
+
@@index([fleetId, shipId, seenAt])
|
|
450
|
+
@@map("focused_pages")
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
/// A browser a person turned web push on in (wake a person, W8): its push service's endpoint and keys, and the fleet's name its wakes say. Gone once its push service answered 404 or 410.
|
|
454
|
+
model WebPushSubscription {
|
|
455
|
+
fleetId String @map("fleet_id")
|
|
456
|
+
shipId String @map("ship_id")
|
|
457
|
+
endpoint String
|
|
458
|
+
p256dh String
|
|
459
|
+
auth String
|
|
460
|
+
browser String
|
|
461
|
+
fleetName String @map("fleet_name")
|
|
462
|
+
addedAt DateTime @map("added_at") @db.Timestamptz(3)
|
|
463
|
+
goneAt DateTime? @map("gone_at") @db.Timestamptz(3)
|
|
464
|
+
|
|
465
|
+
@@id([fleetId, shipId, endpoint])
|
|
466
|
+
@@map("web_push_subscriptions")
|
|
467
|
+
}
|
package/web/.next/BUILD_ID
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
Az1CqrzgGHMZVR4nw9717
|