@aeolus-fleet/core 0.27.1 → 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/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 +30 -0
- package/dist/adapters/prisma/generated/client.d.ts +30 -0
- package/dist/adapters/prisma/generated/commonInputTypes.d.ts +120 -0
- package/dist/adapters/prisma/generated/enums.d.ts +25 -0
- package/dist/adapters/prisma/generated/enums.js +22 -1
- package/dist/adapters/prisma/generated/enums.js.map +1 -1
- package/dist/adapters/prisma/generated/internal/class.d.ts +44 -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 +372 -9
- package/dist/adapters/prisma/generated/internal/prismaNamespace.js +38 -11
- package/dist/adapters/prisma/generated/internal/prismaNamespace.js.map +1 -1
- package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.d.ts +39 -8
- package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js +38 -11
- 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 +871 -0
- 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/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 -255
- package/dist/adapters/prisma/generated/models/ReachRefusal.d.ts +1 -40
- package/dist/adapters/prisma/generated/models/Ship.d.ts +782 -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 +4 -0
- package/dist/adapters/prisma/history.js +1 -0
- 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/network.d.ts +7 -2
- package/dist/adapters/prisma/network.js +92 -65
- package/dist/adapters/prisma/network.js.map +1 -1
- package/dist/adapters/prisma/registry.js +19 -14
- package/dist/adapters/prisma/registry.js.map +1 -1
- package/dist/adapters/prisma/rows.d.ts +9 -4
- package/dist/adapters/prisma/rows.js +75 -19
- package/dist/adapters/prisma/rows.js.map +1 -1
- package/dist/adapters/prisma/unit-of-work.d.ts +4 -2
- package/dist/adapters/prisma/unit-of-work.js +5 -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 +22 -8
- package/dist/adapters/trpc/fleet.d.ts +259 -52
- package/dist/adapters/trpc/fleet.js +121 -84
- 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 +307 -43
- package/dist/adapters/trpc/ship-contract.js +6 -4
- package/dist/adapters/trpc/ship-contract.js.map +1 -1
- package/dist/adapters/trpc/ship.d.ts +32 -1
- package/dist/adapters/trpc/ship.js +4 -2
- package/dist/adapters/trpc/ship.js.map +1 -1
- package/dist/adapters/trpc/trpc.d.ts +36 -13
- package/dist/adapters/trpc/trpc.js +117 -26
- 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 +3 -1
- package/dist/domain/messaging/delivery.js +9 -6
- package/dist/domain/messaging/delivery.js.map +1 -1
- package/dist/domain/messaging/dismiss-delivery.d.ts +2 -2
- 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/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/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 +45 -24
- package/dist/domain/registry/check-reach.js +76 -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 +23 -14
- package/dist/domain/registry/commission-ship.js +167 -21
- 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 +5 -4
- package/dist/domain/registry/connect-plugin.js +6 -7
- package/dist/domain/registry/connect-plugin.js.map +1 -1
- 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 +11 -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 +21 -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/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 +92 -122
- package/dist/domain/registry/network-settings.js +99 -159
- package/dist/domain/registry/network-settings.js.map +1 -1
- package/dist/domain/registry/ports.d.ts +47 -11
- 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 +4 -3
- package/dist/domain/registry/read-built-in-rules.js +7 -6
- 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 +6 -8
- package/dist/domain/registry/read-reach.js +21 -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 +3 -3
- package/dist/domain/registry/recrew-ship.js.map +1 -1
- package/dist/domain/registry/release-ship.d.ts +3 -2
- package/dist/domain/registry/release-ship.js +4 -3
- 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 +16 -12
- package/dist/domain/registry/retire-ship.js +28 -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 +52 -18
- package/dist/domain/registry/ship.js +76 -18
- 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/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/history.d.ts +3 -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 +2 -2
- 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 +2 -2
- 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/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/fleet.d.ts +2 -2
- package/dist/testing/index.d.ts +1 -1
- package/dist/wiring.d.ts +21 -8
- package/dist/wiring.js +32 -13
- package/dist/wiring.js.map +1 -1
- package/package.json +2 -5
- 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 +132 -23
- package/dist/domain/registry/read-network-plugin.d.ts +0 -23
- package/dist/domain/registry/read-network-plugin.js +0 -15
- package/dist/domain/registry/read-network-plugin.js.map +0 -1
- 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
|
@@ -2,107 +2,50 @@
|
|
|
2
2
|
* The fleet's network settings (decision 0034): which ships may send to,
|
|
3
3
|
* read or manage which. A rule names its verb and says that the ships
|
|
4
4
|
* matching one selector may do it to the ships matching another; allow-only,
|
|
5
|
-
* no deny rules, no precedence.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* no deny rules, no precedence. The fleet holds its own rules, set whole by
|
|
6
|
+
* applying a draft, or none for all-to-all, beside the switch of the viewer
|
|
7
|
+
* reading, with a version that moves on every change of what is in force, so
|
|
8
|
+
* a refusal names the settings that refused it.
|
|
8
9
|
*/
|
|
9
|
-
import { ANY_LABEL_VALUE, NETWORK_RULES_MAX,
|
|
10
|
+
import { ANY_LABEL_VALUE, NETWORK_RULES_MAX, SAME_LABEL_VALUE, SHIP_LABELS_MAX, isOwnerTerm, } from '@aeolus-fleet/common';
|
|
10
11
|
import { refuse } from '../shared/errors.js';
|
|
11
12
|
import { ok } from '../shared/result.js';
|
|
12
|
-
/**
|
|
13
|
-
export const BUILT_INS_ON = { isViewerReadOn: true, open: { send: true, read: true, manage: true } };
|
|
14
|
-
/** A fleet that never set rules: none, every built-in rule on, at version 0, without a plugin. */
|
|
13
|
+
/** A fleet that never set rules: none applied, the viewer reading on, at version 0. */
|
|
15
14
|
export function noNetworkSettings(fleetId) {
|
|
16
|
-
return { fleetId, rules:
|
|
17
|
-
}
|
|
18
|
-
function refuseNotThePlugin() {
|
|
19
|
-
return refuse('NOT_THE_NETWORK_PLUGIN', "Only the fleet's networking plugin does this (decision 0035)");
|
|
15
|
+
return { fleetId, rules: null, isViewerReadOn: true, version: 0 };
|
|
20
16
|
}
|
|
21
17
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
18
|
+
* What breaks the decisions' limits on the fleet's own rules, said for the
|
|
19
|
+
* caller with its decision, or undefined when they keep them: at most 200,
|
|
20
|
+
* counted alone, beside the declared ones (decision 0037); each selector at
|
|
21
|
+
* most 20 terms, as a ship carries no more label values, each term once, and
|
|
22
|
+
* a term of the same value on a label on both sides of its rule, as it binds
|
|
23
|
+
* that label there. An id need not exist: an unknown one matches no ship, as
|
|
24
|
+
* in label selection. None, all-to-all, keeps them.
|
|
27
25
|
*/
|
|
28
|
-
export function
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
return refuse('NETWORK_PLUGIN_REGISTERED', 'The fleet already has a networking plugin; it unregisters first (decision 0035)');
|
|
26
|
+
export function invalidRules(rules) {
|
|
27
|
+
if (rules === null) {
|
|
28
|
+
return undefined;
|
|
32
29
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
version: current.version + 1,
|
|
36
|
-
plugin: {
|
|
37
|
-
shipId,
|
|
38
|
-
whileUnavailable: declaration.whileUnavailable,
|
|
39
|
-
notRespondingAfterSeconds: declaration.notRespondingAfterSeconds,
|
|
40
|
-
registeredAt: current.plugin?.registeredAt ?? change.at,
|
|
41
|
-
},
|
|
42
|
-
};
|
|
43
|
-
return ok({
|
|
44
|
-
settings,
|
|
45
|
-
events: [
|
|
46
|
-
{
|
|
47
|
-
type: 'NetworkPluginRegistered',
|
|
48
|
-
fleetId: current.fleetId,
|
|
49
|
-
occurredAt: change.at,
|
|
50
|
-
actor: change.actor,
|
|
51
|
-
shipId,
|
|
52
|
-
details: { version: settings.version, whileUnavailable: declaration.whileUnavailable, notRespondingAfterSeconds: declaration.notRespondingAfterSeconds },
|
|
53
|
-
},
|
|
54
|
-
],
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* The fleet's plugin goes, and its rules with it, and the open rules are on
|
|
59
|
-
* again: no plugin is all-to-all (decision 0035), at the next version, with
|
|
60
|
-
* NetworkPluginUnregistered. The viewer reading stays as argo set it. Only
|
|
61
|
-
* the plugin's own ship unregisters it; its retirement does too.
|
|
62
|
-
*/
|
|
63
|
-
export function unregisterNetworkPlugin(current, change) {
|
|
64
|
-
if (current.plugin?.shipId !== change.shipId) {
|
|
65
|
-
return refuseNotThePlugin();
|
|
30
|
+
if (rules.length > NETWORK_RULES_MAX) {
|
|
31
|
+
return `A fleet holds at most ${String(NETWORK_RULES_MAX)} network rules of its own, beside the ones its ships declared (decision 0037)`;
|
|
66
32
|
}
|
|
67
|
-
const
|
|
68
|
-
return
|
|
69
|
-
settings,
|
|
70
|
-
events: [
|
|
71
|
-
{
|
|
72
|
-
type: 'NetworkPluginUnregistered',
|
|
73
|
-
fleetId: current.fleetId,
|
|
74
|
-
occurredAt: change.at,
|
|
75
|
-
actor: change.actor,
|
|
76
|
-
shipId: change.shipId,
|
|
77
|
-
details: { version: settings.version },
|
|
78
|
-
},
|
|
79
|
-
],
|
|
80
|
-
});
|
|
33
|
+
const invalid = rules.map(invalidRule).find((broken) => broken !== undefined);
|
|
34
|
+
return invalid === undefined ? undefined : `${invalid} (decision 0034)`;
|
|
81
35
|
}
|
|
82
36
|
/**
|
|
83
|
-
* The fleet's rules from now on, replacing the ones it had, at
|
|
84
|
-
* version, with NetworkRulesSet
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
* both sides of its rule, as it binds that label there. An id need not
|
|
89
|
-
* exist: an unknown one matches no ship, as in label selection. Only the
|
|
90
|
-
* fleet's registered networking plugin sets them, argo included: rules exist
|
|
91
|
-
* only through a plugin (decision 0035).
|
|
37
|
+
* The fleet's rules from now on, the draft's, replacing the ones it had, at
|
|
38
|
+
* the next version, with NetworkRulesSet naming how many, none for
|
|
39
|
+
* all-to-all. The caller saw the settings at `version`: once they moved, the
|
|
40
|
+
* draft's reach may differ from what the caller looked at, so the apply is
|
|
41
|
+
* refused and the draft kept.
|
|
92
42
|
*/
|
|
93
|
-
export function
|
|
94
|
-
const { rules
|
|
95
|
-
if (
|
|
96
|
-
return
|
|
97
|
-
}
|
|
98
|
-
if (rules.length > NETWORK_RULES_MAX + declaredRules) {
|
|
99
|
-
return refuse('INVALID_NETWORK_RULES', `A fleet holds at most ${String(NETWORK_RULES_MAX)} network rules of argo's plus the ${String(declaredRules)} its ships declared (decision 0037)`);
|
|
43
|
+
export function applyNetworkRules(current, change) {
|
|
44
|
+
const { rules } = change;
|
|
45
|
+
if (change.version !== current.version) {
|
|
46
|
+
return refuse('NETWORK_SETTINGS_CHANGED', `The network settings are at version ${String(current.version)} now, not ${String(change.version)}: look at the draft again before applying it`);
|
|
100
47
|
}
|
|
101
|
-
const
|
|
102
|
-
if (invalid !== undefined) {
|
|
103
|
-
return refuse('INVALID_NETWORK_RULES', `${invalid} (decision 0034)`);
|
|
104
|
-
}
|
|
105
|
-
const settings = { ...current, rules: rules.map(copyOfRule), version: current.version + 1 };
|
|
48
|
+
const settings = { ...current, rules: rules === null ? null : rules.map(copyOfRule), version: current.version + 1 };
|
|
106
49
|
return ok({
|
|
107
50
|
settings,
|
|
108
51
|
events: [
|
|
@@ -111,39 +54,35 @@ export function setNetworkRules(current, change) {
|
|
|
111
54
|
fleetId: current.fleetId,
|
|
112
55
|
occurredAt: change.at,
|
|
113
56
|
actor: change.actor,
|
|
114
|
-
details: { version: settings.version, rules: rules.length },
|
|
57
|
+
details: { version: settings.version, rules: rules === null ? null : rules.length },
|
|
115
58
|
},
|
|
116
59
|
],
|
|
117
60
|
});
|
|
118
61
|
}
|
|
62
|
+
/** The settings at the next version, as the declared rules in force changed with them (decision 0037). */
|
|
63
|
+
export function withDeclaredRulesChanged(current) {
|
|
64
|
+
return { ...current, version: current.version + 1 };
|
|
65
|
+
}
|
|
119
66
|
/**
|
|
120
67
|
* A built-in rule turned on or off, as its own action (decision 0034): the
|
|
121
|
-
* viewer reading by
|
|
122
|
-
*
|
|
123
|
-
* so turning them
|
|
124
|
-
* A change moves the version and writes BuiltInRuleChanged; a
|
|
125
|
-
* as asked changes nothing.
|
|
68
|
+
* viewer reading, by any actor holding fleet:network (decision 0053). argo,
|
|
69
|
+
* the owner, the answer, a connected plugin's reading and the installation's
|
|
70
|
+
* managing are never off, and open follows the applied rules, so turning them
|
|
71
|
+
* is refused. A change moves the version and writes BuiltInRuleChanged; a
|
|
72
|
+
* rule already as asked changes nothing.
|
|
126
73
|
*/
|
|
127
74
|
export function setBuiltInRule(current, change) {
|
|
128
|
-
const { input
|
|
129
|
-
if (input.rule === '
|
|
130
|
-
return refuse('BUILT_IN_RULE_FIXED',
|
|
131
|
-
}
|
|
132
|
-
if (input.rule === 'viewerRead' && !caller.isOperator) {
|
|
133
|
-
return refuse('NOT_THE_OPERATOR_SHIP', 'Only argo turns the viewer reading on or off (decision 0034)');
|
|
75
|
+
const { input } = change;
|
|
76
|
+
if (input.rule === 'open') {
|
|
77
|
+
return refuse('BUILT_IN_RULE_FIXED', 'The built-in rule open is on exactly while the fleet has no rules applied (decision 0034)');
|
|
134
78
|
}
|
|
135
|
-
if (input.rule
|
|
136
|
-
return
|
|
79
|
+
if (input.rule !== 'viewerRead') {
|
|
80
|
+
return refuse('BUILT_IN_RULE_FIXED', `The built-in rule ${input.rule} is never off (decision 0034)`);
|
|
137
81
|
}
|
|
138
|
-
|
|
139
|
-
const { verb } = input;
|
|
140
|
-
const builtIns = input.rule === 'viewerRead' || verb === undefined
|
|
141
|
-
? { ...current.builtIns, isViewerReadOn: input.rule === 'viewerRead' ? input.isOn : current.builtIns.isViewerReadOn }
|
|
142
|
-
: { ...current.builtIns, open: { ...current.builtIns.open, [verb]: input.isOn } };
|
|
143
|
-
if (builtIns.isViewerReadOn === current.builtIns.isViewerReadOn && NETWORK_VERBS.every((verb) => builtIns.open[verb] === current.builtIns.open[verb])) {
|
|
82
|
+
if (input.isOn === current.isViewerReadOn) {
|
|
144
83
|
return ok({ settings: current, events: [] });
|
|
145
84
|
}
|
|
146
|
-
const settings = { ...current,
|
|
85
|
+
const settings = { ...current, isViewerReadOn: input.isOn, version: current.version + 1 };
|
|
147
86
|
return ok({
|
|
148
87
|
settings,
|
|
149
88
|
events: [
|
|
@@ -152,7 +91,7 @@ export function setBuiltInRule(current, change) {
|
|
|
152
91
|
fleetId: current.fleetId,
|
|
153
92
|
occurredAt: change.at,
|
|
154
93
|
actor: change.actor,
|
|
155
|
-
details: { rule: input.rule,
|
|
94
|
+
details: { rule: input.rule, isOn: input.isOn, version: settings.version },
|
|
156
95
|
},
|
|
157
96
|
],
|
|
158
97
|
});
|
|
@@ -199,81 +138,82 @@ export function copyOfRule(rule) {
|
|
|
199
138
|
function copyOfTerm(term) {
|
|
200
139
|
return typeof term === 'string' ? term : { ...term };
|
|
201
140
|
}
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
* lease whose crew called the fleet no longer ago than it declared. Its last
|
|
206
|
-
* call is the lease's last seen; nothing else acts on it, and nothing here
|
|
207
|
-
* ends the lease.
|
|
208
|
-
*/
|
|
209
|
-
export function isNetworkPluginResponding(plugin, crew) {
|
|
210
|
-
const { lastSeenAt, now } = crew;
|
|
211
|
-
return lastSeenAt !== undefined && now.getTime() - lastSeenAt.getTime() <= plugin.notRespondingAfterSeconds * MILLISECONDS_PER_SECOND;
|
|
141
|
+
/** The rules in force for the fleet's own rules, applied or a draft's, beside the declared ones. */
|
|
142
|
+
export function rulesInForce(own, declared) {
|
|
143
|
+
return { isOpen: own.rules === null, isViewerReadOn: own.isViewerReadOn, rules: own.rules ?? [], declared };
|
|
212
144
|
}
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
* the built-in rules that are never off and the viewer reading, open-all
|
|
217
|
-
* open on for every verb (all-to-all), keep-latest the rules and switches it
|
|
218
|
-
* left last.
|
|
219
|
-
*/
|
|
220
|
-
export function rulesInForce(settings, isPluginResponding) {
|
|
221
|
-
const { plugin, rules, builtIns } = settings;
|
|
222
|
-
const networkPluginShipId = plugin?.shipId ?? null;
|
|
223
|
-
if (plugin === null || isPluginResponding) {
|
|
224
|
-
return { rules, builtIns, networkPluginShipId, whilePluginUnavailable: null };
|
|
145
|
+
function selectedOf(actor) {
|
|
146
|
+
if (actor.kind === 'account') {
|
|
147
|
+
return { owner: actor.personShipId, labels: actor.labels };
|
|
225
148
|
}
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
return { rules, builtIns, networkPluginShipId, whilePluginUnavailable: 'keep-latest' };
|
|
149
|
+
return actor.kind === 'installation' ? { owner: null, labels: [] } : { owner: actor.owner, labels: actor.labels };
|
|
150
|
+
}
|
|
151
|
+
/** The ship the actor owns ships as: a ship itself, an account its person ship; the installation none. */
|
|
152
|
+
function owningShipOf(actor) {
|
|
153
|
+
if (actor.kind === 'account') {
|
|
154
|
+
return actor.personShipId;
|
|
233
155
|
}
|
|
156
|
+
return actor.kind === 'installation' ? null : actor.id;
|
|
234
157
|
}
|
|
235
158
|
/**
|
|
236
159
|
* The rule that lets the sender do the verb to the recipient, or undefined
|
|
237
160
|
* when none does. The built-in rules that are never off hold whatever the
|
|
238
161
|
* rules: argo reaches every ship and every ship reaches argo, but reads argo
|
|
239
162
|
* only by a rule, so argo's messages are not every ship's to read; an owner's
|
|
240
|
-
* ship reaches the ships it owns (decision 0045),
|
|
241
|
-
*
|
|
242
|
-
*
|
|
243
|
-
*
|
|
244
|
-
*
|
|
245
|
-
*
|
|
246
|
-
*
|
|
163
|
+
* ship reaches the ships it owns (decision 0045), and an account the ships
|
|
164
|
+
* its person ship owns; a ship answers the sender of a message it received;
|
|
165
|
+
* a plugin argo connected reads every ship; and the installation manages
|
|
166
|
+
* person ships and the ships they own (decision 0020). The viewer reads
|
|
167
|
+
* every ship while that is on, and every actor reaches every ship by every
|
|
168
|
+
* verb while open is. Otherwise a rule of the verb must match the sender
|
|
169
|
+
* with its `from` and the recipient with its `to`: one of the fleet's own,
|
|
170
|
+
* named by its place in that list, or a declared one, named by its declarer
|
|
171
|
+
* and its place in the declarer's list. The built-in rules come first, in
|
|
172
|
+
* that order, as the rule list shows them.
|
|
247
173
|
*/
|
|
248
|
-
export function reachRuleOf(
|
|
174
|
+
export function reachRuleOf(inForce, send) {
|
|
249
175
|
const { verb, sender, recipient, isAnswerToSender } = send;
|
|
250
|
-
const { rules, builtIns, networkPluginShipId } = settings;
|
|
251
176
|
if (sender.kind === 'operator' || (recipient.kind === 'operator' && verb !== 'read')) {
|
|
252
177
|
return { builtIn: 'argo' };
|
|
253
178
|
}
|
|
254
|
-
|
|
179
|
+
const owningShip = owningShipOf(sender);
|
|
180
|
+
if (owningShip !== null && recipient.owner === owningShip) {
|
|
255
181
|
return { builtIn: 'owner' };
|
|
256
182
|
}
|
|
257
183
|
if (verb === 'send' && isAnswerToSender) {
|
|
258
184
|
return { builtIn: 'answer' };
|
|
259
185
|
}
|
|
260
|
-
if (verb === 'read' &&
|
|
186
|
+
if (verb === 'read' && sender.kind !== 'account' && sender.kind !== 'installation' && sender.isConnectedPlugin) {
|
|
261
187
|
return { builtIn: 'pluginRead' };
|
|
262
188
|
}
|
|
263
|
-
if (verb === 'read' && sender.kind === 'viewer' &&
|
|
189
|
+
if (verb === 'read' && sender.kind === 'viewer' && inForce.isViewerReadOn) {
|
|
264
190
|
return { builtIn: 'viewerRead' };
|
|
265
191
|
}
|
|
266
|
-
if (
|
|
192
|
+
if (verb === 'manage' && sender.kind === 'installation' && (recipient.kind === 'person' || recipient.isOwnedByPerson)) {
|
|
193
|
+
return { builtIn: 'installation' };
|
|
194
|
+
}
|
|
195
|
+
if (inForce.isOpen) {
|
|
267
196
|
return { builtIn: 'open' };
|
|
268
197
|
}
|
|
269
|
-
const
|
|
270
|
-
|
|
198
|
+
const [from, to] = [selectedOf(sender), selectedOf(recipient)];
|
|
199
|
+
const allows = (rule) => rule.verb === verb && matches(rule.from, { actor: from, otherSide: to }) && matches(rule.to, { actor: to, otherSide: from });
|
|
200
|
+
const index = inForce.rules.findIndex(allows);
|
|
201
|
+
if (index !== -1) {
|
|
202
|
+
return { rule: index };
|
|
203
|
+
}
|
|
204
|
+
for (const { declarer, rules } of inForce.declared) {
|
|
205
|
+
const declaredIndex = rules.findIndex(allows);
|
|
206
|
+
if (declaredIndex !== -1) {
|
|
207
|
+
return { declared: declarer, index: declaredIndex };
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
return undefined;
|
|
271
211
|
}
|
|
272
|
-
/** Whether the
|
|
273
|
-
export function allowsReach(
|
|
274
|
-
return reachRuleOf(
|
|
212
|
+
/** Whether the rules in force let the sender do the verb to the recipient: some rule does (see reachRuleOf). */
|
|
213
|
+
export function allowsReach(inForce, send) {
|
|
214
|
+
return reachRuleOf(inForce, send) !== undefined;
|
|
275
215
|
}
|
|
276
|
-
/**
|
|
216
|
+
/** An actor matches a selector when every term of it holds, combined with AND. */
|
|
277
217
|
function matches(selector, sides) {
|
|
278
218
|
return selector.every((term) => holds(term, sides));
|
|
279
219
|
}
|
|
@@ -286,7 +226,7 @@ function matches(selector, sides) {
|
|
|
286
226
|
* same owner as the other side.
|
|
287
227
|
*/
|
|
288
228
|
function holds(term, sides) {
|
|
289
|
-
const { ship, otherSide } = sides;
|
|
229
|
+
const { actor: ship, otherSide } = sides;
|
|
290
230
|
if (typeof term === 'string') {
|
|
291
231
|
return ship.labels.some((label) => label.valueId === term);
|
|
292
232
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-settings.js","sourceRoot":"","sources":["../../../src/domain/registry/network-settings.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"network-settings.js","sourceRoot":"","sources":["../../../src/domain/registry/network-settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,18 +4,20 @@ import type { ClearRequest } from './clear-request.js';
|
|
|
4
4
|
import type { CrewRequest } from './crew-request.js';
|
|
5
5
|
import type { Fleet } from './fleet.js';
|
|
6
6
|
import type { InstallationRequest } from './installation-request.js';
|
|
7
|
-
import type { CarriedLabel, Label, ListedLabel, ShipLabel } from './label.js';
|
|
7
|
+
import type { CarriedLabel, Label, LabelOwner, ListedLabel, ShipLabel } from './label.js';
|
|
8
8
|
import type { FleetLimitSettings, InstallationSettings } from './limits.js';
|
|
9
9
|
import type { Lease, Location } from './lease.js';
|
|
10
10
|
import type { DeclaredNetworkRules } from './declared-network-rules.js';
|
|
11
11
|
import type { NetworkSettings } from './network-settings.js';
|
|
12
|
+
import type { NetworkRulesDraft } from './network-rules-draft.js';
|
|
12
13
|
import type { PluginConnection } from './plugin-connection.js';
|
|
13
14
|
import type { ReachRefusal } from './reach-refusal.js';
|
|
14
15
|
import type { ScopeNamespace } from './scope-namespace.js';
|
|
15
|
-
import type { Ship } from './ship.js';
|
|
16
|
+
import type { Commissioner, Ship } from './ship.js';
|
|
16
17
|
import type { ShipReport } from './ship-report.js';
|
|
17
18
|
import type { StatedStatement } from './statement.js';
|
|
18
19
|
import type { Turn } from './turn.js';
|
|
20
|
+
import type { FactWriter, WrittenFacts } from './verified-facts.js';
|
|
19
21
|
/** The crew a report speaks for: its ship and lease, in its fleet. */
|
|
20
22
|
export interface CrewOfLease {
|
|
21
23
|
fleetId: FleetId;
|
|
@@ -73,12 +75,12 @@ export interface ShipRepository {
|
|
|
73
75
|
/** The ship of the fleet that is not retired and has this name. */
|
|
74
76
|
findActiveByName(fleetId: FleetId, name: string): Promise<Ship | undefined>;
|
|
75
77
|
/**
|
|
76
|
-
* Holds the lock on this commissioning
|
|
78
|
+
* Holds the lock on this commissioning actor's idempotency key until the unit
|
|
77
79
|
* of work ends, so two commissions under one key never both find it unused.
|
|
78
80
|
*/
|
|
79
81
|
lockCommissionKey(key: {
|
|
80
82
|
fleetId: FleetId;
|
|
81
|
-
by:
|
|
83
|
+
by: Commissioner;
|
|
82
84
|
idempotencyKey: string;
|
|
83
85
|
}): Promise<void>;
|
|
84
86
|
/**
|
|
@@ -88,10 +90,10 @@ export interface ShipRepository {
|
|
|
88
90
|
lockShipCount(fleetId: FleetId): Promise<void>;
|
|
89
91
|
/** The fleet's ships that are not retired, argo included. */
|
|
90
92
|
countActive(fleetId: FleetId): Promise<number>;
|
|
91
|
-
/** The ship this commissioning
|
|
93
|
+
/** The ship this commissioning actor commissioned under this idempotency key, retired or not. */
|
|
92
94
|
findByCommissionKey(key: {
|
|
93
95
|
fleetId: FleetId;
|
|
94
|
-
by:
|
|
96
|
+
by: Commissioner;
|
|
95
97
|
idempotencyKey: string;
|
|
96
98
|
}): Promise<Ship | undefined>;
|
|
97
99
|
/**
|
|
@@ -297,7 +299,7 @@ export interface ClearRequestRepository {
|
|
|
297
299
|
}
|
|
298
300
|
/**
|
|
299
301
|
* Outbound port: the fleet's network settings, one per fleet (decision 0034).
|
|
300
|
-
* A send holds them shared and a
|
|
302
|
+
* A send holds them shared and a change holds them exclusively, so every send is
|
|
301
303
|
* checked against exactly one version.
|
|
302
304
|
*/
|
|
303
305
|
export interface NetworkSettingsRepository {
|
|
@@ -309,13 +311,22 @@ export interface NetworkSettingsRepository {
|
|
|
309
311
|
findForUpdate(fleetId: FleetId): Promise<NetworkSettings>;
|
|
310
312
|
save(settings: NetworkSettings): Promise<void>;
|
|
311
313
|
}
|
|
314
|
+
/** Outbound port: the draft of the fleet's own rules, one per fleet at most (decision 0034). Nothing in force reads it. */
|
|
315
|
+
export interface NetworkRulesDraftRepository {
|
|
316
|
+
/** The fleet's draft; none while it has none. */
|
|
317
|
+
find(fleetId: FleetId): Promise<NetworkRulesDraft | undefined>;
|
|
318
|
+
/** Keeps the draft in place of the fleet's one before. */
|
|
319
|
+
save(draft: NetworkRulesDraft): Promise<void>;
|
|
320
|
+
/** The fleet's draft goes; none goes nothing. */
|
|
321
|
+
remove(fleetId: FleetId): Promise<void>;
|
|
322
|
+
}
|
|
312
323
|
/** Each ship's declared network rules (decision 0037). */
|
|
313
324
|
export interface DeclaredNetworkRulesRepository {
|
|
314
|
-
/** Every
|
|
325
|
+
/** Every declarer's declared rules in the fleet: the ships by id, the order they were commissioned, then the installation's. */
|
|
315
326
|
list(fleetId: FleetId): Promise<DeclaredNetworkRules[]>;
|
|
316
|
-
/** The
|
|
317
|
-
find(fleetId: FleetId,
|
|
318
|
-
/** Keeps the
|
|
327
|
+
/** The declarer's declared rules; none while it declares none. */
|
|
328
|
+
find(fleetId: FleetId, declarer: LabelOwner): Promise<DeclaredNetworkRules | undefined>;
|
|
329
|
+
/** Keeps the declarer's whole list from now on; an empty one keeps none. */
|
|
319
330
|
save(declared: DeclaredNetworkRules): Promise<void>;
|
|
320
331
|
}
|
|
321
332
|
/** Outbound port: the plugins argo connected, one per ship, always within one fleet (decision 0034). */
|
|
@@ -327,6 +338,31 @@ export interface PluginConnectionRepository {
|
|
|
327
338
|
/** Ends the ship's connection, if it holds one. */
|
|
328
339
|
disconnect(fleetId: FleetId, shipId: ShipId): Promise<void>;
|
|
329
340
|
}
|
|
341
|
+
/** Outbound port: the verified facts each writer holds about a ship, always within one fleet (decision 0059). */
|
|
342
|
+
export interface VerifiedFactsRepository {
|
|
343
|
+
/** The writer's facts about the ship; none while it holds none. */
|
|
344
|
+
find(fleetId: FleetId, key: {
|
|
345
|
+
shipId: ShipId;
|
|
346
|
+
writer: FactWriter;
|
|
347
|
+
}): Promise<WrittenFacts | undefined>;
|
|
348
|
+
/** Keeps the writer's facts about the ship, in place of those it held. */
|
|
349
|
+
save(written: WrittenFacts): Promise<void>;
|
|
350
|
+
/** Removes the writer's facts about the ship, if it holds any. */
|
|
351
|
+
remove(fleetId: FleetId, key: {
|
|
352
|
+
shipId: ShipId;
|
|
353
|
+
writer: FactWriter;
|
|
354
|
+
}): Promise<void>;
|
|
355
|
+
/** Every writer's facts about every ship of the fleet, in no order. */
|
|
356
|
+
list(fleetId: FleetId): Promise<WrittenFacts[]>;
|
|
357
|
+
/** Every writer's facts about the ship. */
|
|
358
|
+
listAbout(fleetId: FleetId, shipId: ShipId): Promise<WrittenFacts[]>;
|
|
359
|
+
/** The ship's facts, as a writer, about every ship. */
|
|
360
|
+
listBy(fleetId: FleetId, shipId: ShipId): Promise<WrittenFacts[]>;
|
|
361
|
+
/** Holds a writer ship against its retire until commit: a set by it takes this, shared. */
|
|
362
|
+
holdWriter(fleetId: FleetId, shipId: ShipId): Promise<void>;
|
|
363
|
+
/** Locks a writer ship against every set by it until commit: its retire takes this. */
|
|
364
|
+
lockWriter(fleetId: FleetId, shipId: ShipId): Promise<void>;
|
|
365
|
+
}
|
|
330
366
|
/** Outbound port: the records of the sends the fleet's network rules refused (decision 0034). */
|
|
331
367
|
export interface ReachRefusalRepository {
|
|
332
368
|
record(refusal: ReachRefusal): Promise<void>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { FleetId, NetworkVerb, ReachRefusalId, ShipId
|
|
1
|
+
import type { AccountId, FleetId, NetworkVerb, ReachRefusalId, ShipId } from '@aeolus-fleet/common';
|
|
2
2
|
import type { CarriedLabel } from './label.js';
|
|
3
3
|
/** A ship as a refusal saw it: its id, its name, the label values it carried then, by key, and its owner's ship then. */
|
|
4
4
|
export interface RefusedShip {
|
|
@@ -10,6 +10,22 @@ export interface RefusedShip {
|
|
|
10
10
|
name: string;
|
|
11
11
|
} | null;
|
|
12
12
|
}
|
|
13
|
+
/** An account as a refusal saw it: by its id only, the `group` values its token carried that the fleet defines, and its person ship then. */
|
|
14
|
+
export interface RefusedAccount {
|
|
15
|
+
kind: 'account';
|
|
16
|
+
accountId: AccountId;
|
|
17
|
+
labels: readonly CarriedLabel[];
|
|
18
|
+
personShip: {
|
|
19
|
+
id: ShipId;
|
|
20
|
+
name: string;
|
|
21
|
+
} | null;
|
|
22
|
+
}
|
|
23
|
+
/** Who a refusal refused (decision 0057): a ship, an account, or the installation. */
|
|
24
|
+
export type RefusedActor = ({
|
|
25
|
+
kind: 'ship';
|
|
26
|
+
} & RefusedShip) | RefusedAccount | {
|
|
27
|
+
kind: 'installation';
|
|
28
|
+
};
|
|
13
29
|
/**
|
|
14
30
|
* The record of a send the network rules refused (decision 0034): who tried
|
|
15
31
|
* to reach whom, both ships as they were at that moment, so a later rename,
|
|
@@ -20,7 +36,7 @@ export interface ReachRefusal {
|
|
|
20
36
|
fleetId: FleetId;
|
|
21
37
|
id: ReachRefusalId;
|
|
22
38
|
at: Date;
|
|
23
|
-
sender:
|
|
39
|
+
sender: RefusedActor;
|
|
24
40
|
/** The plugin ship that read on behalf of the sender (decision 0034), as it was then; null for the sender's own call. */
|
|
25
41
|
askedBy: RefusedShip | null;
|
|
26
42
|
/** The ship it was for, or the type and each ship of it, none of which the sender may reach. */
|
|
@@ -35,6 +51,4 @@ export interface ReachRefusal {
|
|
|
35
51
|
/** What the sender tried to do: send, or read for a read refused rather than filtered (decision 0034). */
|
|
36
52
|
verb: NetworkVerb;
|
|
37
53
|
settingsVersion: number;
|
|
38
|
-
/** What the networking plugin declared, when it refused while the plugin was not responding (decision 0035); null otherwise. */
|
|
39
|
-
whilePluginUnavailable: Exclude<WhileUnavailable, 'open-all'> | null;
|
|
40
54
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ShipId } from '@aeolus-fleet/common';
|
|
2
|
-
import type {
|
|
2
|
+
import type { ShipCaller } from '../shared/caller.js';
|
|
3
3
|
import type { CrewRequest } from './crew-request.js';
|
|
4
4
|
import type { CrewRequestRepository, ShipRepository } from './ports.js';
|
|
5
5
|
/**
|
|
@@ -11,7 +11,7 @@ export type AssignedCrewRequest = Pick<CrewRequest, 'shipId' | 'settings' | 'set
|
|
|
11
11
|
ownerShipId: ShipId | null;
|
|
12
12
|
ownerName: string | null;
|
|
13
13
|
};
|
|
14
|
-
export type ReadAssignedCrewRequests = (caller:
|
|
14
|
+
export type ReadAssignedCrewRequests = (caller: ShipCaller) => Promise<AssignedCrewRequest[]>;
|
|
15
15
|
/**
|
|
16
16
|
* Use case: a trierarch reads the crew requests assigned to its ship, oldest
|
|
17
17
|
* ship first: its ships are this query, never a list kept on its ship
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { BuiltInRuleState } from '@aeolus-fleet/common';
|
|
2
2
|
import type { Caller } from '../shared/caller.js';
|
|
3
3
|
import { type Result } from '../shared/result.js';
|
|
4
4
|
import type { UnitOfWork } from '../shared/unit-of-work.js';
|
|
@@ -10,8 +10,9 @@ export type ReadBuiltInRules = (caller: Caller) => Promise<Result<BuiltInRuleSta
|
|
|
10
10
|
/**
|
|
11
11
|
* Use case: every built-in rule of the caller's fleet as it is now (decision
|
|
12
12
|
* 0034), in the order the rule list shows them, first: argo, the owner, the
|
|
13
|
-
* answer and a connected plugin's reading, always on; the viewer reading as
|
|
14
|
-
*
|
|
13
|
+
* answer and a connected plugin's reading, always on; the viewer reading as it
|
|
14
|
+
* was turned; the installation managing person ships and what they own, always
|
|
15
|
+
* on; open, on exactly while the fleet has no rules applied. Its scope (fleet:network, which argo
|
|
15
16
|
* holds) is checked before this runs. Read under the shared settings lock,
|
|
16
17
|
* so it answers one version.
|
|
17
18
|
*/
|
|
@@ -1,23 +1,24 @@
|
|
|
1
|
-
import { NETWORK_VERBS } from '@aeolus-fleet/common';
|
|
2
1
|
import { ok } from '../shared/result.js';
|
|
3
2
|
/**
|
|
4
3
|
* Use case: every built-in rule of the caller's fleet as it is now (decision
|
|
5
4
|
* 0034), in the order the rule list shows them, first: argo, the owner, the
|
|
6
|
-
* answer and a connected plugin's reading, always on; the viewer reading as
|
|
7
|
-
*
|
|
5
|
+
* answer and a connected plugin's reading, always on; the viewer reading as it
|
|
6
|
+
* was turned; the installation managing person ships and what they own, always
|
|
7
|
+
* on; open, on exactly while the fleet has no rules applied. Its scope (fleet:network, which argo
|
|
8
8
|
* holds) is checked before this runs. Read under the shared settings lock,
|
|
9
9
|
* so it answers one version.
|
|
10
10
|
*/
|
|
11
11
|
export function createReadBuiltInRules(deps) {
|
|
12
12
|
return (caller) => deps.uow.run(async (tx) => {
|
|
13
|
-
const {
|
|
13
|
+
const { rules, isViewerReadOn } = await tx.networkSettings.findForShare(caller.fleetId);
|
|
14
14
|
return ok([
|
|
15
15
|
{ rule: 'argo', isOn: true },
|
|
16
16
|
{ rule: 'owner', isOn: true },
|
|
17
17
|
{ rule: 'answer', isOn: true },
|
|
18
18
|
{ rule: 'pluginRead', isOn: true },
|
|
19
|
-
{ rule: 'viewerRead', isOn:
|
|
20
|
-
|
|
19
|
+
{ rule: 'viewerRead', isOn: isViewerReadOn },
|
|
20
|
+
{ rule: 'installation', isOn: true },
|
|
21
|
+
{ rule: 'open', isOn: rules === null },
|
|
21
22
|
]);
|
|
22
23
|
});
|
|
23
24
|
}
|