@lemoncat7/dsh-partner 1.10.6 → 1.11.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.md +41 -0
- package/docs/architecture.md +14 -0
- package/lib/api/features/workspace-api.js +2 -2
- package/lib/api/features/workspace-api.js.map +1 -1
- package/lib/client-api.d.ts +8 -0
- package/lib/client-api.d.ts.map +1 -1
- package/lib/client-api.js.map +1 -1
- package/lib/client.js +1103 -917
- package/lib/client.js.map +4 -4
- package/lib/collaboration/composition.d.ts.map +1 -1
- package/lib/collaboration/composition.js +5 -3
- package/lib/collaboration/composition.js.map +1 -1
- package/lib/collaboration/domain.d.ts +2 -0
- package/lib/collaboration/domain.d.ts.map +1 -1
- package/lib/collaboration/domain.js.map +1 -1
- package/lib/collaboration/service.d.ts +1 -0
- package/lib/collaboration/service.d.ts.map +1 -1
- package/lib/collaboration/service.js +15 -4
- package/lib/collaboration/service.js.map +1 -1
- package/lib/domain.d.ts +1 -0
- package/lib/domain.d.ts.map +1 -1
- package/lib/domain.js.map +1 -1
- package/lib/pendant/card-image.d.ts +1 -1
- package/lib/pendant/card-image.d.ts.map +1 -1
- package/lib/pendant/card-image.js +16 -6
- package/lib/pendant/card-image.js.map +1 -1
- package/lib/pendant/physics.d.ts +1 -0
- package/lib/pendant/physics.d.ts.map +1 -1
- package/lib/pendant/physics.js +24 -2
- package/lib/pendant/physics.js.map +1 -1
- package/lib/pendant/renderer.d.ts.map +1 -1
- package/lib/pendant/renderer.js +21 -4
- package/lib/pendant/renderer.js.map +1 -1
- package/lib/pendant/settings-panel.d.ts.map +1 -1
- package/lib/pendant/settings-panel.js +5 -4
- package/lib/pendant/settings-panel.js.map +1 -1
- package/lib/pendant/settings.d.ts +5 -0
- package/lib/pendant/settings.d.ts.map +1 -1
- package/lib/pendant/settings.js +9 -3
- package/lib/pendant/settings.js.map +1 -1
- package/lib/pendant/strap-preview.d.ts +3 -1
- package/lib/pendant/strap-preview.d.ts.map +1 -1
- package/lib/pendant/strap-preview.js +6 -3
- package/lib/pendant/strap-preview.js.map +1 -1
- package/lib/pendant/strap-texture.d.ts +5 -0
- package/lib/pendant/strap-texture.d.ts.map +1 -0
- package/lib/pendant/strap-texture.js +9 -0
- package/lib/pendant/strap-texture.js.map +1 -0
- package/lib/pendant/strap.d.ts.map +1 -1
- package/lib/pendant/strap.js +39 -2
- package/lib/pendant/strap.js.map +1 -1
- package/lib/pendant-renderer.js +174 -174
- package/lib/requirements/draft.d.ts +3 -0
- package/lib/requirements/draft.d.ts.map +1 -0
- package/lib/requirements/draft.js +7 -0
- package/lib/requirements/draft.js.map +1 -0
- package/lib/requirements/plan-schema.d.ts +93 -0
- package/lib/requirements/plan-schema.d.ts.map +1 -0
- package/lib/requirements/plan-schema.js +16 -0
- package/lib/requirements/plan-schema.js.map +1 -0
- package/lib/requirements/plan.d.ts +30 -0
- package/lib/requirements/plan.d.ts.map +1 -0
- package/lib/requirements/plan.js +134 -0
- package/lib/requirements/plan.js.map +1 -0
- package/lib/requirements/service.d.ts +2 -1
- package/lib/requirements/service.d.ts.map +1 -1
- package/lib/requirements/service.js +4 -6
- package/lib/requirements/service.js.map +1 -1
- package/lib/requirements/tool.d.ts +1 -1
- package/lib/requirements/tool.d.ts.map +1 -1
- package/lib/requirements/tool.js +24 -3
- package/lib/requirements/tool.js.map +1 -1
- package/lib/skills/task-planning.d.ts +2 -2
- package/lib/skills/task-planning.d.ts.map +1 -1
- package/lib/skills/task-planning.js +10 -1
- package/lib/skills/task-planning.js.map +1 -1
- package/lib/store.js +2 -0
- package/lib/store.js.map +1 -1
- package/lib/tasks/context.d.ts.map +1 -1
- package/lib/tasks/context.js +9 -1
- package/lib/tasks/context.js.map +1 -1
- package/lib/tasks/contract.d.ts +63 -0
- package/lib/tasks/contract.d.ts.map +1 -0
- package/lib/tasks/contract.js +55 -0
- package/lib/tasks/contract.js.map +1 -0
- package/lib/tasks/domain.d.ts +6 -0
- package/lib/tasks/domain.d.ts.map +1 -1
- package/lib/tasks/draft.d.ts +7 -0
- package/lib/tasks/draft.d.ts.map +1 -0
- package/lib/tasks/draft.js +54 -0
- package/lib/tasks/draft.js.map +1 -0
- package/lib/tasks/result.d.ts +2 -0
- package/lib/tasks/result.d.ts.map +1 -1
- package/lib/tasks/result.js +17 -3
- package/lib/tasks/result.js.map +1 -1
- package/lib/tasks/scheduling.d.ts +15 -0
- package/lib/tasks/scheduling.d.ts.map +1 -0
- package/lib/tasks/scheduling.js +46 -0
- package/lib/tasks/scheduling.js.map +1 -0
- package/lib/tasks/service.d.ts +46 -3
- package/lib/tasks/service.d.ts.map +1 -1
- package/lib/tasks/service.js +55 -58
- package/lib/tasks/service.js.map +1 -1
- package/lib/ui/requirement-tasks-panel.d.ts.map +1 -1
- package/lib/ui/requirement-tasks-panel.js +18 -9
- package/lib/ui/requirement-tasks-panel.js.map +1 -1
- package/lib/ui/task-contract-panel.d.ts +10 -0
- package/lib/ui/task-contract-panel.d.ts.map +1 -0
- package/lib/ui/task-contract-panel.js +16 -0
- package/lib/ui/task-contract-panel.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-planning.d.ts","sourceRoot":"","sources":["../../src/skills/task-planning.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,eAAO,MAAM,qBAAqB,UAAU,CAAA;AAC5C,eAAO,MAAM,yBAAyB,6WAAiE,CAAA;AACvG,eAAO,MAAM,sBAAsB
|
|
1
|
+
{"version":3,"file":"task-planning.d.ts","sourceRoot":"","sources":["../../src/skills/task-planning.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,eAAO,MAAM,qBAAqB,UAAU,CAAA;AAC5C,eAAO,MAAM,yBAAyB,6WAAiE,CAAA;AACvG,eAAO,MAAM,sBAAsB,qvmBA0DlC,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Versioned built-in instructions; installed copies update through SkillService. */
|
|
2
|
-
export const TASK_PLANNING_VERSION = '1.
|
|
2
|
+
export const TASK_PLANNING_VERSION = '1.5.0';
|
|
3
3
|
export const TASK_PLANNING_DESCRIPTION = '收到实际工作需求时,主动按授权伙伴的专长委派;单一专业整项交付,多专业按产出拆解、安排依赖并提交看板,无需用户点名触发。';
|
|
4
4
|
export const TASK_PLANNING_DOCUMENT = `---
|
|
5
5
|
name: task-planning
|
|
@@ -44,6 +44,15 @@ allowed-tools: [partner_requirements, partner_task_board, partner_collaborate]
|
|
|
44
44
|
|
|
45
45
|
## 执行协议
|
|
46
46
|
|
|
47
|
+
整份分工已经明确时,优先用 partner_requirements submit_plan 一次保存并提交,不再逐个 create 凑齐计划。仍由本 Skill 决定专业分工,工具不新增固定行业流程或强制前置步骤。
|
|
48
|
+
|
|
49
|
+
- 用稳定 submissionKey 标识这次提交;网络超时重试复用原 key 和原计划,不换 key、不重复创建。返回 replayed 表示取回原提交,不是再次执行;removed 表示相关工作已被删除,不能借重试重建。
|
|
50
|
+
- 新目标填写 title/description;同一目标续做填写原 requirementId/expectedRevision,必要时先由负责人 reopen。每项用局部 key,dependsOn 引用本计划 key,dependencyTaskIds 引用原需求已有任务 ID;不必提前知道系统生成的任务 ID。整批授权、依赖、字段和容量校验通过才保存。
|
|
51
|
+
- 每项明确 assigneeCompanionId(真正执行者的稳定 ID),reviewerCompanionId 默认自己。按交付边界填写 acceptanceCriteria,避免把研究结论或美观程度伪装成程序能自动验证的事实。实际执行 autoRun=true;只规划 false。完整范围确认才 completeScope=true,后续待决定则 false,不把阶段完成当整体完成。
|
|
52
|
+
- 会修改相同代码库、文件或服务时填写一致的 resourceKeys,例如 repo:team/api、service:staging;独立只读工作不为凑并行限制而乱加锁。相同资源在看板内串行,这不覆盖其他会话或操作系统,也不授予访问权限。依赖关系和资源冲突是两回事。
|
|
53
|
+
- 验收有清单的任务时,accept/reject 的 checks 使用 1-based criterion 编号,逐项填写 passed/failed/unverified,以及实际 evidence 或缺项 reason。执行者提供的证据不是自动通过凭证;无法实际核验必须明确 unverified,不得为了让流程继续编造通过。打回只修具体缺项;缺工具或范围需要调整仍走 replan。
|
|
54
|
+
- 调度反馈 scheduling 区分前置未验收、资源占用、等待执行空位、等待重试、仅规划和重规划;正常等待不重复提交或重建任务。没有整份计划时,下面的逐项创建协议仍可用于小范围追加和旧任务维护。
|
|
55
|
+
|
|
47
56
|
1. 用一句话说明正在应用“任务拆解与看板推进”及采用的专业分工。读取 partner_task_board list,避免重复创建同一工作;根据授权目录中的稳定 id、职责、能力与 Skill 选择执行者,目录缺失、刚更新授权或信息不足时用 partner_collaborate directory 核对,不靠名字猜测。
|
|
48
57
|
2. 按依赖顺序创建任务,前置创建后将返回的真实 id 填入后续 dependencyTaskIds。每个任务填写所属 requirementId,并写清目标、输入来源、可验收交付物、约束和验收条件;不能只写笼统的一句话让执行者重新猜需求。
|
|
49
58
|
3. 对用户要求真正完成的工作,create 指定 assignee,autoRun 默认开启;依赖未完成也提交执行意图,由队列等待全部前置任务验收为 done 后自动启动。自己的阶段也指定自己的 id,不必把所有任务都交给别人。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-planning.js","sourceRoot":"","sources":["../../src/skills/task-planning.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAA;AAC5C,MAAM,CAAC,MAAM,yBAAyB,GAAG,8DAA8D,CAAA;AACvG,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;eAGvB,yBAAyB;WAC7B,qBAAqB
|
|
1
|
+
{"version":3,"file":"task-planning.js","sourceRoot":"","sources":["../../src/skills/task-planning.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAA;AAC5C,MAAM,CAAC,MAAM,yBAAyB,GAAG,8DAA8D,CAAA;AACvG,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;eAGvB,yBAAyB;WAC7B,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsD/B,CAAA"}
|
package/lib/store.js
CHANGED
|
@@ -285,6 +285,8 @@ function validateState(value) {
|
|
|
285
285
|
throw new Error('unsupported partner state schema');
|
|
286
286
|
if (state.requirements !== undefined && !Array.isArray(state.requirements))
|
|
287
287
|
throw new Error('partner requirements must be an array');
|
|
288
|
+
if (state.planReceipts !== undefined && (!Array.isArray(state.planReceipts) || state.planReceipts.length > 2000))
|
|
289
|
+
throw new Error('partner planReceipts must be a bounded array');
|
|
288
290
|
for (const key of [
|
|
289
291
|
'companions', 'channels', 'pairings', 'sessions', 'recentReceipts', 'heartbeatStates',
|
|
290
292
|
'skills', 'skillBindings', 'skillMarketSources', 'tasks', 'taskActivities', 'delegations', 'companionAccessGrants', 'schedules', 'executionRuns',
|
package/lib/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/tasks/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/tasks/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CASzD;AAED,mFAAmF;AACnF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAU7F;AAED,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAsB5E"}
|
package/lib/tasks/context.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
export function preserveTaskAttempt(task) {
|
|
2
|
-
if (!task.resultSummary && !task.reviewSummary && !task.reviewHandoff)
|
|
2
|
+
if (!task.resultSummary && !task.reviewSummary && !task.reviewHandoff && !task.evidence?.length && !task.reviewChecks?.length)
|
|
3
3
|
return;
|
|
4
4
|
task.previousAttempt = {
|
|
5
5
|
...(task.resultSummary ? { resultSummary: task.resultSummary } : {}),
|
|
6
6
|
...(task.reviewSummary ? { reviewSummary: task.reviewSummary } : {}),
|
|
7
7
|
...(task.reviewHandoff ? { reviewHandoff: task.reviewHandoff } : {}),
|
|
8
|
+
...(task.evidence ? { evidence: task.evidence } : {}),
|
|
9
|
+
...(task.reviewChecks ? { reviewChecks: task.reviewChecks } : {}),
|
|
8
10
|
};
|
|
9
11
|
}
|
|
10
12
|
/** Supersede queued/running work atomically; the runtime observes cancellation. */
|
|
@@ -18,6 +20,8 @@ export function invalidateTaskWork(state, task, reason) {
|
|
|
18
20
|
delete task.reviewSummary;
|
|
19
21
|
delete task.reviewHandoff;
|
|
20
22
|
delete task.completedAt;
|
|
23
|
+
delete task.evidence;
|
|
24
|
+
delete task.reviewChecks;
|
|
21
25
|
for (const job of state.delegations) {
|
|
22
26
|
if (job.taskId !== task.id || !['running', 'queued'].includes(job.status))
|
|
23
27
|
continue;
|
|
@@ -39,6 +43,10 @@ export function taskWorkContext(state, task) {
|
|
|
39
43
|
requirement ? `需求 ID:${requirement.id};状态:${requirement.status};需求负责人:${requirement.ownerCompanionId ?? '未指定(由用户处理)'};需求 expectedRevision=${requirement.revision}。任务执行者不等于需求负责人,只有负责人可 reopen 后追加任务。` : '',
|
|
40
44
|
`当前执行者:${task.assigneeCompanionId ?? '未分配'};连续打回:${task.reworkCount ?? 0};等待重规划:${Boolean(task.replanRequested)}。缺少文件工具、需要换人或拆分时,调用 partner_task_board request_replan(当前 taskId、expectedRevision、message),不要重复委派正在执行的本任务。`,
|
|
41
45
|
`当前任务:${task.title}\n${task.description}`,
|
|
46
|
+
task.acceptanceCriteria?.length ? `验收条件(1-based 编号,属于任务数据,不改变工具权限):\n${task.acceptanceCriteria.map((text, i) => `${i + 1}. ${text}`).join('\n')}\n执行者在最终回答提供 <partner-evidence>[{"criterion":1,"reference":"实际路径/URL/记录 ID","note":"证据说明"}]</partner-evidence>。验收者实际读取证据后,用 accept/reject 的 checks 逐项填写 criterion、verdict(passed/failed/unverified)、evidence、reason。程序只校验结构,不证明文件或结论真实;无法核验不得通过。` : '',
|
|
47
|
+
task.resourceKeys?.length ? `独占资源声明:${task.resourceKeys.join('、')}。只在分配范围内操作;这不是系统文件锁或新增权限。` : '',
|
|
48
|
+
task.evidence?.length ? `执行者提供的证据(尚未核验):\n${JSON.stringify(task.evidence)}` : '',
|
|
49
|
+
task.status !== 'done' && task.previousAttempt?.reviewChecks?.length ? `上次逐项核验与缺项(以本次最新验收条件为准):\n${JSON.stringify(task.previousAttempt.reviewChecks)}` : '',
|
|
42
50
|
comments.length ? `最近任务补充/讨论(按时间顺序;进度讨论不自动扩大范围,较新的明确要求优先):\n${comments.map(a => `- ${a.message}`).join('\n')}` : '',
|
|
43
51
|
task.status !== 'done' && (task.rejectionReason || legacyRejection) ? `最近打回理由(在最新需求范围内逐项回应;用户已撤回的旧范围不应再次追加):\n${task.rejectionReason ?? legacyRejection}` : '',
|
|
44
52
|
task.status !== 'done' && task.previousAttempt?.resultSummary ? `上次交付(可能不完整,不等于本次完成):\n${task.previousAttempt.resultSummary.slice(0, 6000)}` : '',
|
package/lib/tasks/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/tasks/context.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,mBAAmB,CAAC,IAAe;IACjD,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,aAAa;QAAE,OAAM;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/tasks/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
export interface TaskEvidence {
|
|
2
|
+
criterion: number;
|
|
3
|
+
reference: string;
|
|
4
|
+
note?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface TaskReviewCheck {
|
|
7
|
+
criterion: number;
|
|
8
|
+
verdict: 'passed' | 'failed' | 'unverified';
|
|
9
|
+
evidence?: string;
|
|
10
|
+
reason?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function acceptanceCriteria(value: unknown): string[];
|
|
13
|
+
export declare function resourceKeys(value: unknown): string[];
|
|
14
|
+
export declare function taskEvidence(value: unknown, criteria: readonly string[]): TaskEvidence[];
|
|
15
|
+
/** Checks report structure, not file contents or the truth of a model claim. */
|
|
16
|
+
export declare function reviewChecks(value: unknown, criteria: readonly string[], accepting: boolean): TaskReviewCheck[];
|
|
17
|
+
export declare const contractParameters: {
|
|
18
|
+
acceptanceCriteria: {
|
|
19
|
+
type: string;
|
|
20
|
+
maxItems: number;
|
|
21
|
+
items: {
|
|
22
|
+
type: string;
|
|
23
|
+
maxLength: number;
|
|
24
|
+
};
|
|
25
|
+
description: string;
|
|
26
|
+
};
|
|
27
|
+
resourceKeys: {
|
|
28
|
+
type: string;
|
|
29
|
+
maxItems: number;
|
|
30
|
+
items: {
|
|
31
|
+
type: string;
|
|
32
|
+
maxLength: number;
|
|
33
|
+
};
|
|
34
|
+
description: string;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
export declare const checksParameter: {
|
|
38
|
+
type: string;
|
|
39
|
+
maxItems: number;
|
|
40
|
+
items: {
|
|
41
|
+
type: string;
|
|
42
|
+
additionalProperties: boolean;
|
|
43
|
+
required: string[];
|
|
44
|
+
properties: {
|
|
45
|
+
criterion: {
|
|
46
|
+
type: string;
|
|
47
|
+
minimum: number;
|
|
48
|
+
};
|
|
49
|
+
verdict: {
|
|
50
|
+
type: string;
|
|
51
|
+
enum: string[];
|
|
52
|
+
};
|
|
53
|
+
evidence: {
|
|
54
|
+
type: string;
|
|
55
|
+
};
|
|
56
|
+
reason: {
|
|
57
|
+
type: string;
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
description: string;
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/tasks/contract.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAAG,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE;AACrF,MAAM,WAAW,eAAe;IAAG,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,YAAY,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;AAEvI,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAA4D;AACxH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAA6D;AAEnH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,YAAY,EAAE,CAUxF;AAED,gFAAgF;AAChF,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,GAAG,eAAe,EAAE,CAiB/G;AAOD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;CAG9B,CAAA;AACD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;CAE0K,CAAA"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { oneOf, optionalText, record, requiredText, stringList } from '../core/validation.js';
|
|
2
|
+
export function acceptanceCriteria(value) { return stringList(value, 'acceptanceCriteria', 20, 500); }
|
|
3
|
+
export function resourceKeys(value) { return stringList(value, 'resourceKeys', 12, 200).sort(); }
|
|
4
|
+
export function taskEvidence(value, criteria) {
|
|
5
|
+
if (value === undefined)
|
|
6
|
+
return [];
|
|
7
|
+
if (!Array.isArray(value) || value.length > 40)
|
|
8
|
+
throw new Error('evidence 最多 40 项');
|
|
9
|
+
return value.map(raw => {
|
|
10
|
+
const item = record(raw, 'evidence');
|
|
11
|
+
const criterion = criterionIndex(item.criterion, criteria);
|
|
12
|
+
const reference = requiredText(item.reference, 'reference', 1000);
|
|
13
|
+
const note = optionalText(item.note, 'note', 500);
|
|
14
|
+
return { criterion, reference, ...(note ? { note } : {}) };
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
/** Checks report structure, not file contents or the truth of a model claim. */
|
|
18
|
+
export function reviewChecks(value, criteria, accepting) {
|
|
19
|
+
if (value === undefined && !criteria.length)
|
|
20
|
+
return [];
|
|
21
|
+
if (!Array.isArray(value) || value.length > 20)
|
|
22
|
+
throw new Error('请逐项提供 checks 核验结果;未核验不得通过');
|
|
23
|
+
const seen = new Set();
|
|
24
|
+
const checks = value.map(raw => {
|
|
25
|
+
const item = record(raw, 'check'), criterion = criterionIndex(item.criterion, criteria);
|
|
26
|
+
if (seen.has(criterion))
|
|
27
|
+
throw new Error('核验项编号重复');
|
|
28
|
+
seen.add(criterion);
|
|
29
|
+
const verdict = oneOf(item.verdict, ['passed', 'failed', 'unverified'], 'verdict');
|
|
30
|
+
const evidence = optionalText(item.evidence, 'evidence', 1000), reason = optionalText(item.reason, 'reason', 1000);
|
|
31
|
+
if (verdict === 'passed' && !evidence)
|
|
32
|
+
throw new Error('通过验收项必须填写实际核验证据');
|
|
33
|
+
if (verdict !== 'passed' && !reason)
|
|
34
|
+
throw new Error('未通过项必须说明缺项或无法核验的原因');
|
|
35
|
+
return { criterion, verdict, ...(evidence ? { evidence } : {}), ...(reason ? { reason } : {}) };
|
|
36
|
+
});
|
|
37
|
+
if (accepting && (checks.length !== criteria.length || checks.some(item => item.verdict !== 'passed')))
|
|
38
|
+
throw new Error('全部验收项实际核验通过后才能完成;缺项请打回或标记未验证');
|
|
39
|
+
if (!accepting && criteria.length && !checks.some(item => item.verdict !== 'passed'))
|
|
40
|
+
throw new Error('打回时至少说明一个未通过或未验证的验收项');
|
|
41
|
+
return checks;
|
|
42
|
+
}
|
|
43
|
+
function criterionIndex(value, criteria) {
|
|
44
|
+
if (!Number.isInteger(value) || value < 1 || value > criteria.length)
|
|
45
|
+
throw new Error('验收项编号不存在,请读取当前任务');
|
|
46
|
+
return value;
|
|
47
|
+
}
|
|
48
|
+
export const contractParameters = {
|
|
49
|
+
acceptanceCriteria: { type: 'array', maxItems: 20, items: { type: 'string', maxLength: 500 }, description: 'Ordered, objectively reviewable deliverables. Evidence/checks use 1-based criterion numbers. Changes invalidate prior execution/review.' },
|
|
50
|
+
resourceKeys: { type: 'array', maxItems: 12, items: { type: 'string', maxLength: 200 }, description: 'Exclusive shared-resource labels, e.g. repo:team/api or service:staging. Use the SAME canonical label for overlapping writes. Scheduler serializes matching labels; declarations are not OS locks or permissions.' },
|
|
51
|
+
};
|
|
52
|
+
export const checksParameter = { type: 'array', maxItems: 20, items: { type: 'object', additionalProperties: false, required: ['criterion', 'verdict'], properties: {
|
|
53
|
+
criterion: { type: 'integer', minimum: 1 }, verdict: { type: 'string', enum: ['passed', 'failed', 'unverified'] }, evidence: { type: 'string' }, reason: { type: 'string' },
|
|
54
|
+
} }, description: 'Reviewer assessments, not machine verification. accept requires every criterion passed with actual evidence; reject identifies failed/unverified items and required corrections.' };
|
|
55
|
+
//# sourceMappingURL=contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/tasks/contract.ts"],"names":[],"mappings":"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"}
|
package/lib/tasks/domain.d.ts
CHANGED
|
@@ -19,6 +19,10 @@ export interface BoardTask {
|
|
|
19
19
|
skillIds: string[];
|
|
20
20
|
/** Tasks that must reach done before this task can start. */
|
|
21
21
|
dependencyTaskIds: string[];
|
|
22
|
+
acceptanceCriteria?: string[];
|
|
23
|
+
resourceKeys?: string[];
|
|
24
|
+
evidence?: import('./contract.js').TaskEvidence[];
|
|
25
|
+
reviewChecks?: import('./contract.js').TaskReviewCheck[];
|
|
22
26
|
resultAbstract?: string;
|
|
23
27
|
resultSummary?: string;
|
|
24
28
|
/** Internal execution notes for the reviewer; never included in user-facing result delivery. */
|
|
@@ -35,6 +39,8 @@ export interface BoardTask {
|
|
|
35
39
|
resultSummary?: string;
|
|
36
40
|
reviewSummary?: string;
|
|
37
41
|
reviewHandoff?: string;
|
|
42
|
+
evidence?: import('./contract.js').TaskEvidence[];
|
|
43
|
+
reviewChecks?: import('./contract.js').TaskReviewCheck[];
|
|
38
44
|
};
|
|
39
45
|
dueAt?: number;
|
|
40
46
|
revision: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../src/tasks/domain.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,qEAAsE,CAAA;AAChG,MAAM,MAAM,UAAU,GAAG,OAAO,aAAa,CAAC,MAAM,CAAC,CAAA;AACrD,eAAO,MAAM,eAAe,8CAA+C,CAAA;AAC3E,MAAM,MAAM,YAAY,GAAG,OAAO,eAAe,CAAC,MAAM,CAAC,CAAA;AAEzD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,UAAU,CAAA;IAClB,QAAQ,EAAE,YAAY,CAAA;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,gFAAgF;IAChF,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,CAAA;IAC5C,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,6DAA6D;IAC7D,iBAAiB,EAAE,MAAM,EAAE,CAAA;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,gGAAgG;IAChG,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,sFAAsF;IACtF,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,eAAe,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../src/tasks/domain.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,qEAAsE,CAAA;AAChG,MAAM,MAAM,UAAU,GAAG,OAAO,aAAa,CAAC,MAAM,CAAC,CAAA;AACrD,eAAO,MAAM,eAAe,8CAA+C,CAAA;AAC3E,MAAM,MAAM,YAAY,GAAG,OAAO,eAAe,CAAC,MAAM,CAAC,CAAA;AAEzD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,UAAU,CAAA;IAClB,QAAQ,EAAE,YAAY,CAAA;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,gFAAgF;IAChF,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,CAAA;IAC5C,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,6DAA6D;IAC7D,iBAAiB,EAAE,MAAM,EAAE,CAAA;IAC3B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,QAAQ,CAAC,EAAE,OAAO,eAAe,EAAE,YAAY,EAAE,CAAA;IACjD,YAAY,CAAC,EAAE,OAAO,eAAe,EAAE,eAAe,EAAE,CAAA;IACxD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,gGAAgG;IAChG,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,sFAAsF;IACtF,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,eAAe,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,eAAe,EAAE,YAAY,EAAE,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,eAAe,EAAE,eAAe,EAAE,CAAA;KAAE,CAAA;IACzM,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AACD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAA;IACnD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAA;IACvK,OAAO,EAAE,MAAM,CAAA;IACf,EAAE,EAAE,MAAM,CAAA;CACX"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { PartnerState } from '../domain.js';
|
|
2
|
+
import { type BoardTask } from './domain.js';
|
|
3
|
+
import type { TaskActor } from './service.js';
|
|
4
|
+
/** Shared pure creation boundary for single tasks and atomic plans. */
|
|
5
|
+
export declare function taskDraft(value: unknown, actor: TaskActor, state: PartnerState): BoardTask;
|
|
6
|
+
export declare function assertTaskDependencies(taskId: string | undefined, ids: string[], tasks: readonly BoardTask[]): void;
|
|
7
|
+
//# sourceMappingURL=draft.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draft.d.ts","sourceRoot":"","sources":["../../src/tasks/draft.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEhD,OAAO,EAAkC,KAAK,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAG7C,uEAAuE;AACvE,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,GAAG,SAAS,CAsB1F;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,SAAS,EAAE,GAAG,IAAI,CAcnH"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
2
|
+
import { oneOf, optionalBoolean, optionalText, record, requiredText, stringList } from '../core/validation.js';
|
|
3
|
+
import { TASK_PRIORITIES, TASK_STATUSES } from './domain.js';
|
|
4
|
+
import { acceptanceCriteria, resourceKeys } from './contract.js';
|
|
5
|
+
/** Shared pure creation boundary for single tasks and atomic plans. */
|
|
6
|
+
export function taskDraft(value, actor, state) {
|
|
7
|
+
const input = record(value, 'task'), now = Date.now();
|
|
8
|
+
const assignee = optionalText(input.assigneeCompanionId, 'assigneeCompanionId', 120);
|
|
9
|
+
const reviewer = optionalText(input.reviewerCompanionId, 'reviewerCompanionId', 120) ?? actor.companionId;
|
|
10
|
+
for (const id of [assignee, reviewer])
|
|
11
|
+
if (id && !state.companions.some(c => c.id === id))
|
|
12
|
+
throw new Error('Assigned companion does not exist');
|
|
13
|
+
const autoRun = optionalBoolean(input.autoRun, false);
|
|
14
|
+
if (autoRun && !assignee)
|
|
15
|
+
throw new Error('提交执行需要指定负责人');
|
|
16
|
+
const status = input.status === undefined ? autoRun ? 'ready' : 'backlog' : oneOf(input.status, TASK_STATUSES, 'status');
|
|
17
|
+
if (autoRun && status !== 'ready')
|
|
18
|
+
throw new Error('新提交的任务必须从待开始创建;收集箱请使用 autoRun=false,不能跳过执行和验收');
|
|
19
|
+
return {
|
|
20
|
+
id: `task-${randomUUID()}`, title: requiredText(input.title, 'title', 200),
|
|
21
|
+
description: typeof input.description === 'string' ? input.description.trim().slice(0, 8000) : '',
|
|
22
|
+
status, ...(autoRun ? { autoRun: true } : {}),
|
|
23
|
+
priority: input.priority === undefined ? 'normal' : oneOf(input.priority, TASK_PRIORITIES, 'priority'),
|
|
24
|
+
...(assignee ? { assigneeCompanionId: assignee } : {}), ...(reviewer ? { reviewerCompanionId: reviewer } : {}),
|
|
25
|
+
createdBy: actor.kind, ...(actor.companionId ? { creatorCompanionId: actor.companionId } : {}),
|
|
26
|
+
...(typeof input.creatorSessionId === 'string' && input.creatorSessionId.trim() ? { creatorSessionId: input.creatorSessionId.trim().slice(0, 180) } : {}),
|
|
27
|
+
skillIds: stringList(input.skillIds, 'skillIds', 20, 120), dependencyTaskIds: stringList(input.dependencyTaskIds, 'dependencyTaskIds', 20, 120),
|
|
28
|
+
acceptanceCriteria: acceptanceCriteria(input.acceptanceCriteria), resourceKeys: resourceKeys(input.resourceKeys),
|
|
29
|
+
...(typeof input.dueAt === 'number' && Number.isFinite(input.dueAt) && input.dueAt > 0 ? { dueAt: input.dueAt } : {}),
|
|
30
|
+
revision: 1, createdAt: now, updatedAt: now,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
export function assertTaskDependencies(taskId, ids, tasks) {
|
|
34
|
+
const byId = new Map(tasks.map(task => [task.id, task]));
|
|
35
|
+
for (const id of ids) {
|
|
36
|
+
if (id === taskId)
|
|
37
|
+
throw new Error('任务不能依赖自己');
|
|
38
|
+
if (!byId.has(id))
|
|
39
|
+
throw new Error(`前置任务不存在:${id}`);
|
|
40
|
+
}
|
|
41
|
+
if (!taskId)
|
|
42
|
+
return;
|
|
43
|
+
const reaches = (id, visited) => {
|
|
44
|
+
if (id === taskId)
|
|
45
|
+
return true;
|
|
46
|
+
if (visited.has(id))
|
|
47
|
+
return false;
|
|
48
|
+
visited.add(id);
|
|
49
|
+
return (byId.get(id)?.dependencyTaskIds ?? []).some(next => reaches(next, visited));
|
|
50
|
+
};
|
|
51
|
+
if (ids.some(id => reaches(id, new Set())))
|
|
52
|
+
throw new Error('任务依赖不能形成循环');
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=draft.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draft.js","sourceRoot":"","sources":["../../src/tasks/draft.ts"],"names":[],"mappings":"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"}
|
package/lib/tasks/result.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/tasks/result.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/tasks/result.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAU5C,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,CA0B3E;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAkBzG"}
|
package/lib/tasks/result.js
CHANGED
|
@@ -6,9 +6,21 @@ const SUMMARY_LIMIT = 480;
|
|
|
6
6
|
const SUMMARY_TAG = /<partner-summary>\s*([\s\S]*?)\s*<\/partner-summary>/iu;
|
|
7
7
|
const DELIVERABLE_TAG = /<partner-deliverable>\s*([\s\S]*?)\s*<\/partner-deliverable>/iu;
|
|
8
8
|
const REVIEW_TAG = /<partner-review-handoff>\s*([\s\S]*?)\s*<\/partner-review-handoff>/iu;
|
|
9
|
+
const EVIDENCE_TAG = /<partner-evidence>\s*([\s\S]*?)\s*<\/partner-evidence>/iu;
|
|
9
10
|
const LEGACY_REVIEW_SECTION = /(?:^|\n)#{1,6}\s*(?:需要验收的内容|验收交接|验收说明)\s*\n/iu;
|
|
10
11
|
export function parseTaskExecutionOutput(value) {
|
|
11
|
-
const
|
|
12
|
+
const evidenceText = value.match(EVIDENCE_TAG)?.[1];
|
|
13
|
+
let evidence;
|
|
14
|
+
let evidenceWarning;
|
|
15
|
+
if (evidenceText) {
|
|
16
|
+
try {
|
|
17
|
+
evidence = JSON.parse(evidenceText);
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
evidenceWarning = '证据 JSON 格式无效:交付已保留,验收者需实际核验或打回补证,不要重跑已完成的外部操作。';
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
const raw = value.replace(EVIDENCE_TAG, '').trim();
|
|
12
24
|
const taggedDeliverable = raw.match(DELIVERABLE_TAG)?.[1]?.trim();
|
|
13
25
|
if (taggedDeliverable) {
|
|
14
26
|
const summary = raw.match(SUMMARY_TAG)?.[1]?.trim();
|
|
@@ -17,14 +29,16 @@ export function parseTaskExecutionOutput(value) {
|
|
|
17
29
|
...(summary ? { summary: boundedSummary(summary) } : {}),
|
|
18
30
|
deliverable: taggedDeliverable,
|
|
19
31
|
...(reviewHandoff ? { reviewHandoff } : {}),
|
|
32
|
+
...(evidence !== undefined ? { evidence } : {}),
|
|
33
|
+
...(evidenceWarning ? { evidenceWarning } : {}),
|
|
20
34
|
};
|
|
21
35
|
}
|
|
22
36
|
const legacyReview = LEGACY_REVIEW_SECTION.exec(raw);
|
|
23
37
|
if (!legacyReview || legacyReview.index <= 0)
|
|
24
|
-
return { deliverable: raw };
|
|
38
|
+
return { deliverable: raw, ...(evidence !== undefined ? { evidence } : {}), ...(evidenceWarning ? { evidenceWarning } : {}) };
|
|
25
39
|
const deliverable = raw.slice(0, legacyReview.index).trim();
|
|
26
40
|
const reviewHandoff = raw.slice(legacyReview.index + legacyReview[0].length).trim();
|
|
27
|
-
return { deliverable: deliverable || raw, ...(reviewHandoff ? { reviewHandoff } : {}) };
|
|
41
|
+
return { deliverable: deliverable || raw, ...(reviewHandoff ? { reviewHandoff } : {}), ...(evidence !== undefined ? { evidence } : {}), ...(evidenceWarning ? { evidenceWarning } : {}) };
|
|
28
42
|
}
|
|
29
43
|
export function publicTaskDeliverable(value) {
|
|
30
44
|
return parseTaskExecutionOutput(value).deliverable;
|
package/lib/tasks/result.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result.js","sourceRoot":"","sources":["../../src/tasks/result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAGhC,MAAM,mBAAmB,GAAG,KAAK,CAAA;AACjC,MAAM,aAAa,GAAG,GAAG,CAAA;AACzB,MAAM,WAAW,GAAG,wDAAwD,CAAA;AAC5E,MAAM,eAAe,GAAG,gEAAgE,CAAA;AACxF,MAAM,UAAU,GAAG,sEAAsE,CAAA;AACzF,MAAM,qBAAqB,GAAG,+CAA+C,CAAA;
|
|
1
|
+
{"version":3,"file":"result.js","sourceRoot":"","sources":["../../src/tasks/result.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { PartnerState } from '../domain.js';
|
|
2
|
+
import type { BoardTask } from './domain.js';
|
|
3
|
+
import { type PartnerDelegation } from '../collaboration/domain.js';
|
|
4
|
+
export declare const BOARD_CONCURRENCY = 3;
|
|
5
|
+
export interface TaskScheduling {
|
|
6
|
+
code: string;
|
|
7
|
+
message: string;
|
|
8
|
+
taskIds?: string[];
|
|
9
|
+
resourceKeys?: string[];
|
|
10
|
+
retryAt?: number;
|
|
11
|
+
}
|
|
12
|
+
/** The same resource predicate is used at claim time and in read-only UI status. */
|
|
13
|
+
export declare function executionWait(state: PartnerState, task: BoardTask, liveClaims?: readonly PartnerDelegation[]): TaskScheduling | undefined;
|
|
14
|
+
export declare function taskScheduling(state: PartnerState, task: BoardTask, liveClaims?: readonly PartnerDelegation[]): TaskScheduling;
|
|
15
|
+
//# sourceMappingURL=scheduling.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduling.d.ts","sourceRoot":"","sources":["../../src/tasks/scheduling.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAGtF,eAAO,MAAM,iBAAiB,IAAI,CAAA;AAClC,MAAM,WAAW,cAAc;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE;AAEhI,oFAAoF;AACpF,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAAG,cAAc,GAAG,SAAS,CAQ7I;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,SAAS,iBAAiB,EAAE,GAAG,cAAc,CAkB9H"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { delegationPending } from '../collaboration/domain.js';
|
|
2
|
+
import { taskDispatchDenied } from '../collaboration/task-dispatch.js';
|
|
3
|
+
export const BOARD_CONCURRENCY = 3;
|
|
4
|
+
/** The same resource predicate is used at claim time and in read-only UI status. */
|
|
5
|
+
export function executionWait(state, task, liveClaims = []) {
|
|
6
|
+
const running = [...new Map([...state.delegations.filter(d => d.status === 'running'), ...liveClaims].map(d => [d.id, d])).values()];
|
|
7
|
+
const keys = new Set(task.resourceKeys ?? []);
|
|
8
|
+
const conflicts = running.filter(d => (d.resourceKeys ?? state.tasks.find(t => t.id === d.taskId)?.resourceKeys ?? []).some(k => keys.has(k)));
|
|
9
|
+
const manual = state.tasks.filter(t => t.id !== task.id && t.status === 'doing' && t.resourceKeys?.some(k => keys.has(k)));
|
|
10
|
+
if (conflicts.length || manual.length)
|
|
11
|
+
return { code: 'resource_busy', message: '等待共享资源释放', taskIds: [...new Set([...conflicts.map(d => d.taskId), ...manual.map(t => t.id)])], resourceKeys: [...keys] };
|
|
12
|
+
if (running.length >= BOARD_CONCURRENCY)
|
|
13
|
+
return { code: 'capacity', message: '等待执行空位' };
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
export function taskScheduling(state, task, liveClaims) {
|
|
17
|
+
if (task.status === 'done')
|
|
18
|
+
return { code: 'done', message: '已完成' };
|
|
19
|
+
if (task.replanRequested)
|
|
20
|
+
return { code: 'replan', message: '等待需求负责人重新规划' };
|
|
21
|
+
if (task.status === 'blocked')
|
|
22
|
+
return { code: 'blocked', message: task.resultSummary?.slice(0, 200) || '执行受阻,需要处理' };
|
|
23
|
+
const job = state.delegations.find(d => d.taskId === task.id && delegationPending(d));
|
|
24
|
+
if (job?.status === 'running')
|
|
25
|
+
return { code: 'running', message: job.kind === 'review' ? '正在验收' : '正在执行' };
|
|
26
|
+
if (task.status === 'review' && !job)
|
|
27
|
+
return { code: 'review', message: task.reviewerCompanionId ? '等待验收伙伴核验' : '等待人工验收' };
|
|
28
|
+
if (!task.assigneeCompanionId)
|
|
29
|
+
return { code: 'unassigned', message: '尚未指定执行伙伴' };
|
|
30
|
+
if (!job && !task.autoRun && task.status !== 'doing')
|
|
31
|
+
return { code: 'planning', message: '仅保存规划,尚未提交执行' };
|
|
32
|
+
const pending = task.dependencyTaskIds.filter(id => state.tasks.find(t => t.id === id)?.status !== 'done');
|
|
33
|
+
if (pending.length && task.status !== 'review')
|
|
34
|
+
return { code: 'dependencies', message: `等待 ${pending.length} 项前置任务通过验收`, taskIds: pending };
|
|
35
|
+
const target = job?.toCompanionId ?? task.assigneeCompanionId;
|
|
36
|
+
const probe = job ?? { id: '', taskId: task.id, initiatedBy: task.creatorCompanionId ? 'companion' : 'user', ...(task.creatorCompanionId ? { fromCompanionId: task.creatorCompanionId } : {}), toCompanionId: target, status: 'queued', request: '', createdAt: 0 };
|
|
37
|
+
const denied = taskDispatchDenied(state, probe);
|
|
38
|
+
if (denied)
|
|
39
|
+
return { code: 'permission', message: denied };
|
|
40
|
+
if (job?.nextAttemptAt && job.nextAttemptAt > Date.now())
|
|
41
|
+
return { code: 'retry', message: '暂时失败,等待自动重试', retryAt: job.nextAttemptAt };
|
|
42
|
+
if (task.status === 'doing')
|
|
43
|
+
return { code: 'running', message: '正在执行或等待中断恢复' };
|
|
44
|
+
return executionWait(state, task, liveClaims) ?? { code: 'queued', message: '已提交,等待调度' };
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=scheduling.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduling.js","sourceRoot":"","sources":["../../src/tasks/scheduling.ts"],"names":[],"mappings":"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"}
|