yams-blackboard 1.0.2 → 1.1.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.
Files changed (3) hide show
  1. package/README.md +32 -53
  2. package/index.js +1 -1
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # YAMS Blackboard Plugin for OpenCode
2
2
 
3
+ > **EXPERIMENTAL SOFTWARE** - This plugin is under active development. APIs may change without notice. Use at your own risk.
4
+
3
5
  A **blackboard architecture** plugin enabling agent-to-agent communication through [YAMS](https://github.com/trvon/yams) as shared memory.
4
6
 
5
7
  ## Overview
@@ -22,45 +24,39 @@ This plugin implements the classic [blackboard pattern](https://en.wikipedia.org
22
24
  └─────────┘ └─────────┘ └────────┘
23
25
  ```
24
26
 
25
- ## Prerequisites
26
-
27
- - **[YAMS](https://github.com/trvon/yams)** - must be installed and daemon running
28
- - **bun** (for local development/building)
29
- - **OpenCode** v1.1.0+ (for plugin support)
30
-
31
27
  ## Installation
32
28
 
33
- ### Option 1: npm (Recommended)
29
+ ### 1. Install YAMS
34
30
 
35
- Add to your `opencode.json`:
31
+ Install the YAMS daemon from [github.com/trvon/yams](https://github.com/trvon/yams):
36
32
 
37
- ```json
38
- {
39
- "$schema": "https://opencode.ai/config.json",
40
- "plugin": ["yams-blackboard"]
41
- }
42
- ```
43
-
44
- OpenCode automatically installs npm plugins at startup.
33
+ ```bash
34
+ # macOS
35
+ brew install trvon/tap/yams
45
36
 
46
- ### Option 2: Local Plugin
37
+ # Or build from source (see YAMS repo for instructions)
38
+ ```
47
39
 
48
- Copy to your project's `.opencode/plugin/` directory:
40
+ Start the daemon:
49
41
 
50
42
  ```bash
51
- mkdir -p .opencode/plugin/yams-blackboard
52
- cp -r * .opencode/plugin/yams-blackboard/
43
+ yams daemon start
44
+ yams status # Should show "running"
53
45
  ```
54
46
 
55
- ### Verify YAMS is Running
47
+ ### 2. Add Plugin to OpenCode
56
48
 
57
- The plugin communicates with YAMS via CLI. Ensure the daemon is running:
49
+ Add to your `opencode.json`:
58
50
 
59
- ```bash
60
- yams daemon start
61
- yams status
51
+ ```json
52
+ {
53
+ "$schema": "https://opencode.ai/config.json",
54
+ "plugin": ["yams-blackboard"]
55
+ }
62
56
  ```
63
57
 
58
+ OpenCode automatically installs npm plugins at startup. No manual build or copy required.
59
+
64
60
  ## Tools
65
61
 
66
62
  ### Agent Management
@@ -213,38 +209,21 @@ Based on research into multi-agent communication patterns:
213
209
  - **A2A Protocol Concepts**: Structured findings with lifecycle states
214
210
  - **Task Coordination**: Claim-based work distribution with dependencies
215
211
 
216
- ## Development
217
-
218
- ### Building
212
+ ## Development (Contributors Only)
219
213
 
220
- Build with external dependencies (do not bundle zod or plugin SDK):
214
+ This section is for contributors developing the plugin itself. Users should install via npm as described above.
221
215
 
222
216
  ```bash
223
- bun install
224
- bun run build
217
+ bun install # Install dependencies
218
+ bun run build # Compile index.ts to index.js
219
+ bun run typecheck # Type check
220
+ bun test # Run tests
225
221
  ```
226
222
 
227
- This compiles `index.ts` to `index.js` for distribution.
228
-
229
- ### Type Checking
230
-
231
- ```bash
232
- bun run typecheck
233
- ```
234
-
235
- ### Local Testing
236
-
237
- 1. Build the plugin: `bun run build`
238
- 2. Copy to your project: `cp index.js ~/.opencode/plugin/yams-blackboard.js`
239
- 3. Restart OpenCode
240
- 4. Test with: `bb_list_agents`
241
-
242
223
  ## Troubleshooting
243
224
 
244
225
  ### "YAMS daemon not running"
245
226
 
246
- Ensure the YAMS daemon is started:
247
-
248
227
  ```bash
249
228
  yams daemon start
250
229
  yams status # Should show "running"
@@ -252,18 +231,18 @@ yams status # Should show "running"
252
231
 
253
232
  ### "Command 'yams' not found"
254
233
 
255
- YAMS must be installed and in your PATH. Check your installation.
234
+ YAMS must be installed and in your PATH. See [Installation](#installation).
256
235
 
257
236
  ### Plugin not loading
258
237
 
259
238
  1. Verify `opencode.json` has `"plugin": ["yams-blackboard"]`
260
- 2. Check OpenCode logs for plugin load errors
261
- 3. Try clearing npm cache: `npm cache clean --force`
239
+ 2. Restart OpenCode to load the plugin
240
+ 3. Check OpenCode logs for plugin errors
262
241
 
263
242
  ### Tools not appearing
264
243
 
265
- The plugin registers tools on `session.created`. Start a new session if tools don't appear.
244
+ Start a new session - tools are registered on `session.created`.
266
245
 
267
246
  ## License
268
247
 
269
- MIT
248
+ This project is licensed under the GNU General Public License v3.0 - see [LICENSE](LICENSE) for details.
package/index.js CHANGED
@@ -30,7 +30,7 @@ class YamsBlackboard {
30
30
  }
31
31
  async shell(cmd) {
32
32
  try {
33
- const result = await this.$`sh -c ${cmd + " 2>&1"}`;
33
+ const result = await this.$`sh -c ${cmd + " 2>&1"}`.quiet();
34
34
  if (typeof result === "string") {
35
35
  return result.trim();
36
36
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yams-blackboard",
3
- "version": "1.0.2",
3
+ "version": "1.1.0",
4
4
  "description": "YAMS Blackboard plugin for OpenCode - agent-to-agent communication via shared memory",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",