@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.
Files changed (190) hide show
  1. package/dist/channel-base/index.d.ts +4 -4
  2. package/dist/channel-base/index.d.ts.map +1 -1
  3. package/dist/channel-base/index.js +6 -3
  4. package/dist/channel-base/index.js.map +1 -1
  5. package/dist/channel-core-enrichment.d.ts +24 -0
  6. package/dist/channel-core-enrichment.d.ts.map +1 -1
  7. package/dist/channel-core-enrichment.js +94 -20
  8. package/dist/channel-core-enrichment.js.map +1 -1
  9. package/dist/channel-core.d.ts +3 -1
  10. package/dist/channel-core.d.ts.map +1 -1
  11. package/dist/channel-core.js +2 -0
  12. package/dist/channel-core.js.map +1 -1
  13. package/dist/config.d.ts +2 -2
  14. package/dist/config.d.ts.map +1 -1
  15. package/dist/config.js +7 -1
  16. package/dist/config.js.map +1 -1
  17. package/dist/config.test-utils.d.ts +6 -0
  18. package/dist/config.test-utils.d.ts.map +1 -1
  19. package/dist/config.test-utils.js +5 -1
  20. package/dist/config.test-utils.js.map +1 -1
  21. package/dist/harness/client-runtime.d.ts +12 -5
  22. package/dist/harness/client-runtime.d.ts.map +1 -1
  23. package/dist/harness/client-runtime.js +16 -2
  24. package/dist/harness/client-runtime.js.map +1 -1
  25. package/dist/harness/index.d.ts +2 -2
  26. package/dist/harness/index.d.ts.map +1 -1
  27. package/dist/harness/index.js +2 -2
  28. package/dist/harness/index.js.map +1 -1
  29. package/dist/harness/runtime.d.ts +152 -0
  30. package/dist/harness/runtime.d.ts.map +1 -1
  31. package/dist/harness/runtime.js +99 -2
  32. package/dist/harness/runtime.js.map +1 -1
  33. package/dist/harness-client.d.ts +17 -13
  34. package/dist/harness-client.d.ts.map +1 -1
  35. package/dist/harness-client.js +59 -4
  36. package/dist/harness-client.js.map +1 -1
  37. package/dist/harness-context-projection.d.ts +35 -0
  38. package/dist/harness-context-projection.d.ts.map +1 -0
  39. package/dist/harness-context-projection.js +123 -0
  40. package/dist/harness-context-projection.js.map +1 -0
  41. package/dist/harness-mcp-server.d.ts +1 -2
  42. package/dist/harness-mcp-server.d.ts.map +1 -1
  43. package/dist/harness-mcp-server.js +11 -17
  44. package/dist/harness-mcp-server.js.map +1 -1
  45. package/dist/harness-mcp-wire.d.ts +47 -15
  46. package/dist/harness-mcp-wire.d.ts.map +1 -1
  47. package/dist/harness-mcp-wire.js +93 -37
  48. package/dist/harness-mcp-wire.js.map +1 -1
  49. package/dist/index.d.ts +3 -1
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +2 -0
  52. package/dist/index.js.map +1 -1
  53. package/dist/local-paths.d.ts +0 -11
  54. package/dist/local-paths.d.ts.map +1 -1
  55. package/dist/local-paths.js +0 -12
  56. package/dist/local-paths.js.map +1 -1
  57. package/dist/moltzapd-catalog.d.ts +35 -0
  58. package/dist/moltzapd-catalog.d.ts.map +1 -0
  59. package/dist/moltzapd-catalog.js +117 -0
  60. package/dist/moltzapd-catalog.js.map +1 -0
  61. package/dist/moltzapd-child-ipc.d.ts +26 -0
  62. package/dist/moltzapd-child-ipc.d.ts.map +1 -0
  63. package/dist/moltzapd-child-ipc.js +31 -0
  64. package/dist/moltzapd-child-ipc.js.map +1 -0
  65. package/dist/moltzapd-child.d.ts +55 -0
  66. package/dist/moltzapd-child.d.ts.map +1 -0
  67. package/dist/moltzapd-child.js +225 -0
  68. package/dist/moltzapd-child.js.map +1 -0
  69. package/dist/moltzapd-main.d.ts +3 -0
  70. package/dist/moltzapd-main.d.ts.map +1 -0
  71. package/dist/moltzapd-main.js +18 -0
  72. package/dist/moltzapd-main.js.map +1 -0
  73. package/dist/moltzapd-registration.d.ts +40 -0
  74. package/dist/moltzapd-registration.d.ts.map +1 -0
  75. package/dist/moltzapd-registration.js +59 -0
  76. package/dist/moltzapd-registration.js.map +1 -0
  77. package/dist/moltzapd.d.ts +56 -9
  78. package/dist/moltzapd.d.ts.map +1 -1
  79. package/dist/moltzapd.js +108 -36
  80. package/dist/moltzapd.js.map +1 -1
  81. package/dist/notification/trace.d.ts +10 -0
  82. package/dist/notification/trace.d.ts.map +1 -0
  83. package/dist/notification/trace.js +34 -0
  84. package/dist/notification/trace.js.map +1 -0
  85. package/dist/presentation/index.d.ts +3 -0
  86. package/dist/presentation/index.d.ts.map +1 -0
  87. package/dist/presentation/index.js +3 -0
  88. package/dist/presentation/index.js.map +1 -0
  89. package/dist/presentation/state.d.ts +77 -0
  90. package/dist/presentation/state.d.ts.map +1 -0
  91. package/dist/presentation/state.js +211 -0
  92. package/dist/presentation/state.js.map +1 -0
  93. package/dist/profile.d.ts +30 -28
  94. package/dist/profile.d.ts.map +1 -1
  95. package/dist/profile.js +28 -20
  96. package/dist/profile.js.map +1 -1
  97. package/dist/service.d.ts +8 -79
  98. package/dist/service.d.ts.map +1 -1
  99. package/dist/service.js +29 -333
  100. package/dist/service.js.map +1 -1
  101. package/dist/test-utils/fake-service.d.ts +3 -5
  102. package/dist/test-utils/fake-service.d.ts.map +1 -1
  103. package/dist/test-utils/fake-service.js +12 -12
  104. package/dist/test-utils/fake-service.js.map +1 -1
  105. package/dist/test-utils/index.d.ts +2 -0
  106. package/dist/test-utils/index.d.ts.map +1 -1
  107. package/dist/test-utils/index.js +2 -0
  108. package/dist/test-utils/index.js.map +1 -1
  109. package/dist/test-utils/process/reserve-port.d.ts +20 -0
  110. package/dist/test-utils/process/reserve-port.d.ts.map +1 -0
  111. package/dist/test-utils/process/reserve-port.js +41 -0
  112. package/dist/test-utils/process/reserve-port.js.map +1 -0
  113. package/dist/tsconfig.tsbuildinfo +1 -1
  114. package/package.json +32 -6
  115. package/dist/cli/adapters.d.ts +0 -21
  116. package/dist/cli/adapters.d.ts.map +0 -1
  117. package/dist/cli/adapters.js +0 -111
  118. package/dist/cli/adapters.js.map +0 -1
  119. package/dist/cli/commands/agents.d.ts +0 -11
  120. package/dist/cli/commands/agents.d.ts.map +0 -1
  121. package/dist/cli/commands/agents.js +0 -27
  122. package/dist/cli/commands/agents.js.map +0 -1
  123. package/dist/cli/commands/conversations.d.ts +0 -18
  124. package/dist/cli/commands/conversations.d.ts.map +0 -1
  125. package/dist/cli/commands/conversations.js +0 -33
  126. package/dist/cli/commands/conversations.js.map +0 -1
  127. package/dist/cli/commands/messages.d.ts +0 -41
  128. package/dist/cli/commands/messages.d.ts.map +0 -1
  129. package/dist/cli/commands/messages.js +0 -39
  130. package/dist/cli/commands/messages.js.map +0 -1
  131. package/dist/cli/commands/register.d.ts +0 -46
  132. package/dist/cli/commands/register.d.ts.map +0 -1
  133. package/dist/cli/commands/register.js +0 -103
  134. package/dist/cli/commands/register.js.map +0 -1
  135. package/dist/cli/commands/send.d.ts +0 -53
  136. package/dist/cli/commands/send.d.ts.map +0 -1
  137. package/dist/cli/commands/send.js +0 -57
  138. package/dist/cli/commands/send.js.map +0 -1
  139. package/dist/cli/commands/start.d.ts +0 -34
  140. package/dist/cli/commands/start.d.ts.map +0 -1
  141. package/dist/cli/commands/start.js +0 -59
  142. package/dist/cli/commands/start.js.map +0 -1
  143. package/dist/cli/commands/status.d.ts +0 -7
  144. package/dist/cli/commands/status.d.ts.map +0 -1
  145. package/dist/cli/commands/status.js +0 -16
  146. package/dist/cli/commands/status.js.map +0 -1
  147. package/dist/cli/commands/test-transport.d.ts +0 -28
  148. package/dist/cli/commands/test-transport.d.ts.map +0 -1
  149. package/dist/cli/commands/test-transport.js +0 -40
  150. package/dist/cli/commands/test-transport.js.map +0 -1
  151. package/dist/cli/index.d.ts +0 -3
  152. package/dist/cli/index.d.ts.map +0 -1
  153. package/dist/cli/index.js +0 -105
  154. package/dist/cli/index.js.map +0 -1
  155. package/dist/cli/output.d.ts +0 -14
  156. package/dist/cli/output.d.ts.map +0 -1
  157. package/dist/cli/output.js +0 -19
  158. package/dist/cli/output.js.map +0 -1
  159. package/dist/cli/socket-client.d.ts +0 -28
  160. package/dist/cli/socket-client.d.ts.map +0 -1
  161. package/dist/cli/socket-client.js +0 -63
  162. package/dist/cli/socket-client.js.map +0 -1
  163. package/dist/cli/transport.d.ts +0 -132
  164. package/dist/cli/transport.d.ts.map +0 -1
  165. package/dist/cli/transport.js +0 -127
  166. package/dist/cli/transport.js.map +0 -1
  167. package/dist/local-daemon-rpc.d.ts +0 -1170
  168. package/dist/local-daemon-rpc.d.ts.map +0 -1
  169. package/dist/local-daemon-rpc.js +0 -178
  170. package/dist/local-daemon-rpc.js.map +0 -1
  171. package/dist/local-history.d.ts +0 -75
  172. package/dist/local-history.d.ts.map +0 -1
  173. package/dist/local-history.js +0 -82
  174. package/dist/local-history.js.map +0 -1
  175. package/dist/local-socket-server.d.ts +0 -33
  176. package/dist/local-socket-server.d.ts.map +0 -1
  177. package/dist/local-socket-server.js +0 -100
  178. package/dist/local-socket-server.js.map +0 -1
  179. package/dist/refs.d.ts +0 -18
  180. package/dist/refs.d.ts.map +0 -1
  181. package/dist/refs.js +0 -18
  182. package/dist/refs.js.map +0 -1
  183. package/dist/service-helpers.d.ts +0 -55
  184. package/dist/service-helpers.d.ts.map +0 -1
  185. package/dist/service-helpers.js +0 -108
  186. package/dist/service-helpers.js.map +0 -1
  187. package/dist/service-local-daemon.d.ts +0 -32
  188. package/dist/service-local-daemon.d.ts.map +0 -1
  189. package/dist/service-local-daemon.js +0 -153
  190. package/dist/service-local-daemon.js.map +0 -1
@@ -0,0 +1,211 @@
1
+ import { Effect, HashMap, Option, Ref } from "effect";
2
+ const DEFAULT_MAX_CONTEXT_CONVERSATIONS = 5;
3
+ const DEFAULT_MAX_MESSAGES_PER_CONVERSATION = 3;
4
+ const MILLISECONDS_PER_MINUTE = 60_000;
5
+ const snapshot = (ref) => Effect.runSync(Ref.get(ref));
6
+ const getOr = (map, key, fallback) => Option.getOrElse(HashMap.get(map, key), fallback);
7
+ /**
8
+ * Per-conversation message cap. Older messages are evicted FIFO; the
9
+ * on-disk history remains the source of truth. Sized for typical CLI
10
+ * display windows — `conversations get` shows at most a few hundred.
11
+ */
12
+ const MAX_MESSAGES_PER_CONV = 1000;
13
+ function newMessagesForConversation(convId, messages, viewMarkers, currentConvId) {
14
+ if (convId === currentConvId || messages.length === 0) {
15
+ return [];
16
+ }
17
+ const lastSeenId = Option.getOrUndefined(HashMap.get(viewMarkers, convId));
18
+ const lastSeenIndex = lastSeenId !== undefined
19
+ ? messages.findIndex((message) => message.id === lastSeenId)
20
+ : -1;
21
+ return messages.slice(lastSeenIndex + 1);
22
+ }
23
+ function makeContextCandidate(convId, newMsgs) {
24
+ const last =
25
+ /* Safe because the surrounding invariant establishes this asserted shape. */ newMsgs[newMsgs.length - 1];
26
+ return {
27
+ convId,
28
+ newMsgs,
29
+ lastTs: new Date(last.createdAt).getTime(),
30
+ };
31
+ }
32
+ function minutesSince(timestamp) {
33
+ return Math.max(0, Math.round((Date.now() - new Date(timestamp).getTime()) / MILLISECONDS_PER_MINUTE));
34
+ }
35
+ function contextEntryForCandidate(candidate, state, maxMessagesPerConv, renderMessageText) {
36
+ const reportable = candidate.newMsgs.slice(-maxMessagesPerConv);
37
+ const last =
38
+ /* Safe because the surrounding invariant establishes this asserted shape. */ reportable[reportable.length - 1];
39
+ const senderName = getOr(state.agentNamesMap, last.senderId, () => last.senderId);
40
+ return {
41
+ entry: {
42
+ conversationId: candidate.convId,
43
+ conversationName: Option.getOrUndefined(HashMap.get(state.conversationsMap, candidate.convId))?.name,
44
+ senderName,
45
+ text: renderMessageText(last),
46
+ minutesAgo: minutesSince(last.createdAt),
47
+ count: reportable.length,
48
+ },
49
+ advance: [candidate.convId, last.id],
50
+ };
51
+ }
52
+ function buildContextEntries(candidates, state, maxMessagesPerConv, renderMessageText) {
53
+ const entries = [];
54
+ const pendingAdvances = [];
55
+ for (const candidate of candidates) {
56
+ const { entry, advance } = contextEntryForCandidate(candidate, state, maxMessagesPerConv, renderMessageText);
57
+ entries.push(entry);
58
+ pendingAdvances.push(advance);
59
+ }
60
+ return { entries, pendingAdvances };
61
+ }
62
+ /**
63
+ * Owns the service's in-memory presentation caches and viewer-scoped context
64
+ * markers. Network ingress and presentation rendering remain with the caller.
65
+ */
66
+ export class PresentationState {
67
+ conversationsRef = Effect.runSync(Ref.make(HashMap.empty()));
68
+ messagesRef = Effect.runSync(Ref.make(HashMap.empty()));
69
+ agentNamesRef = Effect.runSync(Ref.make(HashMap.empty()));
70
+ lastNotifiedRef = Effect.runSync(Ref.make(HashMap.empty()));
71
+ reset() {
72
+ return Effect.all([
73
+ Ref.set(this.conversationsRef, HashMap.empty()),
74
+ Ref.set(this.messagesRef, HashMap.empty()),
75
+ Ref.set(this.agentNamesRef, HashMap.empty()),
76
+ Ref.set(this.lastNotifiedRef, HashMap.empty()),
77
+ ], { discard: true });
78
+ }
79
+ getConversation(convId) {
80
+ return Option.getOrUndefined(HashMap.get(snapshot(this.conversationsRef), convId));
81
+ }
82
+ getConversations() {
83
+ return [...HashMap.values(snapshot(this.conversationsRef))];
84
+ }
85
+ storeConversation(notification) {
86
+ const { conversationId, name, participants } = notification;
87
+ Effect.runSync(Ref.update(this.conversationsRef, (conversations) => {
88
+ // The notification carries the full membership, this agent included,
89
+ // so anything past two members is a group.
90
+ const inferredType = participants.length <= 2 ? "dm" : "group";
91
+ return HashMap.set(conversations, conversationId, {
92
+ id: conversationId,
93
+ type: inferredType,
94
+ participants: participants.map((participant) => `agent:${participant}`),
95
+ ...(name !== undefined ? { name } : {}),
96
+ });
97
+ }));
98
+ }
99
+ getHistory(convId, limit) {
100
+ const messages = getOr(snapshot(this.messagesRef), convId, () => []);
101
+ return limit ? messages.slice(-limit) : [...messages];
102
+ }
103
+ storeMessage(conversationId, message) {
104
+ Effect.runSync(Ref.update(this.messagesRef, (messages) => {
105
+ const existing = getOr(messages, conversationId, () => []);
106
+ const appended = [...existing, message];
107
+ const capped = appended.length > MAX_MESSAGES_PER_CONV
108
+ ? appended.slice(-MAX_MESSAGES_PER_CONV)
109
+ : appended;
110
+ return HashMap.set(messages, conversationId, capped);
111
+ }));
112
+ }
113
+ getAgentName(agentId) {
114
+ return Option.getOrUndefined(HashMap.get(snapshot(this.agentNamesRef), agentId));
115
+ }
116
+ getAgentNames() {
117
+ return snapshot(this.agentNamesRef);
118
+ }
119
+ cacheAgentNames(agents) {
120
+ if (agents.length === 0) {
121
+ return Effect.void;
122
+ }
123
+ return Ref.update(this.agentNamesRef, (names) => {
124
+ let next = names;
125
+ for (const agent of agents) {
126
+ next = HashMap.set(next, agent.id, agent.name);
127
+ }
128
+ return next;
129
+ });
130
+ }
131
+ peekContextEntries(currentConvId, renderMessageText, opts) {
132
+ const maxConversations = opts?.maxConversations ?? DEFAULT_MAX_CONTEXT_CONVERSATIONS;
133
+ const maxMessagesPerConversation = opts?.maxMessagesPerConv ?? DEFAULT_MAX_MESSAGES_PER_CONVERSATION;
134
+ const state = this.readCrossConvState(currentConvId);
135
+ const candidates = this.collectContextCandidates(state, currentConvId);
136
+ const { entries, pendingAdvances } = buildContextEntries(candidates.slice(0, maxConversations), state, maxMessagesPerConversation, renderMessageText);
137
+ return {
138
+ entries,
139
+ commit: () => {
140
+ this.advanceLastNotified(currentConvId, pendingAdvances);
141
+ },
142
+ };
143
+ }
144
+ peekFullMessages(currentConvId, renderMessageText) {
145
+ const { messagesMap, conversationsMap, agentNamesMap, viewMarkers } = this.readCrossConvState(currentConvId);
146
+ const allMessages = [];
147
+ const pendingAdvances = [];
148
+ for (const [conversationId, newMessages] of this.iterNewMessagesByConv(messagesMap, viewMarkers, currentConvId)) {
149
+ const conversationName = Option.getOrUndefined(HashMap.get(conversationsMap, conversationId))?.name;
150
+ for (const message of newMessages) {
151
+ allMessages.push({
152
+ conversationId,
153
+ conversationName,
154
+ senderName: getOr(agentNamesMap, message.senderId, () => message.senderId),
155
+ senderId: message.senderId,
156
+ text: renderMessageText(message),
157
+ timestamp: message.createdAt,
158
+ });
159
+ }
160
+ pendingAdvances.push([
161
+ conversationId,
162
+ /* Safe because the surrounding invariant establishes this asserted shape. */ newMessages[newMessages.length - 1].id,
163
+ ]);
164
+ }
165
+ allMessages.sort((left, right) => left.timestamp.localeCompare(right.timestamp));
166
+ return {
167
+ messages: allMessages,
168
+ commit: () => {
169
+ this.advanceLastNotified(currentConvId, pendingAdvances);
170
+ },
171
+ };
172
+ }
173
+ readCrossConvState(currentConvId) {
174
+ const lastNotifiedMap = snapshot(this.lastNotifiedRef);
175
+ return {
176
+ messagesMap: snapshot(this.messagesRef),
177
+ conversationsMap: snapshot(this.conversationsRef),
178
+ agentNamesMap: snapshot(this.agentNamesRef),
179
+ viewMarkers: getOr(lastNotifiedMap, currentConvId, () => HashMap.empty()),
180
+ };
181
+ }
182
+ collectContextCandidates(state, currentConvId) {
183
+ const candidates = [];
184
+ for (const [conversationId, newMessages] of this.iterNewMessagesByConv(state.messagesMap, state.viewMarkers, currentConvId)) {
185
+ candidates.push(makeContextCandidate(conversationId, newMessages));
186
+ }
187
+ candidates.sort((left, right) => right.lastTs - left.lastTs);
188
+ return candidates;
189
+ }
190
+ *iterNewMessagesByConv(messagesMap, viewMarkers, currentConvId) {
191
+ for (const [conversationId, messages] of messagesMap) {
192
+ const newMessages = newMessagesForConversation(conversationId, messages, viewMarkers, currentConvId);
193
+ if (newMessages.length > 0) {
194
+ yield [conversationId, newMessages];
195
+ }
196
+ }
197
+ }
198
+ advanceLastNotified(currentConvId, pendingAdvances) {
199
+ if (pendingAdvances.length === 0) {
200
+ return;
201
+ }
202
+ Effect.runSync(Ref.update(this.lastNotifiedRef, (outer) => {
203
+ let markers = getOr(outer, currentConvId, () => HashMap.empty());
204
+ for (const [conversationId, messageId] of pendingAdvances) {
205
+ markers = HashMap.set(markers, conversationId, messageId);
206
+ }
207
+ return HashMap.set(outer, currentConvId, markers);
208
+ }));
209
+ }
210
+ }
211
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/presentation/state.ts"],"names":[],"mappings":"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"}
package/dist/profile.d.ts CHANGED
@@ -1,23 +1,35 @@
1
1
  import { Effect, Schema } from "effect";
2
2
  /** Validates and decodes profile name values. */
3
3
  export declare const profileName: Schema.brand<Schema.filter<typeof Schema.String>, "ProfileName">;
4
+ /** Branded profile name shared by slot lookup and daemon registration. */
5
+ export type ProfileName = Schema.Schema.Type<typeof profileName>;
4
6
  /**
5
- * Branded profile name shared by profile lookup and CLI registration.
7
+ * A slot exists before registration and carries no AgentId. Registry commit
8
+ * adds the identity pair, which is irreversible for that slot.
6
9
  */
7
- export type ProfileName = Schema.Schema.Type<typeof profileName>;
8
- declare const profileRecordSchema: Schema.Struct<{
9
- agentId: Schema.Schema<import("@moltzap/protocol/identity").AgentId, string, never>;
10
- apiKey: Schema.Schema<import("@moltzap/protocol/identity").AgentKey, string, never>;
10
+ declare const profileRecordSchema: Schema.filter<Schema.Struct<{
11
11
  agentName: typeof Schema.String;
12
- }>;
13
- /** One profile's persisted auth record. */
12
+ mcpPort: Schema.filter<Schema.filter<typeof Schema.Number>>;
13
+ agentId: Schema.optional<Schema.Schema<import("@moltzap/protocol/identity").AgentId, string, never>>;
14
+ apiKey: Schema.optional<Schema.Schema<import("@moltzap/protocol/identity").AgentKey, string, never>>;
15
+ }>>;
16
+ /** One profile's persisted slot, with its identity once Registry has committed. */
14
17
  export type ProfileRecord = Schema.Schema.Type<typeof profileRecordSchema>;
18
+ /** A slot whose Registry commit has happened, so it can authenticate. */
19
+ export interface RegisteredProfileRecord extends ProfileRecord {
20
+ readonly agentId: NonNullable<ProfileRecord["agentId"]>;
21
+ readonly apiKey: NonNullable<ProfileRecord["apiKey"]>;
22
+ }
23
+ /**
24
+ * Narrow a slot to its registered form.
25
+ * @param record Slot to inspect.
26
+ * @returns Whether Registry has committed an identity for the slot.
27
+ */
28
+ export declare const isRegisteredProfile: (record: ProfileRecord) => record is RegisteredProfileRecord;
15
29
  /** Named profile view of config.json. */
16
30
  export interface LayeredConfig {
17
31
  readonly profiles: ReadonlyMap<ProfileName, ProfileRecord>;
18
32
  }
19
- /** Exhaustive error union for the profile surface. */
20
- export type ProfileError = ProfileNotFoundError | ProfileInvalidNameError | ProfileConfigReadError | ProfileConfigWriteError;
21
33
  declare const ProfileNotFoundError_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 & {
22
34
  readonly _tag: "ProfileNotFoundError";
23
35
  } & Readonly<A>;
@@ -26,6 +38,14 @@ export declare class ProfileNotFoundError extends ProfileNotFoundError_base<{
26
38
  readonly name: string;
27
39
  }> {
28
40
  }
41
+ declare const ProfileNotRegisteredError_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 & {
42
+ readonly _tag: "ProfileNotRegisteredError";
43
+ } & Readonly<A>;
44
+ /** Reports a slot that exists but has no committed Registry identity. */
45
+ export declare class ProfileNotRegisteredError extends ProfileNotRegisteredError_base<{
46
+ readonly name: string;
47
+ }> {
48
+ }
29
49
  declare const ProfileInvalidNameError_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 & {
30
50
  readonly _tag: "ProfileInvalidNameError";
31
51
  } & Readonly<A>;
@@ -70,8 +90,7 @@ export declare const parseProfileName: (raw: string) => Effect.Effect<ProfileNam
70
90
  */
71
91
  export declare const loadLayeredConfig: Effect.Effect<LayeredConfig, ProfileConfigReadError>;
72
92
  /**
73
- * Resolve a named profile record. CLI transport selection uses only
74
- * `agentId`; daemon startup consumes the redacted `apiKey`.
93
+ * Resolve a named profile record for daemon startup or client acquisition.
75
94
  * @param name Name of the operation.
76
95
  * @returns The next profile file result.
77
96
  */
@@ -83,22 +102,5 @@ export declare const resolveProfileRecord: (name: ProfileName) => Effect.Effect<
83
102
  * @returns The write profile result.
84
103
  */
85
104
  export declare const writeProfile: (name: ProfileName, record: ProfileRecord) => Effect.Effect<void, ProfileConfigWriteError | ProfileConfigReadError>;
86
- /**
87
- * `--no-persist` contract for `moltzap register`: no file under
88
- * `$HOME/.moltzap/` is created or modified. Returns the record so the caller
89
- * can print it; does no I/O under that tree.
90
- *
91
- * The register command invokes either `writeProfile` (default) or
92
- * `emitNoPersist` (when the flag is set). The register handler never calls
93
- * both paths on the same invocation.
94
- *
95
- * The register command pipes the returned record through the printer,
96
- * which writes non-secret registration details to stdout.
97
- * @param record Value supplied to the operation.
98
- * @returns The emit no persist result.
99
- */
100
- export declare const emitNoPersist: (record: ProfileRecord) => Effect.Effect<{
101
- readonly record: ProfileRecord;
102
- }>;
103
105
  export {};
104
106
  //# sourceMappingURL=profile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"AAQA,OAAO,EAAQ,MAAM,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAC;AAkBtD,iDAAiD;AACjD,eAAO,MAAM,WAAW,kEAGvB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC,CAAC;AAEjE,QAAA,MAAM,mBAAmB;;;;EAIvB,CAAC;AAEH,2CAA2C;AAC3C,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAe3E,yCAAyC;AACzC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;CAC5D;AAID,sDAAsD;AACtD,MAAM,MAAM,YAAY,GACpB,oBAAoB,GACpB,uBAAuB,GACvB,sBAAsB,GACtB,uBAAuB,CAAC;;;;AAE5B,0CAA0C;AAC1C,qBAAa,oBAAqB,SAAQ,0BAExC;IACA,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;CAAG;;;;AAEL,6CAA6C;AAC7C,qBAAa,uBAAwB,SAAQ,6BAE3C;IACA,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;CAAG;;;;AAEL,4CAA4C;AAC5C,qBAAa,sBAAuB,SAAQ,4BAE1C;IACA,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB,CAAC;CAAG;;;;AAEL,6CAA6C;AAC7C,qBAAa,uBAAwB,SAAQ,6BAE3C;IACA,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB,CAAC;CAAG;AAIL;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,QACtB,MAAM,KACV,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,uBAAuB,CAWpD,CAAC;AAoEF;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAC3C,aAAa,EACb,sBAAsB,CAMqB,CAAC;AAE9C;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,SACzB,WAAW,KAChB,MAAM,CAAC,MAAM,CACd,aAAa,EACb,oBAAoB,GAAG,sBAAsB,CASG,CAAC;AAgEnD;;;;;GAKG;AACH,eAAO,MAAM,YAAY,SACjB,WAAW,UACT,aAAa,KACpB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,uBAAuB,GAAG,sBAAsB,CAI7B,CAAC;AAE3C;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,aAAa,WAChB,aAAa,KACpB,MAAM,CAAC,MAAM,CAAC;IAAE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;CAAE,CACvB,CAAC"}
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"AAQA,OAAO,EAAQ,MAAM,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAC;AAoBtD,iDAAiD;AACjD,eAAO,MAAM,WAAW,kEAGvB,CAAC;AAEF,0EAA0E;AAC1E,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC,CAAC;AAYjE;;;GAGG;AACH,QAAA,MAAM,mBAAmB;;;;;GAWxB,CAAC;AAEF,mFAAmF;AACnF,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAE3E,yEAAyE;AACzE,MAAM,WAAW,uBAAwB,SAAQ,aAAa;IAC5D,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;IACxD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;CACvD;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,WACtB,aAAa,KACpB,MAAM,IAAI,uBACgD,CAAC;AAe9D,yCAAyC;AACzC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;CAC5D;;;;AAID,0CAA0C;AAC1C,qBAAa,oBAAqB,SAAQ,0BAExC;IACA,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;CAAG;;;;AAEL,yEAAyE;AACzE,qBAAa,yBAA0B,SAAQ,+BAE7C;IACA,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;CAAG;;;;AAEL,6CAA6C;AAC7C,qBAAa,uBAAwB,SAAQ,6BAE3C;IACA,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;CAAG;;;;AAEL,4CAA4C;AAC5C,qBAAa,sBAAuB,SAAQ,4BAE1C;IACA,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB,CAAC;CAAG;;;;AAEL,6CAA6C;AAC7C,qBAAa,uBAAwB,SAAQ,6BAE3C;IACA,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB,CAAC;CAAG;AAIL;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,QACtB,MAAM,KACV,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,uBAAuB,CAWpD,CAAC;AAoEF;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAC3C,aAAa,EACb,sBAAsB,CAMqB,CAAC;AAE9C;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,SACzB,WAAW,KAChB,MAAM,CAAC,MAAM,CACd,aAAa,EACb,oBAAoB,GAAG,sBAAsB,CASG,CAAC;AAgEnD;;;;;GAKG;AACH,eAAO,MAAM,YAAY,SACjB,WAAW,UACT,aAAa,KACpB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,uBAAuB,GAAG,sBAAsB,CAI7B,CAAC"}
package/dist/profile.js CHANGED
@@ -13,6 +13,8 @@ import { getMoltZapConfigDir, getMoltZapConfigPath } from "./local-paths.js";
13
13
  const NAME_PATTERN = /^[a-z0-9][a-z0-9-]{1,30}[a-z0-9]$/;
14
14
  const PROFILE_NAME_REASON = "must be 3-32 chars, lowercase alphanumeric and hyphens, cannot start or end with a hyphen";
15
15
  const CONFIG_FILE_MODE = 0o600;
16
+ const MIN_TCP_PORT = 1;
17
+ const MAX_TCP_PORT = 65_535;
16
18
  const JSON_INDENT_SPACES = 2;
17
19
  const getConfigDir = getMoltZapConfigDir;
18
20
  const getConfigFilePathSync = getMoltZapConfigPath;
@@ -20,11 +22,29 @@ const STRICT_PARSE_OPTIONS = { onExcessProperty: "error" };
20
22
  // ─── Records ───────────────────────────────────────────────────────────────
21
23
  /** Validates and decodes profile name values. */
22
24
  export const profileName = Schema.String.pipe(Schema.pattern(NAME_PATTERN), Schema.brand("ProfileName"));
25
+ /**
26
+ * Loopback port the slot's daemon listens on. Operator-supplied and stable for
27
+ * the life of the slot: the daemon and every adapter derive the same MCP URL
28
+ * from it, so nothing discovers, allocates, or falls back to another port.
29
+ */
30
+ const mcpPort = Schema.Number.pipe(Schema.int(), Schema.between(MIN_TCP_PORT, MAX_TCP_PORT));
31
+ /**
32
+ * A slot exists before registration and carries no AgentId. Registry commit
33
+ * adds the identity pair, which is irreversible for that slot.
34
+ */
23
35
  const profileRecordSchema = Schema.Struct({
24
- agentId: agentId,
25
- apiKey: agentKey,
26
36
  agentName: Schema.String,
27
- });
37
+ mcpPort,
38
+ agentId: Schema.optional(agentId),
39
+ apiKey: Schema.optional(agentKey),
40
+ }).pipe(Schema.filter((record) => (record.agentId === undefined) === (record.apiKey === undefined) ||
41
+ "agentId and apiKey are written together at Registry commit"));
42
+ /**
43
+ * Narrow a slot to its registered form.
44
+ * @param record Slot to inspect.
45
+ * @returns Whether Registry has committed an identity for the slot.
46
+ */
47
+ export const isRegisteredProfile = (record) => record.agentId !== undefined && record.apiKey !== undefined;
28
48
  const profileMapSchema = Schema.Record({
29
49
  key: profileName,
30
50
  value: profileRecordSchema,
@@ -35,9 +55,13 @@ const profileFileSchema = Schema.Struct({
35
55
  const profileFileTextSchema = Schema.parseJson(profileFileSchema, {
36
56
  space: JSON_INDENT_SPACES,
37
57
  });
58
+ // ─── Errors ────────────────────────────────────────────────────────────────
38
59
  /** Reports profile not found failures. */
39
60
  export class ProfileNotFoundError extends Data.TaggedError("ProfileNotFoundError") {
40
61
  }
62
+ /** Reports a slot that exists but has no committed Registry identity. */
63
+ export class ProfileNotRegisteredError extends Data.TaggedError("ProfileNotRegisteredError") {
64
+ }
41
65
  /** Reports profile invalid name failures. */
42
66
  export class ProfileInvalidNameError extends Data.TaggedError("ProfileInvalidNameError") {
43
67
  }
@@ -100,8 +124,7 @@ export const loadLayeredConfig = Effect.gen(function* () {
100
124
  };
101
125
  }).pipe(Effect.withSpan("loadLayeredConfig"));
102
126
  /**
103
- * Resolve a named profile record. CLI transport selection uses only
104
- * `agentId`; daemon startup consumes the redacted `apiKey`.
127
+ * Resolve a named profile record for daemon startup or client acquisition.
105
128
  * @param name Name of the operation.
106
129
  * @returns The next profile file result.
107
130
  */
@@ -145,19 +168,4 @@ export const writeProfile = (name, record) => Effect.gen(function* () {
145
168
  const { file } = yield* readProfileFile();
146
169
  yield* writeProfileFile(nextProfileFile(file, name, record));
147
170
  }).pipe(Effect.withSpan("writeProfile"));
148
- /**
149
- * `--no-persist` contract for `moltzap register`: no file under
150
- * `$HOME/.moltzap/` is created or modified. Returns the record so the caller
151
- * can print it; does no I/O under that tree.
152
- *
153
- * The register command invokes either `writeProfile` (default) or
154
- * `emitNoPersist` (when the flag is set). The register handler never calls
155
- * both paths on the same invocation.
156
- *
157
- * The register command pipes the returned record through the printer,
158
- * which writes non-secret registration details to stdout.
159
- * @param record Value supplied to the operation.
160
- * @returns The emit no persist result.
161
- */
162
- export const emitNoPersist = (record) => Effect.succeed({ record });
163
171
  //# sourceMappingURL=profile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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"}
package/dist/service.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { AgentNotFoundError, type AgentId } from "@moltzap/protocol/identity";
1
+ import { type AgentId } from "@moltzap/protocol/identity";
2
2
  import type { HelloOk } from "@moltzap/protocol/network";
3
3
  import type { AnyAgentCallableRpcDefinition, AnyNotificationDefinition, agentCallableGroup } from "@moltzap/protocol/socket/catalog";
4
4
  import type { ClientDefinitionPayload, ClientDefinitionSuccess } from "@moltzap/protocol/socket";
@@ -9,6 +9,9 @@ import type { RpcGroup, Rpc } from "@effect/rpc";
9
9
  import { Effect } from "effect";
10
10
  import { type RpcCallOptions } from "./agent-client.js";
11
11
  import { type MoltzapServiceConfig, type ServiceConfigError } from "./config.js";
12
+ import { type ConversationMeta, type CrossConversationEntry, type CrossConvMessage } from "./presentation/index.js";
13
+ /** Presentation value types exposed alongside MoltZapService. */
14
+ export type { ConversationMeta, CrossConversationEntry, CrossConvMessage, } from "./presentation/index.js";
12
15
  /** The agent group's member `Rpc`s — the tag-keyed surface the service drives. */
13
16
  type AgentCallableRpcs = RpcGroup.Rpcs<typeof agentCallableGroup>;
14
17
  /** The branded wire tags the service may originate. */
@@ -16,34 +19,17 @@ type AgentCallableTag = AgentCallableRpcs["_tag"];
16
19
  /**
17
20
  * Errors that can surface from the Effect-based service API: any tagged error
18
21
  * an agent-callable method declares (recovered from the group's per-method
19
- * error unions) plus the transport errors. Methods that fan multiple calls
20
- * (e.g. `sendToAgent`) surface this broad union; a single-method call narrows
21
- * to that method's errors at the `call` site.
22
+ * error unions) plus the transport errors. A method that fans several calls
23
+ * surfaces this broad union; a single-method call narrows to that method's
24
+ * errors at the `call` site.
22
25
  */
23
26
  export type ServiceRpcError = Rpc.Error<AgentCallableRpcs> | RpcTimeoutError | NotConnectedError;
24
- /** Describes conversation meta. */
25
- export interface ConversationMeta {
26
- id: string;
27
- type: string;
28
- name?: string;
29
- participants: string[];
30
- }
31
27
  /** Configures context. */
32
28
  export interface ContextOptions {
33
29
  type: "cross-conversation";
34
30
  maxConversations?: number;
35
31
  maxMessagesPerConv?: number;
36
32
  }
37
- /** Structured summary of recent activity in one other conversation. */
38
- export interface CrossConversationEntry {
39
- conversationId: string;
40
- conversationName?: string;
41
- senderName: string;
42
- text: string;
43
- minutesAgo: number;
44
- /** Messages in this summary (capped by maxMessagesPerConv). */
45
- count: number;
46
- }
47
33
  /**
48
34
  * Escape `&lt;`, `>`, `&amp;` so sender content can't escape a `&lt;system-reminder>` block.
49
35
  * @param s Value supplied to the operation.
@@ -67,15 +53,6 @@ interface ServiceHandlerPayloads {
67
53
  readonly disconnect: undefined;
68
54
  }
69
55
  type ServiceHandlerName = keyof ServiceHandlerPayloads;
70
- /** Full message from another conversation, used by peekFullMessages(). */
71
- export interface CrossConvMessage {
72
- conversationId: string;
73
- conversationName?: string;
74
- senderName: string;
75
- senderId: string;
76
- text: string;
77
- timestamp: string;
78
- }
79
56
  /**
80
57
  * Stateful MoltZap client that manages connection, conversation tracking,
81
58
  * agent name resolution, and cross-conversation context generation.
@@ -98,12 +75,7 @@ export declare class MoltZapService {
98
75
  * thread a `Scope` requirement.
99
76
  */
100
77
  private serviceScope;
101
- private readonly conversationsRef;
102
- private readonly messagesRef;
103
- private readonly agentNamesRef;
104
- private readonly agentConversationCacheRef;
105
- private readonly lastNotifiedRef;
106
- private readonly lastReadRef;
78
+ private readonly presentationState;
107
79
  /**
108
80
  * The branded outer and inner keys keep conversation and message ids from
109
81
  * crossing accidentally while each conversation owns its eviction window.
@@ -115,7 +87,6 @@ export declare class MoltZapService {
115
87
  protected constructor(opts: ServiceOptions);
116
88
  static fromConfig(config: MoltzapServiceConfig): MoltZapService;
117
89
  static make(profileName: string): Effect.Effect<MoltZapService, ServiceConfigError>;
118
- static startDaemon(profileName: string): Effect.Effect<MoltZapService, unknown>;
119
90
  get connected(): boolean;
120
91
  get ownAgentId(): AgentId | undefined;
121
92
  /**
@@ -137,33 +108,6 @@ export declare class MoltZapService {
137
108
  * lifecycle boundary.
138
109
  */
139
110
  close(): void;
140
- private socketServerScope;
141
- private activeSocketPath;
142
- /** Default socket path for CLI discovery. Per-instance path uses agentId. */
143
- static readonly SOCKET_PATH: string;
144
- /**
145
- * `agentId` is a server-assigned string. Treat it as untrusted: if a
146
- * compromised or malicious server returns an id containing `..` or a
147
- * path separator, a naive `path.join(... , agentId)` escapes `~/.moltzap`.
148
- * Reject anything that isn't a safe identifier.
149
- * @param id Value supplied to the operation.
150
- * @returns The id result.
151
- */
152
- private static safeAgentIdSegment;
153
- /**
154
- * Per-instance socket path based on connected agentId.
155
- * @returns The id result.
156
- */
157
- get socketPath(): string;
158
- startSocketServer(): Effect.Effect<void, unknown>;
159
- private resetSocketServerState;
160
- private stopSocketServer;
161
- private localDaemonHandlers;
162
- private handleHistoryRequest;
163
- private loadHistorySupportData;
164
- private refreshHistoryAgentNames;
165
- private fetchHistoryConversationMeta;
166
- private advanceHistoryLastRead;
167
111
  getConversation(convId: string): ConversationMeta | undefined;
168
112
  getConversations(): ConversationMeta[];
169
113
  getHistory(convId: string, limit?: number): Message[];
@@ -203,15 +147,6 @@ export declare class MoltZapService {
203
147
  * @returns The send result.
204
148
  */
205
149
  send(conversationId: ConversationId, text: string): Effect.Effect<void, ServiceRpcError>;
206
- /**
207
- * Send to a named agent, minting the DM conversation on first use and
208
- * reusing it afterwards. The per-name cache is what makes the DM stable:
209
- * `agent/conversation/create` mints a fresh conversation on every call.
210
- * @param agentName Name of the agent to reach.
211
- * @param text Text to process.
212
- * @returns The send result.
213
- */
214
- sendToAgent(agentName: string, text: string): Effect.Effect<void, ServiceRpcError | AgentNotFoundError>;
215
150
  private cacheAgentNames;
216
151
  private agentListParams;
217
152
  private cacheVisibleAgentNamesForIds;
@@ -254,10 +189,6 @@ export declare class MoltZapService {
254
189
  messages: CrossConvMessage[];
255
190
  commit: () => void;
256
191
  };
257
- private readCrossConvState;
258
- private collectContextCandidates;
259
- private iterNewMessagesByConv;
260
- private advanceLastNotified;
261
192
  on<K extends ServiceHandlerName>(notification: K, handler: NotificationHandler<ServiceHandlerPayloads[K]>): void;
262
193
  /**
263
194
  * Outbound RPC, typed per method — delegates to the agent client's typed
@@ -293,7 +224,5 @@ export declare class MoltZapService {
293
224
  private recordMessageIdIfNew;
294
225
  private handleMessageReceivedNotification;
295
226
  private handleConversationCreatedNotification;
296
- private storeMessage;
297
227
  }
298
- export {};
299
228
  //# sourceMappingURL=service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}