@aeolus-fleet/core 0.21.0 → 0.22.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 (89) hide show
  1. package/dist/adapters/http/server.d.ts +2 -0
  2. package/dist/adapters/http/server.js +11 -0
  3. package/dist/adapters/http/server.js.map +1 -1
  4. package/dist/adapters/prisma/client.d.ts +2 -0
  5. package/dist/adapters/prisma/client.js +19 -1
  6. package/dist/adapters/prisma/client.js.map +1 -1
  7. package/dist/adapters/prisma/fleet-busy.d.ts +2 -0
  8. package/dist/adapters/prisma/fleet-busy.js +26 -0
  9. package/dist/adapters/prisma/fleet-busy.js.map +1 -0
  10. package/dist/adapters/prisma/generated/browser.d.ts +7 -0
  11. package/dist/adapters/prisma/generated/client.d.ts +7 -0
  12. package/dist/adapters/prisma/generated/internal/class.d.ts +11 -0
  13. package/dist/adapters/prisma/generated/internal/class.js +4 -4
  14. package/dist/adapters/prisma/generated/internal/class.js.map +1 -1
  15. package/dist/adapters/prisma/generated/internal/prismaNamespace.d.ts +83 -1
  16. package/dist/adapters/prisma/generated/internal/prismaNamespace.js +6 -0
  17. package/dist/adapters/prisma/generated/internal/prismaNamespace.js.map +1 -1
  18. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.d.ts +7 -0
  19. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js +6 -0
  20. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
  21. package/dist/adapters/prisma/generated/models/DeclaredNetworkRules.d.ts +1195 -0
  22. package/dist/adapters/prisma/generated/models/DeclaredNetworkRules.js +2 -0
  23. package/dist/adapters/prisma/generated/models/DeclaredNetworkRules.js.map +1 -0
  24. package/dist/adapters/prisma/generated/models/Fleet.d.ts +259 -0
  25. package/dist/adapters/prisma/generated/models/Ship.d.ts +263 -0
  26. package/dist/adapters/prisma/generated/models.d.ts +1 -0
  27. package/dist/adapters/prisma/network.d.ts +3 -1
  28. package/dist/adapters/prisma/network.js +23 -0
  29. package/dist/adapters/prisma/network.js.map +1 -1
  30. package/dist/adapters/prisma/registry.js +1 -0
  31. package/dist/adapters/prisma/registry.js.map +1 -1
  32. package/dist/adapters/prisma/unit-of-work.d.ts +2 -1
  33. package/dist/adapters/prisma/unit-of-work.js +2 -1
  34. package/dist/adapters/prisma/unit-of-work.js.map +1 -1
  35. package/dist/adapters/trpc/console.d.ts +2 -1
  36. package/dist/adapters/trpc/console.js +6 -2
  37. package/dist/adapters/trpc/console.js.map +1 -1
  38. package/dist/adapters/trpc/context.d.ts +7 -1
  39. package/dist/adapters/trpc/fleet.d.ts +34 -3
  40. package/dist/adapters/trpc/fleet.js +27 -4
  41. package/dist/adapters/trpc/fleet.js.map +1 -1
  42. package/dist/adapters/trpc/router.d.ts +41 -3
  43. package/dist/adapters/trpc/ship-contract.js +2 -0
  44. package/dist/adapters/trpc/ship-contract.js.map +1 -1
  45. package/dist/adapters/trpc/ship-protocol.js +2 -2
  46. package/dist/adapters/trpc/ship-protocol.js.map +1 -1
  47. package/dist/adapters/trpc/system.d.ts +15 -0
  48. package/dist/adapters/trpc/system.js +10 -1
  49. package/dist/adapters/trpc/system.js.map +1 -1
  50. package/dist/adapters/trpc/trpc.d.ts +11 -0
  51. package/dist/adapters/trpc/trpc.js +26 -10
  52. package/dist/adapters/trpc/trpc.js.map +1 -1
  53. package/dist/app.js +2 -1
  54. package/dist/app.js.map +1 -1
  55. package/dist/domain/registry/check-reach.js +1 -1
  56. package/dist/domain/registry/check-reach.js.map +1 -1
  57. package/dist/domain/registry/declare-network-rules.d.ts +33 -0
  58. package/dist/domain/registry/declare-network-rules.js +30 -0
  59. package/dist/domain/registry/declare-network-rules.js.map +1 -0
  60. package/dist/domain/registry/declared-network-rules.d.ts +60 -0
  61. package/dist/domain/registry/declared-network-rules.js +70 -0
  62. package/dist/domain/registry/declared-network-rules.js.map +1 -0
  63. package/dist/domain/registry/label.d.ts +8 -10
  64. package/dist/domain/registry/label.js +4 -16
  65. package/dist/domain/registry/label.js.map +1 -1
  66. package/dist/domain/registry/network-settings.d.ts +23 -10
  67. package/dist/domain/registry/network-settings.js +65 -28
  68. package/dist/domain/registry/network-settings.js.map +1 -1
  69. package/dist/domain/registry/ports.d.ts +10 -0
  70. package/dist/domain/registry/read-declared-network-rules.d.ts +16 -0
  71. package/dist/domain/registry/read-declared-network-rules.js +9 -0
  72. package/dist/domain/registry/read-declared-network-rules.js.map +1 -0
  73. package/dist/domain/registry/retire-ship.d.ts +4 -2
  74. package/dist/domain/registry/retire-ship.js +10 -1
  75. package/dist/domain/registry/retire-ship.js.map +1 -1
  76. package/dist/domain/registry/set-network-rules.d.ts +4 -2
  77. package/dist/domain/registry/set-network-rules.js +4 -2
  78. package/dist/domain/registry/set-network-rules.js.map +1 -1
  79. package/dist/domain/registry/unassign-label.js +1 -1
  80. package/dist/domain/registry/unassign-label.js.map +1 -1
  81. package/dist/domain/shared/errors.d.ts +1 -1
  82. package/dist/domain/shared/errors.js.map +1 -1
  83. package/dist/wiring.d.ts +4 -0
  84. package/dist/wiring.js +5 -1
  85. package/dist/wiring.js.map +1 -1
  86. package/package.json +3 -2
  87. package/src/adapters/prisma/migrations/20261010130000_cleared_network_rules_on_record/migration.sql +57 -0
  88. package/src/adapters/prisma/migrations/20261010210000_declared_network_rules/migration.sql +16 -0
  89. package/src/adapters/prisma/schema.prisma +17 -0
@@ -531,6 +531,35 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
531
531
  };
532
532
  meta: import("./trpc.js").ProcedureMeta;
533
533
  }>;
534
+ declareNetworkRules: import("@trpc/server").TRPCMutationProcedure<{
535
+ input: {
536
+ rules: {
537
+ from: unknown[];
538
+ to: unknown[];
539
+ }[];
540
+ };
541
+ output: {
542
+ rules: number;
543
+ };
544
+ meta: import("./trpc.js").ProcedureMeta;
545
+ }>;
546
+ declaredNetworkRules: import("@trpc/server").TRPCQueryProcedure<{
547
+ input: void;
548
+ output: {
549
+ shipId: `shp_${string}`;
550
+ rules: {
551
+ from: (`lbv_${string}` | {
552
+ labelId: `lbl_${string}`;
553
+ value: "*" | "#";
554
+ })[];
555
+ to: (`lbv_${string}` | {
556
+ labelId: `lbl_${string}`;
557
+ value: "*" | "#";
558
+ })[];
559
+ }[];
560
+ }[];
561
+ meta: import("./trpc.js").ProcedureMeta;
562
+ }>;
534
563
  reachRefusals: import("@trpc/server").TRPCQueryProcedure<{
535
564
  input: void;
536
565
  output: {
@@ -673,7 +702,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
673
702
  output: {
674
703
  seq: number;
675
704
  id: `evt_${string}`;
676
- type: "FleetInitialised" | "ShipCommissioned" | "ShipClaimed" | "LeaseRevoked" | "CredentialRevoked" | "StartingPromptIssued" | "OperatorPasswordReset" | "MessageAccepted" | "DeliveryClaimed" | "DeliveryAcknowledged" | "DeliveryUndeliverable" | "DeliveryReturned" | "ShipRetired" | "DeliveryAbandoned" | "DeliveryDismissed" | "ShipRenamed" | "ShipReported" | "SignInTicketIssued" | "FleetLimitsChanged" | "ViewerSessionStarted" | "CrewRequested" | "CrewRequestRemoved" | "CrewAssigned" | "CrewStatusChanged" | "CrewRequestExplained" | "CrewRequestGivenBack" | "LabelDefined" | "LabelValuesChanged" | "LabelRetired" | "LabelAssigned" | "LabelUnassigned" | "LabelDeleted" | "WorktreeClearRequested" | "WorktreeCleared" | "WorktreeClearRemoved" | "NetworkRulesSet" | "NetworkPluginRegistered" | "NetworkPluginUnregistered";
705
+ type: "FleetInitialised" | "ShipCommissioned" | "ShipClaimed" | "LeaseRevoked" | "CredentialRevoked" | "StartingPromptIssued" | "OperatorPasswordReset" | "MessageAccepted" | "DeliveryClaimed" | "DeliveryAcknowledged" | "DeliveryUndeliverable" | "DeliveryReturned" | "ShipRetired" | "DeliveryAbandoned" | "DeliveryDismissed" | "ShipRenamed" | "ShipReported" | "SignInTicketIssued" | "FleetLimitsChanged" | "ViewerSessionStarted" | "CrewRequested" | "CrewRequestRemoved" | "CrewAssigned" | "CrewStatusChanged" | "CrewRequestExplained" | "CrewRequestGivenBack" | "LabelDefined" | "LabelValuesChanged" | "LabelRetired" | "LabelAssigned" | "LabelUnassigned" | "LabelDeleted" | "WorktreeClearRequested" | "WorktreeCleared" | "WorktreeClearRemoved" | "NetworkRulesSet" | "NetworkRulesDeclared" | "NetworkPluginRegistered" | "NetworkPluginUnregistered";
677
706
  occurredAt: string;
678
707
  actor: {
679
708
  id: `shp_${string}`;
@@ -903,7 +932,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
903
932
  events: {
904
933
  seq: number;
905
934
  id: `evt_${string}`;
906
- type: "FleetInitialised" | "ShipCommissioned" | "ShipClaimed" | "LeaseRevoked" | "CredentialRevoked" | "StartingPromptIssued" | "OperatorPasswordReset" | "MessageAccepted" | "DeliveryClaimed" | "DeliveryAcknowledged" | "DeliveryUndeliverable" | "DeliveryReturned" | "ShipRetired" | "DeliveryAbandoned" | "DeliveryDismissed" | "ShipRenamed" | "ShipReported" | "SignInTicketIssued" | "FleetLimitsChanged" | "ViewerSessionStarted" | "CrewRequested" | "CrewRequestRemoved" | "CrewAssigned" | "CrewStatusChanged" | "CrewRequestExplained" | "CrewRequestGivenBack" | "LabelDefined" | "LabelValuesChanged" | "LabelRetired" | "LabelAssigned" | "LabelUnassigned" | "LabelDeleted" | "WorktreeClearRequested" | "WorktreeCleared" | "WorktreeClearRemoved" | "NetworkRulesSet" | "NetworkPluginRegistered" | "NetworkPluginUnregistered";
935
+ type: "FleetInitialised" | "ShipCommissioned" | "ShipClaimed" | "LeaseRevoked" | "CredentialRevoked" | "StartingPromptIssued" | "OperatorPasswordReset" | "MessageAccepted" | "DeliveryClaimed" | "DeliveryAcknowledged" | "DeliveryUndeliverable" | "DeliveryReturned" | "ShipRetired" | "DeliveryAbandoned" | "DeliveryDismissed" | "ShipRenamed" | "ShipReported" | "SignInTicketIssued" | "FleetLimitsChanged" | "ViewerSessionStarted" | "CrewRequested" | "CrewRequestRemoved" | "CrewAssigned" | "CrewStatusChanged" | "CrewRequestExplained" | "CrewRequestGivenBack" | "LabelDefined" | "LabelValuesChanged" | "LabelRetired" | "LabelAssigned" | "LabelUnassigned" | "LabelDeleted" | "WorktreeClearRequested" | "WorktreeCleared" | "WorktreeClearRemoved" | "NetworkRulesSet" | "NetworkRulesDeclared" | "NetworkPluginRegistered" | "NetworkPluginUnregistered";
907
936
  occurredAt: string;
908
937
  actorShipId: `shp_${string}` | null;
909
938
  shipId: `shp_${string}` | null;
@@ -923,7 +952,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
923
952
  event: {
924
953
  seq: number;
925
954
  id: `evt_${string}`;
926
- type: "FleetInitialised" | "ShipCommissioned" | "ShipClaimed" | "LeaseRevoked" | "CredentialRevoked" | "StartingPromptIssued" | "OperatorPasswordReset" | "MessageAccepted" | "DeliveryClaimed" | "DeliveryAcknowledged" | "DeliveryUndeliverable" | "DeliveryReturned" | "ShipRetired" | "DeliveryAbandoned" | "DeliveryDismissed" | "ShipRenamed" | "ShipReported" | "SignInTicketIssued" | "FleetLimitsChanged" | "ViewerSessionStarted" | "CrewRequested" | "CrewRequestRemoved" | "CrewAssigned" | "CrewStatusChanged" | "CrewRequestExplained" | "CrewRequestGivenBack" | "LabelDefined" | "LabelValuesChanged" | "LabelRetired" | "LabelAssigned" | "LabelUnassigned" | "LabelDeleted" | "WorktreeClearRequested" | "WorktreeCleared" | "WorktreeClearRemoved" | "NetworkRulesSet" | "NetworkPluginRegistered" | "NetworkPluginUnregistered";
955
+ type: "FleetInitialised" | "ShipCommissioned" | "ShipClaimed" | "LeaseRevoked" | "CredentialRevoked" | "StartingPromptIssued" | "OperatorPasswordReset" | "MessageAccepted" | "DeliveryClaimed" | "DeliveryAcknowledged" | "DeliveryUndeliverable" | "DeliveryReturned" | "ShipRetired" | "DeliveryAbandoned" | "DeliveryDismissed" | "ShipRenamed" | "ShipReported" | "SignInTicketIssued" | "FleetLimitsChanged" | "ViewerSessionStarted" | "CrewRequested" | "CrewRequestRemoved" | "CrewAssigned" | "CrewStatusChanged" | "CrewRequestExplained" | "CrewRequestGivenBack" | "LabelDefined" | "LabelValuesChanged" | "LabelRetired" | "LabelAssigned" | "LabelUnassigned" | "LabelDeleted" | "WorktreeClearRequested" | "WorktreeCleared" | "WorktreeClearRemoved" | "NetworkRulesSet" | "NetworkRulesDeclared" | "NetworkPluginRegistered" | "NetworkPluginUnregistered";
927
956
  occurredAt: string;
928
957
  actorShipId: `shp_${string}` | null;
929
958
  shipId: `shp_${string}` | null;
@@ -1500,6 +1529,15 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1500
1529
  };
1501
1530
  meta: import("./trpc.js").ProcedureMeta;
1502
1531
  }>;
1532
+ version: import("@trpc/server").TRPCQueryProcedure<{
1533
+ input: void;
1534
+ output: {
1535
+ server: string;
1536
+ common: string;
1537
+ migration: string | null;
1538
+ };
1539
+ meta: import("./trpc.js").ProcedureMeta;
1540
+ }>;
1503
1541
  }>>;
1504
1542
  }>>;
1505
1543
  export type AppRouter = typeof appRouter;
@@ -84,6 +84,8 @@ const FLEET_ACTIONS = [
84
84
  'setNetworkRules',
85
85
  'registerNetworkPlugin',
86
86
  'unregisterNetworkPlugin',
87
+ 'declareNetworkRules',
88
+ 'declaredNetworkRules',
87
89
  ];
88
90
  /** One procedure as a door offers it, under its tool name and REST route. */
89
91
  function callOf(procedure, at) {
@@ -1 +1 @@
1
- {"version":3,"file":"ship-contract.js","sourceRoot":"","sources":["../../../src/adapters/trpc/ship-contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ship-contract.js","sourceRoot":"","sources":["../../../src/adapters/trpc/ship-contract.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { PING_CONTENT_TYPE } from '@aeolus-fleet/common';
1
+ import { NO_TERMINAL_QUESTIONS, PING_CONTENT_TYPE } from '@aeolus-fleet/common';
2
2
  /**
3
3
  * The ship protocol: how a session crewing a ship uses the ship calls, and
4
4
  * when. The MCP server sends it as its instructions when a client connects,
@@ -13,7 +13,7 @@ export const SHIP_PROTOCOL = [
13
13
  '1. Call register once at the start, with your location and harness. Keep the crew token; every other call needs it.',
14
14
  '2. Loop: receive, then ack each delivery. Act only if the ack succeeded.',
15
15
  '3. To answer, send to its senderName with inReplyTo set to its messageId.',
16
- "4. Ask your questions over the fleet, to the sender of your task, never through your harness's interactive question tools: nobody watches your session, and a question waiting there blocks it.",
16
+ `4. ${NO_TERMINAL_QUESTIONS} Every other question goes to the sender of your task, never through your harness's interactive question tools: a question waiting there blocks your session.`,
17
17
  '5. Every send states the model you are running now.',
18
18
  '6. If the content is over 64 KB, send where it lives (a path, a URL, a PR link), not the content itself.',
19
19
  `7. A ping (${PING_CONTENT_TYPE}): call pong with its deliveryId instead of ack. Don't act on it and don't reply.`,
@@ -1 +1 @@
1
- {"version":3,"file":"ship-protocol.js","sourceRoot":"","sources":["../../../src/adapters/trpc/ship-protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,8DAA8D;IAC9D,EAAE;IACF,qHAAqH;IACrH,0EAA0E;IAC1E,2EAA2E;IAC3E,iMAAiM;IACjM,qDAAqD;IACrD,0GAA0G;IAC1G,cAAc,iBAAiB,mFAAmF;IAClH,wCAAwC;IACxC,uGAAuG;IACvG,gHAAgH;IAChH,2EAA2E;IAC3E,2GAA2G;CAC5G,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"ship-protocol.js","sourceRoot":"","sources":["../../../src/adapters/trpc/ship-protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEhF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,8DAA8D;IAC9D,EAAE;IACF,qHAAqH;IACrH,0EAA0E;IAC1E,2EAA2E;IAC3E,MAAM,qBAAqB,+JAA+J;IAC1L,qDAAqD;IACrD,0GAA0G;IAC1G,cAAc,iBAAiB,mFAAmF;IAClH,wCAAwC;IACxC,uGAAuG;IACvG,gHAAgH;IAChH,2EAA2E;IAC3E,2GAA2G;CAC5G,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
@@ -26,4 +26,19 @@ export declare const systemRouter: import("@trpc/server").TRPCBuiltRouter<{
26
26
  };
27
27
  meta: import("./trpc.js").ProcedureMeta;
28
28
  }>;
29
+ /**
30
+ * The versions the server process runs and its database's latest migration,
31
+ * for the console's /version to a signed-in operator (#478). Needs
32
+ * fleet:manage: the operator holds it, the viewer does not. Never asked
33
+ * without a caller, unlike `/api/version`.
34
+ */
35
+ version: import("@trpc/server").TRPCQueryProcedure<{
36
+ input: void;
37
+ output: {
38
+ server: string;
39
+ common: string;
40
+ migration: string | null;
41
+ };
42
+ meta: import("./trpc.js").ProcedureMeta;
43
+ }>;
29
44
  }>>;
@@ -1,4 +1,4 @@
1
- import { pingOutputSchema } from '@aeolus-fleet/common';
1
+ import { pingOutputSchema, systemVersionOutputSchema } from '@aeolus-fleet/common';
2
2
  import { router, scopedProcedure } from './trpc.js';
3
3
  export const systemRouter = router({
4
4
  /**
@@ -11,5 +11,14 @@ export const systemRouter = router({
11
11
  const { serverTime, fleetCount } = await ctx.useCases.ping();
12
12
  return { serverTime: serverTime.toISOString(), fleetCount };
13
13
  }),
14
+ /**
15
+ * The versions the server process runs and its database's latest migration,
16
+ * for the console's /version to a signed-in operator (#478). Needs
17
+ * fleet:manage: the operator holds it, the viewer does not. Never asked
18
+ * without a caller, unlike `/api/version`.
19
+ */
20
+ version: scopedProcedure('fleet:manage')
21
+ .output(systemVersionOutputSchema)
22
+ .query(({ ctx }) => ctx.readVersion()),
14
23
  });
15
24
  //# sourceMappingURL=system.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"system.js","sourceRoot":"","sources":["../../../src/adapters/trpc/system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEpD,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC;IACjC;;;OAGG;IACH,IAAI,EAAE,eAAe,CAAC,YAAY,CAAC;SAChC,MAAM,CAAC,gBAAgB,CAAC;SACxB,KAAK,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QACvB,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC7D,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,CAAC;IAC9D,CAAC,CAAC;CACL,CAAC,CAAC"}
1
+ {"version":3,"file":"system.js","sourceRoot":"","sources":["../../../src/adapters/trpc/system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEnF,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEpD,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC;IACjC;;;OAGG;IACH,IAAI,EAAE,eAAe,CAAC,YAAY,CAAC;SAChC,MAAM,CAAC,gBAAgB,CAAC;SACxB,KAAK,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QACvB,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC7D,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,CAAC;IAC9D,CAAC,CAAC;IAEJ;;;;;OAKG;IACH,OAAO,EAAE,eAAe,CAAC,cAAc,CAAC;SACrC,MAAM,CAAC,yBAAyB,CAAC;SACjC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;CACzC,CAAC,CAAC"}
@@ -5,6 +5,8 @@ import type { Result } from '../../domain/shared/result.js';
5
5
  import type { Context } from './context.js';
6
6
  /** All a caller learns of a server failure, with the request's id; the log keeps the rest under that id. */
7
7
  export declare const INTERNAL_ERROR_MESSAGE = "Internal error";
8
+ /** What a caller reads when no database connection came free in time: the call stored nothing and can be made again. */
9
+ export declare const FLEET_BUSY_MESSAGE = "The fleet is busy; nothing was stored. Make the same call again (for send, with the same idempotency key).";
8
10
  /**
9
11
  * What a procedure says about itself. A ship procedure's description is what
10
12
  * an agent reads on every call, as an MCP tool or a REST operation: what it
@@ -68,10 +70,19 @@ export declare function okOrThrow<T>(result: Result<T, DomainError>): T;
68
70
  * Postgres text can never store the character U+0000, so this one check at
69
71
  * the door refuses it in any text input, as a bad request naming the field,
70
72
  * before anything else reads the input.
73
+ *
74
+ * A call whose transaction got no database connection in time stored nothing,
75
+ * so it is refused as SERVICE_UNAVAILABLE (503), never answered as a server
76
+ * failure: the caller makes the same call again.
71
77
  */
72
78
  export declare const publicProcedure: import("@trpc/server").TRPCProcedureBuilder<Context, ProcedureMeta, {}, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, false>;
73
79
  /** A console procedure, signing in or out: it changes state, so it comes only from the console's origin. */
74
80
  export declare const consoleProcedure: import("@trpc/server").TRPCProcedureBuilder<Context, ProcedureMeta, {}, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, false>;
81
+ /**
82
+ * Refuses a console session a sign-in elsewhere ended, saying so: signing in
83
+ * somewhere else is no failure, and the console says so calmly.
84
+ */
85
+ export declare function refuseIfSignedInElsewhere(ctx: Context, sessionToken: string): Promise<void>;
75
86
  /**
76
87
  * Refuses a live subscription whose caller no longer holds: its console
77
88
  * session ended, or its crew's lease did. A subscription outlives the call
@@ -1,7 +1,10 @@
1
1
  import { initTRPC, TRPCError } from '@trpc/server';
2
2
  import { hasScope, isCrew } from '../../domain/shared/caller.js';
3
+ import { isFleetBusy } from '../prisma/fleet-busy.js';
3
4
  /** All a caller learns of a server failure, with the request's id; the log keeps the rest under that id. */
4
5
  export const INTERNAL_ERROR_MESSAGE = 'Internal error';
6
+ /** What a caller reads when no database connection came free in time: the call stored nothing and can be made again. */
7
+ export const FLEET_BUSY_MESSAGE = 'The fleet is busy; nothing was stored. Make the same call again (for send, with the same idempotency key).';
5
8
  // Never development mode, whatever NODE_ENV says: in it tRPC puts the stack
6
9
  // trace into every error it answers. A server failure answers only that it
7
10
  // failed and the request's id; a refusal keeps its own code and message.
@@ -91,7 +94,6 @@ const ERROR_CODES = {
91
94
  LABEL_CARRIED: 'CONFLICT',
92
95
  LABEL_KEY_TAKEN: 'CONFLICT',
93
96
  LABEL_NOT_FOUND: 'NOT_FOUND',
94
- LABEL_ON_OWN_SHIP: 'FORBIDDEN',
95
97
  LABEL_VALUE_CARRIED: 'CONFLICT',
96
98
  LABEL_VALUE_NOT_FOUND: 'NOT_FOUND',
97
99
  LEASE_ENDED: 'UNAUTHORIZED',
@@ -189,6 +191,10 @@ function fieldName(path) {
189
191
  * Postgres text can never store the character U+0000, so this one check at
190
192
  * the door refuses it in any text input, as a bad request naming the field,
191
193
  * before anything else reads the input.
194
+ *
195
+ * A call whose transaction got no database connection in time stored nothing,
196
+ * so it is refused as SERVICE_UNAVAILABLE (503), never answered as a server
197
+ * failure: the caller makes the same call again.
192
198
  */
193
199
  export const publicProcedure = t.procedure.use(async ({ getRawInput, next }) => {
194
200
  // Input that does not parse is left to the procedure: one without input,
@@ -200,7 +206,11 @@ export const publicProcedure = t.procedure.use(async ({ getRawInput, next }) =>
200
206
  const where = path.length === 0 ? 'The input' : `The input field ${fieldName(path)}`;
201
207
  throw new TRPCError({ code: 'BAD_REQUEST', message: `${where} cannot hold the character U+0000 (NUL)` });
202
208
  }
203
- return next();
209
+ const result = await next();
210
+ if (!result.ok && isFleetBusy(result.error)) {
211
+ throw new TRPCError({ code: 'SERVICE_UNAVAILABLE', message: FLEET_BUSY_MESSAGE, cause: result.error });
212
+ }
213
+ return result;
204
214
  });
205
215
  /**
206
216
  * Refuses a state-changing console call from anywhere but the console's
@@ -251,17 +261,23 @@ async function resolveCaller(ctx) {
251
261
  ctx.sessionCookie.set(sessionToken, use.expiresAt);
252
262
  return use.caller;
253
263
  }
254
- // Signing in somewhere else is no failure: the console says so calmly.
255
- if ((await ctx.useCases.authenticate.endOfConsoleSession(sessionToken)) === 'takenOver') {
256
- throw new TRPCError({
257
- code: 'UNAUTHORIZED',
258
- message: 'You signed in somewhere else, which ended this console session',
259
- cause: new ConsoleRefusalDetails({ refusal: 'SIGNED_IN_ELSEWHERE' }),
260
- });
261
- }
264
+ await refuseIfSignedInElsewhere(ctx, sessionToken);
262
265
  }
263
266
  return undefined;
264
267
  }
268
+ /**
269
+ * Refuses a console session a sign-in elsewhere ended, saying so: signing in
270
+ * somewhere else is no failure, and the console says so calmly.
271
+ */
272
+ export async function refuseIfSignedInElsewhere(ctx, sessionToken) {
273
+ if ((await ctx.useCases.authenticate.endOfConsoleSession(sessionToken)) === 'takenOver') {
274
+ throw new TRPCError({
275
+ code: 'UNAUTHORIZED',
276
+ message: 'You signed in somewhere else, which ended this console session',
277
+ cause: new ConsoleRefusalDetails({ refusal: 'SIGNED_IN_ELSEWHERE' }),
278
+ });
279
+ }
280
+ }
265
281
  /**
266
282
  * Refuses a live subscription whose caller no longer holds: its console
267
283
  * session ended, or its crew's lease did. A subscription outlives the call
@@ -1 +1 @@
1
- {"version":3,"file":"trpc.js","sourceRoot":"","sources":["../../../src/adapters/trpc/trpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trpc.js","sourceRoot":"","sources":["../../../src/adapters/trpc/trpc.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAA0B,MAAM,+BAA+B,CAAC;AAGzF,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,4GAA4G;AAC5G,MAAM,CAAC,MAAM,sBAAsB,GAAG,gBAAgB,CAAC;AAEvD,wHAAwH;AACxH,MAAM,CAAC,MAAM,kBAAkB,GAC7B,4GAA4G,CAAC;AAa/G,4EAA4E;AAC5E,2EAA2E;AAC3E,yEAAyE;AACzE;;;;;GAKG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IACrC,IAAI,GAAG,uBAAuB,CAAC;IAC/B,OAAO,CAAwD;IAExE,YAAY,OAA8D;QACxE,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAED,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAW,CAAC,IAAI,EAAiB,CAAC,MAAM,CAAC;IACjE,KAAK,EAAE,KAAK;IACZ,cAAc,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;QACxC,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;YAC3C,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC;QAC3G,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,YAAY,qBAAqB;YACjD,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE;YAC/D,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;AAE/B,MAAM,WAAW,GAA+C;IAC9D,6BAA6B,EAAE,WAAW;IAC1C,kBAAkB,EAAE,WAAW;IAC/B,mBAAmB,EAAE,UAAU;IAC/B,mBAAmB,EAAE,aAAa;IAClC,2BAA2B,EAAE,WAAW;IACxC,uBAAuB,EAAE,WAAW;IACpC,eAAe,EAAE,aAAa;IAC9B,6BAA6B,EAAE,UAAU;IACzC,mCAAmC,EAAE,WAAW;IAChD,sBAAsB,EAAE,WAAW;IACnC,0BAA0B,EAAE,UAAU;IACtC,sBAAsB,EAAE,UAAU;IAClC,kBAAkB,EAAE,UAAU;IAC9B,6BAA6B,EAAE,UAAU;IACzC,oEAAoE;IACpE,+BAA+B,EAAE,aAAa;IAC9C,sBAAsB,EAAE,UAAU;IAClC,iBAAiB,EAAE,UAAU;IAC7B,0BAA0B,EAAE,UAAU;IACtC,oBAAoB,EAAE,UAAU;IAChC,mBAAmB,EAAE,WAAW;IAChC,eAAe,EAAE,WAAW;IAC5B,mBAAmB,EAAE,WAAW;IAChC,gBAAgB,EAAE,WAAW;IAC7B,sBAAsB,EAAE,aAAa;IACrC,eAAe,EAAE,WAAW;IAC5B,oBAAoB,EAAE,aAAa;IACnC,sBAAsB,EAAE,UAAU;IAClC,qBAAqB,EAAE,WAAW;IAClC,qBAAqB,EAAE,WAAW;IAClC,cAAc,EAAE,aAAa;IAC7B,eAAe,EAAE,aAAa;IAC9B,eAAe,EAAE,aAAa;IAC9B,oBAAoB,EAAE,aAAa;IACnC,aAAa,EAAE,aAAa;IAC5B,kBAAkB,EAAE,aAAa;IACjC,kBAAkB,EAAE,aAAa;IACjC,mBAAmB,EAAE,aAAa;IAClC,uBAAuB,EAAE,aAAa;IACtC,kBAAkB,EAAE,aAAa;IACjC,iBAAiB,EAAE,aAAa;IAChC,mBAAmB,EAAE,aAAa;IAClC,oBAAoB,EAAE,aAAa;IACnC,aAAa,EAAE,aAAa;IAC5B,gBAAgB,EAAE,aAAa;IAC/B,qBAAqB,EAAE,aAAa;IACpC,gBAAgB,EAAE,aAAa;IAC/B,mBAAmB,EAAE,aAAa;IAClC,2BAA2B,EAAE,aAAa;IAC1C,sBAAsB,EAAE,aAAa;IACrC,mBAAmB,EAAE,aAAa;IAClC,oBAAoB,EAAE,aAAa;IACnC,iBAAiB,EAAE,aAAa;IAChC,iBAAiB,EAAE,aAAa;IAChC,iBAAiB,EAAE,aAAa;IAChC,4EAA4E;IAC5E,aAAa,EAAE,UAAU;IACzB,eAAe,EAAE,UAAU;IAC3B,eAAe,EAAE,WAAW;IAC5B,mBAAmB,EAAE,UAAU;IAC/B,qBAAqB,EAAE,WAAW;IAClC,WAAW,EAAE,cAAc;IAC3B,iBAAiB,EAAE,WAAW;IAC9B,mBAAmB,EAAE,WAAW;IAChC,aAAa,EAAE,WAAW;IAC1B,sBAAsB,EAAE,WAAW;IACnC,yBAAyB,EAAE,UAAU;IACrC,qBAAqB,EAAE,WAAW;IAClC,oBAAoB,EAAE,UAAU;IAChC,wBAAwB,EAAE,UAAU;IACpC,qCAAqC,EAAE,WAAW;IAClD,2BAA2B,EAAE,WAAW;IACxC,2BAA2B,EAAE,WAAW;IACxC,0BAA0B,EAAE,WAAW;IACvC,wEAAwE;IACxE,iBAAiB,EAAE,aAAa;IAChC,eAAe,EAAE,UAAU;IAC3B,gDAAgD;IAChD,wBAAwB,EAAE,aAAa;IACvC,qBAAqB,EAAE,WAAW;IAClC,oBAAoB,EAAE,UAAU;IAChC,kBAAkB,EAAE,UAAU;IAC9B,eAAe,EAAE,UAAU;IAC3B,sBAAsB,EAAE,UAAU;IAClC,eAAe,EAAE,UAAU;IAC3B,wBAAwB,EAAE,aAAa;IACvC,kBAAkB,EAAE,WAAW;IAC/B,cAAc,EAAE,WAAW;IAC3B,sBAAsB,EAAE,cAAc;IACtC,kBAAkB,EAAE,cAAc;IAClC,qBAAqB,EAAE,WAAW;IAClC,uBAAuB,EAAE,cAAc;IACvC,uBAAuB,EAAE,cAAc;CACxC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAC/B,IAAI,GAAG,iBAAiB,CAAC;IACzB,IAAI,CAAgB;IAE7B,YAAY,IAAmB;QAC7B,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,mHAAmH;AACnH,SAAS,UAAU,CAAC,KAAkB;IACpC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAChC,MAAM,KAAK,GAAG,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,OAAO,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AACpE,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,SAAS,CAAI,MAA8B;IACzD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC;AACtB,CAAC;AAID,wFAAwF;AACxF,SAAS,SAAS,CAAC,KAAc,EAAE,IAAe;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YAChD,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;YAC9C,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,qFAAqF;AACrF,SAAS,SAAS,CAAC,IAAe;IAChC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE;IAC7E,yEAAyE;IACzE,sEAAsE;IACtE,wBAAwB;IACxB,MAAM,KAAK,GAAY,MAAM,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAClC,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,mBAAmB,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACrF,MAAM,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,KAAK,yCAAyC,EAAE,CAAC,CAAC;IAC3G,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACzG,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,GAAY;IACtC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,aAAa,EAAE,CAAC;QACrC,MAAM,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,uEAAuE,EAAE,CAAC,CAAC;IAC/H,CAAC;AACH,CAAC;AAED,4GAA4G;AAC5G,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE;IACpE,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACxB,OAAO,IAAI,EAAE,CAAC;AAChB,CAAC,CAAC,CAAC;AAEH;;;;GAIG;AACH,KAAK,UAAU,MAAM,CAAC,GAAY,EAAE,MAAc;IAChD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACjE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACtC,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,aAAa,CAAC,GAAY;IACvC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC;IACjD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAC3E,IAAI,GAAG,EAAE,CAAC;YACR,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;YACnD,OAAO,GAAG,CAAC,MAAM,CAAC;QACpB,CAAC;QACD,MAAM,yBAAyB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,GAAY,EAAE,YAAoB;IAChF,IAAI,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;QACxF,MAAM,IAAI,SAAS,CAAC;YAClB,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,gEAAgE;YACzE,KAAK,EAAE,IAAI,qBAAqB,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC;SACrE,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,GAAY;IACtD,IAAI,CAAC,CAAC,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,wDAAwD,EAAE,CAAC,CAAC;IACnH,CAAC;AACH,CAAC;AAED,sGAAsG;AACtG,MAAM,oBAAoB,GAAG,4CAA4C,CAAC;AAE1E;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;IACtF,2EAA2E;IAC3E,kEAAkE;IAClE,yEAAyE;IACzE,qEAAqE;IACrE,0EAA0E;IAC1E,UAAU;IACV,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC;IACjD,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,cAAc,CAAC,IAAI,MAAM,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC3G,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,wDAAwD,CAAC,CAAC,CAAC,oBAAoB,CAAC;QAC3H,MAAM,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE;IACvE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC;IACnC,MAAM,IAAI,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC1E,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAY;IAC9C,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE;QACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,uBAAuB,KAAK,QAAQ,EAAE,CAAC,CAAC;QAC5F,CAAC;QACD,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,KAAY;IAC1C,OAAO,sBAAsB,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE;QAClD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,uBAAuB,KAAK,QAAQ,EAAE,CAAC,CAAC;QAC5F,CAAC;QACD,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAG,MAAkC;IACrE,OAAO,sBAAsB,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE;QAClD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,uBAAuB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1G,CAAC;QACD,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAG,MAAe;IAC1D,OAAO,sBAAsB,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE;QAClD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QACrE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,uBAAuB,OAAO,QAAQ,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,uEAAuE,EAAE,CAAC,CAAC;QAC/H,CAAC;QACD,OAAO,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC"}
package/dist/app.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { buildHttpServer } from './adapters/http/server.js';
2
- import { checkDatabase, createPrismaClient } from './adapters/prisma/client.js';
2
+ import { checkDatabase, createPrismaClient, latestMigration } from './adapters/prisma/client.js';
3
3
  import { listenForPendingDeliveries } from './adapters/prisma/delivery-notices.js';
4
4
  import { failureForLog } from './adapters/prisma/failure-log.js';
5
5
  import { createFleetEventWakeups, fleetEventWakeupsOf } from './adapters/prisma/fleet-event-wakeups.js';
@@ -28,6 +28,7 @@ export function createApp(options) {
28
28
  installationToken: options.installationToken,
29
29
  fleetEvents,
30
30
  checkDatabase: () => checkDatabase(prisma),
31
+ latestMigration: () => latestMigration(prisma),
31
32
  clock,
32
33
  logger: options.logger,
33
34
  shouldTrustProxy: options.shouldTrustProxy,
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
@@ -81,7 +81,7 @@ export async function shipAsItIs(tx, ship) {
81
81
  return { ship, labels };
82
82
  }
83
83
  export function reaching({ ship, labels }) {
84
- return { kind: ship.kind, labels: labels.map((label) => label.valueId) };
84
+ return { kind: ship.kind, labels: labels.map(({ labelId, valueId }) => ({ labelId, valueId })) };
85
85
  }
86
86
  function refused({ ship, labels }) {
87
87
  return { id: ship.id, name: ship.name, labels };
@@ -1 +1 @@
1
- {"version":3,"file":"check-reach.js","sourceRoot":"","sources":["../../../src/domain/registry/check-reach.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check-reach.js","sourceRoot":"","sources":["../../../src/domain/registry/check-reach.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAoB,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAe,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAE,yBAAyB,EAAE,YAAY,EAA8D,MAAM,uBAAuB,CAAC;AAsBzJ;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,IAA4C,EAC5C,IAA2G;IAE3G,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IACpC,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACrE,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACnE,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC5E,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,CAAC,EAAc,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACxJ,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,OAAO,EAAE,sBAAsB,EAAE,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAE7J,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAiB,EAAE,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5E,KAAK,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC,EAAE,gBAAgB,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QACrJ,OAAO,MAAM,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACnE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,wFAAwF;QACxF,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACpB,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC;IACD,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5H,OAAO,MAAM,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,qBAAqB,GAAG,0CAA0C,CAAC;AAEzE,kHAAkH;AAClH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EAAgC,EAAE,EAA4C;IACjH,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;IAC5B,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACjF,OAAO,YAAY,CAAC,QAAQ,EAAE,yBAAyB,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AACxF,CAAC;AAOD,0FAA0F;AAC1F,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,EAAgC,EAAE,IAAU;IAC3E,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACvE,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;QACxE,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/G,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAc;IACnD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC;AACnG,CAAC;AAED,SAAS,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAc;IAC3C,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;AAClD,CAAC"}
@@ -0,0 +1,33 @@
1
+ import type { IdGenerator } from '@aeolus-fleet/common';
2
+ import type { Caller } from '../shared/caller.js';
3
+ import type { Clock } from '../shared/clock.js';
4
+ import { type EventLog } from '../shared/events.js';
5
+ import { type Result } from '../shared/result.js';
6
+ import type { UnitOfWork } from '../shared/unit-of-work.js';
7
+ import { type DeclareNetworkRulesRefusal } from './declared-network-rules.js';
8
+ import type { NetworkRule } from './network-settings.js';
9
+ import type { DeclaredNetworkRulesRepository, LabelRepository, ShipRepository } from './ports.js';
10
+ export interface DeclareNetworkRulesTx {
11
+ labels: Pick<LabelRepository, 'find' | 'findByValueForShare'>;
12
+ ships: Pick<ShipRepository, 'find'>;
13
+ declaredNetworkRules: Pick<DeclaredNetworkRulesRepository, 'save'>;
14
+ events: EventLog;
15
+ }
16
+ export type DeclareNetworkRules = (caller: Caller, input: {
17
+ rules: readonly NetworkRule[];
18
+ }) => Promise<Result<{
19
+ rules: number;
20
+ }, DeclareNetworkRulesRefusal>>;
21
+ /**
22
+ * Use case: a ship declares the network rules it needs on the labels it owns,
23
+ * its whole list, or none to withdraw them (decision 0037). Its scope
24
+ * (labels:define) is checked before this runs. In one unit of work: the
25
+ * labels its terms name as the fleet has them now, its list in place of the
26
+ * one before, and NetworkRulesDeclared. Nothing comes in force here: the
27
+ * networking plugin adds them to argo's rules when it supplies the list.
28
+ */
29
+ export declare function createDeclareNetworkRules(deps: {
30
+ uow: UnitOfWork<DeclareNetworkRulesTx>;
31
+ clock: Clock;
32
+ ids: IdGenerator;
33
+ }): DeclareNetworkRules;
@@ -0,0 +1,30 @@
1
+ import { recordEvent, shipActor } from '../shared/events.js';
2
+ import { ok } from '../shared/result.js';
3
+ import { declareNetworkRules, namedInRules } from './declared-network-rules.js';
4
+ /**
5
+ * Use case: a ship declares the network rules it needs on the labels it owns,
6
+ * its whole list, or none to withdraw them (decision 0037). Its scope
7
+ * (labels:define) is checked before this runs. In one unit of work: the
8
+ * labels its terms name as the fleet has them now, its list in place of the
9
+ * one before, and NetworkRulesDeclared. Nothing comes in force here: the
10
+ * networking plugin adds them to argo's rules when it supplies the list.
11
+ */
12
+ export function createDeclareNetworkRules(deps) {
13
+ return (caller, input) => deps.uow.run(async (tx) => {
14
+ const { fleetId, shipId } = caller;
15
+ const { labelIds, valueIds } = namedInRules(input.rules);
16
+ const found = await Promise.all([...labelIds.map((labelId) => tx.labels.find(fleetId, labelId)), ...valueIds.map((valueId) => tx.labels.findByValueForShare(fleetId, valueId))]);
17
+ const labels = found.filter((label) => label !== undefined);
18
+ const ownerNames = new Map(await Promise.all(labels.map(async (label) => [label.ownerShipId, (await tx.ships.find(fleetId, label.ownerShipId))?.name ?? label.ownerShipId])));
19
+ const declared = declareNetworkRules({ labels, ownerNameOf: (ownerShipId) => ownerNames.get(ownerShipId) ?? ownerShipId }, { fleetId, shipId, rules: input.rules, at: deps.clock.now(), actor: shipActor(shipId) });
20
+ if (!declared.isOk) {
21
+ return declared;
22
+ }
23
+ await tx.declaredNetworkRules.save(declared.value.declared);
24
+ for (const event of declared.value.events) {
25
+ await recordEvent({ events: tx.events, ids: deps.ids }, event);
26
+ }
27
+ return ok({ rules: declared.value.declared.rules.length });
28
+ });
29
+ }
30
+ //# sourceMappingURL=declare-network-rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"declare-network-rules.js","sourceRoot":"","sources":["../../../src/domain/registry/declare-network-rules.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAiB,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,EAAE,EAAe,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAmC,MAAM,6BAA6B,CAAC;AAcjH;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAAgF;IACxH,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CACvB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAkE,EAAE;QACxF,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QACnC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACjL,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAkB,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;QAC5E,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,IAAI,KAAK,CAAC,WAAW,CAAU,CAAC,CAAC,CAAC,CAAC;QACvL,MAAM,QAAQ,GAAG,mBAAmB,CAClC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,WAAW,EAAE,EACpF,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CACxF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,MAAM,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5D,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC1C,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,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * The network rules a ship declares on the labels it owns (decision 0037),
3
+ * such as a plugin's for the ships it labels. Declared, they are not in
4
+ * force: the fleet's networking plugin adds them to argo's rules when it
5
+ * supplies the list. Only rules on labels the ship owns keep them safe: only
6
+ * it assigns those labels, so its rules reach no ship it did not label.
7
+ */
8
+ import { type FleetId, type LabelId, type LabelValueId, type ShipId } from '@aeolus-fleet/common';
9
+ import { type DomainError } from '../shared/errors.js';
10
+ import type { Actor, NewEvent } from '../shared/events.js';
11
+ import { type Result } from '../shared/result.js';
12
+ import type { Label } from './label.js';
13
+ import { type NetworkRule } from './network-settings.js';
14
+ /** One ship's declared rules, its whole list; a ship that declares none holds none. */
15
+ export interface DeclaredNetworkRules {
16
+ fleetId: FleetId;
17
+ shipId: ShipId;
18
+ rules: readonly NetworkRule[];
19
+ }
20
+ export type DeclareNetworkRulesRefusal = DomainError<'INVALID_NETWORK_RULES' | 'NOT_THE_LABEL_OWNER' | 'LABEL_NOT_FOUND' | 'LABEL_VALUE_NOT_FOUND'>;
21
+ /** The labels a declaration's terms name, as the fleet has them now, with each owner's name for a refusal. */
22
+ export interface NamedLabels {
23
+ labels: readonly Label[];
24
+ ownerNameOf: (shipId: ShipId) => string;
25
+ }
26
+ /** Every label and every exact value the rules' terms name, each once: what the caller looks up before declaring. */
27
+ export declare function namedInRules(rules: readonly NetworkRule[]): {
28
+ labelIds: LabelId[];
29
+ valueIds: LabelValueId[];
30
+ };
31
+ /**
32
+ * The ship declares its whole list from now on, replacing what it declared
33
+ * before; an empty list withdraws them. At most 20, each rule within
34
+ * decision 0034's own limits, and every term on a label the ship owns: an
35
+ * exact value's label, and the label of a term of any or the same value. An
36
+ * id the fleet does not have is refused, as its owner cannot be checked.
37
+ * NetworkRulesDeclared names the ship and the number of rules, never them.
38
+ */
39
+ export declare function declareNetworkRules(named: NamedLabels, change: {
40
+ fleetId: FleetId;
41
+ shipId: ShipId;
42
+ rules: readonly NetworkRule[];
43
+ at: Date;
44
+ actor: Actor;
45
+ }): Result<{
46
+ declared: DeclaredNetworkRules;
47
+ events: NewEvent[];
48
+ }, DeclareNetworkRulesRefusal>;
49
+ /**
50
+ * The retired ship's declared rules go with it, as its labels do (decision
51
+ * 0031): none from now on, with NetworkRulesDeclared of none. A ship that
52
+ * declared none changes nothing.
53
+ */
54
+ export declare function withdrawWithRetiredShip(current: DeclaredNetworkRules | undefined, change: {
55
+ at: Date;
56
+ actor: Actor;
57
+ }): {
58
+ declared: DeclaredNetworkRules;
59
+ events: NewEvent[];
60
+ } | undefined;