dsh-task-ledger 0.0.102 → 0.0.103
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/dist/client.js +3 -3
- package/dist/client.js.map +1 -1
- package/dist/host/errors.d.ts +2 -2
- package/dist/host/errors.js +2 -2
- package/dist/host/repositories/runner.d.ts +1 -1
- package/dist/host/repositories/runner.js +4 -4
- package/dist/host/services/session.service.js +1 -1
- package/dist/host/skill/registration.d.ts +1 -1
- package/dist/host/skill/registration.js +1 -1
- package/package.json +2 -2
- package/skill/SKILL.md +1 -1
- package/skill/package.json +1 -1
package/dist/host/errors.d.ts
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
* 横切:错误模型与降级语义(2026-10-18 重构步骤 3 落地)。
|
|
3
3
|
*
|
|
4
4
|
* 两种失败分开表达:
|
|
5
|
-
* - **已知失败**(坏数据 / 脚本非零 /
|
|
5
|
+
* - **已知失败**(坏数据 / 脚本非零 / 台账程序起不来 / 超时):service 层捕获进 `degraded`,
|
|
6
6
|
* 接口仍 200,该工作区被前端标红,其他工作区不受影响(不再一抛全板 500);
|
|
7
7
|
* - **全局失败**(所有工作区都读不到 / 编程错误):照旧抛,路由转 500 + 人话。
|
|
8
|
-
*
|
|
8
|
+
* 防止「台账程序根本没装」被集体降级成一片绿色空板——那等于界面撒谎。
|
|
9
9
|
*/
|
|
10
10
|
/** 机器可读错误码(只增不改;`LEDGER_` 前缀避开宿主错误码空间)。 */
|
|
11
11
|
export type LedgerErrorCode = "LEDGER_SCRIPT_UNAVAILABLE" | "LEDGER_SCRIPT_TIMEOUT" | "LEDGER_SCRIPT_FAILED" | "LEDGER_SCRIPT_BAD_JSON" | "LEDGER_DATA_INVALID";
|
package/dist/host/errors.js
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
* 横切:错误模型与降级语义(2026-10-18 重构步骤 3 落地)。
|
|
3
3
|
*
|
|
4
4
|
* 两种失败分开表达:
|
|
5
|
-
* - **已知失败**(坏数据 / 脚本非零 /
|
|
5
|
+
* - **已知失败**(坏数据 / 脚本非零 / 台账程序起不来 / 超时):service 层捕获进 `degraded`,
|
|
6
6
|
* 接口仍 200,该工作区被前端标红,其他工作区不受影响(不再一抛全板 500);
|
|
7
7
|
* - **全局失败**(所有工作区都读不到 / 编程错误):照旧抛,路由转 500 + 人话。
|
|
8
|
-
*
|
|
8
|
+
* 防止「台账程序根本没装」被集体降级成一片绿色空板——那等于界面撒谎。
|
|
9
9
|
*/
|
|
10
10
|
/** 台账数据形状不符(容器级校验失败)。message 带工作区名 + 人话,可直接上界面。 */
|
|
11
11
|
export class LedgerDataError extends Error {
|
|
@@ -47,7 +47,7 @@ export interface RunOptions {
|
|
|
47
47
|
*/
|
|
48
48
|
export declare function runLedgerScript<T = unknown>(sub: string, args: readonly string[], opts?: RunOptions): Promise<LedgerScriptResult<T>>;
|
|
49
49
|
/**
|
|
50
|
-
* 写命令(claim / set):同样是 spawn
|
|
50
|
+
* 写命令(claim / set):同样是 spawn 入口脚本,但**不解析 JSON**——这些子命令打的是人话,
|
|
51
51
|
* 成功与否看退出码,失败时 stderr 就是能直接上界面的人话。
|
|
52
52
|
*/
|
|
53
53
|
export declare function runLedgerCommand(sub: string, args: readonly string[], opts?: RunOptions): Promise<LedgerCommandResult>;
|
|
@@ -5,8 +5,8 @@ import { fileURLToPath } from "node:url";
|
|
|
5
5
|
* (比原 host/script.js 深一层 ⇒ 相对路径多一级 `../`)。
|
|
6
6
|
*
|
|
7
7
|
* 这是个薄 shell 包装,按平台 exec `skill/scripts/bin/ledger-<os>-<arch>`(自带运行时的
|
|
8
|
-
*
|
|
9
|
-
* 构建时 scripts/copy-skill.mjs 把 packages/skill
|
|
8
|
+
* 静态二进制)——所以本插件不需要系统装任何运行时。
|
|
9
|
+
* 构建时 scripts/copy-skill.mjs 把 packages/skill 的运行时拷到 packages/plugin/skill/。
|
|
10
10
|
*/
|
|
11
11
|
const DEFAULT_SCRIPT_PATH = fileURLToPath(new URL("../../../skill/scripts/progress", import.meta.url));
|
|
12
12
|
/** 单次脚本调用超时上限(ms)。实测单仓 5 万行全量 1.2s,10s 是宽松上限。 */
|
|
@@ -56,7 +56,7 @@ function exec(sub, args, opts) {
|
|
|
56
56
|
child.on("error", (error) => {
|
|
57
57
|
settle({
|
|
58
58
|
ok: false,
|
|
59
|
-
error:
|
|
59
|
+
error: `起不了台账程序(${error.message})——内嵌 skill 的二进制可能缺失或不可执行`,
|
|
60
60
|
});
|
|
61
61
|
});
|
|
62
62
|
child.on("close", (code) => {
|
|
@@ -96,7 +96,7 @@ export async function runLedgerScript(sub, args, opts) {
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
/**
|
|
99
|
-
* 写命令(claim / set):同样是 spawn
|
|
99
|
+
* 写命令(claim / set):同样是 spawn 入口脚本,但**不解析 JSON**——这些子命令打的是人话,
|
|
100
100
|
* 成功与否看退出码,失败时 stderr 就是能直接上界面的人话。
|
|
101
101
|
*/
|
|
102
102
|
export async function runLedgerCommand(sub, args, opts) {
|
|
@@ -50,7 +50,7 @@ export function buildClosePrompt(input) {
|
|
|
50
50
|
"请按顺序做完这三件,然后停下:",
|
|
51
51
|
"1. 读过程文档的「背景 / 待办 / 下一步」,核对这次到底做了什么、还留了什么坑。",
|
|
52
52
|
`2. 用 task-ledger skill 的脚本结案(在工作区目录下、原样执行这一条命令):`,
|
|
53
|
-
`
|
|
53
|
+
` ${SKILL_SCRIPT} close --id ${input.taskId} --repo ${input.workspacePath} --summary "<一句话说清做成了什么、留了什么坑>"`,
|
|
54
54
|
" `--summary` 是必填参数,不许编套话;命令报错就原样报告错误,不要自己绕过、不要手改台账文件。",
|
|
55
55
|
"3. 收尾即结束——这就是本条消息的全部要求。",
|
|
56
56
|
"",
|
|
@@ -10,7 +10,7 @@ const SKILL_DIR = fileURLToPath(new URL("../../../skill", import.meta.url));
|
|
|
10
10
|
/** SKILL.md 里指示脚本位置的占位符(注册时替换为绝对路径,模型据此找到脚本)。 */
|
|
11
11
|
const SKILL_DIR_TOKEN = "<本 SKILL.md 所在目录>";
|
|
12
12
|
/** 台账入口绝对路径(提示词里直接给「原样执行这一条」的命令用;与注册共用同一份目录知识)。
|
|
13
|
-
*
|
|
13
|
+
* 它是按平台选二进制的薄包装,不需要系统装任何运行时。 */
|
|
14
14
|
export const SKILL_SCRIPT = `${SKILL_DIR}/scripts/progress`;
|
|
15
15
|
/** frontmatter 最小解析:只取 name / description(不引 YAML 库;值去首尾引号)。 */
|
|
16
16
|
function parseFrontmatter(text) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-task-ledger",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.103",
|
|
4
4
|
"description": "Task ledger board for dsh (DeepSeek Harness): read-only board over task-ledger skill workspaces. The task-ledger skill is bundled — install the plugin, get the skill globally.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"deepseek",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
],
|
|
26
26
|
"scripts": {
|
|
27
27
|
"build": "npm run build:host && npm run build:client",
|
|
28
|
-
"build:host": "node scripts/clean-dist.mjs && tsc && node scripts/
|
|
28
|
+
"build:host": "node scripts/clean-dist.mjs && tsc && node scripts/copy-skill.mjs",
|
|
29
29
|
"build:client": "tsc --noEmit -p tsconfig.client.json && tsdown --config tsdown.client.config.ts",
|
|
30
30
|
"typecheck": "tsc --noEmit && tsc --noEmit -p tsconfig.client.json",
|
|
31
31
|
"verify": "npm run build && npm run typecheck"
|
package/skill/SKILL.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: task-ledger
|
|
3
3
|
description: 本地任务台账,跨会话记录在办任务的归属、进度与起止。当用户要登记一件新的事(新建任务 / 建个坑 / 这活我领了)、记录已有任务的进展(接着做 / 记一条进展 / 这轮先记下)、查看任务状态或历史(现在该做什么 / 这活谁在做 / 上周做过什么)、给任务结案或退回(做完了 / 验收通过 / 不做了 / 退回待认领)、整理标签或检查台账一致性时加载;只是改代码、讨论方案时不要用。
|
|
4
|
-
version: 1.3.
|
|
4
|
+
version: 1.3.30
|
|
5
5
|
allowed-tools: Read,Edit,Bash,Grep
|
|
6
6
|
---
|
|
7
7
|
|
package/skill/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "task-ledger",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.30",
|
|
4
4
|
"description": "Task-ledger skill for coding agents: per-workspace progress tracking (ledger/pool.json + owners/<hash>.json shards + owners.json index, history, worklog) driven by a CLI script. Standalone install for CodeBuddy and other agents; also bundled inside the dsh-task-ledger DSH plugin.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"skill",
|