diff --git a/CHANGELOG.md b/CHANGELOG.md index e1ebd5d..1054a8a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 0.3.1 + +- Fix the OpenCode `$ARGUMENTS` token in the `plugin-compaction-init` template so it is properly substituted instead of being written into the memory file. + ## 0.3.0 - Auto-register a `/plugin-compaction-init` slash command that scaffolds the compaction memory file with `## Keep` and `## Discard` sections of classification rules. User-supplied arguments are appended to extend the defaults. diff --git a/src/index.ts b/src/index.ts index b3fd736..8e58f84 100644 --- a/src/index.ts +++ b/src/index.ts @@ -21,7 +21,7 @@ const initCommandName = "plugin-compaction-init"; /** * Builds the prompt the auto-registered `/plugin-compaction-init` slash - * command sends to the model. `$ARGUMENTS$` is left unsubstituted so + * command sends to the model. `$ARGUMENTS` is left unsubstituted so * OpenCode substitutes it at invocation time. * * @param memoryFile Literal path to the memory file, inserted verbatim. @@ -46,7 +46,7 @@ Keep all details related to the keep topics below, and discard everything relate - Any other older discussions not mentioned above. -$ARGUMENTS$ +$ARGUMENTS `; } diff --git a/test/index.test.ts b/test/index.test.ts index 52a0c4e..09f424d 100644 --- a/test/index.test.ts +++ b/test/index.test.ts @@ -179,10 +179,10 @@ describe("buildInitCommandTemplate", () => { expect(template).toContain("## Discard\n"); }); - test("leaves $ARGUMENTS$ unsubstituted for OpenCode to fill in", () => { + test("leaves $ARGUMENTS unsubstituted for OpenCode to fill in", () => { const template = buildInitCommandTemplate(".opencode/compaction.md"); - expect(template.trimEnd().endsWith("$ARGUMENTS$")).toBe(true); + expect(template.trimEnd().endsWith("$ARGUMENTS")).toBe(true); }); }); @@ -210,7 +210,7 @@ describe("CompactionPromptPlugin config hook", () => { "## Discard", ); expect(cfg.command?.["plugin-compaction-init"].template).toContain( - "$ARGUMENTS$", + "$ARGUMENTS", ); expect(context.logs).toHaveLength(0); });