@cleocode/lafs 2026.4.0 → 2026.4.3

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 (131) hide show
  1. package/README.md +97 -68
  2. package/dist/src/a2a/bindings/grpc.d.ts +117 -11
  3. package/dist/src/a2a/bindings/grpc.d.ts.map +1 -1
  4. package/dist/src/a2a/bindings/grpc.js +79 -8
  5. package/dist/src/a2a/bindings/grpc.js.map +1 -1
  6. package/dist/src/a2a/bindings/http.d.ts +129 -14
  7. package/dist/src/a2a/bindings/http.d.ts.map +1 -1
  8. package/dist/src/a2a/bindings/http.js +93 -12
  9. package/dist/src/a2a/bindings/http.js.map +1 -1
  10. package/dist/src/a2a/bindings/index.d.ts +80 -7
  11. package/dist/src/a2a/bindings/index.d.ts.map +1 -1
  12. package/dist/src/a2a/bindings/index.js +69 -2
  13. package/dist/src/a2a/bindings/index.js.map +1 -1
  14. package/dist/src/a2a/bindings/jsonrpc.d.ts +193 -9
  15. package/dist/src/a2a/bindings/jsonrpc.d.ts.map +1 -1
  16. package/dist/src/a2a/bindings/jsonrpc.js +152 -9
  17. package/dist/src/a2a/bindings/jsonrpc.js.map +1 -1
  18. package/dist/src/a2a/bridge.d.ts +232 -37
  19. package/dist/src/a2a/bridge.d.ts.map +1 -1
  20. package/dist/src/a2a/bridge.js +172 -24
  21. package/dist/src/a2a/bridge.js.map +1 -1
  22. package/dist/src/a2a/extensions.d.ts +221 -12
  23. package/dist/src/a2a/extensions.d.ts.map +1 -1
  24. package/dist/src/a2a/extensions.js +175 -11
  25. package/dist/src/a2a/extensions.js.map +1 -1
  26. package/dist/src/a2a/index.d.ts +2 -0
  27. package/dist/src/a2a/index.d.ts.map +1 -1
  28. package/dist/src/a2a/index.js +2 -0
  29. package/dist/src/a2a/index.js.map +1 -1
  30. package/dist/src/a2a/streaming.d.ts +274 -2
  31. package/dist/src/a2a/streaming.d.ts.map +1 -1
  32. package/dist/src/a2a/streaming.js +245 -2
  33. package/dist/src/a2a/streaming.js.map +1 -1
  34. package/dist/src/a2a/task-lifecycle.d.ts +339 -19
  35. package/dist/src/a2a/task-lifecycle.d.ts.map +1 -1
  36. package/dist/src/a2a/task-lifecycle.js +302 -19
  37. package/dist/src/a2a/task-lifecycle.js.map +1 -1
  38. package/dist/src/budgetEnforcement.d.ts +88 -14
  39. package/dist/src/budgetEnforcement.d.ts.map +1 -1
  40. package/dist/src/budgetEnforcement.js +132 -19
  41. package/dist/src/budgetEnforcement.js.map +1 -1
  42. package/dist/src/circuit-breaker/index.d.ts +254 -9
  43. package/dist/src/circuit-breaker/index.d.ts.map +1 -1
  44. package/dist/src/circuit-breaker/index.js +218 -9
  45. package/dist/src/circuit-breaker/index.js.map +1 -1
  46. package/dist/src/compliance.d.ts +176 -0
  47. package/dist/src/compliance.d.ts.map +1 -1
  48. package/dist/src/compliance.js +100 -0
  49. package/dist/src/compliance.js.map +1 -1
  50. package/dist/src/conformance.d.ts +52 -0
  51. package/dist/src/conformance.d.ts.map +1 -1
  52. package/dist/src/conformance.js +41 -0
  53. package/dist/src/conformance.js.map +1 -1
  54. package/dist/src/conformanceProfiles.d.ts +66 -0
  55. package/dist/src/conformanceProfiles.d.ts.map +1 -1
  56. package/dist/src/conformanceProfiles.js +51 -0
  57. package/dist/src/conformanceProfiles.js.map +1 -1
  58. package/dist/src/deprecationRegistry.d.ts +80 -0
  59. package/dist/src/deprecationRegistry.d.ts.map +1 -1
  60. package/dist/src/deprecationRegistry.js +50 -0
  61. package/dist/src/deprecationRegistry.js.map +1 -1
  62. package/dist/src/discovery.d.ts +344 -63
  63. package/dist/src/discovery.d.ts.map +1 -1
  64. package/dist/src/discovery.js +67 -13
  65. package/dist/src/discovery.js.map +1 -1
  66. package/dist/src/envelope.d.ts +252 -0
  67. package/dist/src/envelope.d.ts.map +1 -1
  68. package/dist/src/envelope.js +165 -0
  69. package/dist/src/envelope.js.map +1 -1
  70. package/dist/src/errorRegistry.d.ts +159 -0
  71. package/dist/src/errorRegistry.d.ts.map +1 -1
  72. package/dist/src/errorRegistry.js +115 -0
  73. package/dist/src/errorRegistry.js.map +1 -1
  74. package/dist/src/fieldExtraction.d.ts +125 -25
  75. package/dist/src/fieldExtraction.d.ts.map +1 -1
  76. package/dist/src/fieldExtraction.js +85 -16
  77. package/dist/src/fieldExtraction.js.map +1 -1
  78. package/dist/src/flagResolver.d.ts +75 -9
  79. package/dist/src/flagResolver.d.ts.map +1 -1
  80. package/dist/src/flagResolver.js +20 -4
  81. package/dist/src/flagResolver.js.map +1 -1
  82. package/dist/src/flagSemantics.d.ts +76 -1
  83. package/dist/src/flagSemantics.d.ts.map +1 -1
  84. package/dist/src/flagSemantics.js +66 -0
  85. package/dist/src/flagSemantics.js.map +1 -1
  86. package/dist/src/health/index.d.ts +87 -6
  87. package/dist/src/health/index.d.ts.map +1 -1
  88. package/dist/src/health/index.js +54 -6
  89. package/dist/src/health/index.js.map +1 -1
  90. package/dist/src/index.d.ts +12 -1
  91. package/dist/src/index.d.ts.map +1 -1
  92. package/dist/src/index.js +12 -1
  93. package/dist/src/index.js.map +1 -1
  94. package/dist/src/mviProjection.d.ts +42 -6
  95. package/dist/src/mviProjection.d.ts.map +1 -1
  96. package/dist/src/mviProjection.js +31 -5
  97. package/dist/src/mviProjection.js.map +1 -1
  98. package/dist/src/native-loader.d.ts +49 -0
  99. package/dist/src/native-loader.d.ts.map +1 -0
  100. package/dist/src/native-loader.js +56 -0
  101. package/dist/src/native-loader.js.map +1 -0
  102. package/dist/src/problemDetails.d.ts +70 -4
  103. package/dist/src/problemDetails.d.ts.map +1 -1
  104. package/dist/src/problemDetails.js +21 -3
  105. package/dist/src/problemDetails.js.map +1 -1
  106. package/dist/src/shutdown/index.d.ts +96 -7
  107. package/dist/src/shutdown/index.d.ts.map +1 -1
  108. package/dist/src/shutdown/index.js +72 -7
  109. package/dist/src/shutdown/index.js.map +1 -1
  110. package/dist/src/tokenEstimator.d.ts +97 -11
  111. package/dist/src/tokenEstimator.d.ts.map +1 -1
  112. package/dist/src/tokenEstimator.js +90 -11
  113. package/dist/src/tokenEstimator.js.map +1 -1
  114. package/dist/src/types.d.ts +467 -2
  115. package/dist/src/types.d.ts.map +1 -1
  116. package/dist/src/types.js +64 -0
  117. package/dist/src/types.js.map +1 -1
  118. package/dist/src/validateEnvelope.d.ts +59 -1
  119. package/dist/src/validateEnvelope.d.ts.map +1 -1
  120. package/dist/src/validateEnvelope.js +75 -9
  121. package/dist/src/validateEnvelope.js.map +1 -1
  122. package/dist/tsconfig.build.tsbuildinfo +1 -1
  123. package/lafs.md +3 -4
  124. package/package.json +6 -3
  125. package/dist/src/mcpAdapter.d.ts +0 -29
  126. package/dist/src/mcpAdapter.d.ts.map +0 -1
  127. package/dist/src/mcpAdapter.js +0 -286
  128. package/dist/src/mcpAdapter.js.map +0 -1
  129. package/schemas/v1/conformance-profiles.d.ts +0 -15
  130. package/schemas/v1/envelope.schema.d.ts +0 -14
  131. package/schemas/v1/error-registry.d.ts +0 -24
@@ -4,75 +4,259 @@
4
4
  * Method constants, error codes, and request/response builders
5
5
  * for JSON-RPC 2.0 transport per A2A spec Section 5.3-5.4.
6
6
  */
7
- /** All JSON-RPC method names defined by the A2A protocol */
7
+ /**
8
+ * All JSON-RPC method names defined by the A2A protocol.
9
+ *
10
+ * @remarks
11
+ * Each key corresponds to an A2A operation and each value is the
12
+ * JSON-RPC method string sent on the wire per spec Section 5.3.
13
+ */
8
14
  export declare const JSONRPC_METHODS: {
15
+ /** Send a single message to an agent */
9
16
  readonly SendMessage: "message/send";
17
+ /** Send a streaming message to an agent */
10
18
  readonly SendStreamingMessage: "message/stream";
19
+ /** Retrieve a task by identifier */
11
20
  readonly GetTask: "tasks/get";
21
+ /** List tasks matching query criteria */
12
22
  readonly ListTasks: "tasks/list";
23
+ /** Cancel a running task */
13
24
  readonly CancelTask: "tasks/cancel";
25
+ /** Resubscribe to task events */
14
26
  readonly SubscribeToTask: "tasks/resubscribe";
27
+ /** Set push notification configuration for a task */
15
28
  readonly SetTaskPushNotificationConfig: "tasks/pushNotificationConfig/set";
29
+ /** Get push notification configuration for a task */
16
30
  readonly GetTaskPushNotificationConfig: "tasks/pushNotificationConfig/get";
31
+ /** List push notification configurations for a task */
17
32
  readonly ListTaskPushNotificationConfig: "tasks/pushNotificationConfig/list";
33
+ /** Delete push notification configuration for a task */
18
34
  readonly DeleteTaskPushNotificationConfig: "tasks/pushNotificationConfig/delete";
35
+ /** Retrieve the authenticated extended agent card */
19
36
  readonly GetExtendedAgentCard: "agent/getAuthenticatedExtendedCard";
20
37
  };
38
+ /** Union of all valid JSON-RPC method string values from {@link JSONRPC_METHODS} */
21
39
  export type JsonRpcMethod = (typeof JSONRPC_METHODS)[keyof typeof JSONRPC_METHODS];
22
- /** Standard JSON-RPC 2.0 error codes */
40
+ /**
41
+ * Standard JSON-RPC 2.0 error codes.
42
+ *
43
+ * @remarks
44
+ * These are the error codes defined in the JSON-RPC 2.0 specification
45
+ * and are not A2A-specific.
46
+ */
23
47
  export declare const JSONRPC_STANDARD_ERROR_CODES: {
48
+ /** Invalid JSON was received by the server */
24
49
  readonly ParseError: -32700;
50
+ /** The JSON sent is not a valid Request object */
25
51
  readonly InvalidRequest: -32600;
52
+ /** The method does not exist or is not available */
26
53
  readonly MethodNotFound: -32601;
54
+ /** Invalid method parameter(s) */
27
55
  readonly InvalidParams: -32602;
56
+ /** Internal JSON-RPC error */
28
57
  readonly InternalError: -32603;
29
58
  };
30
- /** A2A-specific error codes (-32001 through -32009) */
59
+ /**
60
+ * A2A-specific error codes (-32001 through -32009).
61
+ *
62
+ * @remarks
63
+ * These codes occupy the JSON-RPC server error range and are
64
+ * defined by the A2A protocol spec Section 5.4.
65
+ */
31
66
  export declare const JSONRPC_A2A_ERROR_CODES: {
67
+ /** The requested task was not found */
32
68
  readonly TaskNotFound: -32001;
69
+ /** The task cannot be canceled in its current state */
33
70
  readonly TaskNotCancelable: -32002;
71
+ /** Push notifications are not supported by the agent */
34
72
  readonly PushNotificationNotSupported: -32003;
73
+ /** The requested operation is not supported */
35
74
  readonly UnsupportedOperation: -32004;
75
+ /** The provided content type is not supported */
36
76
  readonly ContentTypeNotSupported: -32005;
77
+ /** The downstream agent returned an invalid response */
37
78
  readonly InvalidAgentResponse: -32006;
79
+ /** The authenticated extended card is not configured */
38
80
  readonly AuthenticatedExtendedCardNotConfigured: -32007;
81
+ /** A required extension is not supported by the peer */
39
82
  readonly ExtensionSupportRequired: -32008;
83
+ /** The requested protocol version is not supported */
40
84
  readonly VersionNotSupported: -32009;
41
85
  };
86
+ /** Union of A2A error type key names from {@link JSONRPC_A2A_ERROR_CODES} */
42
87
  export type A2AErrorType = keyof typeof JSONRPC_A2A_ERROR_CODES;
88
+ /**
89
+ * A JSON-RPC 2.0 request object.
90
+ *
91
+ * @remarks
92
+ * Represents a well-formed JSON-RPC request per the JSON-RPC 2.0 specification.
93
+ */
43
94
  export interface JsonRpcRequest {
95
+ /** JSON-RPC protocol version, always `"2.0"` */
44
96
  jsonrpc: '2.0';
97
+ /** Client-assigned request identifier */
45
98
  id: string | number;
99
+ /** The RPC method name to invoke */
46
100
  method: string;
101
+ /**
102
+ * Named parameters for the method call.
103
+ * @defaultValue undefined
104
+ */
47
105
  params?: Record<string, unknown>;
48
106
  }
107
+ /**
108
+ * A JSON-RPC 2.0 success response object.
109
+ *
110
+ * @remarks
111
+ * Returned when the method call succeeds. The `result` field contains the
112
+ * method return value and `error` is absent.
113
+ */
49
114
  export interface JsonRpcResponse {
115
+ /** JSON-RPC protocol version, always `"2.0"` */
50
116
  jsonrpc: '2.0';
117
+ /** Identifier matching the originating request, or `null` for notifications */
51
118
  id: string | number | null;
119
+ /** The return value of the invoked method */
52
120
  result: unknown;
53
121
  }
122
+ /**
123
+ * A JSON-RPC 2.0 error response object.
124
+ *
125
+ * @remarks
126
+ * Returned when the method call fails. The `error` field contains the
127
+ * error details and `result` is absent.
128
+ */
54
129
  export interface JsonRpcErrorResponse {
130
+ /** JSON-RPC protocol version, always `"2.0"` */
55
131
  jsonrpc: '2.0';
132
+ /** Identifier matching the originating request, or `null` for notifications */
56
133
  id: string | number | null;
134
+ /** Error descriptor containing code, message, and optional data */
57
135
  error: {
136
+ /** Numeric error code indicating the type of failure */
58
137
  code: number;
138
+ /** Short human-readable description of the error */
59
139
  message: string;
140
+ /**
141
+ * Additional structured error data.
142
+ * @defaultValue undefined
143
+ */
60
144
  data?: Record<string, unknown>;
61
145
  };
62
146
  }
63
- /** Create a JSON-RPC 2.0 request object */
147
+ /**
148
+ * Create a JSON-RPC 2.0 request object.
149
+ *
150
+ * @remarks
151
+ * Builds a spec-compliant request with the `jsonrpc: "2.0"` field set
152
+ * automatically. The `params` field is omitted when not provided.
153
+ *
154
+ * @param id - Client-assigned request identifier
155
+ * @param method - The RPC method name to invoke
156
+ * @param params - Optional named parameters for the method call
157
+ * @returns A fully formed {@link JsonRpcRequest} object
158
+ *
159
+ * @example
160
+ * ```ts
161
+ * const req = createJsonRpcRequest(1, 'tasks/get', { id: 'abc' });
162
+ * // { jsonrpc: '2.0', id: 1, method: 'tasks/get', params: { id: 'abc' } }
163
+ * ```
164
+ */
64
165
  export declare function createJsonRpcRequest(id: string | number, method: string, params?: Record<string, unknown>): JsonRpcRequest;
65
- /** Create a JSON-RPC 2.0 success response */
166
+ /**
167
+ * Create a JSON-RPC 2.0 success response.
168
+ *
169
+ * @remarks
170
+ * Wraps an arbitrary result value in the standard JSON-RPC 2.0 response
171
+ * envelope with the `jsonrpc: "2.0"` field set automatically.
172
+ *
173
+ * @param id - Identifier matching the originating request, or `null` for notifications
174
+ * @param result - The return value of the invoked method
175
+ * @returns A fully formed {@link JsonRpcResponse} object
176
+ *
177
+ * @example
178
+ * ```ts
179
+ * const res = createJsonRpcResponse(1, { status: 'ok' });
180
+ * // { jsonrpc: '2.0', id: 1, result: { status: 'ok' } }
181
+ * ```
182
+ */
66
183
  export declare function createJsonRpcResponse(id: string | number | null, result: unknown): JsonRpcResponse;
67
- /** Create a JSON-RPC 2.0 error response */
184
+ /**
185
+ * Create a JSON-RPC 2.0 error response.
186
+ *
187
+ * @remarks
188
+ * Builds an error response with the standard `error` object containing
189
+ * the numeric code, message, and optional structured data.
190
+ *
191
+ * @param id - Identifier matching the originating request, or `null` for notifications
192
+ * @param code - Numeric error code (standard or A2A-specific)
193
+ * @param message - Short human-readable description of the error
194
+ * @param data - Optional additional structured error data
195
+ * @returns A fully formed {@link JsonRpcErrorResponse} object
196
+ *
197
+ * @example
198
+ * ```ts
199
+ * const err = createJsonRpcErrorResponse(1, -32001, 'Task not found');
200
+ * // { jsonrpc: '2.0', id: 1, error: { code: -32001, message: 'Task not found' } }
201
+ * ```
202
+ */
68
203
  export declare function createJsonRpcErrorResponse(id: string | number | null, code: number, message: string, data?: Record<string, unknown>): JsonRpcErrorResponse;
69
- /** Create an A2A-specific JSON-RPC error response by error type name */
204
+ /**
205
+ * Create an A2A-specific JSON-RPC error response by error type name.
206
+ *
207
+ * @remarks
208
+ * Convenience wrapper around {@link createJsonRpcErrorResponse} that resolves
209
+ * the numeric error code from {@link JSONRPC_A2A_ERROR_CODES} automatically.
210
+ *
211
+ * @param id - Identifier matching the originating request, or `null` for notifications
212
+ * @param errorType - The A2A error type name (e.g. `"TaskNotFound"`)
213
+ * @param message - Short human-readable description of the error
214
+ * @param data - Optional additional structured error data
215
+ * @returns A fully formed {@link JsonRpcErrorResponse} with the resolved A2A error code
216
+ *
217
+ * @example
218
+ * ```ts
219
+ * const err = createA2AErrorResponse(1, 'TaskNotFound', 'No task with id xyz');
220
+ * // error.code === -32001
221
+ * ```
222
+ */
70
223
  export declare function createA2AErrorResponse(id: string | number | null, errorType: A2AErrorType, message: string, data?: Record<string, unknown>): JsonRpcErrorResponse;
71
- /** Validate the structure of a JSON-RPC request */
224
+ /**
225
+ * Validate the structure of a JSON-RPC request.
226
+ *
227
+ * @remarks
228
+ * Performs structural validation of an unknown input against the JSON-RPC 2.0
229
+ * request schema. Checks the `jsonrpc` version, `id` type, `method` string,
230
+ * and that the method is a known A2A method from {@link JSONRPC_METHODS}.
231
+ *
232
+ * @param input - The unknown value to validate
233
+ * @returns An object with `valid` indicating success and `errors` listing any violations
234
+ *
235
+ * @example
236
+ * ```ts
237
+ * const { valid, errors } = validateJsonRpcRequest({ jsonrpc: '2.0', id: 1, method: 'tasks/get' });
238
+ * // valid === true, errors === []
239
+ * ```
240
+ */
72
241
  export declare function validateJsonRpcRequest(input: unknown): {
73
242
  valid: boolean;
74
243
  errors: string[];
75
244
  };
76
- /** Check if a numeric error code is an A2A-specific error */
245
+ /**
246
+ * Check if a numeric error code is an A2A-specific error.
247
+ *
248
+ * @remarks
249
+ * A2A error codes occupy the range -32009 through -32001 within the
250
+ * JSON-RPC server error code space.
251
+ *
252
+ * @param code - The numeric JSON-RPC error code to check
253
+ * @returns `true` if the code falls within the A2A error range
254
+ *
255
+ * @example
256
+ * ```ts
257
+ * isA2AError(-32001); // true (TaskNotFound)
258
+ * isA2AError(-32700); // false (standard ParseError)
259
+ * ```
260
+ */
77
261
  export declare function isA2AError(code: number): boolean;
78
262
  //# sourceMappingURL=jsonrpc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jsonrpc.d.ts","sourceRoot":"","sources":["../../../../src/a2a/bindings/jsonrpc.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,4DAA4D;AAC5D,eAAO,MAAM,eAAe;;;;;;;;;;;;CAYlB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAMnF,wCAAwC;AACxC,eAAO,MAAM,4BAA4B;;;;;;CAM/B,CAAC;AAEX,uDAAuD;AACvD,eAAO,MAAM,uBAAuB;;;;;;;;;;CAU1B,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,uBAAuB,CAAC;AAMhE,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAChC,CAAC;CACH;AAMD,2CAA2C;AAC3C,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,MAAM,GAAG,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,cAAc,CAOhB;AAED,6CAA6C;AAC7C,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAC1B,MAAM,EAAE,OAAO,GACd,eAAe,CAMjB;AAED,2CAA2C;AAC3C,wBAAgB,0BAA0B,CACxC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,oBAAoB,CAUtB;AAED,wEAAwE;AACxE,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAC1B,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,oBAAoB,CAEtB;AAQD,mDAAmD;AACnD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CA+B3F;AAED,6DAA6D;AAC7D,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhD"}
1
+ {"version":3,"file":"jsonrpc.d.ts","sourceRoot":"","sources":["../../../../src/a2a/bindings/jsonrpc.ts"],"names":[],"mappings":"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"}
@@ -7,47 +7,107 @@
7
7
  // ============================================================================
8
8
  // Method Constants (spec Section 5.3)
9
9
  // ============================================================================
10
- /** All JSON-RPC method names defined by the A2A protocol */
10
+ /**
11
+ * All JSON-RPC method names defined by the A2A protocol.
12
+ *
13
+ * @remarks
14
+ * Each key corresponds to an A2A operation and each value is the
15
+ * JSON-RPC method string sent on the wire per spec Section 5.3.
16
+ */
11
17
  export const JSONRPC_METHODS = {
18
+ /** Send a single message to an agent */
12
19
  SendMessage: 'message/send',
20
+ /** Send a streaming message to an agent */
13
21
  SendStreamingMessage: 'message/stream',
22
+ /** Retrieve a task by identifier */
14
23
  GetTask: 'tasks/get',
24
+ /** List tasks matching query criteria */
15
25
  ListTasks: 'tasks/list',
26
+ /** Cancel a running task */
16
27
  CancelTask: 'tasks/cancel',
28
+ /** Resubscribe to task events */
17
29
  SubscribeToTask: 'tasks/resubscribe',
30
+ /** Set push notification configuration for a task */
18
31
  SetTaskPushNotificationConfig: 'tasks/pushNotificationConfig/set',
32
+ /** Get push notification configuration for a task */
19
33
  GetTaskPushNotificationConfig: 'tasks/pushNotificationConfig/get',
34
+ /** List push notification configurations for a task */
20
35
  ListTaskPushNotificationConfig: 'tasks/pushNotificationConfig/list',
36
+ /** Delete push notification configuration for a task */
21
37
  DeleteTaskPushNotificationConfig: 'tasks/pushNotificationConfig/delete',
38
+ /** Retrieve the authenticated extended agent card */
22
39
  GetExtendedAgentCard: 'agent/getAuthenticatedExtendedCard',
23
40
  };
24
41
  // ============================================================================
25
42
  // Error Code Constants (spec Section 5.4)
26
43
  // ============================================================================
27
- /** Standard JSON-RPC 2.0 error codes */
44
+ /**
45
+ * Standard JSON-RPC 2.0 error codes.
46
+ *
47
+ * @remarks
48
+ * These are the error codes defined in the JSON-RPC 2.0 specification
49
+ * and are not A2A-specific.
50
+ */
28
51
  export const JSONRPC_STANDARD_ERROR_CODES = {
52
+ /** Invalid JSON was received by the server */
29
53
  ParseError: -32700,
54
+ /** The JSON sent is not a valid Request object */
30
55
  InvalidRequest: -32600,
56
+ /** The method does not exist or is not available */
31
57
  MethodNotFound: -32601,
58
+ /** Invalid method parameter(s) */
32
59
  InvalidParams: -32602,
60
+ /** Internal JSON-RPC error */
33
61
  InternalError: -32603,
34
62
  };
35
- /** A2A-specific error codes (-32001 through -32009) */
63
+ /**
64
+ * A2A-specific error codes (-32001 through -32009).
65
+ *
66
+ * @remarks
67
+ * These codes occupy the JSON-RPC server error range and are
68
+ * defined by the A2A protocol spec Section 5.4.
69
+ */
36
70
  export const JSONRPC_A2A_ERROR_CODES = {
71
+ /** The requested task was not found */
37
72
  TaskNotFound: -32001,
73
+ /** The task cannot be canceled in its current state */
38
74
  TaskNotCancelable: -32002,
75
+ /** Push notifications are not supported by the agent */
39
76
  PushNotificationNotSupported: -32003,
77
+ /** The requested operation is not supported */
40
78
  UnsupportedOperation: -32004,
79
+ /** The provided content type is not supported */
41
80
  ContentTypeNotSupported: -32005,
81
+ /** The downstream agent returned an invalid response */
42
82
  InvalidAgentResponse: -32006,
83
+ /** The authenticated extended card is not configured */
43
84
  AuthenticatedExtendedCardNotConfigured: -32007,
85
+ /** A required extension is not supported by the peer */
44
86
  ExtensionSupportRequired: -32008,
87
+ /** The requested protocol version is not supported */
45
88
  VersionNotSupported: -32009,
46
89
  };
47
90
  // ============================================================================
48
91
  // Builders
49
92
  // ============================================================================
50
- /** Create a JSON-RPC 2.0 request object */
93
+ /**
94
+ * Create a JSON-RPC 2.0 request object.
95
+ *
96
+ * @remarks
97
+ * Builds a spec-compliant request with the `jsonrpc: "2.0"` field set
98
+ * automatically. The `params` field is omitted when not provided.
99
+ *
100
+ * @param id - Client-assigned request identifier
101
+ * @param method - The RPC method name to invoke
102
+ * @param params - Optional named parameters for the method call
103
+ * @returns A fully formed {@link JsonRpcRequest} object
104
+ *
105
+ * @example
106
+ * ```ts
107
+ * const req = createJsonRpcRequest(1, 'tasks/get', { id: 'abc' });
108
+ * // { jsonrpc: '2.0', id: 1, method: 'tasks/get', params: { id: 'abc' } }
109
+ * ```
110
+ */
51
111
  export function createJsonRpcRequest(id, method, params) {
52
112
  return {
53
113
  jsonrpc: '2.0',
@@ -56,7 +116,23 @@ export function createJsonRpcRequest(id, method, params) {
56
116
  ...(params !== undefined && { params }),
57
117
  };
58
118
  }
59
- /** Create a JSON-RPC 2.0 success response */
119
+ /**
120
+ * Create a JSON-RPC 2.0 success response.
121
+ *
122
+ * @remarks
123
+ * Wraps an arbitrary result value in the standard JSON-RPC 2.0 response
124
+ * envelope with the `jsonrpc: "2.0"` field set automatically.
125
+ *
126
+ * @param id - Identifier matching the originating request, or `null` for notifications
127
+ * @param result - The return value of the invoked method
128
+ * @returns A fully formed {@link JsonRpcResponse} object
129
+ *
130
+ * @example
131
+ * ```ts
132
+ * const res = createJsonRpcResponse(1, { status: 'ok' });
133
+ * // { jsonrpc: '2.0', id: 1, result: { status: 'ok' } }
134
+ * ```
135
+ */
60
136
  export function createJsonRpcResponse(id, result) {
61
137
  return {
62
138
  jsonrpc: '2.0',
@@ -64,7 +140,25 @@ export function createJsonRpcResponse(id, result) {
64
140
  result,
65
141
  };
66
142
  }
67
- /** Create a JSON-RPC 2.0 error response */
143
+ /**
144
+ * Create a JSON-RPC 2.0 error response.
145
+ *
146
+ * @remarks
147
+ * Builds an error response with the standard `error` object containing
148
+ * the numeric code, message, and optional structured data.
149
+ *
150
+ * @param id - Identifier matching the originating request, or `null` for notifications
151
+ * @param code - Numeric error code (standard or A2A-specific)
152
+ * @param message - Short human-readable description of the error
153
+ * @param data - Optional additional structured error data
154
+ * @returns A fully formed {@link JsonRpcErrorResponse} object
155
+ *
156
+ * @example
157
+ * ```ts
158
+ * const err = createJsonRpcErrorResponse(1, -32001, 'Task not found');
159
+ * // { jsonrpc: '2.0', id: 1, error: { code: -32001, message: 'Task not found' } }
160
+ * ```
161
+ */
68
162
  export function createJsonRpcErrorResponse(id, code, message, data) {
69
163
  return {
70
164
  jsonrpc: '2.0',
@@ -76,7 +170,25 @@ export function createJsonRpcErrorResponse(id, code, message, data) {
76
170
  },
77
171
  };
78
172
  }
79
- /** Create an A2A-specific JSON-RPC error response by error type name */
173
+ /**
174
+ * Create an A2A-specific JSON-RPC error response by error type name.
175
+ *
176
+ * @remarks
177
+ * Convenience wrapper around {@link createJsonRpcErrorResponse} that resolves
178
+ * the numeric error code from {@link JSONRPC_A2A_ERROR_CODES} automatically.
179
+ *
180
+ * @param id - Identifier matching the originating request, or `null` for notifications
181
+ * @param errorType - The A2A error type name (e.g. `"TaskNotFound"`)
182
+ * @param message - Short human-readable description of the error
183
+ * @param data - Optional additional structured error data
184
+ * @returns A fully formed {@link JsonRpcErrorResponse} with the resolved A2A error code
185
+ *
186
+ * @example
187
+ * ```ts
188
+ * const err = createA2AErrorResponse(1, 'TaskNotFound', 'No task with id xyz');
189
+ * // error.code === -32001
190
+ * ```
191
+ */
80
192
  export function createA2AErrorResponse(id, errorType, message, data) {
81
193
  return createJsonRpcErrorResponse(id, JSONRPC_A2A_ERROR_CODES[errorType], message, data);
82
194
  }
@@ -84,7 +196,23 @@ export function createA2AErrorResponse(id, errorType, message, data) {
84
196
  // Validation
85
197
  // ============================================================================
86
198
  const knownMethods = new Set(Object.values(JSONRPC_METHODS));
87
- /** Validate the structure of a JSON-RPC request */
199
+ /**
200
+ * Validate the structure of a JSON-RPC request.
201
+ *
202
+ * @remarks
203
+ * Performs structural validation of an unknown input against the JSON-RPC 2.0
204
+ * request schema. Checks the `jsonrpc` version, `id` type, `method` string,
205
+ * and that the method is a known A2A method from {@link JSONRPC_METHODS}.
206
+ *
207
+ * @param input - The unknown value to validate
208
+ * @returns An object with `valid` indicating success and `errors` listing any violations
209
+ *
210
+ * @example
211
+ * ```ts
212
+ * const { valid, errors } = validateJsonRpcRequest({ jsonrpc: '2.0', id: 1, method: 'tasks/get' });
213
+ * // valid === true, errors === []
214
+ * ```
215
+ */
88
216
  export function validateJsonRpcRequest(input) {
89
217
  const errors = [];
90
218
  if (typeof input !== 'object' || input === null) {
@@ -109,7 +237,22 @@ export function validateJsonRpcRequest(input) {
109
237
  }
110
238
  return { valid: errors.length === 0, errors };
111
239
  }
112
- /** Check if a numeric error code is an A2A-specific error */
240
+ /**
241
+ * Check if a numeric error code is an A2A-specific error.
242
+ *
243
+ * @remarks
244
+ * A2A error codes occupy the range -32009 through -32001 within the
245
+ * JSON-RPC server error code space.
246
+ *
247
+ * @param code - The numeric JSON-RPC error code to check
248
+ * @returns `true` if the code falls within the A2A error range
249
+ *
250
+ * @example
251
+ * ```ts
252
+ * isA2AError(-32001); // true (TaskNotFound)
253
+ * isA2AError(-32700); // false (standard ParseError)
254
+ * ```
255
+ */
113
256
  export function isA2AError(code) {
114
257
  return code >= -32009 && code <= -32001;
115
258
  }
@@ -1 +1 @@
1
- {"version":3,"file":"jsonrpc.js","sourceRoot":"","sources":["../../../../src/a2a/bindings/jsonrpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsonrpc.js","sourceRoot":"","sources":["../../../../src/a2a/bindings/jsonrpc.ts"],"names":[],"mappings":"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"}