@moltzap/client 2026.806.0 → 2026.812.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/dist/channel-base/index.d.ts +4 -4
- package/dist/channel-base/index.d.ts.map +1 -1
- package/dist/channel-base/index.js +6 -3
- package/dist/channel-base/index.js.map +1 -1
- package/dist/channel-core-enrichment.d.ts +24 -0
- package/dist/channel-core-enrichment.d.ts.map +1 -1
- package/dist/channel-core-enrichment.js +94 -20
- package/dist/channel-core-enrichment.js.map +1 -1
- package/dist/channel-core.d.ts +3 -1
- package/dist/channel-core.d.ts.map +1 -1
- package/dist/channel-core.js +2 -0
- package/dist/channel-core.js.map +1 -1
- package/dist/config.d.ts +2 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +7 -1
- package/dist/config.js.map +1 -1
- package/dist/config.test-utils.d.ts +6 -0
- package/dist/config.test-utils.d.ts.map +1 -1
- package/dist/config.test-utils.js +5 -1
- package/dist/config.test-utils.js.map +1 -1
- package/dist/harness/client-runtime.d.ts +12 -5
- package/dist/harness/client-runtime.d.ts.map +1 -1
- package/dist/harness/client-runtime.js +16 -2
- package/dist/harness/client-runtime.js.map +1 -1
- package/dist/harness/index.d.ts +2 -2
- package/dist/harness/index.d.ts.map +1 -1
- package/dist/harness/index.js +2 -2
- package/dist/harness/index.js.map +1 -1
- package/dist/harness/runtime.d.ts +152 -0
- package/dist/harness/runtime.d.ts.map +1 -1
- package/dist/harness/runtime.js +99 -2
- package/dist/harness/runtime.js.map +1 -1
- package/dist/harness-client.d.ts +17 -13
- package/dist/harness-client.d.ts.map +1 -1
- package/dist/harness-client.js +59 -4
- package/dist/harness-client.js.map +1 -1
- package/dist/harness-context-projection.d.ts +35 -0
- package/dist/harness-context-projection.d.ts.map +1 -0
- package/dist/harness-context-projection.js +123 -0
- package/dist/harness-context-projection.js.map +1 -0
- package/dist/harness-mcp-server.d.ts +1 -2
- package/dist/harness-mcp-server.d.ts.map +1 -1
- package/dist/harness-mcp-server.js +11 -17
- package/dist/harness-mcp-server.js.map +1 -1
- package/dist/harness-mcp-wire.d.ts +47 -15
- package/dist/harness-mcp-wire.d.ts.map +1 -1
- package/dist/harness-mcp-wire.js +93 -37
- package/dist/harness-mcp-wire.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/local-paths.d.ts +0 -11
- package/dist/local-paths.d.ts.map +1 -1
- package/dist/local-paths.js +0 -12
- package/dist/local-paths.js.map +1 -1
- package/dist/moltzapd-catalog.d.ts +35 -0
- package/dist/moltzapd-catalog.d.ts.map +1 -0
- package/dist/moltzapd-catalog.js +117 -0
- package/dist/moltzapd-catalog.js.map +1 -0
- package/dist/moltzapd-child-ipc.d.ts +26 -0
- package/dist/moltzapd-child-ipc.d.ts.map +1 -0
- package/dist/moltzapd-child-ipc.js +31 -0
- package/dist/moltzapd-child-ipc.js.map +1 -0
- package/dist/moltzapd-child.d.ts +55 -0
- package/dist/moltzapd-child.d.ts.map +1 -0
- package/dist/moltzapd-child.js +225 -0
- package/dist/moltzapd-child.js.map +1 -0
- package/dist/moltzapd-main.d.ts +3 -0
- package/dist/moltzapd-main.d.ts.map +1 -0
- package/dist/moltzapd-main.js +18 -0
- package/dist/moltzapd-main.js.map +1 -0
- package/dist/moltzapd-registration.d.ts +40 -0
- package/dist/moltzapd-registration.d.ts.map +1 -0
- package/dist/moltzapd-registration.js +59 -0
- package/dist/moltzapd-registration.js.map +1 -0
- package/dist/moltzapd.d.ts +56 -9
- package/dist/moltzapd.d.ts.map +1 -1
- package/dist/moltzapd.js +108 -36
- package/dist/moltzapd.js.map +1 -1
- package/dist/notification/trace.d.ts +10 -0
- package/dist/notification/trace.d.ts.map +1 -0
- package/dist/notification/trace.js +34 -0
- package/dist/notification/trace.js.map +1 -0
- package/dist/presentation/index.d.ts +3 -0
- package/dist/presentation/index.d.ts.map +1 -0
- package/dist/presentation/index.js +3 -0
- package/dist/presentation/index.js.map +1 -0
- package/dist/presentation/state.d.ts +77 -0
- package/dist/presentation/state.d.ts.map +1 -0
- package/dist/presentation/state.js +211 -0
- package/dist/presentation/state.js.map +1 -0
- package/dist/profile.d.ts +30 -28
- package/dist/profile.d.ts.map +1 -1
- package/dist/profile.js +28 -20
- package/dist/profile.js.map +1 -1
- package/dist/service.d.ts +8 -79
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +29 -333
- package/dist/service.js.map +1 -1
- package/dist/test-utils/fake-service.d.ts +3 -5
- package/dist/test-utils/fake-service.d.ts.map +1 -1
- package/dist/test-utils/fake-service.js +12 -12
- package/dist/test-utils/fake-service.js.map +1 -1
- package/dist/test-utils/index.d.ts +2 -0
- package/dist/test-utils/index.d.ts.map +1 -1
- package/dist/test-utils/index.js +2 -0
- package/dist/test-utils/index.js.map +1 -1
- package/dist/test-utils/process/reserve-port.d.ts +20 -0
- package/dist/test-utils/process/reserve-port.d.ts.map +1 -0
- package/dist/test-utils/process/reserve-port.js +41 -0
- package/dist/test-utils/process/reserve-port.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +32 -6
- package/dist/cli/adapters.d.ts +0 -21
- package/dist/cli/adapters.d.ts.map +0 -1
- package/dist/cli/adapters.js +0 -111
- package/dist/cli/adapters.js.map +0 -1
- package/dist/cli/commands/agents.d.ts +0 -11
- package/dist/cli/commands/agents.d.ts.map +0 -1
- package/dist/cli/commands/agents.js +0 -27
- package/dist/cli/commands/agents.js.map +0 -1
- package/dist/cli/commands/conversations.d.ts +0 -18
- package/dist/cli/commands/conversations.d.ts.map +0 -1
- package/dist/cli/commands/conversations.js +0 -33
- package/dist/cli/commands/conversations.js.map +0 -1
- package/dist/cli/commands/messages.d.ts +0 -41
- package/dist/cli/commands/messages.d.ts.map +0 -1
- package/dist/cli/commands/messages.js +0 -39
- package/dist/cli/commands/messages.js.map +0 -1
- package/dist/cli/commands/register.d.ts +0 -46
- package/dist/cli/commands/register.d.ts.map +0 -1
- package/dist/cli/commands/register.js +0 -103
- package/dist/cli/commands/register.js.map +0 -1
- package/dist/cli/commands/send.d.ts +0 -53
- package/dist/cli/commands/send.d.ts.map +0 -1
- package/dist/cli/commands/send.js +0 -57
- package/dist/cli/commands/send.js.map +0 -1
- package/dist/cli/commands/start.d.ts +0 -34
- package/dist/cli/commands/start.d.ts.map +0 -1
- package/dist/cli/commands/start.js +0 -59
- package/dist/cli/commands/start.js.map +0 -1
- package/dist/cli/commands/status.d.ts +0 -7
- package/dist/cli/commands/status.d.ts.map +0 -1
- package/dist/cli/commands/status.js +0 -16
- package/dist/cli/commands/status.js.map +0 -1
- package/dist/cli/commands/test-transport.d.ts +0 -28
- package/dist/cli/commands/test-transport.d.ts.map +0 -1
- package/dist/cli/commands/test-transport.js +0 -40
- package/dist/cli/commands/test-transport.js.map +0 -1
- package/dist/cli/index.d.ts +0 -3
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js +0 -105
- package/dist/cli/index.js.map +0 -1
- package/dist/cli/output.d.ts +0 -14
- package/dist/cli/output.d.ts.map +0 -1
- package/dist/cli/output.js +0 -19
- package/dist/cli/output.js.map +0 -1
- package/dist/cli/socket-client.d.ts +0 -28
- package/dist/cli/socket-client.d.ts.map +0 -1
- package/dist/cli/socket-client.js +0 -63
- package/dist/cli/socket-client.js.map +0 -1
- package/dist/cli/transport.d.ts +0 -132
- package/dist/cli/transport.d.ts.map +0 -1
- package/dist/cli/transport.js +0 -127
- package/dist/cli/transport.js.map +0 -1
- package/dist/local-daemon-rpc.d.ts +0 -1170
- package/dist/local-daemon-rpc.d.ts.map +0 -1
- package/dist/local-daemon-rpc.js +0 -178
- package/dist/local-daemon-rpc.js.map +0 -1
- package/dist/local-history.d.ts +0 -75
- package/dist/local-history.d.ts.map +0 -1
- package/dist/local-history.js +0 -82
- package/dist/local-history.js.map +0 -1
- package/dist/local-socket-server.d.ts +0 -33
- package/dist/local-socket-server.d.ts.map +0 -1
- package/dist/local-socket-server.js +0 -100
- package/dist/local-socket-server.js.map +0 -1
- package/dist/refs.d.ts +0 -18
- package/dist/refs.d.ts.map +0 -1
- package/dist/refs.js +0 -18
- package/dist/refs.js.map +0 -1
- package/dist/service-helpers.d.ts +0 -55
- package/dist/service-helpers.d.ts.map +0 -1
- package/dist/service-helpers.js +0 -108
- package/dist/service-helpers.js.map +0 -1
- package/dist/service-local-daemon.d.ts +0 -32
- package/dist/service-local-daemon.d.ts.map +0 -1
- package/dist/service-local-daemon.js +0 -153
- package/dist/service-local-daemon.js.map +0 -1
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
/** Re-exports the public API from `../bounded-map.js`. */
|
|
3
3
|
export { BoundedMap } from "../bounded-map.js";
|
|
4
4
|
/** Re-exports the public API from `./format-cross-conv.js`. */
|
|
5
|
-
export { formatCrossConv
|
|
5
|
+
export { formatCrossConv } from "./format-cross-conv.js";
|
|
6
6
|
/** Re-exports the public API from `./format-group-block.js`. */
|
|
7
|
-
export { formatGroupBlock, getGroupFields, type GroupFields,
|
|
7
|
+
export { formatGroupBlock, getGroupFields, type GroupFields, } from "./format-group-block.js";
|
|
8
8
|
/** Re-exports the public API from `../channel-core.js`. */
|
|
9
|
-
export {
|
|
9
|
+
export { type EnrichedConversationMeta } from "../channel-core.js";
|
|
10
10
|
/** Re-exports the public API from `../service.js`. */
|
|
11
|
-
export {
|
|
11
|
+
export { type CrossConvMessage } from "../service.js";
|
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -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,+DAA+D;AAC/D,OAAO,
|
|
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,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,gEAAgE;AAChE,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,KAAK,WAAW,GACjB,MAAM,yBAAyB,CAAC;AAKjC,2DAA2D;AAC3D,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAEnE,sDAAsD;AACtD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -3,11 +3,14 @@
|
|
|
3
3
|
/** Re-exports the public API from `../bounded-map.js`. */
|
|
4
4
|
export { BoundedMap } from "../bounded-map.js";
|
|
5
5
|
/** Re-exports the public API from `./format-cross-conv.js`. */
|
|
6
|
-
export { formatCrossConv
|
|
6
|
+
export { formatCrossConv } from "./format-cross-conv.js";
|
|
7
7
|
/** Re-exports the public API from `./format-group-block.js`. */
|
|
8
8
|
export { formatGroupBlock, getGroupFields, } from "./format-group-block.js";
|
|
9
|
+
// Presentation shapes only. `MoltZapChannelCore` and `ChannelService` are
|
|
10
|
+
// daemon-side machinery: an adapter that reached them would be building its own
|
|
11
|
+
// transport instead of talking to one through HarnessClient.
|
|
9
12
|
/** Re-exports the public API from `../channel-core.js`. */
|
|
10
|
-
export {
|
|
13
|
+
export {} from "../channel-core.js";
|
|
11
14
|
/** Re-exports the public API from `../service.js`. */
|
|
12
|
-
export {
|
|
15
|
+
export {} from "../service.js";
|
|
13
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -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,+DAA+D;AAC/D,OAAO,
|
|
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,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,gEAAgE;AAChE,OAAO,EACL,gBAAgB,EAChB,cAAc,GAEf,MAAM,yBAAyB,CAAC;AAEjC,0EAA0E;AAC1E,gFAAgF;AAChF,6DAA6D;AAC7D,2DAA2D;AAC3D,OAAO,EAAiC,MAAM,oBAAoB,CAAC;AAEnE,sDAAsD;AACtD,OAAO,EAAyB,MAAM,eAAe,CAAC"}
|
|
@@ -1,6 +1,29 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
|
+
import type { Conversation } from "@moltzap/protocol/conversation";
|
|
3
|
+
import type { AgentCard, AgentId } from "@moltzap/protocol/identity";
|
|
2
4
|
import type { Message } from "@moltzap/protocol/message";
|
|
3
5
|
import type { ChannelService, EnrichedInboundMessage } from "./channel-core.js";
|
|
6
|
+
type ConversationWithParticipants = Conversation & {
|
|
7
|
+
readonly participants: readonly AgentId[];
|
|
8
|
+
};
|
|
9
|
+
interface HarnessTurnProjectionInput {
|
|
10
|
+
readonly context: {
|
|
11
|
+
readonly conversations: readonly ConversationWithParticipants[];
|
|
12
|
+
readonly currentMessages: readonly [Message, ...Message[]];
|
|
13
|
+
readonly crossConversationMessages: readonly Message[];
|
|
14
|
+
};
|
|
15
|
+
readonly agents: readonly AgentCard[];
|
|
16
|
+
readonly ownAgentId: AgentId;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Projects MCP-reconstructed context into the channel-owned enriched shape.
|
|
20
|
+
* @param input Reconstructed messages plus resolved identity information.
|
|
21
|
+
* @param input.context Current and cross-conversation message context.
|
|
22
|
+
* @param input.agents Agent cards used for presentation names.
|
|
23
|
+
* @param input.ownAgentId Active identity used to mark self-authored content.
|
|
24
|
+
* @returns The enriched inbound message exposed by a harness turn.
|
|
25
|
+
*/
|
|
26
|
+
export declare const projectHarnessTurn: ({ context, agents, ownAgentId, }: HarnessTurnProjectionInput) => EnrichedInboundMessage;
|
|
4
27
|
/**
|
|
5
28
|
* Executes the enrich channel message operation.
|
|
6
29
|
* @param service Value supplied to the operation.
|
|
@@ -11,4 +34,5 @@ export declare function enrichChannelMessage(service: ChannelService, messageOrM
|
|
|
11
34
|
enriched: EnrichedInboundMessage;
|
|
12
35
|
commitContext?: () => void;
|
|
13
36
|
}>;
|
|
37
|
+
export {};
|
|
14
38
|
//# sourceMappingURL=channel-core-enrichment.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel-core-enrichment.d.ts","sourceRoot":"","sources":["../src/channel-core-enrichment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EACV,cAAc,EAGd,sBAAsB,EACvB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"channel-core-enrichment.d.ts","sourceRoot":"","sources":["../src/channel-core-enrichment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EACV,YAAY,EAEb,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EACV,cAAc,EAGd,sBAAsB,EACvB,MAAM,mBAAmB,CAAC;AAmM3B,KAAK,4BAA4B,GAAG,YAAY,GAAG;IACjD,QAAQ,CAAC,YAAY,EAAE,SAAS,OAAO,EAAE,CAAC;CAC3C,CAAC;AAEF,UAAU,0BAA0B;IAClC,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,aAAa,EAAE,SAAS,4BAA4B,EAAE,CAAC;QAChE,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QAC3D,QAAQ,CAAC,yBAAyB,EAAE,SAAS,OAAO,EAAE,CAAC;KACxD,CAAC;IACF,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AA6CD;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,qCAI5B,0BAA0B,KAAG,sBAyC/B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,cAAc,EACvB,iBAAiB,EAAE,OAAO,GAAG,SAAS,OAAO,EAAE,GAC9C,MAAM,CAAC,MAAM,CAAC;IACf,QAAQ,EAAE,sBAAsB,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B,CAAC,CAoCD"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
|
+
import { renderPart } from "./message-rendering.js";
|
|
2
3
|
function isMessageList(messageOrMessages) {
|
|
3
4
|
return Array.isArray(messageOrMessages);
|
|
4
5
|
}
|
|
@@ -40,7 +41,8 @@ function resolveSenderName(service, agentId) {
|
|
|
40
41
|
? Effect.succeed(cachedName)
|
|
41
42
|
: service.resolveAgentName(agentId);
|
|
42
43
|
}
|
|
43
|
-
function coalescedMessageFrom(
|
|
44
|
+
function coalescedMessageFrom(resolved) {
|
|
45
|
+
const { message, senderName } = resolved;
|
|
44
46
|
return {
|
|
45
47
|
id: message.id,
|
|
46
48
|
sender: {
|
|
@@ -51,21 +53,21 @@ function coalescedMessageFrom(message, senderName) {
|
|
|
51
53
|
createdAt: message.createdAt,
|
|
52
54
|
};
|
|
53
55
|
}
|
|
54
|
-
function
|
|
56
|
+
function resolveInboundMessages(service, messages, primarySenderName) {
|
|
55
57
|
return Effect.gen(function* () {
|
|
56
58
|
const primaryMessage =
|
|
57
59
|
/* Safe because the surrounding invariant establishes this asserted shape. */ messages[0];
|
|
58
|
-
const
|
|
60
|
+
const remaining = [];
|
|
59
61
|
for (const message of messages.slice(1)) {
|
|
60
62
|
const senderName = yield* resolveSenderName(service, message.senderId);
|
|
61
|
-
|
|
63
|
+
remaining.push({ message, senderName });
|
|
62
64
|
}
|
|
63
|
-
return
|
|
65
|
+
return [
|
|
66
|
+
{ message: primaryMessage, senderName: primarySenderName },
|
|
67
|
+
...remaining,
|
|
68
|
+
];
|
|
64
69
|
});
|
|
65
70
|
}
|
|
66
|
-
function isFromOwnAgent(service, message) {
|
|
67
|
-
return (service.ownAgentId !== undefined && message.senderId === service.ownAgentId);
|
|
68
|
-
}
|
|
69
71
|
function collectContextBlocks(service, conversationId, conversationMeta) {
|
|
70
72
|
const contextBlocks = {};
|
|
71
73
|
if (conversationMeta?.type === "group") {
|
|
@@ -93,7 +95,16 @@ function collectContextBlocks(service, conversationId, conversationMeta) {
|
|
|
93
95
|
: {}),
|
|
94
96
|
};
|
|
95
97
|
}
|
|
96
|
-
|
|
98
|
+
/**
|
|
99
|
+
* Projects a materialized nonempty message batch into the channel-owned
|
|
100
|
+
* enriched shape without reading or advancing presentation state.
|
|
101
|
+
* @param input Resolved messages, identity, metadata, and context blocks.
|
|
102
|
+
* @returns The enriched inbound message shared by channel and harness turns.
|
|
103
|
+
*/
|
|
104
|
+
function projectEnrichedInboundMessage(input) {
|
|
105
|
+
const primary = input.messages[0];
|
|
106
|
+
const { message, senderName } = primary;
|
|
107
|
+
const coalesced = input.messages.map(coalescedMessageFrom);
|
|
97
108
|
return {
|
|
98
109
|
id: message.id,
|
|
99
110
|
conversationId: message.conversationId,
|
|
@@ -102,15 +113,75 @@ function buildEnrichedInboundMessage({ service, message, senderName, coalesced,
|
|
|
102
113
|
name: senderName,
|
|
103
114
|
},
|
|
104
115
|
text: formatCoalescedText(coalesced),
|
|
105
|
-
isFromMe:
|
|
116
|
+
isFromMe: input.ownAgentId !== undefined && message.senderId === input.ownAgentId,
|
|
106
117
|
createdAt: message.createdAt,
|
|
107
|
-
contextBlocks:
|
|
108
|
-
...(
|
|
109
|
-
? { conversationMeta:
|
|
118
|
+
contextBlocks: input.contextBlocks,
|
|
119
|
+
...(input.conversationMeta
|
|
120
|
+
? { conversationMeta: input.conversationMeta }
|
|
110
121
|
: {}),
|
|
111
122
|
...(coalesced.length > 1 ? { coalescedMessages: coalesced } : {}),
|
|
112
123
|
};
|
|
113
124
|
}
|
|
125
|
+
const agentNamesFrom = (agents) => new Map(agents.map((agent) => [agent.id, agent.name]));
|
|
126
|
+
const senderNameFrom = (names, senderId) => names.get(senderId) ?? senderId;
|
|
127
|
+
const harnessConversationMetaFrom = (conversation) => conversation === undefined
|
|
128
|
+
? undefined
|
|
129
|
+
: {
|
|
130
|
+
type: conversation.participants.length > 2 ? "group" : "dm",
|
|
131
|
+
...(conversation.name === undefined ? {} : { name: conversation.name }),
|
|
132
|
+
participants: conversation.participants.map((participant) => `agent:${participant}`),
|
|
133
|
+
};
|
|
134
|
+
const renderMessageText = (message) => message.parts.map(renderPart).join(" ");
|
|
135
|
+
const crossConversationMessagesFrom = (messages, conversations, agentNames) => messages.map((message) => {
|
|
136
|
+
const conversationName = conversations.get(message.conversationId)?.name;
|
|
137
|
+
return {
|
|
138
|
+
conversationId: message.conversationId,
|
|
139
|
+
...(conversationName === undefined ? {} : { conversationName }),
|
|
140
|
+
senderName: senderNameFrom(agentNames, message.senderId),
|
|
141
|
+
senderId: message.senderId,
|
|
142
|
+
text: renderMessageText(message),
|
|
143
|
+
timestamp: message.createdAt,
|
|
144
|
+
};
|
|
145
|
+
});
|
|
146
|
+
/**
|
|
147
|
+
* Projects MCP-reconstructed context into the channel-owned enriched shape.
|
|
148
|
+
* @param input Reconstructed messages plus resolved identity information.
|
|
149
|
+
* @param input.context Current and cross-conversation message context.
|
|
150
|
+
* @param input.agents Agent cards used for presentation names.
|
|
151
|
+
* @param input.ownAgentId Active identity used to mark self-authored content.
|
|
152
|
+
* @returns The enriched inbound message exposed by a harness turn.
|
|
153
|
+
*/
|
|
154
|
+
export const projectHarnessTurn = ({ context, agents, ownAgentId, }) => {
|
|
155
|
+
const agentNames = agentNamesFrom(agents);
|
|
156
|
+
const conversations = new Map(context.conversations.map((conversation) => [conversation.id, conversation]));
|
|
157
|
+
const [primary, ...remaining] = context.currentMessages;
|
|
158
|
+
const resolvedMessages = [
|
|
159
|
+
{
|
|
160
|
+
message: primary,
|
|
161
|
+
senderName: senderNameFrom(agentNames, primary.senderId),
|
|
162
|
+
},
|
|
163
|
+
...remaining.map((message) => ({
|
|
164
|
+
message,
|
|
165
|
+
senderName: senderNameFrom(agentNames, message.senderId),
|
|
166
|
+
})),
|
|
167
|
+
];
|
|
168
|
+
const conversationMeta = harnessConversationMetaFrom(conversations.get(primary.conversationId));
|
|
169
|
+
const crossConversationMessages = crossConversationMessagesFrom(context.crossConversationMessages, conversations, agentNames);
|
|
170
|
+
const contextBlocks = {
|
|
171
|
+
...(conversationMeta?.type === "group"
|
|
172
|
+
? { groupMetadata: conversationMeta }
|
|
173
|
+
: {}),
|
|
174
|
+
...(crossConversationMessages.length === 0
|
|
175
|
+
? {}
|
|
176
|
+
: { crossConversationMessages: [...crossConversationMessages] }),
|
|
177
|
+
};
|
|
178
|
+
return projectEnrichedInboundMessage({
|
|
179
|
+
messages: resolvedMessages,
|
|
180
|
+
ownAgentId,
|
|
181
|
+
...(conversationMeta === undefined ? {} : { conversationMeta }),
|
|
182
|
+
contextBlocks,
|
|
183
|
+
});
|
|
184
|
+
};
|
|
114
185
|
/**
|
|
115
186
|
* Executes the enrich channel message operation.
|
|
116
187
|
* @param service Value supplied to the operation.
|
|
@@ -123,16 +194,19 @@ export function enrichChannelMessage(service, messageOrMessages) {
|
|
|
123
194
|
const message =
|
|
124
195
|
/* Safe because the surrounding invariant establishes this asserted shape. */ messages[0];
|
|
125
196
|
const senderName = yield* resolveSenderName(service, message.senderId);
|
|
126
|
-
const
|
|
197
|
+
const resolvedMessages = yield* resolveInboundMessages(service, messages, senderName);
|
|
127
198
|
const conversationMeta = conversationMetaFrom(service.getConversation(message.conversationId));
|
|
128
199
|
const context = collectContextBlocks(service, message.conversationId, conversationMeta);
|
|
129
200
|
return {
|
|
130
|
-
enriched:
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
context
|
|
201
|
+
enriched: projectEnrichedInboundMessage({
|
|
202
|
+
messages: resolvedMessages,
|
|
203
|
+
...(service.ownAgentId === undefined
|
|
204
|
+
? {}
|
|
205
|
+
: { ownAgentId: service.ownAgentId }),
|
|
206
|
+
...(context.conversationMeta === undefined
|
|
207
|
+
? {}
|
|
208
|
+
: { conversationMeta: context.conversationMeta }),
|
|
209
|
+
contextBlocks: context.contextBlocks,
|
|
136
210
|
}),
|
|
137
211
|
...(context.commitContext
|
|
138
212
|
? { commitContext: context.commitContext }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel-core-enrichment.js","sourceRoot":"","sources":["../src/channel-core-enrichment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"channel-core-enrichment.js","sourceRoot":"","sources":["../src/channel-core-enrichment.ts"],"names":[],"mappings":"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"}
|
package/dist/channel-core.d.ts
CHANGED
|
@@ -9,8 +9,10 @@ import { Effect } from "effect";
|
|
|
9
9
|
import type { ConversationId } from "@moltzap/protocol/conversation";
|
|
10
10
|
import type { Message } from "@moltzap/protocol/message";
|
|
11
11
|
import type { CrossConversationEntry, CrossConvMessage, ServiceRpcError } from "./service.js";
|
|
12
|
+
/** Projects MCP-reconstructed context through the channel-owned presentation. */
|
|
13
|
+
export { projectHarnessTurn } from "./channel-core-enrichment.js";
|
|
12
14
|
/** Describes enriched sender. */
|
|
13
|
-
|
|
15
|
+
interface EnrichedSender {
|
|
14
16
|
id: string;
|
|
15
17
|
name: string;
|
|
16
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel-core.d.ts","sourceRoot":"","sources":["../src/channel-core.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAA0B,MAAM,EAAwB,MAAM,QAAQ,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EACV,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EAChB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"channel-core.d.ts","sourceRoot":"","sources":["../src/channel-core.ts"],"names":[],"mappings":"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"}
|
package/dist/channel-core.js
CHANGED
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { Cause, Chunk, Duration, Effect, Fiber, Option, Queue } from "effect";
|
|
9
9
|
import { enrichChannelMessage } from "./channel-core-enrichment.js";
|
|
10
|
+
/** Projects MCP-reconstructed context through the channel-owned presentation. */
|
|
11
|
+
export { projectHarnessTurn } from "./channel-core-enrichment.js";
|
|
10
12
|
function errorSummary(err) {
|
|
11
13
|
if (err instanceof Error) {
|
|
12
14
|
return {
|
package/dist/channel-core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel-core.js","sourceRoot":"","sources":["../src/channel-core.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAQ9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"channel-core.js","sourceRoot":"","sources":["../src/channel-core.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAQ9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,iFAAiF;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAsKlE,SAAS,YAAY,CAAC,GAAY;IAChC,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QACzB,OAAO;YACL,SAAS,EAAE,GAAG,CAAC,IAAI;YACnB,YAAY,EAAE,GAAG,CAAC,OAAO;YACzB,UAAU,EAAE,GAAG,CAAC,KAAK;SACtB,CAAC;IACJ,CAAC;IACD,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC;KACxB,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,OAAe,EACf,WAAoC;IAEpC,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,gBAAgB,CACvB,OAAe,EACf,WAAoC;IAEpC,OAAO,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,cAAc,CACrB,OAAe,EACf,WAAoC;IAEpC,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,gBAAgB,CAAC,MAA2B;IACnD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACzB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,OAAO,kBAAkB;IACZ,OAAO,CAAiB;IACxB,aAAa,CAAU;IACvB,kBAAkB,CAAsB;IACjD,SAAS,GAAG,KAAK,CAAC;IAC1B,2EAA2E;IAC3E,0EAA0E;IAC1E,kEAAkE;IAClE,wEAAwE;IACxE,2EAA2E;IAC3E,2EAA2E;IACnE,OAAO,GAAG,KAAK,CAAC;IAChB,cAAc,GAAoC,IAAI,CAAC;IAE/D;;;;OAIG;IACc,YAAY,GAAyB,MAAM,CAAC,OAAO,CAClE,KAAK,CAAC,SAAS,EAAW,CAC3B,CAAC;IACe,aAAa,CAA2B;IACxC,kBAAkB,GAAsB,EAAE,CAAC;IAE5D,YAAY,IAAwB;QAClC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAC1C,CAAC;QACD,IAAI,IAAI,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;YAC1C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC/C,IAAI,CAAC,2BAA2B,EAAE,CAAC;IACrC,CAAC;IAEO,uBAAuB;QAC7B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;YACzC,qEAAqE;YACrE,iEAAiE;YACjE,wEAAwE;YACxE,uEAAuE;YACvE,gEAAgE;YAChE,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;gBACjD,OAAO;YACT,CAAC;YACD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,kBAAkB;QACxB,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAC7B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAChC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CACzB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,CAC/B,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7B,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CACvC,CACF,CACF,CACF,CACF,CAAC;QACF,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAEO,iBAAiB,CACvB,OAAgB,EAChB,KAA2B;QAE3B,OAAO,cAAc,CAAC,4CAA4C,EAAE;YAClE,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YAChC,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACrC,CAAC,CAAC;IACL,CAAC;IAEO,2BAA2B;QACjC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;YACjC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,SAAS,CAAI,OAA0B;QACrC,IAAI,CAAC,cAAc,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;IACtD,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAI,OAA6B;QAC3C,IAAI,CAAC,cAAc,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IACjD,CAAC;IAED,YAAY,CAAC,OAAmB;QAC9B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAEO,MAAM,CAAC,QAAmC,EAAE,KAAa;QAC/D,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,CAAC,EAAE,CAAC;YACN,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,gBAAgB,CACd,cAAc,CAAC,uBAAuB,KAAK,gBAAgB,EAAE;oBAC3D,GAAG;oBACH,KAAK;iBACN,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,oEAAoE;QACpE,sEAAsE;QACtE,uEAAuE;QACvE,4DAA4D;QAC5D,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,MAAM,CAAC,UAAU,CACtB,iHAAiH,CAClH,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAChC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CACd,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC,CAAC,CACH,EACD,MAAM,CAAC,MAAM,CACd,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,UAAU;QACR,OAAO,MAAM,CAAC,GAAG,CACf,QAAQ,CAAC;YACP,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,kEAAkE;YAClE,gEAAgE;YAChE,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC3C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACrB,KAAK,CAAC,CAAC,YAAY,CAAC;gBACpB,OAAO;YACT,CAAC;YACD,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE;gBAC1C,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;QACL,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IACJ,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;;OAKG;IACH,SAAS,CACP,cAA8B,EAC9B,IAAY;QAEZ,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAEO,cAAc,CAAC,OAAgB;QACrC,OAAO,MAAM,CAAC,GAAG,CACf,QAAQ,CAAC;YACP,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,OAAO,CAAC,CAAC;YACxE,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC;YACvC,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACxB,OAAO;YACT,CAAC;YACD,IAAI,UAAU,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC9B,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;oBAC3C,OAAO;gBACT,CAAC;gBACD,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACpE,OAAO;YACT,CAAC;YACD,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAC/B,KAAK,CAAC,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAClE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBAC3C,OAAO;YACT,CAAC;YACD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAC5C,UAAU,CAAC,OAAO,EAClB,QAAQ,EACR,OAAO,CACR,CAAC;YACF,kEAAkE;YAClE,iEAAiE;YACjE,IAAI,SAAS,IAAI,aAAa,EAAE,CAAC;gBAC/B,aAAa,EAAE,CAAC;YAClB,CAAC;QACH,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,aAAa,CACnB,QAA4B;QAE5B,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAC5C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,MAAM,MAAM;QACV,uEAAuE,CAAC,QAAQ,CAC9E,QAAQ,CAAC,MAAM,GAAG,CAAC,CACnB,CAAC;QACL,sEAAsE;QACtE,wEAAwE;QACxE,gDAAgD;QAChD,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CACnD,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC1B,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAC9C,EACD,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE;QAC7B,qEAAqE;QACrE,sEAAsE;QACtE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC;YAC5B,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CACpE,CACF,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,sBAAsB,CAC5B,MAAe,EACf,QAAkC;QAElC,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,cAAc,CACnB,yDAAyD,EACzD;YACE,SAAS,EAAE,MAAM,CAAC,EAAE;YACpB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtE,CACF,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3B,CAAC;IAEO,qBAAqB,CAC3B,MAAe,EACf,KAA2B;QAE3B,OAAO,gBAAgB,CACrB,mEAAmE,EACnE;YACE,SAAS,EAAE,MAAM,CAAC,EAAE;YACpB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YAChC,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACrC,CACF,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,gBAAgB,CACtB,OAAmD,EACnD,KAAQ,EACR,OAAgB;QAEhB,0EAA0E;QAC1E,uEAAuE;QACvE,kEAAkE;QAClE,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC;QACrC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CACd,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAChD,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CACtB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;YACrB,CAAC,CAAC,gBAAgB,CACd,0DAA0D,EAC1D;gBACE,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,SAAS;aACV,CACF;YACH,CAAC,CAAC,MAAM,CAAC,IAAI,CAChB,EACD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAC1B,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,iCAAiC,CACvC,OAAgB;QAEhB,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACtB,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,CAClC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CACjD,CAAC;YACF,MAAM,gBAAgB,GAAc,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,SAAS,GAAc,EAAE,CAAC;YAChC,KAAK,MAAM,aAAa,IAAI,MAAM,EAAE,CAAC;gBACnC,IAAI,aAAa,CAAC,cAAc,KAAK,OAAO,CAAC,cAAc,EAAE,CAAC;oBAC5D,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACvC,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;YACD,KAAK,MAAM,gBAAgB,IAAI,SAAS,EAAE,CAAC;gBACzC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;YACzD,CAAC;YACD,OAAO,gBAAgB,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,aAAa,CAClB,OAAuB,EACvB,iBAA+C;QAK/C,OAAO,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAC1D,CAAC;CACF"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
2
|
import type { AgentId, AgentKey } from "@moltzap/protocol/identity";
|
|
3
3
|
import { type ServerBaseUrl as ServerBaseUrlType } from "@moltzap/protocol/network";
|
|
4
|
-
import { type ProfileInvalidNameError, ProfileNotFoundError } from "./profile.js";
|
|
4
|
+
import { ProfileNotRegisteredError, type ProfileInvalidNameError, ProfileNotFoundError } from "./profile.js";
|
|
5
5
|
/** Describes moltzap service config. */
|
|
6
6
|
export interface MoltzapServiceConfig {
|
|
7
7
|
readonly serverUrl: ServerBaseUrlType;
|
|
@@ -9,7 +9,7 @@ export interface MoltzapServiceConfig {
|
|
|
9
9
|
readonly agentId: AgentId;
|
|
10
10
|
}
|
|
11
11
|
/** Represents service config error conditions. */
|
|
12
|
-
export type ServiceConfigError = ConfigReadError | ProfileInvalidNameError | ProfileNotFoundError;
|
|
12
|
+
export type ServiceConfigError = ConfigReadError | ProfileInvalidNameError | ProfileNotFoundError | ProfileNotRegisteredError;
|
|
13
13
|
declare const ConfigReadError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
14
14
|
readonly _tag: "ConfigReadError";
|
|
15
15
|
} & Readonly<A>;
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,MAAM,EAAkB,MAAM,QAAQ,CAAC;AAC9E,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAIL,KAAK,aAAa,IAAI,iBAAiB,EACxC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAIL,KAAK,uBAAuB,EAC5B,oBAAoB,EACrB,MAAM,cAAc,CAAC;AAEtB,wCAAwC;AACxC,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAKD,kDAAkD;AAClD,MAAM,MAAM,kBAAkB,GAC1B,eAAe,GACf,uBAAuB,GACvB,oBAAoB,CAAC;;;;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,MAAM,EAAkB,MAAM,QAAQ,CAAC;AAC9E,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAIL,KAAK,aAAa,IAAI,iBAAiB,EACxC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAIL,yBAAyB,EAEzB,KAAK,uBAAuB,EAC5B,oBAAoB,EACrB,MAAM,cAAc,CAAC;AAEtB,wCAAwC;AACxC,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAKD,kDAAkD;AAClD,MAAM,MAAM,kBAAkB,GAC1B,eAAe,GACf,uBAAuB,GACvB,oBAAoB,GACpB,yBAAyB,CAAC;;;;AAE9B,cAAM,eAAgB,SAAQ,qBAAoC;IAChE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;CAAG;AA6BL,0EAA0E;AAC1E,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,eAAe,CAMxE,CAAC;AAEJ,yEAAyE;AACzE,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAClB,CAAC;AAE7C;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,gBACf,MAAM,KAClB,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,kBAAkB,CAsBV,CAAC"}
|
package/dist/config.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Config, ConfigProvider, Data, Effect, Option, Schema } from "effect";
|
|
2
2
|
import { httpBaseUrl, serverBaseUrl, serverBaseUrlSchema, } from "@moltzap/protocol/network";
|
|
3
|
-
import { loadLayeredConfig, parseProfileName, ProfileNotFoundError, } from "./profile.js";
|
|
3
|
+
import { isRegisteredProfile, loadLayeredConfig, parseProfileName, ProfileNotRegisteredError, ProfileNotFoundError, } from "./profile.js";
|
|
4
4
|
const DEFAULT_SERVER_URL = serverBaseUrl("wss://api.moltzap.xyz");
|
|
5
5
|
const SERVER_URL_ENV = "MOLTZAP_SERVER_URL";
|
|
6
6
|
class ConfigReadError extends Data.TaggedError("ConfigReadError") {
|
|
@@ -35,6 +35,12 @@ export const loadServiceConfig = (profileName) => Effect.gen(function* () {
|
|
|
35
35
|
if (profile === undefined) {
|
|
36
36
|
return yield* new ProfileNotFoundError({ name });
|
|
37
37
|
}
|
|
38
|
+
// A slot exists before Registry commit, so absent identity is a distinct
|
|
39
|
+
// state from an absent slot: the daemon serves registration in the first
|
|
40
|
+
// case and refuses to start in the second.
|
|
41
|
+
if (!isRegisteredProfile(profile)) {
|
|
42
|
+
return yield* new ProfileNotRegisteredError({ name });
|
|
43
|
+
}
|
|
38
44
|
const serverUrl = yield* getServerUrl;
|
|
39
45
|
return {
|
|
40
46
|
serverUrl,
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE9E,OAAO,EACL,WAAW,EACX,aAAa,EACb,mBAAmB,GAEpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,iBAAiB,EACjB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,12 @@ interface TestServiceConfig {
|
|
|
6
6
|
readonly serverUrl: string;
|
|
7
7
|
readonly profileName?: string;
|
|
8
8
|
readonly agentName?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Loopback port written into the slot. The daemon binds exactly this port
|
|
11
|
+
* and never selects its own, so a test that spawns one must reserve a free
|
|
12
|
+
* port and pass it here.
|
|
13
|
+
*/
|
|
14
|
+
readonly mcpPort?: number;
|
|
9
15
|
}
|
|
10
16
|
/**
|
|
11
17
|
* Executes the with test service config operation.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.test-utils.d.ts","sourceRoot":"","sources":["../src/config.test-utils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAY,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEpE,UAAU,iBAAiB;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"config.test-utils.d.ts","sourceRoot":"","sources":["../src/config.test-utils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAY,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEpE,UAAU,iBAAiB;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAUD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAC3C,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC7B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAwCxB"}
|
|
@@ -3,6 +3,9 @@ import { mkdtempSync, rmSync, writeFileSync } from "node:fs";
|
|
|
3
3
|
import { tmpdir } from "node:os";
|
|
4
4
|
import { join } from "node:path";
|
|
5
5
|
import { Effect, Redacted } from "effect";
|
|
6
|
+
// Slots require a port even when the test never starts a daemon; this value is
|
|
7
|
+
// deliberately never bound, so a test that does start one must supply its own.
|
|
8
|
+
const UNUSED_TEST_MCP_PORT = 1;
|
|
6
9
|
const ENV_SERVER_URL = "MOLTZAP_SERVER_URL";
|
|
7
10
|
const ENV_CONFIG_HOME = "MOLTZAP_CONFIG_HOME";
|
|
8
11
|
const CONFIG_FILE_NAME = "config.json";
|
|
@@ -25,9 +28,10 @@ export function withTestServiceConfig(config, effect) {
|
|
|
25
28
|
writeFileSync(join(configHome, CONFIG_FILE_NAME), JSON.stringify({
|
|
26
29
|
profiles: {
|
|
27
30
|
[config.profileName]: {
|
|
31
|
+
agentName: config.agentName ?? config.profileName,
|
|
32
|
+
mcpPort: config.mcpPort ?? UNUSED_TEST_MCP_PORT,
|
|
28
33
|
agentId: config.agentId,
|
|
29
34
|
apiKey: Redacted.value(config.agentKey),
|
|
30
|
-
agentName: config.agentName ?? config.profileName,
|
|
31
35
|
},
|
|
32
36
|
},
|
|
33
37
|
}, null, 2));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.test-utils.js","sourceRoot":"","sources":["../src/config.test-utils.ts"],"names":[],"mappings":"AAAA,yOAAyO;AACzO,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"config.test-utils.js","sourceRoot":"","sources":["../src/config.test-utils.ts"],"names":[],"mappings":"AAAA,yOAAyO;AACzO,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAiB1C,+EAA+E;AAC/E,+EAA+E;AAC/E,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAE/B,MAAM,cAAc,GAAG,oBAAoB,CAAC;AAC5C,MAAM,eAAe,GAAG,qBAAqB,CAAC;AAC9C,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAyB,EACzB,MAA8B;IAE9B,OAAO,MAAM,CAAC,iBAAiB,CAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;QACf,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACtD,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW;YACnC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,sBAAsB,CAAC,CAAC;YACrD,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC;QAC/C,IAAI,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC;YAC1C,aAAa,CACX,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,EAClC,IAAI,CAAC,SAAS,CACZ;gBACE,QAAQ,EAAE;oBACR,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;wBACpB,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,WAAW;wBACjD,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,oBAAoB;wBAC/C,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;qBACxC;iBACF;aACF,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;YAC9C,UAAU,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;YAChD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,CAAC,EACF,GAAG,EAAE,CAAC,MAAM,EACZ,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAClC,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,GAAW,EAAE,KAAc;IAC7C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,iRAAiR"}
|
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
import { Effect, Stream, type Scope } from "effect";
|
|
2
|
-
import type { ConversationId } from "@moltzap/protocol/conversation";
|
|
3
2
|
import { type HarnessTurnEvent } from "./runtime.js";
|
|
4
3
|
interface HarnessClientInternalOptions {
|
|
5
4
|
readonly url: string;
|
|
6
5
|
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Decoded live observation and its private reply authority.
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export interface HarnessTurnInternal {
|
|
11
|
+
readonly event: HarnessTurnEvent;
|
|
10
12
|
readonly reply: (payload: string) => Effect.Effect<void, Error>;
|
|
11
13
|
}
|
|
12
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Package-owned MCP session consumed by the public domain projection.
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
export interface HarnessClientInternalService {
|
|
19
|
+
readonly callTool: (name: string, input: Readonly<Record<string, unknown>>) => Effect.Effect<unknown, Error>;
|
|
13
20
|
readonly turns: Stream.Stream<HarnessTurnInternal, Error>;
|
|
14
21
|
}
|
|
15
22
|
/**
|
|
@@ -1 +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;
|
|
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;AAGjE,OAAO,EAQL,KAAK,gBAAgB,EACtB,MAAM,cAAc,CAAC;AAEtB,UAAU,4BAA4B;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;CACjE;AAED;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,QAAQ,EAAE,CACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KACrC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;CAC3D;AA8ID;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,YAC9B,4BAA4B,KACpC,MAAM,CAAC,MAAM,CAAC,4BAA4B,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAoDf,CAAC"}
|
|
@@ -14,6 +14,20 @@ const TURN_READY_FILTER = {
|
|
|
14
14
|
const unknownNotificationParams = fromJsonSchema({});
|
|
15
15
|
const asError = (cause) => cause instanceof Error ? cause : new Error(String(cause));
|
|
16
16
|
const closeQuietly = (close) => Effect.tryPromise({ try: close, catch: asError }).pipe(Effect.ignore);
|
|
17
|
+
const callStructuredTool = (client, name, input) => Effect.tryPromise({
|
|
18
|
+
try: (signal) => client.callTool({ name, arguments: { ...input } }, { signal }),
|
|
19
|
+
catch: asError,
|
|
20
|
+
}).pipe(Effect.flatMap((result) => {
|
|
21
|
+
if (result.isError === true) {
|
|
22
|
+
// eslint-disable-next-line agent-code-guard/effect-error-erasure -- The private MCP adapter normalizes untyped tool failures to the public client's existing Error contract.
|
|
23
|
+
return Effect.fail(new Error(`Harness MCP tool ${name} failed`));
|
|
24
|
+
}
|
|
25
|
+
if (result.structuredContent === undefined) {
|
|
26
|
+
// eslint-disable-next-line agent-code-guard/effect-error-erasure -- Missing structured content is an incompatible MCP response at the public client's existing Error boundary.
|
|
27
|
+
return Effect.fail(new Error(`Harness MCP tool ${name} returned no structured content`));
|
|
28
|
+
}
|
|
29
|
+
return Effect.succeed(result.structuredContent);
|
|
30
|
+
}));
|
|
17
31
|
const turnPayload = (params) => {
|
|
18
32
|
if (typeof params !== "object" || params === null || Array.isArray(params)) {
|
|
19
33
|
return params;
|
|
@@ -39,8 +53,7 @@ const callReply = (client, originatingConversationId, payload) => Effect.tryProm
|
|
|
39
53
|
const makeTurn = (client, event) => {
|
|
40
54
|
const originatingConversationId = harnessTurnConversationId(event);
|
|
41
55
|
return {
|
|
42
|
-
|
|
43
|
-
messages: event.messages,
|
|
56
|
+
event,
|
|
44
57
|
reply: (payload) => callReply(client, originatingConversationId, payload),
|
|
45
58
|
};
|
|
46
59
|
};
|
|
@@ -100,6 +113,7 @@ export const acquireHarnessClientInternal = (options) => Effect.gen(function* ()
|
|
|
100
113
|
Effect.acquireRelease(listen(client), (subscription) => closeQuietly(() => subscription.close())));
|
|
101
114
|
yield* Effect.forkScoped(observeSubscription(subscription, queue));
|
|
102
115
|
return {
|
|
116
|
+
callTool: (name, input) => callStructuredTool(client, name, input),
|
|
103
117
|
turns: Stream.fromQueue(queue).pipe(Stream.flattenTake),
|
|
104
118
|
};
|
|
105
119
|
}).pipe(Effect.withSpan("acquireHarnessClient"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-runtime.js","sourceRoot":"","sources":["../../src/harness/client-runtime.ts"],"names":[],"mappings":"AAAA,2MAA2M;AAC3M,OAAO,EACL,MAAM,EACN,cAAc,EACd,6BAA6B,GAI9B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAc,MAAM,QAAQ,CAAC;AACjE,OAAO,WAAW,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAEnE,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,kBAAkB,EAClB,yBAAyB,EACzB,+BAA+B,EAC/B,uBAAuB,EACvB,yBAAyB,GAE1B,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"client-runtime.js","sourceRoot":"","sources":["../../src/harness/client-runtime.ts"],"names":[],"mappings":"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"}
|