@slope-dev/slope 1.13.0 → 1.13.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +118 -189
- package/dist/adapters.d.ts +15 -0
- package/dist/adapters.d.ts.map +1 -0
- package/dist/adapters.js +17 -0
- package/dist/adapters.js.map +1 -0
- package/dist/cli/commands/guard.d.ts +19 -0
- package/dist/cli/commands/guard.d.ts.map +1 -1
- package/dist/cli/commands/guard.js +89 -1
- package/dist/cli/commands/guard.js.map +1 -1
- package/dist/cli/commands/hook.d.ts +5 -0
- package/dist/cli/commands/hook.d.ts.map +1 -1
- package/dist/cli/commands/hook.js +59 -83
- package/dist/cli/commands/hook.js.map +1 -1
- package/dist/cli/commands/init.d.ts +13 -4
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +309 -16
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/metaphor.d.ts +3 -0
- package/dist/cli/commands/metaphor.d.ts.map +1 -0
- package/dist/cli/commands/metaphor.js +100 -0
- package/dist/cli/commands/metaphor.js.map +1 -0
- package/dist/cli/commands/roadmap.d.ts.map +1 -1
- package/dist/cli/commands/roadmap.js +94 -1
- package/dist/cli/commands/roadmap.js.map +1 -1
- package/dist/cli/commands/store.d.ts +2 -0
- package/dist/cli/commands/store.d.ts.map +1 -0
- package/dist/cli/commands/store.js +204 -0
- package/dist/cli/commands/store.js.map +1 -0
- package/dist/cli/guards/branch-before-commit.d.ts +7 -0
- package/dist/cli/guards/branch-before-commit.d.ts.map +1 -0
- package/dist/cli/guards/branch-before-commit.js +43 -0
- package/dist/cli/guards/branch-before-commit.js.map +1 -0
- package/dist/cli/guards/stop-check.d.ts +4 -0
- package/dist/cli/guards/stop-check.d.ts.map +1 -1
- package/dist/cli/guards/stop-check.js +50 -16
- package/dist/cli/guards/stop-check.js.map +1 -1
- package/dist/cli/index.js +20 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/registry.d.ts.map +1 -1
- package/dist/cli/registry.js +2 -0
- package/dist/cli/registry.js.map +1 -1
- package/dist/cli/store.d.ts +9 -0
- package/dist/cli/store.d.ts.map +1 -1
- package/dist/cli/store.js +29 -0
- package/dist/cli/store.js.map +1 -1
- package/dist/cli/template-generator.d.ts +1 -1
- package/dist/cli/template-generator.d.ts.map +1 -1
- package/dist/cli/template-generator.js +5 -3
- package/dist/cli/template-generator.js.map +1 -1
- package/dist/core/adapters/claude-code.d.ts +28 -0
- package/dist/core/adapters/claude-code.d.ts.map +1 -0
- package/dist/core/adapters/claude-code.js +148 -0
- package/dist/core/adapters/claude-code.js.map +1 -0
- package/dist/core/adapters/cline.d.ts +36 -0
- package/dist/core/adapters/cline.d.ts.map +1 -0
- package/dist/core/adapters/cline.js +279 -0
- package/dist/core/adapters/cline.js.map +1 -0
- package/dist/core/adapters/cursor.d.ts +38 -0
- package/dist/core/adapters/cursor.d.ts.map +1 -0
- package/dist/core/adapters/cursor.js +143 -0
- package/dist/core/adapters/cursor.js.map +1 -0
- package/dist/core/adapters/generic.d.ts +29 -0
- package/dist/core/adapters/generic.d.ts.map +1 -0
- package/dist/core/adapters/generic.js +142 -0
- package/dist/core/adapters/generic.js.map +1 -0
- package/dist/core/adapters/windsurf.d.ts +37 -0
- package/dist/core/adapters/windsurf.d.ts.map +1 -0
- package/dist/core/adapters/windsurf.js +170 -0
- package/dist/core/adapters/windsurf.js.map +1 -0
- package/dist/core/config.d.ts +3 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +9 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/guard.d.ts +10 -3
- package/dist/core/guard.d.ts.map +1 -1
- package/dist/core/guard.js +33 -59
- package/dist/core/guard.js.map +1 -1
- package/dist/core/harness.d.ts +61 -0
- package/dist/core/harness.d.ts.map +1 -0
- package/dist/core/harness.js +88 -0
- package/dist/core/harness.js.map +1 -0
- package/dist/core/index.d.ts +15 -5
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +13 -3
- package/dist/core/index.js.map +1 -1
- package/dist/core/interview.js +1 -1
- package/dist/core/interview.js.map +1 -1
- package/dist/core/metaphor.d.ts +14 -0
- package/dist/core/metaphor.d.ts.map +1 -1
- package/dist/core/metaphor.js +14 -0
- package/dist/core/metaphor.js.map +1 -1
- package/dist/core/plugins.d.ts +12 -0
- package/dist/core/plugins.d.ts.map +1 -1
- package/dist/core/plugins.js +58 -1
- package/dist/core/plugins.js.map +1 -1
- package/dist/core/roadmap.d.ts.map +1 -1
- package/dist/core/roadmap.js +5 -4
- package/dist/core/roadmap.js.map +1 -1
- package/dist/core/store-health.d.ts +11 -0
- package/dist/core/store-health.d.ts.map +1 -0
- package/dist/core/store-health.js +26 -0
- package/dist/core/store-health.js.map +1 -0
- package/dist/core/store.d.ts +10 -0
- package/dist/core/store.d.ts.map +1 -1
- package/dist/core/store.js.map +1 -1
- package/dist/mcp/index.d.ts +2 -2
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +55 -6
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/index.test.js +7 -4
- package/dist/mcp/index.test.js.map +1 -1
- package/dist/mcp/registry.d.ts.map +1 -1
- package/dist/mcp/registry.js +32 -3
- package/dist/mcp/registry.js.map +1 -1
- package/dist/mcp/sandbox.d.ts.map +1 -1
- package/dist/mcp/sandbox.js +7 -1
- package/dist/mcp/sandbox.js.map +1 -1
- package/dist/store/index.d.ts +8 -2
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js +27 -3
- package/dist/store/index.js.map +1 -1
- package/dist/store-pg/index.d.ts +3 -0
- package/dist/store-pg/index.d.ts.map +1 -1
- package/dist/store-pg/index.js +49 -1
- package/dist/store-pg/index.js.map +1 -1
- package/package.json +16 -7
package/dist/core/guard.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
// SLOPE Guard Framework
|
|
2
2
|
// Types and utilities for agent guidance hooks.
|
|
3
|
+
import { getAdapter } from './harness.js';
|
|
3
4
|
/** All guard definitions */
|
|
4
5
|
export const GUARD_DEFINITIONS = [
|
|
5
6
|
{
|
|
6
7
|
name: 'explore',
|
|
7
8
|
description: 'Suggest checking codebase index before deep exploration',
|
|
8
9
|
hookEvent: 'PreToolUse',
|
|
10
|
+
toolCategories: ['read_file', 'search_files', 'search_content'],
|
|
9
11
|
matcher: 'Read|Glob|Grep',
|
|
10
12
|
level: 'full',
|
|
11
13
|
},
|
|
@@ -13,6 +15,7 @@ export const GUARD_DEFINITIONS = [
|
|
|
13
15
|
name: 'hazard',
|
|
14
16
|
description: 'Warn about known issues in file areas being edited',
|
|
15
17
|
hookEvent: 'PreToolUse',
|
|
18
|
+
toolCategories: ['write_file'],
|
|
16
19
|
matcher: 'Edit|Write',
|
|
17
20
|
level: 'full',
|
|
18
21
|
},
|
|
@@ -20,6 +23,7 @@ export const GUARD_DEFINITIONS = [
|
|
|
20
23
|
name: 'commit-nudge',
|
|
21
24
|
description: 'Nudge to commit/push after prolonged editing',
|
|
22
25
|
hookEvent: 'PostToolUse',
|
|
26
|
+
toolCategories: ['write_file'],
|
|
23
27
|
matcher: 'Edit|Write',
|
|
24
28
|
level: 'full',
|
|
25
29
|
},
|
|
@@ -27,6 +31,7 @@ export const GUARD_DEFINITIONS = [
|
|
|
27
31
|
name: 'scope-drift',
|
|
28
32
|
description: 'Warn when editing files outside claimed ticket scope',
|
|
29
33
|
hookEvent: 'PreToolUse',
|
|
34
|
+
toolCategories: ['write_file'],
|
|
30
35
|
matcher: 'Edit|Write',
|
|
31
36
|
level: 'full',
|
|
32
37
|
},
|
|
@@ -46,6 +51,7 @@ export const GUARD_DEFINITIONS = [
|
|
|
46
51
|
name: 'subagent-gate',
|
|
47
52
|
description: 'Force haiku model and cap max_turns on Explore/Plan subagents',
|
|
48
53
|
hookEvent: 'PreToolUse',
|
|
54
|
+
toolCategories: ['create_subagent'],
|
|
49
55
|
matcher: 'Task',
|
|
50
56
|
level: 'full',
|
|
51
57
|
},
|
|
@@ -53,6 +59,7 @@ export const GUARD_DEFINITIONS = [
|
|
|
53
59
|
name: 'push-nudge',
|
|
54
60
|
description: 'Nudge to push after git commits when unpushed count or time is high',
|
|
55
61
|
hookEvent: 'PostToolUse',
|
|
62
|
+
toolCategories: ['execute_command'],
|
|
56
63
|
matcher: 'Bash',
|
|
57
64
|
level: 'full',
|
|
58
65
|
},
|
|
@@ -60,6 +67,7 @@ export const GUARD_DEFINITIONS = [
|
|
|
60
67
|
name: 'workflow-gate',
|
|
61
68
|
description: 'Block ExitPlanMode until review rounds are complete',
|
|
62
69
|
hookEvent: 'PreToolUse',
|
|
70
|
+
toolCategories: ['exit_plan'],
|
|
63
71
|
matcher: 'ExitPlanMode',
|
|
64
72
|
level: 'full',
|
|
65
73
|
},
|
|
@@ -67,6 +75,7 @@ export const GUARD_DEFINITIONS = [
|
|
|
67
75
|
name: 'review-tier',
|
|
68
76
|
description: 'Recommend review tier based on plan scope',
|
|
69
77
|
hookEvent: 'PreToolUse',
|
|
78
|
+
toolCategories: ['exit_plan'],
|
|
70
79
|
matcher: 'ExitPlanMode',
|
|
71
80
|
level: 'full',
|
|
72
81
|
},
|
|
@@ -74,6 +83,7 @@ export const GUARD_DEFINITIONS = [
|
|
|
74
83
|
name: 'version-check',
|
|
75
84
|
description: 'Block push to main when package versions have not been bumped',
|
|
76
85
|
hookEvent: 'PreToolUse',
|
|
86
|
+
toolCategories: ['execute_command'],
|
|
77
87
|
matcher: 'Bash',
|
|
78
88
|
level: 'full',
|
|
79
89
|
},
|
|
@@ -81,6 +91,7 @@ export const GUARD_DEFINITIONS = [
|
|
|
81
91
|
name: 'stale-flows',
|
|
82
92
|
description: 'Warn when editing files belonging to a stale flow definition',
|
|
83
93
|
hookEvent: 'PreToolUse',
|
|
94
|
+
toolCategories: ['write_file'],
|
|
84
95
|
matcher: 'Edit|Write',
|
|
85
96
|
level: 'full',
|
|
86
97
|
},
|
|
@@ -94,6 +105,7 @@ export const GUARD_DEFINITIONS = [
|
|
|
94
105
|
name: 'pr-review',
|
|
95
106
|
description: 'Prompt for review workflow after PR creation',
|
|
96
107
|
hookEvent: 'PostToolUse',
|
|
108
|
+
toolCategories: ['execute_command'],
|
|
97
109
|
matcher: 'Bash',
|
|
98
110
|
level: 'full',
|
|
99
111
|
},
|
|
@@ -101,7 +113,15 @@ export const GUARD_DEFINITIONS = [
|
|
|
101
113
|
name: 'transcript',
|
|
102
114
|
description: 'Append tool call metadata to session transcript',
|
|
103
115
|
hookEvent: 'PostToolUse',
|
|
104
|
-
// no matcher → fires on all tools
|
|
116
|
+
// no toolCategories, no matcher → fires on all tools
|
|
117
|
+
level: 'full',
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
name: 'branch-before-commit',
|
|
121
|
+
description: 'Block git commit on main/master — create a feature branch first',
|
|
122
|
+
hookEvent: 'PreToolUse',
|
|
123
|
+
toolCategories: ['execute_command'],
|
|
124
|
+
matcher: 'Bash',
|
|
105
125
|
level: 'full',
|
|
106
126
|
},
|
|
107
127
|
];
|
|
@@ -124,76 +144,30 @@ export function getCustomGuard(name) {
|
|
|
124
144
|
export function clearCustomGuards() {
|
|
125
145
|
customGuards.length = 0;
|
|
126
146
|
}
|
|
127
|
-
// --- Formatters ---
|
|
147
|
+
// --- Formatters (delegates to ClaudeCodeAdapter via registry lookup) ---
|
|
148
|
+
function getClaudeCodeAdapter() {
|
|
149
|
+
const adapter = getAdapter('claude-code');
|
|
150
|
+
if (!adapter)
|
|
151
|
+
throw new Error('ClaudeCodeAdapter not registered — ensure adapters/claude-code.js is imported');
|
|
152
|
+
return adapter;
|
|
153
|
+
}
|
|
128
154
|
/** Format a GuardResult as PreToolUse JSON output */
|
|
129
155
|
export function formatPreToolUseOutput(result) {
|
|
130
|
-
return
|
|
131
|
-
hookSpecificOutput: {
|
|
132
|
-
hookEventName: 'PreToolUse',
|
|
133
|
-
...(result.decision && { permissionDecision: result.decision }),
|
|
134
|
-
...(result.blockReason && { permissionDecisionReason: result.blockReason }),
|
|
135
|
-
...(result.context && { additionalContext: result.context }),
|
|
136
|
-
},
|
|
137
|
-
};
|
|
156
|
+
return getClaudeCodeAdapter().formatPreToolOutput(result);
|
|
138
157
|
}
|
|
139
158
|
/** Format a GuardResult as PostToolUse JSON output */
|
|
140
159
|
export function formatPostToolUseOutput(result) {
|
|
141
|
-
|
|
142
|
-
return {
|
|
143
|
-
decision: 'block',
|
|
144
|
-
reason: result.blockReason,
|
|
145
|
-
hookSpecificOutput: {
|
|
146
|
-
hookEventName: 'PostToolUse',
|
|
147
|
-
...(result.context && { additionalContext: result.context }),
|
|
148
|
-
},
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
if (result.context) {
|
|
152
|
-
return {
|
|
153
|
-
hookSpecificOutput: {
|
|
154
|
-
hookEventName: 'PostToolUse',
|
|
155
|
-
additionalContext: result.context,
|
|
156
|
-
},
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
return {};
|
|
160
|
+
return getClaudeCodeAdapter().formatPostToolOutput(result);
|
|
160
161
|
}
|
|
161
162
|
/** Format a GuardResult as Stop JSON output */
|
|
162
163
|
export function formatStopOutput(result) {
|
|
163
|
-
|
|
164
|
-
return { decision: 'block', reason: result.blockReason };
|
|
165
|
-
}
|
|
166
|
-
return {};
|
|
164
|
+
return getClaudeCodeAdapter().formatStopOutput(result);
|
|
167
165
|
}
|
|
168
166
|
/**
|
|
169
167
|
* Generate Claude Code settings.json hooks configuration for installed guards.
|
|
170
|
-
*
|
|
168
|
+
* Delegates to ClaudeCodeAdapter.generateHooksConfig().
|
|
171
169
|
*/
|
|
172
170
|
export function generateClaudeCodeHooksConfig(guards, guardScriptPath) {
|
|
173
|
-
|
|
174
|
-
// Group guards by hookEvent + matcher
|
|
175
|
-
const groups = new Map();
|
|
176
|
-
for (const g of guards) {
|
|
177
|
-
const key = `${g.hookEvent}::${g.matcher ?? ''}`;
|
|
178
|
-
const list = groups.get(key) || [];
|
|
179
|
-
list.push(g);
|
|
180
|
-
groups.set(key, list);
|
|
181
|
-
}
|
|
182
|
-
for (const [key, defs] of groups) {
|
|
183
|
-
const [hookEvent, matcher] = key.split('::');
|
|
184
|
-
if (!config[hookEvent])
|
|
185
|
-
config[hookEvent] = [];
|
|
186
|
-
const hooks = defs.map(d => ({
|
|
187
|
-
type: 'command',
|
|
188
|
-
command: `${guardScriptPath} ${d.name}`,
|
|
189
|
-
timeout: 10,
|
|
190
|
-
statusMessage: `SLOPE: ${d.description}`,
|
|
191
|
-
}));
|
|
192
|
-
const entry = { hooks };
|
|
193
|
-
if (matcher)
|
|
194
|
-
entry.matcher = matcher;
|
|
195
|
-
config[hookEvent].push(entry);
|
|
196
|
-
}
|
|
197
|
-
return config;
|
|
171
|
+
return getClaudeCodeAdapter().generateHooksConfig(guards, guardScriptPath);
|
|
198
172
|
}
|
|
199
173
|
//# sourceMappingURL=guard.js.map
|
package/dist/core/guard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guard.js","sourceRoot":"","sources":["../../src/core/guard.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,gDAAgD;
|
|
1
|
+
{"version":3,"file":"guard.js","sourceRoot":"","sources":["../../src/core/guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { GuardResult, AnyGuardDefinition } from './guard.js';
|
|
2
|
+
/** Known AI coding harness identifiers (extensible via string for third-party adapters) */
|
|
3
|
+
export type HarnessId = 'claude-code' | 'cursor' | 'cline' | 'windsurf' | 'continue' | 'aider' | 'generic' | (string & {});
|
|
4
|
+
/** Tool categories that guards can match against (harness-agnostic) */
|
|
5
|
+
export type ToolCategory = 'read_file' | 'write_file' | 'search_files' | 'search_content' | 'execute_command' | 'create_subagent' | 'exit_plan';
|
|
6
|
+
/** All tool categories for iteration */
|
|
7
|
+
export declare const TOOL_CATEGORIES: ToolCategory[];
|
|
8
|
+
/** Maps tool categories to harness-specific tool name patterns */
|
|
9
|
+
export type ToolNameMap = Record<ToolCategory, string>;
|
|
10
|
+
/** Interface that all harness adapters must implement */
|
|
11
|
+
export interface HarnessAdapter {
|
|
12
|
+
/** Unique identifier for this harness */
|
|
13
|
+
id: HarnessId;
|
|
14
|
+
/** Human-readable display name */
|
|
15
|
+
displayName: string;
|
|
16
|
+
/** Maps tool categories to harness-specific tool names */
|
|
17
|
+
toolNames: ToolNameMap;
|
|
18
|
+
/** Format a GuardResult for PreToolUse hook output */
|
|
19
|
+
formatPreToolOutput(result: GuardResult): unknown;
|
|
20
|
+
/** Format a GuardResult for PostToolUse hook output */
|
|
21
|
+
formatPostToolOutput(result: GuardResult): unknown;
|
|
22
|
+
/** Format a GuardResult for Stop hook output */
|
|
23
|
+
formatStopOutput(result: GuardResult): unknown;
|
|
24
|
+
/** Generate hooks configuration for this harness */
|
|
25
|
+
generateHooksConfig(guards: AnyGuardDefinition[], guardScriptPath: string): unknown;
|
|
26
|
+
/** Install guard hooks into the project for this harness */
|
|
27
|
+
installGuards(cwd: string, guards: AnyGuardDefinition[]): void;
|
|
28
|
+
/** Detect whether this harness is active in the given directory */
|
|
29
|
+
detect(cwd: string): boolean;
|
|
30
|
+
/** Hook events this harness supports (e.g. PreToolUse, PostToolUse, Stop, PreCompact) */
|
|
31
|
+
readonly supportedEvents: ReadonlySet<string>;
|
|
32
|
+
/** Whether the harness can inject additionalContext into the agent's context */
|
|
33
|
+
readonly supportsContextInjection: boolean;
|
|
34
|
+
/** Return the path to this harness's hooks config file, or null if N/A */
|
|
35
|
+
hooksConfigPath(cwd: string): string | null;
|
|
36
|
+
}
|
|
37
|
+
/** Claude Code tool name mappings */
|
|
38
|
+
export declare const CLAUDE_CODE_TOOLS: ToolNameMap;
|
|
39
|
+
/** Detection order for adapters. First match wins. Generic is always last (fallback). */
|
|
40
|
+
export declare const ADAPTER_PRIORITY: HarnessId[];
|
|
41
|
+
/** Register a harness adapter. Idempotent — overwrites if id already registered. */
|
|
42
|
+
export declare function registerAdapter(adapter: HarnessAdapter): void;
|
|
43
|
+
/** Get a registered adapter by id. Returns undefined if not found. */
|
|
44
|
+
export declare function getAdapter(id: HarnessId): HarnessAdapter | undefined;
|
|
45
|
+
/** List all registered adapter ids. */
|
|
46
|
+
export declare function listAdapters(): HarnessId[];
|
|
47
|
+
/**
|
|
48
|
+
* Detect which harness is active in the given directory.
|
|
49
|
+
* Iterates ADAPTER_PRIORITY in order; first match wins.
|
|
50
|
+
* Falls back to generic if registered and no other adapter matches.
|
|
51
|
+
* Adapters not in ADAPTER_PRIORITY are checked after priority list (before generic).
|
|
52
|
+
*/
|
|
53
|
+
export declare function detectAdapter(cwd: string): HarnessAdapter | undefined;
|
|
54
|
+
/** Clear all registered adapters (for testing). */
|
|
55
|
+
export declare function clearAdapters(): void;
|
|
56
|
+
/**
|
|
57
|
+
* Resolve tool categories to a matcher string for a specific harness.
|
|
58
|
+
* If categories is undefined, returns undefined (match all tools).
|
|
59
|
+
*/
|
|
60
|
+
export declare function resolveToolMatcher(adapter: HarnessAdapter, categories: ToolCategory[] | undefined): string | undefined;
|
|
61
|
+
//# sourceMappingURL=harness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../../src/core/harness.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAIlE,2FAA2F;AAC3F,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAE3H,uEAAuE;AACvE,MAAM,MAAM,YAAY,GACpB,WAAW,GACX,YAAY,GACZ,cAAc,GACd,gBAAgB,GAChB,iBAAiB,GACjB,iBAAiB,GACjB,WAAW,CAAC;AAEhB,wCAAwC;AACxC,eAAO,MAAM,eAAe,EAAE,YAAY,EAQzC,CAAC;AAEF,kEAAkE;AAClE,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AAEvD,yDAAyD;AACzD,MAAM,WAAW,cAAc;IAC7B,yCAAyC;IACzC,EAAE,EAAE,SAAS,CAAC;IACd,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,SAAS,EAAE,WAAW,CAAC;IACvB,sDAAsD;IACtD,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;IAClD,uDAAuD;IACvD,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;IACnD,gDAAgD;IAChD,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;IAC/C,oDAAoD;IACpD,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC;IACpF,4DAA4D;IAC5D,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;IAC/D,mEAAmE;IACnE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,yFAAyF;IACzF,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9C,gFAAgF;IAChF,QAAQ,CAAC,wBAAwB,EAAE,OAAO,CAAC;IAC3C,0EAA0E;IAC1E,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC7C;AAID,qCAAqC;AACrC,eAAO,MAAM,iBAAiB,EAAE,WAQ/B,CAAC;AAIF,yFAAyF;AACzF,eAAO,MAAM,gBAAgB,EAAE,SAAS,EAA8D,CAAC;AAMvG,oFAAoF;AACpF,wBAAgB,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAE7D;AAED,sEAAsE;AACtE,wBAAgB,UAAU,CAAC,EAAE,EAAE,SAAS,GAAG,cAAc,GAAG,SAAS,CAEpE;AAED,uCAAuC;AACvC,wBAAgB,YAAY,IAAI,SAAS,EAAE,CAE1C;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAerE;AAED,mDAAmD;AACnD,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAUtH"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
// SLOPE Harness Adapter Framework
|
|
2
|
+
// Abstracts guard/hook integration from Claude Code to support multiple AI coding harnesses.
|
|
3
|
+
/** All tool categories for iteration */
|
|
4
|
+
export const TOOL_CATEGORIES = [
|
|
5
|
+
'read_file',
|
|
6
|
+
'write_file',
|
|
7
|
+
'search_files',
|
|
8
|
+
'search_content',
|
|
9
|
+
'execute_command',
|
|
10
|
+
'create_subagent',
|
|
11
|
+
'exit_plan',
|
|
12
|
+
];
|
|
13
|
+
// --- Claude Code Tool Name Map ---
|
|
14
|
+
/** Claude Code tool name mappings */
|
|
15
|
+
export const CLAUDE_CODE_TOOLS = {
|
|
16
|
+
read_file: 'Read',
|
|
17
|
+
write_file: 'Edit|Write',
|
|
18
|
+
search_files: 'Glob',
|
|
19
|
+
search_content: 'Grep',
|
|
20
|
+
execute_command: 'Bash',
|
|
21
|
+
create_subagent: 'Task',
|
|
22
|
+
exit_plan: 'ExitPlanMode',
|
|
23
|
+
};
|
|
24
|
+
// --- Adapter Priority ---
|
|
25
|
+
/** Detection order for adapters. First match wins. Generic is always last (fallback). */
|
|
26
|
+
export const ADAPTER_PRIORITY = ['claude-code', 'cursor', 'windsurf', 'cline', 'generic'];
|
|
27
|
+
// --- Adapter Registry ---
|
|
28
|
+
const adapters = new Map();
|
|
29
|
+
/** Register a harness adapter. Idempotent — overwrites if id already registered. */
|
|
30
|
+
export function registerAdapter(adapter) {
|
|
31
|
+
adapters.set(adapter.id, adapter);
|
|
32
|
+
}
|
|
33
|
+
/** Get a registered adapter by id. Returns undefined if not found. */
|
|
34
|
+
export function getAdapter(id) {
|
|
35
|
+
return adapters.get(id);
|
|
36
|
+
}
|
|
37
|
+
/** List all registered adapter ids. */
|
|
38
|
+
export function listAdapters() {
|
|
39
|
+
return [...adapters.keys()];
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Detect which harness is active in the given directory.
|
|
43
|
+
* Iterates ADAPTER_PRIORITY in order; first match wins.
|
|
44
|
+
* Falls back to generic if registered and no other adapter matches.
|
|
45
|
+
* Adapters not in ADAPTER_PRIORITY are checked after priority list (before generic).
|
|
46
|
+
*/
|
|
47
|
+
export function detectAdapter(cwd) {
|
|
48
|
+
// Check priority-ordered adapters first (skip generic — it's the fallback)
|
|
49
|
+
for (const id of ADAPTER_PRIORITY) {
|
|
50
|
+
if (id === 'generic')
|
|
51
|
+
continue;
|
|
52
|
+
const adapter = adapters.get(id);
|
|
53
|
+
if (adapter?.detect(cwd))
|
|
54
|
+
return adapter;
|
|
55
|
+
}
|
|
56
|
+
// Check any registered adapters not in the priority list (third-party)
|
|
57
|
+
for (const adapter of adapters.values()) {
|
|
58
|
+
if (adapter.id === 'generic')
|
|
59
|
+
continue;
|
|
60
|
+
if (ADAPTER_PRIORITY.includes(adapter.id))
|
|
61
|
+
continue;
|
|
62
|
+
if (adapter.detect(cwd))
|
|
63
|
+
return adapter;
|
|
64
|
+
}
|
|
65
|
+
// Fall back to generic if registered
|
|
66
|
+
return adapters.get('generic');
|
|
67
|
+
}
|
|
68
|
+
/** Clear all registered adapters (for testing). */
|
|
69
|
+
export function clearAdapters() {
|
|
70
|
+
adapters.clear();
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Resolve tool categories to a matcher string for a specific harness.
|
|
74
|
+
* If categories is undefined, returns undefined (match all tools).
|
|
75
|
+
*/
|
|
76
|
+
export function resolveToolMatcher(adapter, categories) {
|
|
77
|
+
if (!categories)
|
|
78
|
+
return undefined;
|
|
79
|
+
const names = new Set();
|
|
80
|
+
for (const cat of categories) {
|
|
81
|
+
// Split pipe-separated names (e.g., 'Edit|Write') and add each
|
|
82
|
+
for (const name of adapter.toolNames[cat].split('|')) {
|
|
83
|
+
names.add(name);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return [...names].join('|');
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=harness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"harness.js","sourceRoot":"","sources":["../../src/core/harness.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,6FAA6F;AAmB7F,wCAAwC;AACxC,MAAM,CAAC,MAAM,eAAe,GAAmB;IAC7C,WAAW;IACX,YAAY;IACZ,cAAc;IACd,gBAAgB;IAChB,iBAAiB;IACjB,iBAAiB;IACjB,WAAW;CACZ,CAAC;AAiCF,oCAAoC;AAEpC,qCAAqC;AACrC,MAAM,CAAC,MAAM,iBAAiB,GAAgB;IAC5C,SAAS,EAAE,MAAM;IACjB,UAAU,EAAE,YAAY;IACxB,YAAY,EAAE,MAAM;IACpB,cAAc,EAAE,MAAM;IACtB,eAAe,EAAE,MAAM;IACvB,eAAe,EAAE,MAAM;IACvB,SAAS,EAAE,cAAc;CAC1B,CAAC;AAEF,2BAA2B;AAE3B,yFAAyF;AACzF,MAAM,CAAC,MAAM,gBAAgB,GAAgB,CAAC,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;AAEvG,2BAA2B;AAE3B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA6B,CAAC;AAEtD,oFAAoF;AACpF,MAAM,UAAU,eAAe,CAAC,OAAuB;IACrD,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,UAAU,CAAC,EAAa;IACtC,OAAO,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC1B,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,YAAY;IAC1B,OAAO,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,2EAA2E;IAC3E,KAAK,MAAM,EAAE,IAAI,gBAAgB,EAAE,CAAC;QAClC,IAAI,EAAE,KAAK,SAAS;YAAE,SAAS;QAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC;YAAE,OAAO,OAAO,CAAC;IAC3C,CAAC;IACD,uEAAuE;IACvE,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QACxC,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS;YAAE,SAAS;QACvC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAAE,SAAS;QACpD,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;YAAE,OAAO,OAAO,CAAC;IAC1C,CAAC;IACD,qCAAqC;IACrC,OAAO,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,aAAa;IAC3B,QAAQ,CAAC,KAAK,EAAE,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAuB,EAAE,UAAsC;IAChG,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAClC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,+DAA+D;QAC/D,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACrD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -15,15 +15,17 @@ export type { RecurringPattern, CommonIssuesFile, SessionEntry, BriefingFilter,
|
|
|
15
15
|
export { checkConflicts } from './registry.js';
|
|
16
16
|
export type { SprintRegistry } from './registry.js';
|
|
17
17
|
export { SlopeStoreError } from './store.js';
|
|
18
|
-
export type { SlopeStore, SlopeSession, StoreErrorCode } from './store.js';
|
|
18
|
+
export type { SlopeStore, SlopeSession, StoreErrorCode, StoreStats } from './store.js';
|
|
19
|
+
export { checkStoreHealth } from './store-health.js';
|
|
20
|
+
export type { StoreHealthResult } from './store-health.js';
|
|
19
21
|
export { buildTournamentReview, formatTournamentReview, } from './tournament.js';
|
|
20
22
|
export type { TournamentReview, TournamentSprintEntry, TournamentScoring, TournamentStats, TournamentHazard, } from './types.js';
|
|
21
23
|
export { validateRoadmap, computeCriticalPath, findParallelOpportunities, parseRoadmap, formatRoadmapSummary, formatStrategicContext, } from './roadmap.js';
|
|
22
24
|
export type { RoadmapDefinition, RoadmapSprint, RoadmapTicket, RoadmapPhase, RoadmapClub, RoadmapValidationResult, RoadmapValidationError, RoadmapValidationWarning, CriticalPathResult, ParallelGroup, } from './roadmap.js';
|
|
23
25
|
export type { SlopeConfig } from './config.js';
|
|
24
|
-
export { loadConfig, createConfig, resolveConfigPath } from './config.js';
|
|
26
|
+
export { loadConfig, createConfig, saveConfig, resolveConfigPath } from './config.js';
|
|
25
27
|
export { loadScorecards, detectLatestSprint, resolveCurrentSprint } from './loader.js';
|
|
26
|
-
export { registerMetaphor, getMetaphor, listMetaphors, hasMetaphor, validateMetaphor, } from './metaphor.js';
|
|
28
|
+
export { registerMetaphor, getMetaphor, listMetaphors, hasMetaphor, validateMetaphor, METAPHOR_SCHEMA, } from './metaphor.js';
|
|
27
29
|
export type { MetaphorDefinition, MetaphorVocabulary, ClubTerms, ShotResultTerms, HazardTerms, ConditionTerms, SpecialPlayTerms, MissDirectionTerms, ScoreLabelTerms, SprintTypeTerms, TrainingTypeTerms, NutritionTerms, } from './metaphor.js';
|
|
28
30
|
export { clusterEvents, findPromotionCandidates, runPipeline, } from './pipeline.js';
|
|
29
31
|
export type { EventCluster, PromotionCandidate, PipelineResult, } from './pipeline.js';
|
|
@@ -31,6 +33,14 @@ export { detectRunner, parseTestOutput, parseVitestOutput, parseJestOutput, } fr
|
|
|
31
33
|
export { GH_PR_JSON_FIELDS, buildGhCommand, parsePRJson, emptyPRSignal, mergePRChecksWithCI, detectCheckRetries, } from './pr-signals.js';
|
|
32
34
|
export { GUARD_DEFINITIONS, formatPreToolUseOutput, formatPostToolUseOutput, formatStopOutput, generateClaudeCodeHooksConfig, registerCustomGuard, getAllGuardDefinitions, getCustomGuard, clearCustomGuards, } from './guard.js';
|
|
33
35
|
export type { HookInput, PreToolUseOutput, PostToolUseOutput, StopOutput, GuardResult, GuardName, GuardDefinition, GuidanceConfig, CustomGuardDefinition, AnyGuardDefinition, } from './guard.js';
|
|
36
|
+
export { TOOL_CATEGORIES, CLAUDE_CODE_TOOLS, ADAPTER_PRIORITY, registerAdapter, getAdapter, listAdapters, detectAdapter, clearAdapters, resolveToolMatcher, } from './harness.js';
|
|
37
|
+
export type { HarnessId, ToolCategory, ToolNameMap, HarnessAdapter, } from './harness.js';
|
|
38
|
+
export { ClaudeCodeAdapter, claudeCodeAdapter } from './adapters/claude-code.js';
|
|
39
|
+
export { CursorAdapter, cursorAdapter } from './adapters/cursor.js';
|
|
40
|
+
export { WindsurfAdapter, windsurfAdapter } from './adapters/windsurf.js';
|
|
41
|
+
export { ClineAdapter, clineAdapter } from './adapters/cline.js';
|
|
42
|
+
export { GenericAdapter, genericAdapter } from './adapters/generic.js';
|
|
43
|
+
export type { GuardManifestEntry } from './adapters/generic.js';
|
|
34
44
|
export { buildReportData, generateHtmlReport, REPORT_CSS, escapeHtml, svgLine, svgRect, svgText, renderSummaryCards, renderHandicapTrendChart, renderDispersionChart, renderAreaPerformanceChart, renderNutritionChart, renderSprintTable, } from './report.js';
|
|
35
45
|
export type { ReportData, SprintTrendEntry, NutritionTrendEntry, } from './report.js';
|
|
36
46
|
export { DEFAULT_DASHBOARD_CONFIG, generateDashboardHtml, renderSprintDetail, renderSprintTimeline, generateDashboardScript, computeMissHeatmap, renderMissHeatmap, computeAreaHazards, renderAreaHazardOverlay, } from './dashboard.js';
|
|
@@ -43,8 +53,8 @@ export { resolveEscalationConfig, detectEscalation, buildEscalationEvent, } from
|
|
|
43
53
|
export type { EscalationTrigger, EscalationSeverity, EscalationAction, EscalationConfig, EscalationResult, } from './escalation.js';
|
|
44
54
|
export { generateStandup, formatStandup, parseStandup, extractRelevantHandoffs, aggregateStandups, formatTeamStandup, } from './standup.js';
|
|
45
55
|
export type { StandupReport, HandoffEntry, TeamStandup, } from './standup.js';
|
|
46
|
-
export { validatePluginManifest, discoverPlugins, loadPlugins, loadPluginMetaphors, loadPluginGuards, isPluginEnabled, } from './plugins.js';
|
|
47
|
-
export type { PluginType, PluginManifest, DiscoveredPlugin, PluginLoadResult, PluginsConfig, } from './plugins.js';
|
|
56
|
+
export { validatePluginManifest, discoverPlugins, loadPlugins, loadPluginMetaphors, loadPluginGuards, isPluginEnabled, saveCustomMetaphor, } from './plugins.js';
|
|
57
|
+
export type { PluginType, PluginManifest, DiscoveredPlugin, PluginLoadResult, PluginsConfig, SaveMetaphorResult, } from './plugins.js';
|
|
48
58
|
export { buildLeaderboard, formatLeaderboard, renderLeaderboardHtml, } from './leaderboard.js';
|
|
49
59
|
export type { LeaderboardEntry, Leaderboard } from './leaderboard.js';
|
|
50
60
|
export { DEFAULT_PLAYER, extractPlayers, filterScorecardsByPlayer, computePlayerHandicaps, computePlayerHandicap, computeReporterSeverity, mergeHazardIndices, filterHazardsByVisibility, } from './player.js';
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAIA,YAAY,EACV,aAAa,EACb,UAAU,EACV,UAAU,EACV,aAAa,EACb,WAAW,EACX,aAAa,EACb,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAU,EACV,eAAe,EACf,SAAS,EACT,SAAS,EACT,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,aAAa,EACb,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,UAAU,EACV,WAAW,EACX,cAAc,EACd,SAAS,EACT,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,QAAQ,EACR,cAAc,EACd,UAAU,EACV,aAAa,EACb,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,cAAc,EACd,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,oBAAoB,GACrB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnE,OAAO,EACL,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,wBAAwB,EACxB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,aAAa,EACb,YAAY,EACZ,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,GAChB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACV,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,cAAc,EACd,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,WAAW,EACX,cAAc,GACf,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
|
package/dist/core/index.js
CHANGED
|
@@ -20,15 +20,17 @@ export { filterCommonIssues, extractHazardIndex, computeNutritionTrend, hazardBr
|
|
|
20
20
|
export { checkConflicts } from './registry.js';
|
|
21
21
|
// Store
|
|
22
22
|
export { SlopeStoreError } from './store.js';
|
|
23
|
+
// Store Health
|
|
24
|
+
export { checkStoreHealth } from './store-health.js';
|
|
23
25
|
// Tournament Review
|
|
24
26
|
export { buildTournamentReview, formatTournamentReview, } from './tournament.js';
|
|
25
27
|
// Roadmap
|
|
26
28
|
export { validateRoadmap, computeCriticalPath, findParallelOpportunities, parseRoadmap, formatRoadmapSummary, formatStrategicContext, } from './roadmap.js';
|
|
27
|
-
export { loadConfig, createConfig, resolveConfigPath } from './config.js';
|
|
29
|
+
export { loadConfig, createConfig, saveConfig, resolveConfigPath } from './config.js';
|
|
28
30
|
// Loader
|
|
29
31
|
export { loadScorecards, detectLatestSprint, resolveCurrentSprint } from './loader.js';
|
|
30
32
|
// Metaphor
|
|
31
|
-
export { registerMetaphor, getMetaphor, listMetaphors, hasMetaphor, validateMetaphor, } from './metaphor.js';
|
|
33
|
+
export { registerMetaphor, getMetaphor, listMetaphors, hasMetaphor, validateMetaphor, METAPHOR_SCHEMA, } from './metaphor.js';
|
|
32
34
|
// Event Pipeline
|
|
33
35
|
export { clusterEvents, findPromotionCandidates, runPipeline, } from './pipeline.js';
|
|
34
36
|
// CI Signal Parser
|
|
@@ -37,6 +39,14 @@ export { detectRunner, parseTestOutput, parseVitestOutput, parseJestOutput, } fr
|
|
|
37
39
|
export { GH_PR_JSON_FIELDS, buildGhCommand, parsePRJson, emptyPRSignal, mergePRChecksWithCI, detectCheckRetries, } from './pr-signals.js';
|
|
38
40
|
// Guard Framework
|
|
39
41
|
export { GUARD_DEFINITIONS, formatPreToolUseOutput, formatPostToolUseOutput, formatStopOutput, generateClaudeCodeHooksConfig, registerCustomGuard, getAllGuardDefinitions, getCustomGuard, clearCustomGuards, } from './guard.js';
|
|
42
|
+
// Harness Adapter Framework
|
|
43
|
+
export { TOOL_CATEGORIES, CLAUDE_CODE_TOOLS, ADAPTER_PRIORITY, registerAdapter, getAdapter, listAdapters, detectAdapter, clearAdapters, resolveToolMatcher, } from './harness.js';
|
|
44
|
+
// Adapters
|
|
45
|
+
export { ClaudeCodeAdapter, claudeCodeAdapter } from './adapters/claude-code.js';
|
|
46
|
+
export { CursorAdapter, cursorAdapter } from './adapters/cursor.js';
|
|
47
|
+
export { WindsurfAdapter, windsurfAdapter } from './adapters/windsurf.js';
|
|
48
|
+
export { ClineAdapter, clineAdapter } from './adapters/cline.js';
|
|
49
|
+
export { GenericAdapter, genericAdapter } from './adapters/generic.js';
|
|
40
50
|
// Report
|
|
41
51
|
export { buildReportData, generateHtmlReport, REPORT_CSS, escapeHtml, svgLine, svgRect, svgText, renderSummaryCards, renderHandicapTrendChart, renderDispersionChart, renderAreaPerformanceChart, renderNutritionChart, renderSprintTable, } from './report.js';
|
|
42
52
|
// Dashboard
|
|
@@ -50,7 +60,7 @@ export { resolveEscalationConfig, detectEscalation, buildEscalationEvent, } from
|
|
|
50
60
|
// Standup (Communication Protocol)
|
|
51
61
|
export { generateStandup, formatStandup, parseStandup, extractRelevantHandoffs, aggregateStandups, formatTeamStandup, } from './standup.js';
|
|
52
62
|
// Plugin System
|
|
53
|
-
export { validatePluginManifest, discoverPlugins, loadPlugins, loadPluginMetaphors, loadPluginGuards, isPluginEnabled, } from './plugins.js';
|
|
63
|
+
export { validatePluginManifest, discoverPlugins, loadPlugins, loadPluginMetaphors, loadPluginGuards, isPluginEnabled, saveCustomMetaphor, } from './plugins.js';
|
|
54
64
|
// Leaderboard (Multi-Developer)
|
|
55
65
|
export { buildLeaderboard, formatLeaderboard, renderLeaderboardHtml, } from './leaderboard.js';
|
|
56
66
|
// Player (Multi-Developer)
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,6BAA6B;AAgD7B,YAAY;AACZ,OAAO,EACL,cAAc,EACd,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAExB,WAAW;AACX,OAAO,EACL,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,UAAU;AACV,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAGtB,aAAa;AACb,OAAO,EACL,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAOzB,aAAa;AACb,OAAO,EACL,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AAEzB,UAAU;AACV,OAAO,EACL,aAAa,EACb,YAAY,EACZ,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAOtB,YAAY;AACZ,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAQxB,WAAW;AACX,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,cAAc,EACd,cAAc,GACf,MAAM,eAAe,CAAC;AAUvB,WAAW;AACX,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,QAAQ;AACR,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG7C,oBAAoB;AACpB,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AASzB,UAAU;AACV,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,yBAAyB,EACzB,YAAY,EACZ,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AAgBtB,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
|
package/dist/core/interview.js
CHANGED
|
@@ -14,7 +14,7 @@ export function validateInitInput(input) {
|
|
|
14
14
|
if (!input.projectName || input.projectName.trim().length === 0) {
|
|
15
15
|
errors.push('projectName is required and must be non-empty');
|
|
16
16
|
}
|
|
17
|
-
if (input.metaphor !== undefined) {
|
|
17
|
+
if (input.metaphor !== undefined && input.metaphor !== 'custom') {
|
|
18
18
|
// Import side-effects of metaphors happen at module load in the caller
|
|
19
19
|
if (!hasMetaphor(input.metaphor)) {
|
|
20
20
|
errors.push(`Unknown metaphor "${input.metaphor}". Use listMetaphors() to see available options.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interview.js","sourceRoot":"","sources":["../../src/core/interview.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,iEAAiE;AACjE,oEAAoE;AAEpE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAsB5C;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAgB;IAChD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"interview.js","sourceRoot":"","sources":["../../src/core/interview.ts"],"names":[],"mappings":"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"}
|
package/dist/core/metaphor.d.ts
CHANGED
|
@@ -68,6 +68,20 @@ export declare function getMetaphor(id: string): MetaphorDefinition;
|
|
|
68
68
|
export declare function listMetaphors(): MetaphorDefinition[];
|
|
69
69
|
/** Check if a metaphor ID is registered */
|
|
70
70
|
export declare function hasMetaphor(id: string): boolean;
|
|
71
|
+
/** Schema describing all required keys for each MetaphorDefinition category. Agents use this to generate valid custom metaphors. */
|
|
72
|
+
export declare const METAPHOR_SCHEMA: {
|
|
73
|
+
vocabulary: readonly ["sprint", "ticket", "scorecard", "handicapCard", "briefing", "perfectScore", "onTarget", "review"];
|
|
74
|
+
clubs: ClubSelection[];
|
|
75
|
+
shotResults: ShotResult[];
|
|
76
|
+
hazards: HazardType[];
|
|
77
|
+
conditions: ConditionType[];
|
|
78
|
+
specialPlays: SpecialPlay[];
|
|
79
|
+
missDirections: MissDirection[];
|
|
80
|
+
scoreLabels: ScoreLabel[];
|
|
81
|
+
sprintTypes: SprintType[];
|
|
82
|
+
trainingTypes: TrainingType[];
|
|
83
|
+
nutrition: NutritionCategory[];
|
|
84
|
+
};
|
|
71
85
|
/** Validate that a metaphor definition covers every required term */
|
|
72
86
|
export declare function validateMetaphor(metaphor: MetaphorDefinition): string[];
|
|
73
87
|
//# sourceMappingURL=metaphor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metaphor.d.ts","sourceRoot":"","sources":["../../src/core/metaphor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"metaphor.d.ts","sourceRoot":"","sources":["../../src/core/metaphor.ts"],"names":[],"mappings":"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"}
|
package/dist/core/metaphor.js
CHANGED
|
@@ -38,6 +38,20 @@ const REQUIRED_SCORES = ['eagle', 'birdie', 'par', 'bogey', 'double_bogey', 'tri
|
|
|
38
38
|
const REQUIRED_SPRINT_TYPES = ['feature', 'feedback', 'infra', 'bugfix', 'research', 'flow', 'test-coverage', 'audit'];
|
|
39
39
|
const REQUIRED_TRAINING = ['driving_range', 'chipping_practice', 'putting_practice', 'lessons'];
|
|
40
40
|
const REQUIRED_NUTRITION = ['hydration', 'diet', 'recovery', 'supplements', 'stretching'];
|
|
41
|
+
/** Schema describing all required keys for each MetaphorDefinition category. Agents use this to generate valid custom metaphors. */
|
|
42
|
+
export const METAPHOR_SCHEMA = {
|
|
43
|
+
vocabulary: ['sprint', 'ticket', 'scorecard', 'handicapCard', 'briefing', 'perfectScore', 'onTarget', 'review'],
|
|
44
|
+
clubs: REQUIRED_CLUBS,
|
|
45
|
+
shotResults: REQUIRED_SHOTS,
|
|
46
|
+
hazards: REQUIRED_HAZARDS,
|
|
47
|
+
conditions: REQUIRED_CONDITIONS,
|
|
48
|
+
specialPlays: REQUIRED_SPECIALS,
|
|
49
|
+
missDirections: REQUIRED_MISS,
|
|
50
|
+
scoreLabels: REQUIRED_SCORES,
|
|
51
|
+
sprintTypes: REQUIRED_SPRINT_TYPES,
|
|
52
|
+
trainingTypes: REQUIRED_TRAINING,
|
|
53
|
+
nutrition: REQUIRED_NUTRITION,
|
|
54
|
+
};
|
|
41
55
|
/** Validate that a metaphor definition covers every required term */
|
|
42
56
|
export function validateMetaphor(metaphor) {
|
|
43
57
|
const errors = [];
|