@dsh-cc/claude-code-agents 0.7.1 → 0.8.0-rc.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.i18n.yaml CHANGED
@@ -2,5 +2,5 @@
2
2
  # side as of the last confirmed-consistent state. Both languages carry equal authority;
3
3
  # after editing either side, bring the other along and re-record with:
4
4
  # pnpm check:readme --write
5
- README.md: 2a62a29974d04b83a31ee222f5a5d9846870815e
6
- README.zh.md: 9531863c402396471837f21c2c09a6d779fbfffa
5
+ README.md: bd41b0e2593ae14123fb49819ad79cc379f9b59b
6
+ README.zh.md: 06fb517a4268f940b1d6a66cf030a3d837824db2
package/README.md CHANGED
@@ -20,6 +20,8 @@ Load Claude Code's `.claude/agents/*.md` and `*.json` sub-agent definitions as d
20
20
  - `discoverAgents(projectRoot, userDir?): Promise<AgentDefinition[]>` The layer merge without the home-dir default.
21
21
  - `loadAgentsDir(dir, source): Promise<AgentDefinition[]>` and `findProjectAgentsDir(start): Promise<string | undefined>` The per-directory scan and the upward walk.
22
22
  - `resolveToolRestriction(tools, disallowedTools): ToolRestriction | undefined` and `normalizeModel(model): string | undefined` The pure restriction-merge and model-normalization helpers, exported for reuse and for testing.
23
+ - `applyActorContract(persona, candidates, patterns): string` Apply the `<!-- actor-contract:start -->`/`end` marker gate to a persona: the marker lines are always removed, and the block between them is kept iff some candidate model id matches some pattern — otherwise the content is excised too, with the surrounding text collapsed cleanly. Input with no markers is returned byte-identical.
24
+ - `matchesModelPattern(value, pattern): boolean` and `matchesAnyModelPattern(values, patterns): boolean` The case-insensitive whole-string model matcher behind the gate: `*` is the only wildcard, every other regex metachar in the pattern is literal.
23
25
 
24
26
  `AgentDefinition` carries `agentType` (the file basename), `whenToUse`, `systemPrompt`, `source` (`user` | `project` | `bundled`), `baseDir`, `filename`, and the translated optional fields. The `toolRestriction` value is structurally identical to [`dsh-tools`](../../core/tools/README.md)'s `ToolRestriction`, so a consumer can hand it to a scoped `ctx.tools.restrict()` unchanged.
25
27
 
package/README.zh.md CHANGED
@@ -20,6 +20,8 @@
20
20
  - `discoverAgents(projectRoot, userDir?): Promise<AgentDefinition[]>` 不含 home 目录默认值的层合并。
21
21
  - `loadAgentsDir(dir, source): Promise<AgentDefinition[]>` 与 `findProjectAgentsDir(start): Promise<string | undefined>` 按目录扫描与向上遍历。
22
22
  - `resolveToolRestriction(tools, disallowedTools): ToolRestriction | undefined` 与 `normalizeModel(model): string | undefined` 纯约束合并与模型归一化辅助函数,导出以供复用与测试。
23
+ - `applyActorContract(persona, candidates, patterns): string` 对 persona 应用 `<!-- actor-contract:start -->`/`end` 标记门控:标记行总是被移除,两标记之间的内容仅当某个候选模型 id 匹配某个 pattern 时保留——否则内容一并剔除,且周边文本被干净地折叠。无标记的输入原样返回(逐字节相同)。
24
+ - `matchesModelPattern(value, pattern): boolean` 与 `matchesAnyModelPattern(values, patterns): boolean` 门控背后的模型匹配器:大小写不敏感、整串匹配,`*` 是唯一通配符,pattern 中其余正则元字符均按字面处理。
23
25
 
24
26
  `AgentDefinition` 携带 `agentType`(文件 basename)、`whenToUse`、`systemPrompt`、`source`(`user` | `project` | `bundled`)、`baseDir`、`filename`,以及翻译后的可选字段。`toolRestriction` 值在结构上与 [`dsh-tools`](../../core/tools/README.md) 的 `ToolRestriction` 完全一致,因此消费方可以原样将其交给有作用域的 `ctx.tools.restrict()`。
25
27
 
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Actor-contract marker helpers: the `<!-- actor-contract:start -->` /
3
+ * `<!-- actor-contract:end -->` pair that wraps a model-gated contract block
4
+ * in an agent definition's persona, plus the model-pattern matcher that
5
+ * decides whether the block stays in the final prompt.
6
+ *
7
+ * The helpers are pure string code — no dependencies — and never mutate a
8
+ * persona that carries no markers. Stripping happens at the spawn seams (the
9
+ * seams own the gate configuration); parse.ts only validates pairing.
10
+ *
11
+ * @module @dsh-cc/claude-code-agents/actor-contract
12
+ */
13
+ /**
14
+ * DISPATCH-TIME default: the gate ships on for the GLM family (the evidence
15
+ * base). An explicit user `[]` means off everywhere; `['*']` restores the
16
+ * uniform-contract behavior. Kept here (not in a cordis-facing package) so
17
+ * every seam consumer — Task, resume-pins re-fingerprinting, plugin loader —
18
+ * shares one source of truth for the candidates rule.
19
+ */
20
+ export declare const DEFAULT_ACTOR_CONTRACT_MODELS: readonly string[];
21
+ /**
22
+ * The spawn-time candidate model ids for the gate: the resolved route model id
23
+ * leads, the raw frontmatter token joins when it differs, and an inherit
24
+ * (undefined) model yields NO candidates — the gate is fail-closed on inherit
25
+ * (§3.1's documented off path), even if a route resolves for `undefined`.
26
+ * @param model - the definition's raw frontmatter `model:` token.
27
+ * @param resolved - the route's resolved concrete model, when available.
28
+ * @returns the candidate list to hand to {@link applyActorContract}.
29
+ */
30
+ export declare function gateCandidates(model: string | undefined, resolved: {
31
+ readonly model?: string | undefined;
32
+ } | undefined): string[];
33
+ /**
34
+ * Match one value against one model pattern: case-insensitive whole-string
35
+ * match where `*` is the only wildcard (zero or more of any character) and
36
+ * every other regex metachar in the pattern is literal.
37
+ * @param value - the concrete model id (or raw token) being tested.
38
+ * @param pattern - the gate pattern, e.g. `glm-*`.
39
+ * @returns whether the whole value matches the whole pattern.
40
+ */
41
+ export declare function matchesModelPattern(value: string, pattern: string): boolean;
42
+ /**
43
+ * Whether any value matches any pattern. The gate opens iff this is true.
44
+ * @param values - the candidate model ids (resolved id plus raw token).
45
+ * @param patterns - the configured gate patterns.
46
+ * @returns whether any candidate matches any pattern.
47
+ */
48
+ export declare function matchesAnyModelPattern(values: readonly string[], patterns: readonly string[]): boolean;
49
+ /**
50
+ * Apply the actor-contract gate to a persona: every complete marker pair has
51
+ * its marker lines removed (they are an authoring convention, never prompt
52
+ * content), and the block between them is kept iff some candidate matches
53
+ * some pattern — otherwise the content is excised too, collapsing cleanly so
54
+ * no run of 3+ newlines is left behind. Input with no markers is returned
55
+ * byte-identical, so ungated personas are untouched.
56
+ *
57
+ * Markers are recognized only as whole lines (leading/trailing whitespace on
58
+ * the line is allowed); an inline occurrence inside other text is literal
59
+ * text. An `end` without a prior `start` is likewise literal text — pairing
60
+ * is validated loudly at parse time, so this function only sees well-formed
61
+ * input in practice. For robustness a dangling `start` treats its content as
62
+ * running to end-of-string and is stripped by the same keep/remove rule.
63
+ * @param persona - the agent definition's system prompt.
64
+ * @param candidates - the model ids to test (resolved route id plus raw token).
65
+ * @param patterns - the configured gate patterns; empty means always strip.
66
+ * @returns the persona with markers removed and gated blocks kept or excised.
67
+ */
68
+ export declare function applyActorContract(persona: string, candidates: readonly string[], patterns: readonly string[]): string;
69
+ /**
70
+ * Parse-time pairing validation for the actor-contract markers on a persona.
71
+ * Only whole-line markers count, exactly as {@link applyActorContract}
72
+ * recognizes them: a `start` with no later `end`, an `end` with no prior
73
+ * `start`, or a second `start` while one is pending throws a descriptive
74
+ * error naming the file and the marker kind — silent prompt corruption is
75
+ * worse than a loud load failure. Nothing is stripped here; that is the
76
+ * spawn seams' job.
77
+ * @param filePath - origin path for the error message.
78
+ * @param persona - the final persona string the agent will carry.
79
+ * @throws when the marker pairing is malformed.
80
+ */
81
+ export declare function validateMarkerPairing(filePath: string, persona: string): void;
82
+ //# sourceMappingURL=actor-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actor-contract.d.ts","sourceRoot":"","sources":["../src/actor-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,EAAE,SAAS,MAAM,EAAc,CAAA;AAEzE;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,QAAQ,EAAE;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAAG,SAAS,GAC5D,MAAM,EAAE,CAIV;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAG3E;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAEtG;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAMtH;AAuDD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAkB7E"}
@@ -0,0 +1,180 @@
1
+ /**
2
+ * Actor-contract marker helpers: the `<!-- actor-contract:start -->` /
3
+ * `<!-- actor-contract:end -->` pair that wraps a model-gated contract block
4
+ * in an agent definition's persona, plus the model-pattern matcher that
5
+ * decides whether the block stays in the final prompt.
6
+ *
7
+ * The helpers are pure string code — no dependencies — and never mutate a
8
+ * persona that carries no markers. Stripping happens at the spawn seams (the
9
+ * seams own the gate configuration); parse.ts only validates pairing.
10
+ *
11
+ * @module @dsh-cc/claude-code-agents/actor-contract
12
+ */
13
+ const START = '<!-- actor-contract:start -->';
14
+ const END = '<!-- actor-contract:end -->';
15
+ /**
16
+ * DISPATCH-TIME default: the gate ships on for the GLM family (the evidence
17
+ * base). An explicit user `[]` means off everywhere; `['*']` restores the
18
+ * uniform-contract behavior. Kept here (not in a cordis-facing package) so
19
+ * every seam consumer — Task, resume-pins re-fingerprinting, plugin loader —
20
+ * shares one source of truth for the candidates rule.
21
+ */
22
+ export const DEFAULT_ACTOR_CONTRACT_MODELS = ['glm-*'];
23
+ /**
24
+ * The spawn-time candidate model ids for the gate: the resolved route model id
25
+ * leads, the raw frontmatter token joins when it differs, and an inherit
26
+ * (undefined) model yields NO candidates — the gate is fail-closed on inherit
27
+ * (§3.1's documented off path), even if a route resolves for `undefined`.
28
+ * @param model - the definition's raw frontmatter `model:` token.
29
+ * @param resolved - the route's resolved concrete model, when available.
30
+ * @returns the candidate list to hand to {@link applyActorContract}.
31
+ */
32
+ export function gateCandidates(model, resolved) {
33
+ if (model === undefined || model.trim().length === 0)
34
+ return [];
35
+ if (resolved?.model === undefined || resolved.model === model)
36
+ return [model];
37
+ return [resolved.model, model];
38
+ }
39
+ /**
40
+ * Match one value against one model pattern: case-insensitive whole-string
41
+ * match where `*` is the only wildcard (zero or more of any character) and
42
+ * every other regex metachar in the pattern is literal.
43
+ * @param value - the concrete model id (or raw token) being tested.
44
+ * @param pattern - the gate pattern, e.g. `glm-*`.
45
+ * @returns whether the whole value matches the whole pattern.
46
+ */
47
+ export function matchesModelPattern(value, pattern) {
48
+ const escaped = pattern.replace(/[.*+?^${}()|[\]\\]/g, (ch) => (ch === '*' ? '[\\s\\S]*' : `\\${ch}`));
49
+ return new RegExp(`^${escaped}$`, 'i').test(value);
50
+ }
51
+ /**
52
+ * Whether any value matches any pattern. The gate opens iff this is true.
53
+ * @param values - the candidate model ids (resolved id plus raw token).
54
+ * @param patterns - the configured gate patterns.
55
+ * @returns whether any candidate matches any pattern.
56
+ */
57
+ export function matchesAnyModelPattern(values, patterns) {
58
+ return values.some((value) => patterns.some((pattern) => matchesModelPattern(value, pattern)));
59
+ }
60
+ /**
61
+ * Apply the actor-contract gate to a persona: every complete marker pair has
62
+ * its marker lines removed (they are an authoring convention, never prompt
63
+ * content), and the block between them is kept iff some candidate matches
64
+ * some pattern — otherwise the content is excised too, collapsing cleanly so
65
+ * no run of 3+ newlines is left behind. Input with no markers is returned
66
+ * byte-identical, so ungated personas are untouched.
67
+ *
68
+ * Markers are recognized only as whole lines (leading/trailing whitespace on
69
+ * the line is allowed); an inline occurrence inside other text is literal
70
+ * text. An `end` without a prior `start` is likewise literal text — pairing
71
+ * is validated loudly at parse time, so this function only sees well-formed
72
+ * input in practice. For robustness a dangling `start` treats its content as
73
+ * running to end-of-string and is stripped by the same keep/remove rule.
74
+ * @param persona - the agent definition's system prompt.
75
+ * @param candidates - the model ids to test (resolved route id plus raw token).
76
+ * @param patterns - the configured gate patterns; empty means always strip.
77
+ * @returns the persona with markers removed and gated blocks kept or excised.
78
+ */
79
+ export function applyActorContract(persona, candidates, patterns) {
80
+ if (!persona.includes(START) && !persona.includes(END))
81
+ return persona;
82
+ const keep = matchesAnyModelPattern(candidates, patterns);
83
+ const { text, removed } = extract(persona, keep);
84
+ if (!removed)
85
+ return persona;
86
+ return tidy(text, keep);
87
+ }
88
+ /**
89
+ * Remove whole-line markers (and gated content when `keep` is false). A
90
+ * removed line takes its trailing newline with it, so the surrounding text
91
+ * keeps the separation the markers stood in; a dangling `start` strips its
92
+ * content to end-of-string by the same rule.
93
+ */
94
+ /**
95
+ * Remove whole-line markers (and gated content when `keep` is false). A
96
+ * removed line takes its trailing newline with it, so the surrounding text
97
+ * keeps the separation the markers stood in; a marker on the final line (no
98
+ * trailing newline) takes the preceding newline instead, so removal never
99
+ * grows a dangling one. A dangling `start` strips its content to
100
+ * end-of-string by the same rule.
101
+ */
102
+ function extract(persona, keep) {
103
+ const lines = persona.split('\n');
104
+ const cuts = [];
105
+ let open = false;
106
+ let removed = false;
107
+ let pos = 0;
108
+ lines.forEach((line, i) => {
109
+ const start = pos;
110
+ const end = start + line.length;
111
+ pos = end + 1;
112
+ const trimmed = line.trim();
113
+ const isStart = trimmed === START;
114
+ const isEnd = open && trimmed === END;
115
+ if (isStart)
116
+ open = true;
117
+ else if (isEnd)
118
+ open = false;
119
+ else if (!(open && !keep))
120
+ return;
121
+ removed = true;
122
+ if (i < lines.length - 1)
123
+ cuts.push([start, end + 1]);
124
+ else if (isStart || isEnd)
125
+ cuts.push([start > 0 ? start - 1 : start, end]);
126
+ else
127
+ cuts.push([start, end]);
128
+ });
129
+ if (!removed)
130
+ return { text: persona, removed: false };
131
+ let text = '';
132
+ let cursor = 0;
133
+ for (const [from, to] of cuts) {
134
+ text += persona.slice(cursor, from);
135
+ cursor = to;
136
+ }
137
+ return { text: text + persona.slice(cursor), removed: true };
138
+ }
139
+ /** Collapse blank-line runs, and clean the edges an excision leaves behind. */
140
+ function tidy(text, keep) {
141
+ const collapsed = text.replace(/\n{3,}/g, '\n\n');
142
+ if (keep)
143
+ return collapsed;
144
+ const trimmed = collapsed.replace(/^([ \t]*\n)+/, '');
145
+ return trimmed.replace(/\n[ \t\n]*$/, (tail) => (tail.includes('\n') ? '\n' : tail));
146
+ }
147
+ /**
148
+ * Parse-time pairing validation for the actor-contract markers on a persona.
149
+ * Only whole-line markers count, exactly as {@link applyActorContract}
150
+ * recognizes them: a `start` with no later `end`, an `end` with no prior
151
+ * `start`, or a second `start` while one is pending throws a descriptive
152
+ * error naming the file and the marker kind — silent prompt corruption is
153
+ * worse than a loud load failure. Nothing is stripped here; that is the
154
+ * spawn seams' job.
155
+ * @param filePath - origin path for the error message.
156
+ * @param persona - the final persona string the agent will carry.
157
+ * @throws when the marker pairing is malformed.
158
+ */
159
+ export function validateMarkerPairing(filePath, persona) {
160
+ let open = false;
161
+ for (const line of persona.split('\n')) {
162
+ const trimmed = line.trim();
163
+ if (trimmed === START) {
164
+ if (open) {
165
+ throw new Error(`${filePath}: nested "${START}" — the previous actor-contract block was never closed with an end marker`);
166
+ }
167
+ open = true;
168
+ }
169
+ else if (open && trimmed === END) {
170
+ open = false;
171
+ }
172
+ else if (!open && trimmed === END) {
173
+ throw new Error(`${filePath}: orphan "${END}" with no earlier start marker`);
174
+ }
175
+ }
176
+ if (open) {
177
+ throw new Error(`${filePath}: unterminated "${START}" — no later end marker`);
178
+ }
179
+ }
180
+ //# sourceMappingURL=actor-contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actor-contract.js","sourceRoot":"","sources":["../src/actor-contract.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -42,4 +42,5 @@ export { loadAgentsDir, findProjectAgentsDir, discoverAgents, AGENTS_DIR, CLAUDE
42
42
  export { parseAgentMarkdown, parseAgentJson, splitFrontmatter } from './parse.ts';
43
43
  export type { ParsedMarkdown } from './parse.ts';
44
44
  export { resolveToolRestriction, normalizeModel } from './restrict.ts';
45
+ export { applyActorContract, matchesModelPattern, matchesAnyModelPattern, gateCandidates, DEFAULT_ACTOR_CONTRACT_MODELS } from './actor-contract.ts';
45
46
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD,6EAA6E;AAC7E,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,eAAe,EAAE,CAAC,CAG5B;AAED,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC5G,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACjF,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD,6EAA6E;AAC7E,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,eAAe,EAAE,CAAC,CAG5B;AAED,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC5G,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACjF,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACtE,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,cAAc,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAA"}
package/lib/index.js CHANGED
@@ -37,4 +37,5 @@ export { discoverBundledAgents } from "./bundled/index.js";
37
37
  export { loadAgentsDir, findProjectAgentsDir, discoverAgents, AGENTS_DIR, CLAUDE_DIR } from "./discovery.js";
38
38
  export { parseAgentMarkdown, parseAgentJson, splitFrontmatter } from "./parse.js";
39
39
  export { resolveToolRestriction, normalizeModel } from "./restrict.js";
40
+ export { applyActorContract, matchesModelPattern, matchesAnyModelPattern, gateCandidates, DEFAULT_ACTOR_CONTRACT_MODELS } from "./actor-contract.js";
40
41
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAa/C;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAAY,EACZ,UAAuB,EAAE;IAEzB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;IACvE,OAAO,MAAM,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AAC5C,CAAC;AAED,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC5G,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAEjF,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAa/C;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAAY,EACZ,UAAuB,EAAE;IAEzB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;IACvE,OAAO,MAAM,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AAC5C,CAAC;AAED,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC5G,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAEjF,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACtE,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,cAAc,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAWH,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EAEZ,MAAM,YAAY,CAAA;AAEnB,0DAA0D;AAC1D,MAAM,WAAW,cAAc;IAC7B,sEAAsE;IACtE,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IACvD,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAiB7D;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,eAAe,CAIvG;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,eAAe,CAcnG"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAYH,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EAEZ,MAAM,YAAY,CAAA;AAEnB,0DAA0D;AAC1D,MAAM,WAAW,cAAc;IAC7B,sEAAsE;IACtE,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IACvD,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAiB7D;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,eAAe,CAIvG;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,eAAe,CAcnG"}
package/lib/parse.js CHANGED
@@ -12,6 +12,7 @@
12
12
  */
13
13
  import { load as loadYaml } from 'js-yaml';
14
14
  import { basename, dirname, extname } from 'node:path';
15
+ import { validateMarkerPairing } from "./actor-contract.js";
15
16
  import { normalizeModel, resolveToolRestriction } from "./restrict.js";
16
17
  import { EFFORT_LEVELS, ISOLATION_MODES, MEMORY_SCOPES, PERMISSION_MODES, } from "./types.js";
17
18
  /**
@@ -116,6 +117,7 @@ function buildAgent(filePath, agentType, frontmatter, promptDefault, source, pro
116
117
  const initialPrompt = optionalString(filePath, 'initialPrompt', frontmatter['initialPrompt']);
117
118
  const background = optionalBoolean(filePath, 'background', frontmatter['background']);
118
119
  const systemPrompt = prompt ?? promptDefault;
120
+ validateMarkerPairing(filePath, systemPrompt);
119
121
  const definition = {
120
122
  agentType,
121
123
  whenToUse,
package/lib/parse.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dsh-cc/claude-code-agents",
3
3
  "description": "Load Claude Code `.claude/agents` definitions as agent presets for the DeepSeek Harness",
4
- "version": "0.7.1",
4
+ "version": "0.8.0-rc.1",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "git+https://github.com/dsh-cc/dsh-cc.git",
@@ -45,12 +45,12 @@
45
45
  "peerDependencies": {
46
46
  "@deepseek-ai/cordis": ">=0.1.5-rc.1",
47
47
  "@deepseek-ai/dsh-invariants": ">=0.1.5-rc.1",
48
- "@dsh-cc/tools": "^0.7.1"
48
+ "@dsh-cc/tools": "^0.8.0-rc.1"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@deepseek-ai/cordis": "link:../../../../deepseek-harness/vendor/cordis",
52
52
  "@deepseek-ai/dsh-invariants": "link:../../../../deepseek-harness/packages/runtime-diagnostics/invariants",
53
- "@dsh-cc/tools": "^0.7.1"
53
+ "@dsh-cc/tools": "^0.8.0-rc.1"
54
54
  },
55
55
  "publishConfig": {
56
56
  "access": "public"