@artinet/sdk 0.5.17 → 0.6.0-preview.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.
- package/README.md +51 -557
- package/dist/browser/browser.d.ts +9 -0
- package/dist/browser/browser.js +10 -0
- package/dist/browser/client/a2a-client.d.ts +127 -0
- package/dist/browser/client/a2a-client.js +233 -0
- package/dist/browser/client/index.d.ts +1 -0
- package/dist/browser/client/index.js +1 -0
- package/dist/browser/config/index.d.ts +158 -0
- package/dist/browser/config/index.js +155 -0
- package/dist/browser/config/observability.d.ts +119 -0
- package/dist/browser/config/observability.js +35 -0
- package/dist/browser/services/a2a/helpers/message-builder.d.ts +17 -0
- package/dist/browser/services/a2a/helpers/message-builder.js +66 -0
- package/dist/browser/transport/rpc/parser.d.ts +15 -0
- package/dist/browser/transport/rpc/parser.js +48 -0
- package/dist/browser/transport/rpc/rpc-client.d.ts +80 -0
- package/dist/browser/transport/rpc/rpc-client.js +189 -0
- package/dist/browser/transport/streaming/event-stream.d.ts +25 -0
- package/dist/browser/transport/streaming/event-stream.js +100 -0
- package/dist/browser/types/a2a/a2a.d.ts +378 -0
- package/dist/browser/types/a2a/a2a.js +14 -0
- package/dist/browser/types/a2a/builder.d.ts +43 -0
- package/dist/browser/types/a2a/index.d.ts +3 -0
- package/dist/browser/types/a2a/index.js +2 -0
- package/dist/{types/interfaces → browser/types}/client.d.ts +25 -27
- package/dist/browser/types/core/core.d.ts +31 -0
- package/dist/browser/types/core/index.d.ts +1 -0
- package/dist/browser/types/core/index.js +1 -0
- package/dist/{types/interfaces/services → browser/types}/index.d.ts +3 -0
- package/dist/{types/interfaces/services → browser/types}/index.js +3 -0
- package/dist/browser/types/mcp/index.d.ts +1 -0
- package/dist/browser/types/mcp/index.js +1 -0
- package/dist/{types/interfaces/services/mcp/service.d.ts → browser/types/mcp/mcp.d.ts} +4 -3
- package/dist/browser/types/mcp/mcp.js +5 -0
- package/dist/browser/types/storage.d.ts +21 -0
- package/dist/browser/types/utils/index.d.ts +1 -0
- package/dist/browser/types/utils/index.js +1 -0
- package/dist/browser/types/utils/transform.d.ts +64 -0
- package/dist/browser/types/utils/transform.js +35 -0
- package/dist/browser/utils/common/constants.d.ts +11 -0
- package/dist/browser/utils/common/constants.js +38 -0
- package/dist/browser/utils/common/errors.d.ts +24 -0
- package/dist/browser/utils/common/errors.js +42 -0
- package/dist/browser/utils/common/utils.d.ts +32 -0
- package/dist/browser/utils/common/utils.js +43 -0
- package/dist/client/a2a-client.d.ts +21 -19
- package/dist/client/a2a-client.js +30 -9
- package/dist/config/default.d.ts +50 -0
- package/dist/config/default.js +62 -0
- package/dist/config/index.d.ts +158 -0
- package/dist/config/index.js +155 -0
- package/dist/config/observability.d.ts +119 -0
- package/dist/config/observability.js +35 -0
- package/dist/extensions/otel.d.ts +98 -0
- package/dist/extensions/otel.js +190 -0
- package/dist/extensions/pino.d.ts +44 -0
- package/dist/extensions/pino.js +107 -0
- package/dist/extensions/winston.d.ts +47 -0
- package/dist/extensions/winston.js +114 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/server/express/errors.js +3 -3
- package/dist/server/express/middeware.d.ts +2 -2
- package/dist/server/express/middeware.js +36 -9
- package/dist/server/express/server.d.ts +9 -55
- package/dist/server/express/server.js +51 -32
- package/dist/services/a2a/execute.d.ts +6 -0
- package/dist/services/a2a/execute.js +25 -0
- package/dist/services/a2a/factory/builder.d.ts +21 -80
- package/dist/services/a2a/factory/builder.js +23 -13
- package/dist/services/a2a/factory/context.d.ts +15 -128
- package/dist/services/a2a/factory/context.js +31 -136
- package/dist/services/a2a/factory/handler.d.ts +6 -0
- package/dist/services/a2a/factory/{method.js → handler.js} +2 -2
- package/dist/services/a2a/factory/index.d.ts +1 -2
- package/dist/services/a2a/factory/index.js +1 -2
- package/dist/services/a2a/factory/service.d.ts +20 -7
- package/dist/services/a2a/factory/service.js +4 -4
- package/dist/services/a2a/factory/state-machine.d.ts +11 -0
- package/dist/services/a2a/factory/state-machine.js +66 -0
- package/dist/services/a2a/{state/update → handlers}/artifact.d.ts +4 -4
- package/dist/services/a2a/handlers/cancel-task.d.ts +11 -0
- package/dist/services/a2a/handlers/cancel-task.js +33 -0
- package/dist/services/a2a/handlers/get-task.d.ts +11 -0
- package/dist/services/a2a/handlers/get-task.js +13 -0
- package/dist/services/a2a/handlers/resubscribe-task.d.ts +11 -0
- package/dist/services/a2a/handlers/resubscribe-task.js +56 -0
- package/dist/services/a2a/handlers/send-message.d.ts +11 -0
- package/dist/services/a2a/handlers/send-message.js +35 -0
- package/dist/services/a2a/handlers/stream-message.d.ts +11 -0
- package/dist/services/a2a/handlers/stream-message.js +19 -0
- package/dist/services/a2a/handlers/update.d.ts +17 -0
- package/dist/services/a2a/handlers/update.js +114 -0
- package/dist/services/a2a/helpers/agentcard-builder.d.ts +9 -5
- package/dist/services/a2a/helpers/agentcard-builder.js +5 -0
- package/dist/services/a2a/helpers/content.d.ts +2 -2
- package/dist/services/a2a/helpers/content.js +4 -0
- package/dist/services/a2a/helpers/history.d.ts +6 -0
- package/dist/services/a2a/helpers/history.js +7 -0
- package/dist/services/a2a/helpers/index.d.ts +3 -1
- package/dist/services/a2a/helpers/index.js +3 -1
- package/dist/services/a2a/helpers/message-builder.d.ts +13 -8
- package/dist/services/a2a/helpers/message-builder.js +5 -0
- package/dist/services/a2a/helpers/part.d.ts +9 -9
- package/dist/services/a2a/helpers/references.d.ts +6 -0
- package/dist/services/a2a/helpers/references.js +22 -0
- package/dist/services/a2a/index.d.ts +9 -5
- package/dist/services/a2a/index.js +8 -5
- package/dist/services/a2a/managers.d.ts +23 -0
- package/dist/services/a2a/managers.js +95 -0
- package/dist/services/a2a/messenger.d.ts +35 -0
- package/dist/services/{core/managers/command.js → a2a/messenger.js} +27 -31
- package/dist/services/a2a/service.d.ts +41 -371
- package/dist/services/a2a/service.js +239 -70
- package/dist/services/a2a/state-machine.d.ts +18 -0
- package/dist/services/a2a/state-machine.js +76 -0
- package/dist/services/a2a/streams.d.ts +22 -0
- package/dist/services/a2a/streams.js +98 -0
- package/dist/services/core/index.d.ts +1 -2
- package/dist/services/core/index.js +1 -2
- package/dist/services/core/manager.d.ts +15 -0
- package/dist/services/core/manager.js +42 -0
- package/dist/services/mcp/service.d.ts +11 -15
- package/dist/services/mcp/service.js +16 -16
- package/dist/transport/index.d.ts +0 -1
- package/dist/transport/index.js +1 -1
- package/dist/transport/rpc/parser.d.ts +2 -2
- package/dist/transport/rpc/parser.js +7 -7
- package/dist/transport/rpc/rpc-client.d.ts +5 -5
- package/dist/transport/rpc/rpc-client.js +7 -7
- package/dist/transport/streaming/event-stream.d.ts +3 -3
- package/dist/transport/streaming/event-stream.js +11 -10
- package/dist/transport/trpc/a2a/factory/router.d.ts +479 -871
- package/dist/transport/trpc/a2a/factory/router.js +2 -2
- package/dist/transport/trpc/a2a/routes/info.d.ts +108 -8
- package/dist/transport/trpc/a2a/routes/info.js +6 -2
- package/dist/transport/trpc/a2a/routes/message/route.d.ts +113 -162
- package/dist/transport/trpc/a2a/routes/message/route.js +7 -13
- package/dist/transport/trpc/a2a/routes/tasks/route.d.ts +114 -212
- package/dist/transport/trpc/a2a/routes/tasks/route.js +16 -19
- package/dist/transport/trpc/a2a/trpc.d.ts +9 -253
- package/dist/types/a2a/a2a.d.ts +378 -0
- package/dist/types/a2a/a2a.js +14 -0
- package/dist/types/a2a/builder.d.ts +43 -0
- package/dist/types/a2a/index.d.ts +3 -0
- package/dist/types/a2a/index.js +2 -0
- package/dist/types/client.d.ts +133 -0
- package/dist/types/core/core.d.ts +31 -0
- package/dist/types/core/core.js +1 -0
- package/dist/types/core/index.d.ts +1 -0
- package/dist/types/core/index.js +1 -0
- package/dist/types/index.d.ts +6 -3
- package/dist/types/index.js +6 -3
- package/dist/types/mcp/index.d.ts +1 -0
- package/dist/types/mcp/index.js +1 -0
- package/dist/types/mcp/mcp.d.ts +50 -0
- package/dist/types/mcp/mcp.js +5 -0
- package/dist/types/protocol.d.ts +33 -0
- package/dist/types/protocol.js +34 -0
- package/dist/types/storage.d.ts +21 -0
- package/dist/utils/common/constants.d.ts +7 -7
- package/dist/utils/common/constants.js +10 -10
- package/dist/utils/common/errors.d.ts +18 -17
- package/dist/utils/common/errors.js +14 -13
- package/dist/utils/common/parse.d.ts +7 -0
- package/dist/utils/common/parse.js +14 -0
- package/dist/utils/common/schema-validation.d.ts +2 -0
- package/dist/utils/common/schema-validation.js +12 -0
- package/dist/utils/common/utils.d.ts +23 -0
- package/dist/utils/common/utils.js +32 -0
- package/dist/utils/common/zAsyncIterable-v3.d.ts +1 -1
- package/dist/utils/common/zAsyncIterable-v3.js +2 -1
- package/dist/utils/index.d.ts +3 -3
- package/dist/utils/index.js +3 -3
- package/dist/utils/storage/file.d.ts +8 -17
- package/dist/utils/storage/file.js +44 -73
- package/package.json +86 -23
- package/dist/services/a2a/factory/event.d.ts +0 -58
- package/dist/services/a2a/factory/event.js +0 -177
- package/dist/services/a2a/factory/method.d.ts +0 -6
- package/dist/services/a2a/managers/cancellation.d.ts +0 -11
- package/dist/services/a2a/managers/cancellation.js +0 -16
- package/dist/services/a2a/managers/connection.d.ts +0 -11
- package/dist/services/a2a/managers/connection.js +0 -16
- package/dist/services/a2a/managers/context.d.ts +0 -11
- package/dist/services/a2a/managers/context.js +0 -16
- package/dist/services/a2a/managers/index.d.ts +0 -5
- package/dist/services/a2a/managers/index.js +0 -5
- package/dist/services/a2a/managers/task.d.ts +0 -11
- package/dist/services/a2a/managers/task.js +0 -16
- package/dist/services/a2a/methods/cancel-task.d.ts +0 -7
- package/dist/services/a2a/methods/cancel-task.js +0 -43
- package/dist/services/a2a/methods/get-task.d.ts +0 -112
- package/dist/services/a2a/methods/get-task.js +0 -14
- package/dist/services/a2a/methods/resubscribe-task.d.ts +0 -7
- package/dist/services/a2a/methods/resubscribe-task.js +0 -80
- package/dist/services/a2a/methods/send-message.d.ts +0 -7
- package/dist/services/a2a/methods/send-message.js +0 -19
- package/dist/services/a2a/methods/stream-message.d.ts +0 -8
- package/dist/services/a2a/methods/stream-message.js +0 -21
- package/dist/services/a2a/state/index.d.ts +0 -3
- package/dist/services/a2a/state/index.js +0 -3
- package/dist/services/a2a/state/load.d.ts +0 -14
- package/dist/services/a2a/state/load.js +0 -71
- package/dist/services/a2a/state/process.d.ts +0 -7
- package/dist/services/a2a/state/process.js +0 -13
- package/dist/services/a2a/state/update/index.d.ts +0 -2
- package/dist/services/a2a/state/update/index.js +0 -2
- package/dist/services/a2a/state/update/update.d.ts +0 -23
- package/dist/services/a2a/state/update/update.js +0 -123
- package/dist/services/core/execution/execute.d.ts +0 -6
- package/dist/services/core/execution/execute.js +0 -25
- package/dist/services/core/execution/index.d.ts +0 -1
- package/dist/services/core/execution/index.js +0 -1
- package/dist/services/core/managers/command.d.ts +0 -39
- package/dist/services/core/managers/event.d.ts +0 -18
- package/dist/services/core/managers/event.js +0 -56
- package/dist/services/core/managers/index.d.ts +0 -3
- package/dist/services/core/managers/index.js +0 -3
- package/dist/services/core/managers/stream.d.ts +0 -20
- package/dist/services/core/managers/stream.js +0 -77
- package/dist/types/ext.d.ts +0 -13
- package/dist/types/ext.js +0 -10
- package/dist/types/interfaces/index.d.ts +0 -3
- package/dist/types/interfaces/index.js +0 -3
- package/dist/types/interfaces/services/a2a/builder.d.ts +0 -37
- package/dist/types/interfaces/services/a2a/context.d.ts +0 -162
- package/dist/types/interfaces/services/a2a/engine.d.ts +0 -7
- package/dist/types/interfaces/services/a2a/index.d.ts +0 -5
- package/dist/types/interfaces/services/a2a/index.js +0 -5
- package/dist/types/interfaces/services/a2a/legacy.d.ts +0 -93
- package/dist/types/interfaces/services/a2a/service.d.ts +0 -409
- package/dist/types/interfaces/services/a2a/service.js +0 -5
- package/dist/types/interfaces/services/core/context/command.d.ts +0 -25
- package/dist/types/interfaces/services/core/context/command.js +0 -5
- package/dist/types/interfaces/services/core/context/context.d.ts +0 -207
- package/dist/types/interfaces/services/core/context/context.js +0 -5
- package/dist/types/interfaces/services/core/context/index.d.ts +0 -3
- package/dist/types/interfaces/services/core/context/index.js +0 -3
- package/dist/types/interfaces/services/core/context/types.d.ts +0 -11
- package/dist/types/interfaces/services/core/context/types.js +0 -5
- package/dist/types/interfaces/services/core/execution/engine.d.ts +0 -106
- package/dist/types/interfaces/services/core/execution/engine.js +0 -5
- package/dist/types/interfaces/services/core/execution/environment.d.ts +0 -11
- package/dist/types/interfaces/services/core/execution/environment.js +0 -5
- package/dist/types/interfaces/services/core/execution/execute.d.ts +0 -7
- package/dist/types/interfaces/services/core/execution/execute.js +0 -5
- package/dist/types/interfaces/services/core/execution/index.d.ts +0 -3
- package/dist/types/interfaces/services/core/execution/index.js +0 -3
- package/dist/types/interfaces/services/core/index.d.ts +0 -4
- package/dist/types/interfaces/services/core/index.js +0 -4
- package/dist/types/interfaces/services/core/managers/cancellation.d.ts +0 -9
- package/dist/types/interfaces/services/core/managers/cancellation.js +0 -5
- package/dist/types/interfaces/services/core/managers/connection.d.ts +0 -9
- package/dist/types/interfaces/services/core/managers/connection.js +0 -5
- package/dist/types/interfaces/services/core/managers/context.d.ts +0 -17
- package/dist/types/interfaces/services/core/managers/context.js +0 -5
- package/dist/types/interfaces/services/core/managers/event.d.ts +0 -328
- package/dist/types/interfaces/services/core/managers/event.js +0 -5
- package/dist/types/interfaces/services/core/managers/index.d.ts +0 -6
- package/dist/types/interfaces/services/core/managers/index.js +0 -6
- package/dist/types/interfaces/services/core/managers/stream.d.ts +0 -217
- package/dist/types/interfaces/services/core/managers/stream.js +0 -5
- package/dist/types/interfaces/services/core/managers/task.d.ts +0 -9
- package/dist/types/interfaces/services/core/service.d.ts +0 -115
- package/dist/types/interfaces/services/core/service.js +0 -5
- package/dist/types/interfaces/services/mcp/index.d.ts +0 -1
- package/dist/types/interfaces/services/mcp/index.js +0 -1
- package/dist/types/interfaces/services/mcp/service.js +0 -5
- package/dist/types/interfaces/storage.d.ts +0 -8
- package/dist/types/schemas/a2a/agent.d.ts +0 -2583
- package/dist/types/schemas/a2a/agent.js +0 -323
- package/dist/types/schemas/a2a/auth.d.ts +0 -908
- package/dist/types/schemas/a2a/auth.js +0 -283
- package/dist/types/schemas/a2a/error.d.ts +0 -396
- package/dist/types/schemas/a2a/error.js +0 -163
- package/dist/types/schemas/a2a/index.d.ts +0 -11
- package/dist/types/schemas/a2a/index.js +0 -11
- package/dist/types/schemas/a2a/kind.d.ts +0 -11
- package/dist/types/schemas/a2a/kind.js +0 -20
- package/dist/types/schemas/a2a/message.d.ts +0 -10343
- package/dist/types/schemas/a2a/message.js +0 -130
- package/dist/types/schemas/a2a/notification.d.ts +0 -1517
- package/dist/types/schemas/a2a/notification.js +0 -203
- package/dist/types/schemas/a2a/parameters.d.ts +0 -956
- package/dist/types/schemas/a2a/parameters.js +0 -241
- package/dist/types/schemas/a2a/protocol.d.ts +0 -14363
- package/dist/types/schemas/a2a/protocol.js +0 -59
- package/dist/types/schemas/a2a/rpc.d.ts +0 -182
- package/dist/types/schemas/a2a/rpc.js +0 -126
- package/dist/types/schemas/a2a/task.d.ts +0 -5886
- package/dist/types/schemas/a2a/task.js +0 -134
- package/dist/types/schemas/a2a/transport.d.ts +0 -31
- package/dist/types/schemas/a2a/transport.js +0 -28
- package/dist/types/schemas/index.d.ts +0 -1
- package/dist/types/schemas/index.js +0 -1
- package/dist/utils/logging/index.d.ts +0 -2
- package/dist/utils/logging/index.js +0 -2
- package/dist/utils/logging/log.d.ts +0 -33
- package/dist/utils/logging/log.js +0 -75
- package/dist/utils/logging/logger.d.ts +0 -18
- package/dist/utils/logging/logger.js +0 -18
- package/dist/utils/storage/memory.d.ts +0 -25
- package/dist/utils/storage/memory.js +0 -47
- /package/dist/{types/interfaces/services → browser/types}/a2a/builder.js +0 -0
- /package/dist/{types/interfaces → browser/types}/client.js +0 -0
- /package/dist/{types/interfaces/services/core/managers/task.js → browser/types/core/core.js} +0 -0
- /package/dist/{types/interfaces/services → browser/types}/protocol.d.ts +0 -0
- /package/dist/{types/interfaces/services → browser/types}/protocol.js +0 -0
- /package/dist/{types/interfaces → browser/types}/storage.js +0 -0
- /package/dist/services/a2a/{state/update → handlers}/artifact.js +0 -0
- /package/dist/services/a2a/{methods → handlers}/index.d.ts +0 -0
- /package/dist/services/a2a/{methods → handlers}/index.js +0 -0
- /package/dist/types/{interfaces/services/a2a/context.js → a2a/builder.js} +0 -0
- /package/dist/types/{interfaces/services/a2a/engine.js → client.js} +0 -0
- /package/dist/types/{interfaces/services/a2a/legacy.js → storage.js} +0 -0
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
import { Command, State, Update, CoreContext, ContextManagerInterface } from "../../../types/index.js";
|
|
6
|
-
export declare class ContextManager<TCommand extends Command = Command, TState extends State = State, TUpdate extends Update = Update> implements ContextManagerInterface<TCommand, TState, TUpdate> {
|
|
7
|
-
private contexts;
|
|
8
|
-
deleteContext(id: string): void;
|
|
9
|
-
setContext(id: string, context: CoreContext<TCommand, TState, TUpdate>): void;
|
|
10
|
-
getContext(id: string): CoreContext<TCommand, TState, TUpdate> | undefined;
|
|
11
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
export class ContextManager {
|
|
6
|
-
contexts = new Map();
|
|
7
|
-
deleteContext(id) {
|
|
8
|
-
this.contexts.delete(id);
|
|
9
|
-
}
|
|
10
|
-
setContext(id, context) {
|
|
11
|
-
this.contexts.set(id, context);
|
|
12
|
-
}
|
|
13
|
-
getContext(id) {
|
|
14
|
-
return this.contexts.get(id);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
import { TaskManagerInterface, TaskAndHistory } from "../../../types/index.js";
|
|
6
|
-
export declare class TaskManager<TaskType extends TaskAndHistory> implements TaskManagerInterface<TaskType> {
|
|
7
|
-
private states;
|
|
8
|
-
getState(id: string): TaskType | Promise<TaskType | undefined> | undefined;
|
|
9
|
-
setState(id: string, data: TaskType): Promise<void> | void;
|
|
10
|
-
getStates(): Promise<string[]> | string[];
|
|
11
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
export class TaskManager {
|
|
6
|
-
states = new Map();
|
|
7
|
-
getState(id) {
|
|
8
|
-
return this.states.get(id);
|
|
9
|
-
}
|
|
10
|
-
setState(id, data) {
|
|
11
|
-
this.states.set(id, data);
|
|
12
|
-
}
|
|
13
|
-
getStates() {
|
|
14
|
-
return Array.from(this.states.keys());
|
|
15
|
-
}
|
|
16
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
import { TaskIdParams, Task, MethodParams } from "../../../types/index.js";
|
|
6
|
-
export declare function cancelTask(input: TaskIdParams, params: Omit<MethodParams, "engine" | "signal">): Promise<Task>;
|
|
7
|
-
export type CancelTaskMethod = typeof cancelTask;
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
import { TaskState, } from "../../../types/index.js";
|
|
6
|
-
import { FINAL_STATES, TASK_NOT_FOUND, TASK_NOT_CANCELABLE, } from "../../../utils/index.js";
|
|
7
|
-
export async function cancelTask(input, params) {
|
|
8
|
-
const { service, contextManager } = params;
|
|
9
|
-
const originalState = await service.getState(input.id);
|
|
10
|
-
const task = originalState?.task;
|
|
11
|
-
if (!task) {
|
|
12
|
-
throw TASK_NOT_FOUND({ taskId: input.id });
|
|
13
|
-
}
|
|
14
|
-
if (FINAL_STATES.includes(task.status.state)) {
|
|
15
|
-
throw TASK_NOT_CANCELABLE("Task is in a final state: " + task.status.state);
|
|
16
|
-
}
|
|
17
|
-
service.addCancellation(input.id);
|
|
18
|
-
const cancelledTask = {
|
|
19
|
-
...task,
|
|
20
|
-
status: {
|
|
21
|
-
...task.status,
|
|
22
|
-
state: TaskState.canceled,
|
|
23
|
-
},
|
|
24
|
-
};
|
|
25
|
-
const context = contextManager.getContext(task.contextId ?? input.id);
|
|
26
|
-
if (!context) {
|
|
27
|
-
service.setState(input.id, {
|
|
28
|
-
...originalState,
|
|
29
|
-
task: {
|
|
30
|
-
...originalState?.task,
|
|
31
|
-
...cancelledTask,
|
|
32
|
-
},
|
|
33
|
-
history: [], //deprecating history
|
|
34
|
-
});
|
|
35
|
-
return cancelledTask;
|
|
36
|
-
}
|
|
37
|
-
context.events.on("complete", () => {
|
|
38
|
-
service.removeCancellation(input.id);
|
|
39
|
-
contextManager.deleteContext(context.contextId);
|
|
40
|
-
});
|
|
41
|
-
await context.events.onCancel(cancelledTask);
|
|
42
|
-
return cancelledTask;
|
|
43
|
-
}
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
import { TaskQueryParams, MethodParams } from "../../../types/index.js";
|
|
6
|
-
export declare function getTask(input: TaskQueryParams, params: Omit<MethodParams, "engine" | "contextManager" | "signal">): Promise<{
|
|
7
|
-
id: string;
|
|
8
|
-
status: {
|
|
9
|
-
state: "failed" | "unknown" | "completed" | "canceled" | "rejected" | "submitted" | "working" | "input-required" | "auth-required";
|
|
10
|
-
message?: {
|
|
11
|
-
role: "user" | "agent";
|
|
12
|
-
kind: "message";
|
|
13
|
-
parts: ({
|
|
14
|
-
file: {
|
|
15
|
-
bytes: string;
|
|
16
|
-
name?: string | undefined;
|
|
17
|
-
mimeType?: string | undefined;
|
|
18
|
-
uri?: undefined;
|
|
19
|
-
} | {
|
|
20
|
-
uri: string;
|
|
21
|
-
name?: string | undefined;
|
|
22
|
-
bytes?: undefined;
|
|
23
|
-
mimeType?: string | undefined;
|
|
24
|
-
};
|
|
25
|
-
kind: "file";
|
|
26
|
-
metadata?: Record<string, unknown> | undefined;
|
|
27
|
-
} | {
|
|
28
|
-
text: string;
|
|
29
|
-
kind: "text";
|
|
30
|
-
metadata?: Record<string, unknown> | undefined;
|
|
31
|
-
} | {
|
|
32
|
-
data: Record<string, unknown>;
|
|
33
|
-
kind: "data";
|
|
34
|
-
metadata?: Record<string, unknown> | undefined;
|
|
35
|
-
})[];
|
|
36
|
-
messageId: string;
|
|
37
|
-
metadata?: Record<string, unknown> | undefined;
|
|
38
|
-
extensions?: string[] | undefined;
|
|
39
|
-
referenceTaskIds?: string[] | undefined;
|
|
40
|
-
taskId?: string | undefined;
|
|
41
|
-
contextId?: string | undefined;
|
|
42
|
-
} | undefined;
|
|
43
|
-
timestamp?: string | undefined;
|
|
44
|
-
};
|
|
45
|
-
kind: "task";
|
|
46
|
-
contextId: string;
|
|
47
|
-
metadata?: Record<string, unknown> | undefined;
|
|
48
|
-
history?: {
|
|
49
|
-
role: "user" | "agent";
|
|
50
|
-
kind: "message";
|
|
51
|
-
parts: ({
|
|
52
|
-
file: {
|
|
53
|
-
bytes: string;
|
|
54
|
-
name?: string | undefined;
|
|
55
|
-
mimeType?: string | undefined;
|
|
56
|
-
uri?: undefined;
|
|
57
|
-
} | {
|
|
58
|
-
uri: string;
|
|
59
|
-
name?: string | undefined;
|
|
60
|
-
bytes?: undefined;
|
|
61
|
-
mimeType?: string | undefined;
|
|
62
|
-
};
|
|
63
|
-
kind: "file";
|
|
64
|
-
metadata?: Record<string, unknown> | undefined;
|
|
65
|
-
} | {
|
|
66
|
-
text: string;
|
|
67
|
-
kind: "text";
|
|
68
|
-
metadata?: Record<string, unknown> | undefined;
|
|
69
|
-
} | {
|
|
70
|
-
data: Record<string, unknown>;
|
|
71
|
-
kind: "data";
|
|
72
|
-
metadata?: Record<string, unknown> | undefined;
|
|
73
|
-
})[];
|
|
74
|
-
messageId: string;
|
|
75
|
-
metadata?: Record<string, unknown> | undefined;
|
|
76
|
-
extensions?: string[] | undefined;
|
|
77
|
-
referenceTaskIds?: string[] | undefined;
|
|
78
|
-
taskId?: string | undefined;
|
|
79
|
-
contextId?: string | undefined;
|
|
80
|
-
}[] | undefined;
|
|
81
|
-
artifacts?: {
|
|
82
|
-
artifactId: string;
|
|
83
|
-
parts: ({
|
|
84
|
-
file: {
|
|
85
|
-
bytes: string;
|
|
86
|
-
name?: string | undefined;
|
|
87
|
-
mimeType?: string | undefined;
|
|
88
|
-
uri?: undefined;
|
|
89
|
-
} | {
|
|
90
|
-
uri: string;
|
|
91
|
-
name?: string | undefined;
|
|
92
|
-
bytes?: undefined;
|
|
93
|
-
mimeType?: string | undefined;
|
|
94
|
-
};
|
|
95
|
-
kind: "file";
|
|
96
|
-
metadata?: Record<string, unknown> | undefined;
|
|
97
|
-
} | {
|
|
98
|
-
text: string;
|
|
99
|
-
kind: "text";
|
|
100
|
-
metadata?: Record<string, unknown> | undefined;
|
|
101
|
-
} | {
|
|
102
|
-
data: Record<string, unknown>;
|
|
103
|
-
kind: "data";
|
|
104
|
-
metadata?: Record<string, unknown> | undefined;
|
|
105
|
-
})[];
|
|
106
|
-
name?: string | undefined;
|
|
107
|
-
metadata?: Record<string, unknown> | undefined;
|
|
108
|
-
description?: string | undefined;
|
|
109
|
-
extension?: string[] | undefined;
|
|
110
|
-
}[] | undefined;
|
|
111
|
-
}>;
|
|
112
|
-
export type GetTaskMethod = typeof getTask;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
import { TASK_NOT_FOUND } from "../../../utils/index.js";
|
|
6
|
-
export async function getTask(input, params) {
|
|
7
|
-
const { service } = params;
|
|
8
|
-
const state = await service.getState(input.id);
|
|
9
|
-
const task = state?.task;
|
|
10
|
-
if (!task) {
|
|
11
|
-
throw TASK_NOT_FOUND({ taskId: input.id });
|
|
12
|
-
}
|
|
13
|
-
return task;
|
|
14
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
import { TaskIdParams, UpdateEvent, MethodParams } from "../../../types/index.js";
|
|
6
|
-
export declare function resubscribe(input: TaskIdParams, params: MethodParams): AsyncGenerator<NonNullable<UpdateEvent>, void, unknown>;
|
|
7
|
-
export type ResubscribeTaskMethod = typeof resubscribe;
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
import { Kind, } from "../../../types/index.js";
|
|
6
|
-
import { createContext } from "../factory/context.js";
|
|
7
|
-
import { FINAL_STATES, INVALID_REQUEST, TASK_NOT_FOUND, } from "../../../utils/index.js";
|
|
8
|
-
import { StreamManager } from "../../core/managers/stream.js";
|
|
9
|
-
const createMessageParams = (task) => {
|
|
10
|
-
const latestUserMessage = task.history
|
|
11
|
-
?.filter((msg) => msg.role === "user")
|
|
12
|
-
?.pop();
|
|
13
|
-
if (!latestUserMessage) {
|
|
14
|
-
throw INVALID_REQUEST("No user message found");
|
|
15
|
-
}
|
|
16
|
-
const messageParams = {
|
|
17
|
-
message: {
|
|
18
|
-
...latestUserMessage,
|
|
19
|
-
taskId: task.id,
|
|
20
|
-
contextId: latestUserMessage.contextId ?? task.contextId,
|
|
21
|
-
},
|
|
22
|
-
metadata: task.metadata,
|
|
23
|
-
};
|
|
24
|
-
return messageParams;
|
|
25
|
-
};
|
|
26
|
-
const flushArtifacts = (taskId, contextId, task, stream) => {
|
|
27
|
-
if (task.artifacts && task.artifacts.length > 0) {
|
|
28
|
-
for (const artifact of task.artifacts) {
|
|
29
|
-
const artifactUpdate = {
|
|
30
|
-
kind: Kind["artifact-update"],
|
|
31
|
-
taskId,
|
|
32
|
-
contextId,
|
|
33
|
-
artifact,
|
|
34
|
-
lastChunk: task.artifacts.length === 1,
|
|
35
|
-
metadata: task.metadata,
|
|
36
|
-
};
|
|
37
|
-
stream.addUpdate(artifactUpdate);
|
|
38
|
-
task.artifacts.shift();
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
export async function* resubscribe(input, params) {
|
|
43
|
-
const { service, engine, contextManager, signal } = params;
|
|
44
|
-
const state = await service.getState(input.id);
|
|
45
|
-
if (!state || !state.task) {
|
|
46
|
-
throw TASK_NOT_FOUND({ taskId: input.id });
|
|
47
|
-
}
|
|
48
|
-
const contextId = state.task?.contextId;
|
|
49
|
-
const stream = new StreamManager();
|
|
50
|
-
const context = createContext(createMessageParams(state.task), service, contextManager, signal, contextId, {
|
|
51
|
-
...service.eventOverrides,
|
|
52
|
-
onStart: async (context) => {
|
|
53
|
-
const request = context.command;
|
|
54
|
-
const task = state.task;
|
|
55
|
-
const taskId = request?.message.taskId ?? task.id;
|
|
56
|
-
const contextId = request?.message.contextId ??
|
|
57
|
-
task.contextId ??
|
|
58
|
-
stream.getContextId();
|
|
59
|
-
const statusUpdate = {
|
|
60
|
-
kind: "status-update",
|
|
61
|
-
taskId,
|
|
62
|
-
contextId,
|
|
63
|
-
status: task.status,
|
|
64
|
-
final: false,
|
|
65
|
-
metadata: task.metadata,
|
|
66
|
-
};
|
|
67
|
-
stream.addUpdate(statusUpdate);
|
|
68
|
-
if (FINAL_STATES.includes(task.status.state)) {
|
|
69
|
-
flushArtifacts(taskId, contextId, task, stream);
|
|
70
|
-
stream.setCompleted();
|
|
71
|
-
}
|
|
72
|
-
return state;
|
|
73
|
-
},
|
|
74
|
-
});
|
|
75
|
-
context.events.on("error", () => {
|
|
76
|
-
context.events.onComplete();
|
|
77
|
-
});
|
|
78
|
-
stream.setExecutionContext(context);
|
|
79
|
-
yield* stream.stream(engine, service);
|
|
80
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
import { MessageSendParams, SendMessageSuccessResult, MethodParams } from "../../../types/index.js";
|
|
6
|
-
export declare function sendMessage(input: MessageSendParams, params: MethodParams): Promise<SendMessageSuccessResult>;
|
|
7
|
-
export type SendMessageMethod = typeof sendMessage;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
import { createContext } from "../factory/context.js";
|
|
6
|
-
export async function sendMessage(input, params) {
|
|
7
|
-
const { service, engine, contextManager, signal } = params;
|
|
8
|
-
const contextId = input.message.contextId;
|
|
9
|
-
const context = createContext(input, service, contextManager, signal, contextId ?? undefined, service.eventOverrides);
|
|
10
|
-
context.events.on("complete", () => {
|
|
11
|
-
contextManager.deleteContext(context.events.contextId);
|
|
12
|
-
});
|
|
13
|
-
context.events.on("error", () => {
|
|
14
|
-
context.events.onComplete();
|
|
15
|
-
});
|
|
16
|
-
await service.execute(engine, context);
|
|
17
|
-
const state = context.events.getState();
|
|
18
|
-
return state.task ?? state;
|
|
19
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
import { MessageSendParams, UpdateEvent } from "../../../types/index.js";
|
|
6
|
-
import { MethodParams } from "../../../types/index.js";
|
|
7
|
-
export declare function streamMessage(input: MessageSendParams, params: MethodParams): AsyncGenerator<NonNullable<UpdateEvent>, void, unknown>;
|
|
8
|
-
export type StreamMessageMethod = typeof streamMessage;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
import { StreamManager } from "../../core/managers/stream.js";
|
|
6
|
-
import { createContext } from "../factory/context.js";
|
|
7
|
-
export async function* streamMessage(input, params) {
|
|
8
|
-
const { service, engine, contextManager, signal } = params;
|
|
9
|
-
let contextId = input.message.contextId;
|
|
10
|
-
const context = createContext(input, service, contextManager, signal, contextId ?? undefined, service.eventOverrides);
|
|
11
|
-
const stream = new StreamManager(context);
|
|
12
|
-
contextId = stream.getContextId();
|
|
13
|
-
context.events.on("complete", () => {
|
|
14
|
-
contextManager.deleteContext(contextId);
|
|
15
|
-
stream.setCompleted();
|
|
16
|
-
});
|
|
17
|
-
context.events.on("error", () => {
|
|
18
|
-
context.events.onComplete();
|
|
19
|
-
});
|
|
20
|
-
yield* stream.stream(engine, service);
|
|
21
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
import { Message, TaskAndHistory, TaskStore } from "../../../types/index.js";
|
|
6
|
-
/**
|
|
7
|
-
* Loads or creates a task and its history.
|
|
8
|
-
* @param taskId The task ID
|
|
9
|
-
* @param message The message to process
|
|
10
|
-
* @param contextId Optional context ID
|
|
11
|
-
* @param metadata Optional metadata
|
|
12
|
-
* @returns The task and history
|
|
13
|
-
*/
|
|
14
|
-
export declare function loadState(taskStore: TaskStore, message: Message, metadata?: Record<string, unknown> | null, taskId?: string | null, contextId?: string | null): Promise<TaskAndHistory>;
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
import { getCurrentTimestamp, logError } from "../../../utils/index.js";
|
|
6
|
-
import { TaskState, } from "../../../types/index.js";
|
|
7
|
-
import { v4 as uuidv4 } from "uuid";
|
|
8
|
-
async function getReferences(referenceTaskIds, taskStore) {
|
|
9
|
-
try {
|
|
10
|
-
const references = await Promise.all(referenceTaskIds.map((referenceTaskId) => {
|
|
11
|
-
return taskStore.load(referenceTaskId);
|
|
12
|
-
}));
|
|
13
|
-
return references
|
|
14
|
-
.filter((reference) => reference !== null)
|
|
15
|
-
.map((reference) => reference?.task);
|
|
16
|
-
}
|
|
17
|
-
catch (error) {
|
|
18
|
-
logError("getReferences", "failed to load references", error, {
|
|
19
|
-
referenceTaskIds,
|
|
20
|
-
});
|
|
21
|
-
return [];
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Loads or creates a task and its history.
|
|
26
|
-
* @param taskId The task ID
|
|
27
|
-
* @param message The message to process
|
|
28
|
-
* @param contextId Optional context ID
|
|
29
|
-
* @param metadata Optional metadata
|
|
30
|
-
* @returns The task and history
|
|
31
|
-
*/
|
|
32
|
-
export async function loadState(taskStore, message, metadata, taskId, contextId) {
|
|
33
|
-
if (taskId) {
|
|
34
|
-
const existingData = await taskStore.load(taskId);
|
|
35
|
-
if (existingData) {
|
|
36
|
-
return {
|
|
37
|
-
...existingData,
|
|
38
|
-
task: {
|
|
39
|
-
...existingData.task,
|
|
40
|
-
metadata: {
|
|
41
|
-
//we'll update the metadata to ensure it's the latest
|
|
42
|
-
...existingData.task.metadata,
|
|
43
|
-
...metadata,
|
|
44
|
-
//we'll update the referencedTasks we have the latest versions
|
|
45
|
-
referencedTasks: await getReferences(message.referenceTaskIds ?? [], taskStore),
|
|
46
|
-
},
|
|
47
|
-
},
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
const timestamp = getCurrentTimestamp();
|
|
52
|
-
const newTask = {
|
|
53
|
-
id: taskId ?? uuidv4(),
|
|
54
|
-
contextId: contextId ?? uuidv4(),
|
|
55
|
-
kind: "task",
|
|
56
|
-
status: {
|
|
57
|
-
state: TaskState.submitted,
|
|
58
|
-
timestamp,
|
|
59
|
-
},
|
|
60
|
-
metadata: {
|
|
61
|
-
...metadata,
|
|
62
|
-
//we should only need to load referenceTasks once; on the creation of a new task
|
|
63
|
-
//we'll store them in the metadata for now until we're sure they will remain in the A2A spec
|
|
64
|
-
referencedTasks: await getReferences(message.referenceTaskIds ?? [], taskStore),
|
|
65
|
-
},
|
|
66
|
-
history: [message],
|
|
67
|
-
};
|
|
68
|
-
message.taskId = newTask.id;
|
|
69
|
-
message.contextId = newTask.contextId;
|
|
70
|
-
return { task: newTask, history: [] };
|
|
71
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
import { TaskAndHistory, TaskStore } from "../../../types/index.js";
|
|
6
|
-
import { UpdateProps } from "./update/update.js";
|
|
7
|
-
export declare function processUpdate(taskStore: TaskStore, updateProps: UpdateProps): Promise<TaskAndHistory>;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
import { updateState } from "./update/update.js";
|
|
6
|
-
export async function processUpdate(taskStore, updateProps) {
|
|
7
|
-
if (!(await updateState(updateProps))) {
|
|
8
|
-
console.error("processUpdate: Invalid update", updateProps);
|
|
9
|
-
throw new Error("processUpdate: Invalid update");
|
|
10
|
-
}
|
|
11
|
-
await taskStore.save(updateProps.current);
|
|
12
|
-
return updateProps.current;
|
|
13
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
import { TaskContext, Message, Task, TaskArtifactUpdateEvent, TaskStatusUpdateEvent, UpdateEvent, TaskAndHistory } from "../../../../types/index.js";
|
|
6
|
-
export declare enum UpdateKind {
|
|
7
|
-
Message = "message",
|
|
8
|
-
Task = "task",
|
|
9
|
-
StatusUpdate = "status-update",
|
|
10
|
-
ArtifactUpdate = "artifact-update"
|
|
11
|
-
}
|
|
12
|
-
export interface UpdateProps<T extends UpdateEvent = UpdateEvent> {
|
|
13
|
-
context: TaskContext;
|
|
14
|
-
current: TaskAndHistory;
|
|
15
|
-
update: T;
|
|
16
|
-
}
|
|
17
|
-
type UpdateFunction<T extends UpdateEvent> = (props: UpdateProps<T>) => Promise<boolean>;
|
|
18
|
-
export declare const updateMessage: UpdateFunction<Message>;
|
|
19
|
-
export declare const updateTask: UpdateFunction<Task>;
|
|
20
|
-
export declare const updateTaskStatusUpdate: UpdateFunction<TaskStatusUpdateEvent>;
|
|
21
|
-
export declare const updateTaskArtifactUpdate: UpdateFunction<TaskArtifactUpdateEvent>;
|
|
22
|
-
export declare const updateState: UpdateFunction<UpdateEvent>;
|
|
23
|
-
export {};
|