Releases: whaaaley/opencode-speech-act-theory
v0.0.20
v0.0.19
Summary
Tool parameter descriptions now include the full JSON Schema generated by z.toJSONSchema(), replacing hand-crafted examples. This gives the LLM the real schema with types, descriptions, and examples directly in the tool prompt.
Changes
- Tool parameter descriptions now use
z.toJSONSchema()to generate schema documentation instead of hand-crafted example strings - Added
.meta({ examples })to prompt schema fields (IntentSchema,TaskTargetsSchema,ConstraintsSchema,TaskContextSchema,ParsedTaskSchema) - Clarified tool descriptions: "You decompose the input, the tool validates" instead of implying the tool does the decomposition
- Updated README to align with refactored tool descriptions
v0.0.17
v0.0.16
Completely reworked all tooling. Previously, tools opened a second LLM session in the background to run commands, which caused issues like infinite tool calls, blocked tools, and background file edits. Tools are now validators and I/O only. The LLM drives the full pipeline in the foreground through normal tool calls, avoiding all of those issues.
Changes
- Foreground pipeline: Tools no longer spawn background LLM sessions. The LLM calls discover, parse, format, and write tools in sequence. Output is better and the flow is fully visible.
- Reworked prompts: All tool descriptions and parameter descriptions rewritten. Separated reusable prompt blocks (deontic strengths, negation signals, mode formats) and eliminated redundancy across tools.
- Chat notifications: rewrite-rules, add-rules, and format-prompt now display results directly in chat.
- Format prompt redesigned: parse-prompt and format-prompt fully redone to decompose messy or voice-transcribed input into structured task hierarchies.
v0.0.15
Summary
Fixes an infinite tool call recursion bug and simplifies internal prompts for more reliable behavior.
Changes
- Fix: infinite tool call recursion - Internal SAT sessions now deny all tools via wildcard (
'*': false), preventing the LLM from calling SAT tools (or any other tools) recursively instead of doing the work itself. - Simplified prompts - All internal prompts now use explicit, concise phrasing ("Always respond with raw JSON text only. Never use tools. Never call functions.") to reinforce that internal sessions should only produce JSON text responses.
v0.0.12
Summary
Package renamed from opencode-irf to opencode-sat (Speech Act Theory).
What's New
- refine-prompt tool - Restructures messy or voice-transcribed input into a clear task hierarchy with tree-formatted output
- automatic-rule tool - Detects when the user corrects the agent, extracts the implicit rule, and appends it to the instruction file
Renamed
This package has been renamed from opencode-irf to opencode-sat. Update your opencode.json:
{
"plugin": ["opencode-sat"]
}v0.0.11
v0.0.10
- Add irf-add tool for appending rules without rewriting
- Migrate from Deno to Bun for testing and type checking
- Extract helpers into resolve.ts and format.ts
- Add sendResult for posting output directly to chat
- Unified results table using cli-table3
- Fix mutation in comparison table builder
- Update README with parameter tables