@xemahq/worker-runtime-opencode 0.2.1 → 0.3.1

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/README.md CHANGED
@@ -29,11 +29,11 @@
29
29
  ## Overview
30
30
 
31
31
  An Opencode driver implementing the kernel worker-runtime contract. It is a thin
32
- adapter over the existing workspace control plane, speaking the same HTTP and SSE
32
+ adapter over the existing workspace control plane, speaking the same HTTP
33
33
  protocol it already exposes — no new wire format. A runtime instance is bound to
34
- a single worker at construction time and translates session bundles, user
35
- messages, and the event stream into the shared runtime interface so orchestration
36
- stays runtime-agnostic.
34
+ a single worker at construction time and translates pod specs, session bundles,
35
+ and pause/resume into the shared runtime interface so orchestration stays
36
+ runtime-agnostic.
37
37
 
38
38
  ## When to use it
39
39
 
@@ -52,7 +52,8 @@ pnpm add @xemahq/worker-runtime-opencode
52
52
  import { createOpencodeWorkerRuntime } from '@xemahq/worker-runtime-opencode';
53
53
 
54
54
  const runtime = createOpencodeWorkerRuntime(config);
55
- await runtime.sendUserMessage(message);
55
+ const bundle = await runtime.buildSessionBundle(input);
56
+ await runtime.applySessionBundle(bundle);
56
57
  ```
57
58
 
58
59
  ## License
package/dist/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  export { OpencodeWorkerRuntime, OPENCODE_CONNECTOR_KIND, type OpencodePodSpec, } from './lib/opencode-worker-runtime';
2
2
  export { createOpencodeWorkerRuntime } from './lib/factory';
3
3
  export { buildOpencodeSessionBundle, computeSessionBindingRevision, computeStaticBundleFingerprint, decodeOpencodeSessionBundle, type OpencodeBundleSubAgent, type OpencodeSessionBundlePayload, } from './lib/session-bundle';
4
- export { parseSseChunk, translateProxyFrame, type ProxySseFrame, } from './lib/runtime-events';
5
4
  export type { BundleCallerContext, OpencodeRuntimeConfig, WorkerRef, } from './lib/worker-ref';
6
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,eAAe,GACrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,8BAA8B,EAC9B,2BAA2B,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,GAClC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,KAAK,aAAa,GACnB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,mBAAmB,EACnB,qBAAqB,EACrB,SAAS,GACV,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,eAAe,GACrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,8BAA8B,EAC9B,2BAA2B,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,GAClC,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,mBAAmB,EACnB,qBAAqB,EACrB,SAAS,GACV,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.translateProxyFrame = exports.parseSseChunk = exports.decodeOpencodeSessionBundle = exports.computeStaticBundleFingerprint = exports.computeSessionBindingRevision = exports.buildOpencodeSessionBundle = exports.createOpencodeWorkerRuntime = exports.OPENCODE_CONNECTOR_KIND = exports.OpencodeWorkerRuntime = void 0;
3
+ exports.decodeOpencodeSessionBundle = exports.computeStaticBundleFingerprint = exports.computeSessionBindingRevision = exports.buildOpencodeSessionBundle = exports.createOpencodeWorkerRuntime = exports.OPENCODE_CONNECTOR_KIND = exports.OpencodeWorkerRuntime = void 0;
4
4
  var opencode_worker_runtime_1 = require("./lib/opencode-worker-runtime");
5
5
  Object.defineProperty(exports, "OpencodeWorkerRuntime", { enumerable: true, get: function () { return opencode_worker_runtime_1.OpencodeWorkerRuntime; } });
6
6
  Object.defineProperty(exports, "OPENCODE_CONNECTOR_KIND", { enumerable: true, get: function () { return opencode_worker_runtime_1.OPENCODE_CONNECTOR_KIND; } });
@@ -11,7 +11,4 @@ Object.defineProperty(exports, "buildOpencodeSessionBundle", { enumerable: true,
11
11
  Object.defineProperty(exports, "computeSessionBindingRevision", { enumerable: true, get: function () { return session_bundle_1.computeSessionBindingRevision; } });
12
12
  Object.defineProperty(exports, "computeStaticBundleFingerprint", { enumerable: true, get: function () { return session_bundle_1.computeStaticBundleFingerprint; } });
13
13
  Object.defineProperty(exports, "decodeOpencodeSessionBundle", { enumerable: true, get: function () { return session_bundle_1.decodeOpencodeSessionBundle; } });
14
- var runtime_events_1 = require("./lib/runtime-events");
15
- Object.defineProperty(exports, "parseSseChunk", { enumerable: true, get: function () { return runtime_events_1.parseSseChunk; } });
16
- Object.defineProperty(exports, "translateProxyFrame", { enumerable: true, get: function () { return runtime_events_1.translateProxyFrame; } });
17
14
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AASA,yEAIuC;AAHrC,gIAAA,qBAAqB,OAAA;AACrB,kIAAA,uBAAuB,OAAA;AAGzB,yCAA4D;AAAnD,sHAAA,2BAA2B,OAAA;AACpC,uDAO8B;AAN5B,4HAAA,0BAA0B,OAAA;AAC1B,+HAAA,6BAA6B,OAAA;AAC7B,gIAAA,8BAA8B,OAAA;AAC9B,6HAAA,2BAA2B,OAAA;AAI7B,uDAI8B;AAH5B,+GAAA,aAAa,OAAA;AACb,qHAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AASA,yEAIuC;AAHrC,gIAAA,qBAAqB,OAAA;AACrB,kIAAA,uBAAuB,OAAA;AAGzB,yCAA4D;AAAnD,sHAAA,2BAA2B,OAAA;AACpC,uDAO8B;AAN5B,4HAAA,0BAA0B,OAAA;AAC1B,+HAAA,6BAA6B,OAAA;AAC7B,gIAAA,8BAA8B,OAAA;AAC9B,6HAAA,2BAA2B,OAAA"}
@@ -1,6 +1,5 @@
1
- import { WorkerRuntimeKind, type BuildBundleInput, type BuildPodSpecInput, type RuntimeEvent, type SessionBundle, type UserMessage, type WorkerRuntime, type WorkerRuntimeCapabilityBits } from '@xemahq/kernel-contracts/worker-runtime';
1
+ import { WorkerRuntimeKind, type BuildBundleInput, type BuildPodSpecInput, type SessionBundle, type WorkerRuntime, type WorkerRuntimeCapabilityBits } from '@xemahq/kernel-contracts/worker-runtime';
2
2
  import type { AbstractMount } from '@xemahq/kernel-contracts/workspace-storage';
3
- import { type ProxySseFrame } from './runtime-events';
4
3
  import type { OpencodeRuntimeConfig } from './worker-ref';
5
4
  export declare const OPENCODE_CONNECTOR_KIND = "opencode-default";
6
5
  export interface OpencodePodSpec {
@@ -21,23 +20,13 @@ export declare class OpencodeWorkerRuntime implements WorkerRuntime {
21
20
  readonly connectorKindRequired = "opencode-default";
22
21
  readonly autoCommitHookSupported = true;
23
22
  private workerRef;
24
- private opencodeSessionId?;
25
23
  private caller;
26
24
  constructor(config: OpencodeRuntimeConfig);
27
- attachOpencodeSession(sessionId: string): void;
28
25
  buildPodSpec(input: BuildPodSpecInput): Promise<OpencodePodSpec>;
29
26
  buildSessionBundle(input: BuildBundleInput): Promise<SessionBundle>;
30
27
  applySessionBundle(bundle: SessionBundle): Promise<void>;
31
- sendUserMessage(message: UserMessage): AsyncIterable<RuntimeEvent>;
32
28
  pause(): Promise<void>;
33
29
  resume(): Promise<void>;
34
30
  private authHeaders;
35
31
  }
36
- declare function joinUrl(base: string, path: string): string;
37
- declare function iterateSseEvents(body: ReadableStream<Uint8Array>): AsyncGenerator<RuntimeEvent>;
38
- export declare const __testInternals: {
39
- iterateSseEvents: typeof iterateSseEvents;
40
- joinUrl: typeof joinUrl;
41
- };
42
- export type { ProxySseFrame };
43
32
  //# sourceMappingURL=opencode-worker-runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-worker-runtime.d.ts","sourceRoot":"","sources":["../../src/lib/opencode-worker-runtime.ts"],"names":[],"mappings":"AAYA,OAAO,EAEL,iBAAiB,EACjB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,2BAA2B,EACjC,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAOhF,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,qBAAqB,EAAa,MAAM,cAAc,CAAC;AAYrE,eAAO,MAAM,uBAAuB,qBAAqB,CAAC;AAmC1D,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAMzB,QAAQ,CAAC,YAAY,CAAC,EAAE;QACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;KACpC,CAAC;IACF,QAAQ,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;CACnE;AAOD,qBAAa,qBAAsB,YAAW,aAAa;IACzD,QAAQ,CAAC,IAAI,8BAA8B;IAC3C,QAAQ,CAAC,YAAY,8BAAyB;IAC9C,QAAQ,CAAC,qBAAqB,sBAA2B;IACzD,QAAQ,CAAC,uBAAuB,QAAQ;IAExC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,iBAAiB,CAAC,CAAS;IACnC,OAAO,CAAC,MAAM,CAAkC;gBAEpC,MAAM,EAAE,qBAAqB;IAazC,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAe9C,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,CAAC;IAwB1D,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC;IA0BnE,kBAAkB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA+DvD,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,aAAa,CAAC,YAAY,CAAC;IAwCnE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BtB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAe7B,OAAO,CAAC,WAAW;CAcpB;AAmDD,iBAAS,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAInD;AAQD,iBAAgB,gBAAgB,CAC9B,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,GAC/B,cAAc,CAAC,YAAY,CAAC,CAyC9B;AAGD,eAAO,MAAM,eAAe;;;CAG3B,CAAC;AAGF,YAAY,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"opencode-worker-runtime.d.ts","sourceRoot":"","sources":["../../src/lib/opencode-worker-runtime.ts"],"names":[],"mappings":"AAYA,OAAO,EAEL,iBAAiB,EACjB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,2BAA2B,EACjC,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAOhF,OAAO,KAAK,EAAE,qBAAqB,EAAa,MAAM,cAAc,CAAC;AAYrE,eAAO,MAAM,uBAAuB,qBAAqB,CAAC;AAmC1D,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAMzB,QAAQ,CAAC,YAAY,CAAC,EAAE;QACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;KACpC,CAAC;IACF,QAAQ,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;CACnE;AAOD,qBAAa,qBAAsB,YAAW,aAAa;IACzD,QAAQ,CAAC,IAAI,8BAA8B;IAC3C,QAAQ,CAAC,YAAY,8BAAyB;IAC9C,QAAQ,CAAC,qBAAqB,sBAA2B;IACzD,QAAQ,CAAC,uBAAuB,QAAQ;IAExC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,MAAM,CAAkC;gBAEpC,MAAM,EAAE,qBAAqB;IAWzC,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,CAAC;IAwB1D,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC;IA0BnE,kBAAkB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA8DxD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BtB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAe7B,OAAO,CAAC,WAAW;CAcpB"}
@@ -1,9 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.__testInternals = exports.OpencodeWorkerRuntime = exports.OPENCODE_CONNECTOR_KIND = void 0;
3
+ exports.OpencodeWorkerRuntime = exports.OPENCODE_CONNECTOR_KIND = void 0;
4
4
  const worker_runtime_1 = require("@xemahq/kernel-contracts/worker-runtime");
5
5
  const session_bundle_1 = require("./session-bundle");
6
- const runtime_events_1 = require("./runtime-events");
7
6
  exports.OPENCODE_CONNECTOR_KIND = 'opencode-default';
8
7
  const APPLY_SESSION_BUNDLE_TIMEOUT_MS = 120_000;
9
8
  const OPENCODE_CAPABILITIES = {
@@ -27,21 +26,11 @@ class OpencodeWorkerRuntime {
27
26
  connectorKindRequired = exports.OPENCODE_CONNECTOR_KIND;
28
27
  autoCommitHookSupported = true;
29
28
  workerRef;
30
- opencodeSessionId;
31
29
  caller;
32
30
  constructor(config) {
33
31
  this.workerRef = config.workerRef;
34
- if (config.opencodeSessionId !== undefined) {
35
- this.opencodeSessionId = config.opencodeSessionId;
36
- }
37
32
  this.caller = config.caller;
38
33
  }
39
- attachOpencodeSession(sessionId) {
40
- if (!sessionId.trim()) {
41
- throw new Error('OpencodeWorkerRuntime: opencode session id must be non-empty.');
42
- }
43
- this.opencodeSessionId = sessionId;
44
- }
45
34
  buildPodSpec(input) {
46
35
  const spec = {
47
36
  runtimeKind: this.kind,
@@ -94,31 +83,6 @@ class OpencodeWorkerRuntime {
94
83
  const parsed = (await response.json());
95
84
  assertApplyResponseOk(parsed, payload);
96
85
  }
97
- async *sendUserMessage(message) {
98
- if (!this.opencodeSessionId) {
99
- throw new Error('OpencodeWorkerRuntime.sendUserMessage: no opencode session id attached. Call `attachOpencodeSession` after workspace-proxy reports opencode ready.');
100
- }
101
- const url = joinUrl(this.workerRef.controlPlaneUrl, '/session/prompt');
102
- const requestBody = {
103
- opencodeSessionId: this.opencodeSessionId,
104
- actor: message.actor,
105
- content: message.content,
106
- ...(message.attachments ? { attachments: message.attachments } : {}),
107
- };
108
- const response = await fetch(url, {
109
- method: 'POST',
110
- headers: {
111
- ...this.authHeaders(),
112
- Accept: 'text/event-stream',
113
- },
114
- body: JSON.stringify(requestBody),
115
- });
116
- if (!response.ok || !response.body) {
117
- const body = await safeReadText(response);
118
- throw new Error(`sendUserMessage failed: HTTP ${response.status} from ${url} — ${body}`);
119
- }
120
- yield* iterateSseEvents(response.body);
121
- }
122
86
  async pause() {
123
87
  const url = joinUrl(this.workerRef.controlPlaneUrl, '/control/pause');
124
88
  const body = {
@@ -180,48 +144,4 @@ function joinUrl(base, path) {
180
144
  const prefixedPath = path.startsWith('/') ? path : `/${path}`;
181
145
  return `${trimmedBase}${prefixedPath}`;
182
146
  }
183
- async function* iterateSseEvents(body) {
184
- const reader = body.getReader();
185
- const decoder = new TextDecoder('utf-8');
186
- let buffer = '';
187
- try {
188
- while (true) {
189
- const { value, done } = await reader.read();
190
- if (done)
191
- break;
192
- buffer += decoder.decode(value, { stream: true });
193
- const { frames, remainder } = (0, runtime_events_1.parseSseChunk)(buffer);
194
- buffer = remainder;
195
- for (const frame of frames) {
196
- const events = (0, runtime_events_1.translateProxyFrame)(frame);
197
- for (const evt of events) {
198
- yield evt;
199
- if (evt.kind === 'turn-end' || evt.kind === 'error') {
200
- return;
201
- }
202
- }
203
- }
204
- }
205
- const tail = buffer + decoder.decode();
206
- if (tail.length > 0) {
207
- const { frames } = (0, runtime_events_1.parseSseChunk)(tail.endsWith('\n\n') ? tail : `${tail}\n\n`);
208
- for (const frame of frames) {
209
- for (const evt of (0, runtime_events_1.translateProxyFrame)(frame)) {
210
- yield evt;
211
- }
212
- }
213
- }
214
- }
215
- finally {
216
- try {
217
- reader.releaseLock();
218
- }
219
- catch {
220
- }
221
- }
222
- }
223
- exports.__testInternals = {
224
- iterateSseEvents,
225
- joinUrl,
226
- };
227
147
  //# sourceMappingURL=opencode-worker-runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-worker-runtime.js","sourceRoot":"","sources":["../../src/lib/opencode-worker-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode-worker-runtime.js","sourceRoot":"","sources":["../../src/lib/opencode-worker-runtime.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,6 @@ export interface WorkerRef {
9
9
  }
10
10
  export interface OpencodeRuntimeConfig {
11
11
  readonly workerRef: WorkerRef;
12
- readonly opencodeSessionId?: string;
13
12
  readonly caller: BundleCallerContext;
14
13
  }
15
14
  export interface BundleCallerContext {
@@ -1 +1 @@
1
- {"version":3,"file":"worker-ref.d.ts","sourceRoot":"","sources":["../../src/lib/worker-ref.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,SAAS;IAExB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAO1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAMxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAM9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAS9B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IASpC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;CACxC;AASD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAO9B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAQpC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;CACtC;AAQD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B"}
1
+ {"version":3,"file":"worker-ref.d.ts","sourceRoot":"","sources":["../../src/lib/worker-ref.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,SAAS;IAExB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAO1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAMxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAM9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAS9B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IASpC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;CACxC;AAKD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAQ9B,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;CACtC;AAQD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xemahq/worker-runtime-opencode",
3
- "version": "0.2.1",
3
+ "version": "0.3.1",
4
4
  "description": "Opencode WorkerRuntime driver — wraps the workspace-proxy control-session handshake and the opencode SSE event stream behind the kernel WorkerRuntime contract.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Neuralchowder Inc. <developer@xema.dev> (https://xema.dev)",
@@ -27,7 +27,7 @@
27
27
  "prettier": "3.6.2",
28
28
  "ts-jest": "^29.4.9",
29
29
  "typescript": "5.9.3",
30
- "@xemahq/kernel-contracts": "^7.0.0"
30
+ "@xemahq/kernel-contracts": "^8.0.0"
31
31
  },
32
32
  "exports": {
33
33
  ".": {
@@ -1,11 +0,0 @@
1
- import type { RuntimeEvent } from '@xemahq/kernel-contracts/worker-runtime';
2
- export interface ProxySseFrame {
3
- readonly event: string;
4
- readonly data: unknown;
5
- }
6
- export declare function translateProxyFrame(frame: ProxySseFrame): readonly RuntimeEvent[];
7
- export declare function parseSseChunk(buffer: string): {
8
- readonly frames: readonly ProxySseFrame[];
9
- readonly remainder: string;
10
- };
11
- //# sourceMappingURL=runtime-events.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime-events.d.ts","sourceRoot":"","sources":["../../src/lib/runtime-events.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAO5E,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB;AAOD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,YAAY,EAAE,CAMjF;AAWD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG;IAC7C,QAAQ,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,CAYA"}
@@ -1,127 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.translateProxyFrame = translateProxyFrame;
4
- exports.parseSseChunk = parseSseChunk;
5
- function translateProxyFrame(frame) {
6
- if (frame.event === 'opencode_error') {
7
- return [translateError(frame.data)];
8
- }
9
- if (frame.event !== 'opencode_event')
10
- return [];
11
- return translateOpencodeEvent(frame.data);
12
- }
13
- function parseSseChunk(buffer) {
14
- const frames = [];
15
- let cursor = 0;
16
- while (true) {
17
- const boundary = buffer.indexOf('\n\n', cursor);
18
- if (boundary === -1)
19
- break;
20
- const raw = buffer.slice(cursor, boundary);
21
- cursor = boundary + 2;
22
- const frame = parseSingleFrame(raw);
23
- if (frame)
24
- frames.push(frame);
25
- }
26
- return { frames, remainder: buffer.slice(cursor) };
27
- }
28
- function parseSingleFrame(raw) {
29
- let event = 'message';
30
- const dataLines = [];
31
- for (const line of raw.split('\n')) {
32
- if (!line || line.startsWith(':'))
33
- continue;
34
- const colon = line.indexOf(':');
35
- if (colon === -1)
36
- continue;
37
- const field = line.slice(0, colon);
38
- const value = line.charAt(colon + 1) === ' '
39
- ? line.slice(colon + 2)
40
- : line.slice(colon + 1);
41
- if (field === 'event')
42
- event = value;
43
- else if (field === 'data')
44
- dataLines.push(value);
45
- }
46
- if (dataLines.length === 0)
47
- return null;
48
- const dataString = dataLines.join('\n');
49
- let data;
50
- try {
51
- data = JSON.parse(dataString);
52
- }
53
- catch {
54
- return null;
55
- }
56
- return { event, data };
57
- }
58
- function translateError(data) {
59
- const obj = (data && typeof data === 'object' ? data : {});
60
- const messageRaw = obj['message'] ?? obj['error'] ?? 'opencode error';
61
- const message = typeof messageRaw === 'string' ? messageRaw : JSON.stringify(messageRaw);
62
- const retryableRaw = obj['retryable'];
63
- const retryable = typeof retryableRaw === 'boolean' ? retryableRaw : false;
64
- return { kind: 'error', message, retryable };
65
- }
66
- function translateOpencodeEvent(data) {
67
- if (!data || typeof data !== 'object')
68
- return [];
69
- const evt = data;
70
- const type = typeof evt.type === 'string' ? evt.type : '';
71
- const props = evt.properties && typeof evt.properties === 'object'
72
- ? evt.properties
73
- : {};
74
- switch (type) {
75
- case 'message.part.updated':
76
- return translatePartUpdated(props);
77
- case 'session.idle':
78
- return [{ kind: 'turn-end' }];
79
- case 'session.error':
80
- case 'message.error':
81
- return [
82
- {
83
- kind: 'error',
84
- message: typeof props['message'] === 'string'
85
- ? props['message']
86
- : `opencode ${type}`,
87
- retryable: false,
88
- },
89
- ];
90
- default:
91
- return [];
92
- }
93
- }
94
- function translatePartUpdated(props) {
95
- const part = (props['part'] ?? {});
96
- const partType = typeof part['type'] === 'string' ? part['type'] : '';
97
- if (partType === 'text') {
98
- const text = typeof part['text'] === 'string' ? part['text'] : '';
99
- return text ? [{ kind: 'text-delta', text }] : [];
100
- }
101
- if (partType === 'tool') {
102
- const tool = typeof part['tool'] === 'string' ? part['tool'] : '';
103
- if (!tool)
104
- return [];
105
- const state = (part['state'] ?? {});
106
- const status = typeof state['status'] === 'string' ? state['status'] : '';
107
- if (status === 'running' || status === 'pending') {
108
- return [{ kind: 'tool-use', tool, input: state['input'] ?? null }];
109
- }
110
- if (status === 'completed' || status === 'success') {
111
- return [
112
- {
113
- kind: 'tool-result',
114
- tool,
115
- output: state['output'] ?? state['result'] ?? null,
116
- },
117
- ];
118
- }
119
- if (status === 'error' || status === 'failed') {
120
- const msgRaw = state['error'] ?? state['message'] ?? `tool ${tool} failed`;
121
- const message = typeof msgRaw === 'string' ? msgRaw : JSON.stringify(msgRaw);
122
- return [{ kind: 'error', message, retryable: false }];
123
- }
124
- }
125
- return [];
126
- }
127
- //# sourceMappingURL=runtime-events.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime-events.js","sourceRoot":"","sources":["../../src/lib/runtime-events.ts"],"names":[],"mappings":";;AAkCA,kDAMC;AAWD,sCAeC;AAhCD,SAAgB,mBAAmB,CAAC,KAAoB;IACtD,IAAI,KAAK,CAAC,KAAK,KAAK,gBAAgB,EAAE,CAAC;QACrC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,KAAK,gBAAgB;QAAE,OAAO,EAAE,CAAC;IAChD,OAAO,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC;AAWD,SAAgB,aAAa,CAAC,MAAc;IAI1C,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChD,IAAI,QAAQ,KAAK,CAAC,CAAC;YAAE,MAAM;QAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC3C,MAAM,GAAG,QAAQ,GAAG,CAAC,CAAC;QACtB,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;AACrD,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW;IACnC,IAAI,KAAK,GAAG,SAAS,CAAC;IACtB,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,SAAS;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAEnC,MAAM,KAAK,GACT,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG;YAC5B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;YACvB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC5B,IAAI,KAAK,KAAK,OAAO;YAAE,KAAK,GAAG,KAAK,CAAC;aAChC,IAAI,KAAK,KAAK,MAAM;YAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QAEP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,SAAS,cAAc,CAAC,IAAa;IACnC,MAAM,GAAG,GAAG,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAGxD,CAAC;IACF,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAAC;IACtE,MAAM,OAAO,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACzF,MAAM,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,OAAO,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAC/C,CAAC;AAeD,SAAS,sBAAsB,CAAC,IAAa;IAC3C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACjD,MAAM,GAAG,GAAG,IAAkE,CAAC;IAC/E,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,MAAM,KAAK,GACT,GAAG,CAAC,UAAU,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ;QAClD,CAAC,CAAE,GAAG,CAAC,UAAsC;QAC7C,CAAC,CAAC,EAAE,CAAC;IAET,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,sBAAsB;YACzB,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACrC,KAAK,cAAc;YAGjB,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAChC,KAAK,eAAe,CAAC;QACrB,KAAK,eAAe;YAClB,OAAO;gBACL;oBACE,IAAI,EAAE,OAAO;oBACb,OAAO,EACL,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,QAAQ;wBAClC,CAAC,CAAE,KAAK,CAAC,SAAS,CAAY;wBAC9B,CAAC,CAAC,YAAY,IAAI,EAAE;oBACxB,SAAS,EAAE,KAAK;iBACjB;aACF,CAAC;QACJ;YAME,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAA8B;IAE9B,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAA4B,CAAC;IAC9D,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,MAAM,CAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,CAAC;IACD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,MAAM,CAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAA4B,CAAC;QAC/D,MAAM,MAAM,GACV,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAK,CAAC,QAAQ,CAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACjD,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACnD,OAAO;gBACL;oBACE,IAAI,EAAE,aAAa;oBACnB,IAAI;oBACJ,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI;iBACnD;aACF,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,QAAQ,IAAI,SAAS,CAAC;YAC3E,MAAM,OAAO,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC7E,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}