backeer-opencode 0.2.0 → 0.2.2

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/CHANGELOG.md CHANGED
@@ -2,6 +2,23 @@
2
2
 
3
3
  All notable changes to `backeer-opencode` are documented here.
4
4
 
5
+ ## 0.2.2 - 2026-09-01
6
+
7
+ - Show user-facing Backeer delivery and decision results in the OpenCode
8
+ conversation instead of writing them into the TUI input area.
9
+ - Queue conversation feedback until the session is idle and mark it as ignored
10
+ so it cannot trigger another agent response or enter model context.
11
+ - Send technical diagnostics through OpenCode's structured application log API
12
+ instead of stdout.
13
+
14
+ ## 0.2.1 - 2026-09-01
15
+
16
+ - Add `/backeer doctor` for read-only local configuration, protected token,
17
+ source authentication, gateway capability, and APNs diagnostics.
18
+ - Add `/backeer test` to send a uniquely correlated end-to-end mobile test
19
+ notification.
20
+ - Keep doctor reports and command output free of bearer token values.
21
+
5
22
  ## 0.2.0 - 2026-09-01
6
23
 
7
24
  - Notify when an OpenCode assistant run completes successfully.
package/README.md CHANGED
@@ -150,25 +150,28 @@ Supported options are `origin`, `tokenFile`, `permissions`, `questions`,
150
150
  `todos`, `lifecycle`, and `logLevel`. Use `"lifecycle": false` to disable the
151
151
  entire lifecycle group. The token itself is deliberately not a plugin option.
152
152
 
153
- ## Console feedback
153
+ ## Conversation feedback
154
154
 
155
- The plugin writes compact, single-line status messages instead of raw HTTP logs:
155
+ User-facing status messages appear as compact Backeer entries in the OpenCode
156
+ conversation:
156
157
 
157
158
  ```text
158
- ◆ Backeer Permission request sent
159
- ◆ Backeer Question sent
160
- ◆ Backeer Todo completion sent
161
- ◆ Backeer Task completion sent
162
- ◆ Backeer Retry warning sent
163
- ◆ Backeer Task failure sent
164
- ✓ Backeer Decision applied: Always allow
165
- ! Backeer Connection interrupted — retrying
159
+ Backeer ✓ Permission request sent
160
+ Backeer ✓ Question sent
161
+ Backeer ✓ Todo completion sent
162
+ Backeer ✓ Task completion sent
163
+ Backeer ✓ Decision applied: Always allow
166
164
  ```
167
165
 
168
- TTY output uses restrained status colors and respects `NO_COLOR`. Repeated
169
- connection errors are suppressed for 30 seconds. Normal `info` output omits HTTP
170
- status codes and internal errors; set `BACKEER_LOG_LEVEL=debug` when technical
171
- details are needed. Set it to `error` for failures only or `silent` for no output.
166
+ These entries are marked `noReply` and `ignored`, so they are visible without
167
+ starting another agent turn or entering model context. Feedback generated while
168
+ an agent is active is queued until the session becomes idle; it never writes to
169
+ the user's input field.
170
+
171
+ Technical diagnostics use OpenCode's structured application log API instead of
172
+ stdout. Normal `info` logging omits HTTP details; set
173
+ `BACKEER_LOG_LEVEL=debug` when technical details are needed. Set it to `error`
174
+ for failures only or `silent` to disable structured logs.
172
175
 
173
176
  ## OpenCode command
174
177
 
@@ -177,6 +180,8 @@ The plugin registers a `/backeer` command inside OpenCode:
177
180
  ```text
178
181
  /backeer
179
182
  /backeer status
183
+ /backeer doctor
184
+ /backeer test
180
185
  /backeer update-check
181
186
  /backeer update
182
187
  /backeer token
@@ -188,6 +193,16 @@ notification switches and lifecycle thresholds, command-stream state, pending
188
193
  permissions, and log level. It never displays the token. Gateway reachability
189
194
  does not validate the source credential.
190
195
 
196
+ `/backeer doctor` performs a read-only diagnostic pass. It verifies the local
197
+ configuration, protected token-file permissions, source authentication, event
198
+ and command capabilities, and gateway APNs readiness. It does not create an
199
+ event, open a command stream, or display the bearer token.
200
+
201
+ `/backeer test` publishes one uniquely correlated, non-actionable application
202
+ event and asks the gateway to deliver a real push notification. Use it after
203
+ installation, token rotation, or network changes to verify the complete path
204
+ from OpenCode to the phone.
205
+
191
206
  `/backeer token` displays safe rotation instructions. Never paste a raw token
192
207
  into slash-command arguments because OpenCode may retain command text in session
193
208
  history. To rotate from inside OpenCode, first place the new token in an absolute
@@ -251,10 +266,11 @@ npm run publish:check
251
266
 
252
267
  ## Development architecture
253
268
 
254
- The npm plugin runs from the modular source in `src`. Configuration, console
255
- reporting, HTTP transport, SSE consumption, event publishing, permission command
256
- handling, and OpenCode event routing are kept in separate modules. The package
257
- root continues to expose only the default OpenCode plugin entrypoint.
269
+ The npm plugin runs from the modular source in `src`. Configuration, structured
270
+ logging, conversation feedback, HTTP transport, SSE consumption, event
271
+ publishing, permission command handling, and OpenCode event routing are kept in
272
+ separate modules. The package root continues to expose only the default OpenCode
273
+ plugin entrypoint.
258
274
 
259
275
  The legacy side-loaded installer still deploys one dependency-free file. Build
260
276
  that generated artifact before running the installer directly from a source