@stigmer/mcp-server 3.6.0 → 3.7.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/cli/mcp-server-stigmer.js +5 -3
- package/domains/channels/tools.d.ts.map +1 -1
- package/domains/channels/tools.js +3 -1
- package/domains/channels/tools.js.map +1 -1
- package/domains/conversation/calls.d.ts +9 -0
- package/domains/conversation/calls.d.ts.map +1 -0
- package/domains/conversation/calls.js +30 -0
- package/domains/conversation/calls.js.map +1 -0
- package/domains/conversation/errors.d.ts +19 -0
- package/domains/conversation/errors.d.ts.map +1 -0
- package/domains/conversation/errors.js +73 -0
- package/domains/conversation/errors.js.map +1 -0
- package/domains/conversation/tools.d.ts +13 -0
- package/domains/conversation/tools.d.ts.map +1 -0
- package/domains/conversation/tools.js +69 -0
- package/domains/conversation/tools.js.map +1 -0
- package/gen/workflow.d.ts +154 -61
- package/gen/workflow.d.ts.map +1 -1
- package/gen/workflow.js +98 -46
- package/gen/workflow.js.map +1 -1
- package/index.d.ts +1 -1
- package/index.d.ts.map +1 -1
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/package.json +3 -3
- package/server.d.ts +40 -7
- package/server.d.ts.map +1 -1
- package/server.js +58 -5
- package/server.js.map +1 -1
- package/src/domains/channels/tools.ts +5 -1
- package/src/domains/conversation/calls.ts +41 -0
- package/src/domains/conversation/conversation.integration.test.ts +233 -0
- package/src/domains/conversation/errors.ts +88 -0
- package/src/domains/conversation/tools.ts +87 -0
- package/src/gen/workflow.ts +99 -40
- package/src/http.integration.test.ts +56 -2
- package/src/index.ts +11 -1
- package/src/server.ts +66 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/domains/channels/tools.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AA6BhE,mEAAmE;AACnE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,GAAG,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/domains/channels/tools.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AA6BhE,mEAAmE;AACnE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,GAAG,MAAM,EAAE,CA+DvF"}
|
|
@@ -50,7 +50,9 @@ export function registerChannelTools(server, target) {
|
|
|
50
50
|
inputSchema: {
|
|
51
51
|
recipient: z
|
|
52
52
|
.string()
|
|
53
|
-
.describe("Recipient's key on the channel's provider
|
|
53
|
+
.describe("Recipient's key on the channel's provider, passed to the provider verbatim. " +
|
|
54
|
+
'WhatsApp: the wa_id — digits only INCLUDING the country code, no "+" or ' +
|
|
55
|
+
'separators (e.g. "919912850490"). Never reformat a wa_id another tool returned.'),
|
|
54
56
|
text: z
|
|
55
57
|
.string()
|
|
56
58
|
.optional()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/domains/channels/tools.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,oEAAoE;AACpE,wEAAwE;AACxE,QAAQ;AACR,EAAE;AACF,gEAAgE;AAChE,yEAAyE;AACzE,qEAAqE;AACrE,kEAAkE;AAClE,kEAAkE;AAClE,wEAAwE;AACxE,wEAAwE;AACxE,YAAY;AACZ,EAAE;AACF,+DAA+D;AAC/D,wEAAwE;AACxE,oEAAoE;AACpE,oEAAoE;AAGpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAsB,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAoB,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4DAA4D,CAAC;IACvF,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,iGAAiG,CAClG;IACH,UAAU,EAAE,CAAC;SACV,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SAClB,QAAQ,EAAE;SACV,QAAQ,CACP,0EAA0E;QACxE,wDAAwD,CAC3D;IACH,iBAAiB,EAAE,CAAC;SACjB,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,4EAA4E;QAC1E,2BAA2B,CAC9B;CACJ,CAAC,CAAC;AAEH,mEAAmE;AACnE,MAAM,UAAU,oBAAoB,CAAC,MAAiB,EAAE,MAAqB;IAC3E,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,WAAW,EACT,qFAAqF;YACrF,sFAAsF;YACtF,sFAAsF;YACtF,sFAAsF;YACtF,8EAA8E;YAC9E,iEAAiE;QACnE,WAAW,EAAE;YACX,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,QAAQ,
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/domains/channels/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Flag the calling session's conversation for human attention. The input
|
|
3
|
+
* carries only the reason: the conversation identity derives server-side
|
|
4
|
+
* from the session-scoped credential's channel labels (the DD-003
|
|
5
|
+
* identity doctrine), so there is nothing else a caller could
|
|
6
|
+
* legitimately send.
|
|
7
|
+
*/
|
|
8
|
+
export declare function escalateConversation(serverAddress: string, token: string, reason: string): Promise<void>;
|
|
9
|
+
//# sourceMappingURL=calls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calls.d.ts","sourceRoot":"","sources":["../../../src/domains/conversation/calls.ts"],"names":[],"mappings":"AAwBA;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAKf"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// Conversation RPC invocations for the escalate_to_human tool — a 1:1
|
|
2
|
+
// projection of ChannelConversationCommandController.escalate
|
|
3
|
+
// (channel-conversations DD-008: the tool layer adds no semantics; the
|
|
4
|
+
// reach, the idempotent writer, and the attention projection all live
|
|
5
|
+
// in the cloud handler, and the OSS edition refuses with the documented
|
|
6
|
+
// FAILED_PRECONDITION).
|
|
7
|
+
//
|
|
8
|
+
// The channels-domain calls.ts shape, with one deliberate divergence:
|
|
9
|
+
// the RPC's ChannelConversation response is DISCARDED instead of
|
|
10
|
+
// marshaled back as proto JSON. A15 rules the tool's answer is fixed
|
|
11
|
+
// behavioral copy (tools.ts owns it) — the row's control state,
|
|
12
|
+
// timestamps, and conversation key give the model nothing actionable,
|
|
13
|
+
// and reflecting them would only invite the model to narrate internal
|
|
14
|
+
// state to the customer.
|
|
15
|
+
import { create } from "@bufbuild/protobuf";
|
|
16
|
+
import { ChannelConversationCommandController, } from "@stigmer/protos/ai/stigmer/agentic/agentchannel/v1/conversation_command_pb";
|
|
17
|
+
import { EscalateConversationInputSchema, } from "@stigmer/protos/ai/stigmer/agentic/agentchannel/v1/conversation_io_pb";
|
|
18
|
+
import { withClient } from "../client.js";
|
|
19
|
+
/**
|
|
20
|
+
* Flag the calling session's conversation for human attention. The input
|
|
21
|
+
* carries only the reason: the conversation identity derives server-side
|
|
22
|
+
* from the session-scoped credential's channel labels (the DD-003
|
|
23
|
+
* identity doctrine), so there is nothing else a caller could
|
|
24
|
+
* legitimately send.
|
|
25
|
+
*/
|
|
26
|
+
export async function escalateConversation(serverAddress, token, reason) {
|
|
27
|
+
const request = create(EscalateConversationInputSchema, { reason });
|
|
28
|
+
await withClient(ChannelConversationCommandController, serverAddress, token, (client, opts) => client.escalate(request, opts));
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=calls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calls.js","sourceRoot":"","sources":["../../../src/domains/conversation/calls.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,8DAA8D;AAC9D,uEAAuE;AACvE,sEAAsE;AACtE,wEAAwE;AACxE,wBAAwB;AACxB,EAAE;AACF,sEAAsE;AACtE,iEAAiE;AACjE,qEAAqE;AACrE,gEAAgE;AAChE,sEAAsE;AACtE,sEAAsE;AACtE,yBAAyB;AAEzB,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EACL,oCAAoC,GACrC,MAAM,4EAA4E,CAAC;AACpF,OAAO,EACL,+BAA+B,GAChC,MAAM,uEAAuE,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,aAAqB,EACrB,KAAa,EACb,MAAc;IAEd,MAAM,OAAO,GAAG,MAAM,CAAC,+BAA+B,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACpE,MAAM,UAAU,CAAC,oCAAoC,EAAE,aAAa,EAAE,KAAK,EACzE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CACjD,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ConnectError } from "@connectrpc/connect";
|
|
2
|
+
import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
|
|
3
|
+
/** The structured error payload conversation tools return for domain errors. */
|
|
4
|
+
export interface ConversationToolError {
|
|
5
|
+
/** The server's relayable message, byte-for-byte. */
|
|
6
|
+
error: string;
|
|
7
|
+
/** gRPC status name in SCREAMING_SNAKE (e.g. PERMISSION_DENIED). */
|
|
8
|
+
code: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Run a conversation-tool body: a string payload becomes a text result;
|
|
12
|
+
* a domain error becomes an isError JSON result carrying the verbatim
|
|
13
|
+
* message; a transport error delegates to the shared classifier. The
|
|
14
|
+
* only try/catch in this domain.
|
|
15
|
+
*/
|
|
16
|
+
export declare function conversationResult(toolContext: string, produce: () => Promise<string>): Promise<CallToolResult>;
|
|
17
|
+
/** Project a domain ConnectError into the structured tool payload. */
|
|
18
|
+
export declare function domainError(ce: ConnectError): ConversationToolError;
|
|
19
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/domains/conversation/errors.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAQ,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAmBzE,gFAAgF;AAChF,MAAM,WAAW,qBAAqB;IACpC,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAC7B,OAAO,CAAC,cAAc,CAAC,CAazB;AAED,sEAAsE;AACtE,wBAAgB,WAAW,CAAC,EAAE,EAAE,YAAY,GAAG,qBAAqB,CAKnE"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
// The conversation-domain error mapper — the channels-domain sibling
|
|
2
|
+
// (DD-004 S-7's recorded posture: siblings share the idiom, never an
|
|
3
|
+
// abstraction over it; each domain documents its own contract).
|
|
4
|
+
//
|
|
5
|
+
// Conversation domain errors carry agent-relayable messages that are
|
|
6
|
+
// contract bytes (the ChannelConversationReach refusal matrix):
|
|
7
|
+
// "escalate is agent-audience only: it requires a session-scoped runner
|
|
8
|
+
// credential", "conversation identity could not be verified for this
|
|
9
|
+
// session", "this session is not serving a channel conversation, so
|
|
10
|
+
// there is nothing to escalate", the OSS "conversation participation
|
|
11
|
+
// requires Stigmer Cloud". The shared ../rpcerr.ts would rewrite them
|
|
12
|
+
// into transport advice; here the domain codes pass the server's
|
|
13
|
+
// message through VERBATIM as isError JSON `{error, code}` so the model
|
|
14
|
+
// can stop and adapt.
|
|
15
|
+
//
|
|
16
|
+
// Two deliberate differences from the channels set, each this domain's
|
|
17
|
+
// own contract:
|
|
18
|
+
// - NOT_FOUND is a domain code HERE: the handler's "no conversation
|
|
19
|
+
// with this key exists on channel …" is contract copy, and the
|
|
20
|
+
// shared classifier's rewrite ("Verify the org and slug are
|
|
21
|
+
// correct") names arguments escalate does not take.
|
|
22
|
+
// - No google.rpc.ErrorInfo extraction: the conversation commands
|
|
23
|
+
// attach none — the message alone carries the contract.
|
|
24
|
+
import { Code, ConnectError } from "@connectrpc/connect";
|
|
25
|
+
import { rpcError } from "../rpcerr.js";
|
|
26
|
+
import { errorResult, textResult } from "../toolresult.js";
|
|
27
|
+
/**
|
|
28
|
+
* The gRPC codes whose messages are the conversation domain contract:
|
|
29
|
+
* reach denials (PERMISSION_DENIED, one fail-closed text per failure
|
|
30
|
+
* class), contract misuse with corrective copy (INVALID_ARGUMENT — an
|
|
31
|
+
* empty or over-budget reason), actionable preconditions
|
|
32
|
+
* (FAILED_PRECONDITION — the OSS refusal, a session serving no channel
|
|
33
|
+
* conversation), and the absent-conversation answer (NOT_FOUND).
|
|
34
|
+
*/
|
|
35
|
+
const DOMAIN_CODES = new Set([
|
|
36
|
+
Code.PermissionDenied,
|
|
37
|
+
Code.InvalidArgument,
|
|
38
|
+
Code.FailedPrecondition,
|
|
39
|
+
Code.NotFound,
|
|
40
|
+
]);
|
|
41
|
+
/**
|
|
42
|
+
* Run a conversation-tool body: a string payload becomes a text result;
|
|
43
|
+
* a domain error becomes an isError JSON result carrying the verbatim
|
|
44
|
+
* message; a transport error delegates to the shared classifier. The
|
|
45
|
+
* only try/catch in this domain.
|
|
46
|
+
*/
|
|
47
|
+
export async function conversationResult(toolContext, produce) {
|
|
48
|
+
try {
|
|
49
|
+
return textResult(await produce());
|
|
50
|
+
}
|
|
51
|
+
catch (err) {
|
|
52
|
+
const ce = ConnectError.from(err);
|
|
53
|
+
if (DOMAIN_CODES.has(ce.code)) {
|
|
54
|
+
return {
|
|
55
|
+
content: [{ type: "text", text: JSON.stringify(domainError(ce)) }],
|
|
56
|
+
isError: true,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
return errorResult(rpcError(ce, toolContext));
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/** Project a domain ConnectError into the structured tool payload. */
|
|
63
|
+
export function domainError(ce) {
|
|
64
|
+
return {
|
|
65
|
+
error: ce.rawMessage,
|
|
66
|
+
code: grpcStatusName(ce.code),
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
/** Connect's PascalCase code name → the gRPC SCREAMING_SNAKE status name. */
|
|
70
|
+
function grpcStatusName(code) {
|
|
71
|
+
return Code[code].replace(/([a-z0-9])([A-Z])/g, "$1_$2").toUpperCase();
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/domains/conversation/errors.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,qEAAqE;AACrE,gEAAgE;AAChE,EAAE;AACF,qEAAqE;AACrE,gEAAgE;AAChE,wEAAwE;AACxE,qEAAqE;AACrE,oEAAoE;AACpE,qEAAqE;AACrE,sEAAsE;AACtE,iEAAiE;AACjE,wEAAwE;AACxE,sBAAsB;AACtB,EAAE;AACF,uEAAuE;AACvE,gBAAgB;AAChB,sEAAsE;AACtE,mEAAmE;AACnE,gEAAgE;AAChE,wDAAwD;AACxD,oEAAoE;AACpE,4DAA4D;AAE5D,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE3D;;;;;;;GAOG;AACH,MAAM,YAAY,GAAsB,IAAI,GAAG,CAAC;IAC9C,IAAI,CAAC,gBAAgB;IACrB,IAAI,CAAC,eAAe;IACpB,IAAI,CAAC,kBAAkB;IACvB,IAAI,CAAC,QAAQ;CACd,CAAC,CAAC;AAUH;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,WAAmB,EACnB,OAA8B;IAE9B,IAAI,CAAC;QACH,OAAO,UAAU,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBAClE,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QACD,OAAO,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,WAAW,CAAC,EAAgB;IAC1C,OAAO;QACL,KAAK,EAAE,EAAE,CAAC,UAAU;QACpB,IAAI,EAAE,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,SAAS,cAAc,CAAC,IAAU;IAChC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;AACzE,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import { type BackendTarget } from "../client.js";
|
|
3
|
+
/**
|
|
4
|
+
* The success answer (A15): states only recorded fact and repeats the
|
|
5
|
+
* no-promise instruction at the moment of temptation — the model's next
|
|
6
|
+
* message to the customer. Deliberately does NOT claim the flag "shows
|
|
7
|
+
* in the team's console": no console surface renders needs_attention
|
|
8
|
+
* yet (the Conversations surface is T04+); add the claim when it ships.
|
|
9
|
+
*/
|
|
10
|
+
export declare const ESCALATION_RECORDED_COPY: string;
|
|
11
|
+
/** Register the conversation participation tool; returns the tool names. */
|
|
12
|
+
export declare function registerConversationTools(server: McpServer, target: BackendTarget): string[];
|
|
13
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/domains/conversation/tools.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAiBhE;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,QAGY,CAAC;AAElD,4EAA4E;AAC5E,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,GAAG,MAAM,EAAE,CAiC5F"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
// The escalate_to_human tool — the ONE tool of the conversation roster
|
|
2
|
+
// (channel-conversations DD-008 D-b). A14 named the roster
|
|
3
|
+
// stigmer-conversation, axis-named like stigmer-channels: the
|
|
4
|
+
// conditioning axis is "this session IS a live channel conversation",
|
|
5
|
+
// and the notes/loop-in tools DD-008 anticipates join this roster
|
|
6
|
+
// instead of earning new routes.
|
|
7
|
+
//
|
|
8
|
+
// Agent audience only, by construction: escalate derives the
|
|
9
|
+
// conversation identity server-side from the session-scoped credential
|
|
10
|
+
// (the DD-003 identity doctrine), so a direct principal is always
|
|
11
|
+
// refused PERMISSION_DENIED — which is why no variant exists on the
|
|
12
|
+
// full roster and why the input surface is a single `reason`.
|
|
13
|
+
//
|
|
14
|
+
// The tool's answer is FIXED COPY, never the RPC's ChannelConversation
|
|
15
|
+
// row — a deliberate divergence from the channels roster's
|
|
16
|
+
// verbatim-proto-JSON convention. A15 rules the result states only what
|
|
17
|
+
// the platform can keep at 3am (attention is a stored flag; no one is
|
|
18
|
+
// paged; no console surface renders it yet) and instructs the agent
|
|
19
|
+
// never to promise a human or a response time.
|
|
20
|
+
import { z } from "zod";
|
|
21
|
+
import { resolveToken } from "../client.js";
|
|
22
|
+
import { escalateConversation } from "./calls.js";
|
|
23
|
+
import { conversationResult } from "./errors.js";
|
|
24
|
+
const ESCALATE_DESCRIPTION = [
|
|
25
|
+
"Flag this conversation for a human teammate to look at. Use this when you " +
|
|
26
|
+
"cannot resolve the customer's request yourself: you lack the information, " +
|
|
27
|
+
"the request needs a decision you are not authorized to make, or the " +
|
|
28
|
+
"customer has asked for a person.",
|
|
29
|
+
"You keep serving the conversation after calling this. Nothing is handed " +
|
|
30
|
+
"off automatically and no one is paged. Do not tell the customer a human " +
|
|
31
|
+
"will reply, and never promise a response time.",
|
|
32
|
+
"Write the reason for a teammate who has not read the conversation. " +
|
|
33
|
+
"Calling this again with a new reason is safe; the latest reason is what " +
|
|
34
|
+
"they see.",
|
|
35
|
+
].join("\n\n");
|
|
36
|
+
/**
|
|
37
|
+
* The success answer (A15): states only recorded fact and repeats the
|
|
38
|
+
* no-promise instruction at the moment of temptation — the model's next
|
|
39
|
+
* message to the customer. Deliberately does NOT claim the flag "shows
|
|
40
|
+
* in the team's console": no console surface renders needs_attention
|
|
41
|
+
* yet (the Conversations surface is T04+); add the claim when it ships.
|
|
42
|
+
*/
|
|
43
|
+
export const ESCALATION_RECORDED_COPY = "Flagged for human attention. Your reason was recorded on this " +
|
|
44
|
+
"conversation. Keep helping the customer as best you can, and do not " +
|
|
45
|
+
"tell the customer a human will reply or when.";
|
|
46
|
+
/** Register the conversation participation tool; returns the tool names. */
|
|
47
|
+
export function registerConversationTools(server, target) {
|
|
48
|
+
server.registerTool("escalate_to_human", {
|
|
49
|
+
description: ESCALATE_DESCRIPTION,
|
|
50
|
+
inputSchema: {
|
|
51
|
+
// Bounds mirror the protovalidate constraints on
|
|
52
|
+
// EscalateConversationInput.reason (conversation_io.proto:
|
|
53
|
+
// min_len 1, max_len 1024) so the model gets corrective feedback
|
|
54
|
+
// without an RPC; the server's validation is the backstop.
|
|
55
|
+
reason: z
|
|
56
|
+
.string()
|
|
57
|
+
.min(1)
|
|
58
|
+
.max(1024)
|
|
59
|
+
.describe("Why you are escalating, written for a teammate who has not read " +
|
|
60
|
+
"the conversation. Staff see it as the conversation's attention " +
|
|
61
|
+
"reason. 1-1024 characters."),
|
|
62
|
+
},
|
|
63
|
+
}, (args, extra) => conversationResult("escalation", async () => {
|
|
64
|
+
await escalateConversation(target.serverAddress, resolveToken(extra, target.apiKey), args.reason);
|
|
65
|
+
return ESCALATION_RECORDED_COPY;
|
|
66
|
+
}));
|
|
67
|
+
return ["escalate_to_human"];
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/domains/conversation/tools.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,2DAA2D;AAC3D,8DAA8D;AAC9D,sEAAsE;AACtE,kEAAkE;AAClE,iCAAiC;AACjC,EAAE;AACF,6DAA6D;AAC7D,uEAAuE;AACvE,kEAAkE;AAClE,oEAAoE;AACpE,8DAA8D;AAC9D,EAAE;AACF,uEAAuE;AACvE,2DAA2D;AAC3D,wEAAwE;AACxE,sEAAsE;AACtE,oEAAoE;AACpE,+CAA+C;AAG/C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAsB,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,oBAAoB,GAAG;IAC3B,4EAA4E;QAC1E,4EAA4E;QAC5E,sEAAsE;QACtE,kCAAkC;IACpC,0EAA0E;QACxE,0EAA0E;QAC1E,gDAAgD;IAClD,qEAAqE;QACnE,0EAA0E;QAC1E,WAAW;CACd,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAEf;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GACnC,gEAAgE;IAChE,sEAAsE;IACtE,+CAA+C,CAAC;AAElD,4EAA4E;AAC5E,MAAM,UAAU,yBAAyB,CAAC,MAAiB,EAAE,MAAqB;IAChF,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;QACE,WAAW,EAAE,oBAAoB;QACjC,WAAW,EAAE;YACX,iDAAiD;YACjD,2DAA2D;YAC3D,iEAAiE;YACjE,2DAA2D;YAC3D,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,IAAI,CAAC;iBACT,QAAQ,CACP,kEAAkE;gBAChE,iEAAiE;gBACjE,4BAA4B,CAC/B;SACJ;KACF,EACD,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACd,kBAAkB,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,oBAAoB,CACxB,MAAM,CAAC,aAAa,EACpB,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAClC,IAAI,CAAC,MAAM,CACZ,CAAC;QACF,OAAO,wBAAwB,CAAC;IAClC,CAAC,CAAC,CACL,CAAC;IAEF,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAC/B,CAAC"}
|
package/gen/workflow.d.ts
CHANGED
|
@@ -174,47 +174,23 @@ export declare const WorkflowInputSchema: z.ZodObject<{
|
|
|
174
174
|
export type WorkflowInput = z.infer<typeof WorkflowInputSchema>;
|
|
175
175
|
declare const AgentCallTaskConfigInputSchema: z.ZodObject<{
|
|
176
176
|
agent: z.ZodString;
|
|
177
|
-
org: z.ZodOptional<z.ZodString>;
|
|
178
177
|
message: z.ZodString;
|
|
179
178
|
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
disable_summarization: z.ZodOptional<z.ZodBoolean>;
|
|
186
|
-
custom_trigger_threshold: z.ZodOptional<z.ZodNumber>;
|
|
187
|
-
custom_target_tokens: z.ZodOptional<z.ZodNumber>;
|
|
188
|
-
}, "strip", z.ZodTypeAny, {
|
|
189
|
-
disable_summarization?: boolean | undefined;
|
|
190
|
-
custom_trigger_threshold?: number | undefined;
|
|
191
|
-
custom_target_tokens?: number | undefined;
|
|
192
|
-
}, {
|
|
193
|
-
disable_summarization?: boolean | undefined;
|
|
194
|
-
custom_trigger_threshold?: number | undefined;
|
|
195
|
-
custom_target_tokens?: number | undefined;
|
|
196
|
-
}>>>;
|
|
197
|
-
max_cost_micros: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
179
|
+
run_config: z.ZodOptional<z.ZodLazy<z.ZodObject<{
|
|
180
|
+
model_name: z.ZodOptional<z.ZodString>;
|
|
181
|
+
max_cost_usd: z.ZodOptional<z.ZodNumber>;
|
|
182
|
+
max_tool_rounds: z.ZodOptional<z.ZodNumber>;
|
|
183
|
+
service_tier: z.ZodOptional<z.ZodString>;
|
|
198
184
|
}, "strip", z.ZodTypeAny, {
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
context_management?: {
|
|
204
|
-
disable_summarization?: boolean | undefined;
|
|
205
|
-
custom_trigger_threshold?: number | undefined;
|
|
206
|
-
custom_target_tokens?: number | undefined;
|
|
207
|
-
} | undefined;
|
|
185
|
+
model_name?: string | undefined;
|
|
186
|
+
max_cost_usd?: number | undefined;
|
|
187
|
+
max_tool_rounds?: number | undefined;
|
|
188
|
+
service_tier?: string | undefined;
|
|
208
189
|
}, {
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
context_management?: {
|
|
214
|
-
disable_summarization?: boolean | undefined;
|
|
215
|
-
custom_trigger_threshold?: number | undefined;
|
|
216
|
-
custom_target_tokens?: number | undefined;
|
|
217
|
-
} | undefined;
|
|
190
|
+
model_name?: string | undefined;
|
|
191
|
+
max_cost_usd?: number | undefined;
|
|
192
|
+
max_tool_rounds?: number | undefined;
|
|
193
|
+
service_tier?: string | undefined;
|
|
218
194
|
}>>>;
|
|
219
195
|
output: z.ZodOptional<z.ZodLazy<z.ZodObject<{
|
|
220
196
|
schema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
@@ -233,6 +209,97 @@ declare const AgentCallTaskConfigInputSchema: z.ZodObject<{
|
|
|
233
209
|
fallback_task?: string | undefined;
|
|
234
210
|
}>>>;
|
|
235
211
|
harness: z.ZodOptional<z.ZodString>;
|
|
212
|
+
workspace_entries: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodObject<{
|
|
213
|
+
name: z.ZodOptional<z.ZodString>;
|
|
214
|
+
source: z.ZodLazy<z.ZodObject<{
|
|
215
|
+
git_repo: z.ZodOptional<z.ZodLazy<z.ZodObject<{
|
|
216
|
+
url: z.ZodString;
|
|
217
|
+
branch: z.ZodOptional<z.ZodString>;
|
|
218
|
+
commit: z.ZodOptional<z.ZodString>;
|
|
219
|
+
depth: z.ZodOptional<z.ZodNumber>;
|
|
220
|
+
write_back_mode: z.ZodOptional<z.ZodString>;
|
|
221
|
+
}, "strip", z.ZodTypeAny, {
|
|
222
|
+
url: string;
|
|
223
|
+
branch?: string | undefined;
|
|
224
|
+
commit?: string | undefined;
|
|
225
|
+
depth?: number | undefined;
|
|
226
|
+
write_back_mode?: string | undefined;
|
|
227
|
+
}, {
|
|
228
|
+
url: string;
|
|
229
|
+
branch?: string | undefined;
|
|
230
|
+
commit?: string | undefined;
|
|
231
|
+
depth?: number | undefined;
|
|
232
|
+
write_back_mode?: string | undefined;
|
|
233
|
+
}>>>;
|
|
234
|
+
local_path: z.ZodOptional<z.ZodLazy<z.ZodObject<{
|
|
235
|
+
path: z.ZodOptional<z.ZodString>;
|
|
236
|
+
}, "strip", z.ZodTypeAny, {
|
|
237
|
+
path?: string | undefined;
|
|
238
|
+
}, {
|
|
239
|
+
path?: string | undefined;
|
|
240
|
+
}>>>;
|
|
241
|
+
}, "strip", z.ZodTypeAny, {
|
|
242
|
+
git_repo?: {
|
|
243
|
+
url: string;
|
|
244
|
+
branch?: string | undefined;
|
|
245
|
+
commit?: string | undefined;
|
|
246
|
+
depth?: number | undefined;
|
|
247
|
+
write_back_mode?: string | undefined;
|
|
248
|
+
} | undefined;
|
|
249
|
+
local_path?: {
|
|
250
|
+
path?: string | undefined;
|
|
251
|
+
} | undefined;
|
|
252
|
+
}, {
|
|
253
|
+
git_repo?: {
|
|
254
|
+
url: string;
|
|
255
|
+
branch?: string | undefined;
|
|
256
|
+
commit?: string | undefined;
|
|
257
|
+
depth?: number | undefined;
|
|
258
|
+
write_back_mode?: string | undefined;
|
|
259
|
+
} | undefined;
|
|
260
|
+
local_path?: {
|
|
261
|
+
path?: string | undefined;
|
|
262
|
+
} | undefined;
|
|
263
|
+
}>>;
|
|
264
|
+
}, "strip", z.ZodTypeAny, {
|
|
265
|
+
source: {
|
|
266
|
+
git_repo?: {
|
|
267
|
+
url: string;
|
|
268
|
+
branch?: string | undefined;
|
|
269
|
+
commit?: string | undefined;
|
|
270
|
+
depth?: number | undefined;
|
|
271
|
+
write_back_mode?: string | undefined;
|
|
272
|
+
} | undefined;
|
|
273
|
+
local_path?: {
|
|
274
|
+
path?: string | undefined;
|
|
275
|
+
} | undefined;
|
|
276
|
+
};
|
|
277
|
+
name?: string | undefined;
|
|
278
|
+
}, {
|
|
279
|
+
source: {
|
|
280
|
+
git_repo?: {
|
|
281
|
+
url: string;
|
|
282
|
+
branch?: string | undefined;
|
|
283
|
+
commit?: string | undefined;
|
|
284
|
+
depth?: number | undefined;
|
|
285
|
+
write_back_mode?: string | undefined;
|
|
286
|
+
} | undefined;
|
|
287
|
+
local_path?: {
|
|
288
|
+
path?: string | undefined;
|
|
289
|
+
} | undefined;
|
|
290
|
+
};
|
|
291
|
+
name?: string | undefined;
|
|
292
|
+
}>>, "many">>;
|
|
293
|
+
environment_refs: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodObject<{
|
|
294
|
+
org: z.ZodOptional<z.ZodString>;
|
|
295
|
+
slug: z.ZodString;
|
|
296
|
+
}, "strip", z.ZodTypeAny, {
|
|
297
|
+
slug: string;
|
|
298
|
+
org?: string | undefined;
|
|
299
|
+
}, {
|
|
300
|
+
slug: string;
|
|
301
|
+
org?: string | undefined;
|
|
302
|
+
}>>, "many">>;
|
|
236
303
|
}, "strip", z.ZodTypeAny, {
|
|
237
304
|
message: string;
|
|
238
305
|
agent: string;
|
|
@@ -242,20 +309,33 @@ declare const AgentCallTaskConfigInputSchema: z.ZodObject<{
|
|
|
242
309
|
max_retries?: number | undefined;
|
|
243
310
|
fallback_task?: string | undefined;
|
|
244
311
|
} | undefined;
|
|
245
|
-
org?: string | undefined;
|
|
246
312
|
harness?: string | undefined;
|
|
247
313
|
env?: Record<string, string> | undefined;
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
context_management?: {
|
|
254
|
-
disable_summarization?: boolean | undefined;
|
|
255
|
-
custom_trigger_threshold?: number | undefined;
|
|
256
|
-
custom_target_tokens?: number | undefined;
|
|
257
|
-
} | undefined;
|
|
314
|
+
run_config?: {
|
|
315
|
+
model_name?: string | undefined;
|
|
316
|
+
max_cost_usd?: number | undefined;
|
|
317
|
+
max_tool_rounds?: number | undefined;
|
|
318
|
+
service_tier?: string | undefined;
|
|
258
319
|
} | undefined;
|
|
320
|
+
workspace_entries?: {
|
|
321
|
+
source: {
|
|
322
|
+
git_repo?: {
|
|
323
|
+
url: string;
|
|
324
|
+
branch?: string | undefined;
|
|
325
|
+
commit?: string | undefined;
|
|
326
|
+
depth?: number | undefined;
|
|
327
|
+
write_back_mode?: string | undefined;
|
|
328
|
+
} | undefined;
|
|
329
|
+
local_path?: {
|
|
330
|
+
path?: string | undefined;
|
|
331
|
+
} | undefined;
|
|
332
|
+
};
|
|
333
|
+
name?: string | undefined;
|
|
334
|
+
}[] | undefined;
|
|
335
|
+
environment_refs?: {
|
|
336
|
+
slug: string;
|
|
337
|
+
org?: string | undefined;
|
|
338
|
+
}[] | undefined;
|
|
259
339
|
}, {
|
|
260
340
|
message: string;
|
|
261
341
|
agent: string;
|
|
@@ -265,20 +345,33 @@ declare const AgentCallTaskConfigInputSchema: z.ZodObject<{
|
|
|
265
345
|
max_retries?: number | undefined;
|
|
266
346
|
fallback_task?: string | undefined;
|
|
267
347
|
} | undefined;
|
|
268
|
-
org?: string | undefined;
|
|
269
348
|
harness?: string | undefined;
|
|
270
349
|
env?: Record<string, string> | undefined;
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
context_management?: {
|
|
277
|
-
disable_summarization?: boolean | undefined;
|
|
278
|
-
custom_trigger_threshold?: number | undefined;
|
|
279
|
-
custom_target_tokens?: number | undefined;
|
|
280
|
-
} | undefined;
|
|
350
|
+
run_config?: {
|
|
351
|
+
model_name?: string | undefined;
|
|
352
|
+
max_cost_usd?: number | undefined;
|
|
353
|
+
max_tool_rounds?: number | undefined;
|
|
354
|
+
service_tier?: string | undefined;
|
|
281
355
|
} | undefined;
|
|
356
|
+
workspace_entries?: {
|
|
357
|
+
source: {
|
|
358
|
+
git_repo?: {
|
|
359
|
+
url: string;
|
|
360
|
+
branch?: string | undefined;
|
|
361
|
+
commit?: string | undefined;
|
|
362
|
+
depth?: number | undefined;
|
|
363
|
+
write_back_mode?: string | undefined;
|
|
364
|
+
} | undefined;
|
|
365
|
+
local_path?: {
|
|
366
|
+
path?: string | undefined;
|
|
367
|
+
} | undefined;
|
|
368
|
+
};
|
|
369
|
+
name?: string | undefined;
|
|
370
|
+
}[] | undefined;
|
|
371
|
+
environment_refs?: {
|
|
372
|
+
slug: string;
|
|
373
|
+
org?: string | undefined;
|
|
374
|
+
}[] | undefined;
|
|
282
375
|
}>;
|
|
283
376
|
type AgentCallTaskConfigInput = z.infer<typeof AgentCallTaskConfigInputSchema>;
|
|
284
377
|
declare const CallActivityTaskConfigInputSchema: z.ZodObject<{
|
|
@@ -555,12 +648,12 @@ declare const LlmCallTaskConfigInputSchema: z.ZodObject<{
|
|
|
555
648
|
timeout?: number | undefined;
|
|
556
649
|
max_cost_micros?: string | number | undefined;
|
|
557
650
|
max_total_tokens?: string | number | undefined;
|
|
558
|
-
temperature?: number | undefined;
|
|
559
651
|
on_invalid?: string | undefined;
|
|
560
652
|
max_retries?: number | undefined;
|
|
561
653
|
fallback_task?: string | undefined;
|
|
562
654
|
system_prompt?: string | undefined;
|
|
563
655
|
response_schema?: Record<string, unknown> | undefined;
|
|
656
|
+
temperature?: number | undefined;
|
|
564
657
|
max_tokens?: number | undefined;
|
|
565
658
|
}, {
|
|
566
659
|
model: string;
|
|
@@ -568,12 +661,12 @@ declare const LlmCallTaskConfigInputSchema: z.ZodObject<{
|
|
|
568
661
|
timeout?: number | undefined;
|
|
569
662
|
max_cost_micros?: string | number | undefined;
|
|
570
663
|
max_total_tokens?: string | number | undefined;
|
|
571
|
-
temperature?: number | undefined;
|
|
572
664
|
on_invalid?: string | undefined;
|
|
573
665
|
max_retries?: number | undefined;
|
|
574
666
|
fallback_task?: string | undefined;
|
|
575
667
|
system_prompt?: string | undefined;
|
|
576
668
|
response_schema?: Record<string, unknown> | undefined;
|
|
669
|
+
temperature?: number | undefined;
|
|
577
670
|
max_tokens?: number | undefined;
|
|
578
671
|
}>;
|
|
579
672
|
type LlmCallTaskConfigInput = z.infer<typeof LlmCallTaskConfigInputSchema>;
|
package/gen/workflow.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/gen/workflow.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/gen/workflow.ts"],"names":[],"mappings":"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"}
|