@aeolus-fleet/core 0.20.2 → 0.20.3

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 (49) hide show
  1. package/dist/adapters/prisma/generated/browser.d.ts +5 -0
  2. package/dist/adapters/prisma/generated/client.d.ts +5 -0
  3. package/dist/adapters/prisma/generated/internal/class.d.ts +11 -0
  4. package/dist/adapters/prisma/generated/internal/class.js +4 -4
  5. package/dist/adapters/prisma/generated/internal/class.js.map +1 -1
  6. package/dist/adapters/prisma/generated/internal/prismaNamespace.d.ts +86 -1
  7. package/dist/adapters/prisma/generated/internal/prismaNamespace.js +9 -0
  8. package/dist/adapters/prisma/generated/internal/prismaNamespace.js.map +1 -1
  9. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.d.ts +10 -0
  10. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js +9 -0
  11. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
  12. package/dist/adapters/prisma/generated/models/CrewRequest.d.ts +149 -0
  13. package/dist/adapters/prisma/generated/models/CrewRequestGiveBack.d.ts +1468 -0
  14. package/dist/adapters/prisma/generated/models/CrewRequestGiveBack.js +2 -0
  15. package/dist/adapters/prisma/generated/models/CrewRequestGiveBack.js.map +1 -0
  16. package/dist/adapters/prisma/generated/models/Fleet.d.ts +235 -0
  17. package/dist/adapters/prisma/generated/models/Ship.d.ts +255 -0
  18. package/dist/adapters/prisma/generated/models.d.ts +1 -0
  19. package/dist/adapters/prisma/registry.js +17 -5
  20. package/dist/adapters/prisma/registry.js.map +1 -1
  21. package/dist/adapters/prisma/rows.js +10 -1
  22. package/dist/adapters/prisma/rows.js.map +1 -1
  23. package/dist/adapters/trpc/context.d.ts +2 -0
  24. package/dist/adapters/trpc/fleet.d.ts +31 -3
  25. package/dist/adapters/trpc/fleet.js +22 -3
  26. package/dist/adapters/trpc/fleet.js.map +1 -1
  27. package/dist/adapters/trpc/router.d.ts +30 -3
  28. package/dist/adapters/trpc/ship-contract.js +1 -0
  29. package/dist/adapters/trpc/ship-contract.js.map +1 -1
  30. package/dist/adapters/trpc/trpc.js +2 -0
  31. package/dist/adapters/trpc/trpc.js.map +1 -1
  32. package/dist/domain/registry/crew-request.d.ts +32 -0
  33. package/dist/domain/registry/crew-request.js +53 -0
  34. package/dist/domain/registry/crew-request.js.map +1 -1
  35. package/dist/domain/registry/give-back-crew-request.d.ts +35 -0
  36. package/dist/domain/registry/give-back-crew-request.js +44 -0
  37. package/dist/domain/registry/give-back-crew-request.js.map +1 -0
  38. package/dist/domain/registry/list-fleet.d.ts +3 -1
  39. package/dist/domain/registry/list-fleet.js +2 -1
  40. package/dist/domain/registry/list-fleet.js.map +1 -1
  41. package/dist/domain/registry/ports.d.ts +10 -0
  42. package/dist/domain/shared/errors.d.ts +1 -1
  43. package/dist/domain/shared/errors.js.map +1 -1
  44. package/dist/wiring.d.ts +2 -0
  45. package/dist/wiring.js +2 -0
  46. package/dist/wiring.js.map +1 -1
  47. package/package.json +2 -2
  48. package/src/adapters/prisma/migrations/20261009090000_crew_request_give_backs/migration.sql +26 -0
  49. package/src/adapters/prisma/schema.prisma +21 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aeolus-fleet/core",
3
- "version": "0.20.2",
3
+ "version": "0.20.3",
4
4
  "description": "Aeolus server: the tRPC API and the fleet domain on Postgres.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -42,7 +42,7 @@
42
42
  "postpack": "rm LICENSE"
43
43
  },
44
44
  "dependencies": {
45
- "@aeolus-fleet/common": "0.20.2",
45
+ "@aeolus-fleet/common": "0.20.3",
46
46
  "@fastify/websocket": "^11.3.1",
47
47
  "@modelcontextprotocol/server": "^2.3.0",
48
48
  "@prisma/adapter-pg": "^7.10.0",
@@ -0,0 +1,26 @@
1
+ -- A trierarch that gave a crew request back before its crew was final (#382),
2
+ -- one per request and trierarch, cleared on every new settings version.
3
+ -- Every foreign key leads an index.
4
+ -- CreateTable
5
+ CREATE TABLE "crew_request_give_backs" (
6
+ "fleet_id" TEXT NOT NULL,
7
+ "ship_id" TEXT NOT NULL,
8
+ "trierarch_ship_id" TEXT NOT NULL,
9
+ "settings_version" INTEGER NOT NULL,
10
+ "reason" TEXT NOT NULL,
11
+ "given_back_at" TIMESTAMPTZ(3) NOT NULL,
12
+
13
+ CONSTRAINT "crew_request_give_backs_pkey" PRIMARY KEY ("fleet_id","ship_id","trierarch_ship_id")
14
+ );
15
+
16
+ -- CreateIndex
17
+ CREATE INDEX "crew_request_give_backs_fleet_id_trierarch_ship_id_idx" ON "crew_request_give_backs"("fleet_id", "trierarch_ship_id");
18
+
19
+ -- AddForeignKey
20
+ ALTER TABLE "crew_request_give_backs" ADD CONSTRAINT "crew_request_give_backs_fleet_id_fkey" FOREIGN KEY ("fleet_id") REFERENCES "fleets"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
21
+
22
+ -- AddForeignKey
23
+ ALTER TABLE "crew_request_give_backs" ADD CONSTRAINT "crew_request_give_backs_fleet_id_ship_id_fkey" FOREIGN KEY ("fleet_id", "ship_id") REFERENCES "crew_requests"("fleet_id", "ship_id") ON DELETE RESTRICT ON UPDATE CASCADE;
24
+
25
+ -- AddForeignKey
26
+ ALTER TABLE "crew_request_give_backs" ADD CONSTRAINT "crew_request_give_backs_fleet_id_trierarch_ship_id_fkey" FOREIGN KEY ("fleet_id", "trierarch_ship_id") REFERENCES "ships"("fleet_id", "id") ON DELETE RESTRICT ON UPDATE CASCADE;
@@ -46,6 +46,7 @@ model Fleet {
46
46
  ships Ship[]
47
47
  leases Lease[]
48
48
  crewRequests CrewRequest[]
49
+ crewRequestGiveBacks CrewRequestGiveBack[]
49
50
  clearRequests WorktreeClearRequest[]
50
51
  labels Label[]
51
52
  labelValues LabelValue[]
@@ -101,6 +102,7 @@ model Ship {
101
102
  events Event[] @relation("EventShip")
102
103
  crewRequest CrewRequest? @relation("CrewRequestShip")
103
104
  assignedCrews CrewRequest[] @relation("CrewRequestAssignee")
105
+ givenBackCrews CrewRequestGiveBack[] @relation("CrewRequestGiveBackTrierarch")
104
106
  clearRequests WorktreeClearRequest[] @relation("WorktreeClearRequestTrierarch")
105
107
  clearedWorktrees WorktreeClearRequest[] @relation("WorktreeClearRequestShip")
106
108
  requestedClears WorktreeClearRequest[] @relation("WorktreeClearRequestRequester")
@@ -212,6 +214,7 @@ model CrewRequest {
212
214
  fleet Fleet @relation(fields: [fleetId], references: [id])
213
215
  ship Ship @relation("CrewRequestShip", fields: [fleetId, shipId], references: [fleetId, id])
214
216
  assignee Ship? @relation("CrewRequestAssignee", fields: [fleetId, assignedTo], references: [fleetId, id])
217
+ givenBack CrewRequestGiveBack[]
215
218
 
216
219
  @@unique([fleetId, shipId])
217
220
  /// A trierarch reads the requests assigned to it.
@@ -219,6 +222,24 @@ model CrewRequest {
219
222
  @@map("crew_requests")
220
223
  }
221
224
 
225
+ /// A trierarch that gave a crew request back before its crew was final (#382): one per trierarch, until the next settings version.
226
+ model CrewRequestGiveBack {
227
+ fleetId String @map("fleet_id")
228
+ shipId String @map("ship_id")
229
+ trierarchShipId String @map("trierarch_ship_id")
230
+ settingsVersion Int @map("settings_version")
231
+ reason String
232
+ givenBackAt DateTime @map("given_back_at") @db.Timestamptz(3)
233
+
234
+ fleet Fleet @relation(fields: [fleetId], references: [id])
235
+ crewRequest CrewRequest @relation(fields: [fleetId, shipId], references: [fleetId, shipId])
236
+ trierarch Ship @relation("CrewRequestGiveBackTrierarch", fields: [fleetId, trierarchShipId], references: [fleetId, id])
237
+
238
+ @@id([fleetId, shipId, trierarchShipId])
239
+ @@index([fleetId, trierarchShipId])
240
+ @@map("crew_request_give_backs")
241
+ }
242
+
222
243
  /// A pending request that a trierarch clear a worktree it kept (decision 0032),
223
244
  /// named by the ship it belonged to and its repository: never a path.
224
245
  model WorktreeClearRequest {