@microsoft/teams.a2a 2.0.0-preview.9 → 2.0.1

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 (42) hide show
  1. package/dist/chat-prompt/plugin.d.ts +26 -14
  2. package/dist/chat-prompt/plugin.js +182 -115
  3. package/dist/chat-prompt/types.d.ts +43 -35
  4. package/dist/index.d.ts +0 -7
  5. package/dist/index.js +1 -31
  6. package/dist/server/plugin.d.ts +27 -24
  7. package/dist/server/plugin.js +70 -86
  8. package/package.json +8 -6
  9. package/dist/client/agent-client.d.ts +0 -58
  10. package/dist/client/agent-client.js +0 -177
  11. package/dist/client/agent-manager.d.ts +0 -57
  12. package/dist/client/agent-manager.js +0 -136
  13. package/dist/client/agent-task-store.d.ts +0 -25
  14. package/dist/client/agent-task-store.js +0 -47
  15. package/dist/common/schema.d.ts +0 -728
  16. package/dist/common/schema.js +0 -26
  17. package/dist/common/type-utils.d.ts +0 -11
  18. package/dist/common/type-utils.js +0 -3
  19. package/dist/common/uuid.d.ts +0 -1
  20. package/dist/common/uuid.js +0 -12
  21. package/dist/server/middleware/isTaskRequest.d.ts +0 -2
  22. package/dist/server/middleware/isTaskRequest.js +0 -32
  23. package/dist/server/plugin.on-get-request.d.ts +0 -3
  24. package/dist/server/plugin.on-get-request.js +0 -17
  25. package/dist/server/plugin.on-send-request.d.ts +0 -9
  26. package/dist/server/plugin.on-send-request.js +0 -107
  27. package/dist/server/serverUtils.d.ts +0 -13
  28. package/dist/server/serverUtils.js +0 -65
  29. package/dist/server/tasks/task-manager.d.ts +0 -22
  30. package/dist/server/tasks/task-manager.js +0 -205
  31. package/dist/server/tasks/task-store.d.ts +0 -8
  32. package/dist/server/tasks/task-store.js +0 -18
  33. package/dist/server/tasks/task-utilities.d.ts +0 -27
  34. package/dist/server/tasks/task-utilities.js +0 -139
  35. package/dist/server/tasks/task-utils.d.ts +0 -22
  36. package/dist/server/tasks/task-utils.js +0 -38
  37. package/dist/server/types/a2a-error.d.ts +0 -23
  38. package/dist/server/types/a2a-error.js +0 -95
  39. package/dist/server/types/a2a-types.d.ts +0 -56
  40. package/dist/server/types/a2a-types.js +0 -3
  41. package/dist/server/types/event-types.d.ts +0 -24
  42. package/dist/server/types/event-types.js +0 -3
@@ -1,139 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TaskUtilities = void 0;
4
- const task_utils_1 = require("./task-utils");
5
- /**
6
- * Handles task-specific operations like state transitions and updates
7
- */
8
- class TaskUtilities {
9
- activeCancellations;
10
- constructor(activeCancellations) {
11
- this.activeCancellations = activeCancellations;
12
- }
13
- createContext(task, userMessage, history) {
14
- return {
15
- task: { ...task },
16
- userMessage,
17
- history: [...history],
18
- isCancelled: () => this.activeCancellations.has(task.id),
19
- };
20
- }
21
- withAppliedUpdate(current, update) {
22
- return this.isTaskStatusUpdate(update)
23
- ? this.applyStatusUpdate(current, update)
24
- : this.applyArtifactUpdate(current, update);
25
- }
26
- stateChangeOnNewRequest(currentState) {
27
- switch (currentState) {
28
- case 'completed':
29
- case 'failed':
30
- case 'canceled':
31
- // In the original sample, they chose to restart the task.
32
- // A stricter approach could be to throw an error here.
33
- // Might make sense to make this behavior configurable.
34
- throw new Error(`Cannot transition from final state: ${currentState}`);
35
- case 'input-required':
36
- // If the previous state was "input-required", we can assume the task is still in progress.
37
- return 'working';
38
- case 'working':
39
- return null;
40
- case 'submitted':
41
- // The orgiinal sample considered this odd, but didn't care
42
- return null;
43
- case 'unknown':
44
- // Let the caller handle this case
45
- return null;
46
- }
47
- }
48
- createStateUpdate(state) {
49
- if (state === 'submitted') {
50
- // If this is a new task, we reset the message
51
- return { state, message: null };
52
- }
53
- return { state };
54
- }
55
- /**
56
- * Creates a status update event object
57
- */
58
- createTaskStatusEvent(taskId, status, final) {
59
- return {
60
- id: taskId,
61
- status: status,
62
- final: final,
63
- };
64
- }
65
- /**
66
- * Creates an artifact update event object
67
- */
68
- createTaskArtifactEvent(taskId, artifact, final) {
69
- return {
70
- id: taskId,
71
- artifact: artifact,
72
- final: final,
73
- };
74
- }
75
- applyStatusUpdate(current, update) {
76
- const newTask = { ...current.task };
77
- const newHistory = [...current.history];
78
- // Merge status update
79
- newTask.status = {
80
- ...newTask.status, // Keep existing properties if not overwritten
81
- ...update, // Apply updates
82
- timestamp: (0, task_utils_1.getCurrentTimestamp)(), // Always update timestamp
83
- };
84
- // If the update includes an agent message, add it to history
85
- if (update.message?.role === 'agent') {
86
- newHistory.push(update.message);
87
- }
88
- return { task: newTask, history: newHistory };
89
- }
90
- applyArtifactUpdate(current, update) {
91
- const newTask = { ...current.task };
92
- newTask.artifacts = newTask.artifacts ? [...newTask.artifacts] : [];
93
- const updates = Array.isArray(update) ? update : [update];
94
- for (const update of updates) {
95
- const existingIndex = this.findArtifactIndex(newTask.artifacts, update);
96
- if (existingIndex >= 0) {
97
- newTask.artifacts[existingIndex] = update.append
98
- ? this.appendToArtifact(newTask.artifacts[existingIndex], update)
99
- : { ...update };
100
- }
101
- else {
102
- newTask.artifacts.push({ ...update });
103
- this.sortArtifacts(newTask.artifacts);
104
- }
105
- }
106
- return { task: newTask, history: current.history };
107
- }
108
- findArtifactIndex(artifacts, update) {
109
- if (update.index !== undefined) {
110
- return update.index < artifacts.length ? update.index : -1;
111
- }
112
- return update.name
113
- ? artifacts.findIndex((a) => a.name === update.name)
114
- : -1;
115
- }
116
- appendToArtifact(existing, update) {
117
- // Create a deep copy for modification to avoid mutating original
118
- const artifact = JSON.parse(JSON.stringify(existing));
119
- artifact.parts.push(...update.parts);
120
- if (update.metadata) {
121
- artifact.metadata = { ...(artifact.metadata || {}), ...update.metadata };
122
- }
123
- if (update.lastChunk !== undefined)
124
- artifact.lastChunk = update.lastChunk;
125
- if (update.description)
126
- artifact.description = update.description;
127
- return artifact;
128
- }
129
- sortArtifacts(artifacts) {
130
- if (artifacts.some((a) => a.index !== undefined)) {
131
- artifacts.sort((a, b) => (a.index ?? 0) - (b.index ?? 0));
132
- }
133
- }
134
- isTaskStatusUpdate(update) {
135
- return 'state' in update;
136
- }
137
- }
138
- exports.TaskUtilities = TaskUtilities;
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay11dGlsaXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmVyL3Rhc2tzL3Rhc2stdXRpbGl0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLDZDQUFtRDtBQUVuRDs7R0FFRztBQUNILE1BQWEsYUFBYTtJQUNoQixtQkFBbUIsQ0FBYztJQUV6QyxZQUFZLG1CQUFnQztRQUMxQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsbUJBQW1CLENBQUM7SUFDakQsQ0FBQztJQUVELGFBQWEsQ0FDWCxJQUFpQixFQUNqQixXQUEyQixFQUMzQixPQUF5QjtRQUV6QixPQUFPO1lBQ0wsSUFBSSxFQUFFLEVBQUUsR0FBRyxJQUFJLEVBQUU7WUFDakIsV0FBVztZQUNYLE9BQU8sRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDO1lBQ3JCLFdBQVcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7U0FDekQsQ0FBQztJQUNKLENBQUM7SUFFRCxpQkFBaUIsQ0FDZixPQUF1QixFQUN2QixNQUFrQjtRQUVsQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUM7WUFDcEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDO1lBQ3pDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCx1QkFBdUIsQ0FDckIsWUFBOEI7UUFFOUIsUUFBUSxZQUFZLEVBQUUsQ0FBQztZQUNyQixLQUFLLFdBQVcsQ0FBQztZQUNqQixLQUFLLFFBQVEsQ0FBQztZQUNkLEtBQUssVUFBVTtnQkFDYiwwREFBMEQ7Z0JBQzFELHVEQUF1RDtnQkFDdkQsdURBQXVEO2dCQUN2RCxNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxZ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
@@ -1,22 +0,0 @@
1
- import * as schema from '../../common/schema';
2
- /**
3
- * Generates a timestamp in ISO 8601 format.
4
- * @returns The current timestamp as a string.
5
- */
6
- export declare function getCurrentTimestamp(): string;
7
- /**
8
- * Checks if a value is a plain object (excluding arrays and null).
9
- * @param value The value to check.
10
- * @returns True if the value is a plain object, false otherwise.
11
- */
12
- export declare function isObject(value: unknown): value is Record<string, any>;
13
- /**
14
- * Type guard to check if an object is a TaskStatus update (lacks 'parts').
15
- * Used to differentiate yielded updates from the handler.
16
- */
17
- export declare function isTaskStatusUpdate(update: any): update is Omit<schema.TaskStatus, 'timestamp'>;
18
- /**
19
- * Type guard to check if an object is an Artifact update (has 'parts').
20
- * Used to differentiate yielded updates from the handler.
21
- */
22
- export declare function isArtifactUpdate(update: any): update is schema.Artifact;
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getCurrentTimestamp = getCurrentTimestamp;
4
- exports.isObject = isObject;
5
- exports.isTaskStatusUpdate = isTaskStatusUpdate;
6
- exports.isArtifactUpdate = isArtifactUpdate;
7
- /**
8
- * Generates a timestamp in ISO 8601 format.
9
- * @returns The current timestamp as a string.
10
- */
11
- function getCurrentTimestamp() {
12
- return new Date().toISOString();
13
- }
14
- /**
15
- * Checks if a value is a plain object (excluding arrays and null).
16
- * @param value The value to check.
17
- * @returns True if the value is a plain object, false otherwise.
18
- */
19
- function isObject(value) {
20
- return typeof value === 'object' && value !== null && !Array.isArray(value);
21
- }
22
- /**
23
- * Type guard to check if an object is a TaskStatus update (lacks 'parts').
24
- * Used to differentiate yielded updates from the handler.
25
- */
26
- function isTaskStatusUpdate(update) {
27
- // Check if it has 'state' and NOT 'parts' (which Artifacts have)
28
- return isObject(update) && 'state' in update && !('parts' in update);
29
- }
30
- /**
31
- * Type guard to check if an object is an Artifact update (has 'parts').
32
- * Used to differentiate yielded updates from the handler.
33
- */
34
- function isArtifactUpdate(update) {
35
- // Check if it has 'parts'
36
- return isObject(update) && 'parts' in update;
37
- }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2ZXIvdGFza3MvdGFzay11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQU1BLGtEQUVDO0FBT0QsNEJBRUM7QUFNRCxnREFLQztBQU1ELDRDQUtDO0FBckNEOzs7R0FHRztBQUNILFNBQWdCLG1CQUFtQjtJQUMvQixPQUFPLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDcEMsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixRQUFRLENBQUMsS0FBYztJQUNuQyxPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNoRixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBZ0Isa0JBQWtCLENBQzlCLE1BQVc7SUFFWCxpRUFBaUU7SUFDakUsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksT0FBTyxJQUFJLE1BQU0sSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxDQUFDO0FBQ3pFLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixnQkFBZ0IsQ0FDNUIsTUFBVztJQUVYLDBCQUEwQjtJQUMxQixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxPQUFPLElBQUksTUFBTSxDQUFDO0FBQ2pELENBQUMifQ==
@@ -1,23 +0,0 @@
1
- import * as schema from '../../common/schema';
2
- /**
3
- * Custom error class for A2A server operations, incorporating JSON-RPC error codes.
4
- */
5
- export declare class A2AError extends Error implements schema.A2AError {
6
- code: schema.KnownErrorCode | number;
7
- data?: unknown;
8
- taskId?: string | number;
9
- constructor(code: schema.KnownErrorCode | number, message: string, data?: unknown, taskId?: string | number);
10
- static parseError(message: string, data?: unknown): A2AError;
11
- static invalidRequest(message: string, data?: unknown): A2AError;
12
- static methodNotFound(method: string): A2AError;
13
- static invalidParams(message: string, data?: unknown): A2AError;
14
- static internalError(message: string, data?: unknown): A2AError;
15
- static taskNotFound(taskId: string): A2AError;
16
- static taskNotCancelable(taskId: string): A2AError;
17
- static pushNotificationNotSupported(): A2AError;
18
- static unsupportedOperation(operation: string): A2AError;
19
- /**
20
- * Formats the error into a standard JSON-RPC error object structure.
21
- */
22
- toJSONRPCError(): schema.JSONRPCError<unknown>;
23
- }
@@ -1,95 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.A2AError = void 0;
37
- const schema = __importStar(require("../../common/schema"));
38
- /**
39
- * Custom error class for A2A server operations, incorporating JSON-RPC error codes.
40
- */
41
- class A2AError extends Error {
42
- code;
43
- data;
44
- taskId; // Optional task ID context
45
- constructor(code, message, data, taskId) {
46
- super(message);
47
- this.name = 'A2AError';
48
- this.code = code;
49
- this.data = data;
50
- this.taskId = taskId; // Store associated task ID if provided
51
- }
52
- // Static factory methods for common errors
53
- static parseError(message, data) {
54
- return new A2AError(schema.ErrorCodeParseError, message, data);
55
- }
56
- static invalidRequest(message, data) {
57
- return new A2AError(schema.ErrorCodeInvalidRequest, message, data);
58
- }
59
- static methodNotFound(method) {
60
- return new A2AError(schema.ErrorCodeMethodNotFound, `Method not found: ${method}`);
61
- }
62
- static invalidParams(message, data) {
63
- return new A2AError(schema.ErrorCodeInvalidParams, message, data);
64
- }
65
- static internalError(message, data) {
66
- return new A2AError(schema.ErrorCodeInternalError, message, data);
67
- }
68
- static taskNotFound(taskId) {
69
- return new A2AError(schema.ErrorCodeTaskNotFound, `Task not found: ${taskId}`, undefined, taskId);
70
- }
71
- static taskNotCancelable(taskId) {
72
- return new A2AError(schema.ErrorCodeTaskNotCancelable, `Task not cancelable: ${taskId}`, undefined, taskId);
73
- }
74
- static pushNotificationNotSupported() {
75
- return new A2AError(schema.ErrorCodePushNotificationNotSupported, 'Push Notification is not supported');
76
- }
77
- static unsupportedOperation(operation) {
78
- return new A2AError(schema.ErrorCodeUnsupportedOperation, `Unsupported operation: ${operation}`);
79
- }
80
- /**
81
- * Formats the error into a standard JSON-RPC error object structure.
82
- */
83
- toJSONRPCError() {
84
- const errorObject = {
85
- code: this.code,
86
- message: this.message,
87
- };
88
- if (this.data !== undefined) {
89
- errorObject.data = this.data;
90
- }
91
- return errorObject;
92
- }
93
- }
94
- exports.A2AError = A2AError;
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYTJhLWVycm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZlci90eXBlcy9hMmEtZXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNERBQThDO0FBRTlDOztHQUVHO0FBQ0gsTUFBYSxRQUFTLFNBQVEsS0FBSztJQUMxQixJQUFJLENBQWlDO0lBQ3JDLElBQUksQ0FBVztJQUNmLE1BQU0sQ0FBbUIsQ0FBQywyQkFBMkI7SUFFNUQsWUFDRSxJQUFvQyxFQUNwQyxPQUFlLEVBQ2YsSUFBYyxFQUNkLE1BQXdCO1FBRXhCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUMsdUNBQXVDO0lBQy9ELENBQUM7SUFFRCwyQ0FBMkM7SUFDM0MsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFlLEVBQUUsSUFBYztRQUMvQyxPQUFPLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBZSxFQUFFLElBQWM7UUFDbkQsT0FBTyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsdUJBQXVCLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQWM7UUFDbEMsT0FBTyxJQUFJLFFBQVEsQ0FDakIsTUFBTSxDQUFDLHVCQUF1QixFQUM5QixxQkFBcUIsTUFBTSxFQUFFLENBQzlCLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUFlLEVBQUUsSUFBYztRQUNsRCxPQUFPLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBZSxFQUFFLElBQWM7UUFDbEQsT0FBTyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQWM7UUFDaEMsT0FBTyxJQUFJLFFBQVEsQ0FDakIsTUFBTSxDQUFDLHFCQUFxQixFQUM1QixtQkFBbUIsTUFBTSxFQUFFLEVBQzNCLFNBQVMsRUFDVCxNQUFNLENBQ1AsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsaUJBQWlCLENBQUMsTUFBYztRQUNyQyxPQUFPLElBQUksUUFBUSxDQUNqQixNQUFNLENBQUMsMEJBQTBCLEVBQ2pDLHdCQUF3QixNQUFNLEVBQUUsRUFDaEMsU0FBUyxFQUNULE1BQU0sQ0FDUCxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyw0QkFBNEI7UUFDakMsT0FBTyxJQUFJLFFBQVEsQ0FDakIsTUFBTSxDQUFDLHFDQUFxQyxFQUM1QyxvQ0FBb0MsQ0FDckMsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsb0JBQW9CLENBQUMsU0FBaUI7UUFDM0MsT0FBTyxJQUFJLFFBQVEsQ0FDakIsTUFBTSxDQUFDLDZCQUE2QixFQUNwQywwQkFBMEIsU0FBUyxFQUFFLENBQ3RDLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxjQUFjO1FBQ1osTUFBTSxXQUFXLEdBQWlDO1lBQ2hELElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0QixDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzVCLFdBQVcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMvQixDQUFDO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztDQUNGO0FBdkZELDRCQXVGQyJ9
@@ -1,56 +0,0 @@
1
- import * as schema from '../../common/schema';
2
- export type TaskAndHistory = {
3
- task: schema.Task;
4
- history: schema.Message[];
5
- };
6
- /**
7
- * Simplified interface for task storage providers.
8
- * Stores and retrieves both the task and its full message history together.
9
- */
10
- export interface ITaskStore {
11
- /**
12
- * Saves a task and its associated message history.
13
- * Overwrites existing data if the task ID exists.
14
- * @param data An object containing the task and its history.
15
- * @returns A promise resolving when the save operation is complete.
16
- */
17
- save(data: TaskAndHistory): Promise<void>;
18
- /**
19
- * Loads a task and its history by task ID.
20
- * @param taskId The ID of the task to load.
21
- * @returns A promise resolving to an object containing the Task and its history, or null if not found.
22
- */
23
- load(taskId: string): Promise<TaskAndHistory | null>;
24
- }
25
- /**
26
- * Context object provided to the TaskHandler.
27
- */
28
- export type TaskContext = {
29
- /**
30
- * The current state of the task when the handler is invoked or resumed.
31
- * Note: This is a snapshot. For the absolute latest state during async operations,
32
- * the handler might need to reload the task via the store.
33
- */
34
- task: schema.Task;
35
- /**
36
- * The specific user message that triggered this handler invocation or resumption.
37
- */
38
- userMessage: schema.Message;
39
- /**
40
- * Function to check if cancellation has been requested for this task.
41
- * Handlers should ideally check this periodically during long-running operations.
42
- * @returns {boolean} True if cancellation has been requested, false otherwise.
43
- */
44
- isCancelled(): boolean;
45
- /**
46
- * The message history associated with the task up to the point the handler is invoked.
47
- * Optional, as history might not always be available or relevant.
48
- */
49
- history?: schema.Message[];
50
- };
51
- /**
52
- * Represents the possible types of updates a TaskHandler can yield.
53
- * It's either a partial TaskStatus (without the server-managed timestamp)
54
- * or a complete Artifact object.
55
- */
56
- export type TaskUpdate = Omit<schema.TaskStatus, 'timestamp'> | schema.Artifact | schema.Artifact[];
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYTJhLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZlci90eXBlcy9hMmEtdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -1,24 +0,0 @@
1
- import * as schema from '../../common/schema';
2
- import { TaskContext, TaskUpdate } from './a2a-types';
3
- export type Respond = (taskUpdate: TaskUpdate | string) => Promise<void>;
4
- export type AccumulateArtifacts = (artifact: schema.Artifact | schema.Artifact[]) => Promise<void>;
5
- export type A2AEvents = {
6
- 'a2a:message': {
7
- /**
8
- * The context of the task
9
- */
10
- taskContext: TaskContext;
11
- /**
12
- * Function to respond to the task.
13
- * This function must be called once to indicate
14
- * that the task is handled.
15
- */
16
- respond: Respond;
17
- /**
18
- * Function to accumulate artifacts.
19
- * This function can be called multiple times to accumulate
20
- * artifacts.
21
- */
22
- accumulateArtifacts: AccumulateArtifacts;
23
- };
24
- };
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmVyL3R5cGVzL2V2ZW50LXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==