@moltzap/client 2026.731.0 → 2026.731.1
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-core-enrichment.d.ts +5 -2
- package/dist/channel-core-enrichment.d.ts.map +1 -1
- package/dist/channel-core-enrichment.js +5 -6
- package/dist/channel-core-enrichment.js.map +1 -1
- package/dist/channel-core.d.ts +28 -18
- package/dist/channel-core.d.ts.map +1 -1
- package/dist/channel-core.js +24 -61
- package/dist/channel-core.js.map +1 -1
- package/dist/cli/commands/conversations.d.ts +1 -4
- package/dist/cli/commands/conversations.d.ts.map +1 -1
- package/dist/cli/commands/conversations.js +4 -8
- package/dist/cli/commands/conversations.js.map +1 -1
- package/dist/cli/commands/messages.d.ts +0 -3
- package/dist/cli/commands/messages.d.ts.map +1 -1
- package/dist/cli/commands/messages.js +1 -4
- package/dist/cli/commands/messages.js.map +1 -1
- package/dist/cli/commands/send.d.ts +10 -21
- package/dist/cli/commands/send.d.ts.map +1 -1
- package/dist/cli/commands/send.js +16 -25
- package/dist/cli/commands/send.js.map +1 -1
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +11 -13
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/index.js +0 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/local-daemon-rpc.d.ts +338 -2241
- package/dist/local-daemon-rpc.d.ts.map +1 -1
- package/dist/local-daemon-rpc.js +39 -54
- package/dist/local-daemon-rpc.js.map +1 -1
- package/dist/local-history.d.ts +0 -2
- package/dist/local-history.d.ts.map +1 -1
- package/dist/local-history.js +0 -3
- package/dist/local-history.js.map +1 -1
- package/dist/notification/__tests__/subscribe-signatures.types-check.d.ts +15 -13
- package/dist/notification/__tests__/subscribe-signatures.types-check.d.ts.map +1 -1
- package/dist/notification/__tests__/subscribe-signatures.types-check.js +5 -5
- package/dist/notification/__tests__/subscribe-signatures.types-check.js.map +1 -1
- package/dist/service-local-daemon.d.ts.map +1 -1
- package/dist/service-local-daemon.js +24 -64
- package/dist/service-local-daemon.js.map +1 -1
- package/dist/service.d.ts +29 -31
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +40 -106
- package/dist/service.js.map +1 -1
- package/dist/test-utils/channel-service-fixture.d.ts +7 -12
- package/dist/test-utils/channel-service-fixture.d.ts.map +1 -1
- package/dist/test-utils/channel-service-fixture.js +11 -49
- package/dist/test-utils/channel-service-fixture.js.map +1 -1
- package/dist/test-utils/ids.d.ts +7 -1
- package/dist/test-utils/ids.d.ts.map +1 -1
- package/dist/test-utils/ids.js +9 -0
- package/dist/test-utils/ids.js.map +1 -1
- package/dist/test-utils/index.d.ts +2 -3
- package/dist/test-utils/index.d.ts.map +1 -1
- package/dist/test-utils/index.js +2 -3
- package/dist/test-utils/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/dist/cli/commands/contacts.d.ts +0 -10
- package/dist/cli/commands/contacts.d.ts.map +0 -1
- package/dist/cli/commands/contacts.js +0 -21
- package/dist/cli/commands/contacts.js.map +0 -1
- package/dist/service-archive-purge.d.ts +0 -36
- package/dist/service-archive-purge.d.ts.map +0 -1
- package/dist/service-archive-purge.js +0 -50
- package/dist/service-archive-purge.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-daemon-rpc.d.ts","sourceRoot":"","sources":["../src/local-daemon-rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAuB,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrD,OAAO,KAAK,KAAK,SAAS,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"local-daemon-rpc.d.ts","sourceRoot":"","sources":["../src/local-daemon-rpc.ts"],"names":[],"mappings":"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"}
|
package/dist/local-daemon-rpc.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Rpc, RpcGroup } from "@effect/rpc";
|
|
2
2
|
import { Effect, ParseResult, Schema } from "effect";
|
|
3
|
-
import { agentId, agentsList,
|
|
3
|
+
import { agentId, agentsList, appId } from "@moltzap/protocol/identity";
|
|
4
4
|
import { agentCallableMethods } from "@moltzap/protocol/socket/catalog";
|
|
5
|
-
import {
|
|
5
|
+
import { taskId } from "@moltzap/protocol/task";
|
|
6
6
|
import { conversationId, messageId } from "@moltzap/protocol/conversation";
|
|
7
7
|
import { messagesList } from "@moltzap/protocol/message";
|
|
8
8
|
import { NotConnectedError, RpcTimeoutError } from "@moltzap/protocol/rpc";
|
|
@@ -10,7 +10,8 @@ import { historyRequestSchema, historyResponseSchema, } from "./local-history.js
|
|
|
10
10
|
const MAX_PAGE_LIMIT = 200;
|
|
11
11
|
const MAX_NAME_LOOKUP_BATCH = 100;
|
|
12
12
|
const UUID_V4_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
13
|
-
const
|
|
13
|
+
const CONVERSATION_TARGET_PREFIX = "conv:";
|
|
14
|
+
const TASK_TARGET_PREFIX = "task:";
|
|
14
15
|
const PARTICIPANT_PREFIX = "agent:";
|
|
15
16
|
const emptyPayload = Schema.Struct({});
|
|
16
17
|
const localDaemonStatusResultSchema = Schema.Struct({
|
|
@@ -24,21 +25,31 @@ const appIdV4 = appId.pipe(Schema.filter((value) => (typeof value === "string" &
|
|
|
24
25
|
"must be a UUID v4"));
|
|
25
26
|
const parseStringIssue = (ast, actual, message) => Effect.fail(new ParseResult.Type(ast, actual, message));
|
|
26
27
|
const sendTargetParts = Schema.Struct({
|
|
27
|
-
taskId: taskId,
|
|
28
28
|
conversationId: conversationId,
|
|
29
|
+
taskId: Schema.optional(taskId),
|
|
29
30
|
});
|
|
30
|
-
|
|
31
|
+
const SEND_TARGET_EXPECTED = `expected ${CONVERSATION_TARGET_PREFIX}<conversationId> or ${TASK_TARGET_PREFIX}<taskId>:<conversationId>`;
|
|
32
|
+
/**
|
|
33
|
+
* A conversation is the whole address. `task:<taskId>:<conversationId>`
|
|
34
|
+
* is also accepted so a caller holding a task label can pass it through; the
|
|
35
|
+
* label rides along to `agent/message/send` untouched and never selects the
|
|
36
|
+
* destination.
|
|
37
|
+
*/
|
|
31
38
|
export const sendTarget = Schema.transformOrFail(Schema.String, sendTargetParts, {
|
|
32
39
|
strict: true,
|
|
33
40
|
decode: (raw, ...[, ast]) => {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
return
|
|
41
|
+
if (raw.startsWith(CONVERSATION_TARGET_PREFIX)) {
|
|
42
|
+
const rest = raw.slice(CONVERSATION_TARGET_PREFIX.length);
|
|
43
|
+
return rest === "" || rest.includes(":")
|
|
44
|
+
? parseStringIssue(ast, raw, SEND_TARGET_EXPECTED)
|
|
45
|
+
: Effect.succeed({ conversationId: rest });
|
|
37
46
|
}
|
|
38
|
-
|
|
39
|
-
|
|
47
|
+
if (!raw.startsWith(TASK_TARGET_PREFIX)) {
|
|
48
|
+
return parseStringIssue(ast, raw, SEND_TARGET_EXPECTED);
|
|
49
|
+
}
|
|
50
|
+
const parts = raw.slice(TASK_TARGET_PREFIX.length).split(":");
|
|
40
51
|
if (parts.length !== 2 || parts[0] === "" || parts[1] === "") {
|
|
41
|
-
return parseStringIssue(ast, raw,
|
|
52
|
+
return parseStringIssue(ast, raw, SEND_TARGET_EXPECTED);
|
|
42
53
|
}
|
|
43
54
|
return Effect.succeed({
|
|
44
55
|
taskId:
|
|
@@ -47,7 +58,9 @@ export const sendTarget = Schema.transformOrFail(Schema.String, sendTargetParts,
|
|
|
47
58
|
/* Safe because the surrounding invariant establishes this asserted shape. */ parts[1],
|
|
48
59
|
});
|
|
49
60
|
},
|
|
50
|
-
encode: (target) => Effect.succeed(
|
|
61
|
+
encode: (target) => Effect.succeed(target.taskId === undefined
|
|
62
|
+
? `${CONVERSATION_TARGET_PREFIX}${target.conversationId}`
|
|
63
|
+
: `${TASK_TARGET_PREFIX}${target.taskId}:${target.conversationId}`),
|
|
51
64
|
});
|
|
52
65
|
const agentName = Schema.String.pipe(Schema.minLength(1), Schema.maxLength(32));
|
|
53
66
|
const startParticipantById = Schema.Struct({
|
|
@@ -91,12 +104,9 @@ export const localDaemonCommands = {
|
|
|
91
104
|
history: "daemon/history",
|
|
92
105
|
agentsList: "cli/agents/list",
|
|
93
106
|
agentsSearch: "cli/agents/search",
|
|
94
|
-
contactsList: "cli/contacts/list",
|
|
95
|
-
contactsAdd: "cli/contacts/add",
|
|
96
|
-
contactsAccept: "cli/contacts/accept",
|
|
97
107
|
messagesList: "cli/messages/list",
|
|
98
108
|
send: "cli/send",
|
|
99
|
-
|
|
109
|
+
start: "cli/start",
|
|
100
110
|
};
|
|
101
111
|
const agentsListCommandPayload = Schema.Struct({
|
|
102
112
|
limit: Schema.optional(pageLimit),
|
|
@@ -104,56 +114,43 @@ const agentsListCommandPayload = Schema.Struct({
|
|
|
104
114
|
const agentsSearchCommandPayload = Schema.Struct({
|
|
105
115
|
names: Schema.Array(agentName).pipe(Schema.minItems(1), Schema.maxItems(MAX_NAME_LOOKUP_BATCH)),
|
|
106
116
|
});
|
|
107
|
-
const contactsListCommandPayload = emptyPayload;
|
|
108
|
-
const contactsAddCommandPayload = Schema.Struct({
|
|
109
|
-
userId: userId,
|
|
110
|
-
});
|
|
111
|
-
const contactsAcceptCommandPayload = Schema.Struct({
|
|
112
|
-
contactId: contactId,
|
|
113
|
-
});
|
|
114
117
|
const messagesListCommandPayload = Schema.Struct({
|
|
115
|
-
taskId: taskId,
|
|
116
118
|
conversationId: conversationId,
|
|
117
119
|
limit: Schema.optional(pageLimit),
|
|
118
120
|
});
|
|
119
121
|
const sendCommandPayload = Schema.Struct({
|
|
120
122
|
target: sendTarget,
|
|
121
123
|
message: Schema.String.pipe(Schema.minLength(1)),
|
|
122
|
-
replyToId: Schema.optional(messageId),
|
|
123
124
|
});
|
|
124
125
|
const sendCommandResult = Schema.Struct({
|
|
125
126
|
messageId: messageId,
|
|
126
127
|
});
|
|
127
|
-
const
|
|
128
|
+
const startCommandPayload = Schema.Struct({
|
|
128
129
|
name: Schema.String.pipe(Schema.minLength(1), Schema.maxLength(100)),
|
|
129
130
|
participants: Schema.Array(startParticipant),
|
|
130
131
|
message: Schema.optional(Schema.String),
|
|
131
132
|
appId: Schema.optional(appIdV4),
|
|
132
133
|
});
|
|
133
|
-
const
|
|
134
|
-
taskId: taskId,
|
|
134
|
+
const startCommandResult = Schema.Struct({
|
|
135
135
|
conversationId: conversationId,
|
|
136
|
-
reusedConversation: Schema.Boolean,
|
|
137
136
|
sentMessageId: Schema.optional(messageId),
|
|
138
137
|
});
|
|
139
138
|
/** Reports local daemon input failures. */
|
|
140
139
|
export class LocalDaemonInputError extends Schema.TaggedError()("LocalDaemonInputError", { message: Schema.String }) {
|
|
141
140
|
}
|
|
142
|
-
/** Reports start
|
|
143
|
-
export class
|
|
141
|
+
/** Reports start usage failures. */
|
|
142
|
+
export class StartUsageError extends Schema.TaggedError()("StartUsageError", { message: Schema.String }) {
|
|
144
143
|
}
|
|
145
|
-
/**
|
|
146
|
-
export class
|
|
147
|
-
taskId: taskId,
|
|
144
|
+
/** The conversation exists but its first message did not send. */
|
|
145
|
+
export class StartPartialFailure extends Schema.TaggedError()("StartPartialFailure", {
|
|
148
146
|
conversationId: conversationId,
|
|
149
|
-
reusedConversation: Schema.Boolean,
|
|
150
147
|
message: Schema.String,
|
|
151
148
|
}) {
|
|
152
149
|
}
|
|
153
150
|
/** Reports service input failures. */
|
|
154
151
|
export class ServiceInputError extends Schema.TaggedError()("ServiceInputError", { message: Schema.String }) {
|
|
155
152
|
}
|
|
156
|
-
const localDaemonErrorSchema = Schema.Union(LocalDaemonInputError,
|
|
153
|
+
const localDaemonErrorSchema = Schema.Union(LocalDaemonInputError, StartUsageError, StartPartialFailure, ServiceInputError, NotConnectedError, RpcTimeoutError, ...agentCallableMethods.map((definition) => definition.errorSchema));
|
|
157
154
|
/** Validates and decodes is local daemon error values. */
|
|
158
155
|
export const isLocalDaemonError = Schema.is(localDaemonErrorSchema);
|
|
159
156
|
const errorMessage = (error) => error instanceof Error ? error.message : String(error);
|
|
@@ -172,15 +169,15 @@ export const messagesListCommandRpc = Rpc.make(localDaemonCommands.messagesList,
|
|
|
172
169
|
error: localDaemonErrorSchema,
|
|
173
170
|
});
|
|
174
171
|
/** Provides the send command rpc runtime value. */
|
|
175
|
-
|
|
172
|
+
const sendCommandRpc = Rpc.make(localDaemonCommands.send, {
|
|
176
173
|
payload: sendCommandPayload,
|
|
177
174
|
success: sendCommandResult,
|
|
178
175
|
error: localDaemonErrorSchema,
|
|
179
176
|
});
|
|
180
|
-
/** Provides the start
|
|
181
|
-
export const
|
|
182
|
-
payload:
|
|
183
|
-
success:
|
|
177
|
+
/** Provides the start command rpc runtime value. */
|
|
178
|
+
export const startCommandRpc = Rpc.make(localDaemonCommands.start, {
|
|
179
|
+
payload: startCommandPayload,
|
|
180
|
+
success: startCommandResult,
|
|
184
181
|
error: localDaemonErrorSchema,
|
|
185
182
|
});
|
|
186
183
|
/** Implements local daemon rpcs. */
|
|
@@ -200,18 +197,6 @@ export class LocalDaemonRpcs extends RpcGroup.make(Rpc.make(localDaemonCommands.
|
|
|
200
197
|
payload: agentsSearchCommandPayload,
|
|
201
198
|
success: agentsList.resultSchema,
|
|
202
199
|
error: localDaemonErrorSchema,
|
|
203
|
-
}),
|
|
204
|
-
payload: contactsListCommandPayload,
|
|
205
|
-
success: contactsList.resultSchema,
|
|
206
|
-
error: localDaemonErrorSchema,
|
|
207
|
-
}), Rpc.make(localDaemonCommands.contactsAdd, {
|
|
208
|
-
payload: contactsAddCommandPayload,
|
|
209
|
-
success: contactsAdd.resultSchema,
|
|
210
|
-
error: localDaemonErrorSchema,
|
|
211
|
-
}), Rpc.make(localDaemonCommands.contactsAccept, {
|
|
212
|
-
payload: contactsAcceptCommandPayload,
|
|
213
|
-
success: contactsAccept.resultSchema,
|
|
214
|
-
error: localDaemonErrorSchema,
|
|
215
|
-
}), messagesListCommandRpc, sendCommandRpc, startTaskCommandRpc) {
|
|
200
|
+
}), messagesListCommandRpc, sendCommandRpc, startCommandRpc) {
|
|
216
201
|
}
|
|
217
202
|
//# sourceMappingURL=local-daemon-rpc.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-daemon-rpc.js","sourceRoot":"","sources":["../src/local-daemon-rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErD,OAAO,
|
|
1
|
+
{"version":3,"file":"local-daemon-rpc.js","sourceRoot":"","sources":["../src/local-daemon-rpc.ts"],"names":[],"mappings":"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"}
|
package/dist/local-history.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { Message } from "@moltzap/protocol/message";
|
|
2
2
|
import { HashMap, Schema } from "effect";
|
|
3
3
|
declare const historyRequestSchemaValue: Schema.Struct<{
|
|
4
|
-
taskId: Schema.Schema<import("@moltzap/protocol/task").TaskId, string, never>;
|
|
5
4
|
conversationId: Schema.Schema<import("@moltzap/protocol/conversation").ConversationId, string, never>;
|
|
6
5
|
limit: Schema.optionalWith<Schema.filter<Schema.filter<typeof Schema.Number>>, {
|
|
7
6
|
default: () => number;
|
|
@@ -37,7 +36,6 @@ declare const historyResponseSchemaValue: Schema.Struct<{
|
|
|
37
36
|
lastMessageTimestamp: Schema.optional<typeof Schema.String>;
|
|
38
37
|
createdAt: typeof Schema.String;
|
|
39
38
|
updatedAt: typeof Schema.String;
|
|
40
|
-
archivedAt: Schema.optional<typeof Schema.String>;
|
|
41
39
|
}>>;
|
|
42
40
|
newCount: Schema.filter<Schema.filter<typeof Schema.Number>>;
|
|
43
41
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-history.d.ts","sourceRoot":"","sources":["../src/local-history.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"local-history.d.ts","sourceRoot":"","sources":["../src/local-history.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAC;AAWjD,QAAA,MAAM,yBAAyB;;;;;;EAM7B,CAAC;AAEH,QAAA,MAAM,2BAA2B;;;;;;;;EAQ/B,CAAC;AAuBH,QAAA,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;EAI9B,CAAC;AAEH,yCAAyC;AACzC,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAC7C,OAAO,yBAAyB,CACjC,CAAC;AACF,iDAAiD;AACjD,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CACpD,OAAO,2BAA2B,CACnC,CAAC;AACF,0CAA0C;AAC1C,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAC9C,OAAO,0BAA0B,CAClC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,yBAAyB,CAEvE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,0BAA0B,CAEzE;AAED,UAAU,2BAA2B;IACnC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,2BAA2B,GACnC,qBAAqB,CAevB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,OAAO,CAAC,OAAO,CAC1B,MAAM,EACN,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAC7C,EACD,OAAO,EAAE,cAAc,GACtB,WAAW,CAAC,MAAM,CAAC,CAWrB"}
|
package/dist/local-history.js
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import { agentId } from "@moltzap/protocol/identity";
|
|
2
2
|
import { conversationId, messageId } from "@moltzap/protocol/conversation";
|
|
3
|
-
import { taskId } from "@moltzap/protocol/task";
|
|
4
3
|
import { HashMap, Option, Schema } from "effect";
|
|
5
4
|
import { renderPart } from "./message-rendering.js";
|
|
6
5
|
const DEFAULT_HISTORY_LIMIT = 10;
|
|
7
6
|
const MAX_HISTORY_LIMIT = 100;
|
|
8
7
|
const historyLimit = Schema.Number.pipe(Schema.int(), Schema.between(1, MAX_HISTORY_LIMIT));
|
|
9
8
|
const historyRequestSchemaValue = Schema.Struct({
|
|
10
|
-
taskId: taskId,
|
|
11
9
|
conversationId: conversationId,
|
|
12
10
|
limit: Schema.optionalWith(historyLimit, {
|
|
13
11
|
default: () => DEFAULT_HISTORY_LIMIT,
|
|
@@ -37,7 +35,6 @@ const historyConversationMetaSchema = Schema.Struct({
|
|
|
37
35
|
lastMessageTimestamp: Schema.optional(Schema.String),
|
|
38
36
|
createdAt: Schema.String,
|
|
39
37
|
updatedAt: Schema.String,
|
|
40
|
-
archivedAt: Schema.optional(Schema.String),
|
|
41
38
|
});
|
|
42
39
|
const historyResponseSchemaValue = Schema.Struct({
|
|
43
40
|
messages: Schema.Array(historyMessageSummarySchema),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-history.js","sourceRoot":"","sources":["../src/local-history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"local-history.js","sourceRoot":"","sources":["../src/local-history.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,23 +8,25 @@
|
|
|
8
8
|
import { type Effect, Stream } from "effect";
|
|
9
9
|
import type { NotConnectedError, NotificationDelivery, NotificationParamsOf, NotificationSubscriberRegistry } from "@moltzap/protocol/rpc";
|
|
10
10
|
import type { AnyNotificationDefinition } from "@moltzap/protocol/socket/catalog";
|
|
11
|
-
import {
|
|
11
|
+
import { dispatchRelease } from "@moltzap/protocol/message/dispatch";
|
|
12
12
|
import { subscribe, type subscribeAll } from "../stream.js";
|
|
13
13
|
type Equal<Left, Right> = [Left, Right] extends [Right, Left] ? true : false;
|
|
14
14
|
type Expect<Value extends true> = Value;
|
|
15
|
-
type
|
|
16
|
-
type
|
|
17
|
-
readonly
|
|
15
|
+
type ReleaseParams = NotificationParamsOf<typeof dispatchRelease>;
|
|
16
|
+
type DeniedRelease = ReleaseParams & {
|
|
17
|
+
readonly verdict: {
|
|
18
|
+
readonly decision: "deny";
|
|
19
|
+
};
|
|
18
20
|
};
|
|
19
|
-
type
|
|
21
|
+
type DeniedPredicate = (params: ReleaseParams) => params is DeniedRelease;
|
|
20
22
|
/**
|
|
21
23
|
* Exercise the type-guard overload with concrete protocol types.
|
|
22
24
|
* @param registry Notification registry supplied by a connected client.
|
|
23
|
-
* @param
|
|
24
|
-
* @returns A stream narrowed to
|
|
25
|
+
* @param isDenied Predicate that narrows dispatch releases to denials.
|
|
26
|
+
* @returns A stream narrowed to denied dispatch releases.
|
|
25
27
|
*/
|
|
26
|
-
export declare function
|
|
27
|
-
type
|
|
28
|
+
export declare function subscribeDeniedCanary(registry: NotificationSubscriberRegistry<NotConnectedError, AnyNotificationDefinition>, isDenied: DeniedPredicate): Stream.Stream<DeniedRelease, NotConnectedError, never>;
|
|
29
|
+
type DeniedStream = ReturnType<typeof subscribeDeniedCanary>;
|
|
28
30
|
/**
|
|
29
31
|
* Exercise Stream consumption against the real subscription return type.
|
|
30
32
|
* @param stream Subscription stream to consume.
|
|
@@ -33,16 +35,16 @@ type RetryableStream = ReturnType<typeof subscribeRetryableCanary>;
|
|
|
33
35
|
*/
|
|
34
36
|
export declare function runSubscriptionCanary(stream: ReturnType<typeof subscribe<AnyNotificationDefinition>>, handler: (notification: NotificationParamsOf<AnyNotificationDefinition>) => Effect.Effect<void>): Effect.Effect<void, NotConnectedError, never>;
|
|
35
37
|
type SubscribeStreamShape = Expect<Equal<ReturnType<typeof subscribe<AnyNotificationDefinition>>, Stream.Stream<NotificationParamsOf<AnyNotificationDefinition>, NotConnectedError>>>;
|
|
36
|
-
type
|
|
37
|
-
type
|
|
38
|
+
type DeniedOverloadResolves = Expect<Equal<DeniedStream, Stream.Stream<DeniedRelease, NotConnectedError>>>;
|
|
39
|
+
type DeniedElementIsExact = Expect<Equal<Stream.Stream.Success<DeniedStream>, DeniedRelease>>;
|
|
38
40
|
type SubscribeAllStreamShape = Expect<Equal<ReturnType<typeof subscribeAll>, Stream.Stream<NotificationDelivery<AnyNotificationDefinition>, NotConnectedError>>>;
|
|
39
41
|
type RunForEachHasNoLeakedRequirements = Expect<Equal<Effect.Effect.Context<ReturnType<typeof runSubscriptionCanary>>, never>>;
|
|
40
42
|
type TypedErrorChannelIsExact = Expect<Equal<Stream.Stream.Error<ReturnType<typeof subscribe<AnyNotificationDefinition>>>, NotConnectedError>>;
|
|
41
43
|
/** Compile-time assertions for notification subscription contracts. */
|
|
42
44
|
export type NotificationSubscriptionCanaries = [
|
|
43
45
|
SubscribeStreamShape,
|
|
44
|
-
|
|
45
|
-
|
|
46
|
+
DeniedOverloadResolves,
|
|
47
|
+
DeniedElementIsExact,
|
|
46
48
|
SubscribeAllStreamShape,
|
|
47
49
|
RunForEachHasNoLeakedRequirements,
|
|
48
50
|
TypedErrorChannelIsExact
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscribe-signatures.types-check.d.ts","sourceRoot":"","sources":["../../../src/notification/__tests__/subscribe-signatures.types-check.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,KAAK,EACV,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,8BAA8B,EAC/B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"subscribe-signatures.types-check.d.ts","sourceRoot":"","sources":["../../../src/notification/__tests__/subscribe-signatures.types-check.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,KAAK,EACV,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,8BAA8B,EAC/B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5D,KAAK,KAAK,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAC7E,KAAK,MAAM,CAAC,KAAK,SAAS,IAAI,IAAI,KAAK,CAAC;AAExC,KAAK,aAAa,GAAG,oBAAoB,CAAC,OAAO,eAAe,CAAC,CAAC;AAClE,KAAK,aAAa,GAAG,aAAa,GAAG;IACnC,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CACjD,CAAC;AACF,KAAK,eAAe,GAAG,CAAC,MAAM,EAAE,aAAa,KAAK,MAAM,IAAI,aAAa,CAAC;AAE1E;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,8BAA8B,CACtC,iBAAiB,EACjB,yBAAyB,CAC1B,EACD,QAAQ,EAAE,eAAe,0DAG1B;AAED,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE7D;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,yBAAyB,CAAC,CAAC,EAC/D,OAAO,EAAE,CACP,YAAY,EAAE,oBAAoB,CAAC,yBAAyB,CAAC,KAC1D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,iDAGzB;AAED,KAAK,oBAAoB,GAAG,MAAM,CAChC,KAAK,CACH,UAAU,CAAC,OAAO,SAAS,CAAC,yBAAyB,CAAC,CAAC,EACvD,MAAM,CAAC,MAAM,CACX,oBAAoB,CAAC,yBAAyB,CAAC,EAC/C,iBAAiB,CAClB,CACF,CACF,CAAC;AACF,KAAK,sBAAsB,GAAG,MAAM,CAClC,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC,CACrE,CAAC;AACF,KAAK,oBAAoB,GAAG,MAAM,CAChC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC,CAC1D,CAAC;AACF,KAAK,uBAAuB,GAAG,MAAM,CACnC,KAAK,CACH,UAAU,CAAC,OAAO,YAAY,CAAC,EAC/B,MAAM,CAAC,MAAM,CACX,oBAAoB,CAAC,yBAAyB,CAAC,EAC/C,iBAAiB,CAClB,CACF,CACF,CAAC;AACF,KAAK,iCAAiC,GAAG,MAAM,CAC7C,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC,EAAE,KAAK,CAAC,CAC9E,CAAC;AACF,KAAK,wBAAwB,GAAG,MAAM,CACpC,KAAK,CACH,MAAM,CAAC,MAAM,CAAC,KAAK,CACjB,UAAU,CAAC,OAAO,SAAS,CAAC,yBAAyB,CAAC,CAAC,CACxD,EACD,iBAAiB,CAClB,CACF,CAAC;AAEF,uEAAuE;AACvE,MAAM,MAAM,gCAAgC,GAAG;IAC7C,oBAAoB;IACpB,sBAAsB;IACtB,oBAAoB;IACpB,uBAAuB;IACvB,iCAAiC;IACjC,wBAAwB;CACzB,CAAC"}
|
|
@@ -6,16 +6,16 @@
|
|
|
6
6
|
* channels, and the absence of leaked Effect requirements.
|
|
7
7
|
*/
|
|
8
8
|
import { Stream } from "effect";
|
|
9
|
-
import {
|
|
9
|
+
import { dispatchRelease } from "@moltzap/protocol/message/dispatch";
|
|
10
10
|
import { subscribe } from "../stream.js";
|
|
11
11
|
/**
|
|
12
12
|
* Exercise the type-guard overload with concrete protocol types.
|
|
13
13
|
* @param registry Notification registry supplied by a connected client.
|
|
14
|
-
* @param
|
|
15
|
-
* @returns A stream narrowed to
|
|
14
|
+
* @param isDenied Predicate that narrows dispatch releases to denials.
|
|
15
|
+
* @returns A stream narrowed to denied dispatch releases.
|
|
16
16
|
*/
|
|
17
|
-
export function
|
|
18
|
-
return subscribe(registry,
|
|
17
|
+
export function subscribeDeniedCanary(registry, isDenied) {
|
|
18
|
+
return subscribe(registry, dispatchRelease, isDenied);
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
21
|
* Exercise Stream consumption against the real subscription return type.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscribe-signatures.types-check.js","sourceRoot":"","sources":["../../../src/notification/__tests__/subscribe-signatures.types-check.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAe,MAAM,EAAE,MAAM,QAAQ,CAAC;AAQ7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"subscribe-signatures.types-check.js","sourceRoot":"","sources":["../../../src/notification/__tests__/subscribe-signatures.types-check.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAe,MAAM,EAAE,MAAM,QAAQ,CAAC;AAQ7C,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAqB,MAAM,cAAc,CAAC;AAW5D;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAGC,EACD,QAAyB;IAEzB,OAAO,SAAS,CAAC,QAAQ,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;AACxD,CAAC;AAID;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAA+D,EAC/D,OAEwB;IAExB,OAAO,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-local-daemon.d.ts","sourceRoot":"","sources":["../src/service-local-daemon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AACxC,OAAO,
|
|
1
|
+
{"version":3,"file":"service-local-daemon.d.ts","sourceRoot":"","sources":["../src/service-local-daemon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AACxC,OAAO,EAGL,KAAK,OAAO,EACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAO3E,OAAO,KAAK,EAEV,aAAa,EAEb,aAAa,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAIL,KAAK,mBAAmB,EAKzB,MAAM,uBAAuB,CAAC;AAE/B,KAAK,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAClE,KAAK,gBAAgB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAElD,KAAK,WAAW,GAAG,CAAC,GAAG,SAAS,gBAAgB,EAC9C,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,aAAa,CAAC,iBAAiB,EAAE,GAAG,CAAC,EAC9C,IAAI,CAAC,EAAE,cAAc,KAClB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,iBAAiB,EAAE,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;AAE3E,UAAU,yBAAyB;IACjC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,MAAM,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,oBAAoB,EAAE,CAC7B,OAAO,EAAE,cAAc,KACpB,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;CACtD;AA4MD;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,IAAI,EACJ,oBAAoB,GACrB,EAAE,yBAAyB,GAAG,mBAAmB,CAwBjD"}
|
|
@@ -1,20 +1,14 @@
|
|
|
1
1
|
import { Effect, Either } from "effect";
|
|
2
|
-
import { agentsList,
|
|
3
|
-
import {
|
|
4
|
-
import { DEFAULT_APP_ID, taskRequest, } from "@moltzap/protocol/task";
|
|
2
|
+
import { agentsList, DEFAULT_APP_ID, } from "@moltzap/protocol/identity";
|
|
3
|
+
import { agentConversationCreate, } from "@moltzap/protocol/conversation";
|
|
5
4
|
import { messagesList, messagesSend } from "@moltzap/protocol/message";
|
|
6
|
-
import { localDaemonCommands,
|
|
5
|
+
import { localDaemonCommands, StartPartialFailure, StartUsageError, } from "./local-daemon-rpc.js";
|
|
7
6
|
const MAX_START_PARTICIPANT_LOOKUP_NAMES = 100;
|
|
8
7
|
const AGENT_LOOKUP_PAGE_SIZE = 100;
|
|
9
8
|
const AGENT_LOOKUP_MAX_PAGES = 20;
|
|
10
9
|
function startParticipantNames(participants) {
|
|
11
10
|
return Array.from(new Set(participants.flatMap((entry) => entry.kind === "name" ? [entry.name] : [])));
|
|
12
11
|
}
|
|
13
|
-
function initialStartConversation(name, invitedAgentIds) {
|
|
14
|
-
return invitedAgentIds.length === 0
|
|
15
|
-
? { name }
|
|
16
|
-
: { name, participants: invitedAgentIds };
|
|
17
|
-
}
|
|
18
12
|
function resolveStartParticipantIds(participants, byName) {
|
|
19
13
|
return Effect.gen(function* () {
|
|
20
14
|
const resolved = [];
|
|
@@ -25,7 +19,7 @@ function resolveStartParticipantIds(participants, byName) {
|
|
|
25
19
|
}
|
|
26
20
|
const id = byName.get(entry.name);
|
|
27
21
|
if (id === undefined) {
|
|
28
|
-
return yield* new
|
|
22
|
+
return yield* new StartUsageError({
|
|
29
23
|
message: `Cannot resolve "${entry.token}": not-found`,
|
|
30
24
|
});
|
|
31
25
|
}
|
|
@@ -58,17 +52,18 @@ function lookupAgentsByNames(call, names) {
|
|
|
58
52
|
}
|
|
59
53
|
function handleSendCommand(call, params) {
|
|
60
54
|
return call(messagesSend.name, {
|
|
61
|
-
taskId: params.target.taskId,
|
|
62
55
|
conversationId: params.target.conversationId,
|
|
63
56
|
parts: [{ type: "text", text: params.message }],
|
|
64
|
-
...(params.
|
|
57
|
+
...(params.target.taskId === undefined
|
|
58
|
+
? {}
|
|
59
|
+
: { taskId: params.target.taskId }),
|
|
65
60
|
}).pipe(Effect.map((result) => ({ messageId: result.message.id })));
|
|
66
61
|
}
|
|
67
62
|
function resolveStartParticipants(call, participants) {
|
|
68
63
|
return Effect.gen(function* () {
|
|
69
64
|
const names = startParticipantNames(participants);
|
|
70
65
|
if (names.length > MAX_START_PARTICIPANT_LOOKUP_NAMES) {
|
|
71
|
-
return yield* new
|
|
66
|
+
return yield* new StartUsageError({
|
|
72
67
|
message: `Too many distinct agent names: ${names.length} (max ${MAX_START_PARTICIPANT_LOOKUP_NAMES})`,
|
|
73
68
|
});
|
|
74
69
|
}
|
|
@@ -84,84 +79,53 @@ function resolveStartParticipants(call, participants) {
|
|
|
84
79
|
return yield* resolveStartParticipantIds(participants, byName);
|
|
85
80
|
});
|
|
86
81
|
}
|
|
87
|
-
function
|
|
88
|
-
return Effect.gen(function* () {
|
|
89
|
-
let cursor = undefined;
|
|
90
|
-
for (let page = 0; page < 10; page++) {
|
|
91
|
-
const result = yield* call(conversationList.name, {
|
|
92
|
-
limit: 100,
|
|
93
|
-
...(cursor === undefined ? {} : { cursor }),
|
|
94
|
-
});
|
|
95
|
-
const hit = result.items.find((item) => item.taskId === taskId && item.conversation.archivedAt === undefined);
|
|
96
|
-
if (hit !== undefined) {
|
|
97
|
-
return hit.conversation.id;
|
|
98
|
-
}
|
|
99
|
-
if (result.nextCursor === undefined) {
|
|
100
|
-
return null;
|
|
101
|
-
}
|
|
102
|
-
cursor = result.nextCursor;
|
|
103
|
-
}
|
|
104
|
-
return null;
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
function sendStartMessage({ call, taskId, conversationId, reusedConversation, text, }) {
|
|
82
|
+
function sendStartMessage({ call, conversationId, text, }) {
|
|
108
83
|
return Effect.either(call(messagesSend.name, {
|
|
109
|
-
taskId,
|
|
110
84
|
conversationId,
|
|
111
85
|
parts: [{ type: "text", text }],
|
|
112
86
|
})).pipe(Effect.flatMap((outcome) => Either.match(outcome, {
|
|
113
87
|
onRight: (result) => Effect.succeed(result.message.id),
|
|
114
|
-
onLeft: (error) => Effect.fail(new
|
|
115
|
-
taskId,
|
|
88
|
+
onLeft: (error) => Effect.fail(new StartPartialFailure({
|
|
116
89
|
conversationId,
|
|
117
|
-
reusedConversation,
|
|
118
90
|
message: error instanceof Error ? error.message : String(error),
|
|
119
91
|
})),
|
|
120
92
|
})));
|
|
121
93
|
}
|
|
122
|
-
function sendOptionalStartMessage({ call, params,
|
|
94
|
+
function sendOptionalStartMessage({ call, params, conversationId, }) {
|
|
123
95
|
if (params.message === undefined) {
|
|
124
96
|
return Effect.void.pipe(Effect.as(undefined));
|
|
125
97
|
}
|
|
126
98
|
return sendStartMessage({
|
|
127
99
|
call,
|
|
128
|
-
taskId,
|
|
129
100
|
conversationId,
|
|
130
|
-
reusedConversation,
|
|
131
101
|
text: params.message,
|
|
132
102
|
});
|
|
133
103
|
}
|
|
134
|
-
function
|
|
104
|
+
function handleStartCommand(call, params) {
|
|
135
105
|
return Effect.gen(function* () {
|
|
136
106
|
const appId = params.appId ?? DEFAULT_APP_ID;
|
|
137
|
-
const
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
initialConversation: initialStartConversation(params.name, invitedAgentIds),
|
|
142
|
-
});
|
|
143
|
-
const reusedConversation = result.conversation === null;
|
|
144
|
-
const conversationId = result.conversation?.id ??
|
|
145
|
-
(yield* findReusableStartConversation(call, result.task.id));
|
|
146
|
-
if (conversationId === null) {
|
|
147
|
-
return yield* new ServiceInputError({
|
|
148
|
-
message: `Task already exists but is closed: ${result.task.id}`,
|
|
107
|
+
const participants = yield* resolveStartParticipants(call, params.participants);
|
|
108
|
+
if (participants.length === 0) {
|
|
109
|
+
return yield* new StartUsageError({
|
|
110
|
+
message: "A conversation needs at least one other participant",
|
|
149
111
|
});
|
|
150
112
|
}
|
|
113
|
+
const created = yield* call(agentConversationCreate.name, {
|
|
114
|
+
appId,
|
|
115
|
+
name: params.name,
|
|
116
|
+
participants,
|
|
117
|
+
});
|
|
118
|
+
const conversationId = created.conversation.id;
|
|
151
119
|
const sentMessageId = yield* sendOptionalStartMessage({
|
|
152
120
|
call,
|
|
153
121
|
params,
|
|
154
|
-
taskId: result.task.id,
|
|
155
122
|
conversationId,
|
|
156
|
-
reusedConversation,
|
|
157
123
|
});
|
|
158
124
|
return {
|
|
159
|
-
taskId: result.task.id,
|
|
160
125
|
conversationId,
|
|
161
|
-
reusedConversation,
|
|
162
126
|
...(sentMessageId === undefined ? {} : { sentMessageId }),
|
|
163
127
|
};
|
|
164
|
-
}).pipe(Effect.withSpan("MoltZapService.
|
|
128
|
+
}).pipe(Effect.withSpan("MoltZapService.handleStartCommand"));
|
|
165
129
|
}
|
|
166
130
|
/**
|
|
167
131
|
* Creates local daemon handlers.
|
|
@@ -183,16 +147,12 @@ export function makeLocalDaemonHandlers({ ownAgentId, connected, conversationCou
|
|
|
183
147
|
[localDaemonCommands.history]: handleHistoryRequest,
|
|
184
148
|
[localDaemonCommands.agentsList]: (params) => call(agentsList.name, params.limit === undefined ? {} : { limit: params.limit }),
|
|
185
149
|
[localDaemonCommands.agentsSearch]: (params) => lookupAgentsByNames(call, params.names),
|
|
186
|
-
[localDaemonCommands.contactsList]: () => call(contactsList.name, {}),
|
|
187
|
-
[localDaemonCommands.contactsAdd]: (params) => call(contactsAdd.name, { contactUserId: params.userId }),
|
|
188
|
-
[localDaemonCommands.contactsAccept]: (params) => call(contactsAccept.name, { contactId: params.contactId }),
|
|
189
150
|
[localDaemonCommands.messagesList]: (params) => call(messagesList.name, {
|
|
190
|
-
taskId: params.taskId,
|
|
191
151
|
conversationId: params.conversationId,
|
|
192
152
|
...(params.limit === undefined ? {} : { limit: params.limit }),
|
|
193
153
|
}),
|
|
194
154
|
[localDaemonCommands.send]: (params) => handleSendCommand(call, params),
|
|
195
|
-
[localDaemonCommands.
|
|
155
|
+
[localDaemonCommands.start]: (params) => handleStartCommand(call, params),
|
|
196
156
|
};
|
|
197
157
|
}
|
|
198
158
|
//# sourceMappingURL=service-local-daemon.js.map
|