opencode-snippets 2.1.5 → 2.2.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.
- package/README.md +8 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +142 -29
- package/dist/index.js.map +1 -1
- package/dist/src/config.d.ts +0 -2
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +1 -12
- package/dist/src/config.js.map +1 -1
- package/dist/src/constants.d.ts +1 -1
- package/dist/src/constants.d.ts.map +1 -1
- package/dist/src/constants.js +2 -2
- package/dist/src/constants.js.map +1 -1
- package/dist/src/hook-types.d.ts +8 -0
- package/dist/src/hook-types.d.ts.map +1 -1
- package/dist/src/shell.d.ts +2 -7
- package/dist/src/shell.d.ts.map +1 -1
- package/dist/src/shell.js +5 -4
- package/dist/src/shell.js.map +1 -1
- package/dist/src/skill-load-manager.d.ts +4 -0
- package/dist/src/skill-load-manager.d.ts.map +1 -1
- package/dist/src/skill-load-manager.js +21 -0
- package/dist/src/skill-load-manager.js.map +1 -1
- package/dist/src/skill-loader.d.ts +1 -0
- package/dist/src/skill-loader.d.ts.map +1 -1
- package/dist/src/skill-loader.js +12 -0
- package/dist/src/skill-loader.js.map +1 -1
- package/dist/src/skill-loading.d.ts +4 -0
- package/dist/src/skill-loading.d.ts.map +1 -1
- package/dist/src/skill-loading.js +34 -8
- package/dist/src/skill-loading.js.map +1 -1
- package/dist/src/tui-search.d.ts.map +1 -1
- package/dist/src/tui-search.js +22 -4
- package/dist/src/tui-search.js.map +1 -1
- package/package.json +1 -1
- package/skill/snippets/SKILL.md +38 -7
package/README.md
CHANGED
|
@@ -202,23 +202,23 @@ You can also use JSON array style: `aliases: ["cp", "pick"]`
|
|
|
202
202
|
|
|
203
203
|
### Shell Command Substitution
|
|
204
204
|
|
|
205
|
-
|
|
205
|
+
The plugin adds shell substitution to regular OpenCode prompts, not just snippet files. Use ``!`command` `` for output-only injection and ``!>`command` `` when you want the executed command shown too:
|
|
206
206
|
|
|
207
207
|
```markdown
|
|
208
208
|
Current branch: !`git branch --show-current`
|
|
209
209
|
Last commit: !`git log -1 --oneline`
|
|
210
210
|
Working directory: !`pwd`
|
|
211
|
+
Debug listing: !>`ls`
|
|
211
212
|
```
|
|
212
213
|
|
|
213
|
-
> **
|
|
214
|
-
>
|
|
214
|
+
> **Default:** ``!`ls` `` injects only command output, matching OpenCode command templates.
|
|
215
|
+
>
|
|
216
|
+
> **Verbose form:** ``!>`ls` `` →
|
|
215
217
|
> ```
|
|
216
218
|
> $ ls
|
|
217
219
|
> --> <output>
|
|
218
220
|
> ```
|
|
219
|
-
>
|
|
220
|
-
>
|
|
221
|
-
> To match OpenCode's slash command behavior (output only), set `hideCommandInOutput: true` in your config.
|
|
221
|
+
> LLMs tend to trust the output more when they can see which terminal command just ran. The command gives the output context, which makes it more informative and easier to interpret.
|
|
222
222
|
|
|
223
223
|
### Recursive Includes
|
|
224
224
|
|
|
@@ -467,7 +467,7 @@ A default config file is created automatically on first run.
|
|
|
467
467
|
|
|
468
468
|
```jsonc
|
|
469
469
|
{
|
|
470
|
-
"$schema": "https://raw.githubusercontent.com/JosXa/opencode-snippets/v2.
|
|
470
|
+
"$schema": "https://raw.githubusercontent.com/JosXa/opencode-snippets/v2.2.0/schema/config.schema.json",
|
|
471
471
|
"logging": {
|
|
472
472
|
"debug": false // Enable debug logging (logs: ~/.config/opencode/logs/snippets/daily/)
|
|
473
473
|
},
|
|
@@ -476,7 +476,6 @@ A default config file is created automatically on first run.
|
|
|
476
476
|
"skillRendering": false, // Enable <skill>name</skill> tag expansion
|
|
477
477
|
"skillLoading": false // Enable #skill(name) OpenCode-style loading
|
|
478
478
|
},
|
|
479
|
-
"hideCommandInOutput": false, // Show only output for shell commands (hides "$ cmd\n-->")
|
|
480
479
|
"injectRecencyMessages": 5 // How many messages from the bottom to place injected context
|
|
481
480
|
}
|
|
482
481
|
```
|
|
@@ -495,6 +494,7 @@ Logs are written to `~/.config/opencode/logs/snippets/daily/` when enabled.
|
|
|
495
494
|
- Snippets are loaded once at plugin startup
|
|
496
495
|
- Hashtag matching is **case-insensitive** (`#Hello` = `#hello`)
|
|
497
496
|
- Unknown hashtags are left unchanged
|
|
497
|
+
- ``!`cmd` `` injects output only, while ``!>`cmd` `` injects `$ cmd` plus output
|
|
498
498
|
- Failed shell commands preserve the original syntax in output
|
|
499
499
|
- Frontmatter is stripped from expanded content
|
|
500
500
|
- Only user messages are processed (not assistant responses)
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AA4DlD;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,EAAE,MAgnB5B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -13,7 +13,7 @@ import { consumeSnippetReloadRequest } from "./src/reload-signal.js";
|
|
|
13
13
|
import { executeShellCommands } from "./src/shell.js";
|
|
14
14
|
import { SkillLoadManager } from "./src/skill-load-manager.js";
|
|
15
15
|
import { loadSkills } from "./src/skill-loader.js";
|
|
16
|
-
import { expandSkillLoads } from "./src/skill-loading.js";
|
|
16
|
+
import { buildSkillPayloadsFromVisibleText, expandSkillLoads } from "./src/skill-loading.js";
|
|
17
17
|
import { expandSkillTags } from "./src/skill-renderer.js";
|
|
18
18
|
const __filename = fileURLToPath(import.meta.url);
|
|
19
19
|
const __dirname = dirname(__filename);
|
|
@@ -155,11 +155,9 @@ export const SnippetsPlugin = async (ctx) => {
|
|
|
155
155
|
part.skillLoads = skillPayloads;
|
|
156
156
|
skillTimeTotal += performance.now() - skillStart;
|
|
157
157
|
}
|
|
158
|
-
// 3. Execute shell commands: !`command`
|
|
158
|
+
// 3. Execute shell commands: !`command` or !>`command`
|
|
159
159
|
const shellStart = performance.now();
|
|
160
|
-
part.text = await executeShellCommands(part.text, ctx
|
|
161
|
-
hideCommandInOutput: config.hideCommandInOutput,
|
|
162
|
-
});
|
|
160
|
+
part.text = await executeShellCommands(part.text, ctx);
|
|
163
161
|
shellTimeTotal += performance.now() - shellStart;
|
|
164
162
|
processedParts += 1;
|
|
165
163
|
}
|
|
@@ -178,6 +176,7 @@ export const SnippetsPlugin = async (ctx) => {
|
|
|
178
176
|
return allInjected;
|
|
179
177
|
};
|
|
180
178
|
const isIgnoredMessage = (message) => message.parts.some((part) => part.ignored);
|
|
179
|
+
const isSkillContentMessage = (message) => message.parts.some((part) => part.type === "text" && (part.text || "").includes("<skill_content name="));
|
|
181
180
|
const countConversationMessages = (messages) => messages.filter((message) => !isIgnoredMessage(message)).length;
|
|
182
181
|
const insertInjectionsIntoMessages = (messages, injections) => {
|
|
183
182
|
if (injections.length === 0)
|
|
@@ -215,17 +214,83 @@ export const SnippetsPlugin = async (ctx) => {
|
|
|
215
214
|
return result;
|
|
216
215
|
};
|
|
217
216
|
const getPartSkillLoads = (parts) => parts.flatMap((part) => part.skillLoads || []);
|
|
218
|
-
const getMessageSkillLoads = (sessionID, message) => {
|
|
217
|
+
const getMessageSkillLoads = async (sessionID, message) => {
|
|
218
|
+
if (isSkillContentMessage(message)) {
|
|
219
|
+
logger.debug("Skipping skill-content message during load resolution", {
|
|
220
|
+
sessionID,
|
|
221
|
+
messageID: message.info.id,
|
|
222
|
+
});
|
|
223
|
+
return [];
|
|
224
|
+
}
|
|
219
225
|
const direct = getPartSkillLoads(message.parts);
|
|
220
|
-
if (direct.length > 0)
|
|
226
|
+
if (direct.length > 0) {
|
|
227
|
+
logger.debug("Resolved skill loads from direct part metadata", {
|
|
228
|
+
sessionID,
|
|
229
|
+
messageID: message.info.id,
|
|
230
|
+
payloadCount: direct.length,
|
|
231
|
+
});
|
|
221
232
|
return direct;
|
|
222
|
-
|
|
233
|
+
}
|
|
234
|
+
if (message.info.id) {
|
|
235
|
+
const stored = skillLoadManager.get(sessionID, message.info.id);
|
|
236
|
+
if (stored.length > 0) {
|
|
237
|
+
logger.debug("Resolved skill loads from message-id registry", {
|
|
238
|
+
sessionID,
|
|
239
|
+
messageID: message.info.id,
|
|
240
|
+
payloadCount: stored.length,
|
|
241
|
+
});
|
|
242
|
+
return stored;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
if (!config.experimental.skillLoading || skills.size === 0)
|
|
223
246
|
return [];
|
|
224
|
-
|
|
247
|
+
const text = message.parts
|
|
248
|
+
.filter((part) => part.type === "text")
|
|
249
|
+
.map((part) => part.text || "")
|
|
250
|
+
.join("\n\n");
|
|
251
|
+
const recovered = await buildSkillPayloadsFromVisibleText(text, skills, snippets, {
|
|
252
|
+
expandSkillTagsInContent: config.experimental.skillRendering,
|
|
253
|
+
extractInject: config.experimental.injectBlocks,
|
|
254
|
+
});
|
|
255
|
+
if (recovered.length > 0) {
|
|
256
|
+
logger.debug("Recovered hidden skill payloads from visible markers", {
|
|
257
|
+
sessionID,
|
|
258
|
+
messageID: message.info.id,
|
|
259
|
+
payloadCount: recovered.length,
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
if (recovered.length === 0 && text.includes("↳ Loaded ")) {
|
|
263
|
+
logger.debug("Visible skill markers found but no hidden payloads recovered", {
|
|
264
|
+
sessionID,
|
|
265
|
+
messageID: message.info.id,
|
|
266
|
+
text,
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
return recovered;
|
|
225
270
|
};
|
|
226
271
|
const insertSkillLoadsIntoMessages = async (sessionID, messages) => {
|
|
227
272
|
const pendingRaw = skillLoadManager.drainPending(sessionID);
|
|
228
273
|
const result = [];
|
|
274
|
+
const resolvedLoads = await Promise.all(messages.map(async (message) => {
|
|
275
|
+
if (message.info.role !== "user" || isIgnoredMessage(message)) {
|
|
276
|
+
return [];
|
|
277
|
+
}
|
|
278
|
+
return getMessageSkillLoads(sessionID, message);
|
|
279
|
+
}));
|
|
280
|
+
logger.debug("Resolved skill loads for transform messages", {
|
|
281
|
+
sessionID,
|
|
282
|
+
messages: messages.map((message, i) => ({
|
|
283
|
+
messageID: message.info.id,
|
|
284
|
+
role: message.info.role,
|
|
285
|
+
synthetic: message.parts.some((part) => part.synthetic),
|
|
286
|
+
snippetsProcessed: message.parts.some((part) => part.snippetsProcessed),
|
|
287
|
+
text: message.parts
|
|
288
|
+
.filter((part) => part.type === "text")
|
|
289
|
+
.map((part) => (part.text || "").slice(0, 120))
|
|
290
|
+
.join(" | "),
|
|
291
|
+
resolvedLoadCount: (resolvedLoads[i] || []).length,
|
|
292
|
+
})),
|
|
293
|
+
});
|
|
229
294
|
// Dedup requirement: if a queued payload string already exists as a direct
|
|
230
295
|
// skillLoad on any user message (because chat.message attached it to part.skillLoads),
|
|
231
296
|
// a synthetic for that message will be pushed via the `direct` path below.
|
|
@@ -234,10 +299,10 @@ export const SnippetsPlugin = async (ctx) => {
|
|
|
234
299
|
// without messageID) ends up with the skill_content duplicated and stuck onto
|
|
235
300
|
// an unrelated user message like beads-context.
|
|
236
301
|
const directPayloadStrings = new Set();
|
|
237
|
-
for (const message of messages) {
|
|
302
|
+
for (const [i, message] of messages.entries()) {
|
|
238
303
|
if (message.info.role !== "user" || isIgnoredMessage(message))
|
|
239
304
|
continue;
|
|
240
|
-
for (const payload of
|
|
305
|
+
for (const payload of resolvedLoads[i] || []) {
|
|
241
306
|
directPayloadStrings.add(payload);
|
|
242
307
|
}
|
|
243
308
|
}
|
|
@@ -261,7 +326,7 @@ export const SnippetsPlugin = async (ctx) => {
|
|
|
261
326
|
const message = messages[i];
|
|
262
327
|
if (message.info.role !== "user" || isIgnoredMessage(message))
|
|
263
328
|
continue;
|
|
264
|
-
if (
|
|
329
|
+
if ((resolvedLoads[i] || []).length > 0)
|
|
265
330
|
continue;
|
|
266
331
|
const next = pending.at(-1);
|
|
267
332
|
if (!next)
|
|
@@ -280,7 +345,7 @@ export const SnippetsPlugin = async (ctx) => {
|
|
|
280
345
|
const message = messages[i];
|
|
281
346
|
if (message.info.role !== "user" || isIgnoredMessage(message))
|
|
282
347
|
continue;
|
|
283
|
-
if (
|
|
348
|
+
if ((resolvedLoads[i] || []).length > 0)
|
|
284
349
|
continue;
|
|
285
350
|
if (fallbackByIndex.has(i))
|
|
286
351
|
continue;
|
|
@@ -290,30 +355,41 @@ export const SnippetsPlugin = async (ctx) => {
|
|
|
290
355
|
}
|
|
291
356
|
}
|
|
292
357
|
for (const [i, message] of messages.entries()) {
|
|
293
|
-
result.push(message);
|
|
294
358
|
if (message.info.role !== "user" || isIgnoredMessage(message)) {
|
|
359
|
+
result.push(message);
|
|
295
360
|
continue;
|
|
296
361
|
}
|
|
297
|
-
const direct =
|
|
362
|
+
const direct = resolvedLoads[i] || [];
|
|
298
363
|
const payloads = direct.length > 0 ? direct : fallbackByIndex.get(i) || [];
|
|
299
364
|
if (payloads.length === 0) {
|
|
365
|
+
result.push(message);
|
|
366
|
+
continue;
|
|
367
|
+
}
|
|
368
|
+
skillLoadManager.rememberForSession(sessionID, payloads);
|
|
369
|
+
const hiddenText = payloads.join("\n\n");
|
|
370
|
+
if (message.parts.some((part) => part.type === "text" && part.synthetic && (part.text || "") === hiddenText)) {
|
|
371
|
+
logger.debug("Hidden skill payload already attached to user message", {
|
|
372
|
+
sessionID,
|
|
373
|
+
messageID: message.info.id,
|
|
374
|
+
hiddenLength: hiddenText.length,
|
|
375
|
+
});
|
|
376
|
+
result.push(message);
|
|
300
377
|
continue;
|
|
301
378
|
}
|
|
302
|
-
//
|
|
303
|
-
//
|
|
304
|
-
//
|
|
305
|
-
//
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
:
|
|
379
|
+
// Regression guard from the PTY repro:
|
|
380
|
+
// 1. skill content must stay hidden from the user,
|
|
381
|
+
// 2. skill content must be injected immediately below the visible user message and reach the LLM,
|
|
382
|
+
// 3. the agent must not call `skill` a second time for an already-loaded skill.
|
|
383
|
+
logger.debug("Appended hidden skill payload to user message", {
|
|
384
|
+
sessionID,
|
|
385
|
+
messageID: message.info.id,
|
|
386
|
+
partCountBefore: message.parts.length,
|
|
387
|
+
partCountAfter: message.parts.length + 1,
|
|
388
|
+
hiddenLength: hiddenText.length,
|
|
389
|
+
});
|
|
310
390
|
result.push({
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
role: "user",
|
|
314
|
-
sessionID: message.info.sessionID || sessionID,
|
|
315
|
-
},
|
|
316
|
-
parts: [{ type: "text", text: payloads.join("\n\n") }],
|
|
391
|
+
...message,
|
|
392
|
+
parts: [{ type: "text", text: hiddenText, synthetic: true }, ...message.parts],
|
|
317
393
|
});
|
|
318
394
|
}
|
|
319
395
|
return result;
|
|
@@ -344,6 +420,16 @@ export const SnippetsPlugin = async (ctx) => {
|
|
|
344
420
|
if (output.parts.some((part) => part.ignored))
|
|
345
421
|
return;
|
|
346
422
|
const injected = await processTextParts(output.parts);
|
|
423
|
+
logger.debug("chat.message processed user parts", {
|
|
424
|
+
sessionID: input.sessionID,
|
|
425
|
+
messageID: input.messageID,
|
|
426
|
+
texts: output.parts
|
|
427
|
+
.filter((part) => part.type === "text")
|
|
428
|
+
.map((part) => ({
|
|
429
|
+
text: (part.text || "").slice(0, 200),
|
|
430
|
+
skillLoads: part.skillLoads?.length || 0,
|
|
431
|
+
})),
|
|
432
|
+
});
|
|
347
433
|
output.parts.forEach((part) => {
|
|
348
434
|
if (part.type === "text") {
|
|
349
435
|
part.snippetsProcessed = true;
|
|
@@ -383,6 +469,8 @@ export const SnippetsPlugin = async (ctx) => {
|
|
|
383
469
|
continue;
|
|
384
470
|
if (message.parts.some((part) => part.ignored))
|
|
385
471
|
continue;
|
|
472
|
+
if (message.parts.some((part) => part.synthetic))
|
|
473
|
+
continue;
|
|
386
474
|
const injected = await processTextParts(message.parts);
|
|
387
475
|
if (injected.length > 0 && sessionID) {
|
|
388
476
|
const newOnes = injectionManager.registerAndGetNew(sessionID, injected);
|
|
@@ -438,6 +526,31 @@ export const SnippetsPlugin = async (ctx) => {
|
|
|
438
526
|
}
|
|
439
527
|
}
|
|
440
528
|
},
|
|
529
|
+
"experimental.chat.system.transform": async (input, output) => {
|
|
530
|
+
if (!config.experimental.skillLoading)
|
|
531
|
+
return;
|
|
532
|
+
if (!input.sessionID)
|
|
533
|
+
return;
|
|
534
|
+
const payloads = skillLoadManager.getSessionPayloads(input.sessionID);
|
|
535
|
+
if (payloads.length === 0)
|
|
536
|
+
return;
|
|
537
|
+
const hiddenText = payloads.join("\n\n");
|
|
538
|
+
if (output.system.includes(hiddenText)) {
|
|
539
|
+
logger.debug("Hidden skill payloads already present in system prompt", {
|
|
540
|
+
sessionID: input.sessionID,
|
|
541
|
+
payloadCount: payloads.length,
|
|
542
|
+
hiddenLength: hiddenText.length,
|
|
543
|
+
});
|
|
544
|
+
return;
|
|
545
|
+
}
|
|
546
|
+
output.system.push(hiddenText);
|
|
547
|
+
logger.debug("Mirrored hidden skill payloads into system prompt", {
|
|
548
|
+
sessionID: input.sessionID,
|
|
549
|
+
payloadCount: payloads.length,
|
|
550
|
+
hiddenLength: hiddenText.length,
|
|
551
|
+
systemEntryCount: output.system.length,
|
|
552
|
+
});
|
|
553
|
+
},
|
|
441
554
|
// Process skill tool output to expand snippets and skill tags in skill content
|
|
442
555
|
"tool.execute.after": async (input, output) => {
|
|
443
556
|
if (input.tool !== "skill")
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/config.d.ts
CHANGED
|
@@ -28,8 +28,6 @@ export interface SnippetsConfig {
|
|
|
28
28
|
logging: LoggingConfig;
|
|
29
29
|
/** Experimental features */
|
|
30
30
|
experimental: ExperimentalConfig;
|
|
31
|
-
/** Hide shell command in output, showing only the result */
|
|
32
|
-
hideCommandInOutput: boolean;
|
|
33
31
|
/** How many messages from the bottom of the conversation to place injected context */
|
|
34
32
|
injectRecencyMessages: number;
|
|
35
33
|
}
|
package/dist/src/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,sFAAsF;IACtF,cAAc,EAAE,OAAO,CAAC;IACxB,8FAA8F;IAC9F,YAAY,EAAE,OAAO,CAAC;IACtB,yEAAyE;IACzE,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,uBAAuB;IACvB,OAAO,EAAE,aAAa,CAAC;IAEvB,4BAA4B;IAC5B,YAAY,EAAE,kBAAkB,CAAC;IAEjC,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,sFAAsF;IACtF,cAAc,EAAE,OAAO,CAAC;IACxB,8FAA8F;IAC9F,YAAY,EAAE,OAAO,CAAC;IACtB,yEAAyE;IACzE,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,uBAAuB;IACvB,OAAO,EAAE,aAAa,CAAC;IAEvB,4BAA4B;IAC5B,YAAY,EAAE,kBAAkB,CAAC;IAEjC,sFAAsF;IACtF,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAiID;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,cAAc,CAgC9D;AA6BD;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE/D"}
|
package/dist/src/config.js
CHANGED
|
@@ -15,7 +15,6 @@ const DEFAULT_CONFIG = {
|
|
|
15
15
|
skillLoading: false,
|
|
16
16
|
injectBlocks: false,
|
|
17
17
|
},
|
|
18
|
-
hideCommandInOutput: false,
|
|
19
18
|
injectRecencyMessages: 5,
|
|
20
19
|
};
|
|
21
20
|
/**
|
|
@@ -23,7 +22,7 @@ const DEFAULT_CONFIG = {
|
|
|
23
22
|
*/
|
|
24
23
|
const DEFAULT_CONFIG_CONTENT = `{
|
|
25
24
|
// JSON Schema for editor autocompletion
|
|
26
|
-
"$schema": "https://raw.githubusercontent.com/JosXa/opencode-snippets/v2.
|
|
25
|
+
"$schema": "https://raw.githubusercontent.com/JosXa/opencode-snippets/v2.2.0/schema/config.schema.json",
|
|
27
26
|
|
|
28
27
|
// Logging settings
|
|
29
28
|
"logging": {
|
|
@@ -50,13 +49,6 @@ const DEFAULT_CONFIG_CONTENT = `{
|
|
|
50
49
|
"skillLoading": false
|
|
51
50
|
},
|
|
52
51
|
|
|
53
|
-
// Hide shell command in snippet output
|
|
54
|
-
// When false (default), shell commands show as "$ command\\n--> output"
|
|
55
|
-
// When true, only the output is shown (matching OpenCode's slash command behavior)
|
|
56
|
-
// Values: true, false, "enabled", "disabled"
|
|
57
|
-
// Default: false
|
|
58
|
-
"hideCommandInOutput": false,
|
|
59
|
-
|
|
60
52
|
// How many messages from the bottom of the conversation to place injected context
|
|
61
53
|
// Higher = injection feels "older" to the model, lower = closer to recent context
|
|
62
54
|
// Default: 5
|
|
@@ -156,7 +148,6 @@ export function loadConfig(projectDir) {
|
|
|
156
148
|
loggingDebug: config.logging.debug,
|
|
157
149
|
experimentalSkillRendering: config.experimental.skillRendering,
|
|
158
150
|
experimentalSkillLoading: config.experimental.skillLoading,
|
|
159
|
-
hideCommandInOutput: config.hideCommandInOutput,
|
|
160
151
|
injectRecencyMessages: config.injectRecencyMessages,
|
|
161
152
|
});
|
|
162
153
|
return config;
|
|
@@ -169,7 +160,6 @@ function mergeConfig(base, raw) {
|
|
|
169
160
|
const skillRenderingValue = normalizeBooleanSetting(raw.experimental?.skillRendering);
|
|
170
161
|
const skillLoadingValue = normalizeBooleanSetting(raw.experimental?.skillLoading);
|
|
171
162
|
const injectBlocksValue = normalizeBooleanSetting(raw.experimental?.injectBlocks);
|
|
172
|
-
const hideCommandValue = normalizeBooleanSetting(raw.hideCommandInOutput);
|
|
173
163
|
const injectRecencyValue = normalizePositiveInteger(raw.injectRecencyMessages);
|
|
174
164
|
return {
|
|
175
165
|
logging: {
|
|
@@ -180,7 +170,6 @@ function mergeConfig(base, raw) {
|
|
|
180
170
|
skillLoading: skillLoadingValue !== undefined ? skillLoadingValue : base.experimental.skillLoading,
|
|
181
171
|
injectBlocks: injectBlocksValue !== undefined ? injectBlocksValue : base.experimental.injectBlocks,
|
|
182
172
|
},
|
|
183
|
-
hideCommandInOutput: hideCommandValue !== undefined ? hideCommandValue : base.hideCommandInOutput,
|
|
184
173
|
injectRecencyMessages: injectRecencyValue !== undefined ? injectRecencyValue : base.injectRecencyMessages,
|
|
185
174
|
};
|
|
186
175
|
}
|
package/dist/src/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,SAAS,CAAgC,cAAc,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/src/constants.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
export declare const PATTERNS: {
|
|
5
5
|
/** Matches hashtags like #snippet-name */
|
|
6
6
|
readonly HASHTAG: RegExp;
|
|
7
|
-
/** Matches shell commands like !`command` */
|
|
7
|
+
/** Matches shell commands like !`command` or !>`command` */
|
|
8
8
|
readonly SHELL_COMMAND: RegExp;
|
|
9
9
|
/** Matches skill loads like #skill(name) or #skill("name") */
|
|
10
10
|
readonly SKILL_LOAD: RegExp;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,eAAO,MAAM,QAAQ;IACnB,0CAA0C;;IAG1C,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,eAAO,MAAM,QAAQ;IACnB,0CAA0C;;IAG1C,4DAA4D;;IAG5D,8DAA8D;;IAG9D;;;;OAIG;;;CAGK,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,KAAK;IAChB,uCAAuC;;IAGvC,0CAA0C;;IAG1C,0CAA0C;;IAG1C,yBAAyB;;CAEjB,CAAC;AAEX;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM;;;;EAOjD;AAED;;GAEG;AACH,eAAO,MAAM,MAAM;IACjB,uCAAuC;;CAE/B,CAAC"}
|
package/dist/src/constants.js
CHANGED
|
@@ -6,8 +6,8 @@ import { join } from "node:path";
|
|
|
6
6
|
export const PATTERNS = {
|
|
7
7
|
/** Matches hashtags like #snippet-name */
|
|
8
8
|
HASHTAG: /#([a-z0-9\-_]+)/gi,
|
|
9
|
-
/** Matches shell commands like !`command` */
|
|
10
|
-
SHELL_COMMAND:
|
|
9
|
+
/** Matches shell commands like !`command` or !>`command` */
|
|
10
|
+
SHELL_COMMAND: /(!>?)`([^`]+)`/g,
|
|
11
11
|
/** Matches skill loads like #skill(name) or #skill("name") */
|
|
12
12
|
SKILL_LOAD: /#skill\(\s*([^\r\n)]+?)\s*\)/gi,
|
|
13
13
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,0CAA0C;IAC1C,OAAO,EAAE,mBAAmB;IAE5B,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,0CAA0C;IAC1C,OAAO,EAAE,mBAAmB;IAE5B,4DAA4D;IAC5D,aAAa,EAAE,iBAAiB;IAEhC,8DAA8D;IAC9D,UAAU,EAAE,gCAAgC;IAE5C;;;;OAIG;IACH,sBAAsB,EAAE,wCAAwC;IAChE,eAAe,EAAE,2BAA2B;CACpC,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,uCAAuC;IACvC,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC;IAElD,0CAA0C;IAC1C,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC;IAE/D,0CAA0C;IAC1C,gBAAgB,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC;IAEpE,yBAAyB;IACzB,kBAAkB,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,CAAC;CAC7E,CAAC;AAEX;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,UAAkB;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IAC5D,OAAO;QACL,YAAY,EAAE,UAAU;QACxB,gBAAgB,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC;QAC3D,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,uCAAuC;IACvC,iBAAiB,EAAE,KAAK;CAChB,CAAC"}
|
package/dist/src/hook-types.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export interface MessagePart {
|
|
|
5
5
|
type: string;
|
|
6
6
|
text?: string;
|
|
7
7
|
ignored?: boolean;
|
|
8
|
+
synthetic?: boolean;
|
|
8
9
|
snippetsProcessed?: boolean;
|
|
9
10
|
skillLoads?: string[];
|
|
10
11
|
}
|
|
@@ -36,6 +37,13 @@ export interface TransformInput {
|
|
|
36
37
|
export interface TransformOutput {
|
|
37
38
|
messages: TransformMessage[];
|
|
38
39
|
}
|
|
40
|
+
export interface SystemTransformInput {
|
|
41
|
+
sessionID?: string;
|
|
42
|
+
model?: unknown;
|
|
43
|
+
}
|
|
44
|
+
export interface SystemTransformOutput {
|
|
45
|
+
system: string[];
|
|
46
|
+
}
|
|
39
47
|
export interface SessionIdleEvent {
|
|
40
48
|
sessionID: string;
|
|
41
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook-types.d.ts","sourceRoot":"","sources":["../../src/hook-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,oBAAoB,CAAC;IAC3B,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE;QACR,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
|
1
|
+
{"version":3,"file":"hook-types.d.ts","sourceRoot":"","sources":["../../src/hook-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,oBAAoB,CAAC;IAC3B,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE;QACR,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
package/dist/src/shell.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Executes shell commands in text using !`command` syntax
|
|
2
|
+
* Executes shell commands in text using !`command` or !>`command` syntax
|
|
3
3
|
*
|
|
4
4
|
* @param text - The text containing shell commands to execute
|
|
5
5
|
* @param ctx - The plugin context (with Bun shell)
|
|
6
|
-
* @param options - Shell execution options
|
|
7
6
|
* @returns The text with shell commands replaced by their output
|
|
8
7
|
*/
|
|
9
8
|
export type ShellContext = {
|
|
@@ -20,9 +19,5 @@ export type ShellContext = {
|
|
|
20
19
|
};
|
|
21
20
|
};
|
|
22
21
|
};
|
|
23
|
-
export
|
|
24
|
-
/** Hide the command prefix in output, showing only the result */
|
|
25
|
-
hideCommandInOutput?: boolean;
|
|
26
|
-
}
|
|
27
|
-
export declare function executeShellCommands(text: string, ctx: ShellContext, options?: ShellOptions): Promise<string>;
|
|
22
|
+
export declare function executeShellCommands(text: string, ctx: ShellContext): Promise<string>;
|
|
28
23
|
//# sourceMappingURL=shell.d.ts.map
|
package/dist/src/shell.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../src/shell.ts"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../src/shell.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,CAAC,EAAE,CACD,QAAQ,EAAE,oBAAoB,EAC9B,GAAG,IAAI,EAAE,OAAO,EAAE,KACf;QACH,KAAK,EAAE,MAAM;YACX,OAAO,EAAE,MAAM,OAAO,CAAC;gBACrB,MAAM,EAAE;oBAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;iBAAE,CAAC;gBACnC,MAAM,EAAE;oBAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;iBAAE,CAAC;aACpC,CAAC,CAAC;SACJ,CAAC;KACH,CAAC;CACH,CAAC;AAEF,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAgC3F"}
|
package/dist/src/shell.js
CHANGED
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
import { PATTERNS } from "./constants.js";
|
|
2
2
|
import { logger } from "./logger.js";
|
|
3
|
-
export async function executeShellCommands(text, ctx
|
|
3
|
+
export async function executeShellCommands(text, ctx) {
|
|
4
4
|
let result = text;
|
|
5
|
-
const hideCommand = options.hideCommandInOutput ?? false;
|
|
6
5
|
// Reset regex state (global flag requires this)
|
|
7
6
|
PATTERNS.SHELL_COMMAND.lastIndex = 0;
|
|
8
7
|
// Find all shell command matches
|
|
9
8
|
const matches = [...text.matchAll(PATTERNS.SHELL_COMMAND)];
|
|
10
9
|
// Execute each command and replace in text
|
|
11
10
|
for (const match of matches) {
|
|
12
|
-
const
|
|
11
|
+
const showCommand = match[1] === "!>";
|
|
12
|
+
const cmd = match[2];
|
|
13
13
|
const _placeholder = match[0];
|
|
14
14
|
try {
|
|
15
15
|
const output = await ctx.$ `${{ raw: cmd }}`.quiet().nothrow();
|
|
16
16
|
const text = `${output.stdout.toString()}${output.stderr.toString()}`.trim();
|
|
17
|
-
|
|
17
|
+
// `!>` preserves command provenance when the model should see what just ran.
|
|
18
|
+
const replacement = showCommand ? `$ ${cmd}\n--> ${text}` : text;
|
|
18
19
|
result = result.replace(_placeholder, replacement);
|
|
19
20
|
}
|
|
20
21
|
catch (error) {
|
package/dist/src/shell.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/shell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/shell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAuBrC,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAY,EAAE,GAAiB;IACxE,IAAI,MAAM,GAAG,IAAI,CAAC;IAElB,gDAAgD;IAChD,QAAQ,CAAC,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC;IAErC,iCAAiC;IACjC,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IAE3D,2CAA2C;IAC3C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;QACtC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAE9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CAAA,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC;YAC9D,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;YAC7E,6EAA6E;YAC7E,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,GAAG,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACjE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,yCAAyC;YACzC,mDAAmD;YACnD,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE;gBAC5C,OAAO,EAAE,GAAG;gBACZ,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
export declare class SkillLoadManager {
|
|
2
2
|
private loads;
|
|
3
3
|
private pending;
|
|
4
|
+
private sessionPayloads;
|
|
4
5
|
register(sessionID: string, messageID: string, payloads: string[]): void;
|
|
5
6
|
queue(sessionID: string, payloads: string[], messageID?: string): void;
|
|
6
7
|
get(sessionID: string, messageID: string): string[];
|
|
8
|
+
rememberForSession(sessionID: string, payloads: string[]): void;
|
|
9
|
+
getSessionPayloads(sessionID: string): string[];
|
|
10
|
+
clearSession(sessionID: string): void;
|
|
7
11
|
drainPending(sessionID: string): Array<{
|
|
8
12
|
messageID?: string;
|
|
9
13
|
payloads: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-load-manager.d.ts","sourceRoot":"","sources":["../../src/skill-load-manager.ts"],"names":[],"mappings":"AAAA,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,KAAK,CAA4C;IACzD,OAAO,CAAC,OAAO,CAAwE;
|
|
1
|
+
{"version":3,"file":"skill-load-manager.d.ts","sourceRoot":"","sources":["../../src/skill-load-manager.ts"],"names":[],"mappings":"AAAA,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,KAAK,CAA4C;IACzD,OAAO,CAAC,OAAO,CAAwE;IACvF,OAAO,CAAC,eAAe,CAA+B;IAEtD,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAKxE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAMtE,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAInD,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAc/D,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAI/C,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAMrC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IASlF,OAAO,CAAC,kBAAkB;CAQ3B"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export class SkillLoadManager {
|
|
2
2
|
loads = new Map();
|
|
3
3
|
pending = new Map();
|
|
4
|
+
sessionPayloads = new Map();
|
|
4
5
|
register(sessionID, messageID, payloads) {
|
|
5
6
|
const session = this.getOrCreateSession(sessionID);
|
|
6
7
|
session.set(messageID, [...payloads]);
|
|
@@ -13,6 +14,26 @@ export class SkillLoadManager {
|
|
|
13
14
|
get(sessionID, messageID) {
|
|
14
15
|
return [...(this.loads.get(sessionID)?.get(messageID) || [])];
|
|
15
16
|
}
|
|
17
|
+
rememberForSession(sessionID, payloads) {
|
|
18
|
+
const existing = this.sessionPayloads.get(sessionID) || [];
|
|
19
|
+
const seen = new Set(existing);
|
|
20
|
+
const merged = [...existing];
|
|
21
|
+
for (const payload of payloads) {
|
|
22
|
+
if (seen.has(payload))
|
|
23
|
+
continue;
|
|
24
|
+
seen.add(payload);
|
|
25
|
+
merged.push(payload);
|
|
26
|
+
}
|
|
27
|
+
this.sessionPayloads.set(sessionID, merged);
|
|
28
|
+
}
|
|
29
|
+
getSessionPayloads(sessionID) {
|
|
30
|
+
return [...(this.sessionPayloads.get(sessionID) || [])];
|
|
31
|
+
}
|
|
32
|
+
clearSession(sessionID) {
|
|
33
|
+
this.loads.delete(sessionID);
|
|
34
|
+
this.pending.delete(sessionID);
|
|
35
|
+
this.sessionPayloads.delete(sessionID);
|
|
36
|
+
}
|
|
16
37
|
drainPending(sessionID) {
|
|
17
38
|
const queued = this.pending.get(sessionID) || [];
|
|
18
39
|
this.pending.delete(sessionID);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-load-manager.js","sourceRoot":"","sources":["../../src/skill-load-manager.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,gBAAgB;IACnB,KAAK,GAAG,IAAI,GAAG,EAAiC,CAAC;IACjD,OAAO,GAAG,IAAI,GAAG,EAA6D,CAAC;
|
|
1
|
+
{"version":3,"file":"skill-load-manager.js","sourceRoot":"","sources":["../../src/skill-load-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-loader.d.ts","sourceRoot":"","sources":["../../src/skill-loader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"skill-loader.d.ts","sourceRoot":"","sources":["../../src/skill-loader.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC7B,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAsFD;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,aAAa,CAAC,CA0BxB;AA2ED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAErF"}
|
package/dist/src/skill-loader.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { readdir, stat } from "node:fs/promises";
|
|
2
2
|
import { homedir } from "node:os";
|
|
3
3
|
import { dirname, join, resolve } from "node:path";
|
|
4
|
+
import { fileURLToPath } from "node:url";
|
|
4
5
|
import { importCjs } from "./cjs-interop.js";
|
|
5
6
|
const matter = await importCjs("gray-matter");
|
|
6
7
|
import { logger } from "./logger.js";
|
|
8
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
9
|
+
const __dirname = dirname(__filename);
|
|
7
10
|
/**
|
|
8
11
|
* OpenCode skill directory patterns.
|
|
9
12
|
*
|
|
@@ -43,6 +46,9 @@ function getProjectSkillDirs(projectDir) {
|
|
|
43
46
|
join(projectDir, ".agents", "skills"),
|
|
44
47
|
];
|
|
45
48
|
}
|
|
49
|
+
function getBundledSkillDirs() {
|
|
50
|
+
return [join(__dirname, "..", "..", "skill")];
|
|
51
|
+
}
|
|
46
52
|
async function exists(path) {
|
|
47
53
|
try {
|
|
48
54
|
await stat(path);
|
|
@@ -82,6 +88,12 @@ async function getProjectSearchRoots(projectDir) {
|
|
|
82
88
|
*/
|
|
83
89
|
export async function loadSkills(projectDir, options = {}) {
|
|
84
90
|
const skills = new Map();
|
|
91
|
+
// Bundled plugin skills should participate in the same registry used by runtime
|
|
92
|
+
// expansion and TUI autocomplete. Load them first so user/global/project skills can
|
|
93
|
+
// still override shipped defaults with the same name.
|
|
94
|
+
for (const dir of options.bundledSkillDirs || getBundledSkillDirs()) {
|
|
95
|
+
await loadFromDirectory(dir, skills, "global");
|
|
96
|
+
}
|
|
85
97
|
// Load from global directories first
|
|
86
98
|
for (const dir of getGlobalSkillDirs(options.homeDir)) {
|
|
87
99
|
await loadFromDirectory(dir, skills, "global");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-loader.js","sourceRoot":"","sources":["../../src/skill-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,MAAM,GAAG,MAAM,SAAS,CAA+B,aAAa,CAAC,CAAC;AAE5E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"skill-loader.js","sourceRoot":"","sources":["../../src/skill-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,4 +8,8 @@ export declare function expandSkillLoads(text: string, registry: SkillRegistry,
|
|
|
8
8
|
expandSkillTagsInContent: boolean;
|
|
9
9
|
extractInject: boolean;
|
|
10
10
|
}): Promise<SkillLoadResult>;
|
|
11
|
+
export declare function buildSkillPayloadsFromVisibleText(text: string, registry: SkillRegistry, snippets: SnippetRegistry, options: {
|
|
12
|
+
expandSkillTagsInContent: boolean;
|
|
13
|
+
extractInject: boolean;
|
|
14
|
+
}): Promise<string[]>;
|
|
11
15
|
//# sourceMappingURL=skill-loading.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-loading.d.ts","sourceRoot":"","sources":["../../src/skill-loading.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"skill-loading.d.ts","sourceRoot":"","sources":["../../src/skill-loading.ts"],"names":[],"mappings":"AAKA,OAAO,EAA4B,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAIlD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAUD,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE;IACP,wBAAwB,EAAE,OAAO,CAAC;IAClC,aAAa,EAAE,OAAO,CAAC;CACxB,GACA,OAAO,CAAC,eAAe,CAAC,CAsC1B;AAED,wBAAsB,iCAAiC,CACrD,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE;IACP,wBAAwB,EAAE,OAAO,CAAC;IAClC,aAAa,EAAE,OAAO,CAAC;CACxB,GACA,OAAO,CAAC,MAAM,EAAE,CAAC,CAyCnB"}
|
|
@@ -2,7 +2,6 @@ import { readdir } from "node:fs/promises";
|
|
|
2
2
|
import { dirname, resolve } from "node:path";
|
|
3
3
|
import { pathToFileURL } from "node:url";
|
|
4
4
|
import { PATTERNS } from "./constants.js";
|
|
5
|
-
import { assembleMessage, expandHashtags } from "./expander.js";
|
|
6
5
|
import { logger } from "./logger.js";
|
|
7
6
|
import { getSkill } from "./skill-loader.js";
|
|
8
7
|
import { expandSkillTags } from "./skill-renderer.js";
|
|
@@ -45,6 +44,36 @@ export async function expandSkillLoads(text, registry, snippets, options) {
|
|
|
45
44
|
result += text.slice(lastIndex);
|
|
46
45
|
return { text: result, payloads };
|
|
47
46
|
}
|
|
47
|
+
export async function buildSkillPayloadsFromVisibleText(text, registry, snippets, options) {
|
|
48
|
+
if (!text.includes("↳ Loaded ")) {
|
|
49
|
+
return [];
|
|
50
|
+
}
|
|
51
|
+
const matches = [];
|
|
52
|
+
const skills = [...registry.values()]
|
|
53
|
+
.map((skill) => ({ skill, marker: visibleSkillLoad(skill) }))
|
|
54
|
+
.toSorted((a, b) => b.marker.length - a.marker.length);
|
|
55
|
+
for (const entry of skills) {
|
|
56
|
+
let from = 0;
|
|
57
|
+
while (from < text.length) {
|
|
58
|
+
const start = text.indexOf(entry.marker, from);
|
|
59
|
+
if (start === -1) {
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
const end = start + entry.marker.length;
|
|
63
|
+
const overlaps = matches.some((match) => start < match.end && end > match.start);
|
|
64
|
+
if (!overlaps) {
|
|
65
|
+
matches.push({ start, end, skill: entry.skill, marker: entry.marker });
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
from = start + 1;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
if (matches.length === 0) {
|
|
72
|
+
return [];
|
|
73
|
+
}
|
|
74
|
+
matches.sort((a, b) => a.start - b.start);
|
|
75
|
+
return Promise.all(matches.map((match) => buildSkillPayload(match.skill, registry, snippets, match.marker, options)));
|
|
76
|
+
}
|
|
48
77
|
function parseSkillName(input) {
|
|
49
78
|
if (!input)
|
|
50
79
|
return null;
|
|
@@ -58,11 +87,11 @@ function parseSkillName(input) {
|
|
|
58
87
|
}
|
|
59
88
|
return trimmed;
|
|
60
89
|
}
|
|
61
|
-
async function buildSkillPayload(skill, registry,
|
|
90
|
+
async function buildSkillPayload(skill, registry, _snippets, marker, options) {
|
|
62
91
|
const dir = dirname(skill.filePath);
|
|
63
92
|
const base = pathToFileURL(dir).href;
|
|
64
93
|
const files = await listSkillFiles(dir, SKILL_FILE_LIMIT);
|
|
65
|
-
const content = renderSkillContent(skill.content, registry,
|
|
94
|
+
const content = renderSkillContent(skill.content, registry, options);
|
|
66
95
|
return [
|
|
67
96
|
`<skill_content name="${skill.name}">`,
|
|
68
97
|
// User requirement: repeat the exact visible marker in hidden context so the
|
|
@@ -83,15 +112,12 @@ async function buildSkillPayload(skill, registry, snippets, marker, options) {
|
|
|
83
112
|
"</skill_content>",
|
|
84
113
|
].join("\n");
|
|
85
114
|
}
|
|
86
|
-
function renderSkillContent(content, registry,
|
|
115
|
+
function renderSkillContent(content, registry, options) {
|
|
87
116
|
let processed = content;
|
|
88
117
|
if (options.expandSkillTagsInContent) {
|
|
89
118
|
processed = expandSkillTags(processed, registry);
|
|
90
119
|
}
|
|
91
|
-
|
|
92
|
-
extractInject: options.extractInject,
|
|
93
|
-
};
|
|
94
|
-
return assembleMessage(expandHashtags(processed, snippets, new Map(), expandOptions));
|
|
120
|
+
return processed;
|
|
95
121
|
}
|
|
96
122
|
async function listSkillFiles(dir, limit) {
|
|
97
123
|
const files = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-loading.js","sourceRoot":"","sources":["../../src/skill-loading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"skill-loading.js","sourceRoot":"","sources":["../../src/skill-loading.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui-search.d.ts","sourceRoot":"","sources":["../../src/tui-search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"tui-search.d.ts","sourceRoot":"","sources":["../../src/tui-search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB;AA6ED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,EAAE,CAgBpF;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,CAgB5E;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAQ5E;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAE/D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE,CA0B9E"}
|
package/dist/src/tui-search.js
CHANGED
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
function normalizeSearchText(input) {
|
|
2
2
|
return input.toLowerCase().replace(/[^a-z0-9]/g, "");
|
|
3
3
|
}
|
|
4
|
+
function isSubsequence(input, query) {
|
|
5
|
+
if (!query)
|
|
6
|
+
return true;
|
|
7
|
+
let i = 0;
|
|
8
|
+
for (const c of input) {
|
|
9
|
+
if (c !== query[i])
|
|
10
|
+
continue;
|
|
11
|
+
i += 1;
|
|
12
|
+
if (i === query.length)
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
4
17
|
function scoreText(input, query) {
|
|
5
18
|
const raw = input.toLowerCase();
|
|
6
19
|
const needle = query.toLowerCase();
|
|
@@ -18,6 +31,8 @@ function scoreText(input, query) {
|
|
|
18
31
|
return 4;
|
|
19
32
|
if (compactNeedle && compact.includes(compactNeedle))
|
|
20
33
|
return 5;
|
|
34
|
+
if (compactNeedle && isSubsequence(compact, compactNeedle))
|
|
35
|
+
return 6;
|
|
21
36
|
return Number.POSITIVE_INFINITY;
|
|
22
37
|
}
|
|
23
38
|
function scoreSnippet(snippet, query) {
|
|
@@ -29,9 +44,9 @@ function scoreSnippet(snippet, query) {
|
|
|
29
44
|
return score;
|
|
30
45
|
const needle = query.toLowerCase();
|
|
31
46
|
if (description.startsWith(needle))
|
|
32
|
-
return 6;
|
|
33
|
-
if (description.includes(needle))
|
|
34
47
|
return 7;
|
|
48
|
+
if (description.includes(needle))
|
|
49
|
+
return 8;
|
|
35
50
|
return Number.POSITIVE_INFINITY;
|
|
36
51
|
}
|
|
37
52
|
function sourceRank(item) {
|
|
@@ -49,9 +64,9 @@ function scoreSkill(skill, query) {
|
|
|
49
64
|
return score;
|
|
50
65
|
const needle = query.toLowerCase();
|
|
51
66
|
if (description.startsWith(needle))
|
|
52
|
-
return 6;
|
|
53
|
-
if (description.includes(needle))
|
|
54
67
|
return 7;
|
|
68
|
+
if (description.includes(needle))
|
|
69
|
+
return 8;
|
|
55
70
|
return Number.POSITIVE_INFINITY;
|
|
56
71
|
}
|
|
57
72
|
export function filterSnippets(snippets, query) {
|
|
@@ -92,6 +107,9 @@ export function matchedAliases(snippet, query) {
|
|
|
92
107
|
const needle = query.trim();
|
|
93
108
|
if (!needle)
|
|
94
109
|
return [];
|
|
110
|
+
const exact = snippet.aliases.filter((alias) => alias === needle);
|
|
111
|
+
if (exact.length > 0)
|
|
112
|
+
return exact;
|
|
95
113
|
return snippet.aliases.filter((alias) => Number.isFinite(scoreText(alias, needle)));
|
|
96
114
|
}
|
|
97
115
|
export function snippetDescription(snippet) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui-search.js","sourceRoot":"","sources":["../../src/tui-search.ts"],"names":[],"mappings":"AAQA,SAAS,mBAAmB,CAAC,KAAa;IACxC,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,KAAa;IAC7C,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,aAAa,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAEjD,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,CAAC,CAAC;IAC7B,IAAI,aAAa,IAAI,OAAO,KAAK,aAAa;QAAE,OAAO,CAAC,CAAC;IACzD,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,CAAC,CAAC;IACrC,IAAI,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,CAAC,CAAC;IACjE,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,CAAC,CAAC;IACnC,IAAI,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"tui-search.js","sourceRoot":"","sources":["../../src/tui-search.ts"],"names":[],"mappings":"AAQA,SAAS,mBAAmB,CAAC,KAAa;IACxC,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,aAAa,CAAC,KAAa,EAAE,KAAa;IACjD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;YAAE,SAAS;QAC7B,CAAC,IAAI,CAAC,CAAC;QACP,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;IACtC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,KAAa;IAC7C,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,aAAa,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAEjD,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,CAAC,CAAC;IAC7B,IAAI,aAAa,IAAI,OAAO,KAAK,aAAa;QAAE,OAAO,CAAC,CAAC;IACzD,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,CAAC,CAAC;IACrC,IAAI,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,CAAC,CAAC;IACjE,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,CAAC,CAAC;IACnC,IAAI,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,CAAC,CAAC;IAC/D,IAAI,aAAa,IAAI,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC;QAAE,OAAO,CAAC,CAAC;IAErE,OAAO,MAAM,CAAC,iBAAiB,CAAC;AAClC,CAAC;AAED,SAAS,YAAY,CAAC,OAAoB,EAAE,KAAa;IACvD,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC;IAErB,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,EAC9B,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAC3D,CAAC;IAEF,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAEzC,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACnC,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,CAAC,CAAC;IAC7C,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,CAAC,CAAC;IAE3C,OAAO,MAAM,CAAC,iBAAiB,CAAC;AAClC,CAAC;AAED,SAAS,UAAU,CAAC,IAAsC;IACxD,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,QAAQ,CAAC,KAAgB;IAChC,OAAO,SAAS,KAAK,CAAC,IAAI,GAAG,CAAC;AAChC,CAAC;AAED,SAAS,UAAU,CAAC,KAAgB,EAAE,KAAa;IACjD,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC;IAErB,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAExF,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAEzC,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACnC,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,CAAC,CAAC;IAC7C,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,CAAC,CAAC;IAE3C,OAAO,MAAM,CAAC,iBAAiB,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAuB,EAAE,KAAa;IACnE,OAAO,CAAC,GAAG,QAAQ,CAAC;SACjB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACjB,OAAO;QACP,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;KAC3C,CAAC,CAAC;SACF,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC7C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK;YAAE,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;QAElD,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,UAAU,KAAK,CAAC;YAAE,OAAO,UAAU,CAAC;QAExC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAmB,EAAE,KAAa;IAC7D,OAAO,CAAC,GAAG,MAAM,CAAC;SACf,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACf,KAAK;QACL,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;KACvC,CAAC,CAAC;SACF,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC7C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK;YAAE,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;QAElD,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC7D,IAAI,UAAU,KAAK,CAAC;YAAE,OAAO,UAAU,CAAC;QAExC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAoB,EAAE,KAAa;IAChE,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEvB,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC;IAClE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAEnC,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAoB;IACrD,OAAO,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,KAAa;IAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1C,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAEpD,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,KAAK,GAAoB,EAAE,CAAC;IAClC,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC9C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACvD,MAAM;QACR,CAAC;QAED,IAAI,KAAK,GAAG,KAAK,EAAE,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,GAAG,GAAG,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,KAAK,GAAG,GAAG,CAAC;IACd,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/D,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/package.json
CHANGED
package/skill/snippets/SKILL.md
CHANGED
|
@@ -39,7 +39,7 @@ Full config example with all options:
|
|
|
39
39
|
```jsonc
|
|
40
40
|
{
|
|
41
41
|
// JSON Schema for editor autocompletion
|
|
42
|
-
"$schema": "https://raw.githubusercontent.com/JosXa/opencode-snippets/v2.
|
|
42
|
+
"$schema": "https://raw.githubusercontent.com/JosXa/opencode-snippets/v2.2.0/schema/config.schema.json",
|
|
43
43
|
|
|
44
44
|
// Logging settings
|
|
45
45
|
"logging": {
|
|
@@ -62,9 +62,9 @@ Full config example with all options:
|
|
|
62
62
|
"skillLoading": false
|
|
63
63
|
},
|
|
64
64
|
|
|
65
|
-
//
|
|
66
|
-
// Default:
|
|
67
|
-
"
|
|
65
|
+
// How many messages from bottom to place injected context
|
|
66
|
+
// Default: 5
|
|
67
|
+
"injectRecencyMessages": 5
|
|
68
68
|
}
|
|
69
69
|
```
|
|
70
70
|
|
|
@@ -84,31 +84,58 @@ Frontmatter optional. Filename (minus .md) = primary hashtag.
|
|
|
84
84
|
|
|
85
85
|
## Features
|
|
86
86
|
|
|
87
|
+
The plugin adds shell substitution to regular OpenCode prompts, not just snippet files.
|
|
88
|
+
|
|
87
89
|
- `#other` - include another snippet (recursive, max 15 depth)
|
|
88
|
-
- `` !`cmd` `` - shell substitution, output
|
|
90
|
+
- `` !`cmd` `` - shell substitution, output only
|
|
91
|
+
- `` !>`cmd` `` - shell substitution, show command plus output
|
|
92
|
+
|
|
93
|
+
Use `!>` when the exact command matters. LLMs tend to trust the output more when they can see which terminal command just ran. The command gives the output context, which makes it more informative and easier to interpret.
|
|
89
94
|
|
|
90
95
|
### Prepend/Append Blocks
|
|
91
96
|
|
|
92
97
|
Move content to message start/end instead of inline. Best for long reference material that breaks writing flow.
|
|
93
98
|
|
|
99
|
+
A snippet can include a `<prepend>` or `<append>` block and ordinary body text at the same time. Only the block content moves. Text outside the block still expands inline where `#snippet` was used. Use this to keep snippets flowing inside a sentence: a short visible body like `Jira`, `bead`, or `cherry-pick` stays in the user's prose, while heavy guidance is hidden in the block.
|
|
100
|
+
|
|
94
101
|
```md
|
|
95
102
|
---
|
|
96
103
|
aliases: jira
|
|
97
104
|
---
|
|
98
|
-
Jira MCP
|
|
99
105
|
<prepend>
|
|
100
106
|
## Jira Field Mappings
|
|
101
107
|
|
|
102
108
|
- customfield_16570 => Acceptance Criteria
|
|
103
109
|
- customfield_11401 => Team
|
|
104
110
|
</prepend>
|
|
111
|
+
|
|
112
|
+
Jira MCP
|
|
105
113
|
```
|
|
106
114
|
|
|
107
115
|
Input: `Create bug in #jira about leak`
|
|
108
|
-
Output:
|
|
116
|
+
Output: The field mappings are prepended at the top, and the visible inline expansion becomes `Create bug in Jira MCP about leak`.
|
|
109
117
|
|
|
110
118
|
Use `<append>` for reference material at end. Content inside blocks should use `##` headings.
|
|
111
119
|
|
|
120
|
+
#### Wrap block content in semantic XML tags
|
|
121
|
+
|
|
122
|
+
Inside a `<prepend>` or `<append>` block, wrap content in custom tags that label its role for the LLM:
|
|
123
|
+
|
|
124
|
+
- `<task>...</task>` - the next thing the agent should do
|
|
125
|
+
- `<user_reminder>...</user_reminder>` - persistent reminder of user intent
|
|
126
|
+
- `<guidance>...</guidance>`, `<info>...</info>` - context, rules, reference
|
|
127
|
+
- `<condition="...">...</condition>` - guidance that only applies in a specific case
|
|
128
|
+
|
|
129
|
+
Tags are not magic. They give the model a clear role label for the chunk so it does not blend into the rest of the message.
|
|
130
|
+
|
|
131
|
+
#### When to prepend vs append
|
|
132
|
+
|
|
133
|
+
Prepend puts the block at the very top of the message. The user's typed line lands last, which the LLM tends to follow more closely. Use prepend for **general context and guidance**, especially short blocks. Use it sparingly for many-paragraph blocks: a wall of text dumped on top of a one-word `#tag` is visually jarring for the user reading their own message.
|
|
134
|
+
|
|
135
|
+
Append puts the block at the bottom. The user's line stays at the top, less jarring. Adherence to the user line can soften slightly, but append is ideal when the block contains a `<task>` or instruction that should be the **next thing the agent does**.
|
|
136
|
+
|
|
137
|
+
Rule of thumb: short context => prepend; important next step => append; heavy reference docs => prepend with a tiny inline body so the user's sentence still flows.
|
|
138
|
+
|
|
112
139
|
### Inject Blocks (Experimental)
|
|
113
140
|
|
|
114
141
|
Add persistent context that the LLM sees throughout the entire agentic loop, without cluttering the visible message.
|
|
@@ -184,6 +211,10 @@ Treat `#skill(...)` as hidden context injection, not inline expansion. User usua
|
|
|
184
211
|
|
|
185
212
|
`#skill(...)` also works when produced by snippet expansion, not only when the user types it directly.
|
|
186
213
|
|
|
214
|
+
## Escaped Hashtag References
|
|
215
|
+
|
|
216
|
+
When a user writes `#_snippet-name` with a leading underscore after `#`, they are referring to the snippet `#snippet-name` without triggering expansion. This is an escape convention for talking about a snippet in conversation, for example `navigate to #_myapps`. Always interpret `#_foo` as meaning `#foo`. Do not ask for clarification. Silently resolve the underscored form to the real snippet name.
|
|
217
|
+
|
|
187
218
|
## Commands
|
|
188
219
|
|
|
189
220
|
- `/snippets add <name> [content]` - create global snippet
|