@aeolus-fleet/core 0.25.3 → 0.26.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 (60) hide show
  1. package/dist/adapters/prisma/health.d.ts +3 -0
  2. package/dist/adapters/prisma/health.js +122 -0
  3. package/dist/adapters/prisma/health.js.map +1 -0
  4. package/dist/adapters/prisma/history.js +7 -5
  5. package/dist/adapters/prisma/history.js.map +1 -1
  6. package/dist/adapters/prisma/installation.js +2 -1
  7. package/dist/adapters/prisma/installation.js.map +1 -1
  8. package/dist/adapters/trpc/context.d.ts +2 -0
  9. package/dist/adapters/trpc/fleet.d.ts +50 -0
  10. package/dist/adapters/trpc/fleet.js +6 -1
  11. package/dist/adapters/trpc/fleet.js.map +1 -1
  12. package/dist/adapters/trpc/health.d.ts +39 -0
  13. package/dist/adapters/trpc/health.js +14 -0
  14. package/dist/adapters/trpc/health.js.map +1 -0
  15. package/dist/adapters/trpc/installation.d.ts +76 -0
  16. package/dist/adapters/trpc/installation.js +8 -2
  17. package/dist/adapters/trpc/installation.js.map +1 -1
  18. package/dist/adapters/trpc/router.d.ts +126 -0
  19. package/dist/adapters/trpc/ship-protocol.js +10 -9
  20. package/dist/adapters/trpc/ship-protocol.js.map +1 -1
  21. package/dist/adapters/trpc/ship.d.ts +1 -0
  22. package/dist/domain/messaging/delivery.d.ts +3 -1
  23. package/dist/domain/messaging/delivery.js +4 -3
  24. package/dist/domain/messaging/delivery.js.map +1 -1
  25. package/dist/domain/messaging/overdue.d.ts +7 -0
  26. package/dist/domain/messaging/overdue.js +9 -4
  27. package/dist/domain/messaging/overdue.js.map +1 -1
  28. package/dist/domain/messaging/public.d.ts +1 -1
  29. package/dist/domain/messaging/public.js +3 -1
  30. package/dist/domain/messaging/public.js.map +1 -1
  31. package/dist/domain/messaging/report-not-handled.d.ts +3 -1
  32. package/dist/domain/messaging/report-not-handled.js +2 -1
  33. package/dist/domain/messaging/report-not-handled.js.map +1 -1
  34. package/dist/domain/messaging/report-turn-end.d.ts +1 -0
  35. package/dist/domain/messaging/report-turn-end.js +2 -2
  36. package/dist/domain/messaging/report-turn-end.js.map +1 -1
  37. package/dist/domain/registry/get-installation-fleet.d.ts +2 -0
  38. package/dist/domain/registry/get-installation-fleet.js +5 -1
  39. package/dist/domain/registry/get-installation-fleet.js.map +1 -1
  40. package/dist/domain/registry/installation-fleet.d.ts +4 -1
  41. package/dist/domain/registry/installation-fleet.js +2 -2
  42. package/dist/domain/registry/installation-fleet.js.map +1 -1
  43. package/dist/domain/registry/list-installation-fleets.d.ts +4 -2
  44. package/dist/domain/registry/list-installation-fleets.js +5 -3
  45. package/dist/domain/registry/list-installation-fleets.js.map +1 -1
  46. package/dist/domain/shared/health.d.ts +84 -0
  47. package/dist/domain/shared/health.js +59 -0
  48. package/dist/domain/shared/health.js.map +1 -0
  49. package/dist/domain/shared/history.d.ts +4 -0
  50. package/dist/domain/shared/history.js.map +1 -1
  51. package/dist/domain/shared/read-health.d.ts +14 -0
  52. package/dist/domain/shared/read-health.js +11 -0
  53. package/dist/domain/shared/read-health.js.map +1 -0
  54. package/dist/domain/shared/stuck.d.ts +104 -0
  55. package/dist/domain/shared/stuck.js +187 -0
  56. package/dist/domain/shared/stuck.js.map +1 -0
  57. package/dist/wiring.d.ts +2 -0
  58. package/dist/wiring.js +15 -2
  59. package/dist/wiring.js.map +1 -1
  60. package/package.json +2 -2
@@ -0,0 +1,14 @@
1
+ /** The fleet's health with its times as ISO strings, as `healthOutputSchema` describes it. */
2
+ export function describedHealth(health) {
3
+ return {
4
+ stuck: health.stuck.map(({ place, oldestSince, deliveries, ...counted }) => ({
5
+ ...counted,
6
+ oldestSince: oldestSince.toISOString(),
7
+ deliveries: deliveries.map(({ since, ...delivery }) => ({ ...delivery, since: since.toISOString() })),
8
+ place: place.kind === 'type' ? place : { ...place, machine: place.machine === null ? null : { ...place.machine, lastSeenAt: place.machine.lastSeenAt?.toISOString() ?? null } },
9
+ })),
10
+ stuckPerHour: health.stuckPerHour.map(({ at, count }) => ({ at: at.toISOString(), count })),
11
+ acknowledged: { ...health.acknowledged, perHour: health.acknowledged.perHour.map(({ at, count }) => ({ at: at.toISOString(), count })) },
12
+ };
13
+ }
14
+ //# sourceMappingURL=health.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../../../src/adapters/trpc/health.ts"],"names":[],"mappings":"AAEA,8FAA8F;AAC9F,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3E,GAAG,OAAO;YACV,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE;YACtC,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACrG,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE,EAAE;SAChL,CAAC,CAAC;QACH,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3F,YAAY,EAAE,EAAE,GAAG,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE;KACzI,CAAC;AACJ,CAAC"}
@@ -326,6 +326,44 @@ export declare const installationRouter: import("@trpc/server").TRPCBuiltRouter<
326
326
  };
327
327
  };
328
328
  health: {
329
+ stuck: {
330
+ cause: "undeliverable" | "noShipCanTake" | "waitingForCrew" | "stalledInFlight";
331
+ place: {
332
+ kind: "ship";
333
+ ship: {
334
+ id: `shp_${string}`;
335
+ name: string;
336
+ };
337
+ machine: {
338
+ id: `shp_${string}`;
339
+ name: string;
340
+ lastSeenAt: string | null;
341
+ } | null;
342
+ } | {
343
+ kind: "type";
344
+ type: string;
345
+ };
346
+ count: number;
347
+ oldestSince: string;
348
+ deliveries: {
349
+ deliveryId: `dlv_${string}`;
350
+ messageId: `msg_${string}`;
351
+ state: "pending" | "received" | "handed" | "undeliverable";
352
+ since: string;
353
+ }[];
354
+ }[];
355
+ stuckPerHour: {
356
+ at: string;
357
+ count: number;
358
+ }[];
359
+ acknowledged: {
360
+ count: number;
361
+ medianMs: number | null;
362
+ perHour: {
363
+ at: string;
364
+ count: number;
365
+ }[];
366
+ };
329
367
  oldestPendingAt: string | null;
330
368
  oldestInFlightAt: string | null;
331
369
  noShipCanTake: number;
@@ -375,6 +413,44 @@ export declare const installationRouter: import("@trpc/server").TRPCBuiltRouter<
375
413
  };
376
414
  };
377
415
  health: {
416
+ stuck: {
417
+ cause: "undeliverable" | "noShipCanTake" | "waitingForCrew" | "stalledInFlight";
418
+ place: {
419
+ kind: "ship";
420
+ ship: {
421
+ id: `shp_${string}`;
422
+ name: string;
423
+ };
424
+ machine: {
425
+ id: `shp_${string}`;
426
+ name: string;
427
+ lastSeenAt: string | null;
428
+ } | null;
429
+ } | {
430
+ kind: "type";
431
+ type: string;
432
+ };
433
+ count: number;
434
+ oldestSince: string;
435
+ deliveries: {
436
+ deliveryId: `dlv_${string}`;
437
+ messageId: `msg_${string}`;
438
+ state: "pending" | "received" | "handed" | "undeliverable";
439
+ since: string;
440
+ }[];
441
+ }[];
442
+ stuckPerHour: {
443
+ at: string;
444
+ count: number;
445
+ }[];
446
+ acknowledged: {
447
+ count: number;
448
+ medianMs: number | null;
449
+ perHour: {
450
+ at: string;
451
+ count: number;
452
+ }[];
453
+ };
378
454
  oldestPendingAt: string | null;
379
455
  oldestInFlightAt: string | null;
380
456
  noShipCanTake: number;
@@ -2,6 +2,7 @@ import { timingSafeEqual } from 'node:crypto';
2
2
  import { installationFleetSchema, installationFleetsCreateInputSchema, installationFleetsCreateOutputSchema, installationFleetsDeleteInputSchema, installationFleetsDeleteOutputSchema, installationFleetsGetInputSchema, installationFleetsListOutputSchema, installationFleetLimitsSchema, installationFleetsSetLimitsInputSchema, installationOperatorsIssueSignInTicketInputSchema, installationOperatorsIssueSignInTicketOutputSchema, installationSettingsSchema, guideOutputSchema, noticesOutputSchema, setGuideInputSchema, setNoticesInputSchema, } from '@aeolus-fleet/common';
3
3
  import { TRPCError } from '@trpc/server';
4
4
  import { okOrThrow, publicProcedure, router } from './trpc.js';
5
+ import { describedHealth } from './health.js';
5
6
  /** The header a hosting service presents the installation token in: apart from a crew token and a console session. */
6
7
  export const INSTALLATION_TOKEN_HEADER = 'x-aeolus-installation-token';
7
8
  /** Whether the presented token is the configured one, compared in constant time. */
@@ -28,12 +29,17 @@ const installationProcedure = publicProcedure.use(({ ctx, next }) => {
28
29
  return next();
29
30
  });
30
31
  function described(fleet) {
31
- const { oldestPendingAt, oldestInFlightAt } = fleet.health;
32
+ const { oldestPendingAt, oldestInFlightAt, stuck, stuckPerHour, acknowledged, ...figures } = fleet.health;
32
33
  return {
33
34
  ...fleet,
34
35
  createdAt: fleet.createdAt.toISOString(),
35
36
  lastActivityAt: fleet.lastActivityAt?.toISOString() ?? null,
36
- health: { ...fleet.health, oldestPendingAt: oldestPendingAt?.toISOString() ?? null, oldestInFlightAt: oldestInFlightAt?.toISOString() ?? null },
37
+ health: {
38
+ ...figures,
39
+ oldestPendingAt: oldestPendingAt?.toISOString() ?? null,
40
+ oldestInFlightAt: oldestInFlightAt?.toISOString() ?? null,
41
+ ...describedHealth({ stuck, stuckPerHour, acknowledged }),
42
+ },
37
43
  };
38
44
  }
39
45
  /** A guide's steps as the API answers them. */
@@ -1 +1 @@
1
- {"version":3,"file":"installation.js","sourceRoot":"","sources":["../../../src/adapters/trpc/installation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"installation.js","sourceRoot":"","sources":["../../../src/adapters/trpc/installation.ts"],"names":[],"mappings":"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"}
@@ -978,6 +978,11 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
978
978
  attempts: number;
979
979
  isPushed: boolean;
980
980
  since: string;
981
+ reason: string | null;
982
+ ship: {
983
+ id: `shp_${string}`;
984
+ name: string;
985
+ };
981
986
  message: {
982
987
  id: `msg_${string}`;
983
988
  sender: {
@@ -1070,6 +1075,50 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1070
1075
  }[];
1071
1076
  meta: import("./trpc.js").ProcedureMeta;
1072
1077
  }>;
1078
+ health: import("@trpc/server").TRPCQueryProcedure<{
1079
+ input: void;
1080
+ output: {
1081
+ stuck: {
1082
+ cause: "undeliverable" | "noShipCanTake" | "waitingForCrew" | "stalledInFlight";
1083
+ place: {
1084
+ kind: "ship";
1085
+ ship: {
1086
+ id: `shp_${string}`;
1087
+ name: string;
1088
+ };
1089
+ machine: {
1090
+ id: `shp_${string}`;
1091
+ name: string;
1092
+ lastSeenAt: string | null;
1093
+ } | null;
1094
+ } | {
1095
+ kind: "type";
1096
+ type: string;
1097
+ };
1098
+ count: number;
1099
+ oldestSince: string;
1100
+ deliveries: {
1101
+ deliveryId: `dlv_${string}`;
1102
+ messageId: `msg_${string}`;
1103
+ state: "pending" | "received" | "handed" | "undeliverable";
1104
+ since: string;
1105
+ }[];
1106
+ }[];
1107
+ stuckPerHour: {
1108
+ at: string;
1109
+ count: number;
1110
+ }[];
1111
+ acknowledged: {
1112
+ count: number;
1113
+ medianMs: number | null;
1114
+ perHour: {
1115
+ at: string;
1116
+ count: number;
1117
+ }[];
1118
+ };
1119
+ };
1120
+ meta: import("./trpc.js").ProcedureMeta;
1121
+ }>;
1073
1122
  dismiss: import("@trpc/server").TRPCMutationProcedure<{
1074
1123
  input: {
1075
1124
  deliveryId: unknown;
@@ -1494,6 +1543,44 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1494
1543
  };
1495
1544
  };
1496
1545
  health: {
1546
+ stuck: {
1547
+ cause: "undeliverable" | "noShipCanTake" | "waitingForCrew" | "stalledInFlight";
1548
+ place: {
1549
+ kind: "ship";
1550
+ ship: {
1551
+ id: `shp_${string}`;
1552
+ name: string;
1553
+ };
1554
+ machine: {
1555
+ id: `shp_${string}`;
1556
+ name: string;
1557
+ lastSeenAt: string | null;
1558
+ } | null;
1559
+ } | {
1560
+ kind: "type";
1561
+ type: string;
1562
+ };
1563
+ count: number;
1564
+ oldestSince: string;
1565
+ deliveries: {
1566
+ deliveryId: `dlv_${string}`;
1567
+ messageId: `msg_${string}`;
1568
+ state: "pending" | "received" | "handed" | "undeliverable";
1569
+ since: string;
1570
+ }[];
1571
+ }[];
1572
+ stuckPerHour: {
1573
+ at: string;
1574
+ count: number;
1575
+ }[];
1576
+ acknowledged: {
1577
+ count: number;
1578
+ medianMs: number | null;
1579
+ perHour: {
1580
+ at: string;
1581
+ count: number;
1582
+ }[];
1583
+ };
1497
1584
  oldestPendingAt: string | null;
1498
1585
  oldestInFlightAt: string | null;
1499
1586
  noShipCanTake: number;
@@ -1542,6 +1629,44 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1542
1629
  };
1543
1630
  };
1544
1631
  health: {
1632
+ stuck: {
1633
+ cause: "undeliverable" | "noShipCanTake" | "waitingForCrew" | "stalledInFlight";
1634
+ place: {
1635
+ kind: "ship";
1636
+ ship: {
1637
+ id: `shp_${string}`;
1638
+ name: string;
1639
+ };
1640
+ machine: {
1641
+ id: `shp_${string}`;
1642
+ name: string;
1643
+ lastSeenAt: string | null;
1644
+ } | null;
1645
+ } | {
1646
+ kind: "type";
1647
+ type: string;
1648
+ };
1649
+ count: number;
1650
+ oldestSince: string;
1651
+ deliveries: {
1652
+ deliveryId: `dlv_${string}`;
1653
+ messageId: `msg_${string}`;
1654
+ state: "pending" | "received" | "handed" | "undeliverable";
1655
+ since: string;
1656
+ }[];
1657
+ }[];
1658
+ stuckPerHour: {
1659
+ at: string;
1660
+ count: number;
1661
+ }[];
1662
+ acknowledged: {
1663
+ count: number;
1664
+ medianMs: number | null;
1665
+ perHour: {
1666
+ at: string;
1667
+ count: number;
1668
+ }[];
1669
+ };
1545
1670
  oldestPendingAt: string | null;
1546
1671
  oldestInFlightAt: string | null;
1547
1672
  noShipCanTake: number;
@@ -1733,6 +1858,7 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
1733
1858
  notHandled: import("@trpc/server").TRPCMutationProcedure<{
1734
1859
  input: {
1735
1860
  deliveryId: unknown;
1861
+ reason?: string | undefined;
1736
1862
  };
1737
1863
  output: Record<string, never>;
1738
1864
  meta: import("./trpc.js").ProcedureMeta;
@@ -1,4 +1,4 @@
1
- import { ANSWER_CONTENT_TYPE, NO_TERMINAL_QUESTIONS, PING_CONTENT_TYPE, QUESTION_CONTENT_TYPE, REPLACEMENT_CONTENT_TYPE, WITHDRAWAL_CONTENT_TYPE, } from '@aeolus-fleet/common';
1
+ import { ANSWER_CONTENT_TYPE, ARGO_HEADLINE_MAX_LENGTH, MARKDOWN_CONTENT_TYPE, NO_TERMINAL_QUESTIONS, PING_CONTENT_TYPE, QUESTION_CONTENT_TYPE, REPLACEMENT_CONTENT_TYPE, WITHDRAWAL_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,
@@ -15,13 +15,14 @@ export const SHIP_PROTOCOL = [
15
15
  '3. To answer, send to its senderName with inReplyTo set to its messageId.',
16
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. A question for argo is a message of content type ${QUESTION_CONTENT_TYPE}. Its payload is JSON: {"id":"<a new uuid>","title":"...","context":"...","options":[{"key":1,"label":"...","detail":"..."}],"pick":{"option":1,"why":"..."}}, with the options numbered from 1 and pick the option you would choose. argo answers with a reply to it (inReplyTo) of content type ${ANSWER_CONTENT_TYPE}, payload {"questionId":"<its uuid>","option":<a key>,"note":"..."} or a note alone. Until then you can withdraw it: send argo ${WITHDRAWAL_CONTENT_TYPE}, payload {"questionId":"<its uuid>"}. Or replace it: send argo ${REPLACEMENT_CONTENT_TYPE}, payload {"questionId":"<its uuid>","question":<the new question, with a new uuid>}.`,
18
- '6. Every send states the model you are running now.',
19
- '7. If the content is over 64 KB, send where it lives (a path, a URL, a PR link), not the content itself.',
20
- `8. A ping (${PING_CONTENT_TYPE}): call pong with its deliveryId instead of ack. Don't act on it and don't reply.`,
21
- '9. Report your status when it changes.',
22
- '10. While you wait for an answer, keep receiving. An empty receive only means nothing has arrived yet.',
23
- '11. When your work is done and you expect no answer, end your turn. Anything that arrives later waits for you.',
24
- '12. Deregister only when this session ends for good, never between tasks.',
25
- '13. LEASE_ENDED while passing your crew token: your ship was released. Stop calling the fleet and say so.',
18
+ `6. A message to argo opens with its headline: one line of at most ${String(ARGO_HEADLINE_MAX_LENGTH)} characters that names ships, never their ids. Then a blank line and the body. Send it as ${MARKDOWN_CONTENT_TYPE} when it holds lists or links.`,
19
+ '7. Every send states the model you are running now.',
20
+ '8. If the content is over 64 KB, send where it lives (a path, a URL, a PR link), not the content itself.',
21
+ `9. A ping (${PING_CONTENT_TYPE}): call pong with its deliveryId instead of ack. Don't act on it and don't reply.`,
22
+ '10. Report your status when it changes.',
23
+ '11. While you wait for an answer, keep receiving. An empty receive only means nothing has arrived yet.',
24
+ '12. When your work is done and you expect no answer, end your turn. Anything that arrives later waits for you.',
25
+ '13. Deregister only when this session ends for good, never between tasks.',
26
+ '14. LEASE_ENDED while passing your crew token: your ship was released. Stop calling the fleet and say so.',
26
27
  ].join('\n');
27
28
  //# sourceMappingURL=ship-protocol.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ship-protocol.js","sourceRoot":"","sources":["../../../src/adapters/trpc/ship-protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAE9B;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,8DAA8D;IAC9D,EAAE;IACF,sVAAsV;IACtV,oNAAoN;IACpN,2EAA2E;IAC3E,MAAM,qBAAqB,+JAA+J;IAC1L,uDAAuD,qBAAqB,qSAAqS,mBAAmB,kIAAkI,uBAAuB,mEAAmE,wBAAwB,uFAAuF;IAC/sB,qDAAqD;IACrD,0GAA0G;IAC1G,cAAc,iBAAiB,mFAAmF;IAClH,wCAAwC;IACxC,wGAAwG;IACxG,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,EACL,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAE9B;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,8DAA8D;IAC9D,EAAE;IACF,sVAAsV;IACtV,oNAAoN;IACpN,2EAA2E;IAC3E,MAAM,qBAAqB,+JAA+J;IAC1L,uDAAuD,qBAAqB,qSAAqS,mBAAmB,kIAAkI,uBAAuB,mEAAmE,wBAAwB,uFAAuF;IAC/sB,qEAAqE,MAAM,CAAC,wBAAwB,CAAC,6FAA6F,qBAAqB,gCAAgC;IACvP,qDAAqD;IACrD,0GAA0G;IAC1G,cAAc,iBAAiB,mFAAmF;IAClH,yCAAyC;IACzC,wGAAwG;IACxG,gHAAgH;IAChH,2EAA2E;IAC3E,2GAA2G;CAC5G,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
@@ -195,6 +195,7 @@ export declare const shipRouter: import("@trpc/server").TRPCBuiltRouter<{
195
195
  notHandled: import("@trpc/server").TRPCMutationProcedure<{
196
196
  input: {
197
197
  deliveryId: unknown;
198
+ reason?: string | undefined;
198
199
  };
199
200
  output: Record<string, never>;
200
201
  meta: import("./trpc.js").ProcedureMeta;
@@ -82,7 +82,8 @@ export type TurnEnd = 'handled' | 'notHandled';
82
82
  * A pushed crew reports how the turn that took an acknowledged delivery
83
83
  * ended (decision 0040): handled when it ended by itself, not handled when
84
84
  * the turn it was handed once more to died too. Either writes its event,
85
- * DeliveryHandled or DeliveryNotHandled, and keeps who it was handed to.
85
+ * DeliveryHandled or DeliveryNotHandled, and keeps who it was handed to;
86
+ * the reason the crew gave goes with the event (#847).
86
87
  * The same report again is harmless: OK, and nothing changes. A delivery not
87
88
  * acknowledged yet, or that ended the other way, is refused, so a ping not
88
89
  * answered with pong stays handed. Not handled needs the once more first.
@@ -92,6 +93,7 @@ export declare function endTurn(delivery: Delivery, report: {
92
93
  crew: CrewOfShip;
93
94
  end: TurnEnd;
94
95
  at: Date;
96
+ reason?: string;
95
97
  }): Result<{
96
98
  delivery: Delivery;
97
99
  events: NewEvent[];
@@ -161,14 +161,15 @@ function handOnceMore(delivery, handOver) {
161
161
  * A pushed crew reports how the turn that took an acknowledged delivery
162
162
  * ended (decision 0040): handled when it ended by itself, not handled when
163
163
  * the turn it was handed once more to died too. Either writes its event,
164
- * DeliveryHandled or DeliveryNotHandled, and keeps who it was handed to.
164
+ * DeliveryHandled or DeliveryNotHandled, and keeps who it was handed to;
165
+ * the reason the crew gave goes with the event (#847).
165
166
  * The same report again is harmless: OK, and nothing changes. A delivery not
166
167
  * acknowledged yet, or that ended the other way, is refused, so a ping not
167
168
  * answered with pong stays handed. Not handled needs the once more first.
168
169
  * Only the crew holding the delivery reports it.
169
170
  */
170
171
  export function endTurn(delivery, report) {
171
- const { crew, end, at } = report;
172
+ const { crew, end, at, reason } = report;
172
173
  switch (delivery.state) {
173
174
  case 'received':
174
175
  case 'handed':
@@ -198,7 +199,7 @@ export function endTurn(delivery, report) {
198
199
  shipId: crew.shipId,
199
200
  messageId: delivery.messageId,
200
201
  deliveryId: delivery.id,
201
- details: { leaseId: crew.leaseId },
202
+ details: { leaseId: crew.leaseId, ...(reason === undefined ? {} : { reason }) },
202
203
  },
203
204
  ],
204
205
  });
@@ -1 +1 @@
1
- {"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../../src/domain/messaging/delivery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../../src/domain/messaging/delivery.ts"],"names":[],"mappings":"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"}
@@ -56,5 +56,12 @@ export interface Overdue {
56
56
  * lease with no turn reported is idle since it was pushed.
57
57
  */
58
58
  export declare function overdueDelivery(crew: PushedCrew, now: Date): Overdue | undefined;
59
+ /** A pushed crew as its clocks read it: the turn its hooks last reported, and since when its lease is pushed. */
60
+ export type ClockedCrew = Pick<PushedCrew, 'turn' | 'pushedAt'>;
61
+ /** Whether the clock of a delivery waiting for a pushed crew ran out at `now`, by the rule `overdueDelivery` tells by. */
62
+ export declare function hasClockRunOut(delivery: Pick<WaitingDelivery, 'state' | 'since'>, read: {
63
+ crew: ClockedCrew;
64
+ now: Date;
65
+ }): boolean;
59
66
  /** DeliveryOverdue: the fleet told argo, as the system, that the delivery's clock ran out. */
60
67
  export declare function overdueEvent(overdue: Overdue, at: Date): NewEvent;
@@ -14,22 +14,27 @@ export const BUSY_MINUTES = 60;
14
14
  * lease with no turn reported is idle since it was pushed.
15
15
  */
16
16
  export function overdueDelivery(crew, now) {
17
- const turn = crew.turn ?? { state: 'idle', at: crew.pushedAt };
18
17
  const oldestFirst = crew.waiting.toSorted((first, second) => first.sentAt.getTime() - second.sentAt.getTime() || first.deliveryId.localeCompare(second.deliveryId));
19
18
  for (const delivery of oldestFirst) {
20
- const { clock, minutes, from } = clockOf(delivery, { turn, pushedAt: crew.pushedAt });
19
+ const { clock, minutes, from } = clockOf(delivery, crew);
21
20
  if (now.getTime() - from.getTime() >= minutes * MINUTE_MS) {
22
21
  return { fleetId: crew.fleetId, shipId: crew.shipId, leaseId: crew.leaseId, delivery, clock, minutes };
23
22
  }
24
23
  }
25
24
  return undefined;
26
25
  }
26
+ /** Whether the clock of a delivery waiting for a pushed crew ran out at `now`, by the rule `overdueDelivery` tells by. */
27
+ export function hasClockRunOut(delivery, read) {
28
+ const { minutes, from } = clockOf(delivery, read.crew);
29
+ return read.now.getTime() - from.getTime() >= minutes * MINUTE_MS;
30
+ }
27
31
  function clockOf(delivery, crew) {
32
+ const turn = crew.turn ?? { state: 'idle', at: crew.pushedAt };
28
33
  if (delivery.state === 'handed') {
29
34
  return { clock: 'notConfirmed', minutes: NOT_CONFIRMED_MINUTES, from: delivery.since };
30
35
  }
31
- const from = new Date(Math.max(delivery.since.getTime(), crew.turn.at.getTime(), crew.pushedAt.getTime()));
32
- switch (crew.turn.state) {
36
+ const from = new Date(Math.max(delivery.since.getTime(), turn.at.getTime(), crew.pushedAt.getTime()));
37
+ switch (turn.state) {
33
38
  case 'idle':
34
39
  return { clock: 'idle', minutes: IDLE_MINUTES, from };
35
40
  case 'busy':
@@ -1 +1 @@
1
- {"version":3,"file":"overdue.js","sourceRoot":"","sources":["../../../src/domain/messaging/overdue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"overdue.js","sourceRoot":"","sources":["../../../src/domain/messaging/overdue.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- export type { OverdueClock, WaitingState } from './overdue.js';
1
+ export { hasClockRunOut, NOT_CONFIRMED_MINUTES, type ClockedCrew, type OverdueClock, type WaitingState } from './overdue.js';
@@ -1,2 +1,4 @@
1
- export {};
1
+ // Messaging's published surface: what other contexts may use. Use cases are not
2
+ // part of it; adapters import them from their own modules.
3
+ export { hasClockRunOut, NOT_CONFIRMED_MINUTES } from './overdue.js';
2
4
  //# sourceMappingURL=public.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/domain/messaging/public.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/domain/messaging/public.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,2DAA2D;AAC3D,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAA0D,MAAM,cAAc,CAAC"}
@@ -6,13 +6,15 @@ import type { UnitOfWork } from '../shared/unit-of-work.js';
6
6
  import { type ReportTurnEndRefusal, type ReportTurnEndTx } from './report-turn-end.js';
7
7
  export type ReportNotHandled = (crew: Crew, input: {
8
8
  deliveryId: DeliveryId;
9
+ reason?: string;
9
10
  }) => Promise<Result<undefined, ReportTurnEndRefusal>>;
10
11
  /**
11
12
  * Use case: a pushed crew reports the turn a confirmed message was handed
12
13
  * once more to died too (`notHandled`, decision 0040). Its scope
13
14
  * (messages:receive) is checked before this runs. In one unit of work it
14
15
  * holds the crew's lease, locks the delivery and moves it to not handled
15
- * with DeliveryNotHandled, which puts it in Needs attention. Reporting it
16
+ * with DeliveryNotHandled, which keeps the reason the crew gave and puts it
17
+ * in Needs attention. Reporting it
16
18
  * again is OK and changes nothing.
17
19
  */
18
20
  export declare function createReportNotHandled(deps: {
@@ -4,7 +4,8 @@ import { reportTurnEnd } from './report-turn-end.js';
4
4
  * once more to died too (`notHandled`, decision 0040). Its scope
5
5
  * (messages:receive) is checked before this runs. In one unit of work it
6
6
  * holds the crew's lease, locks the delivery and moves it to not handled
7
- * with DeliveryNotHandled, which puts it in Needs attention. Reporting it
7
+ * with DeliveryNotHandled, which keeps the reason the crew gave and puts it
8
+ * in Needs attention. Reporting it
8
9
  * again is OK and changes nothing.
9
10
  */
10
11
  export function createReportNotHandled(deps) {
@@ -1 +1 @@
1
- {"version":3,"file":"report-not-handled.js","sourceRoot":"","sources":["../../../src/domain/messaging/report-not-handled.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAmD,MAAM,sBAAsB,CAAC;AAItG;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAA0E;IAC/G,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;AAC/I,CAAC"}
1
+ {"version":3,"file":"report-not-handled.js","sourceRoot":"","sources":["../../../src/domain/messaging/report-not-handled.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAmD,MAAM,sBAAsB,CAAC;AAItG;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAA0E;IAC/G,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;AAC/I,CAAC"}
@@ -26,4 +26,5 @@ export declare function reportTurnEnd(deps: {
26
26
  crew: Crew;
27
27
  deliveryId: DeliveryId;
28
28
  end: TurnEnd;
29
+ reason?: string;
29
30
  }): Promise<Result<undefined, ReportTurnEndRefusal>>;
@@ -11,7 +11,7 @@ import { endTurn } from './delivery.js';
11
11
  */
12
12
  export async function reportTurnEnd(deps, report) {
13
13
  const { tx } = deps;
14
- const { crew, deliveryId, end } = report;
14
+ const { crew, deliveryId, ...ending } = report;
15
15
  const held = await holdLease(tx, crew);
16
16
  if (!held.isOk) {
17
17
  return held;
@@ -20,7 +20,7 @@ export async function reportTurnEnd(deps, report) {
20
20
  if (!delivery) {
21
21
  return refuse('DELIVERY_NOT_FOUND', `Delivery ${deliveryId} does not exist`);
22
22
  }
23
- const ended = endTurn(delivery, { crew, end, at: deps.clock.now() });
23
+ const ended = endTurn(delivery, { crew, ...ending, at: deps.clock.now() });
24
24
  if (!ended.isOk) {
25
25
  return ended;
26
26
  }