@aeolus-fleet/core 0.0.0 → 0.18.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 +98 -1
- package/dist/adapters/cli/fleet-init.d.ts +14 -0
- package/dist/adapters/cli/fleet-init.js +68 -0
- package/dist/adapters/cli/fleet-init.js.map +1 -0
- package/dist/adapters/cli/io.d.ts +35 -0
- package/dist/adapters/cli/io.js +21 -0
- package/dist/adapters/cli/io.js.map +1 -0
- package/dist/adapters/cli/migrate.d.ts +11 -0
- package/dist/adapters/cli/migrate.js +12 -0
- package/dist/adapters/cli/migrate.js.map +1 -0
- package/dist/adapters/cli/operator-reset-password.d.ts +12 -0
- package/dist/adapters/cli/operator-reset-password.js +49 -0
- package/dist/adapters/cli/operator-reset-password.js.map +1 -0
- package/dist/adapters/cli/run.d.ts +14 -0
- package/dist/adapters/cli/run.js +40 -0
- package/dist/adapters/cli/run.js.map +1 -0
- package/dist/adapters/cli/terminal.d.ts +20 -0
- package/dist/adapters/cli/terminal.js +68 -0
- package/dist/adapters/cli/terminal.js.map +1 -0
- package/dist/adapters/crypto/passwords.d.ts +2 -0
- package/dist/adapters/crypto/passwords.js +59 -0
- package/dist/adapters/crypto/passwords.js.map +1 -0
- package/dist/adapters/crypto/secrets.d.ts +5 -0
- package/dist/adapters/crypto/secrets.js +10 -0
- package/dist/adapters/crypto/secrets.js.map +1 -0
- package/dist/adapters/http/device-label.d.ts +9 -0
- package/dist/adapters/http/device-label.js +39 -0
- package/dist/adapters/http/device-label.js.map +1 -0
- package/dist/adapters/http/rate-limiter.d.ts +21 -0
- package/dist/adapters/http/rate-limiter.js +44 -0
- package/dist/adapters/http/rate-limiter.js.map +1 -0
- package/dist/adapters/http/request-credentials.d.ts +23 -0
- package/dist/adapters/http/request-credentials.js +45 -0
- package/dist/adapters/http/request-credentials.js.map +1 -0
- package/dist/adapters/http/server.d.ts +47 -0
- package/dist/adapters/http/server.js +216 -0
- package/dist/adapters/http/server.js.map +1 -0
- package/dist/adapters/http/version.d.ts +9 -0
- package/dist/adapters/http/version.js +23 -0
- package/dist/adapters/http/version.js.map +1 -0
- package/dist/adapters/mcp/mcp-endpoint.d.ts +8 -0
- package/dist/adapters/mcp/mcp-endpoint.js +127 -0
- package/dist/adapters/mcp/mcp-endpoint.js.map +1 -0
- package/dist/adapters/prisma/client.d.ts +10 -0
- package/dist/adapters/prisma/client.js +20 -0
- package/dist/adapters/prisma/client.js.map +1 -0
- package/dist/adapters/prisma/delivery-notices.d.ts +34 -0
- package/dist/adapters/prisma/delivery-notices.js +113 -0
- package/dist/adapters/prisma/delivery-notices.js.map +1 -0
- package/dist/adapters/prisma/event-log.d.ts +11 -0
- package/dist/adapters/prisma/event-log.js +61 -0
- package/dist/adapters/prisma/event-log.js.map +1 -0
- package/dist/adapters/prisma/failure-log.d.ts +22 -0
- package/dist/adapters/prisma/failure-log.js +70 -0
- package/dist/adapters/prisma/failure-log.js.map +1 -0
- package/dist/adapters/prisma/fleet-counter.d.ts +3 -0
- package/dist/adapters/prisma/fleet-counter.js +6 -0
- package/dist/adapters/prisma/fleet-counter.js.map +1 -0
- package/dist/adapters/prisma/fleet-event-wakeups.d.ts +33 -0
- package/dist/adapters/prisma/fleet-event-wakeups.js +86 -0
- package/dist/adapters/prisma/fleet-event-wakeups.js.map +1 -0
- package/dist/adapters/prisma/generated/browser.d.ts +127 -0
- package/dist/adapters/prisma/generated/browser.js +18 -0
- package/dist/adapters/prisma/generated/browser.js.map +1 -0
- package/dist/adapters/prisma/generated/client.d.ts +146 -0
- package/dist/adapters/prisma/generated/client.js +38 -0
- package/dist/adapters/prisma/generated/client.js.map +1 -0
- package/dist/adapters/prisma/generated/commonInputTypes.d.ts +879 -0
- package/dist/adapters/prisma/generated/commonInputTypes.js +11 -0
- package/dist/adapters/prisma/generated/commonInputTypes.js.map +1 -0
- package/dist/adapters/prisma/generated/enums.d.ts +75 -0
- package/dist/adapters/prisma/generated/enums.js +73 -0
- package/dist/adapters/prisma/generated/enums.js.map +1 -0
- package/dist/adapters/prisma/generated/internal/class.d.ts +308 -0
- package/dist/adapters/prisma/generated/internal/class.js +52 -0
- package/dist/adapters/prisma/generated/internal/class.js.map +1 -0
- package/dist/adapters/prisma/generated/internal/prismaNamespace.d.ts +2131 -0
- package/dist/adapters/prisma/generated/internal/prismaNamespace.js +295 -0
- package/dist/adapters/prisma/generated/internal/prismaNamespace.js.map +1 -0
- package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.d.ts +273 -0
- package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js +265 -0
- package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -0
- package/dist/adapters/prisma/generated/models/ConsoleSession.d.ts +2137 -0
- package/dist/adapters/prisma/generated/models/ConsoleSession.js +2 -0
- package/dist/adapters/prisma/generated/models/ConsoleSession.js.map +1 -0
- package/dist/adapters/prisma/generated/models/Credential.d.ts +1360 -0
- package/dist/adapters/prisma/generated/models/Credential.js +2 -0
- package/dist/adapters/prisma/generated/models/Credential.js.map +1 -0
- package/dist/adapters/prisma/generated/models/CrewRequest.d.ts +1558 -0
- package/dist/adapters/prisma/generated/models/CrewRequest.js +2 -0
- package/dist/adapters/prisma/generated/models/CrewRequest.js.map +1 -0
- package/dist/adapters/prisma/generated/models/Delivery.d.ts +2211 -0
- package/dist/adapters/prisma/generated/models/Delivery.js +2 -0
- package/dist/adapters/prisma/generated/models/Delivery.js.map +1 -0
- package/dist/adapters/prisma/generated/models/Event.d.ts +1991 -0
- package/dist/adapters/prisma/generated/models/Event.js +2 -0
- package/dist/adapters/prisma/generated/models/Event.js.map +1 -0
- package/dist/adapters/prisma/generated/models/Fleet.d.ts +3032 -0
- package/dist/adapters/prisma/generated/models/Fleet.js +2 -0
- package/dist/adapters/prisma/generated/models/Fleet.js.map +1 -0
- package/dist/adapters/prisma/generated/models/Guide.d.ts +943 -0
- package/dist/adapters/prisma/generated/models/Guide.js +2 -0
- package/dist/adapters/prisma/generated/models/Guide.js.map +1 -0
- package/dist/adapters/prisma/generated/models/GuideProgress.d.ts +1323 -0
- package/dist/adapters/prisma/generated/models/GuideProgress.js +2 -0
- package/dist/adapters/prisma/generated/models/GuideProgress.js.map +1 -0
- package/dist/adapters/prisma/generated/models/InstallationRequest.d.ts +1036 -0
- package/dist/adapters/prisma/generated/models/InstallationRequest.js +2 -0
- package/dist/adapters/prisma/generated/models/InstallationRequest.js.map +1 -0
- package/dist/adapters/prisma/generated/models/InstallationSettings.d.ts +1027 -0
- package/dist/adapters/prisma/generated/models/InstallationSettings.js +2 -0
- package/dist/adapters/prisma/generated/models/InstallationSettings.js.map +1 -0
- package/dist/adapters/prisma/generated/models/Lease.d.ts +2076 -0
- package/dist/adapters/prisma/generated/models/Lease.js +2 -0
- package/dist/adapters/prisma/generated/models/Lease.js.map +1 -0
- package/dist/adapters/prisma/generated/models/Message.d.ts +2869 -0
- package/dist/adapters/prisma/generated/models/Message.js +2 -0
- package/dist/adapters/prisma/generated/models/Message.js.map +1 -0
- package/dist/adapters/prisma/generated/models/Notice.d.ts +1068 -0
- package/dist/adapters/prisma/generated/models/Notice.js +2 -0
- package/dist/adapters/prisma/generated/models/Notice.js.map +1 -0
- package/dist/adapters/prisma/generated/models/NoticeDismissal.d.ts +1245 -0
- package/dist/adapters/prisma/generated/models/NoticeDismissal.js +2 -0
- package/dist/adapters/prisma/generated/models/NoticeDismissal.js.map +1 -0
- package/dist/adapters/prisma/generated/models/Operator.d.ts +1173 -0
- package/dist/adapters/prisma/generated/models/Operator.js +2 -0
- package/dist/adapters/prisma/generated/models/Operator.js.map +1 -0
- package/dist/adapters/prisma/generated/models/Ship.d.ts +3320 -0
- package/dist/adapters/prisma/generated/models/Ship.js +2 -0
- package/dist/adapters/prisma/generated/models/Ship.js.map +1 -0
- package/dist/adapters/prisma/generated/models/SignInTicket.d.ts +1222 -0
- package/dist/adapters/prisma/generated/models/SignInTicket.js +2 -0
- package/dist/adapters/prisma/generated/models/SignInTicket.js.map +1 -0
- package/dist/adapters/prisma/generated/models.d.ts +18 -0
- package/dist/adapters/prisma/generated/models.js +2 -0
- package/dist/adapters/prisma/generated/models.js.map +1 -0
- package/dist/adapters/prisma/history.d.ts +3 -0
- package/dist/adapters/prisma/history.js +289 -0
- package/dist/adapters/prisma/history.js.map +1 -0
- package/dist/adapters/prisma/identity.d.ts +10 -0
- package/dist/adapters/prisma/identity.js +213 -0
- package/dist/adapters/prisma/identity.js.map +1 -0
- package/dist/adapters/prisma/installation.d.ts +13 -0
- package/dist/adapters/prisma/installation.js +155 -0
- package/dist/adapters/prisma/installation.js.map +1 -0
- package/dist/adapters/prisma/messaging.d.ts +4 -0
- package/dist/adapters/prisma/messaging.js +156 -0
- package/dist/adapters/prisma/messaging.js.map +1 -0
- package/dist/adapters/prisma/migrate.d.ts +5 -0
- package/dist/adapters/prisma/migrate.js +40 -0
- package/dist/adapters/prisma/migrate.js.map +1 -0
- package/dist/adapters/prisma/receiver-wakeups.d.ts +26 -0
- package/dist/adapters/prisma/receiver-wakeups.js +79 -0
- package/dist/adapters/prisma/receiver-wakeups.js.map +1 -0
- package/dist/adapters/prisma/registry.d.ts +8 -0
- package/dist/adapters/prisma/registry.js +427 -0
- package/dist/adapters/prisma/registry.js.map +1 -0
- package/dist/adapters/prisma/rows.d.ts +58 -0
- package/dist/adapters/prisma/rows.js +408 -0
- package/dist/adapters/prisma/rows.js.map +1 -0
- package/dist/adapters/prisma/unit-of-work.d.ts +36 -0
- package/dist/adapters/prisma/unit-of-work.js +66 -0
- package/dist/adapters/prisma/unit-of-work.js.map +1 -0
- package/dist/adapters/rest/openapi.d.ts +12 -0
- package/dist/adapters/rest/openapi.js +62 -0
- package/dist/adapters/rest/openapi.js.map +1 -0
- package/dist/adapters/rest/rest-api.d.ts +8 -0
- package/dist/adapters/rest/rest-api.js +61 -0
- package/dist/adapters/rest/rest-api.js.map +1 -0
- package/dist/adapters/trpc/console.d.ts +150 -0
- package/dist/adapters/trpc/console.js +102 -0
- package/dist/adapters/trpc/console.js.map +1 -0
- package/dist/adapters/trpc/context.d.ts +201 -0
- package/dist/adapters/trpc/context.js +2 -0
- package/dist/adapters/trpc/context.js.map +1 -0
- package/dist/adapters/trpc/fleet.d.ts +637 -0
- package/dist/adapters/trpc/fleet.js +437 -0
- package/dist/adapters/trpc/fleet.js.map +1 -0
- package/dist/adapters/trpc/installation.d.ts +414 -0
- package/dist/adapters/trpc/installation.js +138 -0
- package/dist/adapters/trpc/installation.js.map +1 -0
- package/dist/adapters/trpc/router.d.ts +1263 -0
- package/dist/adapters/trpc/router.js +15 -0
- package/dist/adapters/trpc/router.js.map +1 -0
- package/dist/adapters/trpc/ship-contract.d.ts +107 -0
- package/dist/adapters/trpc/ship-contract.js +165 -0
- package/dist/adapters/trpc/ship-contract.js.map +1 -0
- package/dist/adapters/trpc/ship-protocol.d.ts +9 -0
- package/dist/adapters/trpc/ship-protocol.js +25 -0
- package/dist/adapters/trpc/ship-protocol.js.map +1 -0
- package/dist/adapters/trpc/ship.d.ts +209 -0
- package/dist/adapters/trpc/ship.js +214 -0
- package/dist/adapters/trpc/ship.js.map +1 -0
- package/dist/adapters/trpc/starting-prompt-text.d.ts +7 -0
- package/dist/adapters/trpc/starting-prompt-text.js +60 -0
- package/dist/adapters/trpc/starting-prompt-text.js.map +1 -0
- package/dist/adapters/trpc/system.d.ts +29 -0
- package/dist/adapters/trpc/system.js +15 -0
- package/dist/adapters/trpc/system.js.map +1 -0
- package/dist/adapters/trpc/trpc.d.ts +131 -0
- package/dist/adapters/trpc/trpc.js +350 -0
- package/dist/adapters/trpc/trpc.js.map +1 -0
- package/dist/app.d.ts +31 -0
- package/dist/app.js +80 -0
- package/dist/app.js.map +1 -0
- package/dist/bin/aeolus-core.d.ts +2 -0
- package/dist/bin/aeolus-core.js +45 -0
- package/dist/bin/aeolus-core.js.map +1 -0
- package/dist/config.d.ts +35 -0
- package/dist/config.js +74 -0
- package/dist/config.js.map +1 -0
- package/dist/domain/identity/authenticate.d.ts +46 -0
- package/dist/domain/identity/authenticate.js +18 -0
- package/dist/domain/identity/authenticate.js.map +1 -0
- package/dist/domain/identity/console-session.d.ts +54 -0
- package/dist/domain/identity/console-session.js +29 -0
- package/dist/domain/identity/console-session.js.map +1 -0
- package/dist/domain/identity/credential.d.ts +76 -0
- package/dist/domain/identity/credential.js +63 -0
- package/dist/domain/identity/credential.js.map +1 -0
- package/dist/domain/identity/dismiss-notice.d.ts +19 -0
- package/dist/domain/identity/dismiss-notice.js +23 -0
- package/dist/domain/identity/dismiss-notice.js.map +1 -0
- package/dist/domain/identity/get-guide.d.ts +7 -0
- package/dist/domain/identity/get-guide.js +5 -0
- package/dist/domain/identity/get-guide.js.map +1 -0
- package/dist/domain/identity/get-notices.d.ts +7 -0
- package/dist/domain/identity/get-notices.js +5 -0
- package/dist/domain/identity/get-notices.js.map +1 -0
- package/dist/domain/identity/guide.d.ts +24 -0
- package/dist/domain/identity/guide.js +3 -0
- package/dist/domain/identity/guide.js.map +1 -0
- package/dist/domain/identity/issue-sign-in-ticket.d.ts +38 -0
- package/dist/domain/identity/issue-sign-in-ticket.js +39 -0
- package/dist/domain/identity/issue-sign-in-ticket.js.map +1 -0
- package/dist/domain/identity/notice.d.ts +16 -0
- package/dist/domain/identity/notice.js +12 -0
- package/dist/domain/identity/notice.js.map +1 -0
- package/dist/domain/identity/operator-account.d.ts +28 -0
- package/dist/domain/identity/operator-account.js +21 -0
- package/dist/domain/identity/operator-account.js.map +1 -0
- package/dist/domain/identity/ports.d.ts +193 -0
- package/dist/domain/identity/ports.js +2 -0
- package/dist/domain/identity/ports.js.map +1 -0
- package/dist/domain/identity/public.d.ts +3 -0
- package/dist/domain/identity/public.js +5 -0
- package/dist/domain/identity/public.js.map +1 -0
- package/dist/domain/identity/read-account.d.ts +35 -0
- package/dist/domain/identity/read-account.js +27 -0
- package/dist/domain/identity/read-account.js.map +1 -0
- package/dist/domain/identity/read-guide.d.ts +18 -0
- package/dist/domain/identity/read-guide.js +21 -0
- package/dist/domain/identity/read-guide.js.map +1 -0
- package/dist/domain/identity/read-notices.d.ts +13 -0
- package/dist/domain/identity/read-notices.js +17 -0
- package/dist/domain/identity/read-notices.js.map +1 -0
- package/dist/domain/identity/record-guide-progress.d.ts +19 -0
- package/dist/domain/identity/record-guide-progress.js +24 -0
- package/dist/domain/identity/record-guide-progress.js.map +1 -0
- package/dist/domain/identity/redeem-sign-in-ticket.d.ts +34 -0
- package/dist/domain/identity/redeem-sign-in-ticket.js +25 -0
- package/dist/domain/identity/redeem-sign-in-ticket.js.map +1 -0
- package/dist/domain/identity/reset-operator-password.d.ts +34 -0
- package/dist/domain/identity/reset-operator-password.js +55 -0
- package/dist/domain/identity/reset-operator-password.js.map +1 -0
- package/dist/domain/identity/set-guide.d.ts +13 -0
- package/dist/domain/identity/set-guide.js +12 -0
- package/dist/domain/identity/set-guide.js.map +1 -0
- package/dist/domain/identity/set-notices.d.ts +13 -0
- package/dist/domain/identity/set-notices.js +12 -0
- package/dist/domain/identity/set-notices.js.map +1 -0
- package/dist/domain/identity/set-theme.d.ts +21 -0
- package/dist/domain/identity/set-theme.js +19 -0
- package/dist/domain/identity/set-theme.js.map +1 -0
- package/dist/domain/identity/sign-in-ticket.d.ts +21 -0
- package/dist/domain/identity/sign-in-ticket.js +5 -0
- package/dist/domain/identity/sign-in-ticket.js.map +1 -0
- package/dist/domain/identity/sign-in.d.ts +51 -0
- package/dist/domain/identity/sign-in.js +43 -0
- package/dist/domain/identity/sign-in.js.map +1 -0
- package/dist/domain/identity/sign-out.d.ts +20 -0
- package/dist/domain/identity/sign-out.js +32 -0
- package/dist/domain/identity/sign-out.js.map +1 -0
- package/dist/domain/identity/start-console-session.d.ts +27 -0
- package/dist/domain/identity/start-console-session.js +54 -0
- package/dist/domain/identity/start-console-session.js.map +1 -0
- package/dist/domain/identity/start-viewer-session.d.ts +29 -0
- package/dist/domain/identity/start-viewer-session.js +42 -0
- package/dist/domain/identity/start-viewer-session.js.map +1 -0
- package/dist/domain/messaging/acknowledge-delivery.d.ts +30 -0
- package/dist/domain/messaging/acknowledge-delivery.js +31 -0
- package/dist/domain/messaging/acknowledge-delivery.js.map +1 -0
- package/dist/domain/messaging/answer-ping.d.ts +33 -0
- package/dist/domain/messaging/answer-ping.js +37 -0
- package/dist/domain/messaging/answer-ping.js.map +1 -0
- package/dist/domain/messaging/check-inbox.d.ts +33 -0
- package/dist/domain/messaging/check-inbox.js +61 -0
- package/dist/domain/messaging/check-inbox.js.map +1 -0
- package/dist/domain/messaging/content-type.d.ts +9 -0
- package/dist/domain/messaging/content-type.js +18 -0
- package/dist/domain/messaging/content-type.js.map +1 -0
- package/dist/domain/messaging/daily-message-limit.d.ts +19 -0
- package/dist/domain/messaging/daily-message-limit.js +24 -0
- package/dist/domain/messaging/daily-message-limit.js.map +1 -0
- package/dist/domain/messaging/delivery.d.ts +116 -0
- package/dist/domain/messaging/delivery.js +201 -0
- package/dist/domain/messaging/delivery.js.map +1 -0
- package/dist/domain/messaging/dismiss-delivery.d.ts +28 -0
- package/dist/domain/messaging/dismiss-delivery.js +29 -0
- package/dist/domain/messaging/dismiss-delivery.js.map +1 -0
- package/dist/domain/messaging/inbox-wait.d.ts +8 -0
- package/dist/domain/messaging/inbox-wait.js +19 -0
- package/dist/domain/messaging/inbox-wait.js.map +1 -0
- package/dist/domain/messaging/mark-done.d.ts +45 -0
- package/dist/domain/messaging/mark-done.js +49 -0
- package/dist/domain/messaging/mark-done.js.map +1 -0
- package/dist/domain/messaging/mark-read.d.ts +27 -0
- package/dist/domain/messaging/mark-read.js +34 -0
- package/dist/domain/messaging/mark-read.js.map +1 -0
- package/dist/domain/messaging/message.d.ts +104 -0
- package/dist/domain/messaging/message.js +84 -0
- package/dist/domain/messaging/message.js.map +1 -0
- package/dist/domain/messaging/payload.d.ts +9 -0
- package/dist/domain/messaging/payload.js +16 -0
- package/dist/domain/messaging/payload.js.map +1 -0
- package/dist/domain/messaging/ping-ship.d.ts +38 -0
- package/dist/domain/messaging/ping-ship.js +42 -0
- package/dist/domain/messaging/ping-ship.js.map +1 -0
- package/dist/domain/messaging/ports.d.ts +116 -0
- package/dist/domain/messaging/ports.js +2 -0
- package/dist/domain/messaging/ports.js.map +1 -0
- package/dist/domain/messaging/receive-deliveries.d.ts +68 -0
- package/dist/domain/messaging/receive-deliveries.js +119 -0
- package/dist/domain/messaging/receive-deliveries.js.map +1 -0
- package/dist/domain/messaging/receive-max.d.ts +8 -0
- package/dist/domain/messaging/receive-max.js +17 -0
- package/dist/domain/messaging/receive-max.js.map +1 -0
- package/dist/domain/messaging/reply-to-message.d.ts +35 -0
- package/dist/domain/messaging/reply-to-message.js +49 -0
- package/dist/domain/messaging/reply-to-message.js.map +1 -0
- package/dist/domain/messaging/resend-delivery.d.ts +48 -0
- package/dist/domain/messaging/resend-delivery.js +97 -0
- package/dist/domain/messaging/resend-delivery.js.map +1 -0
- package/dist/domain/messaging/send-message.d.ts +88 -0
- package/dist/domain/messaging/send-message.js +115 -0
- package/dist/domain/messaging/send-message.js.map +1 -0
- package/dist/domain/messaging/send-request.d.ts +16 -0
- package/dist/domain/messaging/send-request.js +18 -0
- package/dist/domain/messaging/send-request.js.map +1 -0
- package/dist/domain/registry/applied-limits.d.ts +15 -0
- package/dist/domain/registry/applied-limits.js +15 -0
- package/dist/domain/registry/applied-limits.js.map +1 -0
- package/dist/domain/registry/assign-crew.d.ts +31 -0
- package/dist/domain/registry/assign-crew.js +35 -0
- package/dist/domain/registry/assign-crew.js.map +1 -0
- package/dist/domain/registry/claim-ship.d.ts +49 -0
- package/dist/domain/registry/claim-ship.js +59 -0
- package/dist/domain/registry/claim-ship.js.map +1 -0
- package/dist/domain/registry/commission-ship.d.ts +54 -0
- package/dist/domain/registry/commission-ship.js +70 -0
- package/dist/domain/registry/commission-ship.js.map +1 -0
- package/dist/domain/registry/confirm-crew-release.d.ts +28 -0
- package/dist/domain/registry/confirm-crew-release.js +28 -0
- package/dist/domain/registry/confirm-crew-release.js.map +1 -0
- package/dist/domain/registry/create-fleet.d.ts +39 -0
- package/dist/domain/registry/create-fleet.js +56 -0
- package/dist/domain/registry/create-fleet.js.map +1 -0
- package/dist/domain/registry/crew-request.d.ts +148 -0
- package/dist/domain/registry/crew-request.js +175 -0
- package/dist/domain/registry/crew-request.js.map +1 -0
- package/dist/domain/registry/delete-fleet.d.ts +46 -0
- package/dist/domain/registry/delete-fleet.js +34 -0
- package/dist/domain/registry/delete-fleet.js.map +1 -0
- package/dist/domain/registry/deregister.d.ts +32 -0
- package/dist/domain/registry/deregister.js +38 -0
- package/dist/domain/registry/deregister.js.map +1 -0
- package/dist/domain/registry/explain-crew-request.d.ts +30 -0
- package/dist/domain/registry/explain-crew-request.js +31 -0
- package/dist/domain/registry/explain-crew-request.js.map +1 -0
- package/dist/domain/registry/fleet.d.ts +12 -0
- package/dist/domain/registry/fleet.js +12 -0
- package/dist/domain/registry/fleet.js.map +1 -0
- package/dist/domain/registry/found-fleet.d.ts +32 -0
- package/dist/domain/registry/found-fleet.js +43 -0
- package/dist/domain/registry/found-fleet.js.map +1 -0
- package/dist/domain/registry/get-fleet-limits.d.ts +17 -0
- package/dist/domain/registry/get-fleet-limits.js +14 -0
- package/dist/domain/registry/get-fleet-limits.js.map +1 -0
- package/dist/domain/registry/get-installation-fleet.d.ts +15 -0
- package/dist/domain/registry/get-installation-fleet.js +12 -0
- package/dist/domain/registry/get-installation-fleet.js.map +1 -0
- package/dist/domain/registry/get-installation-settings.d.ts +7 -0
- package/dist/domain/registry/get-installation-settings.js +5 -0
- package/dist/domain/registry/get-installation-settings.js.map +1 -0
- package/dist/domain/registry/get-ship.d.ts +34 -0
- package/dist/domain/registry/get-ship.js +36 -0
- package/dist/domain/registry/get-ship.js.map +1 -0
- package/dist/domain/registry/get-starting-prompt.d.ts +24 -0
- package/dist/domain/registry/get-starting-prompt.js +46 -0
- package/dist/domain/registry/get-starting-prompt.js.map +1 -0
- package/dist/domain/registry/initialise-fleet.d.ts +28 -0
- package/dist/domain/registry/initialise-fleet.js +39 -0
- package/dist/domain/registry/initialise-fleet.js.map +1 -0
- package/dist/domain/registry/installation-fleet.d.ts +36 -0
- package/dist/domain/registry/installation-fleet.js +22 -0
- package/dist/domain/registry/installation-fleet.js.map +1 -0
- package/dist/domain/registry/installation-request.d.ts +23 -0
- package/dist/domain/registry/installation-request.js +5 -0
- package/dist/domain/registry/installation-request.js.map +1 -0
- package/dist/domain/registry/lease.d.ts +51 -0
- package/dist/domain/registry/lease.js +39 -0
- package/dist/domain/registry/lease.js.map +1 -0
- package/dist/domain/registry/leases.d.ts +66 -0
- package/dist/domain/registry/leases.js +80 -0
- package/dist/domain/registry/leases.js.map +1 -0
- package/dist/domain/registry/limits.d.ts +50 -0
- package/dist/domain/registry/limits.js +24 -0
- package/dist/domain/registry/limits.js.map +1 -0
- package/dist/domain/registry/list-fleet.d.ts +70 -0
- package/dist/domain/registry/list-fleet.js +47 -0
- package/dist/domain/registry/list-fleet.js.map +1 -0
- package/dist/domain/registry/list-fleets.d.ts +11 -0
- package/dist/domain/registry/list-fleets.js +9 -0
- package/dist/domain/registry/list-fleets.js.map +1 -0
- package/dist/domain/registry/list-installation-fleets.d.ts +15 -0
- package/dist/domain/registry/list-installation-fleets.js +15 -0
- package/dist/domain/registry/list-installation-fleets.js.map +1 -0
- package/dist/domain/registry/ping-status.d.ts +17 -0
- package/dist/domain/registry/ping-status.js +28 -0
- package/dist/domain/registry/ping-status.js.map +1 -0
- package/dist/domain/registry/pingable-ship.d.ts +22 -0
- package/dist/domain/registry/pingable-ship.js +21 -0
- package/dist/domain/registry/pingable-ship.js.map +1 -0
- package/dist/domain/registry/ports.d.ts +318 -0
- package/dist/domain/registry/ports.js +2 -0
- package/dist/domain/registry/ports.js.map +1 -0
- package/dist/domain/registry/public.d.ts +8 -0
- package/dist/domain/registry/public.js +10 -0
- package/dist/domain/registry/public.js.map +1 -0
- package/dist/domain/registry/read-assigned-crew-requests.d.ts +14 -0
- package/dist/domain/registry/read-assigned-crew-requests.js +15 -0
- package/dist/domain/registry/read-assigned-crew-requests.js.map +1 -0
- package/dist/domain/registry/recrew-ship.d.ts +33 -0
- package/dist/domain/registry/recrew-ship.js +34 -0
- package/dist/domain/registry/recrew-ship.js.map +1 -0
- package/dist/domain/registry/release-ship.d.ts +38 -0
- package/dist/domain/registry/release-ship.js +47 -0
- package/dist/domain/registry/release-ship.js.map +1 -0
- package/dist/domain/registry/remove-crew-request.d.ts +28 -0
- package/dist/domain/registry/remove-crew-request.js +36 -0
- package/dist/domain/registry/remove-crew-request.js.map +1 -0
- package/dist/domain/registry/rename-ship.d.ts +30 -0
- package/dist/domain/registry/rename-ship.js +39 -0
- package/dist/domain/registry/rename-ship.js.map +1 -0
- package/dist/domain/registry/report-crew-status.d.ts +29 -0
- package/dist/domain/registry/report-crew-status.js +30 -0
- package/dist/domain/registry/report-crew-status.js.map +1 -0
- package/dist/domain/registry/report-details.d.ts +18 -0
- package/dist/domain/registry/report-details.js +41 -0
- package/dist/domain/registry/report-details.js.map +1 -0
- package/dist/domain/registry/report-log.d.ts +21 -0
- package/dist/domain/registry/report-log.js +16 -0
- package/dist/domain/registry/report-log.js.map +1 -0
- package/dist/domain/registry/report.d.ts +30 -0
- package/dist/domain/registry/report.js +30 -0
- package/dist/domain/registry/report.js.map +1 -0
- package/dist/domain/registry/request-crew.d.ts +32 -0
- package/dist/domain/registry/request-crew.js +29 -0
- package/dist/domain/registry/request-crew.js.map +1 -0
- package/dist/domain/registry/resolve-selector.d.ts +25 -0
- package/dist/domain/registry/resolve-selector.js +32 -0
- package/dist/domain/registry/resolve-selector.js.map +1 -0
- package/dist/domain/registry/retire-ship.d.ts +42 -0
- package/dist/domain/registry/retire-ship.js +68 -0
- package/dist/domain/registry/retire-ship.js.map +1 -0
- package/dist/domain/registry/set-fleet-limits.d.ts +30 -0
- package/dist/domain/registry/set-fleet-limits.js +54 -0
- package/dist/domain/registry/set-fleet-limits.js.map +1 -0
- package/dist/domain/registry/set-installation-settings.d.ts +18 -0
- package/dist/domain/registry/set-installation-settings.js +31 -0
- package/dist/domain/registry/set-installation-settings.js.map +1 -0
- package/dist/domain/registry/ship-handle.d.ts +5 -0
- package/dist/domain/registry/ship-handle.js +20 -0
- package/dist/domain/registry/ship-handle.js.map +1 -0
- package/dist/domain/registry/ship-note.d.ts +7 -0
- package/dist/domain/registry/ship-note.js +15 -0
- package/dist/domain/registry/ship-note.js.map +1 -0
- package/dist/domain/registry/ship-report.d.ts +42 -0
- package/dist/domain/registry/ship-report.js +93 -0
- package/dist/domain/registry/ship-report.js.map +1 -0
- package/dist/domain/registry/ship.d.ts +190 -0
- package/dist/domain/registry/ship.js +334 -0
- package/dist/domain/registry/ship.js.map +1 -0
- package/dist/domain/registry/ships.d.ts +25 -0
- package/dist/domain/registry/ships.js +22 -0
- package/dist/domain/registry/ships.js.map +1 -0
- package/dist/domain/registry/starting-prompt.d.ts +32 -0
- package/dist/domain/registry/starting-prompt.js +22 -0
- package/dist/domain/registry/starting-prompt.js.map +1 -0
- package/dist/domain/registry/whoami.d.ts +20 -0
- package/dist/domain/registry/whoami.js +15 -0
- package/dist/domain/registry/whoami.js.map +1 -0
- package/dist/domain/shared/caller.d.ts +25 -0
- package/dist/domain/shared/caller.js +8 -0
- package/dist/domain/shared/caller.js.map +1 -0
- package/dist/domain/shared/clock.d.ts +4 -0
- package/dist/domain/shared/clock.js +2 -0
- package/dist/domain/shared/clock.js.map +1 -0
- package/dist/domain/shared/errors.d.ts +13 -0
- package/dist/domain/shared/errors.js +6 -0
- package/dist/domain/shared/errors.js.map +1 -0
- package/dist/domain/shared/events.d.ts +75 -0
- package/dist/domain/shared/events.js +9 -0
- package/dist/domain/shared/events.js.map +1 -0
- package/dist/domain/shared/follow-fleet.d.ts +32 -0
- package/dist/domain/shared/follow-fleet.js +65 -0
- package/dist/domain/shared/follow-fleet.js.map +1 -0
- package/dist/domain/shared/history.d.ts +124 -0
- package/dist/domain/shared/history.js +16 -0
- package/dist/domain/shared/history.js.map +1 -0
- package/dist/domain/shared/idempotency-key.d.ts +8 -0
- package/dist/domain/shared/idempotency-key.js +14 -0
- package/dist/domain/shared/idempotency-key.js.map +1 -0
- package/dist/domain/shared/notifier.d.ts +17 -0
- package/dist/domain/shared/notifier.js +2 -0
- package/dist/domain/shared/notifier.js.map +1 -0
- package/dist/domain/shared/ping.d.ts +18 -0
- package/dist/domain/shared/ping.js +8 -0
- package/dist/domain/shared/ping.js.map +1 -0
- package/dist/domain/shared/read-fleet-events.d.ts +29 -0
- package/dist/domain/shared/read-fleet-events.js +25 -0
- package/dist/domain/shared/read-fleet-events.js.map +1 -0
- package/dist/domain/shared/read-fleet-limits.d.ts +39 -0
- package/dist/domain/shared/read-fleet-limits.js +24 -0
- package/dist/domain/shared/read-fleet-limits.js.map +1 -0
- package/dist/domain/shared/read-inbox.d.ts +20 -0
- package/dist/domain/shared/read-inbox.js +16 -0
- package/dist/domain/shared/read-inbox.js.map +1 -0
- package/dist/domain/shared/read-message.d.ts +21 -0
- package/dist/domain/shared/read-message.js +18 -0
- package/dist/domain/shared/read-message.js.map +1 -0
- package/dist/domain/shared/read-needs-attention.d.ts +12 -0
- package/dist/domain/shared/read-needs-attention.js +10 -0
- package/dist/domain/shared/read-needs-attention.js.map +1 -0
- package/dist/domain/shared/read-ship-messages.d.ts +28 -0
- package/dist/domain/shared/read-ship-messages.js +30 -0
- package/dist/domain/shared/read-ship-messages.js.map +1 -0
- package/dist/domain/shared/read-ship-timeline.d.ts +18 -0
- package/dist/domain/shared/read-ship-timeline.js +16 -0
- package/dist/domain/shared/read-ship-timeline.js.map +1 -0
- package/dist/domain/shared/result.d.ts +16 -0
- package/dist/domain/shared/result.js +7 -0
- package/dist/domain/shared/result.js.map +1 -0
- package/dist/domain/shared/secrets.d.ts +26 -0
- package/dist/domain/shared/secrets.js +2 -0
- package/dist/domain/shared/secrets.js.map +1 -0
- package/dist/domain/shared/selector.d.ts +29 -0
- package/dist/domain/shared/selector.js +2 -0
- package/dist/domain/shared/selector.js.map +1 -0
- package/dist/domain/shared/unit-of-work.d.ts +13 -0
- package/dist/domain/shared/unit-of-work.js +2 -0
- package/dist/domain/shared/unit-of-work.js.map +1 -0
- package/dist/domain/shared/utc-day.d.ts +4 -0
- package/dist/domain/shared/utc-day.js +9 -0
- package/dist/domain/shared/utc-day.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/start.d.ts +6 -0
- package/dist/start.js +29 -0
- package/dist/start.js.map +1 -0
- package/dist/wiring.d.ts +158 -0
- package/dist/wiring.js +185 -0
- package/dist/wiring.js.map +1 -0
- package/package.json +56 -3
- package/prisma.config.ts +18 -0
- package/src/adapters/prisma/migrations/20260929124818_init/migration.sql +201 -0
- package/src/adapters/prisma/migrations/20260929160000_fleet_argo_console_session/migration.sql +130 -0
- package/src/adapters/prisma/migrations/20260929220017_operator_login/migration.sql +27 -0
- package/src/adapters/prisma/migrations/20260930090000_crew_token/migration.sql +5 -0
- package/src/adapters/prisma/migrations/20260930120000_send/migration.sql +30 -0
- package/src/adapters/prisma/migrations/20260930150000_receive/migration.sql +24 -0
- package/src/adapters/prisma/migrations/20261001010000_event_seq/migration.sql +34 -0
- package/src/adapters/prisma/migrations/20261001020000_console_session_end_reason/migration.sql +14 -0
- package/src/adapters/prisma/migrations/20261001030000_account_theme_session_device/migration.sql +8 -0
- package/src/adapters/prisma/migrations/20261001040000_lease_last_seen/migration.sql +2 -0
- package/src/adapters/prisma/migrations/20261002190000_lease_report/migration.sql +7 -0
- package/src/adapters/prisma/migrations/20261003140000_commission_key/migration.sql +7 -0
- package/src/adapters/prisma/migrations/20261003200000_message_model/migration.sql +5 -0
- package/src/adapters/prisma/migrations/20261003201000_lease_harness/migration.sql +2 -0
- package/src/adapters/prisma/migrations/20261004120000_operator_without_password/migration.sql +2 -0
- package/src/adapters/prisma/migrations/20261004121000_installation_requests/migration.sql +21 -0
- package/src/adapters/prisma/migrations/20261004122000_events_deleted_with_their_fleet/migration.sql +11 -0
- package/src/adapters/prisma/migrations/20261004130000_sign_in_tickets/migration.sql +16 -0
- package/src/adapters/prisma/migrations/20261004140000_fleet_limits/migration.sql +6 -0
- package/src/adapters/prisma/migrations/20261004141000_installation_settings/migration.sql +12 -0
- package/src/adapters/prisma/migrations/20261005090000_viewer_ship/migration.sql +2 -0
- package/src/adapters/prisma/migrations/20261005100000_viewer_sessions/migration.sql +20 -0
- package/src/adapters/prisma/migrations/20261005110000_notices/migration.sql +37 -0
- package/src/adapters/prisma/migrations/20261005120000_guide/migration.sql +34 -0
- package/src/adapters/prisma/migrations/20261006100000_fleet_crew_scope/migration.sql +8 -0
- package/src/adapters/prisma/migrations/20261006140000_lease_report_details/migration.sql +3 -0
- package/src/adapters/prisma/migrations/20261006160000_crew_requests/migration.sql +20 -0
- package/src/adapters/prisma/migrations/20261006180000_crew_scopes/migration.sql +9 -0
- package/src/adapters/prisma/migrations/20261006190000_crew_assignment/migration.sql +13 -0
- package/src/adapters/prisma/migrations/20261006200000_crew_request_reason/migration.sql +3 -0
- package/src/adapters/prisma/migrations/migration_lock.toml +3 -0
- package/src/adapters/prisma/schema.prisma +558 -0
|
@@ -0,0 +1,427 @@
|
|
|
1
|
+
import { PING_CONTENT_TYPE } from '@aeolus-fleet/common';
|
|
2
|
+
import { Prisma } from './generated/client.js';
|
|
3
|
+
import { toAbandonedDelivery, toCrewRequest, toDeliveryFromSql, toFleet, toLease, toLeaseShipId, toShip, toShipFacts, toShipFromSql, toShipReport, } from './rows.js';
|
|
4
|
+
export function createPrismaFleetRepository(db) {
|
|
5
|
+
return {
|
|
6
|
+
lockInitialisation: async () => {
|
|
7
|
+
// A transaction-level advisory lock on one fixed key: released at commit or rollback.
|
|
8
|
+
await db.$executeRaw `SELECT pg_advisory_xact_lock(hashtext('aeolus:fleet-initialisation'))`;
|
|
9
|
+
},
|
|
10
|
+
count: () => db.fleet.count(),
|
|
11
|
+
list: async () => (await db.fleet.findMany({ orderBy: { id: 'asc' } })).map(toFleet),
|
|
12
|
+
create: async (fleet) => {
|
|
13
|
+
await db.fleet.create({ data: fleet });
|
|
14
|
+
},
|
|
15
|
+
limitSettings: async (fleetId) => {
|
|
16
|
+
const row = await db.fleet.findUnique({ where: { id: fleetId }, select: { shipLimitSet: true, shipLimit: true, dailyMessageLimitSet: true, dailyMessageLimit: true } });
|
|
17
|
+
if (!row) {
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
ships: row.shipLimitSet ? { kind: 'fleet', limit: row.shipLimit } : { kind: 'default' },
|
|
22
|
+
dailyMessages: row.dailyMessageLimitSet ? { kind: 'fleet', limit: row.dailyMessageLimit } : { kind: 'default' },
|
|
23
|
+
};
|
|
24
|
+
},
|
|
25
|
+
setLimitSettings: async (fleetId, settings) => {
|
|
26
|
+
await db.fleet.update({
|
|
27
|
+
where: { id: fleetId },
|
|
28
|
+
data: {
|
|
29
|
+
shipLimitSet: settings.ships.kind === 'fleet',
|
|
30
|
+
shipLimit: settings.ships.kind === 'fleet' ? settings.ships.limit : null,
|
|
31
|
+
dailyMessageLimitSet: settings.dailyMessages.kind === 'fleet',
|
|
32
|
+
dailyMessageLimit: settings.dailyMessages.kind === 'fleet' ? settings.dailyMessages.limit : null,
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
},
|
|
36
|
+
findForUpdate: async (fleetId) => {
|
|
37
|
+
const [row] = await db.$queryRaw `
|
|
38
|
+
SELECT id, name, created_at AS "createdAt" FROM fleets WHERE id = ${fleetId} FOR UPDATE`;
|
|
39
|
+
return row === undefined ? undefined : toFleet(row);
|
|
40
|
+
},
|
|
41
|
+
delete: async (fleetId) => {
|
|
42
|
+
// Events are append-only; naming the fleet for this transaction alone lets
|
|
43
|
+
// its events go with it, and no other fleet's (decision 0020).
|
|
44
|
+
await db.$queryRaw `SELECT set_config('aeolus.deleting_fleet', ${fleetId}, true)`;
|
|
45
|
+
// Children first: every foreign key restricts deletes. A message may answer
|
|
46
|
+
// or resend another of the fleet, so those links go before the messages.
|
|
47
|
+
await db.$executeRaw `DELETE FROM events WHERE fleet_id = ${fleetId}`;
|
|
48
|
+
await db.$executeRaw `DELETE FROM deliveries WHERE fleet_id = ${fleetId}`;
|
|
49
|
+
await db.$executeRaw `UPDATE messages SET in_reply_to_message_id = NULL, resend_of_message_id = NULL WHERE fleet_id = ${fleetId}`;
|
|
50
|
+
await db.$executeRaw `DELETE FROM messages WHERE fleet_id = ${fleetId}`;
|
|
51
|
+
await db.$executeRaw `DELETE FROM notice_dismissals WHERE fleet_id = ${fleetId}`;
|
|
52
|
+
await db.$executeRaw `DELETE FROM guide_progress WHERE fleet_id = ${fleetId}`;
|
|
53
|
+
await db.$executeRaw `DELETE FROM console_sessions WHERE fleet_id = ${fleetId}`;
|
|
54
|
+
await db.$executeRaw `DELETE FROM sign_in_tickets WHERE fleet_id = ${fleetId}`;
|
|
55
|
+
await db.$executeRaw `DELETE FROM credentials WHERE fleet_id = ${fleetId}`;
|
|
56
|
+
await db.$executeRaw `DELETE FROM crew_requests WHERE fleet_id = ${fleetId}`;
|
|
57
|
+
await db.$executeRaw `DELETE FROM leases WHERE fleet_id = ${fleetId}`;
|
|
58
|
+
await db.$executeRaw `DELETE FROM ships WHERE fleet_id = ${fleetId}`;
|
|
59
|
+
await db.$executeRaw `DELETE FROM operators WHERE fleet_id = ${fleetId}`;
|
|
60
|
+
// The request that created the fleet names it, so it goes too; a delete's record names nothing of it.
|
|
61
|
+
await db.$executeRaw `DELETE FROM installation_requests WHERE fleet_id = ${fleetId}`;
|
|
62
|
+
await db.$executeRaw `DELETE FROM fleets WHERE id = ${fleetId}`;
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
export function createPrismaCrewRequestRepository(db) {
|
|
67
|
+
return {
|
|
68
|
+
find: async (fleetId, shipId) => {
|
|
69
|
+
const row = await db.crewRequest.findUnique({ where: { fleetId_shipId: { fleetId, shipId } } });
|
|
70
|
+
return row === null ? undefined : toCrewRequest(row);
|
|
71
|
+
},
|
|
72
|
+
save: async ({ fleetId, shipId, settings, settingsVersion, requestedAt, assignedTo, status, reason }) => {
|
|
73
|
+
await db.crewRequest.upsert({
|
|
74
|
+
where: { fleetId_shipId: { fleetId, shipId } },
|
|
75
|
+
create: { fleetId, shipId, settings, settingsVersion, requestedAt, assignedTo, status, reason },
|
|
76
|
+
update: { settings, settingsVersion, requestedAt, assignedTo, status, reason },
|
|
77
|
+
});
|
|
78
|
+
},
|
|
79
|
+
listAssignedTo: async (fleetId, trierarchShipId) => {
|
|
80
|
+
const rows = await db.crewRequest.findMany({ where: { fleetId, assignedTo: trierarchShipId }, orderBy: { shipId: 'asc' } });
|
|
81
|
+
return rows.map(toCrewRequest);
|
|
82
|
+
},
|
|
83
|
+
remove: async (fleetId, shipId) => {
|
|
84
|
+
await db.crewRequest.deleteMany({ where: { fleetId, shipId } });
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
export function createPrismaShipRepository(db) {
|
|
89
|
+
return {
|
|
90
|
+
create: async (ship) => {
|
|
91
|
+
const { commission, ...columns } = ship;
|
|
92
|
+
await db.ship.create({
|
|
93
|
+
data: {
|
|
94
|
+
...columns,
|
|
95
|
+
scopes: [...ship.scopes],
|
|
96
|
+
commissionedBy: commission?.by ?? null,
|
|
97
|
+
commissionKey: commission?.idempotencyKey ?? null,
|
|
98
|
+
commissionRequestHash: commission?.requestHash ?? null,
|
|
99
|
+
},
|
|
100
|
+
});
|
|
101
|
+
},
|
|
102
|
+
findOperatorShip: async (fleetId) => {
|
|
103
|
+
const row = await db.ship.findFirst({ where: { fleetId, kind: 'operator' } });
|
|
104
|
+
return row ? toShip(row) : undefined;
|
|
105
|
+
},
|
|
106
|
+
findViewerShip: async (fleetId) => {
|
|
107
|
+
const row = await db.ship.findFirst({ where: { fleetId, kind: 'viewer' } });
|
|
108
|
+
return row ? toShip(row) : undefined;
|
|
109
|
+
},
|
|
110
|
+
lockName: async (fleetId, name) => {
|
|
111
|
+
// A transaction-level advisory lock on the fleet and the name, released at
|
|
112
|
+
// commit or rollback. Read committed: once the holder commits, the next
|
|
113
|
+
// one's lookup sees the ship it created.
|
|
114
|
+
await db.$executeRaw `SELECT pg_advisory_xact_lock(hashtext(${fleetId}), hashtext(${name}))`;
|
|
115
|
+
},
|
|
116
|
+
lockShipCount: async (fleetId) => {
|
|
117
|
+
// A transaction-level advisory lock on the fleet's ship count, released at commit or rollback.
|
|
118
|
+
await db.$executeRaw `SELECT pg_advisory_xact_lock(hashtext('ship-count'), hashtext(${fleetId}))`;
|
|
119
|
+
},
|
|
120
|
+
countActive: (fleetId) => db.ship.count({ where: { fleetId, retiredAt: null } }),
|
|
121
|
+
lockCommissionKey: async ({ fleetId, by, idempotencyKey }) => {
|
|
122
|
+
// As for a name: a transaction-level advisory lock on the commissioning
|
|
123
|
+
// ship and its key, so the second commission under one key waits and then
|
|
124
|
+
// finds the ship the first one created.
|
|
125
|
+
await db.$executeRaw `SELECT pg_advisory_xact_lock(hashtext(${fleetId}), hashtext(${`${by}:${idempotencyKey}`}))`;
|
|
126
|
+
},
|
|
127
|
+
findByCommissionKey: async ({ fleetId, by, idempotencyKey }) => {
|
|
128
|
+
const row = await db.ship.findFirst({ where: { fleetId, commissionedBy: by, commissionKey: idempotencyKey } });
|
|
129
|
+
return row ? toShip(row) : undefined;
|
|
130
|
+
},
|
|
131
|
+
find: async (fleetId, shipId) => {
|
|
132
|
+
const row = await db.ship.findFirst({ where: { fleetId, id: shipId } });
|
|
133
|
+
return row ? toShip(row) : undefined;
|
|
134
|
+
},
|
|
135
|
+
findActiveByName: async (fleetId, name) => {
|
|
136
|
+
const row = await db.ship.findFirst({ where: { fleetId, name, retiredAt: null } });
|
|
137
|
+
return row ? toShip(row) : undefined;
|
|
138
|
+
},
|
|
139
|
+
findForUpdate: async (fleetId, shipId) => {
|
|
140
|
+
// FOR NO KEY UPDATE, not FOR UPDATE: it still makes a second lock on the
|
|
141
|
+
// ship wait, but not the foreign key checks of rows that point at the
|
|
142
|
+
// ship (a new lease, secret or event), so those never deadlock with it.
|
|
143
|
+
const [row] = await db.$queryRaw `
|
|
144
|
+
SELECT id, fleet_id, name, type, kind::text AS kind, scopes, note, created_at, retired_at, commissioned_by, commission_key, commission_request_hash
|
|
145
|
+
FROM ships
|
|
146
|
+
WHERE fleet_id = ${fleetId} AND id = ${shipId}
|
|
147
|
+
FOR NO KEY UPDATE`;
|
|
148
|
+
return row ? toShipFromSql(row) : undefined;
|
|
149
|
+
},
|
|
150
|
+
findForShare: async (fleetId, shipId) => {
|
|
151
|
+
// FOR SHARE, not FOR KEY SHARE: it makes a use case that locks the ship
|
|
152
|
+
// FOR NO KEY UPDATE to change it, such as a retire, wait for the send,
|
|
153
|
+
// while other sends to the ship share the lock.
|
|
154
|
+
const [row] = await db.$queryRaw `
|
|
155
|
+
SELECT id, fleet_id, name, type, kind::text AS kind, scopes, note, created_at, retired_at, commissioned_by, commission_key, commission_request_hash
|
|
156
|
+
FROM ships
|
|
157
|
+
WHERE fleet_id = ${fleetId} AND id = ${shipId}
|
|
158
|
+
FOR SHARE`;
|
|
159
|
+
return row ? toShipFromSql(row) : undefined;
|
|
160
|
+
},
|
|
161
|
+
findActiveByNameForShare: async (fleetId, name) => {
|
|
162
|
+
// Read committed: a send that waited for a retire checks the ship again
|
|
163
|
+
// once it is free, and no longer finds it by its name.
|
|
164
|
+
const [row] = await db.$queryRaw `
|
|
165
|
+
SELECT id, fleet_id, name, type, kind::text AS kind, scopes, note, created_at, retired_at, commissioned_by, commission_key, commission_request_hash
|
|
166
|
+
FROM ships
|
|
167
|
+
WHERE fleet_id = ${fleetId} AND name = ${name} AND retired_at IS NULL
|
|
168
|
+
FOR SHARE`;
|
|
169
|
+
return row ? toShipFromSql(row) : undefined;
|
|
170
|
+
},
|
|
171
|
+
hasActiveShipOfType: async (fleetId, type) => {
|
|
172
|
+
const row = await db.ship.findFirst({ where: { fleetId, type, retiredAt: null, kind: { not: 'viewer' } }, select: { id: true } });
|
|
173
|
+
return row !== null;
|
|
174
|
+
},
|
|
175
|
+
rename: async ({ fleetId, shipId, name }) => {
|
|
176
|
+
await db.ship.updateMany({ where: { fleetId, id: shipId }, data: { name } });
|
|
177
|
+
},
|
|
178
|
+
retire: async ({ fleetId, shipId, at }) => {
|
|
179
|
+
await db.ship.update({ where: { fleetId_id: { fleetId, id: shipId } }, data: { retiredAt: at } });
|
|
180
|
+
},
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
export function createPrismaLeaseRepository(db) {
|
|
184
|
+
return {
|
|
185
|
+
findOpenForUpdate: async (fleetId, shipId) => {
|
|
186
|
+
const [row] = await db.$queryRaw `
|
|
187
|
+
SELECT id, fleet_id, ship_id, location::text AS location, location_description, harness, crew_token_hash,
|
|
188
|
+
started_at, ended_at
|
|
189
|
+
FROM leases
|
|
190
|
+
WHERE fleet_id = ${fleetId} AND ship_id = ${shipId} AND ended_at IS NULL
|
|
191
|
+
FOR UPDATE`;
|
|
192
|
+
return row ? toLease(row) : undefined;
|
|
193
|
+
},
|
|
194
|
+
findOpenForShare: async (fleetId, shipId) => {
|
|
195
|
+
// FOR SHARE, as findOpenByIdForShare: a release waits for the holder.
|
|
196
|
+
const [row] = await db.$queryRaw `
|
|
197
|
+
SELECT id, fleet_id, ship_id, location::text AS location, location_description, harness, crew_token_hash,
|
|
198
|
+
started_at, ended_at
|
|
199
|
+
FROM leases
|
|
200
|
+
WHERE fleet_id = ${fleetId} AND ship_id = ${shipId} AND ended_at IS NULL
|
|
201
|
+
FOR SHARE`;
|
|
202
|
+
return row ? toLease(row) : undefined;
|
|
203
|
+
},
|
|
204
|
+
markSeen: async ({ fleetId, leaseId, at }) => {
|
|
205
|
+
// GREATEST keeps an overlapping call that marked it later from moving it back.
|
|
206
|
+
await db.$executeRaw `
|
|
207
|
+
UPDATE leases SET last_seen_at = GREATEST(COALESCE(last_seen_at, ${at}), ${at})
|
|
208
|
+
WHERE fleet_id = ${fleetId} AND id = ${leaseId}`;
|
|
209
|
+
},
|
|
210
|
+
findReportForUpdate: async (fleetId, leaseId) => {
|
|
211
|
+
const [row] = await db.$queryRaw `
|
|
212
|
+
SELECT report_state::text AS report_state, report_note, reported_at, report_details, report_details_version
|
|
213
|
+
FROM leases
|
|
214
|
+
WHERE fleet_id = ${fleetId} AND id = ${leaseId} AND ended_at IS NULL
|
|
215
|
+
FOR UPDATE`;
|
|
216
|
+
return row === undefined ? undefined : { report: toShipReport(row) };
|
|
217
|
+
},
|
|
218
|
+
findReportLog: async (fleetId, leaseId) => {
|
|
219
|
+
const [own] = await db.$queryRaw `
|
|
220
|
+
SELECT ship_id, report_state::text AS report_state, report_note, reported_at, report_details, report_details_version
|
|
221
|
+
FROM leases
|
|
222
|
+
WHERE fleet_id = ${fleetId} AND id = ${leaseId} AND ended_at IS NULL`;
|
|
223
|
+
if (own === undefined) {
|
|
224
|
+
return undefined;
|
|
225
|
+
}
|
|
226
|
+
const shipId = toLeaseShipId(own);
|
|
227
|
+
// The previous crew: the ship's lease that ended last before this one.
|
|
228
|
+
const [previous] = await db.$queryRaw `
|
|
229
|
+
SELECT report_state::text AS report_state, report_note, reported_at, report_details, report_details_version
|
|
230
|
+
FROM leases
|
|
231
|
+
WHERE fleet_id = ${fleetId} AND ship_id = ${shipId} AND id <> ${leaseId} AND ended_at IS NOT NULL
|
|
232
|
+
ORDER BY ended_at DESC, id DESC
|
|
233
|
+
LIMIT 1`;
|
|
234
|
+
return { report: toShipReport(own), previousCrew: previous === undefined ? null : toShipReport(previous) };
|
|
235
|
+
},
|
|
236
|
+
saveReport: async ({ fleetId, leaseId, report }) => {
|
|
237
|
+
await db.lease.updateMany({
|
|
238
|
+
where: { fleetId, id: leaseId },
|
|
239
|
+
data: {
|
|
240
|
+
reportState: report.state,
|
|
241
|
+
reportNote: report.note,
|
|
242
|
+
reportedAt: report.reportedAt,
|
|
243
|
+
// DbNull: no details is SQL NULL, not the JSON value null.
|
|
244
|
+
reportDetails: report.details ?? Prisma.DbNull,
|
|
245
|
+
reportDetailsVersion: report.detailsVersion,
|
|
246
|
+
},
|
|
247
|
+
});
|
|
248
|
+
},
|
|
249
|
+
findOpenByIdForShare: async (fleetId, leaseId) => {
|
|
250
|
+
// FOR SHARE, not FOR KEY SHARE: ending the lease updates it, so a release
|
|
251
|
+
// or a takeover waits for the holder, while many receives share the lock.
|
|
252
|
+
const [row] = await db.$queryRaw `
|
|
253
|
+
SELECT id, fleet_id, ship_id, location::text AS location, location_description, harness, crew_token_hash,
|
|
254
|
+
started_at, ended_at
|
|
255
|
+
FROM leases
|
|
256
|
+
WHERE fleet_id = ${fleetId} AND id = ${leaseId} AND ended_at IS NULL
|
|
257
|
+
FOR SHARE`;
|
|
258
|
+
return row ? toLease(row) : undefined;
|
|
259
|
+
},
|
|
260
|
+
open: async (lease) => {
|
|
261
|
+
await db.lease.create({
|
|
262
|
+
data: {
|
|
263
|
+
id: lease.id,
|
|
264
|
+
fleetId: lease.fleetId,
|
|
265
|
+
shipId: lease.shipId,
|
|
266
|
+
location: lease.location.kind,
|
|
267
|
+
locationDescription: lease.location.description,
|
|
268
|
+
harness: lease.harness,
|
|
269
|
+
crewTokenHash: lease.crewTokenHash,
|
|
270
|
+
startedAt: lease.startedAt,
|
|
271
|
+
endedAt: lease.endedAt,
|
|
272
|
+
},
|
|
273
|
+
});
|
|
274
|
+
},
|
|
275
|
+
end: async ({ fleetId, leaseId, endedAt }) => {
|
|
276
|
+
const [row] = await db.$queryRaw `
|
|
277
|
+
UPDATE leases SET ended_at = ${endedAt}
|
|
278
|
+
WHERE fleet_id = ${fleetId} AND id = ${leaseId} AND ended_at IS NULL
|
|
279
|
+
RETURNING id, fleet_id, ship_id, location::text AS location, location_description, harness, crew_token_hash,
|
|
280
|
+
started_at, ended_at`;
|
|
281
|
+
return row ? toLease(row) : undefined;
|
|
282
|
+
},
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
export function createPrismaInFlightDeliveries(db) {
|
|
286
|
+
return {
|
|
287
|
+
returnToPending: async (fleetId, leaseId) => {
|
|
288
|
+
// One statement, on the index of a lease's claims. The lease has just
|
|
289
|
+
// ended in this transaction, after any receive holding it FOR SHARE
|
|
290
|
+
// committed, so read committed sees every claim made under it. Only the
|
|
291
|
+
// claim is cleared: recipient and attempts stay.
|
|
292
|
+
const rows = await db.$queryRaw `
|
|
293
|
+
WITH returned AS (
|
|
294
|
+
UPDATE deliveries SET state = 'pending', claimed_by_ship_id = NULL, claimed_by_lease_id = NULL
|
|
295
|
+
WHERE fleet_id = ${fleetId} AND claimed_by_lease_id = ${leaseId} AND state = 'delivered'
|
|
296
|
+
RETURNING id, fleet_id, message_id, recipient_ship_id, recipient_type, state::text AS state,
|
|
297
|
+
claimed_by_ship_id, claimed_by_lease_id, attempts, created_at
|
|
298
|
+
)
|
|
299
|
+
SELECT * FROM returned ORDER BY created_at, id`;
|
|
300
|
+
return rows
|
|
301
|
+
.map(toDeliveryFromSql)
|
|
302
|
+
.map(({ id, messageId, recipient, attempts }) => ({ deliveryId: id, messageId, recipient, attempts }));
|
|
303
|
+
},
|
|
304
|
+
abandonPendingTo: async (fleetId, shipId) => {
|
|
305
|
+
const rows = await db.$queryRaw `
|
|
306
|
+
UPDATE deliveries SET state = 'abandoned'
|
|
307
|
+
WHERE fleet_id = ${fleetId} AND recipient_ship_id = ${shipId} AND state = 'pending'
|
|
308
|
+
RETURNING id, message_id, created_at`;
|
|
309
|
+
return rows
|
|
310
|
+
.map(toAbandonedDelivery)
|
|
311
|
+
.sort((first, second) => first.createdAt.getTime() - second.createdAt.getTime() || first.deliveryId.localeCompare(second.deliveryId))
|
|
312
|
+
.map(({ deliveryId, messageId }) => ({ deliveryId, messageId }));
|
|
313
|
+
},
|
|
314
|
+
};
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* The last model the ship `s` of the outer query stated on a send, and when:
|
|
318
|
+
* its newest message with a model that its sessions sent. A resend is the
|
|
319
|
+
* operator's, under the original sender, so it never counts.
|
|
320
|
+
*/
|
|
321
|
+
const lastModelOfShip = Prisma.sql `
|
|
322
|
+
SELECT m.model, m.created_at
|
|
323
|
+
FROM messages m
|
|
324
|
+
WHERE m.fleet_id = s.fleet_id AND m.sender_ship_id = s.id AND m.model IS NOT NULL AND m.resend_of_message_id IS NULL
|
|
325
|
+
ORDER BY m.created_at DESC, m.id DESC
|
|
326
|
+
LIMIT 1`;
|
|
327
|
+
/**
|
|
328
|
+
* The newest ping to the ship `s` of the outer query: when it was sent, its
|
|
329
|
+
* delivery's state, and when a pong acknowledged it, if one did.
|
|
330
|
+
*/
|
|
331
|
+
const lastPingOfShip = Prisma.sql `
|
|
332
|
+
SELECT m.created_at AS sent_at, d.state::text AS delivery_state,
|
|
333
|
+
(SELECT e.occurred_at FROM events e
|
|
334
|
+
WHERE e.fleet_id = d.fleet_id AND e.delivery_id = d.id
|
|
335
|
+
AND e.type = 'DeliveryAcknowledged' AND e.details->>'answer' = 'pong'
|
|
336
|
+
ORDER BY e.seq LIMIT 1) AS answered_at
|
|
337
|
+
FROM deliveries d
|
|
338
|
+
JOIN messages m ON m.fleet_id = d.fleet_id AND m.id = d.message_id
|
|
339
|
+
WHERE d.fleet_id = s.fleet_id AND d.recipient_ship_id = s.id AND m.content_type = ${PING_CONTENT_TYPE}
|
|
340
|
+
ORDER BY m.created_at DESC, m.id DESC
|
|
341
|
+
LIMIT 1`;
|
|
342
|
+
/**
|
|
343
|
+
* Who crewed the ship: the ship that got the starting prompt its open lease
|
|
344
|
+
* claimed with, the actor of its last StartingPromptIssued before the lease
|
|
345
|
+
* started. None while no lease is open.
|
|
346
|
+
*/
|
|
347
|
+
const crewedByOfShip = Prisma.sql `
|
|
348
|
+
SELECT a.id, a.name
|
|
349
|
+
FROM events e
|
|
350
|
+
JOIN ships a ON a.fleet_id = e.fleet_id AND a.id = e.actor_ship_id
|
|
351
|
+
WHERE l.id IS NOT NULL AND e.fleet_id = s.fleet_id AND e.ship_id = s.id
|
|
352
|
+
AND e.type = 'StartingPromptIssued' AND e.occurred_at <= l.started_at
|
|
353
|
+
ORDER BY e.seq DESC
|
|
354
|
+
LIMIT 1`;
|
|
355
|
+
export function createPrismaFleetListing(db) {
|
|
356
|
+
return {
|
|
357
|
+
ships: async (fleetId) => {
|
|
358
|
+
// One row per ship: at most one lease is open and at most one secret is
|
|
359
|
+
// valid per ship (partial unique indexes), so neither join multiplies rows.
|
|
360
|
+
const rows = await db.$queryRaw `
|
|
361
|
+
SELECT s.id, s.fleet_id, s.name, s.type, s.kind::text AS kind, s.scopes, s.note, s.created_at, s.retired_at,
|
|
362
|
+
s.commissioned_by, s.commission_key, s.commission_request_hash,
|
|
363
|
+
l.location::text AS lease_location, l.location_description AS lease_location_description,
|
|
364
|
+
l.harness AS lease_harness, l.started_at AS lease_started_at, l.last_seen_at AS lease_last_seen_at,
|
|
365
|
+
l.report_state::text AS report_state, l.report_note, l.reported_at, l.report_details, l.report_details_version,
|
|
366
|
+
c.issued_at AS secret_issued_at, c.claimed_at AS secret_claimed_at,
|
|
367
|
+
cr.settings AS crew_request_settings, cr.settings_version AS crew_request_settings_version,
|
|
368
|
+
cr.requested_at AS crew_request_requested_at, cr.assigned_to_ship_id AS crew_request_assigned_to,
|
|
369
|
+
cr.status::text AS crew_request_status, ca.name AS crew_request_assignee_name, cr.reason AS crew_request_reason,
|
|
370
|
+
cb.id AS crewed_by_id, cb.name AS crewed_by_name,
|
|
371
|
+
p.sent_at AS ping_sent_at, p.delivery_state AS ping_delivery_state, p.answered_at AS ping_answered_at,
|
|
372
|
+
lm.model AS last_model, lm.created_at AS last_model_stated_at,
|
|
373
|
+
(SELECT max(cs.last_used_at) FROM console_sessions cs
|
|
374
|
+
WHERE cs.fleet_id = s.fleet_id AND cs.ship_id = s.id AND cs.lease_id IS NULL) AS last_viewed_at,
|
|
375
|
+
(SELECT max(el.ended_at) FROM leases el
|
|
376
|
+
WHERE el.fleet_id = s.fleet_id AND el.ship_id = s.id AND el.ended_at IS NOT NULL) AS last_lease_ended_at
|
|
377
|
+
FROM ships s
|
|
378
|
+
LEFT JOIN leases l ON l.fleet_id = s.fleet_id AND l.ship_id = s.id AND l.ended_at IS NULL
|
|
379
|
+
LEFT JOIN credentials c ON c.fleet_id = s.fleet_id AND c.ship_id = s.id AND c.invalidated_at IS NULL
|
|
380
|
+
LEFT JOIN crew_requests cr ON cr.fleet_id = s.fleet_id AND cr.ship_id = s.id
|
|
381
|
+
LEFT JOIN ships ca ON ca.fleet_id = cr.fleet_id AND ca.id = cr.assigned_to_ship_id
|
|
382
|
+
LEFT JOIN LATERAL (${crewedByOfShip}) cb ON true
|
|
383
|
+
LEFT JOIN LATERAL (${lastPingOfShip}) p ON true
|
|
384
|
+
LEFT JOIN LATERAL (${lastModelOfShip}) lm ON true
|
|
385
|
+
WHERE s.fleet_id = ${fleetId}
|
|
386
|
+
ORDER BY s.id`;
|
|
387
|
+
return rows.map(toShipFacts);
|
|
388
|
+
},
|
|
389
|
+
deliveryCounts: async (fleetId, shipId) => {
|
|
390
|
+
const [inFlight, open] = await Promise.all([
|
|
391
|
+
db.delivery.count({ where: { fleetId, claimedByShipId: shipId, state: 'delivered' } }),
|
|
392
|
+
db.delivery.count({ where: { fleetId, recipientShipId: shipId, state: { in: ['pending', 'delivered'] } } }),
|
|
393
|
+
]);
|
|
394
|
+
return { inFlight, open };
|
|
395
|
+
},
|
|
396
|
+
ship: async (fleetId, shipId) => {
|
|
397
|
+
const [row] = await db.$queryRaw `
|
|
398
|
+
SELECT s.id, s.fleet_id, s.name, s.type, s.kind::text AS kind, s.scopes, s.note, s.created_at, s.retired_at,
|
|
399
|
+
s.commissioned_by, s.commission_key, s.commission_request_hash,
|
|
400
|
+
l.location::text AS lease_location, l.location_description AS lease_location_description,
|
|
401
|
+
l.harness AS lease_harness, l.started_at AS lease_started_at, l.last_seen_at AS lease_last_seen_at,
|
|
402
|
+
l.report_state::text AS report_state, l.report_note, l.reported_at, l.report_details, l.report_details_version,
|
|
403
|
+
c.issued_at AS secret_issued_at, c.claimed_at AS secret_claimed_at,
|
|
404
|
+
cr.settings AS crew_request_settings, cr.settings_version AS crew_request_settings_version,
|
|
405
|
+
cr.requested_at AS crew_request_requested_at, cr.assigned_to_ship_id AS crew_request_assigned_to,
|
|
406
|
+
cr.status::text AS crew_request_status, ca.name AS crew_request_assignee_name, cr.reason AS crew_request_reason,
|
|
407
|
+
cb.id AS crewed_by_id, cb.name AS crewed_by_name,
|
|
408
|
+
p.sent_at AS ping_sent_at, p.delivery_state AS ping_delivery_state, p.answered_at AS ping_answered_at,
|
|
409
|
+
lm.model AS last_model, lm.created_at AS last_model_stated_at,
|
|
410
|
+
(SELECT max(cs.last_used_at) FROM console_sessions cs
|
|
411
|
+
WHERE cs.fleet_id = s.fleet_id AND cs.ship_id = s.id AND cs.lease_id IS NULL) AS last_viewed_at,
|
|
412
|
+
(SELECT max(el.ended_at) FROM leases el
|
|
413
|
+
WHERE el.fleet_id = s.fleet_id AND el.ship_id = s.id AND el.ended_at IS NOT NULL) AS last_lease_ended_at
|
|
414
|
+
FROM ships s
|
|
415
|
+
LEFT JOIN leases l ON l.fleet_id = s.fleet_id AND l.ship_id = s.id AND l.ended_at IS NULL
|
|
416
|
+
LEFT JOIN credentials c ON c.fleet_id = s.fleet_id AND c.ship_id = s.id AND c.invalidated_at IS NULL
|
|
417
|
+
LEFT JOIN crew_requests cr ON cr.fleet_id = s.fleet_id AND cr.ship_id = s.id
|
|
418
|
+
LEFT JOIN ships ca ON ca.fleet_id = cr.fleet_id AND ca.id = cr.assigned_to_ship_id
|
|
419
|
+
LEFT JOIN LATERAL (${crewedByOfShip}) cb ON true
|
|
420
|
+
LEFT JOIN LATERAL (${lastPingOfShip}) p ON true
|
|
421
|
+
LEFT JOIN LATERAL (${lastModelOfShip}) lm ON true
|
|
422
|
+
WHERE s.fleet_id = ${fleetId} AND s.id = ${shipId}`;
|
|
423
|
+
return row === undefined ? undefined : toShipFacts(row);
|
|
424
|
+
},
|
|
425
|
+
};
|
|
426
|
+
}
|
|
427
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/adapters/prisma/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { type ShipId } from '@aeolus-fleet/common';
|
|
2
|
+
import type { ConsoleSession } from '../../domain/identity/console-session.js';
|
|
3
|
+
import type { AuthenticatedShip, CrewTokenLease } from '../../domain/identity/ports.js';
|
|
4
|
+
import type { Credential } from '../../domain/identity/credential.js';
|
|
5
|
+
import type { OperatorAccount } from '../../domain/identity/operator-account.js';
|
|
6
|
+
import type { Delivery, Message } from '../../domain/messaging/message.js';
|
|
7
|
+
import type { ShipReport } from '../../domain/registry/ship-report.js';
|
|
8
|
+
import type { CrewRequest } from '../../domain/registry/crew-request.js';
|
|
9
|
+
import type { FleetEventNotice, SequencedEvent } from '../../domain/shared/events.js';
|
|
10
|
+
import type { DeliveryNotice } from '../../domain/shared/notifier.js';
|
|
11
|
+
import type { Fleet } from '../../domain/registry/fleet.js';
|
|
12
|
+
import type { Lease } from '../../domain/registry/lease.js';
|
|
13
|
+
import type { ShipFacts } from '../../domain/registry/ports.js';
|
|
14
|
+
import type { Ship } from '../../domain/registry/ship.js';
|
|
15
|
+
import type { Caller, Crew } from '../../domain/shared/caller.js';
|
|
16
|
+
export declare function toFleet(row: unknown): Fleet;
|
|
17
|
+
export declare function toShip(row: unknown): Ship;
|
|
18
|
+
/** A ship as raw SQL returns it, in snake_case. */
|
|
19
|
+
export declare function toShipFromSql(row: unknown): Ship;
|
|
20
|
+
/** A crew request as Prisma reads its row. */
|
|
21
|
+
export declare function toCrewRequest(row: unknown): CrewRequest;
|
|
22
|
+
/** A lease's report columns as raw SQL reads them; null until its crew reports. */
|
|
23
|
+
export declare function toShipReport(row: unknown): ShipReport | null;
|
|
24
|
+
/** The ship of a lease as raw SQL reads it. */
|
|
25
|
+
export declare function toLeaseShipId(row: unknown): ShipId;
|
|
26
|
+
/** A ship with its open lease's location and its valid secret's dates, as the fleet listing reads it. */
|
|
27
|
+
export declare function toShipFacts(row: unknown): ShipFacts;
|
|
28
|
+
export declare function toLease(row: unknown): Lease;
|
|
29
|
+
export declare function toCredential(row: unknown): Credential;
|
|
30
|
+
export declare function toOperatorAccount(row: unknown): OperatorAccount;
|
|
31
|
+
export declare function toConsoleSession(row: unknown): ConsoleSession;
|
|
32
|
+
export declare function toAuthenticatedShip(row: unknown): AuthenticatedShip;
|
|
33
|
+
/** The lease a crew token belongs to: open, with its crew, or ended. */
|
|
34
|
+
export declare function toCrewTokenLease(row: unknown): CrewTokenLease;
|
|
35
|
+
/**
|
|
36
|
+
* The caller of a console session: its ship, the session it came through,
|
|
37
|
+
* and the lease the session holds (a viewer session holds none), with the
|
|
38
|
+
* expiry its use moved to.
|
|
39
|
+
*/
|
|
40
|
+
export declare function toConsoleSessionCaller(row: unknown): {
|
|
41
|
+
caller: Caller | Crew;
|
|
42
|
+
expiresAt: Date;
|
|
43
|
+
};
|
|
44
|
+
export declare function toMessage(row: unknown): Message;
|
|
45
|
+
/** A pending delivery's notice, as the payload of its NOTIFY carries it. */
|
|
46
|
+
export declare function toDeliveryNotice(payload: unknown): DeliveryNotice;
|
|
47
|
+
export declare function toFleetEventNotice(payload: unknown): FleetEventNotice;
|
|
48
|
+
export declare function toLastEventSeq(row: unknown): number;
|
|
49
|
+
/** A delivery as raw SQL returns it, in snake_case. */
|
|
50
|
+
export declare function toDeliveryFromSql(row: unknown): Delivery;
|
|
51
|
+
/** An event row as Prisma reads it; a missing subject stays absent, as the core wrote it. */
|
|
52
|
+
export declare function toSequencedEvent(row: unknown): SequencedEvent;
|
|
53
|
+
/** A delivery a retire abandoned, as its UPDATE returns it. */
|
|
54
|
+
export declare function toAbandonedDelivery(row: unknown): {
|
|
55
|
+
deliveryId: `dlv_${string}`;
|
|
56
|
+
messageId: `msg_${string}`;
|
|
57
|
+
createdAt: Date;
|
|
58
|
+
};
|