@aeolus-fleet/common 0.20.2 → 0.20.4

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/README.md +2 -0
  2. package/dist/fleet/index.d.ts +9 -4
  3. package/dist/fleet/index.js +6 -3
  4. package/dist/fleet/index.js.map +1 -1
  5. package/dist/ids/index.d.ts +2 -0
  6. package/dist/ids/index.js +1 -0
  7. package/dist/ids/index.js.map +1 -1
  8. package/dist/rules/index.d.ts +10 -0
  9. package/dist/rules/index.js +11 -0
  10. package/dist/rules/index.js.map +1 -0
  11. package/dist/rules/label-handle.d.ts +6 -0
  12. package/dist/rules/label-handle.js +9 -0
  13. package/dist/rules/label-handle.js.map +1 -0
  14. package/dist/rules/payload.d.ts +10 -0
  15. package/dist/rules/payload.js +14 -0
  16. package/dist/rules/payload.js.map +1 -0
  17. package/dist/rules/ship-handle.d.ts +10 -0
  18. package/dist/rules/ship-handle.js +13 -0
  19. package/dist/rules/ship-handle.js.map +1 -0
  20. package/dist/rules/sign-in.d.ts +15 -0
  21. package/dist/rules/sign-in.js +27 -0
  22. package/dist/rules/sign-in.js.map +1 -0
  23. package/dist/schemas/console.d.ts +2 -7
  24. package/dist/schemas/console.js +4 -9
  25. package/dist/schemas/console.js.map +1 -1
  26. package/dist/schemas/crew-request.d.ts +30 -0
  27. package/dist/schemas/crew-request.js +19 -0
  28. package/dist/schemas/crew-request.js.map +1 -1
  29. package/dist/schemas/fleet.d.ts +27 -7
  30. package/dist/schemas/fleet.js +5 -10
  31. package/dist/schemas/fleet.js.map +1 -1
  32. package/dist/schemas/follow.d.ts +2 -0
  33. package/dist/schemas/history.d.ts +17 -0
  34. package/dist/schemas/history.js +4 -2
  35. package/dist/schemas/history.js.map +1 -1
  36. package/dist/schemas/index.d.ts +1 -0
  37. package/dist/schemas/index.js +1 -0
  38. package/dist/schemas/index.js.map +1 -1
  39. package/dist/schemas/label.d.ts +1 -4
  40. package/dist/schemas/label.js +1 -4
  41. package/dist/schemas/label.js.map +1 -1
  42. package/dist/schemas/message.d.ts +1 -10
  43. package/dist/schemas/message.js +2 -13
  44. package/dist/schemas/message.js.map +1 -1
  45. package/dist/schemas/needs-attention.d.ts +2 -0
  46. package/dist/schemas/needs-attention.js +2 -0
  47. package/dist/schemas/needs-attention.js.map +1 -1
  48. package/dist/schemas/network.d.ts +116 -0
  49. package/dist/schemas/network.js +39 -0
  50. package/dist/schemas/network.js.map +1 -0
  51. package/package.json +7 -1
package/README.md CHANGED
@@ -3,3 +3,5 @@
3
3
  Shared schemas, prefixed ids and types for [Aeolus](https://github.com/ThomasHendrickx/aeolus-fleet), an agent fleet manager.
4
4
 
5
5
  Pre-v1: the API changes without notice until the v1 acceptance test passes.
6
+
7
+ `@aeolus-fleet/common/rules` holds the plain rules a browser may use for live hints, without zod: ship and label handles, the payload size and the sign-in checks. The schemas are built on the same rules.
@@ -5,7 +5,7 @@ import { z } from 'zod';
5
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", "crew:assign", "crew:run", "labels:define", "labels:assign"];
8
+ export declare const SCOPES: readonly ["messages:send", "messages:receive", "fleet:read", "fleet:manage", "crew:assign", "crew:run", "labels:define", "labels:assign", "fleet:network"];
9
9
  export declare const scopeSchema: z.ZodEnum<{
10
10
  "messages:send": "messages:send";
11
11
  "messages:receive": "messages:receive";
@@ -15,6 +15,7 @@ export declare const scopeSchema: z.ZodEnum<{
15
15
  "crew:run": "crew:run";
16
16
  "labels:define": "labels:define";
17
17
  "labels:assign": "labels:assign";
18
+ "fleet:network": "fleet:network";
18
19
  }>;
19
20
  export type Scope = z.infer<typeof scopeSchema>;
20
21
  /**
@@ -23,9 +24,10 @@ export type Scope = z.infer<typeof scopeSchema>;
23
24
  * request assignments; `crew:run` crews the ships whose requests are assigned
24
25
  * to its ship (decision 0029). `labels:define` defines labels and changes
25
26
  * their values; `labels:assign` assigns and unassigns the labels its ship owns
26
- * (decision 0031).
27
+ * (decision 0031). `fleet:network` sets the fleet's network rules (decision
28
+ * 0034).
27
29
  */
28
- export declare const FLEET_SCOPES: readonly ["fleet:read", "fleet:manage", "crew:assign", "crew:run", "labels:define", "labels:assign"];
30
+ export declare const FLEET_SCOPES: readonly ["fleet:read", "fleet:manage", "crew:assign", "crew:run", "labels:define", "labels:assign", "fleet:network"];
29
31
  export declare const fleetScopeSchema: z.ZodEnum<{
30
32
  "fleet:read": "fleet:read";
31
33
  "fleet:manage": "fleet:manage";
@@ -33,6 +35,7 @@ export declare const fleetScopeSchema: z.ZodEnum<{
33
35
  "crew:run": "crew:run";
34
36
  "labels:define": "labels:define";
35
37
  "labels:assign": "labels:assign";
38
+ "fleet:network": "fleet:network";
36
39
  }>;
37
40
  export type FleetScope = z.infer<typeof fleetScopeSchema>;
38
41
  /** `argo` is the one ship of kind `operator` in a fleet; every other ship is an `agent`. */
@@ -86,7 +89,7 @@ export declare const deliveryStateSchema: z.ZodEnum<{
86
89
  }>;
87
90
  export type DeliveryState = z.infer<typeof deliveryStateSchema>;
88
91
  /** The event types written so far. Each later slice adds the ones it writes. */
89
- 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", "LabelDefined", "LabelValuesChanged", "LabelRetired", "LabelAssigned", "LabelUnassigned", "LabelDeleted", "WorktreeClearRequested", "WorktreeCleared", "WorktreeClearRemoved"];
92
+ 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", "CrewRequestGivenBack", "LabelDefined", "LabelValuesChanged", "LabelRetired", "LabelAssigned", "LabelUnassigned", "LabelDeleted", "WorktreeClearRequested", "WorktreeCleared", "WorktreeClearRemoved", "NetworkRulesSet"];
90
93
  export declare const eventTypeSchema: z.ZodEnum<{
91
94
  FleetInitialised: "FleetInitialised";
92
95
  ShipCommissioned: "ShipCommissioned";
@@ -113,6 +116,7 @@ export declare const eventTypeSchema: z.ZodEnum<{
113
116
  CrewAssigned: "CrewAssigned";
114
117
  CrewStatusChanged: "CrewStatusChanged";
115
118
  CrewRequestExplained: "CrewRequestExplained";
119
+ CrewRequestGivenBack: "CrewRequestGivenBack";
116
120
  LabelDefined: "LabelDefined";
117
121
  LabelValuesChanged: "LabelValuesChanged";
118
122
  LabelRetired: "LabelRetired";
@@ -122,6 +126,7 @@ export declare const eventTypeSchema: z.ZodEnum<{
122
126
  WorktreeClearRequested: "WorktreeClearRequested";
123
127
  WorktreeCleared: "WorktreeCleared";
124
128
  WorktreeClearRemoved: "WorktreeClearRemoved";
129
+ NetworkRulesSet: "NetworkRulesSet";
125
130
  }>;
126
131
  export type EventType = z.infer<typeof eventTypeSchema>;
127
132
  export * from './mcp-url.js';
@@ -5,7 +5,7 @@ import { z } from 'zod';
5
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', 'crew:assign', 'crew:run', 'labels:define', 'labels:assign'];
8
+ export const SCOPES = ['messages:send', 'messages:receive', 'fleet:read', 'fleet:manage', 'crew:assign', 'crew:run', 'labels:define', 'labels:assign', 'fleet:network'];
9
9
  export const scopeSchema = z.enum(SCOPES);
10
10
  /**
11
11
  * The scopes commissioning may add to an agent ship, beside sending and
@@ -13,9 +13,10 @@ export const scopeSchema = z.enum(SCOPES);
13
13
  * request assignments; `crew:run` crews the ships whose requests are assigned
14
14
  * to its ship (decision 0029). `labels:define` defines labels and changes
15
15
  * their values; `labels:assign` assigns and unassigns the labels its ship owns
16
- * (decision 0031).
16
+ * (decision 0031). `fleet:network` sets the fleet's network rules (decision
17
+ * 0034).
17
18
  */
18
- export const FLEET_SCOPES = ['fleet:read', 'fleet:manage', 'crew:assign', 'crew:run', 'labels:define', 'labels:assign'];
19
+ export const FLEET_SCOPES = ['fleet:read', 'fleet:manage', 'crew:assign', 'crew:run', 'labels:define', 'labels:assign', 'fleet:network'];
19
20
  export const fleetScopeSchema = z.enum(FLEET_SCOPES);
20
21
  /** `argo` is the one ship of kind `operator` in a fleet; every other ship is an `agent`. */
21
22
  export const SHIP_KINDS = ['operator', 'agent', 'viewer'];
@@ -66,6 +67,7 @@ export const EVENT_TYPES = [
66
67
  'CrewAssigned',
67
68
  'CrewStatusChanged',
68
69
  'CrewRequestExplained',
70
+ 'CrewRequestGivenBack',
69
71
  'LabelDefined',
70
72
  'LabelValuesChanged',
71
73
  'LabelRetired',
@@ -75,6 +77,7 @@ export const EVENT_TYPES = [
75
77
  'WorktreeClearRequested',
76
78
  'WorktreeCleared',
77
79
  'WorktreeClearRemoved',
80
+ 'NetworkRulesSet',
78
81
  ];
79
82
  export const eventTypeSchema = z.enum(EVENT_TYPES);
80
83
  export * from './mcp-url.js';
@@ -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,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,CAAU,CAAC;AAChK,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAG1C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,CAAU,CAAC;AACjI,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;IACtB,cAAc;IACd,oBAAoB;IACpB,cAAc;IACd,eAAe;IACf,iBAAiB;IACjB,cAAc;IACd,wBAAwB;IACxB,iBAAiB;IACjB,sBAAsB;CACd,CAAC;AACX,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAGnD,cAAc,cAAc,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,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,CAAU,CAAC;AACjL,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAG1C;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,CAAU,CAAC;AAClJ,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;IACtB,sBAAsB;IACtB,cAAc;IACd,oBAAoB;IACpB,cAAc;IACd,eAAe;IACf,iBAAiB;IACjB,cAAc;IACd,wBAAwB;IACxB,iBAAiB;IACjB,sBAAsB;IACtB,iBAAiB;CACT,CAAC;AACX,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAGnD,cAAc,cAAc,CAAC"}
@@ -21,6 +21,7 @@ export declare const ID_PREFIXES: {
21
21
  readonly consoleSession: "ses";
22
22
  readonly label: "lbl";
23
23
  readonly labelValue: "lbv";
24
+ readonly reachRefusal: "rfs";
24
25
  };
25
26
  export type IdKind = keyof typeof ID_PREFIXES;
26
27
  /** Every kind of id, in the order of ID_PREFIXES. */
@@ -38,6 +39,7 @@ export type OperatorId = Id<'operator'>;
38
39
  export type ConsoleSessionId = Id<'consoleSession'>;
39
40
  export type LabelId = Id<'label'>;
40
41
  export type LabelValueId = Id<'labelValue'>;
42
+ export type ReachRefusalId = Id<'reachRefusal'>;
41
43
  export interface IdGeneratorOptions {
42
44
  /** Milliseconds since the Unix epoch. Defaults to `Date.now`. */
43
45
  now?: () => number;
package/dist/ids/index.js CHANGED
@@ -21,6 +21,7 @@ export const ID_PREFIXES = {
21
21
  consoleSession: 'ses',
22
22
  label: 'lbl',
23
23
  labelValue: 'lbv',
24
+ reachRefusal: 'rfs',
24
25
  };
25
26
  function isIdKind(value) {
26
27
  return value in ID_PREFIXES;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ids/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ids/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * `@aeolus-fleet/common/rules`: the plain rules the console's live hints use
3
+ * in the browser (decision 0033), without zod, so a page that uses one carries
4
+ * no schema. Common's schemas are built on the same rules, and the server
5
+ * stays the authority on submit.
6
+ */
7
+ export * from './label-handle.js';
8
+ export * from './payload.js';
9
+ export * from './ship-handle.js';
10
+ export * from './sign-in.js';
@@ -0,0 +1,11 @@
1
+ /**
2
+ * `@aeolus-fleet/common/rules`: the plain rules the console's live hints use
3
+ * in the browser (decision 0033), without zod, so a page that uses one carries
4
+ * no schema. Common's schemas are built on the same rules, and the server
5
+ * stays the authority on submit.
6
+ */
7
+ export * from './label-handle.js';
8
+ export * from './payload.js';
9
+ export * from './ship-handle.js';
10
+ export * from './sign-in.js';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC"}
@@ -0,0 +1,6 @@
1
+ /** The most characters a label's key or one of its values may have (decision 0031). */
2
+ export declare const LABEL_HANDLE_MAX_LENGTH = 63;
3
+ /** A label's key or value: lowercase letters, digits and hyphens, at least one. */
4
+ export declare const LABEL_HANDLE_PATTERN: RegExp;
5
+ /** Whether a text is a label's key or value as decision 0031 allows it. */
6
+ export declare function isLabelHandle(text: string): boolean;
@@ -0,0 +1,9 @@
1
+ /** The most characters a label's key or one of its values may have (decision 0031). */
2
+ export const LABEL_HANDLE_MAX_LENGTH = 63;
3
+ /** A label's key or value: lowercase letters, digits and hyphens, at least one. */
4
+ export const LABEL_HANDLE_PATTERN = /^[a-z0-9-]+$/;
5
+ /** Whether a text is a label's key or value as decision 0031 allows it. */
6
+ export function isLabelHandle(text) {
7
+ return text.length <= LABEL_HANDLE_MAX_LENGTH && LABEL_HANDLE_PATTERN.test(text);
8
+ }
9
+ //# sourceMappingURL=label-handle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label-handle.js","sourceRoot":"","sources":["../../src/rules/label-handle.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAE1C,mFAAmF;AACnF,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAEnD,2EAA2E;AAC3E,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,IAAI,CAAC,MAAM,IAAI,uBAAuB,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnF,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * A payload is at most 64 KB (ADR 0006): a message carries a reference and an
3
+ * instruction, not the content itself.
4
+ */
5
+ export declare const PAYLOAD_MAX_BYTES: number;
6
+ /**
7
+ * The size of a payload serialized: the bytes of its text in UTF-8, as the
8
+ * database stores it and counts it.
9
+ */
10
+ export declare function payloadBytes(payload: string): number;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * A payload is at most 64 KB (ADR 0006): a message carries a reference and an
3
+ * instruction, not the content itself.
4
+ */
5
+ export const PAYLOAD_MAX_BYTES = 64 * 1024;
6
+ const utf8 = new TextEncoder();
7
+ /**
8
+ * The size of a payload serialized: the bytes of its text in UTF-8, as the
9
+ * database stores it and counts it.
10
+ */
11
+ export function payloadBytes(payload) {
12
+ return utf8.encode(payload).byteLength;
13
+ }
14
+ //# sourceMappingURL=payload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payload.js","sourceRoot":"","sources":["../../src/rules/payload.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,GAAG,IAAI,CAAC;AAE3C,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;AAE/B;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;AACzC,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * A ship's name and its type are handles (docs/blueprint.md, "Ship"). A colon
3
+ * is an ordinary character, so a prefix can group ships (`hemma:planner`); it
4
+ * carries no meaning for the fleet.
5
+ */
6
+ export declare const SHIP_HANDLE_MAX_LENGTH = 48;
7
+ export declare const SHIP_HANDLE_PATTERN: RegExp;
8
+ export declare const SHIP_HANDLE_MESSAGE: string;
9
+ /** Whether a text is a ship handle: 1 to 48 lowercase letters, digits, hyphens or colons. */
10
+ export declare function isShipHandle(text: string): boolean;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * A ship's name and its type are handles (docs/blueprint.md, "Ship"). A colon
3
+ * is an ordinary character, so a prefix can group ships (`hemma:planner`); it
4
+ * carries no meaning for the fleet.
5
+ */
6
+ export const SHIP_HANDLE_MAX_LENGTH = 48;
7
+ export const SHIP_HANDLE_PATTERN = /^[a-z0-9:-]+$/;
8
+ export const SHIP_HANDLE_MESSAGE = `Use 1 to ${String(SHIP_HANDLE_MAX_LENGTH)} lowercase letters, digits, hyphens or colons`;
9
+ /** Whether a text is a ship handle: 1 to 48 lowercase letters, digits, hyphens or colons. */
10
+ export function isShipHandle(text) {
11
+ return text.length <= SHIP_HANDLE_MAX_LENGTH && SHIP_HANDLE_PATTERN.test(text);
12
+ }
13
+ //# sourceMappingURL=ship-handle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ship-handle.js","sourceRoot":"","sources":["../../src/rules/ship-handle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AACzC,MAAM,CAAC,MAAM,mBAAmB,GAAG,eAAe,CAAC;AACnD,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,MAAM,CAAC,sBAAsB,CAAC,+CAA+C,CAAC;AAE7H,6FAA6F;AAC7F,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,IAAI,CAAC,MAAM,IAAI,sBAAsB,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjF,CAAC"}
@@ -0,0 +1,15 @@
1
+ /** The operator's email: at most 254 characters, the longest address mail carries. */
2
+ export declare const OPERATOR_EMAIL_MAX_LENGTH = 254;
3
+ /**
4
+ * Any operator password up to this length: no strength rules (ADR 0016). The
5
+ * bound only keeps an absurd input from reaching the password hash.
6
+ */
7
+ export declare const OPERATOR_PASSWORD_MAX_LENGTH = 1024;
8
+ export declare const EMAIL_REQUIRED = "Enter your email";
9
+ export declare const EMAIL_TOO_LONG: string;
10
+ export declare const PASSWORD_REQUIRED = "Enter your password";
11
+ export declare const PASSWORD_TOO_LONG: string;
12
+ /** What is wrong with a sign-in email, whitespace around it dropped; undefined when nothing is. */
13
+ export declare function signInEmailProblem(email: string): string | undefined;
14
+ /** What is wrong with a sign-in password, taken exactly as typed; undefined when nothing is. */
15
+ export declare function signInPasswordProblem(password: string): string | undefined;
@@ -0,0 +1,27 @@
1
+ /** The operator's email: at most 254 characters, the longest address mail carries. */
2
+ export const OPERATOR_EMAIL_MAX_LENGTH = 254;
3
+ /**
4
+ * Any operator password up to this length: no strength rules (ADR 0016). The
5
+ * bound only keeps an absurd input from reaching the password hash.
6
+ */
7
+ export const OPERATOR_PASSWORD_MAX_LENGTH = 1024;
8
+ export const EMAIL_REQUIRED = 'Enter your email';
9
+ export const EMAIL_TOO_LONG = `Use an email of at most ${String(OPERATOR_EMAIL_MAX_LENGTH)} characters`;
10
+ export const PASSWORD_REQUIRED = 'Enter your password';
11
+ export const PASSWORD_TOO_LONG = `Use a password of at most ${String(OPERATOR_PASSWORD_MAX_LENGTH)} characters`;
12
+ /** What is wrong with a sign-in email, whitespace around it dropped; undefined when nothing is. */
13
+ export function signInEmailProblem(email) {
14
+ const trimmed = email.trim();
15
+ if (trimmed.length === 0) {
16
+ return EMAIL_REQUIRED;
17
+ }
18
+ return trimmed.length > OPERATOR_EMAIL_MAX_LENGTH ? EMAIL_TOO_LONG : undefined;
19
+ }
20
+ /** What is wrong with a sign-in password, taken exactly as typed; undefined when nothing is. */
21
+ export function signInPasswordProblem(password) {
22
+ if (password.length === 0) {
23
+ return PASSWORD_REQUIRED;
24
+ }
25
+ return password.length > OPERATOR_PASSWORD_MAX_LENGTH ? PASSWORD_TOO_LONG : undefined;
26
+ }
27
+ //# sourceMappingURL=sign-in.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sign-in.js","sourceRoot":"","sources":["../../src/rules/sign-in.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAE7C;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAEjD,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAAC;AACjD,MAAM,CAAC,MAAM,cAAc,GAAG,2BAA2B,MAAM,CAAC,yBAAyB,CAAC,aAAa,CAAC;AACxG,MAAM,CAAC,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AACvD,MAAM,CAAC,MAAM,iBAAiB,GAAG,6BAA6B,MAAM,CAAC,4BAA4B,CAAC,aAAa,CAAC;AAEhH,mGAAmG;AACnG,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,GAAG,yBAAyB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;AACjF,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IACpD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,OAAO,QAAQ,CAAC,MAAM,GAAG,4BAA4B,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;AACxF,CAAC"}
@@ -1,13 +1,7 @@
1
1
  import { z } from 'zod';
2
- /** The operator's email: at most 254 characters, the longest address mail carries. */
3
- export declare const OPERATOR_EMAIL_MAX_LENGTH = 254;
4
2
  /** One @ with something on each side, and no whitespace. */
5
3
  export declare const OPERATOR_EMAIL_PATTERN: RegExp;
6
- /**
7
- * Any operator password up to this length: no strength rules (ADR 0016). The
8
- * bound only keeps an absurd input from reaching the password hash.
9
- */
10
- export declare const OPERATOR_PASSWORD_MAX_LENGTH = 1024;
4
+ export { OPERATOR_EMAIL_MAX_LENGTH, OPERATOR_PASSWORD_MAX_LENGTH } from '../rules/sign-in.js';
11
5
  /**
12
6
  * Input of `console.signIn`: the operator's email and password. Whitespace
13
7
  * around the email is dropped; the password is taken exactly as typed. The
@@ -62,6 +56,7 @@ export declare const consoleSessionOutputSchema: z.ZodObject<{
62
56
  "crew:run": "crew:run";
63
57
  "labels:define": "labels:define";
64
58
  "labels:assign": "labels:assign";
59
+ "fleet:network": "fleet:network";
65
60
  }>>;
66
61
  }, z.core.$strip>;
67
62
  export type ConsoleSessionOutput = z.infer<typeof consoleSessionOutputSchema>;
@@ -1,15 +1,10 @@
1
1
  import { z } from 'zod';
2
2
  import { scopeSchema } from '../fleet/index.js';
3
3
  import { idSchema } from '../ids/index.js';
4
- /** The operator's email: at most 254 characters, the longest address mail carries. */
5
- export const OPERATOR_EMAIL_MAX_LENGTH = 254;
4
+ import { EMAIL_REQUIRED, EMAIL_TOO_LONG, OPERATOR_EMAIL_MAX_LENGTH, OPERATOR_PASSWORD_MAX_LENGTH, PASSWORD_REQUIRED, PASSWORD_TOO_LONG } from '../rules/sign-in.js';
6
5
  /** One @ with something on each side, and no whitespace. */
7
6
  export const OPERATOR_EMAIL_PATTERN = /^[^\s@]+@[^\s@]+$/;
8
- /**
9
- * Any operator password up to this length: no strength rules (ADR 0016). The
10
- * bound only keeps an absurd input from reaching the password hash.
11
- */
12
- export const OPERATOR_PASSWORD_MAX_LENGTH = 1024;
7
+ export { OPERATOR_EMAIL_MAX_LENGTH, OPERATOR_PASSWORD_MAX_LENGTH } from '../rules/sign-in.js';
13
8
  /**
14
9
  * Input of `console.signIn`: the operator's email and password. Whitespace
15
10
  * around the email is dropped; the password is taken exactly as typed. The
@@ -17,8 +12,8 @@ export const OPERATOR_PASSWORD_MAX_LENGTH = 1024;
17
12
  * simply wrong, like a wrong password.
18
13
  */
19
14
  export const signInInputSchema = z.object({
20
- email: z.string().trim().min(1, 'Enter your email').max(OPERATOR_EMAIL_MAX_LENGTH),
21
- password: z.string().min(1, 'Enter your password').max(OPERATOR_PASSWORD_MAX_LENGTH),
15
+ email: z.string().trim().min(1, EMAIL_REQUIRED).max(OPERATOR_EMAIL_MAX_LENGTH, EMAIL_TOO_LONG),
16
+ password: z.string().min(1, PASSWORD_REQUIRED).max(OPERATOR_PASSWORD_MAX_LENGTH, PASSWORD_TOO_LONG),
22
17
  });
23
18
  /** The longest sign-in ticket the console takes: far longer than any the server issues. */
24
19
  const SIGN_IN_TICKET_MAX_LENGTH = 256;
@@ -1 +1 @@
1
- {"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/schemas/console.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/schemas/console.ts"],"names":[],"mappings":"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"}
@@ -76,6 +76,15 @@ export declare const listedCrewRequestSchema: z.ZodObject<{
76
76
  }, z.core.$strip>>;
77
77
  attempt: z.ZodInt;
78
78
  startedAt: z.ZodNullable<z.ZodISODateTime>;
79
+ givenBack: z.ZodArray<z.ZodObject<{
80
+ trierarch: z.ZodObject<{
81
+ id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
82
+ name: z.ZodString;
83
+ }, z.core.$strip>;
84
+ settingsVersion: z.ZodInt;
85
+ reason: z.ZodString;
86
+ givenBackAt: z.ZodISODateTime;
87
+ }, z.core.$strip>>;
79
88
  }, z.core.$strip>;
80
89
  /** A ship's crew request whole, for its page: as the fleet list shows it, with its settings. */
81
90
  export declare const crewRequestSchema: z.ZodObject<{
@@ -99,6 +108,15 @@ export declare const crewRequestSchema: z.ZodObject<{
99
108
  }, z.core.$strip>>;
100
109
  attempt: z.ZodInt;
101
110
  startedAt: z.ZodNullable<z.ZodISODateTime>;
111
+ givenBack: z.ZodArray<z.ZodObject<{
112
+ trierarch: z.ZodObject<{
113
+ id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
114
+ name: z.ZodString;
115
+ }, z.core.$strip>;
116
+ settingsVersion: z.ZodInt;
117
+ reason: z.ZodString;
118
+ givenBackAt: z.ZodISODateTime;
119
+ }, z.core.$strip>>;
102
120
  settings: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
103
121
  }, z.core.$strip>;
104
122
  /** Input of `fleet.assignCrew` (crew:assign): the ship whose request to assign, and the trierarch ship that crews it. */
@@ -156,3 +174,15 @@ export declare const explainCrewRequestInputSchema: z.ZodObject<{
156
174
  }, z.core.$strip>;
157
175
  /** Output of `fleet.explainCrewRequest`: nothing; the OK is the answer. */
158
176
  export declare const explainCrewRequestOutputSchema: z.ZodObject<{}, z.core.$strict>;
177
+ /**
178
+ * Input of `fleet.giveBackCrewRequest` (crew:run): the assigned trierarch
179
+ * gives back a request it tried to fulfil and failed, while its crew is not
180
+ * final (#382): the ship, the settings version it tried, and why, one line.
181
+ */
182
+ export declare const giveBackCrewRequestInputSchema: z.ZodObject<{
183
+ shipId: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
184
+ settingsVersion: z.ZodInt;
185
+ reason: z.ZodString;
186
+ }, z.core.$strip>;
187
+ /** Output of `fleet.giveBackCrewRequest`: nothing; the OK is the answer. */
188
+ export declare const giveBackCrewRequestOutputSchema: z.ZodObject<{}, z.core.$strict>;
@@ -62,6 +62,8 @@ export const listedCrewRequestSchema = z.object({
62
62
  attempt: z.int().min(0),
63
63
  /** When the session its trierarch runs now started, with the status; null while none runs. */
64
64
  startedAt: z.iso.datetime().nullable(),
65
+ /** The trierarchs that gave it back before their crew was final, oldest first (#382): placement leaves them out. Cleared on every new settings version. */
66
+ givenBack: z.array(z.object({ trierarch: z.object({ id: idSchema('ship'), name: z.string() }), settingsVersion: z.int().min(1), reason: z.string(), givenBackAt: z.iso.datetime() })),
65
67
  });
66
68
  /** A ship's crew request whole, for its page: as the fleet list shows it, with its settings. */
67
69
  export const crewRequestSchema = listedCrewRequestSchema.extend({ settings: crewRequestSettingsSchema });
@@ -110,4 +112,21 @@ export const explainCrewRequestInputSchema = z.object({
110
112
  });
111
113
  /** Output of `fleet.explainCrewRequest`: nothing; the OK is the answer. */
112
114
  export const explainCrewRequestOutputSchema = z.strictObject({});
115
+ /**
116
+ * Input of `fleet.giveBackCrewRequest` (crew:run): the assigned trierarch
117
+ * gives back a request it tried to fulfil and failed, while its crew is not
118
+ * final (#382): the ship, the settings version it tried, and why, one line.
119
+ */
120
+ export const giveBackCrewRequestInputSchema = z.object({
121
+ shipId: idSchema('ship'),
122
+ settingsVersion: z.int().min(1),
123
+ reason: z
124
+ .string()
125
+ .trim()
126
+ .min(1, REASON_MESSAGE)
127
+ .max(CREW_REQUEST_REASON_MAX_LENGTH, REASON_MESSAGE)
128
+ .refine((reason) => !/[\r\n]/.test(reason), REASON_MESSAGE),
129
+ });
130
+ /** Output of `fleet.giveBackCrewRequest`: nothing; the OK is the answer. */
131
+ export const giveBackCrewRequestOutputSchema = z.strictObject({});
113
132
  //# sourceMappingURL=crew-request.js.map
@@ -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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"}
@@ -3,13 +3,8 @@ import { z } from 'zod';
3
3
  * Inputs and outputs of the fleet procedures: commission a ship, get its
4
4
  * starting prompt, release it, list the fleet, follow its events live.
5
5
  */
6
- /**
7
- * A ship's name and its type are handles (docs/blueprint.md, "Ship"). A colon
8
- * is an ordinary character, so a prefix can group ships (`hemma:planner`); it
9
- * carries no meaning for the fleet.
10
- */
11
- export declare const SHIP_HANDLE_MAX_LENGTH = 48;
12
- export declare const SHIP_HANDLE_PATTERN: RegExp;
6
+ export { SHIP_HANDLE_MAX_LENGTH, SHIP_HANDLE_PATTERN } from '../rules/ship-handle.js';
7
+ /** A ship's name or type, by the rule in rules/ship-handle.ts. */
13
8
  export declare const shipHandleSchema: z.ZodString;
14
9
  export declare const SHIP_NOTE_MAX_LENGTH = 500;
15
10
  /**
@@ -30,6 +25,7 @@ export declare const commissionShipInputSchema: z.ZodObject<{
30
25
  "crew:run": "crew:run";
31
26
  "labels:define": "labels:define";
32
27
  "labels:assign": "labels:assign";
28
+ "fleet:network": "fleet:network";
33
29
  }>>>;
34
30
  note: z.ZodOptional<z.ZodString>;
35
31
  idempotencyKey: z.ZodString;
@@ -188,6 +184,7 @@ export declare const listedShipSchema: z.ZodObject<{
188
184
  "crew:run": "crew:run";
189
185
  "labels:define": "labels:define";
190
186
  "labels:assign": "labels:assign";
187
+ "fleet:network": "fleet:network";
191
188
  }>>;
192
189
  report: z.ZodNullable<z.ZodObject<{
193
190
  state: z.ZodEnum<{
@@ -220,6 +217,15 @@ export declare const listedShipSchema: z.ZodObject<{
220
217
  }, z.core.$strip>>;
221
218
  attempt: z.ZodInt;
222
219
  startedAt: z.ZodNullable<z.ZodISODateTime>;
220
+ givenBack: z.ZodArray<z.ZodObject<{
221
+ trierarch: z.ZodObject<{
222
+ id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
223
+ name: z.ZodString;
224
+ }, z.core.$strip>;
225
+ settingsVersion: z.ZodInt;
226
+ reason: z.ZodString;
227
+ givenBackAt: z.ZodISODateTime;
228
+ }, z.core.$strip>>;
223
229
  }, z.core.$strip>>;
224
230
  labels: z.ZodArray<z.ZodObject<{
225
231
  labelId: z.ZodType<`lbl_${string}`, unknown, z.core.$ZodTypeInternals<`lbl_${string}`, unknown>>;
@@ -284,6 +290,7 @@ export declare const fleetListOutputSchema: z.ZodArray<z.ZodObject<{
284
290
  "crew:run": "crew:run";
285
291
  "labels:define": "labels:define";
286
292
  "labels:assign": "labels:assign";
293
+ "fleet:network": "fleet:network";
287
294
  }>>;
288
295
  report: z.ZodNullable<z.ZodObject<{
289
296
  state: z.ZodEnum<{
@@ -316,6 +323,15 @@ export declare const fleetListOutputSchema: z.ZodArray<z.ZodObject<{
316
323
  }, z.core.$strip>>;
317
324
  attempt: z.ZodInt;
318
325
  startedAt: z.ZodNullable<z.ZodISODateTime>;
326
+ givenBack: z.ZodArray<z.ZodObject<{
327
+ trierarch: z.ZodObject<{
328
+ id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
329
+ name: z.ZodString;
330
+ }, z.core.$strip>;
331
+ settingsVersion: z.ZodInt;
332
+ reason: z.ZodString;
333
+ givenBackAt: z.ZodISODateTime;
334
+ }, z.core.$strip>>;
319
335
  }, z.core.$strip>>;
320
336
  labels: z.ZodArray<z.ZodObject<{
321
337
  labelId: z.ZodType<`lbl_${string}`, unknown, z.core.$ZodTypeInternals<`lbl_${string}`, unknown>>;
@@ -370,6 +386,7 @@ export declare const liveFleetEventSchema: z.ZodObject<{
370
386
  CrewAssigned: "CrewAssigned";
371
387
  CrewStatusChanged: "CrewStatusChanged";
372
388
  CrewRequestExplained: "CrewRequestExplained";
389
+ CrewRequestGivenBack: "CrewRequestGivenBack";
373
390
  LabelDefined: "LabelDefined";
374
391
  LabelValuesChanged: "LabelValuesChanged";
375
392
  LabelRetired: "LabelRetired";
@@ -379,6 +396,7 @@ export declare const liveFleetEventSchema: z.ZodObject<{
379
396
  WorktreeClearRequested: "WorktreeClearRequested";
380
397
  WorktreeCleared: "WorktreeCleared";
381
398
  WorktreeClearRemoved: "WorktreeClearRemoved";
399
+ NetworkRulesSet: "NetworkRulesSet";
382
400
  }>;
383
401
  occurredAt: z.ZodISODateTime;
384
402
  actorShipId: z.ZodNullable<z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>>;
@@ -422,6 +440,7 @@ export declare const fleetStreamItemSchema: z.ZodDiscriminatedUnion<[z.ZodObject
422
440
  CrewAssigned: "CrewAssigned";
423
441
  CrewStatusChanged: "CrewStatusChanged";
424
442
  CrewRequestExplained: "CrewRequestExplained";
443
+ CrewRequestGivenBack: "CrewRequestGivenBack";
425
444
  LabelDefined: "LabelDefined";
426
445
  LabelValuesChanged: "LabelValuesChanged";
427
446
  LabelRetired: "LabelRetired";
@@ -431,6 +450,7 @@ export declare const fleetStreamItemSchema: z.ZodDiscriminatedUnion<[z.ZodObject
431
450
  WorktreeClearRequested: "WorktreeClearRequested";
432
451
  WorktreeCleared: "WorktreeCleared";
433
452
  WorktreeClearRemoved: "WorktreeClearRemoved";
453
+ NetworkRulesSet: "NetworkRulesSet";
434
454
  }>;
435
455
  occurredAt: z.ZodISODateTime;
436
456
  actorShipId: z.ZodNullable<z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>>;
@@ -1,6 +1,7 @@
1
1
  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
+ import { SHIP_HANDLE_MAX_LENGTH, SHIP_HANDLE_MESSAGE, SHIP_HANDLE_PATTERN } from '../rules/ship-handle.js';
4
5
  import { idempotencyKeySchema } from './idempotency-key.js';
5
6
  import { listedCrewRequestSchema } from './crew-request.js';
6
7
  import { carriedLabelSchema } from './label.js';
@@ -9,18 +10,12 @@ import { listedReportSchema } from './report.js';
9
10
  * Inputs and outputs of the fleet procedures: commission a ship, get its
10
11
  * starting prompt, release it, list the fleet, follow its events live.
11
12
  */
12
- /**
13
- * A ship's name and its type are handles (docs/blueprint.md, "Ship"). A colon
14
- * is an ordinary character, so a prefix can group ships (`hemma:planner`); it
15
- * carries no meaning for the fleet.
16
- */
17
- export const SHIP_HANDLE_MAX_LENGTH = 48;
18
- export const SHIP_HANDLE_PATTERN = /^[a-z0-9:-]+$/;
19
- const HANDLE_MESSAGE = `Use 1 to ${SHIP_HANDLE_MAX_LENGTH} lowercase letters, digits, hyphens or colons`;
13
+ export { SHIP_HANDLE_MAX_LENGTH, SHIP_HANDLE_PATTERN } from '../rules/ship-handle.js';
14
+ /** A ship's name or type, by the rule in rules/ship-handle.ts. */
20
15
  export const shipHandleSchema = z
21
16
  .string()
22
- .max(SHIP_HANDLE_MAX_LENGTH, HANDLE_MESSAGE)
23
- .regex(SHIP_HANDLE_PATTERN, HANDLE_MESSAGE);
17
+ .max(SHIP_HANDLE_MAX_LENGTH, SHIP_HANDLE_MESSAGE)
18
+ .regex(SHIP_HANDLE_PATTERN, SHIP_HANDLE_MESSAGE);
24
19
  export const SHIP_NOTE_MAX_LENGTH = 500;
25
20
  /**
26
21
  * Input of `fleet.commission`. The note is free text for the operator;
@@ -1 +1 @@
1
- {"version":3,"file":"fleet.js","sourceRoot":"","sources":["../../src/schemas/fleet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fleet.js","sourceRoot":"","sources":["../../src/schemas/fleet.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,7 @@ export declare const followFleetOutputSchema: z.ZodObject<{
47
47
  CrewAssigned: "CrewAssigned";
48
48
  CrewStatusChanged: "CrewStatusChanged";
49
49
  CrewRequestExplained: "CrewRequestExplained";
50
+ CrewRequestGivenBack: "CrewRequestGivenBack";
50
51
  LabelDefined: "LabelDefined";
51
52
  LabelValuesChanged: "LabelValuesChanged";
52
53
  LabelRetired: "LabelRetired";
@@ -56,6 +57,7 @@ export declare const followFleetOutputSchema: z.ZodObject<{
56
57
  WorktreeClearRequested: "WorktreeClearRequested";
57
58
  WorktreeCleared: "WorktreeCleared";
58
59
  WorktreeClearRemoved: "WorktreeClearRemoved";
60
+ NetworkRulesSet: "NetworkRulesSet";
59
61
  }>;
60
62
  occurredAt: z.ZodISODateTime;
61
63
  actorShipId: z.ZodNullable<z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>>;
@@ -78,6 +78,7 @@ export declare const shipDetailOutputSchema: z.ZodObject<{
78
78
  "crew:run": "crew:run";
79
79
  "labels:define": "labels:define";
80
80
  "labels:assign": "labels:assign";
81
+ "fleet:network": "fleet:network";
81
82
  }>>;
82
83
  labels: z.ZodArray<z.ZodObject<{
83
84
  labelId: z.ZodType<`lbl_${string}`, unknown, z.core.$ZodTypeInternals<`lbl_${string}`, unknown>>;
@@ -97,6 +98,7 @@ export declare const shipDetailOutputSchema: z.ZodObject<{
97
98
  reportedAt: z.ZodISODateTime;
98
99
  detailsVersion: z.ZodInt;
99
100
  details: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
101
+ detailsBytes: z.ZodNullable<z.ZodInt>;
100
102
  }, z.core.$strip>>;
101
103
  crewRequest: z.ZodNullable<z.ZodObject<{
102
104
  settingsVersion: z.ZodInt;
@@ -119,6 +121,15 @@ export declare const shipDetailOutputSchema: z.ZodObject<{
119
121
  }, z.core.$strip>>;
120
122
  attempt: z.ZodInt;
121
123
  startedAt: z.ZodNullable<z.ZodISODateTime>;
124
+ givenBack: z.ZodArray<z.ZodObject<{
125
+ trierarch: z.ZodObject<{
126
+ id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
127
+ name: z.ZodString;
128
+ }, z.core.$strip>;
129
+ settingsVersion: z.ZodInt;
130
+ reason: z.ZodString;
131
+ givenBackAt: z.ZodISODateTime;
132
+ }, z.core.$strip>>;
122
133
  settings: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
123
134
  }, z.core.$strip>>;
124
135
  commissionedAt: z.ZodISODateTime;
@@ -157,6 +168,7 @@ export declare const timelineEntrySchema: z.ZodObject<{
157
168
  CrewAssigned: "CrewAssigned";
158
169
  CrewStatusChanged: "CrewStatusChanged";
159
170
  CrewRequestExplained: "CrewRequestExplained";
171
+ CrewRequestGivenBack: "CrewRequestGivenBack";
160
172
  LabelDefined: "LabelDefined";
161
173
  LabelValuesChanged: "LabelValuesChanged";
162
174
  LabelRetired: "LabelRetired";
@@ -166,6 +178,7 @@ export declare const timelineEntrySchema: z.ZodObject<{
166
178
  WorktreeClearRequested: "WorktreeClearRequested";
167
179
  WorktreeCleared: "WorktreeCleared";
168
180
  WorktreeClearRemoved: "WorktreeClearRemoved";
181
+ NetworkRulesSet: "NetworkRulesSet";
169
182
  }>;
170
183
  occurredAt: z.ZodISODateTime;
171
184
  actor: z.ZodNullable<z.ZodObject<{
@@ -193,6 +206,7 @@ export declare const timelineEntrySchema: z.ZodObject<{
193
206
  type: z.ZodString;
194
207
  }, z.core.$strip>], "kind">;
195
208
  contentType: z.ZodString;
209
+ isPing: z.ZodBoolean;
196
210
  model: z.ZodNullable<z.ZodString>;
197
211
  }, z.core.$strip>>;
198
212
  details: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>;
@@ -228,6 +242,7 @@ export declare const shipTimelineOutputSchema: z.ZodArray<z.ZodObject<{
228
242
  CrewAssigned: "CrewAssigned";
229
243
  CrewStatusChanged: "CrewStatusChanged";
230
244
  CrewRequestExplained: "CrewRequestExplained";
245
+ CrewRequestGivenBack: "CrewRequestGivenBack";
231
246
  LabelDefined: "LabelDefined";
232
247
  LabelValuesChanged: "LabelValuesChanged";
233
248
  LabelRetired: "LabelRetired";
@@ -237,6 +252,7 @@ export declare const shipTimelineOutputSchema: z.ZodArray<z.ZodObject<{
237
252
  WorktreeClearRequested: "WorktreeClearRequested";
238
253
  WorktreeCleared: "WorktreeCleared";
239
254
  WorktreeClearRemoved: "WorktreeClearRemoved";
255
+ NetworkRulesSet: "NetworkRulesSet";
240
256
  }>;
241
257
  occurredAt: z.ZodISODateTime;
242
258
  actor: z.ZodNullable<z.ZodObject<{
@@ -264,6 +280,7 @@ export declare const shipTimelineOutputSchema: z.ZodArray<z.ZodObject<{
264
280
  type: z.ZodString;
265
281
  }, z.core.$strip>], "kind">;
266
282
  contentType: z.ZodString;
283
+ isPing: z.ZodBoolean;
267
284
  model: z.ZodNullable<z.ZodString>;
268
285
  }, z.core.$strip>>;
269
286
  details: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>;
@@ -26,8 +26,8 @@ export const shipInputSchema = z.object({ shipId: idSchema('ship') });
26
26
  * when it retired.
27
27
  */
28
28
  export const shipDetailOutputSchema = listedShipSchema.extend({
29
- /** The crew's last report as the fleet lists it, with its details. */
30
- report: reportSchema.nullable(),
29
+ /** The crew's last report as the fleet lists it, with its details and their size in bytes (null without details), counted as their limit counts them. */
30
+ report: reportSchema.extend({ detailsBytes: z.int().min(0).nullable() }).nullable(),
31
31
  /** The ship's crew request, settings included. */
32
32
  crewRequest: crewRequestSchema.nullable(),
33
33
  commissionedAt: isoTime,
@@ -55,6 +55,8 @@ export const timelineEntrySchema = z.object({
55
55
  recipient: messageRecipientSchema,
56
56
  /** As the sender gave it; a ping has the reserved ping content type. */
57
57
  contentType: z.string(),
58
+ /** Whether it is a ping, told by its content type. */
59
+ isPing: z.boolean(),
58
60
  /** The model the sender's session stated. */
59
61
  model: z.string().nullable(),
60
62
  })
@@ -1 +1 @@
1
- {"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/schemas/history.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/schemas/history.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export * from './installation.js';
11
11
  export * from './label.js';
12
12
  export * from './message.js';
13
13
  export * from './needs-attention.js';
14
+ export * from './network.js';
14
15
  export * from './notice.js';
15
16
  export * from './operator-inbox.js';
16
17
  export * from './ping.js';
@@ -11,6 +11,7 @@ export * from './installation.js';
11
11
  export * from './label.js';
12
12
  export * from './message.js';
13
13
  export * from './needs-attention.js';
14
+ export * from './network.js';
14
15
  export * from './notice.js';
15
16
  export * from './operator-inbox.js';
16
17
  export * from './ping.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,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,YAAY,CAAC;AAC3B,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,oBAAoB,CAAC;AACnC,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,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
@@ -6,10 +6,7 @@ import { z } from 'zod';
6
6
  * texts for people. The limits below are the decision's; every refusal names
7
7
  * it.
8
8
  */
9
- /** The most characters a label's key or one of its values may have. */
10
- export declare const LABEL_HANDLE_MAX_LENGTH = 63;
11
- /** A label's key or value: lowercase letters, digits and hyphens, at least one. */
12
- export declare const LABEL_HANDLE_PATTERN: RegExp;
9
+ export { LABEL_HANDLE_MAX_LENGTH, LABEL_HANDLE_PATTERN } from '../rules/label-handle.js';
13
10
  /** The most values one label may define. */
14
11
  export declare const LABEL_VALUES_MAX = 50;
15
12
  /** The most label values one ship may carry. */
@@ -7,10 +7,7 @@ import { idSchema } from '../ids/index.js';
7
7
  * texts for people. The limits below are the decision's; every refusal names
8
8
  * it.
9
9
  */
10
- /** The most characters a label's key or one of its values may have. */
11
- export const LABEL_HANDLE_MAX_LENGTH = 63;
12
- /** A label's key or value: lowercase letters, digits and hyphens, at least one. */
13
- export const LABEL_HANDLE_PATTERN = /^[a-z0-9-]+$/;
10
+ export { LABEL_HANDLE_MAX_LENGTH, LABEL_HANDLE_PATTERN } from '../rules/label-handle.js';
14
11
  /** The most values one label may define. */
15
12
  export const LABEL_VALUES_MAX = 50;
16
13
  /** The most label values one ship may carry. */
@@ -1 +1 @@
1
- {"version":3,"file":"label.js","sourceRoot":"","sources":["../../src/schemas/label.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"label.js","sourceRoot":"","sources":["../../src/schemas/label.ts"],"names":[],"mappings":"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"}
@@ -4,16 +4,7 @@ import { z } from 'zod';
4
4
  * payload and content type, the model the sender runs, the sender's
5
5
  * idempotency key, and the message it replies to.
6
6
  */
7
- /**
8
- * A payload is at most 64 KB (ADR 0006): a message carries a reference and an
9
- * instruction, not the content itself.
10
- */
11
- export declare const PAYLOAD_MAX_BYTES: number;
12
- /**
13
- * The size of a payload serialized: the bytes of its text in UTF-8, as the
14
- * database stores it and counts it.
15
- */
16
- export declare function payloadBytes(payload: string): number;
7
+ export { PAYLOAD_MAX_BYTES, payloadBytes } from '../rules/payload.js';
17
8
  /** The longest content type a sender may give, parameters included. */
18
9
  export declare const CONTENT_TYPE_MAX_LENGTH = 256;
19
10
  /** A payload's content type when its sender does not say. */
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { idSchema } from '../ids/index.js';
3
+ import { PAYLOAD_MAX_BYTES, payloadBytes } from '../rules/payload.js';
3
4
  import { shipHandleSchema } from './fleet.js';
4
5
  import { idempotencyKeySchema } from './idempotency-key.js';
5
6
  /**
@@ -7,19 +8,7 @@ import { idempotencyKeySchema } from './idempotency-key.js';
7
8
  * payload and content type, the model the sender runs, the sender's
8
9
  * idempotency key, and the message it replies to.
9
10
  */
10
- /**
11
- * A payload is at most 64 KB (ADR 0006): a message carries a reference and an
12
- * instruction, not the content itself.
13
- */
14
- export const PAYLOAD_MAX_BYTES = 64 * 1024;
15
- const utf8 = new TextEncoder();
16
- /**
17
- * The size of a payload serialized: the bytes of its text in UTF-8, as the
18
- * database stores it and counts it.
19
- */
20
- export function payloadBytes(payload) {
21
- return utf8.encode(payload).byteLength;
22
- }
11
+ export { PAYLOAD_MAX_BYTES, payloadBytes } from '../rules/payload.js';
23
12
  /** The longest content type a sender may give, parameters included. */
24
13
  export const CONTENT_TYPE_MAX_LENGTH = 256;
25
14
  /** A payload's content type when its sender does not say. */
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/schemas/message.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/schemas/message.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ export declare const undeliverableDeliverySchema: z.ZodObject<{
23
23
  inReplyTo: z.ZodNullable<z.ZodType<`msg_${string}`, unknown, z.core.$ZodTypeInternals<`msg_${string}`, unknown>>>;
24
24
  sentAt: z.ZodISODateTime;
25
25
  contentType: z.ZodString;
26
+ isPing: z.ZodBoolean;
26
27
  payload: z.ZodString;
27
28
  }, z.core.$strip>;
28
29
  }, z.core.$strip>;
@@ -51,6 +52,7 @@ export declare const needsAttentionOutputSchema: z.ZodArray<z.ZodObject<{
51
52
  inReplyTo: z.ZodNullable<z.ZodType<`msg_${string}`, unknown, z.core.$ZodTypeInternals<`msg_${string}`, unknown>>>;
52
53
  sentAt: z.ZodISODateTime;
53
54
  contentType: z.ZodString;
55
+ isPing: z.ZodBoolean;
54
56
  payload: z.ZodString;
55
57
  }, z.core.$strip>;
56
58
  }, z.core.$strip>>;
@@ -23,6 +23,8 @@ export const undeliverableDeliverySchema = z.object({
23
23
  inReplyTo: idSchema('message').nullable(),
24
24
  sentAt: isoTime,
25
25
  contentType: z.string(),
26
+ /** Whether it is a ping, told by its content type: a ping is never resent. */
27
+ isPing: z.boolean(),
26
28
  payload: z.string(),
27
29
  }),
28
30
  });
@@ -1 +1 @@
1
- {"version":3,"file":"needs-attention.js","sourceRoot":"","sources":["../../src/schemas/needs-attention.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEnE;;;;;GAKG;AAEH,uBAAuB;AACvB,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AAEjC,qGAAqG;AACrG,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAChC,qDAAqD;IACrD,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,oCAAoC;IACpC,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC;QACvB,MAAM,EAAE,WAAW;QACnB,SAAS,EAAE,sBAAsB;QACjC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE;QACzC,MAAM,EAAE,OAAO;QACf,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;QACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;KACpB,CAAC;CACH,CAAC,CAAC;AAIH,iGAAiG;AACjG,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAE/E,iHAAiH;AACjH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;CACjC,CAAC,CAAC;AAEH,gEAAgE;AAChE,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AAE9D;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;CACjC,CAAC,CAAC;AAEH,iDAAiD;AACjD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC;CAC/B,CAAC,CAAC"}
1
+ {"version":3,"file":"needs-attention.js","sourceRoot":"","sources":["../../src/schemas/needs-attention.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEnE;;;;;GAKG;AAEH,uBAAuB;AACvB,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AAEjC,qGAAqG;AACrG,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAChC,qDAAqD;IACrD,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,oCAAoC;IACpC,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC;QACvB,MAAM,EAAE,WAAW;QACnB,SAAS,EAAE,sBAAsB;QACjC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE;QACzC,MAAM,EAAE,OAAO;QACf,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;QACvB,8EAA8E;QAC9E,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;QACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;KACpB,CAAC;CACH,CAAC,CAAC;AAIH,iGAAiG;AACjG,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAE/E,iHAAiH;AACjH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;CACjC,CAAC,CAAC;AAEH,gEAAgE;AAChE,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AAE9D;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;CACjC,CAAC,CAAC;AAEH,iDAAiD;AACjD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC;CAC/B,CAAC,CAAC"}
@@ -0,0 +1,116 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Network rules (decision 0034): which ships may send to which. A rule says
4
+ * that the ships matching one label selector may send to the ships matching
5
+ * another; a selector is a set of label value ids, matched as label selection
6
+ * is (every one of them, an empty one every ship). Allow-only. The limits are
7
+ * the decision's; the server checks them, so every refusal names it.
8
+ */
9
+ /** The most rules one fleet may hold. */
10
+ export declare const NETWORK_RULES_MAX = 200;
11
+ /** The most refusals one read of them answers: the latest. */
12
+ export declare const REACH_REFUSALS_READ_MAX = 100;
13
+ /** Ships carrying every one of these label values: exact matches, combined with AND. */
14
+ export declare const labelSelectorSchema: z.ZodArray<z.ZodType<`lbv_${string}`, unknown, z.core.$ZodTypeInternals<`lbv_${string}`, unknown>>>;
15
+ /** One rule: the ships matching `from` may send to the ships matching `to`. */
16
+ export declare const networkRuleSchema: z.ZodObject<{
17
+ from: z.ZodArray<z.ZodType<`lbv_${string}`, unknown, z.core.$ZodTypeInternals<`lbv_${string}`, unknown>>>;
18
+ to: z.ZodArray<z.ZodType<`lbv_${string}`, unknown, z.core.$ZodTypeInternals<`lbv_${string}`, unknown>>>;
19
+ }, z.core.$strip>;
20
+ export type NetworkRule = z.infer<typeof networkRuleSchema>;
21
+ /** Input of `fleet.setNetworkRules` (fleet:network): every rule the fleet holds from now on, or none for all-to-all. */
22
+ export declare const setNetworkRulesInputSchema: z.ZodObject<{
23
+ rules: z.ZodNullable<z.ZodArray<z.ZodObject<{
24
+ from: z.ZodArray<z.ZodType<`lbv_${string}`, unknown, z.core.$ZodTypeInternals<`lbv_${string}`, unknown>>>;
25
+ to: z.ZodArray<z.ZodType<`lbv_${string}`, unknown, z.core.$ZodTypeInternals<`lbv_${string}`, unknown>>>;
26
+ }, z.core.$strip>>>;
27
+ }, z.core.$strip>;
28
+ /** Output of `fleet.setNetworkRules`: the version the fleet's network settings have now. */
29
+ export declare const setNetworkRulesOutputSchema: z.ZodObject<{
30
+ version: z.ZodInt;
31
+ }, z.core.$strip>;
32
+ /** One refused send: who tried to reach whom, both ships as they were, the settings version that refused it and when. */
33
+ export declare const reachRefusalSchema: z.ZodObject<{
34
+ id: z.ZodType<`rfs_${string}`, unknown, z.core.$ZodTypeInternals<`rfs_${string}`, unknown>>;
35
+ at: z.ZodISODateTime;
36
+ sender: z.ZodObject<{
37
+ id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
38
+ name: z.ZodString;
39
+ labels: z.ZodArray<z.ZodObject<{
40
+ labelId: z.ZodType<`lbl_${string}`, unknown, z.core.$ZodTypeInternals<`lbl_${string}`, unknown>>;
41
+ key: z.ZodString;
42
+ valueId: z.ZodType<`lbv_${string}`, unknown, z.core.$ZodTypeInternals<`lbv_${string}`, unknown>>;
43
+ value: z.ZodString;
44
+ }, z.core.$strip>>;
45
+ }, z.core.$strip>;
46
+ recipient: z.ZodDiscriminatedUnion<[z.ZodObject<{
47
+ kind: z.ZodLiteral<"ship">;
48
+ ship: z.ZodObject<{
49
+ id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
50
+ name: z.ZodString;
51
+ labels: z.ZodArray<z.ZodObject<{
52
+ labelId: z.ZodType<`lbl_${string}`, unknown, z.core.$ZodTypeInternals<`lbl_${string}`, unknown>>;
53
+ key: z.ZodString;
54
+ valueId: z.ZodType<`lbv_${string}`, unknown, z.core.$ZodTypeInternals<`lbv_${string}`, unknown>>;
55
+ value: z.ZodString;
56
+ }, z.core.$strip>>;
57
+ }, z.core.$strip>;
58
+ }, z.core.$strip>, z.ZodObject<{
59
+ kind: z.ZodLiteral<"type">;
60
+ type: z.ZodString;
61
+ ships: z.ZodArray<z.ZodObject<{
62
+ id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
63
+ name: z.ZodString;
64
+ labels: z.ZodArray<z.ZodObject<{
65
+ labelId: z.ZodType<`lbl_${string}`, unknown, z.core.$ZodTypeInternals<`lbl_${string}`, unknown>>;
66
+ key: z.ZodString;
67
+ valueId: z.ZodType<`lbv_${string}`, unknown, z.core.$ZodTypeInternals<`lbv_${string}`, unknown>>;
68
+ value: z.ZodString;
69
+ }, z.core.$strip>>;
70
+ }, z.core.$strip>>;
71
+ }, z.core.$strip>], "kind">;
72
+ settingsVersion: z.ZodInt;
73
+ }, z.core.$strip>;
74
+ export type ReachRefusal = z.infer<typeof reachRefusalSchema>;
75
+ /** Output of `fleet.reachRefusals` (argo only): the fleet's latest refusals, newest first, at most REACH_REFUSALS_READ_MAX. */
76
+ export declare const reachRefusalsOutputSchema: z.ZodArray<z.ZodObject<{
77
+ id: z.ZodType<`rfs_${string}`, unknown, z.core.$ZodTypeInternals<`rfs_${string}`, unknown>>;
78
+ at: z.ZodISODateTime;
79
+ sender: z.ZodObject<{
80
+ id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
81
+ name: z.ZodString;
82
+ labels: z.ZodArray<z.ZodObject<{
83
+ labelId: z.ZodType<`lbl_${string}`, unknown, z.core.$ZodTypeInternals<`lbl_${string}`, unknown>>;
84
+ key: z.ZodString;
85
+ valueId: z.ZodType<`lbv_${string}`, unknown, z.core.$ZodTypeInternals<`lbv_${string}`, unknown>>;
86
+ value: z.ZodString;
87
+ }, z.core.$strip>>;
88
+ }, z.core.$strip>;
89
+ recipient: z.ZodDiscriminatedUnion<[z.ZodObject<{
90
+ kind: z.ZodLiteral<"ship">;
91
+ ship: z.ZodObject<{
92
+ id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
93
+ name: z.ZodString;
94
+ labels: z.ZodArray<z.ZodObject<{
95
+ labelId: z.ZodType<`lbl_${string}`, unknown, z.core.$ZodTypeInternals<`lbl_${string}`, unknown>>;
96
+ key: z.ZodString;
97
+ valueId: z.ZodType<`lbv_${string}`, unknown, z.core.$ZodTypeInternals<`lbv_${string}`, unknown>>;
98
+ value: z.ZodString;
99
+ }, z.core.$strip>>;
100
+ }, z.core.$strip>;
101
+ }, z.core.$strip>, z.ZodObject<{
102
+ kind: z.ZodLiteral<"type">;
103
+ type: z.ZodString;
104
+ ships: z.ZodArray<z.ZodObject<{
105
+ id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
106
+ name: z.ZodString;
107
+ labels: z.ZodArray<z.ZodObject<{
108
+ labelId: z.ZodType<`lbl_${string}`, unknown, z.core.$ZodTypeInternals<`lbl_${string}`, unknown>>;
109
+ key: z.ZodString;
110
+ valueId: z.ZodType<`lbv_${string}`, unknown, z.core.$ZodTypeInternals<`lbv_${string}`, unknown>>;
111
+ value: z.ZodString;
112
+ }, z.core.$strip>>;
113
+ }, z.core.$strip>>;
114
+ }, z.core.$strip>], "kind">;
115
+ settingsVersion: z.ZodInt;
116
+ }, z.core.$strip>>;
@@ -0,0 +1,39 @@
1
+ import { z } from 'zod';
2
+ import { idSchema } from '../ids/index.js';
3
+ import { carriedLabelSchema } from './label.js';
4
+ /**
5
+ * Network rules (decision 0034): which ships may send to which. A rule says
6
+ * that the ships matching one label selector may send to the ships matching
7
+ * another; a selector is a set of label value ids, matched as label selection
8
+ * is (every one of them, an empty one every ship). Allow-only. The limits are
9
+ * the decision's; the server checks them, so every refusal names it.
10
+ */
11
+ /** The most rules one fleet may hold. */
12
+ export const NETWORK_RULES_MAX = 200;
13
+ /** The most refusals one read of them answers: the latest. */
14
+ export const REACH_REFUSALS_READ_MAX = 100;
15
+ /** Ships carrying every one of these label values: exact matches, combined with AND. */
16
+ export const labelSelectorSchema = z.array(idSchema('labelValue'));
17
+ /** One rule: the ships matching `from` may send to the ships matching `to`. */
18
+ export const networkRuleSchema = z.object({ from: labelSelectorSchema, to: labelSelectorSchema });
19
+ /** Input of `fleet.setNetworkRules` (fleet:network): every rule the fleet holds from now on, or none for all-to-all. */
20
+ export const setNetworkRulesInputSchema = z.object({ rules: z.array(networkRuleSchema).nullable() });
21
+ /** Output of `fleet.setNetworkRules`: the version the fleet's network settings have now. */
22
+ export const setNetworkRulesOutputSchema = z.object({ version: z.int().min(1) });
23
+ /** A ship as a reach refusal saw it: its id, its name and the label values it carried then. */
24
+ const refusedShipSchema = z.object({ id: idSchema('ship'), name: z.string(), labels: z.array(carriedLabelSchema) });
25
+ /** One refused send: who tried to reach whom, both ships as they were, the settings version that refused it and when. */
26
+ export const reachRefusalSchema = z.object({
27
+ id: idSchema('reachRefusal'),
28
+ at: z.iso.datetime(),
29
+ sender: refusedShipSchema,
30
+ recipient: z.discriminatedUnion('kind', [
31
+ z.object({ kind: z.literal('ship'), ship: refusedShipSchema }),
32
+ /** A send to a type: the type and each ship of it, none of which the sender may reach. */
33
+ z.object({ kind: z.literal('type'), type: z.string(), ships: z.array(refusedShipSchema) }),
34
+ ]),
35
+ settingsVersion: z.int().min(1),
36
+ });
37
+ /** Output of `fleet.reachRefusals` (argo only): the fleet's latest refusals, newest first, at most REACH_REFUSALS_READ_MAX. */
38
+ export const reachRefusalsOutputSchema = z.array(reachRefusalSchema);
39
+ //# sourceMappingURL=network.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/schemas/network.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;;;GAMG;AAEH,yCAAyC;AACzC,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAErC,8DAA8D;AAC9D,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAE3C,wFAAwF;AACxF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;AAEnE,+EAA+E;AAC/E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,mBAAmB,EAAE,CAAC,CAAC;AAIlG,wHAAwH;AACxH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAErG,4FAA4F;AAC5F,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAEjF,+FAA+F;AAC/F,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAEpH,yHAAyH;AACzH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,EAAE,EAAE,QAAQ,CAAC,cAAc,CAAC;IAC5B,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE;IACpB,MAAM,EAAE,iBAAiB;IACzB,SAAS,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;QACtC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;QAC9D,0FAA0F;QAC1F,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;KAC3F,CAAC;IACF,eAAe,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAChC,CAAC,CAAC;AAIH,+HAA+H;AAC/H,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "@aeolus-fleet/common",
3
- "version": "0.20.2",
3
+ "version": "0.20.4",
4
4
  "description": "Aeolus shared schemas, prefixed ids and types.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
7
+ "sideEffects": false,
7
8
  "repository": {
8
9
  "type": "git",
9
10
  "url": "git+https://github.com/ThomasHendrickx/aeolus-fleet.git",
@@ -17,6 +18,11 @@
17
18
  "@aeolus-fleet/source": "./src/index.ts",
18
19
  "types": "./dist/index.d.ts",
19
20
  "default": "./dist/index.js"
21
+ },
22
+ "./rules": {
23
+ "@aeolus-fleet/source": "./src/rules/index.ts",
24
+ "types": "./dist/rules/index.d.ts",
25
+ "default": "./dist/rules/index.js"
20
26
  }
21
27
  },
22
28
  "files": [