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

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 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,18 +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 = {
452
+ const $remote = createTypertRemoteInfo({
358
453
  package: '@deepseek-ai/dsh-schedule',
359
- face: 'host',
360
- schemas: [
361
- ],
362
- invocations: [
363
- {
364
- id: '@deepseek-ai/dsh-schedule#schedule/catalog',
454
+ methods: {
455
+ 'schedule/catalog': {
365
456
  service: 'schedule',
366
- namespace: 'schedule',
367
- 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.',
368
458
  invocation: { kind: 'direct' },
369
459
  parameters: [
370
460
  ],
@@ -372,24 +462,31 @@ export const TYPERT = {
372
462
  mode: 'strict',
373
463
  typeSymbol: '@deepseek-ai/dsh-schedule#schedule/catalog:result',
374
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}]}},
375
467
  },
376
468
  sourceLocation: {"file":"packages/schedule/schedule/src/index.ts","line":285,"column":9},
377
469
  },
378
- {
379
- id: '@deepseek-ai/dsh-schedule#schedule/delete',
470
+ 'schedule/delete': {
380
471
  service: 'schedule',
381
- namespace: 'schedule',
382
- 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.',
383
473
  invocation: { kind: 'direct' },
384
474
  parameters: [
385
475
  {
386
476
  name: 'request',
387
- wire: 'request',
477
+ description: 'Session and exact task identity.',
388
478
  source: 'json',
389
479
  codec: {
390
480
  mode: 'strict',
391
481
  typeSymbol: '@deepseek-ai/dsh-schedule/client#ScheduleDeleteRequest',
392
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},
393
490
  },
394
491
  },
395
492
  ],
@@ -398,24 +495,31 @@ export const TYPERT = {
398
495
  mode: 'strict',
399
496
  typeSymbol: '@deepseek-ai/dsh-schedule/client#ScheduleDeleteResult',
400
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}]},
401
500
  },
402
501
  sourceLocation: {"file":"packages/schedule/schedule/src/index.ts","line":326,"column":9},
403
502
  },
404
- {
405
- id: '@deepseek-ai/dsh-schedule#schedule/history',
503
+ 'schedule/history': {
406
504
  service: 'schedule',
407
- namespace: 'schedule',
408
- 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.',
409
506
  invocation: { kind: 'direct' },
410
507
  parameters: [
411
508
  {
412
509
  name: 'request',
413
- wire: 'request',
510
+ description: 'Session binding, task identity, explicit limit, and optional exclusive message cursor.',
414
511
  source: 'json',
415
512
  codec: {
416
513
  mode: 'strict',
417
514
  typeSymbol: '@deepseek-ai/dsh-schedule/client#ScheduleDeliveryHistoryRequest',
418
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},
419
523
  },
420
524
  },
421
525
  ],
@@ -423,24 +527,31 @@ export const TYPERT = {
423
527
  mode: 'strict',
424
528
  typeSymbol: '@deepseek-ai/dsh-schedule/client#ScheduleDeliveryHistoryResult',
425
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',
426
532
  },
427
533
  sourceLocation: {"file":"packages/schedule/schedule/src/index.ts","line":303,"column":9},
428
534
  },
429
- {
430
- id: '@deepseek-ai/dsh-schedule#schedule/list',
535
+ 'schedule/list': {
431
536
  service: 'schedule',
432
- namespace: 'schedule',
433
- method: 'list',
537
+ description: 'Read the selected Session\'s active tasks without resuming its Agent.',
434
538
  invocation: { kind: 'direct' },
435
539
  parameters: [
436
540
  {
437
541
  name: 'request',
438
- wire: 'request',
542
+ description: 'Session whose task list is requested.',
439
543
  source: 'json',
440
544
  codec: {
441
545
  mode: 'strict',
442
546
  typeSymbol: '@deepseek-ai/dsh-schedule/client#ScheduleListRequest',
443
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},
444
555
  },
445
556
  },
446
557
  ],
@@ -448,24 +559,31 @@ export const TYPERT = {
448
559
  mode: 'strict',
449
560
  typeSymbol: '@deepseek-ai/dsh-schedule#schedule/list:result',
450
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}]}},
451
564
  },
452
565
  sourceLocation: {"file":"packages/schedule/schedule/src/index.ts","line":271,"column":9},
453
566
  },
454
- {
455
- id: '@deepseek-ai/dsh-schedule#schedule/update',
567
+ 'schedule/update': {
456
568
  service: 'schedule',
457
- namespace: 'schedule',
458
- 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.',
459
570
  invocation: { kind: 'direct' },
460
571
  parameters: [
461
572
  {
462
573
  name: 'request',
463
- wire: 'request',
574
+ description: 'Task binding, complete observed record, and any combination of timing, name, and instruction.',
464
575
  source: 'json',
465
576
  codec: {
466
577
  mode: 'strict',
467
578
  typeSymbol: '@deepseek-ai/dsh-schedule/client#ScheduleUpdateRequest',
468
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},
469
587
  },
470
588
  },
471
589
  ],
@@ -474,10 +592,20 @@ export const TYPERT = {
474
592
  mode: 'strict',
475
593
  typeSymbol: '@deepseek-ai/dsh-schedule/client#ScheduleUpdateResult',
476
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',
477
597
  },
478
598
  sourceLocation: {"file":"packages/schedule/schedule/src/index.ts","line":356,"column":9},
479
599
  },
600
+ },
601
+ }, z)
602
+
603
+ export const TYPERT = {
604
+ package: '@deepseek-ai/dsh-schedule',
605
+ face: 'host',
606
+ schemas: [
480
607
  ],
608
+ get invocations() { return $remote.descriptors },
481
609
  model: {
482
610
  "services": [
483
611
  {