@artinet/sdk 0.2.1 → 0.3.2

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 (64) hide show
  1. package/CHANGELOG.md +35 -4
  2. package/LICENSE +201 -21
  3. package/README.md +281 -413
  4. package/dist/client/a2a-client.d.ts +3 -4
  5. package/dist/client/a2a-client.d.ts.map +1 -1
  6. package/dist/client/a2a-client.js +9 -9
  7. package/dist/client/a2a-client.js.map +1 -1
  8. package/dist/client/interfaces/client.d.ts +95 -0
  9. package/dist/client/interfaces/client.d.ts.map +1 -1
  10. package/dist/server/a2a-server.d.ts +7 -0
  11. package/dist/server/a2a-server.d.ts.map +1 -1
  12. package/dist/server/a2a-server.js +34 -4
  13. package/dist/server/a2a-server.js.map +1 -1
  14. package/dist/server/interfaces/params.d.ts +46 -9
  15. package/dist/server/interfaces/params.d.ts.map +1 -1
  16. package/dist/server/interfaces/params.js.map +1 -1
  17. package/dist/server/interfaces/server.d.ts +1 -0
  18. package/dist/server/interfaces/server.d.ts.map +1 -1
  19. package/dist/server/lib/express-server.d.ts.map +1 -1
  20. package/dist/server/lib/express-server.js +2 -2
  21. package/dist/server/lib/express-server.js.map +1 -1
  22. package/dist/server/lib/json-middleware.d.ts +2 -18
  23. package/dist/server/lib/json-middleware.d.ts.map +1 -1
  24. package/dist/server/lib/json-middleware.js +2 -179
  25. package/dist/server/lib/json-middleware.js.map +1 -1
  26. package/dist/server/lib/middleware/a2a-methods.d.ts +7 -0
  27. package/dist/server/lib/middleware/a2a-methods.d.ts.map +1 -0
  28. package/dist/server/lib/middleware/a2a-methods.js +103 -0
  29. package/dist/server/lib/middleware/a2a-methods.js.map +1 -0
  30. package/dist/server/lib/middleware/factory.d.ts +12 -0
  31. package/dist/server/lib/middleware/factory.d.ts.map +1 -0
  32. package/dist/server/lib/middleware/factory.js +59 -0
  33. package/dist/server/lib/middleware/factory.js.map +1 -0
  34. package/dist/server/lib/storage/file.js +1 -0
  35. package/dist/server/lib/storage/file.js.map +1 -1
  36. package/dist/server/lib/storage/memory.js +1 -3
  37. package/dist/server/lib/storage/memory.js.map +1 -1
  38. package/dist/transport/streaming/event-stream.d.ts.map +1 -1
  39. package/dist/transport/streaming/event-stream.js +31 -14
  40. package/dist/transport/streaming/event-stream.js.map +1 -1
  41. package/dist/types/extended-schema.d.ts +2 -1
  42. package/dist/types/extended-schema.d.ts.map +1 -1
  43. package/dist/types/extended-schema.js.map +1 -1
  44. package/dist/utils/api/register.d.ts +25 -0
  45. package/dist/utils/api/register.d.ts.map +1 -0
  46. package/dist/utils/api/register.js +96 -0
  47. package/dist/utils/api/register.js.map +1 -0
  48. package/dist/utils/common/errors.d.ts +13 -13
  49. package/dist/utils/common/errors.d.ts.map +1 -1
  50. package/dist/utils/common/errors.js +10 -2
  51. package/dist/utils/common/errors.js.map +1 -1
  52. package/dist/utils/common/utils.d.ts +1 -0
  53. package/dist/utils/common/utils.d.ts.map +1 -1
  54. package/dist/utils/common/utils.js +9 -0
  55. package/dist/utils/common/utils.js.map +1 -1
  56. package/dist/utils/index.d.ts +1 -0
  57. package/dist/utils/index.d.ts.map +1 -1
  58. package/dist/utils/index.js +1 -0
  59. package/dist/utils/index.js.map +1 -1
  60. package/dist/utils/logging/logger.d.ts +2 -2
  61. package/dist/utils/logging/logger.d.ts.map +1 -1
  62. package/dist/utils/logging/logger.js +1 -1
  63. package/dist/utils/logging/logger.js.map +1 -1
  64. package/package.json +10 -9
@@ -1,180 +1,3 @@
1
- import { getCurrentTimestamp } from "../../utils/common/utils.js";
2
- import { logError, logWarn } from "../../utils/logging/log.js";
3
- import { loadState, updateState } from "../lib/state.js";
4
- import { INTERNAL_ERROR, INVALID_PARAMS, METHOD_NOT_FOUND, PUSH_NOTIFICATION_NOT_SUPPORTED, TASK_NOT_CANCELABLE, TASK_NOT_FOUND, FAILED_UPDATE, } from "../../utils/common/errors.js";
5
- import { JSONRPCServer, } from "../interfaces/params.js";
6
- function toJaysonError(error) {
7
- return {
8
- code: error.code,
9
- message: error.message,
10
- data: error.data,
11
- };
12
- }
13
- /**
14
- * Default implementation of createJSONRPCServer
15
- * This implementation is used by the Artinet API server
16
- * It provides a basic JSON-RPC server with methods for task creation, retrieval, and cancellation
17
- * Creates and initializes a Jayson server with A2A methods
18
- * @param params Object containing all required parameters for server initialization
19
- * @returns A configured Jayson server instance
20
- */
21
- /**
22
- * Default implementation of createJSONRPCServer
23
- * This implementation is used by the Artinet API server
24
- * It provides a basic JSON-RPC server with methods for task creation, retrieval, and cancellation
25
- * Creates and initializes a Jayson server with A2A methods
26
- * @param params Object containing all required parameters for server initialization
27
- * @returns A configured Jayson server instance
28
- */
29
- export function defaultCreateJSONRPCServer(params) {
30
- const { taskStore, card, taskHandler, activeCancellations, createTaskContext, closeStreamsForTask, } = params;
31
- return new JSONRPCServer({
32
- "tasks/send": async (params, callback) => {
33
- try {
34
- // Validate params
35
- if (!params || !params.id || !params.message) {
36
- return callback(toJaysonError(INVALID_PARAMS()));
37
- }
38
- const { id: taskId, message, sessionId, metadata } = params;
39
- // Load or create task
40
- let currentData = await loadState(taskStore, taskId, message, sessionId, metadata);
41
- // Create task context
42
- const context = createTaskContext(currentData.task, message, currentData.history);
43
- const generator = taskHandler(context);
44
- try {
45
- for await (const update of generator) {
46
- currentData = await updateState(taskStore, currentData, update);
47
- }
48
- return callback(null, currentData.task);
49
- }
50
- catch (error) {
51
- const failedUpdate = FAILED_UPDATE(`Task processing failed: ${error instanceof Error ? error.message : String(error)}`);
52
- currentData = await updateState(taskStore, currentData, failedUpdate);
53
- return callback(toJaysonError(INTERNAL_ERROR(error)));
54
- }
55
- }
56
- catch (error) {
57
- logError("tasks/send", "Error in tasks/send", error);
58
- return callback(toJaysonError(INTERNAL_ERROR(error)));
59
- }
60
- },
61
- "tasks/get": async (params, callback) => {
62
- try {
63
- const { id: taskId } = params;
64
- if (!taskId) {
65
- return callback(toJaysonError(INVALID_PARAMS()));
66
- }
67
- // Load the task
68
- const data = await taskStore.load(taskId);
69
- if (!data) {
70
- return callback(toJaysonError(TASK_NOT_FOUND()));
71
- }
72
- return callback(null, data.task);
73
- }
74
- catch (error) {
75
- logError("tasks/get", "Error in tasks/get", error);
76
- return callback(toJaysonError(INTERNAL_ERROR(error)));
77
- }
78
- },
79
- "tasks/cancel": async (params, callback) => {
80
- try {
81
- const { id: taskId } = params;
82
- if (!taskId) {
83
- return callback(toJaysonError(INVALID_PARAMS()));
84
- }
85
- // Load the task
86
- const data = await taskStore.load(taskId);
87
- if (!data) {
88
- return callback(toJaysonError(TASK_NOT_FOUND()));
89
- }
90
- // Check if task is already in a final state
91
- const finalStates = ["completed", "failed", "canceled"];
92
- if (finalStates.includes(data.task.status.state)) {
93
- return callback(toJaysonError(TASK_NOT_CANCELABLE()));
94
- }
95
- // Mark as cancelled
96
- activeCancellations.add(taskId);
97
- // Create updated task with canceled status
98
- const canceledTask = {
99
- ...data.task,
100
- status: {
101
- state: "canceled",
102
- timestamp: getCurrentTimestamp(),
103
- message: {
104
- role: "agent",
105
- parts: [{ type: "text", text: "Task was canceled." }],
106
- },
107
- },
108
- };
109
- const updatedData = {
110
- task: canceledTask,
111
- history: data.history,
112
- };
113
- await taskStore.save(updatedData);
114
- closeStreamsForTask(taskId);
115
- return callback(null, canceledTask);
116
- }
117
- catch (error) {
118
- logError("tasks/cancel", "Error in tasks/cancel", error);
119
- callback(toJaysonError(INTERNAL_ERROR(error)));
120
- }
121
- },
122
- "tasks/pushNotification/set": async (params, callback) => {
123
- try {
124
- logWarn("tasks/pushNotification/set", "Push notifications are not fully implemented.");
125
- if (!card.capabilities?.pushNotifications) {
126
- return callback(toJaysonError(METHOD_NOT_FOUND()));
127
- }
128
- const config = params;
129
- // Basic validation
130
- if (!config.id) {
131
- return callback(toJaysonError(INVALID_PARAMS()));
132
- }
133
- if (!config.pushNotificationConfig?.url) {
134
- return callback(toJaysonError(INVALID_PARAMS()));
135
- }
136
- // Verify the task exists
137
- const data = await taskStore.load(config.id);
138
- if (!data) {
139
- return callback(toJaysonError(TASK_NOT_FOUND()));
140
- }
141
- // In a real implementation, we'd store this config
142
- // For now, we'll just return it
143
- return callback(null, config);
144
- }
145
- catch (error) {
146
- logError("tasks/pushNotification/set", "Error in tasks/pushNotification/set", error);
147
- return callback(toJaysonError(INTERNAL_ERROR(error)));
148
- }
149
- },
150
- "tasks/pushNotification/get": async (params, callback) => {
151
- try {
152
- logWarn("tasks/pushNotification/get", "Push notifications are not fully implemented.");
153
- if (!card.capabilities?.pushNotifications) {
154
- return callback(toJaysonError(PUSH_NOTIFICATION_NOT_SUPPORTED()));
155
- }
156
- const { id: taskId } = params;
157
- if (!taskId) {
158
- return callback(toJaysonError(INVALID_PARAMS()));
159
- }
160
- // Verify the task exists
161
- const data = await taskStore.load(taskId);
162
- if (!data) {
163
- return callback(toJaysonError(TASK_NOT_FOUND()));
164
- }
165
- // In a real implementation, we'd retrieve a stored config
166
- // For now, return null (no push notification config)
167
- return callback(null, null);
168
- }
169
- catch (error) {
170
- logError("tasks/pushNotification/get", "Error in tasks/pushNotification/get", error);
171
- return callback(toJaysonError(INTERNAL_ERROR(error)));
172
- }
173
- },
174
- }, {
175
- //server options
176
- reviver: undefined,
177
- replacer: undefined,
178
- });
179
- }
1
+ export * from "./middleware/factory.js";
2
+ export * from "./middleware/a2a-methods.js";
180
3
  //# sourceMappingURL=json-middleware.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-middleware.js","sourceRoot":"","sources":["../../../src/server/lib/json-middleware.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EACL,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,+BAA+B,EAC/B,mBAAmB,EACnB,cAAc,EACd,aAAa,GAEd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAIL,aAAa,GACd,MAAM,yBAAyB,CAAC;AAGjC,SAAS,aAAa,CAAC,KAAkB;IACvC,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAW;KACxB,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AAEH;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CACxC,MAAiC;IAEjC,MAAM,EACJ,SAAS,EACT,IAAI,EACJ,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,GACpB,GAAG,MAAM,CAAC;IACX,OAAO,IAAI,aAAa,CACtB;QACE,YAAY,EAAE,KAAK,EAAE,MAAW,EAAE,QAAyB,EAAE,EAAE;YAC7D,IAAI,CAAC;gBACH,kBAAkB;gBAClB,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC7C,OAAO,QAAQ,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;gBACnD,CAAC;gBAED,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;gBAE5D,sBAAsB;gBACtB,IAAI,WAAW,GAAG,MAAM,SAAS,CAC/B,SAAS,EACT,MAAM,EACN,OAAO,EACP,SAAS,EACT,QAAQ,CACT,CAAC;gBAEF,sBAAsB;gBACtB,MAAM,OAAO,GAAG,iBAAiB,CAC/B,WAAW,CAAC,IAAI,EAChB,OAAO,EACP,WAAW,CAAC,OAAO,CACpB,CAAC;gBACF,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;gBACvC,IAAI,CAAC;oBACH,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,SAAS,EAAE,CAAC;wBACrC,WAAW,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;oBAClE,CAAC;oBACD,OAAO,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC1C,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,YAAY,GAAoB,aAAa,CACjD,2BAA2B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACpF,CAAC;oBAEF,WAAW,GAAG,MAAM,WAAW,CAC7B,SAAS,EACT,WAAW,EACX,YAAY,CACb,CAAC;oBACF,OAAO,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,QAAQ,CAAC,YAAY,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAAC;gBACrD,OAAO,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAED,WAAW,EAAE,KAAK,EAAE,MAAW,EAAE,QAAyB,EAAE,EAAE;YAC5D,IAAI,CAAC;gBACH,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;gBAC9B,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO,QAAQ,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;gBACnD,CAAC;gBAED,gBAAgB;gBAChB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,OAAO,QAAQ,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;gBACnD,CAAC;gBACD,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,QAAQ,CAAC,WAAW,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAC;gBACnD,OAAO,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAED,cAAc,EAAE,KAAK,EAAE,MAAW,EAAE,QAAyB,EAAE,EAAE;YAC/D,IAAI,CAAC;gBACH,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;gBAC9B,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO,QAAQ,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;gBACnD,CAAC;gBAED,gBAAgB;gBAChB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,OAAO,QAAQ,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;gBACnD,CAAC;gBAED,4CAA4C;gBAC5C,MAAM,WAAW,GAAgB,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACrE,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;oBACjD,OAAO,QAAQ,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;gBACxD,CAAC;gBAED,oBAAoB;gBACpB,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAEhC,2CAA2C;gBAC3C,MAAM,YAAY,GAAG;oBACnB,GAAG,IAAI,CAAC,IAAI;oBACZ,MAAM,EAAE;wBACN,KAAK,EAAE,UAAuB;wBAC9B,SAAS,EAAE,mBAAmB,EAAE;wBAChC,OAAO,EAAE;4BACP,IAAI,EAAE,OAAgB;4BACtB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;yBAC/D;qBACF;iBACF,CAAC;gBAEF,MAAM,WAAW,GAAG;oBAClB,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,IAAI,CAAC,OAAO;iBACtB,CAAC;gBACF,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAClC,mBAAmB,CAAC,MAAM,CAAC,CAAC;gBAC5B,OAAO,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACtC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,QAAQ,CAAC,cAAc,EAAE,uBAAuB,EAAE,KAAK,CAAC,CAAC;gBACzD,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAED,4BAA4B,EAAE,KAAK,EACjC,MAAW,EACX,QAAyB,EACzB,EAAE;YACF,IAAI,CAAC;gBACH,OAAO,CACL,4BAA4B,EAC5B,+CAA+C,CAChD,CAAC;gBACF,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,iBAAiB,EAAE,CAAC;oBAC1C,OAAO,QAAQ,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;gBACrD,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,CAAC;gBAEtB,mBAAmB;gBACnB,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;oBACf,OAAO,QAAQ,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;gBACnD,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC;oBACxC,OAAO,QAAQ,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;gBACnD,CAAC;gBAED,yBAAyB;gBACzB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,OAAO,QAAQ,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;gBACnD,CAAC;gBACD,mDAAmD;gBACnD,gCAAgC;gBAChC,OAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAChC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,QAAQ,CACN,4BAA4B,EAC5B,qCAAqC,EACrC,KAAK,CACN,CAAC;gBACF,OAAO,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAED,4BAA4B,EAAE,KAAK,EACjC,MAAW,EACX,QAAyB,EACzB,EAAE;YACF,IAAI,CAAC;gBACH,OAAO,CACL,4BAA4B,EAC5B,+CAA+C,CAChD,CAAC;gBACF,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,iBAAiB,EAAE,CAAC;oBAC1C,OAAO,QAAQ,CAAC,aAAa,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC;gBACpE,CAAC;gBAED,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;gBAC9B,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO,QAAQ,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;gBACnD,CAAC;gBAED,yBAAyB;gBACzB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,OAAO,QAAQ,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;gBACnD,CAAC;gBACD,0DAA0D;gBAC1D,qDAAqD;gBACrD,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,QAAQ,CACN,4BAA4B,EAC5B,qCAAqC,EACrC,KAAK,CACN,CAAC;gBACF,OAAO,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;KACF,EACD;QACE,gBAAgB;QAChB,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,SAAS;KACpB,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"json-middleware.js","sourceRoot":"","sources":["../../../src/server/lib/json-middleware.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { SendTaskMethod, GetTaskMethod, CancelTaskMethod, SetTaskPushNotificationMethod, GetTaskPushNotificationMethod } from "../../interfaces/params.js";
2
+ export declare const defaultSendTaskMethod: SendTaskMethod;
3
+ export declare const defaultGetTaskMethod: GetTaskMethod;
4
+ export declare const defaultCancelTaskMethod: CancelTaskMethod;
5
+ export declare const defaultSetTaskPushNotificationMethod: SetTaskPushNotificationMethod;
6
+ export declare const defaultGetTaskPushNotificationMethod: GetTaskPushNotificationMethod;
7
+ //# sourceMappingURL=a2a-methods.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a2a-methods.d.ts","sourceRoot":"","sources":["../../../../src/server/lib/middleware/a2a-methods.ts"],"names":[],"mappings":"AAcA,OAAO,EACL,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,6BAA6B,EAC7B,6BAA6B,EAC9B,MAAM,4BAA4B,CAAC;AAGpC,eAAO,MAAM,qBAAqB,EAAE,cAuCnC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,aAclC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,gBA8BrC,CAAC;AAEF,eAAO,MAAM,oCAAoC,EAAE,6BAoBhD,CAAC;AAEJ,eAAO,MAAM,oCAAoC,EAAE,6BAmBhD,CAAC"}
@@ -0,0 +1,103 @@
1
+ import { extractTaskId, getCurrentTimestamp } from "../../../utils/index.js";
2
+ import { logError, logWarn } from "../../../utils/index.js";
3
+ import { loadState, updateState } from "../state.js";
4
+ import { INTERNAL_ERROR, INVALID_PARAMS, METHOD_NOT_FOUND, PUSH_NOTIFICATION_NOT_SUPPORTED, TASK_NOT_CANCELABLE, TASK_NOT_FOUND, FAILED_UPDATE, SystemError, } from "../../../utils/index.js";
5
+ import { FINAL_STATES } from "../../../utils/index.js";
6
+ export const defaultSendTaskMethod = async (deps, requestParams, callback) => {
7
+ 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);
13
+ try {
14
+ for await (const update of generator) {
15
+ currentData = await updateState(taskStore, currentData, update);
16
+ }
17
+ return callback(null, currentData.task); // Success
18
+ }
19
+ catch (innerError) {
20
+ const failedUpdate = FAILED_UPDATE(`Task processing failed: ${innerError instanceof Error ? innerError.message : String(innerError)}`);
21
+ // Ensure state is saved before calling callback with error
22
+ await updateState(taskStore, currentData, failedUpdate);
23
+ // Throwing here would be caught by createMethod's catch block
24
+ if (innerError instanceof SystemError) {
25
+ throw innerError;
26
+ }
27
+ throw INTERNAL_ERROR(innerError);
28
+ }
29
+ };
30
+ export const defaultGetTaskMethod = async (deps, requestParams, callback) => {
31
+ const { taskStore } = deps;
32
+ const taskId = extractTaskId(requestParams.id);
33
+ if (!taskId)
34
+ throw INVALID_PARAMS("Missing task ID");
35
+ const data = await taskStore.load(taskId);
36
+ if (!data) {
37
+ logError("taskGetLogic", "Task not found", { taskId });
38
+ throw TASK_NOT_FOUND("Task Id: " + taskId);
39
+ }
40
+ callback(null, data.task); // Success
41
+ };
42
+ export const defaultCancelTaskMethod = async (deps, requestParams, callback) => {
43
+ const { taskStore, activeCancellations, closeStreamsForTask } = deps;
44
+ const taskId = extractTaskId(requestParams.id);
45
+ if (!taskId)
46
+ throw INVALID_PARAMS("Missing task ID");
47
+ const data = await taskStore.load(taskId);
48
+ if (!data)
49
+ throw TASK_NOT_FOUND("Task Id: " + taskId);
50
+ if (FINAL_STATES.includes(data.task.status.state)) {
51
+ throw TASK_NOT_CANCELABLE();
52
+ }
53
+ activeCancellations.add(taskId);
54
+ const canceledTask = {
55
+ ...data.task,
56
+ status: {
57
+ state: "canceled",
58
+ timestamp: getCurrentTimestamp(),
59
+ message: {
60
+ role: "agent",
61
+ parts: [{ type: "text", text: "Task was canceled." }],
62
+ },
63
+ },
64
+ };
65
+ const updatedData = { task: canceledTask, history: data.history };
66
+ await taskStore.save(updatedData);
67
+ closeStreamsForTask(taskId);
68
+ return callback(null, canceledTask);
69
+ };
70
+ export const defaultSetTaskPushNotificationMethod = async (deps, requestParams, callback) => {
71
+ const { taskStore, card } = deps;
72
+ logWarn("tasks/pushNotification/set", "Push notifications not fully implemented.");
73
+ if (!card.capabilities?.pushNotifications) {
74
+ throw METHOD_NOT_FOUND();
75
+ }
76
+ const config = requestParams;
77
+ const taskId = extractTaskId(config.id);
78
+ if (!taskId || !config.pushNotificationConfig?.url) {
79
+ throw INVALID_PARAMS();
80
+ }
81
+ const data = await taskStore.load(taskId);
82
+ if (!data) {
83
+ throw TASK_NOT_FOUND();
84
+ }
85
+ return callback(null, config);
86
+ };
87
+ export const defaultGetTaskPushNotificationMethod = async (deps, requestParams, callback) => {
88
+ const { taskStore, card } = deps;
89
+ logWarn("tasks/pushNotification/get", "Push notifications not fully implemented.");
90
+ if (!card.capabilities?.pushNotifications) {
91
+ throw PUSH_NOTIFICATION_NOT_SUPPORTED();
92
+ }
93
+ const taskId = extractTaskId(requestParams.id);
94
+ if (!taskId) {
95
+ throw INVALID_PARAMS();
96
+ }
97
+ const data = await taskStore.load(taskId);
98
+ if (!data) {
99
+ throw TASK_NOT_FOUND();
100
+ }
101
+ return callback(null, null);
102
+ };
103
+ //# sourceMappingURL=a2a-methods.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a2a-methods.js","sourceRoot":"","sources":["../../../../src/server/lib/middleware/a2a-methods.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,+BAA+B,EAC/B,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,WAAW,GACZ,MAAM,yBAAyB,CAAC;AAQjC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,MAAM,CAAC,MAAM,qBAAqB,GAAmB,KAAK,EACxD,IAAI,EACJ,aAAa,EACb,QAAQ,EACR,EAAE;IACF,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC;IAC3D,MAAM,MAAM,GAAG,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC/C,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC;IAEvD,IAAI,WAAW,GAAG,MAAM,SAAS,CAC/B,SAAS,EACT,MAAM,EACN,OAAO,EACP,SAAS,EACT,QAAQ,CACT,CAAC;IACF,MAAM,OAAO,GAAG,iBAAiB,CAC/B,WAAW,CAAC,IAAI,EAChB,OAAO,EACP,WAAW,CAAC,OAAO,CACpB,CAAC;IACF,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,CAAC;QACH,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,SAAS,EAAE,CAAC;YACrC,WAAW,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU;IACrD,CAAC;IAAC,OAAO,UAAU,EAAE,CAAC;QACpB,MAAM,YAAY,GAAoB,aAAa,CACjD,2BAA2B,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CACnG,CAAC;QACF,2DAA2D;QAC3D,MAAM,WAAW,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;QACxD,8DAA8D;QAC9D,IAAI,UAAU,YAAY,WAAW,EAAE,CAAC;YACtC,MAAM,UAAU,CAAC;QACnB,CAAC;QACD,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAkB,KAAK,EACtD,IAAI,EACJ,aAAa,EACb,QAAQ,EACR,EAAE;IACF,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAC3B,MAAM,MAAM,GAAG,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM;QAAE,MAAM,cAAc,CAAC,iBAAiB,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,QAAQ,CAAC,cAAc,EAAE,gBAAgB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACvD,MAAM,cAAc,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC;IAC7C,CAAC;IACD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU;AACvC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAqB,KAAK,EAC5D,IAAI,EACJ,aAAa,EACb,QAAQ,EACR,EAAE;IACF,MAAM,EAAE,SAAS,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC;IACrE,MAAM,MAAM,GAAG,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM;QAAE,MAAM,cAAc,CAAC,iBAAiB,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAI;QAAE,MAAM,cAAc,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC;IACtD,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,MAAM,mBAAmB,EAAE,CAAC;IAC9B,CAAC;IAED,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,YAAY,GAAS;QACzB,GAAG,IAAI,CAAC,IAAI;QACZ,MAAM,EAAE;YACN,KAAK,EAAE,UAAuB;YAC9B,SAAS,EAAE,mBAAmB,EAAE;YAChC,OAAO,EAAE;gBACP,IAAI,EAAE,OAAgB;gBACtB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;aAC/D;SACF;KACF,CAAC;IACF,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAClE,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5B,OAAO,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AACtC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oCAAoC,GAC/C,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE;IACtC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACjC,OAAO,CACL,4BAA4B,EAC5B,2CAA2C,CAC5C,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,iBAAiB,EAAE,CAAC;QAC1C,MAAM,gBAAgB,EAAE,CAAC;IAC3B,CAAC;IACD,MAAM,MAAM,GAAG,aAAa,CAAC;IAC7B,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC;QACnD,MAAM,cAAc,EAAE,CAAC;IACzB,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,cAAc,EAAE,CAAC;IACzB,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAChC,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,oCAAoC,GAC/C,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE;IACtC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACjC,OAAO,CACL,4BAA4B,EAC5B,2CAA2C,CAC5C,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,iBAAiB,EAAE,CAAC;QAC1C,MAAM,+BAA+B,EAAE,CAAC;IAC1C,CAAC;IACD,MAAM,MAAM,GAAG,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,cAAc,EAAE,CAAC;IACzB,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,cAAc,EAAE,CAAC;IACzB,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC9B,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { CreateJSONRPCServerParams, JSONRPCMethodHandler, A2AMethodHandler, CreateJSONRPCServer } from "../../interfaces/params.js";
2
+ import { A2AResponse, RequestParams } from "../../../types/index.js";
3
+ /**
4
+ * Creates a JSON-RPC method handler from a function
5
+ * @param deps Dependencies for the method
6
+ * @param funct The function to be used as the method handler
7
+ * @param methodName The name of the method
8
+ * @returns A JSON-RPC method handler
9
+ */
10
+ export declare function createJSONRPCMethod<Params extends RequestParams, Result extends A2AResponse | null>(deps: CreateJSONRPCServerParams, funct: A2AMethodHandler<Params, Result>, methodName: string): JSONRPCMethodHandler<Params, Result>;
11
+ export declare const defaultCreateJSONRPCServer: CreateJSONRPCServer;
12
+ //# sourceMappingURL=factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../src/server/lib/middleware/factory.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,yBAAyB,EAEzB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AASpC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAErE;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,SAAS,aAAa,EAC5B,MAAM,SAAS,WAAW,GAAG,IAAI,EAEjC,IAAI,EAAE,yBAAyB,EAC/B,KAAK,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,UAAU,EAAE,MAAM,GACjB,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CA4BtC;AAED,eAAO,MAAM,0BAA0B,EAAE,mBAsCxC,CAAC"}
@@ -0,0 +1,59 @@
1
+ import { logError } from "../../../utils/logging/log.js";
2
+ import { INTERNAL_ERROR, INVALID_PARAMS, SystemError, } from "../../../utils/common/errors.js";
3
+ import { JSONRPCServer, } from "../../interfaces/params.js";
4
+ import { defaultSendTaskMethod, defaultGetTaskMethod, defaultCancelTaskMethod, defaultSetTaskPushNotificationMethod, defaultGetTaskPushNotificationMethod, } from "./a2a-methods.js";
5
+ /**
6
+ * Creates a JSON-RPC method handler from a function
7
+ * @param deps Dependencies for the method
8
+ * @param funct The function to be used as the method handler
9
+ * @param methodName The name of the method
10
+ * @returns A JSON-RPC method handler
11
+ */
12
+ export function createJSONRPCMethod(deps, funct, methodName // Pass method name for logging
13
+ ) {
14
+ return async (requestParams, callback) => {
15
+ try {
16
+ if (!requestParams) {
17
+ throw INVALID_PARAMS("Missing request parameters");
18
+ }
19
+ // Execute the specific logic
20
+ await funct(deps, requestParams, callback);
21
+ }
22
+ catch (error) {
23
+ // Centralized error handling ONLY for exceptions thrown by logic
24
+ logError("createJSONRPCMethod", `Exception executing method`, error);
25
+ if (error instanceof SystemError) {
26
+ return callback({
27
+ message: error.message,
28
+ code: error.code,
29
+ data: error.data,
30
+ });
31
+ }
32
+ else {
33
+ logError(methodName, `Failed to process Inner Error`, error);
34
+ const internalError = INTERNAL_ERROR(error);
35
+ return callback({
36
+ message: internalError.message,
37
+ code: internalError.code,
38
+ data: internalError.data,
39
+ });
40
+ }
41
+ }
42
+ };
43
+ }
44
+ export const defaultCreateJSONRPCServer = (params) => {
45
+ // Create handlers using the generic factory and specific logic
46
+ const taskSendMethod = createJSONRPCMethod(params, defaultSendTaskMethod, "tasks/send");
47
+ const taskGetMethod = createJSONRPCMethod(params, defaultGetTaskMethod, "tasks/get");
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");
51
+ return new JSONRPCServer({
52
+ "tasks/send": taskSendMethod,
53
+ "tasks/get": taskGetMethod,
54
+ "tasks/cancel": taskCancelMethod,
55
+ "tasks/pushNotification/set": taskPushNotificationSetMethod,
56
+ "tasks/pushNotification/get": taskPushNotificationGetMethod,
57
+ }, { reviver: undefined, replacer: undefined });
58
+ };
59
+ //# sourceMappingURL=factory.js.map
@@ -0,0 +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"}
@@ -6,6 +6,7 @@ import path from "path";
6
6
  * Stores tasks and their history as JSON files on disk.
7
7
  */
8
8
  export class FileStore {
9
+ baseDir;
9
10
  /**
10
11
  * Creates a new FileStore.
11
12
  * @param baseDir The base directory to store task files in.
@@ -1 +1 @@
1
- {"version":3,"file":"file.js","sourceRoot":"","sources":["../../../../src/server/lib/storage/file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../../../src/server/lib/storage/file.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,7 @@ import { logDebug } from "../../../utils/logging/log.js";
4
4
  * Stores tasks and their history in memory. Not persisted between server restarts.
5
5
  */
6
6
  export class InMemoryTaskStore {
7
- constructor() {
8
- this.store = new Map();
9
- }
7
+ store = new Map();
10
8
  /**
11
9
  * Loads a task and its history by task ID.
12
10
  * @param taskId The ID of the task to load.
@@ -1 +1 @@
1
- {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../../src/server/lib/storage/memory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAEzD;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IAA9B;QACU,UAAK,GAAgC,IAAI,GAAG,EAAE,CAAC;IAkCzD,CAAC;IAhCC;;;;OAIG;IACH,KAAK,CAAC,IAAI,CAAC,MAAc;QACvB,QAAQ,CAAC,mBAAmB,EAAE,iBAAiB,MAAM,EAAE,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAErC,6CAA6C;QAC7C,OAAO,KAAK;YACV,CAAC,CAAC;gBACE,IAAI,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE;gBACvB,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;aAC5B;YACH,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI,CAAC,IAAoB;QAC7B,QAAQ,CAAC,mBAAmB,EAAE,gBAAgB,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAE9D,qEAAqE;QACrE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YAC3B,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE;YACtB,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;SAC3B,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../../src/server/lib/storage/memory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAEzD;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IACpB,KAAK,GAAgC,IAAI,GAAG,EAAE,CAAC;IAEvD;;;;OAIG;IACH,KAAK,CAAC,IAAI,CAAC,MAAc;QACvB,QAAQ,CAAC,mBAAmB,EAAE,iBAAiB,MAAM,EAAE,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAErC,6CAA6C;QAC7C,OAAO,KAAK;YACV,CAAC,CAAC;gBACE,IAAI,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE;gBACvB,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;aAC5B;YACH,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI,CAAC,IAAoB;QAC7B,QAAQ,CAAC,mBAAmB,EAAE,gBAAgB,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAE9D,qEAAqE;QACrE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YAC3B,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE;YACtB,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;SAC3B,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"event-stream.d.ts","sourceRoot":"","sources":["../../../src/transport/streaming/event-stream.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACX,MAAM,gCAAgC,CAAC;AAIxC;;;;;;GAMG;AACH,wBAAuB,iBAAiB,CAAC,SAAS,SAAS,eAAe,EACxE,QAAQ,EAAE,QAAQ,GACjB,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAqDlD;AAED;;;;;;;;;;GAUG;AACH,wBAAuB,mBAAmB,CACxC,GAAG,SAAS,UAAU,EACtB,SAAS,SAAS,eAAe,EAEjC,OAAO,EAAE,GAAG,EACZ,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,EACrB,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,EACrB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAejD"}
1
+ {"version":3,"file":"event-stream.d.ts","sourceRoot":"","sources":["../../../src/transport/streaming/event-stream.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACX,MAAM,gCAAgC,CAAC;AAIxC;;;;;;GAMG;AACH,wBAAuB,iBAAiB,CAAC,SAAS,SAAS,eAAe,EACxE,QAAQ,EAAE,QAAQ,GACjB,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAyElD;AAED;;;;;;;;;;GAUG;AACH,wBAAuB,mBAAmB,CACxC,GAAG,SAAS,UAAU,EACtB,SAAS,SAAS,eAAe,EAEjC,OAAO,EAAE,GAAG,EACZ,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,EACrB,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,EACrB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAgBjD"}
@@ -2,7 +2,7 @@
2
2
  * Event stream utilities for handling Server-Sent Events (SSE).
3
3
  */
4
4
  import { parseResponse } from "../rpc/parser.js";
5
- import { createParser } from "eventsource-parser";
5
+ import { createParser, } from "eventsource-parser";
6
6
  import { sendJsonRpcRequest } from "../rpc/rpc-client.js";
7
7
  import { logError, logWarn, logDebug } from "../../utils/logging/log.js";
8
8
  /**
@@ -26,22 +26,38 @@ export async function* handleEventStream(response) {
26
26
  const reader = response.body.getReader();
27
27
  const decoder = new TextDecoder();
28
28
  const events = [];
29
- const parser = createParser((event) => {
30
- if (event.type === "event" && event.data) {
31
- try {
32
- const parsedData = parseResponse(event.data);
33
- const eventResult = parsedData.result;
34
- if (eventResult) {
35
- events.push(eventResult);
29
+ const parser = createParser({
30
+ onEvent: (event) => {
31
+ if (event.data) {
32
+ if (event.event === "close") {
33
+ logDebug("handleEventStream", "Stream closed");
34
+ return;
36
35
  }
37
- else {
38
- logWarn("handleEventStream", "Failed to parse SSE data", parsedData);
36
+ try {
37
+ const parsedData = parseResponse(event.data);
38
+ const eventResult = parsedData.result;
39
+ if (eventResult) {
40
+ events.push(eventResult);
41
+ }
42
+ else {
43
+ logWarn("handleEventStream", "Failed to parse SSE data", parsedData);
44
+ }
45
+ // if (parsedData.final && parsedData.final === true) {
46
+ // logDebug("handleEventStream", "Stream completed");
47
+ // return;
48
+ // }
49
+ }
50
+ catch (e) {
51
+ logWarn("handleEventStream", "Failed to parse SSE data", e);
39
52
  }
40
53
  }
41
- catch (e) {
42
- logWarn("handleEventStream", "Failed to parse SSE data", e);
43
- }
44
- }
54
+ },
55
+ onError: (error) => {
56
+ logError("handleEventStream", "Error parsing SSE data", error);
57
+ },
58
+ onRetry: (retry) => {
59
+ logWarn("handleEventStream", "Retrying SSE connection", retry);
60
+ },
45
61
  });
46
62
  try {
47
63
  while (true) {
@@ -74,6 +90,7 @@ export async function* executeStreamEvents(baseUrl, method, params, customHeader
74
90
  logDebug("executeStreamEvents", `Sending streaming request to: ${baseUrl.toString()}, method: ${method}`);
75
91
  const responsePromise = sendJsonRpcRequest(baseUrl, method, params, customHeaders, "text/event-stream");
76
92
  const response = await responsePromise;
93
+ logDebug("executeStreamEvents", "Response", response);
77
94
  yield* handleEventStream(response);
78
95
  }
79
96
  //# sourceMappingURL=event-stream.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-stream.js","sourceRoot":"","sources":["../../../src/transport/streaming/event-stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-stream.js","sourceRoot":"","sources":["../../../src/transport/streaming/event-stream.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * These are extensions to the standard A2A protocol defined by Google:
4
4
  * @see https://github.com/google/A2A/blob/main/samples/js/src/schema.ts
5
5
  */
6
- import type { JSONRPCMessage, JSONRPCError, TaskStatusUpdateEvent, TaskArtifactUpdateEvent, TaskStatus, Artifact } from "./schema.js";
6
+ import type { JSONRPCMessage, JSONRPCError, TaskStatusUpdateEvent, TaskArtifactUpdateEvent, TaskStatus, Artifact, A2ARequest } from "./schema.js";
7
7
  /**
8
8
  * Improved JSON-RPC Response types using discriminated unions
9
9
  * These provide better type safety than the standard optional field approach
@@ -47,6 +47,7 @@ export type TaskEvent = TaskStatusUpdateEvent | TaskArtifactUpdateEvent;
47
47
  */
48
48
  export type TaskYieldUpdate = Omit<TaskStatus, "timestamp"> | Artifact;
49
49
  export type ExtendedTaskStatusUpdate = Omit<TaskStatus, "timestamp">;
50
+ export type RequestParams = Required<Pick<A2ARequest, "params">>["params"];
50
51
  export * from "./schema.js";
51
52
  export type { A2AError as A2AErrorType } from "./schema.js";
52
53
  //# sourceMappingURL=extended-schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extended-schema.d.ts","sourceRoot":"","sources":["../../src/types/extended-schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,uBAAuB,EACvB,UAAU,EACV,QAAQ,EACT,MAAM,aAAa,CAAC;AAErB;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,sBAAsB,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,cAAc;IACrE;;OAEG;IACH,MAAM,EAAE,CAAC,CAAC;IAEV;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,cAAc;IACnE;;OAEG;IACH,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAEvB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,MAAM,uBAAuB,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,IAChD,sBAAsB,CAAC,CAAC,CAAC,GACzB,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAE5B,MAAM,MAAM,SAAS,GAAG,qBAAqB,GAAG,uBAAuB,CAAC;AACxE;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC;AAEvE,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AAErE,cAAc,aAAa,CAAC;AAC5B,YAAY,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"extended-schema.d.ts","sourceRoot":"","sources":["../../src/types/extended-schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,uBAAuB,EACvB,UAAU,EACV,QAAQ,EACR,UAAU,EACX,MAAM,aAAa,CAAC;AAErB;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,sBAAsB,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,cAAc;IACrE;;OAEG;IACH,MAAM,EAAE,CAAC,CAAC;IAEV;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,cAAc;IACnE;;OAEG;IACH,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAEvB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,MAAM,uBAAuB,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,IAChD,sBAAsB,CAAC,CAAC,CAAC,GACzB,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAE5B,MAAM,MAAM,SAAS,GAAG,qBAAqB,GAAG,uBAAuB,CAAC;AACxE;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC;AAEvE,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AACrE,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AAE3E,cAAc,aAAa,CAAC;AAC5B,YAAY,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"extended-schema.js","sourceRoot":"","sources":["../../src/types/extended-schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgEH,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"extended-schema.js","sourceRoot":"","sources":["../../src/types/extended-schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAkEH,cAAc,aAAa,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { IRegistration } from "@artinet/metadata-validator";
2
+ import { AgentCard } from "../../types/index.js";
3
+ /**
4
+ * Registers an agent with the A2A registry.
5
+ * @param metadata The metadata to register.
6
+ * @returns A promise that resolves to the registration ID.
7
+ */
8
+ export declare function apiRegister(metadata: string): Promise<{
9
+ success: boolean;
10
+ registrationId?: string;
11
+ error?: string;
12
+ }>;
13
+ /**
14
+ * Converts an AgentCard object into a RegistrationSchema object.
15
+ * @param card The AgentCard to convert.
16
+ * @returns A RegistrationSchema object.
17
+ */
18
+ export declare function convert(card: AgentCard): IRegistration;
19
+ /**
20
+ * Registers an agent with the A2A registry.
21
+ * @param card The AgentCard to register.
22
+ * @returns A promise that resolves to the registration ID.
23
+ */
24
+ export declare function register(card: AgentCard): Promise<string>;
25
+ //# sourceMappingURL=register.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/utils/api/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAqB,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAc,MAAM,sBAAsB,CAAC;AAG7D;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAgBxE;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,aAAa,CAkCtD;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAkC/D"}