@aeolus-fleet/core 0.18.0 → 0.20.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 (118) hide show
  1. package/LICENSE +201 -0
  2. package/dist/adapters/prisma/generated/browser.d.ts +25 -0
  3. package/dist/adapters/prisma/generated/client.d.ts +25 -0
  4. package/dist/adapters/prisma/generated/internal/class.d.ts +44 -0
  5. package/dist/adapters/prisma/generated/internal/class.js +4 -4
  6. package/dist/adapters/prisma/generated/internal/class.js.map +1 -1
  7. package/dist/adapters/prisma/generated/internal/prismaNamespace.d.ts +338 -1
  8. package/dist/adapters/prisma/generated/internal/prismaNamespace.js +34 -1
  9. package/dist/adapters/prisma/generated/internal/prismaNamespace.js.map +1 -1
  10. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.d.ts +37 -0
  11. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js +34 -1
  12. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
  13. package/dist/adapters/prisma/generated/models/CrewRequest.d.ts +103 -1
  14. package/dist/adapters/prisma/generated/models/Fleet.d.ts +860 -0
  15. package/dist/adapters/prisma/generated/models/Label.d.ts +1475 -0
  16. package/dist/adapters/prisma/generated/models/Label.js +2 -0
  17. package/dist/adapters/prisma/generated/models/Label.js.map +1 -0
  18. package/dist/adapters/prisma/generated/models/LabelValue.d.ts +1454 -0
  19. package/dist/adapters/prisma/generated/models/LabelValue.js +2 -0
  20. package/dist/adapters/prisma/generated/models/LabelValue.js.map +1 -0
  21. package/dist/adapters/prisma/generated/models/Ship.d.ts +1225 -70
  22. package/dist/adapters/prisma/generated/models/ShipLabel.d.ts +1431 -0
  23. package/dist/adapters/prisma/generated/models/ShipLabel.js +2 -0
  24. package/dist/adapters/prisma/generated/models/ShipLabel.js.map +1 -0
  25. package/dist/adapters/prisma/generated/models/WorktreeClearRequest.d.ts +1539 -0
  26. package/dist/adapters/prisma/generated/models/WorktreeClearRequest.js +2 -0
  27. package/dist/adapters/prisma/generated/models/WorktreeClearRequest.js.map +1 -0
  28. package/dist/adapters/prisma/generated/models.d.ts +4 -0
  29. package/dist/adapters/prisma/registry.d.ts +3 -1
  30. package/dist/adapters/prisma/registry.js +129 -9
  31. package/dist/adapters/prisma/registry.js.map +1 -1
  32. package/dist/adapters/prisma/rows.d.ts +10 -0
  33. package/dist/adapters/prisma/rows.js +41 -2
  34. package/dist/adapters/prisma/rows.js.map +1 -1
  35. package/dist/adapters/prisma/unit-of-work.d.ts +3 -1
  36. package/dist/adapters/prisma/unit-of-work.js +3 -1
  37. package/dist/adapters/prisma/unit-of-work.js.map +1 -1
  38. package/dist/adapters/trpc/console.d.ts +1 -1
  39. package/dist/adapters/trpc/context.d.ts +20 -0
  40. package/dist/adapters/trpc/fleet.d.ts +144 -8
  41. package/dist/adapters/trpc/fleet.js +149 -12
  42. package/dist/adapters/trpc/fleet.js.map +1 -1
  43. package/dist/adapters/trpc/router.d.ts +134 -8
  44. package/dist/adapters/trpc/ship-contract.js +10 -0
  45. package/dist/adapters/trpc/ship-contract.js.map +1 -1
  46. package/dist/adapters/trpc/trpc.d.ts +2 -2
  47. package/dist/adapters/trpc/trpc.js +16 -2
  48. package/dist/adapters/trpc/trpc.js.map +1 -1
  49. package/dist/domain/registry/assign-label.d.ts +32 -0
  50. package/dist/domain/registry/assign-label.js +39 -0
  51. package/dist/domain/registry/assign-label.js.map +1 -0
  52. package/dist/domain/registry/change-label-values.d.ts +33 -0
  53. package/dist/domain/registry/change-label-values.js +34 -0
  54. package/dist/domain/registry/change-label-values.js.map +1 -0
  55. package/dist/domain/registry/clear-request.d.ts +69 -0
  56. package/dist/domain/registry/clear-request.js +51 -0
  57. package/dist/domain/registry/clear-request.js.map +1 -0
  58. package/dist/domain/registry/confirm-worktree-cleared.d.ts +31 -0
  59. package/dist/domain/registry/confirm-worktree-cleared.js +30 -0
  60. package/dist/domain/registry/confirm-worktree-cleared.js.map +1 -0
  61. package/dist/domain/registry/crew-request.d.ts +9 -3
  62. package/dist/domain/registry/crew-request.js +9 -6
  63. package/dist/domain/registry/crew-request.js.map +1 -1
  64. package/dist/domain/registry/define-label.d.ts +33 -0
  65. package/dist/domain/registry/define-label.js +33 -0
  66. package/dist/domain/registry/define-label.js.map +1 -0
  67. package/dist/domain/registry/delete-label.d.ts +30 -0
  68. package/dist/domain/registry/delete-label.js +32 -0
  69. package/dist/domain/registry/delete-label.js.map +1 -0
  70. package/dist/domain/registry/find-label-value.d.ts +22 -0
  71. package/dist/domain/registry/find-label-value.js +19 -0
  72. package/dist/domain/registry/find-label-value.js.map +1 -0
  73. package/dist/domain/registry/get-ship.d.ts +1 -1
  74. package/dist/domain/registry/get-ship.js +2 -2
  75. package/dist/domain/registry/get-ship.js.map +1 -1
  76. package/dist/domain/registry/get-starting-prompt.js +3 -3
  77. package/dist/domain/registry/get-starting-prompt.js.map +1 -1
  78. package/dist/domain/registry/label.d.ts +197 -0
  79. package/dist/domain/registry/label.js +263 -0
  80. package/dist/domain/registry/label.js.map +1 -0
  81. package/dist/domain/registry/list-fleet.d.ts +13 -7
  82. package/dist/domain/registry/list-fleet.js +10 -5
  83. package/dist/domain/registry/list-fleet.js.map +1 -1
  84. package/dist/domain/registry/list-labels.d.ts +12 -0
  85. package/dist/domain/registry/list-labels.js +9 -0
  86. package/dist/domain/registry/list-labels.js.map +1 -0
  87. package/dist/domain/registry/ports.d.ts +59 -1
  88. package/dist/domain/registry/read-clear-requests.d.ts +15 -0
  89. package/dist/domain/registry/read-clear-requests.js +16 -0
  90. package/dist/domain/registry/read-clear-requests.js.map +1 -0
  91. package/dist/domain/registry/release-ship.d.ts +1 -1
  92. package/dist/domain/registry/release-ship.js +2 -2
  93. package/dist/domain/registry/release-ship.js.map +1 -1
  94. package/dist/domain/registry/report-crew-status.d.ts +6 -3
  95. package/dist/domain/registry/report-crew-status.js +11 -4
  96. package/dist/domain/registry/report-crew-status.js.map +1 -1
  97. package/dist/domain/registry/request-worktree-clear.d.ts +31 -0
  98. package/dist/domain/registry/request-worktree-clear.js +35 -0
  99. package/dist/domain/registry/request-worktree-clear.js.map +1 -0
  100. package/dist/domain/registry/retire-ship.d.ts +9 -3
  101. package/dist/domain/registry/retire-ship.js +27 -2
  102. package/dist/domain/registry/retire-ship.js.map +1 -1
  103. package/dist/domain/registry/ship.d.ts +1 -1
  104. package/dist/domain/registry/unassign-label.d.ts +30 -0
  105. package/dist/domain/registry/unassign-label.js +37 -0
  106. package/dist/domain/registry/unassign-label.js.map +1 -0
  107. package/dist/domain/shared/errors.d.ts +1 -1
  108. package/dist/domain/shared/errors.js.map +1 -1
  109. package/dist/wiring.d.ts +20 -0
  110. package/dist/wiring.js +21 -1
  111. package/dist/wiring.js.map +1 -1
  112. package/package.json +7 -5
  113. package/src/adapters/prisma/migrations/20261007020000_broad_crewing_scope_retired/migration.sql +8 -0
  114. package/src/adapters/prisma/migrations/20261007100000_labels/migration.sql +87 -0
  115. package/src/adapters/prisma/migrations/20261007110000_foreign_key_indexes/migration.sql +42 -0
  116. package/src/adapters/prisma/migrations/20261007120000_crew_status_attempt/migration.sql +4 -0
  117. package/src/adapters/prisma/migrations/20261007140000_worktree_clear_requests/migration.sql +32 -0
  118. package/src/adapters/prisma/schema.prisma +120 -0
@@ -28,7 +28,7 @@ export declare const fleetRouter: import("@trpc/server").TRPCBuiltRouter<{
28
28
  name: string;
29
29
  type: string;
30
30
  idempotencyKey: string;
31
- fleetScopes?: ("fleet:read" | "fleet:manage" | "fleet:crew" | "crew:assign" | "crew:run")[] | undefined;
31
+ fleetScopes?: ("fleet:read" | "fleet:manage" | "crew:assign" | "crew:run" | "labels:define" | "labels:assign")[] | undefined;
32
32
  note?: string | undefined;
33
33
  };
34
34
  output: {
@@ -149,6 +149,8 @@ export declare const fleetRouter: import("@trpc/server").TRPCBuiltRouter<{
149
149
  input: {
150
150
  shipId: unknown;
151
151
  status: "crewing" | "running" | "restarting" | "crashed" | "releasing";
152
+ attempt?: number | undefined;
153
+ startedAt?: string | null | undefined;
152
154
  };
153
155
  output: Record<string, never>;
154
156
  meta: import("./trpc.js").ProcedureMeta;
@@ -173,6 +175,38 @@ export declare const fleetRouter: import("@trpc/server").TRPCBuiltRouter<{
173
175
  }[];
174
176
  meta: import("./trpc.js").ProcedureMeta;
175
177
  }>;
178
+ /** Asks a trierarch to clear a worktree it kept, named by its ship and repository (decision 0032). */
179
+ clearWorktree: import("@trpc/server").TRPCMutationProcedure<{
180
+ input: {
181
+ trierarchShipId: unknown;
182
+ shipId: unknown;
183
+ repository: string;
184
+ };
185
+ output: Record<string, never>;
186
+ meta: import("./trpc.js").ProcedureMeta;
187
+ }>;
188
+ /** The pending clear requests: every trierarch's to fleet:read, the caller's own to crew:run. */
189
+ clearRequests: import("@trpc/server").TRPCQueryProcedure<{
190
+ input: void;
191
+ output: {
192
+ trierarchShipId: `shp_${string}`;
193
+ shipId: `shp_${string}`;
194
+ repository: string;
195
+ requestedBy: `shp_${string}`;
196
+ requestedAt: string;
197
+ }[];
198
+ meta: import("./trpc.js").ProcedureMeta;
199
+ }>;
200
+ /** The trierarch confirms a clear request to its ship: it removed the worktree, or kept none (decision 0032). */
201
+ confirmWorktreeCleared: import("@trpc/server").TRPCMutationProcedure<{
202
+ input: {
203
+ shipId: unknown;
204
+ repository: string;
205
+ outcome: "removed" | "not-kept";
206
+ };
207
+ output: Record<string, never>;
208
+ meta: import("./trpc.js").ProcedureMeta;
209
+ }>;
176
210
  /**
177
211
  * Gives a ship a new name, any ship but argo or a retired one. Its id,
178
212
  * history and session stay; a sender addressing the old name no longer
@@ -224,9 +258,11 @@ export declare const fleetRouter: import("@trpc/server").TRPCBuiltRouter<{
224
258
  };
225
259
  meta: import("./trpc.js").ProcedureMeta;
226
260
  }>;
227
- /** Every ship of the caller's fleet with its status and prompt state. Never a secret. */
261
+ /** Every ship of the caller's fleet with its status and prompt state, or the ships that carry the label values given. Never a secret. */
228
262
  list: import("@trpc/server").TRPCQueryProcedure<{
229
- input: void;
263
+ input: {
264
+ valueIds?: unknown[] | undefined;
265
+ } | undefined;
230
266
  output: {
231
267
  id: `shp_${string}`;
232
268
  name: string;
@@ -252,7 +288,7 @@ export declare const fleetRouter: import("@trpc/server").TRPCBuiltRouter<{
252
288
  id: string;
253
289
  statedAt: string;
254
290
  } | null;
255
- scopes: ("messages:send" | "messages:receive" | "fleet:read" | "fleet:manage" | "fleet:crew" | "crew:assign" | "crew:run")[];
291
+ scopes: ("messages:send" | "messages:receive" | "fleet:read" | "fleet:manage" | "crew:assign" | "crew:run" | "labels:define" | "labels:assign")[];
256
292
  report: {
257
293
  state: "working" | "blocked" | "idle";
258
294
  note: string | null;
@@ -272,12 +308,104 @@ export declare const fleetRouter: import("@trpc/server").TRPCBuiltRouter<{
272
308
  id: `shp_${string}`;
273
309
  name: string;
274
310
  } | null;
311
+ attempt: number;
312
+ startedAt: string | null;
275
313
  } | null;
314
+ labels: {
315
+ labelId: `lbl_${string}`;
316
+ key: string;
317
+ valueId: `lbv_${string}`;
318
+ value: string;
319
+ }[];
276
320
  awaitingCrewSince: string | null;
277
321
  retiredAt: string | null;
278
322
  }[];
279
323
  meta: import("./trpc.js").ProcedureMeta;
280
324
  }>;
325
+ /** The fleet's labels, each with its values and its owner (decision 0031). */
326
+ labels: import("@trpc/server").TRPCQueryProcedure<{
327
+ input: void;
328
+ output: {
329
+ id: `lbl_${string}`;
330
+ key: string;
331
+ values: {
332
+ id: `lbv_${string}`;
333
+ value: string;
334
+ }[];
335
+ owner: {
336
+ id: `shp_${string}`;
337
+ name: string;
338
+ };
339
+ }[];
340
+ meta: import("./trpc.js").ProcedureMeta;
341
+ }>;
342
+ /** Defines a label the caller's ship then owns (decision 0031). */
343
+ defineLabel: import("@trpc/server").TRPCMutationProcedure<{
344
+ input: {
345
+ key: string;
346
+ values: string[];
347
+ };
348
+ output: {
349
+ labelId: `lbl_${string}`;
350
+ values: {
351
+ id: `lbv_${string}`;
352
+ value: string;
353
+ }[];
354
+ };
355
+ meta: import("./trpc.js").ProcedureMeta;
356
+ }>;
357
+ /** The owner gives its label the values it has from now on. */
358
+ changeLabelValues: import("@trpc/server").TRPCMutationProcedure<{
359
+ input: {
360
+ labelId: unknown;
361
+ values: string[];
362
+ };
363
+ output: {
364
+ values: {
365
+ id: `lbv_${string}`;
366
+ value: string;
367
+ }[];
368
+ };
369
+ meta: import("./trpc.js").ProcedureMeta;
370
+ }>;
371
+ /** The owner gives a ship one of its label's values. */
372
+ assignLabel: import("@trpc/server").TRPCMutationProcedure<{
373
+ input: {
374
+ shipId: unknown;
375
+ valueId: unknown;
376
+ };
377
+ output: Record<string, never>;
378
+ meta: import("./trpc.js").ProcedureMeta;
379
+ }>;
380
+ /** The owner takes its label off a ship. */
381
+ unassignLabel: import("@trpc/server").TRPCMutationProcedure<{
382
+ input: {
383
+ shipId: unknown;
384
+ valueId: unknown;
385
+ };
386
+ output: Record<string, never>;
387
+ meta: import("./trpc.js").ProcedureMeta;
388
+ }>;
389
+ /** The owner deletes its label, freeing its key. */
390
+ deleteLabel: import("@trpc/server").TRPCMutationProcedure<{
391
+ input: {
392
+ labelId: unknown;
393
+ };
394
+ output: Record<string, never>;
395
+ meta: import("./trpc.js").ProcedureMeta;
396
+ }>;
397
+ /** The ids of a label and one of its values, by their texts. */
398
+ findLabelValue: import("@trpc/server").TRPCQueryProcedure<{
399
+ input: {
400
+ key: string;
401
+ value: string;
402
+ };
403
+ output: {
404
+ labelId: `lbl_${string}`;
405
+ valueId: `lbv_${string}`;
406
+ };
407
+ meta: import("./trpc.js").ProcedureMeta;
408
+ }>;
281
409
  /** One ship of the fleet, retired ones included, with when it was commissioned, crewed and retired. */
282
410
  ship: import("@trpc/server").TRPCQueryProcedure<{
283
411
  input: {
@@ -308,7 +436,13 @@ export declare const fleetRouter: import("@trpc/server").TRPCBuiltRouter<{
308
436
  id: string;
309
437
  statedAt: string;
310
438
  } | null;
311
- scopes: ("messages:send" | "messages:receive" | "fleet:read" | "fleet:manage" | "fleet:crew" | "crew:assign" | "crew:run")[];
439
+ scopes: ("messages:send" | "messages:receive" | "fleet:read" | "fleet:manage" | "crew:assign" | "crew:run" | "labels:define" | "labels:assign")[];
440
+ labels: {
441
+ labelId: `lbl_${string}`;
442
+ key: string;
443
+ valueId: `lbv_${string}`;
444
+ value: string;
445
+ }[];
312
446
  awaitingCrewSince: string | null;
313
447
  retiredAt: string | null;
314
448
  report: {
@@ -331,6 +465,8 @@ export declare const fleetRouter: import("@trpc/server").TRPCBuiltRouter<{
331
465
  id: `shp_${string}`;
332
466
  name: string;
333
467
  } | null;
468
+ attempt: number;
469
+ startedAt: string | null;
334
470
  settings: Record<string, import("zod").JSONType>;
335
471
  } | null;
336
472
  commissionedAt: string;
@@ -348,7 +484,7 @@ export declare const fleetRouter: import("@trpc/server").TRPCBuiltRouter<{
348
484
  output: {
349
485
  seq: number;
350
486
  id: `evt_${string}`;
351
- 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";
487
+ 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" | "LabelDefined" | "LabelValuesChanged" | "LabelRetired" | "LabelAssigned" | "LabelUnassigned" | "LabelDeleted" | "WorktreeClearRequested" | "WorktreeCleared" | "WorktreeClearRemoved";
352
488
  occurredAt: string;
353
489
  actor: {
354
490
  id: `shp_${string}`;
@@ -594,7 +730,7 @@ export declare const fleetRouter: import("@trpc/server").TRPCBuiltRouter<{
594
730
  events: {
595
731
  seq: number;
596
732
  id: `evt_${string}`;
597
- 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";
733
+ 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" | "LabelDefined" | "LabelValuesChanged" | "LabelRetired" | "LabelAssigned" | "LabelUnassigned" | "LabelDeleted" | "WorktreeClearRequested" | "WorktreeCleared" | "WorktreeClearRemoved";
598
734
  occurredAt: string;
599
735
  actorShipId: `shp_${string}` | null;
600
736
  shipId: `shp_${string}` | null;
@@ -622,7 +758,7 @@ export declare const fleetRouter: import("@trpc/server").TRPCBuiltRouter<{
622
758
  event: {
623
759
  seq: number;
624
760
  id: `evt_${string}`;
625
- 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";
761
+ 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" | "LabelDefined" | "LabelValuesChanged" | "LabelRetired" | "LabelAssigned" | "LabelUnassigned" | "LabelDeleted" | "WorktreeClearRequested" | "WorktreeCleared" | "WorktreeClearRemoved";
626
762
  occurredAt: string;
627
763
  actorShipId: `shp_${string}` | null;
628
764
  shipId: `shp_${string}` | null;
@@ -1,7 +1,15 @@
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, confirmCrewReleaseInputSchema, explainCrewRequestInputSchema, explainCrewRequestOutputSchema, confirmCrewReleaseOutputSchema, crewRequestInputSchema, crewRequestOutputSchema, reportCrewStatusInputSchema, reportCrewStatusOutputSchema, removeCrewRequestInputSchema, removeCrewRequestOutputSchema, renameShipInputSchema, renameShipOutputSchema, replyInputSchema, replyOutputSchema, resendDeliveryInputSchema, resendDeliveryOutputSchema, retireShipInputSchema, retireShipOutputSchema, startingPromptOutputSchema, } 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, 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, 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';
5
+ /** A crew request as the API answers it: its times in ISO 8601, and when its session started as `startedAt`. */
6
+ function crewRequestOutputOf(request) {
7
+ if (request === null) {
8
+ return null;
9
+ }
10
+ const { sessionStartedAt, ...rest } = request;
11
+ return { ...rest, requestedAt: request.requestedAt.toISOString(), startedAt: sessionStartedAt?.toISOString() ?? null };
12
+ }
5
13
  /** A ship's last ping as the API states it: its dates in ISO 8601. */
6
14
  function pingOutputOf(ping) {
7
15
  return ping && { state: ping.state, sentAt: ping.sentAt.toISOString(), answeredAt: ping.answeredAt?.toISOString() ?? null };
@@ -34,10 +42,10 @@ export const fleetRouter = router({
34
42
  return { ...presented, shipId, startingPrompt: startingPrompt && { ...startingPrompt, issuedAt: startingPrompt.issuedAt.toISOString() } };
35
43
  }),
36
44
  /** A new starting prompt for a ship awaiting crew. Its secret invalidates the previous one. */
37
- getStartingPrompt: anyScopeProcedure('fleet:manage', 'fleet:crew', 'crew:run')
45
+ getStartingPrompt: anyScopeProcedure('fleet:manage', 'crew:run')
38
46
  .meta({
39
47
  description: [
40
- 'Needs fleet:manage or fleet:crew, or crew:run for a ship whose crew request is assigned to yours. A new starting prompt, one crew line per harness and the secret for a ship awaiting crew; its new secret stops any earlier one working.',
48
+ 'Needs fleet:manage, or crew:run for a ship whose crew request is assigned to yours. A new starting prompt, one crew line per harness and the secret for a ship awaiting crew; its new secret stops any earlier one working.',
41
49
  ].join(' '),
42
50
  })
43
51
  .input(getStartingPromptInputSchema)
@@ -66,10 +74,10 @@ export const fleetRouter = router({
66
74
  * stop working, and what it held in flight returns to pending for the next
67
75
  * crew. Never argo; a ship awaiting crew gets a new starting prompt instead.
68
76
  */
69
- release: anyScopeProcedure('fleet:manage', 'fleet:crew', 'crew:run')
77
+ release: anyScopeProcedure('fleet:manage', 'crew:run')
70
78
  .meta({
71
79
  description: [
72
- 'Needs fleet:manage or fleet:crew, or crew:run for a ship whose crew request is assigned to yours. Frees a crewed ship from its session: its crew token and secret stop working, and what it held in flight returns to pending.',
80
+ 'Needs fleet:manage, or crew:run for a ship whose crew request is assigned to yours. Frees a crewed ship from its session: its crew token and secret stop working, and what it held in flight returns to pending.',
73
81
  'Never argo; a ship awaiting crew gets a new starting prompt instead.',
74
82
  ].join(' '),
75
83
  })
@@ -183,6 +191,45 @@ export const fleetRouter = router({
183
191
  })
184
192
  .output(assignedCrewRequestsOutputSchema)
185
193
  .query(async ({ ctx }) => (await ctx.useCases.readAssignedCrewRequests(ctx.caller)).map((request) => ({ ...request, requestedAt: request.requestedAt.toISOString() }))),
194
+ /** Asks a trierarch to clear a worktree it kept, named by its ship and repository (decision 0032). */
195
+ clearWorktree: scopedProcedure('fleet:manage')
196
+ .meta({
197
+ description: [
198
+ 'Needs fleet:manage. Asks a trierarch ship to clear the worktree it kept for a ship in a repository, named as its report names it, never a path.',
199
+ 'The request stays pending until the trierarch confirms; it is never withdrawn. Asking again for the same worktree changes nothing.',
200
+ 'At most 100 pending per trierarch.',
201
+ ].join(' '),
202
+ })
203
+ .input(clearWorktreeInputSchema)
204
+ .output(clearWorktreeOutputSchema)
205
+ .mutation(async ({ ctx, input }) => {
206
+ okOrThrow(await ctx.useCases.requestWorktreeClear(ctx.caller, input));
207
+ return {};
208
+ }),
209
+ /** The pending clear requests: every trierarch's to fleet:read, the caller's own to crew:run. */
210
+ clearRequests: anyScopeProcedure('fleet:read', 'crew:run')
211
+ .meta({
212
+ description: [
213
+ "Needs fleet:read or crew:run. The pending clear requests: with fleet:read every trierarch's, with crew:run those to your ship.",
214
+ 'Each names the trierarch, the worktree by its ship and repository, who asked and when.',
215
+ ].join(' '),
216
+ })
217
+ .output(clearRequestsOutputSchema)
218
+ .query(async ({ ctx }) => (await ctx.useCases.readClearRequests(ctx.caller)).map((request) => ({ ...request, requestedAt: request.requestedAt.toISOString() }))),
219
+ /** The trierarch confirms a clear request to its ship: it removed the worktree, or kept none (decision 0032). */
220
+ confirmWorktreeCleared: scopedProcedure('crew:run')
221
+ .meta({
222
+ description: [
223
+ 'Needs crew:run, for a clear request to your ship. Confirms you removed the kept worktree (removed) or kept no such worktree (not-kept);',
224
+ 'the request then goes.',
225
+ ].join(' '),
226
+ })
227
+ .input(confirmWorktreeClearedInputSchema)
228
+ .output(confirmWorktreeClearedOutputSchema)
229
+ .mutation(async ({ ctx, input }) => {
230
+ okOrThrow(await ctx.useCases.confirmWorktreeCleared(ctx.caller, input));
231
+ return {};
232
+ }),
186
233
  /**
187
234
  * Gives a ship a new name, any ship but argo or a retired one. Its id,
188
235
  * history and session stay; a sender addressing the old name no longer
@@ -223,15 +270,17 @@ export const fleetRouter = router({
223
270
  const { ships, dailyMessages } = await ctx.useCases.readFleetLimits(ctx.caller);
224
271
  return { ships, dailyMessages: { ...dailyMessages, resetsAt: dailyMessages.resetsAt.toISOString() } };
225
272
  }),
226
- /** Every ship of the caller's fleet with its status and prompt state. Never a secret. */
273
+ /** Every ship of the caller's fleet with its status and prompt state, or the ships that carry the label values given. Never a secret. */
227
274
  list: scopedProcedure('fleet:read')
228
275
  .meta({
229
276
  description: [
230
- 'Needs fleet:read. Every ship of the fleet, argo included: id, name, type, kind, status, scopes, where its session runs and in which harness, when it was last seen, its last ping, and its current model (the last its sessions stated). Never a secret.',
277
+ 'Needs fleet:read. Every ship of the fleet, argo included: id, name, type, kind, status, scopes, labels, where its session runs and in which harness, when it was last seen, its last ping, and its current model (the last its sessions stated). Never a secret.',
278
+ 'With valueIds (label value ids, from fleet_labels or fleet_findLabelValue), only the ships that carry every one of them: exact matches, combined with AND.',
231
279
  ].join(' '),
232
280
  })
281
+ .input(fleetListInputSchema)
233
282
  .output(fleetListOutputSchema)
234
- .query(async ({ ctx }) => (await ctx.useCases.listFleet(ctx.caller)).map((ship) => ({
283
+ .query(async ({ ctx, input }) => (await ctx.useCases.listFleet(ctx.caller, { valueIds: input?.valueIds })).map((ship) => ({
235
284
  ...ship,
236
285
  startingPrompt: ship.startingPrompt && {
237
286
  issuedAt: ship.startingPrompt.issuedAt.toISOString(),
@@ -240,17 +289,104 @@ export const fleetRouter = router({
240
289
  lastSeenAt: ship.lastSeenAt?.toISOString() ?? null,
241
290
  ping: pingOutputOf(ship.ping),
242
291
  scopes: [...ship.scopes],
292
+ labels: [...ship.labels],
243
293
  report: ship.report && { ...ship.report, reportedAt: ship.report.reportedAt.toISOString() },
244
- crewRequest: ship.crewRequest && { ...ship.crewRequest, requestedAt: ship.crewRequest.requestedAt.toISOString() },
294
+ crewRequest: crewRequestOutputOf(ship.crewRequest),
245
295
  model: ship.model && { id: ship.model.id, statedAt: ship.model.statedAt.toISOString() },
246
296
  awaitingCrewSince: ship.awaitingCrewSince?.toISOString() ?? null,
247
297
  retiredAt: ship.retiredAt?.toISOString() ?? null,
248
298
  }))),
299
+ /** The fleet's labels, each with its values and its owner (decision 0031). */
300
+ labels: scopedProcedure('fleet:read')
301
+ .meta({
302
+ description: ["Needs fleet:read. The fleet's labels by key: each with its id, its values with their ids, and its owner ship, by id and name."].join(' '),
303
+ })
304
+ .output(labelsOutputSchema)
305
+ .query(async ({ ctx }) => (await ctx.useCases.listLabels(ctx.caller)).map((label) => ({ ...label, values: [...label.values] }))),
306
+ /** Defines a label the caller's ship then owns (decision 0031). */
307
+ defineLabel: scopedProcedure('labels:define')
308
+ .meta({
309
+ description: [
310
+ 'Needs labels:define. Defines a label your ship then owns: a key unique in the fleet and its values, 1 to 50, each once.',
311
+ 'Keys and values are lowercase a-z, 0-9 and -, at most 63 characters (decision 0031). A key the fleet has is CONFLICT, naming its owner.',
312
+ 'Answers the label id and each value with its id: assigning and selecting take the ids. The label retires with its owner.',
313
+ ].join(' '),
314
+ })
315
+ .input(defineLabelInputSchema)
316
+ .output(defineLabelOutputSchema)
317
+ .mutation(async ({ ctx, input }) => {
318
+ const { labelId, values } = okOrThrow(await ctx.useCases.defineLabel(ctx.caller, input));
319
+ return { labelId, values: [...values] };
320
+ }),
321
+ /** The owner gives its label the values it has from now on. */
322
+ changeLabelValues: scopedProcedure('labels:define')
323
+ .meta({
324
+ description: [
325
+ "Needs labels:define, and only the label's owner changes it. Gives the label, by its id, every value it has from now on, adding and removing at once, within decision 0031's limits.",
326
+ 'A value it has keeps its id. A value ships carry is never removed: CONFLICT, naming the ships that carry it. Answers each value with its id.',
327
+ ].join(' '),
328
+ })
329
+ .input(changeLabelValuesInputSchema)
330
+ .output(changeLabelValuesOutputSchema)
331
+ .mutation(async ({ ctx, input }) => {
332
+ const { values } = okOrThrow(await ctx.useCases.changeLabelValues(ctx.caller, input));
333
+ return { values: [...values] };
334
+ }),
335
+ /** The owner gives a ship one of its label's values. */
336
+ assignLabel: scopedProcedure('labels:assign')
337
+ .meta({
338
+ description: [
339
+ "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.",
340
+ 'Never your own ship or a retired one. A ship carries at most 20 label values (decision 0031).',
341
+ ].join(' '),
342
+ })
343
+ .input(assignLabelInputSchema)
344
+ .output(labelWriteOutputSchema)
345
+ .mutation(async ({ ctx, input }) => {
346
+ okOrThrow(await ctx.useCases.assignLabel(ctx.caller, input));
347
+ return {};
348
+ }),
349
+ /** The owner takes its label off a ship. */
350
+ unassignLabel: scopedProcedure('labels:assign')
351
+ .meta({
352
+ description: ["Needs labels:assign, and only the label's owner unassigns it. Takes one of its values off a ship, by the value's id; a ship that does not carry it changes nothing."].join(' '),
353
+ })
354
+ .input(unassignLabelInputSchema)
355
+ .output(labelWriteOutputSchema)
356
+ .mutation(async ({ ctx, input }) => {
357
+ okOrThrow(await ctx.useCases.unassignLabel(ctx.caller, input));
358
+ return {};
359
+ }),
360
+ /** The owner deletes its label, freeing its key. */
361
+ deleteLabel: scopedProcedure('labels:define')
362
+ .meta({
363
+ description: [
364
+ "Needs labels:define, and only the label's owner deletes it. Deletes the label, by its id, with its values, freeing its key.",
365
+ 'A label any ship carries a value of is never deleted: CONFLICT, naming the ships that carry it.',
366
+ ].join(' '),
367
+ })
368
+ .input(deleteLabelInputSchema)
369
+ .output(labelWriteOutputSchema)
370
+ .mutation(async ({ ctx, input }) => {
371
+ okOrThrow(await ctx.useCases.deleteLabel(ctx.caller, input));
372
+ return {};
373
+ }),
374
+ /** The ids of a label and one of its values, by their texts. */
375
+ findLabelValue: scopedProcedure('fleet:read')
376
+ .meta({
377
+ description: [
378
+ 'Needs fleet:read. The label id and the value id for a key and a value as people write them (os, macos): both lowercased, then matched exactly.',
379
+ 'Assigning and selecting take the ids. A key or value the fleet does not have is NOT_FOUND.',
380
+ ].join(' '),
381
+ })
382
+ .input(findLabelValueInputSchema)
383
+ .output(findLabelValueOutputSchema)
384
+ .query(async ({ ctx, input }) => okOrThrow(await ctx.useCases.findLabelValue(ctx.caller, input))),
249
385
  /** One ship of the fleet, retired ones included, with when it was commissioned, crewed and retired. */
250
- ship: anyScopeProcedure('fleet:read', 'fleet:crew', 'crew:run')
386
+ ship: anyScopeProcedure('fleet:read', 'crew:run')
251
387
  .meta({
252
388
  description: [
253
- 'Needs fleet:read or fleet:crew, or crew:run for a ship whose crew request is assigned to yours. One ship of the fleet, retired ones included: as fleet_list shows it, plus when it was commissioned, crewed and retired, and its open and in-flight deliveries.',
389
+ 'Needs fleet:read, or crew:run for a ship whose crew request is assigned to yours. One ship of the fleet, retired ones included: as fleet_list shows it, plus when it was commissioned, crewed and retired, and its open and in-flight deliveries.',
254
390
  ].join(' '),
255
391
  })
256
392
  .input(shipInputSchema)
@@ -266,8 +402,9 @@ export const fleetRouter = router({
266
402
  lastSeenAt: ship.lastSeenAt?.toISOString() ?? null,
267
403
  ping: pingOutputOf(ship.ping),
268
404
  scopes: [...ship.scopes],
405
+ labels: [...ship.labels],
269
406
  report: ship.report && { ...ship.report, reportedAt: ship.report.reportedAt.toISOString() },
270
- crewRequest: ship.crewRequest && { ...ship.crewRequest, requestedAt: ship.crewRequest.requestedAt.toISOString() },
407
+ crewRequest: crewRequestOutputOf(ship.crewRequest),
271
408
  model: ship.model && { id: ship.model.id, statedAt: ship.model.statedAt.toISOString() },
272
409
  awaitingCrewSince: ship.awaitingCrewSince?.toISOString() ?? null,
273
410
  commissionedAt: ship.commissionedAt.toISOString(),
@@ -1 +1 @@
1
- {"version":3,"file":"fleet.js","sourceRoot":"","sources":["../../../src/adapters/trpc/fleet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fleet.js","sourceRoot":"","sources":["../../../src/adapters/trpc/fleet.ts"],"names":[],"mappings":"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"}