@godv61/dsh-task-engine 0.18.0 → 0.19.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 +7 -3
- package/docs/manual.html +17 -6
- package/lib/client.js +409 -166
- package/lib/client.js.map +4 -4
- package/lib/controller.d.ts +55 -0
- package/lib/controller.js +226 -0
- package/lib/controller.js.map +1 -1
- package/lib/dev-task.js +39 -31
- package/lib/dev-task.js.map +1 -1
- package/package.json +5 -2
package/lib/controller.d.ts
CHANGED
|
@@ -164,6 +164,42 @@ export interface TaskLedgerEntry {
|
|
|
164
164
|
export interface TaskLedgerView {
|
|
165
165
|
tasks: TaskLedgerEntry[];
|
|
166
166
|
}
|
|
167
|
+
/** `readInit` result: the workspace's root `AGENTS.md`, or absent. */
|
|
168
|
+
export interface InitView {
|
|
169
|
+
/** Whether an AGENTS.md exists at the workspace root. */
|
|
170
|
+
exists: boolean;
|
|
171
|
+
/** Full body when `exists`, otherwise empty string. */
|
|
172
|
+
content: string;
|
|
173
|
+
/** Physical line count (0 when absent). */
|
|
174
|
+
lines: number;
|
|
175
|
+
/** Absolute AGENTS.md location when it was resolved outside the workspace root (e.g. a single child project). */
|
|
176
|
+
path?: string;
|
|
177
|
+
}
|
|
178
|
+
/** Write the workspace's root `AGENTS.md` (init apply). */
|
|
179
|
+
export interface InitWriteRequest {
|
|
180
|
+
/** Absolute workspace directory; `AGENTS.md` is written at its root. */
|
|
181
|
+
path: string;
|
|
182
|
+
/** Full AGENTS.md body. */
|
|
183
|
+
content: string;
|
|
184
|
+
}
|
|
185
|
+
/** `generateInit` request: scan the workspace and prompt the model for a draft. */
|
|
186
|
+
export interface InitGenerateRequest {
|
|
187
|
+
/** Absolute workspace directory to scan. */
|
|
188
|
+
path: string;
|
|
189
|
+
}
|
|
190
|
+
/** `generateInit` result: a model-drafted AGENTS.md body (not yet written). */
|
|
191
|
+
export interface InitDraft {
|
|
192
|
+
ok: boolean;
|
|
193
|
+
content: string;
|
|
194
|
+
lines: number;
|
|
195
|
+
error?: string;
|
|
196
|
+
}
|
|
197
|
+
/** `writeInit` result: write succeeded, or failed with the offending line count. */
|
|
198
|
+
export interface InitWriteResult {
|
|
199
|
+
ok: boolean;
|
|
200
|
+
lines: number;
|
|
201
|
+
error?: string;
|
|
202
|
+
}
|
|
167
203
|
/**
|
|
168
204
|
* Host owner of the `task-engine` Remote namespace. Discovered by the Typert
|
|
169
205
|
* Gateway through source-mode reflection (the `typertRemote` binding on the
|
|
@@ -211,6 +247,25 @@ export default class TaskEngineController extends TypertRemoteService {
|
|
|
211
247
|
* @returns the ledger entries, empty when no task records exist.
|
|
212
248
|
*/
|
|
213
249
|
readTasks(path: string): Promise<TaskLedgerView>;
|
|
250
|
+
/**
|
|
251
|
+
* Read the workspace's root `AGENTS.md` for the project-initialization tab.
|
|
252
|
+
* @param path - absolute workspace directory.
|
|
253
|
+
* @returns existence, body, and line count.
|
|
254
|
+
*/
|
|
255
|
+
readInit(path: string): Promise<InitView>;
|
|
256
|
+
/**
|
|
257
|
+
* Write the workspace's root `AGENTS.md` (init apply).
|
|
258
|
+
* @param request - workspace directory and full body.
|
|
259
|
+
* @returns `ok: false` with `lines` over the cap when the body is too long.
|
|
260
|
+
*/
|
|
261
|
+
writeInit(request: InitWriteRequest): Promise<InitWriteResult>;
|
|
262
|
+
/**
|
|
263
|
+
* Scan the workspace and prompt the default model for an AGENTS.md draft. The
|
|
264
|
+
* result is a preview only — nothing is written until {@link writeInit}.
|
|
265
|
+
* @param request - absolute workspace directory.
|
|
266
|
+
* @returns the drafted body, or `ok: false` with an error when generation fails.
|
|
267
|
+
*/
|
|
268
|
+
generateInit(request: InitGenerateRequest): Promise<InitDraft>;
|
|
214
269
|
/**
|
|
215
270
|
* Create a project- or user-level skill by writing its SKILL.md.
|
|
216
271
|
* @param request - name, description, whenToUse, body, and target level.
|
package/lib/controller.js
CHANGED
|
@@ -46,11 +46,25 @@ import { existsSync, mkdirSync, readFileSync, readdirSync, rmSync, writeFileSync
|
|
|
46
46
|
import { homedir } from 'node:os';
|
|
47
47
|
import { dirname, join } from 'node:path';
|
|
48
48
|
import { fileURLToPath } from 'node:url';
|
|
49
|
+
import { createUserMessage } from '@deepseek-ai/dsh-llm';
|
|
49
50
|
import { Remote, RemoteError, TypertRemoteService } from '@deepseek-ai/dsh-typert-protocol';
|
|
50
51
|
import { validateWorkflow } from "./engine.js";
|
|
51
52
|
import { resolveFlow } from "./workflows.js";
|
|
52
53
|
/** The one file this controller reads and writes, relative to a workspace directory. */
|
|
53
54
|
const ENGFILE = '.dsh/eng.json';
|
|
55
|
+
/** The project description file read/written at the workspace root by `init`. */
|
|
56
|
+
const INITFILE = 'AGENTS.md';
|
|
57
|
+
/** Hard line cap the init draft must satisfy before it can be written. */
|
|
58
|
+
const INIT_MAX_LINES = 200;
|
|
59
|
+
/** Hard timeout for the model-draft call; the UI reports elapsed time toward it. */
|
|
60
|
+
const INIT_GENERATE_TIMEOUT_MS = 150000;
|
|
61
|
+
/** System prompt for drafting a project AGENTS.md from a scanned snapshot. */
|
|
62
|
+
const INIT_SYSTEM_PROMPT = '你是一名工程交付助理。根据下面提供的项目快照,为该项目写一份项目级 AGENTS.md(Markdown)。'
|
|
63
|
+
+ '要求:用中文,只写骨架,不超过 200 行:项目是什么 → 怎么跑/构建 → 目录结构 → 开发约定 → 红线与坑。'
|
|
64
|
+
+ '不要客套的开头和结尾,不要复述项目快照里无关的细节,直接输出 Markdown 正文。'
|
|
65
|
+
+ '整个回答就是 AGENTS.md 的内容,不要用代码块包裹,不要附加任何说明。';
|
|
66
|
+
/** Files worth quoting into the scan snapshot (each truncated). */
|
|
67
|
+
const SCAN_KEY_FILES = ['README.md', 'package.json', 'tsconfig.json', 'tsconfig.client.json', 'pnpm-workspace.yaml', 'pyproject.toml', 'Cargo.toml', 'go.mod', '.dsh/eng.json'];
|
|
54
68
|
/** Bundled skill directory, scanned as a fallback list when no skill registry exists. */
|
|
55
69
|
const BUNDLED_SKILLS_DIR = fileURLToPath(new URL('../skills/', import.meta.url));
|
|
56
70
|
/** Bundled rule directory. */
|
|
@@ -168,6 +182,9 @@ let TaskEngineController = (() => {
|
|
|
168
182
|
let _listSkills_decorators;
|
|
169
183
|
let _listRules_decorators;
|
|
170
184
|
let _readTasks_decorators;
|
|
185
|
+
let _readInit_decorators;
|
|
186
|
+
let _writeInit_decorators;
|
|
187
|
+
let _generateInit_decorators;
|
|
171
188
|
let _writeSkill_decorators;
|
|
172
189
|
let _writeRule_decorators;
|
|
173
190
|
let _readSkill_decorators;
|
|
@@ -182,6 +199,9 @@ let TaskEngineController = (() => {
|
|
|
182
199
|
_listSkills_decorators = [Remote];
|
|
183
200
|
_listRules_decorators = [Remote];
|
|
184
201
|
_readTasks_decorators = [Remote];
|
|
202
|
+
_readInit_decorators = [Remote];
|
|
203
|
+
_writeInit_decorators = [Remote];
|
|
204
|
+
_generateInit_decorators = [Remote];
|
|
185
205
|
_writeSkill_decorators = [Remote];
|
|
186
206
|
_writeRule_decorators = [Remote];
|
|
187
207
|
_readSkill_decorators = [Remote];
|
|
@@ -193,6 +213,9 @@ let TaskEngineController = (() => {
|
|
|
193
213
|
__esDecorate(this, null, _listSkills_decorators, { kind: "method", name: "listSkills", static: false, private: false, access: { has: obj => "listSkills" in obj, get: obj => obj.listSkills }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
194
214
|
__esDecorate(this, null, _listRules_decorators, { kind: "method", name: "listRules", static: false, private: false, access: { has: obj => "listRules" in obj, get: obj => obj.listRules }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
195
215
|
__esDecorate(this, null, _readTasks_decorators, { kind: "method", name: "readTasks", static: false, private: false, access: { has: obj => "readTasks" in obj, get: obj => obj.readTasks }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
216
|
+
__esDecorate(this, null, _readInit_decorators, { kind: "method", name: "readInit", static: false, private: false, access: { has: obj => "readInit" in obj, get: obj => obj.readInit }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
217
|
+
__esDecorate(this, null, _writeInit_decorators, { kind: "method", name: "writeInit", static: false, private: false, access: { has: obj => "writeInit" in obj, get: obj => obj.writeInit }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
218
|
+
__esDecorate(this, null, _generateInit_decorators, { kind: "method", name: "generateInit", static: false, private: false, access: { has: obj => "generateInit" in obj, get: obj => obj.generateInit }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
196
219
|
__esDecorate(this, null, _writeSkill_decorators, { kind: "method", name: "writeSkill", static: false, private: false, access: { has: obj => "writeSkill" in obj, get: obj => obj.writeSkill }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
197
220
|
__esDecorate(this, null, _writeRule_decorators, { kind: "method", name: "writeRule", static: false, private: false, access: { has: obj => "writeRule" in obj, get: obj => obj.writeRule }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
198
221
|
__esDecorate(this, null, _readSkill_decorators, { kind: "method", name: "readSkill", static: false, private: false, access: { has: obj => "readSkill" in obj, get: obj => obj.readSkill }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
@@ -380,6 +403,92 @@ let TaskEngineController = (() => {
|
|
|
380
403
|
}
|
|
381
404
|
return { tasks };
|
|
382
405
|
}
|
|
406
|
+
/**
|
|
407
|
+
* Read the workspace's root `AGENTS.md` for the project-initialization tab.
|
|
408
|
+
* @param path - absolute workspace directory.
|
|
409
|
+
* @returns existence, body, and line count.
|
|
410
|
+
*/
|
|
411
|
+
async readInit(path) {
|
|
412
|
+
const { root } = locateInitRoot(path);
|
|
413
|
+
const raw = await readTextAt(this.fs(), root, INITFILE);
|
|
414
|
+
if (raw === undefined)
|
|
415
|
+
return { exists: false, content: '', lines: 0 };
|
|
416
|
+
return {
|
|
417
|
+
exists: true,
|
|
418
|
+
content: raw,
|
|
419
|
+
lines: lineCount(raw),
|
|
420
|
+
...(root === path ? {} : { path: join(root, INITFILE) }),
|
|
421
|
+
};
|
|
422
|
+
}
|
|
423
|
+
/**
|
|
424
|
+
* Write the workspace's root `AGENTS.md` (init apply).
|
|
425
|
+
* @param request - workspace directory and full body.
|
|
426
|
+
* @returns `ok: false` with `lines` over the cap when the body is too long.
|
|
427
|
+
*/
|
|
428
|
+
async writeInit(request) {
|
|
429
|
+
const lines = lineCount(request.content);
|
|
430
|
+
if (lines > INIT_MAX_LINES) {
|
|
431
|
+
return { ok: false, lines, error: `AGENTS.md 为 ${lines} 行,超过上限 ${INIT_MAX_LINES} 行;请精简到项目骨架后重试。` };
|
|
432
|
+
}
|
|
433
|
+
const { root } = locateInitRoot(request.path);
|
|
434
|
+
const fs = this.fs();
|
|
435
|
+
const target = await fs.resolve(INITFILE, { cwd: root });
|
|
436
|
+
await fs.writeText(target, request.content, undefined, undefined, {
|
|
437
|
+
mode: 'workspace-write',
|
|
438
|
+
workspaceRoot: request.path,
|
|
439
|
+
});
|
|
440
|
+
return { ok: true, lines };
|
|
441
|
+
}
|
|
442
|
+
/**
|
|
443
|
+
* Scan the workspace and prompt the default model for an AGENTS.md draft. The
|
|
444
|
+
* result is a preview only — nothing is written until {@link writeInit}.
|
|
445
|
+
* @param request - absolute workspace directory.
|
|
446
|
+
* @returns the drafted body, or `ok: false` with an error when generation fails.
|
|
447
|
+
*/
|
|
448
|
+
async generateInit(request) {
|
|
449
|
+
const { root } = locateInitRoot(request.path);
|
|
450
|
+
const snapshot = scanProject(root);
|
|
451
|
+
const llm = this.ctx.get('llm');
|
|
452
|
+
if (llm === undefined) {
|
|
453
|
+
return { ok: false, content: '', lines: 0, error: 'task-engine: llm service is absent from the host composition' };
|
|
454
|
+
}
|
|
455
|
+
const defaultModel = this.ctx.get('agentDefaultModel');
|
|
456
|
+
if (defaultModel === undefined) {
|
|
457
|
+
return { ok: false, content: '', lines: 0, error: 'task-engine: agent 默认模型未配置,请先在「模型」页选择一个模型' };
|
|
458
|
+
}
|
|
459
|
+
const selection = defaultModel.currentSelection();
|
|
460
|
+
const options = {
|
|
461
|
+
provider: selection.provider,
|
|
462
|
+
model: selection.model,
|
|
463
|
+
system: INIT_SYSTEM_PROMPT,
|
|
464
|
+
messages: [createUserMessage({
|
|
465
|
+
content: [{ type: 'text', text: `请为项目 ${root} 生成 AGENTS.md。\n\n${snapshot}` }],
|
|
466
|
+
source: { kind: 'user' },
|
|
467
|
+
})],
|
|
468
|
+
temperature: 0.2,
|
|
469
|
+
signal: AbortSignal.timeout(INIT_GENERATE_TIMEOUT_MS),
|
|
470
|
+
};
|
|
471
|
+
let text = '';
|
|
472
|
+
try {
|
|
473
|
+
const stream = llm.stream(options);
|
|
474
|
+
for await (const chunk of stream) {
|
|
475
|
+
if (chunk.type === 'text-delta')
|
|
476
|
+
text += chunk.text;
|
|
477
|
+
else if (chunk.type === 'finish' && chunk.reason.kind === 'error') {
|
|
478
|
+
throw new Error(chunk.reason.failure.message);
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
catch (error) {
|
|
483
|
+
if (options.signal?.aborted === true) {
|
|
484
|
+
return { ok: false, content: '', lines: 0, error: `生成超时(超过 ${Math.round(INIT_GENERATE_TIMEOUT_MS / 1000)} 秒),请稍后重试。` };
|
|
485
|
+
}
|
|
486
|
+
return { ok: false, content: '', lines: 0, error: error instanceof Error ? error.message : String(error) };
|
|
487
|
+
}
|
|
488
|
+
const content = stripMarkdownFence(text);
|
|
489
|
+
const lines = lineCount(content);
|
|
490
|
+
return { ok: content.trim() !== '', content, lines };
|
|
491
|
+
}
|
|
383
492
|
/**
|
|
384
493
|
* Create a project- or user-level skill by writing its SKILL.md.
|
|
385
494
|
* @param request - name, description, whenToUse, body, and target level.
|
|
@@ -557,4 +666,121 @@ async function readEngText(fs, path) {
|
|
|
557
666
|
return undefined;
|
|
558
667
|
}
|
|
559
668
|
}
|
|
669
|
+
/** Directories the scan tree never descends into. */
|
|
670
|
+
const SCAN_SKIP = new Set(['node_modules', '.git', 'dist', 'build', 'coverage', 'target', '__pycache__', '.venv', 'venv', '.next', 'out', '.dsh']);
|
|
671
|
+
/** Maximum entries listed per directory in the scan tree; the rest collapse to a count line. */
|
|
672
|
+
const SCAN_MAX_ENTRIES = 40;
|
|
673
|
+
/** Maximum directory depth the scan tree renders. */
|
|
674
|
+
const SCAN_MAX_DEPTH = 3;
|
|
675
|
+
/** Render a compact directory tree (depth-bounded, skip-listed) for the model. */
|
|
676
|
+
function renderScanTree(root) {
|
|
677
|
+
const lines = [root.replace(/[\\/]+$/, '').split(/[\\/]/).pop() ?? root];
|
|
678
|
+
function walk(dir, depth, prefix) {
|
|
679
|
+
if (depth > SCAN_MAX_DEPTH)
|
|
680
|
+
return;
|
|
681
|
+
let entries;
|
|
682
|
+
try {
|
|
683
|
+
entries = readdirSync(dir, { withFileTypes: true });
|
|
684
|
+
}
|
|
685
|
+
catch {
|
|
686
|
+
return;
|
|
687
|
+
}
|
|
688
|
+
entries = entries
|
|
689
|
+
.filter(e => !SCAN_SKIP.has(e.name))
|
|
690
|
+
.sort((a, b) => (a.isDirectory() === b.isDirectory() ? a.name.localeCompare(b.name) : a.isDirectory() ? -1 : 1));
|
|
691
|
+
const shown = entries.slice(0, SCAN_MAX_ENTRIES);
|
|
692
|
+
for (const entry of shown) {
|
|
693
|
+
const isDir = entry.isDirectory();
|
|
694
|
+
lines.push(`${prefix}${isDir ? '▸ ' : ''}${entry.name}${isDir ? '/' : ''}`);
|
|
695
|
+
if (isDir)
|
|
696
|
+
walk(join(dir, entry.name), depth + 1, `${prefix} `);
|
|
697
|
+
}
|
|
698
|
+
const hidden = entries.length - shown.length;
|
|
699
|
+
if (hidden > 0)
|
|
700
|
+
lines.push(`${prefix}… (+${hidden} 项)`);
|
|
701
|
+
}
|
|
702
|
+
walk(root, 1, ' ');
|
|
703
|
+
return lines.join('\n');
|
|
704
|
+
}
|
|
705
|
+
/** Build the project snapshot fed to the model: a bounded tree plus key file bodies. */
|
|
706
|
+
function scanProject(path) {
|
|
707
|
+
const parts = [`目录结构:\n\`\`\`\n${renderScanTree(path)}\n\`\`\``];
|
|
708
|
+
for (const rel of SCAN_KEY_FILES) {
|
|
709
|
+
const raw = readResourceFile(join(path, rel));
|
|
710
|
+
if (raw === undefined || raw.trim() === '')
|
|
711
|
+
continue;
|
|
712
|
+
parts.push(`文件 ${rel}:\n\`\`\`\n${raw.slice(0, 3000)}\n\`\`\``);
|
|
713
|
+
}
|
|
714
|
+
return parts.join('\n\n');
|
|
715
|
+
}
|
|
716
|
+
/** Strip a surrounding ```markdown fence if the model wrapped the draft anyway. */
|
|
717
|
+
function stripMarkdownFence(text) {
|
|
718
|
+
const trimmed = text.trim();
|
|
719
|
+
const m = trimmed.match(/^```(?:markdown|md)?\s*\n([\s\S]*?)\n```\s*$/);
|
|
720
|
+
if (m)
|
|
721
|
+
return m[1].trimEnd();
|
|
722
|
+
return trimmed;
|
|
723
|
+
}
|
|
724
|
+
/** Count physical lines after CRLF normalization; an empty string counts as one. */
|
|
725
|
+
function lineCount(text) {
|
|
726
|
+
return text.replace(/\r\n/g, '\n').split('\n').length;
|
|
727
|
+
}
|
|
728
|
+
/** Read one workspace-relative file through the sandboxed fs, or `undefined`. */
|
|
729
|
+
async function readTextAt(fs, path, rel) {
|
|
730
|
+
try {
|
|
731
|
+
const target = await fs.resolve(rel, { cwd: path });
|
|
732
|
+
return await fs.readText(target);
|
|
733
|
+
}
|
|
734
|
+
catch {
|
|
735
|
+
return undefined;
|
|
736
|
+
}
|
|
737
|
+
}
|
|
738
|
+
/**
|
|
739
|
+
* Locate the effective `AGENTS.md` for a workspace directory. Order:
|
|
740
|
+
* workspace root → exactly one direct child project → ancestor chain. When
|
|
741
|
+
* several direct children own the file the location is ambiguous, so nothing is
|
|
742
|
+
* guessed (`undefined`), keeping the write target at the workspace root.
|
|
743
|
+
* @param path - absolute workspace directory.
|
|
744
|
+
* @returns the absolute AGENTS.md path, or `undefined` when none is discoverable.
|
|
745
|
+
*/
|
|
746
|
+
function locateInitFile(path) {
|
|
747
|
+
const rootFile = join(path, INITFILE);
|
|
748
|
+
if (existsSync(rootFile))
|
|
749
|
+
return rootFile;
|
|
750
|
+
const children = [];
|
|
751
|
+
try {
|
|
752
|
+
for (const entry of readdirSync(path, { withFileTypes: true })) {
|
|
753
|
+
if (!entry.isDirectory() || entry.name.startsWith('.'))
|
|
754
|
+
continue;
|
|
755
|
+
const child = join(path, entry.name, INITFILE);
|
|
756
|
+
if (existsSync(child))
|
|
757
|
+
children.push(child);
|
|
758
|
+
}
|
|
759
|
+
}
|
|
760
|
+
catch {
|
|
761
|
+
return undefined;
|
|
762
|
+
}
|
|
763
|
+
if (children.length === 1)
|
|
764
|
+
return children[0];
|
|
765
|
+
if (children.length > 1)
|
|
766
|
+
return undefined;
|
|
767
|
+
let current = dirname(path);
|
|
768
|
+
for (;;) {
|
|
769
|
+
const up = join(current, INITFILE);
|
|
770
|
+
if (existsSync(up))
|
|
771
|
+
return up;
|
|
772
|
+
const parent = dirname(current);
|
|
773
|
+
if (parent === current)
|
|
774
|
+
break;
|
|
775
|
+
current = parent;
|
|
776
|
+
}
|
|
777
|
+
return undefined;
|
|
778
|
+
}
|
|
779
|
+
/** Resolve the project root that owns AGENTS.md for a workspace, or the workspace itself. */
|
|
780
|
+
function locateInitRoot(path) {
|
|
781
|
+
const file = locateInitFile(path);
|
|
782
|
+
if (file !== undefined)
|
|
783
|
+
return { root: dirname(file), found: true };
|
|
784
|
+
return { root: path, found: false };
|
|
785
|
+
}
|
|
560
786
|
//# sourceMappingURL=controller.js.map
|
package/lib/controller.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../src/controller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../src/controller.ts"],"names":[],"mappings":"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"}
|
package/lib/dev-task.js
CHANGED
|
@@ -21,17 +21,22 @@ import { HIGH_RISK_REQUIRED_CAPABILITIES, flowSatisfies, resolveFlow, } from "./
|
|
|
21
21
|
const HOOK_TEMPLATE = readFileSync(fileURLToPath(new URL('../hooks/commit-msg', import.meta.url)), 'utf8');
|
|
22
22
|
/** Pins the hook directory to CommonJS so the extensionless hook runs under any repo `type`. */
|
|
23
23
|
const HOOK_PACKAGE_JSON = '{\n "type": "commonjs"\n}\n';
|
|
24
|
-
|
|
24
|
+
/**
|
|
25
|
+
* Read a workspace-relative file through the sandboxed filesystem. `cwd` is the
|
|
26
|
+
* calling session's workspace (`exec.agent.session.header.cwd`); without it the
|
|
27
|
+
* backend falls back to its own base, which is NOT the session workspace.
|
|
28
|
+
*/
|
|
29
|
+
async function readText(fs, relPath, cwd) {
|
|
25
30
|
try {
|
|
26
|
-
const target = await fs.resolve(relPath);
|
|
31
|
+
const target = await fs.resolve(relPath, cwd !== undefined ? { cwd } : undefined);
|
|
27
32
|
return await fs.readText(target);
|
|
28
33
|
}
|
|
29
34
|
catch {
|
|
30
35
|
return undefined;
|
|
31
36
|
}
|
|
32
37
|
}
|
|
33
|
-
async function writeText(fs, relPath, content) {
|
|
34
|
-
const target = await fs.resolve(relPath);
|
|
38
|
+
async function writeText(fs, relPath, content, cwd) {
|
|
39
|
+
const target = await fs.resolve(relPath, cwd !== undefined ? { cwd } : undefined);
|
|
35
40
|
await fs.writeText(target, content);
|
|
36
41
|
}
|
|
37
42
|
function sanitize(id) {
|
|
@@ -60,8 +65,8 @@ function standardWorkflow() {
|
|
|
60
65
|
* {@link validateWorkflow}; its problems are surfaced so a misconfigured gate
|
|
61
66
|
* fails closed instead of silently degrading to the standard preset.
|
|
62
67
|
*/
|
|
63
|
-
async function resolveWorkflow(fs) {
|
|
64
|
-
const raw = await readText(fs, '.dsh/eng.json');
|
|
68
|
+
async function resolveWorkflow(fs, cwd) {
|
|
69
|
+
const raw = await readText(fs, '.dsh/eng.json', cwd);
|
|
65
70
|
if (raw === undefined) {
|
|
66
71
|
const standard = standardWorkflow();
|
|
67
72
|
return { ...standard, problems: [], source: 'default' };
|
|
@@ -107,12 +112,12 @@ async function resolveWorkflow(fs) {
|
|
|
107
112
|
};
|
|
108
113
|
}
|
|
109
114
|
/** Write the bundled notch gate into `.git/hooks/` so `git commit` is mechanically gated. */
|
|
110
|
-
async function installCommitHook(fs) {
|
|
111
|
-
await writeText(fs, '.git/hooks/commit-msg', HOOK_TEMPLATE);
|
|
112
|
-
await writeText(fs, '.git/hooks/package.json', HOOK_PACKAGE_JSON);
|
|
115
|
+
async function installCommitHook(fs, cwd) {
|
|
116
|
+
await writeText(fs, '.git/hooks/commit-msg', HOOK_TEMPLATE, cwd);
|
|
117
|
+
await writeText(fs, '.git/hooks/package.json', HOOK_PACKAGE_JSON, cwd);
|
|
113
118
|
}
|
|
114
|
-
async function loadTask(fs, id) {
|
|
115
|
-
const raw = await readText(fs, taskPath(id));
|
|
119
|
+
async function loadTask(fs, id, cwd) {
|
|
120
|
+
const raw = await readText(fs, taskPath(id), cwd);
|
|
116
121
|
if (raw === undefined)
|
|
117
122
|
throw new Error(`no task "${id}" under ${taskPath(id)}`);
|
|
118
123
|
const state = JSON.parse(raw);
|
|
@@ -121,8 +126,8 @@ async function loadTask(fs, id) {
|
|
|
121
126
|
state.files = state.files ?? [];
|
|
122
127
|
return state;
|
|
123
128
|
}
|
|
124
|
-
async function writeTask(fs, state) {
|
|
125
|
-
await writeText(fs, taskPath(state.id), JSON.stringify(state, null, 2));
|
|
129
|
+
async function writeTask(fs, state, cwd) {
|
|
130
|
+
await writeText(fs, taskPath(state.id), JSON.stringify(state, null, 2), cwd);
|
|
126
131
|
}
|
|
127
132
|
/**
|
|
128
133
|
* The workflow a task runs under: its frozen snapshot when present (created
|
|
@@ -130,10 +135,10 @@ async function writeTask(fs, state) {
|
|
|
130
135
|
* pre-snapshot records. A missing snapshot never silently widens a gate — the
|
|
131
136
|
* live config must still resolve cleanly.
|
|
132
137
|
*/
|
|
133
|
-
async function workflowFor(state, fs) {
|
|
138
|
+
async function workflowFor(state, fs, cwd) {
|
|
134
139
|
if (state.flow !== undefined)
|
|
135
140
|
return state.flow.config;
|
|
136
|
-
const resolved = await resolveWorkflow(fs);
|
|
141
|
+
const resolved = await resolveWorkflow(fs, cwd);
|
|
137
142
|
if (resolved.problems.length > 0) {
|
|
138
143
|
throw new Error(`invalid .dsh/eng.json — fix the project config first:\n- ${resolved.problems.join('\n- ')}`);
|
|
139
144
|
}
|
|
@@ -160,7 +165,7 @@ function readAbsRule(file) {
|
|
|
160
165
|
* @param fs - sandboxed filesystem for the project-level lookup.
|
|
161
166
|
* @returns the rules that resolved, in name order, with their bodies.
|
|
162
167
|
*/
|
|
163
|
-
async function resolveRules(names, fs) {
|
|
168
|
+
async function resolveRules(names, fs, cwd) {
|
|
164
169
|
const result = [];
|
|
165
170
|
for (const rawName of names) {
|
|
166
171
|
const name = sanitize(rawName);
|
|
@@ -176,7 +181,7 @@ async function resolveRules(names, fs) {
|
|
|
176
181
|
result.push({ name: rawName, content: user });
|
|
177
182
|
continue;
|
|
178
183
|
}
|
|
179
|
-
const project = await readText(fs, `.dsh/rules/${name}.md
|
|
184
|
+
const project = await readText(fs, `.dsh/rules/${name}.md`, cwd);
|
|
180
185
|
if (project !== undefined)
|
|
181
186
|
result.push({ name: rawName, content: project });
|
|
182
187
|
}
|
|
@@ -191,13 +196,13 @@ async function resolveRules(names, fs) {
|
|
|
191
196
|
* @param fs - host filesystem for project-rule resolution.
|
|
192
197
|
* @returns the disclosure text, or an empty string.
|
|
193
198
|
*/
|
|
194
|
-
async function renderBindings(stage, workflow, fs) {
|
|
199
|
+
async function renderBindings(stage, workflow, fs, cwd) {
|
|
195
200
|
const binding = bindingsForStage(stage, workflow);
|
|
196
201
|
const skills = binding?.skills ?? [];
|
|
197
202
|
const ruleNames = binding?.rules ?? [];
|
|
198
203
|
if (binding === undefined || (skills.length === 0 && ruleNames.length === 0))
|
|
199
204
|
return '';
|
|
200
|
-
const rules = await resolveRules(ruleNames, fs);
|
|
205
|
+
const rules = await resolveRules(ruleNames, fs, cwd);
|
|
201
206
|
const skillPart = skills.length > 0
|
|
202
207
|
? `skills to load: ${skills.join(', ')} (use the skill tool by name)`
|
|
203
208
|
: 'skills to load: none';
|
|
@@ -334,8 +339,11 @@ export function registerDevTask(ctx) {
|
|
|
334
339
|
async execute(args, exec) {
|
|
335
340
|
const a = args;
|
|
336
341
|
const fs = ctx.fs;
|
|
342
|
+
// The session workspace drives every relative path; the backend's own base
|
|
343
|
+
// (its config.cwd) is the harness process directory, never the workspace.
|
|
344
|
+
const cwd = exec.agent?.session.header.cwd;
|
|
337
345
|
if (a.operation === 'config') {
|
|
338
|
-
const resolved = await resolveWorkflow(fs);
|
|
346
|
+
const resolved = await resolveWorkflow(fs, cwd);
|
|
339
347
|
return JSON.stringify({
|
|
340
348
|
source: resolved.source,
|
|
341
349
|
valid: resolved.problems.length === 0,
|
|
@@ -344,12 +352,12 @@ export function registerDevTask(ctx) {
|
|
|
344
352
|
}, null, 2);
|
|
345
353
|
}
|
|
346
354
|
if (a.operation === 'install_hook') {
|
|
347
|
-
await installCommitHook(fs);
|
|
355
|
+
await installCommitHook(fs, cwd);
|
|
348
356
|
return 'installed commit-msg hook at .git/hooks/commit-msg — git commit is now gated by the task state';
|
|
349
357
|
}
|
|
350
358
|
if (a.operation === 'init') {
|
|
351
359
|
const phase = a.phase ?? 'inspect';
|
|
352
|
-
const existing = await readText(fs, 'AGENTS.md');
|
|
360
|
+
const existing = await readText(fs, 'AGENTS.md', cwd);
|
|
353
361
|
if (phase === 'inspect') {
|
|
354
362
|
if (existing === undefined) {
|
|
355
363
|
return `no AGENTS.md yet — scan the project (structure, stack, build/run, conventions, redlines) and call init phase=propose with content: a Markdown body of at most ${INIT_MAX_LINES} lines.`;
|
|
@@ -388,7 +396,7 @@ export function registerDevTask(ctx) {
|
|
|
388
396
|
throw new Error(`overwriting AGENTS.md was not approved (${outcome}); nothing was written`);
|
|
389
397
|
}
|
|
390
398
|
}
|
|
391
|
-
await writeText(fs, 'AGENTS.md', content);
|
|
399
|
+
await writeText(fs, 'AGENTS.md', content, cwd);
|
|
392
400
|
return `wrote ./AGENTS.md (${lines} lines, cap ${INIT_MAX_LINES}). DSH injects it into every session in this workspace from now on.`;
|
|
393
401
|
}
|
|
394
402
|
throw new Error(`unknown init phase "${phase}" (expected inspect|propose|apply)`);
|
|
@@ -397,7 +405,7 @@ export function registerDevTask(ctx) {
|
|
|
397
405
|
if (!a.task_id || !a.title || !a.branch) {
|
|
398
406
|
throw new Error('create requires task_id, title, and branch');
|
|
399
407
|
}
|
|
400
|
-
const resolved = await resolveWorkflow(fs);
|
|
408
|
+
const resolved = await resolveWorkflow(fs, cwd);
|
|
401
409
|
if (resolved.problems.length > 0) {
|
|
402
410
|
throw new Error(`invalid .dsh/eng.json — fix the project config first:\n- ${resolved.problems.join('\n- ')}`);
|
|
403
411
|
}
|
|
@@ -417,16 +425,16 @@ export function registerDevTask(ctx) {
|
|
|
417
425
|
});
|
|
418
426
|
state.items = normalizeItems(a.items);
|
|
419
427
|
state.files = a.files ?? [];
|
|
420
|
-
await writeTask(fs, state);
|
|
428
|
+
await writeTask(fs, state, cwd);
|
|
421
429
|
return `created ${state.id} at stage ${state.stage}; legal next: ${legalTargets(state.stage, flow.config).join(', ') || 'none'}`;
|
|
422
430
|
}
|
|
423
431
|
if (!a.task_id)
|
|
424
432
|
throw new Error('task_id is required for this operation');
|
|
425
|
-
const state = await loadTask(fs, a.task_id);
|
|
426
|
-
const workflow = await workflowFor(state, fs);
|
|
433
|
+
const state = await loadTask(fs, a.task_id, cwd);
|
|
434
|
+
const workflow = await workflowFor(state, fs, cwd);
|
|
427
435
|
if (a.operation === 'status') {
|
|
428
436
|
const binding = bindingsForStage(state.stage, workflow);
|
|
429
|
-
const rules = await resolveRules(binding?.rules ?? [], fs);
|
|
437
|
+
const rules = await resolveRules(binding?.rules ?? [], fs, cwd);
|
|
430
438
|
return JSON.stringify({
|
|
431
439
|
id: state.id,
|
|
432
440
|
stage: state.stage,
|
|
@@ -468,7 +476,7 @@ export function registerDevTask(ctx) {
|
|
|
468
476
|
throw new Error(message.errors.join('; '));
|
|
469
477
|
if (a.hash)
|
|
470
478
|
state.commits.push({ label: checkpoint.label, hash: a.hash });
|
|
471
|
-
await writeTask(fs, state);
|
|
479
|
+
await writeTask(fs, state, cwd);
|
|
472
480
|
return `commit approved (${checkpoint.label ?? ''}) — git add ${(a.files ?? []).join(' ')}; git commit -m "${a.message ?? ''}"`;
|
|
473
481
|
}
|
|
474
482
|
let note;
|
|
@@ -537,7 +545,7 @@ export function registerDevTask(ctx) {
|
|
|
537
545
|
if (!result.ok)
|
|
538
546
|
throw new Error(result.errors.join('; '));
|
|
539
547
|
state.stage = target;
|
|
540
|
-
const disclosure = await renderBindings(state.stage, workflow, fs);
|
|
548
|
+
const disclosure = await renderBindings(state.stage, workflow, fs, cwd);
|
|
541
549
|
note = disclosure === '' ? `advanced to ${state.stage}` : `advanced to ${state.stage}\n${disclosure}`;
|
|
542
550
|
break;
|
|
543
551
|
}
|
|
@@ -552,7 +560,7 @@ export function registerDevTask(ctx) {
|
|
|
552
560
|
default:
|
|
553
561
|
throw new Error(`unknown operation ${a.operation}`);
|
|
554
562
|
}
|
|
555
|
-
await writeTask(fs, state);
|
|
563
|
+
await writeTask(fs, state, cwd);
|
|
556
564
|
return note ?? `ok (stage ${state.stage})`;
|
|
557
565
|
},
|
|
558
566
|
}));
|