@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
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import * as KeyValueStore from "@effect/platform/KeyValueStore";
|
|
2
|
+
import { Effect, Option, Schema } from "effect";
|
|
3
|
+
import { conversationId, conversationSearch, } from "@moltzap/protocol/conversation";
|
|
4
|
+
import { agentsSearch } from "@moltzap/protocol/identity";
|
|
5
|
+
import { conversationCheckpoint, messagesRead, } from "@moltzap/protocol/message";
|
|
6
|
+
import { NonAdvancingCursorError } from "./pagination.js";
|
|
7
|
+
const checkpointMapSchema = Schema.Record({
|
|
8
|
+
key: conversationId,
|
|
9
|
+
value: conversationCheckpoint,
|
|
10
|
+
});
|
|
11
|
+
const repeatedCursor = (method) => new NonAdvancingCursorError({ method });
|
|
12
|
+
const acceptNextCursor = (seen, method, nextCursor) => {
|
|
13
|
+
if (nextCursor === undefined) {
|
|
14
|
+
return Effect.succeed(undefined);
|
|
15
|
+
}
|
|
16
|
+
if (seen.has(nextCursor)) {
|
|
17
|
+
return Effect.fail(repeatedCursor(method));
|
|
18
|
+
}
|
|
19
|
+
seen.add(nextCursor);
|
|
20
|
+
return Effect.succeed(nextCursor);
|
|
21
|
+
};
|
|
22
|
+
const drainAgentSearch = (readPlane) => Effect.gen(function* () {
|
|
23
|
+
const agents = [];
|
|
24
|
+
const seenCursors = new Set();
|
|
25
|
+
let cursor;
|
|
26
|
+
do {
|
|
27
|
+
const page = yield* readPlane.searchAgents(cursor === undefined ? {} : { cursor });
|
|
28
|
+
agents.push(...page.agents);
|
|
29
|
+
cursor = yield* acceptNextCursor(seenCursors, agentsSearch.name, page.nextCursor);
|
|
30
|
+
} while (cursor !== undefined);
|
|
31
|
+
return agents;
|
|
32
|
+
}).pipe(Effect.withSpan("HarnessContextProjection.searchAgents"));
|
|
33
|
+
const drainConversationSearch = (readPlane) => Effect.gen(function* () {
|
|
34
|
+
const conversations = [];
|
|
35
|
+
const seenCursors = new Set();
|
|
36
|
+
let cursor;
|
|
37
|
+
do {
|
|
38
|
+
const page = yield* readPlane.searchConversations(cursor === undefined ? {} : { cursor });
|
|
39
|
+
conversations.push(...page.conversations);
|
|
40
|
+
cursor = yield* acceptNextCursor(seenCursors, conversationSearch.name, page.nextCursor);
|
|
41
|
+
} while (cursor !== undefined);
|
|
42
|
+
return conversations;
|
|
43
|
+
}).pipe(Effect.withSpan("HarnessContextProjection.searchConversations"));
|
|
44
|
+
const drainConversationRead = (readPlane, conversationId, checkpoint) => Effect.gen(function* () {
|
|
45
|
+
const messages = [];
|
|
46
|
+
const seenCursors = new Set();
|
|
47
|
+
let cursor;
|
|
48
|
+
let nextCheckpoint;
|
|
49
|
+
do {
|
|
50
|
+
const page = yield* readPlane.readConversation(cursor === undefined
|
|
51
|
+
? {
|
|
52
|
+
conversationId,
|
|
53
|
+
...(checkpoint === undefined ? {} : { checkpoint }),
|
|
54
|
+
}
|
|
55
|
+
: { conversationId, cursor });
|
|
56
|
+
messages.push(...page.messages);
|
|
57
|
+
nextCheckpoint = page.checkpoint;
|
|
58
|
+
cursor = yield* acceptNextCursor(seenCursors, messagesRead.name, page.nextCursor);
|
|
59
|
+
} while (cursor !== undefined);
|
|
60
|
+
if (nextCheckpoint === undefined) {
|
|
61
|
+
return yield* Effect.dieMessage("read_conversation completed without a stable checkpoint");
|
|
62
|
+
}
|
|
63
|
+
return { conversationId, messages, checkpoint: nextCheckpoint };
|
|
64
|
+
}).pipe(Effect.withSpan("HarnessContextProjection.readConversation", {
|
|
65
|
+
attributes: { conversationId },
|
|
66
|
+
}));
|
|
67
|
+
/**
|
|
68
|
+
* Current content comes only from the live batch. Reading its conversation
|
|
69
|
+
* here could race ahead and attach a later message to the wrong reply turn.
|
|
70
|
+
* @param conversations Conversations visible to the active agent.
|
|
71
|
+
* @param targetConversationId Conversation carrying the live batch.
|
|
72
|
+
* @returns Conversation identifiers eligible for cross-context recovery.
|
|
73
|
+
*/
|
|
74
|
+
const sourceConversationIds = (conversations, targetConversationId) => conversations
|
|
75
|
+
.map((conversation) => conversation.id)
|
|
76
|
+
.filter((conversationId) => conversationId !== targetConversationId);
|
|
77
|
+
const chronologicalCrossMessages = (deltas, targetConversationId) => deltas
|
|
78
|
+
.filter((delta) => delta.conversationId !== targetConversationId)
|
|
79
|
+
.flatMap((delta) => delta.messages)
|
|
80
|
+
.sort((left, right) => left.createdAt.localeCompare(right.createdAt));
|
|
81
|
+
const checkpointMapAfter = (priorCheckpoints, deltas) => {
|
|
82
|
+
let nextCheckpoints = priorCheckpoints;
|
|
83
|
+
for (const delta of deltas) {
|
|
84
|
+
nextCheckpoints = {
|
|
85
|
+
...nextCheckpoints,
|
|
86
|
+
[delta.conversationId]: delta.checkpoint,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
return nextCheckpoints;
|
|
90
|
+
};
|
|
91
|
+
const contextFrom = (event, agents, conversations, deltas) => {
|
|
92
|
+
const conversationId = event.messages[0].conversationId;
|
|
93
|
+
return {
|
|
94
|
+
conversationId,
|
|
95
|
+
agents,
|
|
96
|
+
conversations,
|
|
97
|
+
currentMessages: event.messages,
|
|
98
|
+
crossConversationMessages: chronologicalCrossMessages(deltas, conversationId),
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* Reconstructs cross-conversation presentation deltas only when a live
|
|
103
|
+
* observation supplies current content and reply authority. The provided
|
|
104
|
+
* key-value store is scoped to one active agent; target ConversationIds key
|
|
105
|
+
* source-checkpoint maps within that scope.
|
|
106
|
+
*
|
|
107
|
+
* @param readPlane Typed MCP search and history readers.
|
|
108
|
+
* @param event Live production observation that permits one runtime turn.
|
|
109
|
+
* @returns Current and cross-conversation raw context for that observation.
|
|
110
|
+
*/
|
|
111
|
+
export const reconstructHarnessContext = (readPlane, event) => Effect.gen(function* () {
|
|
112
|
+
const targetConversationId = event.messages[0].conversationId;
|
|
113
|
+
const keyValueStore = yield* KeyValueStore.KeyValueStore;
|
|
114
|
+
const checkpoints = keyValueStore.forSchema(checkpointMapSchema);
|
|
115
|
+
const priorCheckpoints = Option.getOrElse(yield* checkpoints.get(targetConversationId), () => ({}));
|
|
116
|
+
const conversations = yield* drainConversationSearch(readPlane);
|
|
117
|
+
const deltas = yield* Effect.forEach(sourceConversationIds(conversations, targetConversationId), (sourceConversationId) => drainConversationRead(readPlane, sourceConversationId, priorCheckpoints[sourceConversationId]), { concurrency: 1 });
|
|
118
|
+
const agents = yield* drainAgentSearch(readPlane);
|
|
119
|
+
const context = contextFrom(event, agents, conversations, deltas);
|
|
120
|
+
yield* checkpoints.set(targetConversationId, checkpointMapAfter(priorCheckpoints, deltas));
|
|
121
|
+
return context;
|
|
122
|
+
}).pipe(Effect.withSpan("reconstructHarnessContext"));
|
|
123
|
+
//# sourceMappingURL=harness-context-projection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"harness-context-projection.js","sourceRoot":"","sources":["../src/harness-context-projection.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,7 @@ import { type Server as NodeHttpServer } from "node:http";
|
|
|
3
3
|
import { Effect, type Scope } from "effect";
|
|
4
4
|
interface HarnessMcpHttpServerOptions {
|
|
5
5
|
readonly port: number;
|
|
6
|
-
readonly
|
|
7
|
-
readonly harnessHandler: McpHttpHandler;
|
|
6
|
+
readonly handler: McpHttpHandler;
|
|
8
7
|
}
|
|
9
8
|
/**
|
|
10
9
|
* Acquires the guarded loopback HTTP server for one explicitly supplied port.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harness-mcp-server.d.ts","sourceRoot":"","sources":["../src/harness-mcp-server.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,EAGL,KAAK,MAAM,IAAI,cAAc,EAC9B,MAAM,WAAW,CAAC;AAEnB,OAAO,EAGL,MAAM,EAIN,KAAK,KAAK,EACX,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"harness-mcp-server.d.ts","sourceRoot":"","sources":["../src/harness-mcp-server.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,EAGL,KAAK,MAAM,IAAI,cAAc,EAC9B,MAAM,WAAW,CAAC;AAEnB,OAAO,EAGL,MAAM,EAIN,KAAK,KAAK,EACX,MAAM,QAAQ,CAAC;AAShB,UAAU,2BAA2B;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;CAClC;AAqQD;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,YAC7B,2BAA2B,KACnC,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CASF,CAAC"}
|
|
@@ -2,7 +2,6 @@ import { localhostHostValidation, localhostOriginValidation, toNodeHandler, } fr
|
|
|
2
2
|
// eslint-disable-next-line agent-code-guard/prefer-effect-platform -- The official MCP Node adapter supplies a Node RequestListener, so this package-private process boundary must host that exact interface.
|
|
3
3
|
import { createServer, } from "node:http";
|
|
4
4
|
import { Deferred, Duration, Effect, Exit, Fiber, Option, } from "effect";
|
|
5
|
-
const REGISTER_MCP_PATH = "/register/mcp";
|
|
6
5
|
const HARNESS_MCP_PATH = "/mcp";
|
|
7
6
|
const POST_METHOD = "POST";
|
|
8
7
|
const LOOPBACK_HOST = "127.0.0.1";
|
|
@@ -56,30 +55,25 @@ const makeResponseTracker = () => {
|
|
|
56
55
|
};
|
|
57
56
|
};
|
|
58
57
|
/**
|
|
59
|
-
* Routes the daemon's
|
|
58
|
+
* Routes the daemon's loopback MCP surface through one Node listener. Host and
|
|
59
|
+
* path are fixed: every profile slot is reachable at the same `/mcp` URL
|
|
60
|
+
* whether or not it has committed an identity.
|
|
60
61
|
*
|
|
61
|
-
* @param
|
|
62
|
-
* @
|
|
63
|
-
* @returns A guarded Node request listener for both handlers.
|
|
62
|
+
* @param handler Official SDK handler for the state-gated catalog.
|
|
63
|
+
* @returns A guarded Node request listener for that handler.
|
|
64
64
|
*/
|
|
65
|
-
const makeHarnessMcpRequestListener = (
|
|
65
|
+
const makeHarnessMcpRequestListener = (handler) => {
|
|
66
66
|
const validateHost = localhostHostValidation();
|
|
67
67
|
const validateOrigin = localhostOriginValidation();
|
|
68
|
-
const
|
|
69
|
-
const harnessNodeHandler = toNodeHandler(harnessHandler);
|
|
68
|
+
const nodeHandler = toNodeHandler(handler);
|
|
70
69
|
const responses = makeResponseTracker();
|
|
71
|
-
const handlers = new Map([
|
|
72
|
-
[REGISTER_MCP_PATH, registrationNodeHandler],
|
|
73
|
-
[HARNESS_MCP_PATH, harnessNodeHandler],
|
|
74
|
-
]);
|
|
75
70
|
const listener = (request, response) => {
|
|
76
71
|
if (!validateHost(request, response) ||
|
|
77
72
|
!validateOrigin(request, response)) {
|
|
78
73
|
return;
|
|
79
74
|
}
|
|
80
75
|
const pathname = new URL(request.url ?? "/", "http://localhost").pathname;
|
|
81
|
-
|
|
82
|
-
if (handler === undefined) {
|
|
76
|
+
if (pathname !== HARNESS_MCP_PATH) {
|
|
83
77
|
respond(404, "Not found.", response);
|
|
84
78
|
return;
|
|
85
79
|
}
|
|
@@ -87,7 +81,7 @@ const makeHarnessMcpRequestListener = (registrationHandler, harnessHandler) => {
|
|
|
87
81
|
respond(405, "Method not allowed.", response, { allow: POST_METHOD });
|
|
88
82
|
return;
|
|
89
83
|
}
|
|
90
|
-
responses.track(
|
|
84
|
+
responses.track(nodeHandler(request, response), response);
|
|
91
85
|
};
|
|
92
86
|
return {
|
|
93
87
|
listener,
|
|
@@ -110,7 +104,7 @@ const trackConnections = (server) => {
|
|
|
110
104
|
};
|
|
111
105
|
};
|
|
112
106
|
const listen = (options) => Effect.async((resume) => {
|
|
113
|
-
const requests = makeHarnessMcpRequestListener(options.
|
|
107
|
+
const requests = makeHarnessMcpRequestListener(options.handler);
|
|
114
108
|
const server = createServer(requests.listener);
|
|
115
109
|
const destroyConnections = trackConnections(server);
|
|
116
110
|
const onError = (error) => {
|
|
@@ -155,7 +149,7 @@ const closeHandler = (handler) => Effect.tryPromise({
|
|
|
155
149
|
try: () => handler.close(),
|
|
156
150
|
catch: (error) => error,
|
|
157
151
|
}).pipe(Effect.catchAll((error) => Effect.logWarning("Harness MCP handler close failed").pipe(Effect.annotateLogs({ error: String(error) }))), Effect.asVoid);
|
|
158
|
-
const closeHandlers = (options) =>
|
|
152
|
+
const closeHandlers = (options) => closeHandler(options.handler);
|
|
159
153
|
const release = (running, options) => Effect.gen(function* () {
|
|
160
154
|
const closeCompletion = yield* beginClose(running.server);
|
|
161
155
|
// Handler closure finishes the Web stream before the Node adapter drains
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harness-mcp-server.js","sourceRoot":"","sources":["../src/harness-mcp-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,uBAAuB,EACvB,yBAAyB,EACzB,aAAa,GACd,MAAM,4BAA4B,CAAC;AAEpC,8MAA8M;AAC9M,OAAO,EACL,YAAY,GAGb,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,KAAK,EACL,MAAM,GAEP,MAAM,QAAQ,CAAC;AAEhB,MAAM,
|
|
1
|
+
{"version":3,"file":"harness-mcp-server.js","sourceRoot":"","sources":["../src/harness-mcp-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +1,60 @@
|
|
|
1
|
-
import { type Implementation
|
|
1
|
+
import { type Implementation } from "@modelcontextprotocol/server";
|
|
2
2
|
import { Effect } from "effect";
|
|
3
|
-
import type
|
|
4
|
-
import {
|
|
3
|
+
import { conversationSearch, type ConversationId } from "@moltzap/protocol/conversation";
|
|
4
|
+
import { agentsSearch } from "@moltzap/protocol/identity";
|
|
5
|
+
import { messagesRead } from "@moltzap/protocol/message";
|
|
6
|
+
import type { ParamsOf, ResultOf, RpcDefinitionAny } from "@moltzap/protocol/rpc";
|
|
7
|
+
import { type HarnessRegisterInput, type HarnessRegisterResult, type HarnessSearchConversationsResult, type HarnessStartConversationInput, type HarnessStartConversationResult, type HarnessStatusInput, type HarnessStatusResult, type HarnessTurnEvent } from "./harness/index.js";
|
|
5
8
|
import { type HarnessMcpSubscriptionHandler } from "./harness-mcp-subscription.js";
|
|
6
|
-
|
|
7
|
-
type
|
|
9
|
+
type StatusPayload = HarnessStatusInput;
|
|
10
|
+
type StatusResult = HarnessStatusResult;
|
|
11
|
+
type StatusHandler = (payload: StatusPayload) => Effect.Effect<StatusResult>;
|
|
8
12
|
type ReplyHandler = (conversationId: ConversationId, payload: string) => Effect.Effect<void, unknown>;
|
|
9
|
-
|
|
10
|
-
|
|
13
|
+
type DescriptorHandler<D extends RpcDefinitionAny> = (payload: ParamsOf<D>) => Effect.Effect<ResultOf<D>, unknown>;
|
|
14
|
+
type SearchConversationsHandler = (payload: ParamsOf<typeof conversationSearch>) => Effect.Effect<HarnessSearchConversationsResult, unknown>;
|
|
15
|
+
type StartConversationHandler = (payload: HarnessStartConversationInput) => Effect.Effect<HarnessStartConversationResult, unknown>;
|
|
16
|
+
type RegisterHandler = (payload: HarnessRegisterInput) => Effect.Effect<HarnessRegisterResult, unknown>;
|
|
17
|
+
/** Everything the daemon can serve once its slot carries an identity. */
|
|
18
|
+
export interface HarnessActiveTools {
|
|
19
|
+
readonly readConversation: DescriptorHandler<typeof messagesRead>;
|
|
11
20
|
readonly reply: ReplyHandler;
|
|
21
|
+
readonly searchAgents: DescriptorHandler<typeof agentsSearch>;
|
|
22
|
+
readonly searchConversations: SearchConversationsHandler;
|
|
23
|
+
readonly startConversation: StartConversationHandler;
|
|
12
24
|
readonly status: StatusHandler;
|
|
13
25
|
}
|
|
14
26
|
/**
|
|
15
|
-
*
|
|
27
|
+
* Which catalog the single `/mcp` listener presents. A slot without a
|
|
28
|
+
* committed Registry identity has no service to call, so it offers only the
|
|
29
|
+
* operation that gives it one.
|
|
30
|
+
*/
|
|
31
|
+
export type HarnessDaemonPhase = {
|
|
32
|
+
readonly kind: "slot";
|
|
33
|
+
} | {
|
|
34
|
+
readonly kind: "active";
|
|
35
|
+
readonly tools: HarnessActiveTools;
|
|
36
|
+
};
|
|
37
|
+
interface HarnessMcpHandlerOptions {
|
|
38
|
+
readonly implementation: Implementation;
|
|
39
|
+
/**
|
|
40
|
+
* Read per request, not captured: the official SDK builds a fresh server for
|
|
41
|
+
* every HTTP exchange, so a `tools/list` after commit already sees the
|
|
42
|
+
* active catalog without the listener being rebuilt.
|
|
43
|
+
*/
|
|
44
|
+
readonly phase: () => HarnessDaemonPhase;
|
|
45
|
+
readonly register: RegisterHandler;
|
|
46
|
+
readonly slotStatus: StatusHandler;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Creates the daemon's single MCP handler, whose catalog follows slot state.
|
|
16
50
|
*
|
|
17
51
|
* @param options Existing daemon capabilities exposed through MCP.
|
|
18
52
|
* @param options.implementation Existing MCP server identity.
|
|
19
|
-
* @param options.
|
|
20
|
-
* @param options.
|
|
21
|
-
* @
|
|
53
|
+
* @param options.phase Current slot state, re-read on every request.
|
|
54
|
+
* @param options.register Registry commit handler for an identity-less slot.
|
|
55
|
+
* @param options.slotStatus Status handler reporting the uncommitted slot.
|
|
56
|
+
* @returns The one HTTP handler serving both catalog states.
|
|
22
57
|
*/
|
|
23
|
-
export declare const
|
|
24
|
-
readonly registration: McpHttpHandler;
|
|
25
|
-
readonly active: HarnessMcpSubscriptionHandler<HarnessTurnEvent>;
|
|
26
|
-
};
|
|
58
|
+
export declare const makeHarnessMcpHttpHandler: ({ implementation, phase, register, slotStatus, }: HarnessMcpHandlerOptions) => HarnessMcpSubscriptionHandler<HarnessTurnEvent>;
|
|
27
59
|
export {};
|
|
28
60
|
//# sourceMappingURL=harness-mcp-wire.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harness-mcp-wire.d.ts","sourceRoot":"","sources":["../src/harness-mcp-wire.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"harness-mcp-wire.d.ts","sourceRoot":"","sources":["../src/harness-mcp-wire.ts"],"names":[],"mappings":"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"}
|
package/dist/harness-mcp-wire.js
CHANGED
|
@@ -1,37 +1,79 @@
|
|
|
1
1
|
import { createMcpHandler, fromJsonSchema, McpServer, } from "@modelcontextprotocol/server";
|
|
2
|
-
import { Headers } from "@effect/platform";
|
|
3
|
-
import { Rpc } from "@effect/rpc";
|
|
4
2
|
import { Effect, JSONSchema } from "effect";
|
|
5
|
-
import {
|
|
3
|
+
import { conversationSearch, } from "@moltzap/protocol/conversation";
|
|
4
|
+
import { agentsSearch } from "@moltzap/protocol/identity";
|
|
5
|
+
import { messagesRead } from "@moltzap/protocol/message";
|
|
6
|
+
import { decodeHarnessReplyRoute, HARNESS_EVENTS_EXTENSION, HARNESS_READ_CONVERSATION_TOOL, HARNESS_REGISTER_TOOL, HARNESS_REPLY_TOOL, HARNESS_SEARCH_AGENTS_TOOL, HARNESS_SEARCH_CONVERSATIONS_TOOL, HARNESS_START_CONVERSATION_TOOL, HARNESS_STATUS_TOOL, harnessSearchConversationsResultJsonSchema, harnessRegisterInputJsonSchema, harnessRegisterResultJsonSchema, harnessReplyInputJsonSchema, harnessReplyResultJsonSchema, harnessStartConversationInputJsonSchema, harnessStartConversationResultJsonSchema, harnessStatusInputJsonSchema, harnessStatusResultJsonSchema, } from "./harness/index.js";
|
|
6
7
|
import { makeHarnessMcpSubscriptionHandler, } from "./harness-mcp-subscription.js";
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
const effectSchemaToMcpSchema = (schema) => fromJsonSchema(
|
|
9
|
+
/* Safe because Effect and MCP expose the same JSON Schema wire shape with different array mutability declarations. */ JSONSchema.make(schema, { target: "jsonSchema2020-12" }));
|
|
9
10
|
const statusInputSchema = fromJsonSchema(
|
|
10
|
-
/* Safe because Effect and MCP expose the same JSON Schema wire shape with different array mutability declarations. */
|
|
11
|
+
/* Safe because Effect and MCP expose the same JSON Schema wire shape with different array mutability declarations. */ harnessStatusInputJsonSchema);
|
|
11
12
|
const statusOutputSchema = fromJsonSchema(
|
|
12
|
-
/* Safe because Effect and MCP expose the same JSON Schema wire shape with different array mutability declarations. */
|
|
13
|
+
/* Safe because Effect and MCP expose the same JSON Schema wire shape with different array mutability declarations. */ harnessStatusResultJsonSchema);
|
|
13
14
|
const replyInputSchema = fromJsonSchema(
|
|
14
15
|
/* Safe because Effect and MCP expose the same JSON Schema wire shape with different array mutability declarations. */ harnessReplyInputJsonSchema);
|
|
15
16
|
const replyOutputSchema = fromJsonSchema(
|
|
16
17
|
/* Safe because Effect and MCP expose the same JSON Schema wire shape with different array mutability declarations. */ harnessReplyResultJsonSchema);
|
|
17
|
-
const
|
|
18
|
+
const searchConversationsOutputSchema = fromJsonSchema(
|
|
19
|
+
/* Safe because Effect and MCP expose the same JSON Schema wire shape with different array mutability declarations. */ harnessSearchConversationsResultJsonSchema);
|
|
20
|
+
const startConversationInputSchema = fromJsonSchema(
|
|
21
|
+
/* Safe because Effect and MCP expose the same JSON Schema wire shape with different array mutability declarations. */ harnessStartConversationInputJsonSchema);
|
|
22
|
+
const startConversationOutputSchema = fromJsonSchema(
|
|
23
|
+
/* Safe because Effect and MCP expose the same JSON Schema wire shape with different array mutability declarations. */ harnessStartConversationResultJsonSchema);
|
|
24
|
+
const registerInputSchema = fromJsonSchema(
|
|
25
|
+
/* Safe because Effect and MCP expose the same JSON Schema wire shape with different array mutability declarations. */ harnessRegisterInputJsonSchema);
|
|
26
|
+
const registerOutputSchema = fromJsonSchema(
|
|
27
|
+
/* Safe because Effect and MCP expose the same JSON Schema wire shape with different array mutability declarations. */ harnessRegisterResultJsonSchema);
|
|
28
|
+
const registerDescriptorTool = (server, toolName, definition, handler) => {
|
|
29
|
+
const inputSchema = effectSchemaToMcpSchema(definition.paramsSchema);
|
|
30
|
+
const outputSchema = effectSchemaToMcpSchema(definition.resultSchema);
|
|
31
|
+
server.registerTool(toolName, { inputSchema, outputSchema }, (payload, context) => Effect.runPromise(handler(payload).pipe(Effect.flatMap((result) => typeof result === "object" &&
|
|
32
|
+
result !== null &&
|
|
33
|
+
!Array.isArray(result)
|
|
34
|
+
? Effect.succeed({
|
|
35
|
+
content: [
|
|
36
|
+
{ type: "text", text: JSON.stringify(result) },
|
|
37
|
+
],
|
|
38
|
+
structuredContent: result,
|
|
39
|
+
})
|
|
40
|
+
: Effect.dieMessage(`MCP tool ${toolName} returned non-object structured content`))), { signal: context.mcpReq.signal }));
|
|
41
|
+
};
|
|
42
|
+
const registerSearchConversationsTool = (server, handler) => {
|
|
43
|
+
server.registerTool(HARNESS_SEARCH_CONVERSATIONS_TOOL, {
|
|
44
|
+
inputSchema: effectSchemaToMcpSchema(conversationSearch.paramsSchema),
|
|
45
|
+
outputSchema: searchConversationsOutputSchema,
|
|
46
|
+
}, (payload, context) => Effect.runPromise(handler(payload).pipe(Effect.map((result) => ({
|
|
47
|
+
content: [{ type: "text", text: JSON.stringify(result) }],
|
|
48
|
+
structuredContent: result,
|
|
49
|
+
}))), { signal: context.mcpReq.signal }));
|
|
50
|
+
};
|
|
51
|
+
const registerStartConversationTool = (server, handler) => {
|
|
52
|
+
server.registerTool(HARNESS_START_CONVERSATION_TOOL, {
|
|
53
|
+
inputSchema: startConversationInputSchema,
|
|
54
|
+
outputSchema: startConversationOutputSchema,
|
|
55
|
+
}, (payload, context) => Effect.runPromise(handler(payload).pipe(Effect.map((result) => ({
|
|
56
|
+
content: [{ type: "text", text: JSON.stringify(result) }],
|
|
57
|
+
structuredContent: result,
|
|
58
|
+
}))), { signal: context.mcpReq.signal }));
|
|
59
|
+
};
|
|
60
|
+
const registerRegisterTool = (server, register) => {
|
|
61
|
+
server.registerTool(HARNESS_REGISTER_TOOL, {
|
|
62
|
+
inputSchema: registerInputSchema,
|
|
63
|
+
outputSchema: registerOutputSchema,
|
|
64
|
+
}, (payload, context) => Effect.runPromise(register(payload).pipe(Effect.map((result) => ({
|
|
65
|
+
content: [{ type: "text", text: JSON.stringify(result) }],
|
|
66
|
+
structuredContent: result,
|
|
67
|
+
}))), { signal: context.mcpReq.signal }));
|
|
68
|
+
};
|
|
18
69
|
const registerStatusTool = (server, status) => {
|
|
19
|
-
server.registerTool(
|
|
70
|
+
server.registerTool(HARNESS_STATUS_TOOL, {
|
|
20
71
|
inputSchema: statusInputSchema,
|
|
21
72
|
outputSchema: statusOutputSchema,
|
|
22
|
-
}, (payload) => {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
});
|
|
27
|
-
const effect = Rpc.isWrapper(response) ? response.value : response;
|
|
28
|
-
const runnableEffect =
|
|
29
|
-
/* Safe because the local daemon handler closes over all services while HandlersFrom widens that known-empty environment to `any`. */ effect;
|
|
30
|
-
return Effect.runPromise(Effect.map(runnableEffect, (result) => ({
|
|
31
|
-
content: [{ type: "text", text: JSON.stringify(result) }],
|
|
32
|
-
structuredContent: result,
|
|
33
|
-
})));
|
|
34
|
-
});
|
|
73
|
+
}, (payload) => Effect.runPromise(Effect.map(status(payload), (result) => ({
|
|
74
|
+
content: [{ type: "text", text: JSON.stringify(result) }],
|
|
75
|
+
structuredContent: result,
|
|
76
|
+
}))));
|
|
35
77
|
};
|
|
36
78
|
const registerReplyTool = (server, reply) => {
|
|
37
79
|
server.registerTool(HARNESS_REPLY_TOOL, {
|
|
@@ -47,33 +89,47 @@ const registerReplyTool = (server, reply) => {
|
|
|
47
89
|
};
|
|
48
90
|
}), { signal: context.mcpReq.signal }));
|
|
49
91
|
};
|
|
50
|
-
const
|
|
92
|
+
const makeSlotServer = (implementation, register, slotStatus) => {
|
|
93
|
+
const server = new McpServer(implementation, {
|
|
94
|
+
capabilities: {
|
|
95
|
+
extensions: { [HARNESS_EVENTS_EXTENSION]: {} },
|
|
96
|
+
},
|
|
97
|
+
});
|
|
98
|
+
registerRegisterTool(server, register);
|
|
99
|
+
registerStatusTool(server, slotStatus);
|
|
100
|
+
return server;
|
|
101
|
+
};
|
|
102
|
+
const makeActiveServer = (implementation, { readConversation, reply, searchAgents, searchConversations, startConversation, status, }) => {
|
|
51
103
|
const server = new McpServer(implementation, {
|
|
52
104
|
capabilities: {
|
|
53
105
|
extensions: { [HARNESS_EVENTS_EXTENSION]: {} },
|
|
54
106
|
},
|
|
55
107
|
});
|
|
56
108
|
registerStatusTool(server, status);
|
|
109
|
+
registerDescriptorTool(server, HARNESS_SEARCH_AGENTS_TOOL, agentsSearch, searchAgents);
|
|
110
|
+
registerSearchConversationsTool(server, searchConversations);
|
|
111
|
+
registerStartConversationTool(server, startConversation);
|
|
112
|
+
registerDescriptorTool(server, HARNESS_READ_CONVERSATION_TOOL, messagesRead, readConversation);
|
|
57
113
|
registerReplyTool(server, reply);
|
|
58
114
|
return server;
|
|
59
115
|
};
|
|
60
116
|
/**
|
|
61
|
-
* Creates the
|
|
117
|
+
* Creates the daemon's single MCP handler, whose catalog follows slot state.
|
|
62
118
|
*
|
|
63
119
|
* @param options Existing daemon capabilities exposed through MCP.
|
|
64
120
|
* @param options.implementation Existing MCP server identity.
|
|
65
|
-
* @param options.
|
|
66
|
-
* @param options.
|
|
67
|
-
* @
|
|
121
|
+
* @param options.phase Current slot state, re-read on every request.
|
|
122
|
+
* @param options.register Registry commit handler for an identity-less slot.
|
|
123
|
+
* @param options.slotStatus Status handler reporting the uncommitted slot.
|
|
124
|
+
* @returns The one HTTP handler serving both catalog states.
|
|
68
125
|
*/
|
|
69
|
-
export const
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
};
|
|
126
|
+
export const makeHarnessMcpHttpHandler = ({ implementation, phase, register, slotStatus, }) => makeHarnessMcpSubscriptionHandler({
|
|
127
|
+
delegate: createMcpHandler(() => {
|
|
128
|
+
const current = phase();
|
|
129
|
+
return current.kind === "slot"
|
|
130
|
+
? makeSlotServer(implementation, register, slotStatus)
|
|
131
|
+
: makeActiveServer(implementation, current.tools);
|
|
132
|
+
}, { legacy: "reject" }),
|
|
133
|
+
implementation,
|
|
134
|
+
});
|
|
79
135
|
//# sourceMappingURL=harness-mcp-wire.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harness-mcp-wire.js","sourceRoot":"","sources":["../src/harness-mcp-wire.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,SAAS,
|
|
1
|
+
{"version":3,"file":"harness-mcp-wire.js","sourceRoot":"","sources":["../src/harness-mcp-wire.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,5 +5,7 @@ export { MoltZapService, type ConversationMeta, type ContextOptions, type Servic
|
|
|
5
5
|
/** Re-exports the public API from `./agent-client.js`. */
|
|
6
6
|
export { MoltZapAgentClient, type AgentClientOptions, type RpcCallOptions, } from "./agent-client.js";
|
|
7
7
|
/** Re-exports the adapter-facing daemon client capability. */
|
|
8
|
-
export { acquireHarnessClient, HarnessClient, makeHarnessClientLayer, type HarnessClientOptions, type HarnessClientService, type HarnessTurn, } from "./harness-client.js";
|
|
8
|
+
export { acquireHarnessClient, HarnessClient, makeHarnessClientLayer, type HarnessClientOptions, type HarnessClientService, type HarnessTurn, type ConversationWithParticipants, } from "./harness-client.js";
|
|
9
|
+
/** Re-exports the production composition of a slot's daemon and its client. */
|
|
10
|
+
export { acquireMoltzapdChild, harnessClientForProfile, type MoltzapdChild, type MoltzapdChildOptions, } from "./moltzapd-child.js";
|
|
9
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,cAAc,EACd,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,cAAc,CAAC;AACtB,0DAA0D;AAC1D,OAAO,EACL,kBAAkB,EAClB,KAAK,kBAAkB,EACvB,KAAK,cAAc,GACpB,MAAM,mBAAmB,CAAC;AAC3B,8DAA8D;AAC9D,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,cAAc,EACd,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,cAAc,CAAC;AACtB,0DAA0D;AAC1D,OAAO,EACL,kBAAkB,EAClB,KAAK,kBAAkB,EACvB,KAAK,cAAc,GACpB,MAAM,mBAAmB,CAAC;AAC3B,8DAA8D;AAC9D,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,4BAA4B,GAClC,MAAM,qBAAqB,CAAC;AAE7B,+EAA+E;AAC/E,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,KAAK,aAAa,EAClB,KAAK,oBAAoB,GAC1B,MAAM,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -6,4 +6,6 @@ export { MoltZapService, } from "./service.js";
|
|
|
6
6
|
export { MoltZapAgentClient, } from "./agent-client.js";
|
|
7
7
|
/** Re-exports the adapter-facing daemon client capability. */
|
|
8
8
|
export { acquireHarnessClient, HarnessClient, makeHarnessClientLayer, } from "./harness-client.js";
|
|
9
|
+
/** Re-exports the production composition of a slot's daemon and its client. */
|
|
10
|
+
export { acquireMoltzapdChild, harnessClientForProfile, } from "./moltzapd-child.js";
|
|
9
11
|
//# 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":"AAAA;;GAEG;AACH,OAAO,EACL,cAAc,GAIf,MAAM,cAAc,CAAC;AACtB,0DAA0D;AAC1D,OAAO,EACL,kBAAkB,GAGnB,MAAM,mBAAmB,CAAC;AAC3B,8DAA8D;AAC9D,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,sBAAsB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,cAAc,GAIf,MAAM,cAAc,CAAC;AACtB,0DAA0D;AAC1D,OAAO,EACL,kBAAkB,GAGnB,MAAM,mBAAmB,CAAC;AAC3B,8DAA8D;AAC9D,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,sBAAsB,GAKvB,MAAM,qBAAqB,CAAC;AAE7B,+EAA+E;AAC/E,OAAO,EACL,oBAAoB,EACpB,uBAAuB,GAGxB,MAAM,qBAAqB,CAAC"}
|
package/dist/local-paths.d.ts
CHANGED
|
@@ -8,15 +8,4 @@ export declare const getMoltZapConfigDir: () => string;
|
|
|
8
8
|
* @returns The get molt zap config path result.
|
|
9
9
|
*/
|
|
10
10
|
export declare const getMoltZapConfigPath: () => string;
|
|
11
|
-
/**
|
|
12
|
-
* Provides the get molt zap service socket path runtime value.
|
|
13
|
-
* @returns The get molt zap service socket path result.
|
|
14
|
-
*/
|
|
15
|
-
export declare const getMoltZapServiceSocketPath: () => string;
|
|
16
|
-
/**
|
|
17
|
-
* Provides the get molt zap agent service socket path runtime value.
|
|
18
|
-
* @param agentId Identifier of the agent targeted by the operation.
|
|
19
|
-
* @returns The get molt zap agent service socket path result.
|
|
20
|
-
*/
|
|
21
|
-
export declare const getMoltZapAgentServiceSocketPath: (agentId: string) => string;
|
|
22
11
|
//# sourceMappingURL=local-paths.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-paths.d.ts","sourceRoot":"","sources":["../src/local-paths.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"local-paths.d.ts","sourceRoot":"","sources":["../src/local-paths.ts"],"names":[],"mappings":"AA6BA;;;GAGG;AACH,eAAO,MAAM,mBAAmB,QAAO,MACK,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,oBAAoB,QAAO,MACgC,CAAC"}
|