@aeolus-fleet/core 0.20.4 → 0.21.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.
Files changed (67) hide show
  1. package/dist/adapters/prisma/generated/internal/class.js +4 -4
  2. package/dist/adapters/prisma/generated/internal/class.js.map +1 -1
  3. package/dist/adapters/prisma/generated/internal/prismaNamespace.d.ts +5 -0
  4. package/dist/adapters/prisma/generated/internal/prismaNamespace.js +8 -3
  5. package/dist/adapters/prisma/generated/internal/prismaNamespace.js.map +1 -1
  6. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.d.ts +5 -0
  7. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js +8 -3
  8. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
  9. package/dist/adapters/prisma/generated/models/CrewRequest.d.ts +53 -1
  10. package/dist/adapters/prisma/generated/models/NetworkSettings.d.ts +107 -1
  11. package/dist/adapters/prisma/generated/models/ReachRefusal.d.ts +40 -1
  12. package/dist/adapters/prisma/migrate.js +17 -4
  13. package/dist/adapters/prisma/migrate.js.map +1 -1
  14. package/dist/adapters/prisma/network.js +30 -10
  15. package/dist/adapters/prisma/network.js.map +1 -1
  16. package/dist/adapters/prisma/registry.js +14 -6
  17. package/dist/adapters/prisma/registry.js.map +1 -1
  18. package/dist/adapters/prisma/rows.d.ts +2 -0
  19. package/dist/adapters/prisma/rows.js +8 -1
  20. package/dist/adapters/prisma/rows.js.map +1 -1
  21. package/dist/adapters/trpc/context.d.ts +6 -0
  22. package/dist/adapters/trpc/fleet.d.ts +35 -3
  23. package/dist/adapters/trpc/fleet.js +32 -3
  24. package/dist/adapters/trpc/fleet.js.map +1 -1
  25. package/dist/adapters/trpc/router.d.ts +32 -3
  26. package/dist/adapters/trpc/ship-contract.js +2 -0
  27. package/dist/adapters/trpc/ship-contract.js.map +1 -1
  28. package/dist/adapters/trpc/trpc.js +2 -0
  29. package/dist/adapters/trpc/trpc.js.map +1 -1
  30. package/dist/domain/registry/check-reach.d.ts +20 -1
  31. package/dist/domain/registry/check-reach.js +20 -6
  32. package/dist/domain/registry/check-reach.js.map +1 -1
  33. package/dist/domain/registry/crew-request.d.ts +9 -3
  34. package/dist/domain/registry/crew-request.js +18 -6
  35. package/dist/domain/registry/crew-request.js.map +1 -1
  36. package/dist/domain/registry/explain-reach.d.ts +34 -0
  37. package/dist/domain/registry/explain-reach.js +42 -0
  38. package/dist/domain/registry/explain-reach.js.map +1 -0
  39. package/dist/domain/registry/network-settings.d.ts +70 -6
  40. package/dist/domain/registry/network-settings.js +97 -4
  41. package/dist/domain/registry/network-settings.js.map +1 -1
  42. package/dist/domain/registry/ports.d.ts +8 -0
  43. package/dist/domain/registry/reach-refusal.d.ts +3 -1
  44. package/dist/domain/registry/read-assigned-crew-requests.d.ts +2 -2
  45. package/dist/domain/registry/read-assigned-crew-requests.js +2 -1
  46. package/dist/domain/registry/read-assigned-crew-requests.js.map +1 -1
  47. package/dist/domain/registry/register-network-plugin.d.ts +28 -0
  48. package/dist/domain/registry/register-network-plugin.js +26 -0
  49. package/dist/domain/registry/register-network-plugin.js.map +1 -0
  50. package/dist/domain/registry/retire-ship.d.ts +7 -4
  51. package/dist/domain/registry/retire-ship.js +14 -3
  52. package/dist/domain/registry/retire-ship.js.map +1 -1
  53. package/dist/domain/registry/set-network-rules.js +1 -1
  54. package/dist/domain/registry/set-network-rules.js.map +1 -1
  55. package/dist/domain/registry/unregister-network-plugin.d.ts +27 -0
  56. package/dist/domain/registry/unregister-network-plugin.js +25 -0
  57. package/dist/domain/registry/unregister-network-plugin.js.map +1 -0
  58. package/dist/domain/shared/errors.d.ts +1 -1
  59. package/dist/domain/shared/errors.js.map +1 -1
  60. package/dist/wiring.d.ts +6 -0
  61. package/dist/wiring.js +6 -0
  62. package/dist/wiring.js.map +1 -1
  63. package/package.json +2 -2
  64. package/src/adapters/prisma/migrations/20261010070000_crew_request_is_final/migration.sql +7 -0
  65. package/src/adapters/prisma/migrations/20261010080000_network_plugin/migration.sql +21 -0
  66. package/src/adapters/prisma/migrations/20261010110000_network_rules_through_plugin/migration.sql +4 -0
  67. package/src/adapters/prisma/schema.prisma +13 -3
@@ -0,0 +1,25 @@
1
+ import { recordEvent, shipActor } from '../shared/events.js';
2
+ import { ok } from '../shared/result.js';
3
+ import { unregisterNetworkPlugin } from './network-settings.js';
4
+ /**
5
+ * Use case: the fleet's networking plugin unregisters, as it does when it is
6
+ * switched off or deleted for the fleet (decision 0035): no plugin and no
7
+ * rules, all-to-all. Its scope (fleet:network) is checked before this runs.
8
+ * In one unit of work, holding the settings exclusively: the settings at
9
+ * their next version, and NetworkPluginUnregistered.
10
+ */
11
+ export function createUnregisterNetworkPlugin(deps) {
12
+ return (caller) => deps.uow.run(async (tx) => {
13
+ const current = await tx.networkSettings.findForUpdate(caller.fleetId);
14
+ const unregistered = unregisterNetworkPlugin(current, { shipId: caller.shipId, at: deps.clock.now(), actor: shipActor(caller.shipId) });
15
+ if (!unregistered.isOk) {
16
+ return unregistered;
17
+ }
18
+ await tx.networkSettings.save(unregistered.value.settings);
19
+ for (const event of unregistered.value.events) {
20
+ await recordEvent({ events: tx.events, ids: deps.ids }, event);
21
+ }
22
+ return ok({ version: unregistered.value.settings.version });
23
+ });
24
+ }
25
+ //# sourceMappingURL=unregister-network-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unregister-network-plugin.js","sourceRoot":"","sources":["../../../src/domain/registry/unregister-network-plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAiB,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,EAAE,EAAe,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,uBAAuB,EAA4B,MAAM,uBAAuB,CAAC;AAU1F;;;;;;GAMG;AACH,MAAM,UAAU,6BAA6B,CAAC,IAAoF;IAChI,OAAO,CAAC,MAAM,EAAE,EAAE,CAChB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAA6D,EAAE;QACnF,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvE,MAAM,YAAY,GAAG,uBAAuB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YACvB,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,MAAM,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC3D,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC9C,MAAM,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { type Err } from './result.js';
2
2
  /** Every reason the domain refuses a request. */
3
- export type DomainErrorKind = 'ASSIGNEE_NOT_ACTIVE' | 'CLEAR_REQUEST_LIMIT_REACHED' | 'CLEAR_REQUEST_NOT_FOUND' | 'CREW_REQUEST_ALREADY_ASSIGNED' | 'CREW_REQUEST_NOT_ASSIGNED_TO_CALLER' | 'CREW_REQUEST_NOT_FOUND' | 'CREW_REQUEST_NOT_RELEASING' | 'CREW_REQUEST_RELEASING' | 'CREW_REQUEST_FINAL' | 'CREW_REQUEST_SETTINGS_CHANGED' | 'CREW_REQUEST_SETTINGS_TOO_LARGE' | 'DELIVERY_HELD_BY_ANOTHER_SHIP' | 'DELIVERY_NOT_FOUND' | 'DELIVERY_NOT_A_PING' | 'DELIVERY_NOT_IN_FLIGHT' | 'DELIVERY_NOT_OPEN' | 'DELIVERY_NOT_UNDELIVERABLE' | 'FLEET_ALREADY_EXISTS' | 'FLEET_LIMIT_REACHED' | 'FLEET_NOT_FOUND' | 'FLEET_HAS_NO_VIEWER' | 'NOTICE_NOT_FOUND' | 'NOTICE_NOT_DISMISSIBLE' | 'GUIDE_NOT_FOUND' | 'GUIDE_STEP_NOT_FOUND' | 'IDEMPOTENCY_KEY_REUSED' | 'IN_REPLY_TO_NOT_FOUND' | 'MESSAGE_LIMIT_REACHED' | 'MODEL_REQUIRED' | 'INVALID_HARNESS' | 'MODEL_FROM_ARGO' | 'INVALID_CONTENT_TYPE' | 'INVALID_EMAIL' | 'INVALID_FLEET_NAME' | 'INVALID_FOLLOW_MAX' | 'INVALID_FOLLOW_WAIT' | 'INVALID_IDEMPOTENCY_KEY' | 'INVALID_INBOX_WAIT' | 'INVALID_LABEL_KEY' | 'INVALID_LABEL_VALUE' | 'INVALID_LABEL_VALUES' | 'INVALID_LIMIT' | 'INVALID_LOCATION' | 'INVALID_NETWORK_RULES' | 'INVALID_PASSWORD' | 'INVALID_RECEIVE_MAX' | 'INVALID_CREW_REQUEST_REASON' | 'INVALID_REPORT_DETAILS' | 'INVALID_REPORT_NOTE' | 'INVALID_REPORT_STATE' | 'INVALID_SHIP_NAME' | 'INVALID_SHIP_NOTE' | 'INVALID_SHIP_TYPE' | 'LABEL_CARRIED' | 'LABEL_KEY_TAKEN' | 'LABEL_NOT_FOUND' | 'LABEL_ON_OWN_SHIP' | 'LABEL_VALUE_CARRIED' | 'LABEL_VALUE_NOT_FOUND' | 'LEASE_ENDED' | 'MESSAGE_NOT_FOUND' | 'NOT_A_TRIERARCH' | 'NOT_THE_LABEL_OWNER' | 'NOT_REACHABLE' | 'NOT_THE_OPERATOR_SHIP' | 'OPERATOR_EMAIL_TAKEN' | 'OPERATOR_HAS_NO_PASSWORD' | 'OPERATOR_SHIP_GETS_NO_STARTING_PROMPT' | 'OPERATOR_SHIP_HAS_NO_SECRET' | 'OPERATOR_SHIP_IS_NOT_PINGED' | 'OPERATOR_SHIP_IS_PERMANENT' | 'PAYLOAD_TOO_LARGE' | 'PING_NOT_RESENT' | 'REPORT_DETAILS_TOO_LARGE' | 'RESERVED_CONTENT_TYPE' | 'SHIP_ALREADY_RETIRED' | 'SHIP_NAME_RESERVED' | 'SHIP_NAME_TAKEN' | 'SHIP_NOT_AWAITING_CREW' | 'SHIP_NOT_CREWED' | 'SHIP_LABEL_LIMIT_REACHED' | 'SHIP_LIMIT_REACHED' | 'SHIP_NOT_FOUND' | 'SIGN_IN_TICKET_INVALID' | 'UNKNOWN_CREW_TOKEN' | 'UNRESOLVABLE_SELECTOR' | 'WRONG_EMAIL_OR_PASSWORD' | 'WRONG_SHIP_ID_OR_SECRET';
3
+ export type DomainErrorKind = 'ASSIGNEE_NOT_ACTIVE' | 'CLEAR_REQUEST_LIMIT_REACHED' | 'CLEAR_REQUEST_NOT_FOUND' | 'CREW_REQUEST_ALREADY_ASSIGNED' | 'CREW_REQUEST_NOT_ASSIGNED_TO_CALLER' | 'CREW_REQUEST_NOT_FOUND' | 'CREW_REQUEST_NOT_RELEASING' | 'CREW_REQUEST_RELEASING' | 'CREW_REQUEST_FINAL' | 'CREW_REQUEST_SETTINGS_CHANGED' | 'CREW_REQUEST_SETTINGS_TOO_LARGE' | 'DELIVERY_HELD_BY_ANOTHER_SHIP' | 'DELIVERY_NOT_FOUND' | 'DELIVERY_NOT_A_PING' | 'DELIVERY_NOT_IN_FLIGHT' | 'DELIVERY_NOT_OPEN' | 'DELIVERY_NOT_UNDELIVERABLE' | 'FLEET_ALREADY_EXISTS' | 'FLEET_LIMIT_REACHED' | 'FLEET_NOT_FOUND' | 'FLEET_HAS_NO_VIEWER' | 'NOTICE_NOT_FOUND' | 'NOTICE_NOT_DISMISSIBLE' | 'GUIDE_NOT_FOUND' | 'GUIDE_STEP_NOT_FOUND' | 'IDEMPOTENCY_KEY_REUSED' | 'IN_REPLY_TO_NOT_FOUND' | 'MESSAGE_LIMIT_REACHED' | 'MODEL_REQUIRED' | 'INVALID_HARNESS' | 'MODEL_FROM_ARGO' | 'INVALID_CONTENT_TYPE' | 'INVALID_EMAIL' | 'INVALID_FLEET_NAME' | 'INVALID_FOLLOW_MAX' | 'INVALID_FOLLOW_WAIT' | 'INVALID_IDEMPOTENCY_KEY' | 'INVALID_INBOX_WAIT' | 'INVALID_LABEL_KEY' | 'INVALID_LABEL_VALUE' | 'INVALID_LABEL_VALUES' | 'INVALID_LIMIT' | 'INVALID_LOCATION' | 'INVALID_NETWORK_RULES' | 'INVALID_PASSWORD' | 'INVALID_RECEIVE_MAX' | 'INVALID_CREW_REQUEST_REASON' | 'INVALID_REPORT_DETAILS' | 'INVALID_REPORT_NOTE' | 'INVALID_REPORT_STATE' | 'INVALID_SHIP_NAME' | 'INVALID_SHIP_NOTE' | 'INVALID_SHIP_TYPE' | 'LABEL_CARRIED' | 'LABEL_KEY_TAKEN' | 'LABEL_NOT_FOUND' | 'LABEL_ON_OWN_SHIP' | 'LABEL_VALUE_CARRIED' | 'LABEL_VALUE_NOT_FOUND' | 'LEASE_ENDED' | 'MESSAGE_NOT_FOUND' | 'NETWORK_PLUGIN_REGISTERED' | 'NOT_A_TRIERARCH' | 'NOT_THE_LABEL_OWNER' | 'NOT_REACHABLE' | 'NOT_THE_NETWORK_PLUGIN' | 'NOT_THE_OPERATOR_SHIP' | 'OPERATOR_EMAIL_TAKEN' | 'OPERATOR_HAS_NO_PASSWORD' | 'OPERATOR_SHIP_GETS_NO_STARTING_PROMPT' | 'OPERATOR_SHIP_HAS_NO_SECRET' | 'OPERATOR_SHIP_IS_NOT_PINGED' | 'OPERATOR_SHIP_IS_PERMANENT' | 'PAYLOAD_TOO_LARGE' | 'PING_NOT_RESENT' | 'REPORT_DETAILS_TOO_LARGE' | 'RESERVED_CONTENT_TYPE' | 'SHIP_ALREADY_RETIRED' | 'SHIP_NAME_RESERVED' | 'SHIP_NAME_TAKEN' | 'SHIP_NOT_AWAITING_CREW' | 'SHIP_NOT_CREWED' | 'SHIP_LABEL_LIMIT_REACHED' | 'SHIP_LIMIT_REACHED' | 'SHIP_NOT_FOUND' | 'SIGN_IN_TICKET_INVALID' | 'UNKNOWN_CREW_TOKEN' | 'UNRESOLVABLE_SELECTOR' | 'WRONG_EMAIL_OR_PASSWORD' | 'WRONG_SHIP_ID_OR_SECRET';
4
4
  /**
5
5
  * Why the domain refused a request. Adapters map the kind to their own error
6
6
  * shape (a tRPC code, an exit code); the message is safe to show a caller.
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/domain/shared/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAY,MAAM,aAAa,CAAC;AAsG5C,qDAAqD;AACrD,MAAM,UAAU,MAAM,CAA4B,IAAO,EAAE,OAAe;IACxE,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/domain/shared/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAY,MAAM,aAAa,CAAC;AAwG5C,qDAAqD;AACrD,MAAM,UAAU,MAAM,CAA4B,IAAO,EAAE,OAAe;IACxE,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAChC,CAAC"}
package/dist/wiring.d.ts CHANGED
@@ -53,8 +53,11 @@ import { type ReadClearRequests } from './domain/registry/read-clear-requests.js
53
53
  import { type RequestWorktreeClear } from './domain/registry/request-worktree-clear.js';
54
54
  import { type ExplainCrewRequest } from './domain/registry/explain-crew-request.js';
55
55
  import { type DefineLabel } from './domain/registry/define-label.js';
56
+ import { type ExplainReach } from './domain/registry/explain-reach.js';
56
57
  import { type ReadReachRefusals } from './domain/registry/read-reach-refusals.js';
58
+ import { type RegisterNetworkPlugin } from './domain/registry/register-network-plugin.js';
57
59
  import { type SetNetworkRules } from './domain/registry/set-network-rules.js';
60
+ import { type UnregisterNetworkPlugin } from './domain/registry/unregister-network-plugin.js';
58
61
  import { type ChangeLabelValues } from './domain/registry/change-label-values.js';
59
62
  import { type AssignLabel } from './domain/registry/assign-label.js';
60
63
  import { type UnassignLabel } from './domain/registry/unassign-label.js';
@@ -110,7 +113,10 @@ export interface UseCases {
110
113
  explainCrewRequest: ExplainCrewRequest;
111
114
  defineLabel: DefineLabel;
112
115
  setNetworkRules: SetNetworkRules;
116
+ registerNetworkPlugin: RegisterNetworkPlugin;
117
+ unregisterNetworkPlugin: UnregisterNetworkPlugin;
113
118
  readReachRefusals: ReadReachRefusals;
119
+ explainReach: ExplainReach;
114
120
  changeLabelValues: ChangeLabelValues;
115
121
  assignLabel: AssignLabel;
116
122
  unassignLabel: UnassignLabel;
package/dist/wiring.js CHANGED
@@ -62,8 +62,11 @@ import { createReadClearRequests } from './domain/registry/read-clear-requests.j
62
62
  import { createRequestWorktreeClear } from './domain/registry/request-worktree-clear.js';
63
63
  import { createExplainCrewRequest } from './domain/registry/explain-crew-request.js';
64
64
  import { createDefineLabel } from './domain/registry/define-label.js';
65
+ import { createExplainReach } from './domain/registry/explain-reach.js';
65
66
  import { createReadReachRefusals } from './domain/registry/read-reach-refusals.js';
67
+ import { createRegisterNetworkPlugin } from './domain/registry/register-network-plugin.js';
66
68
  import { createSetNetworkRules } from './domain/registry/set-network-rules.js';
69
+ import { createUnregisterNetworkPlugin } from './domain/registry/unregister-network-plugin.js';
67
70
  import { createChangeLabelValues } from './domain/registry/change-label-values.js';
68
71
  import { createAssignLabel } from './domain/registry/assign-label.js';
69
72
  import { createUnassignLabel } from './domain/registry/unassign-label.js';
@@ -157,7 +160,10 @@ export function createUseCases(options) {
157
160
  confirmWorktreeCleared: createConfirmWorktreeCleared({ uow, clock, ids }),
158
161
  defineLabel: createDefineLabel({ uow, clock, ids }),
159
162
  setNetworkRules: createSetNetworkRules({ uow, clock, ids }),
163
+ registerNetworkPlugin: createRegisterNetworkPlugin({ uow, clock, ids }),
164
+ unregisterNetworkPlugin: createUnregisterNetworkPlugin({ uow, clock, ids }),
160
165
  readReachRefusals: createReadReachRefusals({ reachRefusals: createPrismaReachRefusalRepository(prisma) }),
166
+ explainReach: createExplainReach({ uow, clock }),
161
167
  changeLabelValues: createChangeLabelValues({ uow, clock, ids }),
162
168
  assignLabel: createAssignLabel({ uow, clock, ids }),
163
169
  unassignLabel: createUnassignLabel({ uow, clock, ids }),
@@ -1 +1 @@
1
- {"version":3,"file":"wiring.js","sourceRoot":"","sources":["../src/wiring.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wiring.js","sourceRoot":"","sources":["../src/wiring.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aeolus-fleet/core",
3
- "version": "0.20.4",
3
+ "version": "0.21.0",
4
4
  "description": "Aeolus server: the tRPC API and the fleet domain on Postgres.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -42,7 +42,7 @@
42
42
  "postpack": "rm LICENSE"
43
43
  },
44
44
  "dependencies": {
45
- "@aeolus-fleet/common": "0.20.4",
45
+ "@aeolus-fleet/common": "0.21.0",
46
46
  "@fastify/websocket": "^11.3.1",
47
47
  "@modelcontextprotocol/server": "^2.3.0",
48
48
  "@prisma/adapter-pg": "^7.10.0",
@@ -0,0 +1,7 @@
1
+ -- Whether a crew request's crew is final (#472): set by its trierarch's first
2
+ -- running, restarting or crashed and kept whatever status follows. A request
3
+ -- whose status is one of those now is final already.
4
+ -- AlterTable
5
+ ALTER TABLE "crew_requests" ADD COLUMN "is_final" BOOLEAN NOT NULL DEFAULT false;
6
+
7
+ UPDATE "crew_requests" SET "is_final" = true WHERE "status" IN ('running', 'restarting', 'crashed');
@@ -0,0 +1,21 @@
1
+ -- The fleet's networking plugin (decision 0035): its ship and what it
2
+ -- declared, kept with the network settings, all three set or none; and on a
3
+ -- refusal, what it declared when it refused while the plugin was not
4
+ -- responding.
5
+ ALTER TABLE "network_settings"
6
+ ADD COLUMN "plugin_ship_id" TEXT,
7
+ ADD COLUMN "plugin_while_unavailable" TEXT,
8
+ ADD COLUMN "plugin_not_responding_after_seconds" INTEGER,
9
+ ADD CONSTRAINT "network_settings_plugin_whole" CHECK (
10
+ ("plugin_ship_id" IS NULL) = ("plugin_while_unavailable" IS NULL)
11
+ AND ("plugin_ship_id" IS NULL) = ("plugin_not_responding_after_seconds" IS NULL)
12
+ ),
13
+ ADD CONSTRAINT "network_settings_plugin_while_unavailable" CHECK (
14
+ "plugin_while_unavailable" IN ('block-all', 'open-all', 'keep-latest')
15
+ );
16
+
17
+ ALTER TABLE "reach_refusals"
18
+ ADD COLUMN "while_plugin_unavailable" TEXT,
19
+ ADD CONSTRAINT "reach_refusals_while_plugin_unavailable" CHECK (
20
+ "while_plugin_unavailable" IN ('block-all', 'keep-latest')
21
+ );
@@ -0,0 +1,4 @@
1
+ -- Rules exist only through a registered networking plugin (decision 0035):
2
+ -- rules argo set before then go, all-to-all. The version stays, as it names
3
+ -- the settings past refusals were checked against.
4
+ UPDATE "network_settings" SET "rules" = NULL WHERE "plugin_ship_id" IS NULL;
@@ -212,6 +212,8 @@ model CrewRequest {
212
212
  attempt Int @default(0)
213
213
  /// When the session its trierarch runs now started, with the status; null while none runs.
214
214
  sessionStartedAt DateTime? @map("session_started_at") @db.Timestamptz(3)
215
+ /// Whether its crew is final: set by its trierarch's first running, restarting or crashed, kept whatever status follows, cleared on every new settings version.
216
+ isFinal Boolean @default(false) @map("is_final")
215
217
 
216
218
  fleet Fleet @relation(fields: [fleetId], references: [id])
217
219
  ship Ship @relation("CrewRequestShip", fields: [fleetId, shipId], references: [fleetId, id])
@@ -328,9 +330,14 @@ model ShipLabel {
328
330
  /// rules as JSON, none (null) for all-to-all, and their version. A send and a
329
331
  /// set take turns on an advisory lock on them (network.ts).
330
332
  model NetworkSettings {
331
- fleetId String @id @map("fleet_id")
332
- rules Json?
333
- version Int
333
+ fleetId String @id @map("fleet_id")
334
+ rules Json?
335
+ version Int
336
+ /// The fleet's networking plugin (decision 0035): its ship and what it
337
+ /// declared, all three set or none.
338
+ pluginShipId String? @map("plugin_ship_id")
339
+ pluginWhileUnavailable String? @map("plugin_while_unavailable")
340
+ pluginNotRespondingAfterSeconds Int? @map("plugin_not_responding_after_seconds")
334
341
 
335
342
  fleet Fleet @relation(fields: [fleetId], references: [id])
336
343
 
@@ -348,6 +355,9 @@ model ReachRefusal {
348
355
  sender Json
349
356
  recipient Json
350
357
  settingsVersion Int @map("settings_version")
358
+ /// What the networking plugin declared, when it refused while the plugin
359
+ /// was not responding (decision 0035): block-all or keep-latest.
360
+ whilePluginUnavailable String? @map("while_plugin_unavailable")
351
361
 
352
362
  fleet Fleet @relation(fields: [fleetId], references: [id])
353
363