@automattic/agenttic-client 0.1.9 → 0.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -15,6 +15,7 @@ npm install @automattic/agenttic-client
15
15
  - Tool execution system with automatic handling
16
16
  - Context injection for each message
17
17
  - Conversation persistence and management
18
+ - Request cancellation with abort controllers
18
19
  - TypeScript support
19
20
  - Message actions and markdown rendering
20
21
 
@@ -116,6 +117,7 @@ const {
116
117
 
117
118
  // Core methods
118
119
  onSubmit, // (message: string) => Promise<void>
120
+ abortCurrentRequest, // () => void - cancel in-flight request
119
121
 
120
122
  // Configuration
121
123
  registerSuggestions, // (suggestions: Suggestion[]) => void
@@ -217,6 +219,17 @@ for await (const update of client.sendMessageStream({
217
219
  console.log(update.text);
218
220
  if (update.final) break;
219
221
  }
222
+
223
+ // With abort control
224
+ const abortController = new AbortController();
225
+ const task = await client.sendMessage({
226
+ message: createTextMessage('Hello'),
227
+ sessionId: 'session-123',
228
+ abortSignal: abortController.signal
229
+ });
230
+
231
+ // Cancel the request
232
+ abortController.abort();
220
233
  ```
221
234
 
222
235
  ### Agent Manager
@@ -251,6 +264,46 @@ await manager.resetConversation( 'my-agent' );
251
264
 
252
265
  ## Additional Features
253
266
 
267
+ ### Request Cancellation
268
+
269
+ Cancel in-flight requests using the built-in abort functionality:
270
+
271
+ ```typescript
272
+ const { abortCurrentRequest, isProcessing } = useAgentChat(config);
273
+
274
+ // Cancel current request
275
+ if (isProcessing) {
276
+ abortCurrentRequest();
277
+ }
278
+ ```
279
+
280
+ For low-level client usage, use `AbortController`:
281
+
282
+ ```typescript
283
+ import { createClient, createAbortController } from '@automattic/agenttic-client';
284
+
285
+ const client = createClient(config);
286
+ const abortController = createAbortController();
287
+
288
+ // Start a request with abort signal
289
+ const requestPromise = client.sendMessage({
290
+ message: createTextMessage('Hello'),
291
+ abortSignal: abortController.signal
292
+ });
293
+
294
+ // Cancel the request
295
+ abortController.abort();
296
+
297
+ // Handle cancellation
298
+ try {
299
+ await requestPromise;
300
+ } catch (error) {
301
+ if (error.name === 'AbortError') {
302
+ console.log('Request was cancelled');
303
+ }
304
+ }
305
+ ```
306
+
254
307
  ### Message Actions
255
308
 
256
309
  Add interactive buttons to agent messages:
@@ -1,4 +1,14 @@
1
1
  import type { Client, ClientConfig, SendMessageParams, TaskUpdate } from './types/index';
2
+ /**
3
+ * Clear all entries from the tool result promises map
4
+ */
5
+ declare function clearToolResultPromises(): void;
6
+ /**
7
+ * Update tool results with resolved promise values if they've resolved
8
+ * @param toolResults - Array of tool results that may have corresponding resolved promises
9
+ * @return Updated tool results with resolved values where available
10
+ */
11
+ declare function updateToolResultsWithResolvedPromises(toolResults: any[]): any[];
2
12
  /**
3
13
  * Create an agent client instance
4
14
  *
@@ -34,6 +44,7 @@ import type { Client, ClientConfig, SendMessageParams, TaskUpdate } from './type
34
44
  *
35
45
  * @param config
36
46
  */
47
+ export { updateToolResultsWithResolvedPromises, clearToolResultPromises };
37
48
  export declare function createClient(config: ClientConfig): Client;
38
49
  /**
39
50
  * Helper function to send a message and wait for completion
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,MAAM,EACN,YAAY,EAGZ,iBAAiB,EAEjB,UAAU,EAIV,MAAM,eAAe,CAAC;AAqsBvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,YAAY,CAAE,MAAM,EAAE,YAAY,GAAI,MAAM,CA+T3D;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACvC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,iBAAiB,GACvB,OAAO,CAAE,UAAU,CAAE,CAavB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,MAAM,EACN,YAAY,EAGZ,iBAAiB,EAEjB,UAAU,EAIV,MAAM,eAAe,CAAC;AAqEvB;;GAEG;AACH,iBAAS,uBAAuB,IAAI,IAAI,CAEvC;AAED;;;;GAIG;AACH,iBAAS,qCAAqC,CAAE,WAAW,EAAE,GAAG,EAAE,GAAI,GAAG,EAAE,CA4B1E;AAsrBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,EAAE,qCAAqC,EAAE,uBAAuB,EAAE,CAAC;AAE1E,wBAAgB,YAAY,CAAE,MAAM,EAAE,YAAY,GAAI,MAAM,CAmU3D;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACvC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,iBAAiB,GACvB,OAAO,CAAE,UAAU,CAAE,CAavB"}
@@ -144,6 +144,7 @@ export interface SendMessageParams {
144
144
  sessionId?: string;
145
145
  metadata?: Record<string, unknown>;
146
146
  withHistory?: boolean;
147
+ abortSignal?: AbortSignal;
147
148
  }
148
149
  export interface TaskUpdate {
149
150
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/types/index.ts"],"names":[],"mappings":"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"}
@@ -79,4 +79,9 @@ export declare function processToolExecutionResult(executionResult: any): {
79
79
  * @param historyDataParts
80
80
  */
81
81
  export declare function createToolResultMessage(toolResults: ToolResultDataPart[], historyDataParts?: any[]): Message;
82
+ /**
83
+ * Create an AbortController for canceling requests
84
+ * Utility function for consumers who want to abort requests
85
+ */
86
+ export declare function createAbortController(): AbortController;
82
87
  //# sourceMappingURL=core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/client/utils/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,aAAa,EACb,eAAe,EACf,SAAS,EACT,OAAO,EACP,iBAAiB,EACjB,kBAAkB,EAClB,QAAQ,EACR,IAAI,EACJ,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,MAAM,gBAAgB,CAAC;AAExB;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAQzC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,SAAS,CAE3C;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAE,IAAI,EAAE,MAAM,GAAI,QAAQ,CAKvD;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACvC,MAAM,EAAE,iBAAiB,EACzB,MAAM,GAAE,MAAuB,GAC7B,kBAAkB,CAUpB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAE,OAAO,EAAE,OAAO,GAAI,MAAM,CASjE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAE,IAAI,EAAE,IAAI,GAAI,YAAY,CAW7D;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAC1C,OAAO,EAAE,OAAO,GACd,gBAAgB,EAAE,CAYpB;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACvC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,OAAO,EAChB,KAAK,CAAC,EAAE,MAAM,GACZ,kBAAkB,CAUpB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACpC,aAAa,EAAE,aAAa,GAC1B,eAAe,CAQjB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAE,IAAI,EAAE,MAAM,GAAI,OAAO,CAUzD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAE,IAAI,EAAE,MAAM,GAAI,OAAO,CAU9D;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAE,eAAe,EAAE,GAAG,GAAI;IACnE,MAAM,EAAE,GAAG,CAAC;IACZ,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB,CAmBA;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACtC,WAAW,EAAE,kBAAkB,EAAE,EACjC,gBAAgB,GAAE,GAAG,EAAO,GAC1B,OAAO,CAUT"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/client/utils/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,aAAa,EACb,eAAe,EACf,SAAS,EACT,OAAO,EACP,iBAAiB,EACjB,kBAAkB,EAClB,QAAQ,EACR,IAAI,EACJ,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,MAAM,gBAAgB,CAAC;AAExB;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAQzC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,SAAS,CAE3C;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAE,IAAI,EAAE,MAAM,GAAI,QAAQ,CAKvD;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACvC,MAAM,EAAE,iBAAiB,EACzB,MAAM,GAAE,MAAuB,GAC7B,kBAAkB,CAUpB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAE,OAAO,EAAE,OAAO,GAAI,MAAM,CASjE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAE,IAAI,EAAE,IAAI,GAAI,YAAY,CAW7D;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAC1C,OAAO,EAAE,OAAO,GACd,gBAAgB,EAAE,CAYpB;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACvC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,OAAO,EAChB,KAAK,CAAC,EAAE,MAAM,GACZ,kBAAkB,CAUpB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACpC,aAAa,EAAE,aAAa,GAC1B,eAAe,CAQjB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAE,IAAI,EAAE,MAAM,GAAI,OAAO,CAUzD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAE,IAAI,EAAE,MAAM,GAAI,OAAO,CAU9D;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAE,eAAe,EAAE,GAAG,GAAI;IACnE,MAAM,EAAE,GAAG,CAAC;IACZ,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB,CAmBA;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACtC,WAAW,EAAE,kBAAkB,EAAE,EACjC,gBAAgB,GAAE,GAAG,EAAO,GAC1B,OAAO,CAUT;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,eAAe,CAEvD"}
@@ -15,6 +15,7 @@ export interface RequestConfig {
15
15
  export interface RequestOptions {
16
16
  isStreaming?: boolean;
17
17
  streamingTimeout?: number;
18
+ abortSignal?: AbortSignal;
18
19
  }
19
20
  /**
20
21
  * Prepare a request for execution
@@ -39,15 +40,16 @@ export declare function prepareRequest(params: SendMessageParams, config: Reques
39
40
  *
40
41
  * @param preparedRequest - Prepared request data
41
42
  * @param config - Request configuration
43
+ * @param options - Request options (including external abort signal)
42
44
  * @return Promise resolving to the response task
43
45
  */
44
- export declare function executeRequest(preparedRequest: Awaited<ReturnType<typeof prepareRequest>>, config: RequestConfig): Promise<Task>;
46
+ export declare function executeRequest(preparedRequest: Awaited<ReturnType<typeof prepareRequest>>, config: RequestConfig, options?: RequestOptions): Promise<Task>;
45
47
  /**
46
48
  * Execute a streaming request
47
49
  *
48
50
  * @param preparedRequest - Prepared request data
49
51
  * @param config - Request configuration
50
- * @param options - Request options
52
+ * @param options - Request options (including external abort signal)
51
53
  * @return Async iterable of task updates
52
54
  */
53
55
  export declare function executeStreamingRequest(preparedRequest: Awaited<ReturnType<typeof prepareRequest>>, config: RequestConfig, options: RequestOptions): AsyncIterable<TaskUpdate>;
@@ -1 +1 @@
1
- {"version":3,"file":"requests.d.ts","sourceRoot":"","sources":["../../../../src/client/utils/internal/requests.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,YAAY,EAEZ,iBAAiB,EACjB,IAAI,EACJ,UAAU,EACV,MAAM,mBAAmB,CAAC;AAa3B;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAaD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC1B;AAuED;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CACnC,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,cAAc,EACvB,YAAY,CAAC,EAAE,GAAG,EAClB,eAAe,CAAC,EAAE,GAAG,EACrB,gBAAgB,CAAC,EAAE,MAAM;;;;;;GAwCzB;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CACnC,eAAe,EAAE,OAAO,CAAE,UAAU,CAAE,OAAO,cAAc,CAAE,CAAE,EAC/D,MAAM,EAAE,aAAa,GACnB,OAAO,CAAE,IAAI,CAAE,CA2CjB;AAED;;;;;;;GAOG;AACH,wBAAuB,uBAAuB,CAC7C,eAAe,EAAE,OAAO,CAAE,UAAU,CAAE,OAAO,cAAc,CAAE,CAAE,EAC/D,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,cAAc,GACrB,aAAa,CAAE,UAAU,CAAE,CA6B7B"}
1
+ {"version":3,"file":"requests.d.ts","sourceRoot":"","sources":["../../../../src/client/utils/internal/requests.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,YAAY,EAEZ,iBAAiB,EACjB,IAAI,EACJ,UAAU,EACV,MAAM,mBAAmB,CAAC;AAa3B;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAaD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;CAC1B;AAkHD;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CACnC,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,cAAc,EACvB,YAAY,CAAC,EAAE,GAAG,EAClB,eAAe,CAAC,EAAE,GAAG,EACrB,gBAAgB,CAAC,EAAE,MAAM;;;;;;GAwCzB;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CACnC,eAAe,EAAE,OAAO,CAAE,UAAU,CAAE,OAAO,cAAc,CAAE,CAAE,EAC/D,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE,cAAmB,GAC1B,OAAO,CAAE,IAAI,CAAE,CAkDjB;AAED;;;;;;;GAOG;AACH,wBAAuB,uBAAuB,CAC7C,eAAe,EAAE,OAAO,CAAE,UAAU,CAAE,OAAO,cAAc,CAAE,CAAE,EAC/D,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,cAAc,GACrB,aAAa,CAAE,UAAU,CAAE,CAkC7B"}
package/dist/index.d.ts CHANGED
@@ -6,7 +6,7 @@
6
6
  export { useClientContext } from './react/useClientContext';
7
7
  export { useClientTools } from './react/useClientTools';
8
8
  export { useAgentChat } from './react/useAgentChat';
9
- export { createRequestId, createTaskId, createTextMessage, extractToolCallsFromMessage, extractTextFromMessage, } from './client/utils/core';
9
+ export { createRequestId, createTaskId, createTextMessage, extractToolCallsFromMessage, extractTextFromMessage, createAbortController, } from './client/utils/core';
10
10
  export { createMessageRenderer } from './utils/createMessageRenderer';
11
11
  export type { JsonRpcId, JsonRpcRequest, JsonRpcResponse, JsonRpcError, TaskState, TextPart, FilePart, DataPart, ToolDataPart, ToolCallDataPart, ContextDataPart, Part, Message, TaskStatus, Artifact, Task, MessageSendParams, SendMessageRequest, SendMessageResponse, TaskStatusUpdateEvent, TaskArtifactUpdateEvent, Client, AuthProvider, ClientConfig, SendMessageParams, TaskUpdate, Tool, ToolProvider, ToolCallResult, ClientContext, ContextProvider, } from './client/types/index';
12
12
  export type { UseAgentChatConfig, UseAgentChatReturn, UIMessage, Suggestion, MarkdownComponents, } from './react/useAgentChat';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EACN,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,2BAA2B,EAC3B,sBAAsB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,YAAY,EAEX,SAAS,EACT,cAAc,EACd,eAAe,EACf,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,IAAI,EACJ,OAAO,EACP,UAAU,EACV,QAAQ,EACR,IAAI,EACJ,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EAGvB,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,UAAU,EAGV,IAAI,EACJ,YAAY,EACZ,cAAc,EAGd,aAAa,EACb,eAAe,GACf,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EACX,kBAAkB,EAClB,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,kBAAkB,GAClB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG7E,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/E,YAAY,EACX,kBAAkB,EAClB,oBAAoB,EACpB,SAAS,EACT,WAAW,GACX,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,YAAY,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAGhE,OAAO,EACN,yBAAyB,EACzB,KAAK,mBAAmB,EACxB,KAAK,eAAe,GACpB,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EACN,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,2BAA2B,EAC3B,sBAAsB,EACtB,qBAAqB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,YAAY,EAEX,SAAS,EACT,cAAc,EACd,eAAe,EACf,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,IAAI,EACJ,OAAO,EACP,UAAU,EACV,QAAQ,EACR,IAAI,EACJ,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EAGvB,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,UAAU,EAGV,IAAI,EACJ,YAAY,EACZ,cAAc,EAGd,aAAa,EACb,eAAe,GACf,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EACX,kBAAkB,EAClB,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,kBAAkB,GAClB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG7E,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/E,YAAY,EACX,kBAAkB,EAClB,oBAAoB,EACpB,SAAS,EACT,WAAW,GACX,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,YAAY,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAGhE,OAAO,EACN,yBAAyB,EACzB,KAAK,mBAAmB,EACxB,KAAK,eAAe,GACpB,MAAM,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -218,6 +218,9 @@ function createToolResultMessage(toolResults, historyDataParts = []) {
218
218
  }
219
219
  };
220
220
  }
221
+ function createAbortController() {
222
+ return new AbortController();
223
+ }
221
224
 
222
225
  // src/client/utils/internal/messages.ts
223
226
  async function enhanceMessageWithTools(message, toolProvider) {
@@ -417,6 +420,32 @@ async function getHeaders(authProvider, isStreaming = false) {
417
420
  }
418
421
  return baseHeaders;
419
422
  }
423
+ function combineSignals(signal1, signal2) {
424
+ if (!signal2) {
425
+ return signal1;
426
+ }
427
+ const controller = new AbortController();
428
+ const handleAbort = (signal) => {
429
+ if (!controller.signal.aborted) {
430
+ controller.abort(signal.reason);
431
+ }
432
+ };
433
+ if (signal1.aborted) {
434
+ controller.abort(signal1.reason);
435
+ } else {
436
+ signal1.addEventListener("abort", () => handleAbort(signal1), {
437
+ once: true
438
+ });
439
+ }
440
+ if (signal2.aborted) {
441
+ controller.abort(signal2.reason);
442
+ } else {
443
+ signal2.addEventListener("abort", () => handleAbort(signal2), {
444
+ once: true
445
+ });
446
+ }
447
+ return controller.signal;
448
+ }
420
449
  function createFetchOptions(headers, body, signal) {
421
450
  return {
422
451
  method: "POST",
@@ -455,24 +484,26 @@ async function prepareRequest(params, config, options, toolProvider, contextProv
455
484
  fullAgentUrl
456
485
  };
457
486
  }
458
- async function executeRequest(preparedRequest, config) {
487
+ async function executeRequest(preparedRequest, config, options = {}) {
459
488
  const { request, headers, fullAgentUrl } = preparedRequest;
460
489
  const { timeout } = config;
461
- const { timeoutId, controller } = createTimeoutHandler(
490
+ const { abortSignal: externalSignal } = options;
491
+ const { timeoutId, controller: timeoutController } = createTimeoutHandler(
462
492
  timeout,
463
493
  "request"
464
494
  );
495
+ const signal = externalSignal ? combineSignals(timeoutController.signal, externalSignal) : timeoutController.signal;
465
496
  try {
466
- const options = createFetchOptions(
497
+ const fetchOptions = createFetchOptions(
467
498
  headers,
468
499
  JSON.stringify(request),
469
- controller.signal
500
+ signal
470
501
  );
471
502
  logger("Making request to %s with options: %O", fullAgentUrl, {
472
- method: options.method,
473
- headers: options.headers
503
+ method: fetchOptions.method,
504
+ headers: fetchOptions.headers
474
505
  });
475
- const response = await fetch(fullAgentUrl, options);
506
+ const response = await fetch(fullAgentUrl, fetchOptions);
476
507
  clearTimeout(timeoutId);
477
508
  validateHttpResponse(response, "request");
478
509
  const data = await response.json();
@@ -490,16 +521,17 @@ async function executeRequest(preparedRequest, config) {
490
521
  async function* executeStreamingRequest(preparedRequest, config, options) {
491
522
  const { request, headers, fullAgentUrl } = preparedRequest;
492
523
  const {} = config;
493
- const { streamingTimeout = 6e4 } = options;
524
+ const { streamingTimeout = 6e4, abortSignal: externalSignal } = options;
494
525
  const { timeoutId, controller } = createTimeoutHandler(
495
526
  streamingTimeout,
496
527
  "streaming request"
497
528
  );
529
+ const signal = externalSignal ? combineSignals(controller.signal, externalSignal) : controller.signal;
498
530
  try {
499
531
  const fetchOptions = createFetchOptions(
500
532
  headers,
501
533
  JSON.stringify(request),
502
- controller.signal
534
+ signal
503
535
  );
504
536
  const response = await fetch(fullAgentUrl, fetchOptions);
505
537
  clearTimeout(timeoutId);
@@ -512,6 +544,7 @@ async function* executeStreamingRequest(preparedRequest, config, options) {
512
544
 
513
545
  // src/client/index.ts
514
546
  var DEFAULT_TIMEOUT = 12e4;
547
+ var toolResultPromises = /* @__PURE__ */ new Map();
515
548
  async function hasMatchingToolCallbacks(toolProvider, message) {
516
549
  if (!toolProvider || !message || !toolProvider.getAvailableTools) {
517
550
  return false;
@@ -535,6 +568,32 @@ async function hasMatchingToolCallbacks(toolProvider, message) {
535
568
  }
536
569
  return false;
537
570
  }
571
+ function clearToolResultPromises() {
572
+ toolResultPromises.clear();
573
+ }
574
+ function updateToolResultsWithResolvedPromises(toolResults) {
575
+ return toolResults.map((toolResult) => {
576
+ const toolCallId = toolResult.data.toolCallId;
577
+ const promiseEntry = toolResultPromises.get(toolCallId);
578
+ if (promiseEntry && promiseEntry.resolvedValue !== null) {
579
+ const resolvedValue = promiseEntry.resolvedValue;
580
+ if (resolvedValue.error) {
581
+ return createToolResultDataPart(
582
+ toolCallId,
583
+ toolResult.data.toolId,
584
+ void 0,
585
+ resolvedValue.error
586
+ );
587
+ }
588
+ return createToolResultDataPart(
589
+ toolCallId,
590
+ toolResult.data.toolId,
591
+ resolvedValue
592
+ );
593
+ }
594
+ return toolResult;
595
+ });
596
+ }
538
597
  async function executeToolCallBatch(toolCalls, toolProvider, messageId) {
539
598
  const results = [];
540
599
  const agentMessages = [];
@@ -595,7 +654,7 @@ function conversationHistoryToDataParts(conversationHistory) {
595
654
  }
596
655
  return historyParts;
597
656
  }
598
- async function continueTask(taskId, message, requestConfig, toolProvider, contextProvider, sessionId) {
657
+ async function continueTask(taskId, message, requestConfig, toolProvider, contextProvider, sessionId, abortSignal) {
599
658
  const continueParams = {
600
659
  message,
601
660
  taskId,
@@ -605,14 +664,16 @@ async function continueTask(taskId, message, requestConfig, toolProvider, contex
605
664
  const preparedRequest = await prepareRequest(
606
665
  continueParams,
607
666
  requestConfig,
608
- { isStreaming: false },
667
+ { isStreaming: false, abortSignal },
609
668
  toolProvider,
610
669
  contextProvider,
611
670
  sessionId
612
671
  );
613
- return await executeRequest(preparedRequest, requestConfig);
672
+ return await executeRequest(preparedRequest, requestConfig, {
673
+ abortSignal
674
+ });
614
675
  }
615
- async function continueTaskStreamed(taskId, message, requestConfig, toolProvider, contextProvider, sessionId) {
676
+ async function continueTaskStreamed(taskId, message, requestConfig, toolProvider, contextProvider, sessionId, abortSignal) {
616
677
  const continueParams = {
617
678
  message,
618
679
  taskId,
@@ -622,13 +683,14 @@ async function continueTaskStreamed(taskId, message, requestConfig, toolProvider
622
683
  const preparedRequest = await prepareRequest(
623
684
  continueParams,
624
685
  requestConfig,
625
- { isStreaming: true },
686
+ { isStreaming: true, abortSignal },
626
687
  toolProvider,
627
688
  contextProvider,
628
689
  sessionId
629
690
  );
630
691
  const stream = executeStreamingRequest(preparedRequest, requestConfig, {
631
- isStreaming: true
692
+ isStreaming: true,
693
+ abortSignal
632
694
  });
633
695
  return processAgentResponseStream(
634
696
  stream,
@@ -638,11 +700,12 @@ async function continueTaskStreamed(taskId, message, requestConfig, toolProvider
638
700
  sessionId,
639
701
  true,
640
702
  // withHistory
641
- []
703
+ [],
642
704
  // newConversationParts - empty for continueTask
705
+ abortSignal
643
706
  );
644
707
  }
645
- async function* processAgentResponseStream(stream, toolProvider, contextProvider, requestConfig, sessionId, withHistory = true, newConversationParts = []) {
708
+ async function* processAgentResponseStream(stream, toolProvider, contextProvider, requestConfig, sessionId, withHistory = true, newConversationParts = [], abortSignal) {
646
709
  for await (const update of stream) {
647
710
  yield update;
648
711
  if (update.status.state === "running" && update.status.message && toolProvider && await hasMatchingToolCallbacks(
@@ -712,6 +775,28 @@ async function* processAgentResponseStream(stream, toolProvider, contextProvider
712
775
  createAgentTextMessage(agentMessage)
713
776
  );
714
777
  }
778
+ if (result.result instanceof Promise) {
779
+ const promise = result.result;
780
+ const promiseEntry = {
781
+ promise,
782
+ resolvedValue: null
783
+ };
784
+ toolResultPromises.set(
785
+ toolCallId,
786
+ promiseEntry
787
+ );
788
+ promise.then((resolvedValue) => {
789
+ promiseEntry.resolvedValue = resolvedValue;
790
+ }).catch((error) => {
791
+ console.error(
792
+ `Promise rejected for tool call ${toolCallId}:`,
793
+ error
794
+ );
795
+ promiseEntry.resolvedValue = {
796
+ error: error instanceof Error ? error.message : String(error)
797
+ };
798
+ });
799
+ }
715
800
  const toolResult = createToolResultDataPart(
716
801
  toolCallId,
717
802
  toolId,
@@ -752,7 +837,8 @@ async function* processAgentResponseStream(stream, toolProvider, contextProvider
752
837
  requestConfig,
753
838
  toolProvider,
754
839
  contextProvider,
755
- sessionId
840
+ sessionId,
841
+ abortSignal
756
842
  );
757
843
  let continuedTaskUpdate = null;
758
844
  for await (const streamUpdate of continuedTaskStream) {
@@ -837,7 +923,8 @@ async function* processAgentResponseStream(stream, toolProvider, contextProvider
837
923
  requestConfig,
838
924
  toolProvider,
839
925
  contextProvider,
840
- sessionId
926
+ sessionId,
927
+ abortSignal
841
928
  );
842
929
  let moreFinalTask = null;
843
930
  for await (const streamUpdate of moreTaskStream) {
@@ -940,21 +1027,22 @@ function createClient(config) {
940
1027
  };
941
1028
  return {
942
1029
  async sendMessage(params) {
943
- const { withHistory = true } = params;
1030
+ const { withHistory = true, abortSignal } = params;
944
1031
  const sessionId = params.sessionId || defaultSessionId || void 0;
945
1032
  const newConversationParts = [];
946
1033
  newConversationParts.push(params.message);
947
1034
  const preparedRequest = await prepareRequest(
948
1035
  params,
949
1036
  requestConfig,
950
- { isStreaming: false },
1037
+ { isStreaming: false, abortSignal },
951
1038
  toolProvider,
952
1039
  contextProvider,
953
1040
  sessionId
954
1041
  );
955
1042
  let currentTask = await executeRequest(
956
1043
  preparedRequest,
957
- requestConfig
1044
+ requestConfig,
1045
+ { abortSignal }
958
1046
  );
959
1047
  const allToolParts = [];
960
1048
  const agentMessages = [];
@@ -1015,7 +1103,8 @@ function createClient(config) {
1015
1103
  requestConfig,
1016
1104
  toolProvider,
1017
1105
  contextProvider,
1018
- sessionId
1106
+ sessionId,
1107
+ abortSignal
1019
1108
  );
1020
1109
  } else {
1021
1110
  break;
@@ -1061,14 +1150,14 @@ function createClient(config) {
1061
1150
  };
1062
1151
  },
1063
1152
  async *sendMessageStream(params) {
1064
- const { withHistory = true } = params;
1153
+ const { withHistory = true, abortSignal } = params;
1065
1154
  const sessionId = params.sessionId || defaultSessionId || void 0;
1066
1155
  const newConversationParts = [];
1067
1156
  newConversationParts.push(params.message);
1068
1157
  const preparedRequest = await prepareRequest(
1069
1158
  params,
1070
1159
  requestConfig,
1071
- { isStreaming: true, streamingTimeout: timeout },
1160
+ { isStreaming: true, streamingTimeout: timeout, abortSignal },
1072
1161
  toolProvider,
1073
1162
  contextProvider,
1074
1163
  sessionId
@@ -1078,7 +1167,8 @@ function createClient(config) {
1078
1167
  requestConfig,
1079
1168
  {
1080
1169
  isStreaming: true,
1081
- streamingTimeout: timeout
1170
+ streamingTimeout: timeout,
1171
+ abortSignal
1082
1172
  }
1083
1173
  );
1084
1174
  yield* processAgentResponseStream(
@@ -1088,7 +1178,8 @@ function createClient(config) {
1088
1178
  requestConfig,
1089
1179
  sessionId,
1090
1180
  withHistory,
1091
- newConversationParts
1181
+ newConversationParts,
1182
+ abortSignal
1092
1183
  );
1093
1184
  },
1094
1185
  async continueTask(taskId, userInput, sessionId) {
@@ -1378,6 +1469,31 @@ function extractToolResultsFromMessage(message) {
1378
1469
  }
1379
1470
 
1380
1471
  // src/react/agentManager.ts
1472
+ async function resolvePromisesInConversationHistory(conversationHistory) {
1473
+ const resolvedHistory = [];
1474
+ for (const message of conversationHistory) {
1475
+ if (message.parts && Array.isArray(message.parts)) {
1476
+ const hasToolResults = message.parts.some(
1477
+ (part) => part.type === "data" && "toolCallId" in part.data && "result" in part.data
1478
+ );
1479
+ if (hasToolResults) {
1480
+ const updatedParts = updateToolResultsWithResolvedPromises(
1481
+ message.parts
1482
+ );
1483
+ resolvedHistory.push({
1484
+ ...message,
1485
+ parts: updatedParts
1486
+ });
1487
+ } else {
1488
+ resolvedHistory.push(message);
1489
+ }
1490
+ } else {
1491
+ resolvedHistory.push(message);
1492
+ }
1493
+ }
1494
+ clearToolResultPromises();
1495
+ return resolvedHistory;
1496
+ }
1381
1497
  function createAgentManager() {
1382
1498
  const agents = /* @__PURE__ */ new Map();
1383
1499
  async function persistConversationHistory(key, messages) {
@@ -1506,9 +1622,20 @@ function createAgentManager() {
1506
1622
  ...managedAgent.conversationHistory
1507
1623
  ];
1508
1624
  let currentToolCallIds = [];
1625
+ const resolvedConversationHistory = await resolvePromisesInConversationHistory(
1626
+ currentConversationHistory
1627
+ );
1628
+ managedAgent.conversationHistory = resolvedConversationHistory;
1629
+ currentConversationHistory = resolvedConversationHistory;
1630
+ if (withHistory) {
1631
+ await persistConversationHistory(
1632
+ key,
1633
+ resolvedConversationHistory
1634
+ );
1635
+ }
1509
1636
  const messageObj = options.message || createTextMessageWithHistory(
1510
1637
  message,
1511
- currentConversationHistory
1638
+ resolvedConversationHistory
1512
1639
  );
1513
1640
  const userMessage = createTextMessage(message);
1514
1641
  currentConversationHistory = [
@@ -1699,30 +1826,40 @@ var createFeedbackActions = (config) => {
1699
1826
  }
1700
1827
  const feedbackState = feedbackByMessageId[message.id];
1701
1828
  const actions = [];
1702
- if (feedbackState !== "down") {
1703
- actions.push({
1704
- id: "feedback-up",
1705
- icon: config.icons.up,
1706
- label: "Good response",
1707
- onClick: async () => {
1829
+ actions.push({
1830
+ id: "feedback-up",
1831
+ icon: config.icons.up,
1832
+ label: "Good response",
1833
+ onClick: async () => {
1834
+ if (feedbackState === "up") {
1835
+ delete feedbackByMessageId[message.id];
1836
+ } else {
1708
1837
  await handleFeedback(message.id, "up");
1709
- },
1710
- tooltip: "This response was helpful",
1711
- disabled: feedbackState === "up"
1712
- });
1713
- }
1714
- if (feedbackState !== "up") {
1715
- actions.push({
1716
- id: "feedback-down",
1717
- icon: config.icons.down,
1718
- label: "Bad response",
1719
- onClick: async () => {
1838
+ }
1839
+ notifyListeners();
1840
+ },
1841
+ tooltip: "This response was helpful",
1842
+ pressed: feedbackState === "up",
1843
+ disabled: feedbackState === "down"
1844
+ // Disable if other is selected
1845
+ });
1846
+ actions.push({
1847
+ id: "feedback-down",
1848
+ icon: config.icons.down,
1849
+ label: "Bad response",
1850
+ onClick: async () => {
1851
+ if (feedbackState === "down") {
1852
+ delete feedbackByMessageId[message.id];
1853
+ } else {
1720
1854
  await handleFeedback(message.id, "down");
1721
- },
1722
- tooltip: "This response was not helpful",
1723
- disabled: feedbackState === "down"
1724
- });
1725
- }
1855
+ }
1856
+ notifyListeners();
1857
+ },
1858
+ tooltip: "This response was not helpful",
1859
+ pressed: feedbackState === "down",
1860
+ disabled: feedbackState === "up"
1861
+ // Disable if other is selected
1862
+ });
1726
1863
  return actions;
1727
1864
  },
1728
1865
  clearFeedback: (messageId) => {
@@ -1800,7 +1937,9 @@ function resolveActionsForMessage(message, registrations) {
1800
1937
  icon: action.icon,
1801
1938
  onClick: action.onClick,
1802
1939
  tooltip: action.tooltip,
1803
- disabled: action.disabled || false
1940
+ disabled: action.disabled || false,
1941
+ pressed: action.pressed,
1942
+ showLabel: action.showLabel
1804
1943
  }));
1805
1944
  return filteredActions;
1806
1945
  }
@@ -1904,7 +2043,8 @@ function useAgentChat(config) {
1904
2043
  error: isValidConfig ? null : "Invalid agent configuration",
1905
2044
  suggestions: [],
1906
2045
  markdownComponents: {},
1907
- markdownExtensions: {}
2046
+ markdownExtensions: {},
2047
+ currentAbortController: null
1908
2048
  });
1909
2049
  const {
1910
2050
  registerMessageActions,
@@ -1979,17 +2119,22 @@ function useAgentChat(config) {
1979
2119
  archived: false,
1980
2120
  showIcon: false
1981
2121
  };
2122
+ const abortController = new AbortController();
1982
2123
  setState((prev) => ({
1983
2124
  ...prev,
1984
2125
  uiMessages: [...prev.uiMessages, userMessage],
1985
2126
  isProcessing: true,
1986
- error: null
2127
+ error: null,
2128
+ currentAbortController: abortController
1987
2129
  }));
1988
2130
  try {
1989
2131
  let lastUpdate = null;
1990
2132
  for await (const update of agentManager.sendMessageStream(
1991
2133
  agentKey,
1992
- message
2134
+ message,
2135
+ {
2136
+ abortSignal: abortController.signal
2137
+ }
1993
2138
  )) {
1994
2139
  lastUpdate = update;
1995
2140
  }
@@ -2015,15 +2160,28 @@ function useAgentChat(config) {
2015
2160
  ...prev,
2016
2161
  clientMessages: updatedClientHistory,
2017
2162
  uiMessages: mergedUIMessages,
2018
- isProcessing: false
2163
+ isProcessing: false,
2164
+ currentAbortController: null
2019
2165
  };
2020
2166
  });
2021
2167
  } catch (error) {
2168
+ if (error instanceof Error && error.name === "AbortError") {
2169
+ console.log("Request was aborted by user");
2170
+ setState((prev) => ({
2171
+ ...prev,
2172
+ isProcessing: false,
2173
+ error: null,
2174
+ // Don't show error for user-initiated abort
2175
+ currentAbortController: null
2176
+ }));
2177
+ return;
2178
+ }
2022
2179
  const errorMessage = error instanceof Error ? error.message : "Failed to send message";
2023
2180
  setState((prev) => ({
2024
2181
  ...prev,
2025
2182
  isProcessing: false,
2026
- error: errorMessage
2183
+ error: errorMessage,
2184
+ currentAbortController: null
2027
2185
  }));
2028
2186
  throw error;
2029
2187
  }
@@ -2142,6 +2300,14 @@ function useAgentChat(config) {
2142
2300
  }),
2143
2301
  [state.markdownComponents, state.markdownExtensions]
2144
2302
  );
2303
+ const abortCurrentRequest = useCallback3(() => {
2304
+ setState((currentState) => {
2305
+ if (currentState.currentAbortController) {
2306
+ currentState.currentAbortController.abort();
2307
+ }
2308
+ return currentState;
2309
+ });
2310
+ }, []);
2145
2311
  return {
2146
2312
  // AgentUI props
2147
2313
  messages: state.uiMessages,
@@ -2161,7 +2327,9 @@ function useAgentChat(config) {
2161
2327
  clearAllMessageActions,
2162
2328
  createFeedbackActions: createFeedbackActions2,
2163
2329
  // Tool integration
2164
- addMessage
2330
+ addMessage,
2331
+ // Abort control
2332
+ abortCurrentRequest
2165
2333
  };
2166
2334
  }
2167
2335
 
@@ -2266,6 +2434,7 @@ export {
2266
2434
  BarChart,
2267
2435
  ChartBlock,
2268
2436
  LineChart,
2437
+ createAbortController,
2269
2438
  createClient,
2270
2439
  createFeedbackActions,
2271
2440
  createJetpackAuthProvider,
@@ -1 +1 @@
1
- {"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../../src/message-actions/factories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,qBAAqB,EACrB,uBAAuB,EACvB,SAAS,EACT,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,sBAAsB;IACtC,oBAAoB,EAAE,CAAE,OAAO,EAAE,SAAS,KAAM,uBAAuB,EAAE,CAAC;IAC1E,aAAa,EAAE,CAAE,SAAS,EAAE,MAAM,KAAM,IAAI,CAAC;IAC7C,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,EAAE,CAAE,QAAQ,EAAE,MAAM,IAAI,KAAM,IAAI,CAAC;IAC3C,SAAS,EAAE,CAAE,QAAQ,EAAE,MAAM,IAAI,KAAM,IAAI,CAAC;CAC5C;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GACjC,QAAQ,qBAAqB,KAC3B,sBAqFF,CAAC"}
1
+ {"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../../src/message-actions/factories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,qBAAqB,EACrB,uBAAuB,EACvB,SAAS,EACT,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,sBAAsB;IACtC,oBAAoB,EAAE,CAAE,OAAO,EAAE,SAAS,KAAM,uBAAuB,EAAE,CAAC;IAC1E,aAAa,EAAE,CAAE,SAAS,EAAE,MAAM,KAAM,IAAI,CAAC;IAC7C,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,EAAE,CAAE,QAAQ,EAAE,MAAM,IAAI,KAAM,IAAI,CAAC;IAC3C,SAAS,EAAE,CAAE,QAAQ,EAAE,MAAM,IAAI,KAAM,IAAI,CAAC;CAC5C;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GACjC,QAAQ,qBAAqB,KAC3B,sBA8FF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/message-actions/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,0BAA0B,EAC1B,SAAS,EACT,eAAe,EACf,MAAM,uBAAuB,CAAC;AAE/B;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACvC,OAAO,EAAE,SAAS,EAClB,aAAa,EAAE,0BAA0B,EAAE,GACzC,eAAe,EAAE,CAyBnB"}
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/message-actions/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,0BAA0B,EAC1B,SAAS,EACT,eAAe,EACf,MAAM,uBAAuB,CAAC;AAE/B;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACvC,OAAO,EAAE,SAAS,EAClB,aAAa,EAAE,0BAA0B,EAAE,GACzC,eAAe,EAAE,CA2BnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"agentManager.d.ts","sourceRoot":"","sources":["../../src/react/agentManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,MAAM,EACN,YAAY,EAEZ,OAAO,EACP,iBAAiB,EACjB,IAAI,EACJ,UAAU,EAEV,MAAM,uBAAuB,CAAC;AAmB/B;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAYD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,WAAW,EAAE,CACZ,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,kBAAkB,KACtB,OAAO,CAAE,MAAM,CAAE,CAAC;IACvB,QAAQ,EAAE,CAAE,GAAG,EAAE,MAAM,KAAM,MAAM,GAAG,IAAI,CAAC;IAC3C,QAAQ,EAAE,CAAE,GAAG,EAAE,MAAM,KAAM,OAAO,CAAC;IACrC,WAAW,EAAE,CAAE,GAAG,EAAE,MAAM,KAAM,OAAO,CAAC;IACxC,WAAW,EAAE,CACZ,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,CAAE,iBAAiB,CAAE,KAClC,OAAO,CAAE,IAAI,CAAE,CAAC;IACrB,iBAAiB,EAAE,CAClB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,CAAE,iBAAiB,CAAE,KAClC,aAAa,CAAE,UAAU,CAAE,CAAC;IACjC,iBAAiB,EAAE,CAAE,GAAG,EAAE,MAAM,KAAM,OAAO,CAAE,IAAI,CAAE,CAAC;IACtD,sBAAsB,EAAE,CAAE,GAAG,EAAE,MAAM,KAAM,OAAO,EAAE,CAAC;IACrD,KAAK,EAAE,MAAM,IAAI,CAAC;CAClB;AAsXD;;GAEG;AACH,wBAAgB,eAAe,IAAI,YAAY,CAE9C"}
1
+ {"version":3,"file":"agentManager.d.ts","sourceRoot":"","sources":["../../src/react/agentManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,MAAM,EACN,YAAY,EAEZ,OAAO,EACP,iBAAiB,EACjB,IAAI,EACJ,UAAU,EAEV,MAAM,uBAAuB,CAAC;AA+D/B;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAYD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,WAAW,EAAE,CACZ,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,kBAAkB,KACtB,OAAO,CAAE,MAAM,CAAE,CAAC;IACvB,QAAQ,EAAE,CAAE,GAAG,EAAE,MAAM,KAAM,MAAM,GAAG,IAAI,CAAC;IAC3C,QAAQ,EAAE,CAAE,GAAG,EAAE,MAAM,KAAM,OAAO,CAAC;IACrC,WAAW,EAAE,CAAE,GAAG,EAAE,MAAM,KAAM,OAAO,CAAC;IACxC,WAAW,EAAE,CACZ,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,CAAE,iBAAiB,CAAE,KAClC,OAAO,CAAE,IAAI,CAAE,CAAC;IACrB,iBAAiB,EAAE,CAClB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,CAAE,iBAAiB,CAAE,KAClC,aAAa,CAAE,UAAU,CAAE,CAAC;IACjC,iBAAiB,EAAE,CAAE,GAAG,EAAE,MAAM,KAAM,OAAO,CAAE,IAAI,CAAE,CAAC;IACtD,sBAAsB,EAAE,CAAE,GAAG,EAAE,MAAM,KAAM,OAAO,EAAE,CAAC;IACrD,KAAK,EAAE,MAAM,IAAI,CAAC;CAClB;AAwYD;;GAEG;AACH,wBAAgB,eAAe,IAAI,YAAY,CAE9C"}
@@ -28,19 +28,23 @@ export interface UIMessage {
28
28
  export interface UIMessageAction {
29
29
  id: string;
30
30
  label: string;
31
- icon: React.ReactNode;
31
+ icon?: React.ReactNode;
32
32
  onClick: (message: UIMessage) => void | Promise<void>;
33
33
  disabled?: boolean;
34
34
  tooltip?: string;
35
+ pressed?: boolean;
36
+ showLabel?: boolean;
35
37
  }
36
38
  export interface MessageActionDefinition {
37
39
  id: string;
38
40
  label: string;
39
- icon: ReactNode;
41
+ icon?: ReactNode;
40
42
  onClick: (message: UIMessage) => void | Promise<void>;
41
43
  condition?: (message: UIMessage) => boolean;
42
44
  disabled?: boolean;
43
45
  tooltip?: string;
46
+ pressed?: boolean;
47
+ showLabel?: boolean;
44
48
  }
45
49
  export interface MessageActionsRegistration {
46
50
  id: string;
@@ -86,6 +90,7 @@ export interface UseAgentChatReturn {
86
90
  clearAllMessageActions: () => void;
87
91
  createFeedbackActions: typeof createFeedbackActions;
88
92
  addMessage: (message: UIMessage) => void;
93
+ abortCurrentRequest: () => void;
89
94
  }
90
95
  /**
91
96
  * React hook for agent chat functionality
@@ -1 +1 @@
1
- {"version":3,"file":"useAgentChat.d.ts","sourceRoot":"","sources":["../../src/react/useAgentChat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useAgentChat.d.ts","sourceRoot":"","sources":["../../src/react/useAgentChat.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@automattic/agenttic-client",
3
- "version": "0.1.9",
3
+ "version": "0.1.10",
4
4
  "type": "module",
5
5
  "description": "A TypeScript client library for A2A (Agent2Agent) protocol communication",
6
6
  "main": "dist/index.js",
@@ -33,7 +33,7 @@
33
33
  "author": "Automattic",
34
34
  "license": "MIT",
35
35
  "engines": {
36
- "node": ">=18.0.0"
36
+ "node": ">=20.0.0"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@wordpress/api-fetch": "^7.0.0",