@deepseek-ai/dsh-client-ui-schedule 0.2.2-alpha.2 → 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.
- package/README.i18n.yaml +19 -19
- package/README.md +28 -38
- package/README.zh.md +26 -36
- package/lib/client.js +15507 -5289
- package/lib/types/client/ClockPicker.d.ts +3 -3
- package/lib/types/client/DeliveryHistory.d.ts +12 -6
- package/lib/types/client/NewSessionLimit.d.ts +12 -0
- package/lib/types/client/RuleSelectRow.d.ts +22 -0
- package/lib/types/client/ScheduleCatalogAction.d.ts +2 -2
- package/lib/types/client/ScheduleTaskTab.d.ts +2 -1
- package/lib/types/client/TaskDetail.d.ts +71 -96
- package/lib/types/client/TaskEditorFields.d.ts +54 -0
- package/lib/types/client/TaskManagerPage.d.ts +8 -4
- package/lib/types/client/TaskRuleControls.d.ts +50 -0
- package/lib/types/client/catalog-source.d.ts +5 -2
- package/lib/types/client/editor-store.d.ts +32 -0
- package/lib/types/client/editor-timing.d.ts +47 -0
- package/lib/types/client/frequency-locales.d.ts +44 -2
- package/lib/types/client/index.d.ts +3 -3
- package/lib/types/client/locales.d.ts +52 -10
- package/lib/types/client/relative-clock.d.ts +8 -2
- package/lib/types/client/schedule-format.d.ts +16 -5
- package/lib/types/client/session-link.d.ts +1 -22
- package/lib/types/client/session-schedule-state.d.ts +13 -29
- package/lib/types/client/task-cron.d.ts +0 -65
- package/lib/types/client/task-manager-locales.d.ts +432 -320
- package/lib/types/client/task-record.d.ts +30 -0
- package/package.json +25 -23
- package/lib/types/client/task-timing.d.ts +0 -96
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/** Catalog vocabulary shared by the Session surfaces and Host task management. */
|
|
2
|
+
import type { SessionId } from '@deepseek-ai/dsh-session/types';
|
|
3
|
+
import type { ScheduleCatalogEntry, RRuleScheduleRecord } from '@deepseek-ai/dsh-schedule/client';
|
|
4
|
+
/** Earliest scheduled delivery after applying the Host's current admission interval.
|
|
5
|
+
* @param task - Catalog entry with its scheduled occurrence and optional delivery floor.
|
|
6
|
+
* @returns The later of the occurrence and delivery floor, without changing the stored rule.
|
|
7
|
+
*/
|
|
8
|
+
export declare function taskNextRunAt(task: Pick<ScheduleCatalogEntry, 'scheduledAt' | 'deliveryFloorEndsAt'>): string;
|
|
9
|
+
/** The reusable target Session, or the latest per-execution Session when one exists.
|
|
10
|
+
* @param task - Task whose conversation link is shown.
|
|
11
|
+
* @returns Destination identity, if a delivery or reservation names one.
|
|
12
|
+
*/
|
|
13
|
+
export declare function taskSessionId(task: Pick<ScheduleCatalogEntry, 'target' | 'lastDelivery'>): SessionId | undefined;
|
|
14
|
+
/** Whether one Session should expose this task in its existing clock entry.
|
|
15
|
+
* @param task - Catalog entry being inspected.
|
|
16
|
+
* @param sessionId - Session owning the entry.
|
|
17
|
+
* @returns Whether the task targets or involves this Session.
|
|
18
|
+
*/
|
|
19
|
+
export declare function taskInvolvesSession(task: ScheduleCatalogEntry, sessionId: SessionId): boolean;
|
|
20
|
+
/** RRULE fields read for presentation; dispatch remains owned by the Host.
|
|
21
|
+
* @param rrule - Host-validated recurrence text.
|
|
22
|
+
* @returns Fields from its RRULE content line.
|
|
23
|
+
*/
|
|
24
|
+
export declare function ruleFields(rrule: string): ReadonlyMap<string, string>;
|
|
25
|
+
/** Guided timing choices; rules that cannot round-trip through the form stay custom.
|
|
26
|
+
* @param task - Authoritative timing record.
|
|
27
|
+
* @returns Guided choice, or custom for an unsupported rule.
|
|
28
|
+
*/
|
|
29
|
+
export declare function hostFrequencyKind(task: RRuleScheduleRecord): 'once' | 'minutely' | 'hourly' | 'daily' | 'weekly' | 'monthly' | 'custom';
|
|
30
|
+
//# sourceMappingURL=task-record.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deepseek-ai/dsh-client-ui-schedule",
|
|
3
3
|
"description": "Host task management page and Session reminder catalog",
|
|
4
|
-
"version": "0.2.2-alpha.
|
|
4
|
+
"version": "0.2.2-alpha.3",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"types": "lib/types/index.d.ts",
|
|
@@ -47,32 +47,34 @@
|
|
|
47
47
|
"access": "public"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
|
-
"@deepseek-ai/cordis": "~4.0.6-alpha.
|
|
50
|
+
"@deepseek-ai/cordis": "~4.0.6-alpha.2"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
|
-
"@deepseek-ai/dsh-api-remote-access": "0.2.2-alpha.
|
|
54
|
-
"@deepseek-ai/dsh-api-remotes": "0.2.2-alpha.
|
|
55
|
-
"@deepseek-ai/dsh-api-session-controller": "0.2.2-alpha.
|
|
56
|
-
"@deepseek-ai/dsh-api-workspace-controller": "0.2.2-alpha.
|
|
57
|
-
"@deepseek-ai/dsh-client-connection": "0.2.2-alpha.
|
|
58
|
-
"@deepseek-ai/dsh-client-locale": "0.2.2-alpha.
|
|
59
|
-
"@deepseek-ai/dsh-client-
|
|
60
|
-
"@deepseek-ai/dsh-client-
|
|
61
|
-
"@deepseek-ai/dsh-client-ui-
|
|
62
|
-
"@deepseek-ai/dsh-client-ui-
|
|
63
|
-
"@deepseek-ai/dsh-client-ui-
|
|
64
|
-
"@deepseek-ai/dsh-client-ui-
|
|
65
|
-
"@deepseek-ai/dsh-client-ui-
|
|
66
|
-
"@deepseek-ai/dsh-client-ui-sidebar
|
|
67
|
-
"@deepseek-ai/dsh-client-ui-
|
|
68
|
-
"@deepseek-ai/dsh-client-ui-
|
|
69
|
-
"@deepseek-ai/dsh-client-ui-
|
|
70
|
-
"@deepseek-ai/dsh-
|
|
71
|
-
"@deepseek-ai/dsh-
|
|
72
|
-
"@deepseek-ai/dsh-
|
|
53
|
+
"@deepseek-ai/dsh-api-remote-access": "0.2.2-alpha.3",
|
|
54
|
+
"@deepseek-ai/dsh-api-remotes": "0.2.2-alpha.3",
|
|
55
|
+
"@deepseek-ai/dsh-api-session-controller": "0.2.2-alpha.3",
|
|
56
|
+
"@deepseek-ai/dsh-api-workspace-controller": "0.2.2-alpha.3",
|
|
57
|
+
"@deepseek-ai/dsh-client-connection": "0.2.2-alpha.3",
|
|
58
|
+
"@deepseek-ai/dsh-client-locale": "0.2.2-alpha.3",
|
|
59
|
+
"@deepseek-ai/dsh-client-store": "0.2.2-alpha.3",
|
|
60
|
+
"@deepseek-ai/dsh-client-test-runtime": "0.2.2-alpha.3",
|
|
61
|
+
"@deepseek-ai/dsh-client-ui-conversation": "0.2.2-alpha.3",
|
|
62
|
+
"@deepseek-ai/dsh-client-ui-layout": "0.2.2-alpha.3",
|
|
63
|
+
"@deepseek-ai/dsh-client-ui-primitives": "0.2.2-alpha.3",
|
|
64
|
+
"@deepseek-ai/dsh-client-ui-renderer": "0.2.2-alpha.3",
|
|
65
|
+
"@deepseek-ai/dsh-client-ui-session": "0.2.2-alpha.3",
|
|
66
|
+
"@deepseek-ai/dsh-client-ui-sidebar": "0.2.2-alpha.3",
|
|
67
|
+
"@deepseek-ai/dsh-client-ui-sidebar-right": "0.2.2-alpha.3",
|
|
68
|
+
"@deepseek-ai/dsh-client-ui-slots": "0.2.2-alpha.3",
|
|
69
|
+
"@deepseek-ai/dsh-client-ui-tool": "0.2.2-alpha.3",
|
|
70
|
+
"@deepseek-ai/dsh-client-ui-workspace": "0.2.2-alpha.3",
|
|
71
|
+
"@deepseek-ai/dsh-schedule": "0.2.2-alpha.3",
|
|
72
|
+
"@deepseek-ai/dsh-session": "0.2.2-alpha.3",
|
|
73
|
+
"@deepseek-ai/dsh-util-time": "0.2.2-alpha.3",
|
|
74
|
+
"@deepseek-ai/dsh-util-values": "0.2.2-alpha.3",
|
|
73
75
|
"@testing-library/react": "^16.3.3",
|
|
74
76
|
"clsx": "^2.1.1",
|
|
75
|
-
"@deepseek-ai/cordis": "~4.0.6-alpha.
|
|
77
|
+
"@deepseek-ai/cordis": "~4.0.6-alpha.2",
|
|
76
78
|
"react": "^18.2.0",
|
|
77
79
|
"react-dom": "^18.2.0"
|
|
78
80
|
},
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Exact rule snapshots, editable timing fields, the injected task update callback, and Host
|
|
3
|
-
* failure mapping; zone interpretation belongs to the Host.
|
|
4
|
-
*/
|
|
5
|
-
import type { RemoteResult } from '@deepseek-ai/dsh-api-remotes/client';
|
|
6
|
-
import type { ScheduleRecord, ScheduleUpdateRequest, ScheduleUpdateResult } from '@deepseek-ai/dsh-schedule/client';
|
|
7
|
-
import type { TaskManagerKey } from './task-manager-locales.ts';
|
|
8
|
-
/** Task mutation callback injected by the task catalog owner. */
|
|
9
|
-
export interface TaskTimingInjected {
|
|
10
|
-
/**
|
|
11
|
-
* Compare and update the exact task, then refresh the authoritative catalog on success or a stale rule.
|
|
12
|
-
* Catalog read failures remain in catalog state and do not change the persistence result.
|
|
13
|
-
* @param request - Captured task and Session, complete expected record, and the optional
|
|
14
|
-
* replacement name, instruction, and timing change; an omitted `change` keeps the committed target.
|
|
15
|
-
* @returns Original Remote mutation result; transport or storage exceptions may reject.
|
|
16
|
-
*/
|
|
17
|
-
readonly onUpdateTiming: (request: ScheduleUpdateRequest) => Promise<RemoteResult<ScheduleUpdateResult>>;
|
|
18
|
-
}
|
|
19
|
-
/** Native input values retained for one edit session. */
|
|
20
|
-
export interface TimingDraft {
|
|
21
|
-
date: string;
|
|
22
|
-
time: string;
|
|
23
|
-
timeZone: string;
|
|
24
|
-
seconds: string;
|
|
25
|
-
expression: string;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Project only persisted rule fields, excluding catalog metadata and delivery receipts.
|
|
29
|
-
* @param record - Rule from the current catalog.
|
|
30
|
-
* @returns Independent complete expected rule for compare-and-update.
|
|
31
|
-
*/
|
|
32
|
-
export declare function timingSnapshot(record: ScheduleRecord): ScheduleRecord;
|
|
33
|
-
/**
|
|
34
|
-
* The zone a new or switched-to rule starts its clock rows in, and whether that
|
|
35
|
-
* zone came from the stored rule rather than this device.
|
|
36
|
-
*
|
|
37
|
-
* A daily, weekly, or cron record stores the zone its wall clock means, so
|
|
38
|
-
* editing it keeps that zone. A one-shot `at` target and an `after` interval
|
|
39
|
-
* store only the committed instant and no creation zone, so they start in this
|
|
40
|
-
* device's zone.
|
|
41
|
-
* @param record - rule the draft is seeded from.
|
|
42
|
-
* @returns the draft's IANA zone and whether it is the no-stored-zone fallback.
|
|
43
|
-
*/
|
|
44
|
-
export declare function draftZone(record: ScheduleRecord): {
|
|
45
|
-
zone: string;
|
|
46
|
-
stored: boolean;
|
|
47
|
-
};
|
|
48
|
-
/**
|
|
49
|
-
* The date and clock one instant names in one zone, keeping millisecond precision.
|
|
50
|
-
*
|
|
51
|
-
* The locale is fixed, so the field order never follows the interface language,
|
|
52
|
-
* and each field is read by name rather than from a formatted string.
|
|
53
|
-
* @param instant - canonical ISO instant.
|
|
54
|
-
* @param zone - IANA zone the returned wall clock is expressed in.
|
|
55
|
-
* @returns `YYYY-MM-DDTHH:MM:SS.mmm` in that zone.
|
|
56
|
-
*/
|
|
57
|
-
export declare function zonedWallClock(instant: string, zone: string): string;
|
|
58
|
-
/**
|
|
59
|
-
* Initialize one-shot inputs in the zone the rule states, or in this device's
|
|
60
|
-
* zone for a rule that stores none.
|
|
61
|
-
*
|
|
62
|
-
* An `at` target stores an instant and no creation zone, so its rows show that
|
|
63
|
-
* instant in the draft's zone: the shown pair names the instant the record
|
|
64
|
-
* already commits rather than restating it in a zone the record does not have.
|
|
65
|
-
* @param record - Expected rule captured when editing starts.
|
|
66
|
-
* @returns Native input values without rounding seconds or milliseconds.
|
|
67
|
-
*/
|
|
68
|
-
export declare function timingDraft(record: ScheduleRecord): TimingDraft;
|
|
69
|
-
/**
|
|
70
|
-
* One date as the rows and pickers expose it.
|
|
71
|
-
*
|
|
72
|
-
* The draft, the calendar's own comparisons, and the text submitted to the Host
|
|
73
|
-
* all stay `YYYY-MM-DD`; only the exposed text takes the slashed form the design
|
|
74
|
-
* states, so no caller has to parse or re-format a date merely to show it.
|
|
75
|
-
* @param date - stored or staged ISO date text.
|
|
76
|
-
* @returns the same date with slashes between its fields.
|
|
77
|
-
*/
|
|
78
|
-
export declare function slashDate(date: string): string;
|
|
79
|
-
/**
|
|
80
|
-
* One clock time at whole-second precision.
|
|
81
|
-
*
|
|
82
|
-
* The rows and the clock picker both show `HH:MM:SS`; an untouched stored value
|
|
83
|
-
* keeps its milliseconds in the draft so a save can submit them back.
|
|
84
|
-
* @param time - stored or staged clock text, with or without fractional seconds.
|
|
85
|
-
* @returns the same clock time at whole-second precision, or the input when it is not a clock time.
|
|
86
|
-
*/
|
|
87
|
-
export declare function secondPrecision(time: string): string;
|
|
88
|
-
/**
|
|
89
|
-
* Localize controlled Host failures without exposing transport or storage diagnostics.
|
|
90
|
-
* @param code - Error code returned by the timing update.
|
|
91
|
-
* @returns Dictionary key describing the recovery action.
|
|
92
|
-
*/
|
|
93
|
-
export declare function timingError(code: Extract<ScheduleUpdateResult, {
|
|
94
|
-
code: string;
|
|
95
|
-
}>['code']): TaskManagerKey;
|
|
96
|
-
//# sourceMappingURL=task-timing.d.ts.map
|