@slope-dev/slope 1.13.1 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/README.md +118 -189
  2. package/dist/adapters.d.ts +3 -0
  3. package/dist/adapters.d.ts.map +1 -1
  4. package/dist/adapters.js +2 -0
  5. package/dist/adapters.js.map +1 -1
  6. package/dist/cli/commands/context.d.ts +2 -0
  7. package/dist/cli/commands/context.d.ts.map +1 -0
  8. package/dist/cli/commands/context.js +190 -0
  9. package/dist/cli/commands/context.js.map +1 -0
  10. package/dist/cli/commands/distill.d.ts.map +1 -1
  11. package/dist/cli/commands/distill.js +13 -4
  12. package/dist/cli/commands/distill.js.map +1 -1
  13. package/dist/cli/commands/enrich.d.ts +2 -0
  14. package/dist/cli/commands/enrich.d.ts.map +1 -0
  15. package/dist/cli/commands/enrich.js +140 -0
  16. package/dist/cli/commands/enrich.js.map +1 -0
  17. package/dist/cli/commands/guard.d.ts +19 -0
  18. package/dist/cli/commands/guard.d.ts.map +1 -1
  19. package/dist/cli/commands/guard.js +87 -1
  20. package/dist/cli/commands/guard.js.map +1 -1
  21. package/dist/cli/commands/hook.d.ts +1 -0
  22. package/dist/cli/commands/hook.d.ts.map +1 -1
  23. package/dist/cli/commands/hook.js +2 -0
  24. package/dist/cli/commands/hook.js.map +1 -1
  25. package/dist/cli/commands/index-cmd.d.ts +2 -0
  26. package/dist/cli/commands/index-cmd.d.ts.map +1 -0
  27. package/dist/cli/commands/index-cmd.js +296 -0
  28. package/dist/cli/commands/index-cmd.js.map +1 -0
  29. package/dist/cli/commands/init.d.ts +4 -2
  30. package/dist/cli/commands/init.d.ts.map +1 -1
  31. package/dist/cli/commands/init.js +204 -145
  32. package/dist/cli/commands/init.js.map +1 -1
  33. package/dist/cli/commands/initiative.d.ts +2 -0
  34. package/dist/cli/commands/initiative.d.ts.map +1 -0
  35. package/dist/cli/commands/initiative.js +207 -0
  36. package/dist/cli/commands/initiative.js.map +1 -0
  37. package/dist/cli/commands/metaphor.d.ts +3 -0
  38. package/dist/cli/commands/metaphor.d.ts.map +1 -0
  39. package/dist/cli/commands/metaphor.js +100 -0
  40. package/dist/cli/commands/metaphor.js.map +1 -0
  41. package/dist/cli/commands/prep.d.ts +2 -0
  42. package/dist/cli/commands/prep.d.ts.map +1 -0
  43. package/dist/cli/commands/prep.js +94 -0
  44. package/dist/cli/commands/prep.js.map +1 -0
  45. package/dist/cli/commands/roadmap.d.ts.map +1 -1
  46. package/dist/cli/commands/roadmap.js +83 -44
  47. package/dist/cli/commands/roadmap.js.map +1 -1
  48. package/dist/cli/commands/store.d.ts +2 -0
  49. package/dist/cli/commands/store.d.ts.map +1 -0
  50. package/dist/cli/commands/store.js +270 -0
  51. package/dist/cli/commands/store.js.map +1 -0
  52. package/dist/cli/guards/stop-check.d.ts +1 -1
  53. package/dist/cli/guards/stop-check.d.ts.map +1 -1
  54. package/dist/cli/guards/stop-check.js +14 -2
  55. package/dist/cli/guards/stop-check.js.map +1 -1
  56. package/dist/cli/index.js +60 -1
  57. package/dist/cli/index.js.map +1 -1
  58. package/dist/cli/interactive-init.d.ts +19 -0
  59. package/dist/cli/interactive-init.d.ts.map +1 -0
  60. package/dist/cli/interactive-init.js +132 -0
  61. package/dist/cli/interactive-init.js.map +1 -0
  62. package/dist/cli/registry.d.ts.map +1 -1
  63. package/dist/cli/registry.js +8 -0
  64. package/dist/cli/registry.js.map +1 -1
  65. package/dist/cli/store.d.ts +9 -0
  66. package/dist/cli/store.d.ts.map +1 -1
  67. package/dist/cli/store.js +29 -0
  68. package/dist/cli/store.js.map +1 -1
  69. package/dist/cli/template-generator.d.ts +1 -1
  70. package/dist/cli/template-generator.d.ts.map +1 -1
  71. package/dist/cli/template-generator.js +5 -3
  72. package/dist/cli/template-generator.js.map +1 -1
  73. package/dist/core/adapters/claude-code.d.ts +3 -0
  74. package/dist/core/adapters/claude-code.d.ts.map +1 -1
  75. package/dist/core/adapters/claude-code.js +17 -2
  76. package/dist/core/adapters/claude-code.js.map +1 -1
  77. package/dist/core/adapters/cline.d.ts +36 -0
  78. package/dist/core/adapters/cline.d.ts.map +1 -0
  79. package/dist/core/adapters/cline.js +279 -0
  80. package/dist/core/adapters/cline.js.map +1 -0
  81. package/dist/core/adapters/cursor.d.ts +3 -0
  82. package/dist/core/adapters/cursor.d.ts.map +1 -1
  83. package/dist/core/adapters/cursor.js +5 -0
  84. package/dist/core/adapters/cursor.js.map +1 -1
  85. package/dist/core/adapters/generic.d.ts +3 -0
  86. package/dist/core/adapters/generic.d.ts.map +1 -1
  87. package/dist/core/adapters/generic.js +5 -0
  88. package/dist/core/adapters/generic.js.map +1 -1
  89. package/dist/core/adapters/windsurf.d.ts +3 -0
  90. package/dist/core/adapters/windsurf.d.ts.map +1 -1
  91. package/dist/core/adapters/windsurf.js +5 -0
  92. package/dist/core/adapters/windsurf.js.map +1 -1
  93. package/dist/core/config.d.ts +8 -0
  94. package/dist/core/config.d.ts.map +1 -1
  95. package/dist/core/config.js +9 -0
  96. package/dist/core/config.js.map +1 -1
  97. package/dist/core/context.d.ts +20 -0
  98. package/dist/core/context.d.ts.map +1 -0
  99. package/dist/core/context.js +59 -0
  100. package/dist/core/context.js.map +1 -0
  101. package/dist/core/embedding-client.d.ts +11 -0
  102. package/dist/core/embedding-client.d.ts.map +1 -0
  103. package/dist/core/embedding-client.js +92 -0
  104. package/dist/core/embedding-client.js.map +1 -0
  105. package/dist/core/embedding-store.d.ts +44 -0
  106. package/dist/core/embedding-store.d.ts.map +1 -0
  107. package/dist/core/embedding-store.js +7 -0
  108. package/dist/core/embedding-store.js.map +1 -0
  109. package/dist/core/embedding.d.ts +32 -0
  110. package/dist/core/embedding.d.ts.map +1 -0
  111. package/dist/core/embedding.js +114 -0
  112. package/dist/core/embedding.js.map +1 -0
  113. package/dist/core/enrich.d.ts +76 -0
  114. package/dist/core/enrich.d.ts.map +1 -0
  115. package/dist/core/enrich.js +115 -0
  116. package/dist/core/enrich.js.map +1 -0
  117. package/dist/core/harness.d.ts +6 -0
  118. package/dist/core/harness.d.ts.map +1 -1
  119. package/dist/core/harness.js +1 -1
  120. package/dist/core/harness.js.map +1 -1
  121. package/dist/core/index.d.ts +30 -8
  122. package/dist/core/index.d.ts.map +1 -1
  123. package/dist/core/index.js +26 -5
  124. package/dist/core/index.js.map +1 -1
  125. package/dist/core/initiative.d.ts +72 -0
  126. package/dist/core/initiative.d.ts.map +1 -0
  127. package/dist/core/initiative.js +421 -0
  128. package/dist/core/initiative.js.map +1 -0
  129. package/dist/core/interview-engine.d.ts +34 -0
  130. package/dist/core/interview-engine.d.ts.map +1 -0
  131. package/dist/core/interview-engine.js +195 -0
  132. package/dist/core/interview-engine.js.map +1 -0
  133. package/dist/core/interview-steps.d.ts +27 -0
  134. package/dist/core/interview-steps.d.ts.map +1 -0
  135. package/dist/core/interview-steps.js +157 -0
  136. package/dist/core/interview-steps.js.map +1 -0
  137. package/dist/core/interview.d.ts +20 -0
  138. package/dist/core/interview.d.ts.map +1 -1
  139. package/dist/core/interview.js +62 -35
  140. package/dist/core/interview.js.map +1 -1
  141. package/dist/core/metaphor-preview.d.ts +34 -0
  142. package/dist/core/metaphor-preview.d.ts.map +1 -0
  143. package/dist/core/metaphor-preview.js +94 -0
  144. package/dist/core/metaphor-preview.js.map +1 -0
  145. package/dist/core/metaphor.d.ts +14 -0
  146. package/dist/core/metaphor.d.ts.map +1 -1
  147. package/dist/core/metaphor.js +14 -0
  148. package/dist/core/metaphor.js.map +1 -1
  149. package/dist/core/plugins.d.ts +12 -0
  150. package/dist/core/plugins.d.ts.map +1 -1
  151. package/dist/core/plugins.js +58 -1
  152. package/dist/core/plugins.js.map +1 -1
  153. package/dist/core/prep.d.ts +88 -0
  154. package/dist/core/prep.d.ts.map +1 -0
  155. package/dist/core/prep.js +302 -0
  156. package/dist/core/prep.js.map +1 -0
  157. package/dist/core/roadmap.d.ts.map +1 -1
  158. package/dist/core/roadmap.js +5 -4
  159. package/dist/core/roadmap.js.map +1 -1
  160. package/dist/core/roles.d.ts +3 -0
  161. package/dist/core/roles.d.ts.map +1 -1
  162. package/dist/core/roles.js +36 -0
  163. package/dist/core/roles.js.map +1 -1
  164. package/dist/core/store-health.d.ts +11 -0
  165. package/dist/core/store-health.d.ts.map +1 -0
  166. package/dist/core/store-health.js +26 -0
  167. package/dist/core/store-health.js.map +1 -0
  168. package/dist/core/store.d.ts +11 -1
  169. package/dist/core/store.d.ts.map +1 -1
  170. package/dist/core/store.js.map +1 -1
  171. package/dist/mcp/index.d.ts +2 -2
  172. package/dist/mcp/index.d.ts.map +1 -1
  173. package/dist/mcp/index.js +103 -6
  174. package/dist/mcp/index.js.map +1 -1
  175. package/dist/mcp/index.test.js +7 -4
  176. package/dist/mcp/index.test.js.map +1 -1
  177. package/dist/mcp/registry.d.ts +1 -1
  178. package/dist/mcp/registry.d.ts.map +1 -1
  179. package/dist/mcp/registry.js +47 -3
  180. package/dist/mcp/registry.js.map +1 -1
  181. package/dist/mcp/sandbox.d.ts.map +1 -1
  182. package/dist/mcp/sandbox.js +18 -1
  183. package/dist/mcp/sandbox.js.map +1 -1
  184. package/dist/store/index.d.ts +34 -3
  185. package/dist/store/index.d.ts.map +1 -1
  186. package/dist/store/index.js +220 -4
  187. package/dist/store/index.js.map +1 -1
  188. package/dist/store-pg/index.d.ts +3 -0
  189. package/dist/store-pg/index.d.ts.map +1 -1
  190. package/dist/store-pg/index.js +74 -1
  191. package/dist/store-pg/index.js.map +1 -1
  192. package/package.json +14 -7
@@ -0,0 +1,279 @@
1
+ // SLOPE ClineAdapter — adapts guard framework to Cline's per-event hook system.
2
+ // Cline (v3.36+) uses per-event executable scripts in .clinerules/hooks/.
3
+ // Each script receives JSON on stdin and returns JSON on stdout.
4
+ //
5
+ // Source: https://docs.cline.bot/features/hooks
6
+ // Verified against Cline v3.68.0 (2026-02-27), github.com/cline/cline
7
+ import { existsSync, writeFileSync, mkdirSync, chmodSync } from 'node:fs';
8
+ import { join } from 'node:path';
9
+ import { registerAdapter, resolveToolMatcher } from '../harness.js';
10
+ /**
11
+ * Cline tool name mappings — verified from Cline v3.68.0 system prompt.
12
+ *
13
+ * CAUTION: Cline's `search_files` is a content search (regex grep), NOT file listing.
14
+ * `list_files` is file/directory listing. This is the opposite of what the names suggest.
15
+ */
16
+ const CLINE_TOOLS = {
17
+ read_file: 'read_file',
18
+ write_file: 'write_to_file|replace_in_file',
19
+ search_files: 'list_files', // file discovery, NOT content search
20
+ search_content: 'search_files', // content grep, NOT file listing
21
+ execute_command: 'execute_command',
22
+ create_subagent: 'use_mcp_tool',
23
+ exit_plan: 'plan_mode_response',
24
+ };
25
+ /**
26
+ * Map SLOPE hook events to Cline hook event names (PascalCase, matching script filenames).
27
+ *
28
+ * TaskComplete is intentionally NOT mapped to Stop — a completed task already finished
29
+ * and can't be blocked. Only TaskCancel maps to Stop because cancellation can be intercepted.
30
+ */
31
+ const HOOK_EVENT_MAP = {
32
+ PreToolUse: 'PreToolUse',
33
+ PostToolUse: 'PostToolUse',
34
+ Stop: 'TaskCancel',
35
+ PreCompact: 'PreCompact',
36
+ };
37
+ /** Cline adapter — formats guard output for Cline's per-event script protocol. */
38
+ export class ClineAdapter {
39
+ id = 'cline';
40
+ displayName = 'Cline';
41
+ toolNames = CLINE_TOOLS;
42
+ supportedEvents = new Set(['PreToolUse', 'PostToolUse', 'Stop', 'PreCompact']);
43
+ supportsContextInjection = true;
44
+ hooksConfigPath(_cwd) {
45
+ // Cline uses directory-based hook discovery (per-event scripts), not a single config file.
46
+ // Returning null matches GenericAdapter pattern and avoids breaking readFileSync callers.
47
+ return null;
48
+ }
49
+ formatPreToolOutput(result) {
50
+ if (result.decision === 'deny' || result.blockReason) {
51
+ return {
52
+ cancel: true,
53
+ ...(result.blockReason && { errorMessage: result.blockReason }),
54
+ ...(result.context && { contextModification: result.context }),
55
+ };
56
+ }
57
+ // 'ask' maps to cancel: false — Cline has no user-confirmation prompt
58
+ return {
59
+ cancel: false,
60
+ ...(result.context && { contextModification: result.context }),
61
+ };
62
+ }
63
+ formatPostToolOutput(result) {
64
+ if (result.blockReason) {
65
+ return {
66
+ cancel: true,
67
+ errorMessage: result.blockReason,
68
+ ...(result.context && { contextModification: result.context }),
69
+ };
70
+ }
71
+ return {
72
+ cancel: false,
73
+ ...(result.context && { contextModification: result.context }),
74
+ };
75
+ }
76
+ formatStopOutput(result) {
77
+ if (result.blockReason) {
78
+ return {
79
+ cancel: true,
80
+ errorMessage: result.blockReason,
81
+ };
82
+ }
83
+ return { cancel: false };
84
+ }
85
+ /**
86
+ * Generate per-event dispatcher script content for a set of guards.
87
+ * Cline has no hooks.json — each event has a single script that must handle
88
+ * all guards for that event, including tool name filtering.
89
+ */
90
+ generateHooksConfig(guards, guardScriptPath) {
91
+ const scripts = {};
92
+ // Group guards by Cline event
93
+ const guardsByEvent = new Map();
94
+ for (const g of guards) {
95
+ const clineEvent = HOOK_EVENT_MAP[g.hookEvent];
96
+ if (!clineEvent)
97
+ continue;
98
+ let list = guardsByEvent.get(clineEvent);
99
+ if (!list) {
100
+ list = [];
101
+ guardsByEvent.set(clineEvent, list);
102
+ }
103
+ list.push(g);
104
+ }
105
+ for (const [event, eventGuards] of guardsByEvent) {
106
+ const guardCalls = eventGuards.map(g => {
107
+ const matcher = resolveToolMatcher(this, 'toolCategories' in g ? g.toolCategories : undefined);
108
+ if (matcher) {
109
+ // Filter by tool name — Cline has no built-in matcher, so we filter in the script
110
+ const tools = matcher.split('|').map(t => `"${t}"`).join(' ');
111
+ return [
112
+ `# Guard: ${g.name} — ${g.description}`,
113
+ `TOOLS=(${tools})`,
114
+ `if tool_matches "$TOOL_NAME" "\${TOOLS[@]}"; then`,
115
+ ` run_guard "${guardScriptPath}" "${g.name}"`,
116
+ `fi`,
117
+ ].join('\n');
118
+ }
119
+ // No matcher — runs for all tools
120
+ return [
121
+ `# Guard: ${g.name} — ${g.description}`,
122
+ `run_guard "${guardScriptPath}" "${g.name}"`,
123
+ ].join('\n');
124
+ });
125
+ scripts[event] = [
126
+ '#!/usr/bin/env bash',
127
+ `# SLOPE guard dispatcher for Cline ${event} event`,
128
+ '# Auto-generated by slope hook add --level=full --harness=cline',
129
+ '#',
130
+ '# Cline passes JSON on stdin. This script routes to matching SLOPE guards',
131
+ '# and returns JSON on stdout with { cancel, contextModification, errorMessage }.',
132
+ '',
133
+ '# === SLOPE MANAGED (do not edit above this line) ===',
134
+ '',
135
+ '# Read stdin once and cache it',
136
+ 'INPUT=$(cat)',
137
+ '',
138
+ '# Extract tool name from Cline stdin JSON.',
139
+ '# Cline nests tool info under the event key: { "preToolUse": { "tool": "..." } }',
140
+ '# For non-tool events (TaskCancel, PreCompact), TOOL_NAME will be empty — this is correct.',
141
+ 'HAS_JQ=false',
142
+ 'command -v jq >/dev/null 2>&1 && HAS_JQ=true',
143
+ '',
144
+ 'if [ "$HAS_JQ" = "true" ]; then',
145
+ ' TOOL_NAME=$(echo "$INPUT" | jq -r \'(.preToolUse.tool // .postToolUse.tool // empty)\' 2>/dev/null || true)',
146
+ 'else',
147
+ ' # Fallback: extract from nested event object. Looks for "tool" key after the event key.',
148
+ ' TOOL_NAME=$(echo "$INPUT" | sed -n \'s/.*"tool"[[:space:]]*:[[:space:]]*"\\([^"]*\\)".*/\\1/p\' | head -1)',
149
+ 'fi',
150
+ '',
151
+ '# Track combined result',
152
+ 'CANCELLED=false',
153
+ 'ERROR_MSG=""',
154
+ 'CONTEXT=""',
155
+ '',
156
+ 'tool_matches() {',
157
+ ' local tool="$1"; shift',
158
+ ' for t in "$@"; do',
159
+ ' [ "$tool" = "$t" ] && return 0',
160
+ ' done',
161
+ ' return 1',
162
+ '}',
163
+ '',
164
+ '# JSON-safe string escape (for printf output)',
165
+ 'json_escape() {',
166
+ ' local s="$1"',
167
+ ' s="${s//\\\\/\\\\\\\\}"', // escape backslashes
168
+ ' s="${s//\\"/\\\\\\"}"', // escape double quotes
169
+ ' printf "%s" "$s"',
170
+ '}',
171
+ '',
172
+ 'run_guard() {',
173
+ ' local script="$1" guard="$2"',
174
+ ' local result',
175
+ ' result=$(echo "$INPUT" | "$script" "$guard" 2>/dev/null) || return 0',
176
+ ' ',
177
+ ' if [ "$HAS_JQ" = "true" ]; then',
178
+ ' local cancel ctx msg',
179
+ ' cancel=$(echo "$result" | jq -r \'.cancel // false\' 2>/dev/null || true)',
180
+ ' if [ "$cancel" = "true" ]; then',
181
+ ' CANCELLED=true',
182
+ ' msg=$(echo "$result" | jq -r \'.errorMessage // empty\' 2>/dev/null || true)',
183
+ ' [ -n "$msg" ] && ERROR_MSG="${ERROR_MSG:+$ERROR_MSG; }$msg"',
184
+ ' fi',
185
+ ' ctx=$(echo "$result" | jq -r \'.contextModification // empty\' 2>/dev/null || true)',
186
+ ' [ -n "$ctx" ] && CONTEXT="${CONTEXT:+$CONTEXT; }$ctx"',
187
+ ' else',
188
+ ' # Fallback: grep-based JSON parsing',
189
+ ' local cancel',
190
+ ' cancel=$(echo "$result" | sed -n \'s/.*"cancel"[[:space:]]*:[[:space:]]*\\(true\\).*/\\1/p\' | head -1)',
191
+ ' if [ "$cancel" = "true" ]; then',
192
+ ' CANCELLED=true',
193
+ ' local msg',
194
+ ' msg=$(echo "$result" | sed -n \'s/.*"errorMessage"[[:space:]]*:[[:space:]]*"\\([^"]*\\)".*/\\1/p\' | head -1)',
195
+ ' [ -n "$msg" ] && ERROR_MSG="${ERROR_MSG:+$ERROR_MSG; }$msg"',
196
+ ' fi',
197
+ ' local ctx',
198
+ ' ctx=$(echo "$result" | sed -n \'s/.*"contextModification"[[:space:]]*:[[:space:]]*"\\([^"]*\\)".*/\\1/p\' | head -1)',
199
+ ' [ -n "$ctx" ] && CONTEXT="${CONTEXT:+$CONTEXT; }$ctx"',
200
+ ' fi',
201
+ '}',
202
+ '',
203
+ ...guardCalls,
204
+ '',
205
+ '# Output combined result — use jq for safe JSON encoding if available',
206
+ 'if [ "$HAS_JQ" = "true" ]; then',
207
+ ' if [ "$CANCELLED" = "true" ]; then',
208
+ ' jq -n --argjson cancel true --arg err "$ERROR_MSG" --arg ctx "$CONTEXT" \\',
209
+ ' \'if ($ctx | length) > 0 then {cancel:$cancel,errorMessage:$err,contextModification:$ctx} else {cancel:$cancel,errorMessage:$err} end\'',
210
+ ' elif [ -n "$CONTEXT" ]; then',
211
+ ' jq -n --argjson cancel false --arg ctx "$CONTEXT" \'{cancel:$cancel,contextModification:$ctx}\'',
212
+ ' else',
213
+ ' echo \'{"cancel":false}\'',
214
+ ' fi',
215
+ 'else',
216
+ ' # Fallback: manual JSON with escaped values',
217
+ ' if [ "$CANCELLED" = "true" ]; then',
218
+ ' if [ -n "$CONTEXT" ]; then',
219
+ ' printf \'{"cancel":true,"errorMessage":"%s","contextModification":"%s"}\\n\' "$(json_escape "$ERROR_MSG")" "$(json_escape "$CONTEXT")"',
220
+ ' else',
221
+ ' printf \'{"cancel":true,"errorMessage":"%s"}\\n\' "$(json_escape "$ERROR_MSG")"',
222
+ ' fi',
223
+ ' elif [ -n "$CONTEXT" ]; then',
224
+ ' printf \'{"cancel":false,"contextModification":"%s"}\\n\' "$(json_escape "$CONTEXT")"',
225
+ ' else',
226
+ ' printf \'{"cancel":false}\\n\'',
227
+ ' fi',
228
+ 'fi',
229
+ '',
230
+ '# === SLOPE END ===',
231
+ '',
232
+ ].join('\n');
233
+ }
234
+ return scripts;
235
+ }
236
+ installGuards(cwd, guards) {
237
+ const hooksDir = join(cwd, '.clinerules', 'hooks');
238
+ mkdirSync(hooksDir, { recursive: true });
239
+ // Create the guard dispatcher (used by per-event scripts)
240
+ const dispatcherPath = join(hooksDir, 'slope-guard.sh');
241
+ if (!existsSync(dispatcherPath)) {
242
+ const script = [
243
+ '#!/usr/bin/env bash',
244
+ '# SLOPE guard dispatcher — called by per-event hook scripts',
245
+ '# Auto-generated by slope hook add --level=full --harness=cline',
246
+ '#',
247
+ '# Receives JSON on stdin, passes to slope guard, returns JSON on stdout.',
248
+ '',
249
+ '# === SLOPE MANAGED (do not edit above this line) ===',
250
+ 'slope guard "$@"',
251
+ '# === SLOPE END ===',
252
+ '',
253
+ ].join('\n');
254
+ writeFileSync(dispatcherPath, script, { mode: 0o755 });
255
+ console.log(` Created ${dispatcherPath}`);
256
+ }
257
+ // Generate per-event scripts
258
+ const guardScript = join('.clinerules', 'hooks', 'slope-guard.sh');
259
+ const eventScripts = this.generateHooksConfig(guards, guardScript);
260
+ for (const [event, content] of Object.entries(eventScripts)) {
261
+ const scriptPath = join(hooksDir, event);
262
+ // Always overwrite event scripts (they're fully generated)
263
+ writeFileSync(scriptPath, content);
264
+ chmodSync(scriptPath, 0o755);
265
+ console.log(` Created ${scriptPath}`);
266
+ }
267
+ console.log(` Installed ${Object.keys(eventScripts).length} Cline hook scripts to ${hooksDir}`);
268
+ }
269
+ detect(cwd) {
270
+ // Only detect if hooks directory exists (not just .clinerules/)
271
+ // Prevents false-positives on Cline projects that use rules without SLOPE hooks
272
+ return existsSync(join(cwd, '.clinerules', 'hooks'));
273
+ }
274
+ }
275
+ /** Singleton instance */
276
+ export const clineAdapter = new ClineAdapter();
277
+ // Auto-register on import
278
+ registerAdapter(clineAdapter);
279
+ //# sourceMappingURL=cline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cline.js","sourceRoot":"","sources":["../../../src/core/adapters/cline.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,9 @@ export declare class CursorAdapter implements HarnessAdapter {
23
23
  readonly id: "cursor";
24
24
  readonly displayName = "Cursor";
25
25
  readonly toolNames: ToolNameMap;
26
+ readonly supportedEvents: Set<string>;
27
+ readonly supportsContextInjection = true;
28
+ hooksConfigPath(cwd: string): string | null;
26
29
  formatPreToolOutput(result: GuardResult): CursorHookOutput;
27
30
  formatPostToolOutput(result: GuardResult): CursorHookOutput;
28
31
  formatStopOutput(result: GuardResult): CursorHookOutput;
@@ -1 +1 @@
1
- {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/cursor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAanE,8CAA8C;AAC9C,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,gCAAgC;AAChC,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B;AAED,kCAAkC;AAClC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAYD,6EAA6E;AAC7E,qBAAa,aAAc,YAAW,cAAc;IAClD,QAAQ,CAAC,EAAE,EAAG,QAAQ,CAAU;IAChC,QAAQ,CAAC,WAAW,YAAY;IAChC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAgB;IAE/C,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,gBAAgB;IAe1D,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,gBAAgB;IAc3D,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,gBAAgB;IAUvD,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,eAAe,EAAE,MAAM,GAAG,iBAAiB;IAsB7F,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI;IAmD9D,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;CAG7B;AAED,yBAAyB;AACzB,eAAO,MAAM,aAAa,eAAsB,CAAC"}
1
+ {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/cursor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAanE,8CAA8C;AAC9C,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,gCAAgC;AAChC,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B;AAED,kCAAkC;AAClC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAYD,6EAA6E;AAC7E,qBAAa,aAAc,YAAW,cAAc;IAClD,QAAQ,CAAC,EAAE,EAAG,QAAQ,CAAU;IAChC,QAAQ,CAAC,WAAW,YAAY;IAChC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAgB;IAC/C,QAAQ,CAAC,eAAe,cAAkD;IAC1E,QAAQ,CAAC,wBAAwB,QAAQ;IAEzC,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI3C,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,gBAAgB;IAe1D,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,gBAAgB;IAc3D,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,gBAAgB;IAUvD,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,eAAe,EAAE,MAAM,GAAG,iBAAiB;IAsB7F,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI;IAmD9D,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;CAG7B;AAED,yBAAyB;AACzB,eAAO,MAAM,aAAa,eAAsB,CAAC"}
@@ -27,6 +27,11 @@ export class CursorAdapter {
27
27
  id = 'cursor';
28
28
  displayName = 'Cursor';
29
29
  toolNames = CURSOR_TOOLS;
30
+ supportedEvents = new Set(['PreToolUse', 'PostToolUse', 'Stop']);
31
+ supportsContextInjection = true;
32
+ hooksConfigPath(cwd) {
33
+ return join(cwd, '.cursor', 'hooks.json');
34
+ }
30
35
  formatPreToolOutput(result) {
31
36
  if (result.decision === 'deny' || result.blockReason) {
32
37
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../../src/core/adapters/cursor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../../src/core/adapters/cursor.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,9 @@ export declare class GenericAdapter implements HarnessAdapter {
14
14
  readonly id: "generic";
15
15
  readonly displayName = "Generic (Shell)";
16
16
  readonly toolNames: ToolNameMap;
17
+ readonly supportedEvents: Set<string>;
18
+ readonly supportsContextInjection = false;
19
+ hooksConfigPath(_cwd: string): string | null;
17
20
  formatPreToolOutput(result: GuardResult): unknown;
18
21
  formatPostToolOutput(result: GuardResult): unknown;
19
22
  formatStopOutput(result: GuardResult): unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"generic.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/generic.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAanE,2DAA2D;AAC3D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,oFAAoF;AACpF,qBAAa,cAAe,YAAW,cAAc;IACnD,QAAQ,CAAC,EAAE,EAAG,SAAS,CAAU;IACjC,QAAQ,CAAC,WAAW,qBAAqB;IACzC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAiB;IAEhD,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO;IAYjD,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO;IAQlD,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO;IAO9C,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,eAAe,EAAE,MAAM,GAAG,kBAAkB,EAAE;IAehG,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI;IAyE9D,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAI9B;AAED,yBAAyB;AACzB,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
1
+ {"version":3,"file":"generic.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/generic.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAanE,2DAA2D;AAC3D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,oFAAoF;AACpF,qBAAa,cAAe,YAAW,cAAc;IACnD,QAAQ,CAAC,EAAE,EAAG,SAAS,CAAU;IACjC,QAAQ,CAAC,WAAW,qBAAqB;IACzC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAiB;IAChD,QAAQ,CAAC,eAAe,cAAkD;IAC1E,QAAQ,CAAC,wBAAwB,SAAS;IAE1C,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI5C,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO;IAYjD,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO;IAQlD,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO;IAO9C,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,eAAe,EAAE,MAAM,GAAG,kBAAkB,EAAE;IAehG,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI;IAyE9D,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAI9B;AAED,yBAAyB;AACzB,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
@@ -18,6 +18,11 @@ export class GenericAdapter {
18
18
  id = 'generic';
19
19
  displayName = 'Generic (Shell)';
20
20
  toolNames = GENERIC_TOOLS;
21
+ supportedEvents = new Set(['PreToolUse', 'PostToolUse', 'Stop']);
22
+ supportsContextInjection = false;
23
+ hooksConfigPath(_cwd) {
24
+ return null;
25
+ }
21
26
  formatPreToolOutput(result) {
22
27
  const action = result.decision === 'deny' ? 'deny'
23
28
  : result.decision === 'ask' ? 'ask'
@@ -1 +1 @@
1
- {"version":3,"file":"generic.js","sourceRoot":"","sources":["../../../src/core/adapters/generic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generic.js","sourceRoot":"","sources":["../../../src/core/adapters/generic.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,9 @@ export declare class WindsurfAdapter implements HarnessAdapter {
22
22
  readonly id: "windsurf";
23
23
  readonly displayName = "Windsurf";
24
24
  readonly toolNames: ToolNameMap;
25
+ readonly supportedEvents: Set<string>;
26
+ readonly supportsContextInjection = false;
27
+ hooksConfigPath(cwd: string): string | null;
25
28
  formatPreToolOutput(result: GuardResult): WindsurfHookOutput;
26
29
  formatPostToolOutput(result: GuardResult): WindsurfHookOutput;
27
30
  formatStopOutput(result: GuardResult): WindsurfHookOutput;
@@ -1 +1 @@
1
- {"version":3,"file":"windsurf.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/windsurf.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAanE,kDAAkD;AAClD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,kCAAkC;AAClC,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,iBAAiB,EAAE,CAAC;CAC5B;AAED,uFAAuF;AACvF,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAYD,0FAA0F;AAC1F,qBAAa,eAAgB,YAAW,cAAc;IACpD,QAAQ,CAAC,EAAE,EAAG,UAAU,CAAU;IAClC,QAAQ,CAAC,WAAW,cAAc;IAClC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAkB;IAEjD,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,kBAAkB;IAW5D,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,kBAAkB;IAU7D,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,kBAAkB;IAWzD,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,eAAe,EAAE,MAAM,GAAG,mBAAmB;IAsB/F,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI;IAkF9D,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;CAG7B;AAED,yBAAyB;AACzB,eAAO,MAAM,eAAe,iBAAwB,CAAC"}
1
+ {"version":3,"file":"windsurf.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/windsurf.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAanE,kDAAkD;AAClD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,kCAAkC;AAClC,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,iBAAiB,EAAE,CAAC;CAC5B;AAED,uFAAuF;AACvF,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAYD,0FAA0F;AAC1F,qBAAa,eAAgB,YAAW,cAAc;IACpD,QAAQ,CAAC,EAAE,EAAG,UAAU,CAAU;IAClC,QAAQ,CAAC,WAAW,cAAc;IAClC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAkB;IACjD,QAAQ,CAAC,eAAe,cAA0C;IAClE,QAAQ,CAAC,wBAAwB,SAAS;IAE1C,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI3C,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,kBAAkB;IAW5D,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,kBAAkB;IAU7D,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,kBAAkB;IAWzD,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,eAAe,EAAE,MAAM,GAAG,mBAAmB;IAsB/F,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI;IAkF9D,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;CAG7B;AAED,yBAAyB;AACzB,eAAO,MAAM,eAAe,iBAAwB,CAAC"}
@@ -31,6 +31,11 @@ export class WindsurfAdapter {
31
31
  id = 'windsurf';
32
32
  displayName = 'Windsurf';
33
33
  toolNames = WINDSURF_TOOLS;
34
+ supportedEvents = new Set(['PreToolUse', 'PostToolUse']);
35
+ supportsContextInjection = false;
36
+ hooksConfigPath(cwd) {
37
+ return join(cwd, '.windsurf', 'hooks.json');
38
+ }
34
39
  formatPreToolOutput(result) {
35
40
  if (result.decision === 'deny' || result.blockReason) {
36
41
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"windsurf.js","sourceRoot":"","sources":["../../../src/core/adapters/windsurf.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"windsurf.js","sourceRoot":"","sources":["../../../src/core/adapters/windsurf.ts"],"names":[],"mappings":"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"}
@@ -51,8 +51,16 @@ export interface SlopeConfig {
51
51
  connectionString: string;
52
52
  projectId?: string;
53
53
  };
54
+ embedding?: {
55
+ endpoint: string;
56
+ model: string;
57
+ dimensions: number;
58
+ apiKey?: string;
59
+ };
54
60
  }
55
61
  export declare function loadConfig(cwd?: string): SlopeConfig;
56
62
  export declare function createConfig(cwd?: string): string;
63
+ /** Write a complete SlopeConfig to .slope/config.json. Expects a full config object (use loadConfig() to read-modify-write). */
64
+ export declare function saveConfig(config: SlopeConfig, cwd?: string): string;
57
65
  export declare function resolveConfigPath(config: SlopeConfig, relativePath: string, cwd?: string): string;
58
66
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;KACpC,CAAC;IACF,aAAa,CAAC,EAAE;QACd,UAAU,CAAC,EAAE,gBAAgB,CAAC;KAC/B,CAAC;IACF,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,SAAS,CAAC,EAAE;QACV,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE;QACT,gBAAgB,EAAE,MAAM,CAAC;QACzB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAqBD,wBAAgB,UAAU,CAAC,GAAG,GAAE,MAAsB,GAAG,WAAW,CAWnE;AAED,wBAAgB,YAAY,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,CAQhE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,GAAE,MAAsB,GAAG,MAAM,CAEhH"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;KACpC,CAAC;IACF,aAAa,CAAC,EAAE;QACd,UAAU,CAAC,EAAE,gBAAgB,CAAC;KAC/B,CAAC;IACF,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,SAAS,CAAC,EAAE;QACV,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE;QACT,gBAAgB,EAAE,MAAM,CAAC;QACzB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAqBD,wBAAgB,UAAU,CAAC,GAAG,GAAE,MAAsB,GAAG,WAAW,CAWnE;AAED,wBAAgB,YAAY,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,CAQhE;AAED,gIAAgI;AAChI,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,GAAE,MAAsB,GAAG,MAAM,CAMnF;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,GAAE,MAAsB,GAAG,MAAM,CAEhH"}
@@ -39,6 +39,15 @@ export function createConfig(cwd = process.cwd()) {
39
39
  writeFileSync(configPath, JSON.stringify(DEFAULT_CONFIG, null, 2) + '\n');
40
40
  return configPath;
41
41
  }
42
+ /** Write a complete SlopeConfig to .slope/config.json. Expects a full config object (use loadConfig() to read-modify-write). */
43
+ export function saveConfig(config, cwd = process.cwd()) {
44
+ const dir = join(cwd, CONFIG_DIR);
45
+ if (!existsSync(dir))
46
+ mkdirSync(dir, { recursive: true });
47
+ const configPath = join(dir, CONFIG_FILE);
48
+ writeFileSync(configPath, JSON.stringify(config, null, 2) + '\n');
49
+ return configPath;
50
+ }
42
51
  export function resolveConfigPath(config, relativePath, cwd = process.cwd()) {
43
52
  return join(cwd, relativePath);
44
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAyDjC,MAAM,cAAc,GAAgB;IAClC,YAAY,EAAE,aAAa;IAC3B,gBAAgB,EAAE,eAAe;IACjC,SAAS,EAAE,CAAC;IACZ,gBAAgB,EAAE,2BAA2B;IAC7C,YAAY,EAAE,sBAAsB;IACpC,QAAQ,EAAE,MAAM;IAChB,UAAU,EAAE,oBAAoB;IAChC,WAAW,EAAE,2BAA2B;IACxC,SAAS,EAAE,mBAAmB;IAC9B,UAAU,EAAE,oBAAoB;IAChC,eAAe,EAAE,0BAA0B;IAC3C,eAAe,EAAE,oBAAoB;IACrC,QAAQ,EAAE,MAAM;CACjB,CAAC;AAEF,MAAM,UAAU,GAAG,QAAQ,CAAC;AAC5B,MAAM,WAAW,GAAG,aAAa,CAAC;AAElC,MAAM,UAAU,UAAU,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IACpD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IACtD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;QACzD,OAAO,EAAE,GAAG,cAAc,EAAE,GAAG,GAAG,EAAE,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IACtD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAClC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC1C,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1E,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAmB,EAAE,YAAoB,EAAE,MAAc,OAAO,CAAC,GAAG,EAAE;IACtG,OAAO,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AA+DjC,MAAM,cAAc,GAAgB;IAClC,YAAY,EAAE,aAAa;IAC3B,gBAAgB,EAAE,eAAe;IACjC,SAAS,EAAE,CAAC;IACZ,gBAAgB,EAAE,2BAA2B;IAC7C,YAAY,EAAE,sBAAsB;IACpC,QAAQ,EAAE,MAAM;IAChB,UAAU,EAAE,oBAAoB;IAChC,WAAW,EAAE,2BAA2B;IACxC,SAAS,EAAE,mBAAmB;IAC9B,UAAU,EAAE,oBAAoB;IAChC,eAAe,EAAE,0BAA0B;IAC3C,eAAe,EAAE,oBAAoB;IACrC,QAAQ,EAAE,MAAM;CACjB,CAAC;AAEF,MAAM,UAAU,GAAG,QAAQ,CAAC;AAC5B,MAAM,WAAW,GAAG,aAAa,CAAC;AAElC,MAAM,UAAU,UAAU,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IACpD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IACtD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;QACzD,OAAO,EAAE,GAAG,cAAc,EAAE,GAAG,GAAG,EAAE,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IACtD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAClC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC1C,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1E,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,gIAAgI;AAChI,MAAM,UAAU,UAAU,CAAC,MAAmB,EAAE,MAAc,OAAO,CAAC,GAAG,EAAE;IACzE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAClC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC1C,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAClE,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAmB,EAAE,YAAoB,EAAE,MAAc,OAAO,CAAC,GAAG,EAAE;IACtG,OAAO,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;AACjC,CAAC"}
@@ -0,0 +1,20 @@
1
+ export interface ContextQuery {
2
+ text: string;
3
+ topK?: number;
4
+ minScore?: number;
5
+ }
6
+ export interface ContextResult {
7
+ filePath: string;
8
+ chunkIndex: number;
9
+ snippet: string;
10
+ score: number;
11
+ }
12
+ /**
13
+ * Deduplicate results by file — keep the best-scoring chunk per file.
14
+ */
15
+ export declare function deduplicateByFile(results: ContextResult[]): ContextResult[];
16
+ /**
17
+ * Format context results for agent injection.
18
+ */
19
+ export declare function formatContextForAgent(results: ContextResult[], format: 'paths' | 'snippets' | 'full', cwd?: string): string;
20
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAS3E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,aAAa,EAAE,EACxB,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,EACrC,GAAG,CAAC,EAAE,MAAM,GACX,MAAM,CAyCR"}
@@ -0,0 +1,59 @@
1
+ // SLOPE — Semantic Context Retrieval
2
+ // Query the embedding index and format results for agent consumption.
3
+ import { readFileSync } from 'node:fs';
4
+ /**
5
+ * Deduplicate results by file — keep the best-scoring chunk per file.
6
+ */
7
+ export function deduplicateByFile(results) {
8
+ const best = new Map();
9
+ for (const r of results) {
10
+ const existing = best.get(r.filePath);
11
+ if (!existing || r.score > existing.score) {
12
+ best.set(r.filePath, r);
13
+ }
14
+ }
15
+ return [...best.values()].sort((a, b) => b.score - a.score);
16
+ }
17
+ /**
18
+ * Format context results for agent injection.
19
+ */
20
+ export function formatContextForAgent(results, format, cwd) {
21
+ if (results.length === 0)
22
+ return '';
23
+ const lines = [];
24
+ switch (format) {
25
+ case 'paths':
26
+ for (const r of results) {
27
+ lines.push(r.filePath);
28
+ }
29
+ break;
30
+ case 'snippets':
31
+ for (const r of results) {
32
+ lines.push(`## ${r.filePath} (score: ${r.score.toFixed(3)})`);
33
+ lines.push('```');
34
+ lines.push(r.snippet);
35
+ lines.push('```');
36
+ lines.push('');
37
+ }
38
+ break;
39
+ case 'full': {
40
+ const basePath = cwd ?? process.cwd();
41
+ for (const r of results) {
42
+ lines.push(`## ${r.filePath}`);
43
+ lines.push('```');
44
+ try {
45
+ const content = readFileSync(`${basePath}/${r.filePath}`, 'utf8');
46
+ lines.push(content);
47
+ }
48
+ catch {
49
+ lines.push(`[Error reading file: ${r.filePath}]`);
50
+ }
51
+ lines.push('```');
52
+ lines.push('');
53
+ }
54
+ break;
55
+ }
56
+ }
57
+ return lines.join('\n');
58
+ }
59
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,sEAAsE;AAEtE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAevC;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAwB;IACxD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC9C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC1C,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAwB,EACxB,MAAqC,EACrC,GAAY;IAEZ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEpC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,OAAO;YACV,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC;YACD,MAAM;QAER,KAAK,UAAU;YACb,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,YAAY,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC9D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACtB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;YACD,MAAM;QAER,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,QAAQ,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YACtC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClB,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,QAAQ,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;oBAClE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACtB,CAAC;gBAAC,MAAM,CAAC;oBACP,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACpD,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;YACD,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { EmbeddingConfig, CodeChunk, EmbeddingResult } from './embedding.js';
2
+ /**
3
+ * Embed an array of texts using an OpenAI-compatible embedding endpoint.
4
+ */
5
+ export declare function embed(texts: string[], config: EmbeddingConfig): Promise<Float32Array[]>;
6
+ /**
7
+ * Embed code chunks in batches, returning full EmbeddingResults.
8
+ * Truncates oversized chunks and retries failed batches individually.
9
+ */
10
+ export declare function embedBatch(chunks: CodeChunk[], config: EmbeddingConfig, batchSize?: number): Promise<EmbeddingResult[]>;
11
+ //# sourceMappingURL=embedding-client.d.ts.map