@aeolus-fleet/common 0.17.2 → 0.18.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.
- package/dist/fleet/index.d.ts +17 -5
- package/dist/fleet/index.js +12 -4
- package/dist/fleet/index.js.map +1 -1
- package/dist/fleet/mcp-url.d.ts +7 -0
- package/dist/fleet/mcp-url.js +10 -0
- package/dist/fleet/mcp-url.js.map +1 -0
- package/dist/schemas/console.d.ts +2 -0
- package/dist/schemas/crew-request.d.ts +152 -0
- package/dist/schemas/crew-request.js +102 -0
- package/dist/schemas/crew-request.js.map +1 -0
- package/dist/schemas/fleet.d.ts +58 -0
- package/dist/schemas/fleet.js +8 -10
- package/dist/schemas/fleet.js.map +1 -1
- package/dist/schemas/follow.d.ts +5 -0
- package/dist/schemas/history.d.ts +37 -2
- package/dist/schemas/history.js +6 -0
- package/dist/schemas/history.js.map +1 -1
- package/dist/schemas/index.d.ts +1 -0
- package/dist/schemas/index.js +1 -0
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/report.d.ts +77 -1
- package/dist/schemas/report.js +49 -2
- package/dist/schemas/report.js.map +1 -1
- package/dist/trierarch/protocol.d.ts +20 -4
- package/dist/trierarch/protocol.js +6 -0
- package/dist/trierarch/protocol.js.map +1 -1
- package/package.json +1 -1
package/dist/fleet/index.d.ts
CHANGED
|
@@ -2,28 +2,34 @@ import { z } from 'zod';
|
|
|
2
2
|
/**
|
|
3
3
|
* The fleet's shared vocabulary (docs/blueprint.md, "Ubiquitous language"):
|
|
4
4
|
* scopes, ship kinds, ship statuses, lease locations, selector kinds, delivery
|
|
5
|
-
* states and event types.
|
|
5
|
+
* states and event types. Core and console use the same words.
|
|
6
6
|
*/
|
|
7
7
|
/** A permission of a ship, stored on the server with the ship and checked before every call. */
|
|
8
|
-
export declare const SCOPES: readonly ["messages:send", "messages:receive", "fleet:read", "fleet:manage", "fleet:crew"];
|
|
8
|
+
export declare const SCOPES: readonly ["messages:send", "messages:receive", "fleet:read", "fleet:manage", "fleet:crew", "crew:assign", "crew:run"];
|
|
9
9
|
export declare const scopeSchema: z.ZodEnum<{
|
|
10
10
|
"messages:send": "messages:send";
|
|
11
11
|
"messages:receive": "messages:receive";
|
|
12
12
|
"fleet:read": "fleet:read";
|
|
13
13
|
"fleet:manage": "fleet:manage";
|
|
14
14
|
"fleet:crew": "fleet:crew";
|
|
15
|
+
"crew:assign": "crew:assign";
|
|
16
|
+
"crew:run": "crew:run";
|
|
15
17
|
}>;
|
|
16
18
|
export type Scope = z.infer<typeof scopeSchema>;
|
|
17
19
|
/**
|
|
18
20
|
* The scopes commissioning may add to an agent ship, beside sending and
|
|
19
|
-
* receiving, which every agent ship has (ADR 0002). `fleet:crew` is
|
|
21
|
+
* receiving, which every agent ship has (ADR 0002). `fleet:crew` is the 0.17
|
|
20
22
|
* trierarch's: it reads one ship, gets its starting prompt and releases it.
|
|
23
|
+
* `crew:assign` writes crew request assignments; `crew:run` crews the ships
|
|
24
|
+
* whose requests are assigned to its ship (decision 0029).
|
|
21
25
|
*/
|
|
22
|
-
export declare const FLEET_SCOPES: readonly ["fleet:read", "fleet:manage", "fleet:crew"];
|
|
26
|
+
export declare const FLEET_SCOPES: readonly ["fleet:read", "fleet:manage", "fleet:crew", "crew:assign", "crew:run"];
|
|
23
27
|
export declare const fleetScopeSchema: z.ZodEnum<{
|
|
24
28
|
"fleet:read": "fleet:read";
|
|
25
29
|
"fleet:manage": "fleet:manage";
|
|
26
30
|
"fleet:crew": "fleet:crew";
|
|
31
|
+
"crew:assign": "crew:assign";
|
|
32
|
+
"crew:run": "crew:run";
|
|
27
33
|
}>;
|
|
28
34
|
export type FleetScope = z.infer<typeof fleetScopeSchema>;
|
|
29
35
|
/** `argo` is the one ship of kind `operator` in a fleet; every other ship is an `agent`. */
|
|
@@ -77,7 +83,7 @@ export declare const deliveryStateSchema: z.ZodEnum<{
|
|
|
77
83
|
}>;
|
|
78
84
|
export type DeliveryState = z.infer<typeof deliveryStateSchema>;
|
|
79
85
|
/** The event types written so far. Each later slice adds the ones it writes. */
|
|
80
|
-
export declare const EVENT_TYPES: readonly ["FleetInitialised", "ShipCommissioned", "ShipClaimed", "LeaseRevoked", "CredentialRevoked", "StartingPromptIssued", "OperatorPasswordReset", "MessageAccepted", "DeliveryClaimed", "DeliveryAcknowledged", "DeliveryUndeliverable", "DeliveryReturned", "ShipRetired", "DeliveryAbandoned", "DeliveryDismissed", "ShipRenamed", "ShipReported", "SignInTicketIssued", "FleetLimitsChanged", "ViewerSessionStarted"];
|
|
86
|
+
export declare const EVENT_TYPES: readonly ["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"];
|
|
81
87
|
export declare const eventTypeSchema: z.ZodEnum<{
|
|
82
88
|
FleetInitialised: "FleetInitialised";
|
|
83
89
|
ShipCommissioned: "ShipCommissioned";
|
|
@@ -99,5 +105,11 @@ export declare const eventTypeSchema: z.ZodEnum<{
|
|
|
99
105
|
SignInTicketIssued: "SignInTicketIssued";
|
|
100
106
|
FleetLimitsChanged: "FleetLimitsChanged";
|
|
101
107
|
ViewerSessionStarted: "ViewerSessionStarted";
|
|
108
|
+
CrewRequested: "CrewRequested";
|
|
109
|
+
CrewRequestRemoved: "CrewRequestRemoved";
|
|
110
|
+
CrewAssigned: "CrewAssigned";
|
|
111
|
+
CrewStatusChanged: "CrewStatusChanged";
|
|
112
|
+
CrewRequestExplained: "CrewRequestExplained";
|
|
102
113
|
}>;
|
|
103
114
|
export type EventType = z.infer<typeof eventTypeSchema>;
|
|
115
|
+
export * from './mcp-url.js';
|
package/dist/fleet/index.js
CHANGED
|
@@ -2,17 +2,19 @@ import { z } from 'zod';
|
|
|
2
2
|
/**
|
|
3
3
|
* The fleet's shared vocabulary (docs/blueprint.md, "Ubiquitous language"):
|
|
4
4
|
* scopes, ship kinds, ship statuses, lease locations, selector kinds, delivery
|
|
5
|
-
* states and event types.
|
|
5
|
+
* states and event types. Core and console use the same words.
|
|
6
6
|
*/
|
|
7
7
|
/** A permission of a ship, stored on the server with the ship and checked before every call. */
|
|
8
|
-
export const SCOPES = ['messages:send', 'messages:receive', 'fleet:read', 'fleet:manage', 'fleet:crew'];
|
|
8
|
+
export const SCOPES = ['messages:send', 'messages:receive', 'fleet:read', 'fleet:manage', 'fleet:crew', 'crew:assign', 'crew:run'];
|
|
9
9
|
export const scopeSchema = z.enum(SCOPES);
|
|
10
10
|
/**
|
|
11
11
|
* The scopes commissioning may add to an agent ship, beside sending and
|
|
12
|
-
* receiving, which every agent ship has (ADR 0002). `fleet:crew` is
|
|
12
|
+
* receiving, which every agent ship has (ADR 0002). `fleet:crew` is the 0.17
|
|
13
13
|
* trierarch's: it reads one ship, gets its starting prompt and releases it.
|
|
14
|
+
* `crew:assign` writes crew request assignments; `crew:run` crews the ships
|
|
15
|
+
* whose requests are assigned to its ship (decision 0029).
|
|
14
16
|
*/
|
|
15
|
-
export const FLEET_SCOPES = ['fleet:read', 'fleet:manage', 'fleet:crew'];
|
|
17
|
+
export const FLEET_SCOPES = ['fleet:read', 'fleet:manage', 'fleet:crew', 'crew:assign', 'crew:run'];
|
|
16
18
|
export const fleetScopeSchema = z.enum(FLEET_SCOPES);
|
|
17
19
|
/** `argo` is the one ship of kind `operator` in a fleet; every other ship is an `agent`. */
|
|
18
20
|
export const SHIP_KINDS = ['operator', 'agent', 'viewer'];
|
|
@@ -58,6 +60,12 @@ export const EVENT_TYPES = [
|
|
|
58
60
|
'SignInTicketIssued',
|
|
59
61
|
'FleetLimitsChanged',
|
|
60
62
|
'ViewerSessionStarted',
|
|
63
|
+
'CrewRequested',
|
|
64
|
+
'CrewRequestRemoved',
|
|
65
|
+
'CrewAssigned',
|
|
66
|
+
'CrewStatusChanged',
|
|
67
|
+
'CrewRequestExplained',
|
|
61
68
|
];
|
|
62
69
|
export const eventTypeSchema = z.enum(EVENT_TYPES);
|
|
70
|
+
export * from './mcp-url.js';
|
|
63
71
|
//# sourceMappingURL=index.js.map
|
package/dist/fleet/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fleet/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AAEH,gGAAgG;AAChG,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,eAAe,EAAE,kBAAkB,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fleet/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AAEH,gGAAgG;AAChG,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,eAAe,EAAE,kBAAkB,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,CAAU,CAAC;AAC5I,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAG1C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,CAAU,CAAC;AAC7G,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAGrD,4FAA4F;AAC5F,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAC;AACnE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAGjD,kFAAkF;AAClF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AAC9E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAGzD;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,cAAc,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC;AAC5E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAGtD,2GAA2G;AAC3G,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,CAAU,CAAC;AACxD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAGzD;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,CAAU,CAAC;AAC5H,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAG3D,gFAAgF;AAChF,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,kBAAkB;IAClB,kBAAkB;IAClB,aAAa;IACb,cAAc;IACd,mBAAmB;IACnB,sBAAsB;IACtB,uBAAuB;IACvB,iBAAiB;IACjB,iBAAiB;IACjB,sBAAsB;IACtB,uBAAuB;IACvB,kBAAkB;IAClB,aAAa;IACb,mBAAmB;IACnB,mBAAmB;IACnB,aAAa;IACb,cAAc;IACd,oBAAoB;IACpB,oBAAoB;IACpB,sBAAsB;IACtB,eAAe;IACf,oBAAoB;IACpB,cAAc;IACd,mBAAmB;IACnB,sBAAsB;CACd,CAAC;AACX,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAGnD,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Where the server serves the ship contract as MCP tools. */
|
|
2
|
+
export declare const MCP_PATH = "/mcp";
|
|
3
|
+
/**
|
|
4
|
+
* The fleet's MCP URL, which every starting prompt carries: `/mcp` under the
|
|
5
|
+
* public URL, keeping its path, whether or not it ends in a slash.
|
|
6
|
+
*/
|
|
7
|
+
export declare function mcpUrlOf(publicUrl: string): string;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** Where the server serves the ship contract as MCP tools. */
|
|
2
|
+
export const MCP_PATH = '/mcp';
|
|
3
|
+
/**
|
|
4
|
+
* The fleet's MCP URL, which every starting prompt carries: `/mcp` under the
|
|
5
|
+
* public URL, keeping its path, whether or not it ends in a slash.
|
|
6
|
+
*/
|
|
7
|
+
export function mcpUrlOf(publicUrl) {
|
|
8
|
+
return `${publicUrl.replace(/\/+$/, '')}${MCP_PATH}`;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=mcp-url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-url.js","sourceRoot":"","sources":["../../src/fleet/mcp-url.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE/B;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,SAAiB;IACxC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC;AACvD,CAAC"}
|
|
@@ -59,6 +59,8 @@ export declare const consoleSessionOutputSchema: z.ZodObject<{
|
|
|
59
59
|
"fleet:read": "fleet:read";
|
|
60
60
|
"fleet:manage": "fleet:manage";
|
|
61
61
|
"fleet:crew": "fleet:crew";
|
|
62
|
+
"crew:assign": "crew:assign";
|
|
63
|
+
"crew:run": "crew:run";
|
|
62
64
|
}>>;
|
|
63
65
|
}, z.core.$strip>;
|
|
64
66
|
export type ConsoleSessionOutput = z.infer<typeof consoleSessionOutputSchema>;
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Inputs and outputs of the crew request procedures (decision 0029): a
|
|
4
|
+
* standing request that a ship be kept crewed, with settings the server
|
|
5
|
+
* stores without meaning. A requester with fleet:manage sets and removes it.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* The most a crew request's settings may hold: 16 KB as the UTF-8 bytes of
|
|
9
|
+
* their serialized JSON (decision 0029).
|
|
10
|
+
*/
|
|
11
|
+
export declare const CREW_REQUEST_SETTINGS_MAX_BYTES: number;
|
|
12
|
+
/** The size of a crew request's settings: the UTF-8 bytes of their serialized JSON. */
|
|
13
|
+
export declare function crewRequestSettingsBytes(settings: CrewRequestSettings): number;
|
|
14
|
+
/**
|
|
15
|
+
* A crew request's settings: one JSON object (harness, workspace, options, an
|
|
16
|
+
* optional first prompt, an optional squadron). Their shape is the trierarch
|
|
17
|
+
* plugin's to check, not the server's.
|
|
18
|
+
*/
|
|
19
|
+
export declare const crewRequestSettingsSchema: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
|
|
20
|
+
export type CrewRequestSettings = z.infer<typeof crewRequestSettingsSchema>;
|
|
21
|
+
/**
|
|
22
|
+
* How the assigned trierarch says its crew of the ship stands (decision 0029):
|
|
23
|
+
* crewing, running, restarting, crashed, or releasing once the request is
|
|
24
|
+
* removed.
|
|
25
|
+
*/
|
|
26
|
+
export declare const CREW_STATUSES: readonly ["crewing", "running", "restarting", "crashed", "releasing"];
|
|
27
|
+
export declare const crewStatusSchema: z.ZodEnum<{
|
|
28
|
+
crewing: "crewing";
|
|
29
|
+
running: "running";
|
|
30
|
+
restarting: "restarting";
|
|
31
|
+
crashed: "crashed";
|
|
32
|
+
releasing: "releasing";
|
|
33
|
+
}>;
|
|
34
|
+
export type CrewStatus = z.infer<typeof crewStatusSchema>;
|
|
35
|
+
/** The longest reason the assigner may write on a crew request: one line, as a report's note. */
|
|
36
|
+
export declare const CREW_REQUEST_REASON_MAX_LENGTH = 200;
|
|
37
|
+
/** Input of `fleet.crewRequest`: the ship to keep crewed and its settings, replacing any it holds. */
|
|
38
|
+
export declare const crewRequestInputSchema: z.ZodObject<{
|
|
39
|
+
shipId: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
|
|
40
|
+
settings: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
|
|
41
|
+
}, z.core.$strip>;
|
|
42
|
+
export type CrewRequestInput = z.infer<typeof crewRequestInputSchema>;
|
|
43
|
+
/** Output of `fleet.crewRequest`: the version of the settings now held, one more on every request. */
|
|
44
|
+
export declare const crewRequestOutputSchema: z.ZodObject<{
|
|
45
|
+
settingsVersion: z.ZodInt;
|
|
46
|
+
}, z.core.$strip>;
|
|
47
|
+
/** Input of `fleet.removeCrewRequest`: the ship whose crew request goes. */
|
|
48
|
+
export declare const removeCrewRequestInputSchema: z.ZodObject<{
|
|
49
|
+
shipId: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
|
|
50
|
+
}, z.core.$strip>;
|
|
51
|
+
/** Output of `fleet.removeCrewRequest`: nothing; the OK is the answer. */
|
|
52
|
+
export declare const removeCrewRequestOutputSchema: z.ZodObject<{}, z.core.$strict>;
|
|
53
|
+
/**
|
|
54
|
+
* A ship's crew request as the fleet list shows it (ISO 8601 in UTC): its
|
|
55
|
+
* settings version, when it was requested, its assignment and its status,
|
|
56
|
+
* never its settings.
|
|
57
|
+
*/
|
|
58
|
+
export declare const listedCrewRequestSchema: z.ZodObject<{
|
|
59
|
+
settingsVersion: z.ZodInt;
|
|
60
|
+
requestedAt: z.ZodISODateTime;
|
|
61
|
+
assignedTo: z.ZodNullable<z.ZodObject<{
|
|
62
|
+
id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
|
|
63
|
+
name: z.ZodString;
|
|
64
|
+
}, z.core.$strip>>;
|
|
65
|
+
status: z.ZodNullable<z.ZodEnum<{
|
|
66
|
+
crewing: "crewing";
|
|
67
|
+
running: "running";
|
|
68
|
+
restarting: "restarting";
|
|
69
|
+
crashed: "crashed";
|
|
70
|
+
releasing: "releasing";
|
|
71
|
+
}>>;
|
|
72
|
+
reason: z.ZodNullable<z.ZodString>;
|
|
73
|
+
crewedBy: z.ZodNullable<z.ZodObject<{
|
|
74
|
+
id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
|
|
75
|
+
name: z.ZodString;
|
|
76
|
+
}, z.core.$strip>>;
|
|
77
|
+
}, z.core.$strip>;
|
|
78
|
+
/** A ship's crew request whole, for its page: as the fleet list shows it, with its settings. */
|
|
79
|
+
export declare const crewRequestSchema: z.ZodObject<{
|
|
80
|
+
settingsVersion: z.ZodInt;
|
|
81
|
+
requestedAt: z.ZodISODateTime;
|
|
82
|
+
assignedTo: z.ZodNullable<z.ZodObject<{
|
|
83
|
+
id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
|
|
84
|
+
name: z.ZodString;
|
|
85
|
+
}, z.core.$strip>>;
|
|
86
|
+
status: z.ZodNullable<z.ZodEnum<{
|
|
87
|
+
crewing: "crewing";
|
|
88
|
+
running: "running";
|
|
89
|
+
restarting: "restarting";
|
|
90
|
+
crashed: "crashed";
|
|
91
|
+
releasing: "releasing";
|
|
92
|
+
}>>;
|
|
93
|
+
reason: z.ZodNullable<z.ZodString>;
|
|
94
|
+
crewedBy: z.ZodNullable<z.ZodObject<{
|
|
95
|
+
id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
|
|
96
|
+
name: z.ZodString;
|
|
97
|
+
}, z.core.$strip>>;
|
|
98
|
+
settings: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
|
|
99
|
+
}, z.core.$strip>;
|
|
100
|
+
/** Input of `fleet.assignCrew` (crew:assign): the ship whose request to assign, and the trierarch ship that crews it. */
|
|
101
|
+
export declare const assignCrewInputSchema: z.ZodObject<{
|
|
102
|
+
shipId: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
|
|
103
|
+
trierarchShipId: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
|
|
104
|
+
}, z.core.$strip>;
|
|
105
|
+
/** Output of `fleet.assignCrew`: nothing; the OK is the answer. */
|
|
106
|
+
export declare const assignCrewOutputSchema: z.ZodObject<{}, z.core.$strict>;
|
|
107
|
+
/** Input of `fleet.reportCrewStatus` (crew:run): the ship and how its crew stands. */
|
|
108
|
+
export declare const reportCrewStatusInputSchema: z.ZodObject<{
|
|
109
|
+
shipId: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
|
|
110
|
+
status: z.ZodEnum<{
|
|
111
|
+
crewing: "crewing";
|
|
112
|
+
running: "running";
|
|
113
|
+
restarting: "restarting";
|
|
114
|
+
crashed: "crashed";
|
|
115
|
+
releasing: "releasing";
|
|
116
|
+
}>;
|
|
117
|
+
}, z.core.$strip>;
|
|
118
|
+
/** Output of `fleet.reportCrewStatus`: nothing; the OK is the answer. */
|
|
119
|
+
export declare const reportCrewStatusOutputSchema: z.ZodObject<{}, z.core.$strict>;
|
|
120
|
+
/** Input of `fleet.confirmCrewRelease` (crew:run): the ship of the releasing request. */
|
|
121
|
+
export declare const confirmCrewReleaseInputSchema: z.ZodObject<{
|
|
122
|
+
shipId: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
|
|
123
|
+
}, z.core.$strip>;
|
|
124
|
+
/** Output of `fleet.confirmCrewRelease`: nothing; the OK is the answer. */
|
|
125
|
+
export declare const confirmCrewReleaseOutputSchema: z.ZodObject<{}, z.core.$strict>;
|
|
126
|
+
/**
|
|
127
|
+
* Output of `fleet.assignedCrewRequests` (crew:run): the crew requests
|
|
128
|
+
* assigned to the caller's ship, oldest ship first (ISO 8601 in UTC).
|
|
129
|
+
*/
|
|
130
|
+
export declare const assignedCrewRequestsOutputSchema: z.ZodArray<z.ZodObject<{
|
|
131
|
+
shipId: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
|
|
132
|
+
settings: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
|
|
133
|
+
settingsVersion: z.ZodInt;
|
|
134
|
+
requestedAt: z.ZodISODateTime;
|
|
135
|
+
status: z.ZodNullable<z.ZodEnum<{
|
|
136
|
+
crewing: "crewing";
|
|
137
|
+
running: "running";
|
|
138
|
+
restarting: "restarting";
|
|
139
|
+
crashed: "crashed";
|
|
140
|
+
releasing: "releasing";
|
|
141
|
+
}>>;
|
|
142
|
+
}, z.core.$strip>>;
|
|
143
|
+
/**
|
|
144
|
+
* Input of `fleet.explainCrewRequest` (crew:assign): why no trierarch can
|
|
145
|
+
* take the ship's unassigned request, trimmed, one line; null clears it.
|
|
146
|
+
*/
|
|
147
|
+
export declare const explainCrewRequestInputSchema: z.ZodObject<{
|
|
148
|
+
shipId: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
|
|
149
|
+
reason: z.ZodNullable<z.ZodString>;
|
|
150
|
+
}, z.core.$strip>;
|
|
151
|
+
/** Output of `fleet.explainCrewRequest`: nothing; the OK is the answer. */
|
|
152
|
+
export declare const explainCrewRequestOutputSchema: z.ZodObject<{}, z.core.$strict>;
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { idSchema } from '../ids/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Inputs and outputs of the crew request procedures (decision 0029): a
|
|
5
|
+
* standing request that a ship be kept crewed, with settings the server
|
|
6
|
+
* stores without meaning. A requester with fleet:manage sets and removes it.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* The most a crew request's settings may hold: 16 KB as the UTF-8 bytes of
|
|
10
|
+
* their serialized JSON (decision 0029).
|
|
11
|
+
*/
|
|
12
|
+
export const CREW_REQUEST_SETTINGS_MAX_BYTES = 16 * 1024;
|
|
13
|
+
const utf8 = new TextEncoder();
|
|
14
|
+
/** The size of a crew request's settings: the UTF-8 bytes of their serialized JSON. */
|
|
15
|
+
export function crewRequestSettingsBytes(settings) {
|
|
16
|
+
return utf8.encode(JSON.stringify(settings)).byteLength;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* A crew request's settings: one JSON object (harness, workspace, options, an
|
|
20
|
+
* optional first prompt, an optional squadron). Their shape is the trierarch
|
|
21
|
+
* plugin's to check, not the server's.
|
|
22
|
+
*/
|
|
23
|
+
export const crewRequestSettingsSchema = z.record(z.string(), z.json());
|
|
24
|
+
/**
|
|
25
|
+
* How the assigned trierarch says its crew of the ship stands (decision 0029):
|
|
26
|
+
* crewing, running, restarting, crashed, or releasing once the request is
|
|
27
|
+
* removed.
|
|
28
|
+
*/
|
|
29
|
+
export const CREW_STATUSES = ['crewing', 'running', 'restarting', 'crashed', 'releasing'];
|
|
30
|
+
export const crewStatusSchema = z.enum(CREW_STATUSES);
|
|
31
|
+
/** The longest reason the assigner may write on a crew request: one line, as a report's note. */
|
|
32
|
+
export const CREW_REQUEST_REASON_MAX_LENGTH = 200;
|
|
33
|
+
const REASON_MESSAGE = `A reason is one line of at most ${String(CREW_REQUEST_REASON_MAX_LENGTH)} characters`;
|
|
34
|
+
/** Input of `fleet.crewRequest`: the ship to keep crewed and its settings, replacing any it holds. */
|
|
35
|
+
export const crewRequestInputSchema = z.object({
|
|
36
|
+
shipId: idSchema('ship'),
|
|
37
|
+
settings: crewRequestSettingsSchema,
|
|
38
|
+
});
|
|
39
|
+
/** Output of `fleet.crewRequest`: the version of the settings now held, one more on every request. */
|
|
40
|
+
export const crewRequestOutputSchema = z.object({ settingsVersion: z.int().min(1) });
|
|
41
|
+
/** Input of `fleet.removeCrewRequest`: the ship whose crew request goes. */
|
|
42
|
+
export const removeCrewRequestInputSchema = z.object({ shipId: idSchema('ship') });
|
|
43
|
+
/** Output of `fleet.removeCrewRequest`: nothing; the OK is the answer. */
|
|
44
|
+
export const removeCrewRequestOutputSchema = z.strictObject({});
|
|
45
|
+
/**
|
|
46
|
+
* A ship's crew request as the fleet list shows it (ISO 8601 in UTC): its
|
|
47
|
+
* settings version, when it was requested, its assignment and its status,
|
|
48
|
+
* never its settings.
|
|
49
|
+
*/
|
|
50
|
+
export const listedCrewRequestSchema = z.object({
|
|
51
|
+
settingsVersion: z.int().min(1),
|
|
52
|
+
requestedAt: z.iso.datetime(),
|
|
53
|
+
/** The trierarch ship it is assigned to; null while unassigned, the operator's to-do. */
|
|
54
|
+
assignedTo: z.object({ id: idSchema('ship'), name: z.string() }).nullable(),
|
|
55
|
+
/** How its trierarch says the crew stands; null until it says. */
|
|
56
|
+
status: crewStatusSchema.nullable(),
|
|
57
|
+
/** Why no trierarch can take it, written by the assigner while unassigned; null when none. */
|
|
58
|
+
reason: z.string().nullable(),
|
|
59
|
+
/** The ship that got the starting prompt the ship's crew claimed with: argo for a hand crew, or its trierarch; null while not crewed. */
|
|
60
|
+
crewedBy: z.object({ id: idSchema('ship'), name: z.string() }).nullable(),
|
|
61
|
+
});
|
|
62
|
+
/** A ship's crew request whole, for its page: as the fleet list shows it, with its settings. */
|
|
63
|
+
export const crewRequestSchema = listedCrewRequestSchema.extend({ settings: crewRequestSettingsSchema });
|
|
64
|
+
/** Input of `fleet.assignCrew` (crew:assign): the ship whose request to assign, and the trierarch ship that crews it. */
|
|
65
|
+
export const assignCrewInputSchema = z.object({ shipId: idSchema('ship'), trierarchShipId: idSchema('ship') });
|
|
66
|
+
/** Output of `fleet.assignCrew`: nothing; the OK is the answer. */
|
|
67
|
+
export const assignCrewOutputSchema = z.strictObject({});
|
|
68
|
+
/** Input of `fleet.reportCrewStatus` (crew:run): the ship and how its crew stands. */
|
|
69
|
+
export const reportCrewStatusInputSchema = z.object({ shipId: idSchema('ship'), status: crewStatusSchema });
|
|
70
|
+
/** Output of `fleet.reportCrewStatus`: nothing; the OK is the answer. */
|
|
71
|
+
export const reportCrewStatusOutputSchema = z.strictObject({});
|
|
72
|
+
/** Input of `fleet.confirmCrewRelease` (crew:run): the ship of the releasing request. */
|
|
73
|
+
export const confirmCrewReleaseInputSchema = z.object({ shipId: idSchema('ship') });
|
|
74
|
+
/** Output of `fleet.confirmCrewRelease`: nothing; the OK is the answer. */
|
|
75
|
+
export const confirmCrewReleaseOutputSchema = z.strictObject({});
|
|
76
|
+
/**
|
|
77
|
+
* Output of `fleet.assignedCrewRequests` (crew:run): the crew requests
|
|
78
|
+
* assigned to the caller's ship, oldest ship first (ISO 8601 in UTC).
|
|
79
|
+
*/
|
|
80
|
+
export const assignedCrewRequestsOutputSchema = z.array(z.object({
|
|
81
|
+
shipId: idSchema('ship'),
|
|
82
|
+
settings: crewRequestSettingsSchema,
|
|
83
|
+
settingsVersion: z.int().min(1),
|
|
84
|
+
requestedAt: z.iso.datetime(),
|
|
85
|
+
status: crewStatusSchema.nullable(),
|
|
86
|
+
}));
|
|
87
|
+
/**
|
|
88
|
+
* Input of `fleet.explainCrewRequest` (crew:assign): why no trierarch can
|
|
89
|
+
* take the ship's unassigned request, trimmed, one line; null clears it.
|
|
90
|
+
*/
|
|
91
|
+
export const explainCrewRequestInputSchema = z.object({
|
|
92
|
+
shipId: idSchema('ship'),
|
|
93
|
+
reason: z
|
|
94
|
+
.string()
|
|
95
|
+
.trim()
|
|
96
|
+
.max(CREW_REQUEST_REASON_MAX_LENGTH, REASON_MESSAGE)
|
|
97
|
+
.refine((reason) => !/[\r\n]/.test(reason), REASON_MESSAGE)
|
|
98
|
+
.nullable(),
|
|
99
|
+
});
|
|
100
|
+
/** Output of `fleet.explainCrewRequest`: nothing; the OK is the answer. */
|
|
101
|
+
export const explainCrewRequestOutputSchema = z.strictObject({});
|
|
102
|
+
//# sourceMappingURL=crew-request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crew-request.js","sourceRoot":"","sources":["../../src/schemas/crew-request.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas/fleet.d.ts
CHANGED
|
@@ -27,6 +27,8 @@ export declare const commissionShipInputSchema: z.ZodObject<{
|
|
|
27
27
|
"fleet:read": "fleet:read";
|
|
28
28
|
"fleet:manage": "fleet:manage";
|
|
29
29
|
"fleet:crew": "fleet:crew";
|
|
30
|
+
"crew:assign": "crew:assign";
|
|
31
|
+
"crew:run": "crew:run";
|
|
30
32
|
}>>>;
|
|
31
33
|
note: z.ZodOptional<z.ZodString>;
|
|
32
34
|
idempotencyKey: z.ZodString;
|
|
@@ -182,6 +184,8 @@ export declare const listedShipSchema: z.ZodObject<{
|
|
|
182
184
|
"fleet:read": "fleet:read";
|
|
183
185
|
"fleet:manage": "fleet:manage";
|
|
184
186
|
"fleet:crew": "fleet:crew";
|
|
187
|
+
"crew:assign": "crew:assign";
|
|
188
|
+
"crew:run": "crew:run";
|
|
185
189
|
}>>;
|
|
186
190
|
report: z.ZodNullable<z.ZodObject<{
|
|
187
191
|
state: z.ZodEnum<{
|
|
@@ -191,6 +195,27 @@ export declare const listedShipSchema: z.ZodObject<{
|
|
|
191
195
|
}>;
|
|
192
196
|
note: z.ZodNullable<z.ZodString>;
|
|
193
197
|
reportedAt: z.ZodISODateTime;
|
|
198
|
+
detailsVersion: z.ZodInt;
|
|
199
|
+
}, z.core.$strip>>;
|
|
200
|
+
crewRequest: z.ZodNullable<z.ZodObject<{
|
|
201
|
+
settingsVersion: z.ZodInt;
|
|
202
|
+
requestedAt: z.ZodISODateTime;
|
|
203
|
+
assignedTo: z.ZodNullable<z.ZodObject<{
|
|
204
|
+
id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
|
|
205
|
+
name: z.ZodString;
|
|
206
|
+
}, z.core.$strip>>;
|
|
207
|
+
status: z.ZodNullable<z.ZodEnum<{
|
|
208
|
+
crewing: "crewing";
|
|
209
|
+
running: "running";
|
|
210
|
+
restarting: "restarting";
|
|
211
|
+
crashed: "crashed";
|
|
212
|
+
releasing: "releasing";
|
|
213
|
+
}>>;
|
|
214
|
+
reason: z.ZodNullable<z.ZodString>;
|
|
215
|
+
crewedBy: z.ZodNullable<z.ZodObject<{
|
|
216
|
+
id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
|
|
217
|
+
name: z.ZodString;
|
|
218
|
+
}, z.core.$strip>>;
|
|
194
219
|
}, z.core.$strip>>;
|
|
195
220
|
awaitingCrewSince: z.ZodNullable<z.ZodISODateTime>;
|
|
196
221
|
retiredAt: z.ZodNullable<z.ZodISODateTime>;
|
|
@@ -246,6 +271,8 @@ export declare const fleetListOutputSchema: z.ZodArray<z.ZodObject<{
|
|
|
246
271
|
"fleet:read": "fleet:read";
|
|
247
272
|
"fleet:manage": "fleet:manage";
|
|
248
273
|
"fleet:crew": "fleet:crew";
|
|
274
|
+
"crew:assign": "crew:assign";
|
|
275
|
+
"crew:run": "crew:run";
|
|
249
276
|
}>>;
|
|
250
277
|
report: z.ZodNullable<z.ZodObject<{
|
|
251
278
|
state: z.ZodEnum<{
|
|
@@ -255,6 +282,27 @@ export declare const fleetListOutputSchema: z.ZodArray<z.ZodObject<{
|
|
|
255
282
|
}>;
|
|
256
283
|
note: z.ZodNullable<z.ZodString>;
|
|
257
284
|
reportedAt: z.ZodISODateTime;
|
|
285
|
+
detailsVersion: z.ZodInt;
|
|
286
|
+
}, z.core.$strip>>;
|
|
287
|
+
crewRequest: z.ZodNullable<z.ZodObject<{
|
|
288
|
+
settingsVersion: z.ZodInt;
|
|
289
|
+
requestedAt: z.ZodISODateTime;
|
|
290
|
+
assignedTo: z.ZodNullable<z.ZodObject<{
|
|
291
|
+
id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
|
|
292
|
+
name: z.ZodString;
|
|
293
|
+
}, z.core.$strip>>;
|
|
294
|
+
status: z.ZodNullable<z.ZodEnum<{
|
|
295
|
+
crewing: "crewing";
|
|
296
|
+
running: "running";
|
|
297
|
+
restarting: "restarting";
|
|
298
|
+
crashed: "crashed";
|
|
299
|
+
releasing: "releasing";
|
|
300
|
+
}>>;
|
|
301
|
+
reason: z.ZodNullable<z.ZodString>;
|
|
302
|
+
crewedBy: z.ZodNullable<z.ZodObject<{
|
|
303
|
+
id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
|
|
304
|
+
name: z.ZodString;
|
|
305
|
+
}, z.core.$strip>>;
|
|
258
306
|
}, z.core.$strip>>;
|
|
259
307
|
awaitingCrewSince: z.ZodNullable<z.ZodISODateTime>;
|
|
260
308
|
retiredAt: z.ZodNullable<z.ZodISODateTime>;
|
|
@@ -298,6 +346,11 @@ export declare const liveFleetEventSchema: z.ZodObject<{
|
|
|
298
346
|
SignInTicketIssued: "SignInTicketIssued";
|
|
299
347
|
FleetLimitsChanged: "FleetLimitsChanged";
|
|
300
348
|
ViewerSessionStarted: "ViewerSessionStarted";
|
|
349
|
+
CrewRequested: "CrewRequested";
|
|
350
|
+
CrewRequestRemoved: "CrewRequestRemoved";
|
|
351
|
+
CrewAssigned: "CrewAssigned";
|
|
352
|
+
CrewStatusChanged: "CrewStatusChanged";
|
|
353
|
+
CrewRequestExplained: "CrewRequestExplained";
|
|
301
354
|
}>;
|
|
302
355
|
occurredAt: z.ZodISODateTime;
|
|
303
356
|
actorShipId: z.ZodNullable<z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>>;
|
|
@@ -336,6 +389,11 @@ export declare const fleetStreamItemSchema: z.ZodDiscriminatedUnion<[z.ZodObject
|
|
|
336
389
|
SignInTicketIssued: "SignInTicketIssued";
|
|
337
390
|
FleetLimitsChanged: "FleetLimitsChanged";
|
|
338
391
|
ViewerSessionStarted: "ViewerSessionStarted";
|
|
392
|
+
CrewRequested: "CrewRequested";
|
|
393
|
+
CrewRequestRemoved: "CrewRequestRemoved";
|
|
394
|
+
CrewAssigned: "CrewAssigned";
|
|
395
|
+
CrewStatusChanged: "CrewStatusChanged";
|
|
396
|
+
CrewRequestExplained: "CrewRequestExplained";
|
|
339
397
|
}>;
|
|
340
398
|
occurredAt: z.ZodISODateTime;
|
|
341
399
|
actorShipId: z.ZodNullable<z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>>;
|
package/dist/schemas/fleet.js
CHANGED
|
@@ -2,7 +2,8 @@ import { z } from 'zod';
|
|
|
2
2
|
import { eventTypeSchema, fleetScopeSchema, locationKindSchema, scopeSchema, shipKindSchema, shipStatusSchema } from '../fleet/index.js';
|
|
3
3
|
import { idSchema } from '../ids/index.js';
|
|
4
4
|
import { idempotencyKeySchema } from './idempotency-key.js';
|
|
5
|
-
import {
|
|
5
|
+
import { listedCrewRequestSchema } from './crew-request.js';
|
|
6
|
+
import { listedReportSchema } from './report.js';
|
|
6
7
|
/**
|
|
7
8
|
* Inputs and outputs of the fleet procedures: commission a ship, get its
|
|
8
9
|
* starting prompt, release it, list the fleet, follow its events live.
|
|
@@ -151,16 +152,13 @@ export const listedShipSchema = z.object({
|
|
|
151
152
|
/** What the ship may do, checked on every call: every agent ship sends and receives, argo has all. */
|
|
152
153
|
scopes: z.array(scopeSchema),
|
|
153
154
|
/**
|
|
154
|
-
* The crew's last report (ISO 8601 in UTC): its state, its note,
|
|
155
|
-
* last reported
|
|
155
|
+
* The crew's last report (ISO 8601 in UTC): its state, its note, when it
|
|
156
|
+
* last reported and the version of its details, never the details
|
|
157
|
+
* themselves. Null until the crew reports, and for a ship no session crews.
|
|
156
158
|
*/
|
|
157
|
-
report:
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
note: z.string().nullable(),
|
|
161
|
-
reportedAt: z.iso.datetime(),
|
|
162
|
-
})
|
|
163
|
-
.nullable(),
|
|
159
|
+
report: listedReportSchema.nullable(),
|
|
160
|
+
/** The ship's crew request (decision 0029); null when it holds none. */
|
|
161
|
+
crewRequest: listedCrewRequestSchema.nullable(),
|
|
164
162
|
/** Since when the ship awaits crew (ISO 8601 in UTC): its commission, or the end of its last session. Null unless it awaits crew. */
|
|
165
163
|
awaitingCrewSince: z.iso.datetime().nullable(),
|
|
166
164
|
/** When the operator retired the ship (ISO 8601 in UTC); null while it is active. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet.js","sourceRoot":"","sources":["../../src/schemas/fleet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACzI,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"fleet.js","sourceRoot":"","sources":["../../src/schemas/fleet.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas/follow.d.ts
CHANGED
|
@@ -42,6 +42,11 @@ export declare const followFleetOutputSchema: z.ZodObject<{
|
|
|
42
42
|
SignInTicketIssued: "SignInTicketIssued";
|
|
43
43
|
FleetLimitsChanged: "FleetLimitsChanged";
|
|
44
44
|
ViewerSessionStarted: "ViewerSessionStarted";
|
|
45
|
+
CrewRequested: "CrewRequested";
|
|
46
|
+
CrewRequestRemoved: "CrewRequestRemoved";
|
|
47
|
+
CrewAssigned: "CrewAssigned";
|
|
48
|
+
CrewStatusChanged: "CrewStatusChanged";
|
|
49
|
+
CrewRequestExplained: "CrewRequestExplained";
|
|
45
50
|
}>;
|
|
46
51
|
occurredAt: z.ZodISODateTime;
|
|
47
52
|
actorShipId: z.ZodNullable<z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>>;
|
|
@@ -75,7 +75,11 @@ export declare const shipDetailOutputSchema: z.ZodObject<{
|
|
|
75
75
|
"fleet:read": "fleet:read";
|
|
76
76
|
"fleet:manage": "fleet:manage";
|
|
77
77
|
"fleet:crew": "fleet:crew";
|
|
78
|
+
"crew:assign": "crew:assign";
|
|
79
|
+
"crew:run": "crew:run";
|
|
78
80
|
}>>;
|
|
81
|
+
awaitingCrewSince: z.ZodNullable<z.ZodISODateTime>;
|
|
82
|
+
retiredAt: z.ZodNullable<z.ZodISODateTime>;
|
|
79
83
|
report: z.ZodNullable<z.ZodObject<{
|
|
80
84
|
state: z.ZodEnum<{
|
|
81
85
|
working: "working";
|
|
@@ -84,9 +88,30 @@ export declare const shipDetailOutputSchema: z.ZodObject<{
|
|
|
84
88
|
}>;
|
|
85
89
|
note: z.ZodNullable<z.ZodString>;
|
|
86
90
|
reportedAt: z.ZodISODateTime;
|
|
91
|
+
detailsVersion: z.ZodInt;
|
|
92
|
+
details: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
|
|
93
|
+
}, z.core.$strip>>;
|
|
94
|
+
crewRequest: z.ZodNullable<z.ZodObject<{
|
|
95
|
+
settingsVersion: z.ZodInt;
|
|
96
|
+
requestedAt: z.ZodISODateTime;
|
|
97
|
+
assignedTo: z.ZodNullable<z.ZodObject<{
|
|
98
|
+
id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
|
|
99
|
+
name: z.ZodString;
|
|
100
|
+
}, z.core.$strip>>;
|
|
101
|
+
status: z.ZodNullable<z.ZodEnum<{
|
|
102
|
+
crewing: "crewing";
|
|
103
|
+
running: "running";
|
|
104
|
+
restarting: "restarting";
|
|
105
|
+
crashed: "crashed";
|
|
106
|
+
releasing: "releasing";
|
|
107
|
+
}>>;
|
|
108
|
+
reason: z.ZodNullable<z.ZodString>;
|
|
109
|
+
crewedBy: z.ZodNullable<z.ZodObject<{
|
|
110
|
+
id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
|
|
111
|
+
name: z.ZodString;
|
|
112
|
+
}, z.core.$strip>>;
|
|
113
|
+
settings: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
|
|
87
114
|
}, z.core.$strip>>;
|
|
88
|
-
awaitingCrewSince: z.ZodNullable<z.ZodISODateTime>;
|
|
89
|
-
retiredAt: z.ZodNullable<z.ZodISODateTime>;
|
|
90
115
|
commissionedAt: z.ZodISODateTime;
|
|
91
116
|
crewedSince: z.ZodNullable<z.ZodISODateTime>;
|
|
92
117
|
inFlightDeliveries: z.ZodInt;
|
|
@@ -118,6 +143,11 @@ export declare const timelineEntrySchema: z.ZodObject<{
|
|
|
118
143
|
SignInTicketIssued: "SignInTicketIssued";
|
|
119
144
|
FleetLimitsChanged: "FleetLimitsChanged";
|
|
120
145
|
ViewerSessionStarted: "ViewerSessionStarted";
|
|
146
|
+
CrewRequested: "CrewRequested";
|
|
147
|
+
CrewRequestRemoved: "CrewRequestRemoved";
|
|
148
|
+
CrewAssigned: "CrewAssigned";
|
|
149
|
+
CrewStatusChanged: "CrewStatusChanged";
|
|
150
|
+
CrewRequestExplained: "CrewRequestExplained";
|
|
121
151
|
}>;
|
|
122
152
|
occurredAt: z.ZodISODateTime;
|
|
123
153
|
actor: z.ZodNullable<z.ZodObject<{
|
|
@@ -175,6 +205,11 @@ export declare const shipTimelineOutputSchema: z.ZodArray<z.ZodObject<{
|
|
|
175
205
|
SignInTicketIssued: "SignInTicketIssued";
|
|
176
206
|
FleetLimitsChanged: "FleetLimitsChanged";
|
|
177
207
|
ViewerSessionStarted: "ViewerSessionStarted";
|
|
208
|
+
CrewRequested: "CrewRequested";
|
|
209
|
+
CrewRequestRemoved: "CrewRequestRemoved";
|
|
210
|
+
CrewAssigned: "CrewAssigned";
|
|
211
|
+
CrewStatusChanged: "CrewStatusChanged";
|
|
212
|
+
CrewRequestExplained: "CrewRequestExplained";
|
|
178
213
|
}>;
|
|
179
214
|
occurredAt: z.ZodISODateTime;
|
|
180
215
|
actor: z.ZodNullable<z.ZodObject<{
|
package/dist/schemas/history.js
CHANGED
|
@@ -2,6 +2,8 @@ import { z } from 'zod';
|
|
|
2
2
|
import { deliveryStateSchema, eventTypeSchema, locationKindSchema } from '../fleet/index.js';
|
|
3
3
|
import { idSchema } from '../ids/index.js';
|
|
4
4
|
import { listedShipSchema } from './fleet.js';
|
|
5
|
+
import { crewRequestSchema } from './crew-request.js';
|
|
6
|
+
import { reportSchema } from './report.js';
|
|
5
7
|
/**
|
|
6
8
|
* Inputs and outputs of the history procedures, for the ship page: one ship,
|
|
7
9
|
* its timeline from the event log, its messages, and one message with the
|
|
@@ -24,6 +26,10 @@ export const shipInputSchema = z.object({ shipId: idSchema('ship') });
|
|
|
24
26
|
* when it retired.
|
|
25
27
|
*/
|
|
26
28
|
export const shipDetailOutputSchema = listedShipSchema.extend({
|
|
29
|
+
/** The crew's last report as the fleet lists it, with its details. */
|
|
30
|
+
report: reportSchema.nullable(),
|
|
31
|
+
/** The ship's crew request, settings included. */
|
|
32
|
+
crewRequest: crewRequestSchema.nullable(),
|
|
27
33
|
commissionedAt: isoTime,
|
|
28
34
|
crewedSince: isoTime.nullable(),
|
|
29
35
|
/** What its crew holds in flight now: what a release or a re-crew returns to pending. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/schemas/history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC7F,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/schemas/history.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas/index.d.ts
CHANGED
package/dist/schemas/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
|
package/dist/schemas/report.d.ts
CHANGED
|
@@ -11,7 +11,23 @@ export type ReportState = z.infer<typeof reportStateSchema>;
|
|
|
11
11
|
export declare const REPORT_NOTE_MAX_LENGTH = 200;
|
|
12
12
|
/** Whether a note fits on one line. */
|
|
13
13
|
export declare function isOneLine(text: string): boolean;
|
|
14
|
-
/**
|
|
14
|
+
/**
|
|
15
|
+
* The most a report's details may hold: 16 KB as the UTF-8 bytes of their
|
|
16
|
+
* serialized JSON (decision 0028). Status, not storage: content goes
|
|
17
|
+
* elsewhere, by reference.
|
|
18
|
+
*/
|
|
19
|
+
export declare const REPORT_DETAILS_MAX_BYTES: number;
|
|
20
|
+
/** The size of a report's details: the UTF-8 bytes of their serialized JSON. */
|
|
21
|
+
export declare function reportDetailsBytes(details: ReportDetails): number;
|
|
22
|
+
/** A report's details: one JSON object, whose meaning lives outside the server (decision 0028). */
|
|
23
|
+
export declare const reportDetailsSchema: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
|
|
24
|
+
export type ReportDetails = z.infer<typeof reportDetailsSchema>;
|
|
25
|
+
/**
|
|
26
|
+
* Input of `report`: the crew's state and a short note on what it is doing,
|
|
27
|
+
* trimmed, and optionally its details. `details` sets them whole, null clears
|
|
28
|
+
* them; `detailsPatch` applies a JSON Merge Patch (RFC 7386) to them; never
|
|
29
|
+
* both. Left out, the details stay as they are. Calling it is a check-in.
|
|
30
|
+
*/
|
|
15
31
|
export declare const reportInputSchema: z.ZodObject<{
|
|
16
32
|
state: z.ZodEnum<{
|
|
17
33
|
working: "working";
|
|
@@ -19,7 +35,67 @@ export declare const reportInputSchema: z.ZodObject<{
|
|
|
19
35
|
idle: "idle";
|
|
20
36
|
}>;
|
|
21
37
|
note: z.ZodOptional<z.ZodString>;
|
|
38
|
+
details: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>>;
|
|
39
|
+
detailsPatch: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>>;
|
|
22
40
|
}, z.core.$strip>;
|
|
23
41
|
export type ReportInput = z.infer<typeof reportInputSchema>;
|
|
24
42
|
/** Output of `report`: nothing; the OK is the answer. */
|
|
25
43
|
export declare const reportOutputSchema: z.ZodObject<{}, z.core.$strict>;
|
|
44
|
+
/**
|
|
45
|
+
* A crew's report as the fleet list shows it (ISO 8601 in UTC): its state,
|
|
46
|
+
* its note, when it last reported, and the version of its details, which
|
|
47
|
+
* moves each time they change (0 before any).
|
|
48
|
+
*/
|
|
49
|
+
export declare const listedReportSchema: z.ZodObject<{
|
|
50
|
+
state: z.ZodEnum<{
|
|
51
|
+
working: "working";
|
|
52
|
+
blocked: "blocked";
|
|
53
|
+
idle: "idle";
|
|
54
|
+
}>;
|
|
55
|
+
note: z.ZodNullable<z.ZodString>;
|
|
56
|
+
reportedAt: z.ZodISODateTime;
|
|
57
|
+
detailsVersion: z.ZodInt;
|
|
58
|
+
}, z.core.$strip>;
|
|
59
|
+
/** A crew's report whole: as the fleet list shows it, with its details; null when it has none. */
|
|
60
|
+
export declare const reportSchema: z.ZodObject<{
|
|
61
|
+
state: z.ZodEnum<{
|
|
62
|
+
working: "working";
|
|
63
|
+
blocked: "blocked";
|
|
64
|
+
idle: "idle";
|
|
65
|
+
}>;
|
|
66
|
+
note: z.ZodNullable<z.ZodString>;
|
|
67
|
+
reportedAt: z.ZodISODateTime;
|
|
68
|
+
detailsVersion: z.ZodInt;
|
|
69
|
+
details: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
|
|
70
|
+
}, z.core.$strip>;
|
|
71
|
+
export type ShipReportOutput = z.infer<typeof reportSchema>;
|
|
72
|
+
/**
|
|
73
|
+
* Output of `reportLog`: the crew's own report, and the last report of the
|
|
74
|
+
* ship's previous crew, read-only (the crew log of the previous crew). Each
|
|
75
|
+
* null when there is none.
|
|
76
|
+
*/
|
|
77
|
+
export declare const reportLogOutputSchema: z.ZodObject<{
|
|
78
|
+
report: z.ZodNullable<z.ZodObject<{
|
|
79
|
+
state: z.ZodEnum<{
|
|
80
|
+
working: "working";
|
|
81
|
+
blocked: "blocked";
|
|
82
|
+
idle: "idle";
|
|
83
|
+
}>;
|
|
84
|
+
note: z.ZodNullable<z.ZodString>;
|
|
85
|
+
reportedAt: z.ZodISODateTime;
|
|
86
|
+
detailsVersion: z.ZodInt;
|
|
87
|
+
details: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
|
|
88
|
+
}, z.core.$strip>>;
|
|
89
|
+
previousCrew: z.ZodNullable<z.ZodObject<{
|
|
90
|
+
state: z.ZodEnum<{
|
|
91
|
+
working: "working";
|
|
92
|
+
blocked: "blocked";
|
|
93
|
+
idle: "idle";
|
|
94
|
+
}>;
|
|
95
|
+
note: z.ZodNullable<z.ZodString>;
|
|
96
|
+
reportedAt: z.ZodISODateTime;
|
|
97
|
+
detailsVersion: z.ZodInt;
|
|
98
|
+
details: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
|
|
99
|
+
}, z.core.$strip>>;
|
|
100
|
+
}, z.core.$strip>;
|
|
101
|
+
export type ReportLogOutput = z.infer<typeof reportLogOutputSchema>;
|
package/dist/schemas/report.js
CHANGED
|
@@ -9,11 +9,58 @@ const NOTE_MESSAGE = `A note is one line of at most ${String(REPORT_NOTE_MAX_LEN
|
|
|
9
9
|
export function isOneLine(text) {
|
|
10
10
|
return !/[\r\n]/.test(text);
|
|
11
11
|
}
|
|
12
|
-
/**
|
|
13
|
-
|
|
12
|
+
/**
|
|
13
|
+
* The most a report's details may hold: 16 KB as the UTF-8 bytes of their
|
|
14
|
+
* serialized JSON (decision 0028). Status, not storage: content goes
|
|
15
|
+
* elsewhere, by reference.
|
|
16
|
+
*/
|
|
17
|
+
export const REPORT_DETAILS_MAX_BYTES = 16 * 1024;
|
|
18
|
+
const utf8 = new TextEncoder();
|
|
19
|
+
/** The size of a report's details: the UTF-8 bytes of their serialized JSON. */
|
|
20
|
+
export function reportDetailsBytes(details) {
|
|
21
|
+
return utf8.encode(JSON.stringify(details)).byteLength;
|
|
22
|
+
}
|
|
23
|
+
/** A report's details: one JSON object, whose meaning lives outside the server (decision 0028). */
|
|
24
|
+
export const reportDetailsSchema = z.record(z.string(), z.json());
|
|
25
|
+
/**
|
|
26
|
+
* Input of `report`: the crew's state and a short note on what it is doing,
|
|
27
|
+
* trimmed, and optionally its details. `details` sets them whole, null clears
|
|
28
|
+
* them; `detailsPatch` applies a JSON Merge Patch (RFC 7386) to them; never
|
|
29
|
+
* both. Left out, the details stay as they are. Calling it is a check-in.
|
|
30
|
+
*/
|
|
31
|
+
export const reportInputSchema = z
|
|
32
|
+
.object({
|
|
14
33
|
state: reportStateSchema,
|
|
15
34
|
note: z.string().trim().max(REPORT_NOTE_MAX_LENGTH, NOTE_MESSAGE).refine(isOneLine, NOTE_MESSAGE).optional(),
|
|
35
|
+
details: reportDetailsSchema.nullable().optional(),
|
|
36
|
+
detailsPatch: reportDetailsSchema.nullable().optional(),
|
|
37
|
+
})
|
|
38
|
+
.refine((input) => input.details === undefined || input.detailsPatch === undefined, {
|
|
39
|
+
message: 'Give details or detailsPatch, not both',
|
|
40
|
+
path: ['detailsPatch'],
|
|
16
41
|
});
|
|
17
42
|
/** Output of `report`: nothing; the OK is the answer. */
|
|
18
43
|
export const reportOutputSchema = z.strictObject({});
|
|
44
|
+
/**
|
|
45
|
+
* A crew's report as the fleet list shows it (ISO 8601 in UTC): its state,
|
|
46
|
+
* its note, when it last reported, and the version of its details, which
|
|
47
|
+
* moves each time they change (0 before any).
|
|
48
|
+
*/
|
|
49
|
+
export const listedReportSchema = z.object({
|
|
50
|
+
state: reportStateSchema,
|
|
51
|
+
note: z.string().nullable(),
|
|
52
|
+
reportedAt: z.iso.datetime(),
|
|
53
|
+
detailsVersion: z.int().min(0),
|
|
54
|
+
});
|
|
55
|
+
/** A crew's report whole: as the fleet list shows it, with its details; null when it has none. */
|
|
56
|
+
export const reportSchema = listedReportSchema.extend({ details: reportDetailsSchema.nullable() });
|
|
57
|
+
/**
|
|
58
|
+
* Output of `reportLog`: the crew's own report, and the last report of the
|
|
59
|
+
* ship's previous crew, read-only (the crew log of the previous crew). Each
|
|
60
|
+
* null when there is none.
|
|
61
|
+
*/
|
|
62
|
+
export const reportLogOutputSchema = z.object({
|
|
63
|
+
report: reportSchema.nullable(),
|
|
64
|
+
previousCrew: reportSchema.nullable(),
|
|
65
|
+
});
|
|
19
66
|
//# sourceMappingURL=report.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/schemas/report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,8FAA8F;AAC9F,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAU,CAAC;AACrE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAGvD,0CAA0C;AAC1C,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAE1C,MAAM,YAAY,GAAG,iCAAiC,MAAM,CAAC,sBAAsB,CAAC,aAAa,CAAC;AAElG,uCAAuC;AACvC,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/schemas/report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,8FAA8F;AAC9F,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAU,CAAC;AACrE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAGvD,0CAA0C;AAC1C,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAE1C,MAAM,YAAY,GAAG,iCAAiC,MAAM,CAAC,sBAAsB,CAAC,aAAa,CAAC;AAElG,uCAAuC;AACvC,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,GAAG,IAAI,CAAC;AAElD,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;AAE/B,gFAAgF;AAChF,MAAM,UAAU,kBAAkB,CAAC,OAAsB;IACvD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;AACzD,CAAC;AAED,mGAAmG;AACnG,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAIlE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,CAAC;IACN,KAAK,EAAE,iBAAiB;IACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,sBAAsB,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,QAAQ,EAAE;IAC5G,OAAO,EAAE,mBAAmB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAClD,YAAY,EAAE,mBAAmB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACxD,CAAC;KACD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE;IAClF,OAAO,EAAE,wCAAwC;IACjD,IAAI,EAAE,CAAC,cAAc,CAAC;CACvB,CAAC,CAAC;AAIL,yDAAyD;AACzD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AAErD;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,KAAK,EAAE,iBAAiB;IACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE;IAC5B,cAAc,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC/B,CAAC,CAAC;AAEH,kGAAkG;AAClG,MAAM,CAAC,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,mBAAmB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAInG;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE;IAC/B,YAAY,EAAE,YAAY,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC"}
|
|
@@ -13,12 +13,12 @@ export declare const FIRST_PROMPT_MAX_BYTES = 8192;
|
|
|
13
13
|
/** Where an entry stands in the trierarch's loop; running covers idle and busy. */
|
|
14
14
|
export declare const TRIERARCH_ENTRY_STATES: readonly ["wanted", "crewing", "running", "restarting", "crashed", "releasing"];
|
|
15
15
|
export declare const trierarchEntryStateSchema: z.ZodEnum<{
|
|
16
|
-
running: "running";
|
|
17
|
-
wanted: "wanted";
|
|
18
16
|
crewing: "crewing";
|
|
17
|
+
running: "running";
|
|
19
18
|
restarting: "restarting";
|
|
20
19
|
crashed: "crashed";
|
|
21
20
|
releasing: "releasing";
|
|
21
|
+
wanted: "wanted";
|
|
22
22
|
}>;
|
|
23
23
|
export type TrierarchEntryState = z.infer<typeof trierarchEntryStateSchema>;
|
|
24
24
|
/** A new git worktree of a configured repository, or a configured folder used as it is: named, never a path. */
|
|
@@ -32,11 +32,27 @@ export declare const trierarchWorkspaceSchema: z.ZodDiscriminatedUnion<[z.ZodObj
|
|
|
32
32
|
}, z.core.$strict>], "kind">;
|
|
33
33
|
export type TrierarchWorkspace = z.infer<typeof trierarchWorkspaceSchema>;
|
|
34
34
|
export declare const describeCommandSchema: z.ZodObject<{}, z.core.$strict>;
|
|
35
|
+
/** A flag a harness adapter adds itself, as mechanism, never the operator's: on every launch or on a restart only. */
|
|
36
|
+
export declare const trierarchAdapterFlagSchema: z.ZodObject<{
|
|
37
|
+
flag: z.ZodString;
|
|
38
|
+
when: z.ZodEnum<{
|
|
39
|
+
always: "always";
|
|
40
|
+
restart: "restart";
|
|
41
|
+
}>;
|
|
42
|
+
}, z.core.$strict>;
|
|
43
|
+
export type TrierarchAdapterFlag = z.infer<typeof trierarchAdapterFlagSchema>;
|
|
35
44
|
export declare const describedAnswerSchema: z.ZodObject<{
|
|
36
45
|
harnesses: z.ZodArray<z.ZodObject<{
|
|
37
46
|
harness: z.ZodString;
|
|
38
47
|
options: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
|
|
39
48
|
flags: z.ZodArray<z.ZodString>;
|
|
49
|
+
adapterFlags: z.ZodArray<z.ZodObject<{
|
|
50
|
+
flag: z.ZodString;
|
|
51
|
+
when: z.ZodEnum<{
|
|
52
|
+
always: "always";
|
|
53
|
+
restart: "restart";
|
|
54
|
+
}>;
|
|
55
|
+
}, z.core.$strict>>;
|
|
40
56
|
}, z.core.$strict>>;
|
|
41
57
|
workspaces: z.ZodObject<{
|
|
42
58
|
repositories: z.ZodArray<z.ZodString>;
|
|
@@ -94,12 +110,12 @@ export declare const listedAnswerSchema: z.ZodObject<{
|
|
|
94
110
|
shipId: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
|
|
95
111
|
harness: z.ZodString;
|
|
96
112
|
state: z.ZodEnum<{
|
|
97
|
-
running: "running";
|
|
98
|
-
wanted: "wanted";
|
|
99
113
|
crewing: "crewing";
|
|
114
|
+
running: "running";
|
|
100
115
|
restarting: "restarting";
|
|
101
116
|
crashed: "crashed";
|
|
102
117
|
releasing: "releasing";
|
|
118
|
+
wanted: "wanted";
|
|
103
119
|
}>;
|
|
104
120
|
since: z.ZodISODateTime;
|
|
105
121
|
restarts: z.ZodInt;
|
|
@@ -29,6 +29,8 @@ export const trierarchWorkspaceSchema = z.discriminatedUnion('kind', [
|
|
|
29
29
|
/** A worktree the trierarch kept because it had changes, until a human or a release with force clears it. */
|
|
30
30
|
const keptWorktreeSchema = z.strictObject({ shipId: shipIdSchema, path: z.string().min(1) });
|
|
31
31
|
export const describeCommandSchema = z.strictObject({});
|
|
32
|
+
/** A flag a harness adapter adds itself, as mechanism, never the operator's: on every launch or on a restart only. */
|
|
33
|
+
export const trierarchAdapterFlagSchema = z.strictObject({ flag: z.string().min(1), when: z.enum(['always', 'restart']) });
|
|
32
34
|
export const describedAnswerSchema = z.strictObject({
|
|
33
35
|
harnesses: z.array(z.strictObject({
|
|
34
36
|
harness: harnessSchema,
|
|
@@ -36,6 +38,8 @@ export const describedAnswerSchema = z.strictObject({
|
|
|
36
38
|
options: z.record(z.string(), z.json()),
|
|
37
39
|
/** The flags every launch of this harness gets, as the configuration makes them. */
|
|
38
40
|
flags: z.array(z.string()),
|
|
41
|
+
/** The flags the harness's adapter adds itself, beside the configured ones. */
|
|
42
|
+
adapterFlags: z.array(trierarchAdapterFlagSchema),
|
|
39
43
|
})),
|
|
40
44
|
workspaces: z.strictObject({ repositories: z.array(trierarchNameSchema), folders: z.array(trierarchNameSchema) }),
|
|
41
45
|
caps: z.strictObject({ ships: z.int().positive(), running: z.int().positive() }),
|
|
@@ -52,6 +56,8 @@ export const wantCommandSchema = z.strictObject({
|
|
|
52
56
|
.string()
|
|
53
57
|
.min(1)
|
|
54
58
|
.refine((prompt) => utf8.encode(prompt).byteLength <= FIRST_PROMPT_MAX_BYTES, `A first prompt is at most ${String(FIRST_PROMPT_MAX_BYTES)} bytes`)
|
|
59
|
+
// A harness would read it as a flag the operator never configured (decision 0027).
|
|
60
|
+
.refine((prompt) => !prompt.startsWith('-'), 'A first prompt may not start with -, which reads as a flag')
|
|
55
61
|
.optional(),
|
|
56
62
|
/** Named settings from what describe offers; checked against its JSON Schema by the trierarch. */
|
|
57
63
|
options: z.record(z.string(), z.json()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/trierarch/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD;;;;;;GAMG;AAEH,+FAA+F;AAC/F,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,OAAO,oCAAoC,IAAI,OAAO,CAAC;AACzD,CAAC;AAED,qFAAqF;AACrF,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAE3C,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;AAE/B,mFAAmF;AACnF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,CAAU,CAAC;AACtH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;AAGxE,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;AAEtC,gHAAgH;AAChH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACnE,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;IACnH,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;CACzE,CAAC,CAAC;AAGH,6GAA6G;AAC7G,MAAM,kBAAkB,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAE7F,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AAExD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,YAAY,CAAC;IAClD,SAAS,EAAE,CAAC,CAAC,KAAK,CAChB,CAAC,CAAC,YAAY,CAAC;QACb,OAAO,EAAE,aAAa;QACtB,4DAA4D;QAC5D,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACvC,oFAAoF;QACpF,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/trierarch/protocol.ts"],"names":[],"mappings":"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"}
|