@aeolus-fleet/common 0.29.2 → 0.30.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 (51) hide show
  1. package/dist/header/command-palette.d.ts +2 -0
  2. package/dist/header/command-palette.js +2 -1
  3. package/dist/header/command-palette.js.map +1 -1
  4. package/dist/rules/index.d.ts +2 -0
  5. package/dist/rules/index.js +2 -0
  6. package/dist/rules/index.js.map +1 -1
  7. package/dist/rules/page-size.d.ts +4 -0
  8. package/dist/rules/page-size.js +5 -0
  9. package/dist/rules/page-size.js.map +1 -0
  10. package/dist/rules/ship-filter.d.ts +102 -0
  11. package/dist/rules/ship-filter.js +99 -0
  12. package/dist/rules/ship-filter.js.map +1 -0
  13. package/dist/schemas/crew-request.d.ts +18 -0
  14. package/dist/schemas/crew-request.js +8 -0
  15. package/dist/schemas/crew-request.js.map +1 -1
  16. package/dist/schemas/delivery.d.ts +3 -1
  17. package/dist/schemas/delivery.js +6 -2
  18. package/dist/schemas/delivery.js.map +1 -1
  19. package/dist/schemas/fleet.d.ts +149 -3
  20. package/dist/schemas/fleet.js +25 -2
  21. package/dist/schemas/fleet.js.map +1 -1
  22. package/dist/schemas/health.d.ts +91 -0
  23. package/dist/schemas/health.js +17 -0
  24. package/dist/schemas/health.js.map +1 -1
  25. package/dist/schemas/history.d.ts +148 -130
  26. package/dist/schemas/history.js +10 -5
  27. package/dist/schemas/history.js.map +1 -1
  28. package/dist/schemas/index.d.ts +2 -0
  29. package/dist/schemas/index.js +2 -0
  30. package/dist/schemas/index.js.map +1 -1
  31. package/dist/schemas/label.d.ts +242 -6
  32. package/dist/schemas/label.js +81 -4
  33. package/dist/schemas/label.js.map +1 -1
  34. package/dist/schemas/needs-attention.d.ts +48 -30
  35. package/dist/schemas/needs-attention.js +8 -4
  36. package/dist/schemas/needs-attention.js.map +1 -1
  37. package/dist/schemas/network-rules-file.d.ts +301 -0
  38. package/dist/schemas/network-rules-file.js +97 -0
  39. package/dist/schemas/network-rules-file.js.map +1 -0
  40. package/dist/schemas/network.d.ts +72 -66
  41. package/dist/schemas/network.js +5 -4
  42. package/dist/schemas/network.js.map +1 -1
  43. package/dist/schemas/operator-inbox.d.ts +59 -36
  44. package/dist/schemas/operator-inbox.js +15 -4
  45. package/dist/schemas/operator-inbox.js.map +1 -1
  46. package/dist/schemas/page.d.ts +20 -0
  47. package/dist/schemas/page.js +20 -0
  48. package/dist/schemas/page.js.map +1 -0
  49. package/dist/schemas/question.d.ts +2 -2
  50. package/dist/schemas/question.js +2 -2
  51. package/package.json +1 -1
@@ -31,6 +31,8 @@ export interface CommandPaletteProps {
31
31
  isLoading?: boolean;
32
32
  /** What the search starts with when it opens; empty when not given. For stories. */
33
33
  initialQuery?: string;
34
+ /** Each change of the query as typed, so the app can ask the server for what matches. */
35
+ onQueryChange?: (query: string) => void;
34
36
  }
35
37
  /**
36
38
  * The command palette (header design, docs/design/png/CommandPalette.png):
@@ -13,7 +13,7 @@ function LoadingRows() {
13
13
  return (_jsx("ul", { "aria-label": "Loading", "aria-busy": true, "data-testid": "command-palette-loading", className: "flex flex-col gap-1 p-1", children: Array.from({ length: SKELETON_ROWS }, (_, row) => `row-${String(row)}`).map((row) => (_jsxs("li", { className: "flex h-(--size-control) items-center gap-2.5 px-2.5 max-sm:h-(--size-control-touch)", children: [_jsx("span", { className: "size-5 shrink-0 animate-pulse rounded-full bg-muted motion-reduce:animate-none" }), _jsx("span", { className: "h-3 w-40 animate-pulse rounded bg-muted motion-reduce:animate-none" })] }, row))) }));
14
14
  }
15
15
  /** The open palette: its query, the entry the keys move to and the one opening live here, so each opening starts fresh. */
16
- function PaletteBody({ groupsOf, onSelect, onOpenChange, label, emptyMessage, isLoading = false, initialQuery = '' }) {
16
+ function PaletteBody({ groupsOf, onSelect, onOpenChange, label, emptyMessage, isLoading = false, initialQuery = '', onQueryChange }) {
17
17
  const listId = useId();
18
18
  const optionId = useId();
19
19
  const [query, setQuery] = useState(initialQuery);
@@ -53,6 +53,7 @@ function PaletteBody({ groupsOf, onSelect, onOpenChange, label, emptyMessage, is
53
53
  return (_jsxs(_Fragment, { children: [_jsx(DialogTitle, { className: "sr-only", children: label }), _jsxs("div", { className: "flex h-12 items-center gap-2.5 border-b border-border px-4 max-sm:h-(--size-header)", children: [_jsx(Search, { "aria-hidden": true, className: "size-(--size-icon) shrink-0 text-muted-foreground" }), _jsx("input", { role: "combobox", "aria-expanded": true, "aria-controls": listId, "aria-activedescendant": active ? idOf(active) : undefined, "aria-autocomplete": "list", "aria-label": label, autoComplete: "off", autoCapitalize: "off", spellCheck: false, placeholder: label, disabled: opening !== undefined, "data-testid": "command-palette-input", className: "h-full min-w-0 grow bg-transparent text-body text-foreground outline-none placeholder:text-muted-foreground disabled:opacity-60 max-sm:text-body-touch", value: query, onChange: (event) => {
54
54
  setQuery(event.target.value);
55
55
  setActiveIndex(0);
56
+ onQueryChange?.(event.target.value);
56
57
  }, onKeyDown: onKeyDown }), _jsx(Kbd, { children: "esc" }), _jsx(DialogClose, { render: _jsx(Button, { variant: "ghost", size: "sm", className: "sm:hidden" }), children: "Cancel" })] }), _jsxs("div", { className: "max-h-[min(60dvh,var(--spacing)*100)] overflow-y-auto p-2 max-sm:max-h-none max-sm:grow", children: [entries.length === 0 && isLoading ? _jsx(LoadingRows, {}) : null, entries.length === 0 && !isLoading ? _jsx("p", { className: "px-4 py-6 text-center text-meta text-muted-foreground", children: emptyMessage(query.trim()) }) : null, entries.length === 0 ? null : (_jsx("ul", { id: listId, role: "listbox", "aria-label": "Results", className: "flex flex-col gap-2", children: groups.map((group) => (_jsxs("li", { role: "presentation", className: "flex flex-col gap-0.5", children: [_jsx("p", { id: `${listId}-${group.key}`, className: "px-2.5 pt-1 pb-0.5 text-caption font-medium text-muted-foreground", children: group.label }), _jsx("ul", { role: "group", "aria-labelledby": `${listId}-${group.key}`, className: "flex flex-col gap-0.5", children: group.entries.map((entry) => {
57
58
  const isActive = entry === active;
58
59
  const isOpening = entry === opening;
@@ -1 +1 @@
1
- {"version":3,"file":"command-palette.js","sourceRoot":"","sources":["../../src/header/command-palette.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-palette.js","sourceRoot":"","sources":["../../src/header/command-palette.tsx"],"names":[],"mappings":"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"}
@@ -5,8 +5,10 @@
5
5
  * stays the authority on submit.
6
6
  */
7
7
  export * from './label-handle.js';
8
+ export * from './page-size.js';
8
9
  export * from './payload.js';
9
10
  export * from './plain-http.js';
10
11
  export * from './read-reach.js';
11
12
  export * from './ship-handle.js';
13
+ export * from './ship-filter.js';
12
14
  export * from './sign-in.js';
@@ -5,9 +5,11 @@
5
5
  * stays the authority on submit.
6
6
  */
7
7
  export * from './label-handle.js';
8
+ export * from './page-size.js';
8
9
  export * from './payload.js';
9
10
  export * from './plain-http.js';
10
11
  export * from './read-reach.js';
11
12
  export * from './ship-handle.js';
13
+ export * from './ship-filter.js';
12
14
  export * from './sign-in.js';
13
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC"}
@@ -0,0 +1,4 @@
1
+ /** A page's size when the caller asks none (decision 4 of the performance design). */
2
+ export declare const PAGE_SIZE_DEFAULT = 100;
3
+ /** The most one page may hold. */
4
+ export declare const PAGE_SIZE_MAX = 500;
@@ -0,0 +1,5 @@
1
+ /** A page's size when the caller asks none (decision 4 of the performance design). */
2
+ export const PAGE_SIZE_DEFAULT = 100;
3
+ /** The most one page may hold. */
4
+ export const PAGE_SIZE_MAX = 500;
5
+ //# sourceMappingURL=page-size.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-size.js","sourceRoot":"","sources":["../../src/rules/page-size.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAErC,kCAAkC;AAClC,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAC"}
@@ -0,0 +1,102 @@
1
+ import type { ShipKind, ShipStatus } from '../fleet/index.js';
2
+ import type { LabelValueId, ShipId } from '../ids/index.js';
3
+ import type { CrewRequestKey, CrewStatus } from '../schemas/crew-request.js';
4
+ import type { AgentKind } from '../schemas/label.js';
5
+ /**
6
+ * Which ships `fleet.list` and the ship counts select (decision 4 of the
7
+ * performance design), as one rule: core applies it where the ships are
8
+ * read, and the console to a ship's row a live event brings. Every filter
9
+ * combines with AND; one left out, or empty, selects every ship.
10
+ */
11
+ export interface ShipFilter {
12
+ /** Text the ship's name or type holds, in any case. */
13
+ query?: string;
14
+ /** The ship's exact name: whether a ship has it, for a name field's hint. */
15
+ name?: string;
16
+ /** Any of these statuses. */
17
+ status?: readonly ShipStatus[];
18
+ /** Any of these types. */
19
+ type?: readonly string[];
20
+ /** Any of these crew request keys (crewRequestKeyOf). */
21
+ crewRequest?: readonly CrewRequestKey[];
22
+ /** Every one of these label values (decision 0031). */
23
+ valueIds?: readonly LabelValueId[];
24
+ /** Ships whose crew request is assigned to any of these trierarch ships: a machine's spots. */
25
+ assignedTo?: readonly ShipId[];
26
+ /** The ships on Needs crew, with the trierarch plugin connected or without it (isNeedingCrew). */
27
+ needsCrew?: 'withTrierarchs' | 'withoutTrierarchs';
28
+ /** Any of these ships: a squadron's flagship and members, as the console resolves them. */
29
+ shipIds?: readonly ShipId[];
30
+ /** Any of these ship kinds: argo and the person ships, for an owner picker (decision 0045). */
31
+ shipKind?: readonly ShipKind[];
32
+ /** Any of these agent kinds (agentKindOf). */
33
+ kind?: readonly AgentKind[];
34
+ /** The ships the console's plugins run as: their agent kind is plugin. */
35
+ pluginShipIds?: readonly ShipId[];
36
+ }
37
+ /** What the rule reads of a ship, as `fleet.list` lists it in core and in the console. */
38
+ export interface FilteredShip {
39
+ id: ShipId;
40
+ name: string;
41
+ type: string;
42
+ kind: ShipKind;
43
+ status: ShipStatus;
44
+ harness: string | null;
45
+ labels: readonly {
46
+ valueId: LabelValueId;
47
+ }[];
48
+ crewRequest: {
49
+ assignedTo: {
50
+ id: ShipId;
51
+ } | null;
52
+ crewedBy: {
53
+ id: ShipId;
54
+ } | null;
55
+ status: CrewStatus | null;
56
+ } | null;
57
+ }
58
+ /** What the fleet snapshot's reads select by status when the caller asks none: the active ships, so retired ones come only when asked. */
59
+ export declare const ACTIVE_STATUSES: readonly ShipStatus[];
60
+ /** The statuses asked, or the active ones when none are. */
61
+ export declare function statusesAsked(status: readonly ShipStatus[] | undefined): readonly ShipStatus[];
62
+ /**
63
+ * What sort of agent crews a ship (idea #401), read from what the fleet
64
+ * knows: argo and the viewer are the console; a ship a console plugin runs as
65
+ * is a plugin; a ship of type trierarch is a machine's trierarch (decision
66
+ * 0026); any other is what its crewing session's harness says (decision
67
+ * 0018), other while no session crews it.
68
+ */
69
+ export declare function agentKindOf(ship: Pick<FilteredShip, 'id' | 'kind' | 'type' | 'harness'>, pluginShipIds?: readonly ShipId[]): AgentKind;
70
+ /**
71
+ * Where a ship's crew request stands, as one key: none; assigned to a
72
+ * trierarch, the status it wrote, crewing before it wrote one; crewed by hand
73
+ * while still unassigned; or else needs crew.
74
+ */
75
+ export declare function crewRequestKeyOf(crewRequest: FilteredShip['crewRequest']): CrewRequestKey;
76
+ /**
77
+ * Whether the ship is on Needs crew (#245): an active ship whose crew request
78
+ * no trierarch holds and no crew by hand took. With trierarchs, also a request
79
+ * a trierarch holds that is not running or being released; without them, only
80
+ * while the ship awaits crew.
81
+ */
82
+ export declare function isNeedingCrew(ship: Pick<FilteredShip, 'status' | 'crewRequest'>, plugin: {
83
+ hasTrierarchs: boolean;
84
+ }): boolean;
85
+ /**
86
+ * Whether a ship carries every value of the selector: exact matches by id,
87
+ * combined with AND (decision 0031). No selector, or an empty one, selects
88
+ * every ship.
89
+ */
90
+ export declare function carriesEvery(carried: readonly {
91
+ valueId: LabelValueId;
92
+ }[], valueIds: readonly LabelValueId[] | undefined): boolean;
93
+ /**
94
+ * Whether the filter selects the ship. A ship outside the caller's read reach
95
+ * shows its name, type and status only (decision 0034), so the filters on
96
+ * what it does not show (crew request and its trierarch, agent kind, label values) never
97
+ * select it.
98
+ */
99
+ export declare function matchesShipFilter(ship: FilteredShip, { filter, isInReach }: {
100
+ filter: ShipFilter;
101
+ isInReach: boolean;
102
+ }): boolean;
@@ -0,0 +1,99 @@
1
+ /** What the fleet snapshot's reads select by status when the caller asks none: the active ships, so retired ones come only when asked. */
2
+ export const ACTIVE_STATUSES = ['awaitingCrew', 'crewed'];
3
+ /** The statuses asked, or the active ones when none are. */
4
+ export function statusesAsked(status) {
5
+ return status === undefined || status.length === 0 ? ACTIVE_STATUSES : status;
6
+ }
7
+ /** The type of a machine's trierarch ship (decision 0026). */
8
+ const TRIERARCH_TYPE = 'trierarch';
9
+ const HARNESS_KINDS = { 'claude-code': 'claudeCode', codex: 'codex' };
10
+ /**
11
+ * What sort of agent crews a ship (idea #401), read from what the fleet
12
+ * knows: argo and the viewer are the console; a ship a console plugin runs as
13
+ * is a plugin; a ship of type trierarch is a machine's trierarch (decision
14
+ * 0026); any other is what its crewing session's harness says (decision
15
+ * 0018), other while no session crews it.
16
+ */
17
+ export function agentKindOf(ship, pluginShipIds = []) {
18
+ if (ship.kind === 'operator' || ship.kind === 'viewer') {
19
+ return 'console';
20
+ }
21
+ if (pluginShipIds.includes(ship.id)) {
22
+ return 'plugin';
23
+ }
24
+ if (ship.type === TRIERARCH_TYPE) {
25
+ return 'trierarch';
26
+ }
27
+ return (ship.harness === null ? undefined : HARNESS_KINDS[ship.harness]) ?? 'other';
28
+ }
29
+ /**
30
+ * Where a ship's crew request stands, as one key: none; assigned to a
31
+ * trierarch, the status it wrote, crewing before it wrote one; crewed by hand
32
+ * while still unassigned; or else needs crew.
33
+ */
34
+ export function crewRequestKeyOf(crewRequest) {
35
+ if (crewRequest === null) {
36
+ return 'none';
37
+ }
38
+ if (crewRequest.assignedTo !== null) {
39
+ return crewRequest.status ?? 'crewing';
40
+ }
41
+ return crewRequest.crewedBy === null ? 'needsCrew' : 'crewedByHand';
42
+ }
43
+ /**
44
+ * Whether the ship is on Needs crew (#245): an active ship whose crew request
45
+ * no trierarch holds and no crew by hand took. With trierarchs, also a request
46
+ * a trierarch holds that is not running or being released; without them, only
47
+ * while the ship awaits crew.
48
+ */
49
+ export function isNeedingCrew(ship, plugin) {
50
+ const request = ship.crewRequest;
51
+ if (ship.status === 'retired' || request === null) {
52
+ return false;
53
+ }
54
+ const isUnassigned = request.assignedTo === null && request.crewedBy === null;
55
+ if (!plugin.hasTrierarchs) {
56
+ return isUnassigned && ship.status === 'awaitingCrew';
57
+ }
58
+ const isHeldAndNotRunning = request.assignedTo !== null && request.status !== 'running' && request.status !== 'releasing';
59
+ return isUnassigned || isHeldAndNotRunning;
60
+ }
61
+ /**
62
+ * Whether a ship carries every value of the selector: exact matches by id,
63
+ * combined with AND (decision 0031). No selector, or an empty one, selects
64
+ * every ship.
65
+ */
66
+ export function carriesEvery(carried, valueIds) {
67
+ return (valueIds ?? []).every((valueId) => carried.some((label) => label.valueId === valueId));
68
+ }
69
+ /**
70
+ * Whether the filter selects the ship. A ship outside the caller's read reach
71
+ * shows its name, type and status only (decision 0034), so the filters on
72
+ * what it does not show (crew request and its trierarch, agent kind, label values) never
73
+ * select it.
74
+ */
75
+ export function matchesShipFilter(ship, { filter, isInReach }) {
76
+ const query = filter.query?.trim().toLowerCase() ?? '';
77
+ const isHiddenFilterPicked = filter.needsCrew !== undefined || [filter.crewRequest, filter.assignedTo, filter.kind, filter.valueIds].some((picked) => picked !== undefined && picked.length > 0);
78
+ return ((isInReach || !isHiddenFilterPicked) &&
79
+ (query === '' || ship.name.toLowerCase().includes(query) || ship.type.toLowerCase().includes(query)) &&
80
+ (filter.name === undefined || ship.name === filter.name) &&
81
+ isPicked(filter.status, ship.status) &&
82
+ isPicked(filter.type, ship.type) &&
83
+ isPicked(filter.shipKind, ship.kind) &&
84
+ isPicked(filter.crewRequest, crewRequestKeyOf(ship.crewRequest)) &&
85
+ isAssignedToAny(filter.assignedTo, ship.crewRequest) &&
86
+ (filter.needsCrew === undefined || isNeedingCrew(ship, { hasTrierarchs: filter.needsCrew === 'withTrierarchs' })) &&
87
+ carriesEvery(ship.labels, filter.valueIds) &&
88
+ isPicked(filter.shipIds, ship.id) &&
89
+ isPicked(filter.kind, agentKindOf(ship, filter.pluginShipIds)));
90
+ }
91
+ /** Whether the ship's crew request is assigned to one of the trierarchs picked; nothing picked passes every ship. */
92
+ function isAssignedToAny(trierarchShipIds, crewRequest) {
93
+ const assignedTo = crewRequest?.assignedTo?.id;
94
+ return trierarchShipIds === undefined || trierarchShipIds.length === 0 || (assignedTo !== undefined && trierarchShipIds.includes(assignedTo));
95
+ }
96
+ function isPicked(picked, value) {
97
+ return picked === undefined || picked.length === 0 || picked.includes(value);
98
+ }
99
+ //# sourceMappingURL=ship-filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ship-filter.js","sourceRoot":"","sources":["../../src/rules/ship-filter.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,24 @@ export declare const crewStatusSchema: z.ZodEnum<{
32
32
  releasing: "releasing";
33
33
  }>;
34
34
  export type CrewStatus = z.infer<typeof crewStatusSchema>;
35
+ /**
36
+ * Where a ship's crew request stands, as one key (the overview's Crew request
37
+ * filter): none; needs crew, unassigned and not crewed; crewed by hand while
38
+ * still unassigned; or, assigned to a trierarch, the status it wrote, crewing
39
+ * before it wrote one.
40
+ */
41
+ export declare const CREW_REQUEST_KEYS: readonly ["none", "needsCrew", "crewedByHand", "crewing", "running", "restarting", "crashed", "releasing"];
42
+ export declare const crewRequestKeySchema: z.ZodEnum<{
43
+ crewing: "crewing";
44
+ running: "running";
45
+ restarting: "restarting";
46
+ crashed: "crashed";
47
+ releasing: "releasing";
48
+ none: "none";
49
+ needsCrew: "needsCrew";
50
+ crewedByHand: "crewedByHand";
51
+ }>;
52
+ export type CrewRequestKey = z.infer<typeof crewRequestKeySchema>;
35
53
  /** The longest reason the assigner may write on a crew request: one line, as a report's note. */
36
54
  export declare const CREW_REQUEST_REASON_MAX_LENGTH = 200;
37
55
  /** Input of `fleet.crewRequest`: the ship to keep crewed and its settings, replacing any it holds. */
@@ -28,6 +28,14 @@ export const crewRequestSettingsSchema = z.record(z.string(), z.json());
28
28
  */
29
29
  export const CREW_STATUSES = ['crewing', 'running', 'restarting', 'crashed', 'releasing'];
30
30
  export const crewStatusSchema = z.enum(CREW_STATUSES);
31
+ /**
32
+ * Where a ship's crew request stands, as one key (the overview's Crew request
33
+ * filter): none; needs crew, unassigned and not crewed; crewed by hand while
34
+ * still unassigned; or, assigned to a trierarch, the status it wrote, crewing
35
+ * before it wrote one.
36
+ */
37
+ export const CREW_REQUEST_KEYS = ['none', 'needsCrew', 'crewedByHand', ...CREW_STATUSES];
38
+ export const crewRequestKeySchema = z.enum(CREW_REQUEST_KEYS);
31
39
  /** The longest reason the assigner may write on a crew request: one line, as a report's note. */
32
40
  export const CREW_REQUEST_REASON_MAX_LENGTH = 200;
33
41
  const REASON_MESSAGE = `A reason is one line of at most ${String(CREW_REQUEST_REASON_MAX_LENGTH)} characters`;
@@ -1 +1 @@
1
- {"version":3,"file":"crew-request.js","sourceRoot":"","sources":["../../src/schemas/crew-request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crew-request.js","sourceRoot":"","sources":["../../src/schemas/crew-request.ts"],"names":[],"mappings":"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"}
@@ -225,10 +225,12 @@ export type AckOutput = z.infer<typeof ackOutputSchema>;
225
225
  export declare const INBOX_WAIT_MAX_SECONDS = 25;
226
226
  /**
227
227
  * Input of `ship.inbox`: how long to wait, 0 to 25 whole seconds, while
228
- * nothing waits for the crew. Without it, it answers at once.
228
+ * nothing waits for the crew, or with `knownWaiting` while the count is still
229
+ * the one the crew knows. Without a wait, it answers at once.
229
230
  */
230
231
  export declare const inboxInputSchema: z.ZodOptional<z.ZodObject<{
231
232
  waitSeconds: z.ZodOptional<z.ZodInt>;
233
+ knownWaiting: z.ZodOptional<z.ZodInt>;
232
234
  }, z.core.$strip>>;
233
235
  export type InboxInput = z.infer<typeof inboxInputSchema>;
234
236
  /**
@@ -131,10 +131,14 @@ export const ackOutputSchema = z.strictObject({});
131
131
  export const INBOX_WAIT_MAX_SECONDS = 25;
132
132
  /**
133
133
  * Input of `ship.inbox`: how long to wait, 0 to 25 whole seconds, while
134
- * nothing waits for the crew. Without it, it answers at once.
134
+ * nothing waits for the crew, or with `knownWaiting` while the count is still
135
+ * the one the crew knows. Without a wait, it answers at once.
135
136
  */
136
137
  export const inboxInputSchema = z
137
- .object({ waitSeconds: z.int().min(0).max(INBOX_WAIT_MAX_SECONDS).optional() })
138
+ .object({
139
+ waitSeconds: z.int().min(0).max(INBOX_WAIT_MAX_SECONDS).optional(),
140
+ knownWaiting: z.int().min(0).optional(),
141
+ })
138
142
  .optional();
139
143
  /**
140
144
  * Output of `ship.inbox`: how many deliveries the crew's next receive would
@@ -1 +1 @@
1
- {"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../src/schemas/delivery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../src/schemas/delivery.ts"],"names":[],"mappings":"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"}
@@ -252,8 +252,125 @@ export declare const shipOutsideReadReachSchema: z.ZodObject<{
252
252
  }, z.core.$strip>;
253
253
  export type ShipOutsideReadReach = z.infer<typeof shipOutsideReadReachSchema>;
254
254
  export { isInReadReach } from '../rules/read-reach.js';
255
- /** Output of `fleet.list`: every ship in the caller's fleet, `argo` included, those outside its read reach by name, type and status only. */
256
- export declare const fleetListOutputSchema: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
255
+ /**
256
+ * Output of `fleet.list`: a page of the ships in the caller's fleet, `argo`
257
+ * included, in the order asked, those outside its read reach by name, type
258
+ * and status only; and the cursor the next page starts after, null on the
259
+ * last.
260
+ */
261
+ export declare const fleetListOutputSchema: z.ZodObject<{
262
+ items: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
263
+ id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
264
+ name: z.ZodString;
265
+ type: z.ZodString;
266
+ kind: z.ZodEnum<{
267
+ operator: "operator";
268
+ agent: "agent";
269
+ viewer: "viewer";
270
+ person: "person";
271
+ app: "app";
272
+ plugin: "plugin";
273
+ }>;
274
+ status: z.ZodEnum<{
275
+ awaitingCrew: "awaitingCrew";
276
+ crewed: "crewed";
277
+ retired: "retired";
278
+ }>;
279
+ startingPrompt: z.ZodNullable<z.ZodObject<{
280
+ issuedAt: z.ZodISODateTime;
281
+ isClaimed: z.ZodBoolean;
282
+ }, z.core.$strip>>;
283
+ location: z.ZodNullable<z.ZodObject<{
284
+ kind: z.ZodEnum<{
285
+ DEVICE: "DEVICE";
286
+ CLOUD: "CLOUD";
287
+ SERVER: "SERVER";
288
+ OTHER: "OTHER";
289
+ }>;
290
+ description: z.ZodNullable<z.ZodString>;
291
+ }, z.core.$strip>>;
292
+ lastSeenAt: z.ZodNullable<z.ZodISODateTime>;
293
+ ping: z.ZodNullable<z.ZodObject<{
294
+ state: z.ZodEnum<{
295
+ acknowledged: "acknowledged";
296
+ undeliverable: "undeliverable";
297
+ waiting: "waiting";
298
+ answered: "answered";
299
+ }>;
300
+ sentAt: z.ZodISODateTime;
301
+ answeredAt: z.ZodNullable<z.ZodISODateTime>;
302
+ }, z.core.$strip>>;
303
+ harness: z.ZodNullable<z.ZodString>;
304
+ model: z.ZodNullable<z.ZodObject<{
305
+ id: z.ZodString;
306
+ statedAt: z.ZodISODateTime;
307
+ }, z.core.$strip>>;
308
+ scopes: z.ZodArray<z.ZodString>;
309
+ report: z.ZodNullable<z.ZodObject<{
310
+ state: z.ZodEnum<{
311
+ working: "working";
312
+ blocked: "blocked";
313
+ idle: "idle";
314
+ }>;
315
+ note: z.ZodNullable<z.ZodString>;
316
+ reportedAt: z.ZodISODateTime;
317
+ detailsVersion: z.ZodInt;
318
+ }, z.core.$strip>>;
319
+ crewRequest: z.ZodNullable<z.ZodObject<{
320
+ settingsVersion: z.ZodInt;
321
+ requestedAt: z.ZodISODateTime;
322
+ assignedTo: z.ZodNullable<z.ZodObject<{
323
+ id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
324
+ name: z.ZodString;
325
+ }, z.core.$strip>>;
326
+ status: z.ZodNullable<z.ZodEnum<{
327
+ crewing: "crewing";
328
+ running: "running";
329
+ restarting: "restarting";
330
+ crashed: "crashed";
331
+ releasing: "releasing";
332
+ }>>;
333
+ reason: z.ZodNullable<z.ZodString>;
334
+ crewedBy: z.ZodNullable<z.ZodObject<{
335
+ id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
336
+ name: z.ZodString;
337
+ }, z.core.$strip>>;
338
+ attempt: z.ZodInt;
339
+ startedAt: z.ZodNullable<z.ZodISODateTime>;
340
+ givenBack: z.ZodArray<z.ZodObject<{
341
+ trierarch: z.ZodObject<{
342
+ id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
343
+ name: z.ZodString;
344
+ }, z.core.$strip>;
345
+ settingsVersion: z.ZodInt;
346
+ reason: z.ZodString;
347
+ givenBackAt: z.ZodISODateTime;
348
+ }, z.core.$strip>>;
349
+ }, z.core.$strip>>;
350
+ labels: z.ZodArray<z.ZodObject<{
351
+ labelId: z.ZodType<`lbl_${string}`, unknown, z.core.$ZodTypeInternals<`lbl_${string}`, unknown>>;
352
+ key: z.ZodString;
353
+ valueId: z.ZodType<`lbv_${string}`, unknown, z.core.$ZodTypeInternals<`lbv_${string}`, unknown>>;
354
+ value: z.ZodString;
355
+ }, z.core.$strip>>;
356
+ awaitingCrewSince: z.ZodNullable<z.ZodISODateTime>;
357
+ retiredAt: z.ZodNullable<z.ZodISODateTime>;
358
+ ownerShipId: z.ZodNullable<z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>>;
359
+ }, z.core.$strip>, z.ZodObject<{
360
+ id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
361
+ name: z.ZodString;
362
+ type: z.ZodString;
363
+ status: z.ZodEnum<{
364
+ awaitingCrew: "awaitingCrew";
365
+ crewed: "crewed";
366
+ retired: "retired";
367
+ }>;
368
+ isInReadReach: z.ZodLiteral<false>;
369
+ }, z.core.$strip>]>>;
370
+ nextCursor: z.ZodNullable<z.ZodString>;
371
+ }, z.core.$strip>;
372
+ /** Output of `fleet.listedShip`: one ship exactly as `fleet.list` lists it. */
373
+ export declare const listedShipOutputSchema: z.ZodUnion<readonly [z.ZodObject<{
257
374
  id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
258
375
  name: z.ZodString;
259
376
  type: z.ZodString;
@@ -360,7 +477,36 @@ export declare const fleetListOutputSchema: z.ZodArray<z.ZodUnion<readonly [z.Zo
360
477
  retired: "retired";
361
478
  }>;
362
479
  isInReadReach: z.ZodLiteral<false>;
363
- }, z.core.$strip>]>>;
480
+ }, z.core.$strip>]>;
481
+ /**
482
+ * Output of `fleet.shipCounts`: the ships in the caller's read reach counted per
483
+ * kind, only the kinds there are: active (not retired), crewed, awaiting crew,
484
+ * retired, needing crew with the trierarch plugin connected and without it,
485
+ * and the active ship that has awaited crew longest.
486
+ */
487
+ export declare const shipCountsOutputSchema: z.ZodArray<z.ZodObject<{
488
+ kind: z.ZodEnum<{
489
+ operator: "operator";
490
+ agent: "agent";
491
+ viewer: "viewer";
492
+ person: "person";
493
+ app: "app";
494
+ plugin: "plugin";
495
+ }>;
496
+ active: z.ZodInt;
497
+ crewed: z.ZodInt;
498
+ awaitingCrew: z.ZodInt;
499
+ retired: z.ZodInt;
500
+ needsCrew: z.ZodObject<{
501
+ withTrierarchs: z.ZodInt;
502
+ withoutTrierarchs: z.ZodInt;
503
+ }, z.core.$strip>;
504
+ longestWait: z.ZodNullable<z.ZodObject<{
505
+ id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
506
+ name: z.ZodString;
507
+ awaitingCrewSince: z.ZodISODateTime;
508
+ }, z.core.$strip>>;
509
+ }, z.core.$strip>>;
364
510
  /**
365
511
  * Input of the `fleet.events` subscription: the number of the last event the
366
512
  * browser applied. tRPC sends it back as `lastEventId` when it reconnects;