@deepseek-ai/dsh-tool-schedule 0.2.1-alpha.1 → 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.
package/README.i18n.yaml CHANGED
@@ -42,8 +42,8 @@
42
42
  en: 3039bc5e7a796b21
43
43
  zh: 6b7a9eaf69c9ea53
44
44
  /deepseek-ai-dsh-tool-schedule/model-experience/tool-schemas/what-the-model-sees:
45
- en: 82465f7520c67ddd
46
- zh: eb9014c758b687c5
45
+ en: 0056efd9de0ecd8c
46
+ zh: 6887c2dd9ed8587f
47
47
  /deepseek-ai-dsh-tool-schedule/model-experience/tool-schemas/token-effect:
48
48
  en: 70fb9094859d0804
49
49
  zh: 30726b045484713c
@@ -63,8 +63,8 @@
63
63
  en: 2fbf2175168e8244
64
64
  zh: 9c4c1964ae59e661
65
65
  /deepseek-ai-dsh-tool-schedule/known-limitations-and-deferred-work:
66
- en: b1631143d20598e5
67
- zh: 39da52b36da27b03
66
+ en: 7623c6ce4dc40597
67
+ zh: ad91348cb37d0ec6
68
68
  /deepseek-ai-dsh-tool-schedule/known-limitations-and-deferred-work/dev-note:
69
69
  en: e67f633dc6fe7773
70
70
  zh: b2ee0fbaa165910d
package/README.md CHANGED
@@ -84,7 +84,7 @@ The plugin registers four `defineTool` definitions through the context that load
84
84
 
85
85
  #### What the model sees
86
86
 
87
- The generated [`schedule_create`, `schedule_list`, `schedule_update`, and `schedule_delete` schemas](../../../docs/tool-catalog.md#deepseek-aidsh-tool-schedule) whenever this package is visible in the calling Agent's scope.
87
+ The generated [`schedule_create`, `schedule_list`, `schedule_update`, and `schedule_delete` schemas](../../../docs/tool-catalog.md#deepseek-aidsh-tool-schedule) whenever this package is visible in the calling Agent's scope. Title guidance does not rewrite stored titles or add validation beyond the existing non-empty and length checks.
88
88
 
89
89
  #### Token effect
90
90
 
@@ -117,7 +117,6 @@ Append-only; newly visible content follows the reusable request prefix and does
117
117
  - **Deletion does not retract a queued message** — a reminder the Host already delivered stays in the Session inbox after `schedule_delete`.
118
118
  - **Reminder timing belongs to the Host** — the tools expose no target-time correction, clock source, or delivery retry; those limits are the service's.
119
119
  - **Every tool refuses a delegated caller** — each of `schedule_create`, `schedule_list`, `schedule_update`, and `schedule_delete` reads the calling Agent's delegation depth before dispatch and returns `{ code: 'subagent_session', message: 'A delegated subagent cannot use reminders.' }` when that depth is above zero. The guard lives in this package and reads `delegationDepthOf` from `@deepseek-ai/dsh-subagent`, the same accounting the delegation cap enforces, so it holds under any preset that mounts the tools.
120
- - **A preset's delegation rows remove the four tools from a child's prompt** — the `standard`, `cordis`, and `ptc` presets declare `toolFilter.deny` for `schedule_create`, `schedule_delete`, `schedule_list`, and `schedule_update` on both the `tool-subagent` and `tool-subagent-fork` rows. The provider applies that filter through `ctx.tools.restrict()` in the child scope, so the four tools leave a delegated child's prompt; delegating further on that chain intersects the same restriction.
121
120
  - **A Session a delegated child owns cannot arm a reminder** — `ScheduleService.create` throws `ScheduleInputError` with code `subagent_session`, and `ScheduleService.update` returns the non-mutating `subagent_session` result, when the Session's Agent has a delegation depth above zero. The delegation depth is the accounting the delegation cap itself reads, and the persisted session header carries it across a cold resume. The rule sits in the service, not in these tools, so other in-process consumers reach it too: the Automation surface included. `schedule_list` and `schedule_delete` still serve that Session, so a reminder stored before this rule stays removable.
122
121
 
123
122
  <a id="dev-note"></a>
package/README.zh.md CHANGED
@@ -84,7 +84,7 @@ kind: "package-reference"
84
84
 
85
85
  #### What the model sees
86
86
 
87
- 只要本包在调用方 Agent 的作用域内可见,模型就会收到生成的 [`schedule_create`、`schedule_list`、`schedule_update` 与 `schedule_delete` schema](../../../docs/tool-catalog.zh.md#deepseek-aidsh-tool-schedule)。
87
+ 只要本包在调用方 Agent 的作用域内可见,模型就会收到生成的 [`schedule_create`、`schedule_list`、`schedule_update` 与 `schedule_delete` schema](../../../docs/tool-catalog.zh.md#deepseek-aidsh-tool-schedule)。标题指引不会改写已存标题,也不会在现有的非空和长度检查之外增加校验。
88
88
 
89
89
  #### Token effect
90
90
 
@@ -117,7 +117,6 @@ kind: "package-reference"
117
117
  - **删除不会撤回已排队的消息** —— 宿主已经投递的提醒在 `schedule_delete` 之后仍留在 Session 收件箱中。
118
118
  - **提醒时间由宿主负责** —— 这些工具不提供目标时间校正、时钟来源或投递重试;这些限制属于该服务。
119
119
  - **每个工具都拒绝被委派的调用方** —— `schedule_create`、`schedule_list`、`schedule_update` 与 `schedule_delete` 都会在派发前读取调用方 Agent 的委派深度,当该深度大于零时返回 `{ code: 'subagent_session', message: 'A delegated subagent cannot use reminders.' }`。该守卫位于本包内,读取来自 `@deepseek-ai/dsh-subagent` 的 `delegationDepthOf`,即委派封顶本身执行的同一份记账,因此在任何挂载这些工具的 preset 下都成立。
120
- - **preset 的委派行让这四个工具从子 agent 的 prompt 中消失** —— `standard`、`cordis` 与 `ptc` preset 在 `tool-subagent` 与 `tool-subagent-fork` 两行上都声明 `toolFilter.deny`,拒绝 `schedule_create`、`schedule_delete`、`schedule_list` 和 `schedule_update`。provider 会在子作用域内通过 `ctx.tools.restrict()` 应用该过滤,因此这四个工具会从被委派子 agent 的 prompt 中消失;在子链上继续委派会沿链求交同一限制。
121
120
  - **被委派子 agent 拥有的 Session 不能设置提醒** —— 当 Session 的 Agent 委派深度大于零时,`ScheduleService.create` 会抛出 `ScheduleInputError`(code 为 `subagent_session`),`ScheduleService.update` 则返回非变更的 `subagent_session` 结果。委派深度正是委派封顶本身读取的同一份记账,持久化 session header 让它在冷恢复后仍然成立。这条规则在服务层而非这些工具里,因此其它进程内消费方(包括自动化任务页面)也会命中。`schedule_list` 与 `schedule_delete` 仍可服务该 Session,所以在这条规则之前存储的提醒仍可删除。
122
121
 
123
122
  <a id="dev-note"></a>
package/lib/index.js CHANGED
@@ -258,6 +258,7 @@ const CREATE_DESCRIPTION = "Create a reminder in the current session that delive
258
258
  const LIST_DESCRIPTION = "List the active reminders in the current session.";
259
259
  const DELETE_DESCRIPTION = "Delete a reminder in the current session, active or inactive. Deletion does not retract a reminder message that is already queued.";
260
260
  const UPDATE_DESCRIPTION = "Change a reminder in place, keeping its id. Supply a new title, prompt, or at most one timing parameter; omitted fields keep their stored values. To change a relative delay, create a new reminder.";
261
+ const CREATE_TITLE_DESCRIPTION = `Concise task name in the user's language, at most ${MAX_TITLE_LENGTH} characters. Name only the core action and subject; keep essential target identifiers such as PR numbers and branch names. Do not include execution frequency (e.g. daily, hourly), scheduled dates/times, time zones, task status, or configuration and execution details (e.g. read-only mode, profile-tag filters), even when embedded in the requested or existing title. Do not append parenthetical notes. Put scheduling information in the timing parameters and execution instructions in prompt.`;
261
262
  /** Deterministic model content for every canonical Schedule value. */
262
263
  function renderValue(_args, value) {
263
264
  return [{
@@ -515,7 +516,7 @@ function registerScheduleTools(ctx) {
515
516
  title: {
516
517
  type: "string",
517
518
  required: true,
518
- description: `Task name of at most ${MAX_TITLE_LENGTH} characters, shown on the task card and in task lists.`
519
+ description: CREATE_TITLE_DESCRIPTION
519
520
  },
520
521
  after_seconds: {
521
522
  type: "number",
@@ -610,7 +611,7 @@ function registerScheduleTools(ctx) {
610
611
  },
611
612
  title: {
612
613
  type: "string",
613
- description: `New task name of at most ${MAX_TITLE_LENGTH} characters.`
614
+ description: "New task name; follow the schedule_create title rules."
614
615
  },
615
616
  prompt: {
616
617
  type: "string",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@deepseek-ai/dsh-tool-schedule",
3
3
  "description": "Model-facing reminder management tools (schedule_create, schedule_list, schedule_update, schedule_delete) over the Host ctx.schedule service",
4
- "version": "0.2.1-alpha.1",
4
+ "version": "0.2.1-alpha.3",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -27,20 +27,20 @@
27
27
  ],
28
28
  "license": "MIT",
29
29
  "peerDependencies": {
30
- "@deepseek-ai/cordis": "~4.0.5-alpha.1",
31
- "@deepseek-ai/dsh-llm": "0.2.1-alpha.1",
32
- "@deepseek-ai/dsh-schedule": "0.2.1-alpha.1",
33
- "@deepseek-ai/dsh-subagent": "0.2.1-alpha.1",
34
- "@deepseek-ai/dsh-tools": "0.2.1-alpha.1"
30
+ "@deepseek-ai/cordis": "~4.0.5-alpha.2",
31
+ "@deepseek-ai/dsh-llm": "0.2.1-alpha.3",
32
+ "@deepseek-ai/dsh-schedule": "0.2.1-alpha.3",
33
+ "@deepseek-ai/dsh-subagent": "0.2.1-alpha.3",
34
+ "@deepseek-ai/dsh-tools": "0.2.1-alpha.3"
35
35
  },
36
36
  "devDependencies": {
37
- "@deepseek-ai/dsh-agent": "0.2.1-alpha.1",
38
- "@deepseek-ai/dsh-llm": "0.2.1-alpha.1",
39
- "@deepseek-ai/dsh-scope": "0.2.1-alpha.1",
40
- "@deepseek-ai/cordis": "~4.0.5-alpha.1",
41
- "@deepseek-ai/dsh-session": "0.2.1-alpha.1",
42
- "@deepseek-ai/dsh-schedule": "0.2.1-alpha.1",
43
- "@deepseek-ai/dsh-subagent": "0.2.1-alpha.1",
44
- "@deepseek-ai/dsh-tools": "0.2.1-alpha.1"
37
+ "@deepseek-ai/cordis": "~4.0.5-alpha.2",
38
+ "@deepseek-ai/dsh-agent": "0.2.1-alpha.3",
39
+ "@deepseek-ai/dsh-llm": "0.2.1-alpha.3",
40
+ "@deepseek-ai/dsh-schedule": "0.2.1-alpha.3",
41
+ "@deepseek-ai/dsh-scope": "0.2.1-alpha.3",
42
+ "@deepseek-ai/dsh-session": "0.2.1-alpha.3",
43
+ "@deepseek-ai/dsh-subagent": "0.2.1-alpha.3",
44
+ "@deepseek-ai/dsh-tools": "0.2.1-alpha.3"
45
45
  }
46
46
  }