@artinet/sdk 0.5.18 → 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 +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 +18 -6
- 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 +13 -8
- package/dist/browser/services/a2a/helpers/message-builder.js +5 -0
- package/dist/browser/transport/rpc/parser.d.ts +2 -2
- package/dist/browser/transport/rpc/parser.js +6 -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 +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/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/browser/types/{interfaces/services/mcp/service.d.ts → mcp/mcp.d.ts} +4 -3
- package/dist/browser/types/{interfaces/services/a2a/context.js → mcp/mcp.js} +1 -1
- package/dist/browser/types/storage.d.ts +21 -0
- package/dist/browser/utils/common/constants.d.ts +7 -7
- package/dist/browser/utils/common/constants.js +9 -9
- package/dist/browser/utils/common/errors.d.ts +18 -18
- package/dist/browser/utils/common/errors.js +14 -14
- 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 +18 -6
- 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 +11 -4
- package/dist/server/express/server.d.ts +9 -56
- package/dist/server/express/server.js +21 -28
- 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 +20 -15
- 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 +4 -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 -2
- package/dist/services/a2a/helpers/history.js +4 -0
- package/dist/services/a2a/helpers/index.d.ts +2 -2
- package/dist/services/a2a/helpers/index.js +2 -2
- 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 -372
- package/dist/services/a2a/service.js +238 -83
- 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 -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 +6 -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 +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/{browser/types/interfaces → types}/client.d.ts +25 -27
- package/dist/types/core/core.d.ts +31 -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/{interfaces/services/mcp/service.d.ts → mcp/mcp.d.ts} +4 -3
- package/dist/{browser/types/interfaces/services/a2a/engine.js → types/mcp/mcp.js} +1 -1
- package/dist/types/storage.d.ts +21 -0
- package/dist/utils/common/constants.d.ts +7 -7
- package/dist/utils/common/constants.js +9 -9
- package/dist/utils/common/errors.d.ts +18 -18
- package/dist/utils/common/errors.js +14 -14
- 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 +1 -1
- 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 +73 -13
- 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/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/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 -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/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/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/a2a → a2a}/builder.js +0 -0
- /package/dist/browser/types/{interfaces/client.js → client.js} +0 -0
- /package/dist/browser/types/{interfaces/services/core/managers/task.js → 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/{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 → a2a}/builder.js +0 -0
- /package/dist/types/{interfaces/client.js → client.js} +0 -0
- /package/dist/types/{interfaces/services/core/managers/task.js → core/core.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,134 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
import { z } from "zod";
|
|
6
|
-
import { MessageSchema, ArtifactSchema } from "./parameters.js";
|
|
7
|
-
import { JSONRPCErrorResponseSchema, JSONRPCRequestSchema, JSONRPCSuccessResponseSchema, } from "./rpc.js";
|
|
8
|
-
import { KindSchema } from "./kind.js";
|
|
9
|
-
/**
|
|
10
|
-
* @description Represents the state of a task within the A2A protocol.
|
|
11
|
-
*/
|
|
12
|
-
export const TaskStateSchema = z
|
|
13
|
-
.enum([
|
|
14
|
-
"submitted",
|
|
15
|
-
"working",
|
|
16
|
-
"input-required",
|
|
17
|
-
"completed",
|
|
18
|
-
"canceled",
|
|
19
|
-
"failed",
|
|
20
|
-
"rejected",
|
|
21
|
-
"auth-required",
|
|
22
|
-
"unknown",
|
|
23
|
-
])
|
|
24
|
-
.describe("Defines the lifecycle states of a Task.");
|
|
25
|
-
export const TaskState = TaskStateSchema.enum;
|
|
26
|
-
/**
|
|
27
|
-
* Basic parameters used for task ID operations.
|
|
28
|
-
*/
|
|
29
|
-
export const TaskIdParamsSchema = z
|
|
30
|
-
.object({
|
|
31
|
-
id: z.string().describe("The ID of the task to query."),
|
|
32
|
-
metadata: z
|
|
33
|
-
.record(z.string(), z.unknown())
|
|
34
|
-
.optional()
|
|
35
|
-
.describe("Additional metadata to include in the request."),
|
|
36
|
-
})
|
|
37
|
-
.describe("Defines the parameters for a request to get a task.");
|
|
38
|
-
/**
|
|
39
|
-
* Parameters used for querying task-related information by ID.
|
|
40
|
-
*/
|
|
41
|
-
export const TaskQueryParamsSchema = TaskIdParamsSchema.extend({
|
|
42
|
-
historyLength: z.number().optional(),
|
|
43
|
-
});
|
|
44
|
-
/**
|
|
45
|
-
* Represents the status of a task at a specific point in time.
|
|
46
|
-
*/
|
|
47
|
-
export const TaskStatusSchema = z.object({
|
|
48
|
-
state: TaskStateSchema,
|
|
49
|
-
message: MessageSchema.optional(),
|
|
50
|
-
timestamp: z.string().datetime().optional(),
|
|
51
|
-
});
|
|
52
|
-
/**
|
|
53
|
-
* Represents a task being processed by an agent.
|
|
54
|
-
*/
|
|
55
|
-
export const TaskSchema = z.object({
|
|
56
|
-
id: z.string(),
|
|
57
|
-
contextId: z.string(),
|
|
58
|
-
status: TaskStatusSchema,
|
|
59
|
-
history: z.array(MessageSchema).optional(),
|
|
60
|
-
artifacts: z.array(ArtifactSchema).optional(),
|
|
61
|
-
metadata: z.record(z.string(), z.unknown()).optional(),
|
|
62
|
-
kind: KindSchema.refine((kind) => kind === "task"),
|
|
63
|
-
});
|
|
64
|
-
/**
|
|
65
|
-
* Represents a status update event for a task, typically used in streaming scenarios.
|
|
66
|
-
*/
|
|
67
|
-
export const TaskStatusUpdateEventSchema = z.object({
|
|
68
|
-
taskId: z.string(),
|
|
69
|
-
contextId: z.string(),
|
|
70
|
-
kind: KindSchema.refine((kind) => kind === "status-update"),
|
|
71
|
-
status: TaskStatusSchema,
|
|
72
|
-
final: z.boolean(),
|
|
73
|
-
metadata: z.record(z.string(), z.unknown()).optional(),
|
|
74
|
-
});
|
|
75
|
-
/**
|
|
76
|
-
* Represents an artifact update event for a task, typically used in streaming scenarios.
|
|
77
|
-
*/
|
|
78
|
-
export const TaskArtifactUpdateEventSchema = z.object({
|
|
79
|
-
taskId: z.string(),
|
|
80
|
-
contextId: z.string(),
|
|
81
|
-
kind: KindSchema.refine((kind) => kind === "artifact-update"),
|
|
82
|
-
artifact: ArtifactSchema,
|
|
83
|
-
append: z.boolean().optional(),
|
|
84
|
-
lastChunk: z.boolean().optional(),
|
|
85
|
-
metadata: z.record(z.string(), z.unknown()).optional(),
|
|
86
|
-
});
|
|
87
|
-
/**
|
|
88
|
-
* @description Request to retrieve the current state of a task.
|
|
89
|
-
*/
|
|
90
|
-
export const GetTaskRequestSchema = JSONRPCRequestSchema.extend({
|
|
91
|
-
method: z.literal("tasks/get"),
|
|
92
|
-
params: TaskQueryParamsSchema.describe("Defines the parameters for a request to get a task."),
|
|
93
|
-
}).describe("Represents a JSON-RPC request for the `tasks/get` method.");
|
|
94
|
-
/**
|
|
95
|
-
* @description Represents a successful JSON-RPC response for the `tasks/get` method.
|
|
96
|
-
*/
|
|
97
|
-
export const GetTaskSuccessResponseSchema = JSONRPCSuccessResponseSchema.extend({
|
|
98
|
-
/**
|
|
99
|
-
* @required The result of the request, which can be a direct reply Message or the initial Task object.
|
|
100
|
-
*/
|
|
101
|
-
result: TaskSchema.describe("The result of the request, which can be a direct reply Message or the initial Task object."),
|
|
102
|
-
}).describe("JSON-RPC success response model for the 'tasks/get' method.");
|
|
103
|
-
/**
|
|
104
|
-
* @description Represents a JSON-RPC response for the `tasks/get` method.
|
|
105
|
-
*/
|
|
106
|
-
export const GetTaskResponseSchema = z
|
|
107
|
-
.union([GetTaskSuccessResponseSchema, JSONRPCErrorResponseSchema])
|
|
108
|
-
.describe("Represents a JSON-RPC response for the `tasks/get` method.");
|
|
109
|
-
/**
|
|
110
|
-
* @description Request to re-subscribe to a task's updates.
|
|
111
|
-
*/
|
|
112
|
-
export const TaskResubscriptionRequestSchema = JSONRPCRequestSchema.extend({
|
|
113
|
-
method: z.literal("tasks/resubscribe"),
|
|
114
|
-
params: TaskIdParamsSchema.describe("Defines the parameters for a request to re-subscribe to a task's updates."),
|
|
115
|
-
}).describe("Represents a JSON-RPC request for the `tasks/resubscribe` method.");
|
|
116
|
-
/**
|
|
117
|
-
* @description Request to cancel a task.
|
|
118
|
-
*/
|
|
119
|
-
export const CancelTaskRequestSchema = JSONRPCRequestSchema.extend({
|
|
120
|
-
method: z.literal("tasks/cancel"),
|
|
121
|
-
params: TaskIdParamsSchema.describe("Defines the parameters for a request to cancel a task."),
|
|
122
|
-
}).describe("Represents a JSON-RPC request for the `tasks/cancel` method.");
|
|
123
|
-
/**
|
|
124
|
-
* @description Represents a successful JSON-RPC response for the `tasks/cancel` method.
|
|
125
|
-
*/
|
|
126
|
-
export const CancelTaskSuccessResponseSchema = JSONRPCSuccessResponseSchema.extend({
|
|
127
|
-
result: TaskSchema.describe("The result of the request, which can be a direct reply Message or the initial Task object."),
|
|
128
|
-
}).describe("JSON-RPC success response model for the 'tasks/cancel' method.");
|
|
129
|
-
/**
|
|
130
|
-
* @description Represents a JSON-RPC response for the `tasks/cancel` method.
|
|
131
|
-
*/
|
|
132
|
-
export const CancelTaskResponseSchema = z
|
|
133
|
-
.union([CancelTaskSuccessResponseSchema, JSONRPCErrorResponseSchema])
|
|
134
|
-
.describe("Represents a JSON-RPC response for the `tasks/cancel` method.");
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
import { z } from "zod";
|
|
6
|
-
/**
|
|
7
|
-
* @description Supported A2A transport protocols.
|
|
8
|
-
*/
|
|
9
|
-
export declare const TransportProtocolSchema: z.ZodEnum<["JSONRPC", "GRPC", "HTTP+JSON"]>;
|
|
10
|
-
export type TransportProtocol = z.infer<typeof TransportProtocolSchema>;
|
|
11
|
-
/**
|
|
12
|
-
* @description Declares a combination of a target URL and a transport protocol for interacting with the agent.
|
|
13
|
-
* This allows agents to expose the same functionality over multiple transport mechanisms.
|
|
14
|
-
*/
|
|
15
|
-
export declare const AgentInterfaceSchema: z.ZodObject<{
|
|
16
|
-
/**
|
|
17
|
-
* @required The URL where this interface is available. Must be a valid absolute HTTPS URL in production.
|
|
18
|
-
*/
|
|
19
|
-
url: z.ZodString;
|
|
20
|
-
/**
|
|
21
|
-
* @required The transport protocol supported at this URL.
|
|
22
|
-
*/
|
|
23
|
-
transport: z.ZodUnion<[z.ZodEnum<["JSONRPC", "GRPC", "HTTP+JSON"]>, z.ZodString]>;
|
|
24
|
-
}, "strip", z.ZodTypeAny, {
|
|
25
|
-
url: string;
|
|
26
|
-
transport: string;
|
|
27
|
-
}, {
|
|
28
|
-
url: string;
|
|
29
|
-
transport: string;
|
|
30
|
-
}>;
|
|
31
|
-
export type AgentInterface = z.infer<typeof AgentInterfaceSchema>;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
import { z } from "zod";
|
|
6
|
-
/**
|
|
7
|
-
* @description Supported A2A transport protocols.
|
|
8
|
-
*/
|
|
9
|
-
export const TransportProtocolSchema = z.enum(["JSONRPC", "GRPC", "HTTP+JSON"]);
|
|
10
|
-
/**
|
|
11
|
-
* @description Declares a combination of a target URL and a transport protocol for interacting with the agent.
|
|
12
|
-
* This allows agents to expose the same functionality over multiple transport mechanisms.
|
|
13
|
-
*/
|
|
14
|
-
export const AgentInterfaceSchema = z.object({
|
|
15
|
-
/**
|
|
16
|
-
* @required The URL where this interface is available. Must be a valid absolute HTTPS URL in production.
|
|
17
|
-
*/
|
|
18
|
-
url: z
|
|
19
|
-
.string()
|
|
20
|
-
.url()
|
|
21
|
-
.describe("The URL where this interface is available. Must be a valid absolute HTTPS URL in production."),
|
|
22
|
-
/**
|
|
23
|
-
* @required The transport protocol supported at this URL.
|
|
24
|
-
*/
|
|
25
|
-
transport: z
|
|
26
|
-
.union([TransportProtocolSchema, z.string()])
|
|
27
|
-
.describe("The transport protocol supported at this URL."),
|
|
28
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./a2a/index.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./a2a/index.js";
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Logger utility for server operations
|
|
7
|
-
* @param context The context of the log (e.g., "A2AServer", "TaskStore")
|
|
8
|
-
* @param message The message to log
|
|
9
|
-
* @param data Optional data to include in the log
|
|
10
|
-
*/
|
|
11
|
-
export declare function logDebug(context: string, message: string, data?: unknown): void;
|
|
12
|
-
/**
|
|
13
|
-
* Logger utility for server errors
|
|
14
|
-
* @param context The context of the log (e.g., "A2AServer", "TaskStore")
|
|
15
|
-
* @param message The message to log
|
|
16
|
-
* @param error The error object
|
|
17
|
-
* @param data Optional additional data
|
|
18
|
-
*/
|
|
19
|
-
export declare function logError(context: string, message: string, error: unknown, data?: unknown): void;
|
|
20
|
-
/**
|
|
21
|
-
* Logger utility for server warnings
|
|
22
|
-
* @param context The context of the log (e.g., "A2AServer", "TaskStore")
|
|
23
|
-
* @param message The message to log
|
|
24
|
-
* @param data Optional data to include in the log
|
|
25
|
-
*/
|
|
26
|
-
export declare function logWarn(context: string, message: string, data?: unknown): void;
|
|
27
|
-
/**
|
|
28
|
-
* Logger utility for server information
|
|
29
|
-
* @param context The context of the log (e.g., "A2AServer", "TaskStore")
|
|
30
|
-
* @param message The message to log
|
|
31
|
-
* @param data Optional data to include in the log
|
|
32
|
-
*/
|
|
33
|
-
export declare function logInfo(context: string, message: string, data?: unknown): void;
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
import { logger, level } from "./logger.js";
|
|
6
|
-
/**
|
|
7
|
-
* Logger utility for server operations
|
|
8
|
-
* @param context The context of the log (e.g., "A2AServer", "TaskStore")
|
|
9
|
-
* @param message The message to log
|
|
10
|
-
* @param data Optional data to include in the log
|
|
11
|
-
*/
|
|
12
|
-
export function logDebug(context, message, data) {
|
|
13
|
-
const logData = { component: context };
|
|
14
|
-
if (data !== undefined) {
|
|
15
|
-
logData.data = data;
|
|
16
|
-
}
|
|
17
|
-
if (level === "silent" || level === "warning" || level === "error" || level === "info") {
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
logger.debug(logData, message);
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Logger utility for server errors
|
|
24
|
-
* @param context The context of the log (e.g., "A2AServer", "TaskStore")
|
|
25
|
-
* @param message The message to log
|
|
26
|
-
* @param error The error object
|
|
27
|
-
* @param data Optional additional data
|
|
28
|
-
*/
|
|
29
|
-
export function logError(context, message, error, data) {
|
|
30
|
-
const logData = {
|
|
31
|
-
component: context,
|
|
32
|
-
err: error instanceof Error ? error : new Error(String(error)),
|
|
33
|
-
};
|
|
34
|
-
if (data !== undefined) {
|
|
35
|
-
logData.data = data;
|
|
36
|
-
}
|
|
37
|
-
if (level === "silent") {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
logger.error(logData, message);
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Logger utility for server warnings
|
|
44
|
-
* @param context The context of the log (e.g., "A2AServer", "TaskStore")
|
|
45
|
-
* @param message The message to log
|
|
46
|
-
* @param data Optional data to include in the log
|
|
47
|
-
*/
|
|
48
|
-
export function logWarn(context, message, data) {
|
|
49
|
-
const logData = { component: context };
|
|
50
|
-
if (data !== undefined) {
|
|
51
|
-
logData.data = data;
|
|
52
|
-
}
|
|
53
|
-
if (level === "silent" || level === "error") {
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
logger.warn(logData, message);
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Logger utility for server information
|
|
60
|
-
* @param context The context of the log (e.g., "A2AServer", "TaskStore")
|
|
61
|
-
* @param message The message to log
|
|
62
|
-
* @param data Optional data to include in the log
|
|
63
|
-
*/
|
|
64
|
-
export function logInfo(context, message, data) {
|
|
65
|
-
const logData = { component: context };
|
|
66
|
-
if (data !== undefined) {
|
|
67
|
-
logData.data = data;
|
|
68
|
-
}
|
|
69
|
-
if (level === "error" ||
|
|
70
|
-
level === "warning" ||
|
|
71
|
-
level === "silent") {
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
logger.info(logData, message);
|
|
75
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* A lightweight cross-platform logger instance
|
|
7
|
-
*/
|
|
8
|
-
export declare const logger: Console;
|
|
9
|
-
export declare let level: "trace" | "verbose" | "debug" | "info" | "warning" | "error" | "silent";
|
|
10
|
-
/**
|
|
11
|
-
* Configures the logger with the specified options
|
|
12
|
-
* @param options - Logger configuration options
|
|
13
|
-
*/
|
|
14
|
-
export declare function configureLogger(options: {
|
|
15
|
-
level?: "trace" | "verbose" | "debug" | "info" | "warning" | "error" | "silent";
|
|
16
|
-
name?: string;
|
|
17
|
-
prettyPrint?: boolean;
|
|
18
|
-
}): Console;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* A lightweight cross-platform logger instance
|
|
7
|
-
*/
|
|
8
|
-
export const logger = console;
|
|
9
|
-
export let level = "silent";
|
|
10
|
-
/**
|
|
11
|
-
* Configures the logger with the specified options
|
|
12
|
-
* @param options - Logger configuration options
|
|
13
|
-
*/
|
|
14
|
-
export function configureLogger(options) {
|
|
15
|
-
level = options.level || "silent";
|
|
16
|
-
return logger;
|
|
17
|
-
}
|
|
18
|
-
configureLogger({ level: "silent" });
|
|
@@ -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,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
import { CancellationManagerInterface } from "../../../types/index.js";
|
|
6
|
-
export declare class CancellationManager implements CancellationManagerInterface {
|
|
7
|
-
private cancellations;
|
|
8
|
-
addCancellation(id: string): void;
|
|
9
|
-
removeCancellation(id: string): void;
|
|
10
|
-
isCancelled(id: string): boolean;
|
|
11
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
export class CancellationManager {
|
|
6
|
-
cancellations = new Set();
|
|
7
|
-
addCancellation(id) {
|
|
8
|
-
this.cancellations.add(id);
|
|
9
|
-
}
|
|
10
|
-
removeCancellation(id) {
|
|
11
|
-
this.cancellations.delete(id);
|
|
12
|
-
}
|
|
13
|
-
isCancelled(id) {
|
|
14
|
-
return this.cancellations.has(id);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
import { ConnectionManagerInterface } from "../../../types/index.js";
|
|
6
|
-
export declare class ConnectionManager implements ConnectionManagerInterface {
|
|
7
|
-
private connections;
|
|
8
|
-
addConnection(id: string): void;
|
|
9
|
-
removeConnection(id: string): void;
|
|
10
|
-
isConnected(id: string): boolean;
|
|
11
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2025 The Artinet Project
|
|
3
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
export class ConnectionManager {
|
|
6
|
-
connections = new Set();
|
|
7
|
-
addConnection(id) {
|
|
8
|
-
this.connections.add(id);
|
|
9
|
-
}
|
|
10
|
-
removeConnection(id) {
|
|
11
|
-
this.connections.delete(id);
|
|
12
|
-
}
|
|
13
|
-
isConnected(id) {
|
|
14
|
-
return this.connections.has(id);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
@@ -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
|
-
}
|