@artinet/sdk 0.5.18 → 0.6.0-preview.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -617
- package/dist/browser/browser.d.ts +1 -1
- package/dist/browser/browser.js +1 -1
- package/dist/browser/client/a2a-client.d.ts +19 -18
- package/dist/browser/client/a2a-client.js +20 -8
- 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/create/agentcard-builder.d.ts +47 -0
- package/dist/browser/create/agentcard-builder.js +65 -0
- package/dist/browser/create/base.d.ts +4 -0
- package/dist/browser/create/describe.d.ts +8 -0
- package/dist/browser/create/describe.js +8 -0
- package/dist/browser/create/message-builder.d.ts +78 -0
- package/dist/browser/create/message-builder.js +108 -0
- package/dist/browser/create/part-builder.d.ts +60 -0
- package/dist/browser/create/part-builder.js +81 -0
- package/dist/browser/create/task-builder.d.ts +251 -0
- package/dist/browser/create/task-builder.js +379 -0
- package/dist/browser/transport/rpc/parser.d.ts +2 -2
- package/dist/browser/transport/rpc/parser.js +7 -6
- package/dist/browser/transport/rpc/rpc-client.d.ts +5 -5
- package/dist/browser/transport/rpc/rpc-client.js +6 -6
- package/dist/browser/transport/streaming/event-stream.d.ts +3 -3
- package/dist/browser/transport/streaming/event-stream.js +11 -10
- package/dist/browser/types/a2a/a2a.d.ts +382 -0
- package/dist/browser/types/a2a/a2a.js +14 -0
- package/dist/browser/types/a2a/index.d.ts +5 -0
- package/dist/browser/types/a2a/index.js +1 -0
- package/dist/browser/types/{interfaces/client.d.ts → 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/browser/types/index.d.ts +6 -3
- package/dist/browser/types/index.js +6 -3
- 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/{interfaces/services/a2a/builder.js → mcp/mcp.js} +1 -1
- package/dist/browser/types/storage.d.ts +21 -0
- package/dist/browser/utils/common/constants.d.ts +2 -7
- package/dist/browser/utils/common/constants.js +5 -32
- package/dist/browser/utils/common/errors.d.ts +74 -18
- package/dist/browser/utils/common/errors.js +81 -28
- package/dist/browser/utils/common/utils.d.ts +23 -0
- package/dist/browser/utils/common/utils.js +32 -0
- package/dist/client/a2a-client.d.ts +19 -18
- package/dist/client/a2a-client.js +20 -8
- 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/create/agent-builder.d.ts +77 -0
- package/dist/create/agent-builder.js +20 -0
- package/dist/create/agentcard-builder.d.ts +47 -0
- package/dist/create/agentcard-builder.js +66 -0
- package/dist/create/base.d.ts +4 -0
- package/dist/create/base.js +1 -0
- package/dist/create/create.d.ts +762 -0
- package/dist/create/create.js +556 -0
- package/dist/create/describe.d.ts +8 -0
- package/dist/create/describe.js +8 -0
- package/dist/create/index.d.ts +4 -0
- package/dist/create/index.js +4 -0
- package/dist/create/message-builder.d.ts +78 -0
- package/dist/create/message-builder.js +110 -0
- package/dist/create/part-builder.d.ts +60 -0
- package/dist/create/part-builder.js +84 -0
- package/dist/create/status-builder.d.ts +26 -0
- package/dist/create/status-builder.js +46 -0
- package/dist/create/task-builder.d.ts +251 -0
- package/dist/create/task-builder.js +384 -0
- package/dist/create/transform.d.ts +16 -0
- package/dist/create/transform.js +106 -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 +4 -0
- package/dist/index.js +4 -0
- package/dist/server/express/errors.js +7 -11
- package/dist/server/express/middeware.d.ts +2 -2
- package/dist/server/express/middeware.js +26 -40
- package/dist/server/express/server.d.ts +14 -56
- package/dist/server/express/server.js +46 -35
- package/dist/services/a2a/execute.d.ts +11 -0
- package/dist/services/a2a/execute.js +32 -0
- package/dist/services/a2a/factory/context.d.ts +15 -128
- package/dist/services/a2a/factory/context.js +30 -136
- package/dist/services/a2a/factory/handler.d.ts +6 -0
- package/dist/services/a2a/factory/handler.js +14 -0
- package/dist/services/a2a/factory/index.d.ts +1 -3
- package/dist/services/a2a/factory/index.js +1 -3
- package/dist/services/a2a/factory/service.d.ts +20 -7
- package/dist/services/a2a/factory/service.js +5 -5
- package/dist/services/a2a/factory/state-machine.d.ts +11 -0
- package/dist/services/a2a/factory/state-machine.js +88 -0
- package/dist/services/a2a/handlers/artifact.d.ts +7 -0
- package/dist/services/a2a/handlers/artifact.js +28 -0
- package/dist/services/a2a/handlers/cancel-task.d.ts +11 -0
- package/dist/services/a2a/handlers/cancel-task.js +35 -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 +19 -0
- package/dist/services/a2a/handlers/resubscribe-task.js +59 -0
- package/dist/services/a2a/handlers/send-message.d.ts +11 -0
- package/dist/services/a2a/handlers/send-message.js +31 -0
- package/dist/services/a2a/handlers/stream-message.d.ts +19 -0
- package/dist/services/a2a/handlers/stream-message.js +23 -0
- package/dist/services/a2a/handlers/update.d.ts +17 -0
- package/dist/services/a2a/handlers/update.js +119 -0
- package/dist/services/a2a/helpers/content.d.ts +6 -2
- package/dist/services/a2a/helpers/content.js +9 -1
- package/dist/services/a2a/helpers/history.d.ts +6 -2
- package/dist/services/a2a/helpers/history.js +4 -0
- package/dist/services/a2a/helpers/index.d.ts +3 -3
- package/dist/services/a2a/helpers/index.js +3 -3
- 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 +101 -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 +45 -372
- package/dist/services/a2a/service.js +232 -84
- package/dist/services/a2a/state-machine.d.ts +18 -0
- package/dist/services/a2a/state-machine.js +78 -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 -15
- 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 -6
- package/dist/transport/rpc/rpc-client.d.ts +5 -5
- package/dist/transport/rpc/rpc-client.js +6 -6
- 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 +382 -0
- package/dist/types/a2a/a2a.js +14 -0
- package/dist/types/a2a/index.d.ts +5 -0
- package/dist/types/a2a/index.js +1 -0
- package/dist/types/{interfaces/client.d.ts → client.d.ts} +25 -27
- 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/{browser/types/interfaces/services/mcp/service.d.ts → types/mcp/mcp.d.ts} +4 -3
- package/dist/{browser/types/interfaces/services/a2a/context.js → types/mcp/mcp.js} +1 -1
- package/dist/types/storage.d.ts +21 -0
- package/dist/utils/common/constants.d.ts +2 -7
- package/dist/utils/common/constants.js +5 -32
- package/dist/utils/common/errors.d.ts +74 -18
- package/dist/utils/common/errors.js +81 -28
- 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 -2
- package/dist/utils/common/schema-validation.js +7 -7
- 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 +2 -3
- package/dist/utils/index.js +2 -3
- package/dist/utils/storage/file.d.ts +8 -17
- package/dist/utils/storage/file.js +44 -73
- package/package.json +76 -13
- package/dist/browser/services/a2a/helpers/message-builder.d.ts +0 -12
- package/dist/browser/services/a2a/helpers/message-builder.js +0 -61
- package/dist/browser/types/ext.d.ts +0 -13
- package/dist/browser/types/ext.js +0 -10
- package/dist/browser/types/interfaces/index.d.ts +0 -3
- package/dist/browser/types/interfaces/index.js +0 -3
- package/dist/browser/types/interfaces/services/a2a/builder.d.ts +0 -37
- package/dist/browser/types/interfaces/services/a2a/context.d.ts +0 -162
- package/dist/browser/types/interfaces/services/a2a/engine.d.ts +0 -7
- package/dist/browser/types/interfaces/services/a2a/engine.js +0 -5
- package/dist/browser/types/interfaces/services/a2a/index.d.ts +0 -5
- package/dist/browser/types/interfaces/services/a2a/index.js +0 -5
- package/dist/browser/types/interfaces/services/a2a/legacy.d.ts +0 -93
- package/dist/browser/types/interfaces/services/a2a/legacy.js +0 -5
- package/dist/browser/types/interfaces/services/a2a/service.d.ts +0 -413
- package/dist/browser/types/interfaces/services/a2a/service.js +0 -5
- package/dist/browser/types/interfaces/services/core/context/command.d.ts +0 -25
- package/dist/browser/types/interfaces/services/core/context/command.js +0 -5
- package/dist/browser/types/interfaces/services/core/context/context.d.ts +0 -207
- package/dist/browser/types/interfaces/services/core/context/context.js +0 -5
- package/dist/browser/types/interfaces/services/core/context/index.d.ts +0 -3
- package/dist/browser/types/interfaces/services/core/context/index.js +0 -3
- package/dist/browser/types/interfaces/services/core/context/types.d.ts +0 -11
- package/dist/browser/types/interfaces/services/core/context/types.js +0 -5
- package/dist/browser/types/interfaces/services/core/execution/engine.d.ts +0 -106
- package/dist/browser/types/interfaces/services/core/execution/engine.js +0 -5
- package/dist/browser/types/interfaces/services/core/execution/environment.d.ts +0 -11
- package/dist/browser/types/interfaces/services/core/execution/environment.js +0 -5
- package/dist/browser/types/interfaces/services/core/execution/execute.d.ts +0 -7
- package/dist/browser/types/interfaces/services/core/execution/execute.js +0 -5
- package/dist/browser/types/interfaces/services/core/execution/index.d.ts +0 -3
- package/dist/browser/types/interfaces/services/core/execution/index.js +0 -3
- package/dist/browser/types/interfaces/services/core/index.d.ts +0 -4
- package/dist/browser/types/interfaces/services/core/index.js +0 -4
- package/dist/browser/types/interfaces/services/core/managers/cancellation.d.ts +0 -9
- package/dist/browser/types/interfaces/services/core/managers/cancellation.js +0 -5
- package/dist/browser/types/interfaces/services/core/managers/connection.d.ts +0 -9
- package/dist/browser/types/interfaces/services/core/managers/connection.js +0 -5
- package/dist/browser/types/interfaces/services/core/managers/context.d.ts +0 -17
- package/dist/browser/types/interfaces/services/core/managers/context.js +0 -5
- package/dist/browser/types/interfaces/services/core/managers/event.d.ts +0 -328
- package/dist/browser/types/interfaces/services/core/managers/event.js +0 -5
- package/dist/browser/types/interfaces/services/core/managers/index.d.ts +0 -6
- package/dist/browser/types/interfaces/services/core/managers/index.js +0 -6
- package/dist/browser/types/interfaces/services/core/managers/stream.d.ts +0 -217
- package/dist/browser/types/interfaces/services/core/managers/stream.js +0 -5
- package/dist/browser/types/interfaces/services/core/managers/task.d.ts +0 -9
- package/dist/browser/types/interfaces/services/core/service.d.ts +0 -115
- package/dist/browser/types/interfaces/services/core/service.js +0 -5
- package/dist/browser/types/interfaces/services/index.d.ts +0 -4
- package/dist/browser/types/interfaces/services/index.js +0 -4
- package/dist/browser/types/interfaces/services/mcp/index.d.ts +0 -1
- package/dist/browser/types/interfaces/services/mcp/index.js +0 -1
- package/dist/browser/types/interfaces/services/mcp/service.js +0 -5
- package/dist/browser/types/interfaces/storage.d.ts +0 -8
- package/dist/browser/types/schemas/a2a/agent.d.ts +0 -2583
- package/dist/browser/types/schemas/a2a/agent.js +0 -323
- package/dist/browser/types/schemas/a2a/auth.d.ts +0 -908
- package/dist/browser/types/schemas/a2a/auth.js +0 -283
- package/dist/browser/types/schemas/a2a/error.d.ts +0 -396
- package/dist/browser/types/schemas/a2a/error.js +0 -163
- package/dist/browser/types/schemas/a2a/index.d.ts +0 -11
- package/dist/browser/types/schemas/a2a/index.js +0 -11
- package/dist/browser/types/schemas/a2a/kind.d.ts +0 -11
- package/dist/browser/types/schemas/a2a/kind.js +0 -20
- package/dist/browser/types/schemas/a2a/message.d.ts +0 -10343
- package/dist/browser/types/schemas/a2a/message.js +0 -130
- package/dist/browser/types/schemas/a2a/notification.d.ts +0 -1517
- package/dist/browser/types/schemas/a2a/notification.js +0 -203
- package/dist/browser/types/schemas/a2a/parameters.d.ts +0 -956
- package/dist/browser/types/schemas/a2a/parameters.js +0 -241
- package/dist/browser/types/schemas/a2a/protocol.d.ts +0 -14363
- package/dist/browser/types/schemas/a2a/protocol.js +0 -59
- package/dist/browser/types/schemas/a2a/rpc.d.ts +0 -182
- package/dist/browser/types/schemas/a2a/rpc.js +0 -126
- package/dist/browser/types/schemas/a2a/task.d.ts +0 -5886
- package/dist/browser/types/schemas/a2a/task.js +0 -134
- package/dist/browser/types/schemas/a2a/transport.d.ts +0 -31
- package/dist/browser/types/schemas/a2a/transport.js +0 -28
- package/dist/browser/types/schemas/index.d.ts +0 -1
- package/dist/browser/types/schemas/index.js +0 -1
- package/dist/browser/utils/logging/index.d.ts +0 -2
- package/dist/browser/utils/logging/index.js +0 -2
- package/dist/browser/utils/logging/log.d.ts +0 -33
- package/dist/browser/utils/logging/log.js +0 -75
- package/dist/browser/utils/logging/logger.d.ts +0 -18
- package/dist/browser/utils/logging/logger.js +0 -18
- package/dist/services/a2a/factory/builder.d.ts +0 -351
- package/dist/services/a2a/factory/builder.js +0 -365
- 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/factory/method.js +0 -14
- package/dist/services/a2a/helpers/agentcard-builder.d.ts +0 -7
- package/dist/services/a2a/helpers/agentcard-builder.js +0 -23
- package/dist/services/a2a/helpers/message-builder.d.ts +0 -12
- package/dist/services/a2a/helpers/message-builder.js +0 -61
- 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 -16
- 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 -36
- 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/artifact.d.ts +0 -10
- package/dist/services/a2a/state/update/artifact.js +0 -39
- 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/builder.js +0 -5
- package/dist/types/interfaces/services/a2a/context.d.ts +0 -162
- package/dist/types/interfaces/services/a2a/context.js +0 -5
- package/dist/types/interfaces/services/a2a/engine.d.ts +0 -7
- package/dist/types/interfaces/services/a2a/engine.js +0 -5
- 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/legacy.js +0 -5
- package/dist/types/interfaces/services/a2a/service.d.ts +0 -413
- 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/index.d.ts +0 -4
- package/dist/types/interfaces/services/index.js +0 -4
- 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/browser/{types/interfaces/services/core/managers/task.js → create/base.js} +0 -0
- /package/dist/browser/types/{interfaces/client.js → client.js} +0 -0
- /package/dist/{types/interfaces/services/core/managers/task.js → browser/types/core/core.js} +0 -0
- /package/dist/browser/types/{interfaces/services/protocol.d.ts → protocol.d.ts} +0 -0
- /package/dist/browser/types/{interfaces/services/protocol.js → protocol.js} +0 -0
- /package/dist/browser/types/{interfaces/storage.js → storage.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/client.js → client.js} +0 -0
- /package/dist/types/{interfaces/services/protocol.d.ts → protocol.d.ts} +0 -0
- /package/dist/types/{interfaces/services/protocol.js → protocol.js} +0 -0
- /package/dist/types/{interfaces/storage.js → storage.js} +0 -0
|
@@ -1,365 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* @fileoverview A2A Agent Builder and Execution Engine Factory
|
|
7
|
-
*
|
|
8
|
-
* This module provides a fluent builder API for constructing A2A agents and
|
|
9
|
-
* execution engines. It enables declarative definition of multi-step agent
|
|
10
|
-
* workflows with type-safe step composition and automatic execution orchestration.
|
|
11
|
-
*
|
|
12
|
-
* @module A2ABuilder
|
|
13
|
-
* @version 0.5.7
|
|
14
|
-
* @since 0.5.6
|
|
15
|
-
* @author The Artinet Project
|
|
16
|
-
*/
|
|
17
|
-
import { TaskState, } from "../../../types/index.js";
|
|
18
|
-
import { createAgent } from "./service.js";
|
|
19
|
-
import { v4 as uuidv4 } from "uuid";
|
|
20
|
-
import { getContent } from "../helpers/content.js";
|
|
21
|
-
import { SUBMITTED_UPDATE, WORKING_UPDATE } from "../../../utils/index.js";
|
|
22
|
-
/**
|
|
23
|
-
* Fluent builder for constructing A2A agent execution engines.
|
|
24
|
-
*
|
|
25
|
-
* The EngineBuilder provides a type-safe, fluent API for composing multi-step
|
|
26
|
-
* agent workflows. It supports method chaining to build complex agent behaviors
|
|
27
|
-
* from individual processing steps, with automatic type inference and validation.
|
|
28
|
-
*
|
|
29
|
-
* @template TCommand - The command type, defaults to MessageSendParams
|
|
30
|
-
* @template TInboundArgs - The arguments type received from previous steps
|
|
31
|
-
*
|
|
32
|
-
* @example
|
|
33
|
-
* ```typescript
|
|
34
|
-
* const agent = EngineBuilder.create()
|
|
35
|
-
* .text(async ({ command }) => {
|
|
36
|
-
* return `Processing: ${command.message.content}`;
|
|
37
|
-
* })
|
|
38
|
-
* .data(async ({ args }) => {
|
|
39
|
-
* return { processed: true, timestamp: Date.now() };
|
|
40
|
-
* })
|
|
41
|
-
* .text(async ({ args }) => {
|
|
42
|
-
* return `Completed at ${new Date(args[0].timestamp)}`;
|
|
43
|
-
* })
|
|
44
|
-
* .createAgent({ agentCard: myAgentCard });
|
|
45
|
-
* ```
|
|
46
|
-
*
|
|
47
|
-
* @public
|
|
48
|
-
* @since 0.5.6
|
|
49
|
-
*/
|
|
50
|
-
export class EngineBuilder {
|
|
51
|
-
//@typescript-eslint/no-explicit-any
|
|
52
|
-
steps = [];
|
|
53
|
-
/**
|
|
54
|
-
* Protected constructor to enforce factory method usage.
|
|
55
|
-
*
|
|
56
|
-
* @param steps - Initial steps array
|
|
57
|
-
*/
|
|
58
|
-
constructor(
|
|
59
|
-
//@typescript-eslint/no-explicit-any
|
|
60
|
-
steps = []) {
|
|
61
|
-
this.steps = steps;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Creates a new EngineBuilder instance.
|
|
65
|
-
*
|
|
66
|
-
* @template TCommand - The command type for the builder
|
|
67
|
-
* @template TInboundArgs - The initial arguments type
|
|
68
|
-
* @returns A new EngineBuilder instance
|
|
69
|
-
*
|
|
70
|
-
* @example
|
|
71
|
-
* ```typescript
|
|
72
|
-
* const builder = EngineBuilder.create<MyCommand, [string, number]>();
|
|
73
|
-
* ```
|
|
74
|
-
*/
|
|
75
|
-
static create() {
|
|
76
|
-
return new EngineBuilder();
|
|
77
|
-
}
|
|
78
|
-
addStep(step) {
|
|
79
|
-
return new EngineBuilder([
|
|
80
|
-
...this.steps,
|
|
81
|
-
step,
|
|
82
|
-
]);
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Adds a text processing step to the workflow.
|
|
86
|
-
*
|
|
87
|
-
* @template TPart - The text part type
|
|
88
|
-
* @template TForwardArgs - Arguments to forward to next step
|
|
89
|
-
* @template TOutput - The output type of the step
|
|
90
|
-
* @param step - The text step implementation
|
|
91
|
-
* @returns New builder instance with updated type parameters
|
|
92
|
-
*
|
|
93
|
-
* @example
|
|
94
|
-
* ```typescript
|
|
95
|
-
* builder.text(async ({ command, args }) => {
|
|
96
|
-
* return `Hello, ${command.message.content}!`;
|
|
97
|
-
* });
|
|
98
|
-
* ```
|
|
99
|
-
*/
|
|
100
|
-
text(step) {
|
|
101
|
-
return this.addStep({
|
|
102
|
-
step: step,
|
|
103
|
-
kind: "text",
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Adds a file processing step to the workflow.
|
|
108
|
-
*
|
|
109
|
-
* @template TPart - The file part type
|
|
110
|
-
* @template TForwardArgs - Arguments to forward to next step
|
|
111
|
-
* @template TOutput - The output type of the step
|
|
112
|
-
* @param step - The file step implementation
|
|
113
|
-
* @returns New builder instance with updated type parameters
|
|
114
|
-
*
|
|
115
|
-
* @example
|
|
116
|
-
* ```typescript
|
|
117
|
-
* builder.file(async ({ command, args }) => {
|
|
118
|
-
* return {
|
|
119
|
-
* name: 'output.txt',
|
|
120
|
-
* mimeType: 'text/plain',
|
|
121
|
-
* bytes: Buffer.from(command.message.content)
|
|
122
|
-
* };
|
|
123
|
-
* });
|
|
124
|
-
* ```
|
|
125
|
-
*/
|
|
126
|
-
file(step) {
|
|
127
|
-
return this.addStep({
|
|
128
|
-
step: step,
|
|
129
|
-
kind: "file",
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Adds a data processing step to the workflow.
|
|
134
|
-
*
|
|
135
|
-
* @template TPart - The data part type
|
|
136
|
-
* @template TForwardArgs - Arguments to forward to next step
|
|
137
|
-
* @template TOutput - The output type of the step
|
|
138
|
-
* @param step - The data step implementation
|
|
139
|
-
* @returns New builder instance with updated type parameters
|
|
140
|
-
*
|
|
141
|
-
* @example
|
|
142
|
-
* ```typescript
|
|
143
|
-
* builder.data(async ({ command, args }) => {
|
|
144
|
-
* return {
|
|
145
|
-
* analysis: analyzeText(command.message.content),
|
|
146
|
-
* timestamp: Date.now()
|
|
147
|
-
* };
|
|
148
|
-
* });
|
|
149
|
-
* ```
|
|
150
|
-
*/
|
|
151
|
-
data(step) {
|
|
152
|
-
return this.addStep({
|
|
153
|
-
step: step,
|
|
154
|
-
kind: "data",
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
/**
|
|
158
|
-
* Creates a complete A2A agent using the built workflow.
|
|
159
|
-
*
|
|
160
|
-
* @param params - Agent factory parameters (excluding engine)
|
|
161
|
-
* @returns Configured A2A agent instance
|
|
162
|
-
*
|
|
163
|
-
* @example
|
|
164
|
-
* ```typescript
|
|
165
|
-
* const agent = builder.createAgent({
|
|
166
|
-
* agentCard: {
|
|
167
|
-
* id: 'my-agent',
|
|
168
|
-
* name: 'Assistant Agent',
|
|
169
|
-
* capabilities: ['text-processing']
|
|
170
|
-
* }
|
|
171
|
-
* });
|
|
172
|
-
* ```
|
|
173
|
-
*/
|
|
174
|
-
createAgent(params) {
|
|
175
|
-
return createAgent({
|
|
176
|
-
...params,
|
|
177
|
-
engine: this.createAgentEngine(),
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
/**
|
|
181
|
-
* Creates an agent execution engine from the built workflow.
|
|
182
|
-
*
|
|
183
|
-
* @returns Agent execution engine function
|
|
184
|
-
*
|
|
185
|
-
* @example
|
|
186
|
-
* ```typescript
|
|
187
|
-
* const engine = builder.createAgentEngine();
|
|
188
|
-
* // Use engine with service execution
|
|
189
|
-
* ```
|
|
190
|
-
*/
|
|
191
|
-
createAgentEngine() {
|
|
192
|
-
return createAgentExecutor(this.build());
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* Builds the step list for the workflow.
|
|
196
|
-
*
|
|
197
|
-
* @returns Array of workflow steps
|
|
198
|
-
* @throws Error if no steps have been added
|
|
199
|
-
*
|
|
200
|
-
* @example
|
|
201
|
-
* ```typescript
|
|
202
|
-
* const steps = builder.build();
|
|
203
|
-
* ```
|
|
204
|
-
*/
|
|
205
|
-
build() {
|
|
206
|
-
if (this.steps.length === 0) {
|
|
207
|
-
throw new Error("No steps provided");
|
|
208
|
-
}
|
|
209
|
-
return this.steps;
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
/**
|
|
213
|
-
* Convenience factory function for creating an agent builder with default parameters.
|
|
214
|
-
*
|
|
215
|
-
* @returns New EngineBuilder instance with MessageSendParams command type
|
|
216
|
-
*
|
|
217
|
-
* @example
|
|
218
|
-
* ```typescript
|
|
219
|
-
* const agent = AgentBuilder()
|
|
220
|
-
* .text(async ({ command }) => `Hello ${command.message.content}!`)
|
|
221
|
-
* .createAgent({ agentCard: myCard });
|
|
222
|
-
* ```
|
|
223
|
-
*
|
|
224
|
-
* @public
|
|
225
|
-
* @since 0.5.6
|
|
226
|
-
*/
|
|
227
|
-
export const AgentBuilder = () => EngineBuilder.create();
|
|
228
|
-
const partToMessagePart = (kind, part) => {
|
|
229
|
-
switch (kind) {
|
|
230
|
-
case "text": {
|
|
231
|
-
return { kind: "text", text: part };
|
|
232
|
-
}
|
|
233
|
-
case "file": {
|
|
234
|
-
const filePart = part;
|
|
235
|
-
if (filePart.uri) {
|
|
236
|
-
return {
|
|
237
|
-
kind: "file",
|
|
238
|
-
file: {
|
|
239
|
-
uri: filePart.uri,
|
|
240
|
-
name: filePart.name,
|
|
241
|
-
mimeType: filePart.mimeType,
|
|
242
|
-
},
|
|
243
|
-
};
|
|
244
|
-
}
|
|
245
|
-
if (!filePart.bytes) {
|
|
246
|
-
throw new Error("File bytes are required when uri is not provided");
|
|
247
|
-
}
|
|
248
|
-
return {
|
|
249
|
-
kind: "file",
|
|
250
|
-
file: {
|
|
251
|
-
bytes: filePart.bytes,
|
|
252
|
-
name: filePart.name,
|
|
253
|
-
mimeType: filePart.mimeType,
|
|
254
|
-
},
|
|
255
|
-
};
|
|
256
|
-
}
|
|
257
|
-
case "data": {
|
|
258
|
-
return { kind: "data", data: part };
|
|
259
|
-
}
|
|
260
|
-
default:
|
|
261
|
-
throw new Error("Invalid part kind");
|
|
262
|
-
}
|
|
263
|
-
};
|
|
264
|
-
/**
|
|
265
|
-
* Creates an agent execution engine from a list of workflow steps.
|
|
266
|
-
*
|
|
267
|
-
* This function transforms a list of step definitions into an executable
|
|
268
|
-
* agent engine that processes commands through the defined workflow,
|
|
269
|
-
* yielding updates as each step completes.
|
|
270
|
-
*
|
|
271
|
-
* @param stepsList - Array of workflow steps to execute
|
|
272
|
-
* @returns Agent execution engine function
|
|
273
|
-
*
|
|
274
|
-
* @example
|
|
275
|
-
* ```typescript
|
|
276
|
-
* const steps = [
|
|
277
|
-
* { kind: 'text', step: greetingStep },
|
|
278
|
-
* { kind: 'data', step: analysisStep }
|
|
279
|
-
* ];
|
|
280
|
-
* const engine = createAgentExecutor(steps);
|
|
281
|
-
* ```
|
|
282
|
-
*
|
|
283
|
-
* @public
|
|
284
|
-
* @since 0.5.6
|
|
285
|
-
*/
|
|
286
|
-
export function createAgentExecutor(stepsList) {
|
|
287
|
-
return async function* (context) {
|
|
288
|
-
const content = getContent(context.command.message);
|
|
289
|
-
const stepArgs = {
|
|
290
|
-
command: context.command,
|
|
291
|
-
context: context,
|
|
292
|
-
content: content,
|
|
293
|
-
args: [],
|
|
294
|
-
};
|
|
295
|
-
const contextId = context.contextId;
|
|
296
|
-
const taskId = context.State().task.id;
|
|
297
|
-
if (!contextId || !taskId) {
|
|
298
|
-
throw new Error("Context ID and task ID are required");
|
|
299
|
-
}
|
|
300
|
-
const taskStarted = SUBMITTED_UPDATE(taskId, contextId);
|
|
301
|
-
yield taskStarted;
|
|
302
|
-
let finalState = TaskState.completed;
|
|
303
|
-
const finalMessage = {
|
|
304
|
-
taskId: taskId,
|
|
305
|
-
contextId: contextId,
|
|
306
|
-
messageId: uuidv4(),
|
|
307
|
-
kind: "message",
|
|
308
|
-
role: "agent",
|
|
309
|
-
parts: [],
|
|
310
|
-
};
|
|
311
|
-
for (const step of stepsList) {
|
|
312
|
-
if (context.isCancelled()) {
|
|
313
|
-
finalState = TaskState.canceled;
|
|
314
|
-
break;
|
|
315
|
-
}
|
|
316
|
-
const ret = await step.step({ ...stepArgs });
|
|
317
|
-
let parts = [];
|
|
318
|
-
if (Array.isArray(ret)) {
|
|
319
|
-
parts = ret.map((part) => partToMessagePart(step.kind, part));
|
|
320
|
-
const taskStatusUpdate = WORKING_UPDATE(taskId, contextId, {
|
|
321
|
-
messageId: uuidv4(),
|
|
322
|
-
kind: "message",
|
|
323
|
-
role: "agent",
|
|
324
|
-
parts: parts,
|
|
325
|
-
});
|
|
326
|
-
yield taskStatusUpdate;
|
|
327
|
-
}
|
|
328
|
-
else if (ret !== null && typeof ret === "object") {
|
|
329
|
-
parts = Array.isArray(ret.parts)
|
|
330
|
-
? ret.parts.map((part) => partToMessagePart(step.kind, part))
|
|
331
|
-
: [partToMessagePart(step.kind, ret.parts)];
|
|
332
|
-
const taskStatusUpdate = WORKING_UPDATE(taskId, contextId, {
|
|
333
|
-
messageId: uuidv4(),
|
|
334
|
-
kind: "message",
|
|
335
|
-
role: "agent",
|
|
336
|
-
parts: parts,
|
|
337
|
-
});
|
|
338
|
-
yield taskStatusUpdate;
|
|
339
|
-
stepArgs.args = ret.args;
|
|
340
|
-
}
|
|
341
|
-
else {
|
|
342
|
-
parts = [partToMessagePart(step.kind, ret)];
|
|
343
|
-
const taskStatusUpdate = WORKING_UPDATE(taskId, contextId, {
|
|
344
|
-
messageId: uuidv4(),
|
|
345
|
-
kind: "message",
|
|
346
|
-
role: "agent",
|
|
347
|
-
parts: parts,
|
|
348
|
-
});
|
|
349
|
-
yield taskStatusUpdate;
|
|
350
|
-
}
|
|
351
|
-
finalMessage.parts.push(...parts);
|
|
352
|
-
}
|
|
353
|
-
const task = {
|
|
354
|
-
kind: "task",
|
|
355
|
-
id: taskId,
|
|
356
|
-
contextId: contextId,
|
|
357
|
-
status: {
|
|
358
|
-
state: finalState,
|
|
359
|
-
timestamp: new Date().toISOString(),
|
|
360
|
-
message: finalMessage,
|
|
361
|
-
},
|
|
362
|
-
};
|
|
363
|
-
yield task;
|
|
364
|
-
};
|
|
365
|
-
}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* @fileoverview A2A Event Manager Factory
|
|
7
|
-
*
|
|
8
|
-
* This module provides factory functions for creating A2A-specific event managers
|
|
9
|
-
* that handle the complete lifecycle of agent-to-agent communication tasks.
|
|
10
|
-
* It integrates with the core event management system while providing A2A-specific
|
|
11
|
-
* behavior for state management, task tracking, and error handling.
|
|
12
|
-
*
|
|
13
|
-
* @module A2AEventFactory
|
|
14
|
-
* @version 0.5.7
|
|
15
|
-
* @since 0.5.6
|
|
16
|
-
* @author The Artinet Project
|
|
17
|
-
*/
|
|
18
|
-
import { EventManager } from "../../core/managers/event.js";
|
|
19
|
-
import { Command, State, Update, A2AServiceInterface, EventManagerOptions } from "../../../types/index.js";
|
|
20
|
-
/**
|
|
21
|
-
* Creates an A2A-specific event manager with integrated task and state management.
|
|
22
|
-
*
|
|
23
|
-
* This factory function creates an event manager tailored for A2A operations,
|
|
24
|
-
* providing comprehensive lifecycle management for agent-to-agent communication
|
|
25
|
-
* tasks. It handles state persistence, task tracking, error scenarios, and
|
|
26
|
-
* cancellation while integrating with the broader A2A service framework.
|
|
27
|
-
*
|
|
28
|
-
* @template TCommand - The command type, must extend Command
|
|
29
|
-
* @template TState - The state type, must extend State
|
|
30
|
-
* @template TUpdate - The update type, must extend Update
|
|
31
|
-
*
|
|
32
|
-
* @param service - The A2A service instance for state and connection management
|
|
33
|
-
* @param id - Optional context ID (generates UUID if not provided)
|
|
34
|
-
* @param eventOverrides - Optional event handling overrides
|
|
35
|
-
* @returns Configured EventManager instance for A2A operations
|
|
36
|
-
*
|
|
37
|
-
* @example
|
|
38
|
-
* ```typescript
|
|
39
|
-
* const eventManager = createEventManager(
|
|
40
|
-
* a2aService,
|
|
41
|
-
* 'context-123',
|
|
42
|
-
* {
|
|
43
|
-
* onStart: async (context) => {
|
|
44
|
-
* console.log('A2A task starting');
|
|
45
|
-
* return await initializeA2AState(context);
|
|
46
|
-
* },
|
|
47
|
-
* onComplete: async (finalState) => {
|
|
48
|
-
* console.log('A2A task completed');
|
|
49
|
-
* await notifyCompletion(finalState);
|
|
50
|
-
* }
|
|
51
|
-
* }
|
|
52
|
-
* );
|
|
53
|
-
* ```
|
|
54
|
-
*
|
|
55
|
-
* @public
|
|
56
|
-
* @since 0.5.6
|
|
57
|
-
*/
|
|
58
|
-
export declare function createEventManager<TCommand extends Command = Command, TState extends State = State, TUpdate extends Update = Update>(service: A2AServiceInterface<TCommand, TState, TUpdate>, id?: string, eventOverrides?: EventManagerOptions<TCommand, TState, TUpdate>): EventManager<TCommand, TState, TUpdate>;
|
|
@@ -1,177 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* @fileoverview A2A Event Manager Factory
|
|
7
|
-
*
|
|
8
|
-
* This module provides factory functions for creating A2A-specific event managers
|
|
9
|
-
* that handle the complete lifecycle of agent-to-agent communication tasks.
|
|
10
|
-
* It integrates with the core event management system while providing A2A-specific
|
|
11
|
-
* behavior for state management, task tracking, and error handling.
|
|
12
|
-
*
|
|
13
|
-
* @module A2AEventFactory
|
|
14
|
-
* @version 0.5.7
|
|
15
|
-
* @since 0.5.6
|
|
16
|
-
* @author The Artinet Project
|
|
17
|
-
*/
|
|
18
|
-
import { EventManager } from "../../core/managers/event.js";
|
|
19
|
-
import { TaskState, } from "../../../types/index.js";
|
|
20
|
-
import { INTERNAL_ERROR, INVALID_PARAMS, CANCEL_UPDATE, FAILED_UPDATE, logError, } from "../../../utils/index.js";
|
|
21
|
-
import { loadState, processUpdate } from "../state/index.js";
|
|
22
|
-
import { v4 as uuidv4 } from "uuid";
|
|
23
|
-
/**
|
|
24
|
-
* Creates an A2A-specific event manager with integrated task and state management.
|
|
25
|
-
*
|
|
26
|
-
* This factory function creates an event manager tailored for A2A operations,
|
|
27
|
-
* providing comprehensive lifecycle management for agent-to-agent communication
|
|
28
|
-
* tasks. It handles state persistence, task tracking, error scenarios, and
|
|
29
|
-
* cancellation while integrating with the broader A2A service framework.
|
|
30
|
-
*
|
|
31
|
-
* @template TCommand - The command type, must extend Command
|
|
32
|
-
* @template TState - The state type, must extend State
|
|
33
|
-
* @template TUpdate - The update type, must extend Update
|
|
34
|
-
*
|
|
35
|
-
* @param service - The A2A service instance for state and connection management
|
|
36
|
-
* @param id - Optional context ID (generates UUID if not provided)
|
|
37
|
-
* @param eventOverrides - Optional event handling overrides
|
|
38
|
-
* @returns Configured EventManager instance for A2A operations
|
|
39
|
-
*
|
|
40
|
-
* @example
|
|
41
|
-
* ```typescript
|
|
42
|
-
* const eventManager = createEventManager(
|
|
43
|
-
* a2aService,
|
|
44
|
-
* 'context-123',
|
|
45
|
-
* {
|
|
46
|
-
* onStart: async (context) => {
|
|
47
|
-
* console.log('A2A task starting');
|
|
48
|
-
* return await initializeA2AState(context);
|
|
49
|
-
* },
|
|
50
|
-
* onComplete: async (finalState) => {
|
|
51
|
-
* console.log('A2A task completed');
|
|
52
|
-
* await notifyCompletion(finalState);
|
|
53
|
-
* }
|
|
54
|
-
* }
|
|
55
|
-
* );
|
|
56
|
-
* ```
|
|
57
|
-
*
|
|
58
|
-
* @public
|
|
59
|
-
* @since 0.5.6
|
|
60
|
-
*/
|
|
61
|
-
export function createEventManager(service, id, eventOverrides) {
|
|
62
|
-
const contextId = id ?? uuidv4();
|
|
63
|
-
/**
|
|
64
|
-
* Task store implementation that bridges between event management and A2A service state management.
|
|
65
|
-
*
|
|
66
|
-
* This store provides the interface needed by the legacy update processing logic
|
|
67
|
-
* while integrating with the A2A service's state management capabilities.
|
|
68
|
-
*/
|
|
69
|
-
const taskStore = {
|
|
70
|
-
save: async (data) => {
|
|
71
|
-
if (!data.task?.id) {
|
|
72
|
-
throw INTERNAL_ERROR({
|
|
73
|
-
data: {
|
|
74
|
-
message: "Task ID is required",
|
|
75
|
-
},
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
service.setState(data.task.id, data);
|
|
79
|
-
},
|
|
80
|
-
load: async (taskId) => {
|
|
81
|
-
return (await service.getState(taskId).catch(() => null)) ?? null;
|
|
82
|
-
},
|
|
83
|
-
};
|
|
84
|
-
// Configure A2A-specific event handling options
|
|
85
|
-
const options = {
|
|
86
|
-
onStart: async (context) => {
|
|
87
|
-
const request = context.command;
|
|
88
|
-
if (!request || (!request.message && !("message" in request))) {
|
|
89
|
-
throw INVALID_PARAMS("No request detected");
|
|
90
|
-
}
|
|
91
|
-
let currentContextId = contextId;
|
|
92
|
-
if (request.message.contextId) {
|
|
93
|
-
currentContextId = request.message.contextId;
|
|
94
|
-
}
|
|
95
|
-
service.addConnection(currentContextId);
|
|
96
|
-
const currentState = await loadState(taskStore, request.message, request.metadata, request.message.taskId, currentContextId);
|
|
97
|
-
return currentState;
|
|
98
|
-
},
|
|
99
|
-
onCancel: async (current, update) => {
|
|
100
|
-
const localContextId = update.contextId ?? contextId;
|
|
101
|
-
const localTaskId = update.taskId ?? update.id;
|
|
102
|
-
service.addCancellation(localContextId);
|
|
103
|
-
const cancellation = CANCEL_UPDATE(localTaskId, localContextId);
|
|
104
|
-
const cancelUpdate = {
|
|
105
|
-
...update,
|
|
106
|
-
...cancellation,
|
|
107
|
-
status: {
|
|
108
|
-
...update.status,
|
|
109
|
-
...cancellation.status,
|
|
110
|
-
state: TaskState.canceled,
|
|
111
|
-
},
|
|
112
|
-
final: true,
|
|
113
|
-
};
|
|
114
|
-
await processUpdate(taskStore, {
|
|
115
|
-
context: {
|
|
116
|
-
contextId: localContextId,
|
|
117
|
-
task: current.task,
|
|
118
|
-
userMessage: current.task?.status?.message ?? {},
|
|
119
|
-
isCancelled: () => service.isCancelled(localContextId),
|
|
120
|
-
history: [], //deprecating history
|
|
121
|
-
},
|
|
122
|
-
current: current,
|
|
123
|
-
update: cancelUpdate,
|
|
124
|
-
});
|
|
125
|
-
},
|
|
126
|
-
onUpdate: async (current, update) => {
|
|
127
|
-
if (service.isCancelled(contextId)) {
|
|
128
|
-
return current;
|
|
129
|
-
}
|
|
130
|
-
try {
|
|
131
|
-
const currentState = (await processUpdate(taskStore, {
|
|
132
|
-
context: {
|
|
133
|
-
contextId: contextId,
|
|
134
|
-
task: current.task,
|
|
135
|
-
userMessage: current.task?.status?.message ?? {},
|
|
136
|
-
isCancelled: () => service.isCancelled(contextId),
|
|
137
|
-
history: [], //deprecating history
|
|
138
|
-
},
|
|
139
|
-
current: current,
|
|
140
|
-
update: update,
|
|
141
|
-
}));
|
|
142
|
-
return currentState;
|
|
143
|
-
}
|
|
144
|
-
catch (error) {
|
|
145
|
-
logError(`onUpdate[${contextId}]:`, "error detected", error, update);
|
|
146
|
-
throw error;
|
|
147
|
-
}
|
|
148
|
-
},
|
|
149
|
-
onError: async (current, error) => {
|
|
150
|
-
logError(`onError[${contextId}]`, "error detected", error, current);
|
|
151
|
-
if (!current ||
|
|
152
|
-
(!current.task?.contextId && !current?.contextId)) {
|
|
153
|
-
return;
|
|
154
|
-
}
|
|
155
|
-
const failedUpdate = FAILED_UPDATE(current.task?.id, current.task?.contextId ?? contextId, "failed-update", error instanceof Error ? error.message : String(error));
|
|
156
|
-
await processUpdate(taskStore, {
|
|
157
|
-
context: {
|
|
158
|
-
contextId: current.task?.contextId ?? contextId,
|
|
159
|
-
task: current.task,
|
|
160
|
-
userMessage: current.task?.status?.message ?? {},
|
|
161
|
-
isCancelled: () => service.isCancelled(contextId),
|
|
162
|
-
history: [], //deprecating history
|
|
163
|
-
},
|
|
164
|
-
current: current,
|
|
165
|
-
update: failedUpdate,
|
|
166
|
-
});
|
|
167
|
-
},
|
|
168
|
-
onComplete: async () => {
|
|
169
|
-
service.removeCancellation(contextId);
|
|
170
|
-
service.removeConnection(contextId);
|
|
171
|
-
},
|
|
172
|
-
};
|
|
173
|
-
return new EventManager(contextId, {
|
|
174
|
-
...options,
|
|
175
|
-
...eventOverrides, // Override options take precedence over defaults
|
|
176
|
-
});
|
|
177
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
import { getTask, cancelTask, sendMessage, streamMessage, resubscribe, } from "../methods/index.js";
|
|
6
|
-
export function createMethods(methods) {
|
|
7
|
-
return {
|
|
8
|
-
getTask: methods?.getTask ?? getTask,
|
|
9
|
-
cancelTask: methods?.cancelTask ?? cancelTask,
|
|
10
|
-
sendMessage: methods?.sendMessage ?? sendMessage,
|
|
11
|
-
streamMessage: methods?.streamMessage ?? streamMessage,
|
|
12
|
-
resubscribe: methods?.resubscribe ?? resubscribe,
|
|
13
|
-
};
|
|
14
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { AgentCard, AgentCardParams } from "../../../types/index.js";
|
|
2
|
-
export declare class AgentCardBuilder {
|
|
3
|
-
agentCard: AgentCard;
|
|
4
|
-
constructor(agentCard: Partial<AgentCard> & Required<Pick<AgentCard, "name">>);
|
|
5
|
-
valueOf(): AgentCard;
|
|
6
|
-
}
|
|
7
|
-
export declare function createAgentCard(agentCard: AgentCardParams): AgentCard;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export class AgentCardBuilder {
|
|
2
|
-
agentCard;
|
|
3
|
-
constructor(agentCard) {
|
|
4
|
-
this.agentCard = {
|
|
5
|
-
...agentCard,
|
|
6
|
-
protocolVersion: agentCard.protocolVersion ?? "0.3.0",
|
|
7
|
-
description: agentCard.description ?? "An agent that can use the A2A protocol.",
|
|
8
|
-
url: agentCard.url ?? "https://localhost:3000/a2a",
|
|
9
|
-
version: agentCard.version ?? "0.0.0",
|
|
10
|
-
capabilities: agentCard.capabilities ?? {},
|
|
11
|
-
defaultInputModes: agentCard.defaultInputModes ?? [],
|
|
12
|
-
defaultOutputModes: agentCard.defaultOutputModes ?? [],
|
|
13
|
-
skills: agentCard.skills ?? [],
|
|
14
|
-
preferredTransport: agentCard.preferredTransport ?? "JSONRPC",
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
valueOf() {
|
|
18
|
-
return this.agentCard;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
export function createAgentCard(agentCard) {
|
|
22
|
-
return new AgentCardBuilder(typeof agentCard === "string" ? { name: agentCard } : agentCard).valueOf();
|
|
23
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { MessageSendParams, Message as MessageType, MessageSendConfiguration } from "../../../types/index.js";
|
|
2
|
-
export declare class MessageBuilder {
|
|
3
|
-
message: MessageType;
|
|
4
|
-
constructor(message?: Partial<MessageType>);
|
|
5
|
-
valueOf(): MessageType;
|
|
6
|
-
}
|
|
7
|
-
export declare class MessageSendConfigurationBuilder {
|
|
8
|
-
configuration: MessageSendConfiguration;
|
|
9
|
-
constructor(configuration?: Partial<MessageSendConfiguration> | null);
|
|
10
|
-
valueOf(): MessageSendConfiguration;
|
|
11
|
-
}
|
|
12
|
-
export declare const createMessageSendParams: (messageSendParams: Partial<MessageSendParams> | string) => MessageSendParams;
|