@deepseek-ai/dsh-schedule 0.2.1-alpha.2 → 0.2.1-alpha.4

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.
@@ -1,247 +1,243 @@
1
1
  /* Generated by @deepseek-ai/dsh-typert-generator from the Host FaceModel — do not edit. */
2
2
  import { z } from 'zod'
3
3
 
4
+ import { createTypertRemoteInfo } from '@deepseek-ai/dsh-typert-protocol/remote-info'
5
+
4
6
  let _deepseek_ai_dsh_schedule_schedule_catalog_result$schema$value
5
- const _deepseek_ai_dsh_schedule_schedule_catalog_result$schema = () => (_deepseek_ai_dsh_schedule_schedule_catalog_result$schema$value ??= z.array(z.union([z.intersection(z.object({
6
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
7
- 'kind': z.literal("after").readonly(),
8
- 'title': z.string().readonly(),
9
- 'prompt': z.string().readonly(),
10
- 'afterSeconds': z.number().readonly(),
11
- 'scheduledAt': z.string().readonly(),
12
- }), z.object({
13
- 'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
14
- 'status': z.union([z.literal("active"), z.literal("inactive")]).readonly(),
7
+ const _deepseek_ai_dsh_schedule_schedule_catalog_result$schema = () => (_deepseek_ai_dsh_schedule_schedule_catalog_result$schema$value ??= z.array(z.union([z.object({
8
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
9
+ 'kind': z.literal("after").readonly().describe('Rule discriminator for a delayed one-shot reminder.'),
10
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
11
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
12
+ 'afterSeconds': z.number().readonly().describe('Positive safe-integer delay accepted at creation.'),
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.'),
15
16
  'lastDelivery': z.object({
16
- 'scheduledAt': z.string().readonly(),
17
- 'deliveredAt': z.string().readonly(),
18
- 'messageId': z.intersection(z.string(), z.unknown()).readonly(),
19
- }).readonly().optional(),
20
- })), z.intersection(z.object({
21
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
22
- 'kind': z.literal("at").readonly(),
23
- 'title': z.string().readonly(),
24
- 'prompt': z.string().readonly(),
25
- 'scheduledAt': z.string().readonly(),
26
- }), z.object({
27
- 'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
28
- 'status': z.union([z.literal("active"), z.literal("inactive")]).readonly(),
17
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
18
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
19
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
20
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
21
+ }), z.object({
22
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
23
+ 'kind': z.literal("at").readonly().describe('Rule discriminator for an absolute one-shot reminder.'),
24
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
25
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
26
+ '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.'),
29
29
  'lastDelivery': z.object({
30
- 'scheduledAt': z.string().readonly(),
31
- 'deliveredAt': z.string().readonly(),
32
- 'messageId': z.intersection(z.string(), z.unknown()).readonly(),
33
- }).readonly().optional(),
34
- })), z.intersection(z.object({
35
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
36
- 'kind': z.literal("every").readonly(),
37
- 'title': z.string().readonly(),
38
- 'prompt': z.string().readonly(),
39
- 'everySeconds': z.number().readonly(),
40
- 'scheduledAt': z.string().readonly(),
41
- }), z.object({
42
- 'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
43
- 'status': z.union([z.literal("active"), z.literal("inactive")]).readonly(),
30
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
31
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
32
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
33
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
34
+ }), z.object({
35
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
36
+ 'kind': z.literal("every").readonly().describe('Rule discriminator for a fixed-rate recurring reminder.'),
37
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
38
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
39
+ 'everySeconds': z.number().readonly().describe('Fixed safe-integer interval, never below one minute.'),
40
+ '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.'),
44
43
  'lastDelivery': z.object({
45
- 'scheduledAt': z.string().readonly(),
46
- 'deliveredAt': z.string().readonly(),
47
- 'messageId': z.intersection(z.string(), z.unknown()).readonly(),
48
- }).readonly().optional(),
49
- })), z.intersection(z.object({
50
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
51
- 'kind': z.literal("daily").readonly(),
52
- 'title': z.string().readonly(),
53
- 'prompt': z.string().readonly(),
54
- 'time': z.string().readonly(),
55
- 'timeZone': z.string().readonly(),
56
- 'scheduledAt': z.string().readonly(),
57
- }), z.object({
58
- 'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
59
- 'status': z.union([z.literal("active"), z.literal("inactive")]).readonly(),
44
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
45
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
46
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
47
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
48
+ }), z.object({
49
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
50
+ 'kind': z.literal("daily").readonly().describe('Rule discriminator for a daily wall-clock reminder.'),
51
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
52
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
53
+ 'time': z.string().readonly().describe('Local time normalized to HH:mm:ss.SSS.'),
54
+ 'timeZone': z.string().readonly().describe('Explicit IANA zone; equivalent timing edits retain the stored spelling.'),
55
+ '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.'),
60
58
  'lastDelivery': z.object({
61
- 'scheduledAt': z.string().readonly(),
62
- 'deliveredAt': z.string().readonly(),
63
- 'messageId': z.intersection(z.string(), z.unknown()).readonly(),
64
- }).readonly().optional(),
65
- })), z.intersection(z.object({
66
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
67
- 'kind': z.literal("weekly").readonly(),
68
- 'title': z.string().readonly(),
69
- 'prompt': z.string().readonly(),
70
- 'time': z.string().readonly(),
71
- 'timeZone': z.string().readonly(),
72
- 'weekdays': z.array(z.number()).readonly(),
73
- 'scheduledAt': z.string().readonly(),
74
- }), z.object({
75
- 'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
76
- 'status': z.union([z.literal("active"), z.literal("inactive")]).readonly(),
59
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
60
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
61
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
62
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
63
+ }), z.object({
64
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
65
+ 'kind': z.literal("weekly").readonly().describe('Rule discriminator for a weekly wall-clock reminder.'),
66
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
67
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
68
+ 'time': z.string().readonly().describe('Local time normalized to HH:mm:ss.SSS.'),
69
+ 'timeZone': z.string().readonly().describe('Explicit canonical IANA zone; equivalent timing edits retain the stored spelling.'),
70
+ 'weekdays': z.array(z.number()).readonly().describe('Unique ascending ISO weekdays, Monday 1 through Sunday 7.'),
71
+ '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.'),
77
74
  'lastDelivery': z.object({
78
- 'scheduledAt': z.string().readonly(),
79
- 'deliveredAt': z.string().readonly(),
80
- 'messageId': z.intersection(z.string(), z.unknown()).readonly(),
81
- }).readonly().optional(),
82
- })), z.intersection(z.object({
83
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
84
- 'kind': z.literal("cron").readonly(),
85
- 'title': z.string().readonly(),
86
- 'prompt': z.string().readonly(),
87
- 'expression': z.string().readonly(),
88
- 'timeZone': z.string().readonly(),
89
- 'scheduledAt': z.string().readonly(),
90
- }), z.object({
91
- 'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
92
- 'status': z.union([z.literal("active"), z.literal("inactive")]).readonly(),
75
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
76
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
77
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
78
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
79
+ }), z.object({
80
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
81
+ 'kind': z.literal("cron").readonly().describe('Rule discriminator for a five-field cron wall-clock reminder.'),
82
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
83
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
84
+ 'expression': z.string().readonly().describe('Canonical five-field cron expression: minute hour day-of-month month day-of-week.'),
85
+ 'timeZone': z.string().readonly().describe('Explicit IANA zone; equivalent timing edits retain the stored spelling.'),
86
+ '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.'),
93
89
  'lastDelivery': z.object({
94
- 'scheduledAt': z.string().readonly(),
95
- 'deliveredAt': z.string().readonly(),
96
- 'messageId': z.intersection(z.string(), z.unknown()).readonly(),
97
- }).readonly().optional(),
98
- }))])))
90
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
91
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
92
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
93
+ }).readonly().optional().describe('Most recent durably acknowledged inbox delivery, when available.'),
94
+ })])))
99
95
  let _deepseek_ai_dsh_schedule_schedule_delete_parameter_0$schema$value
100
96
  const _deepseek_ai_dsh_schedule_schedule_delete_parameter_0$schema = () => (_deepseek_ai_dsh_schedule_schedule_delete_parameter_0$schema$value ??= z.object({
101
- 'id': z.intersection(z.string(), z.unknown()),
102
- 'sessionId': z.intersection(z.string(), z.unknown()),
97
+ 'id': z.string().describe('Task to remove.'),
98
+ 'sessionId': z.string().describe('Original Session binding.'),
103
99
  }))
104
100
  let _deepseek_ai_dsh_schedule_schedule_delete_result$schema$value
105
101
  const _deepseek_ai_dsh_schedule_schedule_delete_result$schema = () => (_deepseek_ai_dsh_schedule_schedule_delete_result$schema$value ??= z.union([z.object({
106
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
102
+ 'id': z.string().readonly(),
107
103
  'deleted': z.literal(true).readonly(),
108
104
  }), z.object({
109
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
105
+ 'id': z.string().readonly(),
110
106
  'deleted': z.literal(false).readonly(),
111
107
  'code': z.literal("schedule_not_found").readonly(),
112
108
  })]))
113
109
  let _deepseek_ai_dsh_schedule_schedule_history_parameter_0$schema$value
114
110
  const _deepseek_ai_dsh_schedule_schedule_history_parameter_0$schema = () => (_deepseek_ai_dsh_schedule_schedule_history_parameter_0$schema$value ??= z.object({
115
- 'limit': z.number(),
116
- 'before': z.intersection(z.string(), z.unknown()).optional(),
117
- 'id': z.intersection(z.string(), z.unknown()),
118
- 'sessionId': z.intersection(z.string(), z.unknown()),
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.'),
119
115
  }))
120
116
  let _deepseek_ai_dsh_schedule_schedule_history_result$schema$value
121
117
  const _deepseek_ai_dsh_schedule_schedule_history_result$schema = () => (_deepseek_ai_dsh_schedule_schedule_history_result$schema$value ??= z.union([z.object({
122
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
118
+ 'id': z.string().readonly(),
123
119
  'records': z.array(z.object({
124
- 'prompt': z.string().readonly().optional(),
125
- 'scheduledAt': z.string().readonly(),
126
- 'deliveredAt': z.string().readonly(),
127
- 'messageId': z.intersection(z.string(), z.unknown()).readonly(),
120
+ 'prompt': z.string().readonly().optional().describe('Prompt sent for this occurrence; unavailable for legacy receipts.'),
121
+ 'scheduledAt': z.string().readonly().describe('Canonical UTC target of the delivered occurrence.'),
122
+ 'deliveredAt': z.string().readonly().describe('Canonical UTC time sampled after Session persistence acknowledged delivery.'),
123
+ 'messageId': z.string().readonly().describe('Identity of the delivered message, shared by tasks in one recurring batch.'),
128
124
  })).readonly(),
129
- 'earlierRecordsUnavailable': z.boolean().readonly(),
130
- 'earlierRecordsPruned': z.boolean().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.'),
131
127
  'retention': z.object({
132
- 'days': z.number().readonly(),
133
- 'records': z.number().readonly(),
134
- }).readonly(),
135
- 'nextBefore': z.intersection(z.string(), z.unknown()).readonly().optional(),
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.'),
136
132
  }), z.object({
137
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
133
+ 'id': z.string().readonly(),
138
134
  'code': z.union([z.literal("schedule_not_found"), z.literal("delivery_cursor_not_found")]).readonly(),
139
135
  })]))
140
136
  let _deepseek_ai_dsh_schedule_schedule_list_parameter_0$schema$value
141
137
  const _deepseek_ai_dsh_schedule_schedule_list_parameter_0$schema = () => (_deepseek_ai_dsh_schedule_schedule_list_parameter_0$schema$value ??= z.object({
142
- 'sessionId': z.intersection(z.string(), z.unknown()),
138
+ 'sessionId': z.string().describe('Original Session binding.'),
143
139
  }))
144
140
  let _deepseek_ai_dsh_schedule_schedule_list_result$schema$value
145
141
  const _deepseek_ai_dsh_schedule_schedule_list_result$schema = () => (_deepseek_ai_dsh_schedule_schedule_list_result$schema$value ??= z.array(z.union([z.object({
146
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
147
- 'kind': z.literal("after").readonly(),
148
- 'title': z.string().readonly(),
149
- 'prompt': z.string().readonly(),
150
- 'afterSeconds': z.number().readonly(),
151
- 'scheduledAt': z.string().readonly(),
152
- }), z.object({
153
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
154
- 'kind': z.literal("at").readonly(),
155
- 'title': z.string().readonly(),
156
- 'prompt': z.string().readonly(),
157
- 'scheduledAt': z.string().readonly(),
158
- }), z.object({
159
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
160
- 'kind': z.literal("every").readonly(),
161
- 'title': z.string().readonly(),
162
- 'prompt': z.string().readonly(),
163
- 'everySeconds': z.number().readonly(),
164
- 'scheduledAt': z.string().readonly(),
165
- }), z.object({
166
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
167
- 'kind': z.literal("daily").readonly(),
168
- 'title': z.string().readonly(),
169
- 'prompt': z.string().readonly(),
170
- 'time': z.string().readonly(),
171
- 'timeZone': z.string().readonly(),
172
- 'scheduledAt': z.string().readonly(),
173
- }), z.object({
174
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
175
- 'kind': z.literal("weekly").readonly(),
176
- 'title': z.string().readonly(),
177
- 'prompt': z.string().readonly(),
178
- 'time': z.string().readonly(),
179
- 'timeZone': z.string().readonly(),
180
- 'weekdays': z.array(z.number()).readonly(),
181
- 'scheduledAt': z.string().readonly(),
182
- }), z.object({
183
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
184
- 'kind': z.literal("cron").readonly(),
185
- 'title': z.string().readonly(),
186
- 'prompt': z.string().readonly(),
187
- 'expression': z.string().readonly(),
188
- 'timeZone': z.string().readonly(),
189
- 'scheduledAt': z.string().readonly(),
142
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
143
+ 'kind': z.literal("after").readonly().describe('Rule discriminator for a delayed one-shot reminder.'),
144
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
145
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
146
+ 'afterSeconds': z.number().readonly().describe('Positive safe-integer delay accepted at creation.'),
147
+ 'scheduledAt': z.string().readonly().describe('Four-digit-year RFC 3339 UTC target.'),
148
+ }), z.object({
149
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
150
+ 'kind': z.literal("at").readonly().describe('Rule discriminator for an absolute one-shot reminder.'),
151
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
152
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
153
+ 'scheduledAt': z.string().readonly().describe('Four-digit-year RFC 3339 UTC target.'),
154
+ }), z.object({
155
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
156
+ 'kind': z.literal("every").readonly().describe('Rule discriminator for a fixed-rate recurring reminder.'),
157
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
158
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
159
+ 'everySeconds': z.number().readonly().describe('Fixed safe-integer interval, never below one minute.'),
160
+ 'scheduledAt': z.string().readonly().describe('Next anchor-aligned occurrence while active, or final occurrence when inactive.'),
161
+ }), z.object({
162
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
163
+ 'kind': z.literal("daily").readonly().describe('Rule discriminator for a daily wall-clock reminder.'),
164
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
165
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
166
+ 'time': z.string().readonly().describe('Local time normalized to HH:mm:ss.SSS.'),
167
+ 'timeZone': z.string().readonly().describe('Explicit IANA zone; equivalent timing edits retain the stored spelling.'),
168
+ 'scheduledAt': z.string().readonly().describe('Committed next UTC instant while active, or final occurrence when inactive.'),
169
+ }), z.object({
170
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
171
+ 'kind': z.literal("weekly").readonly().describe('Rule discriminator for a weekly wall-clock reminder.'),
172
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
173
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
174
+ 'time': z.string().readonly().describe('Local time normalized to HH:mm:ss.SSS.'),
175
+ 'timeZone': z.string().readonly().describe('Explicit canonical IANA zone; equivalent timing edits retain the stored spelling.'),
176
+ 'weekdays': z.array(z.number()).readonly().describe('Unique ascending ISO weekdays, Monday 1 through Sunday 7.'),
177
+ 'scheduledAt': z.string().readonly().describe('Committed next UTC instant while active, or final occurrence when inactive.'),
178
+ }), z.object({
179
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
180
+ 'kind': z.literal("cron").readonly().describe('Rule discriminator for a five-field cron wall-clock reminder.'),
181
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
182
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
183
+ 'expression': z.string().readonly().describe('Canonical five-field cron expression: minute hour day-of-month month day-of-week.'),
184
+ 'timeZone': z.string().readonly().describe('Explicit IANA zone; equivalent timing edits retain the stored spelling.'),
185
+ 'scheduledAt': z.string().readonly().describe('Committed next UTC instant while active, or final occurrence when inactive.'),
190
186
  })])))
191
187
  let _deepseek_ai_dsh_schedule_schedule_update_parameter_0$schema$value
192
188
  const _deepseek_ai_dsh_schedule_schedule_update_parameter_0$schema = () => (_deepseek_ai_dsh_schedule_schedule_update_parameter_0$schema$value ??= z.object({
193
189
  'expected': z.union([z.object({
194
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
195
- 'kind': z.literal("after").readonly(),
196
- 'title': z.string().readonly(),
197
- 'prompt': z.string().readonly(),
198
- 'afterSeconds': z.number().readonly(),
199
- 'scheduledAt': z.string().readonly(),
200
- }), z.object({
201
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
202
- 'kind': z.literal("at").readonly(),
203
- 'title': z.string().readonly(),
204
- 'prompt': z.string().readonly(),
205
- 'scheduledAt': z.string().readonly(),
206
- }), z.object({
207
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
208
- 'kind': z.literal("every").readonly(),
209
- 'title': z.string().readonly(),
210
- 'prompt': z.string().readonly(),
211
- 'everySeconds': z.number().readonly(),
212
- 'scheduledAt': z.string().readonly(),
213
- }), z.object({
214
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
215
- 'kind': z.literal("daily").readonly(),
216
- 'title': z.string().readonly(),
217
- 'prompt': z.string().readonly(),
218
- 'time': z.string().readonly(),
219
- 'timeZone': z.string().readonly(),
220
- 'scheduledAt': z.string().readonly(),
221
- }), z.object({
222
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
223
- 'kind': z.literal("weekly").readonly(),
224
- 'title': z.string().readonly(),
225
- 'prompt': z.string().readonly(),
226
- 'time': z.string().readonly(),
227
- 'timeZone': z.string().readonly(),
228
- 'weekdays': z.array(z.number()).readonly(),
229
- 'scheduledAt': z.string().readonly(),
230
- }), z.object({
231
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
232
- 'kind': z.literal("cron").readonly(),
233
- 'title': z.string().readonly(),
234
- 'prompt': z.string().readonly(),
235
- 'expression': z.string().readonly(),
236
- 'timeZone': z.string().readonly(),
237
- 'scheduledAt': z.string().readonly(),
238
- })]).readonly(),
190
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
191
+ 'kind': z.literal("after").readonly().describe('Rule discriminator for a delayed one-shot reminder.'),
192
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
193
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
194
+ 'afterSeconds': z.number().readonly().describe('Positive safe-integer delay accepted at creation.'),
195
+ 'scheduledAt': z.string().readonly().describe('Four-digit-year RFC 3339 UTC target.'),
196
+ }), z.object({
197
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
198
+ 'kind': z.literal("at").readonly().describe('Rule discriminator for an absolute one-shot reminder.'),
199
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
200
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
201
+ 'scheduledAt': z.string().readonly().describe('Four-digit-year RFC 3339 UTC target.'),
202
+ }), z.object({
203
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
204
+ 'kind': z.literal("every").readonly().describe('Rule discriminator for a fixed-rate recurring reminder.'),
205
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
206
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
207
+ 'everySeconds': z.number().readonly().describe('Fixed safe-integer interval, never below one minute.'),
208
+ 'scheduledAt': z.string().readonly().describe('Next anchor-aligned occurrence while active, or final occurrence when inactive.'),
209
+ }), z.object({
210
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
211
+ 'kind': z.literal("daily").readonly().describe('Rule discriminator for a daily wall-clock reminder.'),
212
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
213
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
214
+ 'time': z.string().readonly().describe('Local time normalized to HH:mm:ss.SSS.'),
215
+ 'timeZone': z.string().readonly().describe('Explicit IANA zone; equivalent timing edits retain the stored spelling.'),
216
+ 'scheduledAt': z.string().readonly().describe('Committed next UTC instant while active, or final occurrence when inactive.'),
217
+ }), z.object({
218
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
219
+ 'kind': z.literal("weekly").readonly().describe('Rule discriminator for a weekly wall-clock reminder.'),
220
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
221
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
222
+ 'time': z.string().readonly().describe('Local time normalized to HH:mm:ss.SSS.'),
223
+ 'timeZone': z.string().readonly().describe('Explicit canonical IANA zone; equivalent timing edits retain the stored spelling.'),
224
+ 'weekdays': z.array(z.number()).readonly().describe('Unique ascending ISO weekdays, Monday 1 through Sunday 7.'),
225
+ 'scheduledAt': z.string().readonly().describe('Committed next UTC instant while active, or final occurrence when inactive.'),
226
+ }), z.object({
227
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
228
+ 'kind': z.literal("cron").readonly().describe('Rule discriminator for a five-field cron wall-clock reminder.'),
229
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
230
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
231
+ 'expression': z.string().readonly().describe('Canonical five-field cron expression: minute hour day-of-month month day-of-week.'),
232
+ 'timeZone': z.string().readonly().describe('Explicit IANA zone; equivalent timing edits retain the stored spelling.'),
233
+ '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.'),
239
235
  'change': z.union([z.object({
240
236
  'kind': z.literal("at").readonly(),
241
237
  'at': z.union([z.string(), z.object({
242
- 'date': z.string().readonly(),
243
- 'time': z.string().readonly(),
244
- 'time_zone': z.string().readonly(),
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.'),
245
241
  })]).readonly(),
246
242
  }), z.object({
247
243
  'kind': z.literal("every").readonly(),
@@ -249,80 +245,80 @@ const _deepseek_ai_dsh_schedule_schedule_update_parameter_0$schema = () => (_dee
249
245
  }), z.object({
250
246
  'kind': z.literal("daily").readonly(),
251
247
  'daily': z.object({
252
- 'time': z.string().readonly(),
253
- 'time_zone': z.string().readonly(),
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.'),
254
250
  }).readonly(),
255
251
  }), z.object({
256
252
  'kind': z.literal("weekly").readonly(),
257
253
  'weekly': z.object({
258
- 'time': z.string().readonly(),
259
- 'time_zone': z.string().readonly(),
260
- 'weekdays': z.array(z.number()).readonly(),
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.'),
261
257
  }).readonly(),
262
258
  }), z.object({
263
259
  'kind': z.literal("cron").readonly(),
264
260
  'cron': z.object({
265
- 'expression': z.string().readonly(),
266
- 'time_zone': z.string().readonly(),
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.'),
267
263
  }).readonly(),
268
- })]).readonly().optional(),
269
- 'id': z.intersection(z.string(), z.unknown()),
270
- 'sessionId': z.intersection(z.string(), z.unknown()),
271
- 'title': z.string().readonly().optional(),
272
- 'prompt': z.string().readonly().optional(),
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.'),
273
269
  }))
274
270
  let _deepseek_ai_dsh_schedule_schedule_update_result$schema$value
275
271
  const _deepseek_ai_dsh_schedule_schedule_update_result$schema = () => (_deepseek_ai_dsh_schedule_schedule_update_result$schema$value ??= z.union([z.object({
276
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
272
+ 'id': z.string().readonly(),
277
273
  'updated': z.boolean().readonly(),
278
274
  'record': z.union([z.object({
279
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
280
- 'kind': z.literal("after").readonly(),
281
- 'title': z.string().readonly(),
282
- 'prompt': z.string().readonly(),
283
- 'afterSeconds': z.number().readonly(),
284
- 'scheduledAt': z.string().readonly(),
285
- }), z.object({
286
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
287
- 'kind': z.literal("at").readonly(),
288
- 'title': z.string().readonly(),
289
- 'prompt': z.string().readonly(),
290
- 'scheduledAt': z.string().readonly(),
291
- }), z.object({
292
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
293
- 'kind': z.literal("every").readonly(),
294
- 'title': z.string().readonly(),
295
- 'prompt': z.string().readonly(),
296
- 'everySeconds': z.number().readonly(),
297
- 'scheduledAt': z.string().readonly(),
298
- }), z.object({
299
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
300
- 'kind': z.literal("daily").readonly(),
301
- 'title': z.string().readonly(),
302
- 'prompt': z.string().readonly(),
303
- 'time': z.string().readonly(),
304
- 'timeZone': z.string().readonly(),
305
- 'scheduledAt': z.string().readonly(),
306
- }), z.object({
307
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
308
- 'kind': z.literal("weekly").readonly(),
309
- 'title': z.string().readonly(),
310
- 'prompt': z.string().readonly(),
311
- 'time': z.string().readonly(),
312
- 'timeZone': z.string().readonly(),
313
- 'weekdays': z.array(z.number()).readonly(),
314
- 'scheduledAt': z.string().readonly(),
315
- }), z.object({
316
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
317
- 'kind': z.literal("cron").readonly(),
318
- 'title': z.string().readonly(),
319
- 'prompt': z.string().readonly(),
320
- 'expression': z.string().readonly(),
321
- 'timeZone': z.string().readonly(),
322
- 'scheduledAt': z.string().readonly(),
275
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
276
+ 'kind': z.literal("after").readonly().describe('Rule discriminator for a delayed one-shot reminder.'),
277
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
278
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
279
+ 'afterSeconds': z.number().readonly().describe('Positive safe-integer delay accepted at creation.'),
280
+ 'scheduledAt': z.string().readonly().describe('Four-digit-year RFC 3339 UTC target.'),
281
+ }), z.object({
282
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
283
+ 'kind': z.literal("at").readonly().describe('Rule discriminator for an absolute one-shot reminder.'),
284
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
285
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
286
+ 'scheduledAt': z.string().readonly().describe('Four-digit-year RFC 3339 UTC target.'),
287
+ }), z.object({
288
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
289
+ 'kind': z.literal("every").readonly().describe('Rule discriminator for a fixed-rate recurring reminder.'),
290
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
291
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
292
+ 'everySeconds': z.number().readonly().describe('Fixed safe-integer interval, never below one minute.'),
293
+ 'scheduledAt': z.string().readonly().describe('Next anchor-aligned occurrence while active, or final occurrence when inactive.'),
294
+ }), z.object({
295
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
296
+ 'kind': z.literal("daily").readonly().describe('Rule discriminator for a daily wall-clock reminder.'),
297
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
298
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
299
+ 'time': z.string().readonly().describe('Local time normalized to HH:mm:ss.SSS.'),
300
+ 'timeZone': z.string().readonly().describe('Explicit IANA zone; equivalent timing edits retain the stored spelling.'),
301
+ 'scheduledAt': z.string().readonly().describe('Committed next UTC instant while active, or final occurrence when inactive.'),
302
+ }), z.object({
303
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
304
+ 'kind': z.literal("weekly").readonly().describe('Rule discriminator for a weekly wall-clock reminder.'),
305
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
306
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
307
+ 'time': z.string().readonly().describe('Local time normalized to HH:mm:ss.SSS.'),
308
+ 'timeZone': z.string().readonly().describe('Explicit canonical IANA zone; equivalent timing edits retain the stored spelling.'),
309
+ 'weekdays': z.array(z.number()).readonly().describe('Unique ascending ISO weekdays, Monday 1 through Sunday 7.'),
310
+ 'scheduledAt': z.string().readonly().describe('Committed next UTC instant while active, or final occurrence when inactive.'),
311
+ }), z.object({
312
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
313
+ 'kind': z.literal("cron").readonly().describe('Rule discriminator for a five-field cron wall-clock reminder.'),
314
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
315
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
316
+ 'expression': z.string().readonly().describe('Canonical five-field cron expression: minute hour day-of-month month day-of-week.'),
317
+ 'timeZone': z.string().readonly().describe('Explicit IANA zone; equivalent timing edits retain the stored spelling.'),
318
+ 'scheduledAt': z.string().readonly().describe('Committed next UTC instant while active, or final occurrence when inactive.'),
323
319
  })]).readonly(),
324
320
  }), z.object({
325
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
321
+ 'id': z.string().readonly(),
326
322
  'updated': z.literal(false).readonly(),
327
323
  'code': z.union([z.literal("schedule_not_found"), z.literal("schedule_ended"), z.literal("schedule_conflict")]).readonly(),
328
324
  }), z.object({
@@ -353,15 +349,112 @@ const _deepseek_ai_dsh_schedule_schedule_update_result$schema = () => (_deepseek
353
349
  'code': z.literal("internal_error").readonly(),
354
350
  'message': z.string().readonly(),
355
351
  })]))
352
+ let _deepseek_ai_dsh_schedule_schedule_delete_parameter_0_strict$schema$value
353
+ const _deepseek_ai_dsh_schedule_schedule_delete_parameter_0_strict$schema = () => (_deepseek_ai_dsh_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 _deepseek_ai_dsh_schedule_schedule_history_parameter_0_strict$schema$value
358
+ const _deepseek_ai_dsh_schedule_schedule_history_parameter_0_strict$schema = () => (_deepseek_ai_dsh_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 _deepseek_ai_dsh_schedule_schedule_list_parameter_0_strict$schema$value
365
+ const _deepseek_ai_dsh_schedule_schedule_list_parameter_0_strict$schema = () => (_deepseek_ai_dsh_schedule_schedule_list_parameter_0_strict$schema$value ??= z.strictObject({
366
+ 'sessionId': z.string().describe('Original Session binding.'),
367
+ }))
368
+ let _deepseek_ai_dsh_schedule_schedule_update_parameter_0_strict$schema$value
369
+ const _deepseek_ai_dsh_schedule_schedule_update_parameter_0_strict$schema = () => (_deepseek_ai_dsh_schedule_schedule_update_parameter_0_strict$schema$value ??= z.strictObject({
370
+ 'expected': z.union([z.strictObject({
371
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
372
+ 'kind': z.literal("after").readonly().describe('Rule discriminator for a delayed one-shot reminder.'),
373
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
374
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
375
+ 'afterSeconds': z.number().readonly().describe('Positive safe-integer delay accepted at creation.'),
376
+ 'scheduledAt': z.string().readonly().describe('Four-digit-year RFC 3339 UTC target.'),
377
+ }), z.strictObject({
378
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
379
+ 'kind': z.literal("at").readonly().describe('Rule discriminator for an absolute one-shot reminder.'),
380
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
381
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
382
+ 'scheduledAt': z.string().readonly().describe('Four-digit-year RFC 3339 UTC target.'),
383
+ }), z.strictObject({
384
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
385
+ 'kind': z.literal("every").readonly().describe('Rule discriminator for a fixed-rate recurring reminder.'),
386
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
387
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
388
+ 'everySeconds': z.number().readonly().describe('Fixed safe-integer interval, never below one minute.'),
389
+ 'scheduledAt': z.string().readonly().describe('Next anchor-aligned occurrence while active, or final occurrence when inactive.'),
390
+ }), z.strictObject({
391
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
392
+ 'kind': z.literal("daily").readonly().describe('Rule discriminator for a daily wall-clock reminder.'),
393
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
394
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
395
+ 'time': z.string().readonly().describe('Local time normalized to HH:mm:ss.SSS.'),
396
+ 'timeZone': z.string().readonly().describe('Explicit IANA zone; equivalent timing edits retain the stored spelling.'),
397
+ 'scheduledAt': z.string().readonly().describe('Committed next UTC instant while active, or final occurrence when inactive.'),
398
+ }), z.strictObject({
399
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
400
+ 'kind': z.literal("weekly").readonly().describe('Rule discriminator for a weekly wall-clock reminder.'),
401
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
402
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
403
+ 'time': z.string().readonly().describe('Local time normalized to HH:mm:ss.SSS.'),
404
+ 'timeZone': z.string().readonly().describe('Explicit canonical IANA zone; equivalent timing edits retain the stored spelling.'),
405
+ 'weekdays': z.array(z.number()).readonly().describe('Unique ascending ISO weekdays, Monday 1 through Sunday 7.'),
406
+ 'scheduledAt': z.string().readonly().describe('Committed next UTC instant while active, or final occurrence when inactive.'),
407
+ }), z.strictObject({
408
+ 'id': z.string().readonly().describe('Globally unique task identity.'),
409
+ 'kind': z.literal("cron").readonly().describe('Rule discriminator for a five-field cron wall-clock reminder.'),
410
+ 'title': z.string().readonly().describe('Required stored task name; already trimmed, non-empty, and at most 120 characters.'),
411
+ 'prompt': z.string().readonly().describe('Trimmed reminder content supplied at creation.'),
412
+ 'expression': z.string().readonly().describe('Canonical five-field cron expression: minute hour day-of-month month day-of-week.'),
413
+ 'timeZone': z.string().readonly().describe('Explicit IANA zone; equivalent timing edits retain the stored spelling.'),
414
+ '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({
417
+ 'kind': z.literal("at").readonly(),
418
+ 'at': z.union([z.string(), z.strictObject({
419
+ 'date': z.string().readonly().describe('Four-digit ISO calendar date.'),
420
+ 'time': z.string().readonly().describe('Local wall-clock time with optional one-to-three digit milliseconds.'),
421
+ 'time_zone': z.string().readonly().describe('Explicit UTC or IANA Area/Location zone.'),
422
+ })]).readonly(),
423
+ }), z.strictObject({
424
+ 'kind': z.literal("every").readonly(),
425
+ 'every_seconds': z.number().readonly(),
426
+ }), z.strictObject({
427
+ 'kind': z.literal("daily").readonly(),
428
+ 'daily': z.strictObject({
429
+ 'time': z.string().readonly().describe('Local HH:mm:ss time with optional one-to-three fractional digits.'),
430
+ 'time_zone': z.string().readonly().describe('Explicit UTC or IANA Area/Location zone.'),
431
+ }).readonly(),
432
+ }), z.strictObject({
433
+ 'kind': z.literal("weekly").readonly(),
434
+ 'weekly': z.strictObject({
435
+ 'time': z.string().readonly().describe('Local HH:mm:ss time with optional one-to-three fractional digits.'),
436
+ 'time_zone': z.string().readonly().describe('Explicit UTC or IANA Area/Location zone.'),
437
+ 'weekdays': z.array(z.number()).readonly().describe('Non-empty ISO weekday set, Monday 1 through Sunday 7, without repetitions.'),
438
+ }).readonly(),
439
+ }), z.strictObject({
440
+ 'kind': z.literal("cron").readonly(),
441
+ 'cron': z.strictObject({
442
+ 'expression': z.string().readonly().describe('Five-field Vixie cron expression: minute hour day-of-month month day-of-week.'),
443
+ 'time_zone': z.string().readonly().describe('Explicit UTC or IANA Area/Location zone.'),
444
+ }).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.'),
450
+ }))
356
451
 
357
- export const TYPERT_REMOTE = {
452
+ export const TYPERT_REMOTE = createTypertRemoteInfo({
358
453
  package: '@deepseek-ai/dsh-schedule',
359
- descriptors: [
360
- {
361
- id: '@deepseek-ai/dsh-schedule#schedule/catalog',
454
+ methods: {
455
+ 'schedule/catalog': {
362
456
  service: 'schedule',
363
- namespace: 'schedule',
364
- method: 'catalog',
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.',
365
458
  invocation: { kind: 'direct' },
366
459
  parameters: [
367
460
  ],
@@ -369,24 +462,31 @@ export const TYPERT_REMOTE = {
369
462
  mode: 'strict',
370
463
  typeSymbol: '@deepseek-ai/dsh-schedule#schedule/catalog:result',
371
464
  create: _deepseek_ai_dsh_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}]}},
372
467
  },
373
468
  sourceLocation: {"file":"packages/schedule/schedule/src/index.ts","line":285,"column":9},
374
469
  },
375
- {
376
- id: '@deepseek-ai/dsh-schedule#schedule/delete',
470
+ 'schedule/delete': {
377
471
  service: 'schedule',
378
- namespace: 'schedule',
379
- method: 'delete',
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.',
380
473
  invocation: { kind: 'direct' },
381
474
  parameters: [
382
475
  {
383
476
  name: 'request',
384
- wire: 'request',
477
+ description: 'Session and exact task identity.',
385
478
  source: 'json',
386
479
  codec: {
387
480
  mode: 'strict',
388
481
  typeSymbol: '@deepseek-ai/dsh-schedule/client#ScheduleDeleteRequest',
389
482
  create: _deepseek_ai_dsh_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},
484
+ },
485
+ strictCodec: {
486
+ mode: 'strict',
487
+ typeSymbol: '@deepseek-ai/dsh-schedule/client#ScheduleDeleteRequest',
488
+ create: _deepseek_ai_dsh_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},
390
490
  },
391
491
  },
392
492
  ],
@@ -395,24 +495,31 @@ export const TYPERT_REMOTE = {
395
495
  mode: 'strict',
396
496
  typeSymbol: '@deepseek-ai/dsh-schedule/client#ScheduleDeleteResult',
397
497
  create: _deepseek_ai_dsh_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}]},
398
500
  },
399
501
  sourceLocation: {"file":"packages/schedule/schedule/src/index.ts","line":326,"column":9},
400
502
  },
401
- {
402
- id: '@deepseek-ai/dsh-schedule#schedule/history',
503
+ 'schedule/history': {
403
504
  service: 'schedule',
404
- namespace: 'schedule',
405
- method: 'history',
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.',
406
506
  invocation: { kind: 'direct' },
407
507
  parameters: [
408
508
  {
409
509
  name: 'request',
410
- wire: 'request',
510
+ description: 'Session binding, task identity, explicit limit, and optional exclusive message cursor.',
411
511
  source: 'json',
412
512
  codec: {
413
513
  mode: 'strict',
414
514
  typeSymbol: '@deepseek-ai/dsh-schedule/client#ScheduleDeliveryHistoryRequest',
415
515
  create: _deepseek_ai_dsh_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},
517
+ },
518
+ strictCodec: {
519
+ mode: 'strict',
520
+ typeSymbol: '@deepseek-ai/dsh-schedule/client#ScheduleDeliveryHistoryRequest',
521
+ create: _deepseek_ai_dsh_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},
416
523
  },
417
524
  },
418
525
  ],
@@ -420,24 +527,31 @@ export const TYPERT_REMOTE = {
420
527
  mode: 'strict',
421
528
  typeSymbol: '@deepseek-ai/dsh-schedule/client#ScheduleDeliveryHistoryResult',
422
529
  create: _deepseek_ai_dsh_schedule_schedule_history_result$schema,
530
+ description: 'Newest-first deliveries in append order, or a task/cursor lookup failure.',
531
+ jsonSchemaError: 'typert tool schema: selected union branches overlap or have no required discriminator',
423
532
  },
424
533
  sourceLocation: {"file":"packages/schedule/schedule/src/index.ts","line":303,"column":9},
425
534
  },
426
- {
427
- id: '@deepseek-ai/dsh-schedule#schedule/list',
535
+ 'schedule/list': {
428
536
  service: 'schedule',
429
- namespace: 'schedule',
430
- method: 'list',
537
+ description: 'Read the selected Session\'s active tasks without resuming its Agent.',
431
538
  invocation: { kind: 'direct' },
432
539
  parameters: [
433
540
  {
434
541
  name: 'request',
435
- wire: 'request',
542
+ description: 'Session whose task list is requested.',
436
543
  source: 'json',
437
544
  codec: {
438
545
  mode: 'strict',
439
546
  typeSymbol: '@deepseek-ai/dsh-schedule/client#ScheduleListRequest',
440
547
  create: _deepseek_ai_dsh_schedule_schedule_list_parameter_0$schema,
548
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string","description":"Original Session binding."}},"required":["sessionId"],"additionalProperties":true},
549
+ },
550
+ strictCodec: {
551
+ mode: 'strict',
552
+ typeSymbol: '@deepseek-ai/dsh-schedule/client#ScheduleListRequest',
553
+ create: _deepseek_ai_dsh_schedule_schedule_list_parameter_0_strict$schema,
554
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string","description":"Original Session binding."}},"required":["sessionId"],"additionalProperties":false},
441
555
  },
442
556
  },
443
557
  ],
@@ -445,24 +559,31 @@ export const TYPERT_REMOTE = {
445
559
  mode: 'strict',
446
560
  typeSymbol: '@deepseek-ai/dsh-schedule#schedule/list:result',
447
561
  create: _deepseek_ai_dsh_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}]}},
448
564
  },
449
565
  sourceLocation: {"file":"packages/schedule/schedule/src/index.ts","line":271,"column":9},
450
566
  },
451
- {
452
- id: '@deepseek-ai/dsh-schedule#schedule/update',
567
+ 'schedule/update': {
453
568
  service: 'schedule',
454
- namespace: 'schedule',
455
- method: 'update',
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.',
456
570
  invocation: { kind: 'direct' },
457
571
  parameters: [
458
572
  {
459
573
  name: 'request',
460
- wire: 'request',
574
+ description: 'Task binding, complete observed record, and any combination of timing, name, and instruction.',
461
575
  source: 'json',
462
576
  codec: {
463
577
  mode: 'strict',
464
578
  typeSymbol: '@deepseek-ai/dsh-schedule/client#ScheduleUpdateRequest',
465
579
  create: _deepseek_ai_dsh_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},
581
+ },
582
+ strictCodec: {
583
+ mode: 'strict',
584
+ typeSymbol: '@deepseek-ai/dsh-schedule/client#ScheduleUpdateRequest',
585
+ create: _deepseek_ai_dsh_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},
466
587
  },
467
588
  },
468
589
  ],
@@ -471,10 +592,12 @@ export const TYPERT_REMOTE = {
471
592
  mode: 'strict',
472
593
  typeSymbol: '@deepseek-ai/dsh-schedule/client#ScheduleUpdateResult',
473
594
  create: _deepseek_ai_dsh_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.',
596
+ jsonSchemaError: 'typert tool schema: selected union branches overlap or have no required discriminator',
474
597
  },
475
598
  sourceLocation: {"file":"packages/schedule/schedule/src/index.ts","line":356,"column":9},
476
599
  },
477
- ],
478
- }
600
+ },
601
+ }, z)
479
602
 
480
603
  export default TYPERT_REMOTE