@suifei/dsh-ai-team 0.3.23 → 0.3.24
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/CHANGELOG.md +5 -0
- package/index.js +1 -1
- package/lib/host/member-tools.js +18 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
package/index.js
CHANGED
|
@@ -34,7 +34,7 @@ export const name = 'ai-team';
|
|
|
34
34
|
/** The workbench only makes sense where the Web carrier exists. */
|
|
35
35
|
export const inject = ['webServer', 'permissionPresets', 'sandboxPolicy'];
|
|
36
36
|
|
|
37
|
-
const VERSION = '0.3.
|
|
37
|
+
const VERSION = '0.3.24';
|
|
38
38
|
const PROJECT_ID = 'prj_main';
|
|
39
39
|
const HUMAN_ID = 'mem_human';
|
|
40
40
|
|
package/lib/host/member-tools.js
CHANGED
|
@@ -72,6 +72,18 @@ export function createTeamTool(options) {
|
|
|
72
72
|
assigneeId: { type: 'string', description: 'Optional assignee id from members for create.' },
|
|
73
73
|
qaRequired: { type: 'boolean', description: 'Require a QA member to accept this task.' },
|
|
74
74
|
qaChecklist: { type: 'array', items: { type: 'string' }, description: 'QA checklist items; all must pass before acceptance.' },
|
|
75
|
+
checks: {
|
|
76
|
+
type: 'array',
|
|
77
|
+
description: 'Acceptance checks for accept; include every qaChecklist item with passed=true/false.',
|
|
78
|
+
items: {
|
|
79
|
+
type: 'object',
|
|
80
|
+
properties: {
|
|
81
|
+
item: { type: 'string', description: 'Exact qaChecklist item.' },
|
|
82
|
+
passed: { type: 'boolean' },
|
|
83
|
+
},
|
|
84
|
+
required: ['item', 'passed'],
|
|
85
|
+
},
|
|
86
|
+
},
|
|
75
87
|
questions: {
|
|
76
88
|
type: 'array',
|
|
77
89
|
description: 'Human decision questions for askHuman; include every question instead of pointing at a report.',
|
|
@@ -258,6 +270,12 @@ export function createTeamTool(options) {
|
|
|
258
270
|
payload.evidence = evidence.map((value) => ({ kind: 'text', value }));
|
|
259
271
|
}
|
|
260
272
|
if (args.action === 'accept' || args.action === 'requestChanges') payload.note = typeof args.note === 'string' ? args.note : '';
|
|
273
|
+
if (args.action === 'accept') {
|
|
274
|
+
const checks = Array.isArray(args.checks)
|
|
275
|
+
? args.checks.filter((check) => typeof check?.item === 'string' && check.item !== '' && typeof check.passed === 'boolean')
|
|
276
|
+
: [];
|
|
277
|
+
if (checks.length > 0) payload.checks = checks;
|
|
278
|
+
}
|
|
261
279
|
const type = args.action === 'requestChanges' ? 'task.request_changes' : `task.${args.action}`;
|
|
262
280
|
const result = await command(type, payload);
|
|
263
281
|
return { ok: true, task: taskCard(options.getState(), result.task), event: result.event?.type ?? null };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@suifei/dsh-ai-team",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.24",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "文渊阁 (Wenyuan Pavilion) — AI Team mode for DeepSeek Harness: concurrent projects, owned tasks, threads, inbox and an append-only team ledger",
|
|
6
6
|
"license": "MIT",
|