@dexto/server 1.8.2 → 1.8.4
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/events/a2a-sse-subscriber.cjs +18 -0
- package/dist/events/a2a-sse-subscriber.d.ts.map +1 -1
- package/dist/events/a2a-sse-subscriber.js +18 -0
- package/dist/events/session-sse-subscriber.cjs +5 -1
- package/dist/events/session-sse-subscriber.d.ts.map +1 -1
- package/dist/events/session-sse-subscriber.js +5 -1
- package/package.json +8 -8
|
@@ -117,6 +117,24 @@ class A2ASseEventSubscriber {
|
|
|
117
117
|
},
|
|
118
118
|
{ signal }
|
|
119
119
|
);
|
|
120
|
+
eventBus.on(
|
|
121
|
+
"interaction:blocked",
|
|
122
|
+
(payload) => {
|
|
123
|
+
this.broadcastToTask(payload.sessionId, "task.message", {
|
|
124
|
+
taskId: payload.sessionId,
|
|
125
|
+
message: {
|
|
126
|
+
role: "agent",
|
|
127
|
+
content: [{ type: "text", text: payload.content }],
|
|
128
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
129
|
+
messageId: payload.messageId
|
|
130
|
+
},
|
|
131
|
+
provider: payload.provider,
|
|
132
|
+
model: payload.model,
|
|
133
|
+
messageId: payload.messageId
|
|
134
|
+
});
|
|
135
|
+
},
|
|
136
|
+
{ signal }
|
|
137
|
+
);
|
|
120
138
|
eventBus.on(
|
|
121
139
|
"llm:error",
|
|
122
140
|
(payload) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a2a-sse-subscriber.d.ts","sourceRoot":"","sources":["../../src/events/a2a-sse-subscriber.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAiB5C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,qBAAqB;IAC9B,OAAO,CAAC,WAAW,CAAyC;IAC5D,OAAO,CAAC,QAAQ,CAAC,CAAgB;IACjC,OAAO,CAAC,qBAAqB,CAAC,CAAkB;IAEhD;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"a2a-sse-subscriber.d.ts","sourceRoot":"","sources":["../../src/events/a2a-sse-subscriber.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAiB5C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,qBAAqB;IAC9B,OAAO,CAAC,WAAW,CAAyC;IAC5D,OAAO,CAAC,QAAQ,CAAC,CAAgB;IACjC,OAAO,CAAC,qBAAqB,CAAC,CAAkB;IAEhD;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IA+IxC;;;;;;;OAOG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC;IAiDxD;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IA0BvB;;;;;;;;OAQG;IACH,OAAO,CAAC,YAAY;IASpB;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc;IAKtB;;OAEG;IACH,OAAO,IAAI,IAAI;IAgBf;;OAEG;IACH,kBAAkB,IAAI,MAAM;IAI5B;;OAEG;IACH,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CASjD"}
|
|
@@ -94,6 +94,24 @@ class A2ASseEventSubscriber {
|
|
|
94
94
|
},
|
|
95
95
|
{ signal }
|
|
96
96
|
);
|
|
97
|
+
eventBus.on(
|
|
98
|
+
"interaction:blocked",
|
|
99
|
+
(payload) => {
|
|
100
|
+
this.broadcastToTask(payload.sessionId, "task.message", {
|
|
101
|
+
taskId: payload.sessionId,
|
|
102
|
+
message: {
|
|
103
|
+
role: "agent",
|
|
104
|
+
content: [{ type: "text", text: payload.content }],
|
|
105
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
106
|
+
messageId: payload.messageId
|
|
107
|
+
},
|
|
108
|
+
provider: payload.provider,
|
|
109
|
+
model: payload.model,
|
|
110
|
+
messageId: payload.messageId
|
|
111
|
+
});
|
|
112
|
+
},
|
|
113
|
+
{ signal }
|
|
114
|
+
);
|
|
97
115
|
eventBus.on(
|
|
98
116
|
"llm:error",
|
|
99
117
|
(payload) => {
|
|
@@ -29,6 +29,7 @@ const SESSION_EVENT_NAMES = [
|
|
|
29
29
|
"llm:thinking",
|
|
30
30
|
"llm:chunk",
|
|
31
31
|
"llm:response",
|
|
32
|
+
"interaction:blocked",
|
|
32
33
|
"llm:tool-call",
|
|
33
34
|
"llm:tool-call-partial",
|
|
34
35
|
"llm:tool-result",
|
|
@@ -59,6 +60,9 @@ function serializeEventPayload(eventName, payload) {
|
|
|
59
60
|
}
|
|
60
61
|
return { ...payload };
|
|
61
62
|
}
|
|
63
|
+
function isSessionScopedPayload(payload) {
|
|
64
|
+
return typeof payload === "object" && payload !== null && "sessionId" in payload && typeof payload.sessionId === "string";
|
|
65
|
+
}
|
|
62
66
|
class SessionSseEventSubscriber {
|
|
63
67
|
connections = /* @__PURE__ */ new Map();
|
|
64
68
|
globalAbortController;
|
|
@@ -70,7 +74,7 @@ class SessionSseEventSubscriber {
|
|
|
70
74
|
const subscribeSessionEvent = (eventName) => {
|
|
71
75
|
const listener = (...args) => {
|
|
72
76
|
const [payload] = args;
|
|
73
|
-
if (!
|
|
77
|
+
if (!isSessionScopedPayload(payload)) {
|
|
74
78
|
return;
|
|
75
79
|
}
|
|
76
80
|
this.broadcastToSession(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-sse-subscriber.d.ts","sourceRoot":"","sources":["../../src/events/session-sse-subscriber.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAwC,MAAM,iBAAiB,CAAC;AACvF,OAAO,KAAK,EAAE,aAAa,EAA2C,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"session-sse-subscriber.d.ts","sourceRoot":"","sources":["../../src/events/session-sse-subscriber.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAwC,MAAM,iBAAiB,CAAC;AACvF,OAAO,KAAK,EAAE,aAAa,EAA2C,MAAM,aAAa,CAAC;AAmE1F,qBAAa,yBAAyB;IAClC,OAAO,CAAC,WAAW,CAA2C;IAC9D,OAAO,CAAC,qBAAqB,CAA8B;IAE3D,SAAS,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAiCxC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC;IAsC3D,OAAO,CAAC,kBAAkB;IAgC1B,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,cAAc;IAKtB,OAAO,IAAI,IAAI;CASlB"}
|
|
@@ -6,6 +6,7 @@ const SESSION_EVENT_NAMES = [
|
|
|
6
6
|
"llm:thinking",
|
|
7
7
|
"llm:chunk",
|
|
8
8
|
"llm:response",
|
|
9
|
+
"interaction:blocked",
|
|
9
10
|
"llm:tool-call",
|
|
10
11
|
"llm:tool-call-partial",
|
|
11
12
|
"llm:tool-result",
|
|
@@ -36,6 +37,9 @@ function serializeEventPayload(eventName, payload) {
|
|
|
36
37
|
}
|
|
37
38
|
return { ...payload };
|
|
38
39
|
}
|
|
40
|
+
function isSessionScopedPayload(payload) {
|
|
41
|
+
return typeof payload === "object" && payload !== null && "sessionId" in payload && typeof payload.sessionId === "string";
|
|
42
|
+
}
|
|
39
43
|
class SessionSseEventSubscriber {
|
|
40
44
|
connections = /* @__PURE__ */ new Map();
|
|
41
45
|
globalAbortController;
|
|
@@ -47,7 +51,7 @@ class SessionSseEventSubscriber {
|
|
|
47
51
|
const subscribeSessionEvent = (eventName) => {
|
|
48
52
|
const listener = (...args) => {
|
|
49
53
|
const [payload] = args;
|
|
50
|
-
if (!
|
|
54
|
+
if (!isSessionScopedPayload(payload)) {
|
|
51
55
|
return;
|
|
52
56
|
}
|
|
53
57
|
this.broadcastToSession(
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dexto/server",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.4",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -31,13 +31,13 @@
|
|
|
31
31
|
"ws": "^8.18.1",
|
|
32
32
|
"yaml": "^2.8.3",
|
|
33
33
|
"@modelcontextprotocol/sdk": "^1.28.0",
|
|
34
|
-
"@dexto/agent-config": "1.8.
|
|
35
|
-
"@dexto/agent-management": "1.8.
|
|
36
|
-
"@dexto/core": "1.8.
|
|
37
|
-
"@dexto/image-local": "1.8.
|
|
38
|
-
"@dexto/llm": "1.8.
|
|
39
|
-
"@dexto/storage": "1.8.
|
|
40
|
-
"@dexto/tools-scheduler": "1.8.
|
|
34
|
+
"@dexto/agent-config": "1.8.4",
|
|
35
|
+
"@dexto/agent-management": "1.8.4",
|
|
36
|
+
"@dexto/core": "1.8.4",
|
|
37
|
+
"@dexto/image-local": "1.8.4",
|
|
38
|
+
"@dexto/llm": "1.8.4",
|
|
39
|
+
"@dexto/storage": "1.8.4",
|
|
40
|
+
"@dexto/tools-scheduler": "1.8.4"
|
|
41
41
|
},
|
|
42
42
|
"files": [
|
|
43
43
|
"dist",
|