@dsh-cc/plugin-loader 0.8.0-rc.2 → 0.8.1-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/lib/index.d.ts +4 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -2
- package/lib/index.js.map +1 -1
- package/lib/rules.d.ts +10 -1
- package/lib/rules.d.ts.map +1 -1
- package/lib/rules.js +59 -3
- package/lib/rules.js.map +1 -1
- package/lib/types.d.ts +14 -0
- package/lib/types.d.ts.map +1 -1
- package/package.json +15 -15
package/lib/index.d.ts
CHANGED
|
@@ -27,14 +27,15 @@ export { ACTOR_CONTRACT_NAMESPACE, DEFAULT_ACTOR_CONTRACT_MODELS, actorContractS
|
|
|
27
27
|
export type { ActorContractSettings } from './actor-contract-gate.ts';
|
|
28
28
|
export type { CcPluginManifest, CcCommand, CcSkillRef, CcAgentRef, CcMcpServer, ComponentKind, ComponentResult, PluginLoadReport, PluginFlavor } from './types.ts';
|
|
29
29
|
export type { CcPluginCommandInfo, MountedPluginCommand } from './commands.ts';
|
|
30
|
-
export { parsePluginManifest } from './manifest.ts';
|
|
30
|
+
export { parsePluginManifest, globPathKind } from './manifest.ts';
|
|
31
31
|
export { discoverCcPluginRoots, resolveClaudeHome, NESTED_MANIFEST, CURSOR_MANIFEST, TOP_LEVEL_MANIFEST, MANIFEST_CANDIDATE_DIRS, MARKETPLACE_CANDIDATE_FILES, findPluginManifestPath, findPluginManifestPaths, findMarketplaceManifestPath, } from './discovery.ts';
|
|
32
32
|
export type { DiscoveredCcPlugin, DiscoverCcPluginRootsOptions } from './discovery.ts';
|
|
33
33
|
export { AgentProvider, STANDARD_AGENTS_DIR, PLUGIN_AGENT_PROVIDER_BRAND, isPluginAgentProvider } from './agents.ts';
|
|
34
34
|
export type { ResolveModel } from './agents.ts';
|
|
35
35
|
export type { McpSeam, HooksSeam, RulesSeam } from './seams.ts';
|
|
36
|
-
export
|
|
37
|
-
export {
|
|
36
|
+
export { ComponentTally } from './seams.ts';
|
|
37
|
+
export type { RuleEntry, TurnRuleChannel } from './types.ts';
|
|
38
|
+
export { mountRules, parseRuleFile } from './rules.ts';
|
|
38
39
|
export { skillToolRestriction, resolveSkillExecution, forbidsInlineShell, activationFor, registerSkillPathActivator, applySkillRestriction, PROVIDER, type AgentScope, type SkillExecution, type SkillActivation, } from './skill-semantics.ts';
|
|
39
40
|
/** The plugin.json file name at a plugin root (legacy / fixture path). */
|
|
40
41
|
export declare const MANIFEST_FILE = "plugin.json";
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,KAAK,EAAmB,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,EAAe,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAA;AAChF,OAAO,EAAiB,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAExE,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,YAAY,CAAA;AAIvD,OAAO,EAA0B,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AACzF,OAAO,EACL,wBAAwB,EACxB,6BAA6B,EAC7B,2BAA2B,EAC3B,cAAc,EACd,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,0BAA0B,CAAA;AACjC,YAAY,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAErE,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAClK,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,KAAK,EAAmB,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,EAAe,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAA;AAChF,OAAO,EAAiB,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAExE,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,YAAY,CAAA;AAIvD,OAAO,EAA0B,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AACzF,OAAO,EACL,wBAAwB,EACxB,6BAA6B,EAC7B,2BAA2B,EAC3B,cAAc,EACd,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,0BAA0B,CAAA;AACjC,YAAY,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAErE,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAClK,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAC9E,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACjE,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,2BAA2B,EAC3B,sBAAsB,EACtB,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,gBAAgB,CAAA;AACvB,YAAY,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAA;AACtF,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACpH,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AACtD,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EACb,0BAA0B,EAC1B,qBAAqB,EACrB,QAAQ,EACR,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,sBAAsB,CAAA;AAE7B,0EAA0E;AAC1E,eAAO,MAAM,aAAa,gBAAgB,CAAA;AAE1C,kDAAkD;AAClD,MAAM,WAAW,YAAY;IAC3B,2BAA2B;IAC3B,MAAM,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IAC/B,8BAA8B;IAC9B,SAAS,CAAC,EAAE,aAAa,GAAG,SAAS,CAAA;IACrC,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,YAAY,GAAG,SAAS,CAAA;IACnC,qBAAqB;IACrB,QAAQ,CAAC,EAAE,YAAY,GAAG,SAAS,CAAA;IACnC,8DAA8D;IAC9D,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;IAC7B,6DAA6D;IAC7D,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;IAC7B,4DAA4D;IAC5D,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC1B;AAED,mDAAmD;AACnD,MAAM,WAAW,oBAAoB;IACnC,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAA;IAC7B,4EAA4E;IAC5E,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAA;CACrC;AAED,kFAAkF;AAClF,MAAM,WAAW,aAAa;IAC5B,kCAAkC;IAClC,MAAM,EAAE,gBAAgB,CAAA;IACxB,8EAA8E;IAC9E,QAAQ,EAAE,oBAAoB,EAAE,CAAA;IAChC;;;OAGG;IACH;;;;OAIG;IACH,IAAI,EAAE,iBAAiB,CAAA;IACvB,OAAO,IAAI,IAAI,CAAA;CAChB;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC,CAqEvG"}
|
package/lib/index.js
CHANGED
|
@@ -24,10 +24,11 @@ import { mountSettings } from "./settings.js";
|
|
|
24
24
|
import { resolvePluginManifest } from "./resolve-manifest.js";
|
|
25
25
|
import { mountActorContractGate } from "./actor-contract-gate.js";
|
|
26
26
|
export { ACTOR_CONTRACT_NAMESPACE, DEFAULT_ACTOR_CONTRACT_MODELS, actorContractSettingsSchema, gateCandidates, mountActorContractGate, ActorContractGate, } from "./actor-contract-gate.js";
|
|
27
|
-
export { parsePluginManifest } from "./manifest.js";
|
|
27
|
+
export { parsePluginManifest, globPathKind } from "./manifest.js";
|
|
28
28
|
export { discoverCcPluginRoots, resolveClaudeHome, NESTED_MANIFEST, CURSOR_MANIFEST, TOP_LEVEL_MANIFEST, MANIFEST_CANDIDATE_DIRS, MARKETPLACE_CANDIDATE_FILES, findPluginManifestPath, findPluginManifestPaths, findMarketplaceManifestPath, } from "./discovery.js";
|
|
29
29
|
export { AgentProvider, STANDARD_AGENTS_DIR, PLUGIN_AGENT_PROVIDER_BRAND, isPluginAgentProvider } from "./agents.js";
|
|
30
|
-
export {
|
|
30
|
+
export { ComponentTally } from "./seams.js";
|
|
31
|
+
export { mountRules, parseRuleFile } from "./rules.js";
|
|
31
32
|
export { skillToolRestriction, resolveSkillExecution, forbidsInlineShell, activationFor, registerSkillPathActivator, applySkillRestriction, PROVIDER, } from "./skill-semantics.js";
|
|
32
33
|
/** The plugin.json file name at a plugin root (legacy / fixture path). */
|
|
33
34
|
export const MANIFEST_FILE = 'plugin.json';
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAOnD,OAAO,EAAE,WAAW,EAAmB,MAAM,aAAa,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAyC,MAAM,aAAa,CAAA;AAChF,OAAO,EAAE,aAAa,EAA6B,MAAM,eAAe,CAAA;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,UAAU,EAAkB,MAAM,YAAY,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,sBAAsB,EAA0B,MAAM,0BAA0B,CAAA;AACzF,OAAO,EACL,wBAAwB,EACxB,6BAA6B,EAC7B,2BAA2B,EAC3B,cAAc,EACd,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,0BAA0B,CAAA;AAKjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/rules.d.ts
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
*
|
|
12
12
|
* @module
|
|
13
13
|
*/
|
|
14
|
-
import type { CcPluginManifest } from './types.ts';
|
|
14
|
+
import type { CcPluginManifest, RuleEntry } from './types.ts';
|
|
15
15
|
import { ComponentTally, type RulesSeam } from './seams.ts';
|
|
16
16
|
/** The rules seam: accepts a plugin's parsed rule entries. */
|
|
17
17
|
export { type RulesSeam } from './seams.ts';
|
|
@@ -34,4 +34,13 @@ export declare function mountRules(options: MountRulesOptions): Promise<{
|
|
|
34
34
|
tally: ComponentTally;
|
|
35
35
|
warnings: string[];
|
|
36
36
|
}>;
|
|
37
|
+
/**
|
|
38
|
+
* Parse one `.mdc` file's typed frontmatter; malformed files skip with a
|
|
39
|
+
* reason. Trigger keys (turn-rules, plan docs/plans/2026-09-23-turn-rules.md
|
|
40
|
+
* §4.1) are read straight off the preserved frontmatter record; a malformed
|
|
41
|
+
* trigger value (non-string trigger, invalid regex source, unknown
|
|
42
|
+
* triggerOn/repeat enum, non-positive-integer repeatGap) skips the rule with
|
|
43
|
+
* a tally warning — never a load failure, never a throw.
|
|
44
|
+
*/
|
|
45
|
+
export declare function parseRuleFile(file: string, tally: ComponentTally, warnings: string[]): Promise<RuleEntry | undefined>;
|
|
37
46
|
//# sourceMappingURL=rules.d.ts.map
|
package/lib/rules.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAmB,MAAM,YAAY,CAAA;AAC9E,OAAO,EAAE,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAA;AAG3D,8DAA8D;AAC9D,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAA;AAE3C,+CAA+C;AAC/C,MAAM,WAAW,iBAAiB;IAChC,+EAA+E;IAC/E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,wFAAwF;IACxF,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAA;IACnC,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAAA;CACtC;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;IAAC,KAAK,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAoD9I;AA0BD;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAwChC"}
|
package/lib/rules.js
CHANGED
|
@@ -60,7 +60,7 @@ export async function mountRules(options) {
|
|
|
60
60
|
return { disposers, tally, warnings };
|
|
61
61
|
const entries = [];
|
|
62
62
|
for (const file of files) {
|
|
63
|
-
const entry = await
|
|
63
|
+
const entry = await parseRuleFile(file, tally, warnings);
|
|
64
64
|
if (entry !== undefined) {
|
|
65
65
|
entries.push({
|
|
66
66
|
...entry,
|
|
@@ -102,8 +102,15 @@ async function walkMdc(dir, found) {
|
|
|
102
102
|
found.push(child);
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
|
-
/**
|
|
106
|
-
|
|
105
|
+
/**
|
|
106
|
+
* Parse one `.mdc` file's typed frontmatter; malformed files skip with a
|
|
107
|
+
* reason. Trigger keys (turn-rules, plan docs/plans/2026-09-23-turn-rules.md
|
|
108
|
+
* §4.1) are read straight off the preserved frontmatter record; a malformed
|
|
109
|
+
* trigger value (non-string trigger, invalid regex source, unknown
|
|
110
|
+
* triggerOn/repeat enum, non-positive-integer repeatGap) skips the rule with
|
|
111
|
+
* a tally warning — never a load failure, never a throw.
|
|
112
|
+
*/
|
|
113
|
+
export async function parseRuleFile(file, tally, warnings) {
|
|
107
114
|
const path = file;
|
|
108
115
|
let raw;
|
|
109
116
|
try {
|
|
@@ -129,14 +136,63 @@ async function loadRuleFile(file, tally, warnings) {
|
|
|
129
136
|
warnings.push(reason);
|
|
130
137
|
return undefined;
|
|
131
138
|
}
|
|
139
|
+
const triggered = triggerFields(path, document.data);
|
|
140
|
+
if (typeof triggered === 'string') {
|
|
141
|
+
const reason = `skipped rule "${path}": ${triggered}`;
|
|
142
|
+
tally.addSkipped(reason);
|
|
143
|
+
warnings.push(reason);
|
|
144
|
+
return undefined;
|
|
145
|
+
}
|
|
132
146
|
return {
|
|
133
147
|
path: file,
|
|
134
148
|
description: typed.description,
|
|
135
149
|
alwaysApply: typed.alwaysApply,
|
|
136
150
|
globs: typed.globs,
|
|
137
151
|
body: document.body,
|
|
152
|
+
...triggered,
|
|
138
153
|
};
|
|
139
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* Coerce the trigger fields off the raw frontmatter record; a string return
|
|
157
|
+
* is a skip reason. Absent keys stay `undefined` — rules without a trigger
|
|
158
|
+
* are byte-for-byte unaffected.
|
|
159
|
+
*/
|
|
160
|
+
function triggerFields(path, data) {
|
|
161
|
+
const out = {};
|
|
162
|
+
if (data.trigger !== undefined) {
|
|
163
|
+
if (typeof data.trigger !== 'string')
|
|
164
|
+
return 'frontmatter field "trigger" must be a string';
|
|
165
|
+
try {
|
|
166
|
+
void new RegExp(data.trigger);
|
|
167
|
+
}
|
|
168
|
+
catch {
|
|
169
|
+
return `frontmatter field "trigger" is not a valid regex source (rule "${path}")`;
|
|
170
|
+
}
|
|
171
|
+
out.trigger = data.trigger;
|
|
172
|
+
}
|
|
173
|
+
if (data.triggerOn !== undefined) {
|
|
174
|
+
const raw = data.triggerOn;
|
|
175
|
+
const list = Array.isArray(raw) ? raw : [raw];
|
|
176
|
+
if (list.some(item => item !== 'tool-results' && item !== 'user-prompts')) {
|
|
177
|
+
return 'frontmatter field "triggerOn" must be "tool-results", "user-prompts", or a list of those';
|
|
178
|
+
}
|
|
179
|
+
out.triggerOn = list;
|
|
180
|
+
}
|
|
181
|
+
if (data.repeat !== undefined) {
|
|
182
|
+
if (data.repeat !== 'once' && data.repeat !== 'after-gap') {
|
|
183
|
+
return 'frontmatter field "repeat" must be "once" or "after-gap"';
|
|
184
|
+
}
|
|
185
|
+
out.repeat = data.repeat;
|
|
186
|
+
}
|
|
187
|
+
if (data.repeatGap !== undefined) {
|
|
188
|
+
const raw = data.repeatGap;
|
|
189
|
+
if (typeof raw !== 'number' || !Number.isInteger(raw) || raw < 1) {
|
|
190
|
+
return 'frontmatter field "repeatGap" must be a positive integer';
|
|
191
|
+
}
|
|
192
|
+
out.repeatGap = raw;
|
|
193
|
+
}
|
|
194
|
+
return out;
|
|
195
|
+
}
|
|
140
196
|
/** Coerce the typed rule fields; a string return is a skip reason. */
|
|
141
197
|
function typedFields(data) {
|
|
142
198
|
let description;
|
package/lib/rules.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AAEjE,OAAO,EAAE,cAAc,EAAkB,MAAM,YAAY,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAe5C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAA0B;IACzD,MAAM,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAA;IACzC,MAAM,SAAS,GAAmB,EAAE,CAAA;IACpC,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,wEAAwE;IACxE,gEAAgE;IAChE,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;IACvC,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAChC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC1C,KAAK,CAAC,UAAU,CAAC,sBAAsB,IAAI,sCAAsC,CAAC,CAAA;QACpF,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;IACvC,CAAC;IACD,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC9C,yEAAyE;QACzE,4EAA4E;QAC5E,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAA;QACvG,sEAAsE;QACtE,2DAA2D;QAC3D,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;QACnC,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,wBAAwB,QAAQ,+DAA+D,CAAA;YAC9G,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;YACxB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACrB,SAAQ;QACV,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;QAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;QACrG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACvC,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM;YAAE,KAAK,CAAC,UAAU,CAAC,8BAA8B,QAAQ,GAAG,CAAC,CAAA;IAC1F,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;IAC7D,MAAM,OAAO,GAAgB,EAAE,CAAA;IAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"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"}
|
package/lib/types.d.ts
CHANGED
|
@@ -30,6 +30,8 @@ export interface CcAgentRef {
|
|
|
30
30
|
/** Path to the agent file(s), relative to the plugin root. */
|
|
31
31
|
readonly paths: readonly string[];
|
|
32
32
|
}
|
|
33
|
+
/** A channel a triggered rule can fire on (turn-rules, plan docs/plans/2026-09-23-turn-rules.md §4.1). */
|
|
34
|
+
export type TurnRuleChannel = 'tool-results' | 'user-prompts';
|
|
33
35
|
/** One Cursor `.mdc` rule mounted through the `rules` guest seam (plan §3.3). */
|
|
34
36
|
export interface RuleEntry {
|
|
35
37
|
/** The rule file path, relative to the plugin root. */
|
|
@@ -42,6 +44,18 @@ export interface RuleEntry {
|
|
|
42
44
|
readonly globs: readonly string[];
|
|
43
45
|
/** Markdown body after the frontmatter. */
|
|
44
46
|
readonly body: string;
|
|
47
|
+
/**
|
|
48
|
+
* Optional JS regex source: when present, turn-rules matches this rule
|
|
49
|
+
* against completed tool calls/results or user prompts and injects the body
|
|
50
|
+
* as an advisory reminder. Absent rules keep today's index behavior.
|
|
51
|
+
*/
|
|
52
|
+
readonly trigger?: string;
|
|
53
|
+
/** Channels the trigger matches; absent = both. */
|
|
54
|
+
readonly triggerOn?: readonly TurnRuleChannel[];
|
|
55
|
+
/** Repeat policy: `once` (default) or `after-gap: repeatGap` turns. */
|
|
56
|
+
readonly repeat?: 'once' | 'after-gap';
|
|
57
|
+
/** Completed turn_stops before re-arm under `after-gap` (default 10). */
|
|
58
|
+
readonly repeatGap?: number;
|
|
45
59
|
}
|
|
46
60
|
/** A Claude Code skill entry, loaded from `skills/` or an inline path. */
|
|
47
61
|
export interface CcSkillRef {
|
package/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,kFAAkF;AAClF,MAAM,WAAW,SAAS;IACxB,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,0CAA0C;IAC1C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,oEAAoE;IACpE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,uDAAuD;IACvD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,iDAAiD;IACjD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,4CAA4C;IAC5C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC1C;AAED,wEAAwE;AACxE,MAAM,WAAW,UAAU;IACzB,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAClC;AAED,iFAAiF;AACjF,MAAM,WAAW,SAAS;IACxB,uDAAuD;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,0CAA0C;IAC1C,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IACxC,0EAA0E;IAC1E,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;IAC7B,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,2CAA2C;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dsh-cc/plugin-loader",
|
|
3
3
|
"description": "Load Claude Code plugin.json manifests as in-memory dsh plugin mounts",
|
|
4
|
-
"version": "0.8.
|
|
4
|
+
"version": "0.8.1-rc.1",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "git+https://github.com/dsh-cc/dsh-cc.git",
|
|
@@ -24,9 +24,9 @@
|
|
|
24
24
|
"./package.json": "./package.json"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@dsh-cc/
|
|
28
|
-
"@dsh-cc/settings-ns": "^0.8.
|
|
29
|
-
"@dsh-cc/
|
|
27
|
+
"@dsh-cc/model-aliases": "^0.8.1-rc.1",
|
|
28
|
+
"@dsh-cc/settings-ns": "^0.8.1-rc.1",
|
|
29
|
+
"@dsh-cc/settings-cascade": "^0.8.1-rc.1"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@deepseek-ai/schemastery": "link:../../../../deepseek-harness/vendor/schemastery",
|
|
@@ -37,12 +37,12 @@
|
|
|
37
37
|
"@deepseek-ai/dsh-subagent": "link:../../../../deepseek-harness/packages/subagent/subagent",
|
|
38
38
|
"@deepseek-ai/cordis": "link:../../../../deepseek-harness/vendor/cordis",
|
|
39
39
|
"@deepseek-ai/dsh-home-paths": "link:../../../../deepseek-harness/packages/util/home-paths",
|
|
40
|
-
"@dsh-cc/claude-code-agents": "^0.8.
|
|
41
|
-
"@dsh-cc/
|
|
42
|
-
"@dsh-cc/
|
|
43
|
-
"@dsh-cc/
|
|
44
|
-
"@dsh-cc/
|
|
45
|
-
"@dsh-cc/
|
|
40
|
+
"@dsh-cc/claude-code-agents": "^0.8.1-rc.1",
|
|
41
|
+
"@dsh-cc/model-aliases": "^0.8.1-rc.1",
|
|
42
|
+
"@dsh-cc/mcp-client": "^0.8.1-rc.1",
|
|
43
|
+
"@dsh-cc/skill-loader": "^0.8.1-rc.1",
|
|
44
|
+
"@dsh-cc/tools": "^0.8.1-rc.1",
|
|
45
|
+
"@dsh-cc/hook-protocol": "^0.8.1-rc.1"
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
48
|
"@deepseek-ai/schemastery": "^3.18.1",
|
|
@@ -53,11 +53,11 @@
|
|
|
53
53
|
"@deepseek-ai/dsh-subagent": ">=0.1.5-rc.1",
|
|
54
54
|
"@deepseek-ai/cordis": ">=0.1.5-rc.1",
|
|
55
55
|
"@deepseek-ai/dsh-home-paths": ">=0.1.5-rc.1",
|
|
56
|
-
"@dsh-cc/claude-code-agents": "^0.8.
|
|
57
|
-
"@dsh-cc/
|
|
58
|
-
"@dsh-cc/mcp-client": "^0.8.
|
|
59
|
-
"@dsh-cc/
|
|
60
|
-
"@dsh-cc/tools": "^0.8.
|
|
56
|
+
"@dsh-cc/claude-code-agents": "^0.8.1-rc.1",
|
|
57
|
+
"@dsh-cc/skill-loader": "^0.8.1-rc.1",
|
|
58
|
+
"@dsh-cc/mcp-client": "^0.8.1-rc.1",
|
|
59
|
+
"@dsh-cc/hook-protocol": "^0.8.1-rc.1",
|
|
60
|
+
"@dsh-cc/tools": "^0.8.1-rc.1"
|
|
61
61
|
},
|
|
62
62
|
"files": [
|
|
63
63
|
"lib"
|