@hyperdrive.bot/paseo-protocol 0.2.5 → 0.2.7
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/generated/validation/ws-outbound.aot.js +9398 -9254
- package/dist/messages.d.ts +202 -0
- package/dist/messages.js +71 -1
- package/dist/provider-config.d.ts +10 -0
- package/dist/provider-config.js +5 -0
- package/dist/validation/ws-outbound-schema-metadata.d.ts +16 -0
- package/package.json +1 -1
package/dist/messages.d.ts
CHANGED
|
@@ -13,6 +13,43 @@ export declare const TerminalProfileSchema: z.ZodObject<{
|
|
|
13
13
|
icon: z.ZodOptional<z.ZodString>;
|
|
14
14
|
}, z.core.$loose>;
|
|
15
15
|
export type TerminalProfile = z.infer<typeof TerminalProfileSchema>;
|
|
16
|
+
/**
|
|
17
|
+
* One kanban column. `id` is the value stored in `agent.labels.kanban`, so it is
|
|
18
|
+
* stable for the life of the column - renaming never re-homes cards. `limit` is
|
|
19
|
+
* the optional WIP limit (absent = unlimited).
|
|
20
|
+
*
|
|
21
|
+
* This lives in the daemon config, not on the client, because card MEMBERSHIP is
|
|
22
|
+
* already daemon-side (an agent label) while the column REGISTRY used to be
|
|
23
|
+
* per-device AsyncStorage. That split meant a card moved to "Verify" on your
|
|
24
|
+
* laptop rendered under the default column on your phone (the phone had no
|
|
25
|
+
* `verify` column to resolve the label against), and a WIP limit was silently
|
|
26
|
+
* per-device. Structure and membership have to live on the same side of the wire.
|
|
27
|
+
*/
|
|
28
|
+
export declare const KanbanBucketDefSchema: z.ZodObject<{
|
|
29
|
+
id: z.ZodString;
|
|
30
|
+
label: z.ZodString;
|
|
31
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
32
|
+
}, z.core.$loose>;
|
|
33
|
+
export type KanbanBucketDef = z.infer<typeof KanbanBucketDefSchema>;
|
|
34
|
+
/**
|
|
35
|
+
* The whole board structure: ordered columns + which one absorbs cards with no
|
|
36
|
+
* (or an unresolvable) `kanban` label. `defaultBucketId` is null only when the
|
|
37
|
+
* board is empty, which is a legitimate state - the user may delete every column.
|
|
38
|
+
*
|
|
39
|
+
* Deliberately `.optional()` wherever it is embedded rather than `.default()`:
|
|
40
|
+
* "the daemon has never stored a board" (undefined) and "the user emptied the
|
|
41
|
+
* board" (`{buckets: [], defaultBucketId: null}`) are different, and the client
|
|
42
|
+
* only seeds from its local board in the first case.
|
|
43
|
+
*/
|
|
44
|
+
export declare const KanbanBoardConfigSchema: z.ZodObject<{
|
|
45
|
+
buckets: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
46
|
+
id: z.ZodString;
|
|
47
|
+
label: z.ZodString;
|
|
48
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
49
|
+
}, z.core.$loose>>>;
|
|
50
|
+
defaultBucketId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
51
|
+
}, z.core.$loose>;
|
|
52
|
+
export type KanbanBoardConfig = z.infer<typeof KanbanBoardConfigSchema>;
|
|
16
53
|
export declare const MutableDaemonConfigSchema: z.ZodObject<{
|
|
17
54
|
mcp: z.ZodObject<{
|
|
18
55
|
injectIntoAgents: z.ZodBoolean;
|
|
@@ -46,6 +83,14 @@ export declare const MutableDaemonConfigSchema: z.ZodObject<{
|
|
|
46
83
|
args: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
47
84
|
icon: z.ZodOptional<z.ZodString>;
|
|
48
85
|
}, z.core.$loose>>>;
|
|
86
|
+
kanbanBoard: z.ZodOptional<z.ZodObject<{
|
|
87
|
+
buckets: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
88
|
+
id: z.ZodString;
|
|
89
|
+
label: z.ZodString;
|
|
90
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
91
|
+
}, z.core.$loose>>>;
|
|
92
|
+
defaultBucketId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
93
|
+
}, z.core.$loose>>;
|
|
49
94
|
}, z.core.$loose>;
|
|
50
95
|
export declare const MutableDaemonConfigPatchSchema: z.ZodObject<{
|
|
51
96
|
mcp: z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
@@ -80,6 +125,14 @@ export declare const MutableDaemonConfigPatchSchema: z.ZodObject<{
|
|
|
80
125
|
args: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
81
126
|
icon: z.ZodOptional<z.ZodString>;
|
|
82
127
|
}, z.core.$loose>>>>;
|
|
128
|
+
kanbanBoard: z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
129
|
+
buckets: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
130
|
+
id: z.ZodString;
|
|
131
|
+
label: z.ZodString;
|
|
132
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
133
|
+
}, z.core.$loose>>>;
|
|
134
|
+
defaultBucketId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
135
|
+
}, z.core.$loose>>>;
|
|
83
136
|
}, z.core.$loose>;
|
|
84
137
|
export type MutableDaemonConfig = z.infer<typeof MutableDaemonConfigSchema>;
|
|
85
138
|
export type MutableDaemonConfigPatch = z.infer<typeof MutableDaemonConfigPatchSchema>;
|
|
@@ -1451,6 +1504,14 @@ export declare const SetDaemonConfigRequestMessageSchema: z.ZodObject<{
|
|
|
1451
1504
|
args: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1452
1505
|
icon: z.ZodOptional<z.ZodString>;
|
|
1453
1506
|
}, z.core.$loose>>>>;
|
|
1507
|
+
kanbanBoard: z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
1508
|
+
buckets: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
1509
|
+
id: z.ZodString;
|
|
1510
|
+
label: z.ZodString;
|
|
1511
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
1512
|
+
}, z.core.$loose>>>;
|
|
1513
|
+
defaultBucketId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
1514
|
+
}, z.core.$loose>>>;
|
|
1454
1515
|
}, z.core.$loose>;
|
|
1455
1516
|
}, z.core.$strip>;
|
|
1456
1517
|
export declare const ReadProjectConfigRequestMessageSchema: z.ZodObject<{
|
|
@@ -2191,6 +2252,15 @@ export declare const FilesUploadCompleteRequestSchema: z.ZodObject<{
|
|
|
2191
2252
|
uploadId: z.ZodString;
|
|
2192
2253
|
totalChunks: z.ZodNumber;
|
|
2193
2254
|
}, z.core.$strip>;
|
|
2255
|
+
export declare const FilesUploadChunkSchema: z.ZodObject<{
|
|
2256
|
+
type: z.ZodLiteral<"files.upload.chunk">;
|
|
2257
|
+
payload: z.ZodObject<{
|
|
2258
|
+
requestId: z.ZodString;
|
|
2259
|
+
uploadId: z.ZodString;
|
|
2260
|
+
chunkIndex: z.ZodNumber;
|
|
2261
|
+
data: z.ZodString;
|
|
2262
|
+
}, z.core.$strip>;
|
|
2263
|
+
}, z.core.$strip>;
|
|
2194
2264
|
export declare const FilesUploadErrorSchema: z.ZodObject<{
|
|
2195
2265
|
type: z.ZodLiteral<"files.upload.error">;
|
|
2196
2266
|
payload: z.ZodObject<{
|
|
@@ -3650,6 +3720,14 @@ export declare const SessionInboundMessageSchema: z.ZodDiscriminatedUnion<[z.Zod
|
|
|
3650
3720
|
args: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
3651
3721
|
icon: z.ZodOptional<z.ZodString>;
|
|
3652
3722
|
}, z.core.$loose>>>>;
|
|
3723
|
+
kanbanBoard: z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
3724
|
+
buckets: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
3725
|
+
id: z.ZodString;
|
|
3726
|
+
label: z.ZodString;
|
|
3727
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
3728
|
+
}, z.core.$loose>>>;
|
|
3729
|
+
defaultBucketId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
3730
|
+
}, z.core.$loose>>>;
|
|
3653
3731
|
}, z.core.$loose>;
|
|
3654
3732
|
}, z.core.$strip>, z.ZodObject<{
|
|
3655
3733
|
type: z.ZodLiteral<"read_project_config_request">;
|
|
@@ -4123,6 +4201,14 @@ export declare const SessionInboundMessageSchema: z.ZodDiscriminatedUnion<[z.Zod
|
|
|
4123
4201
|
requestId: z.ZodString;
|
|
4124
4202
|
uploadId: z.ZodString;
|
|
4125
4203
|
totalChunks: z.ZodNumber;
|
|
4204
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
4205
|
+
type: z.ZodLiteral<"files.upload.chunk">;
|
|
4206
|
+
payload: z.ZodObject<{
|
|
4207
|
+
requestId: z.ZodString;
|
|
4208
|
+
uploadId: z.ZodString;
|
|
4209
|
+
chunkIndex: z.ZodNumber;
|
|
4210
|
+
data: z.ZodString;
|
|
4211
|
+
}, z.core.$strip>;
|
|
4126
4212
|
}, z.core.$strip>, z.ZodObject<{
|
|
4127
4213
|
type: z.ZodLiteral<"files.upload.error">;
|
|
4128
4214
|
payload: z.ZodObject<{
|
|
@@ -5052,6 +5138,7 @@ export declare const ServerInfoStatusPayloadSchema: z.ZodPipe<z.ZodObject<{
|
|
|
5052
5138
|
daemonSelfUpdate: z.ZodOptional<z.ZodBoolean>;
|
|
5053
5139
|
agentForkContext: z.ZodOptional<z.ZodBoolean>;
|
|
5054
5140
|
meetingsLiveCapture: z.ZodOptional<z.ZodBoolean>;
|
|
5141
|
+
kanbanBoardConfig: z.ZodOptional<z.ZodBoolean>;
|
|
5055
5142
|
}, z.core.$strip>>;
|
|
5056
5143
|
}, z.core.$loose>, z.ZodTransform<{
|
|
5057
5144
|
hostname: string | null;
|
|
@@ -5095,6 +5182,7 @@ export declare const ServerInfoStatusPayloadSchema: z.ZodPipe<z.ZodObject<{
|
|
|
5095
5182
|
daemonSelfUpdate?: boolean | undefined;
|
|
5096
5183
|
agentForkContext?: boolean | undefined;
|
|
5097
5184
|
meetingsLiveCapture?: boolean | undefined;
|
|
5185
|
+
kanbanBoardConfig?: boolean | undefined;
|
|
5098
5186
|
} | undefined;
|
|
5099
5187
|
}, {
|
|
5100
5188
|
[x: string]: unknown;
|
|
@@ -5139,6 +5227,7 @@ export declare const ServerInfoStatusPayloadSchema: z.ZodPipe<z.ZodObject<{
|
|
|
5139
5227
|
daemonSelfUpdate?: boolean | undefined;
|
|
5140
5228
|
agentForkContext?: boolean | undefined;
|
|
5141
5229
|
meetingsLiveCapture?: boolean | undefined;
|
|
5230
|
+
kanbanBoardConfig?: boolean | undefined;
|
|
5142
5231
|
} | undefined;
|
|
5143
5232
|
}>>;
|
|
5144
5233
|
export declare const StatusMessageSchema: z.ZodObject<{
|
|
@@ -5406,6 +5495,14 @@ export declare const DaemonConfigChangedStatusPayloadSchema: z.ZodObject<{
|
|
|
5406
5495
|
args: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
5407
5496
|
icon: z.ZodOptional<z.ZodString>;
|
|
5408
5497
|
}, z.core.$loose>>>;
|
|
5498
|
+
kanbanBoard: z.ZodOptional<z.ZodObject<{
|
|
5499
|
+
buckets: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
5500
|
+
id: z.ZodString;
|
|
5501
|
+
label: z.ZodString;
|
|
5502
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
5503
|
+
}, z.core.$loose>>>;
|
|
5504
|
+
defaultBucketId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
5505
|
+
}, z.core.$loose>>;
|
|
5409
5506
|
}, z.core.$loose>;
|
|
5410
5507
|
}, z.core.$loose>;
|
|
5411
5508
|
export declare const KnownStatusPayloadSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
@@ -5643,6 +5740,14 @@ export declare const KnownStatusPayloadSchema: z.ZodDiscriminatedUnion<[z.ZodObj
|
|
|
5643
5740
|
args: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
5644
5741
|
icon: z.ZodOptional<z.ZodString>;
|
|
5645
5742
|
}, z.core.$loose>>>;
|
|
5743
|
+
kanbanBoard: z.ZodOptional<z.ZodObject<{
|
|
5744
|
+
buckets: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
5745
|
+
id: z.ZodString;
|
|
5746
|
+
label: z.ZodString;
|
|
5747
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
5748
|
+
}, z.core.$loose>>>;
|
|
5749
|
+
defaultBucketId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
5750
|
+
}, z.core.$loose>>;
|
|
5646
5751
|
}, z.core.$loose>;
|
|
5647
5752
|
}, z.core.$loose>], "status">;
|
|
5648
5753
|
export type KnownStatusPayload = z.infer<typeof KnownStatusPayloadSchema>;
|
|
@@ -9704,6 +9809,14 @@ export declare const GetDaemonConfigResponseMessageSchema: z.ZodObject<{
|
|
|
9704
9809
|
args: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
9705
9810
|
icon: z.ZodOptional<z.ZodString>;
|
|
9706
9811
|
}, z.core.$loose>>>;
|
|
9812
|
+
kanbanBoard: z.ZodOptional<z.ZodObject<{
|
|
9813
|
+
buckets: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
9814
|
+
id: z.ZodString;
|
|
9815
|
+
label: z.ZodString;
|
|
9816
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
9817
|
+
}, z.core.$loose>>>;
|
|
9818
|
+
defaultBucketId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
9819
|
+
}, z.core.$loose>>;
|
|
9707
9820
|
}, z.core.$loose>;
|
|
9708
9821
|
}, z.core.$loose>;
|
|
9709
9822
|
}, z.core.$strip>;
|
|
@@ -9784,6 +9897,14 @@ export declare const SetDaemonConfigResponseMessageSchema: z.ZodObject<{
|
|
|
9784
9897
|
args: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
9785
9898
|
icon: z.ZodOptional<z.ZodString>;
|
|
9786
9899
|
}, z.core.$loose>>>;
|
|
9900
|
+
kanbanBoard: z.ZodOptional<z.ZodObject<{
|
|
9901
|
+
buckets: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
9902
|
+
id: z.ZodString;
|
|
9903
|
+
label: z.ZodString;
|
|
9904
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
9905
|
+
}, z.core.$loose>>>;
|
|
9906
|
+
defaultBucketId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
9907
|
+
}, z.core.$loose>>;
|
|
9787
9908
|
}, z.core.$loose>;
|
|
9788
9909
|
}, z.core.$loose>;
|
|
9789
9910
|
}, z.core.$strip>;
|
|
@@ -15644,6 +15765,14 @@ export declare const SessionOutboundMessageSchema: z.ZodDiscriminatedUnion<[z.Zo
|
|
|
15644
15765
|
args: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
15645
15766
|
icon: z.ZodOptional<z.ZodString>;
|
|
15646
15767
|
}, z.core.$loose>>>;
|
|
15768
|
+
kanbanBoard: z.ZodOptional<z.ZodObject<{
|
|
15769
|
+
buckets: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
15770
|
+
id: z.ZodString;
|
|
15771
|
+
label: z.ZodString;
|
|
15772
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
15773
|
+
}, z.core.$loose>>>;
|
|
15774
|
+
defaultBucketId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
15775
|
+
}, z.core.$loose>>;
|
|
15647
15776
|
}, z.core.$loose>;
|
|
15648
15777
|
}, z.core.$loose>;
|
|
15649
15778
|
}, z.core.$strip>, z.ZodObject<{
|
|
@@ -15683,6 +15812,14 @@ export declare const SessionOutboundMessageSchema: z.ZodDiscriminatedUnion<[z.Zo
|
|
|
15683
15812
|
args: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
15684
15813
|
icon: z.ZodOptional<z.ZodString>;
|
|
15685
15814
|
}, z.core.$loose>>>;
|
|
15815
|
+
kanbanBoard: z.ZodOptional<z.ZodObject<{
|
|
15816
|
+
buckets: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
15817
|
+
id: z.ZodString;
|
|
15818
|
+
label: z.ZodString;
|
|
15819
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
15820
|
+
}, z.core.$loose>>>;
|
|
15821
|
+
defaultBucketId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
15822
|
+
}, z.core.$loose>>;
|
|
15686
15823
|
}, z.core.$loose>;
|
|
15687
15824
|
}, z.core.$loose>;
|
|
15688
15825
|
}, z.core.$strip>, z.ZodObject<{
|
|
@@ -19094,6 +19231,7 @@ export type FileUploadErrorCode = z.infer<typeof FileUploadErrorCodeSchema>;
|
|
|
19094
19231
|
export type FilesUploadBeginRequest = z.infer<typeof FilesUploadBeginRequestSchema>;
|
|
19095
19232
|
export type FilesUploadBeginResponse = z.infer<typeof FilesUploadBeginResponseSchema>;
|
|
19096
19233
|
export type FilesUploadChunkAck = z.infer<typeof FilesUploadChunkAckSchema>;
|
|
19234
|
+
export type FilesUploadChunk = z.infer<typeof FilesUploadChunkSchema>;
|
|
19097
19235
|
export type FilesUploadCompleteRequest = z.infer<typeof FilesUploadCompleteRequestSchema>;
|
|
19098
19236
|
export type FilesUploadCompleteResponse = z.infer<typeof FilesUploadCompleteResponseSchema>;
|
|
19099
19237
|
export type FilesUploadError = z.infer<typeof FilesUploadErrorSchema>;
|
|
@@ -19767,6 +19905,14 @@ export declare const WSSessionInboundSchema: z.ZodObject<{
|
|
|
19767
19905
|
args: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
19768
19906
|
icon: z.ZodOptional<z.ZodString>;
|
|
19769
19907
|
}, z.core.$loose>>>>;
|
|
19908
|
+
kanbanBoard: z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
19909
|
+
buckets: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
19910
|
+
id: z.ZodString;
|
|
19911
|
+
label: z.ZodString;
|
|
19912
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
19913
|
+
}, z.core.$loose>>>;
|
|
19914
|
+
defaultBucketId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
19915
|
+
}, z.core.$loose>>>;
|
|
19770
19916
|
}, z.core.$loose>;
|
|
19771
19917
|
}, z.core.$strip>, z.ZodObject<{
|
|
19772
19918
|
type: z.ZodLiteral<"read_project_config_request">;
|
|
@@ -20240,6 +20386,14 @@ export declare const WSSessionInboundSchema: z.ZodObject<{
|
|
|
20240
20386
|
requestId: z.ZodString;
|
|
20241
20387
|
uploadId: z.ZodString;
|
|
20242
20388
|
totalChunks: z.ZodNumber;
|
|
20389
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
20390
|
+
type: z.ZodLiteral<"files.upload.chunk">;
|
|
20391
|
+
payload: z.ZodObject<{
|
|
20392
|
+
requestId: z.ZodString;
|
|
20393
|
+
uploadId: z.ZodString;
|
|
20394
|
+
chunkIndex: z.ZodNumber;
|
|
20395
|
+
data: z.ZodString;
|
|
20396
|
+
}, z.core.$strip>;
|
|
20243
20397
|
}, z.core.$strip>, z.ZodObject<{
|
|
20244
20398
|
type: z.ZodLiteral<"files.upload.error">;
|
|
20245
20399
|
payload: z.ZodObject<{
|
|
@@ -24577,6 +24731,14 @@ export declare const WSSessionOutboundSchema: z.ZodObject<{
|
|
|
24577
24731
|
args: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
24578
24732
|
icon: z.ZodOptional<z.ZodString>;
|
|
24579
24733
|
}, z.core.$loose>>>;
|
|
24734
|
+
kanbanBoard: z.ZodOptional<z.ZodObject<{
|
|
24735
|
+
buckets: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
24736
|
+
id: z.ZodString;
|
|
24737
|
+
label: z.ZodString;
|
|
24738
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
24739
|
+
}, z.core.$loose>>>;
|
|
24740
|
+
defaultBucketId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
24741
|
+
}, z.core.$loose>>;
|
|
24580
24742
|
}, z.core.$loose>;
|
|
24581
24743
|
}, z.core.$loose>;
|
|
24582
24744
|
}, z.core.$strip>, z.ZodObject<{
|
|
@@ -24616,6 +24778,14 @@ export declare const WSSessionOutboundSchema: z.ZodObject<{
|
|
|
24616
24778
|
args: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
24617
24779
|
icon: z.ZodOptional<z.ZodString>;
|
|
24618
24780
|
}, z.core.$loose>>>;
|
|
24781
|
+
kanbanBoard: z.ZodOptional<z.ZodObject<{
|
|
24782
|
+
buckets: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
24783
|
+
id: z.ZodString;
|
|
24784
|
+
label: z.ZodString;
|
|
24785
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
24786
|
+
}, z.core.$loose>>>;
|
|
24787
|
+
defaultBucketId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
24788
|
+
}, z.core.$loose>>;
|
|
24619
24789
|
}, z.core.$loose>;
|
|
24620
24790
|
}, z.core.$loose>;
|
|
24621
24791
|
}, z.core.$strip>, z.ZodObject<{
|
|
@@ -28393,6 +28563,14 @@ export declare const WSInboundMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObjec
|
|
|
28393
28563
|
args: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
28394
28564
|
icon: z.ZodOptional<z.ZodString>;
|
|
28395
28565
|
}, z.core.$loose>>>>;
|
|
28566
|
+
kanbanBoard: z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
28567
|
+
buckets: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
28568
|
+
id: z.ZodString;
|
|
28569
|
+
label: z.ZodString;
|
|
28570
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
28571
|
+
}, z.core.$loose>>>;
|
|
28572
|
+
defaultBucketId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
28573
|
+
}, z.core.$loose>>>;
|
|
28396
28574
|
}, z.core.$loose>;
|
|
28397
28575
|
}, z.core.$strip>, z.ZodObject<{
|
|
28398
28576
|
type: z.ZodLiteral<"read_project_config_request">;
|
|
@@ -28866,6 +29044,14 @@ export declare const WSInboundMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObjec
|
|
|
28866
29044
|
requestId: z.ZodString;
|
|
28867
29045
|
uploadId: z.ZodString;
|
|
28868
29046
|
totalChunks: z.ZodNumber;
|
|
29047
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
29048
|
+
type: z.ZodLiteral<"files.upload.chunk">;
|
|
29049
|
+
payload: z.ZodObject<{
|
|
29050
|
+
requestId: z.ZodString;
|
|
29051
|
+
uploadId: z.ZodString;
|
|
29052
|
+
chunkIndex: z.ZodNumber;
|
|
29053
|
+
data: z.ZodString;
|
|
29054
|
+
}, z.core.$strip>;
|
|
28869
29055
|
}, z.core.$strip>, z.ZodObject<{
|
|
28870
29056
|
type: z.ZodLiteral<"files.upload.error">;
|
|
28871
29057
|
payload: z.ZodObject<{
|
|
@@ -33205,6 +33391,14 @@ export declare const WSOutboundMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObje
|
|
|
33205
33391
|
args: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
33206
33392
|
icon: z.ZodOptional<z.ZodString>;
|
|
33207
33393
|
}, z.core.$loose>>>;
|
|
33394
|
+
kanbanBoard: z.ZodOptional<z.ZodObject<{
|
|
33395
|
+
buckets: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
33396
|
+
id: z.ZodString;
|
|
33397
|
+
label: z.ZodString;
|
|
33398
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
33399
|
+
}, z.core.$loose>>>;
|
|
33400
|
+
defaultBucketId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
33401
|
+
}, z.core.$loose>>;
|
|
33208
33402
|
}, z.core.$loose>;
|
|
33209
33403
|
}, z.core.$loose>;
|
|
33210
33404
|
}, z.core.$strip>, z.ZodObject<{
|
|
@@ -33244,6 +33438,14 @@ export declare const WSOutboundMessageSchema: z.ZodDiscriminatedUnion<[z.ZodObje
|
|
|
33244
33438
|
args: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
33245
33439
|
icon: z.ZodOptional<z.ZodString>;
|
|
33246
33440
|
}, z.core.$loose>>>;
|
|
33441
|
+
kanbanBoard: z.ZodOptional<z.ZodObject<{
|
|
33442
|
+
buckets: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
33443
|
+
id: z.ZodString;
|
|
33444
|
+
label: z.ZodString;
|
|
33445
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
33446
|
+
}, z.core.$loose>>>;
|
|
33447
|
+
defaultBucketId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
33448
|
+
}, z.core.$loose>>;
|
|
33247
33449
|
}, z.core.$loose>;
|
|
33248
33450
|
}, z.core.$loose>;
|
|
33249
33451
|
}, z.core.$strip>, z.ZodObject<{
|
package/dist/messages.js
CHANGED
|
@@ -51,6 +51,41 @@ export const TerminalProfileSchema = z
|
|
|
51
51
|
icon: z.string().optional(),
|
|
52
52
|
})
|
|
53
53
|
.passthrough();
|
|
54
|
+
/**
|
|
55
|
+
* One kanban column. `id` is the value stored in `agent.labels.kanban`, so it is
|
|
56
|
+
* stable for the life of the column - renaming never re-homes cards. `limit` is
|
|
57
|
+
* the optional WIP limit (absent = unlimited).
|
|
58
|
+
*
|
|
59
|
+
* This lives in the daemon config, not on the client, because card MEMBERSHIP is
|
|
60
|
+
* already daemon-side (an agent label) while the column REGISTRY used to be
|
|
61
|
+
* per-device AsyncStorage. That split meant a card moved to "Verify" on your
|
|
62
|
+
* laptop rendered under the default column on your phone (the phone had no
|
|
63
|
+
* `verify` column to resolve the label against), and a WIP limit was silently
|
|
64
|
+
* per-device. Structure and membership have to live on the same side of the wire.
|
|
65
|
+
*/
|
|
66
|
+
export const KanbanBucketDefSchema = z
|
|
67
|
+
.object({
|
|
68
|
+
id: z.string().min(1),
|
|
69
|
+
label: z.string().min(1),
|
|
70
|
+
limit: z.number().int().positive().optional(),
|
|
71
|
+
})
|
|
72
|
+
.passthrough();
|
|
73
|
+
/**
|
|
74
|
+
* The whole board structure: ordered columns + which one absorbs cards with no
|
|
75
|
+
* (or an unresolvable) `kanban` label. `defaultBucketId` is null only when the
|
|
76
|
+
* board is empty, which is a legitimate state - the user may delete every column.
|
|
77
|
+
*
|
|
78
|
+
* Deliberately `.optional()` wherever it is embedded rather than `.default()`:
|
|
79
|
+
* "the daemon has never stored a board" (undefined) and "the user emptied the
|
|
80
|
+
* board" (`{buckets: [], defaultBucketId: null}`) are different, and the client
|
|
81
|
+
* only seeds from its local board in the first case.
|
|
82
|
+
*/
|
|
83
|
+
export const KanbanBoardConfigSchema = z
|
|
84
|
+
.object({
|
|
85
|
+
buckets: z.array(KanbanBucketDefSchema).default([]),
|
|
86
|
+
defaultBucketId: z.string().nullable().default(null),
|
|
87
|
+
})
|
|
88
|
+
.passthrough();
|
|
54
89
|
const MutableBrowserToolsConfigSchema = z
|
|
55
90
|
.object({
|
|
56
91
|
enabled: z.boolean().default(false),
|
|
@@ -70,6 +105,10 @@ export const MutableDaemonConfigSchema = z
|
|
|
70
105
|
enableTerminalAgentHooks: z.boolean().default(false),
|
|
71
106
|
appendSystemPrompt: z.string().default(""),
|
|
72
107
|
terminalProfiles: z.array(TerminalProfileSchema).optional(),
|
|
108
|
+
// COMPAT(kanbanBoardConfig): added in v0.2.8, drop the gate when floor >= v0.2.8.
|
|
109
|
+
// Optional so an old daemon (which never sends it) and an old client (which
|
|
110
|
+
// ignores it) both keep parsing this config unchanged.
|
|
111
|
+
kanbanBoard: KanbanBoardConfigSchema.optional(),
|
|
73
112
|
})
|
|
74
113
|
.passthrough();
|
|
75
114
|
export const MutableDaemonConfigPatchSchema = z
|
|
@@ -84,6 +123,11 @@ export const MutableDaemonConfigPatchSchema = z
|
|
|
84
123
|
enableTerminalAgentHooks: z.boolean().optional(),
|
|
85
124
|
appendSystemPrompt: z.string().optional(),
|
|
86
125
|
terminalProfiles: z.array(TerminalProfileSchema).optional(),
|
|
126
|
+
// Patched wholesale, never field-by-field: `buckets` is an ordered array, and
|
|
127
|
+
// the store's deepMerge replaces arrays rather than merging them, so a patch
|
|
128
|
+
// carrying `kanbanBoard` must carry the complete board. That is exactly what
|
|
129
|
+
// the client sends (it owns the full board in memory before every write).
|
|
130
|
+
kanbanBoard: KanbanBoardConfigSchema.optional(),
|
|
87
131
|
})
|
|
88
132
|
.partial()
|
|
89
133
|
.passthrough();
|
|
@@ -1644,6 +1688,24 @@ export const FilesUploadCompleteRequestSchema = z.object({
|
|
|
1644
1688
|
uploadId: z.string(),
|
|
1645
1689
|
totalChunks: z.number().int().nonnegative(),
|
|
1646
1690
|
});
|
|
1691
|
+
// Text-safe chunk carrier (client -> daemon). Binary `FileChunk` WebSocket frames do not
|
|
1692
|
+
// survive every proxy transport: on the hyperdrive proxy path binary frames are dropped
|
|
1693
|
+
// while JSON/text frames pass, which stalls the windowed sender forever (0 acks). So the
|
|
1694
|
+
// client streams each chunk here as a base64 string inside a JSON message instead of a
|
|
1695
|
+
// binary frame. `requestId` correlates to the transfer opened by files.upload.begin.request;
|
|
1696
|
+
// the daemon decodes `data` and feeds it through the SAME FileChunk write+ack pipeline as the
|
|
1697
|
+
// binary path (assigning its own chunkIndex), so both transports are behaviorally identical.
|
|
1698
|
+
// `chunkIndex` is the client's own sequence number, carried for observability only; the
|
|
1699
|
+
// daemon does not depend on it.
|
|
1700
|
+
export const FilesUploadChunkSchema = z.object({
|
|
1701
|
+
type: z.literal("files.upload.chunk"),
|
|
1702
|
+
payload: z.object({
|
|
1703
|
+
requestId: z.string(),
|
|
1704
|
+
uploadId: z.string(),
|
|
1705
|
+
chunkIndex: z.number().int().nonnegative(),
|
|
1706
|
+
data: z.string(),
|
|
1707
|
+
}),
|
|
1708
|
+
});
|
|
1647
1709
|
// Abort/error for an in-flight upload (either side may emit it). Declared here — before
|
|
1648
1710
|
// the inbound and outbound unions — because it is registered in BOTH (bidirectional).
|
|
1649
1711
|
export const FilesUploadErrorSchema = z.object({
|
|
@@ -2104,7 +2166,7 @@ export const ListAllSessionsResponseMessageSchema = z.object({
|
|
|
2104
2166
|
// Plugin platform RPCs. The daemon reports installed-extension contributions so
|
|
2105
2167
|
// the client populates its sidebar/command registries, and routes plugin
|
|
2106
2168
|
// command execution to the extension-host. Dotted RPC names per
|
|
2107
|
-
// docs/rpc-namespacing.md. The contribution shapes mirror @
|
|
2169
|
+
// docs/rpc-namespacing.md. The contribution shapes mirror @hyperdrive.bot/paseo-extension-sdk
|
|
2108
2170
|
// (kept local — protocol must not depend on the SDK).
|
|
2109
2171
|
const ExtensionCommandContributionSchema = z.object({
|
|
2110
2172
|
id: z.string(),
|
|
@@ -2405,6 +2467,9 @@ export const SessionInboundMessageSchema = z.discriminatedUnion("type", [
|
|
|
2405
2467
|
CheckoutGithubSetAutoMergeRequestSchema,
|
|
2406
2468
|
FilesUploadBeginRequestSchema,
|
|
2407
2469
|
FilesUploadCompleteRequestSchema,
|
|
2470
|
+
// Text-safe chunk carrier: client streams chunks here (base64 in JSON) instead of binary
|
|
2471
|
+
// FileChunk frames on transports that drop binary WS frames (e.g. the hyperdrive proxy).
|
|
2472
|
+
FilesUploadChunkSchema,
|
|
2408
2473
|
// files.upload.error is bidirectional (either side may abort an in-flight upload).
|
|
2409
2474
|
// Story 1.2 registered it outbound-only; story 2.1's inbound abort handler
|
|
2410
2475
|
// (Session.handleFileUploadErrorMessage) needs it parseable as an inbound message too.
|
|
@@ -2682,6 +2747,11 @@ export const ServerInfoStatusPayloadSchema = z
|
|
|
2682
2747
|
agentForkContext: z.boolean().optional(),
|
|
2683
2748
|
// COMPAT(meetingsLiveCapture): added in v0.2.1, drop the gate when floor >= v0.2.1.
|
|
2684
2749
|
meetingsLiveCapture: z.boolean().optional(),
|
|
2750
|
+
// COMPAT(kanbanBoardConfig): added in v0.2.8, drop the gate when floor >= v0.2.8.
|
|
2751
|
+
// Daemon stores the kanban column registry + WIP limits in its config and
|
|
2752
|
+
// broadcasts changes, so the board is shared by every device on this host.
|
|
2753
|
+
// Absent → the client keeps its legacy per-device AsyncStorage board.
|
|
2754
|
+
kanbanBoardConfig: z.boolean().optional(),
|
|
2685
2755
|
})
|
|
2686
2756
|
.optional(),
|
|
2687
2757
|
})
|
|
@@ -73,6 +73,11 @@ export declare const ProviderOverrideSchema: z.ZodObject<{
|
|
|
73
73
|
disallowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
74
74
|
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
75
75
|
order: z.ZodOptional<z.ZodNumber>;
|
|
76
|
+
transport: z.ZodOptional<z.ZodEnum<{
|
|
77
|
+
auto: "auto";
|
|
78
|
+
sdk: "sdk";
|
|
79
|
+
pty: "pty";
|
|
80
|
+
}>>;
|
|
76
81
|
}, z.core.$strip>;
|
|
77
82
|
export declare const ProviderOverridesSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
78
83
|
extends: z.ZodOptional<z.ZodString>;
|
|
@@ -108,6 +113,11 @@ export declare const ProviderOverridesSchema: z.ZodRecord<z.ZodString, z.ZodObje
|
|
|
108
113
|
disallowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
109
114
|
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
110
115
|
order: z.ZodOptional<z.ZodNumber>;
|
|
116
|
+
transport: z.ZodOptional<z.ZodEnum<{
|
|
117
|
+
auto: "auto";
|
|
118
|
+
sdk: "sdk";
|
|
119
|
+
pty: "pty";
|
|
120
|
+
}>>;
|
|
111
121
|
}, z.core.$strip>>;
|
|
112
122
|
export declare const AgentProviderRuntimeSettingsMapSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
113
123
|
command: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
package/dist/provider-config.js
CHANGED
|
@@ -55,6 +55,11 @@ export const ProviderOverrideSchema = z.object({
|
|
|
55
55
|
disallowedTools: z.array(z.string()).optional(),
|
|
56
56
|
enabled: z.boolean().optional(),
|
|
57
57
|
order: z.number().optional(),
|
|
58
|
+
// Persisted opt-in for the transport a provider's sessions use. Mirrors the
|
|
59
|
+
// runtime hint on ProviderRuntimeSettingsSchema above so a value written to
|
|
60
|
+
// ~/.paseo/config.json survives the load instead of being stripped as an
|
|
61
|
+
// unknown key. extractAgentProviderSettings carries it into runtime settings.
|
|
62
|
+
transport: z.enum(["sdk", "pty", "auto"]).optional(),
|
|
58
63
|
});
|
|
59
64
|
const BUILTIN_PROVIDER_IDS = ["claude", "codex", "copilot", "opencode", "pi", "omp"];
|
|
60
65
|
const PROVIDER_ID_PATTERN = /^[a-z][a-z0-9-]*$/;
|
|
@@ -3586,6 +3586,14 @@ export declare const WSOutboundMessageSchema: {
|
|
|
3586
3586
|
args: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
3587
3587
|
icon: import("zod").ZodOptional<import("zod").ZodString>;
|
|
3588
3588
|
}, import("zod/v4/core").$loose>>>;
|
|
3589
|
+
kanbanBoard: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
3590
|
+
buckets: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodObject<{
|
|
3591
|
+
id: import("zod").ZodString;
|
|
3592
|
+
label: import("zod").ZodString;
|
|
3593
|
+
limit: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
3594
|
+
}, import("zod/v4/core").$loose>>>;
|
|
3595
|
+
defaultBucketId: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
3596
|
+
}, import("zod/v4/core").$loose>>;
|
|
3589
3597
|
}, import("zod/v4/core").$loose>;
|
|
3590
3598
|
}, import("zod/v4/core").$loose>;
|
|
3591
3599
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
@@ -3625,6 +3633,14 @@ export declare const WSOutboundMessageSchema: {
|
|
|
3625
3633
|
args: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
3626
3634
|
icon: import("zod").ZodOptional<import("zod").ZodString>;
|
|
3627
3635
|
}, import("zod/v4/core").$loose>>>;
|
|
3636
|
+
kanbanBoard: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
3637
|
+
buckets: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodObject<{
|
|
3638
|
+
id: import("zod").ZodString;
|
|
3639
|
+
label: import("zod").ZodString;
|
|
3640
|
+
limit: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
3641
|
+
}, import("zod/v4/core").$loose>>>;
|
|
3642
|
+
defaultBucketId: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
3643
|
+
}, import("zod/v4/core").$loose>>;
|
|
3628
3644
|
}, import("zod/v4/core").$loose>;
|
|
3629
3645
|
}, import("zod/v4/core").$loose>;
|
|
3630
3646
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|