@hyperdrive.bot/paseo-protocol 0.3.54 → 0.3.55

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/messages.js CHANGED
@@ -855,6 +855,58 @@ export const SessionSecretSchema = z.object({
855
855
  source: z.string().max(200).optional(),
856
856
  discoveredAt: z.string().optional(),
857
857
  });
858
+ /**
859
+ * One option on a pending decision. `label` is the SHORT form — the text a
860
+ * button, a list row or a push notification shows, and it is the only field a
861
+ * reader is guaranteed to render. Everything that argues for or against the
862
+ * option lives in the detail fields below, so a consumer can present the
863
+ * choice first and the reasoning on demand instead of a wall of prose.
864
+ */
865
+ export const PendingDecisionOptionSchema = z.object({
866
+ /** Stable within the decision. Referenced by `chosenOptionId`. */
867
+ id: z.string(),
868
+ /** Short label — the choice itself, not the argument for it. */
869
+ label: z.string(),
870
+ /** One-paragraph expansion: what picking this actually means. */
871
+ detail: z.string().optional(),
872
+ pros: z.array(z.string()).optional(),
873
+ cons: z.array(z.string()).optional(),
874
+ /** Blast radius, cost, and reversibility of this option. */
875
+ impact: z.string().optional(),
876
+ /** The agent's own recommendation. At most one option should set it. */
877
+ recommended: z.boolean().optional(),
878
+ });
879
+ /**
880
+ * A decision the session needs the USER to make. This is deliberately NOT a
881
+ * `blocker` string: a blocker says "something is stopping me", a decision says
882
+ * "here is the fork, here are the branches, pick one" — which is answerable
883
+ * from a list without reading the transcript.
884
+ *
885
+ * An entry stays in the array after it is answered (`answeredAt` set) so the
886
+ * agent can read the answer back on its next turn; readers filter on
887
+ * `answeredAt === undefined` for "still waiting on me".
888
+ */
889
+ export const PendingDecisionSchema = z.object({
890
+ /** Stable within the session. Answering targets this id. */
891
+ id: z.string(),
892
+ /** The decision in one line, phrased as a question. */
893
+ question: z.string(),
894
+ /** Why this is being asked now — the situation, not the options. */
895
+ context: z.string().optional(),
896
+ options: z.array(PendingDecisionOptionSchema),
897
+ /** True when the session cannot proceed until this is answered. */
898
+ blocking: z.boolean().optional(),
899
+ urgency: z.enum(["low", "normal", "high"]).optional(),
900
+ /** ISO date or timestamp after which the choice is moot. */
901
+ deadline: z.string().optional(),
902
+ askedAt: z.string(),
903
+ answeredAt: z.string().optional(),
904
+ /** The chosen option's `id`. Absent when answered with free text only. */
905
+ chosenOptionId: z.string().optional(),
906
+ /** Free-text answer — a caveat on the choice, or an option nobody listed. */
907
+ answerNote: z.string().optional(),
908
+ answeredBy: z.enum(["user", "agent", "timeout"]).optional(),
909
+ });
858
910
  /**
859
911
  * Session digest — structured, machine-readable per-session metadata so an
860
912
  * orchestrator can triage a fleet without replaying transcripts. See
@@ -878,6 +930,13 @@ export const SessionDigestSchema = z.object({
878
930
  keyFiles: z.array(z.string()).optional(),
879
931
  summary: z.string().optional(),
880
932
  accomplishments: z.array(z.string()).optional(),
933
+ /**
934
+ * Decisions waiting on the user (§ docs/session-digest.md). Self-reported by
935
+ * the agent through `set_session_digest`; the CHOICE is written back by the
936
+ * user through `agent.decision.answer.request`, which is why the answer
937
+ * fields live on the entry rather than in a separate store.
938
+ */
939
+ pendingDecisions: z.array(PendingDecisionSchema).optional(),
881
940
  selfReportedAt: z.string().optional(),
882
941
  generatedAt: z.string().optional(),
883
942
  // Jarvis substrate (JARVIS-V1-SPEC §3.1 + §3.3). Derived fields are kept in
@@ -1214,6 +1273,20 @@ export const WorkspaceTitleSetRequestSchema = z.object({
1214
1273
  title: z.string().nullable(),
1215
1274
  requestId: z.string(),
1216
1275
  });
1276
+ /**
1277
+ * agent.decision.answer.request — the USER answering a pending decision the
1278
+ * agent recorded on its digest. Deliberately not an agent-scoped MCP tool: the
1279
+ * whole point is that a human (or a dashboard acting for them) is the writer.
1280
+ * Passing `optionId: null` with a `note` answers with free text.
1281
+ */
1282
+ export const AgentDecisionAnswerRequestSchema = z.object({
1283
+ type: z.literal("agent.decision.answer.request"),
1284
+ agentId: z.string(),
1285
+ decisionId: z.string(),
1286
+ optionId: z.string().nullable(),
1287
+ note: z.string().nullable(),
1288
+ requestId: z.string(),
1289
+ });
1217
1290
  export const SetVoiceModeMessageSchema = z.object({
1218
1291
  type: z.literal("set_voice_mode"),
1219
1292
  enabled: z.boolean(),
@@ -1847,6 +1920,19 @@ export const WorkspaceTitleSetResponseSchema = z.object({
1847
1920
  type: z.literal("workspace.title.set.response"),
1848
1921
  payload: WorkspaceTitleSetResponsePayloadSchema,
1849
1922
  });
1923
+ export const AgentDecisionAnswerResponsePayloadSchema = z.object({
1924
+ requestId: z.string(),
1925
+ agentId: z.string(),
1926
+ decisionId: z.string(),
1927
+ accepted: z.boolean(),
1928
+ /** The resolved decision, so the caller renders the answer it just wrote. */
1929
+ decision: PendingDecisionSchema.nullable(),
1930
+ error: z.string().nullable(),
1931
+ });
1932
+ export const AgentDecisionAnswerResponseSchema = z.object({
1933
+ type: z.literal("agent.decision.answer.response"),
1934
+ payload: AgentDecisionAnswerResponsePayloadSchema,
1935
+ });
1850
1936
  export const SetVoiceModeResponseMessageSchema = z.object({
1851
1937
  type: z.literal("set_voice_mode_response"),
1852
1938
  payload: z.object({
@@ -2726,6 +2812,7 @@ export const SessionInboundMessageSchema = z.discriminatedUnion("type", [
2726
2812
  ProjectRenameRequestSchema,
2727
2813
  ProjectRemoveRequestSchema,
2728
2814
  WorkspaceTitleSetRequestSchema,
2815
+ AgentDecisionAnswerRequestSchema,
2729
2816
  SetVoiceModeMessageSchema,
2730
2817
  SendAgentMessageRequestSchema,
2731
2818
  WaitForFinishRequestSchema,
@@ -4905,6 +4992,7 @@ export const SessionOutboundMessageSchema = z.discriminatedUnion("type", [
4905
4992
  ProjectRenameResponseSchema,
4906
4993
  ProjectRemoveResponseSchema,
4907
4994
  WorkspaceTitleSetResponseSchema,
4995
+ AgentDecisionAnswerResponseSchema,
4908
4996
  WaitForFinishResponseMessageSchema,
4909
4997
  AgentPermissionRequestMessageSchema,
4910
4998
  AgentPermissionResolvedMessageSchema,
@@ -360,6 +360,36 @@ export declare const WSOutboundMessageSchema: {
360
360
  keyFiles: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
361
361
  summary: import("zod").ZodOptional<import("zod").ZodString>;
362
362
  accomplishments: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
363
+ pendingDecisions: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
364
+ id: import("zod").ZodString;
365
+ question: import("zod").ZodString;
366
+ context: import("zod").ZodOptional<import("zod").ZodString>;
367
+ options: import("zod").ZodArray<import("zod").ZodObject<{
368
+ id: import("zod").ZodString;
369
+ label: import("zod").ZodString;
370
+ detail: import("zod").ZodOptional<import("zod").ZodString>;
371
+ pros: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
372
+ cons: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
373
+ impact: import("zod").ZodOptional<import("zod").ZodString>;
374
+ recommended: import("zod").ZodOptional<import("zod").ZodBoolean>;
375
+ }, import("zod/v4/core").$strip>>;
376
+ blocking: import("zod").ZodOptional<import("zod").ZodBoolean>;
377
+ urgency: import("zod").ZodOptional<import("zod").ZodEnum<{
378
+ low: "low";
379
+ normal: "normal";
380
+ high: "high";
381
+ }>>;
382
+ deadline: import("zod").ZodOptional<import("zod").ZodString>;
383
+ askedAt: import("zod").ZodString;
384
+ answeredAt: import("zod").ZodOptional<import("zod").ZodString>;
385
+ chosenOptionId: import("zod").ZodOptional<import("zod").ZodString>;
386
+ answerNote: import("zod").ZodOptional<import("zod").ZodString>;
387
+ answeredBy: import("zod").ZodOptional<import("zod").ZodEnum<{
388
+ agent: "agent";
389
+ user: "user";
390
+ timeout: "timeout";
391
+ }>>;
392
+ }, import("zod/v4/core").$strip>>>;
363
393
  selfReportedAt: import("zod").ZodOptional<import("zod").ZodString>;
364
394
  generatedAt: import("zod").ZodOptional<import("zod").ZodString>;
365
395
  derivedNextStep: import("zod").ZodOptional<import("zod").ZodString>;
@@ -1138,6 +1168,36 @@ export declare const WSOutboundMessageSchema: {
1138
1168
  keyFiles: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1139
1169
  summary: import("zod").ZodOptional<import("zod").ZodString>;
1140
1170
  accomplishments: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1171
+ pendingDecisions: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
1172
+ id: import("zod").ZodString;
1173
+ question: import("zod").ZodString;
1174
+ context: import("zod").ZodOptional<import("zod").ZodString>;
1175
+ options: import("zod").ZodArray<import("zod").ZodObject<{
1176
+ id: import("zod").ZodString;
1177
+ label: import("zod").ZodString;
1178
+ detail: import("zod").ZodOptional<import("zod").ZodString>;
1179
+ pros: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1180
+ cons: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1181
+ impact: import("zod").ZodOptional<import("zod").ZodString>;
1182
+ recommended: import("zod").ZodOptional<import("zod").ZodBoolean>;
1183
+ }, import("zod/v4/core").$strip>>;
1184
+ blocking: import("zod").ZodOptional<import("zod").ZodBoolean>;
1185
+ urgency: import("zod").ZodOptional<import("zod").ZodEnum<{
1186
+ low: "low";
1187
+ normal: "normal";
1188
+ high: "high";
1189
+ }>>;
1190
+ deadline: import("zod").ZodOptional<import("zod").ZodString>;
1191
+ askedAt: import("zod").ZodString;
1192
+ answeredAt: import("zod").ZodOptional<import("zod").ZodString>;
1193
+ chosenOptionId: import("zod").ZodOptional<import("zod").ZodString>;
1194
+ answerNote: import("zod").ZodOptional<import("zod").ZodString>;
1195
+ answeredBy: import("zod").ZodOptional<import("zod").ZodEnum<{
1196
+ agent: "agent";
1197
+ user: "user";
1198
+ timeout: "timeout";
1199
+ }>>;
1200
+ }, import("zod/v4/core").$strip>>>;
1141
1201
  selfReportedAt: import("zod").ZodOptional<import("zod").ZodString>;
1142
1202
  generatedAt: import("zod").ZodOptional<import("zod").ZodString>;
1143
1203
  derivedNextStep: import("zod").ZodOptional<import("zod").ZodString>;
@@ -1247,6 +1307,36 @@ export declare const WSOutboundMessageSchema: {
1247
1307
  keyFiles: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1248
1308
  summary: import("zod").ZodOptional<import("zod").ZodString>;
1249
1309
  accomplishments: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1310
+ pendingDecisions: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
1311
+ id: import("zod").ZodString;
1312
+ question: import("zod").ZodString;
1313
+ context: import("zod").ZodOptional<import("zod").ZodString>;
1314
+ options: import("zod").ZodArray<import("zod").ZodObject<{
1315
+ id: import("zod").ZodString;
1316
+ label: import("zod").ZodString;
1317
+ detail: import("zod").ZodOptional<import("zod").ZodString>;
1318
+ pros: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1319
+ cons: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1320
+ impact: import("zod").ZodOptional<import("zod").ZodString>;
1321
+ recommended: import("zod").ZodOptional<import("zod").ZodBoolean>;
1322
+ }, import("zod/v4/core").$strip>>;
1323
+ blocking: import("zod").ZodOptional<import("zod").ZodBoolean>;
1324
+ urgency: import("zod").ZodOptional<import("zod").ZodEnum<{
1325
+ low: "low";
1326
+ normal: "normal";
1327
+ high: "high";
1328
+ }>>;
1329
+ deadline: import("zod").ZodOptional<import("zod").ZodString>;
1330
+ askedAt: import("zod").ZodString;
1331
+ answeredAt: import("zod").ZodOptional<import("zod").ZodString>;
1332
+ chosenOptionId: import("zod").ZodOptional<import("zod").ZodString>;
1333
+ answerNote: import("zod").ZodOptional<import("zod").ZodString>;
1334
+ answeredBy: import("zod").ZodOptional<import("zod").ZodEnum<{
1335
+ agent: "agent";
1336
+ user: "user";
1337
+ timeout: "timeout";
1338
+ }>>;
1339
+ }, import("zod/v4/core").$strip>>>;
1250
1340
  selfReportedAt: import("zod").ZodOptional<import("zod").ZodString>;
1251
1341
  generatedAt: import("zod").ZodOptional<import("zod").ZodString>;
1252
1342
  derivedNextStep: import("zod").ZodOptional<import("zod").ZodString>;
@@ -1439,6 +1529,36 @@ export declare const WSOutboundMessageSchema: {
1439
1529
  keyFiles: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1440
1530
  summary: import("zod").ZodOptional<import("zod").ZodString>;
1441
1531
  accomplishments: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1532
+ pendingDecisions: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
1533
+ id: import("zod").ZodString;
1534
+ question: import("zod").ZodString;
1535
+ context: import("zod").ZodOptional<import("zod").ZodString>;
1536
+ options: import("zod").ZodArray<import("zod").ZodObject<{
1537
+ id: import("zod").ZodString;
1538
+ label: import("zod").ZodString;
1539
+ detail: import("zod").ZodOptional<import("zod").ZodString>;
1540
+ pros: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1541
+ cons: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1542
+ impact: import("zod").ZodOptional<import("zod").ZodString>;
1543
+ recommended: import("zod").ZodOptional<import("zod").ZodBoolean>;
1544
+ }, import("zod/v4/core").$strip>>;
1545
+ blocking: import("zod").ZodOptional<import("zod").ZodBoolean>;
1546
+ urgency: import("zod").ZodOptional<import("zod").ZodEnum<{
1547
+ low: "low";
1548
+ normal: "normal";
1549
+ high: "high";
1550
+ }>>;
1551
+ deadline: import("zod").ZodOptional<import("zod").ZodString>;
1552
+ askedAt: import("zod").ZodString;
1553
+ answeredAt: import("zod").ZodOptional<import("zod").ZodString>;
1554
+ chosenOptionId: import("zod").ZodOptional<import("zod").ZodString>;
1555
+ answerNote: import("zod").ZodOptional<import("zod").ZodString>;
1556
+ answeredBy: import("zod").ZodOptional<import("zod").ZodEnum<{
1557
+ agent: "agent";
1558
+ user: "user";
1559
+ timeout: "timeout";
1560
+ }>>;
1561
+ }, import("zod/v4/core").$strip>>>;
1442
1562
  selfReportedAt: import("zod").ZodOptional<import("zod").ZodString>;
1443
1563
  generatedAt: import("zod").ZodOptional<import("zod").ZodString>;
1444
1564
  derivedNextStep: import("zod").ZodOptional<import("zod").ZodString>;
@@ -2540,6 +2660,36 @@ export declare const WSOutboundMessageSchema: {
2540
2660
  keyFiles: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
2541
2661
  summary: import("zod").ZodOptional<import("zod").ZodString>;
2542
2662
  accomplishments: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
2663
+ pendingDecisions: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
2664
+ id: import("zod").ZodString;
2665
+ question: import("zod").ZodString;
2666
+ context: import("zod").ZodOptional<import("zod").ZodString>;
2667
+ options: import("zod").ZodArray<import("zod").ZodObject<{
2668
+ id: import("zod").ZodString;
2669
+ label: import("zod").ZodString;
2670
+ detail: import("zod").ZodOptional<import("zod").ZodString>;
2671
+ pros: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
2672
+ cons: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
2673
+ impact: import("zod").ZodOptional<import("zod").ZodString>;
2674
+ recommended: import("zod").ZodOptional<import("zod").ZodBoolean>;
2675
+ }, import("zod/v4/core").$strip>>;
2676
+ blocking: import("zod").ZodOptional<import("zod").ZodBoolean>;
2677
+ urgency: import("zod").ZodOptional<import("zod").ZodEnum<{
2678
+ low: "low";
2679
+ normal: "normal";
2680
+ high: "high";
2681
+ }>>;
2682
+ deadline: import("zod").ZodOptional<import("zod").ZodString>;
2683
+ askedAt: import("zod").ZodString;
2684
+ answeredAt: import("zod").ZodOptional<import("zod").ZodString>;
2685
+ chosenOptionId: import("zod").ZodOptional<import("zod").ZodString>;
2686
+ answerNote: import("zod").ZodOptional<import("zod").ZodString>;
2687
+ answeredBy: import("zod").ZodOptional<import("zod").ZodEnum<{
2688
+ agent: "agent";
2689
+ user: "user";
2690
+ timeout: "timeout";
2691
+ }>>;
2692
+ }, import("zod/v4/core").$strip>>>;
2543
2693
  selfReportedAt: import("zod").ZodOptional<import("zod").ZodString>;
2544
2694
  generatedAt: import("zod").ZodOptional<import("zod").ZodString>;
2545
2695
  derivedNextStep: import("zod").ZodOptional<import("zod").ZodString>;
@@ -2727,6 +2877,36 @@ export declare const WSOutboundMessageSchema: {
2727
2877
  keyFiles: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
2728
2878
  summary: import("zod").ZodOptional<import("zod").ZodString>;
2729
2879
  accomplishments: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
2880
+ pendingDecisions: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
2881
+ id: import("zod").ZodString;
2882
+ question: import("zod").ZodString;
2883
+ context: import("zod").ZodOptional<import("zod").ZodString>;
2884
+ options: import("zod").ZodArray<import("zod").ZodObject<{
2885
+ id: import("zod").ZodString;
2886
+ label: import("zod").ZodString;
2887
+ detail: import("zod").ZodOptional<import("zod").ZodString>;
2888
+ pros: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
2889
+ cons: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
2890
+ impact: import("zod").ZodOptional<import("zod").ZodString>;
2891
+ recommended: import("zod").ZodOptional<import("zod").ZodBoolean>;
2892
+ }, import("zod/v4/core").$strip>>;
2893
+ blocking: import("zod").ZodOptional<import("zod").ZodBoolean>;
2894
+ urgency: import("zod").ZodOptional<import("zod").ZodEnum<{
2895
+ low: "low";
2896
+ normal: "normal";
2897
+ high: "high";
2898
+ }>>;
2899
+ deadline: import("zod").ZodOptional<import("zod").ZodString>;
2900
+ askedAt: import("zod").ZodString;
2901
+ answeredAt: import("zod").ZodOptional<import("zod").ZodString>;
2902
+ chosenOptionId: import("zod").ZodOptional<import("zod").ZodString>;
2903
+ answerNote: import("zod").ZodOptional<import("zod").ZodString>;
2904
+ answeredBy: import("zod").ZodOptional<import("zod").ZodEnum<{
2905
+ agent: "agent";
2906
+ user: "user";
2907
+ timeout: "timeout";
2908
+ }>>;
2909
+ }, import("zod/v4/core").$strip>>>;
2730
2910
  selfReportedAt: import("zod").ZodOptional<import("zod").ZodString>;
2731
2911
  generatedAt: import("zod").ZodOptional<import("zod").ZodString>;
2732
2912
  derivedNextStep: import("zod").ZodOptional<import("zod").ZodString>;
@@ -2908,6 +3088,36 @@ export declare const WSOutboundMessageSchema: {
2908
3088
  keyFiles: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
2909
3089
  summary: import("zod").ZodOptional<import("zod").ZodString>;
2910
3090
  accomplishments: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
3091
+ pendingDecisions: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
3092
+ id: import("zod").ZodString;
3093
+ question: import("zod").ZodString;
3094
+ context: import("zod").ZodOptional<import("zod").ZodString>;
3095
+ options: import("zod").ZodArray<import("zod").ZodObject<{
3096
+ id: import("zod").ZodString;
3097
+ label: import("zod").ZodString;
3098
+ detail: import("zod").ZodOptional<import("zod").ZodString>;
3099
+ pros: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
3100
+ cons: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
3101
+ impact: import("zod").ZodOptional<import("zod").ZodString>;
3102
+ recommended: import("zod").ZodOptional<import("zod").ZodBoolean>;
3103
+ }, import("zod/v4/core").$strip>>;
3104
+ blocking: import("zod").ZodOptional<import("zod").ZodBoolean>;
3105
+ urgency: import("zod").ZodOptional<import("zod").ZodEnum<{
3106
+ low: "low";
3107
+ normal: "normal";
3108
+ high: "high";
3109
+ }>>;
3110
+ deadline: import("zod").ZodOptional<import("zod").ZodString>;
3111
+ askedAt: import("zod").ZodString;
3112
+ answeredAt: import("zod").ZodOptional<import("zod").ZodString>;
3113
+ chosenOptionId: import("zod").ZodOptional<import("zod").ZodString>;
3114
+ answerNote: import("zod").ZodOptional<import("zod").ZodString>;
3115
+ answeredBy: import("zod").ZodOptional<import("zod").ZodEnum<{
3116
+ agent: "agent";
3117
+ user: "user";
3118
+ timeout: "timeout";
3119
+ }>>;
3120
+ }, import("zod/v4/core").$strip>>>;
2911
3121
  selfReportedAt: import("zod").ZodOptional<import("zod").ZodString>;
2912
3122
  generatedAt: import("zod").ZodOptional<import("zod").ZodString>;
2913
3123
  derivedNextStep: import("zod").ZodOptional<import("zod").ZodString>;
@@ -3016,6 +3226,36 @@ export declare const WSOutboundMessageSchema: {
3016
3226
  keyFiles: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
3017
3227
  summary: import("zod").ZodOptional<import("zod").ZodString>;
3018
3228
  accomplishments: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
3229
+ pendingDecisions: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
3230
+ id: import("zod").ZodString;
3231
+ question: import("zod").ZodString;
3232
+ context: import("zod").ZodOptional<import("zod").ZodString>;
3233
+ options: import("zod").ZodArray<import("zod").ZodObject<{
3234
+ id: import("zod").ZodString;
3235
+ label: import("zod").ZodString;
3236
+ detail: import("zod").ZodOptional<import("zod").ZodString>;
3237
+ pros: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
3238
+ cons: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
3239
+ impact: import("zod").ZodOptional<import("zod").ZodString>;
3240
+ recommended: import("zod").ZodOptional<import("zod").ZodBoolean>;
3241
+ }, import("zod/v4/core").$strip>>;
3242
+ blocking: import("zod").ZodOptional<import("zod").ZodBoolean>;
3243
+ urgency: import("zod").ZodOptional<import("zod").ZodEnum<{
3244
+ low: "low";
3245
+ normal: "normal";
3246
+ high: "high";
3247
+ }>>;
3248
+ deadline: import("zod").ZodOptional<import("zod").ZodString>;
3249
+ askedAt: import("zod").ZodString;
3250
+ answeredAt: import("zod").ZodOptional<import("zod").ZodString>;
3251
+ chosenOptionId: import("zod").ZodOptional<import("zod").ZodString>;
3252
+ answerNote: import("zod").ZodOptional<import("zod").ZodString>;
3253
+ answeredBy: import("zod").ZodOptional<import("zod").ZodEnum<{
3254
+ agent: "agent";
3255
+ user: "user";
3256
+ timeout: "timeout";
3257
+ }>>;
3258
+ }, import("zod/v4/core").$strip>>>;
3019
3259
  selfReportedAt: import("zod").ZodOptional<import("zod").ZodString>;
3020
3260
  generatedAt: import("zod").ZodOptional<import("zod").ZodString>;
3021
3261
  derivedNextStep: import("zod").ZodOptional<import("zod").ZodString>;
@@ -4023,6 +4263,45 @@ export declare const WSOutboundMessageSchema: {
4023
4263
  title: import("zod").ZodNullable<import("zod").ZodString>;
4024
4264
  error: import("zod").ZodNullable<import("zod").ZodString>;
4025
4265
  }, import("zod/v4/core").$strip>;
4266
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
4267
+ type: import("zod").ZodLiteral<"agent.decision.answer.response">;
4268
+ payload: import("zod").ZodObject<{
4269
+ requestId: import("zod").ZodString;
4270
+ agentId: import("zod").ZodString;
4271
+ decisionId: import("zod").ZodString;
4272
+ accepted: import("zod").ZodBoolean;
4273
+ decision: import("zod").ZodNullable<import("zod").ZodObject<{
4274
+ id: import("zod").ZodString;
4275
+ question: import("zod").ZodString;
4276
+ context: import("zod").ZodOptional<import("zod").ZodString>;
4277
+ options: import("zod").ZodArray<import("zod").ZodObject<{
4278
+ id: import("zod").ZodString;
4279
+ label: import("zod").ZodString;
4280
+ detail: import("zod").ZodOptional<import("zod").ZodString>;
4281
+ pros: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
4282
+ cons: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
4283
+ impact: import("zod").ZodOptional<import("zod").ZodString>;
4284
+ recommended: import("zod").ZodOptional<import("zod").ZodBoolean>;
4285
+ }, import("zod/v4/core").$strip>>;
4286
+ blocking: import("zod").ZodOptional<import("zod").ZodBoolean>;
4287
+ urgency: import("zod").ZodOptional<import("zod").ZodEnum<{
4288
+ low: "low";
4289
+ normal: "normal";
4290
+ high: "high";
4291
+ }>>;
4292
+ deadline: import("zod").ZodOptional<import("zod").ZodString>;
4293
+ askedAt: import("zod").ZodString;
4294
+ answeredAt: import("zod").ZodOptional<import("zod").ZodString>;
4295
+ chosenOptionId: import("zod").ZodOptional<import("zod").ZodString>;
4296
+ answerNote: import("zod").ZodOptional<import("zod").ZodString>;
4297
+ answeredBy: import("zod").ZodOptional<import("zod").ZodEnum<{
4298
+ agent: "agent";
4299
+ user: "user";
4300
+ timeout: "timeout";
4301
+ }>>;
4302
+ }, import("zod/v4/core").$strip>>;
4303
+ error: import("zod").ZodNullable<import("zod").ZodString>;
4304
+ }, import("zod/v4/core").$strip>;
4026
4305
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
4027
4306
  type: import("zod").ZodLiteral<"wait_for_finish_response">;
4028
4307
  payload: import("zod").ZodObject<{
@@ -4112,6 +4391,36 @@ export declare const WSOutboundMessageSchema: {
4112
4391
  keyFiles: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
4113
4392
  summary: import("zod").ZodOptional<import("zod").ZodString>;
4114
4393
  accomplishments: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
4394
+ pendingDecisions: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
4395
+ id: import("zod").ZodString;
4396
+ question: import("zod").ZodString;
4397
+ context: import("zod").ZodOptional<import("zod").ZodString>;
4398
+ options: import("zod").ZodArray<import("zod").ZodObject<{
4399
+ id: import("zod").ZodString;
4400
+ label: import("zod").ZodString;
4401
+ detail: import("zod").ZodOptional<import("zod").ZodString>;
4402
+ pros: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
4403
+ cons: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
4404
+ impact: import("zod").ZodOptional<import("zod").ZodString>;
4405
+ recommended: import("zod").ZodOptional<import("zod").ZodBoolean>;
4406
+ }, import("zod/v4/core").$strip>>;
4407
+ blocking: import("zod").ZodOptional<import("zod").ZodBoolean>;
4408
+ urgency: import("zod").ZodOptional<import("zod").ZodEnum<{
4409
+ low: "low";
4410
+ normal: "normal";
4411
+ high: "high";
4412
+ }>>;
4413
+ deadline: import("zod").ZodOptional<import("zod").ZodString>;
4414
+ askedAt: import("zod").ZodString;
4415
+ answeredAt: import("zod").ZodOptional<import("zod").ZodString>;
4416
+ chosenOptionId: import("zod").ZodOptional<import("zod").ZodString>;
4417
+ answerNote: import("zod").ZodOptional<import("zod").ZodString>;
4418
+ answeredBy: import("zod").ZodOptional<import("zod").ZodEnum<{
4419
+ agent: "agent";
4420
+ user: "user";
4421
+ timeout: "timeout";
4422
+ }>>;
4423
+ }, import("zod/v4/core").$strip>>>;
4115
4424
  selfReportedAt: import("zod").ZodOptional<import("zod").ZodString>;
4116
4425
  generatedAt: import("zod").ZodOptional<import("zod").ZodString>;
4117
4426
  derivedNextStep: import("zod").ZodOptional<import("zod").ZodString>;
@@ -4258,6 +4567,36 @@ export declare const WSOutboundMessageSchema: {
4258
4567
  keyFiles: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
4259
4568
  summary: import("zod").ZodOptional<import("zod").ZodString>;
4260
4569
  accomplishments: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
4570
+ pendingDecisions: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
4571
+ id: import("zod").ZodString;
4572
+ question: import("zod").ZodString;
4573
+ context: import("zod").ZodOptional<import("zod").ZodString>;
4574
+ options: import("zod").ZodArray<import("zod").ZodObject<{
4575
+ id: import("zod").ZodString;
4576
+ label: import("zod").ZodString;
4577
+ detail: import("zod").ZodOptional<import("zod").ZodString>;
4578
+ pros: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
4579
+ cons: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
4580
+ impact: import("zod").ZodOptional<import("zod").ZodString>;
4581
+ recommended: import("zod").ZodOptional<import("zod").ZodBoolean>;
4582
+ }, import("zod/v4/core").$strip>>;
4583
+ blocking: import("zod").ZodOptional<import("zod").ZodBoolean>;
4584
+ urgency: import("zod").ZodOptional<import("zod").ZodEnum<{
4585
+ low: "low";
4586
+ normal: "normal";
4587
+ high: "high";
4588
+ }>>;
4589
+ deadline: import("zod").ZodOptional<import("zod").ZodString>;
4590
+ askedAt: import("zod").ZodString;
4591
+ answeredAt: import("zod").ZodOptional<import("zod").ZodString>;
4592
+ chosenOptionId: import("zod").ZodOptional<import("zod").ZodString>;
4593
+ answerNote: import("zod").ZodOptional<import("zod").ZodString>;
4594
+ answeredBy: import("zod").ZodOptional<import("zod").ZodEnum<{
4595
+ agent: "agent";
4596
+ user: "user";
4597
+ timeout: "timeout";
4598
+ }>>;
4599
+ }, import("zod/v4/core").$strip>>>;
4261
4600
  selfReportedAt: import("zod").ZodOptional<import("zod").ZodString>;
4262
4601
  generatedAt: import("zod").ZodOptional<import("zod").ZodString>;
4263
4602
  derivedNextStep: import("zod").ZodOptional<import("zod").ZodString>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyperdrive.bot/paseo-protocol",
3
- "version": "0.3.54",
3
+ "version": "0.3.55",
4
4
  "description": "Paseo shared protocol schemas and wire types",
5
5
  "files": [
6
6
  "dist",