@qilin-agent/schedule 3.1.6 → 3.1.8

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.
@@ -11,12 +11,34 @@ const _qilin_agent_schedule_schedule_catalog_result$schema = () => (_qilin_agent
11
11
  'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
12
12
  'afterSeconds': z.number().readonly().describe('Positive safe-integer delay accepted at creation.'),
13
13
  'scheduledAt': z.string().readonly().describe('Four-digit-year RFC 3339 UTC target.'),
14
- 'sessionId': z.string().readonly().describe('Session receiving this reminder when it becomes due.'),
15
- 'status': z.union([z.literal("active"), z.literal("inactive")]).readonly().describe('Inactive reminders remain visible but never schedule another delivery.'),
14
+ 'target': z.union([z.object({
15
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
16
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
17
+ }), z.object({
18
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
19
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
20
+ 'create': z.object({
21
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
22
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
23
+ }).readonly().describe('Values used to create the reserved Session.'),
24
+ }), z.object({
25
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
26
+ 'create': z.object({
27
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
28
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
29
+ }).readonly().describe('Values used to create each Session.'),
30
+ })]).readonly().describe('Destination of the next delivery.'),
31
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
32
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
33
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
34
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
35
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
36
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
16
37
  'lastDelivery': z.object({
17
38
  'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
18
39
  'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
19
40
  'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
41
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
20
42
  }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
21
43
  }), z.object({
22
44
  'id': z.string().readonly().describe('Globally unique task identity.'),
@@ -24,12 +46,34 @@ const _qilin_agent_schedule_schedule_catalog_result$schema = () => (_qilin_agent
24
46
  'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
25
47
  'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
26
48
  'scheduledAt': z.string().readonly().describe('Four-digit-year RFC 3339 UTC target.'),
27
- 'sessionId': z.string().readonly().describe('Session receiving this reminder when it becomes due.'),
28
- 'status': z.union([z.literal("active"), z.literal("inactive")]).readonly().describe('Inactive reminders remain visible but never schedule another delivery.'),
49
+ 'target': z.union([z.object({
50
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
51
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
52
+ }), z.object({
53
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
54
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
55
+ 'create': z.object({
56
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
57
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
58
+ }).readonly().describe('Values used to create the reserved Session.'),
59
+ }), z.object({
60
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
61
+ 'create': z.object({
62
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
63
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
64
+ }).readonly().describe('Values used to create each Session.'),
65
+ })]).readonly().describe('Destination of the next delivery.'),
66
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
67
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
68
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
69
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
70
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
71
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
29
72
  'lastDelivery': z.object({
30
73
  'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
31
74
  'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
32
75
  'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
76
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
33
77
  }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
34
78
  }), z.object({
35
79
  'id': z.string().readonly().describe('Globally unique task identity.'),
@@ -38,12 +82,34 @@ const _qilin_agent_schedule_schedule_catalog_result$schema = () => (_qilin_agent
38
82
  'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
39
83
  'everySeconds': z.number().readonly().describe('Fixed safe-integer interval, never below one minute.'),
40
84
  'scheduledAt': z.string().readonly().describe('Next anchor-aligned occurrence while active, or final occurrence when inactive.'),
41
- 'sessionId': z.string().readonly().describe('Session receiving this reminder when it becomes due.'),
42
- 'status': z.union([z.literal("active"), z.literal("inactive")]).readonly().describe('Inactive reminders remain visible but never schedule another delivery.'),
85
+ 'target': z.union([z.object({
86
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
87
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
88
+ }), z.object({
89
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
90
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
91
+ 'create': z.object({
92
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
93
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
94
+ }).readonly().describe('Values used to create the reserved Session.'),
95
+ }), z.object({
96
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
97
+ 'create': z.object({
98
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
99
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
100
+ }).readonly().describe('Values used to create each Session.'),
101
+ })]).readonly().describe('Destination of the next delivery.'),
102
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
103
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
104
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
105
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
106
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
107
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
43
108
  'lastDelivery': z.object({
44
109
  'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
45
110
  'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
46
111
  'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
112
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
47
113
  }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
48
114
  }), z.object({
49
115
  'id': z.string().readonly().describe('Globally unique task identity.'),
@@ -53,12 +119,34 @@ const _qilin_agent_schedule_schedule_catalog_result$schema = () => (_qilin_agent
53
119
  'time': z.string().readonly().describe('Local time normalized to HH:mm:ss.SSS.'),
54
120
  'timeZone': z.string().readonly().describe('Explicit IANA zone; equivalent timing edits retain the stored spelling.'),
55
121
  'scheduledAt': z.string().readonly().describe('Committed next UTC instant while active, or final occurrence when inactive.'),
56
- 'sessionId': z.string().readonly().describe('Session receiving this reminder when it becomes due.'),
57
- 'status': z.union([z.literal("active"), z.literal("inactive")]).readonly().describe('Inactive reminders remain visible but never schedule another delivery.'),
122
+ 'target': z.union([z.object({
123
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
124
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
125
+ }), z.object({
126
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
127
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
128
+ 'create': z.object({
129
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
130
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
131
+ }).readonly().describe('Values used to create the reserved Session.'),
132
+ }), z.object({
133
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
134
+ 'create': z.object({
135
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
136
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
137
+ }).readonly().describe('Values used to create each Session.'),
138
+ })]).readonly().describe('Destination of the next delivery.'),
139
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
140
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
141
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
142
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
143
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
144
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
58
145
  'lastDelivery': z.object({
59
146
  'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
60
147
  'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
61
148
  'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
149
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
62
150
  }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
63
151
  }), z.object({
64
152
  'id': z.string().readonly().describe('Globally unique task identity.'),
@@ -69,12 +157,34 @@ const _qilin_agent_schedule_schedule_catalog_result$schema = () => (_qilin_agent
69
157
  'timeZone': z.string().readonly().describe('Explicit canonical IANA zone; equivalent timing edits retain the stored spelling.'),
70
158
  'weekdays': z.array(z.number()).readonly().describe('Unique ascending ISO weekdays, Monday 1 through Sunday 7.'),
71
159
  'scheduledAt': z.string().readonly().describe('Committed next UTC instant while active, or final occurrence when inactive.'),
72
- 'sessionId': z.string().readonly().describe('Session receiving this reminder when it becomes due.'),
73
- 'status': z.union([z.literal("active"), z.literal("inactive")]).readonly().describe('Inactive reminders remain visible but never schedule another delivery.'),
160
+ 'target': z.union([z.object({
161
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
162
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
163
+ }), z.object({
164
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
165
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
166
+ 'create': z.object({
167
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
168
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
169
+ }).readonly().describe('Values used to create the reserved Session.'),
170
+ }), z.object({
171
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
172
+ 'create': z.object({
173
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
174
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
175
+ }).readonly().describe('Values used to create each Session.'),
176
+ })]).readonly().describe('Destination of the next delivery.'),
177
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
178
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
179
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
180
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
181
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
182
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
74
183
  'lastDelivery': z.object({
75
184
  'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
76
185
  'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
77
186
  'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
187
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
78
188
  }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
79
189
  }), z.object({
80
190
  'id': z.string().readonly().describe('Globally unique task identity.'),
@@ -84,73 +194,533 @@ const _qilin_agent_schedule_schedule_catalog_result$schema = () => (_qilin_agent
84
194
  'expression': z.string().readonly().describe('Canonical five-field cron expression: minute hour day-of-month month day-of-week.'),
85
195
  'timeZone': z.string().readonly().describe('Explicit IANA zone; equivalent timing edits retain the stored spelling.'),
86
196
  'scheduledAt': z.string().readonly().describe('Committed next UTC instant while active, or final occurrence when inactive.'),
87
- 'sessionId': z.string().readonly().describe('Session receiving this reminder when it becomes due.'),
88
- 'status': z.union([z.literal("active"), z.literal("inactive")]).readonly().describe('Inactive reminders remain visible but never schedule another delivery.'),
197
+ 'target': z.union([z.object({
198
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
199
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
200
+ }), z.object({
201
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
202
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
203
+ 'create': z.object({
204
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
205
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
206
+ }).readonly().describe('Values used to create the reserved Session.'),
207
+ }), z.object({
208
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
209
+ 'create': z.object({
210
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
211
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
212
+ }).readonly().describe('Values used to create each Session.'),
213
+ })]).readonly().describe('Destination of the next delivery.'),
214
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
215
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
216
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
217
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
218
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
219
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
220
+ 'lastDelivery': z.object({
221
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
222
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
223
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
224
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
225
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
226
+ }), z.object({
227
+ 'kind': z.literal("rrule").readonly(),
228
+ 'id': z.string().readonly().describe('Host-generated canonical identity.'),
229
+ 'title': z.string().readonly().describe('Task name; already trimmed, non-empty, and at most 120 characters.'),
230
+ 'prompt': z.string().readonly().describe('Trimmed instruction sent when an occurrence becomes due.'),
231
+ 'rrule': z.string().readonly().describe('One normalized DTSTART line and one RRULE line.'),
232
+ 'scheduledAt': z.string().readonly().describe('Next unaccepted occurrence while active, or the final accepted occurrence when ended.'),
233
+ 'target': z.union([z.object({
234
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
235
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
236
+ }), z.object({
237
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
238
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
239
+ 'create': z.object({
240
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
241
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
242
+ }).readonly().describe('Values used to create the reserved Session.'),
243
+ }), z.object({
244
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
245
+ 'create': z.object({
246
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
247
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
248
+ }).readonly().describe('Values used to create each Session.'),
249
+ })]).readonly().describe('Destination of the next delivery.'),
250
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
251
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
252
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
253
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
254
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
255
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
89
256
  'lastDelivery': z.object({
90
257
  'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
91
258
  'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
92
259
  'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
260
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
93
261
  }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
94
262
  })])))
95
- let _qilin_agent_schedule_schedule_delete_parameter_0$schema$value
96
- const _qilin_agent_schedule_schedule_delete_parameter_0$schema = () => (_qilin_agent_schedule_schedule_delete_parameter_0$schema$value ??= z.object({
97
- 'id': z.string().describe('Task to remove.'),
98
- 'sessionId': z.string().describe('Original Session binding.'),
99
- }))
100
- let _qilin_agent_schedule_schedule_delete_result$schema$value
101
- const _qilin_agent_schedule_schedule_delete_result$schema = () => (_qilin_agent_schedule_schedule_delete_result$schema$value ??= z.union([z.object({
102
- 'id': z.string().readonly(),
103
- 'deleted': z.literal(true).readonly(),
263
+ let _qilin_agent_schedule_schedule_create_parameter_0$schema$value
264
+ const _qilin_agent_schedule_schedule_create_parameter_0$schema = () => (_qilin_agent_schedule_schedule_create_parameter_0$schema$value ??= z.object({
265
+ 'title': z.string().readonly().describe('Task name of at most 120 characters, non-empty after trimming.'),
266
+ 'prompt': z.string().readonly().describe('Instruction sent at each occurrence; non-empty after trimming.'),
267
+ 'timing': z.union([z.object({
268
+ 'kind': z.literal("after").readonly(),
269
+ 'after_seconds': z.number().readonly(),
104
270
  }), z.object({
105
- 'id': z.string().readonly(),
106
- 'deleted': z.literal(false).readonly(),
107
- 'code': z.literal("schedule_not_found").readonly(),
108
- })]))
109
- let _qilin_agent_schedule_schedule_history_parameter_0$schema$value
110
- const _qilin_agent_schedule_schedule_history_parameter_0$schema = () => (_qilin_agent_schedule_schedule_history_parameter_0$schema$value ??= z.object({
111
- 'limit': z.number().describe('Required safe-integer page size from 1 through 100.'),
112
- 'before': z.string().optional().describe('Message identity of the oldest entry in the previous page; excluded from this page.'),
113
- 'id': z.string().describe('Task to remove.'),
114
- 'sessionId': z.string().describe('Original Session binding.'),
271
+ 'kind': z.literal("at").readonly(),
272
+ 'at': z.union([z.string(), z.object({
273
+ 'date': z.string().readonly().describe('Four-digit ISO calendar date.'),
274
+ 'time': z.string().readonly().describe('Local wall-clock time with optional one-to-three digit milliseconds.'),
275
+ 'time_zone': z.string().readonly().describe('Explicit UTC or IANA Area/Location zone.'),
276
+ })]).readonly(),
277
+ }), z.object({
278
+ 'kind': z.literal("every").readonly(),
279
+ 'every_seconds': z.number().readonly(),
280
+ }), z.object({
281
+ 'kind': z.literal("daily").readonly(),
282
+ 'daily': z.object({
283
+ 'time': z.string().readonly().describe('Local HH:mm:ss time with optional one-to-three fractional digits.'),
284
+ 'time_zone': z.string().readonly().describe('Explicit UTC or IANA Area/Location zone.'),
285
+ }).readonly(),
286
+ }), z.object({
287
+ 'kind': z.literal("weekly").readonly(),
288
+ 'weekly': z.object({
289
+ 'time': z.string().readonly().describe('Local HH:mm:ss time with optional one-to-three fractional digits.'),
290
+ 'time_zone': z.string().readonly().describe('Explicit UTC or IANA Area/Location zone.'),
291
+ 'weekdays': z.array(z.number()).readonly().describe('Non-empty ISO weekday set, Monday 1 through Sunday 7, without repetitions.'),
292
+ }).readonly(),
293
+ }), z.object({
294
+ 'kind': z.literal("cron").readonly(),
295
+ 'cron': z.object({
296
+ 'expression': z.string().readonly().describe('Five-field Vixie cron expression: minute hour day-of-month month day-of-week.'),
297
+ 'time_zone': z.string().readonly().describe('Explicit UTC or IANA Area/Location zone.'),
298
+ }).readonly(),
299
+ }), z.object({
300
+ 'kind': z.literal("rrule").readonly(),
301
+ 'rrule': z.string().readonly(),
302
+ })]).readonly().describe('Authoritative typed timing with at least one future occurrence.'),
303
+ 'target': z.union([z.object({
304
+ 'kind': z.literal("session").readonly().describe('Deliver to one existing Session that is not a delegated child.'),
305
+ 'sessionId': z.string().readonly().describe('Existing Session that receives each delivery.'),
306
+ }), z.object({
307
+ 'kind': z.literal("new_once").readonly().describe('Create one Session at the first delivery.'),
308
+ 'create': z.object({
309
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
310
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
311
+ }).readonly().optional().describe('Creation values; omission uses the Host defaults.'),
312
+ }), z.object({
313
+ 'kind': z.literal("new").readonly().describe('Create a fresh Session at each delivery.'),
314
+ 'create': z.object({
315
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
316
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
317
+ }).readonly().optional().describe('Creation values; omission uses the Host defaults.'),
318
+ })]).readonly().optional().describe('Delivery destination; omission creates one Session at first delivery and reuses it.'),
115
319
  }))
116
- let _qilin_agent_schedule_schedule_history_result$schema$value
117
- const _qilin_agent_schedule_schedule_history_result$schema = () => (_qilin_agent_schedule_schedule_history_result$schema$value ??= z.union([z.object({
118
- 'id': z.string().readonly(),
119
- 'records': z.array(z.object({
120
- 'prompt': z.string().readonly().optional().describe('Prompt sent for this occurrence; unavailable for legacy receipts.'),
320
+ let _qilin_agent_schedule_schedule_create_result$schema$value
321
+ const _qilin_agent_schedule_schedule_create_result$schema = () => (_qilin_agent_schedule_schedule_create_result$schema$value ??= z.union([z.object({
322
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
323
+ 'kind': z.literal("after").readonly().describe('Rule discriminator for a delayed one-shot reminder.'),
324
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
325
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
326
+ 'afterSeconds': z.number().readonly().describe('Positive safe-integer delay accepted at creation.'),
327
+ 'scheduledAt': z.string().readonly().describe('Four-digit-year RFC 3339 UTC target.'),
328
+ 'target': z.union([z.object({
329
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
330
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
331
+ }), z.object({
332
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
333
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
334
+ 'create': z.object({
335
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
336
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
337
+ }).readonly().describe('Values used to create the reserved Session.'),
338
+ }), z.object({
339
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
340
+ 'create': z.object({
341
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
342
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
343
+ }).readonly().describe('Values used to create each Session.'),
344
+ })]).readonly().describe('Destination of the next delivery.'),
345
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
346
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
347
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
348
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
349
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
350
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
351
+ 'lastDelivery': z.object({
121
352
  'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
122
353
  'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
123
354
  'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
124
- })).readonly(),
125
- 'earlierRecordsUnavailable': z.boolean().readonly().describe('Whether earlier delivery records may be unavailable; missing receipts are never reconstructed.'),
126
- 'earlierRecordsPruned': z.boolean().readonly().describe('True only after an append removed saved records; absent legacy evidence is false.'),
127
- 'retention': z.object({
128
- 'days': z.number().readonly().describe('Retained window in days, measured back from the acknowledgment being appended.'),
129
- 'records': z.number().readonly().describe('Maximum retained records per task; the newest survive.'),
130
- }).readonly().describe('Current Host retention configuration, also used by the delivery writer.'),
131
- 'nextBefore': z.string().readonly().optional().describe('Oldest returned message identity, present only when older saved records remain.'),
355
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
356
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
132
357
  }), z.object({
133
- 'id': z.string().readonly(),
134
- 'code': z.union([z.literal("schedule_not_found"), z.literal("delivery_cursor_not_found")]).readonly(),
358
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
359
+ 'kind': z.literal("at").readonly().describe('Rule discriminator for an absolute one-shot reminder.'),
360
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
361
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
362
+ 'scheduledAt': z.string().readonly().describe('Four-digit-year RFC 3339 UTC target.'),
363
+ 'target': z.union([z.object({
364
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
365
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
366
+ }), z.object({
367
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
368
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
369
+ 'create': z.object({
370
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
371
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
372
+ }).readonly().describe('Values used to create the reserved Session.'),
373
+ }), z.object({
374
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
375
+ 'create': z.object({
376
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
377
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
378
+ }).readonly().describe('Values used to create each Session.'),
379
+ })]).readonly().describe('Destination of the next delivery.'),
380
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
381
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
382
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
383
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
384
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
385
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
386
+ 'lastDelivery': z.object({
387
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
388
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
389
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
390
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
391
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
392
+ }), z.object({
393
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
394
+ 'kind': z.literal("every").readonly().describe('Rule discriminator for a fixed-rate recurring reminder.'),
395
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
396
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
397
+ 'everySeconds': z.number().readonly().describe('Fixed safe-integer interval, never below one minute.'),
398
+ 'scheduledAt': z.string().readonly().describe('Next anchor-aligned occurrence while active, or final occurrence when inactive.'),
399
+ 'target': z.union([z.object({
400
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
401
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
402
+ }), z.object({
403
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
404
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
405
+ 'create': z.object({
406
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
407
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
408
+ }).readonly().describe('Values used to create the reserved Session.'),
409
+ }), z.object({
410
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
411
+ 'create': z.object({
412
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
413
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
414
+ }).readonly().describe('Values used to create each Session.'),
415
+ })]).readonly().describe('Destination of the next delivery.'),
416
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
417
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
418
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
419
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
420
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
421
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
422
+ 'lastDelivery': z.object({
423
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
424
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
425
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
426
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
427
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
428
+ }), z.object({
429
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
430
+ 'kind': z.literal("daily").readonly().describe('Rule discriminator for a daily wall-clock reminder.'),
431
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
432
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
433
+ 'time': z.string().readonly().describe('Local time normalized to HH:mm:ss.SSS.'),
434
+ 'timeZone': z.string().readonly().describe('Explicit IANA zone; equivalent timing edits retain the stored spelling.'),
435
+ 'scheduledAt': z.string().readonly().describe('Committed next UTC instant while active, or final occurrence when inactive.'),
436
+ 'target': z.union([z.object({
437
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
438
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
439
+ }), z.object({
440
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
441
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
442
+ 'create': z.object({
443
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
444
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
445
+ }).readonly().describe('Values used to create the reserved Session.'),
446
+ }), z.object({
447
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
448
+ 'create': z.object({
449
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
450
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
451
+ }).readonly().describe('Values used to create each Session.'),
452
+ })]).readonly().describe('Destination of the next delivery.'),
453
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
454
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
455
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
456
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
457
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
458
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
459
+ 'lastDelivery': z.object({
460
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
461
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
462
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
463
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
464
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
465
+ }), z.object({
466
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
467
+ 'kind': z.literal("weekly").readonly().describe('Rule discriminator for a weekly wall-clock reminder.'),
468
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
469
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
470
+ 'time': z.string().readonly().describe('Local time normalized to HH:mm:ss.SSS.'),
471
+ 'timeZone': z.string().readonly().describe('Explicit canonical IANA zone; equivalent timing edits retain the stored spelling.'),
472
+ 'weekdays': z.array(z.number()).readonly().describe('Unique ascending ISO weekdays, Monday 1 through Sunday 7.'),
473
+ 'scheduledAt': z.string().readonly().describe('Committed next UTC instant while active, or final occurrence when inactive.'),
474
+ 'target': z.union([z.object({
475
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
476
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
477
+ }), z.object({
478
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
479
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
480
+ 'create': z.object({
481
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
482
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
483
+ }).readonly().describe('Values used to create the reserved Session.'),
484
+ }), z.object({
485
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
486
+ 'create': z.object({
487
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
488
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
489
+ }).readonly().describe('Values used to create each Session.'),
490
+ })]).readonly().describe('Destination of the next delivery.'),
491
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
492
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
493
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
494
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
495
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
496
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
497
+ 'lastDelivery': z.object({
498
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
499
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
500
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
501
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
502
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
503
+ }), z.object({
504
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
505
+ 'kind': z.literal("cron").readonly().describe('Rule discriminator for a five-field cron wall-clock reminder.'),
506
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
507
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
508
+ 'expression': z.string().readonly().describe('Canonical five-field cron expression: minute hour day-of-month month day-of-week.'),
509
+ 'timeZone': z.string().readonly().describe('Explicit IANA zone; equivalent timing edits retain the stored spelling.'),
510
+ 'scheduledAt': z.string().readonly().describe('Committed next UTC instant while active, or final occurrence when inactive.'),
511
+ 'target': z.union([z.object({
512
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
513
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
514
+ }), z.object({
515
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
516
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
517
+ 'create': z.object({
518
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
519
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
520
+ }).readonly().describe('Values used to create the reserved Session.'),
521
+ }), z.object({
522
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
523
+ 'create': z.object({
524
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
525
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
526
+ }).readonly().describe('Values used to create each Session.'),
527
+ })]).readonly().describe('Destination of the next delivery.'),
528
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
529
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
530
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
531
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
532
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
533
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
534
+ 'lastDelivery': z.object({
535
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
536
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
537
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
538
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
539
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
540
+ }), z.object({
541
+ 'kind': z.literal("rrule").readonly(),
542
+ 'id': z.string().readonly().describe('Host-generated canonical identity.'),
543
+ 'title': z.string().readonly().describe('Task name; already trimmed, non-empty, and at most 120 characters.'),
544
+ 'prompt': z.string().readonly().describe('Trimmed instruction sent when an occurrence becomes due.'),
545
+ 'rrule': z.string().readonly().describe('One normalized DTSTART line and one RRULE line.'),
546
+ 'scheduledAt': z.string().readonly().describe('Next unaccepted occurrence while active, or the final accepted occurrence when ended.'),
547
+ 'target': z.union([z.object({
548
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
549
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
550
+ }), z.object({
551
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
552
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
553
+ 'create': z.object({
554
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
555
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
556
+ }).readonly().describe('Values used to create the reserved Session.'),
557
+ }), z.object({
558
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
559
+ 'create': z.object({
560
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
561
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
562
+ }).readonly().describe('Values used to create each Session.'),
563
+ })]).readonly().describe('Destination of the next delivery.'),
564
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
565
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
566
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
567
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
568
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
569
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
570
+ 'lastDelivery': z.object({
571
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
572
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
573
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
574
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
575
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
135
576
  })]))
136
- let _qilin_agent_schedule_schedule_list_parameter_0$schema$value
137
- const _qilin_agent_schedule_schedule_list_parameter_0$schema = () => (_qilin_agent_schedule_schedule_list_parameter_0$schema$value ??= z.object({
138
- 'sessionId': z.string().describe('Original Session binding.'),
577
+ let _qilin_agent_schedule_schedule_deleteInactive_result$schema$value
578
+ const _qilin_agent_schedule_schedule_deleteInactive_result$schema = () => (_qilin_agent_schedule_schedule_deleteInactive_result$schema$value ??= z.object({
579
+ 'deleted': z.number().readonly().describe('Ended task rows this call removed; zero when the Host held none.'),
139
580
  }))
140
- let _qilin_agent_schedule_schedule_list_result$schema$value
141
- const _qilin_agent_schedule_schedule_list_result$schema = () => (_qilin_agent_schedule_schedule_list_result$schema$value ??= z.array(z.union([z.object({
581
+ let _qilin_agent_schedule_schedule_deliveryLimits_result$schema$value
582
+ const _qilin_agent_schedule_schedule_deliveryLimits_result$schema = () => (_qilin_agent_schedule_schedule_deliveryLimits_result$schema$value ??= z.object({
583
+ 'newSessionIntervalSeconds': z.number().readonly(),
584
+ }))
585
+ let _qilin_agent_schedule_schedule_edit_parameter_0$schema$value
586
+ const _qilin_agent_schedule_schedule_edit_parameter_0$schema = () => (_qilin_agent_schedule_schedule_edit_parameter_0$schema$value ??= z.union([z.object({
587
+ 'id': z.string().readonly().describe('Task to change.'),
588
+ 'action': z.literal("update").readonly().describe('Apply `patch` as one atomic change.'),
589
+ 'patch': z.object({
590
+ 'title': z.string().readonly().optional().describe('Replacement task name.'),
591
+ 'prompt': z.string().readonly().optional().describe('Replacement instruction.'),
592
+ 'timing': z.union([z.object({
593
+ 'kind': z.literal("after").readonly(),
594
+ 'after_seconds': z.number().readonly(),
595
+ }), z.object({
596
+ 'kind': z.literal("at").readonly(),
597
+ 'at': z.union([z.string(), z.object({
598
+ 'date': z.string().readonly().describe('Four-digit ISO calendar date.'),
599
+ 'time': z.string().readonly().describe('Local wall-clock time with optional one-to-three digit milliseconds.'),
600
+ 'time_zone': z.string().readonly().describe('Explicit UTC or IANA Area/Location zone.'),
601
+ })]).readonly(),
602
+ }), z.object({
603
+ 'kind': z.literal("every").readonly(),
604
+ 'every_seconds': z.number().readonly(),
605
+ }), z.object({
606
+ 'kind': z.literal("daily").readonly(),
607
+ 'daily': z.object({
608
+ 'time': z.string().readonly().describe('Local HH:mm:ss time with optional one-to-three fractional digits.'),
609
+ 'time_zone': z.string().readonly().describe('Explicit UTC or IANA Area/Location zone.'),
610
+ }).readonly(),
611
+ }), z.object({
612
+ 'kind': z.literal("weekly").readonly(),
613
+ 'weekly': z.object({
614
+ 'time': z.string().readonly().describe('Local HH:mm:ss time with optional one-to-three fractional digits.'),
615
+ 'time_zone': z.string().readonly().describe('Explicit UTC or IANA Area/Location zone.'),
616
+ 'weekdays': z.array(z.number()).readonly().describe('Non-empty ISO weekday set, Monday 1 through Sunday 7, without repetitions.'),
617
+ }).readonly(),
618
+ }), z.object({
619
+ 'kind': z.literal("cron").readonly(),
620
+ 'cron': z.object({
621
+ 'expression': z.string().readonly().describe('Five-field Vixie cron expression: minute hour day-of-month month day-of-week.'),
622
+ 'time_zone': z.string().readonly().describe('Explicit UTC or IANA Area/Location zone.'),
623
+ }).readonly(),
624
+ }), z.object({
625
+ 'kind': z.literal("rrule").readonly(),
626
+ 'rrule': z.string().readonly(),
627
+ })]).readonly().optional().describe('Replacement timing; a changed rule recomputes the next occurrence.'),
628
+ 'target': z.union([z.object({
629
+ 'kind': z.literal("session").readonly().describe('Deliver to one existing Session that is not a delegated child.'),
630
+ 'sessionId': z.string().readonly().describe('Existing Session that receives each delivery.'),
631
+ }), z.object({
632
+ 'kind': z.literal("new_once").readonly().describe('Create one Session at the first delivery.'),
633
+ 'create': z.object({
634
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
635
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
636
+ }).readonly().optional().describe('Creation values; omission uses the Host defaults.'),
637
+ }), z.object({
638
+ 'kind': z.literal("new").readonly().describe('Create a fresh Session at each delivery.'),
639
+ 'create': z.object({
640
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
641
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
642
+ }).readonly().optional().describe('Creation values; omission uses the Host defaults.'),
643
+ })]).readonly().optional().describe('Replacement destination.'),
644
+ 'active': z.boolean().readonly().optional().describe('`false` pauses the task; `true` resumes a recurrence from its first future occurrence.'),
645
+ }).readonly().describe('Fields to change; at least one member is required.'),
646
+ 'expectedUpdatedAt': z.union([z.literal(null), z.string()]).readonly().optional().describe('`updatedAt` value that the editor read; a different stored value returns `schedule_conflict`.'),
647
+ }), z.object({
648
+ 'id': z.string().readonly().describe('Task to remove.'),
649
+ 'action': z.literal("delete").readonly().describe('Remove the task and its saved deliveries.'),
650
+ 'expectedUpdatedAt': z.union([z.literal(null), z.string()]).readonly().optional().describe('`updatedAt` value that the editor read; a different stored value returns `schedule_conflict`.'),
651
+ })]))
652
+ let _qilin_agent_schedule_schedule_edit_result$schema$value
653
+ const _qilin_agent_schedule_schedule_edit_result$schema = () => (_qilin_agent_schedule_schedule_edit_result$schema$value ??= z.union([z.object({
142
654
  'id': z.string().readonly().describe('Globally unique task identity.'),
143
655
  'kind': z.literal("after").readonly().describe('Rule discriminator for a delayed one-shot reminder.'),
144
656
  'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
145
657
  'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
146
658
  'afterSeconds': z.number().readonly().describe('Positive safe-integer delay accepted at creation.'),
147
659
  'scheduledAt': z.string().readonly().describe('Four-digit-year RFC 3339 UTC target.'),
660
+ 'target': z.union([z.object({
661
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
662
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
663
+ }), z.object({
664
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
665
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
666
+ 'create': z.object({
667
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
668
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
669
+ }).readonly().describe('Values used to create the reserved Session.'),
670
+ }), z.object({
671
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
672
+ 'create': z.object({
673
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
674
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
675
+ }).readonly().describe('Values used to create each Session.'),
676
+ })]).readonly().describe('Destination of the next delivery.'),
677
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
678
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
679
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
680
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
681
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
682
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
683
+ 'lastDelivery': z.object({
684
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
685
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
686
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
687
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
688
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
148
689
  }), z.object({
149
690
  'id': z.string().readonly().describe('Globally unique task identity.'),
150
691
  'kind': z.literal("at").readonly().describe('Rule discriminator for an absolute one-shot reminder.'),
151
692
  'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
152
693
  'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
153
694
  'scheduledAt': z.string().readonly().describe('Four-digit-year RFC 3339 UTC target.'),
695
+ 'target': z.union([z.object({
696
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
697
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
698
+ }), z.object({
699
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
700
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
701
+ 'create': z.object({
702
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
703
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
704
+ }).readonly().describe('Values used to create the reserved Session.'),
705
+ }), z.object({
706
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
707
+ 'create': z.object({
708
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
709
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
710
+ }).readonly().describe('Values used to create each Session.'),
711
+ })]).readonly().describe('Destination of the next delivery.'),
712
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
713
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
714
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
715
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
716
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
717
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
718
+ 'lastDelivery': z.object({
719
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
720
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
721
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
722
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
723
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
154
724
  }), z.object({
155
725
  'id': z.string().readonly().describe('Globally unique task identity.'),
156
726
  'kind': z.literal("every").readonly().describe('Rule discriminator for a fixed-rate recurring reminder.'),
@@ -158,6 +728,35 @@ const _qilin_agent_schedule_schedule_list_result$schema = () => (_qilin_agent_sc
158
728
  'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
159
729
  'everySeconds': z.number().readonly().describe('Fixed safe-integer interval, never below one minute.'),
160
730
  'scheduledAt': z.string().readonly().describe('Next anchor-aligned occurrence while active, or final occurrence when inactive.'),
731
+ 'target': z.union([z.object({
732
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
733
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
734
+ }), z.object({
735
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
736
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
737
+ 'create': z.object({
738
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
739
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
740
+ }).readonly().describe('Values used to create the reserved Session.'),
741
+ }), z.object({
742
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
743
+ 'create': z.object({
744
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
745
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
746
+ }).readonly().describe('Values used to create each Session.'),
747
+ })]).readonly().describe('Destination of the next delivery.'),
748
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
749
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
750
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
751
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
752
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
753
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
754
+ 'lastDelivery': z.object({
755
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
756
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
757
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
758
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
759
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
161
760
  }), z.object({
162
761
  'id': z.string().readonly().describe('Globally unique task identity.'),
163
762
  'kind': z.literal("daily").readonly().describe('Rule discriminator for a daily wall-clock reminder.'),
@@ -166,6 +765,35 @@ const _qilin_agent_schedule_schedule_list_result$schema = () => (_qilin_agent_sc
166
765
  'time': z.string().readonly().describe('Local time normalized to HH:mm:ss.SSS.'),
167
766
  'timeZone': z.string().readonly().describe('Explicit IANA zone; equivalent timing edits retain the stored spelling.'),
168
767
  'scheduledAt': z.string().readonly().describe('Committed next UTC instant while active, or final occurrence when inactive.'),
768
+ 'target': z.union([z.object({
769
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
770
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
771
+ }), z.object({
772
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
773
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
774
+ 'create': z.object({
775
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
776
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
777
+ }).readonly().describe('Values used to create the reserved Session.'),
778
+ }), z.object({
779
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
780
+ 'create': z.object({
781
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
782
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
783
+ }).readonly().describe('Values used to create each Session.'),
784
+ })]).readonly().describe('Destination of the next delivery.'),
785
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
786
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
787
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
788
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
789
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
790
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
791
+ 'lastDelivery': z.object({
792
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
793
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
794
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
795
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
796
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
169
797
  }), z.object({
170
798
  'id': z.string().readonly().describe('Globally unique task identity.'),
171
799
  'kind': z.literal("weekly").readonly().describe('Rule discriminator for a weekly wall-clock reminder.'),
@@ -175,6 +803,35 @@ const _qilin_agent_schedule_schedule_list_result$schema = () => (_qilin_agent_sc
175
803
  'timeZone': z.string().readonly().describe('Explicit canonical IANA zone; equivalent timing edits retain the stored spelling.'),
176
804
  'weekdays': z.array(z.number()).readonly().describe('Unique ascending ISO weekdays, Monday 1 through Sunday 7.'),
177
805
  'scheduledAt': z.string().readonly().describe('Committed next UTC instant while active, or final occurrence when inactive.'),
806
+ 'target': z.union([z.object({
807
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
808
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
809
+ }), z.object({
810
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
811
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
812
+ 'create': z.object({
813
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
814
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
815
+ }).readonly().describe('Values used to create the reserved Session.'),
816
+ }), z.object({
817
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
818
+ 'create': z.object({
819
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
820
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
821
+ }).readonly().describe('Values used to create each Session.'),
822
+ })]).readonly().describe('Destination of the next delivery.'),
823
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
824
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
825
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
826
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
827
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
828
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
829
+ 'lastDelivery': z.object({
830
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
831
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
832
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
833
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
834
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
178
835
  }), z.object({
179
836
  'id': z.string().readonly().describe('Globally unique task identity.'),
180
837
  'kind': z.literal("cron").readonly().describe('Rule discriminator for a five-field cron wall-clock reminder.'),
@@ -183,22 +840,187 @@ const _qilin_agent_schedule_schedule_list_result$schema = () => (_qilin_agent_sc
183
840
  'expression': z.string().readonly().describe('Canonical five-field cron expression: minute hour day-of-month month day-of-week.'),
184
841
  'timeZone': z.string().readonly().describe('Explicit IANA zone; equivalent timing edits retain the stored spelling.'),
185
842
  'scheduledAt': z.string().readonly().describe('Committed next UTC instant while active, or final occurrence when inactive.'),
186
- })])))
187
- let _qilin_agent_schedule_schedule_update_parameter_0$schema$value
188
- const _qilin_agent_schedule_schedule_update_parameter_0$schema = () => (_qilin_agent_schedule_schedule_update_parameter_0$schema$value ??= z.object({
189
- 'expected': z.union([z.object({
843
+ 'target': z.union([z.object({
844
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
845
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
846
+ }), z.object({
847
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
848
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
849
+ 'create': z.object({
850
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
851
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
852
+ }).readonly().describe('Values used to create the reserved Session.'),
853
+ }), z.object({
854
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
855
+ 'create': z.object({
856
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
857
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
858
+ }).readonly().describe('Values used to create each Session.'),
859
+ })]).readonly().describe('Destination of the next delivery.'),
860
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
861
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
862
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
863
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
864
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
865
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
866
+ 'lastDelivery': z.object({
867
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
868
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
869
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
870
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
871
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
872
+ }), z.object({
873
+ 'kind': z.literal("rrule").readonly(),
874
+ 'id': z.string().readonly().describe('Host-generated canonical identity.'),
875
+ 'title': z.string().readonly().describe('Task name; already trimmed, non-empty, and at most 120 characters.'),
876
+ 'prompt': z.string().readonly().describe('Trimmed instruction sent when an occurrence becomes due.'),
877
+ 'rrule': z.string().readonly().describe('One normalized DTSTART line and one RRULE line.'),
878
+ 'scheduledAt': z.string().readonly().describe('Next unaccepted occurrence while active, or the final accepted occurrence when ended.'),
879
+ 'target': z.union([z.object({
880
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
881
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
882
+ }), z.object({
883
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
884
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
885
+ 'create': z.object({
886
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
887
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
888
+ }).readonly().describe('Values used to create the reserved Session.'),
889
+ }), z.object({
890
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
891
+ 'create': z.object({
892
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
893
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
894
+ }).readonly().describe('Values used to create each Session.'),
895
+ })]).readonly().describe('Destination of the next delivery.'),
896
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
897
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
898
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
899
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
900
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
901
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
902
+ 'lastDelivery': z.object({
903
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
904
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
905
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
906
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
907
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
908
+ }), z.object({
909
+ 'id': z.string().readonly().describe('Requested task identity.'),
910
+ 'code': z.literal("schedule_not_found").readonly().describe('Lookup miss discriminator.'),
911
+ }), z.object({
912
+ 'id': z.string().readonly(),
913
+ 'deleted': z.literal(true).readonly(),
914
+ }), z.object({
915
+ 'id': z.string().readonly().describe('Requested task identity.'),
916
+ 'code': z.literal("schedule_conflict").readonly().describe('Optimistic revision mismatch discriminator.'),
917
+ })]))
918
+ let _qilin_agent_schedule_schedule_history_parameter_0$schema$value
919
+ const _qilin_agent_schedule_schedule_history_parameter_0$schema = () => (_qilin_agent_schedule_schedule_history_parameter_0$schema$value ??= z.object({
920
+ 'id': z.string().readonly().describe('Task whose saved deliveries are read.'),
921
+ 'limit': z.number().readonly().describe('Required safe-integer page size from 1 through 100.'),
922
+ 'before': z.string().readonly().optional().describe('Message identity of the oldest entry in the previous page; excluded from this page.'),
923
+ }))
924
+ let _qilin_agent_schedule_schedule_history_result$schema$value
925
+ const _qilin_agent_schedule_schedule_history_result$schema = () => (_qilin_agent_schedule_schedule_history_result$schema$value ??= z.union([z.object({
926
+ 'id': z.string().readonly().describe('Task whose saved deliveries this page lists.'),
927
+ 'records': z.array(z.object({
928
+ 'prompt': z.string().readonly().optional().describe('Prompt sent for this occurrence; unavailable for legacy receipts.'),
929
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
930
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
931
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
932
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
933
+ })).readonly().describe('Saved deliveries, newest first.'),
934
+ 'earlierRecordsUnavailable': z.boolean().readonly().describe('Whether deliveries before the saved records may exist; the Host never reconstructs them.'),
935
+ 'earlierRecordsPruned': z.boolean().readonly().describe('Whether a retention limit removed saved records; legacy history without that fact is false.'),
936
+ 'retention': z.object({
937
+ 'days': z.number().readonly().describe('Retained window in days, measured back from the acknowledgment being appended.'),
938
+ 'records': z.number().readonly().describe('Maximum retained records per task; the newest survive.'),
939
+ }).readonly().describe('Current Host retention limits; the delivery writer applies the same limits.'),
940
+ 'nextBefore': z.string().readonly().optional().describe('Cursor for the next page; present only when older saved records remain.'),
941
+ }), z.object({
942
+ 'id': z.string().readonly().describe('Requested task identity.'),
943
+ 'code': z.union([z.literal("schedule_not_found"), z.literal("delivery_cursor_not_found")]).readonly().describe('`delivery_cursor_not_found` means `before` names no saved record of this task.'),
944
+ })]))
945
+ let _qilin_agent_schedule_schedule_list_parameter_0$schema$value
946
+ const _qilin_agent_schedule_schedule_list_parameter_0$schema = () => (_qilin_agent_schedule_schedule_list_parameter_0$schema$value ??= z.object({
947
+ 'active': z.boolean().readonly().optional().describe('`true` lists only active tasks; `false` lists only paused and ended tasks; omission lists all tasks.'),
948
+ 'limit': z.number().readonly().optional().describe('Page size from 1 through 500; the default is 100.'),
949
+ 'offset': z.number().readonly().optional().describe('Number of sorted tasks to skip; the default is 0.'),
950
+ }))
951
+ let _qilin_agent_schedule_schedule_list_result$schema$value
952
+ const _qilin_agent_schedule_schedule_list_result$schema = () => (_qilin_agent_schedule_schedule_list_result$schema$value ??= z.object({
953
+ 'items': z.array(z.union([z.object({
190
954
  'id': z.string().readonly().describe('Globally unique task identity.'),
191
955
  'kind': z.literal("after").readonly().describe('Rule discriminator for a delayed one-shot reminder.'),
192
956
  'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
193
957
  'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
194
958
  'afterSeconds': z.number().readonly().describe('Positive safe-integer delay accepted at creation.'),
195
959
  'scheduledAt': z.string().readonly().describe('Four-digit-year RFC 3339 UTC target.'),
960
+ 'target': z.union([z.object({
961
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
962
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
963
+ }), z.object({
964
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
965
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
966
+ 'create': z.object({
967
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
968
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
969
+ }).readonly().describe('Values used to create the reserved Session.'),
970
+ }), z.object({
971
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
972
+ 'create': z.object({
973
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
974
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
975
+ }).readonly().describe('Values used to create each Session.'),
976
+ })]).readonly().describe('Destination of the next delivery.'),
977
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
978
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
979
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
980
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
981
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
982
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
983
+ 'lastDelivery': z.object({
984
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
985
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
986
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
987
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
988
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
196
989
  }), z.object({
197
990
  'id': z.string().readonly().describe('Globally unique task identity.'),
198
991
  'kind': z.literal("at").readonly().describe('Rule discriminator for an absolute one-shot reminder.'),
199
992
  'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
200
993
  'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
201
994
  'scheduledAt': z.string().readonly().describe('Four-digit-year RFC 3339 UTC target.'),
995
+ 'target': z.union([z.object({
996
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
997
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
998
+ }), z.object({
999
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
1000
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
1001
+ 'create': z.object({
1002
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1003
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1004
+ }).readonly().describe('Values used to create the reserved Session.'),
1005
+ }), z.object({
1006
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
1007
+ 'create': z.object({
1008
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1009
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1010
+ }).readonly().describe('Values used to create each Session.'),
1011
+ })]).readonly().describe('Destination of the next delivery.'),
1012
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
1013
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
1014
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
1015
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
1016
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
1017
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
1018
+ 'lastDelivery': z.object({
1019
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
1020
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
1021
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
1022
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
1023
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
202
1024
  }), z.object({
203
1025
  'id': z.string().readonly().describe('Globally unique task identity.'),
204
1026
  'kind': z.literal("every").readonly().describe('Rule discriminator for a fixed-rate recurring reminder.'),
@@ -206,6 +1028,35 @@ const _qilin_agent_schedule_schedule_update_parameter_0$schema = () => (_qilin_a
206
1028
  'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
207
1029
  'everySeconds': z.number().readonly().describe('Fixed safe-integer interval, never below one minute.'),
208
1030
  'scheduledAt': z.string().readonly().describe('Next anchor-aligned occurrence while active, or final occurrence when inactive.'),
1031
+ 'target': z.union([z.object({
1032
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
1033
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
1034
+ }), z.object({
1035
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
1036
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
1037
+ 'create': z.object({
1038
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1039
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1040
+ }).readonly().describe('Values used to create the reserved Session.'),
1041
+ }), z.object({
1042
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
1043
+ 'create': z.object({
1044
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1045
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1046
+ }).readonly().describe('Values used to create each Session.'),
1047
+ })]).readonly().describe('Destination of the next delivery.'),
1048
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
1049
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
1050
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
1051
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
1052
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
1053
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
1054
+ 'lastDelivery': z.object({
1055
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
1056
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
1057
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
1058
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
1059
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
209
1060
  }), z.object({
210
1061
  'id': z.string().readonly().describe('Globally unique task identity.'),
211
1062
  'kind': z.literal("daily").readonly().describe('Rule discriminator for a daily wall-clock reminder.'),
@@ -214,6 +1065,35 @@ const _qilin_agent_schedule_schedule_update_parameter_0$schema = () => (_qilin_a
214
1065
  'time': z.string().readonly().describe('Local time normalized to HH:mm:ss.SSS.'),
215
1066
  'timeZone': z.string().readonly().describe('Explicit IANA zone; equivalent timing edits retain the stored spelling.'),
216
1067
  'scheduledAt': z.string().readonly().describe('Committed next UTC instant while active, or final occurrence when inactive.'),
1068
+ 'target': z.union([z.object({
1069
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
1070
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
1071
+ }), z.object({
1072
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
1073
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
1074
+ 'create': z.object({
1075
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1076
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1077
+ }).readonly().describe('Values used to create the reserved Session.'),
1078
+ }), z.object({
1079
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
1080
+ 'create': z.object({
1081
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1082
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1083
+ }).readonly().describe('Values used to create each Session.'),
1084
+ })]).readonly().describe('Destination of the next delivery.'),
1085
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
1086
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
1087
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
1088
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
1089
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
1090
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
1091
+ 'lastDelivery': z.object({
1092
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
1093
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
1094
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
1095
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
1096
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
217
1097
  }), z.object({
218
1098
  'id': z.string().readonly().describe('Globally unique task identity.'),
219
1099
  'kind': z.literal("weekly").readonly().describe('Rule discriminator for a weekly wall-clock reminder.'),
@@ -223,6 +1103,35 @@ const _qilin_agent_schedule_schedule_update_parameter_0$schema = () => (_qilin_a
223
1103
  'timeZone': z.string().readonly().describe('Explicit canonical IANA zone; equivalent timing edits retain the stored spelling.'),
224
1104
  'weekdays': z.array(z.number()).readonly().describe('Unique ascending ISO weekdays, Monday 1 through Sunday 7.'),
225
1105
  'scheduledAt': z.string().readonly().describe('Committed next UTC instant while active, or final occurrence when inactive.'),
1106
+ 'target': z.union([z.object({
1107
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
1108
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
1109
+ }), z.object({
1110
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
1111
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
1112
+ 'create': z.object({
1113
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1114
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1115
+ }).readonly().describe('Values used to create the reserved Session.'),
1116
+ }), z.object({
1117
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
1118
+ 'create': z.object({
1119
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1120
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1121
+ }).readonly().describe('Values used to create each Session.'),
1122
+ })]).readonly().describe('Destination of the next delivery.'),
1123
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
1124
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
1125
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
1126
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
1127
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
1128
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
1129
+ 'lastDelivery': z.object({
1130
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
1131
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
1132
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
1133
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
1134
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
226
1135
  }), z.object({
227
1136
  'id': z.string().readonly().describe('Globally unique task identity.'),
228
1137
  'kind': z.literal("cron").readonly().describe('Rule discriminator for a five-field cron wall-clock reminder.'),
@@ -231,59 +1140,153 @@ const _qilin_agent_schedule_schedule_update_parameter_0$schema = () => (_qilin_a
231
1140
  'expression': z.string().readonly().describe('Canonical five-field cron expression: minute hour day-of-month month day-of-week.'),
232
1141
  'timeZone': z.string().readonly().describe('Explicit IANA zone; equivalent timing edits retain the stored spelling.'),
233
1142
  'scheduledAt': z.string().readonly().describe('Committed next UTC instant while active, or final occurrence when inactive.'),
234
- })]).readonly().describe('Complete record observed when editing began, including the committed target.'),
235
- 'change': z.union([z.object({
236
- 'kind': z.literal("at").readonly(),
237
- 'at': z.union([z.string(), z.object({
238
- 'date': z.string().readonly().describe('Four-digit ISO calendar date.'),
239
- 'time': z.string().readonly().describe('Local wall-clock time with optional one-to-three digit milliseconds.'),
240
- 'time_zone': z.string().readonly().describe('Explicit UTC or IANA Area/Location zone.'),
241
- })]).readonly(),
1143
+ 'target': z.union([z.object({
1144
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
1145
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
242
1146
  }), z.object({
243
- 'kind': z.literal("every").readonly(),
244
- 'every_seconds': z.number().readonly(),
1147
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
1148
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
1149
+ 'create': z.object({
1150
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1151
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1152
+ }).readonly().describe('Values used to create the reserved Session.'),
245
1153
  }), z.object({
246
- 'kind': z.literal("daily").readonly(),
247
- 'daily': z.object({
248
- 'time': z.string().readonly().describe('Local HH:mm:ss time with optional one-to-three fractional digits.'),
249
- 'time_zone': z.string().readonly().describe('Explicit UTC or IANA Area/Location zone.'),
250
- }).readonly(),
1154
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
1155
+ 'create': z.object({
1156
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1157
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1158
+ }).readonly().describe('Values used to create each Session.'),
1159
+ })]).readonly().describe('Destination of the next delivery.'),
1160
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
1161
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
1162
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
1163
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
1164
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
1165
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
1166
+ 'lastDelivery': z.object({
1167
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
1168
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
1169
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
1170
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
1171
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
251
1172
  }), z.object({
252
- 'kind': z.literal("weekly").readonly(),
253
- 'weekly': z.object({
254
- 'time': z.string().readonly().describe('Local HH:mm:ss time with optional one-to-three fractional digits.'),
255
- 'time_zone': z.string().readonly().describe('Explicit UTC or IANA Area/Location zone.'),
256
- 'weekdays': z.array(z.number()).readonly().describe('Non-empty ISO weekday set, Monday 1 through Sunday 7, without repetitions.'),
257
- }).readonly(),
1173
+ 'kind': z.literal("rrule").readonly(),
1174
+ 'id': z.string().readonly().describe('Host-generated canonical identity.'),
1175
+ 'title': z.string().readonly().describe('Task name; already trimmed, non-empty, and at most 120 characters.'),
1176
+ 'prompt': z.string().readonly().describe('Trimmed instruction sent when an occurrence becomes due.'),
1177
+ 'rrule': z.string().readonly().describe('One normalized DTSTART line and one RRULE line.'),
1178
+ 'scheduledAt': z.string().readonly().describe('Next unaccepted occurrence while active, or the final accepted occurrence when ended.'),
1179
+ 'target': z.union([z.object({
1180
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
1181
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
258
1182
  }), z.object({
259
- 'kind': z.literal("cron").readonly(),
260
- 'cron': z.object({
261
- 'expression': z.string().readonly().describe('Five-field Vixie cron expression: minute hour day-of-month month day-of-week.'),
262
- 'time_zone': z.string().readonly().describe('Explicit UTC or IANA Area/Location zone.'),
263
- }).readonly(),
264
- })]).readonly().optional().describe('New timing; its kind may differ from the stored record\'s kind, and an omitted value keeps the committed target.'),
265
- 'id': z.string().describe('Task to remove.'),
266
- 'sessionId': z.string().describe('Original Session binding.'),
267
- 'title': z.string().readonly().optional().describe('Task name of at most 120 characters, non-empty after trimming; omitted keeps the stored name.'),
268
- 'prompt': z.string().readonly().optional().describe('Reminder instruction, non-empty after trimming; omitted keeps the stored instruction.'),
1183
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
1184
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
1185
+ 'create': z.object({
1186
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1187
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1188
+ }).readonly().describe('Values used to create the reserved Session.'),
1189
+ }), z.object({
1190
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
1191
+ 'create': z.object({
1192
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1193
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1194
+ }).readonly().describe('Values used to create each Session.'),
1195
+ })]).readonly().describe('Destination of the next delivery.'),
1196
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
1197
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
1198
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
1199
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
1200
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
1201
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
1202
+ 'lastDelivery': z.object({
1203
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
1204
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
1205
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
1206
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
1207
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
1208
+ })])).readonly().describe('Tasks in this page.'),
1209
+ 'shown': z.number().readonly().describe('Number of tasks in this page.'),
1210
+ 'total': z.number().readonly().describe('Number of tasks that match the filter.'),
1211
+ 'limit': z.number().readonly().describe('Applied page size.'),
1212
+ 'offset': z.number().readonly().describe('Applied offset.'),
269
1213
  }))
270
- let _qilin_agent_schedule_schedule_update_result$schema$value
271
- const _qilin_agent_schedule_schedule_update_result$schema = () => (_qilin_agent_schedule_schedule_update_result$schema$value ??= z.union([z.object({
272
- 'id': z.string().readonly(),
273
- 'updated': z.boolean().readonly(),
274
- 'record': z.union([z.object({
1214
+ let _qilin_agent_schedule_schedule_run_parameter_0$schema$value
1215
+ const _qilin_agent_schedule_schedule_run_parameter_0$schema = () => (_qilin_agent_schedule_schedule_run_parameter_0$schema$value ??= z.object({
1216
+ 'id': z.string().readonly().describe('Task to run now.'),
1217
+ }))
1218
+ let _qilin_agent_schedule_schedule_run_result$schema$value
1219
+ const _qilin_agent_schedule_schedule_run_result$schema = () => (_qilin_agent_schedule_schedule_run_result$schema$value ??= z.union([z.object({
275
1220
  'id': z.string().readonly().describe('Globally unique task identity.'),
276
1221
  'kind': z.literal("after").readonly().describe('Rule discriminator for a delayed one-shot reminder.'),
277
1222
  'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
278
1223
  'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
279
1224
  'afterSeconds': z.number().readonly().describe('Positive safe-integer delay accepted at creation.'),
280
1225
  'scheduledAt': z.string().readonly().describe('Four-digit-year RFC 3339 UTC target.'),
1226
+ 'target': z.union([z.object({
1227
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
1228
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
1229
+ }), z.object({
1230
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
1231
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
1232
+ 'create': z.object({
1233
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1234
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1235
+ }).readonly().describe('Values used to create the reserved Session.'),
1236
+ }), z.object({
1237
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
1238
+ 'create': z.object({
1239
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1240
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1241
+ }).readonly().describe('Values used to create each Session.'),
1242
+ })]).readonly().describe('Destination of the next delivery.'),
1243
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
1244
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
1245
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
1246
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
1247
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
1248
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
1249
+ 'lastDelivery': z.object({
1250
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
1251
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
1252
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
1253
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
1254
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
281
1255
  }), z.object({
282
1256
  'id': z.string().readonly().describe('Globally unique task identity.'),
283
1257
  'kind': z.literal("at").readonly().describe('Rule discriminator for an absolute one-shot reminder.'),
284
1258
  'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
285
1259
  'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
286
1260
  'scheduledAt': z.string().readonly().describe('Four-digit-year RFC 3339 UTC target.'),
1261
+ 'target': z.union([z.object({
1262
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
1263
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
1264
+ }), z.object({
1265
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
1266
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
1267
+ 'create': z.object({
1268
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1269
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1270
+ }).readonly().describe('Values used to create the reserved Session.'),
1271
+ }), z.object({
1272
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
1273
+ 'create': z.object({
1274
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1275
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1276
+ }).readonly().describe('Values used to create each Session.'),
1277
+ })]).readonly().describe('Destination of the next delivery.'),
1278
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
1279
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
1280
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
1281
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
1282
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
1283
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
1284
+ 'lastDelivery': z.object({
1285
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
1286
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
1287
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
1288
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
1289
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
287
1290
  }), z.object({
288
1291
  'id': z.string().readonly().describe('Globally unique task identity.'),
289
1292
  'kind': z.literal("every").readonly().describe('Rule discriminator for a fixed-rate recurring reminder.'),
@@ -291,6 +1294,35 @@ const _qilin_agent_schedule_schedule_update_result$schema = () => (_qilin_agent_
291
1294
  'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
292
1295
  'everySeconds': z.number().readonly().describe('Fixed safe-integer interval, never below one minute.'),
293
1296
  'scheduledAt': z.string().readonly().describe('Next anchor-aligned occurrence while active, or final occurrence when inactive.'),
1297
+ 'target': z.union([z.object({
1298
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
1299
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
1300
+ }), z.object({
1301
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
1302
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
1303
+ 'create': z.object({
1304
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1305
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1306
+ }).readonly().describe('Values used to create the reserved Session.'),
1307
+ }), z.object({
1308
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
1309
+ 'create': z.object({
1310
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1311
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1312
+ }).readonly().describe('Values used to create each Session.'),
1313
+ })]).readonly().describe('Destination of the next delivery.'),
1314
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
1315
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
1316
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
1317
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
1318
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
1319
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
1320
+ 'lastDelivery': z.object({
1321
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
1322
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
1323
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
1324
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
1325
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
294
1326
  }), z.object({
295
1327
  'id': z.string().readonly().describe('Globally unique task identity.'),
296
1328
  'kind': z.literal("daily").readonly().describe('Rule discriminator for a daily wall-clock reminder.'),
@@ -299,6 +1331,35 @@ const _qilin_agent_schedule_schedule_update_result$schema = () => (_qilin_agent_
299
1331
  'time': z.string().readonly().describe('Local time normalized to HH:mm:ss.SSS.'),
300
1332
  'timeZone': z.string().readonly().describe('Explicit IANA zone; equivalent timing edits retain the stored spelling.'),
301
1333
  'scheduledAt': z.string().readonly().describe('Committed next UTC instant while active, or final occurrence when inactive.'),
1334
+ 'target': z.union([z.object({
1335
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
1336
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
1337
+ }), z.object({
1338
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
1339
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
1340
+ 'create': z.object({
1341
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1342
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1343
+ }).readonly().describe('Values used to create the reserved Session.'),
1344
+ }), z.object({
1345
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
1346
+ 'create': z.object({
1347
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1348
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1349
+ }).readonly().describe('Values used to create each Session.'),
1350
+ })]).readonly().describe('Destination of the next delivery.'),
1351
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
1352
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
1353
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
1354
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
1355
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
1356
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
1357
+ 'lastDelivery': z.object({
1358
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
1359
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
1360
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
1361
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
1362
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
302
1363
  }), z.object({
303
1364
  'id': z.string().readonly().describe('Globally unique task identity.'),
304
1365
  'kind': z.literal("weekly").readonly().describe('Rule discriminator for a weekly wall-clock reminder.'),
@@ -308,6 +1369,35 @@ const _qilin_agent_schedule_schedule_update_result$schema = () => (_qilin_agent_
308
1369
  'timeZone': z.string().readonly().describe('Explicit canonical IANA zone; equivalent timing edits retain the stored spelling.'),
309
1370
  'weekdays': z.array(z.number()).readonly().describe('Unique ascending ISO weekdays, Monday 1 through Sunday 7.'),
310
1371
  'scheduledAt': z.string().readonly().describe('Committed next UTC instant while active, or final occurrence when inactive.'),
1372
+ 'target': z.union([z.object({
1373
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
1374
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
1375
+ }), z.object({
1376
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
1377
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
1378
+ 'create': z.object({
1379
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1380
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1381
+ }).readonly().describe('Values used to create the reserved Session.'),
1382
+ }), z.object({
1383
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
1384
+ 'create': z.object({
1385
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1386
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1387
+ }).readonly().describe('Values used to create each Session.'),
1388
+ })]).readonly().describe('Destination of the next delivery.'),
1389
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
1390
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
1391
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
1392
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
1393
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
1394
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
1395
+ 'lastDelivery': z.object({
1396
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
1397
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
1398
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
1399
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
1400
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
311
1401
  }), z.object({
312
1402
  'id': z.string().readonly().describe('Globally unique task identity.'),
313
1403
  'kind': z.literal("cron").readonly().describe('Rule discriminator for a five-field cron wall-clock reminder.'),
@@ -316,78 +1406,191 @@ const _qilin_agent_schedule_schedule_update_result$schema = () => (_qilin_agent_
316
1406
  'expression': z.string().readonly().describe('Canonical five-field cron expression: minute hour day-of-month month day-of-week.'),
317
1407
  'timeZone': z.string().readonly().describe('Explicit IANA zone; equivalent timing edits retain the stored spelling.'),
318
1408
  'scheduledAt': z.string().readonly().describe('Committed next UTC instant while active, or final occurrence when inactive.'),
319
- })]).readonly(),
320
- }), z.object({
321
- 'id': z.string().readonly(),
322
- 'updated': z.literal(false).readonly(),
323
- 'code': z.union([z.literal("schedule_not_found"), z.literal("schedule_ended"), z.literal("schedule_conflict")]).readonly(),
324
- }), z.object({
325
- 'code': z.literal("invalid_prompt").readonly(),
326
- 'message': z.string().readonly(),
1409
+ 'target': z.union([z.object({
1410
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
1411
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
327
1412
  }), z.object({
328
- 'code': z.literal("invalid_selector").readonly(),
329
- 'message': z.string().readonly(),
1413
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
1414
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
1415
+ 'create': z.object({
1416
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1417
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1418
+ }).readonly().describe('Values used to create the reserved Session.'),
330
1419
  }), z.object({
331
- 'code': z.literal("invalid_rule").readonly(),
332
- 'message': z.string().readonly(),
333
- }), z.object({
334
- 'code': z.literal("invalid_time_zone").readonly(),
335
- 'message': z.string().readonly(),
1420
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
1421
+ 'create': z.object({
1422
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1423
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1424
+ }).readonly().describe('Values used to create each Session.'),
1425
+ })]).readonly().describe('Destination of the next delivery.'),
1426
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
1427
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
1428
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
1429
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
1430
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
1431
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
1432
+ 'lastDelivery': z.object({
1433
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
1434
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
1435
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
1436
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
1437
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
336
1438
  }), z.object({
337
- 'code': z.literal("not_future").readonly(),
338
- 'message': z.string().readonly(),
1439
+ 'kind': z.literal("rrule").readonly(),
1440
+ 'id': z.string().readonly().describe('Host-generated canonical identity.'),
1441
+ 'title': z.string().readonly().describe('Task name; already trimmed, non-empty, and at most 120 characters.'),
1442
+ 'prompt': z.string().readonly().describe('Trimmed instruction sent when an occurrence becomes due.'),
1443
+ 'rrule': z.string().readonly().describe('One normalized DTSTART line and one RRULE line.'),
1444
+ 'scheduledAt': z.string().readonly().describe('Next unaccepted occurrence while active, or the final accepted occurrence when ended.'),
1445
+ 'target': z.union([z.object({
1446
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
1447
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
339
1448
  }), z.object({
340
- 'code': z.literal("time_out_of_range").readonly(),
341
- 'message': z.string().readonly(),
1449
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
1450
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
1451
+ 'create': z.object({
1452
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1453
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1454
+ }).readonly().describe('Values used to create the reserved Session.'),
342
1455
  }), z.object({
343
- 'code': z.literal("frequency_too_high").readonly(),
344
- 'message': z.string().readonly(),
1456
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
1457
+ 'create': z.object({
1458
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1459
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1460
+ }).readonly().describe('Values used to create each Session.'),
1461
+ })]).readonly().describe('Destination of the next delivery.'),
1462
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
1463
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
1464
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
1465
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
1466
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
1467
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
1468
+ 'lastDelivery': z.object({
1469
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
1470
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
1471
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
1472
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
1473
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
345
1474
  }), z.object({
346
- 'code': z.literal("subagent_session").readonly(),
347
- 'message': z.string().readonly(),
1475
+ 'id': z.string().readonly().describe('Requested task identity.'),
1476
+ 'code': z.literal("schedule_not_found").readonly().describe('Lookup miss discriminator.'),
348
1477
  }), z.object({
349
- 'code': z.literal("internal_error").readonly(),
350
- 'message': z.string().readonly(),
1478
+ 'id': z.string().readonly().describe('Requested task identity.'),
1479
+ 'code': z.literal("schedule_execution_pending").readonly().describe('Consolidated execution discriminator.'),
351
1480
  })]))
352
- let _qilin_agent_schedule_schedule_delete_parameter_0_strict$schema$value
353
- const _qilin_agent_schedule_schedule_delete_parameter_0_strict$schema = () => (_qilin_agent_schedule_schedule_delete_parameter_0_strict$schema$value ??= z.strictObject({
354
- 'id': z.string().describe('Task to remove.'),
355
- 'sessionId': z.string().describe('Original Session binding.'),
356
- }))
357
- let _qilin_agent_schedule_schedule_history_parameter_0_strict$schema$value
358
- const _qilin_agent_schedule_schedule_history_parameter_0_strict$schema = () => (_qilin_agent_schedule_schedule_history_parameter_0_strict$schema$value ??= z.strictObject({
359
- 'limit': z.number().describe('Required safe-integer page size from 1 through 100.'),
360
- 'before': z.string().optional().describe('Message identity of the oldest entry in the previous page; excluded from this page.'),
361
- 'id': z.string().describe('Task to remove.'),
362
- 'sessionId': z.string().describe('Original Session binding.'),
363
- }))
364
- let _qilin_agent_schedule_schedule_list_parameter_0_strict$schema$value
365
- const _qilin_agent_schedule_schedule_list_parameter_0_strict$schema = () => (_qilin_agent_schedule_schedule_list_parameter_0_strict$schema$value ??= z.strictObject({
366
- 'sessionId': z.string().describe('Original Session binding.'),
1481
+ let _qilin_agent_schedule_schedule_view_parameter_0$schema$value
1482
+ const _qilin_agent_schedule_schedule_view_parameter_0$schema = () => (_qilin_agent_schedule_schedule_view_parameter_0$schema$value ??= z.object({
1483
+ 'id': z.string().readonly().describe('Task to read.'),
367
1484
  }))
368
- let _qilin_agent_schedule_schedule_update_parameter_0_strict$schema$value
369
- const _qilin_agent_schedule_schedule_update_parameter_0_strict$schema = () => (_qilin_agent_schedule_schedule_update_parameter_0_strict$schema$value ??= z.strictObject({
370
- 'expected': z.union([z.strictObject({
1485
+ let _qilin_agent_schedule_schedule_view_result$schema$value
1486
+ const _qilin_agent_schedule_schedule_view_result$schema = () => (_qilin_agent_schedule_schedule_view_result$schema$value ??= z.union([z.object({
371
1487
  'id': z.string().readonly().describe('Globally unique task identity.'),
372
1488
  'kind': z.literal("after").readonly().describe('Rule discriminator for a delayed one-shot reminder.'),
373
1489
  'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
374
1490
  'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
375
1491
  'afterSeconds': z.number().readonly().describe('Positive safe-integer delay accepted at creation.'),
376
1492
  'scheduledAt': z.string().readonly().describe('Four-digit-year RFC 3339 UTC target.'),
377
- }), z.strictObject({
1493
+ 'target': z.union([z.object({
1494
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
1495
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
1496
+ }), z.object({
1497
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
1498
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
1499
+ 'create': z.object({
1500
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1501
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1502
+ }).readonly().describe('Values used to create the reserved Session.'),
1503
+ }), z.object({
1504
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
1505
+ 'create': z.object({
1506
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1507
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1508
+ }).readonly().describe('Values used to create each Session.'),
1509
+ })]).readonly().describe('Destination of the next delivery.'),
1510
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
1511
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
1512
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
1513
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
1514
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
1515
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
1516
+ 'lastDelivery': z.object({
1517
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
1518
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
1519
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
1520
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
1521
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
1522
+ }), z.object({
378
1523
  'id': z.string().readonly().describe('Globally unique task identity.'),
379
1524
  'kind': z.literal("at").readonly().describe('Rule discriminator for an absolute one-shot reminder.'),
380
1525
  'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
381
1526
  'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
382
1527
  'scheduledAt': z.string().readonly().describe('Four-digit-year RFC 3339 UTC target.'),
383
- }), z.strictObject({
1528
+ 'target': z.union([z.object({
1529
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
1530
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
1531
+ }), z.object({
1532
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
1533
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
1534
+ 'create': z.object({
1535
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1536
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1537
+ }).readonly().describe('Values used to create the reserved Session.'),
1538
+ }), z.object({
1539
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
1540
+ 'create': z.object({
1541
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1542
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1543
+ }).readonly().describe('Values used to create each Session.'),
1544
+ })]).readonly().describe('Destination of the next delivery.'),
1545
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
1546
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
1547
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
1548
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
1549
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
1550
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
1551
+ 'lastDelivery': z.object({
1552
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
1553
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
1554
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
1555
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
1556
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
1557
+ }), z.object({
384
1558
  'id': z.string().readonly().describe('Globally unique task identity.'),
385
1559
  'kind': z.literal("every").readonly().describe('Rule discriminator for a fixed-rate recurring reminder.'),
386
1560
  'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
387
1561
  'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
388
1562
  'everySeconds': z.number().readonly().describe('Fixed safe-integer interval, never below one minute.'),
389
1563
  'scheduledAt': z.string().readonly().describe('Next anchor-aligned occurrence while active, or final occurrence when inactive.'),
390
- }), z.strictObject({
1564
+ 'target': z.union([z.object({
1565
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
1566
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
1567
+ }), z.object({
1568
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
1569
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
1570
+ 'create': z.object({
1571
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1572
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1573
+ }).readonly().describe('Values used to create the reserved Session.'),
1574
+ }), z.object({
1575
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
1576
+ 'create': z.object({
1577
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1578
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1579
+ }).readonly().describe('Values used to create each Session.'),
1580
+ })]).readonly().describe('Destination of the next delivery.'),
1581
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
1582
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
1583
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
1584
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
1585
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
1586
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
1587
+ 'lastDelivery': z.object({
1588
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
1589
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
1590
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
1591
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
1592
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
1593
+ }), z.object({
391
1594
  'id': z.string().readonly().describe('Globally unique task identity.'),
392
1595
  'kind': z.literal("daily").readonly().describe('Rule discriminator for a daily wall-clock reminder.'),
393
1596
  'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
@@ -395,7 +1598,36 @@ const _qilin_agent_schedule_schedule_update_parameter_0_strict$schema = () => (_
395
1598
  'time': z.string().readonly().describe('Local time normalized to HH:mm:ss.SSS.'),
396
1599
  'timeZone': z.string().readonly().describe('Explicit IANA zone; equivalent timing edits retain the stored spelling.'),
397
1600
  'scheduledAt': z.string().readonly().describe('Committed next UTC instant while active, or final occurrence when inactive.'),
398
- }), z.strictObject({
1601
+ 'target': z.union([z.object({
1602
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
1603
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
1604
+ }), z.object({
1605
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
1606
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
1607
+ 'create': z.object({
1608
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1609
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1610
+ }).readonly().describe('Values used to create the reserved Session.'),
1611
+ }), z.object({
1612
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
1613
+ 'create': z.object({
1614
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1615
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1616
+ }).readonly().describe('Values used to create each Session.'),
1617
+ })]).readonly().describe('Destination of the next delivery.'),
1618
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
1619
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
1620
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
1621
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
1622
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
1623
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
1624
+ 'lastDelivery': z.object({
1625
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
1626
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
1627
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
1628
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
1629
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
1630
+ }), z.object({
399
1631
  'id': z.string().readonly().describe('Globally unique task identity.'),
400
1632
  'kind': z.literal("weekly").readonly().describe('Rule discriminator for a weekly wall-clock reminder.'),
401
1633
  'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
@@ -404,7 +1636,36 @@ const _qilin_agent_schedule_schedule_update_parameter_0_strict$schema = () => (_
404
1636
  'timeZone': z.string().readonly().describe('Explicit canonical IANA zone; equivalent timing edits retain the stored spelling.'),
405
1637
  'weekdays': z.array(z.number()).readonly().describe('Unique ascending ISO weekdays, Monday 1 through Sunday 7.'),
406
1638
  'scheduledAt': z.string().readonly().describe('Committed next UTC instant while active, or final occurrence when inactive.'),
407
- }), z.strictObject({
1639
+ 'target': z.union([z.object({
1640
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
1641
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
1642
+ }), z.object({
1643
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
1644
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
1645
+ 'create': z.object({
1646
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1647
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1648
+ }).readonly().describe('Values used to create the reserved Session.'),
1649
+ }), z.object({
1650
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
1651
+ 'create': z.object({
1652
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1653
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1654
+ }).readonly().describe('Values used to create each Session.'),
1655
+ })]).readonly().describe('Destination of the next delivery.'),
1656
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
1657
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
1658
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
1659
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
1660
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
1661
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
1662
+ 'lastDelivery': z.object({
1663
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
1664
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
1665
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
1666
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
1667
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
1668
+ }), z.object({
408
1669
  'id': z.string().readonly().describe('Globally unique task identity.'),
409
1670
  'kind': z.literal("cron").readonly().describe('Rule discriminator for a five-field cron wall-clock reminder.'),
410
1671
  'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
@@ -412,8 +1673,143 @@ const _qilin_agent_schedule_schedule_update_parameter_0_strict$schema = () => (_
412
1673
  'expression': z.string().readonly().describe('Canonical five-field cron expression: minute hour day-of-month month day-of-week.'),
413
1674
  'timeZone': z.string().readonly().describe('Explicit IANA zone; equivalent timing edits retain the stored spelling.'),
414
1675
  'scheduledAt': z.string().readonly().describe('Committed next UTC instant while active, or final occurrence when inactive.'),
415
- })]).readonly().describe('Complete record observed when editing began, including the committed target.'),
416
- 'change': z.union([z.strictObject({
1676
+ 'target': z.union([z.object({
1677
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
1678
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
1679
+ }), z.object({
1680
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
1681
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
1682
+ 'create': z.object({
1683
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1684
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1685
+ }).readonly().describe('Values used to create the reserved Session.'),
1686
+ }), z.object({
1687
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
1688
+ 'create': z.object({
1689
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1690
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1691
+ }).readonly().describe('Values used to create each Session.'),
1692
+ })]).readonly().describe('Destination of the next delivery.'),
1693
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
1694
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
1695
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
1696
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
1697
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
1698
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
1699
+ 'lastDelivery': z.object({
1700
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
1701
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
1702
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
1703
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
1704
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
1705
+ }), z.object({
1706
+ 'kind': z.literal("rrule").readonly(),
1707
+ 'id': z.string().readonly().describe('Host-generated canonical identity.'),
1708
+ 'title': z.string().readonly().describe('Task name; already trimmed, non-empty, and at most 120 characters.'),
1709
+ 'prompt': z.string().readonly().describe('Trimmed instruction sent when an occurrence becomes due.'),
1710
+ 'rrule': z.string().readonly().describe('One normalized DTSTART line and one RRULE line.'),
1711
+ 'scheduledAt': z.string().readonly().describe('Next unaccepted occurrence while active, or the final accepted occurrence when ended.'),
1712
+ 'target': z.union([z.object({
1713
+ 'kind': z.literal("session").readonly().describe('Every occurrence goes to one existing Session.'),
1714
+ 'sessionId': z.string().readonly().describe('Session that receives each delivery.'),
1715
+ }), z.object({
1716
+ 'kind': z.literal("new_once").readonly().describe('The first delivery creates one Session; later deliveries go to that Session.'),
1717
+ 'sessionId': z.string().readonly().describe('Reserved at creation; the first delivery creates it and the target becomes `session`.'),
1718
+ 'create': z.object({
1719
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1720
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1721
+ }).readonly().describe('Values used to create the reserved Session.'),
1722
+ }), z.object({
1723
+ 'kind': z.literal("new").readonly().describe('Every delivery creates a fresh Session.'),
1724
+ 'create': z.object({
1725
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1726
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1727
+ }).readonly().describe('Values used to create each Session.'),
1728
+ })]).readonly().describe('Destination of the next delivery.'),
1729
+ 'involvedSessionIds': z.array(z.string()).readonly().describe('Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded.'),
1730
+ 'status': z.union([z.literal("active"), z.literal("paused"), z.literal("ended")]).readonly().describe('Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible.'),
1731
+ 'createdAt': z.string().readonly().optional().describe('Canonical UTC creation time.'),
1732
+ 'updatedAt': z.string().readonly().optional().describe('Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`.'),
1733
+ 'executionActive': z.literal(true).readonly().optional().describe('The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it.'),
1734
+ 'deliveryFloorEndsAt': z.string().readonly().optional().describe('End of the minimum delivery interval, present while it remains in the future.'),
1735
+ 'lastDelivery': z.object({
1736
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
1737
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
1738
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
1739
+ 'targetSessionId': z.string().readonly().describe('Session that durably accepted the delivered message.'),
1740
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
1741
+ }), z.object({
1742
+ 'id': z.string().readonly().describe('Requested task identity.'),
1743
+ 'code': z.literal("schedule_not_found").readonly().describe('Lookup miss discriminator.'),
1744
+ })]))
1745
+ let _qilin_agent_schedule_schedule_create_parameter_0_strict$schema$value
1746
+ const _qilin_agent_schedule_schedule_create_parameter_0_strict$schema = () => (_qilin_agent_schedule_schedule_create_parameter_0_strict$schema$value ??= z.strictObject({
1747
+ 'title': z.string().readonly().describe('Task name of at most 120 characters, non-empty after trimming.'),
1748
+ 'prompt': z.string().readonly().describe('Instruction sent at each occurrence; non-empty after trimming.'),
1749
+ 'timing': z.union([z.strictObject({
1750
+ 'kind': z.literal("after").readonly(),
1751
+ 'after_seconds': z.number().readonly(),
1752
+ }), z.strictObject({
1753
+ 'kind': z.literal("at").readonly(),
1754
+ 'at': z.union([z.string(), z.strictObject({
1755
+ 'date': z.string().readonly().describe('Four-digit ISO calendar date.'),
1756
+ 'time': z.string().readonly().describe('Local wall-clock time with optional one-to-three digit milliseconds.'),
1757
+ 'time_zone': z.string().readonly().describe('Explicit UTC or IANA Area/Location zone.'),
1758
+ })]).readonly(),
1759
+ }), z.strictObject({
1760
+ 'kind': z.literal("every").readonly(),
1761
+ 'every_seconds': z.number().readonly(),
1762
+ }), z.strictObject({
1763
+ 'kind': z.literal("daily").readonly(),
1764
+ 'daily': z.strictObject({
1765
+ 'time': z.string().readonly().describe('Local HH:mm:ss time with optional one-to-three fractional digits.'),
1766
+ 'time_zone': z.string().readonly().describe('Explicit UTC or IANA Area/Location zone.'),
1767
+ }).readonly(),
1768
+ }), z.strictObject({
1769
+ 'kind': z.literal("weekly").readonly(),
1770
+ 'weekly': z.strictObject({
1771
+ 'time': z.string().readonly().describe('Local HH:mm:ss time with optional one-to-three fractional digits.'),
1772
+ 'time_zone': z.string().readonly().describe('Explicit UTC or IANA Area/Location zone.'),
1773
+ 'weekdays': z.array(z.number()).readonly().describe('Non-empty ISO weekday set, Monday 1 through Sunday 7, without repetitions.'),
1774
+ }).readonly(),
1775
+ }), z.strictObject({
1776
+ 'kind': z.literal("cron").readonly(),
1777
+ 'cron': z.strictObject({
1778
+ 'expression': z.string().readonly().describe('Five-field Vixie cron expression: minute hour day-of-month month day-of-week.'),
1779
+ 'time_zone': z.string().readonly().describe('Explicit UTC or IANA Area/Location zone.'),
1780
+ }).readonly(),
1781
+ }), z.strictObject({
1782
+ 'kind': z.literal("rrule").readonly(),
1783
+ 'rrule': z.string().readonly(),
1784
+ })]).readonly().describe('Authoritative typed timing with at least one future occurrence.'),
1785
+ 'target': z.union([z.strictObject({
1786
+ 'kind': z.literal("session").readonly().describe('Deliver to one existing Session that is not a delegated child.'),
1787
+ 'sessionId': z.string().readonly().describe('Existing Session that receives each delivery.'),
1788
+ }), z.strictObject({
1789
+ 'kind': z.literal("new_once").readonly().describe('Create one Session at the first delivery.'),
1790
+ 'create': z.strictObject({
1791
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1792
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1793
+ }).readonly().optional().describe('Creation values; omission uses the Host defaults.'),
1794
+ }), z.strictObject({
1795
+ 'kind': z.literal("new").readonly().describe('Create a fresh Session at each delivery.'),
1796
+ 'create': z.strictObject({
1797
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1798
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1799
+ }).readonly().optional().describe('Creation values; omission uses the Host defaults.'),
1800
+ })]).readonly().optional().describe('Delivery destination; omission creates one Session at first delivery and reuses it.'),
1801
+ }))
1802
+ let _qilin_agent_schedule_schedule_edit_parameter_0_strict$schema$value
1803
+ const _qilin_agent_schedule_schedule_edit_parameter_0_strict$schema = () => (_qilin_agent_schedule_schedule_edit_parameter_0_strict$schema$value ??= z.union([z.strictObject({
1804
+ 'id': z.string().readonly().describe('Task to change.'),
1805
+ 'action': z.literal("update").readonly().describe('Apply `patch` as one atomic change.'),
1806
+ 'patch': z.strictObject({
1807
+ 'title': z.string().readonly().optional().describe('Replacement task name.'),
1808
+ 'prompt': z.string().readonly().optional().describe('Replacement instruction.'),
1809
+ 'timing': z.union([z.strictObject({
1810
+ 'kind': z.literal("after").readonly(),
1811
+ 'after_seconds': z.number().readonly(),
1812
+ }), z.strictObject({
417
1813
  'kind': z.literal("at").readonly(),
418
1814
  'at': z.union([z.string(), z.strictObject({
419
1815
  'date': z.string().readonly().describe('Four-digit ISO calendar date.'),
@@ -442,11 +1838,53 @@ const _qilin_agent_schedule_schedule_update_parameter_0_strict$schema = () => (_
442
1838
  'expression': z.string().readonly().describe('Five-field Vixie cron expression: minute hour day-of-month month day-of-week.'),
443
1839
  'time_zone': z.string().readonly().describe('Explicit UTC or IANA Area/Location zone.'),
444
1840
  }).readonly(),
445
- })]).readonly().optional().describe('New timing; its kind may differ from the stored record\'s kind, and an omitted value keeps the committed target.'),
446
- 'id': z.string().describe('Task to remove.'),
447
- 'sessionId': z.string().describe('Original Session binding.'),
448
- 'title': z.string().readonly().optional().describe('Task name of at most 120 characters, non-empty after trimming; omitted keeps the stored name.'),
449
- 'prompt': z.string().readonly().optional().describe('Reminder instruction, non-empty after trimming; omitted keeps the stored instruction.'),
1841
+ }), z.strictObject({
1842
+ 'kind': z.literal("rrule").readonly(),
1843
+ 'rrule': z.string().readonly(),
1844
+ })]).readonly().optional().describe('Replacement timing; a changed rule recomputes the next occurrence.'),
1845
+ 'target': z.union([z.strictObject({
1846
+ 'kind': z.literal("session").readonly().describe('Deliver to one existing Session that is not a delegated child.'),
1847
+ 'sessionId': z.string().readonly().describe('Existing Session that receives each delivery.'),
1848
+ }), z.strictObject({
1849
+ 'kind': z.literal("new_once").readonly().describe('Create one Session at the first delivery.'),
1850
+ 'create': z.strictObject({
1851
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1852
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1853
+ }).readonly().optional().describe('Creation values; omission uses the Host defaults.'),
1854
+ }), z.strictObject({
1855
+ 'kind': z.literal("new").readonly().describe('Create a fresh Session at each delivery.'),
1856
+ 'create': z.strictObject({
1857
+ 'cwd': z.string().readonly().optional().describe('Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory.'),
1858
+ 'agentPreset': z.string().readonly().optional().describe('Agent preset of the created Session; omission uses the default preset.'),
1859
+ }).readonly().optional().describe('Creation values; omission uses the Host defaults.'),
1860
+ })]).readonly().optional().describe('Replacement destination.'),
1861
+ 'active': z.boolean().readonly().optional().describe('`false` pauses the task; `true` resumes a recurrence from its first future occurrence.'),
1862
+ }).readonly().describe('Fields to change; at least one member is required.'),
1863
+ 'expectedUpdatedAt': z.union([z.literal(null), z.string()]).readonly().optional().describe('`updatedAt` value that the editor read; a different stored value returns `schedule_conflict`.'),
1864
+ }), z.strictObject({
1865
+ 'id': z.string().readonly().describe('Task to remove.'),
1866
+ 'action': z.literal("delete").readonly().describe('Remove the task and its saved deliveries.'),
1867
+ 'expectedUpdatedAt': z.union([z.literal(null), z.string()]).readonly().optional().describe('`updatedAt` value that the editor read; a different stored value returns `schedule_conflict`.'),
1868
+ })]))
1869
+ let _qilin_agent_schedule_schedule_history_parameter_0_strict$schema$value
1870
+ const _qilin_agent_schedule_schedule_history_parameter_0_strict$schema = () => (_qilin_agent_schedule_schedule_history_parameter_0_strict$schema$value ??= z.strictObject({
1871
+ 'id': z.string().readonly().describe('Task whose saved deliveries are read.'),
1872
+ 'limit': z.number().readonly().describe('Required safe-integer page size from 1 through 100.'),
1873
+ 'before': z.string().readonly().optional().describe('Message identity of the oldest entry in the previous page; excluded from this page.'),
1874
+ }))
1875
+ let _qilin_agent_schedule_schedule_list_parameter_0_strict$schema$value
1876
+ const _qilin_agent_schedule_schedule_list_parameter_0_strict$schema = () => (_qilin_agent_schedule_schedule_list_parameter_0_strict$schema$value ??= z.strictObject({
1877
+ 'active': z.boolean().readonly().optional().describe('`true` lists only active tasks; `false` lists only paused and ended tasks; omission lists all tasks.'),
1878
+ 'limit': z.number().readonly().optional().describe('Page size from 1 through 500; the default is 100.'),
1879
+ 'offset': z.number().readonly().optional().describe('Number of sorted tasks to skip; the default is 0.'),
1880
+ }))
1881
+ let _qilin_agent_schedule_schedule_run_parameter_0_strict$schema$value
1882
+ const _qilin_agent_schedule_schedule_run_parameter_0_strict$schema = () => (_qilin_agent_schedule_schedule_run_parameter_0_strict$schema$value ??= z.strictObject({
1883
+ 'id': z.string().readonly().describe('Task to run now.'),
1884
+ }))
1885
+ let _qilin_agent_schedule_schedule_view_parameter_0_strict$schema$value
1886
+ const _qilin_agent_schedule_schedule_view_parameter_0_strict$schema = () => (_qilin_agent_schedule_schedule_view_parameter_0_strict$schema$value ??= z.strictObject({
1887
+ 'id': z.string().readonly().describe('Task to read.'),
450
1888
  }))
451
1889
 
452
1890
  export const TYPERT_REMOTE = createTypertRemoteInfo({
@@ -454,7 +1892,7 @@ export const TYPERT_REMOTE = createTypertRemoteInfo({
454
1892
  methods: {
455
1893
  'schedule/catalog': {
456
1894
  service: 'schedule',
457
- description: 'Read all active and inactive Host reminders with their original Session bindings. A deleted reminder has no row, so it is absent here. Does not activate Sessions or read Session history.',
1895
+ description: 'Read every Host task without a page bound or Session activation.',
458
1896
  invocation: { kind: 'direct' },
459
1897
  parameters: [
460
1898
  ],
@@ -462,64 +1900,130 @@ export const TYPERT_REMOTE = createTypertRemoteInfo({
462
1900
  mode: 'strict',
463
1901
  typeSymbol: '@qilin-agent/schedule#schedule/catalog:result',
464
1902
  create: _qilin_agent_schedule_schedule_catalog_result$schema,
465
- description: 'Reminders ordered by scheduledAt ascending, then lexicographically by id.',
466
- jsonSchema: {"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"after","description":"Rule discriminator for a delayed one-shot reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"afterSeconds":{"type":"number","description":"Positive safe-integer delay accepted at creation."},"scheduledAt":{"type":"string","description":"Four-digit-year RFC 3339 UTC target."},"sessionId":{"type":"string","description":"Session receiving this reminder when it becomes due."},"status":{"type":"string","enum":["active","inactive"],"description":"Inactive reminders remain visible but never schedule another delivery."},"lastDelivery":{"type":"object","properties":{"scheduledAt":{"type":"string","description":"Canonical UTC target of the delivered occurrence."},"deliveredAt":{"type":"string","description":"Canonical UTC time sampled after Session persistence acknowledged delivery."},"messageId":{"type":"string","description":"Identity of the delivered message, shared by tasks in one recurring batch."}},"required":["scheduledAt","deliveredAt","messageId"],"additionalProperties":true,"description":"Most recent durably acknowledged inbox delivery, when available."}},"required":["id","kind","title","prompt","afterSeconds","scheduledAt","sessionId","status"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"at","description":"Rule discriminator for an absolute one-shot reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"scheduledAt":{"type":"string","description":"Four-digit-year RFC 3339 UTC target."},"sessionId":{"type":"string","description":"Session receiving this reminder when it becomes due."},"status":{"type":"string","enum":["active","inactive"],"description":"Inactive reminders remain visible but never schedule another delivery."},"lastDelivery":{"type":"object","properties":{"scheduledAt":{"type":"string","description":"Canonical UTC target of the delivered occurrence."},"deliveredAt":{"type":"string","description":"Canonical UTC time sampled after Session persistence acknowledged delivery."},"messageId":{"type":"string","description":"Identity of the delivered message, shared by tasks in one recurring batch."}},"required":["scheduledAt","deliveredAt","messageId"],"additionalProperties":true,"description":"Most recent durably acknowledged inbox delivery, when available."}},"required":["id","kind","title","prompt","scheduledAt","sessionId","status"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"every","description":"Rule discriminator for a fixed-rate recurring reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"everySeconds":{"type":"number","description":"Fixed safe-integer interval, never below one minute."},"scheduledAt":{"type":"string","description":"Next anchor-aligned occurrence while active, or final occurrence when inactive."},"sessionId":{"type":"string","description":"Session receiving this reminder when it becomes due."},"status":{"type":"string","enum":["active","inactive"],"description":"Inactive reminders remain visible but never schedule another delivery."},"lastDelivery":{"type":"object","properties":{"scheduledAt":{"type":"string","description":"Canonical UTC target of the delivered occurrence."},"deliveredAt":{"type":"string","description":"Canonical UTC time sampled after Session persistence acknowledged delivery."},"messageId":{"type":"string","description":"Identity of the delivered message, shared by tasks in one recurring batch."}},"required":["scheduledAt","deliveredAt","messageId"],"additionalProperties":true,"description":"Most recent durably acknowledged inbox delivery, when available."}},"required":["id","kind","title","prompt","everySeconds","scheduledAt","sessionId","status"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"daily","description":"Rule discriminator for a daily wall-clock reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"time":{"type":"string","description":"Local time normalized to HH:mm:ss.SSS."},"timeZone":{"type":"string","description":"Explicit IANA zone; equivalent timing edits retain the stored spelling."},"scheduledAt":{"type":"string","description":"Committed next UTC instant while active, or final occurrence when inactive."},"sessionId":{"type":"string","description":"Session receiving this reminder when it becomes due."},"status":{"type":"string","enum":["active","inactive"],"description":"Inactive reminders remain visible but never schedule another delivery."},"lastDelivery":{"type":"object","properties":{"scheduledAt":{"type":"string","description":"Canonical UTC target of the delivered occurrence."},"deliveredAt":{"type":"string","description":"Canonical UTC time sampled after Session persistence acknowledged delivery."},"messageId":{"type":"string","description":"Identity of the delivered message, shared by tasks in one recurring batch."}},"required":["scheduledAt","deliveredAt","messageId"],"additionalProperties":true,"description":"Most recent durably acknowledged inbox delivery, when available."}},"required":["id","kind","title","prompt","time","timeZone","scheduledAt","sessionId","status"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"weekly","description":"Rule discriminator for a weekly wall-clock reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"time":{"type":"string","description":"Local time normalized to HH:mm:ss.SSS."},"timeZone":{"type":"string","description":"Explicit canonical IANA zone; equivalent timing edits retain the stored spelling."},"weekdays":{"type":"array","items":{"type":"number"},"description":"Unique ascending ISO weekdays, Monday 1 through Sunday 7."},"scheduledAt":{"type":"string","description":"Committed next UTC instant while active, or final occurrence when inactive."},"sessionId":{"type":"string","description":"Session receiving this reminder when it becomes due."},"status":{"type":"string","enum":["active","inactive"],"description":"Inactive reminders remain visible but never schedule another delivery."},"lastDelivery":{"type":"object","properties":{"scheduledAt":{"type":"string","description":"Canonical UTC target of the delivered occurrence."},"deliveredAt":{"type":"string","description":"Canonical UTC time sampled after Session persistence acknowledged delivery."},"messageId":{"type":"string","description":"Identity of the delivered message, shared by tasks in one recurring batch."}},"required":["scheduledAt","deliveredAt","messageId"],"additionalProperties":true,"description":"Most recent durably acknowledged inbox delivery, when available."}},"required":["id","kind","title","prompt","time","timeZone","weekdays","scheduledAt","sessionId","status"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"cron","description":"Rule discriminator for a five-field cron wall-clock reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"expression":{"type":"string","description":"Canonical five-field cron expression: minute hour day-of-month month day-of-week."},"timeZone":{"type":"string","description":"Explicit IANA zone; equivalent timing edits retain the stored spelling."},"scheduledAt":{"type":"string","description":"Committed next UTC instant while active, or final occurrence when inactive."},"sessionId":{"type":"string","description":"Session receiving this reminder when it becomes due."},"status":{"type":"string","enum":["active","inactive"],"description":"Inactive reminders remain visible but never schedule another delivery."},"lastDelivery":{"type":"object","properties":{"scheduledAt":{"type":"string","description":"Canonical UTC target of the delivered occurrence."},"deliveredAt":{"type":"string","description":"Canonical UTC time sampled after Session persistence acknowledged delivery."},"messageId":{"type":"string","description":"Identity of the delivered message, shared by tasks in one recurring batch."}},"required":["scheduledAt","deliveredAt","messageId"],"additionalProperties":true,"description":"Most recent durably acknowledged inbox delivery, when available."}},"required":["id","kind","title","prompt","expression","timeZone","scheduledAt","sessionId","status"],"additionalProperties":true}]}},
1903
+ description: 'All tasks, active first, with target and execution metadata.',
1904
+ jsonSchema: {"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"after","description":"Rule discriminator for a delayed one-shot reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"afterSeconds":{"type":"number","description":"Positive safe-integer delay accepted at creation."},"scheduledAt":{"type":"string","description":"Four-digit-year RFC 3339 UTC target."},"target":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"session","description":"Every occurrence goes to one existing Session."},"sessionId":{"type":"string","description":"Session that receives each delivery."}},"required":["kind","sessionId"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new_once","description":"The first delivery creates one Session; later deliveries go to that Session."},"sessionId":{"type":"string","description":"Reserved at creation; the first delivery creates it and the target becomes `session`."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create the reserved Session."}},"required":["kind","sessionId","create"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new","description":"Every delivery creates a fresh Session."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create each Session."}},"required":["kind","create"],"additionalProperties":true}],"description":"Destination of the next delivery."},"involvedSessionIds":{"type":"array","items":{"type":"string"},"description":"Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded."},"status":{"type":"string","enum":["active","paused","ended"],"description":"Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible."},"createdAt":{"type":"string","description":"Canonical UTC creation time."},"updatedAt":{"type":"string","description":"Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`."},"executionActive":{"type":"boolean","const":true,"description":"The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it."},"deliveryFloorEndsAt":{"type":"string","description":"End of the minimum delivery interval, present while it remains in the future."},"lastDelivery":{"type":"object","properties":{"scheduledAt":{"type":"string","description":"Canonical UTC target of the delivered occurrence."},"deliveredAt":{"type":"string","description":"Canonical UTC time sampled after Session persistence acknowledged delivery."},"messageId":{"type":"string","description":"Identity of the delivered message, shared by tasks in one recurring batch."},"targetSessionId":{"type":"string","description":"Session that durably accepted the delivered message."}},"required":["scheduledAt","deliveredAt","messageId","targetSessionId"],"additionalProperties":true,"description":"Most recent durably acknowledged inbox delivery, when available."}},"required":["id","kind","title","prompt","afterSeconds","scheduledAt","target","involvedSessionIds","status"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"at","description":"Rule discriminator for an absolute one-shot reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"scheduledAt":{"type":"string","description":"Four-digit-year RFC 3339 UTC target."},"target":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"session","description":"Every occurrence goes to one existing Session."},"sessionId":{"type":"string","description":"Session that receives each delivery."}},"required":["kind","sessionId"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new_once","description":"The first delivery creates one Session; later deliveries go to that Session."},"sessionId":{"type":"string","description":"Reserved at creation; the first delivery creates it and the target becomes `session`."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create the reserved Session."}},"required":["kind","sessionId","create"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new","description":"Every delivery creates a fresh Session."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create each Session."}},"required":["kind","create"],"additionalProperties":true}],"description":"Destination of the next delivery."},"involvedSessionIds":{"type":"array","items":{"type":"string"},"description":"Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded."},"status":{"type":"string","enum":["active","paused","ended"],"description":"Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible."},"createdAt":{"type":"string","description":"Canonical UTC creation time."},"updatedAt":{"type":"string","description":"Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`."},"executionActive":{"type":"boolean","const":true,"description":"The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it."},"deliveryFloorEndsAt":{"type":"string","description":"End of the minimum delivery interval, present while it remains in the future."},"lastDelivery":{"type":"object","properties":{"scheduledAt":{"type":"string","description":"Canonical UTC target of the delivered occurrence."},"deliveredAt":{"type":"string","description":"Canonical UTC time sampled after Session persistence acknowledged delivery."},"messageId":{"type":"string","description":"Identity of the delivered message, shared by tasks in one recurring batch."},"targetSessionId":{"type":"string","description":"Session that durably accepted the delivered message."}},"required":["scheduledAt","deliveredAt","messageId","targetSessionId"],"additionalProperties":true,"description":"Most recent durably acknowledged inbox delivery, when available."}},"required":["id","kind","title","prompt","scheduledAt","target","involvedSessionIds","status"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"every","description":"Rule discriminator for a fixed-rate recurring reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"everySeconds":{"type":"number","description":"Fixed safe-integer interval, never below one minute."},"scheduledAt":{"type":"string","description":"Next anchor-aligned occurrence while active, or final occurrence when inactive."},"target":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"session","description":"Every occurrence goes to one existing Session."},"sessionId":{"type":"string","description":"Session that receives each delivery."}},"required":["kind","sessionId"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new_once","description":"The first delivery creates one Session; later deliveries go to that Session."},"sessionId":{"type":"string","description":"Reserved at creation; the first delivery creates it and the target becomes `session`."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create the reserved Session."}},"required":["kind","sessionId","create"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new","description":"Every delivery creates a fresh Session."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create each Session."}},"required":["kind","create"],"additionalProperties":true}],"description":"Destination of the next delivery."},"involvedSessionIds":{"type":"array","items":{"type":"string"},"description":"Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded."},"status":{"type":"string","enum":["active","paused","ended"],"description":"Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible."},"createdAt":{"type":"string","description":"Canonical UTC creation time."},"updatedAt":{"type":"string","description":"Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`."},"executionActive":{"type":"boolean","const":true,"description":"The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it."},"deliveryFloorEndsAt":{"type":"string","description":"End of the minimum delivery interval, present while it remains in the future."},"lastDelivery":{"type":"object","properties":{"scheduledAt":{"type":"string","description":"Canonical UTC target of the delivered occurrence."},"deliveredAt":{"type":"string","description":"Canonical UTC time sampled after Session persistence acknowledged delivery."},"messageId":{"type":"string","description":"Identity of the delivered message, shared by tasks in one recurring batch."},"targetSessionId":{"type":"string","description":"Session that durably accepted the delivered message."}},"required":["scheduledAt","deliveredAt","messageId","targetSessionId"],"additionalProperties":true,"description":"Most recent durably acknowledged inbox delivery, when available."}},"required":["id","kind","title","prompt","everySeconds","scheduledAt","target","involvedSessionIds","status"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"daily","description":"Rule discriminator for a daily wall-clock reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"time":{"type":"string","description":"Local time normalized to HH:mm:ss.SSS."},"timeZone":{"type":"string","description":"Explicit IANA zone; equivalent timing edits retain the stored spelling."},"scheduledAt":{"type":"string","description":"Committed next UTC instant while active, or final occurrence when inactive."},"target":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"session","description":"Every occurrence goes to one existing Session."},"sessionId":{"type":"string","description":"Session that receives each delivery."}},"required":["kind","sessionId"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new_once","description":"The first delivery creates one Session; later deliveries go to that Session."},"sessionId":{"type":"string","description":"Reserved at creation; the first delivery creates it and the target becomes `session`."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create the reserved Session."}},"required":["kind","sessionId","create"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new","description":"Every delivery creates a fresh Session."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create each Session."}},"required":["kind","create"],"additionalProperties":true}],"description":"Destination of the next delivery."},"involvedSessionIds":{"type":"array","items":{"type":"string"},"description":"Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded."},"status":{"type":"string","enum":["active","paused","ended"],"description":"Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible."},"createdAt":{"type":"string","description":"Canonical UTC creation time."},"updatedAt":{"type":"string","description":"Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`."},"executionActive":{"type":"boolean","const":true,"description":"The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it."},"deliveryFloorEndsAt":{"type":"string","description":"End of the minimum delivery interval, present while it remains in the future."},"lastDelivery":{"type":"object","properties":{"scheduledAt":{"type":"string","description":"Canonical UTC target of the delivered occurrence."},"deliveredAt":{"type":"string","description":"Canonical UTC time sampled after Session persistence acknowledged delivery."},"messageId":{"type":"string","description":"Identity of the delivered message, shared by tasks in one recurring batch."},"targetSessionId":{"type":"string","description":"Session that durably accepted the delivered message."}},"required":["scheduledAt","deliveredAt","messageId","targetSessionId"],"additionalProperties":true,"description":"Most recent durably acknowledged inbox delivery, when available."}},"required":["id","kind","title","prompt","time","timeZone","scheduledAt","target","involvedSessionIds","status"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"weekly","description":"Rule discriminator for a weekly wall-clock reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"time":{"type":"string","description":"Local time normalized to HH:mm:ss.SSS."},"timeZone":{"type":"string","description":"Explicit canonical IANA zone; equivalent timing edits retain the stored spelling."},"weekdays":{"type":"array","items":{"type":"number"},"description":"Unique ascending ISO weekdays, Monday 1 through Sunday 7."},"scheduledAt":{"type":"string","description":"Committed next UTC instant while active, or final occurrence when inactive."},"target":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"session","description":"Every occurrence goes to one existing Session."},"sessionId":{"type":"string","description":"Session that receives each delivery."}},"required":["kind","sessionId"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new_once","description":"The first delivery creates one Session; later deliveries go to that Session."},"sessionId":{"type":"string","description":"Reserved at creation; the first delivery creates it and the target becomes `session`."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create the reserved Session."}},"required":["kind","sessionId","create"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new","description":"Every delivery creates a fresh Session."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create each Session."}},"required":["kind","create"],"additionalProperties":true}],"description":"Destination of the next delivery."},"involvedSessionIds":{"type":"array","items":{"type":"string"},"description":"Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded."},"status":{"type":"string","enum":["active","paused","ended"],"description":"Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible."},"createdAt":{"type":"string","description":"Canonical UTC creation time."},"updatedAt":{"type":"string","description":"Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`."},"executionActive":{"type":"boolean","const":true,"description":"The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it."},"deliveryFloorEndsAt":{"type":"string","description":"End of the minimum delivery interval, present while it remains in the future."},"lastDelivery":{"type":"object","properties":{"scheduledAt":{"type":"string","description":"Canonical UTC target of the delivered occurrence."},"deliveredAt":{"type":"string","description":"Canonical UTC time sampled after Session persistence acknowledged delivery."},"messageId":{"type":"string","description":"Identity of the delivered message, shared by tasks in one recurring batch."},"targetSessionId":{"type":"string","description":"Session that durably accepted the delivered message."}},"required":["scheduledAt","deliveredAt","messageId","targetSessionId"],"additionalProperties":true,"description":"Most recent durably acknowledged inbox delivery, when available."}},"required":["id","kind","title","prompt","time","timeZone","weekdays","scheduledAt","target","involvedSessionIds","status"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"cron","description":"Rule discriminator for a five-field cron wall-clock reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"expression":{"type":"string","description":"Canonical five-field cron expression: minute hour day-of-month month day-of-week."},"timeZone":{"type":"string","description":"Explicit IANA zone; equivalent timing edits retain the stored spelling."},"scheduledAt":{"type":"string","description":"Committed next UTC instant while active, or final occurrence when inactive."},"target":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"session","description":"Every occurrence goes to one existing Session."},"sessionId":{"type":"string","description":"Session that receives each delivery."}},"required":["kind","sessionId"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new_once","description":"The first delivery creates one Session; later deliveries go to that Session."},"sessionId":{"type":"string","description":"Reserved at creation; the first delivery creates it and the target becomes `session`."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create the reserved Session."}},"required":["kind","sessionId","create"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new","description":"Every delivery creates a fresh Session."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create each Session."}},"required":["kind","create"],"additionalProperties":true}],"description":"Destination of the next delivery."},"involvedSessionIds":{"type":"array","items":{"type":"string"},"description":"Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded."},"status":{"type":"string","enum":["active","paused","ended"],"description":"Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible."},"createdAt":{"type":"string","description":"Canonical UTC creation time."},"updatedAt":{"type":"string","description":"Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`."},"executionActive":{"type":"boolean","const":true,"description":"The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it."},"deliveryFloorEndsAt":{"type":"string","description":"End of the minimum delivery interval, present while it remains in the future."},"lastDelivery":{"type":"object","properties":{"scheduledAt":{"type":"string","description":"Canonical UTC target of the delivered occurrence."},"deliveredAt":{"type":"string","description":"Canonical UTC time sampled after Session persistence acknowledged delivery."},"messageId":{"type":"string","description":"Identity of the delivered message, shared by tasks in one recurring batch."},"targetSessionId":{"type":"string","description":"Session that durably accepted the delivered message."}},"required":["scheduledAt","deliveredAt","messageId","targetSessionId"],"additionalProperties":true,"description":"Most recent durably acknowledged inbox delivery, when available."}},"required":["id","kind","title","prompt","expression","timeZone","scheduledAt","target","involvedSessionIds","status"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"rrule"},"id":{"type":"string","description":"Host-generated canonical identity."},"title":{"type":"string","description":"Task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed instruction sent when an occurrence becomes due."},"rrule":{"type":"string","description":"One normalized DTSTART line and one RRULE line."},"scheduledAt":{"type":"string","description":"Next unaccepted occurrence while active, or the final accepted occurrence when ended."},"target":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"session","description":"Every occurrence goes to one existing Session."},"sessionId":{"type":"string","description":"Session that receives each delivery."}},"required":["kind","sessionId"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new_once","description":"The first delivery creates one Session; later deliveries go to that Session."},"sessionId":{"type":"string","description":"Reserved at creation; the first delivery creates it and the target becomes `session`."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create the reserved Session."}},"required":["kind","sessionId","create"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new","description":"Every delivery creates a fresh Session."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create each Session."}},"required":["kind","create"],"additionalProperties":true}],"description":"Destination of the next delivery."},"involvedSessionIds":{"type":"array","items":{"type":"string"},"description":"Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded."},"status":{"type":"string","enum":["active","paused","ended"],"description":"Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible."},"createdAt":{"type":"string","description":"Canonical UTC creation time."},"updatedAt":{"type":"string","description":"Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`."},"executionActive":{"type":"boolean","const":true,"description":"The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it."},"deliveryFloorEndsAt":{"type":"string","description":"End of the minimum delivery interval, present while it remains in the future."},"lastDelivery":{"type":"object","properties":{"scheduledAt":{"type":"string","description":"Canonical UTC target of the delivered occurrence."},"deliveredAt":{"type":"string","description":"Canonical UTC time sampled after Session persistence acknowledged delivery."},"messageId":{"type":"string","description":"Identity of the delivered message, shared by tasks in one recurring batch."},"targetSessionId":{"type":"string","description":"Session that durably accepted the delivered message."}},"required":["scheduledAt","deliveredAt","messageId","targetSessionId"],"additionalProperties":true,"description":"Most recent durably acknowledged inbox delivery, when available."}},"required":["kind","id","title","prompt","rrule","scheduledAt","target","involvedSessionIds","status"],"additionalProperties":true}]}},
1905
+ },
1906
+ sourceLocation: {"file":"packages/schedule/schedule/src/index.ts","line":448,"column":9},
1907
+ },
1908
+ 'schedule/create': {
1909
+ service: 'schedule',
1910
+ description: 'Create one task with a Host-generated identity for a human Remote caller.',
1911
+ implementation: 'remoteCreate',
1912
+ invocation: { kind: 'direct' },
1913
+ parameters: [
1914
+ {
1915
+ name: 'request',
1916
+ description: 'Title, prompt, recurrence, and delivery destination.',
1917
+ source: 'json',
1918
+ codec: {
1919
+ mode: 'strict',
1920
+ typeSymbol: '@qilin-agent/schedule/client#ScheduleCreateRequest',
1921
+ create: _qilin_agent_schedule_schedule_create_parameter_0$schema,
1922
+ jsonSchema: {"type":"object","properties":{"title":{"type":"string","description":"Task name of at most 120 characters, non-empty after trimming."},"prompt":{"type":"string","description":"Instruction sent at each occurrence; non-empty after trimming."},"timing":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"after"},"after_seconds":{"type":"number"}},"required":["kind","after_seconds"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"at"},"at":{"oneOf":[{"type":"string"},{"type":"object","properties":{"date":{"type":"string","description":"Four-digit ISO calendar date."},"time":{"type":"string","description":"Local wall-clock time with optional one-to-three digit milliseconds."},"time_zone":{"type":"string","description":"Explicit UTC or IANA Area/Location zone."}},"required":["date","time","time_zone"],"additionalProperties":true}]}},"required":["kind","at"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"every"},"every_seconds":{"type":"number"}},"required":["kind","every_seconds"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"daily"},"daily":{"type":"object","properties":{"time":{"type":"string","description":"Local HH:mm:ss time with optional one-to-three fractional digits."},"time_zone":{"type":"string","description":"Explicit UTC or IANA Area/Location zone."}},"required":["time","time_zone"],"additionalProperties":true}},"required":["kind","daily"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"weekly"},"weekly":{"type":"object","properties":{"time":{"type":"string","description":"Local HH:mm:ss time with optional one-to-three fractional digits."},"time_zone":{"type":"string","description":"Explicit UTC or IANA Area/Location zone."},"weekdays":{"type":"array","items":{"type":"number"},"description":"Non-empty ISO weekday set, Monday 1 through Sunday 7, without repetitions."}},"required":["time","time_zone","weekdays"],"additionalProperties":true}},"required":["kind","weekly"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"cron"},"cron":{"type":"object","properties":{"expression":{"type":"string","description":"Five-field Vixie cron expression: minute hour day-of-month month day-of-week."},"time_zone":{"type":"string","description":"Explicit UTC or IANA Area/Location zone."}},"required":["expression","time_zone"],"additionalProperties":true}},"required":["kind","cron"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"rrule"},"rrule":{"type":"string"}},"required":["kind","rrule"],"additionalProperties":true}],"description":"Authoritative typed timing with at least one future occurrence."},"target":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"session","description":"Deliver to one existing Session that is not a delegated child."},"sessionId":{"type":"string","description":"Existing Session that receives each delivery."}},"required":["kind","sessionId"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new_once","description":"Create one Session at the first delivery."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Creation values; omission uses the Host defaults."}},"required":["kind"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new","description":"Create a fresh Session at each delivery."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Creation values; omission uses the Host defaults."}},"required":["kind"],"additionalProperties":true}],"description":"Delivery destination; omission creates one Session at first delivery and reuses it."}},"required":["title","prompt","timing"],"additionalProperties":true},
1923
+ },
1924
+ strictCodec: {
1925
+ mode: 'strict',
1926
+ typeSymbol: '@qilin-agent/schedule/client#ScheduleCreateRequest',
1927
+ create: _qilin_agent_schedule_schedule_create_parameter_0_strict$schema,
1928
+ jsonSchema: {"type":"object","properties":{"title":{"type":"string","description":"Task name of at most 120 characters, non-empty after trimming."},"prompt":{"type":"string","description":"Instruction sent at each occurrence; non-empty after trimming."},"timing":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"after"},"after_seconds":{"type":"number"}},"required":["kind","after_seconds"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"at"},"at":{"oneOf":[{"type":"string"},{"type":"object","properties":{"date":{"type":"string","description":"Four-digit ISO calendar date."},"time":{"type":"string","description":"Local wall-clock time with optional one-to-three digit milliseconds."},"time_zone":{"type":"string","description":"Explicit UTC or IANA Area/Location zone."}},"required":["date","time","time_zone"],"additionalProperties":false}]}},"required":["kind","at"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"every"},"every_seconds":{"type":"number"}},"required":["kind","every_seconds"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"daily"},"daily":{"type":"object","properties":{"time":{"type":"string","description":"Local HH:mm:ss time with optional one-to-three fractional digits."},"time_zone":{"type":"string","description":"Explicit UTC or IANA Area/Location zone."}},"required":["time","time_zone"],"additionalProperties":false}},"required":["kind","daily"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"weekly"},"weekly":{"type":"object","properties":{"time":{"type":"string","description":"Local HH:mm:ss time with optional one-to-three fractional digits."},"time_zone":{"type":"string","description":"Explicit UTC or IANA Area/Location zone."},"weekdays":{"type":"array","items":{"type":"number"},"description":"Non-empty ISO weekday set, Monday 1 through Sunday 7, without repetitions."}},"required":["time","time_zone","weekdays"],"additionalProperties":false}},"required":["kind","weekly"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"cron"},"cron":{"type":"object","properties":{"expression":{"type":"string","description":"Five-field Vixie cron expression: minute hour day-of-month month day-of-week."},"time_zone":{"type":"string","description":"Explicit UTC or IANA Area/Location zone."}},"required":["expression","time_zone"],"additionalProperties":false}},"required":["kind","cron"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"rrule"},"rrule":{"type":"string"}},"required":["kind","rrule"],"additionalProperties":false}],"description":"Authoritative typed timing with at least one future occurrence."},"target":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"session","description":"Deliver to one existing Session that is not a delegated child."},"sessionId":{"type":"string","description":"Existing Session that receives each delivery."}},"required":["kind","sessionId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"new_once","description":"Create one Session at the first delivery."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":false,"description":"Creation values; omission uses the Host defaults."}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"new","description":"Create a fresh Session at each delivery."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":false,"description":"Creation values; omission uses the Host defaults."}},"required":["kind"],"additionalProperties":false}],"description":"Delivery destination; omission creates one Session at first delivery and reuses it."}},"required":["title","prompt","timing"],"additionalProperties":false},
1929
+ },
1930
+ },
1931
+ ],
1932
+ cancellation: { parameter: 'signal' },
1933
+ result: {
1934
+ mode: 'strict',
1935
+ typeSymbol: '@qilin-agent/schedule/client#ScheduleCatalogEntry',
1936
+ create: _qilin_agent_schedule_schedule_create_result$schema,
1937
+ description: 'The stored task. Cancellation does not roll back an in-flight write.',
1938
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"after","description":"Rule discriminator for a delayed one-shot reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"afterSeconds":{"type":"number","description":"Positive safe-integer delay accepted at creation."},"scheduledAt":{"type":"string","description":"Four-digit-year RFC 3339 UTC target."},"target":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"session","description":"Every occurrence goes to one existing Session."},"sessionId":{"type":"string","description":"Session that receives each delivery."}},"required":["kind","sessionId"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new_once","description":"The first delivery creates one Session; later deliveries go to that Session."},"sessionId":{"type":"string","description":"Reserved at creation; the first delivery creates it and the target becomes `session`."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create the reserved Session."}},"required":["kind","sessionId","create"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new","description":"Every delivery creates a fresh Session."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create each Session."}},"required":["kind","create"],"additionalProperties":true}],"description":"Destination of the next delivery."},"involvedSessionIds":{"type":"array","items":{"type":"string"},"description":"Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded."},"status":{"type":"string","enum":["active","paused","ended"],"description":"Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible."},"createdAt":{"type":"string","description":"Canonical UTC creation time."},"updatedAt":{"type":"string","description":"Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`."},"executionActive":{"type":"boolean","const":true,"description":"The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it."},"deliveryFloorEndsAt":{"type":"string","description":"End of the minimum delivery interval, present while it remains in the future."},"lastDelivery":{"type":"object","properties":{"scheduledAt":{"type":"string","description":"Canonical UTC target of the delivered occurrence."},"deliveredAt":{"type":"string","description":"Canonical UTC time sampled after Session persistence acknowledged delivery."},"messageId":{"type":"string","description":"Identity of the delivered message, shared by tasks in one recurring batch."},"targetSessionId":{"type":"string","description":"Session that durably accepted the delivered message."}},"required":["scheduledAt","deliveredAt","messageId","targetSessionId"],"additionalProperties":true,"description":"Most recent durably acknowledged inbox delivery, when available."}},"required":["id","kind","title","prompt","afterSeconds","scheduledAt","target","involvedSessionIds","status"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"at","description":"Rule discriminator for an absolute one-shot reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"scheduledAt":{"type":"string","description":"Four-digit-year RFC 3339 UTC target."},"target":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"session","description":"Every occurrence goes to one existing Session."},"sessionId":{"type":"string","description":"Session that receives each delivery."}},"required":["kind","sessionId"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new_once","description":"The first delivery creates one Session; later deliveries go to that Session."},"sessionId":{"type":"string","description":"Reserved at creation; the first delivery creates it and the target becomes `session`."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create the reserved Session."}},"required":["kind","sessionId","create"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new","description":"Every delivery creates a fresh Session."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create each Session."}},"required":["kind","create"],"additionalProperties":true}],"description":"Destination of the next delivery."},"involvedSessionIds":{"type":"array","items":{"type":"string"},"description":"Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded."},"status":{"type":"string","enum":["active","paused","ended"],"description":"Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible."},"createdAt":{"type":"string","description":"Canonical UTC creation time."},"updatedAt":{"type":"string","description":"Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`."},"executionActive":{"type":"boolean","const":true,"description":"The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it."},"deliveryFloorEndsAt":{"type":"string","description":"End of the minimum delivery interval, present while it remains in the future."},"lastDelivery":{"type":"object","properties":{"scheduledAt":{"type":"string","description":"Canonical UTC target of the delivered occurrence."},"deliveredAt":{"type":"string","description":"Canonical UTC time sampled after Session persistence acknowledged delivery."},"messageId":{"type":"string","description":"Identity of the delivered message, shared by tasks in one recurring batch."},"targetSessionId":{"type":"string","description":"Session that durably accepted the delivered message."}},"required":["scheduledAt","deliveredAt","messageId","targetSessionId"],"additionalProperties":true,"description":"Most recent durably acknowledged inbox delivery, when available."}},"required":["id","kind","title","prompt","scheduledAt","target","involvedSessionIds","status"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"every","description":"Rule discriminator for a fixed-rate recurring reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"everySeconds":{"type":"number","description":"Fixed safe-integer interval, never below one minute."},"scheduledAt":{"type":"string","description":"Next anchor-aligned occurrence while active, or final occurrence when inactive."},"target":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"session","description":"Every occurrence goes to one existing Session."},"sessionId":{"type":"string","description":"Session that receives each delivery."}},"required":["kind","sessionId"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new_once","description":"The first delivery creates one Session; later deliveries go to that Session."},"sessionId":{"type":"string","description":"Reserved at creation; the first delivery creates it and the target becomes `session`."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create the reserved Session."}},"required":["kind","sessionId","create"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new","description":"Every delivery creates a fresh Session."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create each Session."}},"required":["kind","create"],"additionalProperties":true}],"description":"Destination of the next delivery."},"involvedSessionIds":{"type":"array","items":{"type":"string"},"description":"Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded."},"status":{"type":"string","enum":["active","paused","ended"],"description":"Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible."},"createdAt":{"type":"string","description":"Canonical UTC creation time."},"updatedAt":{"type":"string","description":"Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`."},"executionActive":{"type":"boolean","const":true,"description":"The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it."},"deliveryFloorEndsAt":{"type":"string","description":"End of the minimum delivery interval, present while it remains in the future."},"lastDelivery":{"type":"object","properties":{"scheduledAt":{"type":"string","description":"Canonical UTC target of the delivered occurrence."},"deliveredAt":{"type":"string","description":"Canonical UTC time sampled after Session persistence acknowledged delivery."},"messageId":{"type":"string","description":"Identity of the delivered message, shared by tasks in one recurring batch."},"targetSessionId":{"type":"string","description":"Session that durably accepted the delivered message."}},"required":["scheduledAt","deliveredAt","messageId","targetSessionId"],"additionalProperties":true,"description":"Most recent durably acknowledged inbox delivery, when available."}},"required":["id","kind","title","prompt","everySeconds","scheduledAt","target","involvedSessionIds","status"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"daily","description":"Rule discriminator for a daily wall-clock reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"time":{"type":"string","description":"Local time normalized to HH:mm:ss.SSS."},"timeZone":{"type":"string","description":"Explicit IANA zone; equivalent timing edits retain the stored spelling."},"scheduledAt":{"type":"string","description":"Committed next UTC instant while active, or final occurrence when inactive."},"target":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"session","description":"Every occurrence goes to one existing Session."},"sessionId":{"type":"string","description":"Session that receives each delivery."}},"required":["kind","sessionId"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new_once","description":"The first delivery creates one Session; later deliveries go to that Session."},"sessionId":{"type":"string","description":"Reserved at creation; the first delivery creates it and the target becomes `session`."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create the reserved Session."}},"required":["kind","sessionId","create"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new","description":"Every delivery creates a fresh Session."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create each Session."}},"required":["kind","create"],"additionalProperties":true}],"description":"Destination of the next delivery."},"involvedSessionIds":{"type":"array","items":{"type":"string"},"description":"Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded."},"status":{"type":"string","enum":["active","paused","ended"],"description":"Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible."},"createdAt":{"type":"string","description":"Canonical UTC creation time."},"updatedAt":{"type":"string","description":"Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`."},"executionActive":{"type":"boolean","const":true,"description":"The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it."},"deliveryFloorEndsAt":{"type":"string","description":"End of the minimum delivery interval, present while it remains in the future."},"lastDelivery":{"type":"object","properties":{"scheduledAt":{"type":"string","description":"Canonical UTC target of the delivered occurrence."},"deliveredAt":{"type":"string","description":"Canonical UTC time sampled after Session persistence acknowledged delivery."},"messageId":{"type":"string","description":"Identity of the delivered message, shared by tasks in one recurring batch."},"targetSessionId":{"type":"string","description":"Session that durably accepted the delivered message."}},"required":["scheduledAt","deliveredAt","messageId","targetSessionId"],"additionalProperties":true,"description":"Most recent durably acknowledged inbox delivery, when available."}},"required":["id","kind","title","prompt","time","timeZone","scheduledAt","target","involvedSessionIds","status"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"weekly","description":"Rule discriminator for a weekly wall-clock reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"time":{"type":"string","description":"Local time normalized to HH:mm:ss.SSS."},"timeZone":{"type":"string","description":"Explicit canonical IANA zone; equivalent timing edits retain the stored spelling."},"weekdays":{"type":"array","items":{"type":"number"},"description":"Unique ascending ISO weekdays, Monday 1 through Sunday 7."},"scheduledAt":{"type":"string","description":"Committed next UTC instant while active, or final occurrence when inactive."},"target":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"session","description":"Every occurrence goes to one existing Session."},"sessionId":{"type":"string","description":"Session that receives each delivery."}},"required":["kind","sessionId"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new_once","description":"The first delivery creates one Session; later deliveries go to that Session."},"sessionId":{"type":"string","description":"Reserved at creation; the first delivery creates it and the target becomes `session`."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create the reserved Session."}},"required":["kind","sessionId","create"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new","description":"Every delivery creates a fresh Session."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create each Session."}},"required":["kind","create"],"additionalProperties":true}],"description":"Destination of the next delivery."},"involvedSessionIds":{"type":"array","items":{"type":"string"},"description":"Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded."},"status":{"type":"string","enum":["active","paused","ended"],"description":"Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible."},"createdAt":{"type":"string","description":"Canonical UTC creation time."},"updatedAt":{"type":"string","description":"Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`."},"executionActive":{"type":"boolean","const":true,"description":"The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it."},"deliveryFloorEndsAt":{"type":"string","description":"End of the minimum delivery interval, present while it remains in the future."},"lastDelivery":{"type":"object","properties":{"scheduledAt":{"type":"string","description":"Canonical UTC target of the delivered occurrence."},"deliveredAt":{"type":"string","description":"Canonical UTC time sampled after Session persistence acknowledged delivery."},"messageId":{"type":"string","description":"Identity of the delivered message, shared by tasks in one recurring batch."},"targetSessionId":{"type":"string","description":"Session that durably accepted the delivered message."}},"required":["scheduledAt","deliveredAt","messageId","targetSessionId"],"additionalProperties":true,"description":"Most recent durably acknowledged inbox delivery, when available."}},"required":["id","kind","title","prompt","time","timeZone","weekdays","scheduledAt","target","involvedSessionIds","status"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"cron","description":"Rule discriminator for a five-field cron wall-clock reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"expression":{"type":"string","description":"Canonical five-field cron expression: minute hour day-of-month month day-of-week."},"timeZone":{"type":"string","description":"Explicit IANA zone; equivalent timing edits retain the stored spelling."},"scheduledAt":{"type":"string","description":"Committed next UTC instant while active, or final occurrence when inactive."},"target":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"session","description":"Every occurrence goes to one existing Session."},"sessionId":{"type":"string","description":"Session that receives each delivery."}},"required":["kind","sessionId"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new_once","description":"The first delivery creates one Session; later deliveries go to that Session."},"sessionId":{"type":"string","description":"Reserved at creation; the first delivery creates it and the target becomes `session`."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create the reserved Session."}},"required":["kind","sessionId","create"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new","description":"Every delivery creates a fresh Session."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create each Session."}},"required":["kind","create"],"additionalProperties":true}],"description":"Destination of the next delivery."},"involvedSessionIds":{"type":"array","items":{"type":"string"},"description":"Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded."},"status":{"type":"string","enum":["active","paused","ended"],"description":"Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible."},"createdAt":{"type":"string","description":"Canonical UTC creation time."},"updatedAt":{"type":"string","description":"Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`."},"executionActive":{"type":"boolean","const":true,"description":"The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it."},"deliveryFloorEndsAt":{"type":"string","description":"End of the minimum delivery interval, present while it remains in the future."},"lastDelivery":{"type":"object","properties":{"scheduledAt":{"type":"string","description":"Canonical UTC target of the delivered occurrence."},"deliveredAt":{"type":"string","description":"Canonical UTC time sampled after Session persistence acknowledged delivery."},"messageId":{"type":"string","description":"Identity of the delivered message, shared by tasks in one recurring batch."},"targetSessionId":{"type":"string","description":"Session that durably accepted the delivered message."}},"required":["scheduledAt","deliveredAt","messageId","targetSessionId"],"additionalProperties":true,"description":"Most recent durably acknowledged inbox delivery, when available."}},"required":["id","kind","title","prompt","expression","timeZone","scheduledAt","target","involvedSessionIds","status"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"rrule"},"id":{"type":"string","description":"Host-generated canonical identity."},"title":{"type":"string","description":"Task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed instruction sent when an occurrence becomes due."},"rrule":{"type":"string","description":"One normalized DTSTART line and one RRULE line."},"scheduledAt":{"type":"string","description":"Next unaccepted occurrence while active, or the final accepted occurrence when ended."},"target":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"session","description":"Every occurrence goes to one existing Session."},"sessionId":{"type":"string","description":"Session that receives each delivery."}},"required":["kind","sessionId"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new_once","description":"The first delivery creates one Session; later deliveries go to that Session."},"sessionId":{"type":"string","description":"Reserved at creation; the first delivery creates it and the target becomes `session`."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create the reserved Session."}},"required":["kind","sessionId","create"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new","description":"Every delivery creates a fresh Session."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create each Session."}},"required":["kind","create"],"additionalProperties":true}],"description":"Destination of the next delivery."},"involvedSessionIds":{"type":"array","items":{"type":"string"},"description":"Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded."},"status":{"type":"string","enum":["active","paused","ended"],"description":"Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible."},"createdAt":{"type":"string","description":"Canonical UTC creation time."},"updatedAt":{"type":"string","description":"Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`."},"executionActive":{"type":"boolean","const":true,"description":"The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it."},"deliveryFloorEndsAt":{"type":"string","description":"End of the minimum delivery interval, present while it remains in the future."},"lastDelivery":{"type":"object","properties":{"scheduledAt":{"type":"string","description":"Canonical UTC target of the delivered occurrence."},"deliveredAt":{"type":"string","description":"Canonical UTC time sampled after Session persistence acknowledged delivery."},"messageId":{"type":"string","description":"Identity of the delivered message, shared by tasks in one recurring batch."},"targetSessionId":{"type":"string","description":"Session that durably accepted the delivered message."}},"required":["scheduledAt","deliveredAt","messageId","targetSessionId"],"additionalProperties":true,"description":"Most recent durably acknowledged inbox delivery, when available."}},"required":["kind","id","title","prompt","rrule","scheduledAt","target","involvedSessionIds","status"],"additionalProperties":true}]},
1939
+ },
1940
+ sourceLocation: {"file":"packages/schedule/schedule/src/index.ts","line":370,"column":9},
1941
+ },
1942
+ 'schedule/deleteInactive': {
1943
+ service: 'schedule',
1944
+ description: 'Delete every ended Host task, leaving active tasks armed. Ended tasks never schedule another delivery, so the removal changes no pending target and no timer is recomputed. Rows are enumerated and removed in one FIFO slot, so a delivery ordered behind this call ends its task after the enumeration rather than during it. Each row is one durable write: a failure rejects with the rows removed so far gone and the remaining rows still stored. A successful nonempty removal emits `schedule/changed` without Agent notices. A rejected removal announces `schedule/changed` because it does not establish which rows landed, and clients then re-read the catalog.',
1945
+ invocation: { kind: 'direct' },
1946
+ parameters: [
1947
+ ],
1948
+ result: {
1949
+ mode: 'strict',
1950
+ typeSymbol: '@qilin-agent/schedule/client#ScheduleDeleteInactiveResult',
1951
+ create: _qilin_agent_schedule_schedule_deleteInactive_result$schema,
1952
+ description: 'Count of removed rows; zero when the Host held no ended task.',
1953
+ jsonSchema: {"type":"object","properties":{"deleted":{"type":"number","description":"Ended task rows this call removed; zero when the Host held none."}},"required":["deleted"],"additionalProperties":true},
1954
+ },
1955
+ sourceLocation: {"file":"packages/schedule/schedule/src/index.ts","line":526,"column":9},
1956
+ },
1957
+ 'schedule/deliveryLimits': {
1958
+ service: 'schedule',
1959
+ description: 'Read effective delivery limits without loading or activating a task.',
1960
+ invocation: { kind: 'direct' },
1961
+ parameters: [
1962
+ ],
1963
+ result: {
1964
+ mode: 'strict',
1965
+ typeSymbol: '@qilin-agent/schedule#schedule/deliveryLimits:result',
1966
+ create: _qilin_agent_schedule_schedule_deliveryLimits_result$schema,
1967
+ description: 'The configured minimum spacing between deliveries that each create a Session, in seconds.',
1968
+ jsonSchema: {"type":"object","properties":{"newSessionIntervalSeconds":{"type":"number"}},"required":["newSessionIntervalSeconds"],"additionalProperties":true},
467
1969
  },
468
- sourceLocation: {"file":"packages/schedule/schedule/src/index.ts","line":286,"column":9},
1970
+ sourceLocation: {"file":"packages/schedule/schedule/src/index.ts","line":359,"column":3},
469
1971
  },
470
- 'schedule/delete': {
1972
+ 'schedule/edit': {
471
1973
  service: 'schedule',
472
- description: 'Delete one task belonging to the selected Session, leaving queued messages intact. The row is removed: the task no longer schedules, leaves `list` and `catalog`, and its saved delivery records go with it. A task bound to a Session a delegated child owns stays deletable even though creation and timing edits refuse that binding, so a task stored before that rule existed remains removable.',
1974
+ description: 'Update or delete one task for a human Remote caller; an invalid patch rejects with `schedule/input-invalid`.',
1975
+ implementation: 'remoteEdit',
473
1976
  invocation: { kind: 'direct' },
474
1977
  parameters: [
475
1978
  {
476
1979
  name: 'request',
477
- description: 'Session and exact task identity.',
1980
+ description: 'Task identity and one update or delete operation.',
478
1981
  source: 'json',
479
1982
  codec: {
480
1983
  mode: 'strict',
481
- typeSymbol: '@qilin-agent/schedule/client#ScheduleDeleteRequest',
482
- create: _qilin_agent_schedule_schedule_delete_parameter_0$schema,
483
- jsonSchema: {"type":"object","properties":{"id":{"type":"string","description":"Task to remove."},"sessionId":{"type":"string","description":"Original Session binding."}},"required":["id","sessionId"],"additionalProperties":true},
1984
+ typeSymbol: '@qilin-agent/schedule/client#ScheduleEditRequest',
1985
+ create: _qilin_agent_schedule_schedule_edit_parameter_0$schema,
1986
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"id":{"type":"string","description":"Task to change."},"action":{"type":"string","const":"update","description":"Apply `patch` as one atomic change."},"patch":{"type":"object","properties":{"title":{"type":"string","description":"Replacement task name."},"prompt":{"type":"string","description":"Replacement instruction."},"timing":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"after"},"after_seconds":{"type":"number"}},"required":["kind","after_seconds"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"at"},"at":{"oneOf":[{"type":"string"},{"type":"object","properties":{"date":{"type":"string","description":"Four-digit ISO calendar date."},"time":{"type":"string","description":"Local wall-clock time with optional one-to-three digit milliseconds."},"time_zone":{"type":"string","description":"Explicit UTC or IANA Area/Location zone."}},"required":["date","time","time_zone"],"additionalProperties":true}]}},"required":["kind","at"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"every"},"every_seconds":{"type":"number"}},"required":["kind","every_seconds"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"daily"},"daily":{"type":"object","properties":{"time":{"type":"string","description":"Local HH:mm:ss time with optional one-to-three fractional digits."},"time_zone":{"type":"string","description":"Explicit UTC or IANA Area/Location zone."}},"required":["time","time_zone"],"additionalProperties":true}},"required":["kind","daily"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"weekly"},"weekly":{"type":"object","properties":{"time":{"type":"string","description":"Local HH:mm:ss time with optional one-to-three fractional digits."},"time_zone":{"type":"string","description":"Explicit UTC or IANA Area/Location zone."},"weekdays":{"type":"array","items":{"type":"number"},"description":"Non-empty ISO weekday set, Monday 1 through Sunday 7, without repetitions."}},"required":["time","time_zone","weekdays"],"additionalProperties":true}},"required":["kind","weekly"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"cron"},"cron":{"type":"object","properties":{"expression":{"type":"string","description":"Five-field Vixie cron expression: minute hour day-of-month month day-of-week."},"time_zone":{"type":"string","description":"Explicit UTC or IANA Area/Location zone."}},"required":["expression","time_zone"],"additionalProperties":true}},"required":["kind","cron"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"rrule"},"rrule":{"type":"string"}},"required":["kind","rrule"],"additionalProperties":true}],"description":"Replacement timing; a changed rule recomputes the next occurrence."},"target":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"session","description":"Deliver to one existing Session that is not a delegated child."},"sessionId":{"type":"string","description":"Existing Session that receives each delivery."}},"required":["kind","sessionId"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new_once","description":"Create one Session at the first delivery."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Creation values; omission uses the Host defaults."}},"required":["kind"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new","description":"Create a fresh Session at each delivery."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Creation values; omission uses the Host defaults."}},"required":["kind"],"additionalProperties":true}],"description":"Replacement destination."},"active":{"type":"boolean","description":"`false` pauses the task; `true` resumes a recurrence from its first future occurrence."}},"required":[],"additionalProperties":true,"description":"Fields to change; at least one member is required."},"expectedUpdatedAt":{"oneOf":[{"type":"null","const":null},{"type":"string"}],"description":"`updatedAt` value that the editor read; a different stored value returns `schedule_conflict`."}},"required":["id","action","patch"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","description":"Task to remove."},"action":{"type":"string","const":"delete","description":"Remove the task and its saved deliveries."},"expectedUpdatedAt":{"oneOf":[{"type":"null","const":null},{"type":"string"}],"description":"`updatedAt` value that the editor read; a different stored value returns `schedule_conflict`."}},"required":["id","action"],"additionalProperties":true}]},
484
1987
  },
485
1988
  strictCodec: {
486
1989
  mode: 'strict',
487
- typeSymbol: '@qilin-agent/schedule/client#ScheduleDeleteRequest',
488
- create: _qilin_agent_schedule_schedule_delete_parameter_0_strict$schema,
489
- jsonSchema: {"type":"object","properties":{"id":{"type":"string","description":"Task to remove."},"sessionId":{"type":"string","description":"Original Session binding."}},"required":["id","sessionId"],"additionalProperties":false},
1990
+ typeSymbol: '@qilin-agent/schedule/client#ScheduleEditRequest',
1991
+ create: _qilin_agent_schedule_schedule_edit_parameter_0_strict$schema,
1992
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"id":{"type":"string","description":"Task to change."},"action":{"type":"string","const":"update","description":"Apply `patch` as one atomic change."},"patch":{"type":"object","properties":{"title":{"type":"string","description":"Replacement task name."},"prompt":{"type":"string","description":"Replacement instruction."},"timing":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"after"},"after_seconds":{"type":"number"}},"required":["kind","after_seconds"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"at"},"at":{"oneOf":[{"type":"string"},{"type":"object","properties":{"date":{"type":"string","description":"Four-digit ISO calendar date."},"time":{"type":"string","description":"Local wall-clock time with optional one-to-three digit milliseconds."},"time_zone":{"type":"string","description":"Explicit UTC or IANA Area/Location zone."}},"required":["date","time","time_zone"],"additionalProperties":false}]}},"required":["kind","at"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"every"},"every_seconds":{"type":"number"}},"required":["kind","every_seconds"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"daily"},"daily":{"type":"object","properties":{"time":{"type":"string","description":"Local HH:mm:ss time with optional one-to-three fractional digits."},"time_zone":{"type":"string","description":"Explicit UTC or IANA Area/Location zone."}},"required":["time","time_zone"],"additionalProperties":false}},"required":["kind","daily"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"weekly"},"weekly":{"type":"object","properties":{"time":{"type":"string","description":"Local HH:mm:ss time with optional one-to-three fractional digits."},"time_zone":{"type":"string","description":"Explicit UTC or IANA Area/Location zone."},"weekdays":{"type":"array","items":{"type":"number"},"description":"Non-empty ISO weekday set, Monday 1 through Sunday 7, without repetitions."}},"required":["time","time_zone","weekdays"],"additionalProperties":false}},"required":["kind","weekly"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"cron"},"cron":{"type":"object","properties":{"expression":{"type":"string","description":"Five-field Vixie cron expression: minute hour day-of-month month day-of-week."},"time_zone":{"type":"string","description":"Explicit UTC or IANA Area/Location zone."}},"required":["expression","time_zone"],"additionalProperties":false}},"required":["kind","cron"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"rrule"},"rrule":{"type":"string"}},"required":["kind","rrule"],"additionalProperties":false}],"description":"Replacement timing; a changed rule recomputes the next occurrence."},"target":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"session","description":"Deliver to one existing Session that is not a delegated child."},"sessionId":{"type":"string","description":"Existing Session that receives each delivery."}},"required":["kind","sessionId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"new_once","description":"Create one Session at the first delivery."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":false,"description":"Creation values; omission uses the Host defaults."}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"new","description":"Create a fresh Session at each delivery."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":false,"description":"Creation values; omission uses the Host defaults."}},"required":["kind"],"additionalProperties":false}],"description":"Replacement destination."},"active":{"type":"boolean","description":"`false` pauses the task; `true` resumes a recurrence from its first future occurrence."}},"required":[],"additionalProperties":false,"description":"Fields to change; at least one member is required."},"expectedUpdatedAt":{"oneOf":[{"type":"null","const":null},{"type":"string"}],"description":"`updatedAt` value that the editor read; a different stored value returns `schedule_conflict`."}},"required":["id","action","patch"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","description":"Task to remove."},"action":{"type":"string","const":"delete","description":"Remove the task and its saved deliveries."},"expectedUpdatedAt":{"oneOf":[{"type":"null","const":null},{"type":"string"}],"description":"`updatedAt` value that the editor read; a different stored value returns `schedule_conflict`."}},"required":["id","action"],"additionalProperties":false}]},
490
1993
  },
491
1994
  },
492
1995
  ],
493
1996
  cancellation: { parameter: 'signal' },
494
1997
  result: {
495
1998
  mode: 'strict',
496
- typeSymbol: '@qilin-agent/schedule/client#ScheduleDeleteResult',
497
- create: _qilin_agent_schedule_schedule_delete_result$schema,
498
- description: 'Whether that Session owned a deleted task. Cancellation does not roll back an in-flight write.',
499
- jsonSchema: {"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"deleted":{"type":"boolean","const":true}},"required":["id","deleted"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string"},"deleted":{"type":"boolean","const":false},"code":{"type":"string","const":"schedule_not_found"}},"required":["id","deleted","code"],"additionalProperties":true}]},
1999
+ typeSymbol: '@qilin-agent/schedule/client#ScheduleEditResult',
2000
+ create: _qilin_agent_schedule_schedule_edit_result$schema,
2001
+ description: 'The updated task, the deletion outcome, or a non-mutating miss or conflict.',
2002
+ jsonSchemaError: 'typert tool schema: selected union branches overlap or have no required discriminator',
500
2003
  },
501
- sourceLocation: {"file":"packages/schedule/schedule/src/index.ts","line":327,"column":9},
2004
+ sourceLocation: {"file":"packages/schedule/schedule/src/index.ts","line":543,"column":9},
502
2005
  },
503
2006
  'schedule/history': {
504
2007
  service: 'schedule',
505
- description: 'Read saved inbox deliveries without activating or reading the original Session. The task\'s own row supplies its binding, so its records stay readable through this lookup.',
2008
+ description: 'Remote form of the target-based {@link ScheduleService.history}; an invalid limit rejects with `schedule/input-invalid`.',
2009
+ implementation: 'remoteHistory',
506
2010
  invocation: { kind: 'direct' },
507
2011
  parameters: [
508
2012
  {
509
2013
  name: 'request',
510
- description: 'Session binding, task identity, explicit limit, and optional exclusive message cursor.',
2014
+ description: 'Task identity, explicit limit, and optional exclusive message cursor.',
511
2015
  source: 'json',
512
2016
  codec: {
513
2017
  mode: 'strict',
514
2018
  typeSymbol: '@qilin-agent/schedule/client#ScheduleDeliveryHistoryRequest',
515
2019
  create: _qilin_agent_schedule_schedule_history_parameter_0$schema,
516
- jsonSchema: {"type":"object","properties":{"limit":{"type":"number","description":"Required safe-integer page size from 1 through 100."},"before":{"type":"string","description":"Message identity of the oldest entry in the previous page; excluded from this page."},"id":{"type":"string","description":"Task to remove."},"sessionId":{"type":"string","description":"Original Session binding."}},"required":["limit","id","sessionId"],"additionalProperties":true},
2020
+ jsonSchema: {"type":"object","properties":{"id":{"type":"string","description":"Task whose saved deliveries are read."},"limit":{"type":"number","description":"Required safe-integer page size from 1 through 100."},"before":{"type":"string","description":"Message identity of the oldest entry in the previous page; excluded from this page."}},"required":["id","limit"],"additionalProperties":true},
517
2021
  },
518
2022
  strictCodec: {
519
2023
  mode: 'strict',
520
2024
  typeSymbol: '@qilin-agent/schedule/client#ScheduleDeliveryHistoryRequest',
521
2025
  create: _qilin_agent_schedule_schedule_history_parameter_0_strict$schema,
522
- jsonSchema: {"type":"object","properties":{"limit":{"type":"number","description":"Required safe-integer page size from 1 through 100."},"before":{"type":"string","description":"Message identity of the oldest entry in the previous page; excluded from this page."},"id":{"type":"string","description":"Task to remove."},"sessionId":{"type":"string","description":"Original Session binding."}},"required":["limit","id","sessionId"],"additionalProperties":false},
2026
+ jsonSchema: {"type":"object","properties":{"id":{"type":"string","description":"Task whose saved deliveries are read."},"limit":{"type":"number","description":"Required safe-integer page size from 1 through 100."},"before":{"type":"string","description":"Message identity of the oldest entry in the previous page; excluded from this page."}},"required":["id","limit"],"additionalProperties":false},
523
2027
  },
524
2028
  },
525
2029
  ],
@@ -530,72 +2034,105 @@ export const TYPERT_REMOTE = createTypertRemoteInfo({
530
2034
  description: 'Newest-first deliveries in append order, or a task/cursor lookup failure.',
531
2035
  jsonSchemaError: 'typert tool schema: selected union branches overlap or have no required discriminator',
532
2036
  },
533
- sourceLocation: {"file":"packages/schedule/schedule/src/index.ts","line":304,"column":9},
2037
+ sourceLocation: {"file":"packages/schedule/schedule/src/index.ts","line":485,"column":9},
534
2038
  },
535
2039
  'schedule/list': {
536
2040
  service: 'schedule',
537
- description: 'Read the selected Session\'s active tasks without resuming its Agent.',
2041
+ description: 'Remote form of the shared Host-wide list.',
2042
+ implementation: 'remoteList',
538
2043
  invocation: { kind: 'direct' },
539
2044
  parameters: [
540
2045
  {
541
2046
  name: 'request',
542
- description: 'Session whose task list is requested.',
2047
+ description: 'Optional activity filter, page size, and offset.',
543
2048
  source: 'json',
544
2049
  codec: {
545
2050
  mode: 'strict',
546
2051
  typeSymbol: '@qilin-agent/schedule/client#ScheduleListRequest',
547
2052
  create: _qilin_agent_schedule_schedule_list_parameter_0$schema,
548
- jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string","description":"Original Session binding."}},"required":["sessionId"],"additionalProperties":true},
2053
+ jsonSchema: {"type":"object","properties":{"active":{"type":"boolean","description":"`true` lists only active tasks; `false` lists only paused and ended tasks; omission lists all tasks."},"limit":{"type":"number","description":"Page size from 1 through 500; the default is 100."},"offset":{"type":"number","description":"Number of sorted tasks to skip; the default is 0."}},"required":[],"additionalProperties":true},
549
2054
  },
550
2055
  strictCodec: {
551
2056
  mode: 'strict',
552
2057
  typeSymbol: '@qilin-agent/schedule/client#ScheduleListRequest',
553
2058
  create: _qilin_agent_schedule_schedule_list_parameter_0_strict$schema,
554
- jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string","description":"Original Session binding."}},"required":["sessionId"],"additionalProperties":false},
2059
+ jsonSchema: {"type":"object","properties":{"active":{"type":"boolean","description":"`true` lists only active tasks; `false` lists only paused and ended tasks; omission lists all tasks."},"limit":{"type":"number","description":"Page size from 1 through 500; the default is 100."},"offset":{"type":"number","description":"Number of sorted tasks to skip; the default is 0."}},"required":[],"additionalProperties":false},
555
2060
  },
556
2061
  },
557
2062
  ],
558
2063
  result: {
559
2064
  mode: 'strict',
560
- typeSymbol: '@qilin-agent/schedule#schedule/list:result',
2065
+ typeSymbol: '@qilin-agent/schedule/client#ScheduleListResult',
561
2066
  create: _qilin_agent_schedule_schedule_list_result$schema,
562
- description: 'Persisted reminders in storage order.',
563
- jsonSchema: {"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"after","description":"Rule discriminator for a delayed one-shot reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"afterSeconds":{"type":"number","description":"Positive safe-integer delay accepted at creation."},"scheduledAt":{"type":"string","description":"Four-digit-year RFC 3339 UTC target."}},"required":["id","kind","title","prompt","afterSeconds","scheduledAt"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"at","description":"Rule discriminator for an absolute one-shot reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"scheduledAt":{"type":"string","description":"Four-digit-year RFC 3339 UTC target."}},"required":["id","kind","title","prompt","scheduledAt"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"every","description":"Rule discriminator for a fixed-rate recurring reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"everySeconds":{"type":"number","description":"Fixed safe-integer interval, never below one minute."},"scheduledAt":{"type":"string","description":"Next anchor-aligned occurrence while active, or final occurrence when inactive."}},"required":["id","kind","title","prompt","everySeconds","scheduledAt"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"daily","description":"Rule discriminator for a daily wall-clock reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"time":{"type":"string","description":"Local time normalized to HH:mm:ss.SSS."},"timeZone":{"type":"string","description":"Explicit IANA zone; equivalent timing edits retain the stored spelling."},"scheduledAt":{"type":"string","description":"Committed next UTC instant while active, or final occurrence when inactive."}},"required":["id","kind","title","prompt","time","timeZone","scheduledAt"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"weekly","description":"Rule discriminator for a weekly wall-clock reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"time":{"type":"string","description":"Local time normalized to HH:mm:ss.SSS."},"timeZone":{"type":"string","description":"Explicit canonical IANA zone; equivalent timing edits retain the stored spelling."},"weekdays":{"type":"array","items":{"type":"number"},"description":"Unique ascending ISO weekdays, Monday 1 through Sunday 7."},"scheduledAt":{"type":"string","description":"Committed next UTC instant while active, or final occurrence when inactive."}},"required":["id","kind","title","prompt","time","timeZone","weekdays","scheduledAt"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"cron","description":"Rule discriminator for a five-field cron wall-clock reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"expression":{"type":"string","description":"Canonical five-field cron expression: minute hour day-of-month month day-of-week."},"timeZone":{"type":"string","description":"Explicit IANA zone; equivalent timing edits retain the stored spelling."},"scheduledAt":{"type":"string","description":"Committed next UTC instant while active, or final occurrence when inactive."}},"required":["id","kind","title","prompt","expression","timeZone","scheduledAt"],"additionalProperties":true}]}},
2067
+ description: 'The requested page and total matching task count.',
2068
+ jsonSchema: {"type":"object","properties":{"items":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"after","description":"Rule discriminator for a delayed one-shot reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"afterSeconds":{"type":"number","description":"Positive safe-integer delay accepted at creation."},"scheduledAt":{"type":"string","description":"Four-digit-year RFC 3339 UTC target."},"target":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"session","description":"Every occurrence goes to one existing Session."},"sessionId":{"type":"string","description":"Session that receives each delivery."}},"required":["kind","sessionId"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new_once","description":"The first delivery creates one Session; later deliveries go to that Session."},"sessionId":{"type":"string","description":"Reserved at creation; the first delivery creates it and the target becomes `session`."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create the reserved Session."}},"required":["kind","sessionId","create"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new","description":"Every delivery creates a fresh Session."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create each Session."}},"required":["kind","create"],"additionalProperties":true}],"description":"Destination of the next delivery."},"involvedSessionIds":{"type":"array","items":{"type":"string"},"description":"Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded."},"status":{"type":"string","enum":["active","paused","ended"],"description":"Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible."},"createdAt":{"type":"string","description":"Canonical UTC creation time."},"updatedAt":{"type":"string","description":"Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`."},"executionActive":{"type":"boolean","const":true,"description":"The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it."},"deliveryFloorEndsAt":{"type":"string","description":"End of the minimum delivery interval, present while it remains in the future."},"lastDelivery":{"type":"object","properties":{"scheduledAt":{"type":"string","description":"Canonical UTC target of the delivered occurrence."},"deliveredAt":{"type":"string","description":"Canonical UTC time sampled after Session persistence acknowledged delivery."},"messageId":{"type":"string","description":"Identity of the delivered message, shared by tasks in one recurring batch."},"targetSessionId":{"type":"string","description":"Session that durably accepted the delivered message."}},"required":["scheduledAt","deliveredAt","messageId","targetSessionId"],"additionalProperties":true,"description":"Most recent durably acknowledged inbox delivery, when available."}},"required":["id","kind","title","prompt","afterSeconds","scheduledAt","target","involvedSessionIds","status"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"at","description":"Rule discriminator for an absolute one-shot reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"scheduledAt":{"type":"string","description":"Four-digit-year RFC 3339 UTC target."},"target":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"session","description":"Every occurrence goes to one existing Session."},"sessionId":{"type":"string","description":"Session that receives each delivery."}},"required":["kind","sessionId"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new_once","description":"The first delivery creates one Session; later deliveries go to that Session."},"sessionId":{"type":"string","description":"Reserved at creation; the first delivery creates it and the target becomes `session`."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create the reserved Session."}},"required":["kind","sessionId","create"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new","description":"Every delivery creates a fresh Session."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create each Session."}},"required":["kind","create"],"additionalProperties":true}],"description":"Destination of the next delivery."},"involvedSessionIds":{"type":"array","items":{"type":"string"},"description":"Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded."},"status":{"type":"string","enum":["active","paused","ended"],"description":"Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible."},"createdAt":{"type":"string","description":"Canonical UTC creation time."},"updatedAt":{"type":"string","description":"Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`."},"executionActive":{"type":"boolean","const":true,"description":"The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it."},"deliveryFloorEndsAt":{"type":"string","description":"End of the minimum delivery interval, present while it remains in the future."},"lastDelivery":{"type":"object","properties":{"scheduledAt":{"type":"string","description":"Canonical UTC target of the delivered occurrence."},"deliveredAt":{"type":"string","description":"Canonical UTC time sampled after Session persistence acknowledged delivery."},"messageId":{"type":"string","description":"Identity of the delivered message, shared by tasks in one recurring batch."},"targetSessionId":{"type":"string","description":"Session that durably accepted the delivered message."}},"required":["scheduledAt","deliveredAt","messageId","targetSessionId"],"additionalProperties":true,"description":"Most recent durably acknowledged inbox delivery, when available."}},"required":["id","kind","title","prompt","scheduledAt","target","involvedSessionIds","status"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"every","description":"Rule discriminator for a fixed-rate recurring reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"everySeconds":{"type":"number","description":"Fixed safe-integer interval, never below one minute."},"scheduledAt":{"type":"string","description":"Next anchor-aligned occurrence while active, or final occurrence when inactive."},"target":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"session","description":"Every occurrence goes to one existing Session."},"sessionId":{"type":"string","description":"Session that receives each delivery."}},"required":["kind","sessionId"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new_once","description":"The first delivery creates one Session; later deliveries go to that Session."},"sessionId":{"type":"string","description":"Reserved at creation; the first delivery creates it and the target becomes `session`."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create the reserved Session."}},"required":["kind","sessionId","create"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new","description":"Every delivery creates a fresh Session."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create each Session."}},"required":["kind","create"],"additionalProperties":true}],"description":"Destination of the next delivery."},"involvedSessionIds":{"type":"array","items":{"type":"string"},"description":"Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded."},"status":{"type":"string","enum":["active","paused","ended"],"description":"Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible."},"createdAt":{"type":"string","description":"Canonical UTC creation time."},"updatedAt":{"type":"string","description":"Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`."},"executionActive":{"type":"boolean","const":true,"description":"The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it."},"deliveryFloorEndsAt":{"type":"string","description":"End of the minimum delivery interval, present while it remains in the future."},"lastDelivery":{"type":"object","properties":{"scheduledAt":{"type":"string","description":"Canonical UTC target of the delivered occurrence."},"deliveredAt":{"type":"string","description":"Canonical UTC time sampled after Session persistence acknowledged delivery."},"messageId":{"type":"string","description":"Identity of the delivered message, shared by tasks in one recurring batch."},"targetSessionId":{"type":"string","description":"Session that durably accepted the delivered message."}},"required":["scheduledAt","deliveredAt","messageId","targetSessionId"],"additionalProperties":true,"description":"Most recent durably acknowledged inbox delivery, when available."}},"required":["id","kind","title","prompt","everySeconds","scheduledAt","target","involvedSessionIds","status"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"daily","description":"Rule discriminator for a daily wall-clock reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"time":{"type":"string","description":"Local time normalized to HH:mm:ss.SSS."},"timeZone":{"type":"string","description":"Explicit IANA zone; equivalent timing edits retain the stored spelling."},"scheduledAt":{"type":"string","description":"Committed next UTC instant while active, or final occurrence when inactive."},"target":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"session","description":"Every occurrence goes to one existing Session."},"sessionId":{"type":"string","description":"Session that receives each delivery."}},"required":["kind","sessionId"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new_once","description":"The first delivery creates one Session; later deliveries go to that Session."},"sessionId":{"type":"string","description":"Reserved at creation; the first delivery creates it and the target becomes `session`."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create the reserved Session."}},"required":["kind","sessionId","create"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new","description":"Every delivery creates a fresh Session."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create each Session."}},"required":["kind","create"],"additionalProperties":true}],"description":"Destination of the next delivery."},"involvedSessionIds":{"type":"array","items":{"type":"string"},"description":"Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded."},"status":{"type":"string","enum":["active","paused","ended"],"description":"Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible."},"createdAt":{"type":"string","description":"Canonical UTC creation time."},"updatedAt":{"type":"string","description":"Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`."},"executionActive":{"type":"boolean","const":true,"description":"The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it."},"deliveryFloorEndsAt":{"type":"string","description":"End of the minimum delivery interval, present while it remains in the future."},"lastDelivery":{"type":"object","properties":{"scheduledAt":{"type":"string","description":"Canonical UTC target of the delivered occurrence."},"deliveredAt":{"type":"string","description":"Canonical UTC time sampled after Session persistence acknowledged delivery."},"messageId":{"type":"string","description":"Identity of the delivered message, shared by tasks in one recurring batch."},"targetSessionId":{"type":"string","description":"Session that durably accepted the delivered message."}},"required":["scheduledAt","deliveredAt","messageId","targetSessionId"],"additionalProperties":true,"description":"Most recent durably acknowledged inbox delivery, when available."}},"required":["id","kind","title","prompt","time","timeZone","scheduledAt","target","involvedSessionIds","status"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"weekly","description":"Rule discriminator for a weekly wall-clock reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"time":{"type":"string","description":"Local time normalized to HH:mm:ss.SSS."},"timeZone":{"type":"string","description":"Explicit canonical IANA zone; equivalent timing edits retain the stored spelling."},"weekdays":{"type":"array","items":{"type":"number"},"description":"Unique ascending ISO weekdays, Monday 1 through Sunday 7."},"scheduledAt":{"type":"string","description":"Committed next UTC instant while active, or final occurrence when inactive."},"target":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"session","description":"Every occurrence goes to one existing Session."},"sessionId":{"type":"string","description":"Session that receives each delivery."}},"required":["kind","sessionId"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new_once","description":"The first delivery creates one Session; later deliveries go to that Session."},"sessionId":{"type":"string","description":"Reserved at creation; the first delivery creates it and the target becomes `session`."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create the reserved Session."}},"required":["kind","sessionId","create"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new","description":"Every delivery creates a fresh Session."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create each Session."}},"required":["kind","create"],"additionalProperties":true}],"description":"Destination of the next delivery."},"involvedSessionIds":{"type":"array","items":{"type":"string"},"description":"Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded."},"status":{"type":"string","enum":["active","paused","ended"],"description":"Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible."},"createdAt":{"type":"string","description":"Canonical UTC creation time."},"updatedAt":{"type":"string","description":"Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`."},"executionActive":{"type":"boolean","const":true,"description":"The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it."},"deliveryFloorEndsAt":{"type":"string","description":"End of the minimum delivery interval, present while it remains in the future."},"lastDelivery":{"type":"object","properties":{"scheduledAt":{"type":"string","description":"Canonical UTC target of the delivered occurrence."},"deliveredAt":{"type":"string","description":"Canonical UTC time sampled after Session persistence acknowledged delivery."},"messageId":{"type":"string","description":"Identity of the delivered message, shared by tasks in one recurring batch."},"targetSessionId":{"type":"string","description":"Session that durably accepted the delivered message."}},"required":["scheduledAt","deliveredAt","messageId","targetSessionId"],"additionalProperties":true,"description":"Most recent durably acknowledged inbox delivery, when available."}},"required":["id","kind","title","prompt","time","timeZone","weekdays","scheduledAt","target","involvedSessionIds","status"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"cron","description":"Rule discriminator for a five-field cron wall-clock reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"expression":{"type":"string","description":"Canonical five-field cron expression: minute hour day-of-month month day-of-week."},"timeZone":{"type":"string","description":"Explicit IANA zone; equivalent timing edits retain the stored spelling."},"scheduledAt":{"type":"string","description":"Committed next UTC instant while active, or final occurrence when inactive."},"target":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"session","description":"Every occurrence goes to one existing Session."},"sessionId":{"type":"string","description":"Session that receives each delivery."}},"required":["kind","sessionId"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new_once","description":"The first delivery creates one Session; later deliveries go to that Session."},"sessionId":{"type":"string","description":"Reserved at creation; the first delivery creates it and the target becomes `session`."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create the reserved Session."}},"required":["kind","sessionId","create"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new","description":"Every delivery creates a fresh Session."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create each Session."}},"required":["kind","create"],"additionalProperties":true}],"description":"Destination of the next delivery."},"involvedSessionIds":{"type":"array","items":{"type":"string"},"description":"Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded."},"status":{"type":"string","enum":["active","paused","ended"],"description":"Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible."},"createdAt":{"type":"string","description":"Canonical UTC creation time."},"updatedAt":{"type":"string","description":"Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`."},"executionActive":{"type":"boolean","const":true,"description":"The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it."},"deliveryFloorEndsAt":{"type":"string","description":"End of the minimum delivery interval, present while it remains in the future."},"lastDelivery":{"type":"object","properties":{"scheduledAt":{"type":"string","description":"Canonical UTC target of the delivered occurrence."},"deliveredAt":{"type":"string","description":"Canonical UTC time sampled after Session persistence acknowledged delivery."},"messageId":{"type":"string","description":"Identity of the delivered message, shared by tasks in one recurring batch."},"targetSessionId":{"type":"string","description":"Session that durably accepted the delivered message."}},"required":["scheduledAt","deliveredAt","messageId","targetSessionId"],"additionalProperties":true,"description":"Most recent durably acknowledged inbox delivery, when available."}},"required":["id","kind","title","prompt","expression","timeZone","scheduledAt","target","involvedSessionIds","status"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"rrule"},"id":{"type":"string","description":"Host-generated canonical identity."},"title":{"type":"string","description":"Task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed instruction sent when an occurrence becomes due."},"rrule":{"type":"string","description":"One normalized DTSTART line and one RRULE line."},"scheduledAt":{"type":"string","description":"Next unaccepted occurrence while active, or the final accepted occurrence when ended."},"target":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"session","description":"Every occurrence goes to one existing Session."},"sessionId":{"type":"string","description":"Session that receives each delivery."}},"required":["kind","sessionId"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new_once","description":"The first delivery creates one Session; later deliveries go to that Session."},"sessionId":{"type":"string","description":"Reserved at creation; the first delivery creates it and the target becomes `session`."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create the reserved Session."}},"required":["kind","sessionId","create"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"new","description":"Every delivery creates a fresh Session."},"create":{"type":"object","properties":{"cwd":{"type":"string","description":"Project directory of the created Session, which joins the Workspace registered there; omission uses the Host project directory."},"agentPreset":{"type":"string","description":"Agent preset of the created Session; omission uses the default preset."}},"required":[],"additionalProperties":true,"description":"Values used to create each Session."}},"required":["kind","create"],"additionalProperties":true}],"description":"Destination of the next delivery."},"involvedSessionIds":{"type":"array","items":{"type":"string"},"description":"Sessions told about later changes while their Agent is live: the creating and editing Agent Sessions and each existing or reserved target Session. Sessions created by a `new` target are excluded."},"status":{"type":"string","enum":["active","paused","ended"],"description":"Only `active` tasks have a timer obligation; `paused` and `ended` tasks stay visible."},"createdAt":{"type":"string","description":"Canonical UTC creation time."},"updatedAt":{"type":"string","description":"Canonical UTC time of the latest stored change; editors send it back as `expectedUpdatedAt`."},"executionActive":{"type":"boolean","const":true,"description":"The latest delivery is queued or running in its reused target Session; a `new` target, whose deliveries run beside one another, never sets it."},"deliveryFloorEndsAt":{"type":"string","description":"End of the minimum delivery interval, present while it remains in the future."},"lastDelivery":{"type":"object","properties":{"scheduledAt":{"type":"string","description":"Canonical UTC target of the delivered occurrence."},"deliveredAt":{"type":"string","description":"Canonical UTC time sampled after Session persistence acknowledged delivery."},"messageId":{"type":"string","description":"Identity of the delivered message, shared by tasks in one recurring batch."},"targetSessionId":{"type":"string","description":"Session that durably accepted the delivered message."}},"required":["scheduledAt","deliveredAt","messageId","targetSessionId"],"additionalProperties":true,"description":"Most recent durably acknowledged inbox delivery, when available."}},"required":["kind","id","title","prompt","rrule","scheduledAt","target","involvedSessionIds","status"],"additionalProperties":true}]},"description":"Tasks in this page."},"shown":{"type":"number","description":"Number of tasks in this page."},"total":{"type":"number","description":"Number of tasks that match the filter."},"limit":{"type":"number","description":"Applied page size."},"offset":{"type":"number","description":"Applied offset."}},"required":["items","shown","total","limit","offset"],"additionalProperties":true},
564
2069
  },
565
- sourceLocation: {"file":"packages/schedule/schedule/src/index.ts","line":272,"column":9},
2070
+ sourceLocation: {"file":"packages/schedule/schedule/src/index.ts","line":435,"column":9},
566
2071
  },
567
- 'schedule/update': {
2072
+ 'schedule/run': {
568
2073
  service: 'schedule',
569
- description: 'Update the name, instruction, and timing of an active task within the original Session binding without activating the Session or changing saved deliveries. Each supplied field replaces its stored value; an omitted field keeps it. A name or instruction change alone does not reset the committed target. A Session a delegated child owns returns the non-mutating `subagent_session` result, so an edit cannot re-arm a task bound to a Session delivery can never reach, and the Web editor can explain the refusal through the ordinary result it already renders.',
2074
+ description: 'Deliver one task now without consuming or moving its scheduled occurrence; an archived destination Session rejects with `schedule/target-archived`.',
570
2075
  invocation: { kind: 'direct' },
571
2076
  parameters: [
572
2077
  {
573
2078
  name: 'request',
574
- description: 'Task binding, complete observed record, and any combination of timing, name, and instruction.',
2079
+ description: 'Task identity.',
575
2080
  source: 'json',
576
2081
  codec: {
577
2082
  mode: 'strict',
578
- typeSymbol: '@qilin-agent/schedule/client#ScheduleUpdateRequest',
579
- create: _qilin_agent_schedule_schedule_update_parameter_0$schema,
580
- jsonSchema: {"type":"object","properties":{"expected":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"after","description":"Rule discriminator for a delayed one-shot reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"afterSeconds":{"type":"number","description":"Positive safe-integer delay accepted at creation."},"scheduledAt":{"type":"string","description":"Four-digit-year RFC 3339 UTC target."}},"required":["id","kind","title","prompt","afterSeconds","scheduledAt"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"at","description":"Rule discriminator for an absolute one-shot reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"scheduledAt":{"type":"string","description":"Four-digit-year RFC 3339 UTC target."}},"required":["id","kind","title","prompt","scheduledAt"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"every","description":"Rule discriminator for a fixed-rate recurring reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"everySeconds":{"type":"number","description":"Fixed safe-integer interval, never below one minute."},"scheduledAt":{"type":"string","description":"Next anchor-aligned occurrence while active, or final occurrence when inactive."}},"required":["id","kind","title","prompt","everySeconds","scheduledAt"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"daily","description":"Rule discriminator for a daily wall-clock reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"time":{"type":"string","description":"Local time normalized to HH:mm:ss.SSS."},"timeZone":{"type":"string","description":"Explicit IANA zone; equivalent timing edits retain the stored spelling."},"scheduledAt":{"type":"string","description":"Committed next UTC instant while active, or final occurrence when inactive."}},"required":["id","kind","title","prompt","time","timeZone","scheduledAt"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"weekly","description":"Rule discriminator for a weekly wall-clock reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"time":{"type":"string","description":"Local time normalized to HH:mm:ss.SSS."},"timeZone":{"type":"string","description":"Explicit canonical IANA zone; equivalent timing edits retain the stored spelling."},"weekdays":{"type":"array","items":{"type":"number"},"description":"Unique ascending ISO weekdays, Monday 1 through Sunday 7."},"scheduledAt":{"type":"string","description":"Committed next UTC instant while active, or final occurrence when inactive."}},"required":["id","kind","title","prompt","time","timeZone","weekdays","scheduledAt"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"cron","description":"Rule discriminator for a five-field cron wall-clock reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"expression":{"type":"string","description":"Canonical five-field cron expression: minute hour day-of-month month day-of-week."},"timeZone":{"type":"string","description":"Explicit IANA zone; equivalent timing edits retain the stored spelling."},"scheduledAt":{"type":"string","description":"Committed next UTC instant while active, or final occurrence when inactive."}},"required":["id","kind","title","prompt","expression","timeZone","scheduledAt"],"additionalProperties":true}],"description":"Complete record observed when editing began, including the committed target."},"change":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"at"},"at":{"oneOf":[{"type":"string"},{"type":"object","properties":{"date":{"type":"string","description":"Four-digit ISO calendar date."},"time":{"type":"string","description":"Local wall-clock time with optional one-to-three digit milliseconds."},"time_zone":{"type":"string","description":"Explicit UTC or IANA Area/Location zone."}},"required":["date","time","time_zone"],"additionalProperties":true}]}},"required":["kind","at"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"every"},"every_seconds":{"type":"number"}},"required":["kind","every_seconds"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"daily"},"daily":{"type":"object","properties":{"time":{"type":"string","description":"Local HH:mm:ss time with optional one-to-three fractional digits."},"time_zone":{"type":"string","description":"Explicit UTC or IANA Area/Location zone."}},"required":["time","time_zone"],"additionalProperties":true}},"required":["kind","daily"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"weekly"},"weekly":{"type":"object","properties":{"time":{"type":"string","description":"Local HH:mm:ss time with optional one-to-three fractional digits."},"time_zone":{"type":"string","description":"Explicit UTC or IANA Area/Location zone."},"weekdays":{"type":"array","items":{"type":"number"},"description":"Non-empty ISO weekday set, Monday 1 through Sunday 7, without repetitions."}},"required":["time","time_zone","weekdays"],"additionalProperties":true}},"required":["kind","weekly"],"additionalProperties":true},{"type":"object","properties":{"kind":{"type":"string","const":"cron"},"cron":{"type":"object","properties":{"expression":{"type":"string","description":"Five-field Vixie cron expression: minute hour day-of-month month day-of-week."},"time_zone":{"type":"string","description":"Explicit UTC or IANA Area/Location zone."}},"required":["expression","time_zone"],"additionalProperties":true}},"required":["kind","cron"],"additionalProperties":true}],"description":"New timing; its kind may differ from the stored record's kind, and an omitted value keeps the committed target."},"id":{"type":"string","description":"Task to remove."},"sessionId":{"type":"string","description":"Original Session binding."},"title":{"type":"string","description":"Task name of at most 120 characters, non-empty after trimming; omitted keeps the stored name."},"prompt":{"type":"string","description":"Reminder instruction, non-empty after trimming; omitted keeps the stored instruction."}},"required":["expected","id","sessionId"],"additionalProperties":true},
2083
+ typeSymbol: '@qilin-agent/schedule/client#ScheduleRunRequest',
2084
+ create: _qilin_agent_schedule_schedule_run_parameter_0$schema,
2085
+ jsonSchema: {"type":"object","properties":{"id":{"type":"string","description":"Task to run now."}},"required":["id"],"additionalProperties":true},
581
2086
  },
582
2087
  strictCodec: {
583
2088
  mode: 'strict',
584
- typeSymbol: '@qilin-agent/schedule/client#ScheduleUpdateRequest',
585
- create: _qilin_agent_schedule_schedule_update_parameter_0_strict$schema,
586
- jsonSchema: {"type":"object","properties":{"expected":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"after","description":"Rule discriminator for a delayed one-shot reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"afterSeconds":{"type":"number","description":"Positive safe-integer delay accepted at creation."},"scheduledAt":{"type":"string","description":"Four-digit-year RFC 3339 UTC target."}},"required":["id","kind","title","prompt","afterSeconds","scheduledAt"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"at","description":"Rule discriminator for an absolute one-shot reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"scheduledAt":{"type":"string","description":"Four-digit-year RFC 3339 UTC target."}},"required":["id","kind","title","prompt","scheduledAt"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"every","description":"Rule discriminator for a fixed-rate recurring reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"everySeconds":{"type":"number","description":"Fixed safe-integer interval, never below one minute."},"scheduledAt":{"type":"string","description":"Next anchor-aligned occurrence while active, or final occurrence when inactive."}},"required":["id","kind","title","prompt","everySeconds","scheduledAt"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"daily","description":"Rule discriminator for a daily wall-clock reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"time":{"type":"string","description":"Local time normalized to HH:mm:ss.SSS."},"timeZone":{"type":"string","description":"Explicit IANA zone; equivalent timing edits retain the stored spelling."},"scheduledAt":{"type":"string","description":"Committed next UTC instant while active, or final occurrence when inactive."}},"required":["id","kind","title","prompt","time","timeZone","scheduledAt"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"weekly","description":"Rule discriminator for a weekly wall-clock reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"time":{"type":"string","description":"Local time normalized to HH:mm:ss.SSS."},"timeZone":{"type":"string","description":"Explicit canonical IANA zone; equivalent timing edits retain the stored spelling."},"weekdays":{"type":"array","items":{"type":"number"},"description":"Unique ascending ISO weekdays, Monday 1 through Sunday 7."},"scheduledAt":{"type":"string","description":"Committed next UTC instant while active, or final occurrence when inactive."}},"required":["id","kind","title","prompt","time","timeZone","weekdays","scheduledAt"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","description":"Globally unique task identity."},"kind":{"type":"string","const":"cron","description":"Rule discriminator for a five-field cron wall-clock reminder."},"title":{"type":"string","description":"Required stored task name; already trimmed, non-empty, and at most 120 characters."},"prompt":{"type":"string","description":"Trimmed reminder content supplied at creation."},"expression":{"type":"string","description":"Canonical five-field cron expression: minute hour day-of-month month day-of-week."},"timeZone":{"type":"string","description":"Explicit IANA zone; equivalent timing edits retain the stored spelling."},"scheduledAt":{"type":"string","description":"Committed next UTC instant while active, or final occurrence when inactive."}},"required":["id","kind","title","prompt","expression","timeZone","scheduledAt"],"additionalProperties":false}],"description":"Complete record observed when editing began, including the committed target."},"change":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"at"},"at":{"oneOf":[{"type":"string"},{"type":"object","properties":{"date":{"type":"string","description":"Four-digit ISO calendar date."},"time":{"type":"string","description":"Local wall-clock time with optional one-to-three digit milliseconds."},"time_zone":{"type":"string","description":"Explicit UTC or IANA Area/Location zone."}},"required":["date","time","time_zone"],"additionalProperties":false}]}},"required":["kind","at"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"every"},"every_seconds":{"type":"number"}},"required":["kind","every_seconds"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"daily"},"daily":{"type":"object","properties":{"time":{"type":"string","description":"Local HH:mm:ss time with optional one-to-three fractional digits."},"time_zone":{"type":"string","description":"Explicit UTC or IANA Area/Location zone."}},"required":["time","time_zone"],"additionalProperties":false}},"required":["kind","daily"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"weekly"},"weekly":{"type":"object","properties":{"time":{"type":"string","description":"Local HH:mm:ss time with optional one-to-three fractional digits."},"time_zone":{"type":"string","description":"Explicit UTC or IANA Area/Location zone."},"weekdays":{"type":"array","items":{"type":"number"},"description":"Non-empty ISO weekday set, Monday 1 through Sunday 7, without repetitions."}},"required":["time","time_zone","weekdays"],"additionalProperties":false}},"required":["kind","weekly"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"cron"},"cron":{"type":"object","properties":{"expression":{"type":"string","description":"Five-field Vixie cron expression: minute hour day-of-month month day-of-week."},"time_zone":{"type":"string","description":"Explicit UTC or IANA Area/Location zone."}},"required":["expression","time_zone"],"additionalProperties":false}},"required":["kind","cron"],"additionalProperties":false}],"description":"New timing; its kind may differ from the stored record's kind, and an omitted value keeps the committed target."},"id":{"type":"string","description":"Task to remove."},"sessionId":{"type":"string","description":"Original Session binding."},"title":{"type":"string","description":"Task name of at most 120 characters, non-empty after trimming; omitted keeps the stored name."},"prompt":{"type":"string","description":"Reminder instruction, non-empty after trimming; omitted keeps the stored instruction."}},"required":["expected","id","sessionId"],"additionalProperties":false},
2089
+ typeSymbol: '@qilin-agent/schedule/client#ScheduleRunRequest',
2090
+ create: _qilin_agent_schedule_schedule_run_parameter_0_strict$schema,
2091
+ jsonSchema: {"type":"object","properties":{"id":{"type":"string","description":"Task to run now."}},"required":["id"],"additionalProperties":false},
587
2092
  },
588
2093
  },
589
2094
  ],
590
2095
  cancellation: { parameter: 'signal' },
591
2096
  result: {
592
2097
  mode: 'strict',
593
- typeSymbol: '@qilin-agent/schedule/client#ScheduleUpdateResult',
594
- create: _qilin_agent_schedule_schedule_update_result$schema,
595
- description: 'The committed record, unchanged record for a no-op, or a non-mutating input/lookup/conflict/refusal result. Storage and lifecycle failures reject; cancellation after a write starts does not roll it back.',
2098
+ typeSymbol: '@qilin-agent/schedule/client#ScheduleRunResult',
2099
+ create: _qilin_agent_schedule_schedule_run_result$schema,
2100
+ description: 'Task state after Session persistence acknowledged the delivery, `schedule_execution_pending` while another execution of the task is queued, running, or inside its delivery floor, or a non-mutating miss.',
2101
+ jsonSchemaError: 'typert tool schema: selected union branches overlap or have no required discriminator',
2102
+ },
2103
+ sourceLocation: {"file":"packages/schedule/schedule/src/index.ts","line":502,"column":9},
2104
+ },
2105
+ 'schedule/view': {
2106
+ service: 'schedule',
2107
+ description: 'Read one task without activating its target Sessions.',
2108
+ invocation: { kind: 'direct' },
2109
+ parameters: [
2110
+ {
2111
+ name: 'request',
2112
+ description: 'Task identity.',
2113
+ source: 'json',
2114
+ codec: {
2115
+ mode: 'strict',
2116
+ typeSymbol: '@qilin-agent/schedule/client#ScheduleViewRequest',
2117
+ create: _qilin_agent_schedule_schedule_view_parameter_0$schema,
2118
+ jsonSchema: {"type":"object","properties":{"id":{"type":"string","description":"Task to read."}},"required":["id"],"additionalProperties":true},
2119
+ },
2120
+ strictCodec: {
2121
+ mode: 'strict',
2122
+ typeSymbol: '@qilin-agent/schedule/client#ScheduleViewRequest',
2123
+ create: _qilin_agent_schedule_schedule_view_parameter_0_strict$schema,
2124
+ jsonSchema: {"type":"object","properties":{"id":{"type":"string","description":"Task to read."}},"required":["id"],"additionalProperties":false},
2125
+ },
2126
+ },
2127
+ ],
2128
+ result: {
2129
+ mode: 'strict',
2130
+ typeSymbol: '@qilin-agent/schedule/client#ScheduleViewResult',
2131
+ create: _qilin_agent_schedule_schedule_view_result$schema,
2132
+ description: 'The task, or a non-mutating miss.',
596
2133
  jsonSchemaError: 'typert tool schema: selected union branches overlap or have no required discriminator',
597
2134
  },
598
- sourceLocation: {"file":"packages/schedule/schedule/src/index.ts","line":357,"column":9},
2135
+ sourceLocation: {"file":"packages/schedule/schedule/src/index.ts","line":458,"column":9},
599
2136
  },
600
2137
  },
601
2138
  }, z)