@deepseek-ai/dsh-client-ui-schedule 0.1.7-rc.2 → 0.2.0-rc.1

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 CHANGED
@@ -15,8 +15,8 @@
15
15
  en: d152484eb41ac6b4
16
16
  zh: 405b30feaf48c087
17
17
  /deepseek-ai-dsh-client-ui-schedule/use-this-package:
18
- en: 3594ab6704cbd7b9
19
- zh: 99a965f43187501b
18
+ en: c129ae5d0a150a5d
19
+ zh: d81976f2840cb059
20
20
  /deepseek-ai-dsh-client-ui-schedule/use-this-package/time-zone-data-source:
21
21
  en: 6bd6882dbbbefcb0
22
22
  zh: 03aa15f1a65d13dc
package/README.md CHANGED
@@ -25,7 +25,7 @@ Manage active and inactive tasks from the Automation tasks page and the right Si
25
25
  <a id="use-this-package"></a>
26
26
  ## Use this package
27
27
 
28
- The shipped Web bundle mounts `ui-schedule` with the Host Schedule service and the clock context that supplies the model's current time. The Automation tasks sidebar entry opens a global page without selecting or activating a Session. The page header's New action starts a new Session, where the reminder is created by asking the model; the page itself has no creation form. Its task list supports text search and one All, Enabled, and Inactive status filter row; search matches the stored task name, the instruction, and the internal Session id, not a resolved Session title, and the empty state keeps the heading's New action beside the notice. Selecting an active or inactive task opens a second detail level with Rules and Delivery records tabs. Every list row shows the task's stored title with its status, frequency, and next run and never the original Session name; the detail's name control shows the stored title. Rules contains the complete reminder, status, next target for active tasks, original recurrence rule, and task id. Daily rule labels show the saved local time and exact stored IANA zone, preserving nonzero seconds and milliseconds rather than substituting the browser's zone. The Linked session entry in the detail tab strip names the linked Session by its catalog title, falling back to the Session id when no title is available. It opens an available, unarchived Session after metadata loads; pending Session or Workspace metadata, an archived Session, missing Session membership, or a Workspace query error keeps it disabled with an explanation. The click rechecks availability; browsing does not unarchive the Session. Only this action requests Session activation. Deletion is available from the More task actions menu in the detail's top strip, separate from navigation.
28
+ The shipped Web composition carries no `ui-schedule` row; enable the optional experimental bundle `@deepseek-ai/dsh-experimental-schedule-bundle` from the Plugins page (Official group), or list it in a profile's `dsh.profile.bundles`, to insert and mount `ui-schedule` with the Host Schedule service and the clock context that supplies the model's current time. The Automation tasks sidebar entry opens a global page without selecting or activating a Session. The page header's New action starts a new Session, where the reminder is created by asking the model; the page itself has no creation form. Its task list supports text search and one All, Enabled, and Inactive status filter row; search matches the stored task name, the instruction, and the internal Session id, not a resolved Session title, and the empty state keeps the heading's New action beside the notice. Selecting an active or inactive task opens a second detail level with Rules and Delivery records tabs. Every list row shows the task's stored title with its status, frequency, and next run and never the original Session name; the detail's name control shows the stored title. Rules contains the complete reminder, status, next target for active tasks, original recurrence rule, and task id. Daily rule labels show the saved local time and exact stored IANA zone, preserving nonzero seconds and milliseconds rather than substituting the browser's zone. The Linked session entry in the detail tab strip names the linked Session by its catalog title, falling back to the Session id when no title is available. It opens an available, unarchived Session after metadata loads; pending Session or Workspace metadata, an archived Session, missing Session membership, or a Workspace query error keeps it disabled with an explanation. The click rechecks availability; browsing does not unarchive the Session. Only this action requests Session activation. Deletion is available from the More task actions menu in the detail's top strip, separate from navigation.
29
29
 
30
30
  Selecting a task from the list opens Rules; refreshing that task preserves the selected tab. Rules edits an active task's name, instruction, and run time; the edits stay in a local draft until saved, and inactive tasks remain read-only. Unmodified Left/Right arrows cycle the tabs, Home/End select the first/last tab, and keyboard focus follows the selection. The tabs do not consume these keys with Alt, Ctrl, Meta, or Shift. The linked-Session control in the detail tab strip stays available on the Rules tab, and confirmed deletion is available from either view.
31
31
 
package/README.zh.md CHANGED
@@ -25,7 +25,7 @@ kind: "package-reference"
25
25
  <a id="use-this-package"></a>
26
26
  ## 使用本包
27
27
 
28
- 发布的 Web bundle 将 `ui-schedule` 与 Host Schedule 服务、以及为模型提供当前时间的时钟上下文一起挂载。侧栏的自动化任务入口打开全局页面,不选择或激活会话。页面页头的“新建”操作会打开一个新会话,提醒由模型在该会话中创建;页面本身没有创建表单。列表支持文本搜索和一行“全部/已开启/未运行”状态筛选;搜索匹配任务已存储的名称、指令和内部会话 id,不匹配解析出的会话标题,空状态在提示旁保留页头的“新建”操作。选择活动或未运行任务后,进入含“规则”和“任务运行记录”页签的第二层详情。每条列表行显示任务已存储的标题及其状态、频率和下次运行,不显示原会话名称;详情中的名称输入框显示任务已存储的标题。“规则”显示完整提醒、状态、活动任务的下一目标时间、原始重复规则和任务 id。每天的规则标签显示已保存的本地时间与精确的存储 IANA 时区,保留非零秒与毫秒,而不替换为浏览器时区。详情页签条内的“关联会话”入口按会话标题显示,取不到标题时回退显示会话 id。元数据加载后,它可打开可用且未归档的会话;会话或 Workspace 元数据尚未就绪、会话已归档、会话不在列表中或 Workspace 查询失败时,入口保持禁用并显示原因。点击时会重新检查可用性;浏览不会取消会话归档。仅此操作请求激活会话。删除位于详情顶部条带的“更多任务操作”菜单。
28
+ 随发行版交付的 Web 组合不含 `ui-schedule` 行;在插件管理页的“官方”分组中启用可选实验性 bundle `@deepseek-ai/dsh-experimental-schedule-bundle`,或把它列进 profile 的 `dsh.profile.bundles`,即可插入 `ui-schedule` 并将它与 Host Schedule 服务、以及为模型提供当前时间的时钟上下文一起挂载。侧栏的自动化任务入口打开全局页面,不选择或激活会话。页面页头的“新建”操作会打开一个新会话,提醒由模型在该会话中创建;页面本身没有创建表单。列表支持文本搜索和一行“全部/已开启/未运行”状态筛选;搜索匹配任务已存储的名称、指令和内部会话 id,不匹配解析出的会话标题,空状态在提示旁保留页头的“新建”操作。选择活动或未运行任务后,进入含“规则”和“任务运行记录”页签的第二层详情。每条列表行显示任务已存储的标题及其状态、频率和下次运行,不显示原会话名称;详情中的名称输入框显示任务已存储的标题。“规则”显示完整提醒、状态、活动任务的下一目标时间、原始重复规则和任务 id。每天的规则标签显示已保存的本地时间与精确的存储 IANA 时区,保留非零秒与毫秒,而不替换为浏览器时区。详情页签条内的“关联会话”入口按会话标题显示,取不到标题时回退显示会话 id。元数据加载后,它可打开可用且未归档的会话;会话或 Workspace 元数据尚未就绪、会话已归档、会话不在列表中或 Workspace 查询失败时,入口保持禁用并显示原因。点击时会重新检查可用性;浏览不会取消会话归档。仅此操作请求激活会话。删除位于详情顶部条带的“更多任务操作”菜单。
29
29
 
30
30
  从列表选择任务时默认打开“规则”;刷新同一任务会保留当前页签。活动任务的“规则”修改名称、指令和运行时间;这些修改保留在本地草稿中直到保存,未运行任务保持只读。不带修饰键的左右方向键循环切换页签,Home/End 选择第一个/最后一个页签,键盘焦点随选择移动。页签不会拦截这些键与 Alt、Ctrl、Meta 或 Shift 的组合。共用的会话入口位于详情页签条内,在“规则”页签可见;确认删除操作在两种页签下都可用。
31
31
 
package/lib/client.js CHANGED
@@ -3088,7 +3088,7 @@ window.__ModuleLoader__.load({
3088
3088
  }
3089
3089
  //#endregion
3090
3090
  //#region \0dsh-css:/home/runner/work/deepseek-harness/deepseek-harness/packages/client/ui-schedule/src/client/TaskMenu.module.css.mjs
3091
- const css$1 = ".JYBKaa_root{display:inline-flex;position:relative}.JYBKaa_list{box-sizing:border-box;background:var(--dsw-specific-menu);backdrop-filter:var(--dsw-menu-backdrop-filter);--dsw-elevation-stroke-color:var(--dsw-alias-border-l1);box-shadow:var(--dsw-elevation-prominent);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);z-index:100;border:0;border-radius:16px;flex-direction:column;gap:0;min-width:144px;max-width:360px;padding:3px;display:flex;position:absolute;top:calc(100% + 4px);left:0}.JYBKaa_portal{z-index:1100;position:fixed;top:auto;left:auto}.JYBKaa_alignEnd{left:auto;right:0}.JYBKaa_scrollable{max-height:calc(100vh - 12px - max(12px, var(--dsh-frame-top-clearance,12px)))}.JYBKaa_viewport{flex-direction:column;min-height:0;display:flex}.JYBKaa_scrollable .JYBKaa_viewport{overflow-y:auto}.JYBKaa_header{border-bottom:.5px solid var(--dsw-alias-border-l2);flex:none;padding:5px}.JYBKaa_itemWrap{position:relative}.JYBKaa_item{cursor:pointer;width:100%;min-height:34px;color:var(--dsw-alias-label-primary);text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:6px 8px;font-size:13px;line-height:20px;display:flex}.JYBKaa_item:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.JYBKaa_item:focus-visible:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);outline:none}.JYBKaa_item:disabled{opacity:.4;cursor:not-allowed}.JYBKaa_itemIcon{width:14px;height:14px;color:var(--dsw-alias-label-tertiary);flex:none;justify-content:center;align-items:center;display:inline-flex}.JYBKaa_itemIcon svg,.JYBKaa_check{width:14px;height:14px}.JYBKaa_itemLabel{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.JYBKaa_check{color:var(--dsw-alias-label-primary);flex:none}.JYBKaa_selected{background:0 0}.JYBKaa_danger,.JYBKaa_danger .JYBKaa_itemIcon{color:var(--dsw-alias-state-error-primary)}.JYBKaa_danger:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover-danger)}.JYBKaa_danger:focus-visible:not(:disabled){background:var(--dsw-alias-interactive-bg-hover-danger);outline:none}.JYBKaa_label{color:var(--dsw-alias-label-tertiary);padding:6px 8px;font-size:11px;line-height:15px}.JYBKaa_separator{background:var(--dsw-alias-border-l2);height:.5px;margin:3px 2px}.JYBKaa_separator+.JYBKaa_separator{display:none}";
3091
+ const css$1 = ".JYBKaa_root{display:inline-flex;position:relative}.JYBKaa_list{box-sizing:border-box;background:var(--dsw-specific-menu);backdrop-filter:var(--dsw-menu-backdrop-filter);--dsw-elevation-stroke-color:var(--dsw-alias-border-l1);box-shadow:var(--dsw-elevation-prominent);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);z-index:100;border:0;border-radius:16px;flex-direction:column;gap:0;min-width:144px;max-width:360px;padding:3px;display:flex;position:absolute;top:calc(100% + 4px);left:0}.JYBKaa_portal{z-index:1100;position:fixed;top:auto;left:auto}.JYBKaa_alignEnd{left:auto;right:0}.JYBKaa_scrollable{max-height:calc(100vh - 12px - max(12px, var(--dsh-frame-overlay-top,12px)))}.JYBKaa_viewport{flex-direction:column;min-height:0;display:flex}.JYBKaa_scrollable .JYBKaa_viewport{overflow-y:auto}.JYBKaa_header{border-bottom:.5px solid var(--dsw-alias-border-l2);flex:none;padding:5px}.JYBKaa_itemWrap{position:relative}.JYBKaa_item{cursor:pointer;width:100%;min-height:34px;color:var(--dsw-alias-label-primary);text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:6px 8px;font-size:13px;line-height:20px;display:flex}.JYBKaa_item:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.JYBKaa_item:focus-visible:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);outline:none}.JYBKaa_item:disabled{opacity:.4;cursor:not-allowed}.JYBKaa_itemIcon{width:14px;height:14px;color:var(--dsw-alias-label-tertiary);flex:none;justify-content:center;align-items:center;display:inline-flex}.JYBKaa_itemIcon svg,.JYBKaa_check{width:14px;height:14px}.JYBKaa_itemLabel{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.JYBKaa_check{color:var(--dsw-alias-label-primary);flex:none}.JYBKaa_selected{background:0 0}.JYBKaa_danger,.JYBKaa_danger .JYBKaa_itemIcon{color:var(--dsw-alias-state-error-primary)}.JYBKaa_danger:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover-danger)}.JYBKaa_danger:focus-visible:not(:disabled){background:var(--dsw-alias-interactive-bg-hover-danger);outline:none}.JYBKaa_label{color:var(--dsw-alias-label-tertiary);padding:6px 8px;font-size:11px;line-height:15px}.JYBKaa_separator{background:var(--dsw-alias-border-l2);height:.5px;margin:3px 2px}.JYBKaa_separator+.JYBKaa_separator{display:none}";
3092
3092
  const tagId$1 = "@deepseek-ai/dsh-client-ui-schedule/TaskMenu.module.css";
3093
3093
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$1) + "]") === null) {
3094
3094
  const tag = document.createElement("style");
package/locale/en.json ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "meta": {
3
+ "title": "Task interface",
4
+ "description": "The Automation tasks page in the sidebar, plus task cards and reminder marks in sessions."
5
+ }
6
+ }
package/locale/zh.json ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "meta": {
3
+ "title": "任务界面",
4
+ "description": "侧栏的自动化任务页面,以及会话里的任务卡片和提醒标记。"
5
+ }
6
+ }
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.1.7-rc.2",
4
+ "version": "0.2.0-rc.1",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
7
7
  "types": "lib/types/index.d.ts",
@@ -15,7 +15,8 @@
15
15
  "default": "./lib/client.js"
16
16
  },
17
17
  "./src/*": "./src/*",
18
- "./package.json": "./package.json"
18
+ "./package.json": "./package.json",
19
+ "./locale/*.json": "./locale/*.json"
19
20
  },
20
21
  "dsh": {
21
22
  "client": {
@@ -55,28 +56,29 @@
55
56
  "clsx": "^2.1.1",
56
57
  "react": "^18.2.0",
57
58
  "react-dom": "^18.2.0",
58
- "@deepseek-ai/dsh-api-remotes": "0.1.7-rc.2",
59
- "@deepseek-ai/dsh-api-workspace-controller": "0.1.7-rc.2",
60
- "@deepseek-ai/dsh-client-connection": "0.1.7-rc.2",
61
- "@deepseek-ai/dsh-api-session-controller": "0.1.7-rc.2",
62
- "@deepseek-ai/dsh-client-locale": "0.1.7-rc.2",
63
- "@deepseek-ai/dsh-client-test-runtime": "0.1.7-rc.2",
64
- "@deepseek-ai/dsh-client-ui-conversation": "0.1.7-rc.2",
65
- "@deepseek-ai/dsh-client-ui-layout": "0.1.7-rc.2",
66
- "@deepseek-ai/dsh-client-ui-primitives": "0.1.7-rc.2",
67
- "@deepseek-ai/dsh-client-ui-renderer": "0.1.7-rc.2",
68
- "@deepseek-ai/dsh-client-ui-session": "0.1.7-rc.2",
69
- "@deepseek-ai/dsh-client-ui-sidebar": "0.1.7-rc.2",
70
- "@deepseek-ai/dsh-client-ui-slots": "0.1.7-rc.2",
71
- "@deepseek-ai/dsh-client-ui-tool": "0.1.7-rc.2",
72
- "@deepseek-ai/dsh-client-ui-workspace": "0.1.7-rc.2",
73
- "@deepseek-ai/dsh-client-ui-sidebar-right": "0.1.7-rc.2",
74
- "@deepseek-ai/dsh-schedule": "0.1.7-rc.2",
75
- "@deepseek-ai/dsh-session": "0.1.7-rc.2",
76
- "@deepseek-ai/cordis": "~4.0.4",
77
- "@deepseek-ai/dsh-util-values": "0.1.7-rc.2"
59
+ "@deepseek-ai/dsh-api-remotes": "0.2.0-rc.1",
60
+ "@deepseek-ai/dsh-api-session-controller": "0.2.0-rc.1",
61
+ "@deepseek-ai/dsh-api-workspace-controller": "0.2.0-rc.1",
62
+ "@deepseek-ai/dsh-client-connection": "0.2.0-rc.1",
63
+ "@deepseek-ai/dsh-client-test-runtime": "0.2.0-rc.1",
64
+ "@deepseek-ai/dsh-client-locale": "0.2.0-rc.1",
65
+ "@deepseek-ai/dsh-client-ui-conversation": "0.2.0-rc.1",
66
+ "@deepseek-ai/dsh-client-ui-layout": "0.2.0-rc.1",
67
+ "@deepseek-ai/dsh-client-ui-primitives": "0.2.0-rc.1",
68
+ "@deepseek-ai/dsh-client-ui-renderer": "0.2.0-rc.1",
69
+ "@deepseek-ai/dsh-client-ui-session": "0.2.0-rc.1",
70
+ "@deepseek-ai/dsh-client-ui-sidebar": "0.2.0-rc.1",
71
+ "@deepseek-ai/dsh-client-ui-sidebar-right": "0.2.0-rc.1",
72
+ "@deepseek-ai/dsh-client-ui-slots": "0.2.0-rc.1",
73
+ "@deepseek-ai/dsh-client-ui-tool": "0.2.0-rc.1",
74
+ "@deepseek-ai/dsh-client-ui-workspace": "0.2.0-rc.1",
75
+ "@deepseek-ai/dsh-schedule": "0.2.0-rc.1",
76
+ "@deepseek-ai/dsh-session": "0.2.0-rc.1",
77
+ "@deepseek-ai/dsh-util-values": "0.2.0-rc.1",
78
+ "@deepseek-ai/cordis": "~4.0.4"
78
79
  },
79
80
  "files": [
81
+ "locale/*.json",
80
82
  "lib/index.js",
81
83
  "lib/client.js",
82
84
  "lib/types/**/*.d.ts"