@siming-org/opencode-plugin 0.1.15 → 0.1.17

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 (48) hide show
  1. package/README.md +38 -4
  2. package/dist/fetch-assets.d.ts +26 -0
  3. package/dist/fetch-assets.d.ts.map +1 -1
  4. package/dist/fetch-assets.js +54 -0
  5. package/dist/fetch-assets.js.map +1 -1
  6. package/dist/host-api.d.ts +12 -1
  7. package/dist/host-api.d.ts.map +1 -1
  8. package/dist/host-api.js.map +1 -1
  9. package/dist/register/skills.d.ts +6 -4
  10. package/dist/register/skills.d.ts.map +1 -1
  11. package/dist/register/skills.js +7 -2
  12. package/dist/register/skills.js.map +1 -1
  13. package/dist/register/todo-suite.d.ts +28 -0
  14. package/dist/register/todo-suite.d.ts.map +1 -0
  15. package/dist/register/todo-suite.js +133 -0
  16. package/dist/register/todo-suite.js.map +1 -0
  17. package/dist/server/index.d.ts.map +1 -1
  18. package/dist/server/index.js +44 -3
  19. package/dist/server/index.js.map +1 -1
  20. package/dist/task-discipline-prompt.d.ts +1 -0
  21. package/dist/task-discipline-prompt.d.ts.map +1 -1
  22. package/dist/task-discipline-prompt.js +13 -4
  23. package/dist/task-discipline-prompt.js.map +1 -1
  24. package/dist/todo/config.d.ts +21 -0
  25. package/dist/todo/config.d.ts.map +1 -0
  26. package/dist/todo/config.js +272 -0
  27. package/dist/todo/config.js.map +1 -0
  28. package/dist/todo/counter.d.ts +14 -0
  29. package/dist/todo/counter.d.ts.map +1 -0
  30. package/dist/todo/counter.js +19 -0
  31. package/dist/todo/counter.js.map +1 -0
  32. package/dist/todo/nudge-log.d.ts +5 -0
  33. package/dist/todo/nudge-log.d.ts.map +1 -0
  34. package/dist/todo/nudge-log.js +45 -0
  35. package/dist/todo/nudge-log.js.map +1 -0
  36. package/dist/todo/prompt.d.ts +9 -0
  37. package/dist/todo/prompt.d.ts.map +1 -0
  38. package/dist/todo/prompt.js +18 -0
  39. package/dist/todo/prompt.js.map +1 -0
  40. package/dist/todo/rate-limit.d.ts +7 -0
  41. package/dist/todo/rate-limit.d.ts.map +1 -0
  42. package/dist/todo/rate-limit.js +20 -0
  43. package/dist/todo/rate-limit.js.map +1 -0
  44. package/dist/todo/task-planning-skill.d.ts +9 -0
  45. package/dist/todo/task-planning-skill.d.ts.map +1 -0
  46. package/dist/todo/task-planning-skill.js +59 -0
  47. package/dist/todo/task-planning-skill.js.map +1 -0
  48. package/package.json +2 -2
package/README.md CHANGED
@@ -11,16 +11,50 @@ opencode plugin update # 升级
11
11
 
12
12
  要求:opencode ≥ 2.0.26(过低仅提示不阻断);Node.js ≥ 22(随 @siming-org/cli 依赖自检,不满足时 MCP 与 siming_cli 降级不注册,其余四样不受影响)。
13
13
 
14
- ## 注册的六样
14
+ ## 注册的七样
15
15
 
16
16
  | 资产 | 说明 |
17
17
  |---|---|
18
18
  | MCP server `siming` | 本地 stdio 拉起 `siming mcp-serve`,暴露 `siming_task` / `siming_template` / `siming_auth` 三件工具 |
19
19
  | 工具 `siming_refresh` | 手动强制刷新资产(server 地址与绑定项目就绪度随摘要返回) |
20
20
  | 工具 `siming_cli` | 以子进程执行任意 siming CLI 命令(仅限接入与诊断;任务生命周期操作一律走 MCP 三件套 siming_task / siming_template / siming_auth;日常运维请走终端) |
21
- | 技能 | `siming-guide` 接入引导(固定常驻)+ server 侧全局/项目技能自动同步 |
21
+ | 技能 | `siming-guide` 接入引导 + `task-planning` 任务清单规划(固定常驻)+ server 侧全局/项目技能自动同步 |
22
22
  | 子代理 | server 侧 agent 自动同步为 subagent(模型置空继承主会话当前模型;任务依据限于项目代码,过程产物读取与命令执行由主会话完成) |
23
- | 任务纪律注入 | 已接入 siming 的工作区(`.siming/config.json` 含 `defaultProject`)的**主会话**,向系统指令追加任务纪律提示词(插件内常量,无网络拉取;**默认只约束开发流程与调研流程**,其他工作默认不走 siming,业务特定流程需在该业务自己的项目提示词中声明;子代理/辅助请求/未接入工作区不注入;判定复用 worktree 桥语义,T202610150001;旧宿主缺 session 域自动跳过并由激活自检上报) |
23
+ | 任务纪律注入 | 已接入 siming 的工作区(`.siming/config.json` 含 `defaultProject`)的**主会话**,向系统指令追加任务纪律提示词(插件内常量,无网络拉取;**先识别意图:仅开发/调研类型建任务;非开发调整默认不建任务,涉及源代码或生产资产文本时走「简短计划 → 用户确认 → 执行 → 补验证」轻量路径**;子代理/辅助请求/未接入工作区不注入;判定复用 worktree 桥语义,T202610150001;旧宿主缺 session 域自动跳过并由激活自检上报) |
24
+ | todo 维护提醒 | 所有工作区**主会话**生效(不要求接入 siming):todo 系统提示词 + `task-planning` 技能 + 每 N 次 LLM 请求尾部一行「自动提醒」注入,推动及时维护 todos(详见下节;宿主需开启 `experimental.todo`,未开启则三件套整体不生效) |
25
+
26
+ ## todo 维护提醒(todoNudge)
27
+
28
+ 三件套 = todo 系统提示词(主会话系统指令幂等追加)+ `task-planning` 技能 + 每 N 次请求的消息尾部注入一行:
29
+
30
+ ```
31
+ [todo-nudge 自动提醒,非用户输入] 复杂任务建议用 todos 跟踪;子项完成后顺手更新状态。
32
+ ```
33
+
34
+ - **激活门槛**:宿主 opencode 需开启 `experimental.todo`(注册 `todowrite` 工具)——未开启时三件套整体不生效(激活日志有指引,开启并重启宿主即恢复;插件不会代改宿主配置)
35
+ - **生效范围**:所有工作区的主会话;子代理与辅助请求(压缩/标题生成等)不注入不计数
36
+ - **注入性质**:仅存在于当次 LLM 请求,不落会话历史、不破坏前缀缓存、不影响 billion-context 等代理
37
+ - **配置**(`todoNudge` 键,可选):
38
+
39
+ ```jsonc
40
+ // 工作区 <ws>/.siming/config.json(严格 JSON,无注释)或全局 ~/.siming/config.json(容忍注释)
41
+ {
42
+ "todoNudge": { "enabled": true, "every": 6, "text": "自定义提醒文案" }
43
+ }
44
+ ```
45
+
46
+ - 层级:工作区就近文件(按文件存在判定,与是否接入 siming 无关)> 全局 > 内置默认(`enabled: true` / `every: 6` / 默认文案);**字段级合并**——未设置的项逐字段继承
47
+ - 取值:`enabled` 布尔;`every` ≥1 整数;`text` 非空字符串(空/纯白回退默认)。某字段非法 → 该字段回退内置默认并告警(不跨层继承错误值)
48
+ - 整文件损坏(不可读/解析失败)→ 提醒按关闭处理,不回退其他层;修复保存后自动恢复
49
+ - 自定义 `text` 请保留「自动提醒,非用户输入」标识语义,防止被模型当成用户指令
50
+ - **热生效**:配置保存后约 150ms 内重读生效(含就近位置新建工作区配置文件);`关闭→开启` 跃迁时计数从 0 重新起算;watch 不可用的环境自动降级为重启生效(激活日志可见);watcher(重)建后另有一次性补读兜底(覆盖文件系统事件激活窗口内的变更)。已知边界:在定位路径的**中间层级**(既非现有 `.siming` 所在层、也非紧邻工作区的那一层)新建 `.siming/config.json` 无法热感知,需重启宿主生效
51
+ - **开关语义**:`enabled: false` 只停「提醒注入」;todo 系统提示词与 `task-planning` 技能不受影响
52
+ - **命中日志**:仅命中注入时写一行(时间/会话/计数/消息数),落 `<工作区>/.siming/temp/siming-opencode-plugin/todo-nudge.log`(无工作区或目录不可写时回退系统临时目录 `siming-opencode-plugin/loc-<hash>/`),超 1MB 轮转保留一代;这是运行日志非资产,可随时手工删除
53
+ - **从旧方案迁移**(两者共存会双重注入/文件版技能遮蔽插件版,务必退役):
54
+ 1. 删除或停用 `~/.config/opencode/plugins/todo-nudge.ts`(参考实现)
55
+ 2. 退役 `~/.config/opencode/skills/task-planning/SKILL.md`(本地技能文件会遮蔽插件注册的同名技能)
56
+ 3. 重启 opencode,激活日志确认「todo 提醒:开(每 6 次)」
57
+ 4. 冲突裁决:项目 AGENTS.md 的 todo 协议保留为通用规则;与插件 todo 规则冲突时(两类文本共存于任何工作区)一律以插件为准
24
58
 
25
59
  ## server 连接与凭证
26
60
 
@@ -39,7 +73,7 @@ opencode plugin update # 升级
39
73
 
40
74
  ## 常驻与上下文占用
41
75
 
42
- 全部注册物常驻会话,合计约 2-3K token(粗估,按宿主 tokenizer 浮动;窗口占比 1-1.5%;其中任务纪律提示词为常量短文,约 0.4-0.7K token,T202610220001 范围收敛后同步核对)。插件不内置任何 permissions 规则;如需收窄 `siming_cli` 可达面,可自配 deny 规则引用其锚点 `siming-setup`(options.permission 声明值),例如在 opencode 权限配置中 deny `siming-setup`。
76
+ 全部注册物常驻会话,合计约 2-3K token(粗估,按宿主 tokenizer 浮动;窗口占比 1-1.5%;其中任务纪律提示词为常量短文,约 0.6-0.9K token,T202610290001 意图分流文案后按实测校正)。插件不内置任何 permissions 规则;如需收窄 `siming_cli` 可达面,可自配 deny 规则引用其锚点 `siming-setup`(options.permission 声明值),例如在 opencode 权限配置中 deny `siming-setup`。
43
77
 
44
78
  ## 旧产物同名处理
45
79
 
@@ -5,6 +5,32 @@ import type { AgentAsset, SkillAsset } from './assets-store.js';
5
5
  * ~/.local/... 下,不桥接永远碰不到主仓,反而会误命中祖先链上的全局层目录(T202610150001)。
6
6
  */
7
7
  export declare function findWorkspaceDir(start: string): string | null;
8
+ export interface TodoConfigWalk {
9
+ /** 生效的工作区配置文件(就近向上第一个 .siming/config.json 存在文件者;无 = null) */
10
+ hit: {
11
+ path: string;
12
+ workspaceDir: string;
13
+ } | null;
14
+ /** 集合①:定位路径上遇到的全部 .siming 目录(含生效层所在、含无 config.json 的更近层) */
15
+ simingDirs: string[];
16
+ /** 集合②:离 start 最近且尚无 .siming 的一级目录(捕获更近层 .siming 新建;全路径均有 .siming 时 = null) */
17
+ gapDir: string | null;
18
+ }
19
+ /**
20
+ * todo 配置定位路径单次遍历(findWorkspaceDir 同族但命中语义不同:`.siming` 目录存在而无
21
+ * config.json 不算命中继续向上——「存在即覆盖」按文件而非目录判定,PRD 规则 4)。
22
+ * $HOME 边界:查找遇 $HOME 即止($HOME/.siming/config.json 归全局层,不重复计工作区层);
23
+ * worktree 根经 mainRepoRootOf 桥跳主仓根继续(worktree 视为主仓一部分——自身无 config.json
24
+ * 时用主仓的,自身有时就近优先)。
25
+ * hit 命中即停——更上层对当前生效层无影响(就近优先);生效文件被删的事件由集合①监听承接,
26
+ * 重读重新遍历后监听集合随之重建(路径不定格于 setup)。
27
+ */
28
+ export declare function walkTodoConfigPath(start: string): TodoConfigWalk;
29
+ /** todo 生效工作区配置文件定位(walkTodoConfigPath 的命中投影,技术方案 §4.1) */
30
+ export declare function findTodoConfigFile(start: string): {
31
+ path: string;
32
+ workspaceDir: string;
33
+ } | null;
8
34
  export type FetchFailureKind = 'network' | 'auth' | 'http' | 'parse';
9
35
  export declare class AssetFetchError extends Error {
10
36
  readonly kind: FetchFailureKind;
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-assets.d.ts","sourceRoot":"","sources":["../src/fetch-assets.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AA8BhE;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAW7D;AAoGD,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAErE,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;gBACb,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAMrE;AAkCD,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,+DAA+D;IAC/D,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,4DAA4D;IAC5D,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,2DAA2D;AAC3D,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAwBhE;AAiHD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE1D;AAqDD,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,MAAM,CAK9E;AAED;;;;GAIG;AACH,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAGjF;AAED,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAGjF;AAQD,4CAA4C;AAC5C,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,8DAA8D;IAC9D,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,eAAO,MAAM,4BAA4B,YAAY,CAAC;AAEtD;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,iBAAiB,CAAC,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,EACtD,sBAAsB,CAAC,EAAE,MAAM,GAC9B,OAAO,CAAC,SAAS,CAAC,CAsCpB;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,MAAM,EAAE,CAAC,EAAE,CAAC;IACZ,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAsC/F;AAED,mDAAmD;AACnD,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CA6B/F"}
1
+ {"version":3,"file":"fetch-assets.d.ts","sourceRoot":"","sources":["../src/fetch-assets.ts"],"names":[],"mappings":"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"}
@@ -70,6 +70,60 @@ export function findWorkspaceDir(start) {
70
70
  dir = parent;
71
71
  }
72
72
  }
73
+ /**
74
+ * todo 配置定位路径单次遍历(findWorkspaceDir 同族但命中语义不同:`.siming` 目录存在而无
75
+ * config.json 不算命中继续向上——「存在即覆盖」按文件而非目录判定,PRD 规则 4)。
76
+ * $HOME 边界:查找遇 $HOME 即止($HOME/.siming/config.json 归全局层,不重复计工作区层);
77
+ * worktree 根经 mainRepoRootOf 桥跳主仓根继续(worktree 视为主仓一部分——自身无 config.json
78
+ * 时用主仓的,自身有时就近优先)。
79
+ * hit 命中即停——更上层对当前生效层无影响(就近优先);生效文件被删的事件由集合①监听承接,
80
+ * 重读重新遍历后监听集合随之重建(路径不定格于 setup)。
81
+ */
82
+ export function walkTodoConfigPath(start) {
83
+ const simingDirs = [];
84
+ let gapDir = null;
85
+ let hit = null;
86
+ let dir = resolve(start);
87
+ for (;;) {
88
+ if (isHomeDir(dir))
89
+ break; // 全局层边界,工作区查找到此为止
90
+ const marker = join(dir, '.siming');
91
+ if (existsSync(marker)) {
92
+ simingDirs.push(marker);
93
+ const file = join(marker, 'config.json');
94
+ if (isRegularFile(file)) {
95
+ hit = { path: file, workspaceDir: dir };
96
+ break;
97
+ }
98
+ }
99
+ else if (gapDir === null) {
100
+ gapDir = dir; // 仅记首个无 .siming 的层级(中间层级新建为已声明的非热生效边界)
101
+ }
102
+ const mainRoot = mainRepoRootOf(dir);
103
+ if (mainRoot !== null) {
104
+ dir = mainRoot;
105
+ continue;
106
+ }
107
+ const parent = dirname(dir);
108
+ if (parent === dir)
109
+ break;
110
+ dir = parent;
111
+ }
112
+ return { hit, simingDirs, gapDir };
113
+ }
114
+ /** todo 生效工作区配置文件定位(walkTodoConfigPath 的命中投影,技术方案 §4.1) */
115
+ export function findTodoConfigFile(start) {
116
+ return walkTodoConfigPath(start).hit;
117
+ }
118
+ /** 存在且为普通文件(config.json 提供层判定) */
119
+ function isRegularFile(path) {
120
+ try {
121
+ return statSync(path).isFile();
122
+ }
123
+ catch {
124
+ return false;
125
+ }
126
+ }
73
127
  /** 读工作区 .siming/config.json(损坏=console.error + null,不中断) */
74
128
  function readWorkspaceConfig(workspaceDir) {
75
129
  const file = join(workspaceDir, '.siming', 'config.json');
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-assets.js","sourceRoot":"","sources":["../src/fetch-assets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch-assets.js","sourceRoot":"","sources":["../src/fetch-assets.ts"],"names":[],"mappings":"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"}
@@ -136,10 +136,21 @@ export interface HostSystemPart {
136
136
  type: 'text';
137
137
  text: string;
138
138
  }
139
- /** context hook 事件消费面(SessionContext:system 可变数组 + sessionID) */
139
+ /** 宿主消息 part 消费面(UserMessage.content 元素:当前只消费 text part) */
140
+ export interface HostMessagePart {
141
+ type: 'text' | 'image' | 'audio' | 'file' | (string & {});
142
+ text?: string;
143
+ }
144
+ /** 宿主消息消费面(UserMessage/AssistantMessage 最小面:尾部注入与判重只碰 content) */
145
+ export interface HostMessage {
146
+ role: string;
147
+ content: HostMessagePart[];
148
+ }
149
+ /** context hook 事件消费面(SessionContext:system/messages 可变数组 + sessionID,T202610260002 扩 messages) */
140
150
  export interface HostSessionContextEvent {
141
151
  readonly sessionID: string;
142
152
  system: HostSystemPart[];
153
+ messages: HostMessage[];
143
154
  }
144
155
  /** Session.Info 消费面(packages/schema/src/session.ts:parentID 缺省 = 主会话) */
145
156
  export interface HostSessionInfo {
@@ -1 +1 @@
1
- {"version":3,"file":"host-api.d.ts","sourceRoot":"","sources":["../src/host-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host-api.d.ts","sourceRoot":"","sources":["../src/host-api.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"host-api.js","sourceRoot":"","sources":["../src/host-api.ts"],"names":[],"mappings":"AAoHA;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,cAAsB,EAAE,IAAY;IACnE,OAAO,GAAG,cAAc,WAAW,IAAI,WAAW,CAAC;AACrD,CAAC;AAyFD;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,OAA2B;IACxD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;YAChE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC,CAAC;QAChC,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACvD,MAAM,MAAM,GAAG,KAAgC,CAAC;YAChD,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;gBAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;iBACvD,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ;gBAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"host-api.js","sourceRoot":"","sources":["../src/host-api.ts"],"names":[],"mappings":"AAoHA;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,cAAsB,EAAE,IAAY;IACnE,OAAO,GAAG,cAAc,WAAW,IAAI,WAAW,CAAC;AACrD,CAAC;AAsGD;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,OAA2B;IACxD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;YAChE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC,CAAC;QAChC,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACvD,MAAM,MAAM,GAAG,KAAgC,CAAC;YAChD,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;gBAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;iBACvD,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ;gBAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -5,12 +5,14 @@
5
5
  * 1. 对账簿比对——上轮注册过但本轮 store 已无的名字 ed.remove(停用/删除的消失不依赖宿主 reload 实现形态);
6
6
  * 2. store 内全部技能 add(正文内嵌消费,path=合成展示路径——内置技能 /builtin/*.md 先例,
7
7
  * references 已在拉取时物化并改写为绝对路径);
8
- * 3. 引导技能固定注册(注册面固定项之一,不随拉取变化)。
8
+ * 3. 引导技能固定注册(注册面固定项之一,不随拉取变化);
9
+ * 4. 内置常量技能(T202610260002 todo 三件套之 task-planning;门控/旧宿主守卫不过时传空数组)。
9
10
  * transform 每请求重放,读的是 assets-store 当前快照——刷新替换 store 后下一请求即见新名单。
10
11
  */
11
- import type { HostPluginContext } from '../host-api.js';
12
+ import type { HostPluginContext, HostSkillInfo } from '../host-api.js';
12
13
  import type { AssetsStore } from '../assets-store.js';
13
14
  /** store=本 location 实例(setup 构造后注入——多 location 各注册各的,互不串扰);
14
- * referencesRoot 与拉取侧物化根同源(referencesRootOf(directory)),展示路径靠它定位 <skill_files> */
15
- export declare function registerSkills(ctx: HostPluginContext, store: AssetsStore, referencesRoot: string): void;
15
+ * referencesRoot 与拉取侧物化根同源(referencesRootOf(directory)),展示路径靠它定位 <skill_files>;
16
+ * extraSkills=内置常量技能(门控不过时为空——三件套整体生效/整体不生效,PRD 规则 14) */
17
+ export declare function registerSkills(ctx: HostPluginContext, store: AssetsStore, referencesRoot: string, extraSkills?: readonly HostSkillInfo[]): void;
16
18
  //# sourceMappingURL=skills.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/register/skills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD;mFACmF;AACnF,wBAAgB,cAAc,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAuBvG"}
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/register/skills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD;;2DAE2D;AAC3D,wBAAgB,cAAc,CAC5B,GAAG,EAAE,iBAAiB,EACtB,KAAK,EAAE,WAAW,EAClB,cAAc,EAAE,MAAM,EACtB,WAAW,GAAE,SAAS,aAAa,EAAO,GACzC,IAAI,CA4BN"}
@@ -1,8 +1,9 @@
1
1
  import { skillDisplayPath } from '../host-api.js';
2
2
  import { guideSkillInfo } from '../guide-skill.js';
3
3
  /** store=本 location 实例(setup 构造后注入——多 location 各注册各的,互不串扰);
4
- * referencesRoot 与拉取侧物化根同源(referencesRootOf(directory)),展示路径靠它定位 <skill_files> */
5
- export function registerSkills(ctx, store, referencesRoot) {
4
+ * referencesRoot 与拉取侧物化根同源(referencesRootOf(directory)),展示路径靠它定位 <skill_files>;
5
+ * extraSkills=内置常量技能(门控不过时为空——三件套整体生效/整体不生效,PRD 规则 14) */
6
+ export function registerSkills(ctx, store, referencesRoot, extraSkills = []) {
6
7
  ctx.skill.transform((editor) => {
7
8
  // 1. 对账:store 已无但上轮注册过的名字移除(停用/删除消失)
8
9
  const currentNames = new Set(store.getSnapshot().skills.map((skill) => skill.name));
@@ -23,6 +24,10 @@ export function registerSkills(ctx, store, referencesRoot) {
23
24
  }
24
25
  // 3. 引导技能(固定常驻;展示路径同根,保持注册面一致)
25
26
  editor.add(guideSkillInfo(referencesRoot));
27
+ // 4. 内置常量技能(todo task-planning 等;与固定项同形态——每轮重放 add,幂等)
28
+ for (const info of extraSkills) {
29
+ editor.add(info);
30
+ }
26
31
  });
27
32
  }
28
33
  //# sourceMappingURL=skills.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/register/skills.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD;mFACmF;AACnF,MAAM,UAAU,cAAc,CAAC,GAAsB,EAAE,KAAkB,EAAE,cAAsB;IAC/F,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;QAC7B,qCAAqC;QACrC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACpF,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,uBAAuB,EAAE,EAAE,CAAC;YACnD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;QACD,KAAK,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;QAE5C,sCAAsC;QACtC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,CAAC;YAC/C,MAAM,CAAC,GAAG,CAAC;gBACT,EAAE,EAAE,KAAK,CAAC,IAAI;gBACd,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,IAAI,EAAE,gBAAgB,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC;gBAClD,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAC;QACL,CAAC;QAED,+BAA+B;QAC/B,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/register/skills.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;2DAE2D;AAC3D,MAAM,UAAU,cAAc,CAC5B,GAAsB,EACtB,KAAkB,EAClB,cAAsB,EACtB,cAAwC,EAAE;IAE1C,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;QAC7B,qCAAqC;QACrC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACpF,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,uBAAuB,EAAE,EAAE,CAAC;YACnD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;QACD,KAAK,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;QAE5C,sCAAsC;QACtC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,CAAC;YAC/C,MAAM,CAAC,GAAG,CAAC;gBACT,EAAE,EAAE,KAAK,CAAC,IAAI;gBACd,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,IAAI,EAAE,gBAAgB,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC;gBAClD,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAC;QACL,CAAC;QAED,+BAA+B;QAC/B,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;QAE3C,uDAAuD;QACvD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * todo 三件套注册:task-planning 技能 + todo 系统提示词 + 每 N 次请求提醒注入(技术方案 §4.3/§4.7)。
3
+ *
4
+ * 判定链(顺序即语义):
5
+ * ① 旧宿主守卫:session 域缺 hook/get → 三件套全不注册(selfCheck 可观测);
6
+ * ② 激活门控:tool.list() 无 'todowrite'(宿主 experimental.todo 未开启)→ 三件套全不注册
7
+ * + 指引日志;判定仅在 setup 时一次(PRD 规则 14,用户开启后重启/重载恢复);
8
+ * ③ handler(每请求):主会话判定(子代理不注入;识别失败按主会话处理——宁可多提醒)
9
+ * → 8.1 系统提示词幂等注入(不读配置——开关只停提醒,PRD 规则 3)
10
+ * → corrupt/enabled=false 早退(零 IO,不计数)
11
+ * → 计数 % every 命中 → 尾部判重(末条消息最后一个 text part 严格相等,PRD 规则 8)
12
+ * → 消息尾部注入(user + text parts 数组——纯字符串会被宿主静默丢弃)
13
+ * → 命中日志(§4.5)。
14
+ * 失败隔离:handler 全体 try/catch,同类错误 60s 一条,绝不 rethrow(PRD 规则 9)。
15
+ */
16
+ import { type HostPluginContext, type HostSkillInfo } from '../host-api.js';
17
+ import { type TodoNudgeConfigWatch } from '../todo/config.js';
18
+ export type TodoSuiteStatus = 'active' | 'gated-off' | 'unsupported-host' | 'error';
19
+ export interface TodoSuite {
20
+ readonly skillInfo: HostSkillInfo | null;
21
+ /** selfCheck 上报用:active=三件套生效;gated-off=宿主未开 todo 工具;unsupported-host=宿主过旧;
22
+ * error=初始化异常(todo 失败域自收敛——最坏影响=无提醒,不阻断其余注册面,技术方案 §6) */
23
+ readonly status: TodoSuiteStatus;
24
+ /** status=error 时的原因(selfCheck 渲染用,避免把读取失败误报成「未开 experimental.todo」) */
25
+ readonly reason?: string;
26
+ }
27
+ export declare function registerTodoSuite(ctx: HostPluginContext, directory: string, referencesRoot: string, todoNudgeConfig: TodoNudgeConfigWatch): Promise<TodoSuite>;
28
+ //# sourceMappingURL=todo-suite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"todo-suite.d.ts","sourceRoot":"","sources":["../../src/register/todo-suite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAkB,KAAK,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE5F,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAY9D,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,WAAW,GAAG,kBAAkB,GAAG,OAAO,CAAC;AAEpF,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI,CAAC;IACzC;8DAC0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,wEAAwE;IACxE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,iBAAiB,EACtB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,oBAAoB,GACpC,OAAO,CAAC,SAAS,CAAC,CAuGpB"}
@@ -0,0 +1,133 @@
1
+ /**
2
+ * todo 三件套注册:task-planning 技能 + todo 系统提示词 + 每 N 次请求提醒注入(技术方案 §4.3/§4.7)。
3
+ *
4
+ * 判定链(顺序即语义):
5
+ * ① 旧宿主守卫:session 域缺 hook/get → 三件套全不注册(selfCheck 可观测);
6
+ * ② 激活门控:tool.list() 无 'todowrite'(宿主 experimental.todo 未开启)→ 三件套全不注册
7
+ * + 指引日志;判定仅在 setup 时一次(PRD 规则 14,用户开启后重启/重载恢复);
8
+ * ③ handler(每请求):主会话判定(子代理不注入;识别失败按主会话处理——宁可多提醒)
9
+ * → 8.1 系统提示词幂等注入(不读配置——开关只停提醒,PRD 规则 3)
10
+ * → corrupt/enabled=false 早退(零 IO,不计数)
11
+ * → 计数 % every 命中 → 尾部判重(末条消息最后一个 text part 严格相等,PRD 规则 8)
12
+ * → 消息尾部注入(user + text parts 数组——纯字符串会被宿主静默丢弃)
13
+ * → 命中日志(§4.5)。
14
+ * 失败隔离:handler 全体 try/catch,同类错误 60s 一条,绝不 rethrow(PRD 规则 9)。
15
+ */
16
+ import { listEntryNames } from '../host-api.js';
17
+ import { createNudgeCounter } from '../todo/counter.js';
18
+ import {} from '../todo/config.js';
19
+ import { createNudgeLogger } from '../todo/nudge-log.js';
20
+ import { DEFAULT_NUDGE_TEXT, TODO_SYSTEM_PROMPT } from '../todo/prompt.js';
21
+ import { createRateLimiter } from '../todo/rate-limit.js';
22
+ import { taskPlanningSkillInfo } from '../todo/task-planning-skill.js';
23
+ /** 门控键:宿主 experimental.todo 开启时注册的实验工具名(本机 v2.1.3 实测) */
24
+ const TODO_TOOL_NAME = 'todowrite';
25
+ /** 主会话判定缓存上限(超出整体清空重建——会话创建后 parentID 不变,整表丢弃无正确性影响) */
26
+ const SESSION_CACHE_MAX = 1024;
27
+ export async function registerTodoSuite(ctx, directory, referencesRoot, todoNudgeConfig) {
28
+ // ① 旧宿主守卫:session 域不完整则三件套全不注册(镜像 task-discipline.ts 先例)
29
+ if (typeof ctx.session?.hook !== 'function' || typeof ctx.session?.get !== 'function') {
30
+ console.error(`[siming-plugin] ${directory}:宿主 session 域缺少 hook/get——todo 提醒与 todo 系统提示词不注入`);
31
+ return { skillInfo: null, status: 'unsupported-host' };
32
+ }
33
+ // ② 激活门控:宿主未注册 todowrite 工具(experimental.todo 默认关闭)——三件套整体不生效
34
+ let toolNames;
35
+ try {
36
+ toolNames = listEntryNames(await ctx.tool.list());
37
+ }
38
+ catch (err) {
39
+ const reason = `读取宿主工具表失败:${String(err)}`;
40
+ console.error(`[siming-plugin] ${directory}:todo 三件套本次不注册(${reason}),重启宿主后重试`);
41
+ return { skillInfo: null, status: 'error', reason };
42
+ }
43
+ if (!toolNames.has(TODO_TOOL_NAME)) {
44
+ console.error(`[siming-plugin] ${directory}:宿主未注册 ${TODO_TOOL_NAME} 工具(experimental.todo 未开启)——` +
45
+ 'todo 提醒/系统提示词/技能整体不生效;在 opencode 配置开启 experimental.todo 后重启宿主即可恢复');
46
+ return { skillInfo: null, status: 'gated-off' };
47
+ }
48
+ const allowLog = createRateLimiter(60_000);
49
+ try {
50
+ const counter = createNudgeCounter();
51
+ const logger = createNudgeLogger(referencesRoot);
52
+ const mainSessionCache = new Map();
53
+ // 计数复位接线(PRD 规则 11):关闭/损坏 → 开启跃迁时清零,重开从 0 起算
54
+ // (启动即 enabled 时无需复位——计数器生来为 0)
55
+ let wasCounting = todoNudgeConfig.snapshot()?.enabled === true;
56
+ todoNudgeConfig.onChange((next) => {
57
+ const counting = next?.enabled === true;
58
+ if (counting && !wasCounting) {
59
+ counter.resetAll();
60
+ console.log('[siming-plugin] todoNudge 重新开启——计数已从 0 起算');
61
+ }
62
+ wasCounting = counting;
63
+ });
64
+ const isMainSession = async (sessionID) => {
65
+ const cached = mainSessionCache.get(sessionID);
66
+ if (cached !== undefined)
67
+ return cached;
68
+ let main;
69
+ try {
70
+ const info = await ctx.session.get({ sessionID });
71
+ main = info.parentID === undefined;
72
+ }
73
+ catch (err) {
74
+ // 识别失败按主会话处理(宁可多提醒,PRD 规则 1)+ 限频日志
75
+ if (allowLog(`session-get:${errKey(err)}`)) {
76
+ console.error(`[siming-plugin] 会话 ${sessionID} 主会话判定失败(按主会话处理):${String(err)}`);
77
+ }
78
+ main = true;
79
+ }
80
+ if (mainSessionCache.size >= SESSION_CACHE_MAX) {
81
+ console.error(`[siming-plugin] 主会话判定缓存超 ${String(SESSION_CACHE_MAX)} 条——整表清空重建(parentID 创建后不变,无正确性影响)`);
82
+ mainSessionCache.clear(); // 整表清空(LRU 无必要:parentID 创建后不变)
83
+ }
84
+ mainSessionCache.set(sessionID, main);
85
+ return main;
86
+ };
87
+ ctx.session.hook('context', async (event) => {
88
+ try {
89
+ if (!(await isMainSession(event.sessionID)))
90
+ return; // 子代理会话不注入
91
+ // 8.1 系统提示词:幂等注入,不读配置(开关只停提醒,技能/系统提示词不受影响)
92
+ if (!event.system.some((part) => part.text === TODO_SYSTEM_PROMPT)) {
93
+ event.system.push({ type: 'text', text: TODO_SYSTEM_PROMPT });
94
+ }
95
+ const snap = todoNudgeConfig.snapshot();
96
+ if (snap === null || !snap.enabled)
97
+ return; // corrupt/关闭:零 IO 早退(期间不计数)
98
+ const count = counter.next(event.sessionID);
99
+ if (count % snap.every !== 0)
100
+ return;
101
+ // 尾部判重(严格相等,不做子串匹配——防模型复述/引用误伤,PRD 规则 8)
102
+ const last = event.messages[event.messages.length - 1];
103
+ const lastText = last === undefined ? undefined : [...last.content].reverse().find((part) => part.type === 'text');
104
+ if (lastText?.text === snap.text)
105
+ return;
106
+ event.messages.push({ role: 'user', content: [{ type: 'text', text: snap.text ?? DEFAULT_NUDGE_TEXT }] });
107
+ logger.hit(event.sessionID, count, snap.every, event.messages.length);
108
+ }
109
+ catch (err) {
110
+ // 失败隔离:任何异常不阻断请求(PRD 规则 9)
111
+ if (allowLog(`handler:${errKey(err)}`)) {
112
+ console.error(`[siming-plugin] todo 提醒处理异常(忽略,不影响请求):${String(err)}`);
113
+ }
114
+ }
115
+ });
116
+ return { skillInfo: taskPlanningSkillInfo(referencesRoot), status: 'active' };
117
+ }
118
+ catch (err) {
119
+ // 套件级兜底(§6 契约):初始化任何异常自收敛——最坏影响=todo 不生效,不阻断 setup 其余注册面
120
+ const reason = String(err);
121
+ if (allowLog(`init:${errKey(err)}`)) {
122
+ console.error(`[siming-plugin] ${directory}:todo 三件套初始化失败(${reason})——todo 不生效,其余注册面不受影响`);
123
+ }
124
+ return { skillInfo: null, status: 'error', reason };
125
+ }
126
+ }
127
+ /** 错误分类键:构造名 + 消息前缀(同类错误 60s 一条) */
128
+ function errKey(err) {
129
+ const name = err instanceof Error ? err.constructor.name : typeof err;
130
+ const msg = err instanceof Error ? err.message : String(err);
131
+ return `${name}:${msg.slice(0, 80)}`;
132
+ }
133
+ //# sourceMappingURL=todo-suite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"todo-suite.js","sourceRoot":"","sources":["../../src/register/todo-suite.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAkB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AA8ExE,QAAA,MAAM,MAAM;;iBAES,iBAAiB,KAAG,OAAO,CAAC,IAAI,CAAC;CA4CrD,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAkB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AA0GxE,QAAA,MAAM,MAAM;;iBAES,iBAAiB,KAAG,OAAO,CAAC,IAAI,CAAC;CAuDrD,CAAC;AAEF,eAAe,MAAM,CAAC"}