@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,12 @@
|
|
|
1
|
+
import type { Caller } from './caller.js';
|
|
2
|
+
import type { ShipHistory, UndeliverableEntry } from './history.js';
|
|
3
|
+
export type ReadNeedsAttention = (caller: Caller) => Promise<UndeliverableEntry[]>;
|
|
4
|
+
/**
|
|
5
|
+
* Use case: Needs attention, every undeliverable delivery of the caller's
|
|
6
|
+
* fleet, oldest first, each with its whole message, for the operator to
|
|
7
|
+
* resend or dismiss. Abandoned deliveries are never listed: they stay in the
|
|
8
|
+
* timelines only. The caller's scope (fleet:read) is checked before this runs.
|
|
9
|
+
*/
|
|
10
|
+
export declare function createReadNeedsAttention(deps: {
|
|
11
|
+
history: ShipHistory;
|
|
12
|
+
}): ReadNeedsAttention;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Use case: Needs attention, every undeliverable delivery of the caller's
|
|
3
|
+
* fleet, oldest first, each with its whole message, for the operator to
|
|
4
|
+
* resend or dismiss. Abandoned deliveries are never listed: they stay in the
|
|
5
|
+
* timelines only. The caller's scope (fleet:read) is checked before this runs.
|
|
6
|
+
*/
|
|
7
|
+
export function createReadNeedsAttention(deps) {
|
|
8
|
+
return (caller) => deps.history.undeliverable(caller.fleetId);
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=read-needs-attention.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-needs-attention.js","sourceRoot":"","sources":["../../../src/domain/shared/read-needs-attention.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAA8B;IACrE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAChE,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { ShipId } from '@aeolus-fleet/common';
|
|
2
|
+
import type { Caller } from './caller.js';
|
|
3
|
+
import { type DomainError } from './errors.js';
|
|
4
|
+
import type { HistoryMessage, ShipHistory } from './history.js';
|
|
5
|
+
import { type Result } from './result.js';
|
|
6
|
+
/** The most messages the ship page lists: the newest ones. */
|
|
7
|
+
export declare const MESSAGES_LIMIT = 200;
|
|
8
|
+
/** How much of a payload the list shows. */
|
|
9
|
+
export declare const PREVIEW_LENGTH = 120;
|
|
10
|
+
/** A message as the ship page lists it: its payload cut to a preview. */
|
|
11
|
+
export type ListedMessage = Omit<HistoryMessage, 'payload' | 'delivery'> & {
|
|
12
|
+
preview: string;
|
|
13
|
+
delivery: Omit<HistoryMessage['delivery'], 'attempts'>;
|
|
14
|
+
};
|
|
15
|
+
export type ReadShipMessages = (caller: Caller, input: {
|
|
16
|
+
shipId: ShipId;
|
|
17
|
+
}) => Promise<Result<ListedMessage[], DomainError<'SHIP_NOT_FOUND'>>>;
|
|
18
|
+
/** The start of a payload on one line: whitespace runs become one space. */
|
|
19
|
+
export declare function previewOf(payload: string): string;
|
|
20
|
+
/**
|
|
21
|
+
* Use case: the messages a ship sent, was sent, or claimed as a ship of their
|
|
22
|
+
* type, newest first, each with its delivery as it stands. A message to a type
|
|
23
|
+
* shows on the page of each ship that claimed it, never on every ship of the
|
|
24
|
+
* type. The caller's scope (fleet:read) is checked before this runs.
|
|
25
|
+
*/
|
|
26
|
+
export declare function createReadShipMessages(deps: {
|
|
27
|
+
history: ShipHistory;
|
|
28
|
+
}): ReadShipMessages;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { refuse } from './errors.js';
|
|
2
|
+
import { ok } from './result.js';
|
|
3
|
+
/** The most messages the ship page lists: the newest ones. */
|
|
4
|
+
export const MESSAGES_LIMIT = 200;
|
|
5
|
+
/** How much of a payload the list shows. */
|
|
6
|
+
export const PREVIEW_LENGTH = 120;
|
|
7
|
+
/** The start of a payload on one line: whitespace runs become one space. */
|
|
8
|
+
export function previewOf(payload) {
|
|
9
|
+
return payload.replace(/\s+/g, ' ').trim().slice(0, PREVIEW_LENGTH);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Use case: the messages a ship sent, was sent, or claimed as a ship of their
|
|
13
|
+
* type, newest first, each with its delivery as it stands. A message to a type
|
|
14
|
+
* shows on the page of each ship that claimed it, never on every ship of the
|
|
15
|
+
* type. The caller's scope (fleet:read) is checked before this runs.
|
|
16
|
+
*/
|
|
17
|
+
export function createReadShipMessages(deps) {
|
|
18
|
+
return async (caller, { shipId }) => {
|
|
19
|
+
const messages = await deps.history.messages(caller.fleetId, { shipId, limit: MESSAGES_LIMIT });
|
|
20
|
+
if (!messages) {
|
|
21
|
+
return refuse('SHIP_NOT_FOUND', `No ship ${shipId} in this fleet`);
|
|
22
|
+
}
|
|
23
|
+
return ok(messages.map(({ payload, delivery, ...message }) => ({
|
|
24
|
+
...message,
|
|
25
|
+
preview: previewOf(payload),
|
|
26
|
+
delivery: { id: delivery.id, state: delivery.state, claimedBy: delivery.claimedBy },
|
|
27
|
+
})));
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=read-ship-messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-ship-messages.js","sourceRoot":"","sources":["../../../src/domain/shared/read-ship-messages.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAoB,MAAM,aAAa,CAAC;AAEvD,OAAO,EAAE,EAAE,EAAe,MAAM,aAAa,CAAC;AAE9C,8DAA8D;AAC9D,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAElC,4CAA4C;AAC5C,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAalC,4EAA4E;AAC5E,MAAM,UAAU,SAAS,CAAC,OAAe;IACvC,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;AACtE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAA8B;IACnE,OAAO,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QAClC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;QAChG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,MAAM,CAAC,gBAAgB,EAAE,WAAW,MAAM,gBAAgB,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,EAAE,CACP,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YACnD,GAAG,OAAO;YACV,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC;YAC3B,QAAQ,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE;SACpF,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ShipId } from '@aeolus-fleet/common';
|
|
2
|
+
import type { Caller } from './caller.js';
|
|
3
|
+
import { type DomainError } from './errors.js';
|
|
4
|
+
import type { ShipHistory, TimelineEntry } from './history.js';
|
|
5
|
+
import { type Result } from './result.js';
|
|
6
|
+
/** The most events a timeline shows: the newest ones. */
|
|
7
|
+
export declare const TIMELINE_LIMIT = 200;
|
|
8
|
+
export type ReadShipTimeline = (caller: Caller, input: {
|
|
9
|
+
shipId: ShipId;
|
|
10
|
+
}) => Promise<Result<TimelineEntry[], DomainError<'SHIP_NOT_FOUND'>>>;
|
|
11
|
+
/**
|
|
12
|
+
* Use case: every change to a ship, newest first: the events naming it and
|
|
13
|
+
* the ones it caused, such as the messages it sent. The caller's scope
|
|
14
|
+
* (fleet:read) is checked before this runs.
|
|
15
|
+
*/
|
|
16
|
+
export declare function createReadShipTimeline(deps: {
|
|
17
|
+
history: ShipHistory;
|
|
18
|
+
}): ReadShipTimeline;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { refuse } from './errors.js';
|
|
2
|
+
import { ok } from './result.js';
|
|
3
|
+
/** The most events a timeline shows: the newest ones. */
|
|
4
|
+
export const TIMELINE_LIMIT = 200;
|
|
5
|
+
/**
|
|
6
|
+
* Use case: every change to a ship, newest first: the events naming it and
|
|
7
|
+
* the ones it caused, such as the messages it sent. The caller's scope
|
|
8
|
+
* (fleet:read) is checked before this runs.
|
|
9
|
+
*/
|
|
10
|
+
export function createReadShipTimeline(deps) {
|
|
11
|
+
return async (caller, { shipId }) => {
|
|
12
|
+
const timeline = await deps.history.timeline(caller.fleetId, { shipId, limit: TIMELINE_LIMIT });
|
|
13
|
+
return timeline ? ok(timeline) : refuse('SHIP_NOT_FOUND', `No ship ${shipId} in this fleet`);
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=read-ship-timeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-ship-timeline.js","sourceRoot":"","sources":["../../../src/domain/shared/read-ship-timeline.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAoB,MAAM,aAAa,CAAC;AAEvD,OAAO,EAAE,EAAE,EAAe,MAAM,aAAa,CAAC;AAE9C,yDAAyD;AACzD,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAOlC;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAA8B;IACnE,OAAO,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QAClC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;QAChG,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE,WAAW,MAAM,gBAAgB,CAAC,CAAC;IAC/F,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The outcome of a domain operation: its value, or why the domain refused.
|
|
3
|
+
* The core never throws; only adapters throw, for system failures such as a
|
|
4
|
+
* lost database connection.
|
|
5
|
+
*/
|
|
6
|
+
export type Result<T, E> = Ok<T> | Err<E>;
|
|
7
|
+
export interface Ok<T> {
|
|
8
|
+
readonly isOk: true;
|
|
9
|
+
readonly value: T;
|
|
10
|
+
}
|
|
11
|
+
export interface Err<E> {
|
|
12
|
+
readonly isOk: false;
|
|
13
|
+
readonly error: E;
|
|
14
|
+
}
|
|
15
|
+
export declare function ok<T>(value: T): Ok<T>;
|
|
16
|
+
export declare function err<E>(error: E): Err<E>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result.js","sourceRoot":"","sources":["../../../src/domain/shared/result.ts"],"names":[],"mappings":"AAiBA,MAAM,UAAU,EAAE,CAAI,KAAQ;IAC5B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,GAAG,CAAI,KAAQ;IAC7B,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAChC,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Outbound port: hashes ship secrets, crew tokens and console session tokens
|
|
3
|
+
* (SHA-256). Only hashes are stored; the same input always gives the same
|
|
4
|
+
* hash, so a secret or a token is found by its hash.
|
|
5
|
+
*/
|
|
6
|
+
export interface SecretHasher {
|
|
7
|
+
hash(value: string): string;
|
|
8
|
+
}
|
|
9
|
+
/** Outbound port: unguessable random strings (256 bits, URL safe) for secrets, crew tokens and session tokens. */
|
|
10
|
+
export interface RandomTokens {
|
|
11
|
+
next(): string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Outbound port: hashes the operator password (Argon2id). Each hash has its
|
|
15
|
+
* own random salt, so a password is checked with `verify`, never found by its
|
|
16
|
+
* hash.
|
|
17
|
+
*/
|
|
18
|
+
export interface PasswordHasher {
|
|
19
|
+
hash(password: string): Promise<string>;
|
|
20
|
+
/**
|
|
21
|
+
* True when the password is the one the hash was made from. Without a hash
|
|
22
|
+
* it takes as long and is false, so a wrong email costs as much time as a
|
|
23
|
+
* wrong password and gives nothing away.
|
|
24
|
+
*/
|
|
25
|
+
verify(password: string, passwordHash: string | undefined): Promise<boolean>;
|
|
26
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../../src/domain/shared/secrets.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { ShipId } from '@aeolus-fleet/common';
|
|
2
|
+
/**
|
|
3
|
+
* Who a message is for, as its sender addressed it (docs/blueprint.md,
|
|
4
|
+
* "Selector"): one ship, by id or by name, or any ship of a type. Group and
|
|
5
|
+
* fleet come later.
|
|
6
|
+
*/
|
|
7
|
+
export type Selector = {
|
|
8
|
+
kind: 'ship';
|
|
9
|
+
shipId: ShipId;
|
|
10
|
+
} | {
|
|
11
|
+
kind: 'ship';
|
|
12
|
+
name: string;
|
|
13
|
+
} | {
|
|
14
|
+
kind: 'type';
|
|
15
|
+
type: string;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Who a selector resolves to at send time: one ship by its id, never its
|
|
19
|
+
* name, so a rename or a reused name never redirects a sent message; or the
|
|
20
|
+
* queue of a type, which the first ship of that type to receive the delivery
|
|
21
|
+
* claims. A message keeps it as its selector; its delivery goes to it.
|
|
22
|
+
*/
|
|
23
|
+
export type Recipient = {
|
|
24
|
+
kind: 'ship';
|
|
25
|
+
shipId: ShipId;
|
|
26
|
+
} | {
|
|
27
|
+
kind: 'type';
|
|
28
|
+
type: string;
|
|
29
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selector.js","sourceRoot":"","sources":["../../../src/domain/shared/selector.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Result } from './result.js';
|
|
2
|
+
/**
|
|
3
|
+
* Outbound port: runs a use case in one database transaction. Everything the
|
|
4
|
+
* work writes through `tx`, events included, commits together or not at all:
|
|
5
|
+
* it commits when the work returns an ok result, and rolls back when the work
|
|
6
|
+
* returns a refusal or throws.
|
|
7
|
+
*
|
|
8
|
+
* Each use case names the ports it needs as its own `Tx` type, so it sees only
|
|
9
|
+
* those. The adapter hands every use case one object that holds them all.
|
|
10
|
+
*/
|
|
11
|
+
export interface UnitOfWork<Tx> {
|
|
12
|
+
run<T, E>(work: (tx: Tx) => Promise<Result<T, E>>): Promise<Result<T, E>>;
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unit-of-work.js","sourceRoot":"","sources":["../../../src/domain/shared/unit-of-work.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** The start of the UTC calendar day `at` falls in: when a fleet's daily message count starts again. */
|
|
2
|
+
export declare function utcDayStart(at: Date): Date;
|
|
3
|
+
/** The start of the next UTC calendar day after `at`. */
|
|
4
|
+
export declare function nextUtcDayStart(at: Date): Date;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** The start of the UTC calendar day `at` falls in: when a fleet's daily message count starts again. */
|
|
2
|
+
export function utcDayStart(at) {
|
|
3
|
+
return new Date(Date.UTC(at.getUTCFullYear(), at.getUTCMonth(), at.getUTCDate()));
|
|
4
|
+
}
|
|
5
|
+
/** The start of the next UTC calendar day after `at`. */
|
|
6
|
+
export function nextUtcDayStart(at) {
|
|
7
|
+
return new Date(Date.UTC(at.getUTCFullYear(), at.getUTCMonth(), at.getUTCDate() + 1));
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=utc-day.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utc-day.js","sourceRoot":"","sources":["../../../src/domain/shared/utc-day.ts"],"names":[],"mappings":"AAAA,wGAAwG;AACxG,MAAM,UAAU,WAAW,CAAC,EAAQ;IAClC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AACpF,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,eAAe,CAAC,EAAQ;IACtC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AACxF,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { AppRouter } from './adapters/trpc/router.js';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
package/dist/start.d.ts
ADDED
package/dist/start.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { migrateDatabase } from './adapters/prisma/migrate.js';
|
|
2
|
+
import { createApp } from './app.js';
|
|
3
|
+
import { loadConfig } from './config.js';
|
|
4
|
+
/**
|
|
5
|
+
* `aeolus-core start`: migrates the database, then serves the fleet until
|
|
6
|
+
* SIGINT or SIGTERM. A stop ends waiting receives and closes idle
|
|
7
|
+
* connections at once (see app.ts).
|
|
8
|
+
*/
|
|
9
|
+
export async function start() {
|
|
10
|
+
const config = loadConfig(process.env);
|
|
11
|
+
await migrateDatabase(config.databaseUrl);
|
|
12
|
+
const server = createApp({
|
|
13
|
+
databaseUrl: config.databaseUrl,
|
|
14
|
+
publicUrl: config.publicUrl,
|
|
15
|
+
logger: { level: config.logLevel },
|
|
16
|
+
shouldTrustProxy: config.shouldTrustProxy,
|
|
17
|
+
cookieDomain: config.cookieDomain,
|
|
18
|
+
consoleOrigin: config.consoleOrigin,
|
|
19
|
+
installationToken: config.installationToken,
|
|
20
|
+
});
|
|
21
|
+
for (const signal of ['SIGINT', 'SIGTERM']) {
|
|
22
|
+
process.once(signal, () => {
|
|
23
|
+
server.log.info({ signal }, 'shutting down');
|
|
24
|
+
void server.close().then(() => process.exit(0));
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
await server.listen({ host: config.host, port: config.port });
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=start.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK;IACzB,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,SAAS,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE;QAClC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;KAC5C,CAAC,CAAC;IAEH,KAAK,MAAM,MAAM,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAU,EAAE,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;YACxB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC;YAC7C,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;AAChE,CAAC"}
|
package/dist/wiring.d.ts
ADDED
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { type IdGenerator } from '@aeolus-fleet/common';
|
|
2
|
+
import type { PrismaClient } from './adapters/prisma/client.js';
|
|
3
|
+
import { type Authenticate } from './domain/identity/authenticate.js';
|
|
4
|
+
import { type DismissNotice } from './domain/identity/dismiss-notice.js';
|
|
5
|
+
import { type GetGuide } from './domain/identity/get-guide.js';
|
|
6
|
+
import { type GetNotices } from './domain/identity/get-notices.js';
|
|
7
|
+
import { type IssueSignInTicket } from './domain/identity/issue-sign-in-ticket.js';
|
|
8
|
+
import { type RedeemSignInTicket } from './domain/identity/redeem-sign-in-ticket.js';
|
|
9
|
+
import { type ReadAccount } from './domain/identity/read-account.js';
|
|
10
|
+
import { type ReadGuide } from './domain/identity/read-guide.js';
|
|
11
|
+
import { type ReadNotices } from './domain/identity/read-notices.js';
|
|
12
|
+
import { type RecordGuideProgress } from './domain/identity/record-guide-progress.js';
|
|
13
|
+
import { type SetGuide } from './domain/identity/set-guide.js';
|
|
14
|
+
import { type ResetOperatorPassword } from './domain/identity/reset-operator-password.js';
|
|
15
|
+
import { type SetNotices } from './domain/identity/set-notices.js';
|
|
16
|
+
import { type SetTheme } from './domain/identity/set-theme.js';
|
|
17
|
+
import { type SignIn } from './domain/identity/sign-in.js';
|
|
18
|
+
import { type SignOut } from './domain/identity/sign-out.js';
|
|
19
|
+
import { type AcknowledgeDelivery } from './domain/messaging/acknowledge-delivery.js';
|
|
20
|
+
import { type AnswerPing } from './domain/messaging/answer-ping.js';
|
|
21
|
+
import { type CheckInbox } from './domain/messaging/check-inbox.js';
|
|
22
|
+
import { type DismissDelivery } from './domain/messaging/dismiss-delivery.js';
|
|
23
|
+
import { type MarkDone } from './domain/messaging/mark-done.js';
|
|
24
|
+
import { type MarkRead } from './domain/messaging/mark-read.js';
|
|
25
|
+
import type { ReceiverWakeups } from './domain/messaging/ports.js';
|
|
26
|
+
import { type ReceiveDeliveries } from './domain/messaging/receive-deliveries.js';
|
|
27
|
+
import { type ReplyToMessage } from './domain/messaging/reply-to-message.js';
|
|
28
|
+
import { type ResendDelivery } from './domain/messaging/resend-delivery.js';
|
|
29
|
+
import { type PingShip } from './domain/messaging/ping-ship.js';
|
|
30
|
+
import { type SendMessage } from './domain/messaging/send-message.js';
|
|
31
|
+
import { type ClaimShip } from './domain/registry/claim-ship.js';
|
|
32
|
+
import { type CommissionShip } from './domain/registry/commission-ship.js';
|
|
33
|
+
import { type Deregister } from './domain/registry/deregister.js';
|
|
34
|
+
import { type GetStartingPrompt } from './domain/registry/get-starting-prompt.js';
|
|
35
|
+
import { type GetShip } from './domain/registry/get-ship.js';
|
|
36
|
+
import { type InitialiseFleet } from './domain/registry/initialise-fleet.js';
|
|
37
|
+
import { type ListFleet } from './domain/registry/list-fleet.js';
|
|
38
|
+
import { type ListFleets } from './domain/registry/list-fleets.js';
|
|
39
|
+
import { type RecrewShip } from './domain/registry/recrew-ship.js';
|
|
40
|
+
import { type ReleaseShip } from './domain/registry/release-ship.js';
|
|
41
|
+
import { type RenameShip } from './domain/registry/rename-ship.js';
|
|
42
|
+
import { type RetireShip } from './domain/registry/retire-ship.js';
|
|
43
|
+
import { type Report } from './domain/registry/report.js';
|
|
44
|
+
import { type RequestCrew } from './domain/registry/request-crew.js';
|
|
45
|
+
import { type RemoveCrewRequest } from './domain/registry/remove-crew-request.js';
|
|
46
|
+
import { type AssignCrew } from './domain/registry/assign-crew.js';
|
|
47
|
+
import { type ReportCrewStatus } from './domain/registry/report-crew-status.js';
|
|
48
|
+
import { type ConfirmCrewRelease } from './domain/registry/confirm-crew-release.js';
|
|
49
|
+
import { type ReadAssignedCrewRequests } from './domain/registry/read-assigned-crew-requests.js';
|
|
50
|
+
import { type ExplainCrewRequest } from './domain/registry/explain-crew-request.js';
|
|
51
|
+
import { type ReadReportLog } from './domain/registry/report-log.js';
|
|
52
|
+
import { type Whoami } from './domain/registry/whoami.js';
|
|
53
|
+
import type { Clock } from './domain/shared/clock.js';
|
|
54
|
+
import { type Ping } from './domain/shared/ping.js';
|
|
55
|
+
import { type ReadFleetEvents } from './domain/shared/read-fleet-events.js';
|
|
56
|
+
import { type FollowFleet } from './domain/shared/follow-fleet.js';
|
|
57
|
+
import type { FleetEventWakeups } from './domain/shared/events.js';
|
|
58
|
+
import { type CreateFleet } from './domain/registry/create-fleet.js';
|
|
59
|
+
import { type GetFleetLimits } from './domain/registry/get-fleet-limits.js';
|
|
60
|
+
import { type GetInstallationSettings } from './domain/registry/get-installation-settings.js';
|
|
61
|
+
import { type SetFleetLimits } from './domain/registry/set-fleet-limits.js';
|
|
62
|
+
import { type SetInstallationSettings } from './domain/registry/set-installation-settings.js';
|
|
63
|
+
import { type ReadFleetLimits } from './domain/shared/read-fleet-limits.js';
|
|
64
|
+
import { type DeleteFleet } from './domain/registry/delete-fleet.js';
|
|
65
|
+
import { type GetInstallationFleet } from './domain/registry/get-installation-fleet.js';
|
|
66
|
+
import { type ListInstallationFleets } from './domain/registry/list-installation-fleets.js';
|
|
67
|
+
import { type ReadInbox } from './domain/shared/read-inbox.js';
|
|
68
|
+
import { type ReadMessage } from './domain/shared/read-message.js';
|
|
69
|
+
import { type ReadNeedsAttention } from './domain/shared/read-needs-attention.js';
|
|
70
|
+
import { type ReadShipMessages } from './domain/shared/read-ship-messages.js';
|
|
71
|
+
import { type ReadShipTimeline } from './domain/shared/read-ship-timeline.js';
|
|
72
|
+
export interface UseCases {
|
|
73
|
+
ping: Ping;
|
|
74
|
+
initialiseFleet: InitialiseFleet;
|
|
75
|
+
listFleets: ListFleets;
|
|
76
|
+
commissionShip: CommissionShip;
|
|
77
|
+
getStartingPrompt: GetStartingPrompt;
|
|
78
|
+
releaseShip: ReleaseShip;
|
|
79
|
+
retireShip: RetireShip;
|
|
80
|
+
renameShip: RenameShip;
|
|
81
|
+
recrewShip: RecrewShip;
|
|
82
|
+
listFleet: ListFleet;
|
|
83
|
+
getShip: GetShip;
|
|
84
|
+
claimShip: ClaimShip;
|
|
85
|
+
whoami: Whoami;
|
|
86
|
+
report: Report;
|
|
87
|
+
requestCrew: RequestCrew;
|
|
88
|
+
removeCrewRequest: RemoveCrewRequest;
|
|
89
|
+
assignCrew: AssignCrew;
|
|
90
|
+
reportCrewStatus: ReportCrewStatus;
|
|
91
|
+
confirmCrewRelease: ConfirmCrewRelease;
|
|
92
|
+
readAssignedCrewRequests: ReadAssignedCrewRequests;
|
|
93
|
+
explainCrewRequest: ExplainCrewRequest;
|
|
94
|
+
reportLog: ReadReportLog;
|
|
95
|
+
deregister: Deregister;
|
|
96
|
+
sendMessage: SendMessage;
|
|
97
|
+
receiveDeliveries: ReceiveDeliveries;
|
|
98
|
+
acknowledgeDelivery: AcknowledgeDelivery;
|
|
99
|
+
answerPing: AnswerPing;
|
|
100
|
+
pingShip: PingShip;
|
|
101
|
+
checkInbox: CheckInbox;
|
|
102
|
+
dismissDelivery: DismissDelivery;
|
|
103
|
+
resendDelivery: ResendDelivery;
|
|
104
|
+
markRead: MarkRead;
|
|
105
|
+
markDone: MarkDone;
|
|
106
|
+
replyToMessage: ReplyToMessage;
|
|
107
|
+
readFleetEvents: ReadFleetEvents;
|
|
108
|
+
followFleet: FollowFleet;
|
|
109
|
+
readShipTimeline: ReadShipTimeline;
|
|
110
|
+
readShipMessages: ReadShipMessages;
|
|
111
|
+
readMessage: ReadMessage;
|
|
112
|
+
readNeedsAttention: ReadNeedsAttention;
|
|
113
|
+
readInbox: ReadInbox;
|
|
114
|
+
signIn: SignIn;
|
|
115
|
+
signOut: SignOut;
|
|
116
|
+
readAccount: ReadAccount;
|
|
117
|
+
setTheme: SetTheme;
|
|
118
|
+
setNotices: SetNotices;
|
|
119
|
+
getNotices: GetNotices;
|
|
120
|
+
readNotices: ReadNotices;
|
|
121
|
+
dismissNotice: DismissNotice;
|
|
122
|
+
setGuide: SetGuide;
|
|
123
|
+
getGuide: GetGuide;
|
|
124
|
+
readGuide: ReadGuide;
|
|
125
|
+
recordGuideProgress: RecordGuideProgress;
|
|
126
|
+
resetOperatorPassword: ResetOperatorPassword;
|
|
127
|
+
authenticate: Authenticate;
|
|
128
|
+
createFleet: CreateFleet;
|
|
129
|
+
deleteFleet: DeleteFleet;
|
|
130
|
+
listInstallationFleets: ListInstallationFleets;
|
|
131
|
+
getInstallationFleet: GetInstallationFleet;
|
|
132
|
+
issueSignInTicket: IssueSignInTicket;
|
|
133
|
+
redeemSignInTicket: RedeemSignInTicket;
|
|
134
|
+
getInstallationSettings: GetInstallationSettings;
|
|
135
|
+
setInstallationSettings: SetInstallationSettings;
|
|
136
|
+
getFleetLimits: GetFleetLimits;
|
|
137
|
+
setFleetLimits: SetFleetLimits;
|
|
138
|
+
readFleetLimits: ReadFleetLimits;
|
|
139
|
+
}
|
|
140
|
+
export declare const systemClock: Clock;
|
|
141
|
+
/**
|
|
142
|
+
* Wires every use case to Postgres through Prisma. The HTTP app and the server
|
|
143
|
+
* commands share it.
|
|
144
|
+
*
|
|
145
|
+
* `wakeups` wake a waiting receive; the HTTP app feeds them from the delivery
|
|
146
|
+
* listener. Without them, nothing wakes a receive and it ends only at its
|
|
147
|
+
* wait: enough for the server commands, which never receive.
|
|
148
|
+
*/
|
|
149
|
+
export declare function createUseCases(options: {
|
|
150
|
+
prisma: PrismaClient;
|
|
151
|
+
clock?: Clock;
|
|
152
|
+
ids?: IdGenerator;
|
|
153
|
+
wakeups?: ReceiverWakeups;
|
|
154
|
+
/** Wake a waiting follow; without them a follow ends only at its wait. */
|
|
155
|
+
fleetEventWakeups?: FleetEventWakeups;
|
|
156
|
+
/** How long a receive waits on an empty inbox; about 25 seconds unless a test says otherwise. */
|
|
157
|
+
receiveWaitMs?: number;
|
|
158
|
+
}): UseCases;
|