@aeolus-fleet/common 0.30.1 → 0.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/dist/fleet/index.d.ts +51 -9
  2. package/dist/fleet/index.js +48 -6
  3. package/dist/fleet/index.js.map +1 -1
  4. package/dist/ids/index.d.ts +6 -0
  5. package/dist/ids/index.js +4 -0
  6. package/dist/ids/index.js.map +1 -1
  7. package/dist/rules/duration.d.ts +2 -0
  8. package/dist/rules/duration.js +22 -0
  9. package/dist/rules/duration.js.map +1 -0
  10. package/dist/rules/index.d.ts +1 -0
  11. package/dist/rules/index.js +1 -0
  12. package/dist/rules/index.js.map +1 -1
  13. package/dist/schemas/apps-list.d.ts +4 -4
  14. package/dist/schemas/console.d.ts +3 -24
  15. package/dist/schemas/console.js +4 -3
  16. package/dist/schemas/console.js.map +1 -1
  17. package/dist/schemas/delivery.d.ts +34 -5
  18. package/dist/schemas/delivery.js +21 -7
  19. package/dist/schemas/delivery.js.map +1 -1
  20. package/dist/schemas/fleet.d.ts +64 -2
  21. package/dist/schemas/fleet.js +9 -2
  22. package/dist/schemas/fleet.js.map +1 -1
  23. package/dist/schemas/follow.d.ts +25 -0
  24. package/dist/schemas/history.d.ts +184 -2
  25. package/dist/schemas/history.js +26 -2
  26. package/dist/schemas/history.js.map +1 -1
  27. package/dist/schemas/index.d.ts +2 -0
  28. package/dist/schemas/index.js +2 -0
  29. package/dist/schemas/index.js.map +1 -1
  30. package/dist/schemas/installation.d.ts +118 -4
  31. package/dist/schemas/installation.js +34 -5
  32. package/dist/schemas/installation.js.map +1 -1
  33. package/dist/schemas/label.d.ts +4 -4
  34. package/dist/schemas/meeting.d.ts +263 -0
  35. package/dist/schemas/meeting.js +129 -0
  36. package/dist/schemas/meeting.js.map +1 -0
  37. package/dist/schemas/message.d.ts +44 -1
  38. package/dist/schemas/message.js +35 -4
  39. package/dist/schemas/message.js.map +1 -1
  40. package/dist/schemas/needs-attention.d.ts +20 -0
  41. package/dist/schemas/network.d.ts +17 -3
  42. package/dist/schemas/network.js +4 -3
  43. package/dist/schemas/network.js.map +1 -1
  44. package/dist/schemas/schedule.d.ts +372 -0
  45. package/dist/schemas/schedule.js +132 -0
  46. package/dist/schemas/schedule.js.map +1 -0
  47. package/dist/schemas/scopes.d.ts +29 -3
  48. package/dist/schemas/scopes.js +17 -3
  49. package/dist/schemas/scopes.js.map +1 -1
  50. package/dist/schemas/ship.js +1 -1
  51. package/dist/schemas/statement.d.ts +5 -0
  52. package/dist/schemas/statement.js +3 -1
  53. package/dist/schemas/statement.js.map +1 -1
  54. package/dist/trierarch/report-details.d.ts +48 -0
  55. package/dist/trierarch/report-details.js +52 -0
  56. package/dist/trierarch/report-details.js.map +1 -1
  57. package/package.json +1 -1
@@ -0,0 +1,263 @@
1
+ import { z } from 'zod';
2
+ /** The most characters a meeting's title holds: a short name a person reads when auditing later. */
3
+ export declare const MEETING_TITLE_MAX_LENGTH = 200;
4
+ /** An invitee: one ship, by id or by name, never a type. */
5
+ export declare const inviteeSchema: z.ZodUnion<readonly [z.ZodObject<{
6
+ shipId: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
7
+ }, z.core.$strict>, z.ZodObject<{
8
+ name: z.ZodString;
9
+ }, z.core.$strict>]>;
10
+ /**
11
+ * Input of `ship.openMeeting` (meetings:open): the invitees by ship and by a
12
+ * label selection (value ids, exact and AND), folded into one list with the
13
+ * opener, which owns and moderates it; the opener's idempotency key; and the
14
+ * model its session runs, which the added notices state; and an optional
15
+ * short title.
16
+ */
17
+ export declare const openMeetingInputSchema: z.ZodObject<{
18
+ ships: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
19
+ shipId: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
20
+ }, z.core.$strict>, z.ZodObject<{
21
+ name: z.ZodString;
22
+ }, z.core.$strict>]>>>;
23
+ valueIds: z.ZodOptional<z.ZodArray<z.ZodType<`lbv_${string}`, unknown, z.core.$ZodTypeInternals<`lbv_${string}`, unknown>>>>;
24
+ idempotencyKey: z.ZodString;
25
+ model: z.ZodOptional<z.ZodString>;
26
+ title: z.ZodOptional<z.ZodString>;
27
+ }, z.core.$strip>;
28
+ export type OpenMeetingInput = z.infer<typeof openMeetingInputSchema>;
29
+ /** Output of `ship.openMeeting`: the meeting's id, the original one when the key was used before. */
30
+ export declare const openMeetingOutputSchema: z.ZodObject<{
31
+ meetingId: z.ZodType<`mtg_${string}`, unknown, z.core.$ZodTypeInternals<`mtg_${string}`, unknown>>;
32
+ }, z.core.$strip>;
33
+ /** Input of `ship.meeting`: the meeting, and a page of its contributions, newest first. */
34
+ export declare const meetingInputSchema: z.ZodObject<{
35
+ cursor: z.ZodOptional<z.ZodType<`msg_${string}`, unknown, z.core.$ZodTypeInternals<`msg_${string}`, unknown>>>;
36
+ limit: z.ZodOptional<z.ZodInt>;
37
+ meetingId: z.ZodType<`mtg_${string}`, unknown, z.core.$ZodTypeInternals<`mtg_${string}`, unknown>>;
38
+ }, z.core.$strip>;
39
+ export type MeetingInput = z.infer<typeof meetingInputSchema>;
40
+ /**
41
+ * How the mic passes when it is free (M9): the moderator gives it to whom it
42
+ * likes, or it goes to the oldest request, first in line.
43
+ */
44
+ export declare const MIC_PATTERNS: readonly ["moderator", "fifo"];
45
+ export declare const micPatternSchema: z.ZodEnum<{
46
+ moderator: "moderator";
47
+ fifo: "fifo";
48
+ }>;
49
+ export type MicPattern = z.infer<typeof micPatternSchema>;
50
+ /**
51
+ * Input of a call on a meeting alone: `ship.requestMic`, `ship.withdrawMicRequest`,
52
+ * `ship.releaseMic`, `ship.takeMic`, `ship.leaveMeeting`, `ship.rejoinMeeting`
53
+ * and `ship.endMeeting`.
54
+ */
55
+ export declare const meetingIdInputSchema: z.ZodObject<{
56
+ meetingId: z.ZodType<`mtg_${string}`, unknown, z.core.$ZodTypeInternals<`mtg_${string}`, unknown>>;
57
+ }, z.core.$strip>;
58
+ /**
59
+ * Input of a call on a meeting and one of its ships: `ship.giveMic` (the
60
+ * moderator), `ship.revokeFromMeeting`, `ship.transferMeeting` and
61
+ * `ship.nameModerator` (the owner).
62
+ */
63
+ export declare const meetingShipInputSchema: z.ZodObject<{
64
+ meetingId: z.ZodType<`mtg_${string}`, unknown, z.core.$ZodTypeInternals<`mtg_${string}`, unknown>>;
65
+ shipId: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
66
+ }, z.core.$strip>;
67
+ /**
68
+ * Input of `ship.addToMeeting` (the owner): more invitees, by ship and by a
69
+ * label selection, as an open names them, and the model the owner's session
70
+ * runs, which the added notices state.
71
+ */
72
+ export declare const addToMeetingInputSchema: z.ZodObject<{
73
+ meetingId: z.ZodType<`mtg_${string}`, unknown, z.core.$ZodTypeInternals<`mtg_${string}`, unknown>>;
74
+ ships: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
75
+ shipId: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
76
+ }, z.core.$strict>, z.ZodObject<{
77
+ name: z.ZodString;
78
+ }, z.core.$strict>]>>>;
79
+ valueIds: z.ZodOptional<z.ZodArray<z.ZodType<`lbv_${string}`, unknown, z.core.$ZodTypeInternals<`lbv_${string}`, unknown>>>>;
80
+ model: z.ZodOptional<z.ZodString>;
81
+ }, z.core.$strip>;
82
+ export type AddToMeetingInput = z.infer<typeof addToMeetingInputSchema>;
83
+ /** Input of `ship.setMicPattern` (the moderator): the meeting and how its mic passes from now. */
84
+ export declare const setMicPatternInputSchema: z.ZodObject<{
85
+ meetingId: z.ZodType<`mtg_${string}`, unknown, z.core.$ZodTypeInternals<`mtg_${string}`, unknown>>;
86
+ pattern: z.ZodEnum<{
87
+ moderator: "moderator";
88
+ fifo: "fifo";
89
+ }>;
90
+ }, z.core.$strip>;
91
+ /** Output of every mic call and every change of a meeting's life: nothing, once the change and its notices are stored. */
92
+ export declare const meetingChangedOutputSchema: z.ZodObject<{}, z.core.$strip>;
93
+ /** The mic as the meeting read shows it: who holds it, null while free; its pattern; and the requests, oldest first. */
94
+ export declare const meetingMicReadSchema: z.ZodObject<{
95
+ holder: z.ZodNullable<z.ZodObject<{
96
+ id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
97
+ name: z.ZodString;
98
+ }, z.core.$strip>>;
99
+ pattern: z.ZodEnum<{
100
+ moderator: "moderator";
101
+ fifo: "fifo";
102
+ }>;
103
+ requests: z.ZodArray<z.ZodObject<{
104
+ ship: z.ZodObject<{
105
+ id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
106
+ name: z.ZodString;
107
+ }, z.core.$strip>;
108
+ requestedAt: z.ZodISODateTime;
109
+ }, z.core.$strip>>;
110
+ }, z.core.$strip>;
111
+ /** Whether a participant is in the meeting now, left it keeping its right to rejoin, or was revoked by the owner (decision 0061, M13). */
112
+ export declare const PARTICIPANT_STATES: readonly ["present", "left", "revoked"];
113
+ export declare const participantStateSchema: z.ZodEnum<{
114
+ present: "present";
115
+ left: "left";
116
+ revoked: "revoked";
117
+ }>;
118
+ export type ParticipantState = z.infer<typeof participantStateSchema>;
119
+ /**
120
+ * A participant as the meeting read shows it: who it is, whether it is crewed
121
+ * now (decision 0061, M14), and whether it is in the meeting now.
122
+ */
123
+ export declare const meetingParticipantSchema: z.ZodObject<{
124
+ id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
125
+ name: z.ZodString;
126
+ kind: z.ZodEnum<{
127
+ operator: "operator";
128
+ agent: "agent";
129
+ viewer: "viewer";
130
+ person: "person";
131
+ app: "app";
132
+ plugin: "plugin";
133
+ }>;
134
+ status: z.ZodEnum<{
135
+ awaitingCrew: "awaitingCrew";
136
+ crewed: "crewed";
137
+ retired: "retired";
138
+ }>;
139
+ state: z.ZodEnum<{
140
+ present: "present";
141
+ left: "left";
142
+ revoked: "revoked";
143
+ }>;
144
+ }, z.core.$strip>;
145
+ /** One contribution as the meeting read shows it. */
146
+ export declare const contributionSchema: z.ZodObject<{
147
+ messageId: z.ZodType<`msg_${string}`, unknown, z.core.$ZodTypeInternals<`msg_${string}`, unknown>>;
148
+ sender: z.ZodObject<{
149
+ id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
150
+ name: z.ZodString;
151
+ }, z.core.$strip>;
152
+ payload: z.ZodString;
153
+ contentType: z.ZodString;
154
+ model: z.ZodNullable<z.ZodString>;
155
+ sentAt: z.ZodISODateTime;
156
+ }, z.core.$strip>;
157
+ /**
158
+ * Output of `ship.meeting`: the meeting, its title (null without one), its owner and moderator, when it
159
+ * opened and ended (null while open), its participants, its mic, and a page of its
160
+ * contributions, newest first.
161
+ */
162
+ export declare const meetingOutputSchema: z.ZodObject<{
163
+ meetingId: z.ZodType<`mtg_${string}`, unknown, z.core.$ZodTypeInternals<`mtg_${string}`, unknown>>;
164
+ title: z.ZodNullable<z.ZodString>;
165
+ owner: z.ZodObject<{
166
+ id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
167
+ name: z.ZodString;
168
+ }, z.core.$strip>;
169
+ moderator: z.ZodObject<{
170
+ id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
171
+ name: z.ZodString;
172
+ }, z.core.$strip>;
173
+ openedAt: z.ZodISODateTime;
174
+ endedAt: z.ZodNullable<z.ZodISODateTime>;
175
+ participants: z.ZodArray<z.ZodObject<{
176
+ id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
177
+ name: z.ZodString;
178
+ kind: z.ZodEnum<{
179
+ operator: "operator";
180
+ agent: "agent";
181
+ viewer: "viewer";
182
+ person: "person";
183
+ app: "app";
184
+ plugin: "plugin";
185
+ }>;
186
+ status: z.ZodEnum<{
187
+ awaitingCrew: "awaitingCrew";
188
+ crewed: "crewed";
189
+ retired: "retired";
190
+ }>;
191
+ state: z.ZodEnum<{
192
+ present: "present";
193
+ left: "left";
194
+ revoked: "revoked";
195
+ }>;
196
+ }, z.core.$strip>>;
197
+ mic: z.ZodObject<{
198
+ holder: z.ZodNullable<z.ZodObject<{
199
+ id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
200
+ name: z.ZodString;
201
+ }, z.core.$strip>>;
202
+ pattern: z.ZodEnum<{
203
+ moderator: "moderator";
204
+ fifo: "fifo";
205
+ }>;
206
+ requests: z.ZodArray<z.ZodObject<{
207
+ ship: z.ZodObject<{
208
+ id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
209
+ name: z.ZodString;
210
+ }, z.core.$strip>;
211
+ requestedAt: z.ZodISODateTime;
212
+ }, z.core.$strip>>;
213
+ }, z.core.$strip>;
214
+ contributions: z.ZodObject<{
215
+ items: z.ZodArray<z.ZodObject<{
216
+ messageId: z.ZodType<`msg_${string}`, unknown, z.core.$ZodTypeInternals<`msg_${string}`, unknown>>;
217
+ sender: z.ZodObject<{
218
+ id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
219
+ name: z.ZodString;
220
+ }, z.core.$strip>;
221
+ payload: z.ZodString;
222
+ contentType: z.ZodString;
223
+ model: z.ZodNullable<z.ZodString>;
224
+ sentAt: z.ZodISODateTime;
225
+ }, z.core.$strip>>;
226
+ nextCursor: z.ZodNullable<z.ZodType<`msg_${string}`, unknown, z.core.$ZodTypeInternals<`msg_${string}`, unknown>>>;
227
+ }, z.core.$strip>;
228
+ }, z.core.$strip>;
229
+ export type MeetingOutput = z.infer<typeof meetingOutputSchema>;
230
+ /** The content type of the notice the owner sends each ship it added to a meeting. */
231
+ export declare const MEETING_ADDED_CONTENT_TYPE = "application/vnd.aeolus.meeting.added+json";
232
+ /** The payload of the added notice: the meeting, its title (null without one), its owner, its moderator and its participants, by id and name. */
233
+ export declare const meetingAddedSchema: z.ZodObject<{
234
+ meetingId: z.ZodType<`mtg_${string}`, unknown, z.core.$ZodTypeInternals<`mtg_${string}`, unknown>>;
235
+ title: z.ZodNullable<z.ZodString>;
236
+ owner: z.ZodObject<{
237
+ id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
238
+ name: z.ZodString;
239
+ }, z.core.$strip>;
240
+ moderator: z.ZodObject<{
241
+ id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
242
+ name: z.ZodString;
243
+ }, z.core.$strip>;
244
+ participants: z.ZodArray<z.ZodObject<{
245
+ id: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
246
+ name: z.ZodString;
247
+ }, z.core.$strip>>;
248
+ }, z.core.$strip>;
249
+ export type MeetingAdded = z.infer<typeof meetingAddedSchema>;
250
+ /** The content type of the notice the moderator sends the ship that now holds the mic. */
251
+ export declare const MEETING_MIC_CONTENT_TYPE = "application/vnd.aeolus.meeting.mic+json";
252
+ /** The payload of the mic notice: the meeting whose mic the ship now holds. */
253
+ export declare const meetingMicSchema: z.ZodObject<{
254
+ meetingId: z.ZodType<`mtg_${string}`, unknown, z.core.$ZodTypeInternals<`mtg_${string}`, unknown>>;
255
+ }, z.core.$strip>;
256
+ export type MeetingMic = z.infer<typeof meetingMicSchema>;
257
+ /** The content type of the notice the ship that ended a meeting sends every other participant. */
258
+ export declare const MEETING_ENDED_CONTENT_TYPE = "application/vnd.aeolus.meeting.ended+json";
259
+ /** The payload of the ended notice: the meeting that ended. */
260
+ export declare const meetingEndedSchema: z.ZodObject<{
261
+ meetingId: z.ZodType<`mtg_${string}`, unknown, z.core.$ZodTypeInternals<`mtg_${string}`, unknown>>;
262
+ }, z.core.$strip>;
263
+ export type MeetingEnded = z.infer<typeof meetingEndedSchema>;
@@ -0,0 +1,129 @@
1
+ import { z } from 'zod';
2
+ import { shipKindSchema, shipStatusSchema } from '../fleet/index.js';
3
+ import { idSchema } from '../ids/index.js';
4
+ import { shipHandleSchema } from './fleet.js';
5
+ import { partySchema } from './history.js';
6
+ import { idempotencyKeySchema } from './idempotency-key.js';
7
+ import { modelSchema } from './message.js';
8
+ import { pageInputOf, pageOutputOf } from './page.js';
9
+ /**
10
+ * Inputs and outputs of meetings (decision 0061): opening one
11
+ * (`ship.openMeeting`), reading one (`ship.meeting`), the mic calls, and the
12
+ * notices that tell a ship it was added or now holds the mic. A contribution is `ship.send` with the meeting
13
+ * selector.
14
+ */
15
+ /** ISO 8601 in UTC. */
16
+ const isoTime = z.iso.datetime();
17
+ /** The most characters a meeting's title holds: a short name a person reads when auditing later. */
18
+ export const MEETING_TITLE_MAX_LENGTH = 200;
19
+ /** An invitee: one ship, by id or by name, never a type. */
20
+ export const inviteeSchema = z.union([z.strictObject({ shipId: idSchema('ship') }), z.strictObject({ name: shipHandleSchema })]);
21
+ /**
22
+ * Input of `ship.openMeeting` (meetings:open): the invitees by ship and by a
23
+ * label selection (value ids, exact and AND), folded into one list with the
24
+ * opener, which owns and moderates it; the opener's idempotency key; and the
25
+ * model its session runs, which the added notices state; and an optional
26
+ * short title.
27
+ */
28
+ export const openMeetingInputSchema = z.object({
29
+ ships: z.array(inviteeSchema).optional(),
30
+ valueIds: z.array(idSchema('labelValue')).optional(),
31
+ idempotencyKey: idempotencyKeySchema,
32
+ model: modelSchema.optional(),
33
+ title: z.string().trim().max(MEETING_TITLE_MAX_LENGTH, `A meeting title is at most ${String(MEETING_TITLE_MAX_LENGTH)} characters`).optional(),
34
+ });
35
+ /** Output of `ship.openMeeting`: the meeting's id, the original one when the key was used before. */
36
+ export const openMeetingOutputSchema = z.object({ meetingId: idSchema('meeting') });
37
+ /** Input of `ship.meeting`: the meeting, and a page of its contributions, newest first. */
38
+ export const meetingInputSchema = pageInputOf(idSchema('message')).extend({ meetingId: idSchema('meeting') });
39
+ /**
40
+ * How the mic passes when it is free (M9): the moderator gives it to whom it
41
+ * likes, or it goes to the oldest request, first in line.
42
+ */
43
+ export const MIC_PATTERNS = ['moderator', 'fifo'];
44
+ export const micPatternSchema = z.enum(MIC_PATTERNS);
45
+ /**
46
+ * Input of a call on a meeting alone: `ship.requestMic`, `ship.withdrawMicRequest`,
47
+ * `ship.releaseMic`, `ship.takeMic`, `ship.leaveMeeting`, `ship.rejoinMeeting`
48
+ * and `ship.endMeeting`.
49
+ */
50
+ export const meetingIdInputSchema = z.object({ meetingId: idSchema('meeting') });
51
+ /**
52
+ * Input of a call on a meeting and one of its ships: `ship.giveMic` (the
53
+ * moderator), `ship.revokeFromMeeting`, `ship.transferMeeting` and
54
+ * `ship.nameModerator` (the owner).
55
+ */
56
+ export const meetingShipInputSchema = z.object({ meetingId: idSchema('meeting'), shipId: idSchema('ship') });
57
+ /**
58
+ * Input of `ship.addToMeeting` (the owner): more invitees, by ship and by a
59
+ * label selection, as an open names them, and the model the owner's session
60
+ * runs, which the added notices state.
61
+ */
62
+ export const addToMeetingInputSchema = z.object({
63
+ meetingId: idSchema('meeting'),
64
+ ships: z.array(inviteeSchema).optional(),
65
+ valueIds: z.array(idSchema('labelValue')).optional(),
66
+ model: modelSchema.optional(),
67
+ });
68
+ /** Input of `ship.setMicPattern` (the moderator): the meeting and how its mic passes from now. */
69
+ export const setMicPatternInputSchema = z.object({ meetingId: idSchema('meeting'), pattern: micPatternSchema });
70
+ /** Output of every mic call and every change of a meeting's life: nothing, once the change and its notices are stored. */
71
+ export const meetingChangedOutputSchema = z.object({});
72
+ /** The mic as the meeting read shows it: who holds it, null while free; its pattern; and the requests, oldest first. */
73
+ export const meetingMicReadSchema = z.object({
74
+ holder: partySchema.nullable(),
75
+ pattern: micPatternSchema,
76
+ requests: z.array(z.object({ ship: partySchema, requestedAt: isoTime })),
77
+ });
78
+ /** Whether a participant is in the meeting now, left it keeping its right to rejoin, or was revoked by the owner (decision 0061, M13). */
79
+ export const PARTICIPANT_STATES = ['present', 'left', 'revoked'];
80
+ export const participantStateSchema = z.enum(PARTICIPANT_STATES);
81
+ /**
82
+ * A participant as the meeting read shows it: who it is, whether it is crewed
83
+ * now (decision 0061, M14), and whether it is in the meeting now.
84
+ */
85
+ export const meetingParticipantSchema = partySchema.extend({ kind: shipKindSchema, status: shipStatusSchema, state: participantStateSchema });
86
+ /** One contribution as the meeting read shows it. */
87
+ export const contributionSchema = z.object({
88
+ messageId: idSchema('message'),
89
+ sender: partySchema,
90
+ payload: z.string(),
91
+ contentType: z.string(),
92
+ model: z.string().nullable(),
93
+ sentAt: isoTime,
94
+ });
95
+ /**
96
+ * Output of `ship.meeting`: the meeting, its title (null without one), its owner and moderator, when it
97
+ * opened and ended (null while open), its participants, its mic, and a page of its
98
+ * contributions, newest first.
99
+ */
100
+ export const meetingOutputSchema = z.object({
101
+ meetingId: idSchema('meeting'),
102
+ title: z.string().nullable(),
103
+ owner: partySchema,
104
+ moderator: partySchema,
105
+ openedAt: isoTime,
106
+ endedAt: isoTime.nullable(),
107
+ participants: z.array(meetingParticipantSchema),
108
+ mic: meetingMicReadSchema,
109
+ contributions: pageOutputOf(contributionSchema, idSchema('message')),
110
+ });
111
+ /** The content type of the notice the owner sends each ship it added to a meeting. */
112
+ export const MEETING_ADDED_CONTENT_TYPE = 'application/vnd.aeolus.meeting.added+json';
113
+ /** The payload of the added notice: the meeting, its title (null without one), its owner, its moderator and its participants, by id and name. */
114
+ export const meetingAddedSchema = z.object({
115
+ meetingId: idSchema('meeting'),
116
+ title: z.string().nullable(),
117
+ owner: partySchema,
118
+ moderator: partySchema,
119
+ participants: z.array(partySchema),
120
+ });
121
+ /** The content type of the notice the moderator sends the ship that now holds the mic. */
122
+ export const MEETING_MIC_CONTENT_TYPE = 'application/vnd.aeolus.meeting.mic+json';
123
+ /** The payload of the mic notice: the meeting whose mic the ship now holds. */
124
+ export const meetingMicSchema = z.object({ meetingId: idSchema('meeting') });
125
+ /** The content type of the notice the ship that ended a meeting sends every other participant. */
126
+ export const MEETING_ENDED_CONTENT_TYPE = 'application/vnd.aeolus.meeting.ended+json';
127
+ /** The payload of the ended notice: the meeting that ended. */
128
+ export const meetingEndedSchema = z.object({ meetingId: idSchema('meeting') });
129
+ //# sourceMappingURL=meeting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meeting.js","sourceRoot":"","sources":["../../src/schemas/meeting.ts"],"names":[],"mappings":"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"}
@@ -25,9 +25,20 @@ export declare const MODEL_MAX_LENGTH = 100;
25
25
  * Self-reported: the fleet stores it and never verifies it.
26
26
  */
27
27
  export declare const modelSchema: z.ZodString;
28
+ /**
29
+ * A label selection a message is sent to (decision 0065): one value id up to
30
+ * as many as a ship carries, each once; exact and AND, so a ship carrying
31
+ * every value gets a delivery. Ids only, never texts (decision 0031).
32
+ */
33
+ export declare const labelValuesSelectorSchema: z.ZodObject<{
34
+ kind: z.ZodLiteral<"label">;
35
+ valueIds: z.ZodArray<z.ZodType<`lbv_${string}`, unknown, z.core.$ZodTypeInternals<`lbv_${string}`, unknown>>>;
36
+ }, z.core.$strict>;
28
37
  /**
29
38
  * Who a message is for (docs/blueprint.md, "Selector"): one ship, by id or by
30
- * name, or any ship of a type. A name is resolved to the ship's id at send time.
39
+ * name, any ship of a type, every other participant of a meeting (decision
40
+ * 0061), or every ship a label selection names (decision 0065). A name is
41
+ * resolved to the ship's id at send time.
31
42
  */
32
43
  export declare const selectorSchema: z.ZodUnion<readonly [z.ZodObject<{
33
44
  kind: z.ZodLiteral<"ship">;
@@ -38,7 +49,33 @@ export declare const selectorSchema: z.ZodUnion<readonly [z.ZodObject<{
38
49
  }, z.core.$strict>, z.ZodObject<{
39
50
  kind: z.ZodLiteral<"type">;
40
51
  type: z.ZodString;
52
+ }, z.core.$strict>, z.ZodObject<{
53
+ kind: z.ZodLiteral<"meeting">;
54
+ meetingId: z.ZodType<`mtg_${string}`, unknown, z.core.$ZodTypeInternals<`mtg_${string}`, unknown>>;
55
+ }, z.core.$strict>, z.ZodObject<{
56
+ kind: z.ZodLiteral<"label">;
57
+ valueIds: z.ZodArray<z.ZodType<`lbv_${string}`, unknown, z.core.$ZodTypeInternals<`lbv_${string}`, unknown>>>;
58
+ }, z.core.$strict>]>;
59
+ /**
60
+ * What a schedule sends to (decision 0062): one ship, by id or by name, a
61
+ * type, or a label selection resolved at each send time (decision 0065);
62
+ * never a meeting.
63
+ */
64
+ export declare const scheduleSelectorSchema: z.ZodUnion<readonly [z.ZodObject<{
65
+ kind: z.ZodLiteral<"ship">;
66
+ shipId: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
67
+ }, z.core.$strict>, z.ZodObject<{
68
+ kind: z.ZodLiteral<"ship">;
69
+ name: z.ZodString;
70
+ }, z.core.$strict>, z.ZodObject<{
71
+ kind: z.ZodLiteral<"type">;
72
+ type: z.ZodString;
73
+ }, z.core.$strict>, z.ZodObject<{
74
+ kind: z.ZodLiteral<"label">;
75
+ valueIds: z.ZodArray<z.ZodType<`lbv_${string}`, unknown, z.core.$ZodTypeInternals<`lbv_${string}`, unknown>>>;
41
76
  }, z.core.$strict>]>;
77
+ /** A payload: any text of at most 64 KB in UTF-8 (ADR 0006). */
78
+ export declare const payloadSchema: z.ZodString;
42
79
  export type SelectorInput = z.infer<typeof selectorSchema>;
43
80
  /** Input of `ship.send`. The sender is the calling ship, never named in the input. */
44
81
  export declare const sendInputSchema: z.ZodObject<{
@@ -51,6 +88,12 @@ export declare const sendInputSchema: z.ZodObject<{
51
88
  }, z.core.$strict>, z.ZodObject<{
52
89
  kind: z.ZodLiteral<"type">;
53
90
  type: z.ZodString;
91
+ }, z.core.$strict>, z.ZodObject<{
92
+ kind: z.ZodLiteral<"meeting">;
93
+ meetingId: z.ZodType<`mtg_${string}`, unknown, z.core.$ZodTypeInternals<`mtg_${string}`, unknown>>;
94
+ }, z.core.$strict>, z.ZodObject<{
95
+ kind: z.ZodLiteral<"label">;
96
+ valueIds: z.ZodArray<z.ZodType<`lbv_${string}`, unknown, z.core.$ZodTypeInternals<`lbv_${string}`, unknown>>>;
54
97
  }, z.core.$strict>]>;
55
98
  payload: z.ZodString;
56
99
  contentType: z.ZodOptional<z.ZodString>;
@@ -3,6 +3,7 @@ import { idSchema } from '../ids/index.js';
3
3
  import { PAYLOAD_MAX_BYTES, payloadBytes } from '../rules/payload.js';
4
4
  import { shipHandleSchema } from './fleet.js';
5
5
  import { idempotencyKeySchema } from './idempotency-key.js';
6
+ import { SHIP_LABELS_MAX } from './label.js';
6
7
  /**
7
8
  * Inputs and outputs of sending a message (`ship.send`): who it is for, its
8
9
  * payload and content type, the model the sender runs, the sender's
@@ -47,21 +48,51 @@ export const modelSchema = z
47
48
  .min(1, 'A model is the exact model id the session runs, such as claude-opus-5-5')
48
49
  .max(MODEL_MAX_LENGTH, `A model is at most ${String(MODEL_MAX_LENGTH)} characters`)
49
50
  .regex(/^\S+$/, 'A model id has no spaces');
51
+ /**
52
+ * A label selection a message is sent to (decision 0065): one value id up to
53
+ * as many as a ship carries, each once; exact and AND, so a ship carrying
54
+ * every value gets a delivery. Ids only, never texts (decision 0031).
55
+ */
56
+ export const labelValuesSelectorSchema = z.strictObject({
57
+ kind: z.literal('label'),
58
+ valueIds: z
59
+ .array(idSchema('labelValue'))
60
+ .min(1, 'A label selection names at least one value id')
61
+ .max(SHIP_LABELS_MAX, `A label selection names at most ${String(SHIP_LABELS_MAX)} value ids, as many as a ship carries`)
62
+ .refine((valueIds) => new Set(valueIds).size === valueIds.length, 'A label selection names each value id once'),
63
+ });
50
64
  /**
51
65
  * Who a message is for (docs/blueprint.md, "Selector"): one ship, by id or by
52
- * name, or any ship of a type. A name is resolved to the ship's id at send time.
66
+ * name, any ship of a type, every other participant of a meeting (decision
67
+ * 0061), or every ship a label selection names (decision 0065). A name is
68
+ * resolved to the ship's id at send time.
53
69
  */
54
70
  export const selectorSchema = z.union([
55
71
  z.strictObject({ kind: z.literal('ship'), shipId: idSchema('ship') }),
56
72
  z.strictObject({ kind: z.literal('ship'), name: shipHandleSchema }),
57
73
  z.strictObject({ kind: z.literal('type'), type: shipHandleSchema }),
74
+ z.strictObject({ kind: z.literal('meeting'), meetingId: idSchema('meeting') }),
75
+ labelValuesSelectorSchema,
76
+ ]);
77
+ /**
78
+ * What a schedule sends to (decision 0062): one ship, by id or by name, a
79
+ * type, or a label selection resolved at each send time (decision 0065);
80
+ * never a meeting.
81
+ */
82
+ export const scheduleSelectorSchema = z.union([
83
+ z.strictObject({ kind: z.literal('ship'), shipId: idSchema('ship') }),
84
+ z.strictObject({ kind: z.literal('ship'), name: shipHandleSchema }),
85
+ z.strictObject({ kind: z.literal('type'), type: shipHandleSchema }),
86
+ labelValuesSelectorSchema,
58
87
  ]);
88
+ /** A payload: any text of at most 64 KB in UTF-8 (ADR 0006). */
89
+ export const payloadSchema = z
90
+ .string()
91
+ .refine((payload) => payloadBytes(payload) <= PAYLOAD_MAX_BYTES, `A payload is at most ${PAYLOAD_MAX_BYTES} bytes (64 KB) in UTF-8`);
59
92
  /** Input of `ship.send`. The sender is the calling ship, never named in the input. */
60
93
  export const sendInputSchema = z.object({
61
94
  selector: selectorSchema,
62
- payload: z
63
- .string()
64
- .refine((payload) => payloadBytes(payload) <= PAYLOAD_MAX_BYTES, `A payload is at most ${PAYLOAD_MAX_BYTES} bytes (64 KB) in UTF-8`),
95
+ payload: payloadSchema,
65
96
  /** Without it, the payload is text/plain. */
66
97
  contentType: contentTypeSchema.optional(),
67
98
  /** The exact model the sending session runs now. Every ship states it; argo states none. */
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/schemas/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEtE,uEAAuE;AACvE,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAE3C,6DAA6D;AAC7D,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAAC;AAEjD,6EAA6E;AAC7E,0EAA0E;AAC1E,yEAAyE;AACzE,MAAM,KAAK,GAAG,+BAA+B,CAAC;AAC9C,MAAM,aAAa,GAAG,sFAAsF,CAAC;AAC7G,MAAM,KAAK,GAAG,SAAS,CAAC;AACxB,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,KAAK,MAAM,KAAK,IAAI,KAAK,MAAM,KAAK,OAAO,KAAK,IAAI,aAAa,QAAQ,CAAC,CAAC;AAEtH,uGAAuG;AACvG,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,oBAAoB,GAAG,oGAAoG,uBAAuB,aAAa,CAAC;AAEtK;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,EAAE;KACR,GAAG,CAAC,uBAAuB,EAAE,oBAAoB,CAAC;KAClD,MAAM,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;AAE7C,gDAAgD;AAChD,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAEpC;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC;KACzB,MAAM,EAAE;KACR,IAAI,EAAE;KACN,GAAG,CAAC,CAAC,EAAE,yEAAyE,CAAC;KACjF,GAAG,CAAC,gBAAgB,EAAE,sBAAsB,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC;KAClF,KAAK,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;AAE9C;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC;IACpC,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;IACrE,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACnE,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;CACpE,CAAC,CAAC;AAIH,sFAAsF;AACtF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,QAAQ,EAAE,cAAc;IACxB,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,MAAM,CACL,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,iBAAiB,EACvD,wBAAwB,iBAAiB,yBAAyB,CACnE;IACH,6CAA6C;IAC7C,WAAW,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IACzC,4FAA4F;IAC5F,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE;IAC7B,cAAc,EAAE,oBAAoB;IACpC,0EAA0E;IAC1E,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE;IACzC,iGAAiG;IACjG,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAIH,0GAA0G;AAC1G,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/schemas/message.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,16 @@ export declare const needsAttentionDeliverySchema: z.ZodObject<{
34
34
  }, z.core.$strip>, z.ZodObject<{
35
35
  kind: z.ZodLiteral<"type">;
36
36
  type: z.ZodString;
37
+ }, z.core.$strip>, z.ZodObject<{
38
+ kind: z.ZodLiteral<"meeting">;
39
+ meetingId: z.ZodType<`mtg_${string}`, unknown, z.core.$ZodTypeInternals<`mtg_${string}`, unknown>>;
40
+ }, z.core.$strip>, z.ZodObject<{
41
+ kind: z.ZodLiteral<"label">;
42
+ values: z.ZodReadonly<z.ZodArray<z.ZodObject<{
43
+ valueId: z.ZodType<`lbv_${string}`, unknown, z.core.$ZodTypeInternals<`lbv_${string}`, unknown>>;
44
+ key: z.ZodNullable<z.ZodString>;
45
+ value: z.ZodNullable<z.ZodString>;
46
+ }, z.core.$strip>>>;
37
47
  }, z.core.$strip>], "kind">;
38
48
  inReplyTo: z.ZodNullable<z.ZodType<`msg_${string}`, unknown, z.core.$ZodTypeInternals<`msg_${string}`, unknown>>>;
39
49
  sentAt: z.ZodISODateTime;
@@ -84,6 +94,16 @@ export declare const needsAttentionOutputSchema: z.ZodObject<{
84
94
  }, z.core.$strip>, z.ZodObject<{
85
95
  kind: z.ZodLiteral<"type">;
86
96
  type: z.ZodString;
97
+ }, z.core.$strip>, z.ZodObject<{
98
+ kind: z.ZodLiteral<"meeting">;
99
+ meetingId: z.ZodType<`mtg_${string}`, unknown, z.core.$ZodTypeInternals<`mtg_${string}`, unknown>>;
100
+ }, z.core.$strip>, z.ZodObject<{
101
+ kind: z.ZodLiteral<"label">;
102
+ values: z.ZodReadonly<z.ZodArray<z.ZodObject<{
103
+ valueId: z.ZodType<`lbv_${string}`, unknown, z.core.$ZodTypeInternals<`lbv_${string}`, unknown>>;
104
+ key: z.ZodNullable<z.ZodString>;
105
+ value: z.ZodNullable<z.ZodString>;
106
+ }, z.core.$strip>>>;
87
107
  }, z.core.$strip>], "kind">;
88
108
  inReplyTo: z.ZodNullable<z.ZodType<`msg_${string}`, unknown, z.core.$ZodTypeInternals<`msg_${string}`, unknown>>>;
89
109
  sentAt: z.ZodISODateTime;