@moltzap/client 2026.803.0 → 2026.804.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 (49) hide show
  1. package/dist/channel-base/index.d.ts +0 -2
  2. package/dist/channel-base/index.d.ts.map +1 -1
  3. package/dist/channel-base/index.js +0 -2
  4. package/dist/channel-base/index.js.map +1 -1
  5. package/dist/channel-core.d.ts +45 -19
  6. package/dist/channel-core.d.ts.map +1 -1
  7. package/dist/channel-core.js +45 -18
  8. package/dist/channel-core.js.map +1 -1
  9. package/dist/harness/client-runtime.d.ts +24 -0
  10. package/dist/harness/client-runtime.d.ts.map +1 -0
  11. package/dist/harness/client-runtime.js +107 -0
  12. package/dist/harness/client-runtime.js.map +1 -0
  13. package/dist/harness/index.d.ts +5 -0
  14. package/dist/harness/index.d.ts.map +1 -0
  15. package/dist/harness/index.js +5 -0
  16. package/dist/harness/index.js.map +1 -0
  17. package/dist/harness/runtime.d.ts +149 -0
  18. package/dist/harness/runtime.d.ts.map +1 -0
  19. package/dist/harness/runtime.js +68 -0
  20. package/dist/harness/runtime.js.map +1 -0
  21. package/dist/harness-client.d.ts +43 -0
  22. package/dist/harness-client.d.ts.map +1 -0
  23. package/dist/harness-client.js +21 -0
  24. package/dist/harness-client.js.map +1 -0
  25. package/dist/harness-mcp-server.d.ts.map +1 -1
  26. package/dist/harness-mcp-server.js +107 -17
  27. package/dist/harness-mcp-server.js.map +1 -1
  28. package/dist/harness-mcp-subscription.d.ts +21 -0
  29. package/dist/harness-mcp-subscription.d.ts.map +1 -0
  30. package/dist/harness-mcp-subscription.js +324 -0
  31. package/dist/harness-mcp-subscription.js.map +1 -0
  32. package/dist/harness-mcp-wire.d.ts +9 -2
  33. package/dist/harness-mcp-wire.d.ts.map +1 -1
  34. package/dist/harness-mcp-wire.js +41 -10
  35. package/dist/harness-mcp-wire.js.map +1 -1
  36. package/dist/index.d.ts +2 -0
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +2 -0
  39. package/dist/index.js.map +1 -1
  40. package/dist/moltzapd.d.ts +2 -1
  41. package/dist/moltzapd.d.ts.map +1 -1
  42. package/dist/moltzapd.js +19 -5
  43. package/dist/moltzapd.js.map +1 -1
  44. package/dist/tsconfig.tsbuildinfo +1 -1
  45. package/package.json +8 -4
  46. package/dist/channel-base/reply-guard.d.ts +0 -52
  47. package/dist/channel-base/reply-guard.d.ts.map +0 -1
  48. package/dist/channel-base/reply-guard.js +0 -78
  49. package/dist/channel-base/reply-guard.js.map +0 -1
@@ -1,8 +1,6 @@
1
1
  /** @file Shared channel-adapter primitives for `@moltzap/client/channel-base`. */
2
2
  /** Re-exports the public API from `../bounded-map.js`. */
3
3
  export { BoundedMap } from "../bounded-map.js";
4
- /** Re-exports the public API from `./reply-guard.js`. */
5
- export { ReplyGuard } from "./reply-guard.js";
6
4
  /** Re-exports the public API from `./format-cross-conv.js`. */
7
5
  export { formatCrossConv, type CrossConvFormatter, type CrossConvMarkup, } from "./format-cross-conv.js";
8
6
  /** Re-exports the public API from `./format-group-block.js`. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/channel-base/index.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAGlF,0DAA0D;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,yDAAyD;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,+DAA+D;AAC/D,OAAO,EACL,eAAe,EACf,KAAK,kBAAkB,EACvB,KAAK,eAAe,GACrB,MAAM,wBAAwB,CAAC;AAEhC,gEAAgE;AAChE,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,cAAc,GACpB,MAAM,yBAAyB,CAAC;AAEjC,2DAA2D;AAC3D,OAAO,EACL,kBAAkB,EAClB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAC;AAE5B,sDAAsD;AACtD,OAAO,EACL,yBAAyB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,GACtB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/channel-base/index.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAGlF,0DAA0D;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,+DAA+D;AAC/D,OAAO,EACL,eAAe,EACf,KAAK,kBAAkB,EACvB,KAAK,eAAe,GACrB,MAAM,wBAAwB,CAAC;AAEhC,gEAAgE;AAChE,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,cAAc,GACpB,MAAM,yBAAyB,CAAC;AAEjC,2DAA2D;AAC3D,OAAO,EACL,kBAAkB,EAClB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAC;AAE5B,sDAAsD;AACtD,OAAO,EACL,yBAAyB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,GACtB,MAAM,eAAe,CAAC"}
@@ -2,8 +2,6 @@
2
2
  // Channel adapters import per-key store primitives through channel-base.
3
3
  /** Re-exports the public API from `../bounded-map.js`. */
4
4
  export { BoundedMap } from "../bounded-map.js";
5
- /** Re-exports the public API from `./reply-guard.js`. */
6
- export { ReplyGuard } from "./reply-guard.js";
7
5
  /** Re-exports the public API from `./format-cross-conv.js`. */
8
6
  export { formatCrossConv, } from "./format-cross-conv.js";
9
7
  /** Re-exports the public API from `./format-group-block.js`. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/channel-base/index.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAElF,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,yDAAyD;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,+DAA+D;AAC/D,OAAO,EACL,eAAe,GAGhB,MAAM,wBAAwB,CAAC;AAEhC,gEAAgE;AAChE,OAAO,EACL,gBAAgB,EAChB,cAAc,GAGf,MAAM,yBAAyB,CAAC;AAEjC,2DAA2D;AAC3D,OAAO,EACL,kBAAkB,GAUnB,MAAM,oBAAoB,CAAC;AAE5B,sDAAsD;AACtD,OAAO,EACL,yBAAyB,GAG1B,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/channel-base/index.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAElF,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,+DAA+D;AAC/D,OAAO,EACL,eAAe,GAGhB,MAAM,wBAAwB,CAAC;AAEhC,gEAAgE;AAChE,OAAO,EACL,gBAAgB,EAChB,cAAc,GAGf,MAAM,yBAAyB,CAAC;AAEjC,2DAA2D;AAC3D,OAAO,EACL,kBAAkB,GAUnB,MAAM,oBAAoB,CAAC;AAE5B,sDAAsD;AACtD,OAAO,EACL,yBAAyB,GAG1B,MAAM,eAAe,CAAC"}
@@ -1,8 +1,9 @@
1
1
  /**
2
2
  * Channel core: serialized inbound turn delivery over a MoltZapService.
3
3
  * Owns the inbound queue, same-conversation coalescing, the interceptor
4
- * gate, the per-turn timeout, and channel teardown; enrichment lives in
5
- * channel-core-enrichment.ts.
4
+ * gate, the per-turn timeout, and channel teardown. Enriched adapter delivery
5
+ * uses channel-core-enrichment.ts; raw daemon delivery receives the coalesced
6
+ * Message batch without reading or committing presentation context.
6
7
  */
7
8
  import { Effect } from "effect";
8
9
  import type { ConversationId } from "@moltzap/protocol/conversation";
@@ -101,9 +102,9 @@ export interface ChannelCoreOptions {
101
102
  */
102
103
  turnTimeoutMs?: number;
103
104
  /**
104
- * Endpoint-side gate consulted once per coalesced turn, after enrichment
105
- * and before the handler. Unset is passthrough: every turn is delivered
106
- * and the inbound path does no extra work.
105
+ * Endpoint-side gate consulted once per coalesced turn before the selected
106
+ * handler. The enriched path performs enrichment before the gate; the raw
107
+ * path deliberately does not enrich. Unset is passthrough.
107
108
  */
108
109
  inboundInterceptor?: InboundInterceptor;
109
110
  }
@@ -114,6 +115,13 @@ export interface ChannelCoreOptions {
114
115
  * rejection would.
115
116
  */
116
117
  export type InboundHandler<E = unknown> = (msg: EnrichedInboundMessage) => Effect.Effect<void, E>;
118
+ /**
119
+ * Handler for one coalesced raw inbound turn. The existing Message values are
120
+ * delivered in arrival order after the inbound interceptor admits the batch.
121
+ * Raw delivery does not enrich messages or read and commit presentation
122
+ * context.
123
+ */
124
+ export type RawInboundHandler<E = unknown> = (messages: readonly Message[]) => Effect.Effect<void, E>;
117
125
  /**
118
126
  * Verdict an {@link InboundInterceptor} returns for one coalesced turn.
119
127
  *
@@ -132,10 +140,11 @@ export type InboundInterceptDecision = {
132
140
  readonly reason?: string;
133
141
  };
134
142
  /**
135
- * Gate the embedder installs between enrichment and the handler. It receives
136
- * the newest message of the coalesced batch — a gate deciding whether a turn
137
- * is still worth running cares about the latest thing said — and its verdict
138
- * governs the whole batch.
143
+ * Gate the embedder installs between coalescing and the selected handler. The
144
+ * enriched handler path performs enrichment before consulting the gate; the
145
+ * raw handler path does not enrich. The gate receives the newest message of
146
+ * the coalesced batch — a gate deciding whether a turn is still worth running
147
+ * cares about the latest thing said — and its verdict governs the whole batch.
139
148
  *
140
149
  * It runs on the single consumer fiber, so suspending inside it delays this
141
150
  * turn and every message queued behind it, and `turnTimeoutMs` does not bound
@@ -149,10 +158,12 @@ export type InboundInterceptDecision = {
149
158
  */
150
159
  export type InboundInterceptor = (message: Message) => Effect.Effect<InboundInterceptDecision>;
151
160
  /**
152
- * Wraps a `MoltZapService` with message enrichment, one-turn-at-a-time
153
- * inbound delivery, and a send helper. One core per service —
154
- * `getContextEntries()` is side-effectful (advances per-conversation
155
- * markers), so a second core would consume entries the first expected.
161
+ * Wraps a `MoltZapService` with one-turn-at-a-time inbound delivery and a send
162
+ * helper. Adapter handlers receive enriched messages. A daemon handler may
163
+ * instead receive the admitted coalesced raw Message batch. One core per
164
+ * service — `getContextEntries()` is side-effectful (advances
165
+ * per-conversation markers), so a second core would consume entries the first
166
+ * expected.
156
167
  *
157
168
  * Turn-taking is entirely endpoint-local: the server delivers every message
158
169
  * it accepts, and this core decides when the runtime sees them.
@@ -165,7 +176,8 @@ export type InboundInterceptor = (message: Message) => Effect.Effect<InboundInte
165
176
  * participant ws as MoltZapAgentClient
166
177
  * participant svc as MoltZapService
167
178
  * participant core as MoltZapChannelCore
168
- * participant handler as InboundHandler
179
+ * participant raw as RawInboundHandler
180
+ * participant enriched as InboundHandler
169
181
  *
170
182
  * server->>ws: agent/message/received notification
171
183
  * ws->>svc: subscribers.dispatch — fanout(message)
@@ -173,10 +185,17 @@ export type InboundInterceptor = (message: Message) => Effect.Effect<InboundInte
173
185
  * Note over core: dedup via recordMessageIdIfNew, drop when stopped or no handler is installed, then Queue.unsafeOffer(inboundQueue, message)
174
186
  * Note over core: consumer fiber — Queue.take
175
187
  * Note over core: takeCoalescedConversationMessages drains same-conv backlog into one turn
176
- * Note over core: enrichMessage — sender name, conversation, context entries
177
- * Note over core: inboundInterceptor — deliver or drop this turn
178
- * core->>handler: inboundHandler(enriched)
179
- * handler-->>core: Effect.void
188
+ * alt raw daemon handler
189
+ * Note over core: inboundInterceptor — deliver or drop this batch
190
+ * core->>raw: rawInboundHandler(messages)
191
+ * raw-->>core: Effect.void
192
+ * else enriched adapter handler
193
+ * Note over core: enrichMessage — sender name, conversation, context entries
194
+ * Note over core: inboundInterceptor — deliver or drop this turn
195
+ * core->>enriched: inboundHandler(enriched)
196
+ * enriched-->>core: Effect.void
197
+ * Note over core: completed handler commits presentation context
198
+ * end
180
199
  * Note over core: handler exceeds turnTimeoutMs — turn abandoned, drain continues
181
200
  * ```
182
201
  *
@@ -208,6 +227,13 @@ export declare class MoltZapChannelCore {
208
227
  * @param handler Handler invoked for matching requests.
209
228
  */
210
229
  onInbound<E>(handler: InboundHandler<E>): void;
230
+ /**
231
+ * Replaces any previous handler with a raw coalesced-turn handler. The
232
+ * admitted batch passes the interceptor and reaches the handler without
233
+ * enrichment or presentation-context commits.
234
+ * @param handler Handler invoked for each admitted raw batch.
235
+ */
236
+ onRawInbound<E>(handler: RawInboundHandler<E>): void;
211
237
  onDisconnect(handler: () => void): void;
212
238
  private fanout;
213
239
  connect(): Effect.Effect<void, ServiceRpcError>;
@@ -250,7 +276,7 @@ export declare class MoltZapChannelCore {
250
276
  /**
251
277
  * Await the user handler, bounded by `turnTimeoutMs` when it is set.
252
278
  * @param handler Installed inbound handler.
253
- * @param enriched Enriched form of the coalesced batch.
279
+ * @param input Value delivered to the selected handler.
254
280
  * @param primary Message that opened this turn.
255
281
  * @returns Whether the handler ran to completion.
256
282
  */
@@ -1 +1 @@
1
- {"version":3,"file":"channel-core.d.ts","sourceRoot":"","sources":["../src/channel-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel-core.d.ts","sourceRoot":"","sources":["../src/channel-core.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  /**
2
2
  * Channel core: serialized inbound turn delivery over a MoltZapService.
3
3
  * Owns the inbound queue, same-conversation coalescing, the interceptor
4
- * gate, the per-turn timeout, and channel teardown; enrichment lives in
5
- * channel-core-enrichment.ts.
4
+ * gate, the per-turn timeout, and channel teardown. Enriched adapter delivery
5
+ * uses channel-core-enrichment.ts; raw daemon delivery receives the coalesced
6
+ * Message batch without reading or committing presentation context.
6
7
  */
7
8
  import { Cause, Chunk, Duration, Effect, Fiber, Option, Queue } from "effect";
8
9
  import { enrichChannelMessage } from "./channel-core-enrichment.js";
@@ -31,10 +32,12 @@ function runBackgroundLog(effect) {
31
32
  Effect.runFork(effect);
32
33
  }
33
34
  /**
34
- * Wraps a `MoltZapService` with message enrichment, one-turn-at-a-time
35
- * inbound delivery, and a send helper. One core per service —
36
- * `getContextEntries()` is side-effectful (advances per-conversation
37
- * markers), so a second core would consume entries the first expected.
35
+ * Wraps a `MoltZapService` with one-turn-at-a-time inbound delivery and a send
36
+ * helper. Adapter handlers receive enriched messages. A daemon handler may
37
+ * instead receive the admitted coalesced raw Message batch. One core per
38
+ * service — `getContextEntries()` is side-effectful (advances
39
+ * per-conversation markers), so a second core would consume entries the first
40
+ * expected.
38
41
  *
39
42
  * Turn-taking is entirely endpoint-local: the server delivers every message
40
43
  * it accepts, and this core decides when the runtime sees them.
@@ -47,7 +50,8 @@ function runBackgroundLog(effect) {
47
50
  * participant ws as MoltZapAgentClient
48
51
  * participant svc as MoltZapService
49
52
  * participant core as MoltZapChannelCore
50
- * participant handler as InboundHandler
53
+ * participant raw as RawInboundHandler
54
+ * participant enriched as InboundHandler
51
55
  *
52
56
  * server->>ws: agent/message/received notification
53
57
  * ws->>svc: subscribers.dispatch — fanout(message)
@@ -55,10 +59,17 @@ function runBackgroundLog(effect) {
55
59
  * Note over core: dedup via recordMessageIdIfNew, drop when stopped or no handler is installed, then Queue.unsafeOffer(inboundQueue, message)
56
60
  * Note over core: consumer fiber — Queue.take
57
61
  * Note over core: takeCoalescedConversationMessages drains same-conv backlog into one turn
58
- * Note over core: enrichMessage — sender name, conversation, context entries
59
- * Note over core: inboundInterceptor — deliver or drop this turn
60
- * core->>handler: inboundHandler(enriched)
61
- * handler-->>core: Effect.void
62
+ * alt raw daemon handler
63
+ * Note over core: inboundInterceptor — deliver or drop this batch
64
+ * core->>raw: rawInboundHandler(messages)
65
+ * raw-->>core: Effect.void
66
+ * else enriched adapter handler
67
+ * Note over core: enrichMessage — sender name, conversation, context entries
68
+ * Note over core: inboundInterceptor — deliver or drop this turn
69
+ * core->>enriched: inboundHandler(enriched)
70
+ * enriched-->>core: Effect.void
71
+ * Note over core: completed handler commits presentation context
72
+ * end
62
73
  * Note over core: handler exceeds turnTimeoutMs — turn abandoned, drain continues
63
74
  * ```
64
75
  *
@@ -134,7 +145,16 @@ export class MoltZapChannelCore {
134
145
  * @param handler Handler invoked for matching requests.
135
146
  */
136
147
  onInbound(handler) {
137
- this.inboundHandler = handler;
148
+ this.inboundHandler = { _tag: "enriched", handler };
149
+ }
150
+ /**
151
+ * Replaces any previous handler with a raw coalesced-turn handler. The
152
+ * admitted batch passes the interceptor and reaches the handler without
153
+ * enrichment or presentation-context commits.
154
+ * @param handler Handler invoked for each admitted raw batch.
155
+ */
156
+ onRawInbound(handler) {
157
+ this.inboundHandler = { _tag: "raw", handler };
138
158
  }
139
159
  onDisconnect(handler) {
140
160
  this.disconnectHandlers.push(handler);
@@ -209,15 +229,22 @@ export class MoltZapChannelCore {
209
229
  runInboundTurn(primary) {
210
230
  return Effect.gen(function* () {
211
231
  const messages = yield* this.takeCoalescedConversationMessages(primary);
212
- const handler = this.inboundHandler;
213
- if (!handler) {
232
+ const registered = this.inboundHandler;
233
+ if (registered === null) {
234
+ return;
235
+ }
236
+ if (registered._tag === "raw") {
237
+ if (!(yield* this.interceptTurn(messages))) {
238
+ return;
239
+ }
240
+ yield* this.awaitHandlerTurn(registered.handler, messages, primary);
214
241
  return;
215
242
  }
216
243
  const { enriched, commitContext } = yield* MoltZapChannelCore.enrichMessage(this.service, messages);
217
244
  if (!(yield* this.interceptTurn(messages))) {
218
245
  return;
219
246
  }
220
- const completed = yield* this.awaitHandlerTurn(handler, enriched, primary);
247
+ const completed = yield* this.awaitHandlerTurn(registered.handler, enriched, primary);
221
248
  // Context markers advance only for a turn the handler finished. A
222
249
  // dropped or abandoned one leaves its entries for the next turn.
223
250
  if (completed && commitContext) {
@@ -275,15 +302,15 @@ export class MoltZapChannelCore {
275
302
  /**
276
303
  * Await the user handler, bounded by `turnTimeoutMs` when it is set.
277
304
  * @param handler Installed inbound handler.
278
- * @param enriched Enriched form of the coalesced batch.
305
+ * @param input Value delivered to the selected handler.
279
306
  * @param primary Message that opened this turn.
280
307
  * @returns Whether the handler ran to completion.
281
308
  */
282
- awaitHandlerTurn(handler, enriched, primary) {
309
+ awaitHandlerTurn(handler, input, primary) {
283
310
  // The handler is user code returning an Effect — yield it directly so its
284
311
  // typed error channel propagates to the consumer fiber, which logs and
285
312
  // continues. Awaiting it inline preserves arrival-order delivery.
286
- const turn = handler(enriched);
313
+ const turn = handler(input);
287
314
  const timeoutMs = this.turnTimeoutMs;
288
315
  if (timeoutMs === undefined) {
289
316
  return turn.pipe(Effect.as(true));
@@ -1 +1 @@
1
- {"version":3,"file":"channel-core.js","sourceRoot":"","sources":["../src/channel-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel-core.js","sourceRoot":"","sources":["../src/channel-core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { Effect, Stream, type Scope } from "effect";
2
+ import type { ConversationId } from "@moltzap/protocol/conversation";
3
+ import { type HarnessTurnEvent } from "./runtime.js";
4
+ interface HarnessClientInternalOptions {
5
+ readonly url: string;
6
+ }
7
+ interface HarnessTurnInternal {
8
+ readonly conversationId: ConversationId;
9
+ readonly messages: HarnessTurnEvent["messages"];
10
+ readonly reply: (payload: string) => Effect.Effect<void, Error>;
11
+ }
12
+ interface HarnessClientInternalService {
13
+ readonly turns: Stream.Stream<HarnessTurnInternal, Error>;
14
+ }
15
+ /**
16
+ * Acquires the private official-SDK adapter behind the public HarnessClient.
17
+ *
18
+ * @internal
19
+ * @param options Package-owned loopback endpoint options.
20
+ * @returns The scoped structural service consumed by the public facade.
21
+ */
22
+ export declare const acquireHarnessClientInternal: (options: HarnessClientInternalOptions) => Effect.Effect<HarnessClientInternalService, Error, Scope.Scope>;
23
+ export {};
24
+ //# sourceMappingURL=client-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-runtime.d.ts","sourceRoot":"","sources":["../../src/harness/client-runtime.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,MAAM,EAAS,MAAM,EAAQ,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAQL,KAAK,gBAAgB,EACtB,MAAM,cAAc,CAAC;AAEtB,UAAU,4BAA4B;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;CACjE;AAED,UAAU,4BAA4B;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;CAC3D;AAsHD;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,YAC9B,4BAA4B,KACpC,MAAM,CAAC,MAAM,CAAC,4BAA4B,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAkDf,CAAC"}
@@ -0,0 +1,107 @@
1
+ /* eslint-disable agent-code-guard/promise-type, @typescript-eslint/no-invalid-void-type -- The official MCP client lifecycle is Promise-native and is converted to Effect at this private adapter edge. */
2
+ import { Client, fromJsonSchema, StreamableHTTPClientTransport, } from "@modelcontextprotocol/client";
3
+ import { Effect, Queue, Stream, Take } from "effect";
4
+ import packageJson from "../../package.json" with { type: "json" };
5
+ import { decodeHarnessTurnEvent, HARNESS_EVENTS_EXTENSION, HARNESS_REPLY_TOOL, HARNESS_TURN_READY_FILTER, HARNESS_TURN_READY_NOTIFICATION, harnessReplyRequestMeta, harnessTurnConversationId, } from "./runtime.js";
6
+ const MODERN_PROTOCOL_VERSION = "2026-07-28";
7
+ const CLIENT_IMPLEMENTATION = {
8
+ name: "moltzap-harness-client",
9
+ version: packageJson.version,
10
+ };
11
+ const TURN_READY_FILTER = {
12
+ [HARNESS_TURN_READY_FILTER]: true,
13
+ };
14
+ const unknownNotificationParams = fromJsonSchema({});
15
+ const asError = (cause) => cause instanceof Error ? cause : new Error(String(cause));
16
+ const closeQuietly = (close) => Effect.tryPromise({ try: close, catch: asError }).pipe(Effect.ignore);
17
+ const turnPayload = (params) => {
18
+ if (typeof params !== "object" || params === null || Array.isArray(params)) {
19
+ return params;
20
+ }
21
+ const payload = { ...params };
22
+ Reflect.deleteProperty(payload, "_meta");
23
+ return payload;
24
+ };
25
+ const callReply = (client, originatingConversationId, payload) => Effect.tryPromise({
26
+ try: (signal) => client.callTool({
27
+ name: HARNESS_REPLY_TOOL,
28
+ arguments: { payload },
29
+ _meta: harnessReplyRequestMeta(originatingConversationId),
30
+ }, { signal }),
31
+ catch: asError,
32
+ }).pipe(Effect.flatMap((result) => {
33
+ if (result.isError === true) {
34
+ // eslint-disable-next-line agent-code-guard/effect-error-erasure -- The raw MCP failure has no portable domain-error contract, so this boundary exposes an ordinary Error.
35
+ return Effect.fail(new Error("Harness reply tool failed"));
36
+ }
37
+ return Effect.void;
38
+ }), Effect.asVoid);
39
+ const makeTurn = (client, event) => {
40
+ const originatingConversationId = harnessTurnConversationId(event);
41
+ return {
42
+ conversationId: originatingConversationId,
43
+ messages: event.messages,
44
+ reply: (payload) => callReply(client, originatingConversationId, payload),
45
+ };
46
+ };
47
+ const connect = (client, url) => Effect.tryPromise({
48
+ try: (signal) => client.connect(new StreamableHTTPClientTransport(new URL(url)), {
49
+ signal,
50
+ }),
51
+ catch: asError,
52
+ }).pipe(Effect.onError(() => closeQuietly(() => client.close())), Effect.as(client));
53
+ const listen = (client) => Effect.tryPromise({
54
+ try: (signal) => client.listen(TURN_READY_FILTER, { signal }),
55
+ catch: asError,
56
+ });
57
+ const verifyServerExtension = (client) => {
58
+ const extensions = client.getServerCapabilities()?.extensions;
59
+ if (extensions !== undefined &&
60
+ Object.hasOwn(extensions, HARNESS_EVENTS_EXTENSION)) {
61
+ return Effect.void;
62
+ }
63
+ // eslint-disable-next-line agent-code-guard/effect-error-erasure -- An incompatible MCP peer is rejected at the public client boundary, whose existing error contract is Error.
64
+ return Effect.fail(new Error(`Harness MCP server does not advertise ${HARNESS_EVENTS_EXTENSION}`));
65
+ };
66
+ const observeSubscription = (subscription, queue) => Effect.tryPromise({
67
+ try: () => subscription.closed,
68
+ catch: asError,
69
+ }).pipe(
70
+ // The official MCP subscription contract states that `closed` never rejects.
71
+ Effect.orDie, Effect.flatMap(() => Queue.offer(queue, Take.end)), Effect.asVoid);
72
+ /**
73
+ * Acquires the private official-SDK adapter behind the public HarnessClient.
74
+ *
75
+ * @internal
76
+ * @param options Package-owned loopback endpoint options.
77
+ * @returns The scoped structural service consumed by the public facade.
78
+ */
79
+ export const acquireHarnessClientInternal = (options) => Effect.gen(function* () {
80
+ const queue = yield* Queue.unbounded();
81
+ yield* Effect.addFinalizer(() => Queue.shutdown(queue));
82
+ const client = new Client(CLIENT_IMPLEMENTATION, {
83
+ capabilities: {
84
+ extensions: { [HARNESS_EVENTS_EXTENSION]: {} },
85
+ },
86
+ versionNegotiation: {
87
+ mode: { pin: MODERN_PROTOCOL_VERSION },
88
+ },
89
+ });
90
+ client.setNotificationHandler(HARNESS_TURN_READY_NOTIFICATION, { params: unknownNotificationParams }, (params) => Effect.runPromise(decodeHarnessTurnEvent(turnPayload(params)).pipe(Effect.matchEffect({
91
+ onFailure: (cause) => Queue.offer(queue, Take.fail(asError(cause))),
92
+ onSuccess: (event) => Queue.offer(queue, Take.of(makeTurn(client, event))),
93
+ }), Effect.asVoid)));
94
+ yield* (
95
+ // eslint-disable-next-line agent-code-guard/acquire-release-requires-scope -- The internal acquisition retains Scope in its return type and the public facade supplies that enclosing scope.
96
+ Effect.acquireRelease(connect(client, options.url), () => closeQuietly(() => client.close())));
97
+ yield* verifyServerExtension(client);
98
+ const subscription = yield* (
99
+ // eslint-disable-next-line agent-code-guard/acquire-release-requires-scope -- The internal acquisition retains Scope in its return type and the public facade supplies that enclosing scope.
100
+ Effect.acquireRelease(listen(client), (subscription) => closeQuietly(() => subscription.close())));
101
+ yield* Effect.forkScoped(observeSubscription(subscription, queue));
102
+ return {
103
+ turns: Stream.fromQueue(queue).pipe(Stream.flattenTake),
104
+ };
105
+ }).pipe(Effect.withSpan("acquireHarnessClient"));
106
+ /* eslint-enable agent-code-guard/promise-type, @typescript-eslint/no-invalid-void-type -- Restore strict defaults after the Promise-native MCP adapter edge. */
107
+ //# sourceMappingURL=client-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-runtime.js","sourceRoot":"","sources":["../../src/harness/client-runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /** @internal */
2
+ export { acquireHarnessClientInternal } from "./client-runtime.js";
3
+ /** @internal */
4
+ export { decodeHarnessReplyRoute, HARNESS_EVENTS_EXTENSION, HARNESS_REPLY_TOOL, HARNESS_TURN_READY_FILTER, HARNESS_TURN_READY_NOTIFICATION, harnessReplyInputJsonSchema, harnessReplyResultJsonSchema, type HarnessReplyInput, type HarnessReplyResult, type HarnessReplyRoute, type HarnessTurnEvent, } from "./runtime.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/harness/index.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAChB,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,gBAAgB;AAChB,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,EAClB,yBAAyB,EACzB,+BAA+B,EAC/B,2BAA2B,EAC3B,4BAA4B,EAC5B,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,GACtB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,5 @@
1
+ /** @internal */
2
+ export { acquireHarnessClientInternal } from "./client-runtime.js";
3
+ /** @internal */
4
+ export { decodeHarnessReplyRoute, HARNESS_EVENTS_EXTENSION, HARNESS_REPLY_TOOL, HARNESS_TURN_READY_FILTER, HARNESS_TURN_READY_NOTIFICATION, harnessReplyInputJsonSchema, harnessReplyResultJsonSchema, } from "./runtime.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/harness/index.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAChB,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,gBAAgB;AAChB,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,EAClB,yBAAyB,EACzB,+BAA+B,EAC/B,2BAA2B,EAC3B,4BAA4B,GAK7B,MAAM,cAAc,CAAC"}