@aeolus-fleet/core 0.27.0 → 0.28.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 +1 -1
- package/dist/adapters/crypto/account-token-signatures.d.ts +12 -0
- package/dist/adapters/crypto/account-token-signatures.js +104 -0
- package/dist/adapters/crypto/account-token-signatures.js.map +1 -0
- package/dist/adapters/http/request-credentials.d.ts +7 -1
- package/dist/adapters/http/request-credentials.js +18 -5
- package/dist/adapters/http/request-credentials.js.map +1 -1
- package/dist/adapters/http/server.js +4 -2
- package/dist/adapters/http/server.js.map +1 -1
- package/dist/adapters/prisma/event-log.js +13 -1
- package/dist/adapters/prisma/event-log.js.map +1 -1
- package/dist/adapters/prisma/generated/browser.d.ts +36 -0
- package/dist/adapters/prisma/generated/client.d.ts +36 -0
- package/dist/adapters/prisma/generated/commonInputTypes.d.ts +150 -0
- package/dist/adapters/prisma/generated/enums.d.ts +33 -0
- package/dist/adapters/prisma/generated/enums.js +29 -1
- package/dist/adapters/prisma/generated/enums.js.map +1 -1
- package/dist/adapters/prisma/generated/internal/class.d.ts +55 -0
- package/dist/adapters/prisma/generated/internal/class.js +4 -4
- package/dist/adapters/prisma/generated/internal/class.js.map +1 -1
- package/dist/adapters/prisma/generated/internal/prismaNamespace.d.ts +463 -8
- package/dist/adapters/prisma/generated/internal/prismaNamespace.js +45 -10
- package/dist/adapters/prisma/generated/internal/prismaNamespace.js.map +1 -1
- package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.d.ts +47 -7
- package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js +45 -10
- package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
- package/dist/adapters/prisma/generated/models/AccountCutOff.d.ts +944 -0
- package/dist/adapters/prisma/generated/models/AccountCutOff.js +2 -0
- package/dist/adapters/prisma/generated/models/AccountCutOff.js.map +1 -0
- package/dist/adapters/prisma/generated/models/ConsoleSession.d.ts +59 -1
- package/dist/adapters/prisma/generated/models/Event.d.ts +426 -1
- package/dist/adapters/prisma/generated/models/Fleet.d.ts +1270 -116
- package/dist/adapters/prisma/generated/models/InstallationDeclaredNetworkRules.d.ts +1031 -0
- package/dist/adapters/prisma/generated/models/InstallationDeclaredNetworkRules.js +2 -0
- package/dist/adapters/prisma/generated/models/InstallationDeclaredNetworkRules.js.map +1 -0
- package/dist/adapters/prisma/generated/models/Label.d.ts +113 -39
- package/dist/adapters/prisma/generated/models/Lease.d.ts +60 -1
- package/dist/adapters/prisma/generated/models/NetworkRulesDraft.d.ts +1133 -0
- package/dist/adapters/prisma/generated/models/NetworkRulesDraft.js +2 -0
- package/dist/adapters/prisma/generated/models/NetworkRulesDraft.js.map +1 -0
- package/dist/adapters/prisma/generated/models/NetworkSettings.d.ts +24 -223
- package/dist/adapters/prisma/generated/models/PluginConnection.d.ts +1180 -0
- package/dist/adapters/prisma/generated/models/PluginConnection.js +2 -0
- package/dist/adapters/prisma/generated/models/PluginConnection.js.map +1 -0
- package/dist/adapters/prisma/generated/models/ReachRefusal.d.ts +1 -40
- package/dist/adapters/prisma/generated/models/Ship.d.ts +1072 -6
- package/dist/adapters/prisma/generated/models/SignInTicket.d.ts +39 -1
- package/dist/adapters/prisma/generated/models/VerifiedFacts.d.ts +1325 -0
- package/dist/adapters/prisma/generated/models/VerifiedFacts.js +2 -0
- package/dist/adapters/prisma/generated/models/VerifiedFacts.js.map +1 -0
- package/dist/adapters/prisma/generated/models.d.ts +5 -0
- package/dist/adapters/prisma/history.js +5 -2
- package/dist/adapters/prisma/history.js.map +1 -1
- package/dist/adapters/prisma/identity.d.ts +3 -1
- package/dist/adapters/prisma/identity.js +41 -8
- package/dist/adapters/prisma/identity.js.map +1 -1
- package/dist/adapters/prisma/messaging.js +5 -2
- package/dist/adapters/prisma/messaging.js.map +1 -1
- package/dist/adapters/prisma/network.d.ts +7 -2
- package/dist/adapters/prisma/network.js +92 -62
- package/dist/adapters/prisma/network.js.map +1 -1
- package/dist/adapters/prisma/overdue.js +4 -3
- package/dist/adapters/prisma/overdue.js.map +1 -1
- package/dist/adapters/prisma/plugin-connections.d.ts +4 -0
- package/dist/adapters/prisma/plugin-connections.js +20 -0
- package/dist/adapters/prisma/plugin-connections.js.map +1 -0
- package/dist/adapters/prisma/registry.js +22 -16
- package/dist/adapters/prisma/registry.js.map +1 -1
- package/dist/adapters/prisma/rows.d.ts +9 -4
- package/dist/adapters/prisma/rows.js +77 -19
- package/dist/adapters/prisma/rows.js.map +1 -1
- package/dist/adapters/prisma/unit-of-work.d.ts +5 -2
- package/dist/adapters/prisma/unit-of-work.js +7 -2
- package/dist/adapters/prisma/unit-of-work.js.map +1 -1
- package/dist/adapters/prisma/verified-facts.d.ts +4 -0
- package/dist/adapters/prisma/verified-facts.js +65 -0
- package/dist/adapters/prisma/verified-facts.js.map +1 -0
- package/dist/adapters/rest/rest-api.js +2 -2
- package/dist/adapters/rest/rest-api.js.map +1 -1
- package/dist/adapters/trpc/console.d.ts +3 -1
- package/dist/adapters/trpc/context.d.ts +28 -6
- package/dist/adapters/trpc/fleet.d.ts +314 -51
- package/dist/adapters/trpc/fleet.js +137 -75
- package/dist/adapters/trpc/fleet.js.map +1 -1
- package/dist/adapters/trpc/installation-token.d.ts +7 -0
- package/dist/adapters/trpc/installation-token.js +10 -0
- package/dist/adapters/trpc/installation-token.js.map +1 -0
- package/dist/adapters/trpc/installation.d.ts +32 -2
- package/dist/adapters/trpc/installation.js +14 -10
- package/dist/adapters/trpc/installation.js.map +1 -1
- package/dist/adapters/trpc/router.d.ts +435 -42
- package/dist/adapters/trpc/ship-contract.js +6 -3
- package/dist/adapters/trpc/ship-contract.js.map +1 -1
- package/dist/adapters/trpc/ship-protocol.js +1 -1
- package/dist/adapters/trpc/ship-protocol.js.map +1 -1
- package/dist/adapters/trpc/ship.d.ts +117 -1
- package/dist/adapters/trpc/ship.js +52 -6
- package/dist/adapters/trpc/ship.js.map +1 -1
- package/dist/adapters/trpc/trpc.d.ts +43 -17
- package/dist/adapters/trpc/trpc.js +131 -31
- package/dist/adapters/trpc/trpc.js.map +1 -1
- package/dist/app.d.ts +2 -0
- package/dist/app.js +22 -0
- package/dist/app.js.map +1 -1
- package/dist/config.d.ts +5 -0
- package/dist/config.js +3 -1
- package/dist/config.js.map +1 -1
- package/dist/domain/identity/authenticate-account.d.ts +35 -0
- package/dist/domain/identity/authenticate-account.js +54 -0
- package/dist/domain/identity/authenticate-account.js.map +1 -0
- package/dist/domain/identity/authenticate-installation.d.ts +23 -0
- package/dist/domain/identity/authenticate-installation.js +20 -0
- package/dist/domain/identity/authenticate-installation.js.map +1 -0
- package/dist/domain/identity/authenticate.d.ts +2 -2
- package/dist/domain/identity/console-session.d.ts +6 -3
- package/dist/domain/identity/console-session.js.map +1 -1
- package/dist/domain/identity/cut-off-account.d.ts +29 -0
- package/dist/domain/identity/cut-off-account.js +37 -0
- package/dist/domain/identity/cut-off-account.js.map +1 -0
- package/dist/domain/identity/dismiss-notice.d.ts +2 -2
- package/dist/domain/identity/issue-sign-in-ticket.d.ts +9 -3
- package/dist/domain/identity/issue-sign-in-ticket.js +8 -2
- package/dist/domain/identity/issue-sign-in-ticket.js.map +1 -1
- package/dist/domain/identity/ports.d.ts +52 -5
- package/dist/domain/identity/read-account.d.ts +8 -4
- package/dist/domain/identity/read-account.js +1 -1
- package/dist/domain/identity/read-account.js.map +1 -1
- package/dist/domain/identity/read-guide.d.ts +2 -2
- package/dist/domain/identity/read-notices.d.ts +2 -2
- package/dist/domain/identity/record-guide-progress.d.ts +2 -2
- package/dist/domain/identity/redeem-sign-in-ticket.d.ts +2 -1
- package/dist/domain/identity/redeem-sign-in-ticket.js +3 -2
- package/dist/domain/identity/redeem-sign-in-ticket.js.map +1 -1
- package/dist/domain/identity/set-theme.d.ts +2 -2
- package/dist/domain/identity/sign-in-ticket.d.ts +3 -1
- package/dist/domain/identity/sign-in.d.ts +2 -2
- package/dist/domain/identity/sign-in.js +2 -0
- package/dist/domain/identity/sign-in.js.map +1 -1
- package/dist/domain/identity/sign-out.d.ts +2 -2
- package/dist/domain/identity/sign-out.js +1 -1
- package/dist/domain/identity/sign-out.js.map +1 -1
- package/dist/domain/identity/start-console-session.d.ts +4 -2
- package/dist/domain/identity/start-console-session.js +6 -4
- package/dist/domain/identity/start-console-session.js.map +1 -1
- package/dist/domain/identity/start-viewer-session.js +1 -0
- package/dist/domain/identity/start-viewer-session.js.map +1 -1
- package/dist/domain/messaging/delivery.d.ts +11 -3
- package/dist/domain/messaging/delivery.js +23 -15
- package/dist/domain/messaging/delivery.js.map +1 -1
- package/dist/domain/messaging/dismiss-delivery.d.ts +2 -2
- package/dist/domain/messaging/hand-over-delivery.d.ts +1 -0
- package/dist/domain/messaging/hand-over-delivery.js +1 -0
- package/dist/domain/messaging/hand-over-delivery.js.map +1 -1
- package/dist/domain/messaging/message.d.ts +3 -1
- package/dist/domain/messaging/message.js +1 -1
- package/dist/domain/messaging/message.js.map +1 -1
- package/dist/domain/messaging/overdue.d.ts +2 -0
- package/dist/domain/messaging/overdue.js +3 -0
- package/dist/domain/messaging/overdue.js.map +1 -1
- package/dist/domain/messaging/ping-ship.d.ts +2 -2
- package/dist/domain/messaging/ping-ship.js +1 -1
- package/dist/domain/messaging/ping-ship.js.map +1 -1
- package/dist/domain/messaging/ports.d.ts +2 -0
- package/dist/domain/messaging/push-receive-deliveries.d.ts +4 -1
- package/dist/domain/messaging/push-receive-deliveries.js +5 -3
- package/dist/domain/messaging/push-receive-deliveries.js.map +1 -1
- package/dist/domain/messaging/receive-deliveries.d.ts +21 -0
- package/dist/domain/messaging/receive-deliveries.js +5 -3
- package/dist/domain/messaging/receive-deliveries.js.map +1 -1
- package/dist/domain/messaging/receive-reply.d.ts +32 -0
- package/dist/domain/messaging/receive-reply.js +25 -0
- package/dist/domain/messaging/receive-reply.js.map +1 -0
- package/dist/domain/messaging/resend-delivery.d.ts +2 -2
- package/dist/domain/messaging/resend-delivery.js +1 -0
- package/dist/domain/messaging/resend-delivery.js.map +1 -1
- package/dist/domain/messaging/send-message.d.ts +3 -3
- package/dist/domain/messaging/send-message.js +1 -0
- package/dist/domain/messaging/send-message.js.map +1 -1
- package/dist/domain/registry/apply-network-rules.d.ts +32 -0
- package/dist/domain/registry/apply-network-rules.js +33 -0
- package/dist/domain/registry/apply-network-rules.js.map +1 -0
- package/dist/domain/registry/assign-crew.d.ts +2 -2
- package/dist/domain/registry/assign-crew.js +3 -2
- package/dist/domain/registry/assign-crew.js.map +1 -1
- package/dist/domain/registry/assign-label.d.ts +7 -5
- package/dist/domain/registry/assign-label.js +16 -6
- package/dist/domain/registry/assign-label.js.map +1 -1
- package/dist/domain/registry/change-label-values.d.ts +1 -1
- package/dist/domain/registry/change-label-values.js +4 -3
- package/dist/domain/registry/change-label-values.js.map +1 -1
- package/dist/domain/registry/check-reach.d.ts +49 -24
- package/dist/domain/registry/check-reach.js +77 -42
- package/dist/domain/registry/check-reach.js.map +1 -1
- package/dist/domain/registry/clear-request.d.ts +1 -1
- package/dist/domain/registry/clear-request.js +1 -1
- package/dist/domain/registry/clear-request.js.map +1 -1
- package/dist/domain/registry/commission-ship.d.ts +26 -13
- package/dist/domain/registry/commission-ship.js +199 -22
- package/dist/domain/registry/commission-ship.js.map +1 -1
- package/dist/domain/registry/confirm-crew-release.d.ts +2 -2
- package/dist/domain/registry/confirm-crew-release.js +3 -2
- package/dist/domain/registry/confirm-crew-release.js.map +1 -1
- package/dist/domain/registry/confirm-worktree-cleared.d.ts +2 -2
- package/dist/domain/registry/confirm-worktree-cleared.js +3 -2
- package/dist/domain/registry/confirm-worktree-cleared.js.map +1 -1
- package/dist/domain/registry/connect-plugin.d.ts +31 -0
- package/dist/domain/registry/connect-plugin.js +34 -0
- package/dist/domain/registry/connect-plugin.js.map +1 -0
- package/dist/domain/registry/crew-request.d.ts +2 -2
- package/dist/domain/registry/crew-request.js.map +1 -1
- package/dist/domain/registry/declare-network-rules.d.ts +9 -6
- package/dist/domain/registry/declare-network-rules.js +13 -8
- package/dist/domain/registry/declare-network-rules.js.map +1 -1
- package/dist/domain/registry/declare-scopes.d.ts +2 -2
- package/dist/domain/registry/declared-network-rules.d.ts +30 -21
- package/dist/domain/registry/declared-network-rules.js +46 -22
- package/dist/domain/registry/declared-network-rules.js.map +1 -1
- package/dist/domain/registry/define-label.d.ts +1 -1
- package/dist/domain/registry/define-label.js +5 -5
- package/dist/domain/registry/define-label.js.map +1 -1
- package/dist/domain/registry/delete-label.d.ts +1 -1
- package/dist/domain/registry/delete-label.js +4 -3
- package/dist/domain/registry/delete-label.js.map +1 -1
- package/dist/domain/registry/discard-network-rules-draft.d.ts +23 -0
- package/dist/domain/registry/discard-network-rules-draft.js +24 -0
- package/dist/domain/registry/discard-network-rules-draft.js.map +1 -0
- package/dist/domain/registry/discover.d.ts +12 -10
- package/dist/domain/registry/discover.js +11 -5
- package/dist/domain/registry/discover.js.map +1 -1
- package/dist/domain/registry/explain-crew-request.d.ts +2 -2
- package/dist/domain/registry/explain-crew-request.js +3 -2
- package/dist/domain/registry/explain-crew-request.js.map +1 -1
- package/dist/domain/registry/explain-reach.d.ts +22 -14
- package/dist/domain/registry/explain-reach.js +53 -53
- package/dist/domain/registry/explain-reach.js.map +1 -1
- package/dist/domain/registry/get-ship.d.ts +2 -2
- package/dist/domain/registry/get-starting-prompt.d.ts +4 -2
- package/dist/domain/registry/get-starting-prompt.js +7 -5
- package/dist/domain/registry/get-starting-prompt.js.map +1 -1
- package/dist/domain/registry/give-back-crew-request.d.ts +2 -2
- package/dist/domain/registry/give-back-crew-request.js +3 -2
- package/dist/domain/registry/give-back-crew-request.js.map +1 -1
- package/dist/domain/registry/grant-scopes.d.ts +8 -5
- package/dist/domain/registry/grant-scopes.js +14 -5
- package/dist/domain/registry/grant-scopes.js.map +1 -1
- package/dist/domain/registry/label.d.ts +69 -18
- package/dist/domain/registry/label.js +79 -28
- package/dist/domain/registry/label.js.map +1 -1
- package/dist/domain/registry/lease.d.ts +1 -1
- package/dist/domain/registry/leases.d.ts +6 -3
- package/dist/domain/registry/leases.js +7 -5
- package/dist/domain/registry/leases.js.map +1 -1
- package/dist/domain/registry/list-fleet.d.ts +2 -0
- package/dist/domain/registry/list-fleet.js +1 -0
- package/dist/domain/registry/list-fleet.js.map +1 -1
- package/dist/domain/registry/list-scopes.d.ts +2 -1
- package/dist/domain/registry/list-scopes.js +2 -1
- package/dist/domain/registry/list-scopes.js.map +1 -1
- package/dist/domain/registry/managed-or-assigned.d.ts +12 -4
- package/dist/domain/registry/managed-or-assigned.js +25 -7
- package/dist/domain/registry/managed-or-assigned.js.map +1 -1
- package/dist/domain/registry/network-rules-draft.d.ts +45 -0
- package/dist/domain/registry/network-rules-draft.js +41 -0
- package/dist/domain/registry/network-rules-draft.js.map +1 -0
- package/dist/domain/registry/network-settings.d.ts +96 -115
- package/dist/domain/registry/network-settings.js +101 -150
- package/dist/domain/registry/network-settings.js.map +1 -1
- package/dist/domain/registry/plugin-connection.d.ts +48 -0
- package/dist/domain/registry/plugin-connection.js +35 -0
- package/dist/domain/registry/plugin-connection.js.map +1 -0
- package/dist/domain/registry/ports.d.ts +60 -12
- package/dist/domain/registry/reach-refusal.d.ts +18 -4
- package/dist/domain/registry/read-assigned-crew-requests.d.ts +2 -2
- package/dist/domain/registry/read-built-in-rules.d.ts +5 -4
- package/dist/domain/registry/read-built-in-rules.js +9 -7
- package/dist/domain/registry/read-built-in-rules.js.map +1 -1
- package/dist/domain/registry/read-clear-requests.d.ts +2 -2
- package/dist/domain/registry/read-clear-requests.js.map +1 -1
- package/dist/domain/registry/read-declared-network-rules.d.ts +5 -5
- package/dist/domain/registry/read-declared-network-rules.js +4 -4
- package/dist/domain/registry/read-declared-network-rules.js.map +1 -1
- package/dist/domain/registry/read-network-rules-draft-changes.d.ts +22 -0
- package/dist/domain/registry/read-network-rules-draft-changes.js +53 -0
- package/dist/domain/registry/read-network-rules-draft-changes.js.map +1 -0
- package/dist/domain/registry/read-network-rules.d.ts +30 -0
- package/dist/domain/registry/read-network-rules.js +18 -0
- package/dist/domain/registry/read-network-rules.js.map +1 -0
- package/dist/domain/registry/read-on-behalf.d.ts +3 -3
- package/dist/domain/registry/read-on-behalf.js.map +1 -1
- package/dist/domain/registry/read-reach-refusals.d.ts +6 -5
- package/dist/domain/registry/read-reach-refusals.js +13 -8
- package/dist/domain/registry/read-reach-refusals.js.map +1 -1
- package/dist/domain/registry/read-reach.d.ts +10 -10
- package/dist/domain/registry/read-reach.js +26 -16
- package/dist/domain/registry/read-reach.js.map +1 -1
- package/dist/domain/registry/recrew-ship.d.ts +2 -2
- package/dist/domain/registry/recrew-ship.js +5 -3
- package/dist/domain/registry/recrew-ship.js.map +1 -1
- package/dist/domain/registry/release-ship.d.ts +7 -4
- package/dist/domain/registry/release-ship.js +8 -4
- package/dist/domain/registry/release-ship.js.map +1 -1
- package/dist/domain/registry/remove-crew-request.d.ts +2 -2
- package/dist/domain/registry/remove-crew-request.js +4 -3
- package/dist/domain/registry/remove-crew-request.js.map +1 -1
- package/dist/domain/registry/rename-ship.d.ts +1 -1
- package/dist/domain/registry/rename-ship.js +4 -3
- package/dist/domain/registry/rename-ship.js.map +1 -1
- package/dist/domain/registry/report-crew-status.d.ts +2 -2
- package/dist/domain/registry/report-crew-status.js +3 -2
- package/dist/domain/registry/report-crew-status.js.map +1 -1
- package/dist/domain/registry/request-crew.d.ts +3 -3
- package/dist/domain/registry/request-crew.js +4 -3
- package/dist/domain/registry/request-crew.js.map +1 -1
- package/dist/domain/registry/request-worktree-clear.d.ts +2 -2
- package/dist/domain/registry/request-worktree-clear.js +4 -3
- package/dist/domain/registry/request-worktree-clear.js.map +1 -1
- package/dist/domain/registry/retire-ship.d.ts +17 -12
- package/dist/domain/registry/retire-ship.js +30 -21
- package/dist/domain/registry/retire-ship.js.map +1 -1
- package/dist/domain/registry/save-network-rules-draft.d.ts +31 -0
- package/dist/domain/registry/save-network-rules-draft.js +27 -0
- package/dist/domain/registry/save-network-rules-draft.js.map +1 -0
- package/dist/domain/registry/scope-grant.d.ts +19 -19
- package/dist/domain/registry/scope-grant.js +8 -9
- package/dist/domain/registry/scope-grant.js.map +1 -1
- package/dist/domain/registry/set-built-in-rule.d.ts +3 -3
- package/dist/domain/registry/set-built-in-rule.js +5 -9
- package/dist/domain/registry/set-built-in-rule.js.map +1 -1
- package/dist/domain/registry/set-owner.d.ts +9 -6
- package/dist/domain/registry/set-owner.js +14 -8
- package/dist/domain/registry/set-owner.js.map +1 -1
- package/dist/domain/registry/set-verified-facts.d.ts +36 -0
- package/dist/domain/registry/set-verified-facts.js +58 -0
- package/dist/domain/registry/set-verified-facts.js.map +1 -0
- package/dist/domain/registry/ship.d.ts +55 -17
- package/dist/domain/registry/ship.js +107 -16
- package/dist/domain/registry/ship.js.map +1 -1
- package/dist/domain/registry/statement.d.ts +2 -2
- package/dist/domain/registry/statement.js +2 -2
- package/dist/domain/registry/statement.js.map +1 -1
- package/dist/domain/registry/turn.d.ts +2 -2
- package/dist/domain/registry/turn.js +2 -2
- package/dist/domain/registry/turn.js.map +1 -1
- package/dist/domain/registry/unassign-label.d.ts +8 -5
- package/dist/domain/registry/unassign-label.js +17 -6
- package/dist/domain/registry/unassign-label.js.map +1 -1
- package/dist/domain/registry/verified-facts.d.ts +75 -0
- package/dist/domain/registry/verified-facts.js +107 -0
- package/dist/domain/registry/verified-facts.js.map +1 -0
- package/dist/domain/registry/whoami.d.ts +2 -2
- package/dist/domain/shared/caller.d.ts +40 -6
- package/dist/domain/shared/caller.js +20 -0
- package/dist/domain/shared/caller.js.map +1 -1
- package/dist/domain/shared/delivery-way.d.ts +9 -5
- package/dist/domain/shared/delivery-way.js +17 -5
- package/dist/domain/shared/delivery-way.js.map +1 -1
- package/dist/domain/shared/errors.d.ts +1 -1
- package/dist/domain/shared/errors.js.map +1 -1
- package/dist/domain/shared/events.d.ts +13 -2
- package/dist/domain/shared/events.js.map +1 -1
- package/dist/domain/shared/health.d.ts +3 -1
- package/dist/domain/shared/health.js +5 -3
- package/dist/domain/shared/health.js.map +1 -1
- package/dist/domain/shared/history.d.ts +5 -1
- package/dist/domain/shared/history.js.map +1 -1
- package/dist/domain/shared/read-fleet-limits.d.ts +2 -2
- package/dist/domain/shared/read-health.d.ts +4 -3
- package/dist/domain/shared/read-health.js +9 -3
- package/dist/domain/shared/read-health.js.map +1 -1
- package/dist/domain/shared/read-inbox.d.ts +2 -2
- package/dist/domain/shared/read-message.d.ts +2 -2
- package/dist/domain/shared/read-needs-attention.d.ts +2 -2
- package/dist/domain/shared/read-sent-message.d.ts +31 -0
- package/dist/domain/shared/read-sent-message.js +28 -0
- package/dist/domain/shared/read-sent-message.js.map +1 -0
- package/dist/domain/shared/read-ship-messages.d.ts +2 -2
- package/dist/domain/shared/read-ship-timeline.d.ts +2 -2
- package/dist/domain/shared/read-ship-way.d.ts +2 -2
- package/dist/domain/shared/read-ship-way.js +1 -1
- package/dist/domain/shared/read-ship-way.js.map +1 -1
- package/dist/domain/shared/stuck.js +4 -2
- package/dist/domain/shared/stuck.js.map +1 -1
- package/dist/start.js +1 -0
- package/dist/start.js.map +1 -1
- package/dist/testing/account-token-issuer.d.ts +30 -0
- package/dist/testing/account-token-issuer.js +48 -0
- package/dist/testing/account-token-issuer.js.map +1 -0
- package/dist/testing/container-images.d.ts +14 -0
- package/dist/testing/container-images.js +18 -0
- package/dist/testing/container-images.js.map +1 -0
- package/dist/testing/database.d.ts +14 -0
- package/dist/testing/database.js +48 -0
- package/dist/testing/database.js.map +1 -0
- package/dist/testing/fleet.d.ts +13 -0
- package/dist/testing/fleet.js +17 -0
- package/dist/testing/fleet.js.map +1 -0
- package/dist/testing/index.d.ts +12 -0
- package/dist/testing/index.js +12 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/keys.d.ts +1 -0
- package/dist/testing/keys.js +7 -0
- package/dist/testing/keys.js.map +1 -0
- package/dist/testing/migrate-lock.d.ts +12 -0
- package/dist/testing/migrate-lock.js +51 -0
- package/dist/testing/migrate-lock.js.map +1 -0
- package/dist/testing/migrated-template.d.ts +12 -0
- package/dist/testing/migrated-template.js +29 -0
- package/dist/testing/migrated-template.js.map +1 -0
- package/dist/testing/postgres-container.d.ts +16 -0
- package/dist/testing/postgres-container.js +30 -0
- package/dist/testing/postgres-container.js.map +1 -0
- package/dist/testing/postgres-global-setup.d.ts +15 -0
- package/dist/testing/postgres-global-setup.js +20 -0
- package/dist/testing/postgres-global-setup.js.map +1 -0
- package/dist/testing/prisma-cli.d.ts +5 -0
- package/dist/testing/prisma-cli.js +15 -0
- package/dist/testing/prisma-cli.js.map +1 -0
- package/dist/testing/result.d.ts +5 -0
- package/dist/testing/result.js +15 -0
- package/dist/testing/result.js.map +1 -0
- package/dist/wiring.d.ts +27 -6
- package/dist/wiring.js +44 -11
- package/dist/wiring.js.map +1 -1
- package/package.json +26 -3
- package/src/adapters/prisma/migrations/20261018250000_scope_catalogue/migration.sql +8 -7
- package/src/adapters/prisma/migrations/20261019100000_on_behalf_scope/migration.sql +3 -1
- package/src/adapters/prisma/migrations/20261019130000_plugin_connections/migration.sql +54 -0
- package/src/adapters/prisma/migrations/20261019150000_network_plugin_registered_at/migration.sql +23 -0
- package/src/adapters/prisma/migrations/20261019160000_lease_waker/migration.sql +4 -0
- package/src/adapters/prisma/migrations/20261019200000_account_cut_offs/migration.sql +10 -0
- package/src/adapters/prisma/migrations/20261019210000_event_actors/migration.sql +32 -0
- package/src/adapters/prisma/migrations/20261020090000_argos_jobs_as_scopes/migration.sql +65 -0
- package/src/adapters/prisma/migrations/20261020100000_installation_labels/migration.sql +7 -0
- package/src/adapters/prisma/migrations/20261020110000_installation_declared_network_rules/migration.sql +10 -0
- package/src/adapters/prisma/migrations/20261020120000_commissioning_actors/migration.sql +14 -0
- package/src/adapters/prisma/migrations/20261020130000_console_sign_in_accounts/migration.sql +4 -0
- package/src/adapters/prisma/migrations/20261020140000_event_signed_in_accounts/migration.sql +4 -0
- package/src/adapters/prisma/migrations/20261020150000_account_cut_off_ends_console_sessions/migration.sql +2 -0
- package/src/adapters/prisma/migrations/20261020160000_network_in_core/migration.sql +30 -0
- package/src/adapters/prisma/migrations/20261020170000_verify_scope/migration.sql +64 -0
- package/src/adapters/prisma/migrations/20261020180000_verified_facts/migration.sql +21 -0
- package/src/adapters/prisma/migrations/20261020190000_verified_facts_by_writer/migration.sql +3 -0
- package/src/adapters/prisma/schema.prisma +160 -22
- package/dist/domain/registry/register-network-plugin.d.ts +0 -28
- package/dist/domain/registry/register-network-plugin.js +0 -26
- package/dist/domain/registry/register-network-plugin.js.map +0 -1
- package/dist/domain/registry/set-network-rules.d.ts +0 -31
- package/dist/domain/registry/set-network-rules.js +0 -27
- package/dist/domain/registry/set-network-rules.js.map +0 -1
- package/dist/domain/registry/unregister-network-plugin.d.ts +0 -27
- package/dist/domain/registry/unregister-network-plugin.js +0 -25
- package/dist/domain/registry/unregister-network-plugin.js.map +0 -1
package/README.md
CHANGED
|
@@ -91,7 +91,7 @@ A lease ends cleanly in two ways. The operator releases a crewed ship with `flee
|
|
|
91
91
|
|
|
92
92
|
The operator retires a ship for good with `fleet.retire` (`{ "shipId": "shp_..." }`, scope `fleet:manage`), crewed or not, never `argo` (`FORBIDDEN`), never twice (`CONFLICT`). In one transaction it locks the ship, invalidates its secret, ends a crewed ship's lease as a release does, abandons the deliveries pending to the ship itself (one `DeliveryAbandoned` each, with `ShipRetired`) and retires it: it is never claimed or addressed again and its name is free. Deliveries to its type stay for the other ships of the type, and an undeliverable one stays for the operator. A send racing it either commits first and is abandoned, or comes after and is refused. It answers `{ "abandonedDeliveries": n }`. `fleet.recrew` (`{ "shipId": "shp_..." }`, `fleet:manage`) gives a crewed ship whose session is gone a new crew: a release and a new starting prompt in one transaction, answering the prompt and crew line once, as `fleet.getStartingPrompt` does. `fleet.ship` counts `inFlightDeliveries` (what a release returns) and `openDeliveries` (what a retire abandons).
|
|
93
93
|
|
|
94
|
-
Needs attention: `fleet.needsAttention` (`fleet:read`) lists every undeliverable delivery of the fleet, oldest first by when it became undeliverable, each with its attempts, `since` and its whole message. `fleet.dismiss` (`{ "deliveryId": "dlv_..." }`, `
|
|
94
|
+
Needs attention: `fleet.needsAttention` (`fleet:read`) lists every undeliverable delivery of the fleet, oldest first by when it became undeliverable, each with its attempts, `since` and its whole message. `fleet.dismiss` (`{ "deliveryId": "dlv_..." }`, `messages:resend`) sets one to dismissed with `DeliveryDismissed`, and answers `{}`; again is OK. `fleet.resend` (`{ "deliveryId": "dlv_..." }`, `messages:resend`) sends it again: a new message from the original sender, to the same ship or type, with the same payload, content type and `inReplyTo`, naming the original (`resend_of`), and dismisses the original, in one transaction. It answers `{ "messageId": "msg_..." }`; a second resend of the delivery answers the same. Any delivery not undeliverable is refused (`CONFLICT`); a selector that no longer resolves is refused as a send would be, and the original stays undeliverable.
|
|
95
95
|
|
|
96
96
|
The operator inbox: `fleet.inbox` (`{ "filter": "open" | "done" | "all" }`, `fleet:read`) lists the messages addressed to the caller itself (argo's, for the console; argo's too for a viewer session, decision 0022), newest first, each with its delivery's state, `readAt`, `doneAt`, `repliedWith` and its whole message. Only argo's console session calls the rest; any other ship is refused (`FORBIDDEN`), and a delivery not in argo's inbox is `NOT_FOUND`. `fleet.markRead` (`{ "deliveryId", "isRead" }`, `messages:receive`) marks it read (keeping the first read) or unread; read is not done, and no event is written. `fleet.markDone` (`{ "deliveryId" }`, `messages:receive`) hands and acknowledges it at once under the console session's lease; again is OK. `fleet.reply` (`{ "deliveryId", "payload", "idempotencyKey" }`, `messages:send` and `messages:receive`) sends the payload as `text/plain` from argo to the message's sender with `inReplyTo`, and marks the message done in one transaction; it answers `{ "messageId" }`, and a repeat of the key answers the same reply.
|
|
97
97
|
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { AccountTokenSignatures } from '../../domain/identity/ports.js';
|
|
2
|
+
/**
|
|
3
|
+
* Checks pagasae's signature on account tokens (decision 0058) with node's
|
|
4
|
+
* crypto: the issuer's published key set, read from `fetchKeySet` (its
|
|
5
|
+
* `/.well-known/jwks.json`), Ed25519 and P-256 keys. While pagasae does not
|
|
6
|
+
* answer, the keys core already holds go on checking.
|
|
7
|
+
*/
|
|
8
|
+
export declare function createAccountTokenSignatures(deps: {
|
|
9
|
+
issuer: string;
|
|
10
|
+
fetchKeySet: () => Promise<unknown>;
|
|
11
|
+
now: () => Date;
|
|
12
|
+
}): AccountTokenSignatures;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { createPublicKey, verify } from 'node:crypto';
|
|
2
|
+
import { accountTokenClaimsSchema } from '@aeolus-fleet/common';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
/**
|
|
5
|
+
* How long the keys core holds count as pagasae's current ones. A key core
|
|
6
|
+
* does not know makes it fetch them again, and so does a check after this
|
|
7
|
+
* long, so a key pagasae dropped (a leaked one replaced, decision 0058)
|
|
8
|
+
* stops counting within it; never more often, so a forged key id cannot make
|
|
9
|
+
* core fetch without end.
|
|
10
|
+
*/
|
|
11
|
+
const KEYS_FRESH_FOR_MS = 60_000;
|
|
12
|
+
/** RFC 9068: an account token is an access token. */
|
|
13
|
+
const ACCESS_TOKEN_TYPE = 'at+jwt';
|
|
14
|
+
const headerSchema = z.object({ alg: z.enum(['EdDSA', 'ES256']), typ: z.literal(ACCESS_TOKEN_TYPE), kid: z.string().min(1) });
|
|
15
|
+
/** The fields of a published key node reads: Ed25519 (`OKP`) and P-256 (`EC`) public keys. */
|
|
16
|
+
const publishedKeySchema = z.object({ kid: z.string().min(1), kty: z.string(), crv: z.string(), x: z.string(), y: z.string().optional() });
|
|
17
|
+
const keySetSchema = z.object({ keys: z.array(z.unknown()) });
|
|
18
|
+
/**
|
|
19
|
+
* Checks pagasae's signature on account tokens (decision 0058) with node's
|
|
20
|
+
* crypto: the issuer's published key set, read from `fetchKeySet` (its
|
|
21
|
+
* `/.well-known/jwks.json`), Ed25519 and P-256 keys. While pagasae does not
|
|
22
|
+
* answer, the keys core already holds go on checking.
|
|
23
|
+
*/
|
|
24
|
+
export function createAccountTokenSignatures(deps) {
|
|
25
|
+
let keys = new Map();
|
|
26
|
+
let fetchedAt;
|
|
27
|
+
let fetching;
|
|
28
|
+
const refresh = () => {
|
|
29
|
+
fetching ??= (async () => {
|
|
30
|
+
fetchedAt = deps.now().getTime();
|
|
31
|
+
try {
|
|
32
|
+
keys = publicKeys(await deps.fetchKeySet());
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
// pagasae down or answering nonsense: keep the keys held (decision 0058, "pagasae down").
|
|
36
|
+
}
|
|
37
|
+
finally {
|
|
38
|
+
fetching = undefined;
|
|
39
|
+
}
|
|
40
|
+
})();
|
|
41
|
+
return fetching;
|
|
42
|
+
};
|
|
43
|
+
return {
|
|
44
|
+
verify: async (token) => {
|
|
45
|
+
const parts = token.split('.');
|
|
46
|
+
if (parts.length !== 3) {
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
const [encodedHeader = '', encodedClaims = '', encodedSignature = ''] = parts;
|
|
50
|
+
const header = headerSchema.safeParse(decoded(encodedHeader));
|
|
51
|
+
if (!header.success) {
|
|
52
|
+
return undefined;
|
|
53
|
+
}
|
|
54
|
+
if (fetchedAt === undefined || deps.now().getTime() - fetchedAt >= KEYS_FRESH_FOR_MS) {
|
|
55
|
+
await refresh();
|
|
56
|
+
}
|
|
57
|
+
const key = keys.get(header.data.kid);
|
|
58
|
+
if (!key || !isSignedBy(key, { algorithm: header.data.alg, input: `${encodedHeader}.${encodedClaims}`, signature: encodedSignature })) {
|
|
59
|
+
return undefined;
|
|
60
|
+
}
|
|
61
|
+
const claims = accountTokenClaimsSchema.safeParse(decoded(encodedClaims));
|
|
62
|
+
return claims.success && claims.data.issuer === deps.issuer ? claims.data : undefined;
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
function decoded(part) {
|
|
67
|
+
try {
|
|
68
|
+
const parsed = JSON.parse(Buffer.from(part, 'base64url').toString('utf8'));
|
|
69
|
+
return parsed;
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/** The usable keys of a key set by id; a key node cannot read is left out. */
|
|
76
|
+
function publicKeys(keySet) {
|
|
77
|
+
const read = new Map();
|
|
78
|
+
for (const published of keySetSchema.parse(keySet).keys) {
|
|
79
|
+
const parsed = publishedKeySchema.safeParse(published);
|
|
80
|
+
if (!parsed.success) {
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
const { kid, ...jwk } = parsed.data;
|
|
84
|
+
try {
|
|
85
|
+
read.set(kid, createPublicKey({ key: jwk, format: 'jwk' }));
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
// Not a public key node reads: it can sign nothing core accepts.
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return read;
|
|
92
|
+
}
|
|
93
|
+
function isSignedBy(key, signed) {
|
|
94
|
+
const { algorithm } = signed;
|
|
95
|
+
const input = Buffer.from(signed.input);
|
|
96
|
+
const signature = Buffer.from(signed.signature, 'base64url');
|
|
97
|
+
switch (algorithm) {
|
|
98
|
+
case 'EdDSA':
|
|
99
|
+
return key.asymmetricKeyType === 'ed25519' && verify(null, input, key, signature);
|
|
100
|
+
case 'ES256':
|
|
101
|
+
return key.asymmetricKeyType === 'ec' && key.asymmetricKeyDetails?.namedCurve === 'prime256v1' && verify('sha256', input, { key, dsaEncoding: 'ieee-p1363' }, signature);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=account-token-signatures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account-token-signatures.js","sourceRoot":"","sources":["../../../src/adapters/crypto/account-token-signatures.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,13 @@ export declare function sessionCookie(cookie: {
|
|
|
10
10
|
}): string;
|
|
11
11
|
/** A Set-Cookie value that removes the cookie, for the same domain it was set for. */
|
|
12
12
|
export declare function clearedSessionCookie(domain?: string): string;
|
|
13
|
+
type Headers = Readonly<Record<string, string | string[] | undefined>>;
|
|
13
14
|
/** The ship a plugin reads on behalf of, from the `Aeolus-On-Behalf-Of` header, if there is one (decision 0034). */
|
|
14
|
-
export declare function readOnBehalfOf(headers:
|
|
15
|
+
export declare function readOnBehalfOf(headers: Headers): string | undefined;
|
|
16
|
+
/** The account token from the `Aeolus-Account-Token` header, if there is one (decision 0058). */
|
|
17
|
+
export declare function readAccountToken(headers: Headers): string | undefined;
|
|
18
|
+
/** The fleet the installation acts in, from the `Aeolus-Fleet` header, if there is one (decision 0057). */
|
|
19
|
+
export declare function readFleet(headers: Headers): string | undefined;
|
|
15
20
|
/** The token from an `Authorization: Bearer <token>` header, if there is one. */
|
|
16
21
|
export declare function readBearer(authorizationHeader: string | undefined): string | undefined;
|
|
22
|
+
export {};
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* How a request says who it is: a crew token as a bearer token, or the console
|
|
3
|
-
* session cookie, and for a plugin's read, the ship it reads on behalf of
|
|
4
|
-
*
|
|
3
|
+
* session cookie, and for a plugin's read, the ship it reads on behalf of; an
|
|
4
|
+
* account token pagasae signed, or the installation token with the fleet it
|
|
5
|
+
* acts in (decision 0057). The ship secret travels only in the body of
|
|
6
|
+
* `register`.
|
|
5
7
|
*
|
|
6
8
|
* The console session cookie holds the random session token, never the ship secret.
|
|
7
9
|
* httpOnly so scripts cannot read it, Secure so it only travels over HTTPS
|
|
8
10
|
* (browsers accept it on http://localhost for development), SameSite=Strict so
|
|
9
11
|
* no other site's page can make the browser send it.
|
|
10
12
|
*/
|
|
11
|
-
import { ON_BEHALF_OF_HEADER } from '@aeolus-fleet/common';
|
|
13
|
+
import { ACCOUNT_TOKEN_HEADER, FLEET_HEADER, ON_BEHALF_OF_HEADER } from '@aeolus-fleet/common';
|
|
12
14
|
export const SESSION_COOKIE_NAME = 'aeolus_session';
|
|
13
15
|
const ATTRIBUTES = 'Path=/; HttpOnly; Secure; SameSite=Strict';
|
|
14
16
|
/**
|
|
@@ -39,10 +41,21 @@ export function sessionCookie(cookie) {
|
|
|
39
41
|
export function clearedSessionCookie(domain) {
|
|
40
42
|
return `${SESSION_COOKIE_NAME}=; Max-Age=0; ${scope(domain)}`;
|
|
41
43
|
}
|
|
44
|
+
function readHeader(headers, name) {
|
|
45
|
+
const header = headers[name];
|
|
46
|
+
return Array.isArray(header) ? header.join(',') : header;
|
|
47
|
+
}
|
|
42
48
|
/** The ship a plugin reads on behalf of, from the `Aeolus-On-Behalf-Of` header, if there is one (decision 0034). */
|
|
43
49
|
export function readOnBehalfOf(headers) {
|
|
44
|
-
|
|
45
|
-
|
|
50
|
+
return readHeader(headers, ON_BEHALF_OF_HEADER);
|
|
51
|
+
}
|
|
52
|
+
/** The account token from the `Aeolus-Account-Token` header, if there is one (decision 0058). */
|
|
53
|
+
export function readAccountToken(headers) {
|
|
54
|
+
return readHeader(headers, ACCOUNT_TOKEN_HEADER);
|
|
55
|
+
}
|
|
56
|
+
/** The fleet the installation acts in, from the `Aeolus-Fleet` header, if there is one (decision 0057). */
|
|
57
|
+
export function readFleet(headers) {
|
|
58
|
+
return readHeader(headers, FLEET_HEADER);
|
|
46
59
|
}
|
|
47
60
|
/** The token from an `Authorization: Bearer <token>` header, if there is one. */
|
|
48
61
|
export function readBearer(authorizationHeader) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-credentials.js","sourceRoot":"","sources":["../../../src/adapters/http/request-credentials.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"request-credentials.js","sourceRoot":"","sources":["../../../src/adapters/http/request-credentials.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE/F,MAAM,CAAC,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAEpD,MAAM,UAAU,GAAG,2CAA2C,CAAC;AAE/D;;;GAGG;AACH,SAAS,KAAK,CAAC,MAA0B;IACvC,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,MAAM,KAAK,UAAU,EAAE,CAAC;AAC/E,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,gBAAgB,CAAC,YAAgC;IAC/D,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,SAAS,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,KAAK,mBAAmB,EAAE,CAAC;YAChF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/C,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,aAAa,CAAC,MAAsE;IAClG,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACjD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAC5F,OAAO,GAAG,mBAAmB,IAAI,KAAK,aAAa,aAAa,KAAK,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;AACvF,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,oBAAoB,CAAC,MAAe;IAClD,OAAO,GAAG,mBAAmB,iBAAiB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;AAChE,CAAC;AAID,SAAS,UAAU,CAAC,OAAgB,EAAE,IAAY;IAChD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAC3D,CAAC;AAED,oHAAoH;AACpH,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,OAAO,UAAU,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;AAClD,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,OAAO,UAAU,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;AACnD,CAAC;AAED,2GAA2G;AAC3G,MAAM,UAAU,SAAS,CAAC,OAAgB;IACxC,OAAO,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAC3C,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,UAAU,CAAC,mBAAuC;IAChE,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;IACrE,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC"}
|
|
@@ -10,9 +10,9 @@ import { registerRestApi } from '../rest/rest-api.js';
|
|
|
10
10
|
import { appRouter } from '../trpc/router.js';
|
|
11
11
|
import { refusalBody, unexpectedFailure } from '../trpc/ship-contract.js';
|
|
12
12
|
import { createRateLimiter } from './rate-limiter.js';
|
|
13
|
-
import { clearedSessionCookie, readBearer, readOnBehalfOf, readSessionToken, sessionCookie } from './request-credentials.js';
|
|
13
|
+
import { clearedSessionCookie, readAccountToken, readBearer, readFleet, readOnBehalfOf, readSessionToken, sessionCookie } from './request-credentials.js';
|
|
14
14
|
import { runningVersions } from './version.js';
|
|
15
|
-
import { INSTALLATION_TOKEN_HEADER } from '../trpc/installation.js';
|
|
15
|
+
import { INSTALLATION_TOKEN_HEADER } from '../trpc/installation-token.js';
|
|
16
16
|
/** A header's one value: a header sent twice counts as not sent. */
|
|
17
17
|
function headerValue(value) {
|
|
18
18
|
return typeof value === 'string' ? value : undefined;
|
|
@@ -158,6 +158,8 @@ export function buildHttpServer(options) {
|
|
|
158
158
|
bearer: readBearer(req.headers.authorization),
|
|
159
159
|
sessionToken: readSessionToken(req.headers.cookie),
|
|
160
160
|
onBehalfOf: readOnBehalfOf(req.headers),
|
|
161
|
+
accountToken: readAccountToken(req.headers),
|
|
162
|
+
fleet: readFleet(req.headers),
|
|
161
163
|
},
|
|
162
164
|
canUseConsoleSession: true,
|
|
163
165
|
sessionCookie: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/adapters/http/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAiC,MAAM,+BAA+B,CAAC;AACjG,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,OAAO,EAAE,EAA2F,MAAM,SAAS,CAAC;AAG3H,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAkB,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAkB,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/adapters/http/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ async function writeNumbered(db, of) {
|
|
|
31
31
|
fleetId: event.fleetId,
|
|
32
32
|
type: event.type,
|
|
33
33
|
occurredAt: event.occurredAt,
|
|
34
|
-
|
|
34
|
+
...actorColumns(event.actor),
|
|
35
35
|
shipId: event.shipId ?? null,
|
|
36
36
|
messageId: event.messageId ?? null,
|
|
37
37
|
deliveryId: event.deliveryId ?? null,
|
|
@@ -58,4 +58,16 @@ export function createPrismaFleetEventFeed(db) {
|
|
|
58
58
|
},
|
|
59
59
|
};
|
|
60
60
|
}
|
|
61
|
+
/** The actor as the event's columns hold it (decision 0057): an account by its id only, and argo with the account signed in as it (decision 0054). */
|
|
62
|
+
function actorColumns(actor) {
|
|
63
|
+
switch (actor.kind) {
|
|
64
|
+
case 'ship':
|
|
65
|
+
return { actorKind: actor.kind, actorShipId: actor.shipId, actorAccountId: null, actorThroughShipId: null, actorSignedInAccountId: actor.signedInAccountId ?? null };
|
|
66
|
+
case 'account':
|
|
67
|
+
return { actorKind: actor.kind, actorShipId: null, actorAccountId: actor.accountId, actorThroughShipId: actor.throughShipId, actorSignedInAccountId: null };
|
|
68
|
+
case 'installation':
|
|
69
|
+
case 'system':
|
|
70
|
+
return { actorKind: actor.kind, actorShipId: null, actorAccountId: null, actorThroughShipId: null, actorSignedInAccountId: null };
|
|
71
|
+
}
|
|
72
|
+
}
|
|
61
73
|
//# sourceMappingURL=event-log.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-log.js","sourceRoot":"","sources":["../../../src/adapters/prisma/event-log.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7D,iGAAiG;AACjG,MAAM,CAAC,MAAM,mBAAmB,GAAG,cAAc,CAAC;AAOlD,MAAM,UAAU,oBAAoB,CAAC,EAAM;IACzC,MAAM,IAAI,GAAiB,EAAE,CAAC;IAE9B,OAAO;QACL,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAChB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QACD,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC3E,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;gBAC7B,MAAM,aAAa,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC;YAClG,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,EAAM,EAAE,EAA8C;IACjF,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAC/B,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,SAAS,CAAW;0DACa,MAAM,CAAC,MAAM;iBACtD,OAAO;6BACK,CAAC;IAC5B,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7C,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YAClC,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,
|
|
1
|
+
{"version":3,"file":"event-log.js","sourceRoot":"","sources":["../../../src/adapters/prisma/event-log.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7D,iGAAiG;AACjG,MAAM,CAAC,MAAM,mBAAmB,GAAG,cAAc,CAAC;AAOlD,MAAM,UAAU,oBAAoB,CAAC,EAAM;IACzC,MAAM,IAAI,GAAiB,EAAE,CAAC;IAE9B,OAAO;QACL,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAChB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QACD,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC3E,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;gBAC7B,MAAM,aAAa,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC;YAClG,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,EAAM,EAAE,EAA8C;IACjF,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAC/B,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,SAAS,CAAW;0DACa,MAAM,CAAC,MAAM;iBACtD,OAAO;6BACK,CAAC;IAC5B,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7C,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YAClC,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC;YAC5B,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;YAC5B,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;YAClC,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI;YACpC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,GAAG,EAAE,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;SAC9B,CAAC,CAAC;KACJ,CAAC,CAAC;IACH,MAAM,EAAE,CAAC,WAAW,CAAA,oBAAoB,mBAAmB,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC;AAC/G,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,0BAA0B,CAAC,EAAM;IAC/C,OAAO;QACL,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACzB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YACpG,OAAO,MAAM,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC,CAAC,CAAC;QAC1C,CAAC;QACD,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;YACvC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACnC,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE;gBACpC,OAAO,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;gBACvB,IAAI,EAAE,KAAK;aACZ,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACpC,CAAC;KACF,CAAC;AACJ,CAAC;AAED,sJAAsJ;AACtJ,SAAS,YAAY,CAAC,KAAY;IAChC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,CAAC,iBAAiB,IAAI,IAAI,EAAE,CAAC;QACvK,KAAK,SAAS;YACZ,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,SAAS,EAAE,kBAAkB,EAAE,KAAK,CAAC,aAAa,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC;QAC9J,KAAK,cAAc,CAAC;QACpB,KAAK,QAAQ;YACX,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC;IACtI,CAAC;AACH,CAAC"}
|
|
@@ -67,6 +67,13 @@ export type ShipLabel = Prisma.ShipLabelModel;
|
|
|
67
67
|
* set take turns on an advisory lock on them (network.ts).
|
|
68
68
|
*/
|
|
69
69
|
export type NetworkSettings = Prisma.NetworkSettingsModel;
|
|
70
|
+
/**
|
|
71
|
+
* Model NetworkRulesDraft
|
|
72
|
+
* The draft of a fleet's own rules (decision 0034): one a fleet at most, the
|
|
73
|
+
* rules as JSON or NULL for all-to-all. Nothing in force reads it; an apply
|
|
74
|
+
* moves it into network_settings and removes it.
|
|
75
|
+
*/
|
|
76
|
+
export type NetworkRulesDraft = Prisma.NetworkRulesDraftModel;
|
|
70
77
|
/**
|
|
71
78
|
* Model DeclaredNetworkRules
|
|
72
79
|
* The network rules a ship declared on the labels it owns (decision 0037),
|
|
@@ -74,6 +81,13 @@ export type NetworkSettings = Prisma.NetworkSettingsModel;
|
|
|
74
81
|
* removes its row.
|
|
75
82
|
*/
|
|
76
83
|
export type DeclaredNetworkRules = Prisma.DeclaredNetworkRulesModel;
|
|
84
|
+
/**
|
|
85
|
+
* Model InstallationDeclaredNetworkRules
|
|
86
|
+
* The network rules the installation declares on the labels it owns in one
|
|
87
|
+
* fleet (decisions 0037, 0052), its whole list as JSON; no row while it
|
|
88
|
+
* declares none.
|
|
89
|
+
*/
|
|
90
|
+
export type InstallationDeclaredNetworkRules = Prisma.InstallationDeclaredNetworkRulesModel;
|
|
77
91
|
/**
|
|
78
92
|
* Model ScopeNamespace
|
|
79
93
|
* A plugin's namespace (decision 0046): taken up for good by the ship that
|
|
@@ -82,6 +96,20 @@ export type DeclaredNetworkRules = Prisma.DeclaredNetworkRulesModel;
|
|
|
82
96
|
* retires.
|
|
83
97
|
*/
|
|
84
98
|
export type ScopeNamespace = Prisma.ScopeNamespaceModel;
|
|
99
|
+
/**
|
|
100
|
+
* Model PluginConnection
|
|
101
|
+
* A plugin argo connected (decision 0034): its ship reads every ship of the
|
|
102
|
+
* fleet, whatever the rules, until a release or a retire of the ship ends it.
|
|
103
|
+
*/
|
|
104
|
+
export type PluginConnection = Prisma.PluginConnectionModel;
|
|
105
|
+
/**
|
|
106
|
+
* Model VerifiedFacts
|
|
107
|
+
* One writer's verified facts about a ship (decision 0059): what it checked,
|
|
108
|
+
* as JSON in the shape common gives, set whole and kept with the ship. The
|
|
109
|
+
* writer is an actor: a ship or an account by its id, or the installation
|
|
110
|
+
* by its name, as a commissioning actor is.
|
|
111
|
+
*/
|
|
112
|
+
export type VerifiedFacts = Prisma.VerifiedFactsModel;
|
|
85
113
|
/**
|
|
86
114
|
* Model ReachRefusal
|
|
87
115
|
* A send the network rules refused (decision 0034), recorded in the
|
|
@@ -198,3 +226,11 @@ export type Guide = Prisma.GuideModel;
|
|
|
198
226
|
* goes with its session and its fleet.
|
|
199
227
|
*/
|
|
200
228
|
export type GuideProgress = Prisma.GuideProgressModel;
|
|
229
|
+
/**
|
|
230
|
+
* Model AccountCutOff
|
|
231
|
+
* An account pagasae cut off (decision 0058): its tokens issued before
|
|
232
|
+
* cut_off_at are refused in every fleet until forget_at, when the longest of
|
|
233
|
+
* them has ended. The installation's, not a fleet's: no fleet_id (ADR 0007).
|
|
234
|
+
* Never an email: the account by pagasae's id only.
|
|
235
|
+
*/
|
|
236
|
+
export type AccountCutOff = Prisma.AccountCutOffModel;
|
|
@@ -86,6 +86,13 @@ export type ShipLabel = Prisma.ShipLabelModel;
|
|
|
86
86
|
* set take turns on an advisory lock on them (network.ts).
|
|
87
87
|
*/
|
|
88
88
|
export type NetworkSettings = Prisma.NetworkSettingsModel;
|
|
89
|
+
/**
|
|
90
|
+
* Model NetworkRulesDraft
|
|
91
|
+
* The draft of a fleet's own rules (decision 0034): one a fleet at most, the
|
|
92
|
+
* rules as JSON or NULL for all-to-all. Nothing in force reads it; an apply
|
|
93
|
+
* moves it into network_settings and removes it.
|
|
94
|
+
*/
|
|
95
|
+
export type NetworkRulesDraft = Prisma.NetworkRulesDraftModel;
|
|
89
96
|
/**
|
|
90
97
|
* Model DeclaredNetworkRules
|
|
91
98
|
* The network rules a ship declared on the labels it owns (decision 0037),
|
|
@@ -93,6 +100,13 @@ export type NetworkSettings = Prisma.NetworkSettingsModel;
|
|
|
93
100
|
* removes its row.
|
|
94
101
|
*/
|
|
95
102
|
export type DeclaredNetworkRules = Prisma.DeclaredNetworkRulesModel;
|
|
103
|
+
/**
|
|
104
|
+
* Model InstallationDeclaredNetworkRules
|
|
105
|
+
* The network rules the installation declares on the labels it owns in one
|
|
106
|
+
* fleet (decisions 0037, 0052), its whole list as JSON; no row while it
|
|
107
|
+
* declares none.
|
|
108
|
+
*/
|
|
109
|
+
export type InstallationDeclaredNetworkRules = Prisma.InstallationDeclaredNetworkRulesModel;
|
|
96
110
|
/**
|
|
97
111
|
* Model ScopeNamespace
|
|
98
112
|
* A plugin's namespace (decision 0046): taken up for good by the ship that
|
|
@@ -101,6 +115,20 @@ export type DeclaredNetworkRules = Prisma.DeclaredNetworkRulesModel;
|
|
|
101
115
|
* retires.
|
|
102
116
|
*/
|
|
103
117
|
export type ScopeNamespace = Prisma.ScopeNamespaceModel;
|
|
118
|
+
/**
|
|
119
|
+
* Model PluginConnection
|
|
120
|
+
* A plugin argo connected (decision 0034): its ship reads every ship of the
|
|
121
|
+
* fleet, whatever the rules, until a release or a retire of the ship ends it.
|
|
122
|
+
*/
|
|
123
|
+
export type PluginConnection = Prisma.PluginConnectionModel;
|
|
124
|
+
/**
|
|
125
|
+
* Model VerifiedFacts
|
|
126
|
+
* One writer's verified facts about a ship (decision 0059): what it checked,
|
|
127
|
+
* as JSON in the shape common gives, set whole and kept with the ship. The
|
|
128
|
+
* writer is an actor: a ship or an account by its id, or the installation
|
|
129
|
+
* by its name, as a commissioning actor is.
|
|
130
|
+
*/
|
|
131
|
+
export type VerifiedFacts = Prisma.VerifiedFactsModel;
|
|
104
132
|
/**
|
|
105
133
|
* Model ReachRefusal
|
|
106
134
|
* A send the network rules refused (decision 0034), recorded in the
|
|
@@ -217,3 +245,11 @@ export type Guide = Prisma.GuideModel;
|
|
|
217
245
|
* goes with its session and its fleet.
|
|
218
246
|
*/
|
|
219
247
|
export type GuideProgress = Prisma.GuideProgressModel;
|
|
248
|
+
/**
|
|
249
|
+
* Model AccountCutOff
|
|
250
|
+
* An account pagasae cut off (decision 0058): its tokens issued before
|
|
251
|
+
* cut_off_at are refused in every fleet until forget_at, when the longest of
|
|
252
|
+
* them has ended. The installation's, not a fleet's: no fleet_id (ADR 0007).
|
|
253
|
+
* Never an email: the account by pagasae's id only.
|
|
254
|
+
*/
|
|
255
|
+
export type AccountCutOff = Prisma.AccountCutOffModel;
|