@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
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
* Copyright 2025 The Artinet Project
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
|
+
import { A2A } from "../../types/index.js";
|
|
5
6
|
import { PUSH_NOTIFICATION_NOT_SUPPORTED, INVALID_REQUEST, INVALID_PARAMS, METHOD_NOT_FOUND, AUTHENTICATED_EXTENDED_CARD_NOT_CONFIGURED, } from "../../utils/index.js";
|
|
6
|
-
import {
|
|
7
|
+
import { logger } from "../../config/index.js";
|
|
7
8
|
const isValidMethod = (method) => {
|
|
8
9
|
return (method &&
|
|
9
10
|
method !== "" &&
|
|
@@ -36,7 +37,7 @@ export async function jsonRPCMiddleware(service, req, res, next, extendedAgentCa
|
|
|
36
37
|
res.json({
|
|
37
38
|
jsonrpc: "2.0",
|
|
38
39
|
id: id || null,
|
|
39
|
-
error: { code:
|
|
40
|
+
error: { code: A2A.ErrorCodeInvalidRequest, message: "Invalid Request" },
|
|
40
41
|
});
|
|
41
42
|
return;
|
|
42
43
|
}
|
|
@@ -94,6 +95,8 @@ export async function jsonRPCMiddleware(service, req, res, next, extendedAgentCa
|
|
|
94
95
|
result = await service.cancelTask(params);
|
|
95
96
|
break;
|
|
96
97
|
}
|
|
98
|
+
//todo: Implement push notifications
|
|
99
|
+
//todo: Implement Tasks List
|
|
97
100
|
case "tasks/pushNotificationConfig/set":
|
|
98
101
|
case "tasks/pushNotificationConfig/get":
|
|
99
102
|
case "tasks/pushNotificationConfig/delete":
|
|
@@ -107,7 +110,8 @@ export async function jsonRPCMiddleware(service, req, res, next, extendedAgentCa
|
|
|
107
110
|
}
|
|
108
111
|
case "agent/getAuthenticatedExtendedCard": {
|
|
109
112
|
if (!extendedAgentCard ||
|
|
110
|
-
service.
|
|
113
|
+
(await service.getAgentCard()).supportsAuthenticatedExtendedCard !==
|
|
114
|
+
true) {
|
|
111
115
|
throw AUTHENTICATED_EXTENDED_CARD_NOT_CONFIGURED({
|
|
112
116
|
data: {
|
|
113
117
|
message: "Authenticated Extended Card is not configured",
|
|
@@ -129,7 +133,10 @@ export async function jsonRPCMiddleware(service, req, res, next, extendedAgentCa
|
|
|
129
133
|
res.json({ jsonrpc: "2.0", id, result });
|
|
130
134
|
}
|
|
131
135
|
catch (error) {
|
|
132
|
-
|
|
136
|
+
logger.error("jsonRPCMiddleware[Error]:", error);
|
|
137
|
+
logger.warn("jsonRPCMiddleware[Error]: Request body", {
|
|
138
|
+
request: req.body,
|
|
139
|
+
});
|
|
133
140
|
return next(error);
|
|
134
141
|
}
|
|
135
142
|
}
|
|
@@ -3,69 +3,22 @@
|
|
|
3
3
|
* SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
5
|
import express from "express";
|
|
6
|
-
import {
|
|
6
|
+
import { A2A } from "../../types/index.js";
|
|
7
|
+
import { Agent } from "../../services/a2a/index.js";
|
|
8
|
+
import { ServiceParams as CreateAgentParams } from "../../services/index.js";
|
|
7
9
|
import { CorsOptions } from "cors";
|
|
8
10
|
export interface ServerParams {
|
|
9
11
|
app?: express.Express;
|
|
10
12
|
corsOptions?: CorsOptions;
|
|
11
13
|
basePath?: string;
|
|
12
|
-
extendedAgentCard?: AgentCard;
|
|
13
|
-
}
|
|
14
|
-
export declare function createAgentServer(params: ServerParams & {
|
|
14
|
+
extendedAgentCard?: A2A.AgentCard;
|
|
15
15
|
agent: Agent | CreateAgentParams;
|
|
16
16
|
agentCardPath?: string;
|
|
17
17
|
register?: boolean;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
kind: "message";
|
|
24
|
-
parts: ({
|
|
25
|
-
file: {
|
|
26
|
-
bytes: string;
|
|
27
|
-
name?: string | undefined;
|
|
28
|
-
mimeType?: string | undefined;
|
|
29
|
-
uri?: undefined;
|
|
30
|
-
} | {
|
|
31
|
-
uri: string;
|
|
32
|
-
name?: string | undefined;
|
|
33
|
-
bytes?: undefined;
|
|
34
|
-
mimeType?: string | undefined;
|
|
35
|
-
};
|
|
36
|
-
kind: "file";
|
|
37
|
-
metadata?: Record<string, unknown> | undefined;
|
|
38
|
-
} | {
|
|
39
|
-
text: string;
|
|
40
|
-
kind: "text";
|
|
41
|
-
metadata?: Record<string, unknown> | undefined;
|
|
42
|
-
} | {
|
|
43
|
-
data: Record<string, unknown>;
|
|
44
|
-
kind: "data";
|
|
45
|
-
metadata?: Record<string, unknown> | undefined;
|
|
46
|
-
})[];
|
|
47
|
-
messageId: string;
|
|
48
|
-
metadata?: Record<string, unknown> | undefined;
|
|
49
|
-
extensions?: string[] | undefined;
|
|
50
|
-
referenceTaskIds?: string[] | undefined;
|
|
51
|
-
taskId?: string | undefined;
|
|
52
|
-
contextId?: string | undefined;
|
|
53
|
-
};
|
|
54
|
-
metadata?: Record<string, unknown> | undefined;
|
|
55
|
-
configuration?: {
|
|
56
|
-
historyLength?: number | undefined;
|
|
57
|
-
pushNotificationConfig?: {
|
|
58
|
-
url: string;
|
|
59
|
-
id?: string | undefined;
|
|
60
|
-
token?: string | undefined;
|
|
61
|
-
authentication?: {
|
|
62
|
-
schemes: string[];
|
|
63
|
-
credentials?: string | undefined;
|
|
64
|
-
} | undefined;
|
|
65
|
-
} | undefined;
|
|
66
|
-
acceptedOutputModes?: string[] | undefined;
|
|
67
|
-
blocking?: boolean | undefined;
|
|
68
|
-
} | undefined;
|
|
69
|
-
}, import("../../types/index.js").TaskAndHistory, import("../../types/index.js").UpdateEvent>;
|
|
18
|
+
}
|
|
19
|
+
export declare function rpcParser(req: express.Request, res: express.Response, next: express.NextFunction): void;
|
|
20
|
+
export declare function createAgentServer({ app, basePath, agentCardPath, agent, corsOptions, extendedAgentCard, }: ServerParams): {
|
|
21
|
+
app: express.Express;
|
|
22
|
+
agent: Agent;
|
|
70
23
|
};
|
|
71
24
|
export type ExpressAgentServer = ReturnType<typeof createAgentServer>;
|
|
@@ -4,12 +4,17 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import express from "express";
|
|
6
6
|
import { INVALID_REQUEST, PARSE_ERROR } from "../../utils/index.js";
|
|
7
|
-
import { createAgent } from "../../services/index.js";
|
|
7
|
+
import { createAgent, Service, } from "../../services/index.js";
|
|
8
8
|
import cors from "cors";
|
|
9
9
|
import { jsonRPCMiddleware } from "./middeware.js";
|
|
10
10
|
import { errorHandler } from "./errors.js";
|
|
11
|
-
function rpcParser(req, res, next) {
|
|
11
|
+
export function rpcParser(req, res, next) {
|
|
12
12
|
express.json()(req, res, (err) => {
|
|
13
|
+
if (!req.body || typeof req.body !== "object") {
|
|
14
|
+
return next(PARSE_ERROR({
|
|
15
|
+
data: { message: "Invalid request body" },
|
|
16
|
+
}));
|
|
17
|
+
}
|
|
13
18
|
if (err) {
|
|
14
19
|
if (err instanceof SyntaxError &&
|
|
15
20
|
"status" in err &&
|
|
@@ -24,41 +29,29 @@ function rpcParser(req, res, next) {
|
|
|
24
29
|
next();
|
|
25
30
|
});
|
|
26
31
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
typeof agentOrParams === "object" &&
|
|
30
|
-
"agentCard" in agentOrParams &&
|
|
31
|
-
typeof agentOrParams.agentCard === "object" &&
|
|
32
|
-
"sendMessage" in agentOrParams &&
|
|
33
|
-
typeof agentOrParams.sendMessage === "function" &&
|
|
34
|
-
"streamMessage" in agentOrParams &&
|
|
35
|
-
typeof agentOrParams.streamMessage === "function" &&
|
|
36
|
-
"addConnection" in agentOrParams &&
|
|
37
|
-
typeof agentOrParams.addConnection === "function" &&
|
|
38
|
-
"removeConnection" in agentOrParams &&
|
|
39
|
-
typeof agentOrParams.removeConnection === "function" &&
|
|
40
|
-
"getState" in agentOrParams &&
|
|
41
|
-
typeof agentOrParams.getState === "function" &&
|
|
42
|
-
"setState" in agentOrParams &&
|
|
43
|
-
typeof agentOrParams.setState === "function") {
|
|
44
|
-
return agentOrParams;
|
|
45
|
-
}
|
|
46
|
-
else if (agentOrParams &&
|
|
32
|
+
const isParams = (agentOrParams) => {
|
|
33
|
+
return (agentOrParams &&
|
|
47
34
|
typeof agentOrParams === "object" &&
|
|
48
35
|
"engine" in agentOrParams &&
|
|
49
36
|
typeof agentOrParams.engine === "function" &&
|
|
50
37
|
"agentCard" in agentOrParams &&
|
|
51
|
-
typeof agentOrParams.agentCard === "object")
|
|
38
|
+
typeof agentOrParams.agentCard === "object");
|
|
39
|
+
};
|
|
40
|
+
const ensureAgent = (agentOrParams) => {
|
|
41
|
+
if (agentOrParams instanceof Service) {
|
|
42
|
+
return agentOrParams;
|
|
43
|
+
}
|
|
44
|
+
else if (isParams(agentOrParams)) {
|
|
52
45
|
return createAgent(agentOrParams);
|
|
53
46
|
}
|
|
54
47
|
throw new Error("invalid agent or params");
|
|
55
|
-
}
|
|
56
|
-
export function createAgentServer(
|
|
57
|
-
const { app = express(), basePath = "/", agentCardPath = "/.well-known/agent-card.json", agent, } = params;
|
|
48
|
+
};
|
|
49
|
+
export function createAgentServer({ app = express(), basePath = "/", agentCardPath = "/.well-known/agent-card.json", agent, corsOptions, extendedAgentCard, }) {
|
|
58
50
|
const agentInstance = ensureAgent(agent);
|
|
59
|
-
app.use(cors(
|
|
51
|
+
app.use(cors(corsOptions));
|
|
60
52
|
if (agentCardPath !== "/.well-known/agent-card.json") {
|
|
61
53
|
// mount at the root for compliance with RFC8615 standard
|
|
54
|
+
// todo: align with emerging multi-agent standards
|
|
62
55
|
app.use("/.well-known/agent-card.json", (_, res) => {
|
|
63
56
|
res.json(agentInstance.agentCard);
|
|
64
57
|
});
|
|
@@ -80,7 +73,7 @@ export function createAgentServer(params) {
|
|
|
80
73
|
app.post(basePath, rpcParser, async (req, res, next) => {
|
|
81
74
|
const { jsonrpc } = req.body;
|
|
82
75
|
if (jsonrpc === "2.0") {
|
|
83
|
-
return await jsonRPCMiddleware(agentInstance, req, res, next,
|
|
76
|
+
return await jsonRPCMiddleware(agentInstance, req, res, next, extendedAgentCard);
|
|
84
77
|
}
|
|
85
78
|
next(INVALID_REQUEST({ data: { message: "Invalid JSON-RPC request" } }));
|
|
86
79
|
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2025 The Artinet Project
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
export const execute = async (engine, context) => {
|
|
6
|
+
try {
|
|
7
|
+
if (context.publisher.onStart) {
|
|
8
|
+
await context.publisher.onStart(context);
|
|
9
|
+
}
|
|
10
|
+
for await (const update of engine(context)) {
|
|
11
|
+
if ((await context.isCancelled()) || context.abortSignal.aborted) {
|
|
12
|
+
await context.publisher.onCancel(update);
|
|
13
|
+
break;
|
|
14
|
+
}
|
|
15
|
+
await context.publisher.onUpdate(update);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
await context.publisher.onError(error);
|
|
20
|
+
throw error;
|
|
21
|
+
}
|
|
22
|
+
finally {
|
|
23
|
+
await context.publisher.onComplete();
|
|
24
|
+
}
|
|
25
|
+
};
|
|
@@ -10,11 +10,12 @@
|
|
|
10
10
|
* workflows with type-safe step composition and automatic execution orchestration.
|
|
11
11
|
*
|
|
12
12
|
* @module A2ABuilder
|
|
13
|
-
* @version 0.
|
|
13
|
+
* @version 0.6.0-preview
|
|
14
14
|
* @since 0.5.6
|
|
15
15
|
* @author The Artinet Project
|
|
16
16
|
*/
|
|
17
|
-
import { StepBuilder, Step,
|
|
17
|
+
import { StepBuilder, Step, A2A, StepWithKind, OutputType, BaseArgs, EmptyArgs, OutArgsOf, PartContent } from "../../../types/index.js";
|
|
18
|
+
import { ServiceParams } from "./service.js";
|
|
18
19
|
/**
|
|
19
20
|
* Type alias for text-based workflow steps.
|
|
20
21
|
*
|
|
@@ -24,7 +25,7 @@ import { StepBuilder, Step, StepOutput, StepOutputWithForwardArgs, MessageSendPa
|
|
|
24
25
|
* decision making.
|
|
25
26
|
*
|
|
26
27
|
* @template TCommand - The command type, defaults to MessageSendParams
|
|
27
|
-
* @template TPart - The text part type, defaults to TextPart["text"]
|
|
28
|
+
* @template TPart - The text part type, defaults to A2A.TextPart["text"]
|
|
28
29
|
* @template TInboundArgs - Arguments received from previous step
|
|
29
30
|
* @template TForwardArgs - Arguments passed to next step
|
|
30
31
|
* @template TOutput - The output type of the step
|
|
@@ -40,7 +41,7 @@ import { StepBuilder, Step, StepOutput, StepOutputWithForwardArgs, MessageSendPa
|
|
|
40
41
|
* @public
|
|
41
42
|
* @since 0.5.6
|
|
42
43
|
*/
|
|
43
|
-
export type textStep<
|
|
44
|
+
export type textStep<TInboundArgs extends BaseArgs = EmptyArgs, TForwardArgs extends BaseArgs = EmptyArgs, TOutput extends OutputType<A2A.TextPart["text"], TForwardArgs> = OutputType<A2A.TextPart["text"], TForwardArgs>> = Step<A2A.TextPart["text"], TInboundArgs, TForwardArgs, TOutput>;
|
|
44
45
|
/**
|
|
45
46
|
* Type alias for file-based workflow steps.
|
|
46
47
|
*
|
|
@@ -49,7 +50,7 @@ export type textStep<TCommand extends MessageSendParams = MessageSendParams, TPa
|
|
|
49
50
|
* file generation, and file-based data operations.
|
|
50
51
|
*
|
|
51
52
|
* @template TCommand - The command type, defaults to MessageSendParams
|
|
52
|
-
* @template TPart - The file part type, defaults to FilePart["file"]
|
|
53
|
+
* @template TPart - The file part type, defaults to A2A.FilePart["file"]
|
|
53
54
|
* @template TInboundArgs - Arguments received from previous step
|
|
54
55
|
* @template TForwardArgs - Arguments passed to next step
|
|
55
56
|
* @template TOutput - The output type of the step
|
|
@@ -69,7 +70,7 @@ export type textStep<TCommand extends MessageSendParams = MessageSendParams, TPa
|
|
|
69
70
|
* @public
|
|
70
71
|
* @since 0.5.6
|
|
71
72
|
*/
|
|
72
|
-
export type fileStep<
|
|
73
|
+
export type fileStep<TInboundArgs extends BaseArgs = EmptyArgs, TForwardArgs extends BaseArgs = EmptyArgs, TOutput extends OutputType<A2A.FilePart["file"], TForwardArgs> = OutputType<A2A.FilePart["file"], TForwardArgs>> = Step<A2A.FilePart["file"], TInboundArgs, TForwardArgs, TOutput>;
|
|
73
74
|
/**
|
|
74
75
|
* Type alias for data-based workflow steps.
|
|
75
76
|
*
|
|
@@ -78,7 +79,7 @@ export type fileStep<TCommand extends MessageSendParams = MessageSendParams, TPa
|
|
|
78
79
|
* and structured data transformations.
|
|
79
80
|
*
|
|
80
81
|
* @template TCommand - The command type, defaults to MessageSendParams
|
|
81
|
-
* @template TPart - The data part type, defaults to DataPart["data"]
|
|
82
|
+
* @template TPart - The data part type, defaults to A2A.DataPart["data"]
|
|
82
83
|
* @template TInboundArgs - Arguments received from previous step
|
|
83
84
|
* @template TForwardArgs - Arguments passed to next step
|
|
84
85
|
* @template TOutput - The output type of the step
|
|
@@ -98,17 +99,7 @@ export type fileStep<TCommand extends MessageSendParams = MessageSendParams, TPa
|
|
|
98
99
|
* @public
|
|
99
100
|
* @since 0.5.6
|
|
100
101
|
*/
|
|
101
|
-
export type dataStep<
|
|
102
|
-
/**
|
|
103
|
-
* Utility type to extract forward arguments from step output.
|
|
104
|
-
*
|
|
105
|
-
* This helper type extracts the forward arguments type from a step output,
|
|
106
|
-
* enabling proper type chaining between workflow steps.
|
|
107
|
-
*
|
|
108
|
-
* @template O - The output type to extract arguments from
|
|
109
|
-
* @internal
|
|
110
|
-
*/
|
|
111
|
-
type OutArgsOf<O> = O extends StepOutputWithForwardArgs<any, infer A> ? A : [];
|
|
102
|
+
export type dataStep<TInboundArgs extends BaseArgs = EmptyArgs, TForwardArgs extends BaseArgs = EmptyArgs, TOutput extends OutputType<A2A.DataPart["data"], TForwardArgs> = OutputType<A2A.DataPart["data"], TForwardArgs>> = Step<A2A.DataPart["data"], TInboundArgs, TForwardArgs, TOutput>;
|
|
112
103
|
/**
|
|
113
104
|
* Fluent builder for constructing A2A agent execution engines.
|
|
114
105
|
*
|
|
@@ -137,14 +128,14 @@ type OutArgsOf<O> = O extends StepOutputWithForwardArgs<any, infer A> ? A : [];
|
|
|
137
128
|
* @public
|
|
138
129
|
* @since 0.5.6
|
|
139
130
|
*/
|
|
140
|
-
export declare class EngineBuilder<
|
|
131
|
+
export declare class EngineBuilder<TInboundArgs extends BaseArgs = EmptyArgs> implements StepBuilder<TInboundArgs> {
|
|
141
132
|
private steps;
|
|
142
133
|
/**
|
|
143
134
|
* Protected constructor to enforce factory method usage.
|
|
144
135
|
*
|
|
145
136
|
* @param steps - Initial steps array
|
|
146
137
|
*/
|
|
147
|
-
protected constructor(steps?: Array<StepWithKind<
|
|
138
|
+
protected constructor(steps?: Array<StepWithKind<any, any, any, any, any>>);
|
|
148
139
|
/**
|
|
149
140
|
* Creates a new EngineBuilder instance.
|
|
150
141
|
*
|
|
@@ -157,8 +148,8 @@ export declare class EngineBuilder<TCommand extends MessageSendParams = MessageS
|
|
|
157
148
|
* const builder = EngineBuilder.create<MyCommand, [string, number]>();
|
|
158
149
|
* ```
|
|
159
150
|
*/
|
|
160
|
-
static create<
|
|
161
|
-
addStep<TPart extends
|
|
151
|
+
static create<TInboundArgs extends BaseArgs = EmptyArgs>(): EngineBuilder<TInboundArgs>;
|
|
152
|
+
addStep<TPart extends PartContent = A2A.TextPart["text"], TForwardArgs extends BaseArgs = EmptyArgs, TOutput extends OutputType<TPart, TForwardArgs> = OutputType<TPart, TForwardArgs>, TKind extends "text" | "file" | "data" = "text">(step: StepWithKind<TPart, TInboundArgs, TForwardArgs, TOutput, TKind>): EngineBuilder<OutArgsOf<TOutput>>;
|
|
162
153
|
/**
|
|
163
154
|
* Adds a text processing step to the workflow.
|
|
164
155
|
*
|
|
@@ -175,7 +166,7 @@ export declare class EngineBuilder<TCommand extends MessageSendParams = MessageS
|
|
|
175
166
|
* });
|
|
176
167
|
* ```
|
|
177
168
|
*/
|
|
178
|
-
text<
|
|
169
|
+
text<TForwardArgs extends BaseArgs = EmptyArgs, TOutput extends OutputType<A2A.TextPart["text"], TForwardArgs> = OutputType<A2A.TextPart["text"], TForwardArgs>>(step: textStep<TInboundArgs, TForwardArgs, TOutput> | string): EngineBuilder<OutArgsOf<TOutput>>;
|
|
179
170
|
/**
|
|
180
171
|
* Adds a file processing step to the workflow.
|
|
181
172
|
*
|
|
@@ -196,7 +187,7 @@ export declare class EngineBuilder<TCommand extends MessageSendParams = MessageS
|
|
|
196
187
|
* });
|
|
197
188
|
* ```
|
|
198
189
|
*/
|
|
199
|
-
file<
|
|
190
|
+
file<TForwardArgs extends BaseArgs = EmptyArgs, TOutput extends OutputType<A2A.FilePart["file"], TForwardArgs> = OutputType<A2A.FilePart["file"], TForwardArgs>>(step: fileStep<TInboundArgs, TForwardArgs, TOutput>): EngineBuilder<OutArgsOf<TOutput>>;
|
|
200
191
|
/**
|
|
201
192
|
* Adds a data processing step to the workflow.
|
|
202
193
|
*
|
|
@@ -216,7 +207,7 @@ export declare class EngineBuilder<TCommand extends MessageSendParams = MessageS
|
|
|
216
207
|
* });
|
|
217
208
|
* ```
|
|
218
209
|
*/
|
|
219
|
-
data<
|
|
210
|
+
data<TForwardArgs extends BaseArgs = EmptyArgs, TOutput extends OutputType<A2A.DataPart["data"], TForwardArgs> = OutputType<A2A.DataPart["data"], TForwardArgs>>(step: dataStep<TInboundArgs, TForwardArgs, TOutput>): EngineBuilder<OutArgsOf<TOutput>>;
|
|
220
211
|
/**
|
|
221
212
|
* Creates a complete A2A agent using the built workflow.
|
|
222
213
|
*
|
|
@@ -234,7 +225,7 @@ export declare class EngineBuilder<TCommand extends MessageSendParams = MessageS
|
|
|
234
225
|
* });
|
|
235
226
|
* ```
|
|
236
227
|
*/
|
|
237
|
-
createAgent(params: Omit<
|
|
228
|
+
createAgent(params: Omit<ServiceParams, "engine">): import("../service.js").Service;
|
|
238
229
|
/**
|
|
239
230
|
* Creates an agent execution engine from the built workflow.
|
|
240
231
|
*
|
|
@@ -246,7 +237,7 @@ export declare class EngineBuilder<TCommand extends MessageSendParams = MessageS
|
|
|
246
237
|
* // Use engine with service execution
|
|
247
238
|
* ```
|
|
248
239
|
*/
|
|
249
|
-
createAgentEngine():
|
|
240
|
+
createAgentEngine(): A2A.Engine;
|
|
250
241
|
/**
|
|
251
242
|
* Builds the step list for the workflow.
|
|
252
243
|
*
|
|
@@ -258,7 +249,7 @@ export declare class EngineBuilder<TCommand extends MessageSendParams = MessageS
|
|
|
258
249
|
* const steps = builder.build();
|
|
259
250
|
* ```
|
|
260
251
|
*/
|
|
261
|
-
build(): StepWithKind<
|
|
252
|
+
build(): StepWithKind<any, any, any, any, any>[];
|
|
262
253
|
}
|
|
263
254
|
/**
|
|
264
255
|
* Convenience factory function for creating an agent builder with default parameters.
|
|
@@ -275,56 +266,7 @@ export declare class EngineBuilder<TCommand extends MessageSendParams = MessageS
|
|
|
275
266
|
* @public
|
|
276
267
|
* @since 0.5.6
|
|
277
268
|
*/
|
|
278
|
-
export declare const AgentBuilder: () => EngineBuilder<
|
|
279
|
-
message: {
|
|
280
|
-
role: "user" | "agent";
|
|
281
|
-
kind: "message";
|
|
282
|
-
parts: ({
|
|
283
|
-
file: {
|
|
284
|
-
bytes: string;
|
|
285
|
-
name?: string | undefined;
|
|
286
|
-
mimeType?: string | undefined;
|
|
287
|
-
uri?: undefined;
|
|
288
|
-
} | {
|
|
289
|
-
uri: string;
|
|
290
|
-
name?: string | undefined;
|
|
291
|
-
bytes?: undefined;
|
|
292
|
-
mimeType?: string | undefined;
|
|
293
|
-
};
|
|
294
|
-
kind: "file";
|
|
295
|
-
metadata?: Record<string, unknown> | undefined;
|
|
296
|
-
} | {
|
|
297
|
-
text: string;
|
|
298
|
-
kind: "text";
|
|
299
|
-
metadata?: Record<string, unknown> | undefined;
|
|
300
|
-
} | {
|
|
301
|
-
data: Record<string, unknown>;
|
|
302
|
-
kind: "data";
|
|
303
|
-
metadata?: Record<string, unknown> | undefined;
|
|
304
|
-
})[];
|
|
305
|
-
messageId: string;
|
|
306
|
-
metadata?: Record<string, unknown> | undefined;
|
|
307
|
-
extensions?: string[] | undefined;
|
|
308
|
-
referenceTaskIds?: string[] | undefined;
|
|
309
|
-
taskId?: string | undefined;
|
|
310
|
-
contextId?: string | undefined;
|
|
311
|
-
};
|
|
312
|
-
metadata?: Record<string, unknown> | undefined;
|
|
313
|
-
configuration?: {
|
|
314
|
-
historyLength?: number | undefined;
|
|
315
|
-
pushNotificationConfig?: {
|
|
316
|
-
url: string;
|
|
317
|
-
id?: string | undefined;
|
|
318
|
-
token?: string | undefined;
|
|
319
|
-
authentication?: {
|
|
320
|
-
schemes: string[];
|
|
321
|
-
credentials?: string | undefined;
|
|
322
|
-
} | undefined;
|
|
323
|
-
} | undefined;
|
|
324
|
-
acceptedOutputModes?: string[] | undefined;
|
|
325
|
-
blocking?: boolean | undefined;
|
|
326
|
-
} | undefined;
|
|
327
|
-
}, []>;
|
|
269
|
+
export declare const AgentBuilder: () => EngineBuilder<EmptyArgs>;
|
|
328
270
|
/**
|
|
329
271
|
* Creates an agent execution engine from a list of workflow steps.
|
|
330
272
|
*
|
|
@@ -347,5 +289,4 @@ export declare const AgentBuilder: () => EngineBuilder<{
|
|
|
347
289
|
* @public
|
|
348
290
|
* @since 0.5.6
|
|
349
291
|
*/
|
|
350
|
-
export declare function createAgentExecutor(stepsList: StepWithKind[]):
|
|
351
|
-
export {};
|
|
292
|
+
export declare function createAgentExecutor(stepsList: StepWithKind[]): A2A.Engine;
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
* workflows with type-safe step composition and automatic execution orchestration.
|
|
11
11
|
*
|
|
12
12
|
* @module A2ABuilder
|
|
13
|
-
* @version 0.
|
|
13
|
+
* @version 0.6.0-preview
|
|
14
14
|
* @since 0.5.6
|
|
15
15
|
* @author The Artinet Project
|
|
16
16
|
*/
|
|
17
|
-
import {
|
|
17
|
+
import { A2A, } from "../../../types/index.js";
|
|
18
18
|
import { createAgent } from "./service.js";
|
|
19
19
|
import { v4 as uuidv4 } from "uuid";
|
|
20
20
|
import { getContent } from "../helpers/content.js";
|
|
@@ -76,10 +76,7 @@ export class EngineBuilder {
|
|
|
76
76
|
return new EngineBuilder();
|
|
77
77
|
}
|
|
78
78
|
addStep(step) {
|
|
79
|
-
return new EngineBuilder([
|
|
80
|
-
...this.steps,
|
|
81
|
-
step,
|
|
82
|
-
]);
|
|
79
|
+
return new EngineBuilder([...this.steps, step]);
|
|
83
80
|
}
|
|
84
81
|
/**
|
|
85
82
|
* Adds a text processing step to the workflow.
|
|
@@ -99,7 +96,7 @@ export class EngineBuilder {
|
|
|
99
96
|
*/
|
|
100
97
|
text(step) {
|
|
101
98
|
return this.addStep({
|
|
102
|
-
step: step,
|
|
99
|
+
step: typeof step === "string" ? () => step : step,
|
|
103
100
|
kind: "text",
|
|
104
101
|
});
|
|
105
102
|
}
|
|
@@ -285,21 +282,25 @@ const partToMessagePart = (kind, part) => {
|
|
|
285
282
|
*/
|
|
286
283
|
export function createAgentExecutor(stepsList) {
|
|
287
284
|
return async function* (context) {
|
|
288
|
-
const content = getContent(context.
|
|
285
|
+
const content = getContent(context.userMessage);
|
|
286
|
+
let _skipStep = false;
|
|
289
287
|
const stepArgs = {
|
|
290
|
-
|
|
288
|
+
message: context.messages,
|
|
291
289
|
context: context,
|
|
292
290
|
content: content,
|
|
293
|
-
|
|
291
|
+
skip: () => {
|
|
292
|
+
_skipStep = true;
|
|
293
|
+
return;
|
|
294
|
+
},
|
|
294
295
|
};
|
|
295
296
|
const contextId = context.contextId;
|
|
296
|
-
const taskId = context.
|
|
297
|
+
const taskId = context.taskId;
|
|
297
298
|
if (!contextId || !taskId) {
|
|
298
299
|
throw new Error("Context ID and task ID are required");
|
|
299
300
|
}
|
|
300
301
|
const taskStarted = SUBMITTED_UPDATE(taskId, contextId);
|
|
301
302
|
yield taskStarted;
|
|
302
|
-
let finalState = TaskState.completed;
|
|
303
|
+
let finalState = A2A.TaskState.completed;
|
|
303
304
|
const finalMessage = {
|
|
304
305
|
taskId: taskId,
|
|
305
306
|
contextId: contextId,
|
|
@@ -309,11 +310,15 @@ export function createAgentExecutor(stepsList) {
|
|
|
309
310
|
parts: [],
|
|
310
311
|
};
|
|
311
312
|
for (const step of stepsList) {
|
|
312
|
-
if (context.isCancelled()) {
|
|
313
|
-
finalState = TaskState.canceled;
|
|
313
|
+
if (await context.isCancelled()) {
|
|
314
|
+
finalState = A2A.TaskState.canceled;
|
|
314
315
|
break;
|
|
315
316
|
}
|
|
316
317
|
const ret = await step.step({ ...stepArgs });
|
|
318
|
+
if (_skipStep) {
|
|
319
|
+
_skipStep = false;
|
|
320
|
+
continue;
|
|
321
|
+
}
|
|
317
322
|
let parts = [];
|
|
318
323
|
if (Array.isArray(ret)) {
|
|
319
324
|
parts = ret.map((part) => partToMessagePart(step.kind, part));
|
|
@@ -325,7 +330,7 @@ export function createAgentExecutor(stepsList) {
|
|
|
325
330
|
});
|
|
326
331
|
yield taskStatusUpdate;
|
|
327
332
|
}
|
|
328
|
-
else if (ret !== null && typeof ret === "object") {
|
|
333
|
+
else if (ret !== null && typeof ret === "object" && "parts" in ret) {
|
|
329
334
|
parts = Array.isArray(ret.parts)
|
|
330
335
|
? ret.parts.map((part) => partToMessagePart(step.kind, part))
|
|
331
336
|
: [partToMessagePart(step.kind, ret.parts)];
|