@deepseek-ai/dsh-client-ui-schedule 0.2.1-rc.5 → 0.2.2-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.
Files changed (39) hide show
  1. package/README.i18n.yaml +19 -19
  2. package/README.md +28 -36
  3. package/README.zh.md +26 -34
  4. package/lib/client.js +15570 -3670
  5. package/lib/types/client/ClockPicker.d.ts +3 -3
  6. package/lib/types/client/DeleteToast.d.ts +26 -11
  7. package/lib/types/client/DeliveryHistory.d.ts +12 -6
  8. package/lib/types/client/NewSessionLimit.d.ts +12 -0
  9. package/lib/types/client/RuleSelectRow.d.ts +22 -0
  10. package/lib/types/client/ScheduleCatalogAction.d.ts +9 -4
  11. package/lib/types/client/ScheduleEmptyIllustration.d.ts +12 -0
  12. package/lib/types/client/ScheduleTaskTab.d.ts +2 -1
  13. package/lib/types/client/TaskDetail.d.ts +71 -96
  14. package/lib/types/client/TaskEditorFields.d.ts +54 -0
  15. package/lib/types/client/TaskManagerPage.d.ts +18 -4
  16. package/lib/types/client/TaskMenu.d.ts +3 -2
  17. package/lib/types/client/TaskRuleControls.d.ts +50 -0
  18. package/lib/types/client/catalog-source.d.ts +5 -2
  19. package/lib/types/client/clear-ended.d.ts +33 -0
  20. package/lib/types/client/editor-store.d.ts +32 -0
  21. package/lib/types/client/editor-timing.d.ts +47 -0
  22. package/lib/types/client/frequency-locales.d.ts +386 -2
  23. package/lib/types/client/index.d.ts +4 -4
  24. package/lib/types/client/locales.d.ts +490 -10
  25. package/lib/types/client/relative-clock.d.ts +8 -2
  26. package/lib/types/client/schedule-format.d.ts +16 -5
  27. package/lib/types/client/session-link.d.ts +1 -22
  28. package/lib/types/client/session-schedule-state.d.ts +13 -29
  29. package/lib/types/client/task-cron.d.ts +0 -65
  30. package/lib/types/client/task-manager-locales.d.ts +1386 -51
  31. package/lib/types/client/task-record.d.ts +30 -0
  32. package/locale/de.json +6 -0
  33. package/locale/es.json +6 -0
  34. package/locale/fr.json +6 -0
  35. package/locale/ja.json +6 -0
  36. package/locale/pt.json +6 -0
  37. package/locale/ru.json +6 -0
  38. package/package.json +25 -22
  39. package/lib/types/client/task-timing.d.ts +0 -96
@@ -0,0 +1,33 @@
1
+ /** Host-wide removal of every ended task, as the management page's one action reports it. */
2
+ import type { RemoteResult } from '@deepseek-ai/dsh-api-remotes/client';
3
+ import type { ScheduleDeleteInactiveResult } from '@deepseek-ai/dsh-schedule/client';
4
+ /** How one bulk removal settled; the wiring reports it as an app-wide notice. */
5
+ export type ClearEndedOutcome = {
6
+ readonly cleared: true;
7
+ readonly count: number;
8
+ } | {
9
+ readonly cleared: false;
10
+ };
11
+ /** Remote removal and the authoritative readback that follows it. */
12
+ export interface ClearEndedDependencies {
13
+ /** Ask the Host to remove every ended task; it answers how many rows it removed. */
14
+ readonly removeInactive: () => Promise<RemoteResult<ScheduleDeleteInactiveResult>>;
15
+ /**
16
+ * Read the catalog again, naming the newest request ordinal so a read sent
17
+ * before the removal is superseded rather than reused.
18
+ * @returns resolution after the read result is published.
19
+ */
20
+ readonly refresh: () => Promise<void>;
21
+ }
22
+ /**
23
+ * Create the management page's bulk removal callback.
24
+ *
25
+ * The call names no task ids: the Host owns which rows are ended, and a
26
+ * delivery can have moved the catalog between the confirmation and the
27
+ * request. The readback follows the acknowledged removal and supersedes a read
28
+ * issued before it, so the list follows the removal rather than a stale read.
29
+ * @param deps - Remote removal and its catalog readback.
30
+ * @returns a callback that resolves once the settled outcome is available.
31
+ */
32
+ export declare function createClearEnded(deps: ClearEndedDependencies): () => Promise<ClearEndedOutcome>;
33
+ //# sourceMappingURL=clear-ended.d.ts.map
@@ -0,0 +1,32 @@
1
+ /** Unsaved task forms survive navigation without persisting business records. */
2
+ import { type EngineStoreHandle } from '@deepseek-ai/dsh-client-store';
3
+ import type { PropsStore } from '@deepseek-ai/dsh-client-ui-slots';
4
+ import type { ScheduleCatalogEntry } from '@deepseek-ai/dsh-schedule/client';
5
+ import type { TaskEditorDraft } from './TaskEditorFields.tsx';
6
+ import type { HostEditFailure, TaskCreateOutcome } from './TaskDetail.tsx';
7
+ type EditorFailure = HostEditFailure | Extract<TaskCreateOutcome, {
8
+ failed: string;
9
+ }>['failed'];
10
+ interface EditorDraft {
11
+ readonly draft: TaskEditorDraft;
12
+ readonly base: ScheduleCatalogEntry | undefined;
13
+ readonly initial?: TaskEditorDraft;
14
+ readonly pending?: boolean;
15
+ readonly failure?: EditorFailure;
16
+ }
17
+ interface EditorState {
18
+ drafts: Record<string, EditorDraft | undefined>;
19
+ }
20
+ declare const editorActions: {
21
+ setDraft: (state: EditorState, key: string, draft: EditorDraft) => void;
22
+ clearDraft: (state: EditorState, key: string) => void;
23
+ };
24
+ /**
25
+ * Declare drafts retained by the framework for one entry's scope.
26
+ * @returns the entry's store handle.
27
+ */
28
+ export declare function createEditorStore(): EngineStoreHandle<EditorState, typeof editorActions>;
29
+ /** Framework-bound selectors and actions; components never receive the store itself. */
30
+ export type TaskEditorStoreProps = PropsStore<ReturnType<typeof createEditorStore>>;
31
+ export {};
32
+ //# sourceMappingURL=editor-store.d.ts.map
@@ -0,0 +1,47 @@
1
+ /** Lossless guided and Custom editor projections for typed Schedule timing. */
2
+ import type { ScheduleCatalogEntry, ScheduleTiming } from '@deepseek-ai/dsh-schedule/client';
3
+ /** Periods represented by guided controls, plus a lossless advanced editor. */
4
+ export type FrequencyPreset = 'once' | 'minutely' | 'hourly' | 'daily' | 'weekly' | 'monthly' | 'advanced';
5
+ /** Editable values that determine one typed timing selector. */
6
+ export interface TimingDraft {
7
+ readonly frequency: FrequencyPreset;
8
+ readonly interval: string;
9
+ readonly start: string;
10
+ readonly timeZone: string;
11
+ readonly rrule: string;
12
+ /** Stored typed timing, retained in Custom and used to anchor guided edits to the current period. */
13
+ readonly retainedTiming?: ScheduleTiming;
14
+ readonly weekdays: readonly number[];
15
+ /** Day of the month; a month without that day runs on its last day. */
16
+ readonly monthDay: number;
17
+ /** Daily `HH:MM` clock time. */
18
+ readonly dailyTime: string;
19
+ }
20
+ /**
21
+ * Initial form values for a new schedule.
22
+ * @returns Guided timing with a one-hour-ahead one-shot default.
23
+ */
24
+ export declare function defaultTiming(): TimingDraft;
25
+ /**
26
+ * Format guided timing as DTSTART and RRULE content lines; return advanced text verbatim.
27
+ * Draft fields and future occurrences require separate validation.
28
+ * @param draft - Guided timing values or advanced text.
29
+ * @param intervalFromNow - Use the current minute for intervals and the current period for edited typed recurrences;
30
+ * false preserves the draft anchor.
31
+ * @returns RFC 5545 content lines.
32
+ */
33
+ export declare function rruleFromDraft(draft: TimingDraft, intervalFromNow?: boolean): string;
34
+ /**
35
+ * Recover only supported form rules; unknown rules remain verbatim in Advanced mode.
36
+ * @param record - Stored schedule to edit.
37
+ * @returns Guided values or the original advanced text.
38
+ */
39
+ export declare function timingFromRecord(record: ScheduleCatalogEntry): TimingDraft;
40
+ /**
41
+ * Resolve Custom Cron or RRULE text into its distinct management type.
42
+ * @param draft - Current rule editor values, including any untouched stored timing.
43
+ * @param intervalFromNow - Whether saves anchor intervals and edited typed recurrences to the current date and time.
44
+ * @returns Typed timing for the shared Schedule management API.
45
+ */
46
+ export declare function timingFromDraft(draft: TimingDraft, intervalFromNow?: boolean): ScheduleTiming;
47
+ //# sourceMappingURL=editor-timing.d.ts.map
@@ -11,14 +11,20 @@
11
11
  */
12
12
  /** Simplified Chinese rule and duration copy, key-set source of truth. */
13
13
  export declare const frequencyZh: {
14
+ readonly 'frequency.hostMonthly': "每月 {days} 日 {time},不足该日则月末";
15
+ readonly 'frequency.hostDailyInterval': "每 {interval} 天 {time}";
16
+ readonly 'frequency.hostWeeklyInterval': "每 {interval} 周的周{weekdays} {time}";
17
+ readonly 'frequency.hostMonthlyInterval': "每 {interval} 个月的 {days} 日 {time},不足该日则月末";
18
+ readonly 'frequency.hostZone': "{rule}({timeZone})";
19
+ readonly 'frequency.hostCustom': "自定义";
14
20
  readonly 'time.locale': "zh-CN";
15
21
  readonly 'time.utcPrefix': "UTC";
16
22
  readonly 'frequency.daily': "每天 {time}({timeZone})";
17
23
  readonly 'frequency.dailyLocal': "每天 {time}";
18
24
  readonly 'frequency.weekly': "每周{weekdays} {time}({timeZone})";
19
25
  readonly 'frequency.weeklyLocal': "每周{weekdays} {time}";
20
- readonly 'frequency.cron': "Cron {expression}({timeZone})";
21
- readonly 'frequency.cronLocal': "Cron {expression}";
26
+ readonly 'frequency.cron': "自定义({timeZone})";
27
+ readonly 'frequency.cronLocal': "自定义";
22
28
  readonly 'frequency.cronRule': "{rule}({timeZone})";
23
29
  readonly 'cron.list.join': "、";
24
30
  readonly 'cron.part.join': " ";
@@ -68,4 +74,382 @@ export declare const frequencyZh: {
68
74
  };
69
75
  /** English rule and duration copy, key-identical to the Chinese source. */
70
76
  export declare const frequencyEn: Record<keyof typeof frequencyZh, string>;
77
+ /** Japanese copy, checked against the English keys. */
78
+ export declare const frequencyJa: {
79
+ 'frequency.hostMonthly': string;
80
+ 'frequency.hostDailyInterval': string;
81
+ 'frequency.hostWeeklyInterval': string;
82
+ 'frequency.hostMonthlyInterval': string;
83
+ 'frequency.hostZone': string;
84
+ 'frequency.hostCustom': string;
85
+ 'time.locale': string;
86
+ 'time.utcPrefix': string;
87
+ 'frequency.daily': string;
88
+ 'frequency.dailyLocal': string;
89
+ 'frequency.weekly': string;
90
+ 'frequency.weeklyLocal': string;
91
+ 'frequency.cron': string;
92
+ 'frequency.cronLocal': string;
93
+ 'frequency.cronRule': string;
94
+ 'cron.list.join': string;
95
+ 'cron.part.join': string;
96
+ 'cron.weekday.name': string;
97
+ 'cron.weekday.range': string;
98
+ 'cron.months': string;
99
+ 'cron.day.every': string;
100
+ 'cron.day.weekdays': string;
101
+ 'cron.day.monthDays': string;
102
+ 'cron.day.both': string;
103
+ 'cron.day.bothStarred': string;
104
+ 'cron.hours.range': string;
105
+ 'cron.hours.list': string;
106
+ 'cron.time.everyMinute': string;
107
+ 'cron.time.everyMinutes': string;
108
+ 'cron.time.joinedEveryMinute': string;
109
+ 'cron.time.joinedEveryMinutes': string;
110
+ 'cron.time.everyHour': string;
111
+ 'cron.time.joinedEveryHour': string;
112
+ 'cron.time.everyNHours': string;
113
+ 'cron.time.joinedEveryNHours': string;
114
+ 'cron.time.hourlyAt': string;
115
+ 'cron.time.joinedHourlyAt': string;
116
+ 'cron.time.hoursEveryMinute': string;
117
+ 'cron.time.hoursEveryMinutes': string;
118
+ 'cron.time.at': string;
119
+ 'cron.time.hoursAt': string;
120
+ 'frequency.weekday.join': string;
121
+ 'frequency.weekday.1': string;
122
+ 'frequency.weekday.2': string;
123
+ 'frequency.weekday.3': string;
124
+ 'frequency.weekday.4': string;
125
+ 'frequency.weekday.5': string;
126
+ 'frequency.weekday.6': string;
127
+ 'frequency.weekday.7': string;
128
+ 'unit.day.one': string;
129
+ 'unit.day.other': string;
130
+ 'unit.hour.one': string;
131
+ 'unit.hour.other': string;
132
+ 'unit.minute.one': string;
133
+ 'unit.minute.other': string;
134
+ 'unit.second.one': string;
135
+ 'unit.second.other': string;
136
+ 'relative.now': string;
137
+ 'relative.future': string;
138
+ 'relative.overdue': string;
139
+ };
140
+ /** Spanish dictionary, checked against the English keys. */
141
+ export declare const frequencyEs: {
142
+ 'time.locale': string;
143
+ 'time.utcPrefix': string;
144
+ 'frequency.daily': string;
145
+ 'frequency.dailyLocal': string;
146
+ 'frequency.weekly': string;
147
+ 'frequency.weeklyLocal': string;
148
+ 'frequency.cron': string;
149
+ 'frequency.cronLocal': string;
150
+ 'frequency.cronRule': string;
151
+ 'cron.list.join': string;
152
+ 'cron.part.join': string;
153
+ 'cron.weekday.name': string;
154
+ 'cron.weekday.range': string;
155
+ 'cron.months': string;
156
+ 'cron.day.every': string;
157
+ 'cron.day.weekdays': string;
158
+ 'cron.day.monthDays': string;
159
+ 'cron.day.both': string;
160
+ 'cron.day.bothStarred': string;
161
+ 'cron.hours.range': string;
162
+ 'cron.hours.list': string;
163
+ 'cron.time.everyMinute': string;
164
+ 'cron.time.everyMinutes': string;
165
+ 'cron.time.joinedEveryMinute': string;
166
+ 'cron.time.joinedEveryMinutes': string;
167
+ 'cron.time.everyHour': string;
168
+ 'cron.time.joinedEveryHour': string;
169
+ 'cron.time.everyNHours': string;
170
+ 'cron.time.joinedEveryNHours': string;
171
+ 'cron.time.hourlyAt': string;
172
+ 'cron.time.joinedHourlyAt': string;
173
+ 'cron.time.hoursEveryMinute': string;
174
+ 'cron.time.hoursEveryMinutes': string;
175
+ 'cron.time.at': string;
176
+ 'cron.time.hoursAt': string;
177
+ 'frequency.weekday.join': string;
178
+ 'frequency.weekday.1': string;
179
+ 'frequency.weekday.2': string;
180
+ 'frequency.weekday.3': string;
181
+ 'frequency.weekday.4': string;
182
+ 'frequency.weekday.5': string;
183
+ 'frequency.weekday.6': string;
184
+ 'frequency.weekday.7': string;
185
+ 'unit.day.one': string;
186
+ 'unit.day.other': string;
187
+ 'unit.hour.one': string;
188
+ 'unit.hour.other': string;
189
+ 'unit.minute.one': string;
190
+ 'unit.minute.other': string;
191
+ 'unit.second.one': string;
192
+ 'unit.second.other': string;
193
+ 'relative.now': string;
194
+ 'relative.future': string;
195
+ 'relative.overdue': string;
196
+ 'frequency.hostMonthly': string;
197
+ 'frequency.hostDailyInterval': string;
198
+ 'frequency.hostWeeklyInterval': string;
199
+ 'frequency.hostMonthlyInterval': string;
200
+ 'frequency.hostZone': string;
201
+ 'frequency.hostCustom': string;
202
+ };
203
+ /** French dictionary, checked against the English keys. */
204
+ export declare const frequencyFr: {
205
+ 'time.locale': string;
206
+ 'time.utcPrefix': string;
207
+ 'frequency.daily': string;
208
+ 'frequency.dailyLocal': string;
209
+ 'frequency.weekly': string;
210
+ 'frequency.weeklyLocal': string;
211
+ 'frequency.cron': string;
212
+ 'frequency.cronLocal': string;
213
+ 'frequency.cronRule': string;
214
+ 'cron.list.join': string;
215
+ 'cron.part.join': string;
216
+ 'cron.weekday.name': string;
217
+ 'cron.weekday.range': string;
218
+ 'cron.months': string;
219
+ 'cron.day.every': string;
220
+ 'cron.day.weekdays': string;
221
+ 'cron.day.monthDays': string;
222
+ 'cron.day.both': string;
223
+ 'cron.day.bothStarred': string;
224
+ 'cron.hours.range': string;
225
+ 'cron.hours.list': string;
226
+ 'cron.time.everyMinute': string;
227
+ 'cron.time.everyMinutes': string;
228
+ 'cron.time.joinedEveryMinute': string;
229
+ 'cron.time.joinedEveryMinutes': string;
230
+ 'cron.time.everyHour': string;
231
+ 'cron.time.joinedEveryHour': string;
232
+ 'cron.time.everyNHours': string;
233
+ 'cron.time.joinedEveryNHours': string;
234
+ 'cron.time.hourlyAt': string;
235
+ 'cron.time.joinedHourlyAt': string;
236
+ 'cron.time.hoursEveryMinute': string;
237
+ 'cron.time.hoursEveryMinutes': string;
238
+ 'cron.time.at': string;
239
+ 'cron.time.hoursAt': string;
240
+ 'frequency.weekday.join': string;
241
+ 'frequency.weekday.1': string;
242
+ 'frequency.weekday.2': string;
243
+ 'frequency.weekday.3': string;
244
+ 'frequency.weekday.4': string;
245
+ 'frequency.weekday.5': string;
246
+ 'frequency.weekday.6': string;
247
+ 'frequency.weekday.7': string;
248
+ 'unit.day.one': string;
249
+ 'unit.day.other': string;
250
+ 'unit.hour.one': string;
251
+ 'unit.hour.other': string;
252
+ 'unit.minute.one': string;
253
+ 'unit.minute.other': string;
254
+ 'unit.second.one': string;
255
+ 'unit.second.other': string;
256
+ 'relative.now': string;
257
+ 'relative.future': string;
258
+ 'relative.overdue': string;
259
+ 'frequency.hostMonthly': string;
260
+ 'frequency.hostDailyInterval': string;
261
+ 'frequency.hostWeeklyInterval': string;
262
+ 'frequency.hostMonthlyInterval': string;
263
+ 'frequency.hostZone': string;
264
+ 'frequency.hostCustom': string;
265
+ };
266
+ /** German dictionary, checked against the English keys. */
267
+ export declare const frequencyDe: {
268
+ 'time.locale': string;
269
+ 'time.utcPrefix': string;
270
+ 'frequency.daily': string;
271
+ 'frequency.dailyLocal': string;
272
+ 'frequency.weekly': string;
273
+ 'frequency.weeklyLocal': string;
274
+ 'frequency.cron': string;
275
+ 'frequency.cronLocal': string;
276
+ 'frequency.cronRule': string;
277
+ 'cron.list.join': string;
278
+ 'cron.part.join': string;
279
+ 'cron.weekday.name': string;
280
+ 'cron.weekday.range': string;
281
+ 'cron.months': string;
282
+ 'cron.day.every': string;
283
+ 'cron.day.weekdays': string;
284
+ 'cron.day.monthDays': string;
285
+ 'cron.day.both': string;
286
+ 'cron.day.bothStarred': string;
287
+ 'cron.hours.range': string;
288
+ 'cron.hours.list': string;
289
+ 'cron.time.everyMinute': string;
290
+ 'cron.time.everyMinutes': string;
291
+ 'cron.time.joinedEveryMinute': string;
292
+ 'cron.time.joinedEveryMinutes': string;
293
+ 'cron.time.everyHour': string;
294
+ 'cron.time.joinedEveryHour': string;
295
+ 'cron.time.everyNHours': string;
296
+ 'cron.time.joinedEveryNHours': string;
297
+ 'cron.time.hourlyAt': string;
298
+ 'cron.time.joinedHourlyAt': string;
299
+ 'cron.time.hoursEveryMinute': string;
300
+ 'cron.time.hoursEveryMinutes': string;
301
+ 'cron.time.at': string;
302
+ 'cron.time.hoursAt': string;
303
+ 'frequency.weekday.join': string;
304
+ 'frequency.weekday.1': string;
305
+ 'frequency.weekday.2': string;
306
+ 'frequency.weekday.3': string;
307
+ 'frequency.weekday.4': string;
308
+ 'frequency.weekday.5': string;
309
+ 'frequency.weekday.6': string;
310
+ 'frequency.weekday.7': string;
311
+ 'unit.day.one': string;
312
+ 'unit.day.other': string;
313
+ 'unit.hour.one': string;
314
+ 'unit.hour.other': string;
315
+ 'unit.minute.one': string;
316
+ 'unit.minute.other': string;
317
+ 'unit.second.one': string;
318
+ 'unit.second.other': string;
319
+ 'relative.now': string;
320
+ 'relative.future': string;
321
+ 'relative.overdue': string;
322
+ 'frequency.hostMonthly': string;
323
+ 'frequency.hostDailyInterval': string;
324
+ 'frequency.hostWeeklyInterval': string;
325
+ 'frequency.hostMonthlyInterval': string;
326
+ 'frequency.hostZone': string;
327
+ 'frequency.hostCustom': string;
328
+ };
329
+ /** Russian dictionary, checked against the English keys. */
330
+ export declare const frequencyRu: {
331
+ 'time.locale': string;
332
+ 'time.utcPrefix': string;
333
+ 'frequency.daily': string;
334
+ 'frequency.dailyLocal': string;
335
+ 'frequency.weekly': string;
336
+ 'frequency.weeklyLocal': string;
337
+ 'frequency.cron': string;
338
+ 'frequency.cronLocal': string;
339
+ 'frequency.cronRule': string;
340
+ 'cron.list.join': string;
341
+ 'cron.part.join': string;
342
+ 'cron.weekday.name': string;
343
+ 'cron.weekday.range': string;
344
+ 'cron.months': string;
345
+ 'cron.day.every': string;
346
+ 'cron.day.weekdays': string;
347
+ 'cron.day.monthDays': string;
348
+ 'cron.day.both': string;
349
+ 'cron.day.bothStarred': string;
350
+ 'cron.hours.range': string;
351
+ 'cron.hours.list': string;
352
+ 'cron.time.everyMinute': string;
353
+ 'cron.time.everyMinutes': string;
354
+ 'cron.time.joinedEveryMinute': string;
355
+ 'cron.time.joinedEveryMinutes': string;
356
+ 'cron.time.everyHour': string;
357
+ 'cron.time.joinedEveryHour': string;
358
+ 'cron.time.everyNHours': string;
359
+ 'cron.time.joinedEveryNHours': string;
360
+ 'cron.time.hourlyAt': string;
361
+ 'cron.time.joinedHourlyAt': string;
362
+ 'cron.time.hoursEveryMinute': string;
363
+ 'cron.time.hoursEveryMinutes': string;
364
+ 'cron.time.at': string;
365
+ 'cron.time.hoursAt': string;
366
+ 'frequency.weekday.join': string;
367
+ 'frequency.weekday.1': string;
368
+ 'frequency.weekday.2': string;
369
+ 'frequency.weekday.3': string;
370
+ 'frequency.weekday.4': string;
371
+ 'frequency.weekday.5': string;
372
+ 'frequency.weekday.6': string;
373
+ 'frequency.weekday.7': string;
374
+ 'unit.day.one': string;
375
+ 'unit.day.other': string;
376
+ 'unit.hour.one': string;
377
+ 'unit.hour.other': string;
378
+ 'unit.minute.one': string;
379
+ 'unit.minute.other': string;
380
+ 'unit.second.one': string;
381
+ 'unit.second.other': string;
382
+ 'relative.now': string;
383
+ 'relative.future': string;
384
+ 'relative.overdue': string;
385
+ 'frequency.hostMonthly': string;
386
+ 'frequency.hostDailyInterval': string;
387
+ 'frequency.hostWeeklyInterval': string;
388
+ 'frequency.hostMonthlyInterval': string;
389
+ 'frequency.hostZone': string;
390
+ 'frequency.hostCustom': string;
391
+ };
392
+ /** Portuguese dictionary, checked against the English keys. */
393
+ export declare const frequencyPt: {
394
+ 'time.locale': string;
395
+ 'time.utcPrefix': string;
396
+ 'frequency.daily': string;
397
+ 'frequency.dailyLocal': string;
398
+ 'frequency.weekly': string;
399
+ 'frequency.weeklyLocal': string;
400
+ 'frequency.cron': string;
401
+ 'frequency.cronLocal': string;
402
+ 'frequency.cronRule': string;
403
+ 'cron.list.join': string;
404
+ 'cron.part.join': string;
405
+ 'cron.weekday.name': string;
406
+ 'cron.weekday.range': string;
407
+ 'cron.months': string;
408
+ 'cron.day.every': string;
409
+ 'cron.day.weekdays': string;
410
+ 'cron.day.monthDays': string;
411
+ 'cron.day.both': string;
412
+ 'cron.day.bothStarred': string;
413
+ 'cron.hours.range': string;
414
+ 'cron.hours.list': string;
415
+ 'cron.time.everyMinute': string;
416
+ 'cron.time.everyMinutes': string;
417
+ 'cron.time.joinedEveryMinute': string;
418
+ 'cron.time.joinedEveryMinutes': string;
419
+ 'cron.time.everyHour': string;
420
+ 'cron.time.joinedEveryHour': string;
421
+ 'cron.time.everyNHours': string;
422
+ 'cron.time.joinedEveryNHours': string;
423
+ 'cron.time.hourlyAt': string;
424
+ 'cron.time.joinedHourlyAt': string;
425
+ 'cron.time.hoursEveryMinute': string;
426
+ 'cron.time.hoursEveryMinutes': string;
427
+ 'cron.time.at': string;
428
+ 'cron.time.hoursAt': string;
429
+ 'frequency.weekday.join': string;
430
+ 'frequency.weekday.1': string;
431
+ 'frequency.weekday.2': string;
432
+ 'frequency.weekday.3': string;
433
+ 'frequency.weekday.4': string;
434
+ 'frequency.weekday.5': string;
435
+ 'frequency.weekday.6': string;
436
+ 'frequency.weekday.7': string;
437
+ 'unit.day.one': string;
438
+ 'unit.day.other': string;
439
+ 'unit.hour.one': string;
440
+ 'unit.hour.other': string;
441
+ 'unit.minute.one': string;
442
+ 'unit.minute.other': string;
443
+ 'unit.second.one': string;
444
+ 'unit.second.other': string;
445
+ 'relative.now': string;
446
+ 'relative.future': string;
447
+ 'relative.overdue': string;
448
+ 'frequency.hostMonthly': string;
449
+ 'frequency.hostDailyInterval': string;
450
+ 'frequency.hostWeeklyInterval': string;
451
+ 'frequency.hostMonthlyInterval': string;
452
+ 'frequency.hostZone': string;
453
+ 'frequency.hostCustom': string;
454
+ };
71
455
  //# sourceMappingURL=frequency-locales.d.ts.map
@@ -24,8 +24,8 @@
24
24
  * `sidebar.session.row.leading` seat marks an idle row whose Session has an
25
25
  * active task, and its `sidebar.session.row.hover` seat lists those tasks
26
26
  * inside the row's hover card. Both project the same source, so N visible rows
27
- * issue one query rather than one per row. The header entry keeps its own
28
- * per-Session source.
27
+ * issue one query rather than one per row. The header entry projects the same
28
+ * source onto the open Session's active tasks.
29
29
  */
30
30
  import type { Context as ClientContext } from '@deepseek-ai/cordis';
31
31
  import { type ScheduleCatalogKey } from './locales.ts';
@@ -38,12 +38,12 @@ declare module '@deepseek-ai/dsh-client-ui-slots' {
38
38
  'schedule.manager': TaskManagerKey;
39
39
  }
40
40
  }
41
- /** Required services for catalogs, ambient Session marks, the right Sidebar, Remote queries, and original-Session navigation. */
41
+ /** Required services for catalogs, ambient Session marks, the right Sidebar, Remote queries, linked-Session navigation, and access. */
42
42
  export declare const inject: string[];
43
43
  /**
44
44
  * Register the Host task page, the Session-header reminder catalog, the
45
45
  * right-Sidebar page that shows one task's detail, and the transcript card of
46
- * one created task.
46
+ * one created task while the current Peer may read the task catalog.
47
47
  * @param ctx - browser services used by these contributions.
48
48
  */
49
49
  export declare function apply(ctx: ClientContext): void;