@bybrawe/opencode-loop 0.5.16 → 0.5.18

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 (43) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +36 -11
  3. package/agents/opencode-loop-local.md +10 -0
  4. package/commands/loop-ask.md +1 -0
  5. package/commands/loop-clear.md +1 -0
  6. package/commands/loop-cmd.md +1 -0
  7. package/commands/loop-command.md +1 -0
  8. package/commands/loop-compact.md +1 -0
  9. package/commands/loop-dev.md +1 -0
  10. package/commands/loop-doctor.md +1 -0
  11. package/commands/loop-export.md +1 -0
  12. package/commands/loop-goal-blocked.md +1 -0
  13. package/commands/loop-goal-clear.md +1 -0
  14. package/commands/loop-goal-done.md +1 -0
  15. package/commands/loop-goal-pause.md +1 -0
  16. package/commands/loop-goal-resume.md +1 -0
  17. package/commands/loop-goal-status.md +1 -0
  18. package/commands/loop-goal.md +1 -0
  19. package/commands/loop-help.md +1 -0
  20. package/commands/loop-init.md +1 -0
  21. package/commands/loop-logs.md +1 -0
  22. package/commands/loop-now.md +1 -0
  23. package/commands/loop-pause.md +1 -0
  24. package/commands/loop-progress.md +1 -0
  25. package/commands/loop-prompt.md +1 -0
  26. package/commands/loop-remove.md +1 -0
  27. package/commands/loop-resume.md +1 -0
  28. package/commands/loop-safe-dev.md +1 -0
  29. package/commands/loop-shell.md +1 -0
  30. package/commands/loop-status.md +1 -0
  31. package/commands/loop-stop.md +1 -0
  32. package/commands/loop-testfix.md +1 -0
  33. package/commands/loop.md +1 -0
  34. package/package.json +6 -5
  35. package/scripts/comprehensive-test.mjs +486 -0
  36. package/scripts/install-node.mjs +146 -4
  37. package/scripts/install-test.mjs +104 -0
  38. package/scripts/install.ps1 +6 -32
  39. package/scripts/install.sh +6 -34
  40. package/scripts/loopd-test.mjs +208 -0
  41. package/scripts/loopd.mjs +125 -41
  42. package/scripts/smoke-test.mjs +1 -1
  43. package/src/index.js +193 -52
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.5.18
4
+
5
+ - Fixed package-based installs loading stale OpenCode cache entries after npm had installed a newer release. The installer now pins an existing package config entry to its exact installed version while preserving JSONC comments.
6
+ - Fixed Goal Mode mistaking delayed updates for its own scheduler-created user message as a real user interruption. Loop-owned message IDs remain recognized without hiding a distinct user message.
7
+ - Added a dedicated `opencode-loopd` regression suite for literal argument passing, BOM prompt files, model/agent forwarding, finite-run exit codes, invalid options, and Windows scheduled-task lifecycle behavior.
8
+ - Made finite daemon runs propagate OpenCode failures instead of reporting exit code 0, and reject invalid `--max-runs` values and missing project directories.
9
+ - Added `--model` and `--agent` forwarding to daemon and scheduled-task runs.
10
+ - Fixed Windows Task Scheduler installation failing when `/TR` exceeded its 261-character limit. Scheduled tasks now use a short launcher plus a task-specific JSON config under the local app-data directory, and uninstall removes both artifacts.
11
+ - Made Task Scheduler command launch failures return a nonzero exit code instead of silently succeeding.
12
+ - Added non-mutating `--help` and `--version` handling to the `opencode-loop` installer CLI.
13
+
14
+ ## 0.5.17
15
+
16
+ - Prevented OpenCode project bootstrap deadlocks by deferring local SDK logging and session discovery until after plugin hooks are returned.
17
+ - Added a tool-denied `opencode-loop-local` command agent for all 30 slash commands, preventing local status/control commands from spawning tools or background subagents; scheduled work restores the normal agent/model context.
18
+ - Made the installer detect package-based plugin configuration in JSON or JSONC and remove duplicate local plugin copies instead of loading two schedulers.
19
+ - Fixed watched jobs so file changes actually trigger them, while unchanged paths remain dormant.
20
+ - Fixed preset parsing for explicit `0s`, flag-only presets, and custom `/loop-testfix` commands.
21
+ - Fixed command-event deduplication so compatibility events are suppressed without swallowing intentional repeated commands.
22
+ - Hardened safe shell detection for PowerShell and `rm` variants, removed the `npm run format` false positive, and paused invalid synchronous actions instead of retrying them indefinitely.
23
+ - Added comprehensive parser, preset, lifecycle, watch, safety, routing, goal, installer, JSONC, and initialization regression coverage.
24
+
3
25
  ## 0.5.16
4
26
 
5
27
  - Treat active OpenCode tools, shell calls, and foreground or background subtasks as busy even if the parent session receives an idle/status event while they are still running.
package/README.md CHANGED
@@ -16,7 +16,7 @@ v0.5.11 includes a referenced heartbeat scheduler. This is important in OpenCode
16
16
 
17
17
  ## Current status
18
18
 
19
- **v0.5.16 fixes idle detection during long-running tools and background subtasks.** The scheduler now treats OpenCode tool lifecycle activity and running child sessions as stronger busy signals than a premature parent idle/status event, so due prompts wait instead of filling the queue. It keeps the Goal Mode and SDK compatibility hardening from v0.5.15.
19
+ **v0.5.18 hardens Goal Mode, package updates, and the background daemon.** Package installs are pinned to the installed version so OpenCode cannot keep loading an older cached release, scheduler-created goal messages no longer self-interrupt on delayed updates, finite daemon failures return nonzero, model/agent selection is supported, and Windows scheduled tasks use a short launcher that stays below the `/TR` limit.
20
20
 
21
21
  The known update-related symptoms from older builds are fixed:
22
22
 
@@ -32,7 +32,7 @@ The known update-related symptoms from older builds are fixed:
32
32
 
33
33
  The TUI loop is still intentionally session-bound: it runs while OpenCode is open and the current session emits status/idle events. For long-running background work after closing the terminal or OpenCode, use `opencode-loopd`.
34
34
 
35
- ## v0.5.16 quick behavior guide
35
+ ## v0.5.18 quick behavior guide
36
36
 
37
37
  OpenCode Loop has two triggers now:
38
38
 
@@ -79,7 +79,7 @@ Run a shell command every 10 minutes when idle.
79
79
 
80
80
  Experimental persistent goal mode: keep working until the goal is complete, blocked, paused, cleared, or a safety limit is reached.
81
81
 
82
- > Note: OpenCode custom command markdown still creates a tiny assistant turn for slash commands. v0.5.11 keeps these command templates short and asks the model to reply `OK`. The actual loop scheduling is handled locally by the plugin. If that short turn briefly makes OpenCode look busy, the loop now recovers with fresh status checks, stale-active-run recovery, and a watchdog that does not require another manual command.
82
+ > Note: OpenCode custom command markdown still creates an assistant turn for slash commands. v0.5.17 routes that acknowledgement through the installed `opencode-loop-local` agent, which denies tools and subagents. The real scheduled iteration explicitly restores the normal coding agent/model, so a status or control command cannot launch background exploration or leave later loop work tool-disabled.
83
83
 
84
84
  ## Why this exists
85
85
 
@@ -157,14 +157,14 @@ Use the npm installer from any shell: Windows PowerShell, Windows CMD, macOS, or
157
157
  npx -y @bybrawe/opencode-loop@latest
158
158
  ```
159
159
 
160
- The installer copies the plugin and slash command files into your OpenCode config directory. It also ensures that the config directory has a `package.json` dependency on `@opencode-ai/plugin`, which local `.ts` plugins need for the `tool()` helper.
161
- It also removes the old local `opencode-loop.js` copy from earlier releases so only the current local `opencode-loop.ts` plugin remains.
160
+ The installer copies the slash command files and the tool-denied local command agent into your OpenCode config directory. If `@bybrawe/opencode-loop` is already present in the OpenCode `plugin` array, that package entry remains authoritative, is pinned to the installer's exact version to bypass stale OpenCode package caches, and duplicate local plugin copies are removed. Otherwise it installs `opencode-loop.ts` locally and ensures the config directory has the `@opencode-ai/plugin` dependency required by `tool()`.
162
161
 
163
162
  Windows target paths:
164
163
 
165
164
  ```text
166
165
  %USERPROFILE%\.config\opencode\plugins\opencode-loop.ts
167
166
  %USERPROFILE%\.config\opencode\commands\loop*.md
167
+ %USERPROFILE%\.config\opencode\agents\opencode-loop-local.md
168
168
  ```
169
169
 
170
170
  macOS / Linux target paths:
@@ -172,6 +172,7 @@ macOS / Linux target paths:
172
172
  ```text
173
173
  ~/.config/opencode/plugins/opencode-loop.ts
174
174
  ~/.config/opencode/commands/loop*.md
175
+ ~/.config/opencode/agents/opencode-loop-local.md
175
176
  ```
176
177
 
177
178
  Then fully restart OpenCode and run:
@@ -195,9 +196,9 @@ The `npx` installer installs both parts:
195
196
 
196
197
  - the OpenCode plugin file
197
198
  - the `/loop-*` command markdown files
199
+ - the tool-denied `opencode-loop-local` acknowledgement agent
198
200
 
199
- Use the OpenCode config-only method only if you already installed the command files separately or you are only testing plugin loading.
200
- Do not use the config package entry and the local `npx`-installed plugin at the same time unless you intentionally want to test duplicate plugin loading.
201
+ The installer automatically avoids loading both the package entry and a local plugin copy. It can therefore be rerun safely after switching installation styles.
201
202
 
202
203
  ### Optional: OpenCode config package entry
203
204
 
@@ -220,7 +221,7 @@ If `/loop` does not appear after using only the config method, run the installer
220
221
  npx -y @bybrawe/opencode-loop
221
222
  ```
222
223
 
223
- If you later switch back to the recommended `npx` local install, remove `@bybrawe/opencode-loop` from the `plugin` array to avoid loading the package plugin and local plugin together.
224
+ If you later remove `@bybrawe/opencode-loop` from the `plugin` array, rerun the installer so it restores the local plugin copy.
224
225
 
225
226
  ### Install from GitHub
226
227
 
@@ -257,16 +258,19 @@ Windows PowerShell:
257
258
  ```powershell
258
259
  mkdir "$env:USERPROFILE\.config\opencode\plugins" -Force
259
260
  mkdir "$env:USERPROFILE\.config\opencode\commands" -Force
261
+ mkdir "$env:USERPROFILE\.config\opencode\agents" -Force
260
262
  copy .\src\index.js "$env:USERPROFILE\.config\opencode\plugins\opencode-loop.ts"
261
263
  copy .\commands\*.md "$env:USERPROFILE\.config\opencode\commands\"
264
+ copy .\agents\*.md "$env:USERPROFILE\.config\opencode\agents\"
262
265
  ```
263
266
 
264
267
  macOS / Linux:
265
268
 
266
269
  ```bash
267
- mkdir -p ~/.config/opencode/plugins ~/.config/opencode/commands
270
+ mkdir -p ~/.config/opencode/plugins ~/.config/opencode/commands ~/.config/opencode/agents
268
271
  cp ./src/index.js ~/.config/opencode/plugins/opencode-loop.ts
269
272
  cp ./commands/*.md ~/.config/opencode/commands/
273
+ cp ./agents/*.md ~/.config/opencode/agents/
270
274
  ```
271
275
 
272
276
  ### Project-local install
@@ -274,9 +278,10 @@ cp ./commands/*.md ~/.config/opencode/commands/
274
278
  Use this when you want the plugin to be available only inside one repository.
275
279
 
276
280
  ```bash
277
- mkdir -p .opencode/plugins .opencode/commands
281
+ mkdir -p .opencode/plugins .opencode/commands .opencode/agents
278
282
  cp ./src/index.js .opencode/plugins/opencode-loop.ts
279
283
  cp ./commands/*.md .opencode/commands/
284
+ cp ./agents/*.md .opencode/agents/
280
285
  ```
281
286
 
282
287
  On Windows PowerShell:
@@ -284,8 +289,10 @@ On Windows PowerShell:
284
289
  ```powershell
285
290
  mkdir .opencode\plugins -Force
286
291
  mkdir .opencode\commands -Force
292
+ mkdir .opencode\agents -Force
287
293
  copy .\src\index.js .opencode\plugins\opencode-loop.ts
288
294
  copy .\commands\*.md .opencode\commands\
295
+ copy .\agents\*.md .opencode\agents\
289
296
  ```
290
297
 
291
298
  ### Verify installation
@@ -302,7 +309,8 @@ If the commands do not appear:
302
309
  1. Make sure OpenCode was fully restarted.
303
310
  2. Check that `opencode-loop.ts` exists in the OpenCode plugin directory.
304
311
  3. Check that `loop.md`, `loop-help.md`, and the other command files exist in the OpenCode commands directory.
305
- 4. Run `npx -y @bybrawe/opencode-loop` again to reinstall the command files.
312
+ 4. Check that `opencode-loop-local.md` exists in the OpenCode agents directory.
313
+ 5. Run `npx -y @bybrawe/opencode-loop` again to reinstall the command and agent files.
306
314
 
307
315
  ## Quick start
308
316
 
@@ -523,6 +531,14 @@ Limit runs:
523
531
  opencode-loopd --project . --every 5m --max-runs 20 --prompt-file loop-prompt.md
524
532
  ```
525
533
 
534
+ Select the OpenCode model and agent explicitly:
535
+
536
+ ```bash
537
+ opencode-loopd --project . --every 0s --max-runs 1 --model opencode/big-pickle --agent build --prompt-file loop-prompt.md
538
+ ```
539
+
540
+ When `--max-runs` is finite, the daemon exits with the final OpenCode run's nonzero status so scripts and CI can detect failures.
541
+
526
542
  Wait before the first run:
527
543
 
528
544
  ```bash
@@ -560,6 +576,8 @@ Install a scheduled task:
560
576
  opencode-loopd install-task --project "C:\path\to\project" --every 10m --prompt-file loop-prompt.md --name OpenCodeLoop
561
577
  ```
562
578
 
579
+ You can also pass `--model <provider/model>` and `--agent <name>`. The installer stores long task options in a task-specific JSON file and registers only a short launcher with Task Scheduler, avoiding Windows' 261-character `/TR` limit. `uninstall-task` removes that launcher and JSON config after the task is deleted.
580
+
563
581
  Remove it:
564
582
 
565
583
  ```powershell
@@ -1112,6 +1130,13 @@ Improve the application in small safe steps.
1112
1130
 
1113
1131
  ## Changelog highlights
1114
1132
 
1133
+ ### v0.5.17
1134
+
1135
+ - Added a tool-denied local command agent and restored the normal coding agent/model for scheduled iterations.
1136
+ - Prevented package/local duplicate plugin loading and deferred bootstrap SDK calls to avoid project startup deadlocks.
1137
+ - Fixed watched jobs, preset parsing, repeated-command deduplication, safe-shell patterns, and invalid-action retry storms.
1138
+ - Added comprehensive command, lifecycle, installer, JSONC, scheduler, and safety regression tests.
1139
+
1115
1140
  ### v0.5.16
1116
1141
 
1117
1142
  - Treat active tools, shell calls, and running foreground/background child sessions as busy even when the parent session appears idle.
@@ -0,0 +1,10 @@
1
+ ---
2
+ description: Handles OpenCode Loop slash-command acknowledgements without tools.
3
+ mode: primary
4
+ permission:
5
+ "*": deny
6
+ ---
7
+
8
+ The OpenCode Loop plugin has already handled the slash command locally.
9
+ Never call tools, spawn subagents, inspect files, or perform additional work.
10
+ Reply exactly: OK
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Schedule a recurring prompt/question. Usage: /loop-ask 1h did you run tests?
3
+ agent: opencode-loop-local
3
4
  ---
4
5
 
5
6
  OpenCode Loop ask scheduler handled locally. Reply exactly: OK.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Clear all OpenCode Loop jobs for this session.
3
+ agent: opencode-loop-local
3
4
  ---
4
5
 
5
6
  OpenCode Loop clear command handled locally. Reply exactly: OK.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Alias for /loop-command. Usage: /loop-cmd 200m /compact
3
+ agent: opencode-loop-local
3
4
  ---
4
5
 
5
6
  OpenCode Loop command scheduler handled locally. Reply exactly: OK.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Schedule an OpenCode slash command loop. Usage: /loop-command 200m /compact
3
+ agent: opencode-loop-local
3
4
  ---
4
5
 
5
6
  OpenCode Loop command scheduler handled locally. Reply exactly: OK.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: OpenCode Loop plugin command.
3
+ agent: opencode-loop-local
3
4
  ---
4
5
 
5
6
  Loop command received. The OpenCode Loop plugin handles this command. Do not explain this command, do not search the web, do not create scheduler files, and do not run extra shell commands because of this command.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: OpenCode Loop plugin command.
3
+ agent: opencode-loop-local
3
4
  ---
4
5
 
5
6
  Loop command received. The OpenCode Loop plugin handles this command. Do not explain this command, do not search the web, do not create scheduler files, and do not run extra shell commands because of this command.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Run OpenCode Loop diagnostics.
3
+ agent: opencode-loop-local
3
4
  ---
4
5
 
5
6
  OpenCode Loop doctor command handled locally. Reply exactly: OK.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Export OpenCode Loop state.
3
+ agent: opencode-loop-local
3
4
  ---
4
5
 
5
6
  OpenCode Loop export command handled locally. Reply exactly: OK.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Mark experimental goal blocked.
3
+ agent: opencode-loop-local
3
4
  ---
4
5
 
5
6
  OpenCode Loop experimental goal blocked command handled locally. Reply exactly: OK.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Clear experimental goal jobs.
3
+ agent: opencode-loop-local
3
4
  ---
4
5
 
5
6
  OpenCode Loop experimental goal clear command handled locally. Reply exactly: OK.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Mark experimental goal done.
3
+ agent: opencode-loop-local
3
4
  ---
4
5
 
5
6
  OpenCode Loop experimental goal done command handled locally. Reply exactly: OK.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Pause experimental goal jobs.
3
+ agent: opencode-loop-local
3
4
  ---
4
5
 
5
6
  OpenCode Loop experimental goal pause command handled locally. Reply exactly: OK.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Resume experimental goal jobs.
3
+ agent: opencode-loop-local
3
4
  ---
4
5
 
5
6
  OpenCode Loop experimental goal resume command handled locally. Reply exactly: OK.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Show experimental goal status.
3
+ agent: opencode-loop-local
3
4
  ---
4
5
 
5
6
  OpenCode Loop experimental goal status command handled locally. Reply exactly: OK.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Experimental persistent goal mode. Usage: /loop-goal finish the feature and keep tests green
3
+ agent: opencode-loop-local
3
4
  ---
4
5
 
5
6
  OpenCode Loop experimental goal command handled locally. Reply exactly: OK.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Show OpenCode Loop help.
3
+ agent: opencode-loop-local
3
4
  ---
4
5
 
5
6
  OpenCode Loop help command handled locally. Reply exactly: OK.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Create a starter progress.md file.
3
+ agent: opencode-loop-local
3
4
  ---
4
5
 
5
6
  OpenCode Loop init command handled locally. Reply exactly: OK.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Show OpenCode Loop logs.
3
+ agent: opencode-loop-local
3
4
  ---
4
5
 
5
6
  OpenCode Loop logs command handled locally. Reply exactly: OK.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Run due OpenCode Loop jobs now when idle.
3
+ agent: opencode-loop-local
3
4
  ---
4
5
 
5
6
  OpenCode Loop run-now command handled locally. Reply exactly: OK.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Pause OpenCode Loop jobs.
3
+ agent: opencode-loop-local
3
4
  ---
4
5
 
5
6
  OpenCode Loop pause command handled locally. Reply exactly: OK.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: OpenCode Loop plugin command.
3
+ agent: opencode-loop-local
3
4
  ---
4
5
 
5
6
  Loop command received. The OpenCode Loop plugin handles this command. Do not explain this command, do not search the web, do not create scheduler files, and do not run extra shell commands because of this command.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Schedule a recurring prompt loop. Usage: /loop-prompt 1h continue the project
3
+ agent: opencode-loop-local
3
4
  ---
4
5
 
5
6
  Loop prompt scheduler received. The OpenCode Loop plugin handles this recurring prompt locally. Do not explain this command, do not search the web, do not create scheduler files, and do not run extra shell commands because of this command.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: OpenCode Loop plugin command.
3
+ agent: opencode-loop-local
3
4
  ---
4
5
 
5
6
  Loop command received. The OpenCode Loop plugin handles this command. Do not explain this command, do not search the web, do not create scheduler files, and do not run extra shell commands because of this command.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Resume OpenCode Loop jobs.
3
+ agent: opencode-loop-local
3
4
  ---
4
5
 
5
6
  OpenCode Loop resume command handled locally. Reply exactly: OK.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: OpenCode Loop plugin command.
3
+ agent: opencode-loop-local
3
4
  ---
4
5
 
5
6
  Loop command received. The OpenCode Loop plugin handles this command. Do not explain this command, do not search the web, do not create scheduler files, and do not run extra shell commands because of this command.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Schedule a recurring shell command. Usage: /loop-shell 10m npm test
3
+ agent: opencode-loop-local
3
4
  ---
4
5
 
5
6
  OpenCode Loop shell scheduler handled locally. Reply exactly: OK.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Show OpenCode Loop status.
3
+ agent: opencode-loop-local
3
4
  ---
4
5
 
5
6
  OpenCode Loop status command handled locally. Reply exactly: OK.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Stop OpenCode Loop jobs.
3
+ agent: opencode-loop-local
3
4
  ---
4
5
 
5
6
  OpenCode Loop stop command handled locally. Reply exactly: OK.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: OpenCode Loop plugin command.
3
+ agent: opencode-loop-local
3
4
  ---
4
5
 
5
6
  Loop command received. The OpenCode Loop plugin handles this command. Do not explain this command, do not search the web, do not create scheduler files, and do not run extra shell commands because of this command.
package/commands/loop.md CHANGED
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Start an OpenCode auto-continue loop. Usage: /loop 5m <task>
3
+ agent: opencode-loop-local
3
4
  ---
4
5
 
5
6
  OpenCode Loop local command handled. Reply exactly: OK.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bybrawe/opencode-loop",
3
- "version": "0.5.16",
3
+ "version": "0.5.18",
4
4
  "description": "Claude Code/Codex style /loop and experimental goal mode for OpenCode: heartbeat scheduler, idle-safe loops, scheduled commands, compact scheduling, verification, checkpoints, and persistent coding goals.",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
@@ -10,6 +10,7 @@
10
10
  "files": [
11
11
  "src",
12
12
  "commands",
13
+ "agents",
13
14
  "scripts",
14
15
  "examples",
15
16
  "README.md",
@@ -17,8 +18,8 @@
17
18
  "CHANGELOG.md"
18
19
  ],
19
20
  "scripts": {
20
- "check": "node --check src/index.js && node --check scripts/install-node.mjs && node --check scripts/loopd.mjs && node --check scripts/smoke-test.mjs",
21
- "test": "node scripts/smoke-test.mjs",
21
+ "check": "node --check src/index.js && node --check scripts/install-node.mjs && node --check scripts/loopd.mjs && node --check scripts/install-test.mjs && node --check scripts/loopd-test.mjs && node --check scripts/smoke-test.mjs && node --check scripts/comprehensive-test.mjs",
22
+ "test": "node scripts/install-test.mjs && node scripts/loopd-test.mjs && node scripts/smoke-test.mjs && node scripts/comprehensive-test.mjs",
22
23
  "install:global": "node scripts/install-node.mjs",
23
24
  "pack:zip": "node scripts/make-zip.mjs"
24
25
  },
@@ -59,8 +60,8 @@
59
60
  "@opencode-ai/plugin": "^1.4.0"
60
61
  },
61
62
  "bin": {
62
- "opencode-loop": "./scripts/install-node.mjs",
63
- "opencode-loopd": "./scripts/loopd.mjs"
63
+ "opencode-loop": "scripts/install-node.mjs",
64
+ "opencode-loopd": "scripts/loopd.mjs"
64
65
  },
65
66
  "publishConfig": {
66
67
  "access": "public"