@aeolus-fleet/core 0.20.5 → 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 (99) 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/migrate.js +17 -4
  28. package/dist/adapters/prisma/migrate.js.map +1 -1
  29. package/dist/adapters/prisma/network.d.ts +3 -1
  30. package/dist/adapters/prisma/network.js +23 -0
  31. package/dist/adapters/prisma/network.js.map +1 -1
  32. package/dist/adapters/prisma/registry.js +2 -0
  33. package/dist/adapters/prisma/registry.js.map +1 -1
  34. package/dist/adapters/prisma/unit-of-work.d.ts +2 -1
  35. package/dist/adapters/prisma/unit-of-work.js +2 -1
  36. package/dist/adapters/prisma/unit-of-work.js.map +1 -1
  37. package/dist/adapters/trpc/console.d.ts +2 -1
  38. package/dist/adapters/trpc/console.js +6 -2
  39. package/dist/adapters/trpc/console.js.map +1 -1
  40. package/dist/adapters/trpc/context.d.ts +9 -1
  41. package/dist/adapters/trpc/fleet.d.ts +46 -3
  42. package/dist/adapters/trpc/fleet.js +34 -6
  43. package/dist/adapters/trpc/fleet.js.map +1 -1
  44. package/dist/adapters/trpc/router.d.ts +52 -3
  45. package/dist/adapters/trpc/ship-contract.js +2 -0
  46. package/dist/adapters/trpc/ship-contract.js.map +1 -1
  47. package/dist/adapters/trpc/ship-protocol.js +2 -2
  48. package/dist/adapters/trpc/ship-protocol.js.map +1 -1
  49. package/dist/adapters/trpc/system.d.ts +15 -0
  50. package/dist/adapters/trpc/system.js +10 -1
  51. package/dist/adapters/trpc/system.js.map +1 -1
  52. package/dist/adapters/trpc/trpc.d.ts +11 -0
  53. package/dist/adapters/trpc/trpc.js +26 -10
  54. package/dist/adapters/trpc/trpc.js.map +1 -1
  55. package/dist/app.js +2 -1
  56. package/dist/app.js.map +1 -1
  57. package/dist/domain/registry/check-reach.d.ts +15 -0
  58. package/dist/domain/registry/check-reach.js +4 -4
  59. package/dist/domain/registry/check-reach.js.map +1 -1
  60. package/dist/domain/registry/declare-network-rules.d.ts +33 -0
  61. package/dist/domain/registry/declare-network-rules.js +30 -0
  62. package/dist/domain/registry/declare-network-rules.js.map +1 -0
  63. package/dist/domain/registry/declared-network-rules.d.ts +60 -0
  64. package/dist/domain/registry/declared-network-rules.js +70 -0
  65. package/dist/domain/registry/declared-network-rules.js.map +1 -0
  66. package/dist/domain/registry/explain-reach.d.ts +34 -0
  67. package/dist/domain/registry/explain-reach.js +42 -0
  68. package/dist/domain/registry/explain-reach.js.map +1 -0
  69. package/dist/domain/registry/label.d.ts +8 -10
  70. package/dist/domain/registry/label.js +4 -16
  71. package/dist/domain/registry/label.js.map +1 -1
  72. package/dist/domain/registry/network-settings.d.ts +26 -13
  73. package/dist/domain/registry/network-settings.js +68 -31
  74. package/dist/domain/registry/network-settings.js.map +1 -1
  75. package/dist/domain/registry/ports.d.ts +12 -0
  76. package/dist/domain/registry/read-assigned-crew-requests.d.ts +2 -2
  77. package/dist/domain/registry/read-assigned-crew-requests.js +2 -1
  78. package/dist/domain/registry/read-assigned-crew-requests.js.map +1 -1
  79. package/dist/domain/registry/read-declared-network-rules.d.ts +16 -0
  80. package/dist/domain/registry/read-declared-network-rules.js +9 -0
  81. package/dist/domain/registry/read-declared-network-rules.js.map +1 -0
  82. package/dist/domain/registry/retire-ship.d.ts +4 -2
  83. package/dist/domain/registry/retire-ship.js +10 -1
  84. package/dist/domain/registry/retire-ship.js.map +1 -1
  85. package/dist/domain/registry/set-network-rules.d.ts +4 -2
  86. package/dist/domain/registry/set-network-rules.js +4 -2
  87. package/dist/domain/registry/set-network-rules.js.map +1 -1
  88. package/dist/domain/registry/unassign-label.js +1 -1
  89. package/dist/domain/registry/unassign-label.js.map +1 -1
  90. package/dist/domain/shared/errors.d.ts +1 -1
  91. package/dist/domain/shared/errors.js.map +1 -1
  92. package/dist/wiring.d.ts +6 -0
  93. package/dist/wiring.js +7 -1
  94. package/dist/wiring.js.map +1 -1
  95. package/package.json +3 -2
  96. package/src/adapters/prisma/migrations/20261010110000_network_rules_through_plugin/migration.sql +4 -0
  97. package/src/adapters/prisma/migrations/20261010130000_cleared_network_rules_on_record/migration.sql +57 -0
  98. package/src/adapters/prisma/migrations/20261010210000_declared_network_rules/migration.sql +16 -0
  99. package/src/adapters/prisma/schema.prisma +17 -0
@@ -8,6 +8,7 @@ export type * from './models/Label.js';
8
8
  export type * from './models/LabelValue.js';
9
9
  export type * from './models/ShipLabel.js';
10
10
  export type * from './models/NetworkSettings.js';
11
+ export type * from './models/DeclaredNetworkRules.js';
11
12
  export type * from './models/ReachRefusal.js';
12
13
  export type * from './models/Credential.js';
13
14
  export type * from './models/Message.js';
@@ -3,7 +3,9 @@
3
3
  * Migrate (`prisma migrate deploy`), from wherever the package is installed.
4
4
  * Prisma Migrate holds a Postgres advisory lock while it migrates: two
5
5
  * processes starting at once never migrate at once; the second waits, then
6
- * finds nothing left to apply.
6
+ * finds nothing left to apply. Prisma itself waits for that lock only 10
7
+ * seconds, so a migrate that times out on it starts again: it waits as long
8
+ * as the migrate in progress takes.
7
9
  */
8
10
  import { spawn } from 'node:child_process';
9
11
  import { createRequire } from 'node:module';
@@ -14,8 +16,21 @@ const PRISMA_CLI = createRequire(import.meta.url).resolve('prisma/build/index.js
14
16
  export class MigrationError extends Error {
15
17
  name = 'MigrationError';
16
18
  }
19
+ /** Prisma Migrate's account of a wait for its advisory lock that ran out. */
20
+ const LOCK_TIMED_OUT = 'Timed out trying to acquire a postgres advisory lock';
17
21
  /** Migrates the database. Throws a MigrationError holding Prisma's own account when it fails. */
18
22
  export async function migrateDatabase(databaseUrl) {
23
+ for (;;) {
24
+ const { code, output } = await deploy(databaseUrl);
25
+ if (code === 0) {
26
+ return;
27
+ }
28
+ if (!output.includes(LOCK_TIMED_OUT)) {
29
+ throw new MigrationError(`The database could not be migrated. Prisma Migrate says:\n${output.trim()}`);
30
+ }
31
+ }
32
+ }
33
+ async function deploy(databaseUrl) {
19
34
  const child = spawn(process.execPath, [PRISMA_CLI, 'migrate', 'deploy', '--config', 'prisma.config.ts'], {
20
35
  cwd: PACKAGE_ROOT,
21
36
  env: {
@@ -33,8 +48,6 @@ export async function migrateDatabase(databaseUrl) {
33
48
  const code = await new Promise((resolve) => {
34
49
  child.once('close', resolve);
35
50
  });
36
- if (code !== 0) {
37
- throw new MigrationError(`The database could not be migrated. Prisma Migrate says:\n${output.trim()}`);
38
- }
51
+ return { code, output };
39
52
  }
40
53
  //# sourceMappingURL=migrate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/adapters/prisma/migrate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,uHAAuH;AACvH,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1E,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;AAEnF,MAAM,OAAO,cAAe,SAAQ,KAAK;IAC9B,IAAI,GAAG,gBAAgB,CAAC;CAClC;AAED,iGAAiG;AACjG,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,WAAmB;IACvD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,kBAAkB,CAAC,EAAE;QACvG,GAAG,EAAE,YAAY;QACjB,GAAG,EAAE;YACH,GAAG,OAAO,CAAC,GAAG;YACd,YAAY,EAAE,WAAW;YACzB,iFAAiF;YACjF,kBAAkB,EAAE,GAAG;YACvB,0BAA0B,EAAE,GAAG;SAChC;QACD,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;KAClC,CAAC,CAAC;IACH,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACzE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAEzE,MAAM,IAAI,GAAG,MAAM,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,EAAE;QACxD,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IACH,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;QACf,MAAM,IAAI,cAAc,CAAC,6DAA6D,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACzG,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/adapters/prisma/migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,uHAAuH;AACvH,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1E,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;AAEnF,MAAM,OAAO,cAAe,SAAQ,KAAK;IAC9B,IAAI,GAAG,gBAAgB,CAAC;CAClC;AAED,6EAA6E;AAC7E,MAAM,cAAc,GAAG,sDAAsD,CAAC;AAE9E,iGAAiG;AACjG,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,WAAmB;IACvD,SAAS,CAAC;QACR,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,cAAc,CAAC,6DAA6D,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzG,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,WAAmB;IACvC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,kBAAkB,CAAC,EAAE;QACvG,GAAG,EAAE,YAAY;QACjB,GAAG,EAAE;YACH,GAAG,OAAO,CAAC,GAAG;YACd,YAAY,EAAE,WAAW;YACzB,iFAAiF;YACjF,kBAAkB,EAAE,GAAG;YACvB,0BAA0B,EAAE,GAAG;SAChC;QACD,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;KAClC,CAAC,CAAC;IACH,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACzE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAEzE,MAAM,IAAI,GAAG,MAAM,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,EAAE;QACxD,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1B,CAAC"}
@@ -1,4 +1,6 @@
1
- import type { NetworkSettingsRepository, ReachRefusalRepository } from '../../domain/registry/ports.js';
1
+ import type { DeclaredNetworkRulesRepository, NetworkSettingsRepository, ReachRefusalRepository } from '../../domain/registry/ports.js';
2
2
  import type { Db } from './client.js';
3
3
  export declare function createPrismaNetworkSettingsRepository(db: Db): NetworkSettingsRepository;
4
+ /** Each ship's declared rules (decision 0037): one row per declaring ship, none while it declares none. */
5
+ export declare function createPrismaDeclaredNetworkRulesRepository(db: Db): DeclaredNetworkRulesRepository;
4
6
  export declare function createPrismaReachRefusalRepository(db: Db): ReachRefusalRepository;
@@ -69,6 +69,29 @@ export function createPrismaNetworkSettingsRepository(db) {
69
69
  },
70
70
  };
71
71
  }
72
+ /** Each ship's declared rules (decision 0037): one row per declaring ship, none while it declares none. */
73
+ export function createPrismaDeclaredNetworkRulesRepository(db) {
74
+ const declaredOf = (row) => ({
75
+ fleetId: idSchema('fleet').parse(row.fleetId),
76
+ shipId: idSchema('ship').parse(row.shipId),
77
+ rules: z.array(networkRuleSchema).parse(row.rules),
78
+ });
79
+ return {
80
+ list: async (fleetId) => (await db.declaredNetworkRules.findMany({ where: { fleetId }, orderBy: { shipId: 'asc' } })).map(declaredOf),
81
+ find: async (fleetId, shipId) => {
82
+ const row = await db.declaredNetworkRules.findUnique({ where: { fleetId_shipId: { fleetId, shipId } } });
83
+ return row ? declaredOf(row) : undefined;
84
+ },
85
+ save: async ({ fleetId, shipId, rules }) => {
86
+ if (rules.length === 0) {
87
+ await db.declaredNetworkRules.deleteMany({ where: { fleetId, shipId } });
88
+ return;
89
+ }
90
+ const kept = { rules: rules.map((rule) => ({ from: [...rule.from], to: [...rule.to] })) };
91
+ await db.declaredNetworkRules.upsert({ where: { fleetId_shipId: { fleetId, shipId } }, create: { fleetId, shipId, ...kept }, update: kept });
92
+ },
93
+ };
94
+ }
72
95
  export function createPrismaReachRefusalRepository(db) {
73
96
  return {
74
97
  record: async ({ id, fleetId, at, sender, recipient, settingsVersion, whilePluginUnavailable }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"network.js","sourceRoot":"","sources":["../../../src/adapters/prisma/network.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"network.js","sourceRoot":"","sources":["../../../src/adapters/prisma/network.ts"],"names":[],"mappings":"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"}
@@ -58,6 +58,7 @@ export function createPrismaFleetRepository(db) {
58
58
  await db.$executeRaw `DELETE FROM worktree_clear_requests WHERE fleet_id = ${fleetId}`;
59
59
  await db.$executeRaw `DELETE FROM network_settings WHERE fleet_id = ${fleetId}`;
60
60
  await db.$executeRaw `DELETE FROM reach_refusals WHERE fleet_id = ${fleetId}`;
61
+ await db.$executeRaw `DELETE FROM declared_network_rules WHERE fleet_id = ${fleetId}`;
61
62
  await db.$executeRaw `DELETE FROM ship_labels WHERE fleet_id = ${fleetId}`;
62
63
  await db.$executeRaw `DELETE FROM label_values WHERE fleet_id = ${fleetId}`;
63
64
  await db.$executeRaw `DELETE FROM labels WHERE fleet_id = ${fleetId}`;
@@ -275,6 +276,7 @@ export function createPrismaShipRepository(db) {
275
276
  FOR SHARE`;
276
277
  return row ? toShipFromSql(row) : undefined;
277
278
  },
279
+ listActive: async (fleetId) => (await db.ship.findMany({ where: { fleetId, retiredAt: null, kind: { not: 'viewer' } }, orderBy: { id: 'asc' } })).map(toShip),
278
280
  listActiveOfType: async (fleetId, type) => (await db.ship.findMany({ where: { fleetId, type, retiredAt: null, kind: { not: 'viewer' } }, orderBy: { id: 'asc' } })).map(toShip),
279
281
  hasActiveShipOfType: async (fleetId, type) => {
280
282
  const row = await db.ship.findFirst({ where: { fleetId, type, retiredAt: null, kind: { not: 'viewer' } }, select: { id: true } });
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/adapters/prisma/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/adapters/prisma/registry.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { CallerLookup, ConsoleSessionRepository, CredentialRepository, OperatorAccountRepository, SignInTicketRepository } from '../../domain/identity/ports.js';
2
2
  import type { DeliveryRepository, MessageRepository } from '../../domain/messaging/ports.js';
3
- import type { ClearRequestRepository, CrewRequestRepository, FleetRepository, InFlightDeliveries, InstallationRequestRepository, InstallationSettingsRepository, LabelRepository, LeaseRepository, NetworkSettingsRepository, ReachRefusalRepository, ShipRepository } from '../../domain/registry/ports.js';
3
+ import type { ClearRequestRepository, CrewRequestRepository, FleetRepository, InFlightDeliveries, InstallationRequestRepository, InstallationSettingsRepository, LabelRepository, LeaseRepository, DeclaredNetworkRulesRepository, NetworkSettingsRepository, ReachRefusalRepository, ShipRepository } from '../../domain/registry/ports.js';
4
4
  import type { Notifier } from '../../domain/shared/notifier.js';
5
5
  import type { UnitOfWork } from '../../domain/shared/unit-of-work.js';
6
6
  import type { Db, PrismaClient } from './client.js';
@@ -14,6 +14,7 @@ export interface PrismaTx {
14
14
  clearRequests: ClearRequestRepository;
15
15
  labels: LabelRepository;
16
16
  networkSettings: NetworkSettingsRepository;
17
+ declaredNetworkRules: DeclaredNetworkRulesRepository;
17
18
  reachRefusals: ReachRefusalRepository;
18
19
  inFlightDeliveries: InFlightDeliveries;
19
20
  credentials: CredentialRepository;
@@ -3,7 +3,7 @@ import { createPrismaEventLog } from './event-log.js';
3
3
  import { createPrismaCallerLookup, createPrismaConsoleSessionRepository, createPrismaCredentialRepository, createPrismaOperatorAccountRepository, createPrismaSignInTicketRepository, } from './identity.js';
4
4
  import { createPrismaInstallationRequestRepository, createPrismaInstallationSettings } from './installation.js';
5
5
  import { createPrismaDeliveryRepository, createPrismaMessageRepository } from './messaging.js';
6
- import { createPrismaNetworkSettingsRepository, createPrismaReachRefusalRepository } from './network.js';
6
+ import { createPrismaDeclaredNetworkRulesRepository, createPrismaNetworkSettingsRepository, createPrismaReachRefusalRepository } from './network.js';
7
7
  import { createPrismaClearRequestRepository, createPrismaCrewRequestRepository, createPrismaFleetRepository, createPrismaInFlightDeliveries, createPrismaLabelRepository, createPrismaLeaseRepository, createPrismaShipRepository, } from './registry.js';
8
8
  export function createPrismaTx(db) {
9
9
  return {
@@ -14,6 +14,7 @@ export function createPrismaTx(db) {
14
14
  clearRequests: createPrismaClearRequestRepository(db),
15
15
  labels: createPrismaLabelRepository(db),
16
16
  networkSettings: createPrismaNetworkSettingsRepository(db),
17
+ declaredNetworkRules: createPrismaDeclaredNetworkRulesRepository(db),
17
18
  reachRefusals: createPrismaReachRefusalRepository(db),
18
19
  inFlightDeliveries: createPrismaInFlightDeliveries(db),
19
20
  credentials: createPrismaCredentialRepository(db),
@@ -1 +1 @@
1
- {"version":3,"file":"unit-of-work.js","sourceRoot":"","sources":["../../../src/adapters/prisma/unit-of-work.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unit-of-work.js","sourceRoot":"","sources":["../../../src/adapters/prisma/unit-of-work.ts"],"names":[],"mappings":"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"}
@@ -70,7 +70,8 @@ export declare const consoleRouter: import("@trpc/server").TRPCBuiltRouter<{
70
70
  * without a login of its own. Only the cookie counts, never a crew token:
71
71
  * a ship is no operator. Says whose session it is, the operator's or a
72
72
  * viewer's, and its ship's scopes, so that service serves a viewer reads
73
- * only. Counts as console use, so the session's expiry moves as on any
73
+ * only; refuses a session a sign-in elsewhere ended saying so, as any call
74
+ * does, so that service can say so too. Counts as console use, so the session's expiry moves as on any
74
75
  * console call. A query: it comes from any origin.
75
76
  */
76
77
  session: import("@trpc/server").TRPCQueryProcedure<{
@@ -2,7 +2,7 @@ import { accountOutputSchema, consoleGuideOutputSchema, consoleNoticesOutputSche
2
2
  import { TRPCError } from '@trpc/server';
3
3
  import { deviceLabelOf } from '../http/device-label.js';
4
4
  import { guideStepsOutputOf, noticeOutputOf } from './installation.js';
5
- import { authenticatedProcedure, ConsoleRefusalDetails, consoleProcedure, okOrThrow, publicProcedure, router } from './trpc.js';
5
+ import { authenticatedProcedure, ConsoleRefusalDetails, consoleProcedure, okOrThrow, publicProcedure, refuseIfSignedInElsewhere, router } from './trpc.js';
6
6
  /**
7
7
  * Console procedures: the only ones that exist for the web app alone. They take
8
8
  * the operator's email and password once and work with the session cookie,
@@ -50,13 +50,17 @@ export const consoleRouter = router({
50
50
  * without a login of its own. Only the cookie counts, never a crew token:
51
51
  * a ship is no operator. Says whose session it is, the operator's or a
52
52
  * viewer's, and its ship's scopes, so that service serves a viewer reads
53
- * only. Counts as console use, so the session's expiry moves as on any
53
+ * only; refuses a session a sign-in elsewhere ended saying so, as any call
54
+ * does, so that service can say so too. Counts as console use, so the session's expiry moves as on any
54
55
  * console call. A query: it comes from any origin.
55
56
  */
56
57
  session: publicProcedure.output(consoleSessionOutputSchema).query(async ({ ctx }) => {
57
58
  const { sessionToken } = ctx.credentials;
58
59
  const use = sessionToken === undefined ? undefined : await ctx.useCases.authenticate.byConsoleSession(sessionToken);
59
60
  if (!use) {
61
+ if (sessionToken !== undefined) {
62
+ await refuseIfSignedInElsewhere(ctx, sessionToken);
63
+ }
60
64
  throw new TRPCError({ code: 'UNAUTHORIZED', message: 'No signed-in console session' });
61
65
  }
62
66
  const { fleetId, kind, scopes } = use.caller;
@@ -1 +1 @@
1
- {"version":3,"file":"console.js","sourceRoot":"","sources":["../../../src/adapters/trpc/console.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"console.js","sourceRoot":"","sources":["../../../src/adapters/trpc/console.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { FleetId } from '@aeolus-fleet/common';
1
+ import type { FleetId, SystemVersionOutput } from '@aeolus-fleet/common';
2
2
  import type { Authenticate } from '../../domain/identity/authenticate.js';
3
3
  import type { ReadAccount } from '../../domain/identity/read-account.js';
4
4
  import type { SetTheme } from '../../domain/identity/set-theme.js';
@@ -61,8 +61,11 @@ import type { ExplainCrewRequest } from '../../domain/registry/explain-crew-requ
61
61
  import type { Ping } from '../../domain/shared/ping.js';
62
62
  import type { ReadFleetEvents } from '../../domain/shared/read-fleet-events.js';
63
63
  import type { AssignLabel } from '../../domain/registry/assign-label.js';
64
+ import type { DeclareNetworkRules } from '../../domain/registry/declare-network-rules.js';
64
65
  import type { ChangeLabelValues } from '../../domain/registry/change-label-values.js';
65
66
  import type { DefineLabel } from '../../domain/registry/define-label.js';
67
+ import type { ExplainReach } from '../../domain/registry/explain-reach.js';
68
+ import type { ReadDeclaredNetworkRules } from '../../domain/registry/read-declared-network-rules.js';
66
69
  import type { ReadReachRefusals } from '../../domain/registry/read-reach-refusals.js';
67
70
  import type { RegisterNetworkPlugin } from '../../domain/registry/register-network-plugin.js';
68
71
  import type { SetNetworkRules } from '../../domain/registry/set-network-rules.js';
@@ -121,6 +124,9 @@ export interface UseCases {
121
124
  registerNetworkPlugin: RegisterNetworkPlugin;
122
125
  unregisterNetworkPlugin: UnregisterNetworkPlugin;
123
126
  readReachRefusals: ReadReachRefusals;
127
+ declareNetworkRules: DeclareNetworkRules;
128
+ readDeclaredNetworkRules: ReadDeclaredNetworkRules;
129
+ explainReach: ExplainReach;
124
130
  changeLabelValues: ChangeLabelValues;
125
131
  assignLabel: AssignLabel;
126
132
  unassignLabel: UnassignLabel;
@@ -197,6 +203,8 @@ export interface Context {
197
203
  log: ProcedureLog;
198
204
  /** Where ships reach the fleet, the public URL: what starting prompts and crew lines carry. */
199
205
  fleetUrl: string;
206
+ /** The versions the server process runs and its database's latest migration (null when unknown or before the first). */
207
+ readVersion: () => Promise<SystemVersionOutput>;
200
208
  fleetEvents: FleetEventWatches;
201
209
  credentials: RequestCredentials;
202
210
  /**
@@ -182,6 +182,7 @@ export declare const fleetRouter: import("@trpc/server").TRPCBuiltRouter<{
182
182
  settingsVersion: number;
183
183
  requestedAt: string;
184
184
  status: "crewing" | "running" | "restarting" | "crashed" | "releasing" | null;
185
+ isFinal: boolean;
185
186
  }[];
186
187
  meta: import("./trpc.js").ProcedureMeta;
187
188
  }>;
@@ -457,6 +458,37 @@ export declare const fleetRouter: import("@trpc/server").TRPCBuiltRouter<{
457
458
  };
458
459
  meta: import("./trpc.js").ProcedureMeta;
459
460
  }>;
461
+ /** The caller declares the network rules it needs on the labels it owns, its whole list (decision 0037). */
462
+ declareNetworkRules: import("@trpc/server").TRPCMutationProcedure<{
463
+ input: {
464
+ rules: {
465
+ from: unknown[];
466
+ to: unknown[];
467
+ }[];
468
+ };
469
+ output: {
470
+ rules: number;
471
+ };
472
+ meta: import("./trpc.js").ProcedureMeta;
473
+ }>;
474
+ /** Every ship's declared rules, for the networking plugin to add to argo's (decision 0037). */
475
+ declaredNetworkRules: import("@trpc/server").TRPCQueryProcedure<{
476
+ input: void;
477
+ output: {
478
+ shipId: `shp_${string}`;
479
+ rules: {
480
+ from: (`lbv_${string}` | {
481
+ labelId: `lbl_${string}`;
482
+ value: "*" | "#";
483
+ })[];
484
+ to: (`lbv_${string}` | {
485
+ labelId: `lbl_${string}`;
486
+ value: "*" | "#";
487
+ })[];
488
+ }[];
489
+ }[];
490
+ meta: import("./trpc.js").ProcedureMeta;
491
+ }>;
460
492
  /** The sends the network rules refused, newest first: argo's only (decision 0034). */
461
493
  reachRefusals: import("@trpc/server").TRPCQueryProcedure<{
462
494
  input: void;
@@ -504,6 +536,17 @@ export declare const fleetRouter: import("@trpc/server").TRPCBuiltRouter<{
504
536
  }[];
505
537
  meta: import("./trpc.js").ProcedureMeta;
506
538
  }>;
539
+ /** Which ships a ship reaches now, or whether it reaches one: argo's only, and never why (design on #260). */
540
+ explainReach: import("@trpc/server").TRPCQueryProcedure<{
541
+ input: {
542
+ fromShipId: unknown;
543
+ toShipId?: unknown;
544
+ };
545
+ output: {
546
+ reachableShipIds: `shp_${string}`[];
547
+ };
548
+ meta: import("./trpc.js").ProcedureMeta;
549
+ }>;
507
550
  /** One ship of the fleet, retired ones included, with when it was commissioned, crewed and retired. */
508
551
  ship: import("@trpc/server").TRPCQueryProcedure<{
509
552
  input: {
@@ -592,7 +635,7 @@ export declare const fleetRouter: import("@trpc/server").TRPCBuiltRouter<{
592
635
  output: {
593
636
  seq: number;
594
637
  id: `evt_${string}`;
595
- 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";
638
+ 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";
596
639
  occurredAt: string;
597
640
  actor: {
598
641
  id: `shp_${string}`;
@@ -840,7 +883,7 @@ export declare const fleetRouter: import("@trpc/server").TRPCBuiltRouter<{
840
883
  events: {
841
884
  seq: number;
842
885
  id: `evt_${string}`;
843
- 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";
886
+ 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";
844
887
  occurredAt: string;
845
888
  actorShipId: `shp_${string}` | null;
846
889
  shipId: `shp_${string}` | null;
@@ -868,7 +911,7 @@ export declare const fleetRouter: import("@trpc/server").TRPCBuiltRouter<{
868
911
  event: {
869
912
  seq: number;
870
913
  id: `evt_${string}`;
871
- 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";
914
+ 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";
872
915
  occurredAt: string;
873
916
  actorShipId: `shp_${string}` | null;
874
917
  shipId: `shp_${string}` | null;
@@ -1,4 +1,4 @@
1
- import { commissionShipInputSchema, commissionShipOutputSchema, dismissDeliveryInputSchema, dismissDeliveryOutputSchema, fleetEventsInputSchema, followFleetInputSchema, followFleetOutputSchema, inboxActionOutputSchema, markDoneInputSchema, markReadInputSchema, fleetLimitsOutputSchema, fleetListOutputSchema, messageInputSchema, messageOutputSchema, needsAttentionOutputSchema, operatorInboxInputSchema, operatorInboxOutputSchema, pingShipInputSchema, pingShipOutputSchema, shipDetailOutputSchema, shipInputSchema, shipMessagesOutputSchema, shipTimelineOutputSchema, getStartingPromptInputSchema, recrewShipInputSchema, releaseShipInputSchema, releaseShipOutputSchema, assignCrewInputSchema, assignCrewOutputSchema, assignedCrewRequestsOutputSchema, clearRequestsOutputSchema, clearWorktreeInputSchema, clearWorktreeOutputSchema, confirmWorktreeClearedInputSchema, confirmWorktreeClearedOutputSchema, confirmCrewReleaseInputSchema, giveBackCrewRequestInputSchema, giveBackCrewRequestOutputSchema, explainCrewRequestInputSchema, explainCrewRequestOutputSchema, confirmCrewReleaseOutputSchema, crewRequestInputSchema, crewRequestOutputSchema, reportCrewStatusInputSchema, reportCrewStatusOutputSchema, removeCrewRequestInputSchema, removeCrewRequestOutputSchema, renameShipInputSchema, renameShipOutputSchema, replyInputSchema, replyOutputSchema, resendDeliveryInputSchema, resendDeliveryOutputSchema, retireShipInputSchema, retireShipOutputSchema, startingPromptOutputSchema, assignLabelInputSchema, changeLabelValuesInputSchema, changeLabelValuesOutputSchema, defineLabelInputSchema, defineLabelOutputSchema, deleteLabelInputSchema, findLabelValueInputSchema, reachRefusalsOutputSchema, registerNetworkPluginInputSchema, setNetworkRulesInputSchema, setNetworkRulesOutputSchema, findLabelValueOutputSchema, fleetListInputSchema, labelWriteOutputSchema, labelsOutputSchema, unassignLabelInputSchema, } from '@aeolus-fleet/common';
1
+ import { commissionShipInputSchema, commissionShipOutputSchema, dismissDeliveryInputSchema, dismissDeliveryOutputSchema, fleetEventsInputSchema, followFleetInputSchema, followFleetOutputSchema, inboxActionOutputSchema, markDoneInputSchema, markReadInputSchema, fleetLimitsOutputSchema, fleetListOutputSchema, messageInputSchema, messageOutputSchema, needsAttentionOutputSchema, operatorInboxInputSchema, operatorInboxOutputSchema, pingShipInputSchema, pingShipOutputSchema, shipDetailOutputSchema, shipInputSchema, shipMessagesOutputSchema, shipTimelineOutputSchema, getStartingPromptInputSchema, recrewShipInputSchema, releaseShipInputSchema, releaseShipOutputSchema, assignCrewInputSchema, assignCrewOutputSchema, assignedCrewRequestsOutputSchema, clearRequestsOutputSchema, clearWorktreeInputSchema, clearWorktreeOutputSchema, confirmWorktreeClearedInputSchema, confirmWorktreeClearedOutputSchema, confirmCrewReleaseInputSchema, giveBackCrewRequestInputSchema, giveBackCrewRequestOutputSchema, explainCrewRequestInputSchema, explainCrewRequestOutputSchema, confirmCrewReleaseOutputSchema, crewRequestInputSchema, crewRequestOutputSchema, reportCrewStatusInputSchema, reportCrewStatusOutputSchema, removeCrewRequestInputSchema, removeCrewRequestOutputSchema, renameShipInputSchema, renameShipOutputSchema, replyInputSchema, replyOutputSchema, resendDeliveryInputSchema, resendDeliveryOutputSchema, retireShipInputSchema, retireShipOutputSchema, startingPromptOutputSchema, assignLabelInputSchema, changeLabelValuesInputSchema, changeLabelValuesOutputSchema, defineLabelInputSchema, defineLabelOutputSchema, deleteLabelInputSchema, findLabelValueInputSchema, reachRefusalsOutputSchema, explainReachInputSchema, explainReachOutputSchema, registerNetworkPluginInputSchema, setNetworkRulesInputSchema, declareNetworkRulesInputSchema, declareNetworkRulesOutputSchema, declaredNetworkRulesOutputSchema, setNetworkRulesOutputSchema, findLabelValueOutputSchema, fleetListInputSchema, labelWriteOutputSchema, labelsOutputSchema, unassignLabelInputSchema, } from '@aeolus-fleet/common';
2
2
  import { tracked } from '@trpc/server';
3
3
  import { presentStartingPrompt } from './starting-prompt-text.js';
4
4
  import { anyScopeProcedure, checkCallerStillHolds, okOrThrow, router, scopedCrewCallerProcedure, scopedProcedure } from './trpc.js';
@@ -206,7 +206,7 @@ export const fleetRouter = router({
206
206
  /** The crew requests assigned to the caller's ship: a trierarch's ships. */
207
207
  assignedCrewRequests: scopedProcedure('crew:run')
208
208
  .meta({
209
- description: ['Needs crew:run. The crew requests assigned to your ship, oldest ship first: each ship, its settings and their version, and its status.'].join(' '),
209
+ description: ['Needs crew:run. The crew requests assigned to your ship, oldest ship first: each ship, its settings and their version, its status, and whether its crew is final.'].join(' '),
210
210
  })
211
211
  .output(assignedCrewRequestsOutputSchema)
212
212
  .query(async ({ ctx }) => (await ctx.useCases.readAssignedCrewRequests(ctx.caller)).map((request) => ({ ...request, requestedAt: request.requestedAt.toISOString() }))),
@@ -356,7 +356,7 @@ export const fleetRouter = router({
356
356
  .meta({
357
357
  description: [
358
358
  "Needs labels:assign, and only the label's owner assigns it. Gives a ship one of its values, by the value's id, beside the values the ship carries.",
359
- 'Never your own ship or a retired one. A ship carries at most 20 label values (decision 0031).',
359
+ 'Any ship, your own ship included, but never a retired one. A ship carries at most 20 label values (decision 0031).',
360
360
  ].join(' '),
361
361
  })
362
362
  .input(assignLabelInputSchema)
@@ -405,10 +405,11 @@ export const fleetRouter = router({
405
405
  setNetworkRules: scopedProcedure('fleet:network')
406
406
  .meta({
407
407
  description: [
408
- "Needs fleet:network. Sets the fleet's network rules, the whole list at once: each rule lets the ships carrying every label value id in from send to the ships carrying every one in to; an empty selector matches every ship.",
408
+ "Needs fleet:network. Sets the fleet's network rules, the whole list at once: each rule lets the ships for which every term in from holds send to the ships for which every term in to holds; an empty selector matches every ship.",
409
+ 'A term is a label value id, the ship carries that value; or { labelId, value: "*" }, the ship carries any value of the label; or { labelId, value: "#" }, the ships on both sides carry the same value of the label. A "#" binds its label on both sides, each on its own, so a "#" on one side only is refused.',
409
410
  'Allow-only: with rules set, a send no rule allows is refused. argo reaches every ship and every ship reaches argo, and a ship always answers the sender of a message it received.',
410
- 'An empty list allows only those; rules null clears them, back to all-to-all. At most 200 rules, each selector at most 20 values, each once (decision 0034). Answers the new version.',
411
- "While the fleet has a networking plugin, only the plugin's ship sets them (decision 0035).",
411
+ 'An empty list allows only those; rules null clears them, back to all-to-all. At most 200 rules, each selector at most 20 terms, each once (decision 0034). Answers the new version.',
412
+ "Only the fleet's networking plugin sets them, argo included: without a registered plugin the fleet has no rules, all-to-all, and every set is refused (decision 0035).",
412
413
  ].join(' '),
413
414
  })
414
415
  .input(setNetworkRulesInputSchema)
@@ -436,6 +437,28 @@ export const fleetRouter = router({
436
437
  })
437
438
  .output(setNetworkRulesOutputSchema)
438
439
  .mutation(async ({ ctx }) => okOrThrow(await ctx.useCases.unregisterNetworkPlugin(ctx.caller))),
440
+ /** The caller declares the network rules it needs on the labels it owns, its whole list (decision 0037). */
441
+ declareNetworkRules: scopedProcedure('labels:define')
442
+ .meta({
443
+ description: [
444
+ 'Needs labels:define. Declares the network rules your ship needs, the whole list at once, replacing what you declared before; an empty list withdraws them (decision 0037).',
445
+ 'Every term of every rule must be on a label your ship owns: a label value id of it, or { labelId, value: "*" } or { labelId, value: "#" } on it; a label or value the fleet does not have is refused.',
446
+ 'You declare at most 20 rules, each as fleet.setNetworkRules takes them. Declared rules are not in force by themselves: the fleet\'s networking plugin adds them to argo\'s rules when it supplies the list. Answers how many rules you declare now.',
447
+ ].join(' '),
448
+ })
449
+ .input(declareNetworkRulesInputSchema)
450
+ .output(declareNetworkRulesOutputSchema)
451
+ .mutation(async ({ ctx, input }) => okOrThrow(await ctx.useCases.declareNetworkRules(ctx.caller, input))),
452
+ /** Every ship's declared rules, for the networking plugin to add to argo's (decision 0037). */
453
+ declaredNetworkRules: scopedProcedure('fleet:network')
454
+ .meta({
455
+ description: [
456
+ 'Needs fleet:network. The network rules the fleet\'s ships declared on the labels they own, each ship with its whole list (decision 0037).',
457
+ 'The networking plugin adds them to argo\'s rules whenever it supplies the list.',
458
+ ].join(' '),
459
+ })
460
+ .output(declaredNetworkRulesOutputSchema)
461
+ .query(async ({ ctx }) => (await ctx.useCases.readDeclaredNetworkRules(ctx.caller)).map(({ shipId, rules }) => ({ shipId, rules: rules.map((rule) => ({ from: [...rule.from], to: [...rule.to] })) }))),
439
462
  /** The sends the network rules refused, newest first: argo's only (decision 0034). */
440
463
  reachRefusals: scopedProcedure('fleet:read')
441
464
  .output(reachRefusalsOutputSchema)
@@ -449,6 +472,11 @@ export const fleetRouter = router({
449
472
  settingsVersion,
450
473
  whilePluginUnavailable,
451
474
  }))),
475
+ /** Which ships a ship reaches now, or whether it reaches one: argo's only, and never why (design on #260). */
476
+ explainReach: scopedProcedure('fleet:read')
477
+ .input(explainReachInputSchema)
478
+ .output(explainReachOutputSchema)
479
+ .query(async ({ ctx, input }) => okOrThrow(await ctx.useCases.explainReach(ctx.caller, input))),
452
480
  /** One ship of the fleet, retired ones included, with when it was commissioned, crewed and retired. */
453
481
  ship: anyScopeProcedure('fleet:read', 'crew:run')
454
482
  .meta({