@artinet/sdk 0.5.3 → 0.5.5

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 (220) hide show
  1. package/CHANGELOG.md +20 -1
  2. package/README.md +58 -89
  3. package/dist/client/a2a-client.js +25 -7
  4. package/dist/client/a2a-client.js.map +1 -1
  5. package/dist/server/a2a-server.js +51 -241
  6. package/dist/server/a2a-server.js.map +1 -1
  7. package/dist/server/interfaces/params.js.map +1 -1
  8. package/dist/server/interfaces/store.js +16 -0
  9. package/dist/server/interfaces/store.js.map +1 -1
  10. package/dist/server/lib/express-server.js +211 -2
  11. package/dist/server/lib/express-server.js.map +1 -1
  12. package/dist/server/lib/middleware/a2a-methods.js +61 -24
  13. package/dist/server/lib/middleware/a2a-methods.js.map +1 -1
  14. package/dist/server/lib/middleware/factory.js +6 -6
  15. package/dist/server/lib/middleware/factory.js.map +1 -1
  16. package/dist/server/lib/state.js +44 -72
  17. package/dist/server/lib/state.js.map +1 -1
  18. package/dist/server/lib/storage/memory.js.map +1 -1
  19. package/dist/server/lib/update/base.js +109 -0
  20. package/dist/server/lib/update/base.js.map +1 -0
  21. package/dist/services/a2a/index.js +3 -0
  22. package/dist/services/a2a/index.js.map +1 -0
  23. package/dist/services/a2a/repository.js +160 -0
  24. package/dist/services/a2a/repository.js.map +1 -0
  25. package/dist/services/a2a/service.js +247 -0
  26. package/dist/services/a2a/service.js.map +1 -0
  27. package/dist/services/index.js +2 -0
  28. package/dist/services/index.js.map +1 -0
  29. package/dist/services/manager.js +61 -0
  30. package/dist/services/manager.js.map +1 -0
  31. package/dist/services/mcp/index.js +2 -0
  32. package/dist/services/mcp/index.js.map +1 -0
  33. package/dist/services/mcp/service.js +75 -0
  34. package/dist/services/mcp/service.js.map +1 -0
  35. package/dist/transport/rpc/parser.js +2 -1
  36. package/dist/transport/rpc/parser.js.map +1 -1
  37. package/dist/transport/rpc/rpc-client.js.map +1 -1
  38. package/dist/transport/streaming/stream.js +19 -36
  39. package/dist/transport/streaming/stream.js.map +1 -1
  40. package/dist/types/client/a2a-client.d.ts +21 -7
  41. package/dist/types/client/a2a-client.d.ts.map +1 -1
  42. package/dist/types/express.js +2 -0
  43. package/dist/types/express.js.map +1 -0
  44. package/dist/types/extended-schema.js +1 -1
  45. package/dist/types/extended-schema.js.map +1 -1
  46. package/dist/types/index.js +2 -1
  47. package/dist/types/index.js.map +1 -1
  48. package/dist/types/schemas/a2a/auth/auth.js +2 -0
  49. package/dist/types/schemas/a2a/auth/auth.js.map +1 -0
  50. package/dist/types/schemas/a2a/auth/base.js +2 -0
  51. package/dist/types/schemas/a2a/auth/base.js.map +1 -0
  52. package/dist/types/schemas/a2a/auth/index.js +4 -0
  53. package/dist/types/schemas/a2a/auth/index.js.map +1 -0
  54. package/dist/types/schemas/a2a/auth/oauth.js +2 -0
  55. package/dist/types/schemas/a2a/auth/oauth.js.map +1 -0
  56. package/dist/types/schemas/a2a/error.js +45 -0
  57. package/dist/types/schemas/a2a/error.js.map +1 -0
  58. package/dist/types/schemas/a2a/index.js +8 -0
  59. package/dist/types/schemas/a2a/index.js.map +1 -0
  60. package/dist/types/schemas/a2a/message.js +2 -0
  61. package/dist/types/schemas/a2a/message.js.map +1 -0
  62. package/dist/types/schemas/a2a/notification.js +2 -0
  63. package/dist/types/schemas/a2a/notification.js.map +1 -0
  64. package/dist/types/schemas/a2a/parameters.js +2 -0
  65. package/dist/types/schemas/a2a/parameters.js.map +1 -0
  66. package/dist/types/schemas/a2a/ref.js +25 -0
  67. package/dist/types/schemas/a2a/ref.js.map +1 -0
  68. package/dist/types/schemas/a2a/rpc.js +2 -0
  69. package/dist/types/schemas/a2a/rpc.js.map +1 -0
  70. package/dist/types/schemas/a2a/task.js +16 -0
  71. package/dist/types/schemas/a2a/task.js.map +1 -0
  72. package/dist/types/schemas/index.js +2 -0
  73. package/dist/types/schemas/index.js.map +1 -0
  74. package/dist/types/server/a2a-server.d.ts +9 -20
  75. package/dist/types/server/a2a-server.d.ts.map +1 -1
  76. package/dist/types/server/interfaces/params.d.ts +11 -11
  77. package/dist/types/server/interfaces/params.d.ts.map +1 -1
  78. package/dist/types/server/interfaces/server.d.ts +4 -4
  79. package/dist/types/server/interfaces/server.d.ts.map +1 -1
  80. package/dist/types/server/interfaces/store.d.ts +6 -1
  81. package/dist/types/server/interfaces/store.d.ts.map +1 -1
  82. package/dist/types/server/lib/express-server.d.ts +49 -1
  83. package/dist/types/server/lib/express-server.d.ts.map +1 -1
  84. package/dist/types/server/lib/middleware/a2a-methods.d.ts.map +1 -1
  85. package/dist/types/server/lib/middleware/factory.d.ts +2 -2
  86. package/dist/types/server/lib/middleware/factory.d.ts.map +1 -1
  87. package/dist/types/server/lib/state.d.ts +7 -15
  88. package/dist/types/server/lib/state.d.ts.map +1 -1
  89. package/dist/types/server/lib/storage/memory.d.ts.map +1 -1
  90. package/dist/types/server/lib/update/base.d.ts +21 -0
  91. package/dist/types/server/lib/update/base.d.ts.map +1 -0
  92. package/dist/types/services/a2a/index.d.ts +3 -0
  93. package/dist/types/services/a2a/index.d.ts.map +1 -0
  94. package/dist/types/services/a2a/repository.d.ts +77 -0
  95. package/dist/types/services/a2a/repository.d.ts.map +1 -0
  96. package/dist/types/services/a2a/repository.js +2 -0
  97. package/dist/types/services/a2a/repository.js.map +1 -0
  98. package/dist/types/services/a2a/service.d.ts +45 -0
  99. package/dist/types/services/a2a/service.d.ts.map +1 -0
  100. package/dist/types/services/a2a/service.js +2 -0
  101. package/dist/types/services/a2a/service.js.map +1 -0
  102. package/dist/types/services/context.js +29 -0
  103. package/dist/types/services/context.js.map +1 -0
  104. package/dist/types/services/dispatcher.js +33 -0
  105. package/dist/types/services/dispatcher.js.map +1 -0
  106. package/dist/types/services/index.d.ts +2 -0
  107. package/dist/types/services/index.d.ts.map +1 -0
  108. package/dist/types/services/index.js +9 -0
  109. package/dist/types/services/index.js.map +1 -0
  110. package/dist/types/services/manager.d.ts +44 -0
  111. package/dist/types/services/manager.d.ts.map +1 -0
  112. package/dist/types/services/manager.js +2 -0
  113. package/dist/types/services/manager.js.map +1 -0
  114. package/dist/types/services/mcp/index.d.ts +2 -0
  115. package/dist/types/services/mcp/index.d.ts.map +1 -0
  116. package/dist/types/services/mcp/service.d.ts +30 -0
  117. package/dist/types/services/mcp/service.d.ts.map +1 -0
  118. package/dist/types/services/mcp/service.js +8 -0
  119. package/dist/types/services/mcp/service.js.map +1 -0
  120. package/dist/types/services/protocol.js +31 -0
  121. package/dist/types/services/protocol.js.map +1 -0
  122. package/dist/types/services/service.js +2 -0
  123. package/dist/types/services/service.js.map +1 -0
  124. package/dist/types/transform.js +35 -0
  125. package/dist/types/transform.js.map +1 -0
  126. package/dist/types/transport/rpc/parser.d.ts.map +1 -1
  127. package/dist/types/transport/rpc/rpc-client.d.ts.map +1 -1
  128. package/dist/types/transport/streaming/stream.d.ts +6 -5
  129. package/dist/types/transport/streaming/stream.d.ts.map +1 -1
  130. package/dist/types/types/client.d.ts +26 -9
  131. package/dist/types/types/client.d.ts.map +1 -1
  132. package/dist/types/types/express.d.ts +66 -0
  133. package/dist/types/types/express.d.ts.map +1 -0
  134. package/dist/types/types/extended-schema.d.ts +88 -33
  135. package/dist/types/types/extended-schema.d.ts.map +1 -1
  136. package/dist/types/types/index.d.ts +2 -1
  137. package/dist/types/types/index.d.ts.map +1 -1
  138. package/dist/types/types/proxy.d.ts +4 -5
  139. package/dist/types/types/proxy.d.ts.map +1 -1
  140. package/dist/types/types/schemas/a2a/auth/auth.d.ts +80 -0
  141. package/dist/types/types/schemas/a2a/auth/auth.d.ts.map +1 -0
  142. package/dist/types/types/schemas/a2a/auth/base.d.ts +16 -0
  143. package/dist/types/types/schemas/a2a/auth/base.d.ts.map +1 -0
  144. package/dist/types/types/schemas/a2a/auth/index.d.ts +4 -0
  145. package/dist/types/types/schemas/a2a/auth/index.d.ts.map +1 -0
  146. package/dist/types/types/schemas/a2a/auth/oauth.d.ts +124 -0
  147. package/dist/types/types/schemas/a2a/auth/oauth.d.ts.map +1 -0
  148. package/dist/types/types/schemas/a2a/error.d.ts +75 -0
  149. package/dist/types/types/schemas/a2a/error.d.ts.map +1 -0
  150. package/dist/types/types/schemas/a2a/index.d.ts +220 -0
  151. package/dist/types/types/schemas/a2a/index.d.ts.map +1 -0
  152. package/dist/types/types/schemas/a2a/message.d.ts +90 -0
  153. package/dist/types/types/schemas/a2a/message.d.ts.map +1 -0
  154. package/dist/types/types/schemas/a2a/notification.d.ts +87 -0
  155. package/dist/types/types/schemas/a2a/notification.d.ts.map +1 -0
  156. package/dist/types/types/schemas/a2a/parameters.d.ts +188 -0
  157. package/dist/types/types/schemas/a2a/parameters.d.ts.map +1 -0
  158. package/dist/types/types/schemas/a2a/ref.d.ts +2057 -0
  159. package/dist/types/types/schemas/a2a/ref.d.ts.map +1 -0
  160. package/dist/types/types/schemas/a2a/rpc.d.ts +104 -0
  161. package/dist/types/types/schemas/a2a/rpc.d.ts.map +1 -0
  162. package/dist/types/types/schemas/a2a/task.d.ts +252 -0
  163. package/dist/types/types/schemas/a2a/task.d.ts.map +1 -0
  164. package/dist/types/types/schemas/index.d.ts +2 -0
  165. package/dist/types/types/schemas/index.d.ts.map +1 -0
  166. package/dist/types/types/services/a2a/repository.d.ts +85 -0
  167. package/dist/types/types/services/a2a/repository.d.ts.map +1 -0
  168. package/dist/types/types/services/a2a/service.d.ts +29 -0
  169. package/dist/types/types/services/a2a/service.d.ts.map +1 -0
  170. package/dist/types/types/services/context.d.ts +167 -0
  171. package/dist/types/types/services/context.d.ts.map +1 -0
  172. package/dist/types/types/services/dispatcher.d.ts +20 -0
  173. package/dist/types/types/services/dispatcher.d.ts.map +1 -0
  174. package/dist/types/types/services/index.d.ts +9 -0
  175. package/dist/types/types/services/index.d.ts.map +1 -0
  176. package/dist/types/types/services/manager.d.ts +42 -0
  177. package/dist/types/types/services/manager.d.ts.map +1 -0
  178. package/dist/types/types/services/mcp/service.d.ts +57 -0
  179. package/dist/types/types/services/mcp/service.d.ts.map +1 -0
  180. package/dist/types/types/services/protocol.d.ts +30 -0
  181. package/dist/types/types/services/protocol.d.ts.map +1 -0
  182. package/dist/types/types/services/service.d.ts +35 -0
  183. package/dist/types/types/services/service.d.ts.map +1 -0
  184. package/dist/types/types/transform.d.ts +61 -0
  185. package/dist/types/types/transform.d.ts.map +1 -0
  186. package/dist/types/utils/api/register.d.ts.map +1 -1
  187. package/dist/types/utils/common/constants.d.ts +4 -4
  188. package/dist/types/utils/common/constants.d.ts.map +1 -1
  189. package/dist/types/utils/common/errors.d.ts +19 -15
  190. package/dist/types/utils/common/errors.d.ts.map +1 -1
  191. package/dist/types/utils/common/utils.d.ts +2 -13
  192. package/dist/types/utils/common/utils.d.ts.map +1 -1
  193. package/dist/types/utils/deployment/task-wrapper.d.ts +5 -6
  194. package/dist/types/utils/deployment/task-wrapper.d.ts.map +1 -1
  195. package/dist/types/utils/deployment/test-deployment.d.ts +2 -2
  196. package/dist/types/utils/deployment/test-deployment.d.ts.map +1 -1
  197. package/dist/types/utils/logging/log.d.ts.map +1 -1
  198. package/dist/utils/api/register.js +1 -3
  199. package/dist/utils/api/register.js.map +1 -1
  200. package/dist/utils/common/constants.js +37 -24
  201. package/dist/utils/common/constants.js.map +1 -1
  202. package/dist/utils/common/errors.js +20 -9
  203. package/dist/utils/common/errors.js.map +1 -1
  204. package/dist/utils/common/utils.js +5 -27
  205. package/dist/utils/common/utils.js.map +1 -1
  206. package/dist/utils/deployment/agents.js.map +1 -1
  207. package/dist/utils/deployment/task-wrapper.js +3 -3
  208. package/dist/utils/deployment/task-wrapper.js.map +1 -1
  209. package/dist/utils/deployment/test-deployment.js +3 -4
  210. package/dist/utils/deployment/test-deployment.js.map +1 -1
  211. package/dist/utils/logging/log.js.map +1 -1
  212. package/package.json +11 -7
  213. package/dist/types/context.js +0 -2
  214. package/dist/types/context.js.map +0 -1
  215. package/dist/types/schema.js +0 -23
  216. package/dist/types/schema.js.map +0 -1
  217. package/dist/types/types/context.d.ts +0 -41
  218. package/dist/types/types/context.d.ts.map +0 -1
  219. package/dist/types/types/schema.d.ts +0 -694
  220. package/dist/types/types/schema.d.ts.map +0 -1
@@ -1,7 +1,17 @@
1
1
  import cors from "cors";
2
2
  import express from "express";
3
+ import { ServiceManager } from "../../services/manager.js";
4
+ import { errorHandler } from "../../utils/common/errors.js";
5
+ import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
6
+ import { Protocol } from "../../types/services/protocol.js";
7
+ import { v4 as uuidv4 } from "uuid";
8
+ import util from "util";
9
+ import { logError, logInfo } from "../../utils/logging/log.js";
10
+ import { INVALID_REQUEST } from "../../utils/common/errors.js";
11
+ import { A2AService } from "../../services/a2a/service.js";
3
12
  /**
4
- * Creates an Express server for the A2A protocol.
13
+ * @deprecated Use ExpressServer instead.
14
+ * @description Creates an Express server for the A2A protocol.
5
15
  * Handles task creation, streaming, cancellation and more.
6
16
  * Uses Jayson for JSON-RPC handling.
7
17
  */
@@ -21,7 +31,7 @@ export function createExpressServer(params) {
21
31
  try {
22
32
  const body = req.body;
23
33
  if (body && body.method) {
24
- if (body.method === "tasks/sendSubscribe") {
34
+ if (body.method === "message/stream") {
25
35
  return await onTaskSendSubscribe(body, res);
26
36
  }
27
37
  else if (body.method === "tasks/resubscribe") {
@@ -40,4 +50,203 @@ export function createExpressServer(params) {
40
50
  app.use(errorHandler);
41
51
  return { app };
42
52
  }
53
+ /**
54
+ * @description The express server class.
55
+ */
56
+ export class ExpressServer extends ServiceManager {
57
+ basePath;
58
+ fallbackPath;
59
+ _serverInstance;
60
+ port;
61
+ app;
62
+ register;
63
+ corsOptions;
64
+ initialized = false;
65
+ /**
66
+ * @description Gets the server instance.
67
+ * @returns {http.Server | undefined} The server instance.
68
+ */
69
+ get serverInstance() {
70
+ return this._serverInstance;
71
+ }
72
+ /**
73
+ * @description The constructor.
74
+ * @param {ExpressServerOptions} params The express server options.
75
+ */
76
+ constructor(params) {
77
+ const atBasePath = Object.keys(params.services ?? {}).length > 1 ? false : true;
78
+ super({
79
+ ...params,
80
+ services: params.services ?? {
81
+ [Protocol.A2A]: new A2AService({
82
+ engine: params.engine,
83
+ taskStore: params.storage,
84
+ card: params.card,
85
+ }),
86
+ },
87
+ });
88
+ this.corsOptions = params.corsOptions ?? {
89
+ origin: "*",
90
+ methods: ["GET", "POST", "PUT", "DELETE", "OPTIONS"],
91
+ allowedHeaders: ["Content-Type", "Authorization"],
92
+ };
93
+ let basePath = params.basePath ?? "/";
94
+ if (basePath !== "/") {
95
+ basePath = `/${basePath.replace(/^\/|\/$/g, "")}/`;
96
+ }
97
+ this.basePath = basePath;
98
+ this.fallbackPath = params.fallbackPath ?? "/agent-card";
99
+ this.port = params.port ?? 41241;
100
+ this.app = params.app ?? express();
101
+ this.app.use(cors(this.corsOptions));
102
+ this.app.use(express.json());
103
+ this.register = params.register ?? false;
104
+ this.registerRoutes(atBasePath);
105
+ }
106
+ /**
107
+ * @description Registers the routes.
108
+ * @param {StreamableHTTPServerTransport} transport The mcp transport.
109
+ */
110
+ registerRoutes(atBasePath = true, transport) {
111
+ this.app.get(`/.well-known/agent.json`, (_, res) => {
112
+ res.json(this.getCard());
113
+ });
114
+ this.app.get(this.fallbackPath, (_, res) => {
115
+ res.json(this.getCard());
116
+ });
117
+ for (const service of Object.values(this.services)) {
118
+ const path = atBasePath
119
+ ? `${this.basePath}`
120
+ : this.basePath === "/"
121
+ ? `/${service.protocol}`
122
+ : `${this.basePath}${service.protocol}`;
123
+ this.app.get(path, async (req, res, next) => {
124
+ try {
125
+ const { id, method, params, jsonrpc } = req.body;
126
+ if (jsonrpc !== "2.0") {
127
+ res.status(400).json({ error: "Invalid JSON-RPC version" });
128
+ return;
129
+ }
130
+ const context = this.createRequestContext({
131
+ id,
132
+ protocol: service.protocol,
133
+ method,
134
+ params: {
135
+ ...params,
136
+ protocol: service.protocol,
137
+ },
138
+ request: req,
139
+ response: res,
140
+ transport: service.protocol === Protocol.MCP
141
+ ? transport
142
+ ? transport
143
+ : new StreamableHTTPServerTransport({
144
+ sessionIdGenerator: () => uuidv4(),
145
+ })
146
+ : undefined,
147
+ });
148
+ return await this.onRequest(context).catch((error) => {
149
+ res.status(500).json({ id, error: error.message });
150
+ });
151
+ }
152
+ catch (error) {
153
+ logError("ExpressServer", "Error in GET", error);
154
+ next(error);
155
+ }
156
+ });
157
+ this.app.post(path, async (req, res, next) => {
158
+ try {
159
+ const { id, method, params, jsonrpc } = req.body;
160
+ if (jsonrpc !== "2.0") {
161
+ res.status(200).send({
162
+ jsonrpc: "2.0",
163
+ id: id,
164
+ error: INVALID_REQUEST({
165
+ jsonrpc: jsonrpc,
166
+ data: req.body,
167
+ }),
168
+ });
169
+ return;
170
+ }
171
+ const context = this.createRequestContext({
172
+ id,
173
+ protocol: service.protocol,
174
+ method,
175
+ params: {
176
+ ...params,
177
+ protocol: service.protocol,
178
+ },
179
+ request: req,
180
+ response: res,
181
+ transport: service.protocol === Protocol.MCP
182
+ ? transport
183
+ ? transport
184
+ : new StreamableHTTPServerTransport({
185
+ sessionIdGenerator: () => uuidv4(),
186
+ })
187
+ : undefined,
188
+ });
189
+ return await this.onRequest(context).catch((error) => {
190
+ res.status(500).json({ error: error.message });
191
+ });
192
+ }
193
+ catch (error) {
194
+ console.error("Error in POST", error);
195
+ next(error);
196
+ }
197
+ });
198
+ }
199
+ this.app.use(errorHandler);
200
+ this.initialized = true;
201
+ }
202
+ /**
203
+ * @description Gets the app.
204
+ * @returns {express.Express} The app.
205
+ */
206
+ getApp() {
207
+ if (!this.initialized) {
208
+ this.registerRoutes();
209
+ }
210
+ return this.app;
211
+ }
212
+ /**
213
+ * @description Starts the server.
214
+ * @returns {Promise<http.Server>} The server.
215
+ */
216
+ async start() {
217
+ if (!this.initialized) {
218
+ this.registerRoutes();
219
+ }
220
+ if (this._serverInstance) {
221
+ return this._serverInstance;
222
+ }
223
+ this._serverInstance = this.app.listen(this.port, () => {
224
+ logInfo("ExpressServer", `Express Server started and listening`, {
225
+ port: this.port,
226
+ path: this.basePath,
227
+ });
228
+ });
229
+ return this._serverInstance;
230
+ }
231
+ /**
232
+ * @description Stops the server.
233
+ */
234
+ async stop() {
235
+ await super.destroy();
236
+ if (!this._serverInstance) {
237
+ return;
238
+ }
239
+ try {
240
+ const closeServer = util
241
+ .promisify(this._serverInstance.close)
242
+ .bind(this._serverInstance);
243
+ await closeServer();
244
+ this._serverInstance = undefined;
245
+ }
246
+ catch (error) {
247
+ this._serverInstance = undefined;
248
+ logError("ExpressServer", "Error stopping server:", error);
249
+ }
250
+ }
251
+ }
43
252
  //# sourceMappingURL=express-server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"express-server.js","sourceRoot":"","sources":["../../../src/server/lib/express-server.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,OAA4C,MAAM,SAAS,CAAC;AAGnE;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAiC;IAGnE,MAAM,EACJ,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,GAClB,GAAG,MAAM,CAAC;IACX,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IAEtB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAE3B,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAExB,GAAG,CAAC,GAAG,CAAC,yBAAyB,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QAC5C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QAC/B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,WAAW;IACX,GAAG,CAAC,IAAI,CACN,QAAQ,EACR,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QACxD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YACtB,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACxB,IAAI,IAAI,CAAC,MAAM,KAAK,qBAAqB,EAAE,CAAC;oBAC1C,OAAO,MAAM,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC9C,CAAC;qBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;oBAC/C,OAAO,MAAM,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;YACD,IAAI,EAAE,CAAC;QACT,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,CAAC;QACd,CAAC;IACH,CAAC,CACF,CAAC;IAEF,YAAY;IACZ,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC;IAE3C,yBAAyB;IACzB,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAEtB,OAAO,EAAE,GAAG,EAAE,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"express-server.js","sourceRoot":"","sources":["../../../src/server/lib/express-server.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,56 @@
1
- import { extractTaskId, getCurrentTimestamp } from "../../../utils/index.js";
1
+ import { Protocol } from "../../../types/services/protocol.js";
2
+ import { getCurrentTimestamp, validateSendMessageParams, } from "../../../utils/index.js";
2
3
  import { logError, logWarn } from "../../../utils/index.js";
3
- import { loadState, updateState } from "../state.js";
4
+ import { loadState, processUpdate } from "../state.js";
4
5
  import { INTERNAL_ERROR, INVALID_PARAMS, PUSH_NOTIFICATION_NOT_SUPPORTED, TASK_NOT_CANCELABLE, TASK_NOT_FOUND, FAILED_UPDATE, SystemError, } from "../../../utils/index.js";
5
6
  import { FINAL_STATES } from "../../../utils/index.js";
7
+ //todo move to the a2a plugin
6
8
  export const defaultSendTaskMethod = async (deps, requestParams, callback) => {
9
+ validateSendMessageParams(requestParams);
7
10
  const { taskStore, taskHandler, createTaskContext } = deps;
8
- const taskId = extractTaskId(requestParams.id);
9
- const { message, sessionId, metadata } = requestParams;
10
- let currentData = await loadState(taskStore, taskId, message, sessionId, metadata);
11
- const context = createTaskContext(currentData.task, message, currentData.history);
12
- const generator = taskHandler(context);
11
+ const { message, configuration, metadata } = requestParams;
12
+ let currentData = await loadState(taskStore, message, metadata, message.taskId, message.contextId);
13
+ const context = createTaskContext(currentData.task, message, currentData.history, configuration);
14
+ const requestContext = {
15
+ id: context.contextId,
16
+ protocol: Protocol.A2A,
17
+ method: "message/send",
18
+ params: requestParams,
19
+ task: currentData.task,
20
+ request: null,
21
+ response: null,
22
+ };
23
+ const executionContext = {
24
+ id: context.contextId,
25
+ protocol: Protocol.A2A,
26
+ getRequestParams: () => requestParams,
27
+ isCancelled: () => deps.activeCancellations.has(context.task.id),
28
+ requestContext: requestContext,
29
+ };
30
+ const generator = taskHandler(executionContext);
13
31
  try {
14
32
  for await (const update of generator) {
15
- currentData = await updateState(taskStore, currentData, update);
33
+ currentData = await processUpdate(taskStore, {
34
+ context: context,
35
+ current: currentData,
36
+ update: update,
37
+ });
16
38
  }
17
- return callback(null, currentData.task); // Success
39
+ const task = {
40
+ ...currentData.task,
41
+ kind: "task",
42
+ history: [...(currentData.task.history || []), ...currentData.history],
43
+ };
44
+ return callback(null, task); // Success
18
45
  }
19
46
  catch (innerError) {
20
- const failedUpdate = FAILED_UPDATE(`Task processing failed: ${innerError instanceof Error ? innerError.message : String(innerError)}`);
47
+ const failedUpdate = FAILED_UPDATE(currentData.task.id, currentData.task.contextId || "unknown", "failed-update", `Task processing failed: ${innerError instanceof Error ? innerError.message : String(innerError)}`);
21
48
  // Ensure state is saved before calling callback with error
22
- await updateState(taskStore, currentData, failedUpdate);
49
+ await processUpdate(taskStore, {
50
+ context: context,
51
+ current: currentData,
52
+ update: failedUpdate,
53
+ });
23
54
  // Throwing here would be caught by createMethod's catch block
24
55
  if (innerError instanceof SystemError) {
25
56
  throw innerError;
@@ -29,7 +60,7 @@ export const defaultSendTaskMethod = async (deps, requestParams, callback) => {
29
60
  };
30
61
  export const defaultGetTaskMethod = async (deps, requestParams, callback) => {
31
62
  const { taskStore } = deps;
32
- const taskId = extractTaskId(requestParams.id);
63
+ const { id: taskId } = requestParams;
33
64
  if (!taskId)
34
65
  throw INVALID_PARAMS("Missing task ID");
35
66
  const data = await taskStore.load(taskId);
@@ -37,18 +68,18 @@ export const defaultGetTaskMethod = async (deps, requestParams, callback) => {
37
68
  logError("taskGetLogic", "Task not found", { taskId });
38
69
  throw TASK_NOT_FOUND("Task Id: " + taskId);
39
70
  }
40
- callback(null, data.task); // Success
71
+ return callback(null, data.task); // Success
41
72
  };
42
73
  export const defaultCancelTaskMethod = async (deps, requestParams, callback) => {
43
74
  const { taskStore, activeCancellations, closeStreamsForTask } = deps;
44
- const taskId = extractTaskId(requestParams.id);
75
+ const { id: taskId } = requestParams;
45
76
  if (!taskId)
46
77
  throw INVALID_PARAMS("Missing task ID");
47
78
  const data = await taskStore.load(taskId);
48
79
  if (!data)
49
80
  throw TASK_NOT_FOUND("Task Id: " + taskId);
50
81
  if (FINAL_STATES.includes(data.task.status.state)) {
51
- throw TASK_NOT_CANCELABLE("Task is in a final state");
82
+ throw TASK_NOT_CANCELABLE("Task is in a final state: " + data.task.status.state);
52
83
  }
53
84
  activeCancellations.add(taskId);
54
85
  const canceledTask = {
@@ -57,8 +88,10 @@ export const defaultCancelTaskMethod = async (deps, requestParams, callback) =>
57
88
  state: "canceled",
58
89
  timestamp: getCurrentTimestamp(),
59
90
  message: {
91
+ kind: "message",
92
+ messageId: data.task.status.message?.messageId || "canceled-task",
60
93
  role: "agent",
61
- parts: [{ type: "text", text: "Task was canceled." }],
94
+ parts: [{ kind: "text", text: "Task was canceled." }],
62
95
  },
63
96
  },
64
97
  };
@@ -69,28 +102,32 @@ export const defaultCancelTaskMethod = async (deps, requestParams, callback) =>
69
102
  };
70
103
  export const defaultSetTaskPushNotificationMethod = async (deps, requestParams, callback) => {
71
104
  const { taskStore, card } = deps;
72
- logWarn("tasks/pushNotification/set", "Push notifications not fully implemented.");
105
+ logWarn("tasks/pushNotificationConfig/set", "Push notifications not fully implemented.");
73
106
  if (!card.capabilities?.pushNotifications) {
74
107
  throw PUSH_NOTIFICATION_NOT_SUPPORTED("Push notifications not supported");
75
108
  }
76
109
  const config = requestParams;
77
- const taskId = extractTaskId(config.id);
78
- if (!taskId || !config.pushNotificationConfig?.url) {
110
+ if (!config.taskId || !config.pushNotificationConfig?.url) {
79
111
  throw INVALID_PARAMS("Missing task ID or push notification URL");
80
112
  }
81
- const data = await taskStore.load(taskId);
113
+ const data = await taskStore.load(config.taskId);
82
114
  if (!data) {
83
- throw TASK_NOT_FOUND("Task Id: " + taskId);
115
+ throw TASK_NOT_FOUND("Task Id: " + config.taskId);
84
116
  }
85
- return callback(null, config);
117
+ const response = {
118
+ id: config.taskId,
119
+ jsonrpc: "2.0",
120
+ result: config,
121
+ };
122
+ return callback(null, response);
86
123
  };
87
124
  export const defaultGetTaskPushNotificationMethod = async (deps, requestParams, callback) => {
88
125
  const { taskStore, card } = deps;
89
- logWarn("tasks/pushNotification/get", "Push notifications not fully implemented.");
126
+ logWarn("tasks/pushNotificationConfig/get", "Push notifications not fully implemented.");
90
127
  if (!card.capabilities?.pushNotifications) {
91
128
  throw PUSH_NOTIFICATION_NOT_SUPPORTED("Push notifications not supported");
92
129
  }
93
- const taskId = extractTaskId(requestParams.id);
130
+ const { id: taskId } = requestParams;
94
131
  if (!taskId) {
95
132
  throw INVALID_PARAMS("Missing task ID");
96
133
  }
@@ -1 +1 @@
1
- {"version":3,"file":"a2a-methods.js","sourceRoot":"","sources":["../../../../src/server/lib/middleware/a2a-methods.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"a2a-methods.js","sourceRoot":"","sources":["../../../../src/server/lib/middleware/a2a-methods.ts"],"names":[],"mappings":"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"}
@@ -43,17 +43,17 @@ export function createJSONRPCMethod(deps, funct, methodName // Pass method name
43
43
  }
44
44
  export const defaultCreateJSONRPCServer = (params) => {
45
45
  // Create handlers using the generic factory and specific logic
46
- const taskSendMethod = createJSONRPCMethod(params, defaultSendTaskMethod, "tasks/send");
46
+ const taskSendMethod = createJSONRPCMethod(params, defaultSendTaskMethod, "message/send");
47
47
  const taskGetMethod = createJSONRPCMethod(params, defaultGetTaskMethod, "tasks/get");
48
48
  const taskCancelMethod = createJSONRPCMethod(params, defaultCancelTaskMethod, "tasks/cancel");
49
- const taskPushNotificationSetMethod = createJSONRPCMethod(params, defaultSetTaskPushNotificationMethod, "tasks/pushNotification/set");
50
- const taskPushNotificationGetMethod = createJSONRPCMethod(params, defaultGetTaskPushNotificationMethod, "tasks/pushNotification/get");
49
+ const taskPushNotificationSetMethod = createJSONRPCMethod(params, defaultSetTaskPushNotificationMethod, "tasks/pushNotificationConfig/set");
50
+ const taskPushNotificationGetMethod = createJSONRPCMethod(params, defaultGetTaskPushNotificationMethod, "tasks/pushNotificationConfig/get");
51
51
  return new JSONRPCServer({
52
- "tasks/send": taskSendMethod,
52
+ "message/send": taskSendMethod,
53
53
  "tasks/get": taskGetMethod,
54
54
  "tasks/cancel": taskCancelMethod,
55
- "tasks/pushNotification/set": taskPushNotificationSetMethod,
56
- "tasks/pushNotification/get": taskPushNotificationGetMethod,
55
+ "tasks/pushNotificationConfig/set": taskPushNotificationSetMethod,
56
+ "tasks/pushNotificationConfig/get": taskPushNotificationGetMethod,
57
57
  }, { reviver: undefined, replacer: undefined });
58
58
  };
59
59
  //# sourceMappingURL=factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../src/server/lib/middleware/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EACL,cAAc,EACd,cAAc,EACd,WAAW,GACZ,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAEL,aAAa,GAId,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,oCAAoC,EACpC,oCAAoC,GACrC,MAAM,kBAAkB,CAAC;AAG1B;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAIjC,IAA+B,EAC/B,KAAuC,EACvC,UAAkB,CAAC,+BAA+B;;IAElD,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE;QACvC,IAAI,CAAC;YACH,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,cAAc,CAAC,4BAA4B,CAAC,CAAC;YACrD,CAAC;YACD,6BAA6B;YAC7B,MAAM,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iEAAiE;YACjE,QAAQ,CAAC,qBAAqB,EAAE,4BAA4B,EAAE,KAAK,CAAC,CAAC;YACrE,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;gBACjC,OAAO,QAAQ,CAAC;oBACd,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;iBACjB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,UAAU,EAAE,+BAA+B,EAAE,KAAK,CAAC,CAAC;gBAC7D,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;gBAC5C,OAAO,QAAQ,CAAC;oBACd,OAAO,EAAE,aAAa,CAAC,OAAO;oBAC9B,IAAI,EAAE,aAAa,CAAC,IAAI;oBACxB,IAAI,EAAE,aAAa,CAAC,IAAI;iBACzB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAwB,CAAC,MAAM,EAAE,EAAE;IACxE,+DAA+D;IAC/D,MAAM,cAAc,GAAG,mBAAmB,CACxC,MAAM,EACN,qBAAqB,EACrB,YAAY,CACb,CAAC;IACF,MAAM,aAAa,GAAG,mBAAmB,CACvC,MAAM,EACN,oBAAoB,EACpB,WAAW,CACZ,CAAC;IACF,MAAM,gBAAgB,GAAG,mBAAmB,CAC1C,MAAM,EACN,uBAAuB,EACvB,cAAc,CACf,CAAC;IACF,MAAM,6BAA6B,GAAG,mBAAmB,CACvD,MAAM,EACN,oCAAoC,EACpC,4BAA4B,CAC7B,CAAC;IACF,MAAM,6BAA6B,GAAG,mBAAmB,CACvD,MAAM,EACN,oCAAoC,EACpC,4BAA4B,CAC7B,CAAC;IAEF,OAAO,IAAI,aAAa,CACtB;QACE,YAAY,EAAE,cAAc;QAC5B,WAAW,EAAE,aAAa;QAC1B,cAAc,EAAE,gBAAgB;QAChC,4BAA4B,EAAE,6BAA6B;QAC3D,4BAA4B,EAAE,6BAA6B;KAC5D,EACD,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAC5C,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../src/server/lib/middleware/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EACL,cAAc,EACd,cAAc,EACd,WAAW,GACZ,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAEL,aAAa,GAId,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,oCAAoC,EACpC,oCAAoC,GACrC,MAAM,kBAAkB,CAAC;AAQ1B;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAIjC,IAA+B,EAC/B,KAA8C,EAC9C,UAAkB,CAAC,+BAA+B;;IAElD,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE;QACvC,IAAI,CAAC;YACH,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,cAAc,CAAC,4BAA4B,CAAC,CAAC;YACrD,CAAC;YACD,6BAA6B;YAC7B,MAAM,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iEAAiE;YACjE,QAAQ,CAAC,qBAAqB,EAAE,4BAA4B,EAAE,KAAK,CAAC,CAAC;YACrE,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;gBACjC,OAAO,QAAQ,CAAC;oBACd,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;iBACjB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,UAAU,EAAE,+BAA+B,EAAE,KAAK,CAAC,CAAC;gBAC7D,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;gBAC5C,OAAO,QAAQ,CAAC;oBACd,OAAO,EAAE,aAAa,CAAC,OAAO;oBAC9B,IAAI,EAAE,aAAa,CAAC,IAAI;oBACxB,IAAI,EAAE,aAAa,CAAC,IAAI;iBACzB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAwB,CAAC,MAAM,EAAE,EAAE;IACxE,+DAA+D;IAC/D,MAAM,cAAc,GAAG,mBAAmB,CACxC,MAAM,EACN,qBAAqB,EACrB,cAAc,CACf,CAAC;IACF,MAAM,aAAa,GAAG,mBAAmB,CACvC,MAAM,EACN,oBAAoB,EACpB,WAAW,CACZ,CAAC;IACF,MAAM,gBAAgB,GAAG,mBAAmB,CAC1C,MAAM,EACN,uBAAuB,EACvB,cAAc,CACf,CAAC;IACF,MAAM,6BAA6B,GAAG,mBAAmB,CACvD,MAAM,EACN,oCAAoC,EACpC,kCAAkC,CACnC,CAAC;IACF,MAAM,6BAA6B,GAAG,mBAAmB,CACvD,MAAM,EACN,oCAAoC,EACpC,kCAAkC,CACnC,CAAC;IAEF,OAAO,IAAI,aAAa,CACtB;QACE,cAAc,EAAE,cAAc;QAC9B,WAAW,EAAE,aAAa;QAC1B,cAAc,EAAE,gBAAgB;QAChC,kCAAkC,EAAE,6BAA6B;QACjE,kCAAkC,EAAE,6BAA6B;KAClE,EACD,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAC5C,CAAC;AACJ,CAAC,CAAC"}
@@ -1,107 +1,79 @@
1
- import { getCurrentTimestamp, isArtifactUpdate, isTaskStatusUpdate, } from "../../utils/common/utils.js";
2
- import { INVALID_REQUEST } from "../../utils/common/errors.js";
3
- export function updateTaskStatus(task, update) {
4
- return { ...task.status, ...update, timestamp: getCurrentTimestamp() };
5
- }
6
- export function checkBounds(index, length) {
7
- return index >= 0 && index < length;
8
- }
9
- export function updateByIndex(artifacts, index, update) {
10
- const existingArtifact = artifacts[index];
11
- if (update.append) {
12
- //deep copy to avoid mutating original
13
- const appendedArtifact = JSON.parse(JSON.stringify(existingArtifact));
14
- appendedArtifact.parts.push(...update.parts);
15
- if (update.metadata) {
16
- appendedArtifact.metadata = {
17
- ...(appendedArtifact.metadata || {}),
18
- ...update.metadata,
1
+ import { getCurrentTimestamp } from "../../utils/common/utils.js";
2
+ import { TaskState, } from "../../types/extended-schema.js";
3
+ import { v4 as uuidv4 } from "uuid";
4
+ import { update } from "./update/base.js";
5
+ //todo: move to update.ts
6
+ export function updateByIndex(append, artifacts, index, artifactUpdate) {
7
+ if (append) {
8
+ const existingArtifact = artifacts[index];
9
+ existingArtifact.parts.push(...artifactUpdate.parts);
10
+ if (artifactUpdate.metadata) {
11
+ existingArtifact.metadata = {
12
+ ...(existingArtifact.metadata || {}),
13
+ ...artifactUpdate.metadata,
19
14
  };
20
15
  }
21
- if (update.lastChunk !== undefined) {
22
- appendedArtifact.lastChunk = update.lastChunk;
16
+ if (artifactUpdate.description) {
17
+ existingArtifact.description = artifactUpdate.description;
23
18
  }
24
- if (update.description) {
25
- appendedArtifact.description = update.description;
19
+ if (artifactUpdate.name) {
20
+ existingArtifact.name = artifactUpdate.name;
26
21
  }
27
- artifacts[index] = appendedArtifact;
22
+ artifacts[index] = existingArtifact;
28
23
  }
29
24
  else {
30
- artifacts[index] = { ...update };
25
+ artifacts[index] = { ...artifactUpdate };
31
26
  }
32
27
  return { artifacts, replaced: true };
33
28
  }
34
- export function updateByName(artifacts, update) {
35
- const namedIndex = artifacts.findIndex((a) => a.name === update.name);
36
- if (namedIndex >= 0) {
37
- artifacts[namedIndex] = { ...update };
38
- return { artifacts, replaced: true };
39
- }
40
- return { artifacts: artifacts, replaced: false };
41
- }
42
- export function processArtifactUpdate(artifacts, update) {
43
- const existingIndex = update.index ?? -1;
29
+ //todo: move to update.ts
30
+ export function processArtifactUpdate(append, artifacts, artifactUpdate) {
31
+ const existingIndex = artifacts.findIndex((a) => a.artifactId === artifactUpdate.artifactId);
44
32
  let replaced = false;
45
33
  let newArtifacts = artifacts;
46
- if (checkBounds(existingIndex, artifacts.length)) {
47
- ({ artifacts: newArtifacts, replaced } = updateByIndex(artifacts, existingIndex, update));
48
- }
49
- else if (update.name) {
50
- ({ artifacts: newArtifacts, replaced } = updateByName(artifacts, update));
34
+ if (existingIndex !== -1) {
35
+ ({ artifacts: newArtifacts, replaced } = updateByIndex(append, artifacts, existingIndex, artifactUpdate));
51
36
  }
52
37
  if (!replaced) {
53
- newArtifacts.push({ ...update });
54
- if (newArtifacts.some((a) => a.index !== undefined)) {
55
- newArtifacts.sort((a, b) => (a.index ?? 0) - (b.index ?? 0));
56
- }
57
- replaced = true;
38
+ newArtifacts.push({ ...artifactUpdate });
58
39
  }
59
- return { artifacts: newArtifacts, replaced };
40
+ return newArtifacts;
60
41
  }
61
- export async function updateState(taskStore, current, update) {
62
- const newTask = { ...current.task };
63
- const newHistory = [...current.history];
64
- if (isTaskStatusUpdate(update)) {
65
- newTask.status = updateTaskStatus(newTask, update);
66
- if (update.message?.role === "agent") {
67
- newHistory.push(update.message);
68
- }
42
+ export async function processUpdate(taskStore, updateProps) {
43
+ if (!(await update(updateProps))) {
44
+ throw new Error("processUpdate: Invalid update");
69
45
  }
70
- else if (isArtifactUpdate(update)) {
71
- const artifacts = !newTask.artifacts ? [] : [...newTask.artifacts];
72
- const { artifacts: newArtifacts, replaced } = processArtifactUpdate(artifacts, update);
73
- if (!replaced) {
74
- throw INVALID_REQUEST("Invalid artifact update");
75
- }
76
- newTask.artifacts = newArtifacts;
77
- }
78
- const currentData = { task: newTask, history: newHistory };
79
- await taskStore.save(currentData);
80
- return currentData;
46
+ await taskStore.save(updateProps.current);
47
+ return updateProps.current;
81
48
  }
82
49
  /**
83
50
  * Loads or creates a task and its history.
84
51
  * @param taskId The task ID
85
52
  * @param message The message to process
86
- * @param sessionId Optional session ID
53
+ * @param contextId Optional context ID
87
54
  * @param metadata Optional metadata
88
55
  * @returns The task and history
89
56
  */
90
- export async function loadState(taskStore, taskId, message, sessionId, metadata) {
91
- const existingData = await taskStore.load(taskId);
92
- if (existingData) {
93
- return existingData;
57
+ export async function loadState(taskStore, message, metadata, taskId, contextId) {
58
+ if (taskId) {
59
+ const existingData = await taskStore.load(taskId);
60
+ if (existingData) {
61
+ return existingData;
62
+ }
94
63
  }
95
64
  const timestamp = getCurrentTimestamp();
96
65
  const newTask = {
97
- id: taskId,
98
- sessionId: sessionId,
66
+ id: taskId ?? uuidv4(),
67
+ contextId: contextId ?? uuidv4(),
68
+ kind: "task",
99
69
  status: {
100
- state: "submitted",
70
+ state: TaskState.Submitted,
101
71
  timestamp,
102
72
  },
103
73
  metadata: metadata,
104
74
  };
75
+ message.taskId = newTask.id;
76
+ message.contextId = newTask.contextId;
105
77
  const newHistory = [message];
106
78
  return { task: newTask, history: newHistory };
107
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/server/lib/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/server/lib/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAIL,SAAS,GACV,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,MAAM,EAAe,MAAM,kBAAkB,CAAC;AAEvD,yBAAyB;AACzB,MAAM,UAAU,aAAa,CAC3B,MAAe,EACf,SAAqB,EACrB,KAAa,EACb,cAAwB;IAExB,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,gBAAgB,GAAa,SAAS,CAAC,KAAK,CAAC,CAAC;QACpD,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAErD,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC5B,gBAAgB,CAAC,QAAQ,GAAG;gBAC1B,GAAG,CAAC,gBAAgB,CAAC,QAAQ,IAAI,EAAE,CAAC;gBACpC,GAAG,cAAc,CAAC,QAAQ;aAC3B,CAAC;QACJ,CAAC;QAED,IAAI,cAAc,CAAC,WAAW,EAAE,CAAC;YAC/B,gBAAgB,CAAC,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC;QAC5D,CAAC;QAED,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC;YACxB,gBAAgB,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;QAC9C,CAAC;QAED,SAAS,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,cAAc,EAAE,CAAC;IAC3C,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACvC,CAAC;AAED,yBAAyB;AACzB,MAAM,UAAU,qBAAqB,CACnC,MAAe,EACf,SAAqB,EACrB,cAAwB;IAExB,MAAM,aAAa,GAAG,SAAS,CAAC,SAAS,CACvC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,cAAc,CAAC,UAAU,CAClD,CAAC;IAEF,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,YAAY,GAAG,SAAS,CAAC;IAE7B,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE,CAAC;QACzB,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,aAAa,CACpD,MAAM,EACN,SAAS,EACT,aAAa,EACb,cAAc,CACf,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,YAAY,CAAC,IAAI,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,SAAoB,EACpB,WAAwB;IAExB,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC1C,OAAO,WAAW,CAAC,OAAO,CAAC;AAC7B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,SAAoB,EACpB,OAAgB,EAChB,QAAkC,EAClC,MAAe,EACf,SAAkB;IAElB,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,YAAY,GAA0B,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzE,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IACxC,MAAM,OAAO,GAAS;QACpB,EAAE,EAAE,MAAM,IAAI,MAAM,EAAE;QACtB,SAAS,EAAE,SAAS,IAAI,MAAM,EAAE;QAChC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE;YACN,KAAK,EAAE,SAAS,CAAC,SAAS;YAC1B,SAAS;SACV;QACD,QAAQ,EAAE,QAAQ;KACnB,CAAC;IACF,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;IAC5B,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACtC,MAAM,UAAU,GAAc,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AAChD,CAAC"}