@isoplan/protocol 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/facts.d.ts CHANGED
@@ -96,6 +96,26 @@ export declare const ReportFactSchema: z.ZodObject<{
96
96
  text: z.ZodString;
97
97
  extra: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
98
98
  }, z.core.$strip>;
99
+ /**
100
+ * A question an agent asked its owner, open until it is answered, so the floor can show it and the
101
+ * owner can answer it there. One of the named cases of session-derived text leaving a machine: the
102
+ * server keeps it only for the retention period. `id` is the tool call's own id.
103
+ */
104
+ export declare const QuestionFactSchema: z.ZodObject<{
105
+ id: z.ZodString;
106
+ agent: z.ZodString;
107
+ at: z.ZodISODateTime;
108
+ questions: z.ZodArray<z.ZodObject<{
109
+ question: z.ZodString;
110
+ header: z.ZodString;
111
+ options: z.ZodArray<z.ZodObject<{
112
+ label: z.ZodString;
113
+ description: z.ZodString;
114
+ }, z.core.$strip>>;
115
+ multiSelect: z.ZodBoolean;
116
+ }, z.core.$strip>>;
117
+ extra: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
118
+ }, z.core.$strip>;
99
119
  export declare const FactsSchema: z.ZodObject<{
100
120
  session: z.ZodObject<{
101
121
  id: z.ZodString;
@@ -196,6 +216,21 @@ export declare const FactsSchema: z.ZodObject<{
196
216
  text: z.ZodString;
197
217
  extra: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
198
218
  }, z.core.$strip>>;
219
+ questions: z.ZodOptional<z.ZodArray<z.ZodObject<{
220
+ id: z.ZodString;
221
+ agent: z.ZodString;
222
+ at: z.ZodISODateTime;
223
+ questions: z.ZodArray<z.ZodObject<{
224
+ question: z.ZodString;
225
+ header: z.ZodString;
226
+ options: z.ZodArray<z.ZodObject<{
227
+ label: z.ZodString;
228
+ description: z.ZodString;
229
+ }, z.core.$strip>>;
230
+ multiSelect: z.ZodBoolean;
231
+ }, z.core.$strip>>;
232
+ extra: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
233
+ }, z.core.$strip>>>;
199
234
  }, z.core.$strip>;
200
235
  /** The records that changed, each replacing the one with the same key. */
201
236
  export declare const FactUpsertSchema: z.ZodObject<{
@@ -298,10 +333,26 @@ export declare const FactUpsertSchema: z.ZodObject<{
298
333
  text: z.ZodString;
299
334
  extra: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
300
335
  }, z.core.$strip>>>;
336
+ questions: z.ZodOptional<z.ZodArray<z.ZodObject<{
337
+ id: z.ZodString;
338
+ agent: z.ZodString;
339
+ at: z.ZodISODateTime;
340
+ questions: z.ZodArray<z.ZodObject<{
341
+ question: z.ZodString;
342
+ header: z.ZodString;
343
+ options: z.ZodArray<z.ZodObject<{
344
+ label: z.ZodString;
345
+ description: z.ZodString;
346
+ }, z.core.$strip>>;
347
+ multiSelect: z.ZodBoolean;
348
+ }, z.core.$strip>>;
349
+ extra: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
350
+ }, z.core.$strip>>>;
301
351
  }, z.core.$strip>;
302
352
  /**
303
353
  * The keys of records that went away: an agent by its id, an edit or read by agent and file, a
304
- * wait by waiter and on, a report by its agent. The session itself goes with the connection.
354
+ * wait by waiter and on, a report by its agent, a question by its id. The session itself goes with
355
+ * the connection.
305
356
  */
306
357
  export declare const FactRemoveSchema: z.ZodObject<{
307
358
  agents: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -318,6 +369,7 @@ export declare const FactRemoveSchema: z.ZodObject<{
318
369
  on: z.ZodString;
319
370
  }, z.core.$strip>>>;
320
371
  reports: z.ZodOptional<z.ZodArray<z.ZodString>>;
372
+ questions: z.ZodOptional<z.ZodArray<z.ZodString>>;
321
373
  }, z.core.$strip>;
322
374
  export type Source = z.infer<typeof SourceSchema>;
323
375
  export type SessionFact = z.infer<typeof SessionFactSchema>;
@@ -325,6 +377,7 @@ export type AgentFact = z.infer<typeof AgentFactSchema>;
325
377
  export type FileFact = z.infer<typeof FileFactSchema>;
326
378
  export type WaitFact = z.infer<typeof WaitFactSchema>;
327
379
  export type ReportFact = z.infer<typeof ReportFactSchema>;
380
+ export type QuestionFact = z.infer<typeof QuestionFactSchema>;
328
381
  export type Facts = z.infer<typeof FactsSchema>;
329
382
  export type FactUpsert = z.infer<typeof FactUpsertSchema>;
330
383
  export type FactRemove = z.infer<typeof FactRemoveSchema>;
package/dist/facts.js CHANGED
@@ -73,6 +73,25 @@ export const ReportFactSchema = z.object({
73
73
  text: z.string(),
74
74
  extra: Extra,
75
75
  });
76
+ /**
77
+ * A question an agent asked its owner, open until it is answered, so the floor can show it and the
78
+ * owner can answer it there. One of the named cases of session-derived text leaving a machine: the
79
+ * server keeps it only for the retention period. `id` is the tool call's own id.
80
+ */
81
+ export const QuestionFactSchema = z.object({
82
+ id: z.string().min(1),
83
+ agent: z.string().min(1),
84
+ at: Time,
85
+ questions: z
86
+ .array(z.object({
87
+ question: z.string().min(1),
88
+ header: z.string(),
89
+ options: z.array(z.object({ label: z.string().min(1), description: z.string() })),
90
+ multiSelect: z.boolean(),
91
+ }))
92
+ .min(1),
93
+ extra: Extra,
94
+ });
76
95
  export const FactsSchema = z.object({
77
96
  session: SessionFactSchema,
78
97
  agents: z.array(AgentFactSchema),
@@ -80,6 +99,8 @@ export const FactsSchema = z.object({
80
99
  reads: z.array(FileFactSchema),
81
100
  waits: z.array(WaitFactSchema),
82
101
  reports: z.array(ReportFactSchema),
102
+ /** Absent from a data layer that doesn't report questions, which is the same as none. */
103
+ questions: z.array(QuestionFactSchema).optional(),
83
104
  });
84
105
  /** The records that changed, each replacing the one with the same key. */
85
106
  export const FactUpsertSchema = z.object({
@@ -89,11 +110,13 @@ export const FactUpsertSchema = z.object({
89
110
  reads: z.array(FileFactSchema).optional(),
90
111
  waits: z.array(WaitFactSchema).optional(),
91
112
  reports: z.array(ReportFactSchema).optional(),
113
+ questions: z.array(QuestionFactSchema).optional(),
92
114
  });
93
115
  const FileKey = FileFactSchema.pick({ agent: true, file: true });
94
116
  /**
95
117
  * The keys of records that went away: an agent by its id, an edit or read by agent and file, a
96
- * wait by waiter and on, a report by its agent. The session itself goes with the connection.
118
+ * wait by waiter and on, a report by its agent, a question by its id. The session itself goes with
119
+ * the connection.
97
120
  */
98
121
  export const FactRemoveSchema = z.object({
99
122
  agents: z.array(z.string().min(1)).optional(),
@@ -101,5 +124,6 @@ export const FactRemoveSchema = z.object({
101
124
  reads: z.array(FileKey).optional(),
102
125
  waits: z.array(WaitFactSchema.pick({ waiter: true, on: true })).optional(),
103
126
  reports: z.array(z.string().min(1)).optional(),
127
+ questions: z.array(z.string().min(1)).optional(),
104
128
  });
105
129
  //# sourceMappingURL=facts.js.map
package/dist/facts.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"facts.js","sourceRoot":"","sources":["../src/facts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"facts.js","sourceRoot":"","sources":["../src/facts.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,28 @@ export declare const ProjectSchema: z.ZodObject<{
8
8
  id: z.ZodString;
9
9
  name: z.ZodString;
10
10
  }, z.core.$strip>;
11
+ /**
12
+ * One repo a handoff pushed: its path in the session's folder (`.` for the folder itself), remote,
13
+ * branch and commit. A handoff drives git on the receiver's machine, so the path stays inside the
14
+ * folder and the remote can't name a transport helper such as `ext::`, which runs a command.
15
+ */
16
+ export declare const HandoffRepoSchema: z.ZodObject<{
17
+ path: z.ZodString;
18
+ remote: z.ZodString;
19
+ branch: z.ZodString;
20
+ commit: z.ZodString;
21
+ }, z.core.$strip>;
22
+ /** What the receiver gets: the brief, and every repo pushed for it, each on the handoff's own branch. */
23
+ export declare const HandoffSchema: z.ZodObject<{
24
+ id: z.ZodString;
25
+ brief: z.ZodString;
26
+ repos: z.ZodArray<z.ZodObject<{
27
+ path: z.ZodString;
28
+ remote: z.ZodString;
29
+ branch: z.ZodString;
30
+ commit: z.ZodString;
31
+ }, z.core.$strip>>;
32
+ }, z.core.$strip>;
11
33
  /** The first message on a connection: who is reporting, from where, about which session. */
12
34
  export declare const HelloMessageSchema: z.ZodObject<{
13
35
  type: z.ZodLiteral<"hello">;
@@ -28,6 +50,18 @@ export declare const HelloMessageSchema: z.ZodObject<{
28
50
  name: z.ZodString;
29
51
  }, z.core.$strip>;
30
52
  }, z.core.$strip>;
53
+ /** The first message on a runner's link: the one link per machine that answers requests for its rooms. */
54
+ export declare const RunnerHelloMessageSchema: z.ZodObject<{
55
+ type: z.ZodLiteral<"runner">;
56
+ v: z.ZodLiteral<1>;
57
+ account: z.ZodObject<{
58
+ id: z.ZodString;
59
+ name: z.ZodString;
60
+ }, z.core.$strip>;
61
+ machine: z.ZodObject<{
62
+ name: z.ZodString;
63
+ }, z.core.$strip>;
64
+ }, z.core.$strip>;
31
65
  /** All of the session's facts. Sent on connect and on repair. */
32
66
  export declare const FullMessageSchema: z.ZodObject<{
33
67
  type: z.ZodLiteral<"full">;
@@ -133,6 +167,21 @@ export declare const FullMessageSchema: z.ZodObject<{
133
167
  text: z.ZodString;
134
168
  extra: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
135
169
  }, z.core.$strip>>;
170
+ questions: z.ZodOptional<z.ZodArray<z.ZodObject<{
171
+ id: z.ZodString;
172
+ agent: z.ZodString;
173
+ at: z.ZodISODateTime;
174
+ questions: z.ZodArray<z.ZodObject<{
175
+ question: z.ZodString;
176
+ header: z.ZodString;
177
+ options: z.ZodArray<z.ZodObject<{
178
+ label: z.ZodString;
179
+ description: z.ZodString;
180
+ }, z.core.$strip>>;
181
+ multiSelect: z.ZodBoolean;
182
+ }, z.core.$strip>>;
183
+ extra: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
184
+ }, z.core.$strip>>>;
136
185
  }, z.core.$strip>;
137
186
  }, z.core.$strip>;
138
187
  /** What changed since the last message. `seq` goes up by one per message, so a gap shows. */
@@ -240,6 +289,21 @@ export declare const ChangesMessageSchema: z.ZodObject<{
240
289
  text: z.ZodString;
241
290
  extra: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
242
291
  }, z.core.$strip>>>;
292
+ questions: z.ZodOptional<z.ZodArray<z.ZodObject<{
293
+ id: z.ZodString;
294
+ agent: z.ZodString;
295
+ at: z.ZodISODateTime;
296
+ questions: z.ZodArray<z.ZodObject<{
297
+ question: z.ZodString;
298
+ header: z.ZodString;
299
+ options: z.ZodArray<z.ZodObject<{
300
+ label: z.ZodString;
301
+ description: z.ZodString;
302
+ }, z.core.$strip>>;
303
+ multiSelect: z.ZodBoolean;
304
+ }, z.core.$strip>>;
305
+ extra: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
306
+ }, z.core.$strip>>>;
243
307
  }, z.core.$strip>;
244
308
  remove: z.ZodObject<{
245
309
  agents: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -256,8 +320,109 @@ export declare const ChangesMessageSchema: z.ZodObject<{
256
320
  on: z.ZodString;
257
321
  }, z.core.$strip>>>;
258
322
  reports: z.ZodOptional<z.ZodArray<z.ZodString>>;
323
+ questions: z.ZodOptional<z.ZodArray<z.ZodString>>;
259
324
  }, z.core.$strip>;
260
325
  }, z.core.$strip>;
326
+ /** The answer to a request, carrying the request's id and kind. */
327
+ export declare const ReplyMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
328
+ type: z.ZodLiteral<"reply">;
329
+ v: z.ZodLiteral<1>;
330
+ id: z.ZodString;
331
+ kind: z.ZodLiteral<"answer-question">;
332
+ answer: z.ZodString;
333
+ }, z.core.$strip>, z.ZodObject<{
334
+ type: z.ZodLiteral<"reply">;
335
+ v: z.ZodLiteral<1>;
336
+ id: z.ZodString;
337
+ kind: z.ZodLiteral<"write-brief">;
338
+ handoff: z.ZodObject<{
339
+ id: z.ZodString;
340
+ brief: z.ZodString;
341
+ repos: z.ZodArray<z.ZodObject<{
342
+ path: z.ZodString;
343
+ remote: z.ZodString;
344
+ branch: z.ZodString;
345
+ commit: z.ZodString;
346
+ }, z.core.$strip>>;
347
+ }, z.core.$strip>;
348
+ }, z.core.$strip>, z.ZodObject<{
349
+ type: z.ZodLiteral<"reply">;
350
+ v: z.ZodLiteral<1>;
351
+ id: z.ZodString;
352
+ kind: z.ZodLiteral<"owner-answer">;
353
+ }, z.core.$strip>], "kind">;
354
+ /**
355
+ * A request the machine won't answer, sent in place of its reply. `over-cap` names the cap it would
356
+ * go over. `withheld` means the secret scan matched; the reply follows if the owner releases it.
357
+ * `unavailable` is anything else that stops the room answering now, such as its checkout being gone,
358
+ * its lead being mid-turn or a push being rejected.
359
+ */
360
+ export declare const RefusalMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
361
+ type: z.ZodLiteral<"refusal">;
362
+ v: z.ZodLiteral<1>;
363
+ id: z.ZodString;
364
+ reason: z.ZodLiteral<"over-cap">;
365
+ cap: z.ZodEnum<{
366
+ "owner-day": "owner-day";
367
+ "owner-tokens": "owner-tokens";
368
+ "room-hour": "room-hour";
369
+ }>;
370
+ }, z.core.$strip>, z.ZodObject<{
371
+ type: z.ZodLiteral<"refusal">;
372
+ v: z.ZodLiteral<1>;
373
+ id: z.ZodString;
374
+ reason: z.ZodLiteral<"withheld">;
375
+ }, z.core.$strip>, z.ZodObject<{
376
+ type: z.ZodLiteral<"refusal">;
377
+ v: z.ZodLiteral<1>;
378
+ id: z.ZodString;
379
+ reason: z.ZodLiteral<"unavailable">;
380
+ detail: z.ZodString;
381
+ }, z.core.$strip>], "reason">;
382
+ /**
383
+ * The sender's session handed its room over with the command: its agent wrote the brief and pushed.
384
+ * `to` is the receiver as the sender named them, for the server to find in the office.
385
+ */
386
+ export declare const HandOverMessageSchema: z.ZodObject<{
387
+ type: z.ZodLiteral<"hand-over">;
388
+ v: z.ZodLiteral<1>;
389
+ to: z.ZodString;
390
+ handoff: z.ZodObject<{
391
+ id: z.ZodString;
392
+ brief: z.ZodString;
393
+ repos: z.ZodArray<z.ZodObject<{
394
+ path: z.ZodString;
395
+ remote: z.ZodString;
396
+ branch: z.ZodString;
397
+ commit: z.ZodString;
398
+ }, z.core.$strip>>;
399
+ }, z.core.$strip>;
400
+ }, z.core.$strip>;
401
+ /** The receiver's session asks for the handoff a take code stands for. */
402
+ export declare const TakeMessageSchema: z.ZodObject<{
403
+ type: z.ZodLiteral<"take">;
404
+ v: z.ZodLiteral<1>;
405
+ code: z.ZodString;
406
+ }, z.core.$strip>;
407
+ /**
408
+ * The receiver took the handoff and joins its room. Each step that failed is listed with the repo it
409
+ * was for and the end of its output; the session opens anyway.
410
+ */
411
+ export declare const TakenMessageSchema: z.ZodObject<{
412
+ type: z.ZodLiteral<"taken">;
413
+ v: z.ZodLiteral<1>;
414
+ handoff: z.ZodString;
415
+ failures: z.ZodArray<z.ZodObject<{
416
+ step: z.ZodEnum<{
417
+ checkout: "checkout";
418
+ open: "open";
419
+ setup: "setup";
420
+ worktree: "worktree";
421
+ }>;
422
+ repo: z.ZodOptional<z.ZodString>;
423
+ output: z.ZodString;
424
+ }, z.core.$strip>>;
425
+ }, z.core.$strip>;
261
426
  export declare const DataLayerMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
262
427
  type: z.ZodLiteral<"hello">;
263
428
  v: z.ZodLiteral<1>;
@@ -276,6 +441,16 @@ export declare const DataLayerMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObjec
276
441
  id: z.ZodString;
277
442
  name: z.ZodString;
278
443
  }, z.core.$strip>;
444
+ }, z.core.$strip>, z.ZodObject<{
445
+ type: z.ZodLiteral<"runner">;
446
+ v: z.ZodLiteral<1>;
447
+ account: z.ZodObject<{
448
+ id: z.ZodString;
449
+ name: z.ZodString;
450
+ }, z.core.$strip>;
451
+ machine: z.ZodObject<{
452
+ name: z.ZodString;
453
+ }, z.core.$strip>;
279
454
  }, z.core.$strip>, z.ZodObject<{
280
455
  type: z.ZodLiteral<"full">;
281
456
  v: z.ZodLiteral<1>;
@@ -380,6 +555,21 @@ export declare const DataLayerMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObjec
380
555
  text: z.ZodString;
381
556
  extra: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
382
557
  }, z.core.$strip>>;
558
+ questions: z.ZodOptional<z.ZodArray<z.ZodObject<{
559
+ id: z.ZodString;
560
+ agent: z.ZodString;
561
+ at: z.ZodISODateTime;
562
+ questions: z.ZodArray<z.ZodObject<{
563
+ question: z.ZodString;
564
+ header: z.ZodString;
565
+ options: z.ZodArray<z.ZodObject<{
566
+ label: z.ZodString;
567
+ description: z.ZodString;
568
+ }, z.core.$strip>>;
569
+ multiSelect: z.ZodBoolean;
570
+ }, z.core.$strip>>;
571
+ extra: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
572
+ }, z.core.$strip>>>;
383
573
  }, z.core.$strip>;
384
574
  }, z.core.$strip>, z.ZodObject<{
385
575
  type: z.ZodLiteral<"changes">;
@@ -485,6 +675,21 @@ export declare const DataLayerMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObjec
485
675
  text: z.ZodString;
486
676
  extra: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
487
677
  }, z.core.$strip>>>;
678
+ questions: z.ZodOptional<z.ZodArray<z.ZodObject<{
679
+ id: z.ZodString;
680
+ agent: z.ZodString;
681
+ at: z.ZodISODateTime;
682
+ questions: z.ZodArray<z.ZodObject<{
683
+ question: z.ZodString;
684
+ header: z.ZodString;
685
+ options: z.ZodArray<z.ZodObject<{
686
+ label: z.ZodString;
687
+ description: z.ZodString;
688
+ }, z.core.$strip>>;
689
+ multiSelect: z.ZodBoolean;
690
+ }, z.core.$strip>>;
691
+ extra: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
692
+ }, z.core.$strip>>>;
488
693
  }, z.core.$strip>;
489
694
  remove: z.ZodObject<{
490
695
  agents: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -501,7 +706,87 @@ export declare const DataLayerMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObjec
501
706
  on: z.ZodString;
502
707
  }, z.core.$strip>>>;
503
708
  reports: z.ZodOptional<z.ZodArray<z.ZodString>>;
709
+ questions: z.ZodOptional<z.ZodArray<z.ZodString>>;
504
710
  }, z.core.$strip>;
711
+ }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
712
+ type: z.ZodLiteral<"reply">;
713
+ v: z.ZodLiteral<1>;
714
+ id: z.ZodString;
715
+ kind: z.ZodLiteral<"answer-question">;
716
+ answer: z.ZodString;
717
+ }, z.core.$strip>, z.ZodObject<{
718
+ type: z.ZodLiteral<"reply">;
719
+ v: z.ZodLiteral<1>;
720
+ id: z.ZodString;
721
+ kind: z.ZodLiteral<"write-brief">;
722
+ handoff: z.ZodObject<{
723
+ id: z.ZodString;
724
+ brief: z.ZodString;
725
+ repos: z.ZodArray<z.ZodObject<{
726
+ path: z.ZodString;
727
+ remote: z.ZodString;
728
+ branch: z.ZodString;
729
+ commit: z.ZodString;
730
+ }, z.core.$strip>>;
731
+ }, z.core.$strip>;
732
+ }, z.core.$strip>, z.ZodObject<{
733
+ type: z.ZodLiteral<"reply">;
734
+ v: z.ZodLiteral<1>;
735
+ id: z.ZodString;
736
+ kind: z.ZodLiteral<"owner-answer">;
737
+ }, z.core.$strip>], "kind">, z.ZodDiscriminatedUnion<[z.ZodObject<{
738
+ type: z.ZodLiteral<"refusal">;
739
+ v: z.ZodLiteral<1>;
740
+ id: z.ZodString;
741
+ reason: z.ZodLiteral<"over-cap">;
742
+ cap: z.ZodEnum<{
743
+ "owner-day": "owner-day";
744
+ "owner-tokens": "owner-tokens";
745
+ "room-hour": "room-hour";
746
+ }>;
747
+ }, z.core.$strip>, z.ZodObject<{
748
+ type: z.ZodLiteral<"refusal">;
749
+ v: z.ZodLiteral<1>;
750
+ id: z.ZodString;
751
+ reason: z.ZodLiteral<"withheld">;
752
+ }, z.core.$strip>, z.ZodObject<{
753
+ type: z.ZodLiteral<"refusal">;
754
+ v: z.ZodLiteral<1>;
755
+ id: z.ZodString;
756
+ reason: z.ZodLiteral<"unavailable">;
757
+ detail: z.ZodString;
758
+ }, z.core.$strip>], "reason">, z.ZodObject<{
759
+ type: z.ZodLiteral<"hand-over">;
760
+ v: z.ZodLiteral<1>;
761
+ to: z.ZodString;
762
+ handoff: z.ZodObject<{
763
+ id: z.ZodString;
764
+ brief: z.ZodString;
765
+ repos: z.ZodArray<z.ZodObject<{
766
+ path: z.ZodString;
767
+ remote: z.ZodString;
768
+ branch: z.ZodString;
769
+ commit: z.ZodString;
770
+ }, z.core.$strip>>;
771
+ }, z.core.$strip>;
772
+ }, z.core.$strip>, z.ZodObject<{
773
+ type: z.ZodLiteral<"take">;
774
+ v: z.ZodLiteral<1>;
775
+ code: z.ZodString;
776
+ }, z.core.$strip>, z.ZodObject<{
777
+ type: z.ZodLiteral<"taken">;
778
+ v: z.ZodLiteral<1>;
779
+ handoff: z.ZodString;
780
+ failures: z.ZodArray<z.ZodObject<{
781
+ step: z.ZodEnum<{
782
+ checkout: "checkout";
783
+ open: "open";
784
+ setup: "setup";
785
+ worktree: "worktree";
786
+ }>;
787
+ repo: z.ZodOptional<z.ZodString>;
788
+ output: z.ZodString;
789
+ }, z.core.$strip>>;
505
790
  }, z.core.$strip>], "type">;
506
791
  /** Asks the data layer to send its facts in full. */
507
792
  export declare const RepairMessageSchema: z.ZodObject<{
@@ -524,6 +809,68 @@ export declare const ErrorMessageSchema: z.ZodObject<{
524
809
  code: z.ZodString;
525
810
  message: z.ZodString;
526
811
  }, z.core.$strip>;
812
+ /**
813
+ * Something for the machine to answer, with a reply or a refusal carrying the same id. `session` is
814
+ * the session it concerns: the lead whose fork answers or writes the brief, or the session whose
815
+ * agent asked its owner. `room` is the room the caps count against.
816
+ */
817
+ export declare const RequestMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
818
+ type: z.ZodLiteral<"request">;
819
+ v: z.ZodLiteral<1>;
820
+ id: z.ZodString;
821
+ kind: z.ZodLiteral<"answer-question">;
822
+ session: z.ZodString;
823
+ room: z.ZodString;
824
+ from: z.ZodObject<{
825
+ id: z.ZodString;
826
+ name: z.ZodString;
827
+ }, z.core.$strip>;
828
+ question: z.ZodString;
829
+ }, z.core.$strip>, z.ZodObject<{
830
+ type: z.ZodLiteral<"request">;
831
+ v: z.ZodLiteral<1>;
832
+ id: z.ZodString;
833
+ kind: z.ZodLiteral<"write-brief">;
834
+ session: z.ZodString;
835
+ room: z.ZodString;
836
+ handoff: z.ZodString;
837
+ to: z.ZodObject<{
838
+ id: z.ZodString;
839
+ name: z.ZodString;
840
+ }, z.core.$strip>;
841
+ }, z.core.$strip>, z.ZodObject<{
842
+ type: z.ZodLiteral<"request">;
843
+ v: z.ZodLiteral<1>;
844
+ id: z.ZodString;
845
+ kind: z.ZodLiteral<"owner-answer">;
846
+ session: z.ZodString;
847
+ question: z.ZodString;
848
+ answers: z.ZodRecord<z.ZodString, z.ZodString>;
849
+ }, z.core.$strip>], "kind">;
850
+ /** The owner released a reply the secret scan withheld, so the machine sends it now. */
851
+ export declare const ReleaseMessageSchema: z.ZodObject<{
852
+ type: z.ZodLiteral<"release">;
853
+ v: z.ZodLiteral<1>;
854
+ id: z.ZodString;
855
+ }, z.core.$strip>;
856
+ /**
857
+ * A handoff for the receiver to take: sent to their runner when they take it from the floor, or to
858
+ * their session in answer to a take code.
859
+ */
860
+ export declare const HandoffMessageSchema: z.ZodObject<{
861
+ type: z.ZodLiteral<"handoff">;
862
+ v: z.ZodLiteral<1>;
863
+ handoff: z.ZodObject<{
864
+ id: z.ZodString;
865
+ brief: z.ZodString;
866
+ repos: z.ZodArray<z.ZodObject<{
867
+ path: z.ZodString;
868
+ remote: z.ZodString;
869
+ branch: z.ZodString;
870
+ commit: z.ZodString;
871
+ }, z.core.$strip>>;
872
+ }, z.core.$strip>;
873
+ }, z.core.$strip>;
527
874
  export declare const OfficeServerMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
528
875
  type: z.ZodLiteral<"repair">;
529
876
  v: z.ZodLiteral<1>;
@@ -539,15 +886,76 @@ export declare const OfficeServerMessageSchema: z.ZodDiscriminatedUnion<[z.ZodOb
539
886
  v: z.ZodLiteral<1>;
540
887
  code: z.ZodString;
541
888
  message: z.ZodString;
889
+ }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
890
+ type: z.ZodLiteral<"request">;
891
+ v: z.ZodLiteral<1>;
892
+ id: z.ZodString;
893
+ kind: z.ZodLiteral<"answer-question">;
894
+ session: z.ZodString;
895
+ room: z.ZodString;
896
+ from: z.ZodObject<{
897
+ id: z.ZodString;
898
+ name: z.ZodString;
899
+ }, z.core.$strip>;
900
+ question: z.ZodString;
901
+ }, z.core.$strip>, z.ZodObject<{
902
+ type: z.ZodLiteral<"request">;
903
+ v: z.ZodLiteral<1>;
904
+ id: z.ZodString;
905
+ kind: z.ZodLiteral<"write-brief">;
906
+ session: z.ZodString;
907
+ room: z.ZodString;
908
+ handoff: z.ZodString;
909
+ to: z.ZodObject<{
910
+ id: z.ZodString;
911
+ name: z.ZodString;
912
+ }, z.core.$strip>;
913
+ }, z.core.$strip>, z.ZodObject<{
914
+ type: z.ZodLiteral<"request">;
915
+ v: z.ZodLiteral<1>;
916
+ id: z.ZodString;
917
+ kind: z.ZodLiteral<"owner-answer">;
918
+ session: z.ZodString;
919
+ question: z.ZodString;
920
+ answers: z.ZodRecord<z.ZodString, z.ZodString>;
921
+ }, z.core.$strip>], "kind">, z.ZodObject<{
922
+ type: z.ZodLiteral<"release">;
923
+ v: z.ZodLiteral<1>;
924
+ id: z.ZodString;
925
+ }, z.core.$strip>, z.ZodObject<{
926
+ type: z.ZodLiteral<"handoff">;
927
+ v: z.ZodLiteral<1>;
928
+ handoff: z.ZodObject<{
929
+ id: z.ZodString;
930
+ brief: z.ZodString;
931
+ repos: z.ZodArray<z.ZodObject<{
932
+ path: z.ZodString;
933
+ remote: z.ZodString;
934
+ branch: z.ZodString;
935
+ commit: z.ZodString;
936
+ }, z.core.$strip>>;
937
+ }, z.core.$strip>;
542
938
  }, z.core.$strip>], "type">;
543
939
  export type Project = z.infer<typeof ProjectSchema>;
940
+ export type HandoffRepo = z.infer<typeof HandoffRepoSchema>;
941
+ export type Handoff = z.infer<typeof HandoffSchema>;
544
942
  export type HelloMessage = z.infer<typeof HelloMessageSchema>;
943
+ export type RunnerHelloMessage = z.infer<typeof RunnerHelloMessageSchema>;
545
944
  export type FullMessage = z.infer<typeof FullMessageSchema>;
546
945
  export type ChangesMessage = z.infer<typeof ChangesMessageSchema>;
946
+ export type ReplyMessage = z.infer<typeof ReplyMessageSchema>;
947
+ export type RefusalMessage = z.infer<typeof RefusalMessageSchema>;
948
+ export type HandOverMessage = z.infer<typeof HandOverMessageSchema>;
949
+ export type TakeMessage = z.infer<typeof TakeMessageSchema>;
950
+ export type TakenMessage = z.infer<typeof TakenMessageSchema>;
547
951
  export type DataLayerMessage = z.infer<typeof DataLayerMessageSchema>;
548
952
  export type RepairMessage = z.infer<typeof RepairMessageSchema>;
549
953
  export type ConflictMessage = z.infer<typeof ConflictMessageSchema>;
550
954
  export type ErrorMessage = z.infer<typeof ErrorMessageSchema>;
955
+ export type RequestMessage = z.infer<typeof RequestMessageSchema>;
956
+ export type RequestKind = RequestMessage["kind"];
957
+ export type ReleaseMessage = z.infer<typeof ReleaseMessageSchema>;
958
+ export type HandoffMessage = z.infer<typeof HandoffMessageSchema>;
551
959
  export type OfficeServerMessage = z.infer<typeof OfficeServerMessageSchema>;
552
960
  /**
553
961
  * A parsed message, or why it was refused: `unsupported-version` when it carries a protocol
package/dist/messages.js CHANGED
@@ -11,17 +11,67 @@ export const ProjectSchema = z.object({
11
11
  id: z.string().min(1),
12
12
  name: z.string().min(1),
13
13
  });
14
+ const Account = z.object({ id: z.string().min(1), name: z.string() });
15
+ const Machine = z.object({ name: z.string().min(1) });
16
+ /** Matches a request with its reply or refusal. */
17
+ const RequestId = z.string().min(1);
18
+ /** A handoff's id. It names the handoff's branch, `isoplan/handoff/<id>`, so it keeps to safe characters. */
19
+ const HandoffId = z
20
+ .string()
21
+ .max(64)
22
+ .regex(/^[a-z0-9][a-z0-9-]*$/, "lowercase letters, digits and dashes");
23
+ /**
24
+ * One repo a handoff pushed: its path in the session's folder (`.` for the folder itself), remote,
25
+ * branch and commit. A handoff drives git on the receiver's machine, so the path stays inside the
26
+ * folder and the remote can't name a transport helper such as `ext::`, which runs a command.
27
+ */
28
+ export const HandoffRepoSchema = z.object({
29
+ path: z
30
+ .string()
31
+ .min(1)
32
+ .refine((path) => !/^([\\/]|[A-Za-z]:)/.test(path), "a path relative to the session's folder")
33
+ .refine((path) => !path.split(/[\\/]/).includes(".."), "a path inside the session's folder, with no `..`")
34
+ .refine((path) => !path.startsWith("-"), "a path that doesn't start with `-`, which git would read as an option"),
35
+ remote: z
36
+ .string()
37
+ .min(1)
38
+ .refine((remote) => !/^[A-Za-z0-9+.-]+::/.test(remote), "a remote with no transport helper (`<transport>::`)")
39
+ .refine((remote) => !remote.startsWith("-"), "a remote that doesn't start with `-`, which git would read as an option"),
40
+ branch: z.string().min(1),
41
+ commit: z.string().regex(/^([0-9a-f]{40}|[0-9a-f]{64})$/, "a full commit hash"),
42
+ });
43
+ /** What the receiver gets: the brief, and every repo pushed for it, each on the handoff's own branch. */
44
+ export const HandoffSchema = z
45
+ .object({
46
+ id: HandoffId,
47
+ brief: z.string().min(1),
48
+ repos: z.array(HandoffRepoSchema).min(1),
49
+ })
50
+ .superRefine((handoff, context) => {
51
+ handoff.repos.forEach((repo, i) => {
52
+ if (repo.branch !== `isoplan/handoff/${handoff.id}`) {
53
+ context.addIssue({ code: "custom", path: ["repos", i, "branch"], message: `the handoff's branch, isoplan/handoff/${handoff.id}` });
54
+ }
55
+ });
56
+ });
14
57
  // Data layer → office server.
15
58
  /** The first message on a connection: who is reporting, from where, about which session. */
16
59
  export const HelloMessageSchema = z.object({
17
60
  type: z.literal("hello"),
18
61
  v: Version,
19
62
  source: SourceSchema,
20
- account: z.object({ id: z.string().min(1), name: z.string() }),
21
- machine: z.object({ name: z.string().min(1) }),
63
+ account: Account,
64
+ machine: Machine,
22
65
  session: z.string().min(1),
23
66
  project: ProjectSchema,
24
67
  });
68
+ /** The first message on a runner's link: the one link per machine that answers requests for its rooms. */
69
+ export const RunnerHelloMessageSchema = z.object({
70
+ type: z.literal("runner"),
71
+ v: Version,
72
+ account: Account,
73
+ machine: Machine,
74
+ });
25
75
  /** All of the session's facts. Sent on connect and on repair. */
26
76
  export const FullMessageSchema = z.object({
27
77
  type: z.literal("full"),
@@ -37,10 +87,70 @@ export const ChangesMessageSchema = z.object({
37
87
  upsert: FactUpsertSchema,
38
88
  remove: FactRemoveSchema,
39
89
  });
90
+ /** The answer to a request, carrying the request's id and kind. */
91
+ export const ReplyMessageSchema = z.discriminatedUnion("kind", [
92
+ z.object({ type: z.literal("reply"), v: Version, id: RequestId, kind: z.literal("answer-question"), answer: z.string().min(1) }),
93
+ z.object({ type: z.literal("reply"), v: Version, id: RequestId, kind: z.literal("write-brief"), handoff: HandoffSchema }),
94
+ // The owner's answer reached the question that was waiting for it.
95
+ z.object({ type: z.literal("reply"), v: Version, id: RequestId, kind: z.literal("owner-answer") }),
96
+ ]);
97
+ /**
98
+ * A request the machine won't answer, sent in place of its reply. `over-cap` names the cap it would
99
+ * go over. `withheld` means the secret scan matched; the reply follows if the owner releases it.
100
+ * `unavailable` is anything else that stops the room answering now, such as its checkout being gone,
101
+ * its lead being mid-turn or a push being rejected.
102
+ */
103
+ export const RefusalMessageSchema = z.discriminatedUnion("reason", [
104
+ z.object({
105
+ type: z.literal("refusal"),
106
+ v: Version,
107
+ id: RequestId,
108
+ reason: z.literal("over-cap"),
109
+ cap: z.enum(["room-hour", "owner-day", "owner-tokens"]),
110
+ }),
111
+ z.object({ type: z.literal("refusal"), v: Version, id: RequestId, reason: z.literal("withheld") }),
112
+ z.object({ type: z.literal("refusal"), v: Version, id: RequestId, reason: z.literal("unavailable"), detail: z.string().min(1) }),
113
+ ]);
114
+ /**
115
+ * The sender's session handed its room over with the command: its agent wrote the brief and pushed.
116
+ * `to` is the receiver as the sender named them, for the server to find in the office.
117
+ */
118
+ export const HandOverMessageSchema = z.object({
119
+ type: z.literal("hand-over"),
120
+ v: Version,
121
+ to: z.string().min(1),
122
+ handoff: HandoffSchema,
123
+ });
124
+ /** The receiver's session asks for the handoff a take code stands for. */
125
+ export const TakeMessageSchema = z.object({
126
+ type: z.literal("take"),
127
+ v: Version,
128
+ code: z.string().min(1),
129
+ });
130
+ /**
131
+ * The receiver took the handoff and joins its room. Each step that failed is listed with the repo it
132
+ * was for and the end of its output; the session opens anyway.
133
+ */
134
+ export const TakenMessageSchema = z.object({
135
+ type: z.literal("taken"),
136
+ v: Version,
137
+ handoff: HandoffId,
138
+ failures: z.array(z.object({
139
+ step: z.enum(["worktree", "setup", "checkout", "open"]),
140
+ repo: z.string().min(1).optional(),
141
+ output: z.string(),
142
+ })),
143
+ });
40
144
  export const DataLayerMessageSchema = z.discriminatedUnion("type", [
41
145
  HelloMessageSchema,
146
+ RunnerHelloMessageSchema,
42
147
  FullMessageSchema,
43
148
  ChangesMessageSchema,
149
+ ReplyMessageSchema,
150
+ RefusalMessageSchema,
151
+ HandOverMessageSchema,
152
+ TakeMessageSchema,
153
+ TakenMessageSchema,
44
154
  ]);
45
155
  // Office server → data layer.
46
156
  /** Asks the data layer to send its facts in full. */
@@ -64,10 +174,68 @@ export const ErrorMessageSchema = z.object({
64
174
  code: z.string().min(1),
65
175
  message: z.string(),
66
176
  });
177
+ /**
178
+ * Something for the machine to answer, with a reply or a refusal carrying the same id. `session` is
179
+ * the session it concerns: the lead whose fork answers or writes the brief, or the session whose
180
+ * agent asked its owner. `room` is the room the caps count against.
181
+ */
182
+ export const RequestMessageSchema = z.discriminatedUnion("kind", [
183
+ // Someone the room was handed to asks it a question.
184
+ z.object({
185
+ type: z.literal("request"),
186
+ v: Version,
187
+ id: RequestId,
188
+ kind: z.literal("answer-question"),
189
+ session: z.string().min(1),
190
+ room: z.string().min(1),
191
+ from: Account,
192
+ question: z.string().min(1),
193
+ }),
194
+ // The sender handed the room over from the floor: write the brief and push, for this handoff.
195
+ z.object({
196
+ type: z.literal("request"),
197
+ v: Version,
198
+ id: RequestId,
199
+ kind: z.literal("write-brief"),
200
+ session: z.string().min(1),
201
+ room: z.string().min(1),
202
+ handoff: HandoffId,
203
+ to: Account,
204
+ }),
205
+ // The owner answered their agent's question from the floor. `question` is the question fact's id,
206
+ // and `answers` maps each question's text to its answer.
207
+ z.object({
208
+ type: z.literal("request"),
209
+ v: Version,
210
+ id: RequestId,
211
+ kind: z.literal("owner-answer"),
212
+ session: z.string().min(1),
213
+ question: z.string().min(1),
214
+ answers: z.record(z.string(), z.string()),
215
+ }),
216
+ ]);
217
+ /** The owner released a reply the secret scan withheld, so the machine sends it now. */
218
+ export const ReleaseMessageSchema = z.object({
219
+ type: z.literal("release"),
220
+ v: Version,
221
+ id: RequestId,
222
+ });
223
+ /**
224
+ * A handoff for the receiver to take: sent to their runner when they take it from the floor, or to
225
+ * their session in answer to a take code.
226
+ */
227
+ export const HandoffMessageSchema = z.object({
228
+ type: z.literal("handoff"),
229
+ v: Version,
230
+ handoff: HandoffSchema,
231
+ });
67
232
  export const OfficeServerMessageSchema = z.discriminatedUnion("type", [
68
233
  RepairMessageSchema,
69
234
  ConflictMessageSchema,
70
235
  ErrorMessageSchema,
236
+ RequestMessageSchema,
237
+ ReleaseMessageSchema,
238
+ HandoffMessageSchema,
71
239
  ]);
72
240
  /** Validates a message an office server received from a data layer. */
73
241
  export function parseDataLayerMessage(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@isoplan/protocol",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "The wire protocol between Isoplan's Claude Code plugin and an office server: message and fact types, with zod parsers.",
5
5
  "license": "MIT",
6
6
  "repository": {