@godv61/dsh-task-engine 0.20.0 → 0.22.0

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/lib/dev-task.d.ts CHANGED
@@ -13,6 +13,13 @@
13
13
  import type { Context } from '@deepseek-ai/cordis';
14
14
  import { type ToolRunContext } from '@deepseek-ai/dsh-tools';
15
15
  import { type GuardName, type Result, type TaskState, type WorkflowConfig } from './engine.ts';
16
+ /**
17
+ * Reject a workspace-relative write whose resolved target escapes the project
18
+ * root. `cwd` is the session workspace (always inside `root`, since `root` is
19
+ * discovered from it upward); this guards the reverse case: a mis-resolved root
20
+ * or a `..`-carrying target must never write outside the project.
21
+ */
22
+ export declare function assertInsideRoot(root: string, cwd: string, relPath: string): void;
16
23
  /**
17
24
  * Ask a human to approve the pending confirmation gates, then re-run the
18
25
  * transition check. `'allowed-once'` satisfies the gates; every other outcome
package/lib/dev-task.js CHANGED
@@ -12,11 +12,13 @@
12
12
  */
13
13
  import { readFileSync } from 'node:fs';
14
14
  import { homedir } from 'node:os';
15
- import { join } from 'node:path';
15
+ import { isAbsolute, join, relative, resolve } from 'node:path';
16
16
  import { fileURLToPath } from 'node:url';
17
17
  import { defineTool } from '@deepseek-ai/dsh-tools';
18
18
  import { assertAdvance, bindingsForStage, checkFileScope, commitCheckpoint, legalTargets, newTask, taskIdFromMessage, unmetGuards, validateCommitMessage, validateWorkflow, } from "./engine.js";
19
19
  import { HIGH_RISK_REQUIRED_CAPABILITIES, flowSatisfies, resolveFlow, } from "./workflows.js";
20
+ import { hashConfig, hashText } from "./snapshot.js";
21
+ import { detectRoot, detectType, defaultVerifyCommand, listProjectRules, listProjectSkills, presentGovernanceFiles, } from "./project.js";
20
22
  /** Bundled commit-msg hook, copied into `.git/hooks/` by the `install_hook` operation. */
21
23
  const HOOK_TEMPLATE = readFileSync(fileURLToPath(new URL('../hooks/commit-msg', import.meta.url)), 'utf8');
22
24
  /** Pins the hook directory to CommonJS so the extensionless hook runs under any repo `type`. */
@@ -39,6 +41,58 @@ async function writeText(fs, relPath, content, cwd) {
39
41
  const target = await fs.resolve(relPath, cwd !== undefined ? { cwd } : undefined);
40
42
  await fs.writeText(target, content);
41
43
  }
44
+ /** Project-adapter probe over the sandboxed filesystem. */
45
+ function projectProbe(fs) {
46
+ return {
47
+ read: (dir, relPath) => readText(fs, relPath, dir),
48
+ list: async (dir, relPath) => {
49
+ try {
50
+ const target = await fs.resolve(relPath, { cwd: dir });
51
+ const entries = await fs.listDir(target);
52
+ return entries.map(entry => entry.name);
53
+ }
54
+ catch {
55
+ return [];
56
+ }
57
+ },
58
+ };
59
+ }
60
+ /**
61
+ * Reject a workspace-relative write whose resolved target escapes the project
62
+ * root. `cwd` is the session workspace (always inside `root`, since `root` is
63
+ * discovered from it upward); this guards the reverse case: a mis-resolved root
64
+ * or a `..`-carrying target must never write outside the project.
65
+ */
66
+ export function assertInsideRoot(root, cwd, relPath) {
67
+ const target = resolve(cwd, relPath);
68
+ const rootDir = resolve(root);
69
+ const inside = relative(rootDir, target);
70
+ if (inside.startsWith('..') || isAbsolute(inside)) {
71
+ throw new Error(`write target ${target} escapes the project root ${rootDir}`);
72
+ }
73
+ }
74
+ /**
75
+ * The verification command a bare `verify` should run: the project's
76
+ * `.dsh/eng.json` override wins, then the language default (node → `npm test`,
77
+ * java → `mvn -q test`, …). `undefined` means no default exists and the legacy
78
+ * self-reported `passed` path applies.
79
+ */
80
+ async function resolveVerifyCommand(fs, cwd) {
81
+ const raw = await readText(fs, '.dsh/eng.json', cwd);
82
+ if (raw !== undefined) {
83
+ try {
84
+ const parsed = JSON.parse(raw);
85
+ if (typeof parsed.verify_command === 'string' && parsed.verify_command.trim() !== '') {
86
+ return parsed.verify_command.trim();
87
+ }
88
+ }
89
+ catch {
90
+ // Unparsable eng.json is already rejected by resolveWorkflow; keep the default here.
91
+ }
92
+ }
93
+ const root = await detectRoot(projectProbe(fs), cwd ?? '');
94
+ return defaultVerifyCommand(await detectType(projectProbe(fs), root));
95
+ }
42
96
  /** Hard cap on a verification command's run time; a timeout marks the receipt non-passing. */
43
97
  const VERIFY_TIMEOUT_MS = 10 * 60 * 1000;
44
98
  /**
@@ -63,6 +117,7 @@ async function runVerificationCommand(ctx, command, cwd) {
63
117
  aborted: outcome.aborted,
64
118
  started_at,
65
119
  finished_at: new Date().toISOString(),
120
+ ...(cwd !== undefined ? { root: cwd } : {}),
66
121
  stdout: outcome.stdout?.text ?? '',
67
122
  stderr: outcome.stderr?.text ?? '',
68
123
  };
@@ -152,6 +207,10 @@ async function loadTask(fs, id, cwd) {
152
207
  // Tasks recorded before these features lack the fields; treat them as empty.
153
208
  state.artifacts = state.artifacts ?? {};
154
209
  state.files = state.files ?? [];
210
+ if (state.flow?.hash !== undefined && hashConfig(state.flow.config) !== state.flow.hash) {
211
+ throw new Error(`task "${id}" snapshot hash mismatch — the frozen workflow config was edited after creation. ` +
212
+ 'Restore the original record or recreate the task; the gate refuses to run on a tampered snapshot.');
213
+ }
155
214
  return state;
156
215
  }
157
216
  async function writeTask(fs, state, cwd) {
@@ -184,6 +243,19 @@ function readAbsRule(file) {
184
243
  return undefined;
185
244
  }
186
245
  }
246
+ /** The bundled rule files whose contents the frozen tasks' bindings reference. */
247
+ const BUILTIN_RULE_FILES = ['commit-conventions', 'coding-conventions', 'security-redlines'];
248
+ /**
249
+ * Fingerprint of the bundled rules this package ships. A task created now
250
+ * freezes this value; when a later package version ships changed rules, the
251
+ * disclosure reports the drift instead of silently applying new content.
252
+ */
253
+ function builtinRulesFingerprint() {
254
+ const contents = BUILTIN_RULE_FILES
255
+ .map(name => readAbsRule(fileURLToPath(new URL(`../rules/${name}.md`, import.meta.url))) ?? '')
256
+ .join('\n');
257
+ return hashText(contents);
258
+ }
187
259
  /**
188
260
  * Resolve rule contents by name: bundled first, then user home, then project.
189
261
  * Bundled (core) rules win over user and project files of the same name, so a
@@ -292,7 +364,7 @@ export async function approveAdvance(ctx, state, target, workflow, confirmations
292
364
  state.solution_confirmed = true;
293
365
  return assertAdvance(state, target, workflow);
294
366
  }
295
- const OPERATIONS = ['status', 'create', 'record', 'items', 'scope', 'dispatch', 'review_item', 'advance', 'verify', 'review', 'commit', 'config', 'install_hook', 'init'];
367
+ const OPERATIONS = ['status', 'create', 'record', 'items', 'scope', 'dispatch', 'review_item', 'advance', 'verify', 'review', 'commit', 'config', 'install_hook', 'verify_hook', 'init', 'set_risk'];
296
368
  const TOOL_DESCRIPTION = 'Own the engineering delivery workflow as hard state. Read or create the task record, record a ' +
297
369
  'stage artifact, record each implementation item\'s subagent dispatch and two-stage (spec + quality) ' +
298
370
  'review audit, advance one stage (rejected unless every configured guard already holds, including ' +
@@ -357,6 +429,7 @@ export function registerDevTask(ctx) {
357
429
  hash: { type: 'string', description: 'Commit hash to record after the git commit (commit).' },
358
430
  content: { type: 'string', description: 'Full AGENTS.md body (init propose/apply). Inspect the existing file first via init phase=inspect.' },
359
431
  overwrite: { type: 'boolean', description: 'Allow replacing an existing AGENTS.md (init apply); triggers human approval.' },
432
+ expected_hash: { type: 'string', description: 'The content hash returned by init phase=propose; applying with a different hash is rejected (init apply).' },
360
433
  phase: { type: 'string', enum: ['inspect', 'propose', 'apply'], description: 'init phase: inspect (read-only), propose (preview draft, no write), apply (write; overwriting an existing file requires human approval).' },
361
434
  },
362
435
  output: {
@@ -384,14 +457,36 @@ export function registerDevTask(ctx) {
384
457
  await installCommitHook(fs, cwd);
385
458
  return 'installed commit-msg hook at .git/hooks/commit-msg — git commit is now gated by the task state';
386
459
  }
460
+ if (a.operation === 'verify_hook') {
461
+ const installed = await readText(fs, '.git/hooks/commit-msg', cwd);
462
+ if (installed === undefined) {
463
+ return 'no .git/hooks/commit-msg installed — run install_hook first';
464
+ }
465
+ if (hashText(installed) === hashText(HOOK_TEMPLATE)) {
466
+ return 'hook integrity OK — installed commit-msg matches the bundled gate';
467
+ }
468
+ throw new Error('hook integrity FAILED — .git/hooks/commit-msg differs from the bundled gate; reinstall with install_hook');
469
+ }
387
470
  if (a.operation === 'init') {
388
471
  const phase = a.phase ?? 'inspect';
389
472
  const existing = await readText(fs, 'AGENTS.md', cwd);
390
473
  if (phase === 'inspect') {
474
+ const root = await detectRoot(projectProbe(fs), cwd ?? '');
475
+ const type = await detectType(projectProbe(fs), root);
476
+ const verifyCommand = defaultVerifyCommand(type);
477
+ const others = (await presentGovernanceFiles(projectProbe(fs), root)).filter(name => name !== 'AGENTS.md');
478
+ const projectRules = await listProjectRules(projectProbe(fs), root);
479
+ const projectSkills = await listProjectSkills(projectProbe(fs), root);
480
+ const summary = [
481
+ `project root: ${root}`,
482
+ `language stack: ${type}${verifyCommand !== undefined ? ` — default verify command: ${verifyCommand}` : ''}`,
483
+ others.length > 0 ? `other governance files in effect: ${others.join(', ')} — read them and keep their conventions; init manages only AGENTS.md` : undefined,
484
+ `project-level bindings: rules [${projectRules.join(', ') || 'none'}] · skills [${projectSkills.join(', ') || 'none'}] (convention: .dsh/rules/*.md, .dsh/skills/<name>/SKILL.md)`,
485
+ ].filter(line => line !== undefined).join('\n');
391
486
  if (existing === undefined) {
392
- 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.`;
487
+ 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.\n${summary}`;
393
488
  }
394
- return `existing AGENTS.md (${lineCount(existing)} lines, cap ${INIT_MAX_LINES}) is already injected into every session in this workspace. Reuse it as-is, or rewrite it via init phase=propose then phase=apply (overwriting requires human approval):\n---\n${existing}\n---`;
489
+ return `existing AGENTS.md (${lineCount(existing)} lines, cap ${INIT_MAX_LINES}) is already injected into every session in this workspace. Reuse it as-is, or rewrite it via init phase=propose then phase=apply (overwriting requires human approval):\n---\n${existing}\n---\n${summary}`;
395
490
  }
396
491
  const content = a.content;
397
492
  if (content === undefined || content.trim() === '') {
@@ -403,9 +498,12 @@ export function registerDevTask(ctx) {
403
498
  }
404
499
  if (phase === 'propose') {
405
500
  const action = existing === undefined ? 'create' : 'overwrite';
406
- return `proposed ${action} ./AGENTS.md (${lines} lines, cap ${INIT_MAX_LINES}). No file was written — review the draft, then call init phase=apply${existing !== undefined ? ' (overwriting requires human approval)' : ''} with the same content:\n---\n${content}\n---`;
501
+ return `proposed ${action} ./AGENTS.md (${lines} lines, cap ${INIT_MAX_LINES}). No file was written — review the draft, then call init phase=apply${existing !== undefined ? ' (overwriting requires human approval)' : ''} with the same content:\n---\n${content}\n---\n(content hash: ${hashText(content)} — pass it back as expected_hash on apply to prove the content is unchanged)`;
407
502
  }
408
503
  if (phase === 'apply') {
504
+ if (a.expected_hash !== undefined && a.expected_hash !== hashText(content)) {
505
+ throw new Error(`init content changed since propose (expected_hash mismatch) — resubmit the identical proposed content`);
506
+ }
409
507
  if (existing !== undefined && a.overwrite !== true) {
410
508
  throw new Error(`AGENTS.md already exists (${lineCount(existing)} lines) and is protected. Inspect via init phase=inspect, merge, then resubmit with phase=apply plus overwrite: true (human approval).`);
411
509
  }
@@ -425,6 +523,8 @@ export function registerDevTask(ctx) {
425
523
  throw new Error(`overwriting AGENTS.md was not approved (${outcome}); nothing was written`);
426
524
  }
427
525
  }
526
+ const initRoot = await detectRoot(projectProbe(fs), cwd ?? '');
527
+ assertInsideRoot(initRoot, cwd ?? '', 'AGENTS.md');
428
528
  await writeText(fs, 'AGENTS.md', content, cwd);
429
529
  return `wrote ./AGENTS.md (${lines} lines, cap ${INIT_MAX_LINES}). DSH injects it into every session in this workspace from now on.`;
430
530
  }
@@ -443,7 +543,13 @@ export function registerDevTask(ctx) {
443
543
  throw new Error(`high_risk task cannot run on flow "${resolved.flow}" — it lacks the required capabilities ` +
444
544
  `(${HIGH_RISK_REQUIRED_CAPABILITIES.join(', ')}). Use the standard flow or lower the task risk.`);
445
545
  }
446
- const flow = { flow: resolved.flow, version: resolved.version, config: resolved.config };
546
+ const flow = {
547
+ flow: resolved.flow,
548
+ version: resolved.version,
549
+ config: resolved.config,
550
+ hash: hashConfig(resolved.config),
551
+ };
552
+ const root = await detectRoot(projectProbe(fs), cwd ?? '');
447
553
  const state = newTask({
448
554
  id: a.task_id,
449
555
  title: a.title,
@@ -451,9 +557,13 @@ export function registerDevTask(ctx) {
451
557
  work_size: a.work_size ?? 'standard',
452
558
  risk_level: risk,
453
559
  flow,
560
+ root,
561
+ project_type: await detectType(projectProbe(fs), root),
454
562
  });
455
563
  state.items = normalizeItems(a.items);
456
564
  state.files = a.files ?? [];
565
+ state.bindings_fingerprint = builtinRulesFingerprint();
566
+ assertInsideRoot(root, cwd ?? '', taskPath(state.id));
457
567
  await writeTask(fs, state, cwd);
458
568
  return `created ${state.id} at stage ${state.stage}; legal next: ${legalTargets(state.stage, flow.config).join(', ') || 'none'}`;
459
569
  }
@@ -483,6 +593,10 @@ export function registerDevTask(ctx) {
483
593
  skills: binding?.skills ?? [],
484
594
  rules: rules.map(r => ({ name: r.name, content: r.content })),
485
595
  },
596
+ bindings_drift: state.bindings_fingerprint !== undefined && state.bindings_fingerprint !== builtinRulesFingerprint()
597
+ ? 'bundled rules changed since this task froze — the frozen fingerprint no longer matches the shipped rules'
598
+ : undefined,
599
+ risk_downgrades: state.risk_downgrades ?? [],
486
600
  }, null, 2);
487
601
  }
488
602
  if (a.operation === 'commit') {
@@ -585,9 +699,44 @@ export function registerDevTask(ctx) {
585
699
  note = disclosure === '' ? `advanced to ${state.stage}` : `advanced to ${state.stage}\n${disclosure}`;
586
700
  break;
587
701
  }
702
+ case 'set_risk': {
703
+ const target = a.risk_level;
704
+ if (target !== 'high_risk' && target !== 'standard') {
705
+ throw new Error('set_risk requires risk_level: high_risk|standard');
706
+ }
707
+ if (target === state.risk_level) {
708
+ note = `risk already ${target}`;
709
+ break;
710
+ }
711
+ if (state.risk_level === 'high_risk' && target === 'standard') {
712
+ const approval = ctx.get('approval');
713
+ if (approval === undefined) {
714
+ throw new Error('downgrading a high_risk task requires human approval, but the approval service is unavailable');
715
+ }
716
+ const outcome = await approval.request({
717
+ agent: exec.agent,
718
+ toolName: 'dev_task',
719
+ callId: exec.callId,
720
+ reason: `风险降级:请确认允许把任务 ${state.id} 的 risk_level 从 high_risk 降为 standard(降级后高风险验证回执门不再适用)`,
721
+ signal: exec.signal,
722
+ });
723
+ if (outcome !== 'allowed-once') {
724
+ throw new Error(`risk downgrade was not approved (${outcome}); risk_level unchanged`);
725
+ }
726
+ }
727
+ state.risk_downgrades = [
728
+ ...(state.risk_downgrades ?? []),
729
+ { from: state.risk_level, to: target, at: new Date().toISOString() },
730
+ ];
731
+ state.risk_level = target;
732
+ note = `risk_level set to ${target} (recorded in risk_downgrades)`;
733
+ break;
734
+ }
588
735
  case 'verify': {
589
- if (a.command !== undefined && a.command.trim() !== '') {
590
- const receipt = await runVerificationCommand(ctx, a.command, cwd);
736
+ const explicit = a.command !== undefined && a.command.trim() !== '';
737
+ const command = explicit ? a.command.trim() : await resolveVerifyCommand(fs, cwd);
738
+ if (command !== undefined) {
739
+ const receipt = await runVerificationCommand(ctx, command, cwd);
591
740
  state.verification = {
592
741
  passed: receipt.exit_code === 0 && !receipt.timed_out && !receipt.aborted,
593
742
  evidence: a.evidence ?? [],
@@ -1 +1 @@
1
- {"version":3,"file":"dev-task.js","sourceRoot":"","sources":["../src/dev-task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev-task.js","sourceRoot":"","sources":["../src/dev-task.ts"],"names":[],"mappings":"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"}
package/lib/engine.d.ts CHANGED
@@ -9,6 +9,7 @@
9
9
  *
10
10
  * @module dsh-task-engine/engine
11
11
  */
12
+ import type { ProjectType } from './project.ts';
12
13
  export type WorkSize = 'tiny' | 'standard' | 'complex';
13
14
  export type RiskLevel = 'standard' | 'high_risk';
14
15
  export type ItemStatus = 'todo' | 'doing' | 'done';
@@ -71,6 +72,8 @@ export interface FlowSnapshot {
71
72
  flow: string;
72
73
  version: number;
73
74
  config: WorkflowConfig;
75
+ /** SHA-256 of the canonical JSON of `config`; a mismatch proves the snapshot was edited after creation. Absent on pre-0.22 records. */
76
+ hash?: string;
74
77
  }
75
78
  /** One delegated implementation unit: a subagent fetch plus its two-stage review. */
76
79
  export interface ItemDispatch {
@@ -115,6 +118,8 @@ export interface VerificationReceipt {
115
118
  started_at: string;
116
119
  /** ISO timestamp when the run settled. */
117
120
  finished_at: string;
121
+ /** Absolute project root the command ran in; binds the receipt to the task's workspace. */
122
+ root?: string;
118
123
  /** Captured stdout tail. */
119
124
  stdout: string;
120
125
  /** Captured stderr tail. */
@@ -149,6 +154,18 @@ export interface TaskState {
149
154
  label: string;
150
155
  hash?: string;
151
156
  }[];
157
+ /** Absolute project root recorded at create time; receipts bind to it and writes may not escape it. Absent on pre-0.21 records. */
158
+ root?: string;
159
+ /** Language stack detected at create time. Absent on pre-0.21 records. */
160
+ project_type?: ProjectType;
161
+ /** Audit trail of risk changes; a high_risk → standard downgrade only appears here after human approval. Absent on pre-0.22 records. */
162
+ risk_downgrades?: {
163
+ from: string;
164
+ to: string;
165
+ at: string;
166
+ }[];
167
+ /** Fingerprint of the bundled rules at create time; a drift on disclosure means the shipped rules changed since this task froze. Absent on pre-0.22 records. */
168
+ bindings_fingerprint?: string;
152
169
  }
153
170
  export interface Result {
154
171
  ok: boolean;
@@ -236,4 +253,6 @@ export declare function newTask(input: {
236
253
  work_size: WorkSize;
237
254
  risk_level: RiskLevel;
238
255
  flow: FlowSnapshot;
256
+ root?: string;
257
+ project_type?: ProjectType;
239
258
  }): TaskState;
package/lib/engine.js CHANGED
@@ -339,6 +339,8 @@ export function newTask(input) {
339
339
  artifacts: {},
340
340
  files: [],
341
341
  commits: [],
342
+ ...(input.root !== undefined ? { root: input.root } : {}),
343
+ ...(input.project_type !== undefined ? { project_type: input.project_type } : {}),
342
344
  };
343
345
  }
344
346
  //# sourceMappingURL=engine.js.map
package/lib/engine.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA+JH,+EAA+E;AAC/E,MAAM,WAAW,GAAyB;IACxC,0BAA0B;IAC1B,uBAAuB;IACvB,YAAY;IACZ,UAAU;IACV,eAAe;IACf,mBAAmB;CACpB,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAsB;IACrD,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;IACzE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,KAAK,GAAG,CAAC,CAAA;QAChE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACjB,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QAChD,QAAQ,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,WAAW,oBAAoB,CAAC,CAAA;IACvE,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;IAC/B,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;QAC/C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,QAAQ,CAAC,IAAI,CAAC,cAAc,KAAK,GAAG,CAAC,WAAW,UAAU,CAAC,IAAI,kBAAkB,CAAC,CAAA;QACpF,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;YAC3C,QAAQ,CAAC,IAAI,CAAC,cAAc,KAAK,GAAG,CAAC,SAAS,UAAU,CAAC,EAAE,kBAAkB,CAAC,CAAA;QAChF,CAAC;QACD,MAAM,IAAI,GAAG,GAAG,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE,EAAE,CAAA;QACnD,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,yBAAyB,IAAI,GAAG,CAAC,CAAA;QACpE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACf,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjC,QAAQ,CAAC,IAAI,CAAC,cAAc,KAAK,GAAG,CAAC,oBAAoB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC5E,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;IACF,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAA;IACtC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;QAC3C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,QAAQ,CAAC,IAAI,CAAC,YAAY,KAAK,GAAG,CAAC,YAAY,QAAQ,CAAC,KAAK,kBAAkB,CAAC,CAAA;QAClF,CAAC;QACD,MAAM,GAAG,GAAG,QAAQ,CAAC,EAAE,CAAA;QACvB,0EAA0E;QAC1E,4EAA4E;QAC5E,iEAAiE;QACjE,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,0BAA0B,GAAG,sCAAsC,CAAC,CAAA;QAC7G,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACrB,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,QAAQ,CAAC,IAAI,CAAC,YAAY,KAAK,GAAG,CAAC,MAAM,QAAQ,CAAC,EAAE,8BAA8B,CAAC,CAAA;QACrF,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAA;QAClC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpC,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,QAAQ,CAAC,IAAI,CAAC,YAAY,KAAK,GAAG,CAAC,MAAM,QAAQ,CAAC,EAAE,wBAAwB,KAAK,GAAG,CAAC,CAAA;YACvF,CAAC;YACD,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACrB,CAAC;IACH,CAAC,CAAC,CAAA;IACF,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,IAAI,EAAE,CAAA;IAC5C,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,QAAQ,CAAC,IAAI,CAAC,0BAA0B,KAAK,kBAAkB,CAAC,CAAA;QAClE,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACrD,QAAQ,CAAC,IAAI,CAAC,mBAAmB,KAAK,qBAAqB,CAAC,CAAA;YAC9D,CAAC;QACH,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;YACvC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACnD,QAAQ,CAAC,IAAI,CAAC,mBAAmB,KAAK,oBAAoB,CAAC,CAAA;YAC7D,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/D,QAAQ,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,MAAM,CAAC,MAAM,2BAA2B,CAAC,CAAA;IAClF,CAAC;IACD,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACxC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,UAAU,kBAAkB,CAAC,CAAA;QACnE,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,eAAe,KAAK,EAAE,EAAE,CAAC;QACzC,IAAI,CAAC;YACH,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAA;QAC3E,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa,EAAE,MAAsB;IAC9D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,kBAAkB,KAAK,GAAG,CAAC,EAAE,CAAA;IAC5D,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;AACrB,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,MAAsB;IACrE,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,CAAA;AACtE,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,MAAsB;IACpE,OAAO,MAAM,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAA;AACvC,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,MAAsB;IAChE,OAAO,MAAM,CAAC,WAAW;SACtB,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,KAAK,CAAC;SAC/C,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;AACrC,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,EAAU,EAAE,MAAsB;IAC7E,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,IAAI,IAAI,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;AAChG,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,KAAgB;IAC5C,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,yBAAyB,CAAC,CAAA;IAChE,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3B,QAAQ,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;YACpD,SAAQ;QACV,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,QAAQ,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE,uCAAuC,CAAC,CAAA;YACtE,SAAQ;QACV,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,MAAM;YAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE,2BAA2B,CAAC,CAAA;QACnG,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,KAAK,MAAM;YAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE,8BAA8B,CAAC,CAAA;IAC3G,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,cAAc,CAAC,KAAgB,EAAE,KAAgB,EAAE,MAAsB;IAChF,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,0BAA0B;YAC7B,OAAO,KAAK,CAAC,qBAAqB,CAAA;QACpC,KAAK,uBAAuB;YAC1B,OAAO,KAAK,CAAC,kBAAkB,CAAA;QACjC,KAAK,YAAY;YACf,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAA;QAC1C,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAA;YAC5C,IAAI,MAAM,CAAC,+BAA+B,IAAI,KAAK,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;gBAC/E,yEAAyE;gBACzE,wEAAwE;gBACxE,yCAAyC;gBACzC,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,CAAA;gBAC1C,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,OAAO,CAAA;YACnG,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QACD,KAAK,eAAe;YAClB,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,KAAK,MAAM,CAAA;QACxC,KAAK,mBAAmB,CAAC,CAAC,CAAC;YACzB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;YACvD,OAAO,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;gBAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;gBAC7C,IAAI,QAAQ,KAAK,SAAS;oBAAE,OAAO,KAAK,CAAA;gBACxC,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;YACvG,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,KAAgB,EAAE,WAAmB,EAAE,MAAsB;IACzF,MAAM,KAAK,GAAG,iBAAiB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;IACpD,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,KAAK,CAAA;IAE3B,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;IACnE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,CAAC,uBAAuB,KAAK,CAAC,KAAK,SAAS,WAAW,GAAG;oBAChE,YAAY,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC;SACzE,CAAA;IACH,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;IAChG,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAChC,IAAI,KAAK,KAAK,YAAY;gBAAE,OAAO,eAAe,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;YACpF,OAAO,KAAK,CAAA;QACd,CAAC,CAAC,CAAA;QACF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,iBAAiB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAA;IACvE,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;AACrB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,KAAgB,EAAE,WAAmB,EAAE,MAAsB;IACvF,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;IACnE,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAA;IAC1B,OAAO,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;AAC3F,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,qBAAqB,CAAC,OAAe,EAAE,MAAsB;IAC3E,IAAI,MAAM,CAAC,MAAM,CAAC,eAAe,KAAK,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;IAC7D,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;IACpD,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;IACzC,OAAO;QACL,EAAE,EAAE,KAAK;QACT,MAAM,EAAE,CAAC,mBAAmB,OAAO,oBAAoB,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;KACrF,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe,EAAE,MAAsB;IACvE,IAAI,MAAM,CAAC,MAAM,CAAC,eAAe,KAAK,EAAE;QAAE,OAAO,SAAS,CAAA;IAC1D,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACrE,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC;AAQD;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAgB,EAAE,MAAsB;IACvE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,MAAM,CAAA;IAC7C,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,8DAA8D,EAAE,CAAA;IACnG,CAAC;IAED,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW;aAC7B,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,CAAC;aACrD,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;QAChG,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,4DAA4D,EAAE,CAAA;QACjG,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;IACzC,CAAC;IAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAA;QACtE,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACb,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,EAAE,EAAE,CAAA;QAC7C,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,yDAAyD,EAAE,CAAA;AAC9F,CAAC;AAUD;;;;GAIG;AACH;;;;GAIG;AACH,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,uCAAuC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC3D,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAgB,EAAE,UAAoB,EAAE,MAAsB;IAC3F,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IAC/E,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC9E,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAA;IAC7F,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC;QACzB,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;QAC3C,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;AAC5C,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,OAAO,CAAC,KAOvB;IACC,OAAO;QACL,MAAM,EAAE,CAAC;QACT,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW;QACpC,qBAAqB,EAAE,KAAK;QAC5B,kBAAkB,EAAE,KAAK;QACzB,KAAK,EAAE,EAAE;QACT,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC7C,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;QAC9B,SAAS,EAAE,EAAE;QACb,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,EAAE;KACZ,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
package/lib/hook.js CHANGED
@@ -14,6 +14,8 @@ import fs from 'node:fs';
14
14
  import path from 'node:path';
15
15
  import { checkFileScope, commitCheckpoint, validateCommitMessage, } from "./engine.js";
16
16
  import { resolveFlow } from "./workflows.js";
17
+ import { hashConfig } from "./snapshot.js";
18
+ import { DEFAULT_RISK_POLICY } from "./project.js";
17
19
  const messageFile = process.argv[2];
18
20
  function refuse(reason) {
19
21
  console.error('');
@@ -154,6 +156,26 @@ function extractTaskId(message) {
154
156
  const match = /^【([^【】\s]+)】/.exec(message);
155
157
  return match ? match[1] : undefined;
156
158
  }
159
+ /** Engine-owned state files are exempt from scope and risk checks. */
160
+ function isEngineMeta(file) {
161
+ return /^\.dsh\/(task-[^/]+\.json|eng\.json)$/.test(file);
162
+ }
163
+ /** Staged paths that hit the risk policy's sensitive paths (engine files exempt). */
164
+ function riskyPaths(entries) {
165
+ return entries
166
+ .filter(entry => !isEngineMeta(entry.path))
167
+ .filter(entry => DEFAULT_RISK_POLICY.sensitive_paths.some(prefix => entry.path === prefix || entry.path.startsWith(`${prefix}/`)))
168
+ .map(entry => entry.path);
169
+ }
170
+ /** Only a high-risk task that passed a real command receipt may touch sensitive paths. */
171
+ function riskVerified(state) {
172
+ const receipt = state.verification.receipt;
173
+ return state.risk_level === 'high_risk'
174
+ && receipt !== undefined
175
+ && receipt.exit_code === 0
176
+ && !receipt.timed_out
177
+ && !receipt.aborted;
178
+ }
157
179
  /** The standard preset, applied when the project has no `.dsh/eng.json` at all. */
158
180
  function defaultConfig() {
159
181
  const resolved = resolveFlow('standard');
@@ -228,6 +250,9 @@ else {
228
250
  if (!state) {
229
251
  refuse('没有找到 dev_task 任务记录(.dsh/task-*.json)——请先 dev_task operation=create 建立任务');
230
252
  }
253
+ if (state.flow?.hash !== undefined && hashConfig(state.flow.config) !== state.flow.hash) {
254
+ refuse(`任务 ${state.id} 的流程快照 hash 不匹配——task 记录在创建后被改动过,修复或重建任务后再提交`);
255
+ }
231
256
  // Check this task against its frozen snapshot, not the live .dsh/eng.json
232
257
  // (which may have drifted mid-task). Fall back to the live config only for
233
258
  // legacy records that predate the snapshot field.
@@ -254,5 +279,10 @@ if (!scope.ok) {
254
279
  });
255
280
  refuse('提交了任务范围之外的文件: ' + described.join(', '));
256
281
  }
282
+ const sensitive = riskyPaths(entries);
283
+ if (sensitive.length > 0 && !riskVerified(state)) {
284
+ refuse('提交触及敏感路径: ' + sensitive.join(', ') +
285
+ ' — 这类变更要求任务声明为 high_risk,且验证必须是真实命令回执(exit 0)');
286
+ }
257
287
  process.exit(0);
258
288
  //# sourceMappingURL=hook.js.map