@moltzap/client 2026.811.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
package/dist/service.js
CHANGED
|
@@ -1,30 +1,19 @@
|
|
|
1
|
-
import { agentId as AgentIdSchema,
|
|
2
|
-
import {
|
|
3
|
-
import { messageReceivedNotificationDefinition,
|
|
1
|
+
import { agentId as AgentIdSchema, agentsList, } from "@moltzap/protocol/identity";
|
|
2
|
+
import { conversationCreatedNotificationDefinition, } from "@moltzap/protocol/conversation";
|
|
3
|
+
import { messageReceivedNotificationDefinition, messagesSend, } from "@moltzap/protocol/message";
|
|
4
4
|
import { NotConnectedError, isNotificationDeliveryFor, } from "@moltzap/protocol/rpc";
|
|
5
5
|
import { BoundedMap } from "./bounded-map.js";
|
|
6
|
-
import { Deferred, Effect, Exit,
|
|
6
|
+
import { Deferred, Effect, Exit, Option, Schema, Scope, Stream } from "effect";
|
|
7
7
|
import { MoltZapAgentClient } from "./agent-client.js";
|
|
8
8
|
import { loadServiceConfig, } from "./config.js";
|
|
9
|
-
import {
|
|
10
|
-
import { getMoltZapAgentServiceSocketPath, getMoltZapServiceSocketPath, } from "./local-paths.js";
|
|
11
|
-
import { makeLocalDaemonHandlers } from "./service-local-daemon.js";
|
|
12
|
-
import { startLocalSocketServer, stopLocalSocketServer, } from "./local-socket-server.js";
|
|
13
|
-
import { buildContextEntries, makeContextCandidate, newMessagesForConversation, notificationTraceRecord, } from "./service-helpers.js";
|
|
9
|
+
import { notificationTraceRecord } from "./notification/trace.js";
|
|
14
10
|
import { renderPart } from "./message-rendering.js";
|
|
15
|
-
import { formatHistoryMessage, lastReadIdsForSession, } from "./local-history.js";
|
|
16
11
|
import { appendClientEventTrace } from "./service-event-trace.js";
|
|
12
|
+
import { PresentationState, } from "./presentation/index.js";
|
|
17
13
|
const CROSS_CONTEXT_TEXT_LIMIT = 120;
|
|
18
|
-
const DEFAULT_MAX_CONTEXT_CONVERSATIONS = 5;
|
|
19
|
-
const DEFAULT_MAX_MESSAGES_PER_CONVERSATION = 3;
|
|
20
|
-
const HISTORY_LOOKUP_CONCURRENCY = 2;
|
|
21
14
|
const AGENT_LOOKUP_PAGE_SIZE = 100;
|
|
22
15
|
const AGENT_LOOKUP_MAX_PAGES = 20;
|
|
23
16
|
const decodeAgentId = Schema.decodeUnknownOption(AgentIdSchema);
|
|
24
|
-
const agentNotFound = (agentName) => new AgentNotFoundError({
|
|
25
|
-
message: `Agent not found: ${agentName}`,
|
|
26
|
-
data: { agentName },
|
|
27
|
-
});
|
|
28
17
|
/**
|
|
29
18
|
* Escape `<`, `>`, `&` so sender content can't escape a `<system-reminder>` block.
|
|
30
19
|
* @param s Value supplied to the operation.
|
|
@@ -58,12 +47,9 @@ function formatCrossConversationBlock(entries, opts) {
|
|
|
58
47
|
"</system-reminder>",
|
|
59
48
|
].join("\n");
|
|
60
49
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
* display windows — `conversations get` shows at most a few hundred.
|
|
65
|
-
*/
|
|
66
|
-
const MAX_MESSAGES_PER_CONV = 1000;
|
|
50
|
+
function renderMessageText(message) {
|
|
51
|
+
return message.parts.map(renderPart).join(" ");
|
|
52
|
+
}
|
|
67
53
|
/**
|
|
68
54
|
* Per-conversation dedup window. `BoundedMap` evicts the oldest message id
|
|
69
55
|
* when a new id arrives at capacity. 1000 × 36 bytes per UUID ≈ 36 KB per
|
|
@@ -109,12 +95,7 @@ export class MoltZapService {
|
|
|
109
95
|
* thread a `Scope` requirement.
|
|
110
96
|
*/
|
|
111
97
|
serviceScope = null;
|
|
112
|
-
|
|
113
|
-
messagesRef = Effect.runSync(Ref.make(HashMap.empty()));
|
|
114
|
-
agentNamesRef = Effect.runSync(Ref.make(HashMap.empty()));
|
|
115
|
-
agentConversationCacheRef = Effect.runSync(Ref.make(HashMap.empty()));
|
|
116
|
-
lastNotifiedRef = Effect.runSync(Ref.make(HashMap.empty()));
|
|
117
|
-
lastReadRef = Effect.runSync(Ref.make(HashMap.empty()));
|
|
98
|
+
presentationState = new PresentationState();
|
|
118
99
|
/**
|
|
119
100
|
* The branded outer and inner keys keep conversation and message ids from
|
|
120
101
|
* crossing accidentally while each conversation owns its eviction window.
|
|
@@ -139,14 +120,6 @@ export class MoltZapService {
|
|
|
139
120
|
static make(profileName) {
|
|
140
121
|
return loadServiceConfig(profileName).pipe(Effect.map((config) => MoltZapService.fromConfig(config)));
|
|
141
122
|
}
|
|
142
|
-
static startDaemon(profileName) {
|
|
143
|
-
return Effect.gen(function* () {
|
|
144
|
-
const service = yield* MoltZapService.make(profileName);
|
|
145
|
-
yield* service.connect();
|
|
146
|
-
yield* service.startSocketServer();
|
|
147
|
-
return service;
|
|
148
|
-
}).pipe(Effect.withSpan("MoltZapService.startDaemon"));
|
|
149
|
-
}
|
|
150
123
|
get connected() {
|
|
151
124
|
return this.connectedValue;
|
|
152
125
|
}
|
|
@@ -218,7 +191,6 @@ export class MoltZapService {
|
|
|
218
191
|
const shutdownCompletion = Effect.runSync(Deferred.make());
|
|
219
192
|
this.shutdownCompletion = shutdownCompletion;
|
|
220
193
|
this.connectedValue = false;
|
|
221
|
-
const stopSocketServer = this.stopSocketServer();
|
|
222
194
|
const scopeToClose = this.serviceScope;
|
|
223
195
|
const clientToClose = this.client;
|
|
224
196
|
this.serviceScope = null;
|
|
@@ -227,19 +199,14 @@ export class MoltZapService {
|
|
|
227
199
|
? Effect.void
|
|
228
200
|
: Scope.close(scopeToClose, Exit.void);
|
|
229
201
|
const closeClient = clientToClose === null ? Effect.void : clientToClose.close();
|
|
230
|
-
Effect.runSync(
|
|
231
|
-
Ref.set(this.conversationsRef, HashMap.empty()),
|
|
232
|
-
Ref.set(this.messagesRef, HashMap.empty()),
|
|
233
|
-
Ref.set(this.agentNamesRef, HashMap.empty()),
|
|
234
|
-
Ref.set(this.agentConversationCacheRef, HashMap.empty()),
|
|
235
|
-
Ref.set(this.lastNotifiedRef, HashMap.empty()),
|
|
236
|
-
Ref.set(this.lastReadRef, HashMap.empty()),
|
|
237
|
-
]));
|
|
202
|
+
Effect.runSync(this.presentationState.reset());
|
|
238
203
|
this.seenMessageIds.clear();
|
|
239
204
|
// Handlers are preserved across explicit close()/connect() cycles.
|
|
240
205
|
// MoltZapChannelCore subscribes once in its constructor; clearing handlers
|
|
241
206
|
// here would silently drop inbound dispatch after the next connect.
|
|
242
|
-
return Effect.uninterruptible(Effect.all([
|
|
207
|
+
return Effect.uninterruptible(Effect.all([closeScope.pipe(Effect.zipRight(closeClient))], {
|
|
208
|
+
discard: true,
|
|
209
|
+
}).pipe(Effect.ensuring(Deferred.succeed(shutdownCompletion, undefined).pipe(Effect.asVoid))));
|
|
243
210
|
}
|
|
244
211
|
/**
|
|
245
212
|
* Starts service teardown for callers that use the legacy synchronous
|
|
@@ -248,163 +215,21 @@ export class MoltZapService {
|
|
|
248
215
|
close() {
|
|
249
216
|
Effect.runFork(this.beginShutdown());
|
|
250
217
|
}
|
|
251
|
-
// --- Socket Server ---
|
|
252
|
-
socketServerScope = null;
|
|
253
|
-
activeSocketPath = null;
|
|
254
|
-
/** Default socket path for CLI discovery. Per-instance path uses agentId. */
|
|
255
|
-
static SOCKET_PATH = getMoltZapServiceSocketPath();
|
|
256
|
-
/**
|
|
257
|
-
* `agentId` is a server-assigned string. Treat it as untrusted: if a
|
|
258
|
-
* compromised or malicious server returns an id containing `..` or a
|
|
259
|
-
* path separator, a naive `path.join(... , agentId)` escapes `~/.moltzap`.
|
|
260
|
-
* Reject anything that isn't a safe identifier.
|
|
261
|
-
* @param id Value supplied to the operation.
|
|
262
|
-
* @returns The id result.
|
|
263
|
-
*/
|
|
264
|
-
static safeAgentIdSegment(id) {
|
|
265
|
-
return /^[A-Za-z0-9_-]+$/.test(id) ? id : "default";
|
|
266
|
-
}
|
|
267
|
-
/**
|
|
268
|
-
* Per-instance socket path based on connected agentId.
|
|
269
|
-
* @returns The id result.
|
|
270
|
-
*/
|
|
271
|
-
get socketPath() {
|
|
272
|
-
const id = MoltZapService.safeAgentIdSegment(this.ownAgentId ?? "default");
|
|
273
|
-
return getMoltZapAgentServiceSocketPath(id);
|
|
274
|
-
}
|
|
275
|
-
startSocketServer() {
|
|
276
|
-
return Effect.gen(function* () {
|
|
277
|
-
const previous = this.resetSocketServerState();
|
|
278
|
-
yield* stopLocalSocketServer({
|
|
279
|
-
socketScope: previous.socketScope,
|
|
280
|
-
socketPath: previous.sockPath,
|
|
281
|
-
defaultSocketPath: MoltZapService.SOCKET_PATH,
|
|
282
|
-
});
|
|
283
|
-
const running = yield* startLocalSocketServer({
|
|
284
|
-
socketPath: this.socketPath,
|
|
285
|
-
defaultSocketPath: MoltZapService.SOCKET_PATH,
|
|
286
|
-
handlers: this.localDaemonHandlers(),
|
|
287
|
-
});
|
|
288
|
-
this.socketServerScope = running.socketScope;
|
|
289
|
-
this.activeSocketPath = running.socketPath;
|
|
290
|
-
}.bind(this)).pipe(Effect.withSpan("MoltZapService.startSocketServer"));
|
|
291
|
-
}
|
|
292
|
-
resetSocketServerState() {
|
|
293
|
-
const socketScope = this.socketServerScope;
|
|
294
|
-
this.socketServerScope = null;
|
|
295
|
-
const sockPath = this.activeSocketPath ?? this.socketPath;
|
|
296
|
-
this.activeSocketPath = null;
|
|
297
|
-
return { socketScope, sockPath };
|
|
298
|
-
}
|
|
299
|
-
stopSocketServer() {
|
|
300
|
-
const { socketScope, sockPath } = this.resetSocketServerState();
|
|
301
|
-
return stopLocalSocketServer({
|
|
302
|
-
socketScope,
|
|
303
|
-
socketPath: sockPath,
|
|
304
|
-
defaultSocketPath: MoltZapService.SOCKET_PATH,
|
|
305
|
-
}).pipe(Effect.withSpan("MoltZapService.stopSocketServer"));
|
|
306
|
-
}
|
|
307
|
-
localDaemonHandlers() {
|
|
308
|
-
return makeLocalDaemonHandlers({
|
|
309
|
-
ownAgentId: this.ownAgentIdValue,
|
|
310
|
-
// A live thunk, not a snapshot: the handler table outlives connection
|
|
311
|
-
// cycles, and daemon/status must report the same liveness the MCP
|
|
312
|
-
// status tool reads.
|
|
313
|
-
connected: () => this.connectedValue,
|
|
314
|
-
conversationCount: () => this.getConversations().length,
|
|
315
|
-
call: this.call.bind(this),
|
|
316
|
-
handleHistoryRequest: (request) => this.handleHistoryRequest(request),
|
|
317
|
-
});
|
|
318
|
-
}
|
|
319
|
-
handleHistoryRequest(request) {
|
|
320
|
-
return Effect.gen(function* () {
|
|
321
|
-
const result = yield* this.call(messagesList.name, {
|
|
322
|
-
conversationId: request.conversationId,
|
|
323
|
-
limit: request.limit,
|
|
324
|
-
});
|
|
325
|
-
const convMeta = yield* this.loadHistorySupportData(request.conversationId, result.messages);
|
|
326
|
-
const agentNames = yield* Ref.get(this.agentNamesRef);
|
|
327
|
-
const lastReadMap = yield* Ref.get(this.lastReadRef);
|
|
328
|
-
const lastReadIds = lastReadIdsForSession(lastReadMap, request);
|
|
329
|
-
const messages = result.messages.map((message) => formatHistoryMessage(message, {
|
|
330
|
-
agentNames,
|
|
331
|
-
ownAgentId: this.ownAgentId,
|
|
332
|
-
lastReadIds,
|
|
333
|
-
hasSessionKey: request.sessionKey !== undefined,
|
|
334
|
-
}));
|
|
335
|
-
yield* this.advanceHistoryLastRead(request, result.messages);
|
|
336
|
-
return {
|
|
337
|
-
messages,
|
|
338
|
-
conversationMeta: convMeta,
|
|
339
|
-
newCount: messages.filter((message) => message.isNew).length,
|
|
340
|
-
};
|
|
341
|
-
}.bind(this));
|
|
342
|
-
}
|
|
343
|
-
loadHistorySupportData(convId, messages) {
|
|
344
|
-
return Effect.gen(function* () {
|
|
345
|
-
const [, convMeta] = yield* Effect.all([
|
|
346
|
-
this.refreshHistoryAgentNames(messages),
|
|
347
|
-
this.fetchHistoryConversationMeta(convId),
|
|
348
|
-
], {
|
|
349
|
-
concurrency: HISTORY_LOOKUP_CONCURRENCY,
|
|
350
|
-
});
|
|
351
|
-
return convMeta;
|
|
352
|
-
}.bind(this));
|
|
353
|
-
}
|
|
354
|
-
refreshHistoryAgentNames(messages) {
|
|
355
|
-
return Effect.gen(function* () {
|
|
356
|
-
const knownNames = yield* Ref.get(this.agentNamesRef);
|
|
357
|
-
const unknownAgentIds = [
|
|
358
|
-
...new Set(messages.map((message) => message.senderId)),
|
|
359
|
-
].filter((id) => !HashMap.has(knownNames, id));
|
|
360
|
-
if (unknownAgentIds.length === 0) {
|
|
361
|
-
return;
|
|
362
|
-
}
|
|
363
|
-
yield* this.cacheVisibleAgentNamesForIds(new Set(unknownAgentIds)).pipe(Effect.asVoid, Effect.catchAll(() => Effect.void));
|
|
364
|
-
}.bind(this));
|
|
365
|
-
}
|
|
366
|
-
fetchHistoryConversationMeta(convId) {
|
|
367
|
-
// The client filters `ConversationList` output for the matching
|
|
368
|
-
// conversation id (there is no per-conversation get RPC).
|
|
369
|
-
return this.call(conversationList.name, {}).pipe(Effect.map((result) => {
|
|
370
|
-
const hit = result.items.find((item) => item.conversation.id === convId);
|
|
371
|
-
return hit?.conversation;
|
|
372
|
-
}), Effect.orElseSucceed(() => undefined));
|
|
373
|
-
}
|
|
374
|
-
advanceHistoryLastRead(request, messages) {
|
|
375
|
-
if (request.sessionKey === undefined || messages.length === 0) {
|
|
376
|
-
return Effect.void;
|
|
377
|
-
}
|
|
378
|
-
const { conversationId, sessionKey } = request;
|
|
379
|
-
return Ref.update(this.lastReadRef, (outer) => {
|
|
380
|
-
const perSession = getOr(outer, sessionKey, () => HashMap.empty());
|
|
381
|
-
const existing = getOr(perSession, conversationId, () =>
|
|
382
|
-
/* Safe because the surrounding invariant establishes this asserted shape. */ new Set());
|
|
383
|
-
if (messages.every((message) => existing.has(message.id))) {
|
|
384
|
-
return outer;
|
|
385
|
-
}
|
|
386
|
-
const nextSet = new Set(existing);
|
|
387
|
-
for (const message of messages) {
|
|
388
|
-
nextSet.add(message.id);
|
|
389
|
-
}
|
|
390
|
-
return HashMap.set(outer, sessionKey, HashMap.set(perSession, conversationId, nextSet));
|
|
391
|
-
});
|
|
392
|
-
}
|
|
393
218
|
// --- Conversations ---
|
|
394
219
|
getConversation(convId) {
|
|
395
|
-
return
|
|
220
|
+
return this.presentationState.getConversation(convId);
|
|
396
221
|
}
|
|
397
222
|
getConversations() {
|
|
398
|
-
return
|
|
223
|
+
return this.presentationState.getConversations();
|
|
399
224
|
}
|
|
400
225
|
// --- Messages ---
|
|
401
226
|
getHistory(convId, limit) {
|
|
402
|
-
const
|
|
403
|
-
return
|
|
227
|
+
const historyLimit = limit ?? 0;
|
|
228
|
+
return this.presentationState.getHistory(convId, historyLimit);
|
|
404
229
|
}
|
|
405
230
|
// --- Agent Names ---
|
|
406
231
|
getAgentName(agentId) {
|
|
407
|
-
return
|
|
232
|
+
return this.presentationState.getAgentName(agentId);
|
|
408
233
|
}
|
|
409
234
|
/**
|
|
410
235
|
* Cache-first agent-name lookup. Never fails: falls back to `agentId`
|
|
@@ -420,12 +245,12 @@ export class MoltZapService {
|
|
|
420
245
|
if (decodedAgentId === undefined) {
|
|
421
246
|
return agentId;
|
|
422
247
|
}
|
|
423
|
-
const cached =
|
|
248
|
+
const cached = this.presentationState.getAgentName(agentId);
|
|
424
249
|
if (cached !== undefined) {
|
|
425
250
|
return cached;
|
|
426
251
|
}
|
|
427
252
|
return yield* this.cacheVisibleAgentNamesForIds(new Set([decodedAgentId])).pipe(Effect.map(() => {
|
|
428
|
-
const resolved =
|
|
253
|
+
const resolved = this.presentationState.getAgentName(agentId);
|
|
429
254
|
return resolved ?? agentId;
|
|
430
255
|
}), Effect.catchAll((err) => Effect.logWarning("agent/identity/agents/list failed; falling back to agentId").pipe(Effect.annotateLogs({ agentId, err: String(err) }), Effect.as(agentId))));
|
|
431
256
|
}.bind(this));
|
|
@@ -462,44 +287,8 @@ export class MoltZapService {
|
|
|
462
287
|
parts: [{ type: "text", text }],
|
|
463
288
|
}));
|
|
464
289
|
}
|
|
465
|
-
/**
|
|
466
|
-
* Send to a named agent, minting the DM conversation on first use and
|
|
467
|
-
* reusing it afterwards. The per-name cache is what makes the DM stable:
|
|
468
|
-
* `agent/conversation/create` mints a fresh conversation on every call.
|
|
469
|
-
* @param agentName Name of the agent to reach.
|
|
470
|
-
* @param text Text to process.
|
|
471
|
-
* @returns The send result.
|
|
472
|
-
*/
|
|
473
|
-
sendToAgent(agentName, text) {
|
|
474
|
-
return Effect.gen(function* () {
|
|
475
|
-
const cache = yield* Ref.get(this.agentConversationCacheRef);
|
|
476
|
-
let conversationId = Option.getOrUndefined(HashMap.get(cache, agentName));
|
|
477
|
-
if (conversationId === undefined) {
|
|
478
|
-
const agent = yield* this.findVisibleAgentByName(agentName);
|
|
479
|
-
if (!agent) {
|
|
480
|
-
return yield* agentNotFound(agentName);
|
|
481
|
-
}
|
|
482
|
-
const created = yield* this.call(agentConversationCreate.name, {
|
|
483
|
-
participants: [agent.id],
|
|
484
|
-
});
|
|
485
|
-
conversationId = created.conversation.id;
|
|
486
|
-
const cached = conversationId;
|
|
487
|
-
yield* Ref.update(this.agentConversationCacheRef, (m) => HashMap.set(m, agentName, cached));
|
|
488
|
-
}
|
|
489
|
-
yield* this.send(conversationId, text);
|
|
490
|
-
}.bind(this));
|
|
491
|
-
}
|
|
492
290
|
cacheAgentNames(agents) {
|
|
493
|
-
|
|
494
|
-
return Effect.void;
|
|
495
|
-
}
|
|
496
|
-
return Ref.update(this.agentNamesRef, (names) => {
|
|
497
|
-
let next = names;
|
|
498
|
-
for (const agent of agents) {
|
|
499
|
-
next = HashMap.set(next, agent.id, agent.name);
|
|
500
|
-
}
|
|
501
|
-
return next;
|
|
502
|
-
});
|
|
291
|
+
return this.presentationState.cacheAgentNames(agents);
|
|
503
292
|
}
|
|
504
293
|
agentListParams(cursor) {
|
|
505
294
|
return cursor === undefined
|
|
@@ -572,17 +361,8 @@ export class MoltZapService {
|
|
|
572
361
|
* @returns The max convs result.
|
|
573
362
|
*/
|
|
574
363
|
peekContextEntries(currentConvId, opts) {
|
|
575
|
-
const
|
|
576
|
-
|
|
577
|
-
const state = this.readCrossConvState(currentConvId);
|
|
578
|
-
const candidates = this.collectContextCandidates(state, currentConvId);
|
|
579
|
-
const { entries, pendingAdvances } = buildContextEntries(candidates.slice(0, maxConvs), state, maxMsgsPerConv);
|
|
580
|
-
return {
|
|
581
|
-
entries,
|
|
582
|
-
commit: () => {
|
|
583
|
-
this.advanceLastNotified(currentConvId, pendingAdvances);
|
|
584
|
-
},
|
|
585
|
-
};
|
|
364
|
+
const contextOptions = opts ?? {};
|
|
365
|
+
return this.presentationState.peekContextEntries(currentConvId, renderMessageText, contextOptions);
|
|
586
366
|
}
|
|
587
367
|
/**
|
|
588
368
|
* Return all new messages from all other conversations as full transcripts,
|
|
@@ -592,70 +372,7 @@ export class MoltZapService {
|
|
|
592
372
|
* @returns The all messages result.
|
|
593
373
|
*/
|
|
594
374
|
peekFullMessages(currentConvId) {
|
|
595
|
-
|
|
596
|
-
const allMessages = [];
|
|
597
|
-
const pendingAdvances = [];
|
|
598
|
-
for (const [convId, newMsgs] of this.iterNewMessagesByConv(messagesMap, viewMarkers, currentConvId)) {
|
|
599
|
-
const convName = Option.getOrUndefined(HashMap.get(conversationsMap, convId))?.name;
|
|
600
|
-
for (const m of newMsgs) {
|
|
601
|
-
allMessages.push({
|
|
602
|
-
conversationId: convId,
|
|
603
|
-
conversationName: convName,
|
|
604
|
-
senderName: getOr(agentNamesMap, m.senderId, () => m.senderId),
|
|
605
|
-
senderId: m.senderId,
|
|
606
|
-
text: m.parts.map(renderPart).join(" "),
|
|
607
|
-
timestamp: m.createdAt,
|
|
608
|
-
});
|
|
609
|
-
}
|
|
610
|
-
pendingAdvances.push([
|
|
611
|
-
convId,
|
|
612
|
-
/* Safe because the surrounding invariant establishes this asserted shape. */ newMsgs[newMsgs.length - 1].id,
|
|
613
|
-
]);
|
|
614
|
-
}
|
|
615
|
-
allMessages.sort((a, b) => a.timestamp.localeCompare(b.timestamp));
|
|
616
|
-
return {
|
|
617
|
-
messages: allMessages,
|
|
618
|
-
commit: () => {
|
|
619
|
-
this.advanceLastNotified(currentConvId, pendingAdvances);
|
|
620
|
-
},
|
|
621
|
-
};
|
|
622
|
-
}
|
|
623
|
-
readCrossConvState(currentConvId) {
|
|
624
|
-
const lastNotifiedMap = snapshot(this.lastNotifiedRef);
|
|
625
|
-
return {
|
|
626
|
-
messagesMap: snapshot(this.messagesRef),
|
|
627
|
-
conversationsMap: snapshot(this.conversationsRef),
|
|
628
|
-
agentNamesMap: snapshot(this.agentNamesRef),
|
|
629
|
-
viewMarkers: getOr(lastNotifiedMap, currentConvId, () => HashMap.empty()),
|
|
630
|
-
};
|
|
631
|
-
}
|
|
632
|
-
collectContextCandidates(state, currentConvId) {
|
|
633
|
-
const candidates = [];
|
|
634
|
-
for (const [convId, newMsgs] of this.iterNewMessagesByConv(state.messagesMap, state.viewMarkers, currentConvId)) {
|
|
635
|
-
candidates.push(makeContextCandidate(convId, newMsgs));
|
|
636
|
-
}
|
|
637
|
-
candidates.sort((a, b) => b.lastTs - a.lastTs);
|
|
638
|
-
return candidates;
|
|
639
|
-
}
|
|
640
|
-
*iterNewMessagesByConv(messagesMap, viewMarkers, currentConvId) {
|
|
641
|
-
for (const [convId, msgs] of messagesMap) {
|
|
642
|
-
const newMsgs = newMessagesForConversation(convId, msgs, viewMarkers, currentConvId);
|
|
643
|
-
if (newMsgs.length > 0) {
|
|
644
|
-
yield [convId, newMsgs];
|
|
645
|
-
}
|
|
646
|
-
}
|
|
647
|
-
}
|
|
648
|
-
advanceLastNotified(currentConvId, pendingAdvances) {
|
|
649
|
-
if (pendingAdvances.length === 0) {
|
|
650
|
-
return;
|
|
651
|
-
}
|
|
652
|
-
Effect.runSync(Ref.update(this.lastNotifiedRef, (outer) => {
|
|
653
|
-
let markers = getOr(outer, currentConvId, () => HashMap.empty());
|
|
654
|
-
for (const [convId, msgId] of pendingAdvances) {
|
|
655
|
-
markers = HashMap.set(markers, convId, msgId);
|
|
656
|
-
}
|
|
657
|
-
return HashMap.set(outer, currentConvId, markers);
|
|
658
|
-
}));
|
|
375
|
+
return this.presentationState.peekFullMessages(currentConvId, renderMessageText);
|
|
659
376
|
}
|
|
660
377
|
// --- Notifications ---
|
|
661
378
|
on(notification, handler) {
|
|
@@ -753,37 +470,16 @@ export class MoltZapService {
|
|
|
753
470
|
if (!this.recordMessageIdIfNew(convId, msg.id)) {
|
|
754
471
|
return;
|
|
755
472
|
}
|
|
756
|
-
this.storeMessage(msg);
|
|
473
|
+
this.presentationState.storeMessage(msg.conversationId, msg);
|
|
757
474
|
// Name resolution is driven lazily by channel-core's serialized consumer
|
|
758
|
-
// via resolveAgentName(), which populates
|
|
759
|
-
// hits
|
|
475
|
+
// via resolveAgentName(), which populates the presentation name cache on
|
|
476
|
+
// first miss and hits it on every subsequent message.
|
|
760
477
|
if (msg.senderId !== this.ownAgentIdValue) {
|
|
761
478
|
fanout(this.handlers.message, { message: msg });
|
|
762
479
|
}
|
|
763
480
|
}
|
|
764
481
|
handleConversationCreatedNotification(notification) {
|
|
765
|
-
|
|
766
|
-
Effect.runSync(Ref.update(this.conversationsRef, (m) => {
|
|
767
|
-
// The notification carries the full membership, this agent included,
|
|
768
|
-
// so anything past two members is a group.
|
|
769
|
-
const inferredType = participants.length <= 2 ? "dm" : "group";
|
|
770
|
-
return HashMap.set(m, conversationId, {
|
|
771
|
-
id: conversationId,
|
|
772
|
-
type: inferredType,
|
|
773
|
-
participants: participants.map((p) => `agent:${p}`),
|
|
774
|
-
...(name !== undefined ? { name } : {}),
|
|
775
|
-
});
|
|
776
|
-
}));
|
|
777
|
-
}
|
|
778
|
-
storeMessage(msg) {
|
|
779
|
-
Effect.runSync(Ref.update(this.messagesRef, (m) => {
|
|
780
|
-
const existing = getOr(m, msg.conversationId, () => []);
|
|
781
|
-
const appended = [...existing, msg];
|
|
782
|
-
const capped = appended.length > MAX_MESSAGES_PER_CONV
|
|
783
|
-
? appended.slice(-MAX_MESSAGES_PER_CONV)
|
|
784
|
-
: appended;
|
|
785
|
-
return HashMap.set(m, msg.conversationId, capped);
|
|
786
|
-
}));
|
|
482
|
+
this.presentationState.storeConversation(notification);
|
|
787
483
|
}
|
|
788
484
|
}
|
|
789
485
|
//# sourceMappingURL=service.js.map
|
package/dist/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -72,13 +72,11 @@ export declare class FakeMoltZapService extends MoltZapService {
|
|
|
72
72
|
*/
|
|
73
73
|
setAgentNameDirect(id: string, name: string): void;
|
|
74
74
|
/**
|
|
75
|
-
* Typed
|
|
76
|
-
*
|
|
77
|
-
* through the WebSocket pipeline.
|
|
78
|
-
* @returns The parent messages ref result.
|
|
75
|
+
* Typed view used to stage presentation state without WebSocket ingress.
|
|
76
|
+
* @returns Mutable state owner used only by the fixture's seeding helpers.
|
|
79
77
|
*/
|
|
78
|
+
private get parentPresentationState();
|
|
80
79
|
private get parentMessagesRef();
|
|
81
|
-
private get parentAgentNamesRef();
|
|
82
80
|
}
|
|
83
81
|
export {};
|
|
84
82
|
//# sourceMappingURL=fake-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fake-service.d.ts","sourceRoot":"","sources":["../../src/test-utils/fake-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,KAAK,EACV,kBAAkB,EAClB,6BAA6B,EAC7B,yBAAyB,EAC1B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,aAAa,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAwB,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"fake-service.d.ts","sourceRoot":"","sources":["../../src/test-utils/fake-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,KAAK,EACV,kBAAkB,EAClB,6BAA6B,EAC7B,yBAAyB,EAC1B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,aAAa,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAwB,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAMzD,KAAK,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACtE,KAAK,oBAAoB,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAQ1D,mCAAmC;AACnC,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB;AAED,wCAAwC;AACxC,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,KAAK,EAAE,YAAY,EAAE,CAAM;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;IAEjD,YACE,IAAI,GAAE;QACJ,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;QACpB,OAAO,CAAC,EAAE,OAAO,CAAC;KACd,EAOP;IAED;;;;OAIG;IACH,WAAW,CAAC,GAAG,SAAS,oBAAoB,EAC1C,UAAU,EAAE,OAAO,CAAC,6BAA6B,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAA;KAAE,CAAC,EAC1E,MAAM,EAAE,aAAa,CAAC,qBAAqB,EAAE,GAAG,CAAC,GAChD,IAAI,CAEN;IAED;;;OAGG;IACH,cAAc,CAAC,UAAU,EAAE,6BAA6B,GAAG,IAAI,CAE9D;IAEQ,IAAI,CAAC,GAAG,SAAS,oBAAoB,EAC5C,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,aAAa,CAAC,qBAAqB,EAAE,GAAG,CAAC,EAClD,IAAI,CAAC,EAAE,cAAc,GACpB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,qBAAqB,EAAE,GAAG,CAAC,EAAE,eAAe,CAAC,CAe3E;IAID;;;;;OAKG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,CAU7C;IAED;;;;OAIG;IACH,SAAS,CAAC,CAAC,SAAS,yBAAyB,EAC3C,UAAU,EAAE,CAAC,EACb,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC9B,IAAI,CAMN;IAED,gBAAgB,CACd,YAAY,EAAE,oBAAoB,CAAC,yBAAyB,CAAC,GAC5D,IAAI,CAEN;IAED;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAMjD;IAED;;;OAGG;IACH,OAAO,KAAK,uBAAuB,GAElC;IAED,OAAO,KAAK,iBAAiB,GAK5B;CACF"}
|
|
@@ -64,9 +64,9 @@ export class FakeMoltZapService extends MoltZapService {
|
|
|
64
64
|
* @param msg Value supplied to the operation.
|
|
65
65
|
*/
|
|
66
66
|
addMessage(convId, msg) {
|
|
67
|
-
Effect.runSync(Ref.update(this.parentMessagesRef, (
|
|
68
|
-
const existing = Option.getOrElse(HashMap.get(
|
|
69
|
-
return HashMap.set(
|
|
67
|
+
Effect.runSync(Ref.update(this.parentMessagesRef, (messages) => {
|
|
68
|
+
const existing = Option.getOrElse(HashMap.get(messages, convId), () => []);
|
|
69
|
+
return HashMap.set(messages, convId, [...existing, msg]);
|
|
70
70
|
}));
|
|
71
71
|
}
|
|
72
72
|
/**
|
|
@@ -90,19 +90,19 @@ export class FakeMoltZapService extends MoltZapService {
|
|
|
90
90
|
* @param name Name of the operation.
|
|
91
91
|
*/
|
|
92
92
|
setAgentNameDirect(id, name) {
|
|
93
|
-
Effect.runSync(
|
|
93
|
+
Effect.runSync(this.parentPresentationState.cacheAgentNames([
|
|
94
|
+
{ id: testAgentId(id), name },
|
|
95
|
+
]));
|
|
94
96
|
}
|
|
95
97
|
/**
|
|
96
|
-
* Typed
|
|
97
|
-
*
|
|
98
|
-
* through the WebSocket pipeline.
|
|
99
|
-
* @returns The parent messages ref result.
|
|
98
|
+
* Typed view used to stage presentation state without WebSocket ingress.
|
|
99
|
+
* @returns Mutable state owner used only by the fixture's seeding helpers.
|
|
100
100
|
*/
|
|
101
|
-
get
|
|
102
|
-
return Reflect.get(this, "
|
|
101
|
+
get parentPresentationState() {
|
|
102
|
+
return Reflect.get(this, "presentationState");
|
|
103
103
|
}
|
|
104
|
-
get
|
|
105
|
-
return Reflect.get(this, "
|
|
104
|
+
get parentMessagesRef() {
|
|
105
|
+
return /* Safe because PresentationState owns this initialized Ref and the fixture accesses it only to preserve its uncapped seeding behavior. */ Reflect.get(this.parentPresentationState, "messagesRef");
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
108
|
//# sourceMappingURL=fake-service.js.map
|