@godv61/dsh-task-engine 0.23.6 → 0.23.7

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/.preset-test.mjs CHANGED
@@ -20,37 +20,50 @@ import { mkdtempSync, readFileSync, rmSync, writeFileSync, mkdirSync, existsSync
20
20
  import { tmpdir } from 'node:os'
21
21
  import { join, resolve, sep } from 'node:path'
22
22
  import { test } from 'node:test'
23
- import { derivedEngComposition, wasSeeded } from './lib/seed-preset.js'
23
+ import { derivedEngComposition, wasSeeded, applyPersona, personaFieldOf } from './lib/seed-preset.js'
24
24
 
25
- /** The live derivation must exist in a built checkout. */
25
+ /**
26
+ * The live derivation resolves `@deepseek-ai/dsh-agent-presets`, a PEER the
27
+ * running harness provides. In a consumer's install it may be absent or a
28
+ * different version, so the assertions that read a real `standard` skip when it
29
+ * is unavailable rather than failing �?the fixture-driven cases below cover the
30
+ * logic itself and always run.
31
+ */
26
32
  const derived = derivedEngComposition()
33
+ const liveSource = derived !== undefined
34
+ const live = { skip: liveSource ? false : 'no resolvable @deepseek-ai/dsh-agent-presets in this install' }
27
35
 
28
- test('the derivation reads a readable standard composition', () => {
29
- assert.ok(derived !== undefined, 'standard must be resolvable in a built checkout')
36
+ test('the derivation reads a readable standard composition', live, () => {
37
+ assert.ok(derived !== undefined, 'standard must be resolvable when a peer provides it')
30
38
  assert.ok(derived.text.length > 0, 'the derived composition must not be empty')
31
39
  })
32
40
 
33
- test('the engineering persona replaces the shipped one', () => {
41
+ test('the engineering persona replaces the shipped one', live, () => {
34
42
  assert.equal(derived.personaApplied, true, 'the persona row must be found and rewritten')
35
43
  assert.match(derived.text, /engineering-delivery coding agent/u, 'the persona body must be the engineering one')
36
- assert.doesNotMatch(derived.text, /text: >-\n/u, 'the pre-2026-09-06 persona phrasing must be gone')
44
+ // The shipped prose must be gone, in whichever field the source used.
45
+ assert.doesNotMatch(derived.text, /You are a coding agent powered by the \{\{model\}\} model/u,
46
+ 'the shipped persona prose must be replaced, not merely shadowed')
37
47
  })
38
48
 
39
- test('the persona row uses the current prefix form and never sets complete', () => {
40
- assert.match(derived.text, /- id: persona\n {2}name: '@deepseek-ai\/dsh-persona'\n {2}config:\n {4}prefix: \|-/u,
41
- 'the persona row must carry the current prefix form')
42
- // `complete: true` would make this prefix the ENTIRE system prompt and
49
+ test('the derived persona row is well formed and never sets complete', live, () => {
50
+ // Which field is correct depends on the running harness, so assert the SHAPE
51
+ // (a block scalar under `config:`) rather than one field name �?the field
52
+ // itself is pinned by the two fixtures below.
53
+ assert.match(derived.text, /- id: persona\n {2}name: '@deepseek-ai\/dsh-persona'\n {2}config:\n(?: {4}suffix: .*\n)? {4}(?:text|prefix): [|>]-/u,
54
+ 'the persona row must carry a block scalar under config')
55
+ // `complete: true` would make this prose the ENTIRE system prompt and
43
56
  // suppress every other section, silently gutting the agent.
44
57
  assert.doesNotMatch(derived.text, /complete: true/u, 'complete must not be set')
45
58
  })
46
59
 
47
- test('the agent row is appended exactly once', () => {
60
+ test('the agent row is appended exactly once', live, () => {
48
61
  const matches = derived.text.match(/id: task-engine-agent/gu) ?? []
49
62
  assert.equal(matches.length, 1, 'task-engine-agent must appear once')
50
63
  assert.match(derived.text, /name: '@godv61\/dsh-task-engine\/agent'/u, 'the row must name the agent entry')
51
64
  })
52
65
 
53
- test('every top-level row of standard survives the derivation', () => {
66
+ test('every top-level row of standard survives the derivation', live, () => {
54
67
  // The point of deriving rather than hand-writing: the preset must inherit the
55
68
  // harness's whole tool roster, not a remembered subset of it.
56
69
  const ids = (text) => (text.match(/^- id: (\S+)$/gmu) ?? []).map(line => line.replace(/^- id: /u, ''))
@@ -65,8 +78,84 @@ test('a composition carrying the agent row is recognised as seeded', () => {
65
78
  assert.equal(wasSeeded('- id: persona\n name: y\n'), false, 'a hand-authored composition is not ours')
66
79
  })
67
80
 
68
- test('re-deriving is stable: the same standard yields the same text', () => {
81
+ test('re-deriving is stable: the same standard yields the same text', live, () => {
69
82
  // Idempotence is what lets the seed run on every boot without rewriting.
70
83
  const again = derivedEngComposition()
71
84
  assert.equal(again.text, derived.text, 'two derivations of one source must agree')
85
+ })
86
+
87
+ // The persona plugin renamed `text` to `prefix`/`suffix` in DSH commit 40792330c0
88
+ // (2026-09-06, first shipped in dsh-v0.1.3-alpha.2). The two schemas are mutually
89
+ // exclusive: a preset written with `prefix` is rejected by an older persona
90
+ // plugin with "$.text missing required value", and vice versa. The seed must
91
+ // therefore follow whichever field the SOURCE composition uses, which is what
92
+ // these two fixtures pin.
93
+ const PERSONA_FIXTURE_LEGACY = [
94
+ '- id: persona',
95
+ " name: '@deepseek-ai/dsh-persona'",
96
+ ' config:',
97
+ ' text: >-',
98
+ ' You are a coding agent powered by the {{model}} model.',
99
+ '',
100
+ '- id: agent-instructions',
101
+ " name: '@deepseek-ai/dsh-agent-instructions'",
102
+ '',
103
+ ].join('\n')
104
+
105
+ const PERSONA_FIXTURE_MODERN = [
106
+ '- id: persona',
107
+ " name: '@deepseek-ai/dsh-persona'",
108
+ ' config:',
109
+ ' suffix: Your working directory is {{cwd}}.',
110
+ ' prefix: >-',
111
+ ' You are a coding agent powered by the {{model}} model.',
112
+ '',
113
+ '- id: agent-instructions',
114
+ " name: '@deepseek-ai/dsh-agent-instructions'",
115
+ '',
116
+ ].join('\n')
117
+
118
+ /** Read the scalar keys of a persona row's `config:` mapping. */
119
+ function personaConfig(text) {
120
+ const lines = text.split('\n')
121
+ const start = lines.findIndex(line => line.trimEnd() === '- id: persona')
122
+ assert.ok(start >= 0, 'the fixture must carry a persona row')
123
+ let end = start + 1
124
+ while (end < lines.length && !/^- /u.test(lines[end] ?? '')) end++
125
+ const config = {}
126
+ for (const line of lines.slice(start, end)) {
127
+ const match = /^ {4}([a-z]+):(.*)$/u.exec(line)
128
+ if (match !== null) config[match[1]] = match[2].trim()
129
+ }
130
+ return config
131
+ }
132
+
133
+ test('the persona field follows the source schema, both generations', () => {
134
+ assert.equal(personaFieldOf(PERSONA_FIXTURE_LEGACY), 'text', 'a text-based source is detected')
135
+ assert.equal(personaFieldOf(PERSONA_FIXTURE_MODERN), 'prefix', 'a prefix-based source is detected')
136
+
137
+ const legacy = applyPersona(PERSONA_FIXTURE_LEGACY, 'ENGINEER')
138
+ assert.equal(legacy.applied, true, 'the legacy persona row is rewritten')
139
+ const legacyConfig = personaConfig(legacy.text)
140
+ assert.equal(legacyConfig.text, '>-', 'the legacy shape keeps `text`, never `prefix`')
141
+ assert.equal(legacyConfig.prefix, undefined, 'no prefix field is introduced for an old harness')
142
+
143
+ const modern = applyPersona(PERSONA_FIXTURE_MODERN, 'ENGINEER')
144
+ const modernConfig = personaConfig(modern.text)
145
+ assert.equal(modernConfig.prefix, '>-', 'the modern shape uses `prefix`')
146
+ assert.equal(modernConfig.text, undefined, 'no text field is introduced for a new harness')
147
+ assert.equal(modernConfig.suffix, 'Your working directory is {{cwd}}.', 'the shipped suffix is carried over')
148
+ })
149
+
150
+ test('the rewritten persona row keeps valid indentation for both shapes', () => {
151
+ // A mis-indented `suffix:` under `config:` silently changes the YAML shape,
152
+ // so assert the exact lines rather than trusting the mapping parse alone.
153
+ const modern = applyPersona(PERSONA_FIXTURE_MODERN, 'ENGINEER').text
154
+ assert.match(modern, /- id: persona\n {2}name: '@deepseek-ai\/dsh-persona'\n {2}config:\n {4}suffix: /u,
155
+ 'suffix sits at four spaces under config')
156
+ assert.match(modern, /\n {4}prefix: [|>]-\n {6}ENGINEER\n/u, 'prefix and its body are indented correctly')
157
+
158
+ const legacy = applyPersona(PERSONA_FIXTURE_LEGACY, 'ENGINEER').text
159
+ assert.match(legacy, /- id: persona\n {2}name: '@deepseek-ai\/dsh-persona'\n {2}config:\n {4}text: [|>]-\n {6}ENGINEER\n/u,
160
+ 'the legacy row is indented correctly')
72
161
  })
package/docs/CHANGELOG.md CHANGED
@@ -4,6 +4,13 @@
4
4
 
5
5
  按版本查阅功能变化。当前使用方式以[项目首页](../README.md)和使用指南为准;历史条目中的实现方式、限制与测试数量可能已被后续版本替代。
6
6
 
7
+ ## 0.23.7
8
+
9
+ - **修复 persona 字段在旧版 DSH 上不兼容**。`@deepseek-ai/dsh-persona` 在提交 `40792330c0`(2026-09-06,首次随 `dsh-v0.1.3-alpha.2` 发布)把配置字段从 `text` 改名为 `prefix`/`suffix`,两个 schema 互斥:写 `prefix` 的预设会被旧版 persona 插件以 `$.text missing required value` 整份拒绝,反之亦然。0.23.6 的派生逻辑**硬编码了 `prefix`**,因此在 `dsh-v0.1.3-alpha.1` 及更早的 harness 上,`eng` 预设挂载失败、新会话无法创建。现在改为**读取源预设自己使用的字段**再照写——`standard` 就是运行中 harness 的格式权威。已用两个版本的真实 `standard` 验证:`v0.1.3-alpha.1` 产出 `text: |-`,`v0.1.6-alpha.2` 产出 `suffix` + `prefix: |-`,两者 YAML 均解析通过。
10
+ - 顺带修复派生时的缩进:`suffix:` 此前被写到错误的层级,使新格式的 persona 段落 YAML 结构改变。新格式下同时保留源预设的 `suffix`(它声明工作目录),旧格式则不引入该字段。
11
+ - peer 范围补上 `|| ^0.1.7-alpha.1`。DSH `0.1.7-alpha.1` 修复了 0.1.6 中导致所有工具调用失败的问题(`ctx.tools[TOOL_RUNTIME_SCHEDULER]` 为 `undefined`,社区在讨论 #7035 / #7194 报告,官方确认修复);peer 范围需要跟着覆盖该版本。
12
+ - `.preset-test.mjs` 增至 9 项:新增两组 persona fixture,分别断言 `text` 与 `prefix` 两种 schema 下的字段选择、`suffix` 保留与缩进正确性。已反向验证:把字段选择改回硬编码 `prefix`,两项断言立即失败。
13
+
7
14
  ## 0.23.6
8
15
 
9
16
  - **修复「工程化开发引擎」预设加载失败**。`seed-preset.ts` 用 `@deepseek-ai/dsh-agent-presets` 导出的 `SHIPPED_PRESET_ROOT` 常量定位源预设,而该常量是 `fileURLToPath(new URL('../presets/', import.meta.url))`——它锁在**插件自己依赖树**里的那份包上,可能和**正在运行的** DSH 不同版本。于是派生出的预设携带运行中 harness 早已替换掉的行:DSH 2026-09-13 把 `workflow-worker-thread` 换成了 `workflow-ptc`,而该包同时退出了 `apps/cli` 的依赖,预设因此报 `row "workflow-worker-thread" names a plugin that cannot be resolved`,整个预设显示「加载失败」,任何新会话都无法启用任务流程。现在改为在**调用时**用 `createRequire` 从插件自身位置解析,跟随宿主的安装图。
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * Seed the `eng` preset into the user's `.agent-presets` root.
3
3
  *
4
- * Installing the bundle must put a pickable "工程化开发引擎" preset in the preset
4
+ * Installing the bundle must put a pickable "工程化开发引�? preset in the preset
5
5
  * picker without anyone hand-copying a composition. The preset is the shipped
6
6
  * `standard` composition with three edits: the persona is replaced by the
7
7
  * engineering persona, `task-engine-agent` is appended, and nothing else changes
8
- * — so a session on it has every tool `standard` has, plus `dev_task`.
8
+ * �?so a session on it has every tool `standard` has, plus `dev_task`.
9
9
  *
10
10
  * The seed DERIVES the composition from the `standard` that is running, and
11
11
  * RE-DERIVES it whenever that source moves. The earlier version copied once and
@@ -35,6 +35,59 @@
35
35
  declare const LEGACY_PERSONA_BLOCK: string;
36
36
  /** The persona fragment the seed itself wrote into `eng`, in the old `text:` form. */
37
37
  declare const SEEDED_PERSONA_MARKER = " text: |-\n";
38
+ /**
39
+ * Which persona config field the RUNNING harness expects.
40
+ *
41
+ * `@deepseek-ai/dsh-persona` renamed `text` to `prefix`/`suffix` in
42
+ * `40792330c0` (2026-09-06, first shipped in `dsh-v0.1.3-alpha.2`). The two
43
+ * schemas are mutually exclusive: a preset written with `prefix` is rejected
44
+ * outright by an older persona plugin with `$.text missing required value`, and
45
+ * `text` is rejected by the newer one. The seed therefore cannot hardcode
46
+ * either name �?it reads which one the source composition already uses, since
47
+ * that composition is what the running harness mounts.
48
+ */
49
+ type PersonaField = 'text' | 'prefix';
50
+ /** The block-scalar styles a persona row may use, kept verbatim from the source. */
51
+ type ScalarStyle = '|-' | '>-' | '|' | '>';
52
+ /**
53
+ * Detect the persona field and its block-scalar style from the source's own
54
+ * persona row.
55
+ *
56
+ * The style is part of the value, not decoration: `>-` folds the single
57
+ * newlines inside the payload back into spaces, while `|-` preserves them. The
58
+ * shipped presets all use `>-`, so writing `|-` would silently change how the
59
+ * persona prose renders.
60
+ * @param composition - the `standard` composition text.
61
+ * @returns the field name and scalar style, defaulting to the older `text`/`>-`.
62
+ */
63
+ declare function personaShapeOf(composition: string): {
64
+ field: PersonaField;
65
+ style: ScalarStyle;
66
+ };
67
+ /**
68
+ * Detect the persona field from the source composition's own persona row.
69
+ * @param composition - the `standard` composition text.
70
+ * @returns the field name, defaulting to `text` for the pre-2026-09-06 shape.
71
+ */
72
+ declare function personaFieldOf(composition: string): PersonaField;
73
+ /**
74
+ * Replace the persona row's config with the engineering persona, keeping the
75
+ * field name the running harness uses.
76
+ *
77
+ * The persona schema has moved (`text:` �?`prefix`/`suffix`), so this rewrites
78
+ * the whole `config:` block of the `persona` row rather than matching one
79
+ * historical phrasing, and writes whichever field
80
+ * {@link personaFieldOf} found in the source. A `suffix:` row is preserved when
81
+ * the source had one, because the newer schema renders it after first-party
82
+ * guidance and dropping it would change the system prompt's shape.
83
+ * @param composition - the `standard` composition text.
84
+ * @param persona - the engineering persona prose.
85
+ * @returns the rewritten text plus whether the row was found.
86
+ */
87
+ declare function applyPersona(composition: string, persona: string): {
88
+ text: string;
89
+ applied: boolean;
90
+ };
38
91
  /**
39
92
  * Whether an existing `eng` composition is one this package previously seeded,
40
93
  * as opposed to something the user has since edited by hand. Only a previously
@@ -48,7 +101,7 @@ declare function wasSeeded(composition: string): boolean;
48
101
  *
49
102
  * Failures are swallowed: a seed that cannot write must not stop the bundle's
50
103
  * host half (its Remote controller and workbench) from loading. A preset that
51
- * was deleted by the user stays deleted — re-derivation only touches a file the
104
+ * was deleted by the user stays deleted �?re-derivation only touches a file the
52
105
  * seed itself created.
53
106
  */
54
107
  export declare function seedEngPreset(): void;
@@ -64,5 +117,10 @@ export declare function derivedEngComposition(): {
64
117
  } | undefined;
65
118
  /** Exported for tests: whether a composition is one this seed owns. */
66
119
  export { wasSeeded };
120
+ /**
121
+ * Exported for tests: apply the persona rewrite to an arbitrary composition, so
122
+ * both persona schema generations can be asserted without swapping harnesses.
123
+ */
124
+ export { applyPersona, personaFieldOf, personaShapeOf };
67
125
  /** Exported for tests: the pre-2026-09-06 persona phrasing this seed must still recognise. */
68
126
  export { LEGACY_PERSONA_BLOCK, SEEDED_PERSONA_MARKER };
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * Seed the `eng` preset into the user's `.agent-presets` root.
3
3
  *
4
- * Installing the bundle must put a pickable "工程化开发引擎" preset in the preset
4
+ * Installing the bundle must put a pickable "工程化开发引�? preset in the preset
5
5
  * picker without anyone hand-copying a composition. The preset is the shipped
6
6
  * `standard` composition with three edits: the persona is replaced by the
7
7
  * engineering persona, `task-engine-agent` is appended, and nothing else changes
8
- * — so a session on it has every tool `standard` has, plus `dev_task`.
8
+ * �?so a session on it has every tool `standard` has, plus `dev_task`.
9
9
  *
10
10
  * The seed DERIVES the composition from the `standard` that is running, and
11
11
  * RE-DERIVES it whenever that source moves. The earlier version copied once and
@@ -57,7 +57,7 @@ function dshHome() {
57
57
  * time from the installed DSH rather than from a build-time constant.
58
58
  *
59
59
  * `@deepseek-ai/dsh-agent-presets` also exports `SHIPPED_PRESET_ROOT`, but that
60
- * is `fileURLToPath(new URL('../presets/', import.meta.url))` — a constant baked
60
+ * is `fileURLToPath(new URL('../presets/', import.meta.url))` �?a constant baked
61
61
  * into whichever copy of the package the *plugin* resolves. Under a real install
62
62
  * that is the plugin's own dependency tree, which can sit at a different DSH
63
63
  * version than the one running: the seed then copies an obsolete `standard`,
@@ -88,12 +88,50 @@ function personaBody() {
88
88
  return readFileSync(fileURLToPath(new URL('../preset/persona.md', import.meta.url)), 'utf8').trimEnd();
89
89
  }
90
90
  /**
91
- * Replace the persona row's config with the engineering persona.
91
+ * Detect the persona field and its block-scalar style from the source's own
92
+ * persona row.
92
93
  *
93
- * The persona plugin's schema has moved twice (`text:` → `prefix`/`suffix`), so
94
- * this rewrites the whole `config:` block of the `persona` row rather than
95
- * matching one historical phrasing. A shape this does not recognise is left
96
- * untouched and reported, never guessed at.
94
+ * The style is part of the value, not decoration: `>-` folds the single
95
+ * newlines inside the payload back into spaces, while `|-` preserves them. The
96
+ * shipped presets all use `>-`, so writing `|-` would silently change how the
97
+ * persona prose renders.
98
+ * @param composition - the `standard` composition text.
99
+ * @returns the field name and scalar style, defaulting to the older `text`/`>-`.
100
+ */
101
+ function personaShapeOf(composition) {
102
+ const lines = composition.split('\n');
103
+ const start = lines.findIndex(line => line.trimEnd() === '- id: persona');
104
+ if (start < 0)
105
+ return { field: 'text', style: '>-' };
106
+ let end = start + 1;
107
+ while (end < lines.length && !/^- /u.test(lines[end] ?? ''))
108
+ end++;
109
+ for (const line of lines.slice(start, end)) {
110
+ const match = /^\s+(text|prefix):\s*([|>][-+]?)\s*$/u.exec(line);
111
+ if (match === null)
112
+ continue;
113
+ return { field: match[1], style: (match[2] ?? '>-') };
114
+ }
115
+ return { field: 'text', style: '>-' };
116
+ }
117
+ /**
118
+ * Detect the persona field from the source composition's own persona row.
119
+ * @param composition - the `standard` composition text.
120
+ * @returns the field name, defaulting to `text` for the pre-2026-09-06 shape.
121
+ */
122
+ function personaFieldOf(composition) {
123
+ return personaShapeOf(composition).field;
124
+ }
125
+ /**
126
+ * Replace the persona row's config with the engineering persona, keeping the
127
+ * field name the running harness uses.
128
+ *
129
+ * The persona schema has moved (`text:` �?`prefix`/`suffix`), so this rewrites
130
+ * the whole `config:` block of the `persona` row rather than matching one
131
+ * historical phrasing, and writes whichever field
132
+ * {@link personaFieldOf} found in the source. A `suffix:` row is preserved when
133
+ * the source had one, because the newer schema renders it after first-party
134
+ * guidance and dropping it would change the system prompt's shape.
97
135
  * @param composition - the `standard` composition text.
98
136
  * @param persona - the engineering persona prose.
99
137
  * @returns the rewritten text plus whether the row was found.
@@ -109,15 +147,22 @@ function applyPersona(composition, persona) {
109
147
  end++;
110
148
  // Keep the row's identity lines (`- id`, ` name:`); drop only its config.
111
149
  const header = lines.slice(start, end).filter(line => !/^\s{2,}config:/u.test(line) && !/^\s{4,}\S/u.test(line));
150
+ const { field, style } = personaShapeOf(composition);
151
+ // The shipped suffix names the working directory; carry it over verbatim.
152
+ const suffixLine = lines.slice(start, end).find(line => /^\s+suffix:/u.test(line));
112
153
  const indented = persona.split('\n').map(line => (line === '' ? '' : ` ${line}`));
113
- // `complete` is deliberately NOT set: it would make this prefix the entire
154
+ // `complete` is deliberately NOT set: it would make this prose the entire
114
155
  // system prompt, suppressing the suffix and every other section.
115
- const body = [
116
- ...header.filter(line => line !== ''),
156
+ const config = [
117
157
  ' config:',
118
- ' prefix: |-',
158
+ // Carry the shipped suffix verbatim under `config:`, keeping its own
159
+ // indentation: it names the working directory and the newer persona schema
160
+ // renders it after first-party guidance.
161
+ ...(field === 'prefix' && suffixLine !== undefined ? [` ${suffixLine.trim()}`] : []),
162
+ ` ${field}: ${style}`,
119
163
  ...indented,
120
164
  ];
165
+ const body = [...header.filter(line => line !== ''), ...config];
121
166
  return { text: [...lines.slice(0, start), ...body, ...lines.slice(end)].join('\n'), applied: true };
122
167
  }
123
168
  /** Append the agent row when the composition does not already name it. */
@@ -159,7 +204,7 @@ function deriveComposition() {
159
204
  *
160
205
  * Failures are swallowed: a seed that cannot write must not stop the bundle's
161
206
  * host half (its Remote controller and workbench) from loading. A preset that
162
- * was deleted by the user stays deleted — re-derivation only touches a file the
207
+ * was deleted by the user stays deleted �?re-derivation only touches a file the
163
208
  * seed itself created.
164
209
  */
165
210
  export function seedEngPreset() {
@@ -203,6 +248,11 @@ export function derivedEngComposition() {
203
248
  }
204
249
  /** Exported for tests: whether a composition is one this seed owns. */
205
250
  export { wasSeeded };
251
+ /**
252
+ * Exported for tests: apply the persona rewrite to an arbitrary composition, so
253
+ * both persona schema generations can be asserted without swapping harnesses.
254
+ */
255
+ export { applyPersona, personaFieldOf, personaShapeOf };
206
256
  /** Exported for tests: the pre-2026-09-06 persona phrasing this seed must still recognise. */
207
257
  export { LEGACY_PERSONA_BLOCK, SEEDED_PERSONA_MARKER };
208
258
  //# sourceMappingURL=seed-preset.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"seed-preset.js","sourceRoot":"","sources":["../src/seed-preset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seed-preset.js","sourceRoot":"","sources":["../src/seed-preset.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@godv61/dsh-task-engine",
3
- "version": "0.23.6",
3
+ "version": "0.23.7",
4
4
  "description": "Preset-workflow engineering delivery engine for DeepSeek Harness: a `dev_task` tool that hard-gates stage transitions and commit scope/message, per-node skill/rule bindings with progressive disclosure, a workbench to pick a flow preset and mount skills/rules, and preset-scoped activation — the tool and skills activate only for sessions on a preset that names the agent row.",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
@@ -68,10 +68,10 @@
68
68
  },
69
69
  "peerDependencies": {
70
70
  "@deepseek-ai/cordis": "^4.0.2",
71
- "@deepseek-ai/dsh-agent-presets": "^0.1.2-rc.1 || ^0.1.3-alpha.1 || ^0.1.6-alpha.2",
72
- "@deepseek-ai/dsh-llm": "^0.1.2-rc.1 || ^0.1.3-alpha.1 || ^0.1.6-alpha.2",
73
- "@deepseek-ai/dsh-tools": "^0.1.2-rc.1 || ^0.1.3-alpha.1 || ^0.1.6-alpha.2",
74
- "@deepseek-ai/dsh-typert-protocol": "^0.1.2-rc.1 || ^0.1.3-alpha.1 || ^0.1.6-alpha.2"
71
+ "@deepseek-ai/dsh-agent-presets": "^0.1.2-rc.1 || ^0.1.3-alpha.1 || ^0.1.6-alpha.2 || ^0.1.7-alpha.1",
72
+ "@deepseek-ai/dsh-llm": "^0.1.2-rc.1 || ^0.1.3-alpha.1 || ^0.1.6-alpha.2 || ^0.1.7-alpha.1",
73
+ "@deepseek-ai/dsh-tools": "^0.1.2-rc.1 || ^0.1.3-alpha.1 || ^0.1.6-alpha.2 || ^0.1.7-alpha.1",
74
+ "@deepseek-ai/dsh-typert-protocol": "^0.1.2-rc.1 || ^0.1.3-alpha.1 || ^0.1.6-alpha.2 || ^0.1.7-alpha.1"
75
75
  },
76
76
  "devDependencies": {
77
77
  "@deepseek-ai/cordis": "^4.0.2",