@log0u7/opencode-mesh 0.1.2 → 0.2.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.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.2.0] - 2026-10-12
11
+
12
+ ### Added
13
+
14
+ - Dual-export plugin entry for OpenCode 2: one published package runs on both
15
+ OpenCode 1.18 and 2.x (official migration pattern, "Support V1 and V2 from
16
+ one package"). v1 hosts call `server()` (unchanged); v2 hosts call `setup()`
17
+ (`Plugin.define`). Both entries drive the same engine.
18
+
10
19
  ## [0.1.2] - 2026-09-23
11
20
 
12
21
  ### Changed
package/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  [![CI](https://github.com/log0u7/opencode-mesh/actions/workflows/ci.yml/badge.svg)](https://github.com/log0u7/opencode-mesh/actions/workflows/ci.yml)
4
4
  [![npm](https://img.shields.io/npm/v/@log0u7/opencode-mesh)](https://www.npmjs.com/package/@log0u7/opencode-mesh)
5
+ [![Node.js](https://img.shields.io/node/v/@log0u7/opencode-mesh?logo=node.js&logoColor=white)](https://www.npmjs.com/package/@log0u7/opencode-mesh)
6
+ [![TypeScript](https://img.shields.io/github/package-json/dependency-version/log0u7/opencode-mesh/dev/typescript?logo=typescript&logoColor=white)](https://github.com/log0u7/opencode-mesh/blob/main/package.json)
5
7
  [![License: Apache-2.0](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE)
6
8
 
7
9
  Coordination for [OpenCode](https://opencode.ai): multiple sessions working together on one machine, and a peer pool across a LAN or a Tailscale tailnet.
package/dist/index.d.ts CHANGED
@@ -5,8 +5,13 @@
5
5
  *
6
6
  * @packageDocumentation
7
7
  */
8
- declare const pluginModule: {
8
+ /**
9
+ * Dual entrypoint: v1 hosts call `server()`, v2 hosts call `setup()`
10
+ * (see https://opencode.ai/v2/docs/build/plugins/migrate-v1).
11
+ */
12
+ export declare const pluginModule: {
9
13
  id: string;
14
+ setup: (context: import("@opencode/plugin/promise/plugin").Context) => Promise<import("@opencode/plugin/promise/plugin").Cleanup | void> | import("@opencode/plugin/promise/plugin").Cleanup | void;
10
15
  server: import("@opencode-ai/plugin").Plugin;
11
16
  };
12
17
  export default pluginModule;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,QAAA,MAAM,YAAY;;;CAGmC,CAAC;eAEvC,YAAY;AAE3B,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;CAG6D,CAAC;eAExE,YAAY;AAE3B,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -5,9 +5,14 @@
5
5
  *
6
6
  * @packageDocumentation
7
7
  */
8
+ import { MeshV2 } from "./plugin-v2.js";
8
9
  import { MeshPlugin } from "./plugin.js";
9
- const pluginModule = {
10
- id: "@log0u7/opencode-mesh",
10
+ /**
11
+ * Dual entrypoint: v1 hosts call `server()`, v2 hosts call `setup()`
12
+ * (see https://opencode.ai/v2/docs/build/plugins/migrate-v1).
13
+ */
14
+ export const pluginModule = {
15
+ ...MeshV2,
11
16
  server: MeshPlugin,
12
17
  };
13
18
  export default pluginModule;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,YAAY,GAAG;IACnB,EAAE,EAAE,uBAAuB;IAC3B,MAAM,EAAE,UAAU;CACiC,CAAC;AAEtD,eAAe,YAAY,CAAC;AAI5B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,GAAG,MAAM;IACT,MAAM,EAAE,UAAU;CACkE,CAAC;AAEvF,eAAe,YAAY,CAAC;AAI5B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Plugin } from "@opencode/plugin";
2
+ export declare const MeshV2: Plugin.Plugin;
3
+ //# sourceMappingURL=plugin-v2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-v2.d.ts","sourceRoot":"","sources":["../src/plugin-v2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AA0B1C,eAAO,MAAM,MAAM,eAuYjB,CAAC"}
@@ -0,0 +1,381 @@
1
+ import { Plugin } from "@opencode/plugin";
2
+ import { Bonjour } from "bonjour-service";
3
+ import { sendMail } from "./lib/client.js";
4
+ import { openMeshDb } from "./lib/db.js";
5
+ import { advertiseMesh, browseMesh, tailnetAddresses, } from "./lib/discovery.js";
6
+ import { upsertDiscoveredPeer } from "./lib/peers.js";
7
+ import { loadOrCreateIdentity } from "./lib/identity.js";
8
+ import { ackMessages, unreadMessages } from "./lib/mail.js";
9
+ import { releaseLock, tryLock, listLocks } from "./lib/locks.js";
10
+ import { createPairingToken, listPeers, pairWithToken } from "./lib/peers.js";
11
+ import { startMeshServer } from "./lib/serve.js";
12
+ import { nodeSpawn, runWorker, stopAllWorkers, stopWorker } from "./lib/spawn.js";
13
+ import { createWorkerWorktree, removeWorkerWorktree } from "./lib/worktree.js";
14
+ import { deleteWorker, getWorker, listWorkers } from "./lib/workers.js";
15
+ import { readFileSync } from "node:fs";
16
+ import { join } from "node:path";
17
+ import { defaultDataDir, findSendablePeer } from "./plugin.js";
18
+ const DEFAULT_PORT = 4399;
19
+ export const MeshV2 = Plugin.define({
20
+ id: "@log0u7/opencode-mesh",
21
+ async setup(ctx) {
22
+ const options = ctx.options;
23
+ const dataDir = options?.dataDir ?? defaultDataDir();
24
+ const identity = loadOrCreateIdentity(dataDir);
25
+ const db = openMeshDb(`${dataDir}/mesh.db`);
26
+ const { server, port } = await startMeshServer({ db, port: options?.port ?? DEFAULT_PORT });
27
+ // The v2 worktree domain speaks the same worktree.create/remove shape the
28
+ // plugin's WorktreeClient wraps over the v1 REST API.
29
+ const worktreeClient = ctx.worktree;
30
+ const spawnFn = options?.spawnFn ?? nodeSpawn;
31
+ let advertiseHandle = null;
32
+ let browseHandle = null;
33
+ if (options?.advertise !== false) {
34
+ const bonjour = new Bonjour();
35
+ advertiseHandle = advertiseMesh({
36
+ bonjour,
37
+ port,
38
+ node_id: identity.node_id,
39
+ fingerprint: identity.fingerprint,
40
+ });
41
+ browseHandle = browseMesh({
42
+ bonjour,
43
+ onDiscovered: (peer) => {
44
+ if (peer.node_id !== identity.node_id) {
45
+ upsertDiscoveredPeer(db, peer);
46
+ }
47
+ },
48
+ });
49
+ }
50
+ await ctx.tool.transform((editor) => {
51
+ editor.add({
52
+ name: "mesh_status",
53
+ description: "Show this node's identity, server address, and known peers.",
54
+ input: { type: "object", properties: {}, additionalProperties: false },
55
+ async execute() {
56
+ const peers = listPeers(db);
57
+ const tailnet = await tailnetAddresses();
58
+ return {
59
+ content: JSON.stringify({
60
+ node_id: identity.node_id,
61
+ hostname: identity.hostname,
62
+ fingerprint: identity.fingerprint,
63
+ server: `127.0.0.1:${port}`,
64
+ tailnet_addresses: tailnet,
65
+ peers: peers.map((p) => ({
66
+ node_id: p.node_id,
67
+ hostname: p.hostname,
68
+ paired: p.paired,
69
+ addresses: p.addresses,
70
+ })),
71
+ locks: listLocks(db, { now: Date.now() }),
72
+ }, null, 2),
73
+ };
74
+ },
75
+ });
76
+ editor.add({
77
+ name: "mesh_pair",
78
+ description: "Pair with a peer. With no args: emit a pairing offer (token, node id, server address) for the peer's mesh_pair. With node_id, token, and address: complete pairing started by the other side.",
79
+ input: {
80
+ type: "object",
81
+ properties: {
82
+ node_id: { type: "string", description: "Peer node id, from its mesh_pair output" },
83
+ token: { type: "string", description: "Pairing token from the peer's offer" },
84
+ address: { type: "string", description: "Peer server address as host:port" },
85
+ },
86
+ additionalProperties: false,
87
+ },
88
+ async execute(args) {
89
+ const a = args;
90
+ if (typeof a.token === "string" && typeof a.node_id === "string") {
91
+ pairWithToken(db, {
92
+ node_id: a.node_id,
93
+ hostname: "manual",
94
+ fingerprint: "manual",
95
+ token: a.token,
96
+ addresses: a.address !== undefined ? [a.address] : [],
97
+ });
98
+ return { content: `paired with ${a.node_id}` };
99
+ }
100
+ const token = createPairingToken(db);
101
+ return {
102
+ content: `peer should run: mesh_pair(node_id="${identity.node_id}", token="${token}", address="127.0.0.1:${port}")`,
103
+ };
104
+ },
105
+ });
106
+ editor.add({
107
+ name: "mesh_send",
108
+ description: "Send a message to a paired peer's mailbox.",
109
+ input: {
110
+ type: "object",
111
+ properties: {
112
+ peer: { type: "string", description: "Peer node id or hostname" },
113
+ subject: { type: "string", description: "Short subject" },
114
+ body: { type: "string", description: "Message body" },
115
+ },
116
+ required: ["peer", "subject", "body"],
117
+ additionalProperties: false,
118
+ },
119
+ async execute(args) {
120
+ const a = args;
121
+ const peer = findSendablePeer(db, a.peer);
122
+ if (peer === null) {
123
+ return { content: `error: no paired peer matching ${a.peer}; run mesh_status` };
124
+ }
125
+ const address = peer.addresses[0];
126
+ if (address === undefined) {
127
+ return {
128
+ content: `error: peer ${peer.node_id} has no known address; share addresses manually or wait for discovery`,
129
+ };
130
+ }
131
+ const host = address.includes(":") ? address : `${address}:${port}`;
132
+ const result = await sendMail({
133
+ url: `http://${host}`,
134
+ token: peer.token ?? "",
135
+ from: identity.node_id,
136
+ subject: a.subject,
137
+ body: a.body,
138
+ });
139
+ return { content: `sent to ${peer.node_id}: ${result}` };
140
+ },
141
+ });
142
+ editor.add({
143
+ name: "mesh_inbox",
144
+ description: "List unread messages from peers and mark them read.",
145
+ input: {
146
+ type: "object",
147
+ properties: {
148
+ ack: { type: "boolean", description: "Mark messages read (default true)" },
149
+ },
150
+ additionalProperties: false,
151
+ },
152
+ async execute(args) {
153
+ const a = args;
154
+ const messages = unreadMessages(db);
155
+ if (messages.length === 0) {
156
+ return { content: "inbox empty" };
157
+ }
158
+ if (a.ack !== false) {
159
+ ackMessages(db, messages.map((m) => m.id));
160
+ }
161
+ return { content: JSON.stringify(messages, null, 2) };
162
+ },
163
+ });
164
+ editor.add({
165
+ name: "mesh_lock",
166
+ description: "Claim exclusive ownership of a file or worktree path so other sessions wait.",
167
+ input: {
168
+ type: "object",
169
+ properties: {
170
+ path: {
171
+ type: "string",
172
+ description: "Path to lock (relative to worktree or absolute)",
173
+ },
174
+ ttl: { type: "number", description: "Seconds before the lock expires (default 600)" },
175
+ },
176
+ required: ["path"],
177
+ additionalProperties: false,
178
+ },
179
+ async execute(args, context) {
180
+ const a = args;
181
+ const granted = tryLock(db, {
182
+ path: a.path,
183
+ owner_node: identity.node_id,
184
+ owner_session: context.sessionID,
185
+ ttl_ms: (a.ttl ?? 600) * 1000,
186
+ now: Date.now(),
187
+ });
188
+ return {
189
+ content: granted
190
+ ? `locked ${a.path}`
191
+ : `error: ${a.path} is locked by another session; try later or run mesh_status`,
192
+ };
193
+ },
194
+ });
195
+ editor.add({
196
+ name: "mesh_unlock",
197
+ description: "Release a claim made with mesh_lock.",
198
+ input: {
199
+ type: "object",
200
+ properties: {
201
+ path: { type: "string", description: "Path to unlock" },
202
+ },
203
+ required: ["path"],
204
+ additionalProperties: false,
205
+ },
206
+ async execute(args) {
207
+ const a = args;
208
+ const released = releaseLock(db, { path: a.path, owner_node: identity.node_id });
209
+ return {
210
+ content: released
211
+ ? `released ${a.path}`
212
+ : `error: ${a.path} was not locked by this node`,
213
+ };
214
+ },
215
+ });
216
+ editor.add({
217
+ name: "mesh_spawn",
218
+ description: "Run a task as a background worker in an isolated opencode worktree (headless, --auto permissions by default). Returns worker id, worktree, and branch.",
219
+ input: {
220
+ type: "object",
221
+ properties: {
222
+ task: { type: "string", description: "Task description given to the worker" },
223
+ name: { type: "string", description: "Worktree/branch name (random by default)" },
224
+ model: { type: "string", description: "provider/model for the worker" },
225
+ agent: { type: "string", description: "Agent for the worker" },
226
+ auto: {
227
+ type: "boolean",
228
+ description: "Grant all permissions to the worker (default true)",
229
+ },
230
+ },
231
+ required: ["task"],
232
+ additionalProperties: false,
233
+ },
234
+ async execute(args) {
235
+ const a = args;
236
+ try {
237
+ const info = await createWorkerWorktree(worktreeClient, {
238
+ ...(a.name !== undefined ? { name: a.name } : {}),
239
+ });
240
+ const worker = runWorker(db, dataDir, {
241
+ task: a.task,
242
+ worktree_path: info.directory,
243
+ branch: info.branch ?? info.name,
244
+ ...(a.model !== undefined ? { model: a.model } : {}),
245
+ ...(a.agent !== undefined ? { agent: a.agent } : {}),
246
+ ...(a.auto !== undefined ? { auto: a.auto } : {}),
247
+ spawnFn,
248
+ });
249
+ return {
250
+ content: JSON.stringify({
251
+ worker_id: worker.id,
252
+ worktree: info.directory,
253
+ branch: worker.branch,
254
+ pid: worker.pid,
255
+ }, null, 2),
256
+ };
257
+ }
258
+ catch (error) {
259
+ return { content: `error: ${error instanceof Error ? error.message : String(error)}` };
260
+ }
261
+ },
262
+ });
263
+ editor.add({
264
+ name: "mesh_workers",
265
+ description: "List spawned workers with their lifecycle state.",
266
+ input: { type: "object", properties: {}, additionalProperties: false },
267
+ async execute() {
268
+ const workers = listWorkers(db);
269
+ if (workers.length === 0) {
270
+ return { content: "[]" };
271
+ }
272
+ return { content: JSON.stringify(workers, null, 2) };
273
+ },
274
+ });
275
+ editor.add({
276
+ name: "mesh_worker_logs",
277
+ description: "Show the tail of a worker's captured output.",
278
+ input: {
279
+ type: "object",
280
+ properties: {
281
+ worker_id: {
282
+ type: "string",
283
+ description: "Worker id, from mesh_spawn or mesh_workers",
284
+ },
285
+ tail: { type: "number", description: "Number of lines (default 50)" },
286
+ },
287
+ required: ["worker_id"],
288
+ additionalProperties: false,
289
+ },
290
+ async execute(args) {
291
+ const a = args;
292
+ const worker = getWorker(db, a.worker_id);
293
+ if (!worker) {
294
+ return { content: `error: unknown worker ${a.worker_id}` };
295
+ }
296
+ const path = join(dataDir, "workers", `${worker.id}.log`);
297
+ let content;
298
+ try {
299
+ content = readFileSync(path, "utf8");
300
+ }
301
+ catch {
302
+ return { content: "no log output yet" };
303
+ }
304
+ const lines = content.split("\n");
305
+ const limit = a.tail ?? 50;
306
+ return { content: lines.slice(-limit - 1, -1).join("\n") || "no log output yet" };
307
+ },
308
+ });
309
+ editor.add({
310
+ name: "mesh_worker_stop",
311
+ description: "Stop a running worker (SIGTERM).",
312
+ input: {
313
+ type: "object",
314
+ properties: {
315
+ worker_id: { type: "string", description: "Worker id" },
316
+ },
317
+ required: ["worker_id"],
318
+ additionalProperties: false,
319
+ },
320
+ async execute(args) {
321
+ const a = args;
322
+ try {
323
+ stopWorker(db, a.worker_id);
324
+ return { content: `stopped ${a.worker_id}` };
325
+ }
326
+ catch (error) {
327
+ return { content: `error: ${error instanceof Error ? error.message : String(error)}` };
328
+ }
329
+ },
330
+ });
331
+ editor.add({
332
+ name: "mesh_worker_remove",
333
+ description: "Remove a finished worker: deletes the worktree (native API) and the registry row.",
334
+ input: {
335
+ type: "object",
336
+ properties: {
337
+ worker_id: { type: "string", description: "Worker id" },
338
+ force: { type: "boolean", description: "Stop a running worker before removal" },
339
+ },
340
+ required: ["worker_id"],
341
+ additionalProperties: false,
342
+ },
343
+ async execute(args) {
344
+ const a = args;
345
+ const worker = getWorker(db, a.worker_id);
346
+ if (!worker) {
347
+ return { content: `error: unknown worker ${a.worker_id}` };
348
+ }
349
+ if (worker.status === "running") {
350
+ if (a.force !== true) {
351
+ return {
352
+ content: `error: worker ${worker.id} is running; use force=true to stop and remove it`,
353
+ };
354
+ }
355
+ // force: terminate first so no process keeps writing into a deleted worktree.
356
+ stopWorker(db, worker.id);
357
+ }
358
+ try {
359
+ await removeWorkerWorktree(worktreeClient, { directory: worker.worktree_path });
360
+ }
361
+ catch (error) {
362
+ return {
363
+ content: `error: worktree remove failed: ${error instanceof Error ? error.message : String(error)}`,
364
+ };
365
+ }
366
+ deleteWorker(db, a.worker_id);
367
+ return { content: `removed ${worker.id} (worktree and registry row deleted)` };
368
+ },
369
+ });
370
+ });
371
+ const cleanup = async () => {
372
+ stopAllWorkers(db);
373
+ advertiseHandle?.close();
374
+ browseHandle?.close();
375
+ await new Promise((resolve) => server.close(() => resolve()));
376
+ db.close();
377
+ };
378
+ return cleanup;
379
+ },
380
+ });
381
+ //# sourceMappingURL=plugin-v2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-v2.js","sourceRoot":"","sources":["../src/plugin-v2.ts"],"names":[],"mappings":"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"}
package/dist/plugin.d.ts CHANGED
@@ -1,3 +1,19 @@
1
1
  import type { Plugin } from "@opencode-ai/plugin";
2
+ import { type MeshDb } from "./lib/db.js";
3
+ import { type SpawnFn } from "./lib/spawn.js";
4
+ import { type WorktreeClient } from "./lib/worktree.js";
5
+ export type PluginOptions = {
6
+ dataDir?: string;
7
+ port?: number;
8
+ advertise?: boolean;
9
+ worktreeClient?: WorktreeClient;
10
+ spawnFn?: SpawnFn;
11
+ };
2
12
  export declare const MeshPlugin: Plugin;
13
+ export declare function defaultDataDir(): string;
14
+ export declare function findSendablePeer(db: MeshDb, query: string): {
15
+ node_id: string;
16
+ addresses: string[];
17
+ token: string | null;
18
+ } | null;
3
19
  //# sourceMappingURL=plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAyCzD,eAAO,MAAM,UAAU,EAAE,MAyTxB,CAAC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAMzD,OAAO,EAAc,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAatD,OAAO,EAAoD,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAChG,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAK3B,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAIF,eAAO,MAAM,UAAU,EAAE,MAyTxB,CAAC;AAEF,wBAAgB,cAAc,IAAI,MAAM,CAGvC;AAED,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,GACZ;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAGvE"}
package/dist/plugin.js CHANGED
@@ -300,11 +300,11 @@ export const MeshPlugin = async (input, options) => {
300
300
  },
301
301
  };
302
302
  };
303
- function defaultDataDir() {
303
+ export function defaultDataDir() {
304
304
  const dataHome = process.env.XDG_DATA_HOME ?? `${process.env.HOME ?? ""}/.local/share`;
305
305
  return `${dataHome}/opencode-mesh`;
306
306
  }
307
- function findSendablePeer(db, query) {
307
+ export function findSendablePeer(db, query) {
308
308
  const peers = listPeers(db).filter((p) => p.paired);
309
309
  return peers.find((p) => p.node_id === query) ?? peers.find((p) => p.hostname === query) ?? null;
310
310
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@log0u7/opencode-mesh",
3
- "version": "0.1.2",
3
+ "version": "0.2.0",
4
4
  "description": "Multi-session coordination for OpenCode: session coordination on one machine and a peer pool across LAN or Tailscale, with pairing, mailbox, and worktree locks.",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -36,12 +36,13 @@
36
36
  "bonjour-service": "^1.3.0"
37
37
  },
38
38
  "devDependencies": {
39
- "@biomejs/biome": "2.5.13",
40
- "@opencode-ai/plugin": "1.18.30",
41
- "@opencode-ai/sdk": "1.18.30",
42
- "@types/node": "^22.0.0",
39
+ "@biomejs/biome": "2.5.14",
40
+ "@opencode-ai/plugin": "1.18.31",
41
+ "@opencode-ai/sdk": "1.18.31",
42
+ "@opencode/plugin": "2.0.26",
43
+ "@types/node": "^26.6.2",
43
44
  "@vitest/coverage-v8": "^5.0.1",
44
- "lefthook": "2.1.12",
45
+ "lefthook": "2.1.14",
45
46
  "typescript": "7.0.2",
46
47
  "vitest": "^5.0.0"
47
48
  },